You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			9367 lines
		
	
	
		
			372 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			9367 lines
		
	
	
		
			372 KiB
		
	
	
	
		
			JavaScript
		
	
"use strict";
 | 
						|
(self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] = self["webpackChunk_JUPYTERLAB_CORE_OUTPUT"] || []).push([[8845],{
 | 
						|
 | 
						|
/***/ 78845:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.AllPackages = void 0;
 | 
						|
__webpack_require__(32742);
 | 
						|
__webpack_require__(70049);
 | 
						|
__webpack_require__(64296);
 | 
						|
__webpack_require__(53974);
 | 
						|
__webpack_require__(39613);
 | 
						|
__webpack_require__(51629);
 | 
						|
__webpack_require__(43995);
 | 
						|
__webpack_require__(21901);
 | 
						|
__webpack_require__(61767);
 | 
						|
__webpack_require__(99341);
 | 
						|
__webpack_require__(61961);
 | 
						|
__webpack_require__(80449);
 | 
						|
__webpack_require__(83370);
 | 
						|
__webpack_require__(65744);
 | 
						|
__webpack_require__(53948);
 | 
						|
__webpack_require__(45463);
 | 
						|
__webpack_require__(17915);
 | 
						|
__webpack_require__(74927);
 | 
						|
__webpack_require__(48689);
 | 
						|
__webpack_require__(966);
 | 
						|
__webpack_require__(73414);
 | 
						|
__webpack_require__(33289);
 | 
						|
__webpack_require__(37515);
 | 
						|
__webpack_require__(92633);
 | 
						|
__webpack_require__(31664);
 | 
						|
__webpack_require__(69553);
 | 
						|
__webpack_require__(22294);
 | 
						|
__webpack_require__(77906);
 | 
						|
__webpack_require__(67689);
 | 
						|
__webpack_require__(54687);
 | 
						|
__webpack_require__(63892);
 | 
						|
__webpack_require__(36229);
 | 
						|
__webpack_require__(95729);
 | 
						|
if (typeof MathJax !== 'undefined' && MathJax.loader) {
 | 
						|
    MathJax.loader.preLoad('[tex]/action', '[tex]/ams', '[tex]/amscd', '[tex]/bbox', '[tex]/boldsymbol', '[tex]/braket', '[tex]/bussproofs', '[tex]/cancel', '[tex]/cases', '[tex]/centernot', '[tex]/color', '[tex]/colorv2', '[tex]/colortbl', '[tex]/empheq', '[tex]/enclose', '[tex]/extpfeil', '[tex]/gensymb', '[tex]/html', '[tex]/mathtools', '[tex]/mhchem', '[tex]/newcommand', '[tex]/noerrors', '[tex]/noundefined', '[tex]/physics', '[tex]/upgreek', '[tex]/unicode', '[tex]/verb', '[tex]/configmacros', '[tex]/tagformat', '[tex]/textcomp', '[tex]/textmacros', '[tex]/setoptions');
 | 
						|
}
 | 
						|
exports.AllPackages = [
 | 
						|
    'base',
 | 
						|
    'action',
 | 
						|
    'ams',
 | 
						|
    'amscd',
 | 
						|
    'bbox',
 | 
						|
    'boldsymbol',
 | 
						|
    'braket',
 | 
						|
    'bussproofs',
 | 
						|
    'cancel',
 | 
						|
    'cases',
 | 
						|
    'centernot',
 | 
						|
    'color',
 | 
						|
    'colortbl',
 | 
						|
    'empheq',
 | 
						|
    'enclose',
 | 
						|
    'extpfeil',
 | 
						|
    'gensymb',
 | 
						|
    'html',
 | 
						|
    'mathtools',
 | 
						|
    'mhchem',
 | 
						|
    'newcommand',
 | 
						|
    'noerrors',
 | 
						|
    'noundefined',
 | 
						|
    'upgreek',
 | 
						|
    'unicode',
 | 
						|
    'verb',
 | 
						|
    'configmacros',
 | 
						|
    'tagformat',
 | 
						|
    'textcomp',
 | 
						|
    'textmacros'
 | 
						|
];
 | 
						|
//# sourceMappingURL=AllPackages.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 70049:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ActionConfiguration = exports.ActionMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
exports.ActionMethods = {};
 | 
						|
exports.ActionMethods.Macro = BaseMethods_js_1.default.Macro;
 | 
						|
exports.ActionMethods.Toggle = function (parser, name) {
 | 
						|
    var children = [];
 | 
						|
    var arg;
 | 
						|
    while ((arg = parser.GetArgument(name)) !== '\\endtoggle') {
 | 
						|
        children.push(new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml());
 | 
						|
    }
 | 
						|
    parser.Push(parser.create('node', 'maction', children, { actiontype: 'toggle' }));
 | 
						|
};
 | 
						|
exports.ActionMethods.Mathtip = function (parser, name) {
 | 
						|
    var arg = parser.ParseArg(name);
 | 
						|
    var tip = parser.ParseArg(name);
 | 
						|
    parser.Push(parser.create('node', 'maction', [arg, tip], { actiontype: 'tooltip' }));
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('action-macros', {
 | 
						|
    toggle: 'Toggle',
 | 
						|
    mathtip: 'Mathtip',
 | 
						|
    texttip: ['Macro', '\\mathtip{#1}{\\text{#2}}', 2]
 | 
						|
}, exports.ActionMethods);
 | 
						|
exports.ActionConfiguration = Configuration_js_1.Configuration.create('action', { handler: { macro: ['action-macros'] } });
 | 
						|
//# sourceMappingURL=ActionConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 64296:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.AmsConfiguration = exports.AmsTags = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var AmsItems_js_1 = __webpack_require__(75377);
 | 
						|
var Tags_js_1 = __webpack_require__(75723);
 | 
						|
var AmsMethods_js_1 = __webpack_require__(14880);
 | 
						|
__webpack_require__(27798);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var AmsTags = (function (_super) {
 | 
						|
    __extends(AmsTags, _super);
 | 
						|
    function AmsTags() {
 | 
						|
        return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
    }
 | 
						|
    return AmsTags;
 | 
						|
}(Tags_js_1.AbstractTags));
 | 
						|
exports.AmsTags = AmsTags;
 | 
						|
var init = function (config) {
 | 
						|
    new SymbolMap_js_1.CommandMap(AmsMethods_js_1.NEW_OPS, {}, {});
 | 
						|
    config.append(Configuration_js_1.Configuration.local({ handler: { macro: [AmsMethods_js_1.NEW_OPS] },
 | 
						|
        priority: -1 }));
 | 
						|
};
 | 
						|
exports.AmsConfiguration = Configuration_js_1.Configuration.create('ams', {
 | 
						|
    handler: {
 | 
						|
        character: ['AMSmath-operatorLetter'],
 | 
						|
        delimiter: ['AMSsymbols-delimiter', 'AMSmath-delimiter'],
 | 
						|
        macro: ['AMSsymbols-mathchar0mi', 'AMSsymbols-mathchar0mo',
 | 
						|
            'AMSsymbols-delimiter', 'AMSsymbols-macros',
 | 
						|
            'AMSmath-mathchar0mo', 'AMSmath-macros', 'AMSmath-delimiter'],
 | 
						|
        environment: ['AMSmath-environment']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[AmsItems_js_1.MultlineItem.prototype.kind] = AmsItems_js_1.MultlineItem,
 | 
						|
        _a[AmsItems_js_1.FlalignItem.prototype.kind] = AmsItems_js_1.FlalignItem,
 | 
						|
        _a),
 | 
						|
    tags: { 'ams': AmsTags },
 | 
						|
    init: init,
 | 
						|
    config: function (_config, jax) {
 | 
						|
        if (jax.parseOptions.options.multlineWidth) {
 | 
						|
            jax.parseOptions.options.ams.multlineWidth = jax.parseOptions.options.multlineWidth;
 | 
						|
        }
 | 
						|
        delete jax.parseOptions.options.multlineWidth;
 | 
						|
    },
 | 
						|
    options: {
 | 
						|
        multlineWidth: '',
 | 
						|
        ams: {
 | 
						|
            multlineWidth: '100%',
 | 
						|
            multlineIndent: '1em',
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=AmsConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 75377:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __assign = (this && this.__assign) || function () {
 | 
						|
    __assign = Object.assign || function(t) {
 | 
						|
        for (var s, i = 1, n = arguments.length; i < n; i++) {
 | 
						|
            s = arguments[i];
 | 
						|
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
 | 
						|
                t[p] = s[p];
 | 
						|
        }
 | 
						|
        return t;
 | 
						|
    };
 | 
						|
    return __assign.apply(this, arguments);
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.FlalignItem = exports.MultlineItem = void 0;
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var MultlineItem = (function (_super) {
 | 
						|
    __extends(MultlineItem, _super);
 | 
						|
    function MultlineItem(factory) {
 | 
						|
        var args = [];
 | 
						|
        for (var _i = 1; _i < arguments.length; _i++) {
 | 
						|
            args[_i - 1] = arguments[_i];
 | 
						|
        }
 | 
						|
        var _this = _super.call(this, factory) || this;
 | 
						|
        _this.factory.configuration.tags.start('multline', true, args[0]);
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(MultlineItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'multline';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    MultlineItem.prototype.EndEntry = function () {
 | 
						|
        if (this.table.length) {
 | 
						|
            ParseUtil_js_1.default.fixInitialMO(this.factory.configuration, this.nodes);
 | 
						|
        }
 | 
						|
        var shove = this.getProperty('shove');
 | 
						|
        var mtd = this.create('node', 'mtd', this.nodes, shove ? { columnalign: shove } : {});
 | 
						|
        this.setProperty('shove', null);
 | 
						|
        this.row.push(mtd);
 | 
						|
        this.Clear();
 | 
						|
    };
 | 
						|
    MultlineItem.prototype.EndRow = function () {
 | 
						|
        if (this.row.length !== 1) {
 | 
						|
            throw new TexError_js_1.default('MultlineRowsOneCol', 'The rows within the %1 environment must have exactly one column', 'multline');
 | 
						|
        }
 | 
						|
        var row = this.create('node', 'mtr', this.row);
 | 
						|
        this.table.push(row);
 | 
						|
        this.row = [];
 | 
						|
    };
 | 
						|
    MultlineItem.prototype.EndTable = function () {
 | 
						|
        _super.prototype.EndTable.call(this);
 | 
						|
        if (this.table.length) {
 | 
						|
            var m = this.table.length - 1, label = -1;
 | 
						|
            if (!NodeUtil_js_1.default.getAttribute(NodeUtil_js_1.default.getChildren(this.table[0])[0], 'columnalign')) {
 | 
						|
                NodeUtil_js_1.default.setAttribute(NodeUtil_js_1.default.getChildren(this.table[0])[0], 'columnalign', TexConstants_js_1.TexConstant.Align.LEFT);
 | 
						|
            }
 | 
						|
            if (!NodeUtil_js_1.default.getAttribute(NodeUtil_js_1.default.getChildren(this.table[m])[0], 'columnalign')) {
 | 
						|
                NodeUtil_js_1.default.setAttribute(NodeUtil_js_1.default.getChildren(this.table[m])[0], 'columnalign', TexConstants_js_1.TexConstant.Align.RIGHT);
 | 
						|
            }
 | 
						|
            var tag = this.factory.configuration.tags.getTag();
 | 
						|
            if (tag) {
 | 
						|
                label = (this.arraydef.side === TexConstants_js_1.TexConstant.Align.LEFT ? 0 : this.table.length - 1);
 | 
						|
                var mtr = this.table[label];
 | 
						|
                var mlabel = this.create('node', 'mlabeledtr', [tag].concat(NodeUtil_js_1.default.getChildren(mtr)));
 | 
						|
                NodeUtil_js_1.default.copyAttributes(mtr, mlabel);
 | 
						|
                this.table[label] = mlabel;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        this.factory.configuration.tags.end();
 | 
						|
    };
 | 
						|
    return MultlineItem;
 | 
						|
}(BaseItems_js_1.ArrayItem));
 | 
						|
exports.MultlineItem = MultlineItem;
 | 
						|
var FlalignItem = (function (_super) {
 | 
						|
    __extends(FlalignItem, _super);
 | 
						|
    function FlalignItem(factory, name, numbered, padded, center) {
 | 
						|
        var _this = _super.call(this, factory) || this;
 | 
						|
        _this.name = name;
 | 
						|
        _this.numbered = numbered;
 | 
						|
        _this.padded = padded;
 | 
						|
        _this.center = center;
 | 
						|
        _this.factory.configuration.tags.start(name, numbered, numbered);
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(FlalignItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'flalign';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    FlalignItem.prototype.EndEntry = function () {
 | 
						|
        _super.prototype.EndEntry.call(this);
 | 
						|
        var n = this.getProperty('xalignat');
 | 
						|
        if (!n)
 | 
						|
            return;
 | 
						|
        if (this.row.length > n) {
 | 
						|
            throw new TexError_js_1.default('XalignOverflow', 'Extra %1 in row of %2', '&', this.name);
 | 
						|
        }
 | 
						|
    };
 | 
						|
    FlalignItem.prototype.EndRow = function () {
 | 
						|
        var cell;
 | 
						|
        var row = this.row;
 | 
						|
        var n = this.getProperty('xalignat');
 | 
						|
        while (row.length < n) {
 | 
						|
            row.push(this.create('node', 'mtd'));
 | 
						|
        }
 | 
						|
        this.row = [];
 | 
						|
        if (this.padded) {
 | 
						|
            this.row.push(this.create('node', 'mtd'));
 | 
						|
        }
 | 
						|
        while ((cell = row.shift())) {
 | 
						|
            this.row.push(cell);
 | 
						|
            cell = row.shift();
 | 
						|
            if (cell)
 | 
						|
                this.row.push(cell);
 | 
						|
            if (row.length || this.padded) {
 | 
						|
                this.row.push(this.create('node', 'mtd'));
 | 
						|
            }
 | 
						|
        }
 | 
						|
        if (this.row.length > this.maxrow) {
 | 
						|
            this.maxrow = this.row.length;
 | 
						|
        }
 | 
						|
        _super.prototype.EndRow.call(this);
 | 
						|
        var mtr = this.table[this.table.length - 1];
 | 
						|
        if (this.getProperty('zeroWidthLabel') && mtr.isKind('mlabeledtr')) {
 | 
						|
            var mtd = NodeUtil_js_1.default.getChildren(mtr)[0];
 | 
						|
            var side = this.factory.configuration.options['tagSide'];
 | 
						|
            var def = __assign({ width: 0 }, (side === 'right' ? { lspace: '-1width' } : {}));
 | 
						|
            var mpadded = this.create('node', 'mpadded', NodeUtil_js_1.default.getChildren(mtd), def);
 | 
						|
            mtd.setChildren([mpadded]);
 | 
						|
        }
 | 
						|
    };
 | 
						|
    FlalignItem.prototype.EndTable = function () {
 | 
						|
        _super.prototype.EndTable.call(this);
 | 
						|
        if (this.center) {
 | 
						|
            if (this.maxrow <= 2) {
 | 
						|
                var def = this.arraydef;
 | 
						|
                delete def.width;
 | 
						|
                delete this.global.indentalign;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    };
 | 
						|
    return FlalignItem;
 | 
						|
}(BaseItems_js_1.EqnArrayItem));
 | 
						|
exports.FlalignItem = FlalignItem;
 | 
						|
//# sourceMappingURL=AmsItems.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 27798:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
						|
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
						|
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
						|
    }
 | 
						|
    Object.defineProperty(o, k2, desc);
 | 
						|
}) : (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    o[k2] = m[k];
 | 
						|
}));
 | 
						|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
						|
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
						|
}) : function(o, v) {
 | 
						|
    o["default"] = v;
 | 
						|
});
 | 
						|
var __importStar = (this && this.__importStar) || function (mod) {
 | 
						|
    if (mod && mod.__esModule) return mod;
 | 
						|
    var result = {};
 | 
						|
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
						|
    __setModuleDefault(result, mod);
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var AmsMethods_js_1 = __webpack_require__(14880);
 | 
						|
var sm = __importStar(__webpack_require__(65695));
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var lengths_js_1 = __webpack_require__(56780);
 | 
						|
new sm.CharacterMap('AMSmath-mathchar0mo', ParseMethods_js_1.default.mathchar0mo, {
 | 
						|
    iiiint: ['\u2A0C', { texClass: MmlNode_js_1.TEXCLASS.OP }]
 | 
						|
});
 | 
						|
new sm.RegExpMap('AMSmath-operatorLetter', AmsMethods_js_1.AmsMethods.operatorLetter, /[-*]/i);
 | 
						|
new sm.CommandMap('AMSmath-macros', {
 | 
						|
    mathring: ['Accent', '02DA'],
 | 
						|
    nobreakspace: 'Tilde',
 | 
						|
    negmedspace: ['Spacer', lengths_js_1.MATHSPACE.negativemediummathspace],
 | 
						|
    negthickspace: ['Spacer', lengths_js_1.MATHSPACE.negativethickmathspace],
 | 
						|
    idotsint: ['MultiIntegral', '\\int\\cdots\\int'],
 | 
						|
    dddot: ['Accent', '20DB'],
 | 
						|
    ddddot: ['Accent', '20DC'],
 | 
						|
    sideset: 'SideSet',
 | 
						|
    boxed: ['Macro', '\\fbox{$\\displaystyle{#1}$}', 1],
 | 
						|
    tag: 'HandleTag',
 | 
						|
    notag: 'HandleNoTag',
 | 
						|
    eqref: ['HandleRef', true],
 | 
						|
    substack: ['Macro', '\\begin{subarray}{c}#1\\end{subarray}', 1],
 | 
						|
    injlim: ['NamedOp', 'inj lim'],
 | 
						|
    projlim: ['NamedOp', 'proj lim'],
 | 
						|
    varliminf: ['Macro', '\\mathop{\\underline{\\mmlToken{mi}{lim}}}'],
 | 
						|
    varlimsup: ['Macro', '\\mathop{\\overline{\\mmlToken{mi}{lim}}}'],
 | 
						|
    varinjlim: ['Macro', '\\mathop{\\underrightarrow{\\mmlToken{mi}{lim}}}'],
 | 
						|
    varprojlim: ['Macro', '\\mathop{\\underleftarrow{\\mmlToken{mi}{lim}}}'],
 | 
						|
    DeclareMathOperator: 'HandleDeclareOp',
 | 
						|
    operatorname: 'HandleOperatorName',
 | 
						|
    genfrac: 'Genfrac',
 | 
						|
    frac: ['Genfrac', '', '', '', ''],
 | 
						|
    tfrac: ['Genfrac', '', '', '', '1'],
 | 
						|
    dfrac: ['Genfrac', '', '', '', '0'],
 | 
						|
    binom: ['Genfrac', '(', ')', '0', ''],
 | 
						|
    tbinom: ['Genfrac', '(', ')', '0', '1'],
 | 
						|
    dbinom: ['Genfrac', '(', ')', '0', '0'],
 | 
						|
    cfrac: 'CFrac',
 | 
						|
    shoveleft: ['HandleShove', TexConstants_js_1.TexConstant.Align.LEFT],
 | 
						|
    shoveright: ['HandleShove', TexConstants_js_1.TexConstant.Align.RIGHT],
 | 
						|
    xrightarrow: ['xArrow', 0x2192, 5, 10],
 | 
						|
    xleftarrow: ['xArrow', 0x2190, 10, 5]
 | 
						|
}, AmsMethods_js_1.AmsMethods);
 | 
						|
new sm.EnvironmentMap('AMSmath-environment', ParseMethods_js_1.default.environment, {
 | 
						|
    'equation*': ['Equation', null, false],
 | 
						|
    'eqnarray*': ['EqnArray', null, false, true, 'rcl',
 | 
						|
        ParseUtil_js_1.default.cols(0, lengths_js_1.MATHSPACE.thickmathspace), '.5em'],
 | 
						|
    align: ['EqnArray', null, true, true, 'rl', ParseUtil_js_1.default.cols(0, 2)],
 | 
						|
    'align*': ['EqnArray', null, false, true, 'rl', ParseUtil_js_1.default.cols(0, 2)],
 | 
						|
    multline: ['Multline', null, true],
 | 
						|
    'multline*': ['Multline', null, false],
 | 
						|
    split: ['EqnArray', null, false, false, 'rl', ParseUtil_js_1.default.cols(0)],
 | 
						|
    gather: ['EqnArray', null, true, true, 'c'],
 | 
						|
    'gather*': ['EqnArray', null, false, true, 'c'],
 | 
						|
    alignat: ['AlignAt', null, true, true],
 | 
						|
    'alignat*': ['AlignAt', null, false, true],
 | 
						|
    alignedat: ['AlignAt', null, false, false],
 | 
						|
    aligned: ['AmsEqnArray', null, null, null, 'rl', ParseUtil_js_1.default.cols(0, 2), '.5em', 'D'],
 | 
						|
    gathered: ['AmsEqnArray', null, null, null, 'c', null, '.5em', 'D'],
 | 
						|
    xalignat: ['XalignAt', null, true, true],
 | 
						|
    'xalignat*': ['XalignAt', null, false, true],
 | 
						|
    xxalignat: ['XalignAt', null, false, false],
 | 
						|
    flalign: ['FlalignArray', null, true, false, true, 'rlc', 'auto auto fit'],
 | 
						|
    'flalign*': ['FlalignArray', null, false, false, true, 'rlc', 'auto auto fit'],
 | 
						|
    subarray: ['Array', null, null, null, null, ParseUtil_js_1.default.cols(0), '0.1em', 'S', 1],
 | 
						|
    smallmatrix: ['Array', null, null, null, 'c', ParseUtil_js_1.default.cols(1 / 3),
 | 
						|
        '.2em', 'S', 1],
 | 
						|
    matrix: ['Array', null, null, null, 'c'],
 | 
						|
    pmatrix: ['Array', null, '(', ')', 'c'],
 | 
						|
    bmatrix: ['Array', null, '[', ']', 'c'],
 | 
						|
    Bmatrix: ['Array', null, '\\{', '\\}', 'c'],
 | 
						|
    vmatrix: ['Array', null, '\\vert', '\\vert', 'c'],
 | 
						|
    Vmatrix: ['Array', null, '\\Vert', '\\Vert', 'c'],
 | 
						|
    cases: ['Array', null, '\\{', '.', 'll', null, '.2em', 'T']
 | 
						|
}, AmsMethods_js_1.AmsMethods);
 | 
						|
new sm.DelimiterMap('AMSmath-delimiter', ParseMethods_js_1.default.delimiter, {
 | 
						|
    '\\lvert': ['\u007C', { texClass: MmlNode_js_1.TEXCLASS.OPEN }],
 | 
						|
    '\\rvert': ['\u007C', { texClass: MmlNode_js_1.TEXCLASS.CLOSE }],
 | 
						|
    '\\lVert': ['\u2016', { texClass: MmlNode_js_1.TEXCLASS.OPEN }],
 | 
						|
    '\\rVert': ['\u2016', { texClass: MmlNode_js_1.TEXCLASS.CLOSE }]
 | 
						|
});
 | 
						|
new sm.CharacterMap('AMSsymbols-mathchar0mi', ParseMethods_js_1.default.mathchar0mi, {
 | 
						|
    digamma: '\u03DD',
 | 
						|
    varkappa: '\u03F0',
 | 
						|
    varGamma: ['\u0393', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varDelta: ['\u0394', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varTheta: ['\u0398', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varLambda: ['\u039B', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varXi: ['\u039E', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varPi: ['\u03A0', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varSigma: ['\u03A3', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varUpsilon: ['\u03A5', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varPhi: ['\u03A6', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varPsi: ['\u03A8', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    varOmega: ['\u03A9', { mathvariant: TexConstants_js_1.TexConstant.Variant.ITALIC }],
 | 
						|
    beth: '\u2136',
 | 
						|
    gimel: '\u2137',
 | 
						|
    daleth: '\u2138',
 | 
						|
    backprime: ['\u2035', { variantForm: true }],
 | 
						|
    hslash: '\u210F',
 | 
						|
    varnothing: ['\u2205', { variantForm: true }],
 | 
						|
    blacktriangle: '\u25B4',
 | 
						|
    triangledown: ['\u25BD', { variantForm: true }],
 | 
						|
    blacktriangledown: '\u25BE',
 | 
						|
    square: '\u25FB',
 | 
						|
    Box: '\u25FB',
 | 
						|
    blacksquare: '\u25FC',
 | 
						|
    lozenge: '\u25CA',
 | 
						|
    Diamond: '\u25CA',
 | 
						|
    blacklozenge: '\u29EB',
 | 
						|
    circledS: ['\u24C8', { mathvariant: TexConstants_js_1.TexConstant.Variant.NORMAL }],
 | 
						|
    bigstar: '\u2605',
 | 
						|
    sphericalangle: '\u2222',
 | 
						|
    measuredangle: '\u2221',
 | 
						|
    nexists: '\u2204',
 | 
						|
    complement: '\u2201',
 | 
						|
    mho: '\u2127',
 | 
						|
    eth: ['\u00F0', { mathvariant: TexConstants_js_1.TexConstant.Variant.NORMAL }],
 | 
						|
    Finv: '\u2132',
 | 
						|
    diagup: '\u2571',
 | 
						|
    Game: '\u2141',
 | 
						|
    diagdown: '\u2572',
 | 
						|
    Bbbk: ['\u006B',
 | 
						|
        { mathvariant: TexConstants_js_1.TexConstant.Variant.DOUBLESTRUCK }],
 | 
						|
    yen: '\u00A5',
 | 
						|
    circledR: '\u00AE',
 | 
						|
    checkmark: '\u2713',
 | 
						|
    maltese: '\u2720'
 | 
						|
});
 | 
						|
new sm.CharacterMap('AMSsymbols-mathchar0mo', ParseMethods_js_1.default.mathchar0mo, {
 | 
						|
    dotplus: '\u2214',
 | 
						|
    ltimes: '\u22C9',
 | 
						|
    smallsetminus: ['\u2216', { variantForm: true }],
 | 
						|
    rtimes: '\u22CA',
 | 
						|
    Cap: '\u22D2',
 | 
						|
    doublecap: '\u22D2',
 | 
						|
    leftthreetimes: '\u22CB',
 | 
						|
    Cup: '\u22D3',
 | 
						|
    doublecup: '\u22D3',
 | 
						|
    rightthreetimes: '\u22CC',
 | 
						|
    barwedge: '\u22BC',
 | 
						|
    curlywedge: '\u22CF',
 | 
						|
    veebar: '\u22BB',
 | 
						|
    curlyvee: '\u22CE',
 | 
						|
    doublebarwedge: '\u2A5E',
 | 
						|
    boxminus: '\u229F',
 | 
						|
    circleddash: '\u229D',
 | 
						|
    boxtimes: '\u22A0',
 | 
						|
    circledast: '\u229B',
 | 
						|
    boxdot: '\u22A1',
 | 
						|
    circledcirc: '\u229A',
 | 
						|
    boxplus: '\u229E',
 | 
						|
    centerdot: ['\u22C5', { variantForm: true }],
 | 
						|
    divideontimes: '\u22C7',
 | 
						|
    intercal: '\u22BA',
 | 
						|
    leqq: '\u2266',
 | 
						|
    geqq: '\u2267',
 | 
						|
    leqslant: '\u2A7D',
 | 
						|
    geqslant: '\u2A7E',
 | 
						|
    eqslantless: '\u2A95',
 | 
						|
    eqslantgtr: '\u2A96',
 | 
						|
    lesssim: '\u2272',
 | 
						|
    gtrsim: '\u2273',
 | 
						|
    lessapprox: '\u2A85',
 | 
						|
    gtrapprox: '\u2A86',
 | 
						|
    approxeq: '\u224A',
 | 
						|
    lessdot: '\u22D6',
 | 
						|
    gtrdot: '\u22D7',
 | 
						|
    lll: '\u22D8',
 | 
						|
    llless: '\u22D8',
 | 
						|
    ggg: '\u22D9',
 | 
						|
    gggtr: '\u22D9',
 | 
						|
    lessgtr: '\u2276',
 | 
						|
    gtrless: '\u2277',
 | 
						|
    lesseqgtr: '\u22DA',
 | 
						|
    gtreqless: '\u22DB',
 | 
						|
    lesseqqgtr: '\u2A8B',
 | 
						|
    gtreqqless: '\u2A8C',
 | 
						|
    doteqdot: '\u2251',
 | 
						|
    Doteq: '\u2251',
 | 
						|
    eqcirc: '\u2256',
 | 
						|
    risingdotseq: '\u2253',
 | 
						|
    circeq: '\u2257',
 | 
						|
    fallingdotseq: '\u2252',
 | 
						|
    triangleq: '\u225C',
 | 
						|
    backsim: '\u223D',
 | 
						|
    thicksim: ['\u223C', { variantForm: true }],
 | 
						|
    backsimeq: '\u22CD',
 | 
						|
    thickapprox: ['\u2248', { variantForm: true }],
 | 
						|
    subseteqq: '\u2AC5',
 | 
						|
    supseteqq: '\u2AC6',
 | 
						|
    Subset: '\u22D0',
 | 
						|
    Supset: '\u22D1',
 | 
						|
    sqsubset: '\u228F',
 | 
						|
    sqsupset: '\u2290',
 | 
						|
    preccurlyeq: '\u227C',
 | 
						|
    succcurlyeq: '\u227D',
 | 
						|
    curlyeqprec: '\u22DE',
 | 
						|
    curlyeqsucc: '\u22DF',
 | 
						|
    precsim: '\u227E',
 | 
						|
    succsim: '\u227F',
 | 
						|
    precapprox: '\u2AB7',
 | 
						|
    succapprox: '\u2AB8',
 | 
						|
    vartriangleleft: '\u22B2',
 | 
						|
    lhd: '\u22B2',
 | 
						|
    vartriangleright: '\u22B3',
 | 
						|
    rhd: '\u22B3',
 | 
						|
    trianglelefteq: '\u22B4',
 | 
						|
    unlhd: '\u22B4',
 | 
						|
    trianglerighteq: '\u22B5',
 | 
						|
    unrhd: '\u22B5',
 | 
						|
    vDash: ['\u22A8', { variantForm: true }],
 | 
						|
    Vdash: '\u22A9',
 | 
						|
    Vvdash: '\u22AA',
 | 
						|
    smallsmile: ['\u2323', { variantForm: true }],
 | 
						|
    shortmid: ['\u2223', { variantForm: true }],
 | 
						|
    smallfrown: ['\u2322', { variantForm: true }],
 | 
						|
    shortparallel: ['\u2225', { variantForm: true }],
 | 
						|
    bumpeq: '\u224F',
 | 
						|
    between: '\u226C',
 | 
						|
    Bumpeq: '\u224E',
 | 
						|
    pitchfork: '\u22D4',
 | 
						|
    varpropto: ['\u221D', { variantForm: true }],
 | 
						|
    backepsilon: '\u220D',
 | 
						|
    blacktriangleleft: '\u25C2',
 | 
						|
    blacktriangleright: '\u25B8',
 | 
						|
    therefore: '\u2234',
 | 
						|
    because: '\u2235',
 | 
						|
    eqsim: '\u2242',
 | 
						|
    vartriangle: ['\u25B3', { variantForm: true }],
 | 
						|
    Join: '\u22C8',
 | 
						|
    nless: '\u226E',
 | 
						|
    ngtr: '\u226F',
 | 
						|
    nleq: '\u2270',
 | 
						|
    ngeq: '\u2271',
 | 
						|
    nleqslant: ['\u2A87', { variantForm: true }],
 | 
						|
    ngeqslant: ['\u2A88', { variantForm: true }],
 | 
						|
    nleqq: ['\u2270', { variantForm: true }],
 | 
						|
    ngeqq: ['\u2271', { variantForm: true }],
 | 
						|
    lneq: '\u2A87',
 | 
						|
    gneq: '\u2A88',
 | 
						|
    lneqq: '\u2268',
 | 
						|
    gneqq: '\u2269',
 | 
						|
    lvertneqq: ['\u2268', { variantForm: true }],
 | 
						|
    gvertneqq: ['\u2269', { variantForm: true }],
 | 
						|
    lnsim: '\u22E6',
 | 
						|
    gnsim: '\u22E7',
 | 
						|
    lnapprox: '\u2A89',
 | 
						|
    gnapprox: '\u2A8A',
 | 
						|
    nprec: '\u2280',
 | 
						|
    nsucc: '\u2281',
 | 
						|
    npreceq: ['\u22E0', { variantForm: true }],
 | 
						|
    nsucceq: ['\u22E1', { variantForm: true }],
 | 
						|
    precneqq: '\u2AB5',
 | 
						|
    succneqq: '\u2AB6',
 | 
						|
    precnsim: '\u22E8',
 | 
						|
    succnsim: '\u22E9',
 | 
						|
    precnapprox: '\u2AB9',
 | 
						|
    succnapprox: '\u2ABA',
 | 
						|
    nsim: '\u2241',
 | 
						|
    ncong: '\u2247',
 | 
						|
    nshortmid: ['\u2224', { variantForm: true }],
 | 
						|
    nshortparallel: ['\u2226', { variantForm: true }],
 | 
						|
    nmid: '\u2224',
 | 
						|
    nparallel: '\u2226',
 | 
						|
    nvdash: '\u22AC',
 | 
						|
    nvDash: '\u22AD',
 | 
						|
    nVdash: '\u22AE',
 | 
						|
    nVDash: '\u22AF',
 | 
						|
    ntriangleleft: '\u22EA',
 | 
						|
    ntriangleright: '\u22EB',
 | 
						|
    ntrianglelefteq: '\u22EC',
 | 
						|
    ntrianglerighteq: '\u22ED',
 | 
						|
    nsubseteq: '\u2288',
 | 
						|
    nsupseteq: '\u2289',
 | 
						|
    nsubseteqq: ['\u2288', { variantForm: true }],
 | 
						|
    nsupseteqq: ['\u2289', { variantForm: true }],
 | 
						|
    subsetneq: '\u228A',
 | 
						|
    supsetneq: '\u228B',
 | 
						|
    varsubsetneq: ['\u228A', { variantForm: true }],
 | 
						|
    varsupsetneq: ['\u228B', { variantForm: true }],
 | 
						|
    subsetneqq: '\u2ACB',
 | 
						|
    supsetneqq: '\u2ACC',
 | 
						|
    varsubsetneqq: ['\u2ACB', { variantForm: true }],
 | 
						|
    varsupsetneqq: ['\u2ACC', { variantForm: true }],
 | 
						|
    leftleftarrows: '\u21C7',
 | 
						|
    rightrightarrows: '\u21C9',
 | 
						|
    leftrightarrows: '\u21C6',
 | 
						|
    rightleftarrows: '\u21C4',
 | 
						|
    Lleftarrow: '\u21DA',
 | 
						|
    Rrightarrow: '\u21DB',
 | 
						|
    twoheadleftarrow: '\u219E',
 | 
						|
    twoheadrightarrow: '\u21A0',
 | 
						|
    leftarrowtail: '\u21A2',
 | 
						|
    rightarrowtail: '\u21A3',
 | 
						|
    looparrowleft: '\u21AB',
 | 
						|
    looparrowright: '\u21AC',
 | 
						|
    leftrightharpoons: '\u21CB',
 | 
						|
    rightleftharpoons: ['\u21CC', { variantForm: true }],
 | 
						|
    curvearrowleft: '\u21B6',
 | 
						|
    curvearrowright: '\u21B7',
 | 
						|
    circlearrowleft: '\u21BA',
 | 
						|
    circlearrowright: '\u21BB',
 | 
						|
    Lsh: '\u21B0',
 | 
						|
    Rsh: '\u21B1',
 | 
						|
    upuparrows: '\u21C8',
 | 
						|
    downdownarrows: '\u21CA',
 | 
						|
    upharpoonleft: '\u21BF',
 | 
						|
    upharpoonright: '\u21BE',
 | 
						|
    downharpoonleft: '\u21C3',
 | 
						|
    restriction: '\u21BE',
 | 
						|
    multimap: '\u22B8',
 | 
						|
    downharpoonright: '\u21C2',
 | 
						|
    leftrightsquigarrow: '\u21AD',
 | 
						|
    rightsquigarrow: '\u21DD',
 | 
						|
    leadsto: '\u21DD',
 | 
						|
    dashrightarrow: '\u21E2',
 | 
						|
    dashleftarrow: '\u21E0',
 | 
						|
    nleftarrow: '\u219A',
 | 
						|
    nrightarrow: '\u219B',
 | 
						|
    nLeftarrow: '\u21CD',
 | 
						|
    nRightarrow: '\u21CF',
 | 
						|
    nleftrightarrow: '\u21AE',
 | 
						|
    nLeftrightarrow: '\u21CE'
 | 
						|
});
 | 
						|
new sm.DelimiterMap('AMSsymbols-delimiter', ParseMethods_js_1.default.delimiter, {
 | 
						|
    '\\ulcorner': '\u231C',
 | 
						|
    '\\urcorner': '\u231D',
 | 
						|
    '\\llcorner': '\u231E',
 | 
						|
    '\\lrcorner': '\u231F'
 | 
						|
});
 | 
						|
new sm.CommandMap('AMSsymbols-macros', {
 | 
						|
    implies: ['Macro', '\\;\\Longrightarrow\\;'],
 | 
						|
    impliedby: ['Macro', '\\;\\Longleftarrow\\;']
 | 
						|
}, AmsMethods_js_1.AmsMethods);
 | 
						|
//# sourceMappingURL=AmsMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 14880:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __assign = (this && this.__assign) || function () {
 | 
						|
    __assign = Object.assign || function(t) {
 | 
						|
        for (var s, i = 1, n = arguments.length; i < n; i++) {
 | 
						|
            s = arguments[i];
 | 
						|
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
 | 
						|
                t[p] = s[p];
 | 
						|
        }
 | 
						|
        return t;
 | 
						|
    };
 | 
						|
    return __assign.apply(this, arguments);
 | 
						|
};
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.NEW_OPS = exports.AmsMethods = void 0;
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var Symbol_js_1 = __webpack_require__(75735);
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
exports.AmsMethods = {};
 | 
						|
exports.AmsMethods.AmsEqnArray = function (parser, begin, numbered, taggable, align, spacing, style) {
 | 
						|
    var args = parser.GetBrackets('\\begin{' + begin.getName() + '}');
 | 
						|
    var array = BaseMethods_js_1.default.EqnArray(parser, begin, numbered, taggable, align, spacing, style);
 | 
						|
    return ParseUtil_js_1.default.setArrayAlign(array, args);
 | 
						|
};
 | 
						|
exports.AmsMethods.AlignAt = function (parser, begin, numbered, taggable) {
 | 
						|
    var name = begin.getName();
 | 
						|
    var n, valign, align = '', spacing = [];
 | 
						|
    if (!taggable) {
 | 
						|
        valign = parser.GetBrackets('\\begin{' + name + '}');
 | 
						|
    }
 | 
						|
    n = parser.GetArgument('\\begin{' + name + '}');
 | 
						|
    if (n.match(/[^0-9]/)) {
 | 
						|
        throw new TexError_js_1.default('PositiveIntegerArg', 'Argument to %1 must me a positive integer', '\\begin{' + name + '}');
 | 
						|
    }
 | 
						|
    var count = parseInt(n, 10);
 | 
						|
    while (count > 0) {
 | 
						|
        align += 'rl';
 | 
						|
        spacing.push('0em 0em');
 | 
						|
        count--;
 | 
						|
    }
 | 
						|
    var spaceStr = spacing.join(' ');
 | 
						|
    if (taggable) {
 | 
						|
        return exports.AmsMethods.EqnArray(parser, begin, numbered, taggable, align, spaceStr);
 | 
						|
    }
 | 
						|
    var array = exports.AmsMethods.EqnArray(parser, begin, numbered, taggable, align, spaceStr);
 | 
						|
    return ParseUtil_js_1.default.setArrayAlign(array, valign);
 | 
						|
};
 | 
						|
exports.AmsMethods.Multline = function (parser, begin, numbered) {
 | 
						|
    parser.Push(begin);
 | 
						|
    ParseUtil_js_1.default.checkEqnEnv(parser);
 | 
						|
    var item = parser.itemFactory.create('multline', numbered, parser.stack);
 | 
						|
    item.arraydef = {
 | 
						|
        displaystyle: true,
 | 
						|
        rowspacing: '.5em',
 | 
						|
        columnspacing: '100%',
 | 
						|
        width: parser.options.ams['multlineWidth'],
 | 
						|
        side: parser.options['tagSide'],
 | 
						|
        minlabelspacing: parser.options['tagIndent'],
 | 
						|
        framespacing: parser.options.ams['multlineIndent'] + ' 0',
 | 
						|
        frame: '',
 | 
						|
        'data-width-includes-label': true
 | 
						|
    };
 | 
						|
    return item;
 | 
						|
};
 | 
						|
exports.AmsMethods.XalignAt = function (parser, begin, numbered, padded) {
 | 
						|
    var n = parser.GetArgument('\\begin{' + begin.getName() + '}');
 | 
						|
    if (n.match(/[^0-9]/)) {
 | 
						|
        throw new TexError_js_1.default('PositiveIntegerArg', 'Argument to %1 must me a positive integer', '\\begin{' + begin.getName() + '}');
 | 
						|
    }
 | 
						|
    var align = (padded ? 'crl' : 'rlc');
 | 
						|
    var width = (padded ? 'fit auto auto' : 'auto auto fit');
 | 
						|
    var item = exports.AmsMethods.FlalignArray(parser, begin, numbered, padded, false, align, width, true);
 | 
						|
    item.setProperty('xalignat', 2 * parseInt(n));
 | 
						|
    return item;
 | 
						|
};
 | 
						|
exports.AmsMethods.FlalignArray = function (parser, begin, numbered, padded, center, align, width, zeroWidthLabel) {
 | 
						|
    if (zeroWidthLabel === void 0) { zeroWidthLabel = false; }
 | 
						|
    parser.Push(begin);
 | 
						|
    ParseUtil_js_1.default.checkEqnEnv(parser);
 | 
						|
    align = align
 | 
						|
        .split('')
 | 
						|
        .join(' ')
 | 
						|
        .replace(/r/g, 'right')
 | 
						|
        .replace(/l/g, 'left')
 | 
						|
        .replace(/c/g, 'center');
 | 
						|
    var item = parser.itemFactory.create('flalign', begin.getName(), numbered, padded, center, parser.stack);
 | 
						|
    item.arraydef = {
 | 
						|
        width: '100%',
 | 
						|
        displaystyle: true,
 | 
						|
        columnalign: align,
 | 
						|
        columnspacing: '0em',
 | 
						|
        columnwidth: width,
 | 
						|
        rowspacing: '3pt',
 | 
						|
        side: parser.options['tagSide'],
 | 
						|
        minlabelspacing: (zeroWidthLabel ? '0' : parser.options['tagIndent']),
 | 
						|
        'data-width-includes-label': true,
 | 
						|
    };
 | 
						|
    item.setProperty('zeroWidthLabel', zeroWidthLabel);
 | 
						|
    return item;
 | 
						|
};
 | 
						|
exports.NEW_OPS = 'ams-declare-ops';
 | 
						|
exports.AmsMethods.HandleDeclareOp = function (parser, name) {
 | 
						|
    var star = (parser.GetStar() ? '*' : '');
 | 
						|
    var cs = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
    if (cs.charAt(0) === '\\') {
 | 
						|
        cs = cs.substr(1);
 | 
						|
    }
 | 
						|
    var op = parser.GetArgument(name);
 | 
						|
    parser.configuration.handlers.retrieve(exports.NEW_OPS).
 | 
						|
        add(cs, new Symbol_js_1.Macro(cs, exports.AmsMethods.Macro, ["\\operatorname".concat(star, "{").concat(op, "}")]));
 | 
						|
};
 | 
						|
exports.AmsMethods.HandleOperatorName = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var op = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
    var mml = new TexParser_js_1.default(op, __assign(__assign({}, parser.stack.env), { font: TexConstants_js_1.TexConstant.Variant.NORMAL, multiLetterIdentifiers: /^[-*a-z]+/i, operatorLetters: true }), parser.configuration).mml();
 | 
						|
    if (!mml.isKind('mi')) {
 | 
						|
        mml = parser.create('node', 'TeXAtom', [mml]);
 | 
						|
    }
 | 
						|
    NodeUtil_js_1.default.setProperties(mml, { movesupsub: star, movablelimits: true, texClass: MmlNode_js_1.TEXCLASS.OP });
 | 
						|
    if (!star) {
 | 
						|
        var c = parser.GetNext(), i = parser.i;
 | 
						|
        if (c === '\\' && ++parser.i && parser.GetCS() !== 'limits') {
 | 
						|
            parser.i = i;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    parser.Push(mml);
 | 
						|
};
 | 
						|
exports.AmsMethods.SideSet = function (parser, name) {
 | 
						|
    var _a = __read(splitSideSet(parser.ParseArg(name)), 2), preScripts = _a[0], preRest = _a[1];
 | 
						|
    var _b = __read(splitSideSet(parser.ParseArg(name)), 2), postScripts = _b[0], postRest = _b[1];
 | 
						|
    var base = parser.ParseArg(name);
 | 
						|
    var mml = base;
 | 
						|
    if (preScripts) {
 | 
						|
        if (preRest) {
 | 
						|
            preScripts.replaceChild(parser.create('node', 'mphantom', [
 | 
						|
                parser.create('node', 'mpadded', [ParseUtil_js_1.default.copyNode(base, parser)], { width: 0 })
 | 
						|
            ]), NodeUtil_js_1.default.getChildAt(preScripts, 0));
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            mml = parser.create('node', 'mmultiscripts', [base]);
 | 
						|
            if (postScripts) {
 | 
						|
                NodeUtil_js_1.default.appendChildren(mml, [
 | 
						|
                    NodeUtil_js_1.default.getChildAt(postScripts, 1) || parser.create('node', 'none'),
 | 
						|
                    NodeUtil_js_1.default.getChildAt(postScripts, 2) || parser.create('node', 'none')
 | 
						|
                ]);
 | 
						|
            }
 | 
						|
            NodeUtil_js_1.default.setProperty(mml, 'scriptalign', 'left');
 | 
						|
            NodeUtil_js_1.default.appendChildren(mml, [
 | 
						|
                parser.create('node', 'mprescripts'),
 | 
						|
                NodeUtil_js_1.default.getChildAt(preScripts, 1) || parser.create('node', 'none'),
 | 
						|
                NodeUtil_js_1.default.getChildAt(preScripts, 2) || parser.create('node', 'none')
 | 
						|
            ]);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    if (postScripts && mml === base) {
 | 
						|
        postScripts.replaceChild(base, NodeUtil_js_1.default.getChildAt(postScripts, 0));
 | 
						|
        mml = postScripts;
 | 
						|
    }
 | 
						|
    var mrow = parser.create('node', 'TeXAtom', [], { texClass: MmlNode_js_1.TEXCLASS.OP, movesupsub: true, movablelimits: true });
 | 
						|
    if (preRest) {
 | 
						|
        preScripts && mrow.appendChild(preScripts);
 | 
						|
        mrow.appendChild(preRest);
 | 
						|
    }
 | 
						|
    mrow.appendChild(mml);
 | 
						|
    postRest && mrow.appendChild(postRest);
 | 
						|
    parser.Push(mrow);
 | 
						|
};
 | 
						|
function splitSideSet(mml) {
 | 
						|
    if (!mml || (mml.isInferred && mml.childNodes.length === 0))
 | 
						|
        return [null, null];
 | 
						|
    if (mml.isKind('msubsup') && checkSideSetBase(mml))
 | 
						|
        return [mml, null];
 | 
						|
    var child = NodeUtil_js_1.default.getChildAt(mml, 0);
 | 
						|
    if (!(mml.isInferred && child && checkSideSetBase(child)))
 | 
						|
        return [null, mml];
 | 
						|
    mml.childNodes.splice(0, 1);
 | 
						|
    return [child, mml];
 | 
						|
}
 | 
						|
function checkSideSetBase(mml) {
 | 
						|
    var base = mml.childNodes[0];
 | 
						|
    return base && base.isKind('mi') && base.getText() === '';
 | 
						|
}
 | 
						|
exports.AmsMethods.operatorLetter = function (parser, c) {
 | 
						|
    return parser.stack.env.operatorLetters ? ParseMethods_js_1.default.variable(parser, c) : false;
 | 
						|
};
 | 
						|
exports.AmsMethods.MultiIntegral = function (parser, name, integral) {
 | 
						|
    var next = parser.GetNext();
 | 
						|
    if (next === '\\') {
 | 
						|
        var i = parser.i;
 | 
						|
        next = parser.GetArgument(name);
 | 
						|
        parser.i = i;
 | 
						|
        if (next === '\\limits') {
 | 
						|
            if (name === '\\idotsint') {
 | 
						|
                integral = '\\!\\!\\mathop{\\,\\,' + integral + '}';
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                integral = '\\!\\!\\!\\mathop{\\,\\,\\,' + integral + '}';
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    parser.string = integral + ' ' + parser.string.slice(parser.i);
 | 
						|
    parser.i = 0;
 | 
						|
};
 | 
						|
exports.AmsMethods.xArrow = function (parser, name, chr, l, r) {
 | 
						|
    var def = { width: '+' + ParseUtil_js_1.default.Em((l + r) / 18), lspace: ParseUtil_js_1.default.Em(l / 18) };
 | 
						|
    var bot = parser.GetBrackets(name);
 | 
						|
    var first = parser.ParseArg(name);
 | 
						|
    var dstrut = parser.create('node', 'mspace', [], { depth: '.25em' });
 | 
						|
    var arrow = parser.create('token', 'mo', { stretchy: true, texClass: MmlNode_js_1.TEXCLASS.REL }, String.fromCodePoint(chr));
 | 
						|
    arrow = parser.create('node', 'mstyle', [arrow], { scriptlevel: 0 });
 | 
						|
    var mml = parser.create('node', 'munderover', [arrow]);
 | 
						|
    var mpadded = parser.create('node', 'mpadded', [first, dstrut], def);
 | 
						|
    NodeUtil_js_1.default.setAttribute(mpadded, 'voffset', '-.2em');
 | 
						|
    NodeUtil_js_1.default.setAttribute(mpadded, 'height', '-.2em');
 | 
						|
    NodeUtil_js_1.default.setChild(mml, mml.over, mpadded);
 | 
						|
    if (bot) {
 | 
						|
        var bottom = new TexParser_js_1.default(bot, parser.stack.env, parser.configuration).mml();
 | 
						|
        var bstrut = parser.create('node', 'mspace', [], { height: '.75em' });
 | 
						|
        mpadded = parser.create('node', 'mpadded', [bottom, bstrut], def);
 | 
						|
        NodeUtil_js_1.default.setAttribute(mpadded, 'voffset', '.15em');
 | 
						|
        NodeUtil_js_1.default.setAttribute(mpadded, 'depth', '-.15em');
 | 
						|
        NodeUtil_js_1.default.setChild(mml, mml.under, mpadded);
 | 
						|
    }
 | 
						|
    NodeUtil_js_1.default.setProperty(mml, 'subsupOK', true);
 | 
						|
    parser.Push(mml);
 | 
						|
};
 | 
						|
exports.AmsMethods.HandleShove = function (parser, _name, shove) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'multline') {
 | 
						|
        throw new TexError_js_1.default('CommandOnlyAllowedInEnv', '%1 only allowed in %2 environment', parser.currentCS, 'multline');
 | 
						|
    }
 | 
						|
    if (top.Size()) {
 | 
						|
        throw new TexError_js_1.default('CommandAtTheBeginingOfLine', '%1 must come at the beginning of the line', parser.currentCS);
 | 
						|
    }
 | 
						|
    top.setProperty('shove', shove);
 | 
						|
};
 | 
						|
exports.AmsMethods.CFrac = function (parser, name) {
 | 
						|
    var lr = ParseUtil_js_1.default.trimSpaces(parser.GetBrackets(name, ''));
 | 
						|
    var num = parser.GetArgument(name);
 | 
						|
    var den = parser.GetArgument(name);
 | 
						|
    var lrMap = {
 | 
						|
        l: TexConstants_js_1.TexConstant.Align.LEFT, r: TexConstants_js_1.TexConstant.Align.RIGHT, '': ''
 | 
						|
    };
 | 
						|
    var numNode = new TexParser_js_1.default('\\strut\\textstyle{' + num + '}', parser.stack.env, parser.configuration).mml();
 | 
						|
    var denNode = new TexParser_js_1.default('\\strut\\textstyle{' + den + '}', parser.stack.env, parser.configuration).mml();
 | 
						|
    var frac = parser.create('node', 'mfrac', [numNode, denNode]);
 | 
						|
    lr = lrMap[lr];
 | 
						|
    if (lr == null) {
 | 
						|
        throw new TexError_js_1.default('IllegalAlign', 'Illegal alignment specified in %1', parser.currentCS);
 | 
						|
    }
 | 
						|
    if (lr) {
 | 
						|
        NodeUtil_js_1.default.setProperties(frac, { numalign: lr, denomalign: lr });
 | 
						|
    }
 | 
						|
    parser.Push(frac);
 | 
						|
};
 | 
						|
exports.AmsMethods.Genfrac = function (parser, name, left, right, thick, style) {
 | 
						|
    if (left == null) {
 | 
						|
        left = parser.GetDelimiterArg(name);
 | 
						|
    }
 | 
						|
    if (right == null) {
 | 
						|
        right = parser.GetDelimiterArg(name);
 | 
						|
    }
 | 
						|
    if (thick == null) {
 | 
						|
        thick = parser.GetArgument(name);
 | 
						|
    }
 | 
						|
    if (style == null) {
 | 
						|
        style = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
    }
 | 
						|
    var num = parser.ParseArg(name);
 | 
						|
    var den = parser.ParseArg(name);
 | 
						|
    var frac = parser.create('node', 'mfrac', [num, den]);
 | 
						|
    if (thick !== '') {
 | 
						|
        NodeUtil_js_1.default.setAttribute(frac, 'linethickness', thick);
 | 
						|
    }
 | 
						|
    if (left || right) {
 | 
						|
        NodeUtil_js_1.default.setProperty(frac, 'withDelims', true);
 | 
						|
        frac = ParseUtil_js_1.default.fixedFence(parser.configuration, left, frac, right);
 | 
						|
    }
 | 
						|
    if (style !== '') {
 | 
						|
        var styleDigit = parseInt(style, 10);
 | 
						|
        var styleAlpha = ['D', 'T', 'S', 'SS'][styleDigit];
 | 
						|
        if (styleAlpha == null) {
 | 
						|
            throw new TexError_js_1.default('BadMathStyleFor', 'Bad math style for %1', parser.currentCS);
 | 
						|
        }
 | 
						|
        frac = parser.create('node', 'mstyle', [frac]);
 | 
						|
        if (styleAlpha === 'D') {
 | 
						|
            NodeUtil_js_1.default.setProperties(frac, { displaystyle: true, scriptlevel: 0 });
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            NodeUtil_js_1.default.setProperties(frac, { displaystyle: false,
 | 
						|
                scriptlevel: styleDigit - 1 });
 | 
						|
        }
 | 
						|
    }
 | 
						|
    parser.Push(frac);
 | 
						|
};
 | 
						|
exports.AmsMethods.HandleTag = function (parser, name) {
 | 
						|
    if (!parser.tags.currentTag.taggable && parser.tags.env) {
 | 
						|
        throw new TexError_js_1.default('CommandNotAllowedInEnv', '%1 not allowed in %2 environment', parser.currentCS, parser.tags.env);
 | 
						|
    }
 | 
						|
    if (parser.tags.currentTag.tag) {
 | 
						|
        throw new TexError_js_1.default('MultipleCommand', 'Multiple %1', parser.currentCS);
 | 
						|
    }
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var tagId = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
    parser.tags.tag(tagId, star);
 | 
						|
};
 | 
						|
exports.AmsMethods.HandleNoTag = BaseMethods_js_1.default.HandleNoTag;
 | 
						|
exports.AmsMethods.HandleRef = BaseMethods_js_1.default.HandleRef;
 | 
						|
exports.AmsMethods.Macro = BaseMethods_js_1.default.Macro;
 | 
						|
exports.AmsMethods.Accent = BaseMethods_js_1.default.Accent;
 | 
						|
exports.AmsMethods.Tilde = BaseMethods_js_1.default.Tilde;
 | 
						|
exports.AmsMethods.Array = BaseMethods_js_1.default.Array;
 | 
						|
exports.AmsMethods.Spacer = BaseMethods_js_1.default.Spacer;
 | 
						|
exports.AmsMethods.NamedOp = BaseMethods_js_1.default.NamedOp;
 | 
						|
exports.AmsMethods.EqnArray = BaseMethods_js_1.default.EqnArray;
 | 
						|
exports.AmsMethods.Equation = BaseMethods_js_1.default.Equation;
 | 
						|
//# sourceMappingURL=AmsMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 53974:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.AmsCdConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
__webpack_require__(52410);
 | 
						|
exports.AmsCdConfiguration = Configuration_js_1.Configuration.create('amscd', {
 | 
						|
    handler: {
 | 
						|
        character: ['amscd_special'],
 | 
						|
        macro: ['amscd_macros'],
 | 
						|
        environment: ['amscd_environment']
 | 
						|
    },
 | 
						|
    options: {
 | 
						|
        amscd: {
 | 
						|
            colspace: '5pt',
 | 
						|
            rowspace: '5pt',
 | 
						|
            harrowsize: '2.75em',
 | 
						|
            varrowsize: '1.75em',
 | 
						|
            hideHorizontalLabels: false
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=AmsCdConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 52410:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
						|
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
						|
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
						|
    }
 | 
						|
    Object.defineProperty(o, k2, desc);
 | 
						|
}) : (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    o[k2] = m[k];
 | 
						|
}));
 | 
						|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
						|
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
						|
}) : function(o, v) {
 | 
						|
    o["default"] = v;
 | 
						|
});
 | 
						|
var __importStar = (this && this.__importStar) || function (mod) {
 | 
						|
    if (mod && mod.__esModule) return mod;
 | 
						|
    var result = {};
 | 
						|
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
						|
    __setModuleDefault(result, mod);
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var sm = __importStar(__webpack_require__(65695));
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var AmsCdMethods_js_1 = __importDefault(__webpack_require__(61759));
 | 
						|
new sm.EnvironmentMap('amscd_environment', ParseMethods_js_1.default.environment, { CD: 'CD' }, AmsCdMethods_js_1.default);
 | 
						|
new sm.CommandMap('amscd_macros', {
 | 
						|
    minCDarrowwidth: 'minCDarrowwidth',
 | 
						|
    minCDarrowheight: 'minCDarrowheight',
 | 
						|
}, AmsCdMethods_js_1.default);
 | 
						|
new sm.MacroMap('amscd_special', { '@': 'arrow' }, AmsCdMethods_js_1.default);
 | 
						|
//# sourceMappingURL=AmsCdMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 61759:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var BaseConfiguration_js_1 = __webpack_require__(32742);
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var AmsCdMethods = {};
 | 
						|
AmsCdMethods.CD = function (parser, begin) {
 | 
						|
    parser.Push(begin);
 | 
						|
    var item = parser.itemFactory.create('array');
 | 
						|
    var options = parser.configuration.options.amscd;
 | 
						|
    item.setProperties({
 | 
						|
        minw: parser.stack.env.CD_minw || options.harrowsize,
 | 
						|
        minh: parser.stack.env.CD_minh || options.varrowsize
 | 
						|
    });
 | 
						|
    item.arraydef = {
 | 
						|
        columnalign: 'center',
 | 
						|
        columnspacing: options.colspace,
 | 
						|
        rowspacing: options.rowspace,
 | 
						|
        displaystyle: true
 | 
						|
    };
 | 
						|
    return item;
 | 
						|
};
 | 
						|
AmsCdMethods.arrow = function (parser, name) {
 | 
						|
    var c = parser.string.charAt(parser.i);
 | 
						|
    if (!c.match(/[><VA.|=]/)) {
 | 
						|
        return (0, BaseConfiguration_js_1.Other)(parser, name);
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        parser.i++;
 | 
						|
    }
 | 
						|
    var first = parser.stack.Top();
 | 
						|
    if (!first.isKind('array') || first.Size()) {
 | 
						|
        AmsCdMethods.cell(parser, name);
 | 
						|
        first = parser.stack.Top();
 | 
						|
    }
 | 
						|
    var top = first;
 | 
						|
    var arrowRow = ((top.table.length % 2) === 1);
 | 
						|
    var n = (top.row.length + (arrowRow ? 0 : 1)) % 2;
 | 
						|
    while (n) {
 | 
						|
        AmsCdMethods.cell(parser, name);
 | 
						|
        n--;
 | 
						|
    }
 | 
						|
    var mml;
 | 
						|
    var hdef = { minsize: top.getProperty('minw'), stretchy: true }, vdef = { minsize: top.getProperty('minh'),
 | 
						|
        stretchy: true, symmetric: true, lspace: 0, rspace: 0 };
 | 
						|
    if (c === '.') {
 | 
						|
    }
 | 
						|
    else if (c === '|') {
 | 
						|
        mml = parser.create('token', 'mo', vdef, '\u2225');
 | 
						|
    }
 | 
						|
    else if (c === '=') {
 | 
						|
        mml = parser.create('token', 'mo', hdef, '=');
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        var arrow = {
 | 
						|
            '>': '\u2192', '<': '\u2190', 'V': '\u2193', 'A': '\u2191'
 | 
						|
        }[c];
 | 
						|
        var a = parser.GetUpTo(name + c, c);
 | 
						|
        var b = parser.GetUpTo(name + c, c);
 | 
						|
        if (c === '>' || c === '<') {
 | 
						|
            mml = parser.create('token', 'mo', hdef, arrow);
 | 
						|
            if (!a) {
 | 
						|
                a = '\\kern ' + top.getProperty('minw');
 | 
						|
            }
 | 
						|
            if (a || b) {
 | 
						|
                var pad = { width: '+.67em', lspace: '.33em' };
 | 
						|
                mml = parser.create('node', 'munderover', [mml]);
 | 
						|
                if (a) {
 | 
						|
                    var nodeA = new TexParser_js_1.default(a, parser.stack.env, parser.configuration).mml();
 | 
						|
                    var mpadded = parser.create('node', 'mpadded', [nodeA], pad);
 | 
						|
                    NodeUtil_js_1.default.setAttribute(mpadded, 'voffset', '.1em');
 | 
						|
                    NodeUtil_js_1.default.setChild(mml, mml.over, mpadded);
 | 
						|
                }
 | 
						|
                if (b) {
 | 
						|
                    var nodeB = new TexParser_js_1.default(b, parser.stack.env, parser.configuration).mml();
 | 
						|
                    NodeUtil_js_1.default.setChild(mml, mml.under, parser.create('node', 'mpadded', [nodeB], pad));
 | 
						|
                }
 | 
						|
                if (parser.configuration.options.amscd.hideHorizontalLabels) {
 | 
						|
                    mml = parser.create('node', 'mpadded', mml, { depth: 0, height: '.67em' });
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            var arrowNode = parser.create('token', 'mo', vdef, arrow);
 | 
						|
            mml = arrowNode;
 | 
						|
            if (a || b) {
 | 
						|
                mml = parser.create('node', 'mrow');
 | 
						|
                if (a) {
 | 
						|
                    NodeUtil_js_1.default.appendChildren(mml, [new TexParser_js_1.default('\\scriptstyle\\llap{' + a + '}', parser.stack.env, parser.configuration).mml()]);
 | 
						|
                }
 | 
						|
                arrowNode.texClass = MmlNode_js_1.TEXCLASS.ORD;
 | 
						|
                NodeUtil_js_1.default.appendChildren(mml, [arrowNode]);
 | 
						|
                if (b) {
 | 
						|
                    NodeUtil_js_1.default.appendChildren(mml, [new TexParser_js_1.default('\\scriptstyle\\rlap{' + b + '}', parser.stack.env, parser.configuration).mml()]);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    if (mml) {
 | 
						|
        parser.Push(mml);
 | 
						|
    }
 | 
						|
    AmsCdMethods.cell(parser, name);
 | 
						|
};
 | 
						|
AmsCdMethods.cell = function (parser, name) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if ((top.table || []).length % 2 === 0 && (top.row || []).length === 0) {
 | 
						|
        parser.Push(parser.create('node', 'mpadded', [], { height: '8.5pt', depth: '2pt' }));
 | 
						|
    }
 | 
						|
    parser.Push(parser.itemFactory.create('cell').setProperties({ isEntry: true, name: name }));
 | 
						|
};
 | 
						|
AmsCdMethods.minCDarrowwidth = function (parser, name) {
 | 
						|
    parser.stack.env.CD_minw = parser.GetDimen(name);
 | 
						|
};
 | 
						|
AmsCdMethods.minCDarrowheight = function (parser, name) {
 | 
						|
    parser.stack.env.CD_minh = parser.GetDimen(name);
 | 
						|
};
 | 
						|
exports["default"] = AmsCdMethods;
 | 
						|
//# sourceMappingURL=AmsCdMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 39613:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.BboxConfiguration = exports.BboxMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
exports.BboxMethods = {};
 | 
						|
exports.BboxMethods.BBox = function (parser, name) {
 | 
						|
    var bbox = parser.GetBrackets(name, '');
 | 
						|
    var math = parser.ParseArg(name);
 | 
						|
    var parts = bbox.split(/,/);
 | 
						|
    var def, background, style;
 | 
						|
    for (var i = 0, m = parts.length; i < m; i++) {
 | 
						|
        var part = parts[i].trim();
 | 
						|
        var match = part.match(/^(\.\d+|\d+(\.\d*)?)(pt|em|ex|mu|px|in|cm|mm)$/);
 | 
						|
        if (match) {
 | 
						|
            if (def) {
 | 
						|
                throw new TexError_js_1.default('MultipleBBoxProperty', '%1 specified twice in %2', 'Padding', name);
 | 
						|
            }
 | 
						|
            var pad = BBoxPadding(match[1] + match[3]);
 | 
						|
            if (pad) {
 | 
						|
                def = {
 | 
						|
                    height: '+' + pad,
 | 
						|
                    depth: '+' + pad,
 | 
						|
                    lspace: pad,
 | 
						|
                    width: '+' + (2 * parseInt(match[1], 10)) + match[3]
 | 
						|
                };
 | 
						|
            }
 | 
						|
        }
 | 
						|
        else if (part.match(/^([a-z0-9]+|\#[0-9a-f]{6}|\#[0-9a-f]{3})$/i)) {
 | 
						|
            if (background) {
 | 
						|
                throw new TexError_js_1.default('MultipleBBoxProperty', '%1 specified twice in %2', 'Background', name);
 | 
						|
            }
 | 
						|
            background = part;
 | 
						|
        }
 | 
						|
        else if (part.match(/^[-a-z]+:/i)) {
 | 
						|
            if (style) {
 | 
						|
                throw new TexError_js_1.default('MultipleBBoxProperty', '%1 specified twice in %2', 'Style', name);
 | 
						|
            }
 | 
						|
            style = BBoxStyle(part);
 | 
						|
        }
 | 
						|
        else if (part !== '') {
 | 
						|
            throw new TexError_js_1.default('InvalidBBoxProperty', '"%1" doesn\'t look like a color, a padding dimension, or a style', part);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    if (def) {
 | 
						|
        math = parser.create('node', 'mpadded', [math], def);
 | 
						|
    }
 | 
						|
    if (background || style) {
 | 
						|
        def = {};
 | 
						|
        if (background) {
 | 
						|
            Object.assign(def, { mathbackground: background });
 | 
						|
        }
 | 
						|
        if (style) {
 | 
						|
            Object.assign(def, { style: style });
 | 
						|
        }
 | 
						|
        math = parser.create('node', 'mstyle', [math], def);
 | 
						|
    }
 | 
						|
    parser.Push(math);
 | 
						|
};
 | 
						|
var BBoxStyle = function (styles) {
 | 
						|
    return styles;
 | 
						|
};
 | 
						|
var BBoxPadding = function (pad) {
 | 
						|
    return pad;
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('bbox', { bbox: 'BBox' }, exports.BboxMethods);
 | 
						|
exports.BboxConfiguration = Configuration_js_1.Configuration.create('bbox', { handler: { macro: ['bbox'] } });
 | 
						|
//# sourceMappingURL=BboxConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 51629:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.BoldsymbolConfiguration = exports.rewriteBoldTokens = exports.createBoldToken = exports.BoldsymbolMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var NodeFactory_js_1 = __webpack_require__(12443);
 | 
						|
var BOLDVARIANT = {};
 | 
						|
BOLDVARIANT[TexConstants_js_1.TexConstant.Variant.NORMAL] = TexConstants_js_1.TexConstant.Variant.BOLD;
 | 
						|
BOLDVARIANT[TexConstants_js_1.TexConstant.Variant.ITALIC] = TexConstants_js_1.TexConstant.Variant.BOLDITALIC;
 | 
						|
BOLDVARIANT[TexConstants_js_1.TexConstant.Variant.FRAKTUR] = TexConstants_js_1.TexConstant.Variant.BOLDFRAKTUR;
 | 
						|
BOLDVARIANT[TexConstants_js_1.TexConstant.Variant.SCRIPT] = TexConstants_js_1.TexConstant.Variant.BOLDSCRIPT;
 | 
						|
BOLDVARIANT[TexConstants_js_1.TexConstant.Variant.SANSSERIF] = TexConstants_js_1.TexConstant.Variant.BOLDSANSSERIF;
 | 
						|
BOLDVARIANT['-tex-calligraphic'] = '-tex-bold-calligraphic';
 | 
						|
BOLDVARIANT['-tex-oldstyle'] = '-tex-bold-oldstyle';
 | 
						|
BOLDVARIANT['-tex-mathit'] = TexConstants_js_1.TexConstant.Variant.BOLDITALIC;
 | 
						|
exports.BoldsymbolMethods = {};
 | 
						|
exports.BoldsymbolMethods.Boldsymbol = function (parser, name) {
 | 
						|
    var boldsymbol = parser.stack.env['boldsymbol'];
 | 
						|
    parser.stack.env['boldsymbol'] = true;
 | 
						|
    var mml = parser.ParseArg(name);
 | 
						|
    parser.stack.env['boldsymbol'] = boldsymbol;
 | 
						|
    parser.Push(mml);
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('boldsymbol', { boldsymbol: 'Boldsymbol' }, exports.BoldsymbolMethods);
 | 
						|
function createBoldToken(factory, kind, def, text) {
 | 
						|
    var token = NodeFactory_js_1.NodeFactory.createToken(factory, kind, def, text);
 | 
						|
    if (kind !== 'mtext' &&
 | 
						|
        factory.configuration.parser.stack.env['boldsymbol']) {
 | 
						|
        NodeUtil_js_1.default.setProperty(token, 'fixBold', true);
 | 
						|
        factory.configuration.addNode('fixBold', token);
 | 
						|
    }
 | 
						|
    return token;
 | 
						|
}
 | 
						|
exports.createBoldToken = createBoldToken;
 | 
						|
function rewriteBoldTokens(arg) {
 | 
						|
    var e_1, _a;
 | 
						|
    try {
 | 
						|
        for (var _b = __values(arg.data.getList('fixBold')), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
            var node = _c.value;
 | 
						|
            if (NodeUtil_js_1.default.getProperty(node, 'fixBold')) {
 | 
						|
                var variant = NodeUtil_js_1.default.getAttribute(node, 'mathvariant');
 | 
						|
                if (variant == null) {
 | 
						|
                    NodeUtil_js_1.default.setAttribute(node, 'mathvariant', TexConstants_js_1.TexConstant.Variant.BOLD);
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    NodeUtil_js_1.default.setAttribute(node, 'mathvariant', BOLDVARIANT[variant] || variant);
 | 
						|
                }
 | 
						|
                NodeUtil_js_1.default.removeProperties(node, 'fixBold');
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.rewriteBoldTokens = rewriteBoldTokens;
 | 
						|
exports.BoldsymbolConfiguration = Configuration_js_1.Configuration.create('boldsymbol', {
 | 
						|
    handler: { macro: ['boldsymbol'] },
 | 
						|
    nodes: { 'token': createBoldToken },
 | 
						|
    postprocessors: [rewriteBoldTokens]
 | 
						|
});
 | 
						|
//# sourceMappingURL=BoldsymbolConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 43995:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.BraketConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var BraketItems_js_1 = __webpack_require__(89238);
 | 
						|
__webpack_require__(77675);
 | 
						|
exports.BraketConfiguration = Configuration_js_1.Configuration.create('braket', {
 | 
						|
    handler: {
 | 
						|
        character: ['Braket-characters'],
 | 
						|
        macro: ['Braket-macros']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[BraketItems_js_1.BraketItem.prototype.kind] = BraketItems_js_1.BraketItem,
 | 
						|
        _a)
 | 
						|
});
 | 
						|
//# sourceMappingURL=BraketConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 89238:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.BraketItem = void 0;
 | 
						|
var StackItem_js_1 = __webpack_require__(26539);
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var BraketItem = (function (_super) {
 | 
						|
    __extends(BraketItem, _super);
 | 
						|
    function BraketItem() {
 | 
						|
        return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(BraketItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'braket';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    Object.defineProperty(BraketItem.prototype, "isOpen", {
 | 
						|
        get: function () {
 | 
						|
            return true;
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    BraketItem.prototype.checkItem = function (item) {
 | 
						|
        if (item.isKind('close')) {
 | 
						|
            return [[this.factory.create('mml', this.toMml())], true];
 | 
						|
        }
 | 
						|
        if (item.isKind('mml')) {
 | 
						|
            this.Push(item.toMml());
 | 
						|
            if (this.getProperty('single')) {
 | 
						|
                return [[this.toMml()], true];
 | 
						|
            }
 | 
						|
            return StackItem_js_1.BaseItem.fail;
 | 
						|
        }
 | 
						|
        return _super.prototype.checkItem.call(this, item);
 | 
						|
    };
 | 
						|
    BraketItem.prototype.toMml = function () {
 | 
						|
        var inner = _super.prototype.toMml.call(this);
 | 
						|
        var open = this.getProperty('open');
 | 
						|
        var close = this.getProperty('close');
 | 
						|
        if (this.getProperty('stretchy')) {
 | 
						|
            return ParseUtil_js_1.default.fenced(this.factory.configuration, open, inner, close);
 | 
						|
        }
 | 
						|
        var attrs = { fence: true, stretchy: false, symmetric: true, texClass: MmlNode_js_1.TEXCLASS.OPEN };
 | 
						|
        var openNode = this.create('token', 'mo', attrs, open);
 | 
						|
        attrs.texClass = MmlNode_js_1.TEXCLASS.CLOSE;
 | 
						|
        var closeNode = this.create('token', 'mo', attrs, close);
 | 
						|
        var mrow = this.create('node', 'mrow', [openNode, inner, closeNode], { open: open, close: close, texClass: MmlNode_js_1.TEXCLASS.INNER });
 | 
						|
        return mrow;
 | 
						|
    };
 | 
						|
    return BraketItem;
 | 
						|
}(StackItem_js_1.BaseItem));
 | 
						|
exports.BraketItem = BraketItem;
 | 
						|
//# sourceMappingURL=BraketItems.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 77675:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var BraketMethods_js_1 = __importDefault(__webpack_require__(55833));
 | 
						|
new SymbolMap_js_1.CommandMap('Braket-macros', {
 | 
						|
    bra: ['Macro', '{\\langle {#1} \\vert}', 1],
 | 
						|
    ket: ['Macro', '{\\vert {#1} \\rangle}', 1],
 | 
						|
    braket: ['Braket', '\u27E8', '\u27E9', false, Infinity],
 | 
						|
    'set': ['Braket', '{', '}', false, 1],
 | 
						|
    Bra: ['Macro', '{\\left\\langle {#1} \\right\\vert}', 1],
 | 
						|
    Ket: ['Macro', '{\\left\\vert {#1} \\right\\rangle}', 1],
 | 
						|
    Braket: ['Braket', '\u27E8', '\u27E9', true, Infinity],
 | 
						|
    Set: ['Braket', '{', '}', true, 1],
 | 
						|
    ketbra: ['Macro', '{\\vert {#1} \\rangle\\langle {#2} \\vert}', 2],
 | 
						|
    Ketbra: ['Macro', '{\\left\\vert {#1} \\right\\rangle\\left\\langle {#2} \\right\\vert}', 2],
 | 
						|
    '|': 'Bar'
 | 
						|
}, BraketMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.MacroMap('Braket-characters', {
 | 
						|
    '|': 'Bar'
 | 
						|
}, BraketMethods_js_1.default);
 | 
						|
//# sourceMappingURL=BraketMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 55833:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var BraketMethods = {};
 | 
						|
BraketMethods.Macro = BaseMethods_js_1.default.Macro;
 | 
						|
BraketMethods.Braket = function (parser, _name, open, close, stretchy, barmax) {
 | 
						|
    var next = parser.GetNext();
 | 
						|
    if (next === '') {
 | 
						|
        throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);
 | 
						|
    }
 | 
						|
    var single = true;
 | 
						|
    if (next === '{') {
 | 
						|
        parser.i++;
 | 
						|
        single = false;
 | 
						|
    }
 | 
						|
    parser.Push(parser.itemFactory.create('braket')
 | 
						|
        .setProperties({ barmax: barmax, barcount: 0, open: open,
 | 
						|
        close: close, stretchy: stretchy, single: single }));
 | 
						|
};
 | 
						|
BraketMethods.Bar = function (parser, name) {
 | 
						|
    var c = name === '|' ? '|' : '\u2225';
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'braket' ||
 | 
						|
        top.getProperty('barcount') >= top.getProperty('barmax')) {
 | 
						|
        var mml = parser.create('token', 'mo', { texClass: MmlNode_js_1.TEXCLASS.ORD, stretchy: false }, c);
 | 
						|
        parser.Push(mml);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if (c === '|' && parser.GetNext() === '|') {
 | 
						|
        parser.i++;
 | 
						|
        c = '\u2225';
 | 
						|
    }
 | 
						|
    var stretchy = top.getProperty('stretchy');
 | 
						|
    if (!stretchy) {
 | 
						|
        var node_1 = parser.create('token', 'mo', { stretchy: false, braketbar: true }, c);
 | 
						|
        parser.Push(node_1);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    var node = parser.create('node', 'TeXAtom', [], { texClass: MmlNode_js_1.TEXCLASS.CLOSE });
 | 
						|
    parser.Push(node);
 | 
						|
    top.setProperty('barcount', top.getProperty('barcount') + 1);
 | 
						|
    node = parser.create('token', 'mo', { stretchy: true, braketbar: true }, c);
 | 
						|
    parser.Push(node);
 | 
						|
    node = parser.create('node', 'TeXAtom', [], { texClass: MmlNode_js_1.TEXCLASS.OPEN });
 | 
						|
    parser.Push(node);
 | 
						|
};
 | 
						|
exports["default"] = BraketMethods;
 | 
						|
//# sourceMappingURL=BraketMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 21901:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.BussproofsConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var BussproofsItems_js_1 = __webpack_require__(14687);
 | 
						|
var BussproofsUtil_js_1 = __webpack_require__(32943);
 | 
						|
__webpack_require__(74836);
 | 
						|
exports.BussproofsConfiguration = Configuration_js_1.Configuration.create('bussproofs', {
 | 
						|
    handler: {
 | 
						|
        macro: ['Bussproofs-macros'],
 | 
						|
        environment: ['Bussproofs-environments']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[BussproofsItems_js_1.ProofTreeItem.prototype.kind] = BussproofsItems_js_1.ProofTreeItem,
 | 
						|
        _a),
 | 
						|
    preprocessors: [
 | 
						|
        [BussproofsUtil_js_1.saveDocument, 1]
 | 
						|
    ],
 | 
						|
    postprocessors: [
 | 
						|
        [BussproofsUtil_js_1.clearDocument, 3],
 | 
						|
        [BussproofsUtil_js_1.makeBsprAttributes, 2],
 | 
						|
        [BussproofsUtil_js_1.balanceRules, 1]
 | 
						|
    ]
 | 
						|
});
 | 
						|
//# sourceMappingURL=BussproofsConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 14687:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
						|
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
						|
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
						|
    }
 | 
						|
    Object.defineProperty(o, k2, desc);
 | 
						|
}) : (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    o[k2] = m[k];
 | 
						|
}));
 | 
						|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
						|
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
						|
}) : function(o, v) {
 | 
						|
    o["default"] = v;
 | 
						|
});
 | 
						|
var __importStar = (this && this.__importStar) || function (mod) {
 | 
						|
    if (mod && mod.__esModule) return mod;
 | 
						|
    var result = {};
 | 
						|
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
						|
    __setModuleDefault(result, mod);
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ProofTreeItem = void 0;
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var StackItem_js_1 = __webpack_require__(26539);
 | 
						|
var Stack_js_1 = __importDefault(__webpack_require__(35758));
 | 
						|
var BussproofsUtil = __importStar(__webpack_require__(32943));
 | 
						|
var ProofTreeItem = (function (_super) {
 | 
						|
    __extends(ProofTreeItem, _super);
 | 
						|
    function ProofTreeItem() {
 | 
						|
        var _this = _super !== null && _super.apply(this, arguments) || this;
 | 
						|
        _this.leftLabel = null;
 | 
						|
        _this.rigthLabel = null;
 | 
						|
        _this.innerStack = new Stack_js_1.default(_this.factory, {}, true);
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(ProofTreeItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'proofTree';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    ProofTreeItem.prototype.checkItem = function (item) {
 | 
						|
        if (item.isKind('end') && item.getName() === 'prooftree') {
 | 
						|
            var node = this.toMml();
 | 
						|
            BussproofsUtil.setProperty(node, 'proof', true);
 | 
						|
            return [[this.factory.create('mml', node), item], true];
 | 
						|
        }
 | 
						|
        if (item.isKind('stop')) {
 | 
						|
            throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\end{%1}', this.getName());
 | 
						|
        }
 | 
						|
        this.innerStack.Push(item);
 | 
						|
        return StackItem_js_1.BaseItem.fail;
 | 
						|
    };
 | 
						|
    ProofTreeItem.prototype.toMml = function () {
 | 
						|
        var tree = _super.prototype.toMml.call(this);
 | 
						|
        var start = this.innerStack.Top();
 | 
						|
        if (start.isKind('start') && !start.Size()) {
 | 
						|
            return tree;
 | 
						|
        }
 | 
						|
        this.innerStack.Push(this.factory.create('stop'));
 | 
						|
        var prefix = this.innerStack.Top().toMml();
 | 
						|
        return this.create('node', 'mrow', [prefix, tree], {});
 | 
						|
    };
 | 
						|
    return ProofTreeItem;
 | 
						|
}(StackItem_js_1.BaseItem));
 | 
						|
exports.ProofTreeItem = ProofTreeItem;
 | 
						|
//# sourceMappingURL=BussproofsItems.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 74836:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var BussproofsMethods_js_1 = __importDefault(__webpack_require__(43118));
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
new SymbolMap_js_1.CommandMap('Bussproofs-macros', {
 | 
						|
    AxiomC: 'Axiom',
 | 
						|
    UnaryInfC: ['Inference', 1],
 | 
						|
    BinaryInfC: ['Inference', 2],
 | 
						|
    TrinaryInfC: ['Inference', 3],
 | 
						|
    QuaternaryInfC: ['Inference', 4],
 | 
						|
    QuinaryInfC: ['Inference', 5],
 | 
						|
    RightLabel: ['Label', 'right'],
 | 
						|
    LeftLabel: ['Label', 'left'],
 | 
						|
    AXC: 'Axiom',
 | 
						|
    UIC: ['Inference', 1],
 | 
						|
    BIC: ['Inference', 2],
 | 
						|
    TIC: ['Inference', 3],
 | 
						|
    RL: ['Label', 'right'],
 | 
						|
    LL: ['Label', 'left'],
 | 
						|
    noLine: ['SetLine', 'none', false],
 | 
						|
    singleLine: ['SetLine', 'solid', false],
 | 
						|
    solidLine: ['SetLine', 'solid', false],
 | 
						|
    dashedLine: ['SetLine', 'dashed', false],
 | 
						|
    alwaysNoLine: ['SetLine', 'none', true],
 | 
						|
    alwaysSingleLine: ['SetLine', 'solid', true],
 | 
						|
    alwaysSolidLine: ['SetLine', 'solid', true],
 | 
						|
    alwaysDashedLine: ['SetLine', 'dashed', true],
 | 
						|
    rootAtTop: ['RootAtTop', true],
 | 
						|
    alwaysRootAtTop: ['RootAtTop', true],
 | 
						|
    rootAtBottom: ['RootAtTop', false],
 | 
						|
    alwaysRootAtBottom: ['RootAtTop', false],
 | 
						|
    fCenter: 'FCenter',
 | 
						|
    Axiom: 'AxiomF',
 | 
						|
    UnaryInf: ['InferenceF', 1],
 | 
						|
    BinaryInf: ['InferenceF', 2],
 | 
						|
    TrinaryInf: ['InferenceF', 3],
 | 
						|
    QuaternaryInf: ['InferenceF', 4],
 | 
						|
    QuinaryInf: ['InferenceF', 5]
 | 
						|
}, BussproofsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.EnvironmentMap('Bussproofs-environments', ParseMethods_js_1.default.environment, {
 | 
						|
    prooftree: ['Prooftree', null, false]
 | 
						|
}, BussproofsMethods_js_1.default);
 | 
						|
//# sourceMappingURL=BussproofsMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 43118:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
						|
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
						|
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
						|
    }
 | 
						|
    Object.defineProperty(o, k2, desc);
 | 
						|
}) : (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    o[k2] = m[k];
 | 
						|
}));
 | 
						|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
						|
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
						|
}) : function(o, v) {
 | 
						|
    o["default"] = v;
 | 
						|
});
 | 
						|
var __importStar = (this && this.__importStar) || function (mod) {
 | 
						|
    if (mod && mod.__esModule) return mod;
 | 
						|
    var result = {};
 | 
						|
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
						|
    __setModuleDefault(result, mod);
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
 | 
						|
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
 | 
						|
        if (ar || !(i in from)) {
 | 
						|
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
 | 
						|
            ar[i] = from[i];
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return to.concat(ar || Array.prototype.slice.call(from));
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var BussproofsUtil = __importStar(__webpack_require__(32943));
 | 
						|
var BussproofsMethods = {};
 | 
						|
BussproofsMethods.Prooftree = function (parser, begin) {
 | 
						|
    parser.Push(begin);
 | 
						|
    var newItem = parser.itemFactory.create('proofTree').
 | 
						|
        setProperties({ name: begin.getName(),
 | 
						|
        line: 'solid', currentLine: 'solid', rootAtTop: false });
 | 
						|
    return newItem;
 | 
						|
};
 | 
						|
BussproofsMethods.Axiom = function (parser, name) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    var content = paddedContent(parser, parser.GetArgument(name));
 | 
						|
    BussproofsUtil.setProperty(content, 'axiom', true);
 | 
						|
    top.Push(content);
 | 
						|
};
 | 
						|
var paddedContent = function (parser, content) {
 | 
						|
    var nodes = ParseUtil_js_1.default.internalMath(parser, ParseUtil_js_1.default.trimSpaces(content), 0);
 | 
						|
    if (!nodes[0].childNodes[0].childNodes.length) {
 | 
						|
        return parser.create('node', 'mrow', []);
 | 
						|
    }
 | 
						|
    var lpad = parser.create('node', 'mspace', [], { width: '.5ex' });
 | 
						|
    var rpad = parser.create('node', 'mspace', [], { width: '.5ex' });
 | 
						|
    return parser.create('node', 'mrow', __spreadArray(__spreadArray([lpad], __read(nodes), false), [rpad], false));
 | 
						|
};
 | 
						|
BussproofsMethods.Inference = function (parser, name, n) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    if (top.Size() < n) {
 | 
						|
        throw new TexError_js_1.default('BadProofTree', 'Proof tree badly specified.');
 | 
						|
    }
 | 
						|
    var rootAtTop = top.getProperty('rootAtTop');
 | 
						|
    var childCount = (n === 1 && !top.Peek()[0].childNodes.length) ? 0 : n;
 | 
						|
    var children = [];
 | 
						|
    do {
 | 
						|
        if (children.length) {
 | 
						|
            children.unshift(parser.create('node', 'mtd', [], {}));
 | 
						|
        }
 | 
						|
        children.unshift(parser.create('node', 'mtd', [top.Pop()], { 'rowalign': (rootAtTop ? 'top' : 'bottom') }));
 | 
						|
        n--;
 | 
						|
    } while (n > 0);
 | 
						|
    var row = parser.create('node', 'mtr', children, {});
 | 
						|
    var table = parser.create('node', 'mtable', [row], { framespacing: '0 0' });
 | 
						|
    var conclusion = paddedContent(parser, parser.GetArgument(name));
 | 
						|
    var style = top.getProperty('currentLine');
 | 
						|
    if (style !== top.getProperty('line')) {
 | 
						|
        top.setProperty('currentLine', top.getProperty('line'));
 | 
						|
    }
 | 
						|
    var rule = createRule(parser, table, [conclusion], top.getProperty('left'), top.getProperty('right'), style, rootAtTop);
 | 
						|
    top.setProperty('left', null);
 | 
						|
    top.setProperty('right', null);
 | 
						|
    BussproofsUtil.setProperty(rule, 'inference', childCount);
 | 
						|
    parser.configuration.addNode('inference', rule);
 | 
						|
    top.Push(rule);
 | 
						|
};
 | 
						|
function createRule(parser, premise, conclusions, left, right, style, rootAtTop) {
 | 
						|
    var upper = parser.create('node', 'mtr', [parser.create('node', 'mtd', [premise], {})], {});
 | 
						|
    var lower = parser.create('node', 'mtr', [parser.create('node', 'mtd', conclusions, {})], {});
 | 
						|
    var rule = parser.create('node', 'mtable', rootAtTop ? [lower, upper] : [upper, lower], { align: 'top 2', rowlines: style, framespacing: '0 0' });
 | 
						|
    BussproofsUtil.setProperty(rule, 'inferenceRule', rootAtTop ? 'up' : 'down');
 | 
						|
    var leftLabel, rightLabel;
 | 
						|
    if (left) {
 | 
						|
        leftLabel = parser.create('node', 'mpadded', [left], { height: '+.5em', width: '+.5em', voffset: '-.15em' });
 | 
						|
        BussproofsUtil.setProperty(leftLabel, 'prooflabel', 'left');
 | 
						|
    }
 | 
						|
    if (right) {
 | 
						|
        rightLabel = parser.create('node', 'mpadded', [right], { height: '+.5em', width: '+.5em', voffset: '-.15em' });
 | 
						|
        BussproofsUtil.setProperty(rightLabel, 'prooflabel', 'right');
 | 
						|
    }
 | 
						|
    var children, label;
 | 
						|
    if (left && right) {
 | 
						|
        children = [leftLabel, rule, rightLabel];
 | 
						|
        label = 'both';
 | 
						|
    }
 | 
						|
    else if (left) {
 | 
						|
        children = [leftLabel, rule];
 | 
						|
        label = 'left';
 | 
						|
    }
 | 
						|
    else if (right) {
 | 
						|
        children = [rule, rightLabel];
 | 
						|
        label = 'right';
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        return rule;
 | 
						|
    }
 | 
						|
    rule = parser.create('node', 'mrow', children);
 | 
						|
    BussproofsUtil.setProperty(rule, 'labelledRule', label);
 | 
						|
    return rule;
 | 
						|
}
 | 
						|
BussproofsMethods.Label = function (parser, name, side) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    var content = ParseUtil_js_1.default.internalMath(parser, parser.GetArgument(name), 0);
 | 
						|
    var label = (content.length > 1) ?
 | 
						|
        parser.create('node', 'mrow', content, {}) : content[0];
 | 
						|
    top.setProperty(side, label);
 | 
						|
};
 | 
						|
BussproofsMethods.SetLine = function (parser, _name, style, always) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    top.setProperty('currentLine', style);
 | 
						|
    if (always) {
 | 
						|
        top.setProperty('line', style);
 | 
						|
    }
 | 
						|
};
 | 
						|
BussproofsMethods.RootAtTop = function (parser, _name, where) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    top.setProperty('rootAtTop', where);
 | 
						|
};
 | 
						|
BussproofsMethods.AxiomF = function (parser, name) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    var line = parseFCenterLine(parser, name);
 | 
						|
    BussproofsUtil.setProperty(line, 'axiom', true);
 | 
						|
    top.Push(line);
 | 
						|
};
 | 
						|
function parseFCenterLine(parser, name) {
 | 
						|
    var dollar = parser.GetNext();
 | 
						|
    if (dollar !== '$') {
 | 
						|
        throw new TexError_js_1.default('IllegalUseOfCommand', 'Use of %1 does not match it\'s definition.', name);
 | 
						|
    }
 | 
						|
    parser.i++;
 | 
						|
    var axiom = parser.GetUpTo(name, '$');
 | 
						|
    if (axiom.indexOf('\\fCenter') === -1) {
 | 
						|
        throw new TexError_js_1.default('IllegalUseOfCommand', 'Missing \\fCenter in %1.', name);
 | 
						|
    }
 | 
						|
    var _a = __read(axiom.split('\\fCenter'), 2), prem = _a[0], conc = _a[1];
 | 
						|
    var premise = (new TexParser_js_1.default(prem, parser.stack.env, parser.configuration)).mml();
 | 
						|
    var conclusion = (new TexParser_js_1.default(conc, parser.stack.env, parser.configuration)).mml();
 | 
						|
    var fcenter = (new TexParser_js_1.default('\\fCenter', parser.stack.env, parser.configuration)).mml();
 | 
						|
    var left = parser.create('node', 'mtd', [premise], {});
 | 
						|
    var middle = parser.create('node', 'mtd', [fcenter], {});
 | 
						|
    var right = parser.create('node', 'mtd', [conclusion], {});
 | 
						|
    var row = parser.create('node', 'mtr', [left, middle, right], {});
 | 
						|
    var table = parser.create('node', 'mtable', [row], { columnspacing: '.5ex', columnalign: 'center 2' });
 | 
						|
    BussproofsUtil.setProperty(table, 'sequent', true);
 | 
						|
    parser.configuration.addNode('sequent', row);
 | 
						|
    return table;
 | 
						|
}
 | 
						|
BussproofsMethods.FCenter = function (_parser, _name) { };
 | 
						|
BussproofsMethods.InferenceF = function (parser, name, n) {
 | 
						|
    var top = parser.stack.Top();
 | 
						|
    if (top.kind !== 'proofTree') {
 | 
						|
        throw new TexError_js_1.default('IllegalProofCommand', 'Proof commands only allowed in prooftree environment.');
 | 
						|
    }
 | 
						|
    if (top.Size() < n) {
 | 
						|
        throw new TexError_js_1.default('BadProofTree', 'Proof tree badly specified.');
 | 
						|
    }
 | 
						|
    var rootAtTop = top.getProperty('rootAtTop');
 | 
						|
    var childCount = (n === 1 && !top.Peek()[0].childNodes.length) ? 0 : n;
 | 
						|
    var children = [];
 | 
						|
    do {
 | 
						|
        if (children.length) {
 | 
						|
            children.unshift(parser.create('node', 'mtd', [], {}));
 | 
						|
        }
 | 
						|
        children.unshift(parser.create('node', 'mtd', [top.Pop()], { 'rowalign': (rootAtTop ? 'top' : 'bottom') }));
 | 
						|
        n--;
 | 
						|
    } while (n > 0);
 | 
						|
    var row = parser.create('node', 'mtr', children, {});
 | 
						|
    var table = parser.create('node', 'mtable', [row], { framespacing: '0 0' });
 | 
						|
    var conclusion = parseFCenterLine(parser, name);
 | 
						|
    var style = top.getProperty('currentLine');
 | 
						|
    if (style !== top.getProperty('line')) {
 | 
						|
        top.setProperty('currentLine', top.getProperty('line'));
 | 
						|
    }
 | 
						|
    var rule = createRule(parser, table, [conclusion], top.getProperty('left'), top.getProperty('right'), style, rootAtTop);
 | 
						|
    top.setProperty('left', null);
 | 
						|
    top.setProperty('right', null);
 | 
						|
    BussproofsUtil.setProperty(rule, 'inference', childCount);
 | 
						|
    parser.configuration.addNode('inference', rule);
 | 
						|
    top.Push(rule);
 | 
						|
};
 | 
						|
exports["default"] = BussproofsMethods;
 | 
						|
//# sourceMappingURL=BussproofsMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 32943:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.clearDocument = exports.saveDocument = exports.makeBsprAttributes = exports.removeProperty = exports.getProperty = exports.setProperty = exports.balanceRules = void 0;
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var doc = null;
 | 
						|
var item = null;
 | 
						|
var getBBox = function (node) {
 | 
						|
    item.root = node;
 | 
						|
    var width = doc.outputJax.getBBox(item, doc).w;
 | 
						|
    return width;
 | 
						|
};
 | 
						|
var getRule = function (node) {
 | 
						|
    var i = 0;
 | 
						|
    while (node && !NodeUtil_js_1.default.isType(node, 'mtable')) {
 | 
						|
        if (NodeUtil_js_1.default.isType(node, 'text')) {
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
        if (NodeUtil_js_1.default.isType(node, 'mrow')) {
 | 
						|
            node = node.childNodes[0];
 | 
						|
            i = 0;
 | 
						|
            continue;
 | 
						|
        }
 | 
						|
        node = node.parent.childNodes[i];
 | 
						|
        i++;
 | 
						|
    }
 | 
						|
    return node;
 | 
						|
};
 | 
						|
var getPremises = function (rule, direction) {
 | 
						|
    return rule.childNodes[direction === 'up' ? 1 : 0].childNodes[0].
 | 
						|
        childNodes[0].childNodes[0].childNodes[0];
 | 
						|
};
 | 
						|
var getPremise = function (premises, n) {
 | 
						|
    return premises.childNodes[n].childNodes[0].childNodes[0];
 | 
						|
};
 | 
						|
var firstPremise = function (premises) {
 | 
						|
    return getPremise(premises, 0);
 | 
						|
};
 | 
						|
var lastPremise = function (premises) {
 | 
						|
    return getPremise(premises, premises.childNodes.length - 1);
 | 
						|
};
 | 
						|
var getConclusion = function (rule, direction) {
 | 
						|
    return rule.childNodes[direction === 'up' ? 0 : 1].childNodes[0].childNodes[0].childNodes[0];
 | 
						|
};
 | 
						|
var getColumn = function (inf) {
 | 
						|
    while (inf && !NodeUtil_js_1.default.isType(inf, 'mtd')) {
 | 
						|
        inf = inf.parent;
 | 
						|
    }
 | 
						|
    return inf;
 | 
						|
};
 | 
						|
var nextSibling = function (inf) {
 | 
						|
    return inf.parent.childNodes[inf.parent.childNodes.indexOf(inf) + 1];
 | 
						|
};
 | 
						|
var previousSibling = function (inf) {
 | 
						|
    return inf.parent.childNodes[inf.parent.childNodes.indexOf(inf) - 1];
 | 
						|
};
 | 
						|
var getParentInf = function (inf) {
 | 
						|
    while (inf && (0, exports.getProperty)(inf, 'inference') == null) {
 | 
						|
        inf = inf.parent;
 | 
						|
    }
 | 
						|
    return inf;
 | 
						|
};
 | 
						|
var getSpaces = function (inf, rule, right) {
 | 
						|
    if (right === void 0) { right = false; }
 | 
						|
    var result = 0;
 | 
						|
    if (inf === rule) {
 | 
						|
        return result;
 | 
						|
    }
 | 
						|
    if (inf !== rule.parent) {
 | 
						|
        var children_1 = inf.childNodes;
 | 
						|
        var index_1 = right ? children_1.length - 1 : 0;
 | 
						|
        if (NodeUtil_js_1.default.isType(children_1[index_1], 'mspace')) {
 | 
						|
            result += getBBox(children_1[index_1]);
 | 
						|
        }
 | 
						|
        inf = rule.parent;
 | 
						|
    }
 | 
						|
    if (inf === rule) {
 | 
						|
        return result;
 | 
						|
    }
 | 
						|
    var children = inf.childNodes;
 | 
						|
    var index = right ? children.length - 1 : 0;
 | 
						|
    if (children[index] !== rule) {
 | 
						|
        result += getBBox(children[index]);
 | 
						|
    }
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var adjustValue = function (inf, right) {
 | 
						|
    if (right === void 0) { right = false; }
 | 
						|
    var rule = getRule(inf);
 | 
						|
    var conc = getConclusion(rule, (0, exports.getProperty)(rule, 'inferenceRule'));
 | 
						|
    var w = getSpaces(inf, rule, right);
 | 
						|
    var x = getBBox(rule);
 | 
						|
    var y = getBBox(conc);
 | 
						|
    return w + ((x - y) / 2);
 | 
						|
};
 | 
						|
var addSpace = function (config, inf, space, right) {
 | 
						|
    if (right === void 0) { right = false; }
 | 
						|
    if ((0, exports.getProperty)(inf, 'inferenceRule') ||
 | 
						|
        (0, exports.getProperty)(inf, 'labelledRule')) {
 | 
						|
        var mrow = config.nodeFactory.create('node', 'mrow');
 | 
						|
        inf.parent.replaceChild(mrow, inf);
 | 
						|
        mrow.setChildren([inf]);
 | 
						|
        moveProperties(inf, mrow);
 | 
						|
        inf = mrow;
 | 
						|
    }
 | 
						|
    var index = right ? inf.childNodes.length - 1 : 0;
 | 
						|
    var mspace = inf.childNodes[index];
 | 
						|
    if (NodeUtil_js_1.default.isType(mspace, 'mspace')) {
 | 
						|
        NodeUtil_js_1.default.setAttribute(mspace, 'width', ParseUtil_js_1.default.Em(ParseUtil_js_1.default.dimen2em(NodeUtil_js_1.default.getAttribute(mspace, 'width')) + space));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    mspace = config.nodeFactory.create('node', 'mspace', [], { width: ParseUtil_js_1.default.Em(space) });
 | 
						|
    if (right) {
 | 
						|
        inf.appendChild(mspace);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    mspace.parent = inf;
 | 
						|
    inf.childNodes.unshift(mspace);
 | 
						|
};
 | 
						|
var moveProperties = function (src, dest) {
 | 
						|
    var props = ['inference', 'proof', 'maxAdjust', 'labelledRule'];
 | 
						|
    props.forEach(function (x) {
 | 
						|
        var value = (0, exports.getProperty)(src, x);
 | 
						|
        if (value != null) {
 | 
						|
            (0, exports.setProperty)(dest, x, value);
 | 
						|
            (0, exports.removeProperty)(src, x);
 | 
						|
        }
 | 
						|
    });
 | 
						|
};
 | 
						|
var adjustSequents = function (config) {
 | 
						|
    var sequents = config.nodeLists['sequent'];
 | 
						|
    if (!sequents) {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    for (var i = sequents.length - 1, seq = void 0; seq = sequents[i]; i--) {
 | 
						|
        if ((0, exports.getProperty)(seq, 'sequentProcessed')) {
 | 
						|
            (0, exports.removeProperty)(seq, 'sequentProcessed');
 | 
						|
            continue;
 | 
						|
        }
 | 
						|
        var collect = [];
 | 
						|
        var inf = getParentInf(seq);
 | 
						|
        if ((0, exports.getProperty)(inf, 'inference') !== 1) {
 | 
						|
            continue;
 | 
						|
        }
 | 
						|
        collect.push(seq);
 | 
						|
        while ((0, exports.getProperty)(inf, 'inference') === 1) {
 | 
						|
            inf = getRule(inf);
 | 
						|
            var premise = firstPremise(getPremises(inf, (0, exports.getProperty)(inf, 'inferenceRule')));
 | 
						|
            var sequent = ((0, exports.getProperty)(premise, 'inferenceRule')) ?
 | 
						|
                getConclusion(premise, (0, exports.getProperty)(premise, 'inferenceRule')) :
 | 
						|
                premise;
 | 
						|
            if ((0, exports.getProperty)(sequent, 'sequent')) {
 | 
						|
                seq = sequent.childNodes[0];
 | 
						|
                collect.push(seq);
 | 
						|
                (0, exports.setProperty)(seq, 'sequentProcessed', true);
 | 
						|
            }
 | 
						|
            inf = premise;
 | 
						|
        }
 | 
						|
        adjustSequentPairwise(config, collect);
 | 
						|
    }
 | 
						|
};
 | 
						|
var addSequentSpace = function (config, sequent, position, direction, width) {
 | 
						|
    var mspace = config.nodeFactory.create('node', 'mspace', [], { width: ParseUtil_js_1.default.Em(width) });
 | 
						|
    if (direction === 'left') {
 | 
						|
        var row = sequent.childNodes[position].childNodes[0];
 | 
						|
        mspace.parent = row;
 | 
						|
        row.childNodes.unshift(mspace);
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        sequent.childNodes[position].appendChild(mspace);
 | 
						|
    }
 | 
						|
    (0, exports.setProperty)(sequent.parent, 'sequentAdjust_' + direction, width);
 | 
						|
};
 | 
						|
var adjustSequentPairwise = function (config, sequents) {
 | 
						|
    var top = sequents.pop();
 | 
						|
    while (sequents.length) {
 | 
						|
        var bottom = sequents.pop();
 | 
						|
        var _a = __read(compareSequents(top, bottom), 2), left = _a[0], right = _a[1];
 | 
						|
        if ((0, exports.getProperty)(top.parent, 'axiom')) {
 | 
						|
            addSequentSpace(config, left < 0 ? top : bottom, 0, 'left', Math.abs(left));
 | 
						|
            addSequentSpace(config, right < 0 ? top : bottom, 2, 'right', Math.abs(right));
 | 
						|
        }
 | 
						|
        top = bottom;
 | 
						|
    }
 | 
						|
};
 | 
						|
var compareSequents = function (top, bottom) {
 | 
						|
    var tr = getBBox(top.childNodes[2]);
 | 
						|
    var br = getBBox(bottom.childNodes[2]);
 | 
						|
    var tl = getBBox(top.childNodes[0]);
 | 
						|
    var bl = getBBox(bottom.childNodes[0]);
 | 
						|
    var dl = tl - bl;
 | 
						|
    var dr = tr - br;
 | 
						|
    return [dl, dr];
 | 
						|
};
 | 
						|
var balanceRules = function (arg) {
 | 
						|
    var e_1, _a;
 | 
						|
    item = new arg.document.options.MathItem('', null, arg.math.display);
 | 
						|
    var config = arg.data;
 | 
						|
    adjustSequents(config);
 | 
						|
    var inferences = config.nodeLists['inference'] || [];
 | 
						|
    try {
 | 
						|
        for (var inferences_1 = __values(inferences), inferences_1_1 = inferences_1.next(); !inferences_1_1.done; inferences_1_1 = inferences_1.next()) {
 | 
						|
            var inf = inferences_1_1.value;
 | 
						|
            var isProof = (0, exports.getProperty)(inf, 'proof');
 | 
						|
            var rule = getRule(inf);
 | 
						|
            var premises = getPremises(rule, (0, exports.getProperty)(rule, 'inferenceRule'));
 | 
						|
            var premiseF = firstPremise(premises);
 | 
						|
            if ((0, exports.getProperty)(premiseF, 'inference')) {
 | 
						|
                var adjust_1 = adjustValue(premiseF);
 | 
						|
                if (adjust_1) {
 | 
						|
                    addSpace(config, premiseF, -adjust_1);
 | 
						|
                    var w_1 = getSpaces(inf, rule, false);
 | 
						|
                    addSpace(config, inf, adjust_1 - w_1);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            var premiseL = lastPremise(premises);
 | 
						|
            if ((0, exports.getProperty)(premiseL, 'inference') == null) {
 | 
						|
                continue;
 | 
						|
            }
 | 
						|
            var adjust = adjustValue(premiseL, true);
 | 
						|
            addSpace(config, premiseL, -adjust, true);
 | 
						|
            var w = getSpaces(inf, rule, true);
 | 
						|
            var maxAdjust = (0, exports.getProperty)(inf, 'maxAdjust');
 | 
						|
            if (maxAdjust != null) {
 | 
						|
                adjust = Math.max(adjust, maxAdjust);
 | 
						|
            }
 | 
						|
            var column = void 0;
 | 
						|
            if (isProof || !(column = getColumn(inf))) {
 | 
						|
                addSpace(config, (0, exports.getProperty)(inf, 'proof') ? inf : inf.parent, adjust - w, true);
 | 
						|
                continue;
 | 
						|
            }
 | 
						|
            var sibling = nextSibling(column);
 | 
						|
            if (sibling) {
 | 
						|
                var pos = config.nodeFactory.create('node', 'mspace', [], { width: adjust - w + 'em' });
 | 
						|
                sibling.appendChild(pos);
 | 
						|
                inf.removeProperty('maxAdjust');
 | 
						|
                continue;
 | 
						|
            }
 | 
						|
            var parentRule = getParentInf(column);
 | 
						|
            if (!parentRule) {
 | 
						|
                continue;
 | 
						|
            }
 | 
						|
            adjust = (0, exports.getProperty)(parentRule, 'maxAdjust') ?
 | 
						|
                Math.max((0, exports.getProperty)(parentRule, 'maxAdjust'), adjust) : adjust;
 | 
						|
            (0, exports.setProperty)(parentRule, 'maxAdjust', adjust);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (inferences_1_1 && !inferences_1_1.done && (_a = inferences_1.return)) _a.call(inferences_1);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
};
 | 
						|
exports.balanceRules = balanceRules;
 | 
						|
var property_prefix = 'bspr_';
 | 
						|
var blacklistedProperties = (_a = {},
 | 
						|
    _a[property_prefix + 'maxAdjust'] = true,
 | 
						|
    _a);
 | 
						|
var setProperty = function (node, property, value) {
 | 
						|
    NodeUtil_js_1.default.setProperty(node, property_prefix + property, value);
 | 
						|
};
 | 
						|
exports.setProperty = setProperty;
 | 
						|
var getProperty = function (node, property) {
 | 
						|
    return NodeUtil_js_1.default.getProperty(node, property_prefix + property);
 | 
						|
};
 | 
						|
exports.getProperty = getProperty;
 | 
						|
var removeProperty = function (node, property) {
 | 
						|
    node.removeProperty(property_prefix + property);
 | 
						|
};
 | 
						|
exports.removeProperty = removeProperty;
 | 
						|
var makeBsprAttributes = function (arg) {
 | 
						|
    arg.data.root.walkTree(function (mml, _data) {
 | 
						|
        var attr = [];
 | 
						|
        mml.getPropertyNames().forEach(function (x) {
 | 
						|
            if (!blacklistedProperties[x] && x.match(RegExp('^' + property_prefix))) {
 | 
						|
                attr.push(x + ':' + mml.getProperty(x));
 | 
						|
            }
 | 
						|
        });
 | 
						|
        if (attr.length) {
 | 
						|
            NodeUtil_js_1.default.setAttribute(mml, 'semantics', attr.join(';'));
 | 
						|
        }
 | 
						|
    });
 | 
						|
};
 | 
						|
exports.makeBsprAttributes = makeBsprAttributes;
 | 
						|
var saveDocument = function (arg) {
 | 
						|
    doc = arg.document;
 | 
						|
    if (!('getBBox' in doc.outputJax)) {
 | 
						|
        throw Error('The bussproofs extension requires an output jax with a getBBox() method');
 | 
						|
    }
 | 
						|
};
 | 
						|
exports.saveDocument = saveDocument;
 | 
						|
var clearDocument = function (_arg) {
 | 
						|
    doc = null;
 | 
						|
};
 | 
						|
exports.clearDocument = clearDocument;
 | 
						|
//# sourceMappingURL=BussproofsUtil.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 61767:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.CancelConfiguration = exports.CancelMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var EncloseConfiguration_js_1 = __webpack_require__(17915);
 | 
						|
exports.CancelMethods = {};
 | 
						|
exports.CancelMethods.Cancel = function (parser, name, notation) {
 | 
						|
    var attr = parser.GetBrackets(name, '');
 | 
						|
    var math = parser.ParseArg(name);
 | 
						|
    var def = ParseUtil_js_1.default.keyvalOptions(attr, EncloseConfiguration_js_1.ENCLOSE_OPTIONS);
 | 
						|
    def['notation'] = notation;
 | 
						|
    parser.Push(parser.create('node', 'menclose', [math], def));
 | 
						|
};
 | 
						|
exports.CancelMethods.CancelTo = function (parser, name) {
 | 
						|
    var attr = parser.GetBrackets(name, '');
 | 
						|
    var value = parser.ParseArg(name);
 | 
						|
    var math = parser.ParseArg(name);
 | 
						|
    var def = ParseUtil_js_1.default.keyvalOptions(attr, EncloseConfiguration_js_1.ENCLOSE_OPTIONS);
 | 
						|
    def['notation'] = [TexConstants_js_1.TexConstant.Notation.UPDIAGONALSTRIKE,
 | 
						|
        TexConstants_js_1.TexConstant.Notation.UPDIAGONALARROW,
 | 
						|
        TexConstants_js_1.TexConstant.Notation.NORTHEASTARROW].join(' ');
 | 
						|
    value = parser.create('node', 'mpadded', [value], { depth: '-.1em', height: '+.1em', voffset: '.1em' });
 | 
						|
    parser.Push(parser.create('node', 'msup', [parser.create('node', 'menclose', [math], def), value]));
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('cancel', {
 | 
						|
    cancel: ['Cancel', TexConstants_js_1.TexConstant.Notation.UPDIAGONALSTRIKE],
 | 
						|
    bcancel: ['Cancel', TexConstants_js_1.TexConstant.Notation.DOWNDIAGONALSTRIKE],
 | 
						|
    xcancel: ['Cancel', TexConstants_js_1.TexConstant.Notation.UPDIAGONALSTRIKE + ' ' +
 | 
						|
            TexConstants_js_1.TexConstant.Notation.DOWNDIAGONALSTRIKE],
 | 
						|
    cancelto: 'CancelTo'
 | 
						|
}, exports.CancelMethods);
 | 
						|
exports.CancelConfiguration = Configuration_js_1.Configuration.create('cancel', { handler: { macro: ['cancel'] } });
 | 
						|
//# sourceMappingURL=CancelConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 99341:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.CasesConfiguration = exports.CasesMethods = exports.CasesTags = exports.CasesBeginItem = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var AmsConfiguration_js_1 = __webpack_require__(64296);
 | 
						|
var EmpheqUtil_js_1 = __webpack_require__(14034);
 | 
						|
var CasesBeginItem = (function (_super) {
 | 
						|
    __extends(CasesBeginItem, _super);
 | 
						|
    function CasesBeginItem() {
 | 
						|
        return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(CasesBeginItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'cases-begin';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    CasesBeginItem.prototype.checkItem = function (item) {
 | 
						|
        if (item.isKind('end') && item.getName() === this.getName()) {
 | 
						|
            if (this.getProperty('end')) {
 | 
						|
                this.setProperty('end', false);
 | 
						|
                return [[], true];
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return _super.prototype.checkItem.call(this, item);
 | 
						|
    };
 | 
						|
    return CasesBeginItem;
 | 
						|
}(BaseItems_js_1.BeginItem));
 | 
						|
exports.CasesBeginItem = CasesBeginItem;
 | 
						|
var CasesTags = (function (_super) {
 | 
						|
    __extends(CasesTags, _super);
 | 
						|
    function CasesTags() {
 | 
						|
        var _this = _super !== null && _super.apply(this, arguments) || this;
 | 
						|
        _this.subcounter = 0;
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    CasesTags.prototype.start = function (env, taggable, defaultTags) {
 | 
						|
        this.subcounter = 0;
 | 
						|
        _super.prototype.start.call(this, env, taggable, defaultTags);
 | 
						|
    };
 | 
						|
    CasesTags.prototype.autoTag = function () {
 | 
						|
        if (this.currentTag.tag != null)
 | 
						|
            return;
 | 
						|
        if (this.currentTag.env === 'subnumcases') {
 | 
						|
            if (this.subcounter === 0)
 | 
						|
                this.counter++;
 | 
						|
            this.subcounter++;
 | 
						|
            this.tag(this.formatNumber(this.counter, this.subcounter), false);
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            if (this.subcounter === 0 || this.currentTag.env !== 'numcases-left')
 | 
						|
                this.counter++;
 | 
						|
            this.tag(this.formatNumber(this.counter), false);
 | 
						|
        }
 | 
						|
    };
 | 
						|
    CasesTags.prototype.formatNumber = function (n, m) {
 | 
						|
        if (m === void 0) { m = null; }
 | 
						|
        return n.toString() + (m === null ? '' : String.fromCharCode(0x60 + m));
 | 
						|
    };
 | 
						|
    return CasesTags;
 | 
						|
}(AmsConfiguration_js_1.AmsTags));
 | 
						|
exports.CasesTags = CasesTags;
 | 
						|
exports.CasesMethods = {
 | 
						|
    NumCases: function (parser, begin) {
 | 
						|
        if (parser.stack.env.closing === begin.getName()) {
 | 
						|
            delete parser.stack.env.closing;
 | 
						|
            parser.Push(parser.itemFactory.create('end').setProperty('name', begin.getName()));
 | 
						|
            var cases = parser.stack.Top();
 | 
						|
            var table = cases.Last;
 | 
						|
            var original = ParseUtil_js_1.default.copyNode(table, parser);
 | 
						|
            var left = cases.getProperty('left');
 | 
						|
            EmpheqUtil_js_1.EmpheqUtil.left(table, original, left + '\\empheqlbrace\\,', parser, 'numcases-left');
 | 
						|
            parser.Push(parser.itemFactory.create('end').setProperty('name', begin.getName()));
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            var left = parser.GetArgument('\\begin{' + begin.getName() + '}');
 | 
						|
            begin.setProperty('left', left);
 | 
						|
            var array = BaseMethods_js_1.default.EqnArray(parser, begin, true, true, 'll');
 | 
						|
            array.arraydef.displaystyle = false;
 | 
						|
            array.arraydef.rowspacing = '.2em';
 | 
						|
            array.setProperty('numCases', true);
 | 
						|
            parser.Push(begin);
 | 
						|
            return array;
 | 
						|
        }
 | 
						|
    },
 | 
						|
    Entry: function (parser, name) {
 | 
						|
        if (!parser.stack.Top().getProperty('numCases')) {
 | 
						|
            return BaseMethods_js_1.default.Entry(parser, name);
 | 
						|
        }
 | 
						|
        parser.Push(parser.itemFactory.create('cell').setProperties({ isEntry: true, name: name }));
 | 
						|
        var tex = parser.string;
 | 
						|
        var braces = 0, i = parser.i, m = tex.length;
 | 
						|
        while (i < m) {
 | 
						|
            var c = tex.charAt(i);
 | 
						|
            if (c === '{') {
 | 
						|
                braces++;
 | 
						|
                i++;
 | 
						|
            }
 | 
						|
            else if (c === '}') {
 | 
						|
                if (braces === 0) {
 | 
						|
                    break;
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    braces--;
 | 
						|
                    i++;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (c === '&' && braces === 0) {
 | 
						|
                throw new TexError_js_1.default('ExtraCasesAlignTab', 'Extra alignment tab in text for numcase environment');
 | 
						|
            }
 | 
						|
            else if (c === '\\' && braces === 0) {
 | 
						|
                var cs = (tex.slice(i + 1).match(/^[a-z]+|./i) || [])[0];
 | 
						|
                if (cs === '\\' || cs === 'cr' || cs === 'end' || cs === 'label') {
 | 
						|
                    break;
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    i += cs.length;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                i++;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        var text = tex.substr(parser.i, i - parser.i).replace(/^\s*/, '');
 | 
						|
        parser.PushAll(ParseUtil_js_1.default.internalMath(parser, text, 0));
 | 
						|
        parser.i = i;
 | 
						|
    }
 | 
						|
};
 | 
						|
new SymbolMap_js_1.EnvironmentMap('cases-env', EmpheqUtil_js_1.EmpheqUtil.environment, {
 | 
						|
    numcases: ['NumCases', 'cases'],
 | 
						|
    subnumcases: ['NumCases', 'cases']
 | 
						|
}, exports.CasesMethods);
 | 
						|
new SymbolMap_js_1.MacroMap('cases-macros', {
 | 
						|
    '&': 'Entry'
 | 
						|
}, exports.CasesMethods);
 | 
						|
exports.CasesConfiguration = Configuration_js_1.Configuration.create('cases', {
 | 
						|
    handler: {
 | 
						|
        environment: ['cases-env'],
 | 
						|
        character: ['cases-macros']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[CasesBeginItem.prototype.kind] = CasesBeginItem,
 | 
						|
        _a),
 | 
						|
    tags: { 'cases': CasesTags }
 | 
						|
});
 | 
						|
//# sourceMappingURL=CasesConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 61961:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.CenternotConfiguration = exports.filterCenterOver = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
new SymbolMap_js_1.CommandMap('centernot', {
 | 
						|
    centerOver: 'CenterOver',
 | 
						|
    centernot: ['Macro', '\\centerOver{#1}{{\u29F8}}', 1]
 | 
						|
}, {
 | 
						|
    CenterOver: function (parser, name) {
 | 
						|
        var arg = '{' + parser.GetArgument(name) + '}';
 | 
						|
        var over = parser.ParseArg(name);
 | 
						|
        var base = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
 | 
						|
        var mml = parser.create('node', 'TeXAtom', [
 | 
						|
            new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml(),
 | 
						|
            parser.create('node', 'mpadded', [
 | 
						|
                parser.create('node', 'mpadded', [over], { width: 0, lspace: '-.5width' }),
 | 
						|
                parser.create('node', 'mphantom', [base])
 | 
						|
            ], { width: 0, lspace: '-.5width' })
 | 
						|
        ]);
 | 
						|
        parser.configuration.addNode('centerOver', base);
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    Macro: BaseMethods_js_1.default.Macro
 | 
						|
});
 | 
						|
function filterCenterOver(_a) {
 | 
						|
    var e_1, _b;
 | 
						|
    var data = _a.data;
 | 
						|
    try {
 | 
						|
        for (var _c = __values(data.getList('centerOver')), _d = _c.next(); !_d.done; _d = _c.next()) {
 | 
						|
            var base = _d.value;
 | 
						|
            var texClass = NodeUtil_js_1.default.getTexClass(base.childNodes[0].childNodes[0]);
 | 
						|
            if (texClass !== null) {
 | 
						|
                NodeUtil_js_1.default.setProperties(base.parent.parent.parent.parent.parent.parent, { texClass: texClass });
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.filterCenterOver = filterCenterOver;
 | 
						|
exports.CenternotConfiguration = Configuration_js_1.Configuration.create('centernot', {
 | 
						|
    handler: { macro: ['centernot'] },
 | 
						|
    postprocessors: [filterCenterOver]
 | 
						|
});
 | 
						|
//# sourceMappingURL=CenternotConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 80449:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ColorConfiguration = void 0;
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var ColorMethods_js_1 = __webpack_require__(31134);
 | 
						|
var ColorUtil_js_1 = __webpack_require__(83923);
 | 
						|
new SymbolMap_js_1.CommandMap('color', {
 | 
						|
    color: 'Color',
 | 
						|
    textcolor: 'TextColor',
 | 
						|
    definecolor: 'DefineColor',
 | 
						|
    colorbox: 'ColorBox',
 | 
						|
    fcolorbox: 'FColorBox'
 | 
						|
}, ColorMethods_js_1.ColorMethods);
 | 
						|
var config = function (_config, jax) {
 | 
						|
    jax.parseOptions.packageData.set('color', { model: new ColorUtil_js_1.ColorModel() });
 | 
						|
};
 | 
						|
exports.ColorConfiguration = Configuration_js_1.Configuration.create('color', {
 | 
						|
    handler: {
 | 
						|
        macro: ['color'],
 | 
						|
    },
 | 
						|
    options: {
 | 
						|
        color: {
 | 
						|
            padding: '5px',
 | 
						|
            borderWidth: '2px'
 | 
						|
        }
 | 
						|
    },
 | 
						|
    config: config
 | 
						|
});
 | 
						|
//# sourceMappingURL=ColorConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 63421:
 | 
						|
/***/ ((__unused_webpack_module, exports) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.COLORS = void 0;
 | 
						|
exports.COLORS = new Map([
 | 
						|
    ['Apricot', '#FBB982'],
 | 
						|
    ['Aquamarine', '#00B5BE'],
 | 
						|
    ['Bittersweet', '#C04F17'],
 | 
						|
    ['Black', '#221E1F'],
 | 
						|
    ['Blue', '#2D2F92'],
 | 
						|
    ['BlueGreen', '#00B3B8'],
 | 
						|
    ['BlueViolet', '#473992'],
 | 
						|
    ['BrickRed', '#B6321C'],
 | 
						|
    ['Brown', '#792500'],
 | 
						|
    ['BurntOrange', '#F7921D'],
 | 
						|
    ['CadetBlue', '#74729A'],
 | 
						|
    ['CarnationPink', '#F282B4'],
 | 
						|
    ['Cerulean', '#00A2E3'],
 | 
						|
    ['CornflowerBlue', '#41B0E4'],
 | 
						|
    ['Cyan', '#00AEEF'],
 | 
						|
    ['Dandelion', '#FDBC42'],
 | 
						|
    ['DarkOrchid', '#A4538A'],
 | 
						|
    ['Emerald', '#00A99D'],
 | 
						|
    ['ForestGreen', '#009B55'],
 | 
						|
    ['Fuchsia', '#8C368C'],
 | 
						|
    ['Goldenrod', '#FFDF42'],
 | 
						|
    ['Gray', '#949698'],
 | 
						|
    ['Green', '#00A64F'],
 | 
						|
    ['GreenYellow', '#DFE674'],
 | 
						|
    ['JungleGreen', '#00A99A'],
 | 
						|
    ['Lavender', '#F49EC4'],
 | 
						|
    ['LimeGreen', '#8DC73E'],
 | 
						|
    ['Magenta', '#EC008C'],
 | 
						|
    ['Mahogany', '#A9341F'],
 | 
						|
    ['Maroon', '#AF3235'],
 | 
						|
    ['Melon', '#F89E7B'],
 | 
						|
    ['MidnightBlue', '#006795'],
 | 
						|
    ['Mulberry', '#A93C93'],
 | 
						|
    ['NavyBlue', '#006EB8'],
 | 
						|
    ['OliveGreen', '#3C8031'],
 | 
						|
    ['Orange', '#F58137'],
 | 
						|
    ['OrangeRed', '#ED135A'],
 | 
						|
    ['Orchid', '#AF72B0'],
 | 
						|
    ['Peach', '#F7965A'],
 | 
						|
    ['Periwinkle', '#7977B8'],
 | 
						|
    ['PineGreen', '#008B72'],
 | 
						|
    ['Plum', '#92268F'],
 | 
						|
    ['ProcessBlue', '#00B0F0'],
 | 
						|
    ['Purple', '#99479B'],
 | 
						|
    ['RawSienna', '#974006'],
 | 
						|
    ['Red', '#ED1B23'],
 | 
						|
    ['RedOrange', '#F26035'],
 | 
						|
    ['RedViolet', '#A1246B'],
 | 
						|
    ['Rhodamine', '#EF559F'],
 | 
						|
    ['RoyalBlue', '#0071BC'],
 | 
						|
    ['RoyalPurple', '#613F99'],
 | 
						|
    ['RubineRed', '#ED017D'],
 | 
						|
    ['Salmon', '#F69289'],
 | 
						|
    ['SeaGreen', '#3FBC9D'],
 | 
						|
    ['Sepia', '#671800'],
 | 
						|
    ['SkyBlue', '#46C5DD'],
 | 
						|
    ['SpringGreen', '#C6DC67'],
 | 
						|
    ['Tan', '#DA9D76'],
 | 
						|
    ['TealBlue', '#00AEB3'],
 | 
						|
    ['Thistle', '#D883B7'],
 | 
						|
    ['Turquoise', '#00B4CE'],
 | 
						|
    ['Violet', '#58429B'],
 | 
						|
    ['VioletRed', '#EF58A0'],
 | 
						|
    ['White', '#FFFFFF'],
 | 
						|
    ['WildStrawberry', '#EE2967'],
 | 
						|
    ['Yellow', '#FFF200'],
 | 
						|
    ['YellowGreen', '#98CC70'],
 | 
						|
    ['YellowOrange', '#FAA21A'],
 | 
						|
]);
 | 
						|
//# sourceMappingURL=ColorConstants.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 31134:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ColorMethods = void 0;
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
function padding(colorPadding) {
 | 
						|
    var pad = "+".concat(colorPadding);
 | 
						|
    var unit = colorPadding.replace(/^.*?([a-z]*)$/, '$1');
 | 
						|
    var pad2 = 2 * parseFloat(pad);
 | 
						|
    return {
 | 
						|
        width: "+".concat(pad2).concat(unit),
 | 
						|
        height: pad,
 | 
						|
        depth: pad,
 | 
						|
        lspace: colorPadding,
 | 
						|
    };
 | 
						|
}
 | 
						|
exports.ColorMethods = {};
 | 
						|
exports.ColorMethods.Color = function (parser, name) {
 | 
						|
    var model = parser.GetBrackets(name, '');
 | 
						|
    var colorDef = parser.GetArgument(name);
 | 
						|
    var colorModel = parser.configuration.packageData.get('color').model;
 | 
						|
    var color = colorModel.getColor(model, colorDef);
 | 
						|
    var style = parser.itemFactory.create('style')
 | 
						|
        .setProperties({ styles: { mathcolor: color } });
 | 
						|
    parser.stack.env['color'] = color;
 | 
						|
    parser.Push(style);
 | 
						|
};
 | 
						|
exports.ColorMethods.TextColor = function (parser, name) {
 | 
						|
    var model = parser.GetBrackets(name, '');
 | 
						|
    var colorDef = parser.GetArgument(name);
 | 
						|
    var colorModel = parser.configuration.packageData.get('color').model;
 | 
						|
    var color = colorModel.getColor(model, colorDef);
 | 
						|
    var old = parser.stack.env['color'];
 | 
						|
    parser.stack.env['color'] = color;
 | 
						|
    var math = parser.ParseArg(name);
 | 
						|
    if (old) {
 | 
						|
        parser.stack.env['color'] = old;
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        delete parser.stack.env['color'];
 | 
						|
    }
 | 
						|
    var node = parser.create('node', 'mstyle', [math], { mathcolor: color });
 | 
						|
    parser.Push(node);
 | 
						|
};
 | 
						|
exports.ColorMethods.DefineColor = function (parser, name) {
 | 
						|
    var cname = parser.GetArgument(name);
 | 
						|
    var model = parser.GetArgument(name);
 | 
						|
    var def = parser.GetArgument(name);
 | 
						|
    var colorModel = parser.configuration.packageData.get('color').model;
 | 
						|
    colorModel.defineColor(model, cname, def);
 | 
						|
};
 | 
						|
exports.ColorMethods.ColorBox = function (parser, name) {
 | 
						|
    var cname = parser.GetArgument(name);
 | 
						|
    var math = ParseUtil_js_1.default.internalMath(parser, parser.GetArgument(name));
 | 
						|
    var colorModel = parser.configuration.packageData.get('color').model;
 | 
						|
    var node = parser.create('node', 'mpadded', math, {
 | 
						|
        mathbackground: colorModel.getColor('named', cname)
 | 
						|
    });
 | 
						|
    NodeUtil_js_1.default.setProperties(node, padding(parser.options.color.padding));
 | 
						|
    parser.Push(node);
 | 
						|
};
 | 
						|
exports.ColorMethods.FColorBox = function (parser, name) {
 | 
						|
    var fname = parser.GetArgument(name);
 | 
						|
    var cname = parser.GetArgument(name);
 | 
						|
    var math = ParseUtil_js_1.default.internalMath(parser, parser.GetArgument(name));
 | 
						|
    var options = parser.options.color;
 | 
						|
    var colorModel = parser.configuration.packageData.get('color').model;
 | 
						|
    var node = parser.create('node', 'mpadded', math, {
 | 
						|
        mathbackground: colorModel.getColor('named', cname),
 | 
						|
        style: "border: ".concat(options.borderWidth, " solid ").concat(colorModel.getColor('named', fname))
 | 
						|
    });
 | 
						|
    NodeUtil_js_1.default.setProperties(node, padding(options.padding));
 | 
						|
    parser.Push(node);
 | 
						|
};
 | 
						|
//# sourceMappingURL=ColorMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 83923:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ColorModel = void 0;
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var ColorConstants_js_1 = __webpack_require__(63421);
 | 
						|
var ColorModelProcessors = new Map();
 | 
						|
var ColorModel = (function () {
 | 
						|
    function ColorModel() {
 | 
						|
        this.userColors = new Map();
 | 
						|
    }
 | 
						|
    ColorModel.prototype.normalizeColor = function (model, def) {
 | 
						|
        if (!model || model === 'named') {
 | 
						|
            return def;
 | 
						|
        }
 | 
						|
        if (ColorModelProcessors.has(model)) {
 | 
						|
            var modelProcessor = ColorModelProcessors.get(model);
 | 
						|
            return modelProcessor(def);
 | 
						|
        }
 | 
						|
        throw new TexError_js_1.default('UndefinedColorModel', 'Color model \'%1\' not defined', model);
 | 
						|
    };
 | 
						|
    ColorModel.prototype.getColor = function (model, def) {
 | 
						|
        if (!model || model === 'named') {
 | 
						|
            return this.getColorByName(def);
 | 
						|
        }
 | 
						|
        return this.normalizeColor(model, def);
 | 
						|
    };
 | 
						|
    ColorModel.prototype.getColorByName = function (name) {
 | 
						|
        if (this.userColors.has(name)) {
 | 
						|
            return this.userColors.get(name);
 | 
						|
        }
 | 
						|
        if (ColorConstants_js_1.COLORS.has(name)) {
 | 
						|
            return ColorConstants_js_1.COLORS.get(name);
 | 
						|
        }
 | 
						|
        return name;
 | 
						|
    };
 | 
						|
    ColorModel.prototype.defineColor = function (model, name, def) {
 | 
						|
        var normalized = this.normalizeColor(model, def);
 | 
						|
        this.userColors.set(name, normalized);
 | 
						|
    };
 | 
						|
    return ColorModel;
 | 
						|
}());
 | 
						|
exports.ColorModel = ColorModel;
 | 
						|
ColorModelProcessors.set('rgb', function (rgb) {
 | 
						|
    var e_1, _a;
 | 
						|
    var rgbParts = rgb.trim().split(/\s*,\s*/);
 | 
						|
    var RGB = '#';
 | 
						|
    if (rgbParts.length !== 3) {
 | 
						|
        throw new TexError_js_1.default('ModelArg1', 'Color values for the %1 model require 3 numbers', 'rgb');
 | 
						|
    }
 | 
						|
    try {
 | 
						|
        for (var rgbParts_1 = __values(rgbParts), rgbParts_1_1 = rgbParts_1.next(); !rgbParts_1_1.done; rgbParts_1_1 = rgbParts_1.next()) {
 | 
						|
            var rgbPart = rgbParts_1_1.value;
 | 
						|
            if (!rgbPart.match(/^(\d+(\.\d*)?|\.\d+)$/)) {
 | 
						|
                throw new TexError_js_1.default('InvalidDecimalNumber', 'Invalid decimal number');
 | 
						|
            }
 | 
						|
            var n = parseFloat(rgbPart);
 | 
						|
            if (n < 0 || n > 1) {
 | 
						|
                throw new TexError_js_1.default('ModelArg2', 'Color values for the %1 model must be between %2 and %3', 'rgb', '0', '1');
 | 
						|
            }
 | 
						|
            var pn = Math.floor(n * 255).toString(16);
 | 
						|
            if (pn.length < 2) {
 | 
						|
                pn = '0' + pn;
 | 
						|
            }
 | 
						|
            RGB += pn;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (rgbParts_1_1 && !rgbParts_1_1.done && (_a = rgbParts_1.return)) _a.call(rgbParts_1);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
    return RGB;
 | 
						|
});
 | 
						|
ColorModelProcessors.set('RGB', function (rgb) {
 | 
						|
    var e_2, _a;
 | 
						|
    var rgbParts = rgb.trim().split(/\s*,\s*/);
 | 
						|
    var RGB = '#';
 | 
						|
    if (rgbParts.length !== 3) {
 | 
						|
        throw new TexError_js_1.default('ModelArg1', 'Color values for the %1 model require 3 numbers', 'RGB');
 | 
						|
    }
 | 
						|
    try {
 | 
						|
        for (var rgbParts_2 = __values(rgbParts), rgbParts_2_1 = rgbParts_2.next(); !rgbParts_2_1.done; rgbParts_2_1 = rgbParts_2.next()) {
 | 
						|
            var rgbPart = rgbParts_2_1.value;
 | 
						|
            if (!rgbPart.match(/^\d+$/)) {
 | 
						|
                throw new TexError_js_1.default('InvalidNumber', 'Invalid number');
 | 
						|
            }
 | 
						|
            var n = parseInt(rgbPart);
 | 
						|
            if (n > 255) {
 | 
						|
                throw new TexError_js_1.default('ModelArg2', 'Color values for the %1 model must be between %2 and %3', 'RGB', '0', '255');
 | 
						|
            }
 | 
						|
            var pn = n.toString(16);
 | 
						|
            if (pn.length < 2) {
 | 
						|
                pn = '0' + pn;
 | 
						|
            }
 | 
						|
            RGB += pn;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_2_1) { e_2 = { error: e_2_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (rgbParts_2_1 && !rgbParts_2_1.done && (_a = rgbParts_2.return)) _a.call(rgbParts_2);
 | 
						|
        }
 | 
						|
        finally { if (e_2) throw e_2.error; }
 | 
						|
    }
 | 
						|
    return RGB;
 | 
						|
});
 | 
						|
ColorModelProcessors.set('gray', function (gray) {
 | 
						|
    if (!gray.match(/^\s*(\d+(\.\d*)?|\.\d+)\s*$/)) {
 | 
						|
        throw new TexError_js_1.default('InvalidDecimalNumber', 'Invalid decimal number');
 | 
						|
    }
 | 
						|
    var n = parseFloat(gray);
 | 
						|
    if (n < 0 || n > 1) {
 | 
						|
        throw new TexError_js_1.default('ModelArg2', 'Color values for the %1 model must be between %2 and %3', 'gray', '0', '1');
 | 
						|
    }
 | 
						|
    var pn = Math.floor(n * 255).toString(16);
 | 
						|
    if (pn.length < 2) {
 | 
						|
        pn = '0' + pn;
 | 
						|
    }
 | 
						|
    return "#".concat(pn).concat(pn).concat(pn);
 | 
						|
});
 | 
						|
//# sourceMappingURL=ColorUtil.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 65744:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ColortblConfiguration = exports.ColorArrayItem = void 0;
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var ColorArrayItem = (function (_super) {
 | 
						|
    __extends(ColorArrayItem, _super);
 | 
						|
    function ColorArrayItem() {
 | 
						|
        var _this = _super !== null && _super.apply(this, arguments) || this;
 | 
						|
        _this.color = {
 | 
						|
            cell: '',
 | 
						|
            row: '',
 | 
						|
            col: []
 | 
						|
        };
 | 
						|
        _this.hasColor = false;
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    ColorArrayItem.prototype.EndEntry = function () {
 | 
						|
        _super.prototype.EndEntry.call(this);
 | 
						|
        var cell = this.row[this.row.length - 1];
 | 
						|
        var color = this.color.cell || this.color.row || this.color.col[this.row.length - 1];
 | 
						|
        if (color) {
 | 
						|
            cell.attributes.set('mathbackground', color);
 | 
						|
            this.color.cell = '';
 | 
						|
            this.hasColor = true;
 | 
						|
        }
 | 
						|
    };
 | 
						|
    ColorArrayItem.prototype.EndRow = function () {
 | 
						|
        _super.prototype.EndRow.call(this);
 | 
						|
        this.color.row = '';
 | 
						|
    };
 | 
						|
    ColorArrayItem.prototype.createMml = function () {
 | 
						|
        var mml = _super.prototype.createMml.call(this);
 | 
						|
        var table = (mml.isKind('mrow') ? mml.childNodes[1] : mml);
 | 
						|
        if (table.isKind('menclose')) {
 | 
						|
            table = table.childNodes[0].childNodes[0];
 | 
						|
        }
 | 
						|
        if (this.hasColor && table.attributes.get('frame') === 'none') {
 | 
						|
            table.attributes.set('frame', '');
 | 
						|
        }
 | 
						|
        return mml;
 | 
						|
    };
 | 
						|
    return ColorArrayItem;
 | 
						|
}(BaseItems_js_1.ArrayItem));
 | 
						|
exports.ColorArrayItem = ColorArrayItem;
 | 
						|
new SymbolMap_js_1.CommandMap('colortbl', {
 | 
						|
    cellcolor: ['TableColor', 'cell'],
 | 
						|
    rowcolor: ['TableColor', 'row'],
 | 
						|
    columncolor: ['TableColor', 'col']
 | 
						|
}, {
 | 
						|
    TableColor: function (parser, name, type) {
 | 
						|
        var lookup = parser.configuration.packageData.get('color').model;
 | 
						|
        var model = parser.GetBrackets(name, '');
 | 
						|
        var color = lookup.getColor(model, parser.GetArgument(name));
 | 
						|
        var top = parser.stack.Top();
 | 
						|
        if (!(top instanceof ColorArrayItem)) {
 | 
						|
            throw new TexError_js_1.default('UnsupportedTableColor', 'Unsupported use of %1', parser.currentCS);
 | 
						|
        }
 | 
						|
        if (type === 'col') {
 | 
						|
            if (top.table.length) {
 | 
						|
                throw new TexError_js_1.default('ColumnColorNotTop', '%1 must be in the top row', name);
 | 
						|
            }
 | 
						|
            top.color.col[top.row.length] = color;
 | 
						|
            if (parser.GetBrackets(name, '')) {
 | 
						|
                parser.GetBrackets(name, '');
 | 
						|
            }
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            top.color[type] = color;
 | 
						|
            if (type === 'row' && (top.Size() || top.row.length)) {
 | 
						|
                throw new TexError_js_1.default('RowColorNotFirst', '%1 must be at the beginning of a row', name);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
var config = function (config, jax) {
 | 
						|
    if (!jax.parseOptions.packageData.has('color')) {
 | 
						|
        Configuration_js_1.ConfigurationHandler.get('color').config(config, jax);
 | 
						|
    }
 | 
						|
};
 | 
						|
exports.ColortblConfiguration = Configuration_js_1.Configuration.create('colortbl', {
 | 
						|
    handler: { macro: ['colortbl'] },
 | 
						|
    items: { 'array': ColorArrayItem },
 | 
						|
    priority: 10,
 | 
						|
    config: [config, 10]
 | 
						|
});
 | 
						|
//# sourceMappingURL=ColortblConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 83370:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ColorConfiguration = exports.ColorV2Methods = void 0;
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
exports.ColorV2Methods = {
 | 
						|
    Color: function (parser, name) {
 | 
						|
        var color = parser.GetArgument(name);
 | 
						|
        var old = parser.stack.env['color'];
 | 
						|
        parser.stack.env['color'] = color;
 | 
						|
        var math = parser.ParseArg(name);
 | 
						|
        if (old) {
 | 
						|
            parser.stack.env['color'] = old;
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            delete parser.stack.env['color'];
 | 
						|
        }
 | 
						|
        var node = parser.create('node', 'mstyle', [math], { mathcolor: color });
 | 
						|
        parser.Push(node);
 | 
						|
    }
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('colorv2', { color: 'Color' }, exports.ColorV2Methods);
 | 
						|
exports.ColorConfiguration = Configuration_js_1.Configuration.create('colorv2', { handler: { macro: ['colorv2'] } });
 | 
						|
//# sourceMappingURL=ColorV2Configuration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 53948:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ConfigMacrosConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var Options_js_1 = __webpack_require__(4498);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var Symbol_js_1 = __webpack_require__(75735);
 | 
						|
var NewcommandMethods_js_1 = __importDefault(__webpack_require__(39736));
 | 
						|
var NewcommandItems_js_1 = __webpack_require__(36688);
 | 
						|
var MACROSMAP = 'configmacros-map';
 | 
						|
var ENVIRONMENTMAP = 'configmacros-env-map';
 | 
						|
function configmacrosInit(config) {
 | 
						|
    new SymbolMap_js_1.CommandMap(MACROSMAP, {}, {});
 | 
						|
    new SymbolMap_js_1.EnvironmentMap(ENVIRONMENTMAP, ParseMethods_js_1.default.environment, {}, {});
 | 
						|
    config.append(Configuration_js_1.Configuration.local({
 | 
						|
        handler: {
 | 
						|
            macro: [MACROSMAP],
 | 
						|
            environment: [ENVIRONMENTMAP]
 | 
						|
        },
 | 
						|
        priority: 3
 | 
						|
    }));
 | 
						|
}
 | 
						|
function configmacrosConfig(_config, jax) {
 | 
						|
    configMacros(jax);
 | 
						|
    configEnvironments(jax);
 | 
						|
}
 | 
						|
function configMacros(jax) {
 | 
						|
    var e_1, _a;
 | 
						|
    var handler = jax.parseOptions.handlers.retrieve(MACROSMAP);
 | 
						|
    var macros = jax.parseOptions.options.macros;
 | 
						|
    try {
 | 
						|
        for (var _b = __values(Object.keys(macros)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
            var cs = _c.value;
 | 
						|
            var def = (typeof macros[cs] === 'string' ? [macros[cs]] : macros[cs]);
 | 
						|
            var macro = Array.isArray(def[2]) ?
 | 
						|
                new Symbol_js_1.Macro(cs, NewcommandMethods_js_1.default.MacroWithTemplate, def.slice(0, 2).concat(def[2])) :
 | 
						|
                new Symbol_js_1.Macro(cs, NewcommandMethods_js_1.default.Macro, def);
 | 
						|
            handler.add(cs, macro);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
}
 | 
						|
function configEnvironments(jax) {
 | 
						|
    var e_2, _a;
 | 
						|
    var handler = jax.parseOptions.handlers.retrieve(ENVIRONMENTMAP);
 | 
						|
    var environments = jax.parseOptions.options.environments;
 | 
						|
    try {
 | 
						|
        for (var _b = __values(Object.keys(environments)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
            var env = _c.value;
 | 
						|
            handler.add(env, new Symbol_js_1.Macro(env, NewcommandMethods_js_1.default.BeginEnv, [true].concat(environments[env])));
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_2_1) { e_2 = { error: e_2_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
        }
 | 
						|
        finally { if (e_2) throw e_2.error; }
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.ConfigMacrosConfiguration = Configuration_js_1.Configuration.create('configmacros', {
 | 
						|
    init: configmacrosInit,
 | 
						|
    config: configmacrosConfig,
 | 
						|
    items: (_a = {},
 | 
						|
        _a[NewcommandItems_js_1.BeginEnvItem.prototype.kind] = NewcommandItems_js_1.BeginEnvItem,
 | 
						|
        _a),
 | 
						|
    options: {
 | 
						|
        macros: (0, Options_js_1.expandable)({}),
 | 
						|
        environments: (0, Options_js_1.expandable)({})
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=ConfigMacrosConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 45463:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.EmpheqConfiguration = exports.EmpheqMethods = exports.EmpheqBeginItem = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var EmpheqUtil_js_1 = __webpack_require__(14034);
 | 
						|
var EmpheqBeginItem = (function (_super) {
 | 
						|
    __extends(EmpheqBeginItem, _super);
 | 
						|
    function EmpheqBeginItem() {
 | 
						|
        return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(EmpheqBeginItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'empheq-begin';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    EmpheqBeginItem.prototype.checkItem = function (item) {
 | 
						|
        if (item.isKind('end') && item.getName() === this.getName()) {
 | 
						|
            this.setProperty('end', false);
 | 
						|
        }
 | 
						|
        return _super.prototype.checkItem.call(this, item);
 | 
						|
    };
 | 
						|
    return EmpheqBeginItem;
 | 
						|
}(BaseItems_js_1.BeginItem));
 | 
						|
exports.EmpheqBeginItem = EmpheqBeginItem;
 | 
						|
exports.EmpheqMethods = {
 | 
						|
    Empheq: function (parser, begin) {
 | 
						|
        if (parser.stack.env.closing === begin.getName()) {
 | 
						|
            delete parser.stack.env.closing;
 | 
						|
            parser.Push(parser.itemFactory.create('end').setProperty('name', parser.stack.global.empheq));
 | 
						|
            parser.stack.global.empheq = '';
 | 
						|
            var empheq = parser.stack.Top();
 | 
						|
            EmpheqUtil_js_1.EmpheqUtil.adjustTable(empheq, parser);
 | 
						|
            parser.Push(parser.itemFactory.create('end').setProperty('name', 'empheq'));
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            ParseUtil_js_1.default.checkEqnEnv(parser);
 | 
						|
            delete parser.stack.global.eqnenv;
 | 
						|
            var opts = parser.GetBrackets('\\begin{' + begin.getName() + '}') || '';
 | 
						|
            var _a = __read((parser.GetArgument('\\begin{' + begin.getName() + '}') || '').split(/=/), 2), env = _a[0], n = _a[1];
 | 
						|
            if (!EmpheqUtil_js_1.EmpheqUtil.checkEnv(env)) {
 | 
						|
                throw new TexError_js_1.default('UnknownEnv', 'Unknown environment "%1"', env);
 | 
						|
            }
 | 
						|
            if (opts) {
 | 
						|
                begin.setProperties(EmpheqUtil_js_1.EmpheqUtil.splitOptions(opts, { left: 1, right: 1 }));
 | 
						|
            }
 | 
						|
            parser.stack.global.empheq = env;
 | 
						|
            parser.string = '\\begin{' + env + '}' + (n ? '{' + n + '}' : '') + parser.string.slice(parser.i);
 | 
						|
            parser.i = 0;
 | 
						|
            parser.Push(begin);
 | 
						|
        }
 | 
						|
    },
 | 
						|
    EmpheqMO: function (parser, _name, c) {
 | 
						|
        parser.Push(parser.create('token', 'mo', {}, c));
 | 
						|
    },
 | 
						|
    EmpheqDelim: function (parser, name) {
 | 
						|
        var c = parser.GetDelimiter(name);
 | 
						|
        parser.Push(parser.create('token', 'mo', { stretchy: true, symmetric: true }, c));
 | 
						|
    }
 | 
						|
};
 | 
						|
new SymbolMap_js_1.EnvironmentMap('empheq-env', EmpheqUtil_js_1.EmpheqUtil.environment, {
 | 
						|
    empheq: ['Empheq', 'empheq'],
 | 
						|
}, exports.EmpheqMethods);
 | 
						|
new SymbolMap_js_1.CommandMap('empheq-macros', {
 | 
						|
    empheqlbrace: ['EmpheqMO', '{'],
 | 
						|
    empheqrbrace: ['EmpheqMO', '}'],
 | 
						|
    empheqlbrack: ['EmpheqMO', '['],
 | 
						|
    empheqrbrack: ['EmpheqMO', ']'],
 | 
						|
    empheqlangle: ['EmpheqMO', '\u27E8'],
 | 
						|
    empheqrangle: ['EmpheqMO', '\u27E9'],
 | 
						|
    empheqlparen: ['EmpheqMO', '('],
 | 
						|
    empheqrparen: ['EmpheqMO', ')'],
 | 
						|
    empheqlvert: ['EmpheqMO', '|'],
 | 
						|
    empheqrvert: ['EmpheqMO', '|'],
 | 
						|
    empheqlVert: ['EmpheqMO', '\u2016'],
 | 
						|
    empheqrVert: ['EmpheqMO', '\u2016'],
 | 
						|
    empheqlfloor: ['EmpheqMO', '\u230A'],
 | 
						|
    empheqrfloor: ['EmpheqMO', '\u230B'],
 | 
						|
    empheqlceil: ['EmpheqMO', '\u2308'],
 | 
						|
    empheqrceil: ['EmpheqMO', '\u2309'],
 | 
						|
    empheqbiglbrace: ['EmpheqMO', '{'],
 | 
						|
    empheqbigrbrace: ['EmpheqMO', '}'],
 | 
						|
    empheqbiglbrack: ['EmpheqMO', '['],
 | 
						|
    empheqbigrbrack: ['EmpheqMO', ']'],
 | 
						|
    empheqbiglangle: ['EmpheqMO', '\u27E8'],
 | 
						|
    empheqbigrangle: ['EmpheqMO', '\u27E9'],
 | 
						|
    empheqbiglparen: ['EmpheqMO', '('],
 | 
						|
    empheqbigrparen: ['EmpheqMO', ')'],
 | 
						|
    empheqbiglvert: ['EmpheqMO', '|'],
 | 
						|
    empheqbigrvert: ['EmpheqMO', '|'],
 | 
						|
    empheqbiglVert: ['EmpheqMO', '\u2016'],
 | 
						|
    empheqbigrVert: ['EmpheqMO', '\u2016'],
 | 
						|
    empheqbiglfloor: ['EmpheqMO', '\u230A'],
 | 
						|
    empheqbigrfloor: ['EmpheqMO', '\u230B'],
 | 
						|
    empheqbiglceil: ['EmpheqMO', '\u2308'],
 | 
						|
    empheqbigrceil: ['EmpheqMO', '\u2309'],
 | 
						|
    empheql: 'EmpheqDelim',
 | 
						|
    empheqr: 'EmpheqDelim',
 | 
						|
    empheqbigl: 'EmpheqDelim',
 | 
						|
    empheqbigr: 'EmpheqDelim'
 | 
						|
}, exports.EmpheqMethods);
 | 
						|
exports.EmpheqConfiguration = Configuration_js_1.Configuration.create('empheq', {
 | 
						|
    handler: {
 | 
						|
        macro: ['empheq-macros'],
 | 
						|
        environment: ['empheq-env'],
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[EmpheqBeginItem.prototype.kind] = EmpheqBeginItem,
 | 
						|
        _a)
 | 
						|
});
 | 
						|
//# sourceMappingURL=EmpheqConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 14034:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
 | 
						|
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
 | 
						|
        if (ar || !(i in from)) {
 | 
						|
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
 | 
						|
            ar[i] = from[i];
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return to.concat(ar || Array.prototype.slice.call(from));
 | 
						|
};
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.EmpheqUtil = void 0;
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
exports.EmpheqUtil = {
 | 
						|
    environment: function (parser, env, func, args) {
 | 
						|
        var name = args[0];
 | 
						|
        var item = parser.itemFactory.create(name + '-begin').setProperties({ name: env, end: name });
 | 
						|
        parser.Push(func.apply(void 0, __spreadArray([parser, item], __read(args.slice(1)), false)));
 | 
						|
    },
 | 
						|
    splitOptions: function (text, allowed) {
 | 
						|
        if (allowed === void 0) { allowed = null; }
 | 
						|
        return ParseUtil_js_1.default.keyvalOptions(text, allowed, true);
 | 
						|
    },
 | 
						|
    columnCount: function (table) {
 | 
						|
        var e_1, _a;
 | 
						|
        var m = 0;
 | 
						|
        try {
 | 
						|
            for (var _b = __values(table.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var row = _c.value;
 | 
						|
                var n = row.childNodes.length - (row.isKind('mlabeledtr') ? 1 : 0);
 | 
						|
                if (n > m)
 | 
						|
                    m = n;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_1) throw e_1.error; }
 | 
						|
        }
 | 
						|
        return m;
 | 
						|
    },
 | 
						|
    cellBlock: function (tex, table, parser, env) {
 | 
						|
        var e_2, _a;
 | 
						|
        var mpadded = parser.create('node', 'mpadded', [], { height: 0, depth: 0, voffset: '-1height' });
 | 
						|
        var result = new TexParser_js_1.default(tex, parser.stack.env, parser.configuration);
 | 
						|
        var mml = result.mml();
 | 
						|
        if (env && result.configuration.tags.label) {
 | 
						|
            result.configuration.tags.currentTag.env = env;
 | 
						|
            result.configuration.tags.getTag(true);
 | 
						|
        }
 | 
						|
        try {
 | 
						|
            for (var _b = __values((mml.isInferred ? mml.childNodes : [mml])), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var child = _c.value;
 | 
						|
                mpadded.appendChild(child);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_2_1) { e_2 = { error: e_2_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_2) throw e_2.error; }
 | 
						|
        }
 | 
						|
        mpadded.appendChild(parser.create('node', 'mphantom', [
 | 
						|
            parser.create('node', 'mpadded', [table], { width: 0 })
 | 
						|
        ]));
 | 
						|
        return mpadded;
 | 
						|
    },
 | 
						|
    topRowTable: function (original, parser) {
 | 
						|
        var table = ParseUtil_js_1.default.copyNode(original, parser);
 | 
						|
        table.setChildren(table.childNodes.slice(0, 1));
 | 
						|
        table.attributes.set('align', 'baseline 1');
 | 
						|
        return original.factory.create('mphantom', {}, [parser.create('node', 'mpadded', [table], { width: 0 })]);
 | 
						|
    },
 | 
						|
    rowspanCell: function (mtd, tex, table, parser, env) {
 | 
						|
        mtd.appendChild(parser.create('node', 'mpadded', [
 | 
						|
            this.cellBlock(tex, ParseUtil_js_1.default.copyNode(table, parser), parser, env),
 | 
						|
            this.topRowTable(table, parser)
 | 
						|
        ], { height: 0, depth: 0, voffset: 'height' }));
 | 
						|
    },
 | 
						|
    left: function (table, original, left, parser, env) {
 | 
						|
        var e_3, _a;
 | 
						|
        if (env === void 0) { env = ''; }
 | 
						|
        table.attributes.set('columnalign', 'right ' + (table.attributes.get('columnalign') || ''));
 | 
						|
        table.attributes.set('columnspacing', '0em ' + (table.attributes.get('columnspacing') || ''));
 | 
						|
        var mtd;
 | 
						|
        try {
 | 
						|
            for (var _b = __values(table.childNodes.slice(0).reverse()), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var row = _c.value;
 | 
						|
                mtd = parser.create('node', 'mtd');
 | 
						|
                row.childNodes.unshift(mtd);
 | 
						|
                mtd.parent = row;
 | 
						|
                if (row.isKind('mlabeledtr')) {
 | 
						|
                    row.childNodes[0] = row.childNodes[1];
 | 
						|
                    row.childNodes[1] = mtd;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_3_1) { e_3 = { error: e_3_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_3) throw e_3.error; }
 | 
						|
        }
 | 
						|
        this.rowspanCell(mtd, left, original, parser, env);
 | 
						|
    },
 | 
						|
    right: function (table, original, right, parser, env) {
 | 
						|
        if (env === void 0) { env = ''; }
 | 
						|
        if (table.childNodes.length === 0) {
 | 
						|
            table.appendChild(parser.create('node', 'mtr'));
 | 
						|
        }
 | 
						|
        var m = exports.EmpheqUtil.columnCount(table);
 | 
						|
        var row = table.childNodes[0];
 | 
						|
        while (row.childNodes.length < m)
 | 
						|
            row.appendChild(parser.create('node', 'mtd'));
 | 
						|
        var mtd = row.appendChild(parser.create('node', 'mtd'));
 | 
						|
        exports.EmpheqUtil.rowspanCell(mtd, right, original, parser, env);
 | 
						|
        table.attributes.set('columnalign', (table.attributes.get('columnalign') || '').split(/ /).slice(0, m).join(' ') + ' left');
 | 
						|
        table.attributes.set('columnspacing', (table.attributes.get('columnspacing') || '').split(/ /).slice(0, m - 1).join(' ') + ' 0em');
 | 
						|
    },
 | 
						|
    adjustTable: function (empheq, parser) {
 | 
						|
        var left = empheq.getProperty('left');
 | 
						|
        var right = empheq.getProperty('right');
 | 
						|
        if (left || right) {
 | 
						|
            var table = empheq.Last;
 | 
						|
            var original = ParseUtil_js_1.default.copyNode(table, parser);
 | 
						|
            if (left)
 | 
						|
                this.left(table, original, left, parser);
 | 
						|
            if (right)
 | 
						|
                this.right(table, original, right, parser);
 | 
						|
        }
 | 
						|
    },
 | 
						|
    allowEnv: {
 | 
						|
        equation: true,
 | 
						|
        align: true,
 | 
						|
        gather: true,
 | 
						|
        flalign: true,
 | 
						|
        alignat: true,
 | 
						|
        multline: true
 | 
						|
    },
 | 
						|
    checkEnv: function (env) {
 | 
						|
        return this.allowEnv.hasOwnProperty(env.replace(/\*$/, '')) || false;
 | 
						|
    }
 | 
						|
};
 | 
						|
//# sourceMappingURL=EmpheqUtil.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 17915:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.EncloseConfiguration = exports.EncloseMethods = exports.ENCLOSE_OPTIONS = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
exports.ENCLOSE_OPTIONS = {
 | 
						|
    'data-arrowhead': 1,
 | 
						|
    color: 1,
 | 
						|
    mathcolor: 1,
 | 
						|
    background: 1,
 | 
						|
    mathbackground: 1,
 | 
						|
    'data-padding': 1,
 | 
						|
    'data-thickness': 1
 | 
						|
};
 | 
						|
exports.EncloseMethods = {};
 | 
						|
exports.EncloseMethods.Enclose = function (parser, name) {
 | 
						|
    var notation = parser.GetArgument(name).replace(/,/g, ' ');
 | 
						|
    var attr = parser.GetBrackets(name, '');
 | 
						|
    var math = parser.ParseArg(name);
 | 
						|
    var def = ParseUtil_js_1.default.keyvalOptions(attr, exports.ENCLOSE_OPTIONS);
 | 
						|
    def.notation = notation;
 | 
						|
    parser.Push(parser.create('node', 'menclose', [math], def));
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('enclose', { enclose: 'Enclose' }, exports.EncloseMethods);
 | 
						|
exports.EncloseConfiguration = Configuration_js_1.Configuration.create('enclose', { handler: { macro: ['enclose'] } });
 | 
						|
//# sourceMappingURL=EncloseConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 74927:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.ExtpfeilConfiguration = exports.ExtpfeilMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var AmsMethods_js_1 = __webpack_require__(14880);
 | 
						|
var NewcommandUtil_js_1 = __importDefault(__webpack_require__(87357));
 | 
						|
var NewcommandConfiguration_js_1 = __webpack_require__(37515);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
exports.ExtpfeilMethods = {};
 | 
						|
exports.ExtpfeilMethods.xArrow = AmsMethods_js_1.AmsMethods.xArrow;
 | 
						|
exports.ExtpfeilMethods.NewExtArrow = function (parser, name) {
 | 
						|
    var cs = parser.GetArgument(name);
 | 
						|
    var space = parser.GetArgument(name);
 | 
						|
    var chr = parser.GetArgument(name);
 | 
						|
    if (!cs.match(/^\\([a-z]+|.)$/i)) {
 | 
						|
        throw new TexError_js_1.default('NewextarrowArg1', 'First argument to %1 must be a control sequence name', name);
 | 
						|
    }
 | 
						|
    if (!space.match(/^(\d+),(\d+)$/)) {
 | 
						|
        throw new TexError_js_1.default('NewextarrowArg2', 'Second argument to %1 must be two integers separated by a comma', name);
 | 
						|
    }
 | 
						|
    if (!chr.match(/^(\d+|0x[0-9A-F]+)$/i)) {
 | 
						|
        throw new TexError_js_1.default('NewextarrowArg3', 'Third argument to %1 must be a unicode character number', name);
 | 
						|
    }
 | 
						|
    cs = cs.substr(1);
 | 
						|
    var spaces = space.split(',');
 | 
						|
    NewcommandUtil_js_1.default.addMacro(parser, cs, exports.ExtpfeilMethods.xArrow, [parseInt(chr), parseInt(spaces[0]), parseInt(spaces[1])]);
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('extpfeil', {
 | 
						|
    xtwoheadrightarrow: ['xArrow', 0x21A0, 12, 16],
 | 
						|
    xtwoheadleftarrow: ['xArrow', 0x219E, 17, 13],
 | 
						|
    xmapsto: ['xArrow', 0x21A6, 6, 7],
 | 
						|
    xlongequal: ['xArrow', 0x003D, 7, 7],
 | 
						|
    xtofrom: ['xArrow', 0x21C4, 12, 12],
 | 
						|
    Newextarrow: 'NewExtArrow'
 | 
						|
}, exports.ExtpfeilMethods);
 | 
						|
var init = function (config) {
 | 
						|
    NewcommandConfiguration_js_1.NewcommandConfiguration.init(config);
 | 
						|
};
 | 
						|
exports.ExtpfeilConfiguration = Configuration_js_1.Configuration.create('extpfeil', {
 | 
						|
    handler: { macro: ['extpfeil'] },
 | 
						|
    init: init
 | 
						|
});
 | 
						|
//# sourceMappingURL=ExtpfeilConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 48689:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.GensymbConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
function mathcharUnit(parser, mchar) {
 | 
						|
    var def = mchar.attributes || {};
 | 
						|
    def.mathvariant = TexConstants_js_1.TexConstant.Variant.NORMAL;
 | 
						|
    def.class = 'MathML-Unit';
 | 
						|
    var node = parser.create('token', 'mi', def, mchar.char);
 | 
						|
    parser.Push(node);
 | 
						|
}
 | 
						|
new SymbolMap_js_1.CharacterMap('gensymb-symbols', mathcharUnit, {
 | 
						|
    ohm: '\u2126',
 | 
						|
    degree: '\u00B0',
 | 
						|
    celsius: '\u2103',
 | 
						|
    perthousand: '\u2030',
 | 
						|
    micro: '\u00B5'
 | 
						|
});
 | 
						|
exports.GensymbConfiguration = Configuration_js_1.Configuration.create('gensymb', {
 | 
						|
    handler: { macro: ['gensymb-symbols'] },
 | 
						|
});
 | 
						|
//# sourceMappingURL=GensymbConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 966:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.HtmlConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var HtmlMethods_js_1 = __importDefault(__webpack_require__(34034));
 | 
						|
new SymbolMap_js_1.CommandMap('html_macros', {
 | 
						|
    href: 'Href',
 | 
						|
    'class': 'Class',
 | 
						|
    style: 'Style',
 | 
						|
    cssId: 'Id'
 | 
						|
}, HtmlMethods_js_1.default);
 | 
						|
exports.HtmlConfiguration = Configuration_js_1.Configuration.create('html', { handler: { macro: ['html_macros'] } });
 | 
						|
//# sourceMappingURL=HtmlConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 34034:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var HtmlMethods = {};
 | 
						|
HtmlMethods.Href = function (parser, name) {
 | 
						|
    var url = parser.GetArgument(name);
 | 
						|
    var arg = GetArgumentMML(parser, name);
 | 
						|
    NodeUtil_js_1.default.setAttribute(arg, 'href', url);
 | 
						|
    parser.Push(arg);
 | 
						|
};
 | 
						|
HtmlMethods.Class = function (parser, name) {
 | 
						|
    var CLASS = parser.GetArgument(name);
 | 
						|
    var arg = GetArgumentMML(parser, name);
 | 
						|
    var oldClass = NodeUtil_js_1.default.getAttribute(arg, 'class');
 | 
						|
    if (oldClass) {
 | 
						|
        CLASS = oldClass + ' ' + CLASS;
 | 
						|
    }
 | 
						|
    NodeUtil_js_1.default.setAttribute(arg, 'class', CLASS);
 | 
						|
    parser.Push(arg);
 | 
						|
};
 | 
						|
HtmlMethods.Style = function (parser, name) {
 | 
						|
    var style = parser.GetArgument(name);
 | 
						|
    var arg = GetArgumentMML(parser, name);
 | 
						|
    var oldStyle = NodeUtil_js_1.default.getAttribute(arg, 'style');
 | 
						|
    if (oldStyle) {
 | 
						|
        if (style.charAt(style.length - 1) !== ';') {
 | 
						|
            style += ';';
 | 
						|
        }
 | 
						|
        style = oldStyle + ' ' + style;
 | 
						|
    }
 | 
						|
    NodeUtil_js_1.default.setAttribute(arg, 'style', style);
 | 
						|
    parser.Push(arg);
 | 
						|
};
 | 
						|
HtmlMethods.Id = function (parser, name) {
 | 
						|
    var ID = parser.GetArgument(name);
 | 
						|
    var arg = GetArgumentMML(parser, name);
 | 
						|
    NodeUtil_js_1.default.setAttribute(arg, 'id', ID);
 | 
						|
    parser.Push(arg);
 | 
						|
};
 | 
						|
var GetArgumentMML = function (parser, name) {
 | 
						|
    var arg = parser.ParseArg(name);
 | 
						|
    if (!NodeUtil_js_1.default.isInferred(arg)) {
 | 
						|
        return arg;
 | 
						|
    }
 | 
						|
    var children = NodeUtil_js_1.default.getChildren(arg);
 | 
						|
    if (children.length === 1) {
 | 
						|
        return children[0];
 | 
						|
    }
 | 
						|
    var mrow = parser.create('node', 'mrow');
 | 
						|
    NodeUtil_js_1.default.copyChildren(arg, mrow);
 | 
						|
    NodeUtil_js_1.default.copyAttributes(arg, mrow);
 | 
						|
    return mrow;
 | 
						|
};
 | 
						|
exports["default"] = HtmlMethods;
 | 
						|
//# sourceMappingURL=HtmlMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 73414:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.MathtoolsConfiguration = exports.fixPrescripts = exports.PAIREDDELIMS = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var Options_js_1 = __webpack_require__(4498);
 | 
						|
__webpack_require__(655);
 | 
						|
var MathtoolsUtil_js_1 = __webpack_require__(53946);
 | 
						|
var MathtoolsTags_js_1 = __webpack_require__(43928);
 | 
						|
var MathtoolsItems_js_1 = __webpack_require__(17519);
 | 
						|
exports.PAIREDDELIMS = 'mathtools-paired-delims';
 | 
						|
function initMathtools(config) {
 | 
						|
    new SymbolMap_js_1.CommandMap(exports.PAIREDDELIMS, {}, {});
 | 
						|
    config.append(Configuration_js_1.Configuration.local({ handler: { macro: [exports.PAIREDDELIMS] }, priority: -5 }));
 | 
						|
}
 | 
						|
function configMathtools(config, jax) {
 | 
						|
    var e_1, _a;
 | 
						|
    var parser = jax.parseOptions;
 | 
						|
    var pairedDelims = parser.options.mathtools.pairedDelimiters;
 | 
						|
    try {
 | 
						|
        for (var _b = __values(Object.keys(pairedDelims)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
            var cs = _c.value;
 | 
						|
            MathtoolsUtil_js_1.MathtoolsUtil.addPairedDelims(parser, cs, pairedDelims[cs]);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
    (0, MathtoolsTags_js_1.MathtoolsTagFormat)(config, jax);
 | 
						|
}
 | 
						|
function fixPrescripts(_a) {
 | 
						|
    var e_2, _b, e_3, _c, e_4, _d;
 | 
						|
    var data = _a.data;
 | 
						|
    try {
 | 
						|
        for (var _e = __values(data.getList('mmultiscripts')), _f = _e.next(); !_f.done; _f = _e.next()) {
 | 
						|
            var node = _f.value;
 | 
						|
            if (!node.getProperty('fixPrescript'))
 | 
						|
                continue;
 | 
						|
            var childNodes = NodeUtil_js_1.default.getChildren(node);
 | 
						|
            var n = 0;
 | 
						|
            try {
 | 
						|
                for (var _g = (e_3 = void 0, __values([1, 2])), _h = _g.next(); !_h.done; _h = _g.next()) {
 | 
						|
                    var i = _h.value;
 | 
						|
                    if (!childNodes[i]) {
 | 
						|
                        NodeUtil_js_1.default.setChild(node, i, data.nodeFactory.create('node', 'none'));
 | 
						|
                        n++;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (e_3_1) { e_3 = { error: e_3_1 }; }
 | 
						|
            finally {
 | 
						|
                try {
 | 
						|
                    if (_h && !_h.done && (_c = _g.return)) _c.call(_g);
 | 
						|
                }
 | 
						|
                finally { if (e_3) throw e_3.error; }
 | 
						|
            }
 | 
						|
            try {
 | 
						|
                for (var _j = (e_4 = void 0, __values([4, 5])), _k = _j.next(); !_k.done; _k = _j.next()) {
 | 
						|
                    var i = _k.value;
 | 
						|
                    if (NodeUtil_js_1.default.isType(childNodes[i], 'mrow') && NodeUtil_js_1.default.getChildren(childNodes[i]).length === 0) {
 | 
						|
                        NodeUtil_js_1.default.setChild(node, i, data.nodeFactory.create('node', 'none'));
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (e_4_1) { e_4 = { error: e_4_1 }; }
 | 
						|
            finally {
 | 
						|
                try {
 | 
						|
                    if (_k && !_k.done && (_d = _j.return)) _d.call(_j);
 | 
						|
                }
 | 
						|
                finally { if (e_4) throw e_4.error; }
 | 
						|
            }
 | 
						|
            if (n === 2) {
 | 
						|
                childNodes.splice(1, 2);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_2_1) { e_2 = { error: e_2_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
 | 
						|
        }
 | 
						|
        finally { if (e_2) throw e_2.error; }
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.fixPrescripts = fixPrescripts;
 | 
						|
exports.MathtoolsConfiguration = Configuration_js_1.Configuration.create('mathtools', {
 | 
						|
    handler: {
 | 
						|
        macro: ['mathtools-macros', 'mathtools-delimiters'],
 | 
						|
        environment: ['mathtools-environments'],
 | 
						|
        delimiter: ['mathtools-delimiters'],
 | 
						|
        character: ['mathtools-characters']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[MathtoolsItems_js_1.MultlinedItem.prototype.kind] = MathtoolsItems_js_1.MultlinedItem,
 | 
						|
        _a),
 | 
						|
    init: initMathtools,
 | 
						|
    config: configMathtools,
 | 
						|
    postprocessors: [[fixPrescripts, -6]],
 | 
						|
    options: {
 | 
						|
        mathtools: {
 | 
						|
            'multlinegap': '1em',
 | 
						|
            'multlined-pos': 'c',
 | 
						|
            'firstline-afterskip': '',
 | 
						|
            'lastline-preskip': '',
 | 
						|
            'smallmatrix-align': 'c',
 | 
						|
            'shortvdotsadjustabove': '.2em',
 | 
						|
            'shortvdotsadjustbelow': '.2em',
 | 
						|
            'centercolon': false,
 | 
						|
            'centercolon-offset': '.04em',
 | 
						|
            'thincolon-dx': '-.04em',
 | 
						|
            'thincolon-dw': '-.08em',
 | 
						|
            'use-unicode': false,
 | 
						|
            'prescript-sub-format': '',
 | 
						|
            'prescript-sup-format': '',
 | 
						|
            'prescript-arg-format': '',
 | 
						|
            'allow-mathtoolsset': true,
 | 
						|
            pairedDelimiters: (0, Options_js_1.expandable)({}),
 | 
						|
            tagforms: (0, Options_js_1.expandable)({}),
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=MathtoolsConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 17519:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.MultlinedItem = void 0;
 | 
						|
var AmsItems_js_1 = __webpack_require__(75377);
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var MultlinedItem = (function (_super) {
 | 
						|
    __extends(MultlinedItem, _super);
 | 
						|
    function MultlinedItem() {
 | 
						|
        return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(MultlinedItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'multlined';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    MultlinedItem.prototype.EndTable = function () {
 | 
						|
        if (this.Size() || this.row.length) {
 | 
						|
            this.EndEntry();
 | 
						|
            this.EndRow();
 | 
						|
        }
 | 
						|
        if (this.table.length > 1) {
 | 
						|
            var options = this.factory.configuration.options.mathtools;
 | 
						|
            var gap = options.multlinegap;
 | 
						|
            var firstskip = options['firstline-afterskip'] || gap;
 | 
						|
            var lastskip = options['lastline-preskip'] || gap;
 | 
						|
            var first = NodeUtil_js_1.default.getChildren(this.table[0])[0];
 | 
						|
            if (NodeUtil_js_1.default.getAttribute(first, 'columnalign') !== TexConstants_js_1.TexConstant.Align.RIGHT) {
 | 
						|
                first.appendChild(this.create('node', 'mspace', [], { width: firstskip }));
 | 
						|
            }
 | 
						|
            var last = NodeUtil_js_1.default.getChildren(this.table[this.table.length - 1])[0];
 | 
						|
            if (NodeUtil_js_1.default.getAttribute(last, 'columnalign') !== TexConstants_js_1.TexConstant.Align.LEFT) {
 | 
						|
                var top_1 = NodeUtil_js_1.default.getChildren(last)[0];
 | 
						|
                top_1.childNodes.unshift(null);
 | 
						|
                var space = this.create('node', 'mspace', [], { width: lastskip });
 | 
						|
                NodeUtil_js_1.default.setChild(top_1, 0, space);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        _super.prototype.EndTable.call(this);
 | 
						|
    };
 | 
						|
    return MultlinedItem;
 | 
						|
}(AmsItems_js_1.MultlineItem));
 | 
						|
exports.MultlinedItem = MultlinedItem;
 | 
						|
//# sourceMappingURL=MathtoolsItems.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 655:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var MathtoolsMethods_js_1 = __webpack_require__(81274);
 | 
						|
new SymbolMap_js_1.CommandMap('mathtools-macros', {
 | 
						|
    shoveleft: ['HandleShove', TexConstants_js_1.TexConstant.Align.LEFT],
 | 
						|
    shoveright: ['HandleShove', TexConstants_js_1.TexConstant.Align.RIGHT],
 | 
						|
    xleftrightarrow: ['xArrow', 0x2194, 10, 10],
 | 
						|
    xLeftarrow: ['xArrow', 0x21D0, 12, 7],
 | 
						|
    xRightarrow: ['xArrow', 0x21D2, 7, 12],
 | 
						|
    xLeftrightarrow: ['xArrow', 0x21D4, 12, 12],
 | 
						|
    xhookleftarrow: ['xArrow', 0x21A9, 10, 5],
 | 
						|
    xhookrightarrow: ['xArrow', 0x21AA, 5, 10],
 | 
						|
    xmapsto: ['xArrow', 0x21A6, 10, 10],
 | 
						|
    xrightharpoondown: ['xArrow', 0x21C1, 5, 10],
 | 
						|
    xleftharpoondown: ['xArrow', 0x21BD, 10, 5],
 | 
						|
    xrightleftharpoons: ['xArrow', 0x21CC, 10, 10],
 | 
						|
    xrightharpoonup: ['xArrow', 0x21C0, 5, 10],
 | 
						|
    xleftharpoonup: ['xArrow', 0x21BC, 10, 5],
 | 
						|
    xleftrightharpoons: ['xArrow', 0x21CB, 10, 10],
 | 
						|
    mathllap: ['MathLap', 'l', false],
 | 
						|
    mathrlap: ['MathLap', 'r', false],
 | 
						|
    mathclap: ['MathLap', 'c', false],
 | 
						|
    clap: ['MtLap', 'c'],
 | 
						|
    textllap: ['MtLap', 'l'],
 | 
						|
    textrlap: ['MtLap', 'r'],
 | 
						|
    textclap: ['MtLap', 'c'],
 | 
						|
    cramped: 'Cramped',
 | 
						|
    crampedllap: ['MathLap', 'l', true],
 | 
						|
    crampedrlap: ['MathLap', 'r', true],
 | 
						|
    crampedclap: ['MathLap', 'c', true],
 | 
						|
    crampedsubstack: ['Macro', '\\begin{crampedsubarray}{c}#1\\end{crampedsubarray}', 1],
 | 
						|
    mathmbox: 'MathMBox',
 | 
						|
    mathmakebox: 'MathMakeBox',
 | 
						|
    overbracket: 'UnderOverBracket',
 | 
						|
    underbracket: 'UnderOverBracket',
 | 
						|
    refeq: 'HandleRef',
 | 
						|
    MoveEqLeft: ['Macro', '\\hspace{#1em}&\\hspace{-#1em}', 1, '2'],
 | 
						|
    Aboxed: 'Aboxed',
 | 
						|
    ArrowBetweenLines: 'ArrowBetweenLines',
 | 
						|
    vdotswithin: 'VDotsWithin',
 | 
						|
    shortvdotswithin: 'ShortVDotsWithin',
 | 
						|
    MTFlushSpaceAbove: 'FlushSpaceAbove',
 | 
						|
    MTFlushSpaceBelow: 'FlushSpaceBelow',
 | 
						|
    DeclarePairedDelimiter: 'DeclarePairedDelimiter',
 | 
						|
    DeclarePairedDelimiterX: 'DeclarePairedDelimiterX',
 | 
						|
    DeclarePairedDelimiterXPP: 'DeclarePairedDelimiterXPP',
 | 
						|
    DeclarePairedDelimiters: 'DeclarePairedDelimiter',
 | 
						|
    DeclarePairedDelimitersX: 'DeclarePairedDelimiterX',
 | 
						|
    DeclarePairedDelimitersXPP: 'DeclarePairedDelimiterXPP',
 | 
						|
    centercolon: ['CenterColon', true, true],
 | 
						|
    ordinarycolon: ['CenterColon', false],
 | 
						|
    MTThinColon: ['CenterColon', true, true, true],
 | 
						|
    coloneqq: ['Relation', ':=', '\u2254'],
 | 
						|
    Coloneqq: ['Relation', '::=', '\u2A74'],
 | 
						|
    coloneq: ['Relation', ':-'],
 | 
						|
    Coloneq: ['Relation', '::-'],
 | 
						|
    eqqcolon: ['Relation', '=:', '\u2255'],
 | 
						|
    Eqqcolon: ['Relation', '=::'],
 | 
						|
    eqcolon: ['Relation', '-:', '\u2239'],
 | 
						|
    Eqcolon: ['Relation', '-::'],
 | 
						|
    colonapprox: ['Relation', ':\\approx'],
 | 
						|
    Colonapprox: ['Relation', '::\\approx'],
 | 
						|
    colonsim: ['Relation', ':\\sim'],
 | 
						|
    Colonsim: ['Relation', '::\\sim'],
 | 
						|
    dblcolon: ['Relation', '::', '\u2237'],
 | 
						|
    nuparrow: ['NArrow', '\u2191', '.06em'],
 | 
						|
    ndownarrow: ['NArrow', '\u2193', '.25em'],
 | 
						|
    bigtimes: ['Macro', '\\mathop{\\Large\\kern-.1em\\boldsymbol{\\times}\\kern-.1em}'],
 | 
						|
    splitfrac: ['SplitFrac', false],
 | 
						|
    splitdfrac: ['SplitFrac', true],
 | 
						|
    xmathstrut: 'XMathStrut',
 | 
						|
    prescript: 'Prescript',
 | 
						|
    newtagform: ['NewTagForm', false],
 | 
						|
    renewtagform: ['NewTagForm', true],
 | 
						|
    usetagform: 'UseTagForm',
 | 
						|
    adjustlimits: [
 | 
						|
        'MacroWithTemplate',
 | 
						|
        '\\mathop{{#1}\\vphantom{{#3}}}_{{#2}\\vphantom{{#4}}}\\mathop{{#3}\\vphantom{{#1}}}_{{#4}\\vphantom{{#2}}}',
 | 
						|
        4, , '_', , '_'
 | 
						|
    ],
 | 
						|
    mathtoolsset: 'SetOptions'
 | 
						|
}, MathtoolsMethods_js_1.MathtoolsMethods);
 | 
						|
new SymbolMap_js_1.EnvironmentMap('mathtools-environments', ParseMethods_js_1.default.environment, {
 | 
						|
    dcases: ['Array', null, '\\{', '', 'll', null, '.2em', 'D'],
 | 
						|
    rcases: ['Array', null, '', '\\}', 'll', null, '.2em'],
 | 
						|
    drcases: ['Array', null, '', '\\}', 'll', null, '.2em', 'D'],
 | 
						|
    'dcases*': ['Cases', null, '{', '', 'D'],
 | 
						|
    'rcases*': ['Cases', null, '', '}'],
 | 
						|
    'drcases*': ['Cases', null, '', '}', 'D'],
 | 
						|
    'cases*': ['Cases', null, '{', ''],
 | 
						|
    'matrix*': ['MtMatrix', null, null, null],
 | 
						|
    'pmatrix*': ['MtMatrix', null, '(', ')'],
 | 
						|
    'bmatrix*': ['MtMatrix', null, '[', ']'],
 | 
						|
    'Bmatrix*': ['MtMatrix', null, '\\{', '\\}'],
 | 
						|
    'vmatrix*': ['MtMatrix', null, '\\vert', '\\vert'],
 | 
						|
    'Vmatrix*': ['MtMatrix', null, '\\Vert', '\\Vert'],
 | 
						|
    'smallmatrix*': ['MtSmallMatrix', null, null, null],
 | 
						|
    psmallmatrix: ['MtSmallMatrix', null, '(', ')', 'c'],
 | 
						|
    'psmallmatrix*': ['MtSmallMatrix', null, '(', ')'],
 | 
						|
    bsmallmatrix: ['MtSmallMatrix', null, '[', ']', 'c'],
 | 
						|
    'bsmallmatrix*': ['MtSmallMatrix', null, '[', ']'],
 | 
						|
    Bsmallmatrix: ['MtSmallMatrix', null, '\\{', '\\}', 'c'],
 | 
						|
    'Bsmallmatrix*': ['MtSmallMatrix', null, '\\{', '\\}'],
 | 
						|
    vsmallmatrix: ['MtSmallMatrix', null, '\\vert', '\\vert', 'c'],
 | 
						|
    'vsmallmatrix*': ['MtSmallMatrix', null, '\\vert', '\\vert'],
 | 
						|
    Vsmallmatrix: ['MtSmallMatrix', null, '\\Vert', '\\Vert', 'c'],
 | 
						|
    'Vsmallmatrix*': ['MtSmallMatrix', null, '\\Vert', '\\Vert'],
 | 
						|
    crampedsubarray: ['Array', null, null, null, null, '0em', '0.1em', 'S\'', 1],
 | 
						|
    multlined: 'MtMultlined',
 | 
						|
    spreadlines: ['SpreadLines', true],
 | 
						|
    lgathered: ['AmsEqnArray', null, null, null, 'l', null, '.5em', 'D'],
 | 
						|
    rgathered: ['AmsEqnArray', null, null, null, 'r', null, '.5em', 'D'],
 | 
						|
}, MathtoolsMethods_js_1.MathtoolsMethods);
 | 
						|
new SymbolMap_js_1.DelimiterMap('mathtools-delimiters', ParseMethods_js_1.default.delimiter, {
 | 
						|
    '\\lparen': '(',
 | 
						|
    '\\rparen': ')'
 | 
						|
});
 | 
						|
new SymbolMap_js_1.CommandMap('mathtools-characters', {
 | 
						|
    ':': ['CenterColon', true]
 | 
						|
}, MathtoolsMethods_js_1.MathtoolsMethods);
 | 
						|
//# sourceMappingURL=MathtoolsMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 81274:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __assign = (this && this.__assign) || function () {
 | 
						|
    __assign = Object.assign || function(t) {
 | 
						|
        for (var s, i = 1, n = arguments.length; i < n; i++) {
 | 
						|
            s = arguments[i];
 | 
						|
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
 | 
						|
                t[p] = s[p];
 | 
						|
        }
 | 
						|
        return t;
 | 
						|
    };
 | 
						|
    return __assign.apply(this, arguments);
 | 
						|
};
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.MathtoolsMethods = void 0;
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var AmsMethods_js_1 = __webpack_require__(14880);
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var lengths_js_1 = __webpack_require__(56780);
 | 
						|
var Options_js_1 = __webpack_require__(4498);
 | 
						|
var NewcommandUtil_js_1 = __importDefault(__webpack_require__(87357));
 | 
						|
var NewcommandMethods_js_1 = __importDefault(__webpack_require__(39736));
 | 
						|
var MathtoolsUtil_js_1 = __webpack_require__(53946);
 | 
						|
exports.MathtoolsMethods = {
 | 
						|
    MtMatrix: function (parser, begin, open, close) {
 | 
						|
        var align = parser.GetBrackets("\\begin{".concat(begin.getName(), "}"), 'c');
 | 
						|
        return exports.MathtoolsMethods.Array(parser, begin, open, close, align);
 | 
						|
    },
 | 
						|
    MtSmallMatrix: function (parser, begin, open, close, align) {
 | 
						|
        if (!align) {
 | 
						|
            align = parser.GetBrackets("\\begin{".concat(begin.getName(), "}"), parser.options.mathtools['smallmatrix-align']);
 | 
						|
        }
 | 
						|
        return exports.MathtoolsMethods.Array(parser, begin, open, close, align, ParseUtil_js_1.default.Em(1 / 3), '.2em', 'S', 1);
 | 
						|
    },
 | 
						|
    MtMultlined: function (parser, begin) {
 | 
						|
        var _a;
 | 
						|
        var name = "\\begin{".concat(begin.getName(), "}");
 | 
						|
        var pos = parser.GetBrackets(name, parser.options.mathtools['multlined-pos'] || 'c');
 | 
						|
        var width = pos ? parser.GetBrackets(name, '') : '';
 | 
						|
        if (pos && !pos.match(/^[cbt]$/)) {
 | 
						|
            _a = __read([pos, width], 2), width = _a[0], pos = _a[1];
 | 
						|
        }
 | 
						|
        parser.Push(begin);
 | 
						|
        var item = parser.itemFactory.create('multlined', parser, begin);
 | 
						|
        item.arraydef = {
 | 
						|
            displaystyle: true,
 | 
						|
            rowspacing: '.5em',
 | 
						|
            width: width || 'auto',
 | 
						|
            columnwidth: '100%',
 | 
						|
        };
 | 
						|
        return ParseUtil_js_1.default.setArrayAlign(item, pos || 'c');
 | 
						|
    },
 | 
						|
    HandleShove: function (parser, name, shove) {
 | 
						|
        var top = parser.stack.Top();
 | 
						|
        if (top.kind !== 'multline' && top.kind !== 'multlined') {
 | 
						|
            throw new TexError_js_1.default('CommandInMultlined', '%1 can only appear within the multline or multlined environments', name);
 | 
						|
        }
 | 
						|
        if (top.Size()) {
 | 
						|
            throw new TexError_js_1.default('CommandAtTheBeginingOfLine', '%1 must come at the beginning of the line', name);
 | 
						|
        }
 | 
						|
        top.setProperty('shove', shove);
 | 
						|
        var shift = parser.GetBrackets(name);
 | 
						|
        var mml = parser.ParseArg(name);
 | 
						|
        if (shift) {
 | 
						|
            var mrow = parser.create('node', 'mrow', []);
 | 
						|
            var mspace = parser.create('node', 'mspace', [], { width: shift });
 | 
						|
            if (shove === 'left') {
 | 
						|
                mrow.appendChild(mspace);
 | 
						|
                mrow.appendChild(mml);
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                mrow.appendChild(mml);
 | 
						|
                mrow.appendChild(mspace);
 | 
						|
            }
 | 
						|
            mml = mrow;
 | 
						|
        }
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    SpreadLines: function (parser, begin) {
 | 
						|
        var e_1, _a;
 | 
						|
        if (parser.stack.env.closing === begin.getName()) {
 | 
						|
            delete parser.stack.env.closing;
 | 
						|
            var top_1 = parser.stack.Pop();
 | 
						|
            var mml = top_1.toMml();
 | 
						|
            var spread = top_1.getProperty('spread');
 | 
						|
            if (mml.isInferred) {
 | 
						|
                try {
 | 
						|
                    for (var _b = __values(NodeUtil_js_1.default.getChildren(mml)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                        var child = _c.value;
 | 
						|
                        MathtoolsUtil_js_1.MathtoolsUtil.spreadLines(child, spread);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
                finally {
 | 
						|
                    try {
 | 
						|
                        if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
                    }
 | 
						|
                    finally { if (e_1) throw e_1.error; }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                MathtoolsUtil_js_1.MathtoolsUtil.spreadLines(mml, spread);
 | 
						|
            }
 | 
						|
            parser.Push(mml);
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            var spread = parser.GetDimen("\\begin{".concat(begin.getName(), "}"));
 | 
						|
            begin.setProperty('spread', spread);
 | 
						|
            parser.Push(begin);
 | 
						|
        }
 | 
						|
    },
 | 
						|
    Cases: function (parser, begin, open, close, style) {
 | 
						|
        var array = parser.itemFactory.create('array').setProperty('casesEnv', begin.getName());
 | 
						|
        array.arraydef = {
 | 
						|
            rowspacing: '.2em',
 | 
						|
            columnspacing: '1em',
 | 
						|
            columnalign: 'left'
 | 
						|
        };
 | 
						|
        if (style === 'D') {
 | 
						|
            array.arraydef.displaystyle = true;
 | 
						|
        }
 | 
						|
        array.setProperties({ open: open, close: close });
 | 
						|
        parser.Push(begin);
 | 
						|
        return array;
 | 
						|
    },
 | 
						|
    MathLap: function (parser, name, pos, cramped) {
 | 
						|
        var style = parser.GetBrackets(name, '').trim();
 | 
						|
        var mml = parser.create('node', 'mstyle', [
 | 
						|
            parser.create('node', 'mpadded', [parser.ParseArg(name)], __assign({ width: 0 }, (pos === 'r' ? {} : { lspace: (pos === 'l' ? '-1width' : '-.5width') })))
 | 
						|
        ], { 'data-cramped': cramped });
 | 
						|
        MathtoolsUtil_js_1.MathtoolsUtil.setDisplayLevel(mml, style);
 | 
						|
        parser.Push(parser.create('node', 'TeXAtom', [mml]));
 | 
						|
    },
 | 
						|
    Cramped: function (parser, name) {
 | 
						|
        var style = parser.GetBrackets(name, '').trim();
 | 
						|
        var arg = parser.ParseArg(name);
 | 
						|
        var mml = parser.create('node', 'mstyle', [arg], { 'data-cramped': true });
 | 
						|
        MathtoolsUtil_js_1.MathtoolsUtil.setDisplayLevel(mml, style);
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    MtLap: function (parser, name, pos) {
 | 
						|
        var content = ParseUtil_js_1.default.internalMath(parser, parser.GetArgument(name), 0);
 | 
						|
        var mml = parser.create('node', 'mpadded', content, { width: 0 });
 | 
						|
        if (pos !== 'r') {
 | 
						|
            NodeUtil_js_1.default.setAttribute(mml, 'lspace', pos === 'l' ? '-1width' : '-.5width');
 | 
						|
        }
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    MathMakeBox: function (parser, name) {
 | 
						|
        var width = parser.GetBrackets(name);
 | 
						|
        var pos = parser.GetBrackets(name, 'c');
 | 
						|
        var mml = parser.create('node', 'mpadded', [parser.ParseArg(name)]);
 | 
						|
        if (width) {
 | 
						|
            NodeUtil_js_1.default.setAttribute(mml, 'width', width);
 | 
						|
        }
 | 
						|
        var align = (0, Options_js_1.lookup)(pos, { c: 'center', r: 'right' }, '');
 | 
						|
        if (align) {
 | 
						|
            NodeUtil_js_1.default.setAttribute(mml, 'data-align', align);
 | 
						|
        }
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    MathMBox: function (parser, name) {
 | 
						|
        parser.Push(parser.create('node', 'mrow', [parser.ParseArg(name)]));
 | 
						|
    },
 | 
						|
    UnderOverBracket: function (parser, name) {
 | 
						|
        var thickness = (0, lengths_js_1.length2em)(parser.GetBrackets(name, '.1em'), .1);
 | 
						|
        var height = parser.GetBrackets(name, '.2em');
 | 
						|
        var arg = parser.GetArgument(name);
 | 
						|
        var _a = __read((name.charAt(1) === 'o' ?
 | 
						|
            ['over', 'accent', 'bottom'] :
 | 
						|
            ['under', 'accentunder', 'top']), 3), pos = _a[0], accent = _a[1], border = _a[2];
 | 
						|
        var t = (0, lengths_js_1.em)(thickness);
 | 
						|
        var base = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
 | 
						|
        var copy = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
 | 
						|
        var script = parser.create('node', 'mpadded', [
 | 
						|
            parser.create('node', 'mphantom', [copy])
 | 
						|
        ], {
 | 
						|
            style: "border: ".concat(t, " solid; border-").concat(border, ": none"),
 | 
						|
            height: height,
 | 
						|
            depth: 0
 | 
						|
        });
 | 
						|
        var node = ParseUtil_js_1.default.underOver(parser, base, script, pos, true);
 | 
						|
        var munderover = NodeUtil_js_1.default.getChildAt(NodeUtil_js_1.default.getChildAt(node, 0), 0);
 | 
						|
        NodeUtil_js_1.default.setAttribute(munderover, accent, true);
 | 
						|
        parser.Push(node);
 | 
						|
    },
 | 
						|
    Aboxed: function (parser, name) {
 | 
						|
        var top = MathtoolsUtil_js_1.MathtoolsUtil.checkAlignment(parser, name);
 | 
						|
        if (top.row.length % 2 === 1) {
 | 
						|
            top.row.push(parser.create('node', 'mtd', []));
 | 
						|
        }
 | 
						|
        var arg = parser.GetArgument(name);
 | 
						|
        var rest = parser.string.substr(parser.i);
 | 
						|
        parser.string = arg + '&&\\endAboxed';
 | 
						|
        parser.i = 0;
 | 
						|
        var left = parser.GetUpTo(name, '&');
 | 
						|
        var right = parser.GetUpTo(name, '&');
 | 
						|
        parser.GetUpTo(name, '\\endAboxed');
 | 
						|
        var tex = ParseUtil_js_1.default.substituteArgs(parser, [left, right], '\\rlap{\\boxed{#1{}#2}}\\kern.267em\\phantom{#1}&\\phantom{{}#2}\\kern.267em');
 | 
						|
        parser.string = tex + rest;
 | 
						|
        parser.i = 0;
 | 
						|
    },
 | 
						|
    ArrowBetweenLines: function (parser, name) {
 | 
						|
        var top = MathtoolsUtil_js_1.MathtoolsUtil.checkAlignment(parser, name);
 | 
						|
        if (top.Size() || top.row.length) {
 | 
						|
            throw new TexError_js_1.default('BetweenLines', '%1 must be on a row by itself', name);
 | 
						|
        }
 | 
						|
        var star = parser.GetStar();
 | 
						|
        var symbol = parser.GetBrackets(name, '\\Updownarrow');
 | 
						|
        if (star) {
 | 
						|
            top.EndEntry();
 | 
						|
            top.EndEntry();
 | 
						|
        }
 | 
						|
        var tex = (star ? '\\quad' + symbol : symbol + '\\quad');
 | 
						|
        var mml = new TexParser_js_1.default(tex, parser.stack.env, parser.configuration).mml();
 | 
						|
        parser.Push(mml);
 | 
						|
        top.EndEntry();
 | 
						|
        top.EndRow();
 | 
						|
    },
 | 
						|
    VDotsWithin: function (parser, name) {
 | 
						|
        var top = parser.stack.Top();
 | 
						|
        var isFlush = (top.getProperty('flushspaceabove') === top.table.length);
 | 
						|
        var arg = '\\mmlToken{mi}{}' + parser.GetArgument(name) + '\\mmlToken{mi}{}';
 | 
						|
        var base = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
 | 
						|
        var mml = parser.create('node', 'mpadded', [
 | 
						|
            parser.create('node', 'mpadded', [
 | 
						|
                parser.create('node', 'mo', [
 | 
						|
                    parser.create('text', '\u22EE')
 | 
						|
                ])
 | 
						|
            ], __assign({ width: 0, lspace: '-.5width' }, (isFlush ? { height: '-.6em', voffset: '-.18em' } : {}))),
 | 
						|
            parser.create('node', 'mphantom', [base])
 | 
						|
        ], {
 | 
						|
            lspace: '.5width'
 | 
						|
        });
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    ShortVDotsWithin: function (parser, _name) {
 | 
						|
        var top = parser.stack.Top();
 | 
						|
        var star = parser.GetStar();
 | 
						|
        exports.MathtoolsMethods.FlushSpaceAbove(parser, '\\MTFlushSpaceAbove');
 | 
						|
        !star && top.EndEntry();
 | 
						|
        exports.MathtoolsMethods.VDotsWithin(parser, '\\vdotswithin');
 | 
						|
        star && top.EndEntry();
 | 
						|
        exports.MathtoolsMethods.FlushSpaceBelow(parser, '\\MTFlushSpaceBelow');
 | 
						|
    },
 | 
						|
    FlushSpaceAbove: function (parser, name) {
 | 
						|
        var top = MathtoolsUtil_js_1.MathtoolsUtil.checkAlignment(parser, name);
 | 
						|
        top.setProperty('flushspaceabove', top.table.length);
 | 
						|
        top.addRowSpacing('-' + parser.options.mathtools['shortvdotsadjustabove']);
 | 
						|
    },
 | 
						|
    FlushSpaceBelow: function (parser, name) {
 | 
						|
        var top = MathtoolsUtil_js_1.MathtoolsUtil.checkAlignment(parser, name);
 | 
						|
        top.Size() && top.EndEntry();
 | 
						|
        top.EndRow();
 | 
						|
        top.addRowSpacing('-' + parser.options.mathtools['shortvdotsadjustbelow']);
 | 
						|
    },
 | 
						|
    PairedDelimiters: function (parser, name, open, close, body, n, pre, post) {
 | 
						|
        if (body === void 0) { body = '#1'; }
 | 
						|
        if (n === void 0) { n = 1; }
 | 
						|
        if (pre === void 0) { pre = ''; }
 | 
						|
        if (post === void 0) { post = ''; }
 | 
						|
        var star = parser.GetStar();
 | 
						|
        var size = (star ? '' : parser.GetBrackets(name));
 | 
						|
        var _a = __read((star ? ['\\left', '\\right'] : size ? [size + 'l', size + 'r'] : ['', '']), 2), left = _a[0], right = _a[1];
 | 
						|
        var delim = (star ? '\\middle' : size || '');
 | 
						|
        if (n) {
 | 
						|
            var args = [];
 | 
						|
            for (var i = args.length; i < n; i++) {
 | 
						|
                args.push(parser.GetArgument(name));
 | 
						|
            }
 | 
						|
            pre = ParseUtil_js_1.default.substituteArgs(parser, args, pre);
 | 
						|
            body = ParseUtil_js_1.default.substituteArgs(parser, args, body);
 | 
						|
            post = ParseUtil_js_1.default.substituteArgs(parser, args, post);
 | 
						|
        }
 | 
						|
        body = body.replace(/\\delimsize/g, delim);
 | 
						|
        parser.string = [pre, left, open, body, right, close, post, parser.string.substr(parser.i)]
 | 
						|
            .reduce(function (s, part) { return ParseUtil_js_1.default.addArgs(parser, s, part); }, '');
 | 
						|
        parser.i = 0;
 | 
						|
        ParseUtil_js_1.default.checkMaxMacros(parser);
 | 
						|
    },
 | 
						|
    DeclarePairedDelimiter: function (parser, name) {
 | 
						|
        var cs = NewcommandUtil_js_1.default.GetCsNameArgument(parser, name);
 | 
						|
        var open = parser.GetArgument(name);
 | 
						|
        var close = parser.GetArgument(name);
 | 
						|
        MathtoolsUtil_js_1.MathtoolsUtil.addPairedDelims(parser.configuration, cs, [open, close]);
 | 
						|
    },
 | 
						|
    DeclarePairedDelimiterX: function (parser, name) {
 | 
						|
        var cs = NewcommandUtil_js_1.default.GetCsNameArgument(parser, name);
 | 
						|
        var n = NewcommandUtil_js_1.default.GetArgCount(parser, name);
 | 
						|
        var open = parser.GetArgument(name);
 | 
						|
        var close = parser.GetArgument(name);
 | 
						|
        var body = parser.GetArgument(name);
 | 
						|
        MathtoolsUtil_js_1.MathtoolsUtil.addPairedDelims(parser.configuration, cs, [open, close, body, n]);
 | 
						|
    },
 | 
						|
    DeclarePairedDelimiterXPP: function (parser, name) {
 | 
						|
        var cs = NewcommandUtil_js_1.default.GetCsNameArgument(parser, name);
 | 
						|
        var n = NewcommandUtil_js_1.default.GetArgCount(parser, name);
 | 
						|
        var pre = parser.GetArgument(name);
 | 
						|
        var open = parser.GetArgument(name);
 | 
						|
        var close = parser.GetArgument(name);
 | 
						|
        var post = parser.GetArgument(name);
 | 
						|
        var body = parser.GetArgument(name);
 | 
						|
        MathtoolsUtil_js_1.MathtoolsUtil.addPairedDelims(parser.configuration, cs, [open, close, body, n, pre, post]);
 | 
						|
    },
 | 
						|
    CenterColon: function (parser, _name, center, force, thin) {
 | 
						|
        if (force === void 0) { force = false; }
 | 
						|
        if (thin === void 0) { thin = false; }
 | 
						|
        var options = parser.options.mathtools;
 | 
						|
        var mml = parser.create('token', 'mo', {}, ':');
 | 
						|
        if (center && (options['centercolon'] || force)) {
 | 
						|
            var dy = options['centercolon-offset'];
 | 
						|
            mml = parser.create('node', 'mpadded', [mml], __assign({ voffset: dy, height: "+".concat(dy), depth: "-".concat(dy) }, (thin ? { width: options['thincolon-dw'], lspace: options['thincolon-dx'] } : {})));
 | 
						|
        }
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    Relation: function (parser, _name, tex, unicode) {
 | 
						|
        var options = parser.options.mathtools;
 | 
						|
        if (options['use-unicode'] && unicode) {
 | 
						|
            parser.Push(parser.create('token', 'mo', { texClass: MmlNode_js_1.TEXCLASS.REL }, unicode));
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            tex = '\\mathrel{' + tex.replace(/:/g, '\\MTThinColon').replace(/-/g, '\\mathrel{-}') + '}';
 | 
						|
            parser.string = ParseUtil_js_1.default.addArgs(parser, tex, parser.string.substr(parser.i));
 | 
						|
            parser.i = 0;
 | 
						|
        }
 | 
						|
    },
 | 
						|
    NArrow: function (parser, _name, c, dy) {
 | 
						|
        parser.Push(parser.create('node', 'TeXAtom', [
 | 
						|
            parser.create('token', 'mtext', {}, c),
 | 
						|
            parser.create('node', 'mpadded', [
 | 
						|
                parser.create('node', 'mpadded', [
 | 
						|
                    parser.create('node', 'menclose', [
 | 
						|
                        parser.create('node', 'mspace', [], { height: '.2em', depth: 0, width: '.4em' })
 | 
						|
                    ], { notation: 'updiagonalstrike', 'data-thickness': '.05em', 'data-padding': 0 })
 | 
						|
                ], { width: 0, lspace: '-.5width', voffset: dy }),
 | 
						|
                parser.create('node', 'mphantom', [
 | 
						|
                    parser.create('token', 'mtext', {}, c)
 | 
						|
                ])
 | 
						|
            ], { width: 0, lspace: '-.5width' })
 | 
						|
        ], { texClass: MmlNode_js_1.TEXCLASS.REL }));
 | 
						|
    },
 | 
						|
    SplitFrac: function (parser, name, display) {
 | 
						|
        var num = parser.ParseArg(name);
 | 
						|
        var den = parser.ParseArg(name);
 | 
						|
        parser.Push(parser.create('node', 'mstyle', [
 | 
						|
            parser.create('node', 'mfrac', [
 | 
						|
                parser.create('node', 'mstyle', [
 | 
						|
                    num,
 | 
						|
                    parser.create('token', 'mi'),
 | 
						|
                    parser.create('token', 'mspace', { width: '1em' })
 | 
						|
                ], { scriptlevel: 0 }),
 | 
						|
                parser.create('node', 'mstyle', [
 | 
						|
                    parser.create('token', 'mspace', { width: '1em' }),
 | 
						|
                    parser.create('token', 'mi'),
 | 
						|
                    den
 | 
						|
                ], { scriptlevel: 0 })
 | 
						|
            ], { linethickness: 0, numalign: 'left', denomalign: 'right' })
 | 
						|
        ], { displaystyle: display, scriptlevel: 0 }));
 | 
						|
    },
 | 
						|
    XMathStrut: function (parser, name) {
 | 
						|
        var dd = parser.GetBrackets(name);
 | 
						|
        var dh = parser.GetArgument(name);
 | 
						|
        dh = MathtoolsUtil_js_1.MathtoolsUtil.plusOrMinus(name, dh);
 | 
						|
        dd = MathtoolsUtil_js_1.MathtoolsUtil.plusOrMinus(name, dd || dh);
 | 
						|
        parser.Push(parser.create('node', 'TeXAtom', [
 | 
						|
            parser.create('node', 'mpadded', [
 | 
						|
                parser.create('node', 'mphantom', [
 | 
						|
                    parser.create('token', 'mo', { stretchy: false }, '(')
 | 
						|
                ])
 | 
						|
            ], { width: 0, height: dh + 'height', depth: dd + 'depth' })
 | 
						|
        ], { texClass: MmlNode_js_1.TEXCLASS.ORD }));
 | 
						|
    },
 | 
						|
    Prescript: function (parser, name) {
 | 
						|
        var sup = MathtoolsUtil_js_1.MathtoolsUtil.getScript(parser, name, 'sup');
 | 
						|
        var sub = MathtoolsUtil_js_1.MathtoolsUtil.getScript(parser, name, 'sub');
 | 
						|
        var base = MathtoolsUtil_js_1.MathtoolsUtil.getScript(parser, name, 'arg');
 | 
						|
        if (NodeUtil_js_1.default.isType(sup, 'none') && NodeUtil_js_1.default.isType(sub, 'none')) {
 | 
						|
            parser.Push(base);
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        var mml = parser.create('node', 'mmultiscripts', [base]);
 | 
						|
        NodeUtil_js_1.default.getChildren(mml).push(null, null);
 | 
						|
        NodeUtil_js_1.default.appendChildren(mml, [parser.create('node', 'mprescripts'), sub, sup]);
 | 
						|
        mml.setProperty('fixPrescript', true);
 | 
						|
        parser.Push(mml);
 | 
						|
    },
 | 
						|
    NewTagForm: function (parser, name, renew) {
 | 
						|
        if (renew === void 0) { renew = false; }
 | 
						|
        var tags = parser.tags;
 | 
						|
        if (!('mtFormats' in tags)) {
 | 
						|
            throw new TexError_js_1.default('TagsNotMT', '%1 can only be used with ams or mathtools tags', name);
 | 
						|
        }
 | 
						|
        var id = parser.GetArgument(name).trim();
 | 
						|
        if (!id) {
 | 
						|
            throw new TexError_js_1.default('InvalidTagFormID', 'Tag form name can\'t be empty');
 | 
						|
        }
 | 
						|
        var format = parser.GetBrackets(name, '');
 | 
						|
        var left = parser.GetArgument(name);
 | 
						|
        var right = parser.GetArgument(name);
 | 
						|
        if (!renew && tags.mtFormats.has(id)) {
 | 
						|
            throw new TexError_js_1.default('DuplicateTagForm', 'Duplicate tag form: %1', id);
 | 
						|
        }
 | 
						|
        tags.mtFormats.set(id, [left, right, format]);
 | 
						|
    },
 | 
						|
    UseTagForm: function (parser, name) {
 | 
						|
        var tags = parser.tags;
 | 
						|
        if (!('mtFormats' in tags)) {
 | 
						|
            throw new TexError_js_1.default('TagsNotMT', '%1 can only be used with ams or mathtools tags', name);
 | 
						|
        }
 | 
						|
        var id = parser.GetArgument(name).trim();
 | 
						|
        if (!id) {
 | 
						|
            tags.mtCurrent = null;
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        if (!tags.mtFormats.has(id)) {
 | 
						|
            throw new TexError_js_1.default('UndefinedTagForm', 'Undefined tag form: %1', id);
 | 
						|
        }
 | 
						|
        tags.mtCurrent = tags.mtFormats.get(id);
 | 
						|
    },
 | 
						|
    SetOptions: function (parser, name) {
 | 
						|
        var e_2, _a;
 | 
						|
        var options = parser.options.mathtools;
 | 
						|
        if (!options['allow-mathtoolsset']) {
 | 
						|
            throw new TexError_js_1.default('ForbiddenMathtoolsSet', '%1 is disabled', name);
 | 
						|
        }
 | 
						|
        var allowed = {};
 | 
						|
        Object.keys(options).forEach(function (id) {
 | 
						|
            if (id !== 'pariedDelimiters' && id !== 'tagforms' && id !== 'allow-mathtoolsset') {
 | 
						|
                allowed[id] = 1;
 | 
						|
            }
 | 
						|
        });
 | 
						|
        var args = parser.GetArgument(name);
 | 
						|
        var keys = ParseUtil_js_1.default.keyvalOptions(args, allowed, true);
 | 
						|
        try {
 | 
						|
            for (var _b = __values(Object.keys(keys)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var id = _c.value;
 | 
						|
                options[id] = keys[id];
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_2_1) { e_2 = { error: e_2_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_2) throw e_2.error; }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    Array: BaseMethods_js_1.default.Array,
 | 
						|
    Macro: BaseMethods_js_1.default.Macro,
 | 
						|
    xArrow: AmsMethods_js_1.AmsMethods.xArrow,
 | 
						|
    HandleRef: AmsMethods_js_1.AmsMethods.HandleRef,
 | 
						|
    AmsEqnArray: AmsMethods_js_1.AmsMethods.AmsEqnArray,
 | 
						|
    MacroWithTemplate: NewcommandMethods_js_1.default.MacroWithTemplate,
 | 
						|
};
 | 
						|
//# sourceMappingURL=MathtoolsMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 43928:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.MathtoolsTagFormat = void 0;
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var Tags_js_1 = __webpack_require__(75723);
 | 
						|
var tagID = 0;
 | 
						|
function MathtoolsTagFormat(config, jax) {
 | 
						|
    var tags = jax.parseOptions.options.tags;
 | 
						|
    if (tags !== 'base' && config.tags.hasOwnProperty(tags)) {
 | 
						|
        Tags_js_1.TagsFactory.add(tags, config.tags[tags]);
 | 
						|
    }
 | 
						|
    var TagClass = Tags_js_1.TagsFactory.create(jax.parseOptions.options.tags).constructor;
 | 
						|
    var TagFormat = (function (_super) {
 | 
						|
        __extends(TagFormat, _super);
 | 
						|
        function TagFormat() {
 | 
						|
            var e_1, _a;
 | 
						|
            var _this = _super.call(this) || this;
 | 
						|
            _this.mtFormats = new Map();
 | 
						|
            _this.mtCurrent = null;
 | 
						|
            var forms = jax.parseOptions.options.mathtools.tagforms;
 | 
						|
            try {
 | 
						|
                for (var _b = __values(Object.keys(forms)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                    var form = _c.value;
 | 
						|
                    if (!Array.isArray(forms[form]) || forms[form].length !== 3) {
 | 
						|
                        throw new TexError_js_1.default('InvalidTagFormDef', 'The tag form definition for "%1" should be an array fo three strings', form);
 | 
						|
                    }
 | 
						|
                    _this.mtFormats.set(form, forms[form]);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
            finally {
 | 
						|
                try {
 | 
						|
                    if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
                }
 | 
						|
                finally { if (e_1) throw e_1.error; }
 | 
						|
            }
 | 
						|
            return _this;
 | 
						|
        }
 | 
						|
        TagFormat.prototype.formatTag = function (tag) {
 | 
						|
            if (this.mtCurrent) {
 | 
						|
                var _a = __read(this.mtCurrent, 3), left = _a[0], right = _a[1], format = _a[2];
 | 
						|
                return (format ? "".concat(left).concat(format, "{").concat(tag, "}").concat(right) : "".concat(left).concat(tag).concat(right));
 | 
						|
            }
 | 
						|
            return _super.prototype.formatTag.call(this, tag);
 | 
						|
        };
 | 
						|
        return TagFormat;
 | 
						|
    }(TagClass));
 | 
						|
    tagID++;
 | 
						|
    var tagName = 'MathtoolsTags-' + tagID;
 | 
						|
    Tags_js_1.TagsFactory.add(tagName, TagFormat);
 | 
						|
    jax.parseOptions.options.tags = tagName;
 | 
						|
}
 | 
						|
exports.MathtoolsTagFormat = MathtoolsTagFormat;
 | 
						|
//# sourceMappingURL=MathtoolsTags.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 53946:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.MathtoolsUtil = void 0;
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var Symbol_js_1 = __webpack_require__(75735);
 | 
						|
var Options_js_1 = __webpack_require__(4498);
 | 
						|
var MathtoolsMethods_js_1 = __webpack_require__(81274);
 | 
						|
var MathtoolsConfiguration_js_1 = __webpack_require__(73414);
 | 
						|
exports.MathtoolsUtil = {
 | 
						|
    setDisplayLevel: function (mml, style) {
 | 
						|
        if (!style)
 | 
						|
            return;
 | 
						|
        var _a = __read((0, Options_js_1.lookup)(style, {
 | 
						|
            '\\displaystyle': [true, 0],
 | 
						|
            '\\textstyle': [false, 0],
 | 
						|
            '\\scriptstyle': [false, 1],
 | 
						|
            '\\scriptscriptstyle': [false, 2]
 | 
						|
        }, [null, null]), 2), display = _a[0], script = _a[1];
 | 
						|
        if (display !== null) {
 | 
						|
            mml.attributes.set('displaystyle', display);
 | 
						|
            mml.attributes.set('scriptlevel', script);
 | 
						|
        }
 | 
						|
    },
 | 
						|
    checkAlignment: function (parser, name) {
 | 
						|
        var top = parser.stack.Top();
 | 
						|
        if (top.kind !== BaseItems_js_1.EqnArrayItem.prototype.kind) {
 | 
						|
            throw new TexError_js_1.default('NotInAlignment', '%1 can only be used in aligment environments', name);
 | 
						|
        }
 | 
						|
        return top;
 | 
						|
    },
 | 
						|
    addPairedDelims: function (config, cs, args) {
 | 
						|
        var delims = config.handlers.retrieve(MathtoolsConfiguration_js_1.PAIREDDELIMS);
 | 
						|
        delims.add(cs, new Symbol_js_1.Macro(cs, MathtoolsMethods_js_1.MathtoolsMethods.PairedDelimiters, args));
 | 
						|
    },
 | 
						|
    spreadLines: function (mtable, spread) {
 | 
						|
        if (!mtable.isKind('mtable'))
 | 
						|
            return;
 | 
						|
        var rowspacing = mtable.attributes.get('rowspacing');
 | 
						|
        if (rowspacing) {
 | 
						|
            var add_1 = ParseUtil_js_1.default.dimen2em(spread);
 | 
						|
            rowspacing = rowspacing
 | 
						|
                .split(/ /)
 | 
						|
                .map(function (s) { return ParseUtil_js_1.default.Em(Math.max(0, ParseUtil_js_1.default.dimen2em(s) + add_1)); })
 | 
						|
                .join(' ');
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            rowspacing = spread;
 | 
						|
        }
 | 
						|
        mtable.attributes.set('rowspacing', rowspacing);
 | 
						|
    },
 | 
						|
    plusOrMinus: function (name, n) {
 | 
						|
        n = n.trim();
 | 
						|
        if (!n.match(/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)$/)) {
 | 
						|
            throw new TexError_js_1.default('NotANumber', 'Argument to %1 is not a number', name);
 | 
						|
        }
 | 
						|
        return (n.match(/^[-+]/) ? n : '+' + n);
 | 
						|
    },
 | 
						|
    getScript: function (parser, name, pos) {
 | 
						|
        var arg = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
        if (arg === '') {
 | 
						|
            return parser.create('node', 'none');
 | 
						|
        }
 | 
						|
        var format = parser.options.mathtools["prescript-".concat(pos, "-format")];
 | 
						|
        format && (arg = "".concat(format, "{").concat(arg, "}"));
 | 
						|
        return new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
 | 
						|
    }
 | 
						|
};
 | 
						|
//# sourceMappingURL=MathtoolsUtil.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 33289:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.MhchemConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var AmsMethods_js_1 = __webpack_require__(14880);
 | 
						|
var mhchemParser_js_1 = __webpack_require__(84752);
 | 
						|
var MhchemMethods = {};
 | 
						|
MhchemMethods.Macro = BaseMethods_js_1.default.Macro;
 | 
						|
MhchemMethods.xArrow = AmsMethods_js_1.AmsMethods.xArrow;
 | 
						|
MhchemMethods.Machine = function (parser, name, machine) {
 | 
						|
    var arg = parser.GetArgument(name);
 | 
						|
    var tex;
 | 
						|
    try {
 | 
						|
        tex = mhchemParser_js_1.mhchemParser.toTex(arg, machine);
 | 
						|
    }
 | 
						|
    catch (err) {
 | 
						|
        throw new TexError_js_1.default(err[0], err[1]);
 | 
						|
    }
 | 
						|
    parser.string = tex + parser.string.substr(parser.i);
 | 
						|
    parser.i = 0;
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('mhchem', {
 | 
						|
    ce: ['Machine', 'ce'],
 | 
						|
    pu: ['Machine', 'pu'],
 | 
						|
    longrightleftharpoons: [
 | 
						|
        'Macro',
 | 
						|
        '\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}'
 | 
						|
    ],
 | 
						|
    longRightleftharpoons: [
 | 
						|
        'Macro',
 | 
						|
        '\\stackrel{\\textstyle{-}\\!\\!{\\rightharpoonup}}{\\smash{\\leftharpoondown}}'
 | 
						|
    ],
 | 
						|
    longLeftrightharpoons: [
 | 
						|
        'Macro',
 | 
						|
        '\\stackrel{\\textstyle\\vphantom{{-}}{\\rightharpoonup}}{\\smash{{\\leftharpoondown}\\!\\!{-}}}'
 | 
						|
    ],
 | 
						|
    longleftrightarrows: [
 | 
						|
        'Macro',
 | 
						|
        '\\stackrel{\\longrightarrow}{\\smash{\\longleftarrow}\\Rule{0px}{.25em}{0px}}'
 | 
						|
    ],
 | 
						|
    tripledash: [
 | 
						|
        'Macro',
 | 
						|
        '\\vphantom{-}\\raise2mu{\\kern2mu\\tiny\\text{-}\\kern1mu\\text{-}\\kern1mu\\text{-}\\kern2mu}'
 | 
						|
    ],
 | 
						|
    xleftrightarrow: ['xArrow', 0x2194, 6, 6],
 | 
						|
    xrightleftharpoons: ['xArrow', 0x21CC, 5, 7],
 | 
						|
    xRightleftharpoons: ['xArrow', 0x21CC, 5, 7],
 | 
						|
    xLeftrightharpoons: ['xArrow', 0x21CC, 5, 7]
 | 
						|
}, MhchemMethods);
 | 
						|
exports.MhchemConfiguration = Configuration_js_1.Configuration.create('mhchem', { handler: { macro: ['mhchem'] } });
 | 
						|
//# sourceMappingURL=MhchemConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 37515:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
						|
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
						|
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
						|
    }
 | 
						|
    Object.defineProperty(o, k2, desc);
 | 
						|
}) : (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    o[k2] = m[k];
 | 
						|
}));
 | 
						|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
						|
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
						|
}) : function(o, v) {
 | 
						|
    o["default"] = v;
 | 
						|
});
 | 
						|
var __importStar = (this && this.__importStar) || function (mod) {
 | 
						|
    if (mod && mod.__esModule) return mod;
 | 
						|
    var result = {};
 | 
						|
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
						|
    __setModuleDefault(result, mod);
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.NewcommandConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var NewcommandItems_js_1 = __webpack_require__(36688);
 | 
						|
var NewcommandUtil_js_1 = __importDefault(__webpack_require__(87357));
 | 
						|
__webpack_require__(73949);
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var sm = __importStar(__webpack_require__(65695));
 | 
						|
var init = function (config) {
 | 
						|
    new sm.DelimiterMap(NewcommandUtil_js_1.default.NEW_DELIMITER, ParseMethods_js_1.default.delimiter, {});
 | 
						|
    new sm.CommandMap(NewcommandUtil_js_1.default.NEW_COMMAND, {}, {});
 | 
						|
    new sm.EnvironmentMap(NewcommandUtil_js_1.default.NEW_ENVIRONMENT, ParseMethods_js_1.default.environment, {}, {});
 | 
						|
    config.append(Configuration_js_1.Configuration.local({ handler: { character: [],
 | 
						|
            delimiter: [NewcommandUtil_js_1.default.NEW_DELIMITER],
 | 
						|
            macro: [NewcommandUtil_js_1.default.NEW_DELIMITER,
 | 
						|
                NewcommandUtil_js_1.default.NEW_COMMAND],
 | 
						|
            environment: [NewcommandUtil_js_1.default.NEW_ENVIRONMENT]
 | 
						|
        },
 | 
						|
        priority: -1 }));
 | 
						|
};
 | 
						|
exports.NewcommandConfiguration = Configuration_js_1.Configuration.create('newcommand', {
 | 
						|
    handler: {
 | 
						|
        macro: ['Newcommand-macros']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[NewcommandItems_js_1.BeginEnvItem.prototype.kind] = NewcommandItems_js_1.BeginEnvItem,
 | 
						|
        _a),
 | 
						|
    options: { maxMacros: 1000 },
 | 
						|
    init: init
 | 
						|
});
 | 
						|
//# sourceMappingURL=NewcommandConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 36688:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.BeginEnvItem = void 0;
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var StackItem_js_1 = __webpack_require__(26539);
 | 
						|
var BeginEnvItem = (function (_super) {
 | 
						|
    __extends(BeginEnvItem, _super);
 | 
						|
    function BeginEnvItem() {
 | 
						|
        return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(BeginEnvItem.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'beginEnv';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    Object.defineProperty(BeginEnvItem.prototype, "isOpen", {
 | 
						|
        get: function () {
 | 
						|
            return true;
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    BeginEnvItem.prototype.checkItem = function (item) {
 | 
						|
        if (item.isKind('end')) {
 | 
						|
            if (item.getName() !== this.getName()) {
 | 
						|
                throw new TexError_js_1.default('EnvBadEnd', '\\begin{%1} ended with \\end{%2}', this.getName(), item.getName());
 | 
						|
            }
 | 
						|
            return [[this.factory.create('mml', this.toMml())], true];
 | 
						|
        }
 | 
						|
        if (item.isKind('stop')) {
 | 
						|
            throw new TexError_js_1.default('EnvMissingEnd', 'Missing \\end{%1}', this.getName());
 | 
						|
        }
 | 
						|
        return _super.prototype.checkItem.call(this, item);
 | 
						|
    };
 | 
						|
    return BeginEnvItem;
 | 
						|
}(StackItem_js_1.BaseItem));
 | 
						|
exports.BeginEnvItem = BeginEnvItem;
 | 
						|
//# sourceMappingURL=NewcommandItems.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 73949:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var NewcommandMethods_js_1 = __importDefault(__webpack_require__(39736));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
new SymbolMap_js_1.CommandMap('Newcommand-macros', {
 | 
						|
    newcommand: 'NewCommand',
 | 
						|
    renewcommand: 'NewCommand',
 | 
						|
    newenvironment: 'NewEnvironment',
 | 
						|
    renewenvironment: 'NewEnvironment',
 | 
						|
    def: 'MacroDef',
 | 
						|
    'let': 'Let'
 | 
						|
}, NewcommandMethods_js_1.default);
 | 
						|
//# sourceMappingURL=NewcommandMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 39736:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    var desc = Object.getOwnPropertyDescriptor(m, k);
 | 
						|
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
 | 
						|
      desc = { enumerable: true, get: function() { return m[k]; } };
 | 
						|
    }
 | 
						|
    Object.defineProperty(o, k2, desc);
 | 
						|
}) : (function(o, m, k, k2) {
 | 
						|
    if (k2 === undefined) k2 = k;
 | 
						|
    o[k2] = m[k];
 | 
						|
}));
 | 
						|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
 | 
						|
    Object.defineProperty(o, "default", { enumerable: true, value: v });
 | 
						|
}) : function(o, v) {
 | 
						|
    o["default"] = v;
 | 
						|
});
 | 
						|
var __importStar = (this && this.__importStar) || function (mod) {
 | 
						|
    if (mod && mod.__esModule) return mod;
 | 
						|
    var result = {};
 | 
						|
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
 | 
						|
    __setModuleDefault(result, mod);
 | 
						|
    return result;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var sm = __importStar(__webpack_require__(65695));
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var NewcommandUtil_js_1 = __importDefault(__webpack_require__(87357));
 | 
						|
var NewcommandMethods = {};
 | 
						|
NewcommandMethods.NewCommand = function (parser, name) {
 | 
						|
    var cs = NewcommandUtil_js_1.default.GetCsNameArgument(parser, name);
 | 
						|
    var n = NewcommandUtil_js_1.default.GetArgCount(parser, name);
 | 
						|
    var opt = parser.GetBrackets(name);
 | 
						|
    var def = parser.GetArgument(name);
 | 
						|
    NewcommandUtil_js_1.default.addMacro(parser, cs, NewcommandMethods.Macro, [def, n, opt]);
 | 
						|
};
 | 
						|
NewcommandMethods.NewEnvironment = function (parser, name) {
 | 
						|
    var env = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
    var n = NewcommandUtil_js_1.default.GetArgCount(parser, name);
 | 
						|
    var opt = parser.GetBrackets(name);
 | 
						|
    var bdef = parser.GetArgument(name);
 | 
						|
    var edef = parser.GetArgument(name);
 | 
						|
    NewcommandUtil_js_1.default.addEnvironment(parser, env, NewcommandMethods.BeginEnv, [true, bdef, edef, n, opt]);
 | 
						|
};
 | 
						|
NewcommandMethods.MacroDef = function (parser, name) {
 | 
						|
    var cs = NewcommandUtil_js_1.default.GetCSname(parser, name);
 | 
						|
    var params = NewcommandUtil_js_1.default.GetTemplate(parser, name, '\\' + cs);
 | 
						|
    var def = parser.GetArgument(name);
 | 
						|
    !(params instanceof Array) ?
 | 
						|
        NewcommandUtil_js_1.default.addMacro(parser, cs, NewcommandMethods.Macro, [def, params]) :
 | 
						|
        NewcommandUtil_js_1.default.addMacro(parser, cs, NewcommandMethods.MacroWithTemplate, [def].concat(params));
 | 
						|
};
 | 
						|
NewcommandMethods.Let = function (parser, name) {
 | 
						|
    var cs = NewcommandUtil_js_1.default.GetCSname(parser, name);
 | 
						|
    var c = parser.GetNext();
 | 
						|
    if (c === '=') {
 | 
						|
        parser.i++;
 | 
						|
        c = parser.GetNext();
 | 
						|
    }
 | 
						|
    var handlers = parser.configuration.handlers;
 | 
						|
    if (c === '\\') {
 | 
						|
        name = NewcommandUtil_js_1.default.GetCSname(parser, name);
 | 
						|
        var macro_1 = handlers.get('delimiter').lookup('\\' + name);
 | 
						|
        if (macro_1) {
 | 
						|
            NewcommandUtil_js_1.default.addDelimiter(parser, '\\' + cs, macro_1.char, macro_1.attributes);
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        var map_1 = handlers.get('macro').applicable(name);
 | 
						|
        if (!map_1) {
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        if (map_1 instanceof sm.MacroMap) {
 | 
						|
            var macro_2 = map_1.lookup(name);
 | 
						|
            NewcommandUtil_js_1.default.addMacro(parser, cs, macro_2.func, macro_2.args, macro_2.symbol);
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        macro_1 = map_1.lookup(name);
 | 
						|
        var newArgs = NewcommandUtil_js_1.default.disassembleSymbol(cs, macro_1);
 | 
						|
        var method = function (p, _cs) {
 | 
						|
            var rest = [];
 | 
						|
            for (var _i = 2; _i < arguments.length; _i++) {
 | 
						|
                rest[_i - 2] = arguments[_i];
 | 
						|
            }
 | 
						|
            var symb = NewcommandUtil_js_1.default.assembleSymbol(rest);
 | 
						|
            return map_1.parser(p, symb);
 | 
						|
        };
 | 
						|
        NewcommandUtil_js_1.default.addMacro(parser, cs, method, newArgs);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    parser.i++;
 | 
						|
    var macro = handlers.get('delimiter').lookup(c);
 | 
						|
    if (macro) {
 | 
						|
        NewcommandUtil_js_1.default.addDelimiter(parser, '\\' + cs, macro.char, macro.attributes);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    NewcommandUtil_js_1.default.addMacro(parser, cs, NewcommandMethods.Macro, [c]);
 | 
						|
};
 | 
						|
NewcommandMethods.MacroWithTemplate = function (parser, name, text, n) {
 | 
						|
    var params = [];
 | 
						|
    for (var _i = 4; _i < arguments.length; _i++) {
 | 
						|
        params[_i - 4] = arguments[_i];
 | 
						|
    }
 | 
						|
    var argCount = parseInt(n, 10);
 | 
						|
    if (argCount) {
 | 
						|
        var args = [];
 | 
						|
        parser.GetNext();
 | 
						|
        if (params[0] && !NewcommandUtil_js_1.default.MatchParam(parser, params[0])) {
 | 
						|
            throw new TexError_js_1.default('MismatchUseDef', 'Use of %1 doesn\'t match its definition', name);
 | 
						|
        }
 | 
						|
        for (var i = 0; i < argCount; i++) {
 | 
						|
            args.push(NewcommandUtil_js_1.default.GetParameter(parser, name, params[i + 1]));
 | 
						|
        }
 | 
						|
        text = ParseUtil_js_1.default.substituteArgs(parser, args, text);
 | 
						|
    }
 | 
						|
    parser.string = ParseUtil_js_1.default.addArgs(parser, text, parser.string.slice(parser.i));
 | 
						|
    parser.i = 0;
 | 
						|
    ParseUtil_js_1.default.checkMaxMacros(parser);
 | 
						|
};
 | 
						|
NewcommandMethods.BeginEnv = function (parser, begin, bdef, edef, n, def) {
 | 
						|
    if (begin.getProperty('end') && parser.stack.env['closing'] === begin.getName()) {
 | 
						|
        delete parser.stack.env['closing'];
 | 
						|
        var rest = parser.string.slice(parser.i);
 | 
						|
        parser.string = edef;
 | 
						|
        parser.i = 0;
 | 
						|
        parser.Parse();
 | 
						|
        parser.string = rest;
 | 
						|
        parser.i = 0;
 | 
						|
        return parser.itemFactory.create('end').setProperty('name', begin.getName());
 | 
						|
    }
 | 
						|
    if (n) {
 | 
						|
        var args = [];
 | 
						|
        if (def != null) {
 | 
						|
            var optional = parser.GetBrackets('\\begin{' + begin.getName() + '}');
 | 
						|
            args.push(optional == null ? def : optional);
 | 
						|
        }
 | 
						|
        for (var i = args.length; i < n; i++) {
 | 
						|
            args.push(parser.GetArgument('\\begin{' + begin.getName() + '}'));
 | 
						|
        }
 | 
						|
        bdef = ParseUtil_js_1.default.substituteArgs(parser, args, bdef);
 | 
						|
        edef = ParseUtil_js_1.default.substituteArgs(parser, [], edef);
 | 
						|
    }
 | 
						|
    parser.string = ParseUtil_js_1.default.addArgs(parser, bdef, parser.string.slice(parser.i));
 | 
						|
    parser.i = 0;
 | 
						|
    return parser.itemFactory.create('beginEnv').setProperty('name', begin.getName());
 | 
						|
};
 | 
						|
NewcommandMethods.Macro = BaseMethods_js_1.default.Macro;
 | 
						|
exports["default"] = NewcommandMethods;
 | 
						|
//# sourceMappingURL=NewcommandMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 87357:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var Symbol_js_1 = __webpack_require__(75735);
 | 
						|
var NewcommandUtil;
 | 
						|
(function (NewcommandUtil) {
 | 
						|
    function disassembleSymbol(name, symbol) {
 | 
						|
        var newArgs = [name, symbol.char];
 | 
						|
        if (symbol.attributes) {
 | 
						|
            for (var key in symbol.attributes) {
 | 
						|
                newArgs.push(key);
 | 
						|
                newArgs.push(symbol.attributes[key]);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return newArgs;
 | 
						|
    }
 | 
						|
    NewcommandUtil.disassembleSymbol = disassembleSymbol;
 | 
						|
    function assembleSymbol(args) {
 | 
						|
        var name = args[0];
 | 
						|
        var char = args[1];
 | 
						|
        var attrs = {};
 | 
						|
        for (var i = 2; i < args.length; i = i + 2) {
 | 
						|
            attrs[args[i]] = args[i + 1];
 | 
						|
        }
 | 
						|
        return new Symbol_js_1.Symbol(name, char, attrs);
 | 
						|
    }
 | 
						|
    NewcommandUtil.assembleSymbol = assembleSymbol;
 | 
						|
    function GetCSname(parser, cmd) {
 | 
						|
        var c = parser.GetNext();
 | 
						|
        if (c !== '\\') {
 | 
						|
            throw new TexError_js_1.default('MissingCS', '%1 must be followed by a control sequence', cmd);
 | 
						|
        }
 | 
						|
        var cs = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(cmd));
 | 
						|
        return cs.substr(1);
 | 
						|
    }
 | 
						|
    NewcommandUtil.GetCSname = GetCSname;
 | 
						|
    function GetCsNameArgument(parser, name) {
 | 
						|
        var cs = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name));
 | 
						|
        if (cs.charAt(0) === '\\') {
 | 
						|
            cs = cs.substr(1);
 | 
						|
        }
 | 
						|
        if (!cs.match(/^(.|[a-z]+)$/i)) {
 | 
						|
            throw new TexError_js_1.default('IllegalControlSequenceName', 'Illegal control sequence name for %1', name);
 | 
						|
        }
 | 
						|
        return cs;
 | 
						|
    }
 | 
						|
    NewcommandUtil.GetCsNameArgument = GetCsNameArgument;
 | 
						|
    function GetArgCount(parser, name) {
 | 
						|
        var n = parser.GetBrackets(name);
 | 
						|
        if (n) {
 | 
						|
            n = ParseUtil_js_1.default.trimSpaces(n);
 | 
						|
            if (!n.match(/^[0-9]+$/)) {
 | 
						|
                throw new TexError_js_1.default('IllegalParamNumber', 'Illegal number of parameters specified in %1', name);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return n;
 | 
						|
    }
 | 
						|
    NewcommandUtil.GetArgCount = GetArgCount;
 | 
						|
    function GetTemplate(parser, cmd, cs) {
 | 
						|
        var c = parser.GetNext();
 | 
						|
        var params = [];
 | 
						|
        var n = 0;
 | 
						|
        var i = parser.i;
 | 
						|
        while (parser.i < parser.string.length) {
 | 
						|
            c = parser.GetNext();
 | 
						|
            if (c === '#') {
 | 
						|
                if (i !== parser.i) {
 | 
						|
                    params[n] = parser.string.substr(i, parser.i - i);
 | 
						|
                }
 | 
						|
                c = parser.string.charAt(++parser.i);
 | 
						|
                if (!c.match(/^[1-9]$/)) {
 | 
						|
                    throw new TexError_js_1.default('CantUseHash2', 'Illegal use of # in template for %1', cs);
 | 
						|
                }
 | 
						|
                if (parseInt(c) !== ++n) {
 | 
						|
                    throw new TexError_js_1.default('SequentialParam', 'Parameters for %1 must be numbered sequentially', cs);
 | 
						|
                }
 | 
						|
                i = parser.i + 1;
 | 
						|
            }
 | 
						|
            else if (c === '{') {
 | 
						|
                if (i !== parser.i) {
 | 
						|
                    params[n] = parser.string.substr(i, parser.i - i);
 | 
						|
                }
 | 
						|
                if (params.length > 0) {
 | 
						|
                    return [n.toString()].concat(params);
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    return n;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            parser.i++;
 | 
						|
        }
 | 
						|
        throw new TexError_js_1.default('MissingReplacementString', 'Missing replacement string for definition of %1', cmd);
 | 
						|
    }
 | 
						|
    NewcommandUtil.GetTemplate = GetTemplate;
 | 
						|
    function GetParameter(parser, name, param) {
 | 
						|
        if (param == null) {
 | 
						|
            return parser.GetArgument(name);
 | 
						|
        }
 | 
						|
        var i = parser.i;
 | 
						|
        var j = 0;
 | 
						|
        var hasBraces = 0;
 | 
						|
        while (parser.i < parser.string.length) {
 | 
						|
            var c = parser.string.charAt(parser.i);
 | 
						|
            if (c === '{') {
 | 
						|
                if (parser.i === i) {
 | 
						|
                    hasBraces = 1;
 | 
						|
                }
 | 
						|
                parser.GetArgument(name);
 | 
						|
                j = parser.i - i;
 | 
						|
            }
 | 
						|
            else if (MatchParam(parser, param)) {
 | 
						|
                if (hasBraces) {
 | 
						|
                    i++;
 | 
						|
                    j -= 2;
 | 
						|
                }
 | 
						|
                return parser.string.substr(i, j);
 | 
						|
            }
 | 
						|
            else if (c === '\\') {
 | 
						|
                parser.i++;
 | 
						|
                j++;
 | 
						|
                hasBraces = 0;
 | 
						|
                var match = parser.string.substr(parser.i).match(/[a-z]+|./i);
 | 
						|
                if (match) {
 | 
						|
                    parser.i += match[0].length;
 | 
						|
                    j = parser.i - i;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                parser.i++;
 | 
						|
                j++;
 | 
						|
                hasBraces = 0;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        throw new TexError_js_1.default('RunawayArgument', 'Runaway argument for %1?', name);
 | 
						|
    }
 | 
						|
    NewcommandUtil.GetParameter = GetParameter;
 | 
						|
    function MatchParam(parser, param) {
 | 
						|
        if (parser.string.substr(parser.i, param.length) !== param) {
 | 
						|
            return 0;
 | 
						|
        }
 | 
						|
        if (param.match(/\\[a-z]+$/i) &&
 | 
						|
            parser.string.charAt(parser.i + param.length).match(/[a-z]/i)) {
 | 
						|
            return 0;
 | 
						|
        }
 | 
						|
        parser.i += param.length;
 | 
						|
        return 1;
 | 
						|
    }
 | 
						|
    NewcommandUtil.MatchParam = MatchParam;
 | 
						|
    function addDelimiter(parser, cs, char, attr) {
 | 
						|
        var handlers = parser.configuration.handlers;
 | 
						|
        var handler = handlers.retrieve(NewcommandUtil.NEW_DELIMITER);
 | 
						|
        handler.add(cs, new Symbol_js_1.Symbol(cs, char, attr));
 | 
						|
    }
 | 
						|
    NewcommandUtil.addDelimiter = addDelimiter;
 | 
						|
    function addMacro(parser, cs, func, attr, symbol) {
 | 
						|
        if (symbol === void 0) { symbol = ''; }
 | 
						|
        var handlers = parser.configuration.handlers;
 | 
						|
        var handler = handlers.retrieve(NewcommandUtil.NEW_COMMAND);
 | 
						|
        handler.add(cs, new Symbol_js_1.Macro(symbol ? symbol : cs, func, attr));
 | 
						|
    }
 | 
						|
    NewcommandUtil.addMacro = addMacro;
 | 
						|
    function addEnvironment(parser, env, func, attr) {
 | 
						|
        var handlers = parser.configuration.handlers;
 | 
						|
        var handler = handlers.retrieve(NewcommandUtil.NEW_ENVIRONMENT);
 | 
						|
        handler.add(env, new Symbol_js_1.Macro(env, func, attr));
 | 
						|
    }
 | 
						|
    NewcommandUtil.addEnvironment = addEnvironment;
 | 
						|
    NewcommandUtil.NEW_DELIMITER = 'new-Delimiter';
 | 
						|
    NewcommandUtil.NEW_COMMAND = 'new-Command';
 | 
						|
    NewcommandUtil.NEW_ENVIRONMENT = 'new-Environment';
 | 
						|
})(NewcommandUtil || (NewcommandUtil = {}));
 | 
						|
exports["default"] = NewcommandUtil;
 | 
						|
//# sourceMappingURL=NewcommandUtil.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 92633:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.NoErrorsConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
function noErrors(factory, message, _id, expr) {
 | 
						|
    var mtext = factory.create('token', 'mtext', {}, expr.replace(/\n/g, ' '));
 | 
						|
    var error = factory.create('node', 'merror', [mtext], { 'data-mjx-error': message, title: message });
 | 
						|
    return error;
 | 
						|
}
 | 
						|
exports.NoErrorsConfiguration = Configuration_js_1.Configuration.create('noerrors', { nodes: { 'error': noErrors } });
 | 
						|
//# sourceMappingURL=NoErrorsConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 31664:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.NoUndefinedConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
function noUndefined(parser, name) {
 | 
						|
    var e_1, _a;
 | 
						|
    var textNode = parser.create('text', '\\' + name);
 | 
						|
    var options = parser.options.noundefined || {};
 | 
						|
    var def = {};
 | 
						|
    try {
 | 
						|
        for (var _b = __values(['color', 'background', 'size']), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
            var id = _c.value;
 | 
						|
            if (options[id]) {
 | 
						|
                def['math' + id] = options[id];
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
        }
 | 
						|
        finally { if (e_1) throw e_1.error; }
 | 
						|
    }
 | 
						|
    parser.Push(parser.create('node', 'mtext', [], def, textNode));
 | 
						|
}
 | 
						|
exports.NoUndefinedConfiguration = Configuration_js_1.Configuration.create('noundefined', {
 | 
						|
    fallback: { macro: noUndefined },
 | 
						|
    options: {
 | 
						|
        noundefined: {
 | 
						|
            color: 'red',
 | 
						|
            background: '',
 | 
						|
            size: ''
 | 
						|
        }
 | 
						|
    },
 | 
						|
    priority: 3
 | 
						|
});
 | 
						|
//# sourceMappingURL=NoUndefinedConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 69553:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.PhysicsConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var PhysicsItems_js_1 = __webpack_require__(95389);
 | 
						|
__webpack_require__(38125);
 | 
						|
exports.PhysicsConfiguration = Configuration_js_1.Configuration.create('physics', {
 | 
						|
    handler: {
 | 
						|
        macro: [
 | 
						|
            'Physics-automatic-bracing-macros',
 | 
						|
            'Physics-vector-macros',
 | 
						|
            'Physics-vector-mo',
 | 
						|
            'Physics-vector-mi',
 | 
						|
            'Physics-derivative-macros',
 | 
						|
            'Physics-expressions-macros',
 | 
						|
            'Physics-quick-quad-macros',
 | 
						|
            'Physics-bra-ket-macros',
 | 
						|
            'Physics-matrix-macros'
 | 
						|
        ],
 | 
						|
        character: ['Physics-characters'],
 | 
						|
        environment: ['Physics-aux-envs']
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[PhysicsItems_js_1.AutoOpen.prototype.kind] = PhysicsItems_js_1.AutoOpen,
 | 
						|
        _a),
 | 
						|
    options: {
 | 
						|
        physics: {
 | 
						|
            italicdiff: false,
 | 
						|
            arrowdel: false
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=PhysicsConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 95389:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.AutoOpen = void 0;
 | 
						|
var StackItem_js_1 = __webpack_require__(26539);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var AutoOpen = (function (_super) {
 | 
						|
    __extends(AutoOpen, _super);
 | 
						|
    function AutoOpen() {
 | 
						|
        var _this = _super !== null && _super.apply(this, arguments) || this;
 | 
						|
        _this.openCount = 0;
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(AutoOpen.prototype, "kind", {
 | 
						|
        get: function () {
 | 
						|
            return 'auto open';
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    Object.defineProperty(AutoOpen.prototype, "isOpen", {
 | 
						|
        get: function () {
 | 
						|
            return true;
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    AutoOpen.prototype.toMml = function () {
 | 
						|
        var parser = this.factory.configuration.parser;
 | 
						|
        var right = this.getProperty('right');
 | 
						|
        if (this.getProperty('smash')) {
 | 
						|
            var mml_1 = _super.prototype.toMml.call(this);
 | 
						|
            var smash = parser.create('node', 'mpadded', [mml_1], { height: 0, depth: 0 });
 | 
						|
            this.Clear();
 | 
						|
            this.Push(parser.create('node', 'TeXAtom', [smash]));
 | 
						|
        }
 | 
						|
        if (right) {
 | 
						|
            this.Push(new TexParser_js_1.default(right, parser.stack.env, parser.configuration).mml());
 | 
						|
        }
 | 
						|
        var mml = ParseUtil_js_1.default.fenced(this.factory.configuration, this.getProperty('open'), _super.prototype.toMml.call(this), this.getProperty('close'), this.getProperty('big'));
 | 
						|
        NodeUtil_js_1.default.removeProperties(mml, 'open', 'close', 'texClass');
 | 
						|
        return mml;
 | 
						|
    };
 | 
						|
    AutoOpen.prototype.checkItem = function (item) {
 | 
						|
        if (item.isKind('mml') && item.Size() === 1) {
 | 
						|
            var mml = item.toMml();
 | 
						|
            if (mml.isKind('mo') && mml.getText() === this.getProperty('open')) {
 | 
						|
                this.openCount++;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        var close = item.getProperty('autoclose');
 | 
						|
        if (close && close === this.getProperty('close') && !this.openCount--) {
 | 
						|
            if (this.getProperty('ignore')) {
 | 
						|
                this.Clear();
 | 
						|
                return [[], true];
 | 
						|
            }
 | 
						|
            return [[this.toMml()], true];
 | 
						|
        }
 | 
						|
        return _super.prototype.checkItem.call(this, item);
 | 
						|
    };
 | 
						|
    AutoOpen.errors = Object.assign(Object.create(StackItem_js_1.BaseItem.errors), {
 | 
						|
        'stop': ['ExtraOrMissingDelims', 'Extra open or missing close delimiter']
 | 
						|
    });
 | 
						|
    return AutoOpen;
 | 
						|
}(StackItem_js_1.BaseItem));
 | 
						|
exports.AutoOpen = AutoOpen;
 | 
						|
//# sourceMappingURL=PhysicsItems.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 38125:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var PhysicsMethods_js_1 = __importDefault(__webpack_require__(92909));
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var ParseMethods_js_1 = __importDefault(__webpack_require__(2362));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-automatic-bracing-macros', {
 | 
						|
    'quantity': 'Quantity',
 | 
						|
    'qty': 'Quantity',
 | 
						|
    'pqty': ['Quantity', '(', ')', true],
 | 
						|
    'bqty': ['Quantity', '[', ']', true],
 | 
						|
    'vqty': ['Quantity', '|', '|', true],
 | 
						|
    'Bqty': ['Quantity', '\\{', '\\}', true],
 | 
						|
    'absolutevalue': ['Quantity', '|', '|', true],
 | 
						|
    'abs': ['Quantity', '|', '|', true],
 | 
						|
    'norm': ['Quantity', '\\|', '\\|', true],
 | 
						|
    'evaluated': 'Eval',
 | 
						|
    'eval': 'Eval',
 | 
						|
    'order': ['Quantity', '(', ')', true, 'O',
 | 
						|
        TexConstants_js_1.TexConstant.Variant.CALLIGRAPHIC],
 | 
						|
    'commutator': 'Commutator',
 | 
						|
    'comm': 'Commutator',
 | 
						|
    'anticommutator': ['Commutator', '\\{', '\\}'],
 | 
						|
    'acomm': ['Commutator', '\\{', '\\}'],
 | 
						|
    'poissonbracket': ['Commutator', '\\{', '\\}'],
 | 
						|
    'pb': ['Commutator', '\\{', '\\}']
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.CharacterMap('Physics-vector-mo', ParseMethods_js_1.default.mathchar0mo, {
 | 
						|
    dotproduct: ['\u22C5', { mathvariant: TexConstants_js_1.TexConstant.Variant.BOLD }],
 | 
						|
    vdot: ['\u22C5', { mathvariant: TexConstants_js_1.TexConstant.Variant.BOLD }],
 | 
						|
    crossproduct: '\u00D7',
 | 
						|
    cross: '\u00D7',
 | 
						|
    cp: '\u00D7',
 | 
						|
    gradientnabla: ['\u2207', { mathvariant: TexConstants_js_1.TexConstant.Variant.BOLD }]
 | 
						|
});
 | 
						|
new SymbolMap_js_1.CharacterMap('Physics-vector-mi', ParseMethods_js_1.default.mathchar0mi, {
 | 
						|
    real: ['\u211C', { mathvariant: TexConstants_js_1.TexConstant.Variant.NORMAL }],
 | 
						|
    imaginary: ['\u2111', { mathvariant: TexConstants_js_1.TexConstant.Variant.NORMAL }]
 | 
						|
});
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-vector-macros', {
 | 
						|
    'vnabla': 'Vnabla',
 | 
						|
    'vectorbold': 'VectorBold',
 | 
						|
    'vb': 'VectorBold',
 | 
						|
    'vectorarrow': ['StarMacro', 1, '\\vec{\\vb', '{#1}}'],
 | 
						|
    'va': ['StarMacro', 1, '\\vec{\\vb', '{#1}}'],
 | 
						|
    'vectorunit': ['StarMacro', 1, '\\hat{\\vb', '{#1}}'],
 | 
						|
    'vu': ['StarMacro', 1, '\\hat{\\vb', '{#1}}'],
 | 
						|
    'gradient': ['OperatorApplication', '\\vnabla', '(', '['],
 | 
						|
    'grad': ['OperatorApplication', '\\vnabla', '(', '['],
 | 
						|
    'divergence': ['VectorOperator', '\\vnabla\\vdot', '(', '['],
 | 
						|
    'div': ['VectorOperator', '\\vnabla\\vdot', '(', '['],
 | 
						|
    'curl': ['VectorOperator', '\\vnabla\\crossproduct', '(', '['],
 | 
						|
    'laplacian': ['OperatorApplication', '\\nabla^2', '(', '['],
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-expressions-macros', {
 | 
						|
    'sin': 'Expression',
 | 
						|
    'sinh': 'Expression',
 | 
						|
    'arcsin': 'Expression',
 | 
						|
    'asin': 'Expression',
 | 
						|
    'cos': 'Expression',
 | 
						|
    'cosh': 'Expression',
 | 
						|
    'arccos': 'Expression',
 | 
						|
    'acos': 'Expression',
 | 
						|
    'tan': 'Expression',
 | 
						|
    'tanh': 'Expression',
 | 
						|
    'arctan': 'Expression',
 | 
						|
    'atan': 'Expression',
 | 
						|
    'csc': 'Expression',
 | 
						|
    'csch': 'Expression',
 | 
						|
    'arccsc': 'Expression',
 | 
						|
    'acsc': 'Expression',
 | 
						|
    'sec': 'Expression',
 | 
						|
    'sech': 'Expression',
 | 
						|
    'arcsec': 'Expression',
 | 
						|
    'asec': 'Expression',
 | 
						|
    'cot': 'Expression',
 | 
						|
    'coth': 'Expression',
 | 
						|
    'arccot': 'Expression',
 | 
						|
    'acot': 'Expression',
 | 
						|
    'exp': ['Expression', false],
 | 
						|
    'log': 'Expression',
 | 
						|
    'ln': 'Expression',
 | 
						|
    'det': ['Expression', false],
 | 
						|
    'Pr': ['Expression', false],
 | 
						|
    'tr': ['Expression', false],
 | 
						|
    'trace': ['Expression', false, 'tr'],
 | 
						|
    'Tr': ['Expression', false],
 | 
						|
    'Trace': ['Expression', false, 'Tr'],
 | 
						|
    'rank': 'NamedFn',
 | 
						|
    'erf': ['Expression', false],
 | 
						|
    'Residue': ['Macro', '\\mathrm{Res}'],
 | 
						|
    'Res': ['OperatorApplication', '\\Residue', '(', '[', '{'],
 | 
						|
    'principalvalue': ['OperatorApplication', '{\\cal P}'],
 | 
						|
    'pv': ['OperatorApplication', '{\\cal P}'],
 | 
						|
    'PV': ['OperatorApplication', '{\\rm P.V.}'],
 | 
						|
    'Re': ['OperatorApplication', '\\mathrm{Re}', '{'],
 | 
						|
    'Im': ['OperatorApplication', '\\mathrm{Im}', '{'],
 | 
						|
    'sine': ['NamedFn', 'sin'],
 | 
						|
    'hypsine': ['NamedFn', 'sinh'],
 | 
						|
    'arcsine': ['NamedFn', 'arcsin'],
 | 
						|
    'asine': ['NamedFn', 'asin'],
 | 
						|
    'cosine': ['NamedFn', 'cos'],
 | 
						|
    'hypcosine': ['NamedFn', 'cosh'],
 | 
						|
    'arccosine': ['NamedFn', 'arccos'],
 | 
						|
    'acosine': ['NamedFn', 'acos'],
 | 
						|
    'tangent': ['NamedFn', 'tan'],
 | 
						|
    'hyptangent': ['NamedFn', 'tanh'],
 | 
						|
    'arctangent': ['NamedFn', 'arctan'],
 | 
						|
    'atangent': ['NamedFn', 'atan'],
 | 
						|
    'cosecant': ['NamedFn', 'csc'],
 | 
						|
    'hypcosecant': ['NamedFn', 'csch'],
 | 
						|
    'arccosecant': ['NamedFn', 'arccsc'],
 | 
						|
    'acosecant': ['NamedFn', 'acsc'],
 | 
						|
    'secant': ['NamedFn', 'sec'],
 | 
						|
    'hypsecant': ['NamedFn', 'sech'],
 | 
						|
    'arcsecant': ['NamedFn', 'arcsec'],
 | 
						|
    'asecant': ['NamedFn', 'asec'],
 | 
						|
    'cotangent': ['NamedFn', 'cot'],
 | 
						|
    'hypcotangent': ['NamedFn', 'coth'],
 | 
						|
    'arccotangent': ['NamedFn', 'arccot'],
 | 
						|
    'acotangent': ['NamedFn', 'acot'],
 | 
						|
    'exponential': ['NamedFn', 'exp'],
 | 
						|
    'logarithm': ['NamedFn', 'log'],
 | 
						|
    'naturallogarithm': ['NamedFn', 'ln'],
 | 
						|
    'determinant': ['NamedFn', 'det'],
 | 
						|
    'Probability': ['NamedFn', 'Pr'],
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-quick-quad-macros', {
 | 
						|
    'qqtext': 'Qqtext',
 | 
						|
    'qq': 'Qqtext',
 | 
						|
    'qcomma': ['Macro', '\\qqtext*{,}'],
 | 
						|
    'qc': ['Macro', '\\qqtext*{,}'],
 | 
						|
    'qcc': ['Qqtext', 'c.c.'],
 | 
						|
    'qif': ['Qqtext', 'if'],
 | 
						|
    'qthen': ['Qqtext', 'then'],
 | 
						|
    'qelse': ['Qqtext', 'else'],
 | 
						|
    'qotherwise': ['Qqtext', 'otherwise'],
 | 
						|
    'qunless': ['Qqtext', 'unless'],
 | 
						|
    'qgiven': ['Qqtext', 'given'],
 | 
						|
    'qusing': ['Qqtext', 'using'],
 | 
						|
    'qassume': ['Qqtext', 'assume'],
 | 
						|
    'qsince': ['Qqtext', 'since'],
 | 
						|
    'qlet': ['Qqtext', 'let'],
 | 
						|
    'qfor': ['Qqtext', 'for'],
 | 
						|
    'qall': ['Qqtext', 'all'],
 | 
						|
    'qeven': ['Qqtext', 'even'],
 | 
						|
    'qodd': ['Qqtext', 'odd'],
 | 
						|
    'qinteger': ['Qqtext', 'integer'],
 | 
						|
    'qand': ['Qqtext', 'and'],
 | 
						|
    'qor': ['Qqtext', 'or'],
 | 
						|
    'qas': ['Qqtext', 'as'],
 | 
						|
    'qin': ['Qqtext', 'in'],
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-derivative-macros', {
 | 
						|
    'diffd': 'DiffD',
 | 
						|
    'flatfrac': ['Macro', '\\left.#1\\middle/#2\\right.', 2],
 | 
						|
    'differential': ['Differential', '\\diffd'],
 | 
						|
    'dd': ['Differential', '\\diffd'],
 | 
						|
    'variation': ['Differential', '\\delta'],
 | 
						|
    'var': ['Differential', '\\delta'],
 | 
						|
    'derivative': ['Derivative', 2, '\\diffd'],
 | 
						|
    'dv': ['Derivative', 2, '\\diffd'],
 | 
						|
    'partialderivative': ['Derivative', 3, '\\partial'],
 | 
						|
    'pderivative': ['Derivative', 3, '\\partial'],
 | 
						|
    'pdv': ['Derivative', 3, '\\partial'],
 | 
						|
    'functionalderivative': ['Derivative', 2, '\\delta'],
 | 
						|
    'fderivative': ['Derivative', 2, '\\delta'],
 | 
						|
    'fdv': ['Derivative', 2, '\\delta'],
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-bra-ket-macros', {
 | 
						|
    'bra': 'Bra',
 | 
						|
    'ket': 'Ket',
 | 
						|
    'innerproduct': 'BraKet',
 | 
						|
    'ip': 'BraKet',
 | 
						|
    'braket': 'BraKet',
 | 
						|
    'outerproduct': 'KetBra',
 | 
						|
    'dyad': 'KetBra',
 | 
						|
    'ketbra': 'KetBra',
 | 
						|
    'op': 'KetBra',
 | 
						|
    'expectationvalue': 'Expectation',
 | 
						|
    'expval': 'Expectation',
 | 
						|
    'ev': 'Expectation',
 | 
						|
    'matrixelement': 'MatrixElement',
 | 
						|
    'matrixel': 'MatrixElement',
 | 
						|
    'mel': 'MatrixElement',
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.CommandMap('Physics-matrix-macros', {
 | 
						|
    'matrixquantity': 'MatrixQuantity',
 | 
						|
    'mqty': 'MatrixQuantity',
 | 
						|
    'pmqty': ['Macro', '\\mqty(#1)', 1],
 | 
						|
    'Pmqty': ['Macro', '\\mqty*(#1)', 1],
 | 
						|
    'bmqty': ['Macro', '\\mqty[#1]', 1],
 | 
						|
    'vmqty': ['Macro', '\\mqty|#1|', 1],
 | 
						|
    'smallmatrixquantity': ['MatrixQuantity', true],
 | 
						|
    'smqty': ['MatrixQuantity', true],
 | 
						|
    'spmqty': ['Macro', '\\smqty(#1)', 1],
 | 
						|
    'sPmqty': ['Macro', '\\smqty*(#1)', 1],
 | 
						|
    'sbmqty': ['Macro', '\\smqty[#1]', 1],
 | 
						|
    'svmqty': ['Macro', '\\smqty|#1|', 1],
 | 
						|
    'matrixdeterminant': ['Macro', '\\vmqty{#1}', 1],
 | 
						|
    'mdet': ['Macro', '\\vmqty{#1}', 1],
 | 
						|
    'smdet': ['Macro', '\\svmqty{#1}', 1],
 | 
						|
    'identitymatrix': 'IdentityMatrix',
 | 
						|
    'imat': 'IdentityMatrix',
 | 
						|
    'xmatrix': 'XMatrix',
 | 
						|
    'xmat': 'XMatrix',
 | 
						|
    'zeromatrix': ['Macro', '\\xmat{0}{#1}{#2}', 2],
 | 
						|
    'zmat': ['Macro', '\\xmat{0}{#1}{#2}', 2],
 | 
						|
    'paulimatrix': 'PauliMatrix',
 | 
						|
    'pmat': 'PauliMatrix',
 | 
						|
    'diagonalmatrix': 'DiagonalMatrix',
 | 
						|
    'dmat': 'DiagonalMatrix',
 | 
						|
    'antidiagonalmatrix': ['DiagonalMatrix', true],
 | 
						|
    'admat': ['DiagonalMatrix', true]
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.EnvironmentMap('Physics-aux-envs', ParseMethods_js_1.default.environment, {
 | 
						|
    smallmatrix: ['Array', null, null, null, 'c', '0.333em', '.2em', 'S', 1]
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
new SymbolMap_js_1.MacroMap('Physics-characters', {
 | 
						|
    '|': ['AutoClose', MmlNode_js_1.TEXCLASS.ORD],
 | 
						|
    ')': 'AutoClose',
 | 
						|
    ']': 'AutoClose'
 | 
						|
}, PhysicsMethods_js_1.default);
 | 
						|
//# sourceMappingURL=PhysicsMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 92909:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var NodeFactory_js_1 = __webpack_require__(12443);
 | 
						|
var PhysicsMethods = {};
 | 
						|
var pairs = {
 | 
						|
    '(': ')',
 | 
						|
    '[': ']',
 | 
						|
    '{': '}',
 | 
						|
    '|': '|',
 | 
						|
};
 | 
						|
var biggs = /^(b|B)i(g{1,2})$/;
 | 
						|
PhysicsMethods.Quantity = function (parser, name, open, close, arg, named, variant) {
 | 
						|
    if (open === void 0) { open = '('; }
 | 
						|
    if (close === void 0) { close = ')'; }
 | 
						|
    if (arg === void 0) { arg = false; }
 | 
						|
    if (named === void 0) { named = ''; }
 | 
						|
    if (variant === void 0) { variant = ''; }
 | 
						|
    var star = arg ? parser.GetStar() : false;
 | 
						|
    var next = parser.GetNext();
 | 
						|
    var position = parser.i;
 | 
						|
    var big = null;
 | 
						|
    if (next === '\\') {
 | 
						|
        parser.i++;
 | 
						|
        big = parser.GetCS();
 | 
						|
        if (!big.match(biggs)) {
 | 
						|
            var empty = parser.create('node', 'mrow');
 | 
						|
            parser.Push(ParseUtil_js_1.default.fenced(parser.configuration, open, empty, close));
 | 
						|
            parser.i = position;
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        next = parser.GetNext();
 | 
						|
    }
 | 
						|
    var right = pairs[next];
 | 
						|
    if (arg && next !== '{') {
 | 
						|
        throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);
 | 
						|
    }
 | 
						|
    if (!right) {
 | 
						|
        var empty = parser.create('node', 'mrow');
 | 
						|
        parser.Push(ParseUtil_js_1.default.fenced(parser.configuration, open, empty, close));
 | 
						|
        parser.i = position;
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if (named) {
 | 
						|
        var mml = parser.create('token', 'mi', { texClass: MmlNode_js_1.TEXCLASS.OP }, named);
 | 
						|
        if (variant) {
 | 
						|
            NodeUtil_js_1.default.setAttribute(mml, 'mathvariant', variant);
 | 
						|
        }
 | 
						|
        parser.Push(parser.itemFactory.create('fn', mml));
 | 
						|
    }
 | 
						|
    if (next === '{') {
 | 
						|
        var argument = parser.GetArgument(name);
 | 
						|
        next = arg ? open : '\\{';
 | 
						|
        right = arg ? close : '\\}';
 | 
						|
        argument = star ? next + ' ' + argument + ' ' + right :
 | 
						|
            (big ?
 | 
						|
                '\\' + big + 'l' + next + ' ' + argument + ' ' + '\\' + big + 'r' + right :
 | 
						|
                '\\left' + next + ' ' + argument + ' ' + '\\right' + right);
 | 
						|
        parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if (arg) {
 | 
						|
        next = open;
 | 
						|
        right = close;
 | 
						|
    }
 | 
						|
    parser.i++;
 | 
						|
    parser.Push(parser.itemFactory.create('auto open')
 | 
						|
        .setProperties({ open: next, close: right, big: big }));
 | 
						|
};
 | 
						|
PhysicsMethods.Eval = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var next = parser.GetNext();
 | 
						|
    if (next === '{') {
 | 
						|
        var arg = parser.GetArgument(name);
 | 
						|
        var replace = '\\left. ' +
 | 
						|
            (star ? '\\smash{' + arg + '}' : arg) +
 | 
						|
            ' ' + '\\vphantom{\\int}\\right|';
 | 
						|
        parser.string = parser.string.slice(0, parser.i) + replace +
 | 
						|
            parser.string.slice(parser.i);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if (next === '(' || next === '[') {
 | 
						|
        parser.i++;
 | 
						|
        parser.Push(parser.itemFactory.create('auto open')
 | 
						|
            .setProperties({ open: next, close: '|',
 | 
						|
            smash: star, right: '\\vphantom{\\int}' }));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);
 | 
						|
};
 | 
						|
PhysicsMethods.Commutator = function (parser, name, open, close) {
 | 
						|
    if (open === void 0) { open = '['; }
 | 
						|
    if (close === void 0) { close = ']'; }
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var next = parser.GetNext();
 | 
						|
    var big = null;
 | 
						|
    if (next === '\\') {
 | 
						|
        parser.i++;
 | 
						|
        big = parser.GetCS();
 | 
						|
        if (!big.match(biggs)) {
 | 
						|
            throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);
 | 
						|
        }
 | 
						|
        next = parser.GetNext();
 | 
						|
    }
 | 
						|
    if (next !== '{') {
 | 
						|
        throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', parser.currentCS);
 | 
						|
    }
 | 
						|
    var arg1 = parser.GetArgument(name);
 | 
						|
    var arg2 = parser.GetArgument(name);
 | 
						|
    var argument = arg1 + ',' + arg2;
 | 
						|
    argument = star ? open + ' ' + argument + ' ' + close :
 | 
						|
        (big ?
 | 
						|
            '\\' + big + 'l' + open + ' ' + argument + ' ' + '\\' + big + 'r' + close :
 | 
						|
            '\\left' + open + ' ' + argument + ' ' + '\\right' + close);
 | 
						|
    parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
var latinCap = [0x41, 0x5A];
 | 
						|
var latinSmall = [0x61, 0x7A];
 | 
						|
var greekCap = [0x391, 0x3A9];
 | 
						|
var greekSmall = [0x3B1, 0x3C9];
 | 
						|
var digits = [0x30, 0x39];
 | 
						|
function inRange(value, range) {
 | 
						|
    return (value >= range[0] && value <= range[1]);
 | 
						|
}
 | 
						|
function createVectorToken(factory, kind, def, text) {
 | 
						|
    var parser = factory.configuration.parser;
 | 
						|
    var token = NodeFactory_js_1.NodeFactory.createToken(factory, kind, def, text);
 | 
						|
    var code = text.codePointAt(0);
 | 
						|
    if (text.length === 1 && !parser.stack.env.font &&
 | 
						|
        parser.stack.env.vectorFont &&
 | 
						|
        (inRange(code, latinCap) || inRange(code, latinSmall) ||
 | 
						|
            inRange(code, greekCap) || inRange(code, digits) ||
 | 
						|
            (inRange(code, greekSmall) && parser.stack.env.vectorStar) ||
 | 
						|
            NodeUtil_js_1.default.getAttribute(token, 'accent'))) {
 | 
						|
        NodeUtil_js_1.default.setAttribute(token, 'mathvariant', parser.stack.env.vectorFont);
 | 
						|
    }
 | 
						|
    return token;
 | 
						|
}
 | 
						|
PhysicsMethods.VectorBold = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var arg = parser.GetArgument(name);
 | 
						|
    var oldToken = parser.configuration.nodeFactory.get('token');
 | 
						|
    var oldFont = parser.stack.env.font;
 | 
						|
    delete parser.stack.env.font;
 | 
						|
    parser.configuration.nodeFactory.set('token', createVectorToken);
 | 
						|
    parser.stack.env.vectorFont = star ? 'bold-italic' : 'bold';
 | 
						|
    parser.stack.env.vectorStar = star;
 | 
						|
    var node = new TexParser_js_1.default(arg, parser.stack.env, parser.configuration).mml();
 | 
						|
    if (oldFont) {
 | 
						|
        parser.stack.env.font = oldFont;
 | 
						|
    }
 | 
						|
    delete parser.stack.env.vectorFont;
 | 
						|
    delete parser.stack.env.vectorStar;
 | 
						|
    parser.configuration.nodeFactory.set('token', oldToken);
 | 
						|
    parser.Push(node);
 | 
						|
};
 | 
						|
PhysicsMethods.StarMacro = function (parser, name, argcount) {
 | 
						|
    var parts = [];
 | 
						|
    for (var _i = 3; _i < arguments.length; _i++) {
 | 
						|
        parts[_i - 3] = arguments[_i];
 | 
						|
    }
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var args = [];
 | 
						|
    if (argcount) {
 | 
						|
        for (var i = args.length; i < argcount; i++) {
 | 
						|
            args.push(parser.GetArgument(name));
 | 
						|
        }
 | 
						|
    }
 | 
						|
    var macro = parts.join(star ? '*' : '');
 | 
						|
    macro = ParseUtil_js_1.default.substituteArgs(parser, args, macro);
 | 
						|
    parser.string = ParseUtil_js_1.default.addArgs(parser, macro, parser.string.slice(parser.i));
 | 
						|
    parser.i = 0;
 | 
						|
    ParseUtil_js_1.default.checkMaxMacros(parser);
 | 
						|
};
 | 
						|
var vectorApplication = function (parser, kind, name, operator, fences) {
 | 
						|
    var op = new TexParser_js_1.default(operator, parser.stack.env, parser.configuration).mml();
 | 
						|
    parser.Push(parser.itemFactory.create(kind, op));
 | 
						|
    var left = parser.GetNext();
 | 
						|
    var right = pairs[left];
 | 
						|
    if (!right) {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    var lfence = '', rfence = '', arg = '';
 | 
						|
    var enlarge = fences.indexOf(left) !== -1;
 | 
						|
    if (left === '{') {
 | 
						|
        arg = parser.GetArgument(name);
 | 
						|
        lfence = enlarge ? '\\left\\{' : '';
 | 
						|
        rfence = enlarge ? '\\right\\}' : '';
 | 
						|
        var macro = lfence + ' ' + arg + ' ' + rfence;
 | 
						|
        parser.string = macro + parser.string.slice(parser.i);
 | 
						|
        parser.i = 0;
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if (!enlarge) {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    parser.i++;
 | 
						|
    parser.Push(parser.itemFactory.create('auto open')
 | 
						|
        .setProperties({ open: left, close: right }));
 | 
						|
};
 | 
						|
PhysicsMethods.OperatorApplication = function (parser, name, operator) {
 | 
						|
    var fences = [];
 | 
						|
    for (var _i = 3; _i < arguments.length; _i++) {
 | 
						|
        fences[_i - 3] = arguments[_i];
 | 
						|
    }
 | 
						|
    vectorApplication(parser, 'fn', name, operator, fences);
 | 
						|
};
 | 
						|
PhysicsMethods.VectorOperator = function (parser, name, operator) {
 | 
						|
    var fences = [];
 | 
						|
    for (var _i = 3; _i < arguments.length; _i++) {
 | 
						|
        fences[_i - 3] = arguments[_i];
 | 
						|
    }
 | 
						|
    vectorApplication(parser, 'mml', name, operator, fences);
 | 
						|
};
 | 
						|
PhysicsMethods.Expression = function (parser, name, opt, id) {
 | 
						|
    if (opt === void 0) { opt = true; }
 | 
						|
    if (id === void 0) { id = ''; }
 | 
						|
    id = id || name.slice(1);
 | 
						|
    var exp = opt ? parser.GetBrackets(name) : null;
 | 
						|
    var mml = parser.create('token', 'mi', { texClass: MmlNode_js_1.TEXCLASS.OP }, id);
 | 
						|
    if (exp) {
 | 
						|
        var sup = new TexParser_js_1.default(exp, parser.stack.env, parser.configuration).mml();
 | 
						|
        mml = parser.create('node', 'msup', [mml, sup]);
 | 
						|
    }
 | 
						|
    parser.Push(parser.itemFactory.create('fn', mml));
 | 
						|
    if (parser.GetNext() !== '(') {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    parser.i++;
 | 
						|
    parser.Push(parser.itemFactory.create('auto open')
 | 
						|
        .setProperties({ open: '(', close: ')' }));
 | 
						|
};
 | 
						|
PhysicsMethods.Qqtext = function (parser, name, text) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var arg = text ? text : parser.GetArgument(name);
 | 
						|
    var replace = (star ? '' : '\\quad') + '\\text{' + arg + '}\\quad ';
 | 
						|
    parser.string = parser.string.slice(0, parser.i) + replace +
 | 
						|
        parser.string.slice(parser.i);
 | 
						|
};
 | 
						|
PhysicsMethods.Differential = function (parser, name, op) {
 | 
						|
    var optArg = parser.GetBrackets(name);
 | 
						|
    var power = optArg != null ? '^{' + optArg + '}' : ' ';
 | 
						|
    var parens = parser.GetNext() === '(';
 | 
						|
    var braces = parser.GetNext() === '{';
 | 
						|
    var macro = op + power;
 | 
						|
    if (!(parens || braces)) {
 | 
						|
        macro += parser.GetArgument(name, true) || '';
 | 
						|
        var mml = new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml();
 | 
						|
        parser.Push(mml);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    if (braces) {
 | 
						|
        macro += parser.GetArgument(name);
 | 
						|
        var mml = new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml();
 | 
						|
        parser.Push(parser.create('node', 'TeXAtom', [mml], { texClass: MmlNode_js_1.TEXCLASS.OP }));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
    parser.i++;
 | 
						|
    parser.Push(parser.itemFactory.create('auto open')
 | 
						|
        .setProperties({ open: '(', close: ')' }));
 | 
						|
};
 | 
						|
PhysicsMethods.Derivative = function (parser, name, argMax, op) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var optArg = parser.GetBrackets(name);
 | 
						|
    var argCounter = 1;
 | 
						|
    var args = [];
 | 
						|
    args.push(parser.GetArgument(name));
 | 
						|
    while (parser.GetNext() === '{' && argCounter < argMax) {
 | 
						|
        args.push(parser.GetArgument(name));
 | 
						|
        argCounter++;
 | 
						|
    }
 | 
						|
    var ignore = false;
 | 
						|
    var power1 = ' ';
 | 
						|
    var power2 = ' ';
 | 
						|
    if (argMax > 2 && args.length > 2) {
 | 
						|
        power1 = '^{' + (args.length - 1) + '}';
 | 
						|
        ignore = true;
 | 
						|
    }
 | 
						|
    else if (optArg != null) {
 | 
						|
        if (argMax > 2 && args.length > 1) {
 | 
						|
            ignore = true;
 | 
						|
        }
 | 
						|
        power1 = '^{' + optArg + '}';
 | 
						|
        power2 = power1;
 | 
						|
    }
 | 
						|
    var frac = star ? '\\flatfrac' : '\\frac';
 | 
						|
    var first = args.length > 1 ? args[0] : '';
 | 
						|
    var second = args.length > 1 ? args[1] : args[0];
 | 
						|
    var rest = '';
 | 
						|
    for (var i = 2, arg = void 0; arg = args[i]; i++) {
 | 
						|
        rest += op + ' ' + arg;
 | 
						|
    }
 | 
						|
    var macro = frac + '{' + op + power1 + first + '}' +
 | 
						|
        '{' + op + ' ' + second + power2 + ' ' + rest + '}';
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
    if (parser.GetNext() === '(') {
 | 
						|
        parser.i++;
 | 
						|
        parser.Push(parser.itemFactory.create('auto open')
 | 
						|
            .setProperties({ open: '(', close: ')', ignore: ignore }));
 | 
						|
    }
 | 
						|
};
 | 
						|
PhysicsMethods.Bra = function (parser, name) {
 | 
						|
    var starBra = parser.GetStar();
 | 
						|
    var bra = parser.GetArgument(name);
 | 
						|
    var ket = '';
 | 
						|
    var hasKet = false;
 | 
						|
    var starKet = false;
 | 
						|
    if (parser.GetNext() === '\\') {
 | 
						|
        var saveI = parser.i;
 | 
						|
        parser.i++;
 | 
						|
        var cs = parser.GetCS();
 | 
						|
        var symbol = parser.lookup('macro', cs);
 | 
						|
        if (symbol && symbol.symbol === 'ket') {
 | 
						|
            hasKet = true;
 | 
						|
            saveI = parser.i;
 | 
						|
            starKet = parser.GetStar();
 | 
						|
            if (parser.GetNext() === '{') {
 | 
						|
                ket = parser.GetArgument(cs, true);
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                parser.i = saveI;
 | 
						|
                starKet = false;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            parser.i = saveI;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    var macro = '';
 | 
						|
    if (hasKet) {
 | 
						|
        macro = (starBra || starKet) ?
 | 
						|
            "\\langle{".concat(bra, "}\\vert{").concat(ket, "}\\rangle") :
 | 
						|
            "\\left\\langle{".concat(bra, "}\\middle\\vert{").concat(ket, "}\\right\\rangle");
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        macro = (starBra || starKet) ?
 | 
						|
            "\\langle{".concat(bra, "}\\vert") : "\\left\\langle{".concat(bra, "}\\right\\vert{").concat(ket, "}");
 | 
						|
    }
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.Ket = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var ket = parser.GetArgument(name);
 | 
						|
    var macro = star ? "\\vert{".concat(ket, "}\\rangle") :
 | 
						|
        "\\left\\vert{".concat(ket, "}\\right\\rangle");
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.BraKet = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var bra = parser.GetArgument(name);
 | 
						|
    var ket = null;
 | 
						|
    if (parser.GetNext() === '{') {
 | 
						|
        ket = parser.GetArgument(name, true);
 | 
						|
    }
 | 
						|
    var macro = '';
 | 
						|
    if (ket == null) {
 | 
						|
        macro = star ?
 | 
						|
            "\\langle{".concat(bra, "}\\vert{").concat(bra, "}\\rangle") :
 | 
						|
            "\\left\\langle{".concat(bra, "}\\middle\\vert{").concat(bra, "}\\right\\rangle");
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        macro = star ?
 | 
						|
            "\\langle{".concat(bra, "}\\vert{").concat(ket, "}\\rangle") :
 | 
						|
            "\\left\\langle{".concat(bra, "}\\middle\\vert{").concat(ket, "}\\right\\rangle");
 | 
						|
    }
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.KetBra = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var ket = parser.GetArgument(name);
 | 
						|
    var bra = null;
 | 
						|
    if (parser.GetNext() === '{') {
 | 
						|
        bra = parser.GetArgument(name, true);
 | 
						|
    }
 | 
						|
    var macro = '';
 | 
						|
    if (bra == null) {
 | 
						|
        macro = star ?
 | 
						|
            "\\vert{".concat(ket, "}\\rangle\\!\\langle{").concat(ket, "}\\vert") :
 | 
						|
            "\\left\\vert{".concat(ket, "}\\middle\\rangle\\!\\middle\\langle{").concat(ket, "}\\right\\vert");
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        macro = star ?
 | 
						|
            "\\vert{".concat(ket, "}\\rangle\\!\\langle{").concat(bra, "}\\vert") :
 | 
						|
            "\\left\\vert{".concat(ket, "}\\middle\\rangle\\!\\middle\\langle{").concat(bra, "}\\right\\vert");
 | 
						|
    }
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
function outputBraket(_a, star1, star2) {
 | 
						|
    var _b = __read(_a, 3), arg1 = _b[0], arg2 = _b[1], arg3 = _b[2];
 | 
						|
    return (star1 && star2) ?
 | 
						|
        "\\left\\langle{".concat(arg1, "}\\middle\\vert{").concat(arg2, "}\\middle\\vert{").concat(arg3, "}\\right\\rangle") :
 | 
						|
        (star1 ? "\\langle{".concat(arg1, "}\\vert{").concat(arg2, "}\\vert{").concat(arg3, "}\\rangle") :
 | 
						|
            "\\left\\langle{".concat(arg1, "}\\right\\vert{").concat(arg2, "}\\left\\vert{").concat(arg3, "}\\right\\rangle"));
 | 
						|
}
 | 
						|
PhysicsMethods.Expectation = function (parser, name) {
 | 
						|
    var star1 = parser.GetStar();
 | 
						|
    var star2 = star1 && parser.GetStar();
 | 
						|
    var arg1 = parser.GetArgument(name);
 | 
						|
    var arg2 = null;
 | 
						|
    if (parser.GetNext() === '{') {
 | 
						|
        arg2 = parser.GetArgument(name, true);
 | 
						|
    }
 | 
						|
    var macro = (arg1 && arg2) ?
 | 
						|
        outputBraket([arg2, arg1, arg2], star1, star2) :
 | 
						|
        (star1 ? "\\langle {".concat(arg1, "} \\rangle") :
 | 
						|
            "\\left\\langle {".concat(arg1, "} \\right\\rangle"));
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.MatrixElement = function (parser, name) {
 | 
						|
    var star1 = parser.GetStar();
 | 
						|
    var star2 = star1 && parser.GetStar();
 | 
						|
    var arg1 = parser.GetArgument(name);
 | 
						|
    var arg2 = parser.GetArgument(name);
 | 
						|
    var arg3 = parser.GetArgument(name);
 | 
						|
    var macro = outputBraket([arg1, arg2, arg3], star1, star2);
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.MatrixQuantity = function (parser, name, small) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var next = parser.GetNext();
 | 
						|
    var array = small ? 'smallmatrix' : 'array';
 | 
						|
    var arg = '';
 | 
						|
    var open = '';
 | 
						|
    var close = '';
 | 
						|
    switch (next) {
 | 
						|
        case '{':
 | 
						|
            arg = parser.GetArgument(name);
 | 
						|
            break;
 | 
						|
        case '(':
 | 
						|
            parser.i++;
 | 
						|
            open = star ? '\\lgroup' : '(';
 | 
						|
            close = star ? '\\rgroup' : ')';
 | 
						|
            arg = parser.GetUpTo(name, ')');
 | 
						|
            break;
 | 
						|
        case '[':
 | 
						|
            parser.i++;
 | 
						|
            open = '[';
 | 
						|
            close = ']';
 | 
						|
            arg = parser.GetUpTo(name, ']');
 | 
						|
            break;
 | 
						|
        case '|':
 | 
						|
            parser.i++;
 | 
						|
            open = '|';
 | 
						|
            close = '|';
 | 
						|
            arg = parser.GetUpTo(name, '|');
 | 
						|
            break;
 | 
						|
        default:
 | 
						|
            open = '(';
 | 
						|
            close = ')';
 | 
						|
            break;
 | 
						|
    }
 | 
						|
    var macro = (open ? '\\left' : '') + open +
 | 
						|
        '\\begin{' + array + '}{} ' + arg + '\\end{' + array + '}' +
 | 
						|
        (open ? '\\right' : '') + close;
 | 
						|
    parser.Push(new TexParser_js_1.default(macro, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.IdentityMatrix = function (parser, name) {
 | 
						|
    var arg = parser.GetArgument(name);
 | 
						|
    var size = parseInt(arg, 10);
 | 
						|
    if (isNaN(size)) {
 | 
						|
        throw new TexError_js_1.default('InvalidNumber', 'Invalid number');
 | 
						|
    }
 | 
						|
    if (size <= 1) {
 | 
						|
        parser.string = '1' + parser.string.slice(parser.i);
 | 
						|
        parser.i = 0;
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    var zeros = Array(size).fill('0');
 | 
						|
    var columns = [];
 | 
						|
    for (var i = 0; i < size; i++) {
 | 
						|
        var row = zeros.slice();
 | 
						|
        row[i] = '1';
 | 
						|
        columns.push(row.join(' & '));
 | 
						|
    }
 | 
						|
    parser.string = columns.join('\\\\ ') + parser.string.slice(parser.i);
 | 
						|
    parser.i = 0;
 | 
						|
};
 | 
						|
PhysicsMethods.XMatrix = function (parser, name) {
 | 
						|
    var star = parser.GetStar();
 | 
						|
    var arg1 = parser.GetArgument(name);
 | 
						|
    var arg2 = parser.GetArgument(name);
 | 
						|
    var arg3 = parser.GetArgument(name);
 | 
						|
    var n = parseInt(arg2, 10);
 | 
						|
    var m = parseInt(arg3, 10);
 | 
						|
    if (isNaN(n) || isNaN(m) || m.toString() !== arg3 || n.toString() !== arg2) {
 | 
						|
        throw new TexError_js_1.default('InvalidNumber', 'Invalid number');
 | 
						|
    }
 | 
						|
    n = n < 1 ? 1 : n;
 | 
						|
    m = m < 1 ? 1 : m;
 | 
						|
    if (!star) {
 | 
						|
        var row = Array(m).fill(arg1).join(' & ');
 | 
						|
        var matrix_1 = Array(n).fill(row).join('\\\\ ');
 | 
						|
        parser.string = matrix_1 + parser.string.slice(parser.i);
 | 
						|
        parser.i = 0;
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    var matrix = '';
 | 
						|
    if (n === 1 && m === 1) {
 | 
						|
        matrix = arg1;
 | 
						|
    }
 | 
						|
    else if (n === 1) {
 | 
						|
        var row = [];
 | 
						|
        for (var i = 1; i <= m; i++) {
 | 
						|
            row.push("".concat(arg1, "_{").concat(i, "}"));
 | 
						|
        }
 | 
						|
        matrix = row.join(' & ');
 | 
						|
    }
 | 
						|
    else if (m === 1) {
 | 
						|
        var row = [];
 | 
						|
        for (var i = 1; i <= n; i++) {
 | 
						|
            row.push("".concat(arg1, "_{").concat(i, "}"));
 | 
						|
        }
 | 
						|
        matrix = row.join('\\\\ ');
 | 
						|
    }
 | 
						|
    else {
 | 
						|
        var rows = [];
 | 
						|
        for (var i = 1; i <= n; i++) {
 | 
						|
            var row = [];
 | 
						|
            for (var j = 1; j <= m; j++) {
 | 
						|
                row.push("".concat(arg1, "_{{").concat(i, "}{").concat(j, "}}"));
 | 
						|
            }
 | 
						|
            rows.push(row.join(' & '));
 | 
						|
        }
 | 
						|
        matrix = rows.join('\\\\ ');
 | 
						|
    }
 | 
						|
    parser.string = matrix + parser.string.slice(parser.i);
 | 
						|
    parser.i = 0;
 | 
						|
    return;
 | 
						|
};
 | 
						|
PhysicsMethods.PauliMatrix = function (parser, name) {
 | 
						|
    var arg = parser.GetArgument(name);
 | 
						|
    var matrix = arg.slice(1);
 | 
						|
    switch (arg[0]) {
 | 
						|
        case '0':
 | 
						|
            matrix += ' 1 & 0\\\\ 0 & 1';
 | 
						|
            break;
 | 
						|
        case '1':
 | 
						|
        case 'x':
 | 
						|
            matrix += ' 0 & 1\\\\ 1 & 0';
 | 
						|
            break;
 | 
						|
        case '2':
 | 
						|
        case 'y':
 | 
						|
            matrix += ' 0 & -i\\\\ i & 0';
 | 
						|
            break;
 | 
						|
        case '3':
 | 
						|
        case 'z':
 | 
						|
            matrix += ' 1 & 0\\\\ 0 & -1';
 | 
						|
            break;
 | 
						|
        default:
 | 
						|
    }
 | 
						|
    parser.string = matrix + parser.string.slice(parser.i);
 | 
						|
    parser.i = 0;
 | 
						|
};
 | 
						|
PhysicsMethods.DiagonalMatrix = function (parser, name, anti) {
 | 
						|
    if (parser.GetNext() !== '{') {
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    var startI = parser.i;
 | 
						|
    parser.GetArgument(name);
 | 
						|
    var endI = parser.i;
 | 
						|
    parser.i = startI + 1;
 | 
						|
    var elements = [];
 | 
						|
    var element = '';
 | 
						|
    var currentI = parser.i;
 | 
						|
    while (currentI < endI) {
 | 
						|
        try {
 | 
						|
            element = parser.GetUpTo(name, ',');
 | 
						|
        }
 | 
						|
        catch (e) {
 | 
						|
            parser.i = endI;
 | 
						|
            elements.push(parser.string.slice(currentI, endI - 1));
 | 
						|
            break;
 | 
						|
        }
 | 
						|
        if (parser.i >= endI) {
 | 
						|
            elements.push(parser.string.slice(currentI, endI));
 | 
						|
            break;
 | 
						|
        }
 | 
						|
        currentI = parser.i;
 | 
						|
        elements.push(element);
 | 
						|
    }
 | 
						|
    parser.string = makeDiagMatrix(elements, anti) + parser.string.slice(endI);
 | 
						|
    parser.i = 0;
 | 
						|
};
 | 
						|
function makeDiagMatrix(elements, anti) {
 | 
						|
    var length = elements.length;
 | 
						|
    var matrix = [];
 | 
						|
    for (var i = 0; i < length; i++) {
 | 
						|
        matrix.push(Array(anti ? length - i : i + 1).join('&') +
 | 
						|
            '\\mqty{' + elements[i] + '}');
 | 
						|
    }
 | 
						|
    return matrix.join('\\\\ ');
 | 
						|
}
 | 
						|
PhysicsMethods.AutoClose = function (parser, fence, _texclass) {
 | 
						|
    var mo = parser.create('token', 'mo', { stretchy: false }, fence);
 | 
						|
    var item = parser.itemFactory.create('mml', mo).
 | 
						|
        setProperties({ autoclose: fence });
 | 
						|
    parser.Push(item);
 | 
						|
};
 | 
						|
PhysicsMethods.Vnabla = function (parser, _name) {
 | 
						|
    var argument = parser.options.physics.arrowdel ?
 | 
						|
        '\\vec{\\gradientnabla}' : '{\\gradientnabla}';
 | 
						|
    return parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.DiffD = function (parser, _name) {
 | 
						|
    var argument = parser.options.physics.italicdiff ? 'd' : '{\\rm d}';
 | 
						|
    return parser.Push(new TexParser_js_1.default(argument, parser.stack.env, parser.configuration).mml());
 | 
						|
};
 | 
						|
PhysicsMethods.Macro = BaseMethods_js_1.default.Macro;
 | 
						|
PhysicsMethods.NamedFn = BaseMethods_js_1.default.NamedFn;
 | 
						|
PhysicsMethods.Array = BaseMethods_js_1.default.Array;
 | 
						|
exports["default"] = PhysicsMethods;
 | 
						|
//# sourceMappingURL=PhysicsMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 22294:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.SetOptionsConfiguration = exports.SetOptionsUtil = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var Symbol_js_1 = __webpack_require__(75735);
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
var Options_js_1 = __webpack_require__(4498);
 | 
						|
exports.SetOptionsUtil = {
 | 
						|
    filterPackage: function (parser, extension) {
 | 
						|
        if (extension !== 'tex' && !Configuration_js_1.ConfigurationHandler.get(extension)) {
 | 
						|
            throw new TexError_js_1.default('NotAPackage', 'Not a defined package: %1', extension);
 | 
						|
        }
 | 
						|
        var config = parser.options.setoptions;
 | 
						|
        var options = config.allowOptions[extension];
 | 
						|
        if ((options === undefined && !config.allowPackageDefault) || options === false) {
 | 
						|
            throw new TexError_js_1.default('PackageNotSettable', 'Options can\'t be set for package "%1"', extension);
 | 
						|
        }
 | 
						|
        return true;
 | 
						|
    },
 | 
						|
    filterOption: function (parser, extension, option) {
 | 
						|
        var _a;
 | 
						|
        var config = parser.options.setoptions;
 | 
						|
        var options = config.allowOptions[extension] || {};
 | 
						|
        var allow = (options.hasOwnProperty(option) && !(0, Options_js_1.isObject)(options[option]) ? options[option] : null);
 | 
						|
        if (allow === false || (allow === null && !config.allowOptionsDefault)) {
 | 
						|
            throw new TexError_js_1.default('OptionNotSettable', 'Option "%1" is not allowed to be set', option);
 | 
						|
        }
 | 
						|
        if (!((_a = (extension === 'tex' ? parser.options : parser.options[extension])) === null || _a === void 0 ? void 0 : _a.hasOwnProperty(option))) {
 | 
						|
            if (extension === 'tex') {
 | 
						|
                throw new TexError_js_1.default('InvalidTexOption', 'Invalid TeX option "%1"', option);
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                throw new TexError_js_1.default('InvalidOptionKey', 'Invalid option "%1" for package "%2"', option, extension);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return true;
 | 
						|
    },
 | 
						|
    filterValue: function (_parser, _extension, _option, value) {
 | 
						|
        return value;
 | 
						|
    }
 | 
						|
};
 | 
						|
var setOptionsMap = new SymbolMap_js_1.CommandMap('setoptions', {
 | 
						|
    setOptions: 'SetOptions'
 | 
						|
}, {
 | 
						|
    SetOptions: function (parser, name) {
 | 
						|
        var e_1, _a;
 | 
						|
        var extension = parser.GetBrackets(name) || 'tex';
 | 
						|
        var options = ParseUtil_js_1.default.keyvalOptions(parser.GetArgument(name));
 | 
						|
        var config = parser.options.setoptions;
 | 
						|
        if (!config.filterPackage(parser, extension))
 | 
						|
            return;
 | 
						|
        try {
 | 
						|
            for (var _b = __values(Object.keys(options)), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var key = _c.value;
 | 
						|
                if (config.filterOption(parser, extension, key)) {
 | 
						|
                    (extension === 'tex' ? parser.options : parser.options[extension])[key] =
 | 
						|
                        config.filterValue(parser, extension, key, options[key]);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_1) throw e_1.error; }
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
function setoptionsConfig(_config, jax) {
 | 
						|
    var require = jax.parseOptions.handlers.get('macro').lookup('require');
 | 
						|
    if (require) {
 | 
						|
        setOptionsMap.add('Require', new Symbol_js_1.Macro('Require', require._func));
 | 
						|
        setOptionsMap.add('require', new Symbol_js_1.Macro('require', BaseMethods_js_1.default.Macro, ['\\Require{#2}\\setOptions[#2]{#1}', 2, '']));
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.SetOptionsConfiguration = Configuration_js_1.Configuration.create('setoptions', {
 | 
						|
    handler: { macro: ['setoptions'] },
 | 
						|
    config: setoptionsConfig,
 | 
						|
    priority: 3,
 | 
						|
    options: {
 | 
						|
        setoptions: {
 | 
						|
            filterPackage: exports.SetOptionsUtil.filterPackage,
 | 
						|
            filterOption: exports.SetOptionsUtil.filterOption,
 | 
						|
            filterValue: exports.SetOptionsUtil.filterValue,
 | 
						|
            allowPackageDefault: true,
 | 
						|
            allowOptionsDefault: true,
 | 
						|
            allowOptions: (0, Options_js_1.expandable)({
 | 
						|
                tex: {
 | 
						|
                    FindTeX: false,
 | 
						|
                    formatError: false,
 | 
						|
                    package: false,
 | 
						|
                    baseURL: false,
 | 
						|
                    tags: false,
 | 
						|
                    maxBuffer: false,
 | 
						|
                    maxMaxros: false,
 | 
						|
                    macros: false,
 | 
						|
                    environments: false
 | 
						|
                },
 | 
						|
                setoptions: false,
 | 
						|
                autoload: false,
 | 
						|
                require: false,
 | 
						|
                configmacros: false,
 | 
						|
                tagformat: false
 | 
						|
            })
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=SetOptionsConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 77906:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __());
 | 
						|
    };
 | 
						|
})();
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.TagFormatConfiguration = exports.tagformatConfig = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var Tags_js_1 = __webpack_require__(75723);
 | 
						|
var tagID = 0;
 | 
						|
function tagformatConfig(config, jax) {
 | 
						|
    var tags = jax.parseOptions.options.tags;
 | 
						|
    if (tags !== 'base' && config.tags.hasOwnProperty(tags)) {
 | 
						|
        Tags_js_1.TagsFactory.add(tags, config.tags[tags]);
 | 
						|
    }
 | 
						|
    var TagClass = Tags_js_1.TagsFactory.create(jax.parseOptions.options.tags).constructor;
 | 
						|
    var TagFormat = (function (_super) {
 | 
						|
        __extends(TagFormat, _super);
 | 
						|
        function TagFormat() {
 | 
						|
            return _super !== null && _super.apply(this, arguments) || this;
 | 
						|
        }
 | 
						|
        TagFormat.prototype.formatNumber = function (n) {
 | 
						|
            return jax.parseOptions.options.tagformat.number(n);
 | 
						|
        };
 | 
						|
        TagFormat.prototype.formatTag = function (tag) {
 | 
						|
            return jax.parseOptions.options.tagformat.tag(tag);
 | 
						|
        };
 | 
						|
        TagFormat.prototype.formatId = function (id) {
 | 
						|
            return jax.parseOptions.options.tagformat.id(id);
 | 
						|
        };
 | 
						|
        TagFormat.prototype.formatUrl = function (id, base) {
 | 
						|
            return jax.parseOptions.options.tagformat.url(id, base);
 | 
						|
        };
 | 
						|
        return TagFormat;
 | 
						|
    }(TagClass));
 | 
						|
    tagID++;
 | 
						|
    var tagName = 'configTags-' + tagID;
 | 
						|
    Tags_js_1.TagsFactory.add(tagName, TagFormat);
 | 
						|
    jax.parseOptions.options.tags = tagName;
 | 
						|
}
 | 
						|
exports.tagformatConfig = tagformatConfig;
 | 
						|
exports.TagFormatConfiguration = Configuration_js_1.Configuration.create('tagformat', {
 | 
						|
    config: [tagformatConfig, 10],
 | 
						|
    options: {
 | 
						|
        tagformat: {
 | 
						|
            number: function (n) { return n.toString(); },
 | 
						|
            tag: function (tag) { return '(' + tag + ')'; },
 | 
						|
            id: function (id) { return 'mjx-eqn:' + id.replace(/\s/g, '_'); },
 | 
						|
            url: function (id, base) { return base + '#' + encodeURIComponent(id); },
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=TagFormatConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 67689:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.TextcompConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
__webpack_require__(44438);
 | 
						|
exports.TextcompConfiguration = Configuration_js_1.Configuration.create('textcomp', {
 | 
						|
    handler: { macro: ['textcomp-macros'] }
 | 
						|
});
 | 
						|
//# sourceMappingURL=TextcompConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 44438:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var TextMacrosMethods_js_1 = __webpack_require__(87753);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var TextParser_js_1 = __webpack_require__(97112);
 | 
						|
new SymbolMap_js_1.CommandMap('textcomp-macros', {
 | 
						|
    'textasciicircum': ['Insert', '\u005E'],
 | 
						|
    'textasciitilde': ['Insert', '\u007E'],
 | 
						|
    'textasteriskcentered': ['Insert', '\u002A'],
 | 
						|
    'textbackslash': ['Insert', '\u005C'],
 | 
						|
    'textbar': ['Insert', '\u007C'],
 | 
						|
    'textbraceleft': ['Insert', '\u007B'],
 | 
						|
    'textbraceright': ['Insert', '\u007D'],
 | 
						|
    'textbullet': ['Insert', '\u2022'],
 | 
						|
    'textdagger': ['Insert', '\u2020'],
 | 
						|
    'textdaggerdbl': ['Insert', '\u2021'],
 | 
						|
    'textellipsis': ['Insert', '\u2026'],
 | 
						|
    'textemdash': ['Insert', '\u2014'],
 | 
						|
    'textendash': ['Insert', '\u2013'],
 | 
						|
    'textexclamdown': ['Insert', '\u00A1'],
 | 
						|
    'textgreater': ['Insert', '\u003E'],
 | 
						|
    'textless': ['Insert', '\u003C'],
 | 
						|
    'textordfeminine': ['Insert', '\u00AA'],
 | 
						|
    'textordmasculine': ['Insert', '\u00BA'],
 | 
						|
    'textparagraph': ['Insert', '\u00B6'],
 | 
						|
    'textperiodcentered': ['Insert', '\u00B7'],
 | 
						|
    'textquestiondown': ['Insert', '\u00BF'],
 | 
						|
    'textquotedblleft': ['Insert', '\u201C'],
 | 
						|
    'textquotedblright': ['Insert', '\u201D'],
 | 
						|
    'textquoteleft': ['Insert', '\u2018'],
 | 
						|
    'textquoteright': ['Insert', '\u2019'],
 | 
						|
    'textsection': ['Insert', '\u00A7'],
 | 
						|
    'textunderscore': ['Insert', '\u005F'],
 | 
						|
    'textvisiblespace': ['Insert', '\u2423'],
 | 
						|
    'textacutedbl': ['Insert', '\u02DD'],
 | 
						|
    'textasciiacute': ['Insert', '\u00B4'],
 | 
						|
    'textasciibreve': ['Insert', '\u02D8'],
 | 
						|
    'textasciicaron': ['Insert', '\u02C7'],
 | 
						|
    'textasciidieresis': ['Insert', '\u00A8'],
 | 
						|
    'textasciimacron': ['Insert', '\u00AF'],
 | 
						|
    'textgravedbl': ['Insert', '\u02F5'],
 | 
						|
    'texttildelow': ['Insert', '\u02F7'],
 | 
						|
    'textbaht': ['Insert', '\u0E3F'],
 | 
						|
    'textcent': ['Insert', '\u00A2'],
 | 
						|
    'textcolonmonetary': ['Insert', '\u20A1'],
 | 
						|
    'textcurrency': ['Insert', '\u00A4'],
 | 
						|
    'textdollar': ['Insert', '\u0024'],
 | 
						|
    'textdong': ['Insert', '\u20AB'],
 | 
						|
    'texteuro': ['Insert', '\u20AC'],
 | 
						|
    'textflorin': ['Insert', '\u0192'],
 | 
						|
    'textguarani': ['Insert', '\u20B2'],
 | 
						|
    'textlira': ['Insert', '\u20A4'],
 | 
						|
    'textnaira': ['Insert', '\u20A6'],
 | 
						|
    'textpeso': ['Insert', '\u20B1'],
 | 
						|
    'textsterling': ['Insert', '\u00A3'],
 | 
						|
    'textwon': ['Insert', '\u20A9'],
 | 
						|
    'textyen': ['Insert', '\u00A5'],
 | 
						|
    'textcircledP': ['Insert', '\u2117'],
 | 
						|
    'textcompwordmark': ['Insert', '\u200C'],
 | 
						|
    'textcopyleft': ['Insert', "\uD83C\uDD2F"],
 | 
						|
    'textcopyright': ['Insert', '\u00A9'],
 | 
						|
    'textregistered': ['Insert', '\u00AE'],
 | 
						|
    'textservicemark': ['Insert', '\u2120'],
 | 
						|
    'texttrademark': ['Insert', '\u2122'],
 | 
						|
    'textbardbl': ['Insert', '\u2016'],
 | 
						|
    'textbigcircle': ['Insert', '\u25EF'],
 | 
						|
    'textblank': ['Insert', '\u2422'],
 | 
						|
    'textbrokenbar': ['Insert', '\u00A6'],
 | 
						|
    'textdiscount': ['Insert', '\u2052'],
 | 
						|
    'textestimated': ['Insert', '\u212E'],
 | 
						|
    'textinterrobang': ['Insert', '\u203D'],
 | 
						|
    'textinterrobangdown': ['Insert', '\u2E18'],
 | 
						|
    'textmusicalnote': ['Insert', '\u266A'],
 | 
						|
    'textnumero': ['Insert', '\u2116'],
 | 
						|
    'textopenbullet': ['Insert', '\u25E6'],
 | 
						|
    'textpertenthousand': ['Insert', '\u2031'],
 | 
						|
    'textperthousand': ['Insert', '\u2030'],
 | 
						|
    'textrecipe': ['Insert', '\u211E'],
 | 
						|
    'textreferencemark': ['Insert', '\u203B'],
 | 
						|
    'textlangle': ['Insert', '\u2329'],
 | 
						|
    'textrangle': ['Insert', '\u232A'],
 | 
						|
    'textlbrackdbl': ['Insert', '\u27E6'],
 | 
						|
    'textrbrackdbl': ['Insert', '\u27E7'],
 | 
						|
    'textlquill': ['Insert', '\u2045'],
 | 
						|
    'textrquill': ['Insert', '\u2046'],
 | 
						|
    'textcelsius': ['Insert', '\u2103'],
 | 
						|
    'textdegree': ['Insert', '\u00B0'],
 | 
						|
    'textdiv': ['Insert', '\u00F7'],
 | 
						|
    'textdownarrow': ['Insert', '\u2193'],
 | 
						|
    'textfractionsolidus': ['Insert', '\u2044'],
 | 
						|
    'textleftarrow': ['Insert', '\u2190'],
 | 
						|
    'textlnot': ['Insert', '\u00AC'],
 | 
						|
    'textmho': ['Insert', '\u2127'],
 | 
						|
    'textminus': ['Insert', '\u2212'],
 | 
						|
    'textmu': ['Insert', '\u00B5'],
 | 
						|
    'textohm': ['Insert', '\u2126'],
 | 
						|
    'textonehalf': ['Insert', '\u00BD'],
 | 
						|
    'textonequarter': ['Insert', '\u00BC'],
 | 
						|
    'textonesuperior': ['Insert', '\u00B9'],
 | 
						|
    'textpm': ['Insert', '\u00B1'],
 | 
						|
    'textrightarrow': ['Insert', '\u2192'],
 | 
						|
    'textsurd': ['Insert', '\u221A'],
 | 
						|
    'textthreequarters': ['Insert', '\u00BE'],
 | 
						|
    'textthreesuperior': ['Insert', '\u00B3'],
 | 
						|
    'texttimes': ['Insert', '\u00D7'],
 | 
						|
    'texttwosuperior': ['Insert', '\u00B2'],
 | 
						|
    'textuparrow': ['Insert', '\u2191'],
 | 
						|
    'textborn': ['Insert', '\u002A'],
 | 
						|
    'textdied': ['Insert', '\u2020'],
 | 
						|
    'textdivorced': ['Insert', '\u26AE'],
 | 
						|
    'textmarried': ['Insert', '\u26AD'],
 | 
						|
    'textcentoldstyle': ['Insert', '\u00A2', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textdollaroldstyle': ['Insert', '\u0024', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textzerooldstyle': ['Insert', '0', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textoneoldstyle': ['Insert', '1', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'texttwooldstyle': ['Insert', '2', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textthreeoldstyle': ['Insert', '3', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textfouroldstyle': ['Insert', '4', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textfiveoldstyle': ['Insert', '5', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textsixoldstyle': ['Insert', '6', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textsevenoldstyle': ['Insert', '7', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'texteightoldstyle': ['Insert', '8', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    'textnineoldstyle': ['Insert', '9', TexConstants_js_1.TexConstant.Variant.OLDSTYLE]
 | 
						|
}, {
 | 
						|
    Insert: function (parser, name, c, font) {
 | 
						|
        if (parser instanceof TextParser_js_1.TextParser) {
 | 
						|
            if (!font) {
 | 
						|
                TextMacrosMethods_js_1.TextMacrosMethods.Insert(parser, name, c);
 | 
						|
                return;
 | 
						|
            }
 | 
						|
            parser.saveText();
 | 
						|
        }
 | 
						|
        parser.Push(ParseUtil_js_1.default.internalText(parser, c, font ? { mathvariant: font } : {}));
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=TextcompMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 54687:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
var _a;
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.TextMacrosConfiguration = exports.TextBaseConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var ParseOptions_js_1 = __importDefault(__webpack_require__(55661));
 | 
						|
var Tags_js_1 = __webpack_require__(75723);
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var TextParser_js_1 = __webpack_require__(97112);
 | 
						|
var TextMacrosMethods_js_1 = __webpack_require__(87753);
 | 
						|
__webpack_require__(13922);
 | 
						|
exports.TextBaseConfiguration = Configuration_js_1.Configuration.create('text-base', {
 | 
						|
    parser: 'text',
 | 
						|
    handler: {
 | 
						|
        character: ['command', 'text-special'],
 | 
						|
        macro: ['text-macros']
 | 
						|
    },
 | 
						|
    fallback: {
 | 
						|
        character: function (parser, c) {
 | 
						|
            parser.text += c;
 | 
						|
        },
 | 
						|
        macro: function (parser, name) {
 | 
						|
            var texParser = parser.texParser;
 | 
						|
            var macro = texParser.lookup('macro', name);
 | 
						|
            if (macro && macro._func !== TextMacrosMethods_js_1.TextMacrosMethods.Macro) {
 | 
						|
                parser.Error('MathMacro', '%1 is only supported in math mode', '\\' + name);
 | 
						|
            }
 | 
						|
            texParser.parse('macro', [parser, name]);
 | 
						|
        }
 | 
						|
    },
 | 
						|
    items: (_a = {},
 | 
						|
        _a[BaseItems_js_1.StartItem.prototype.kind] = BaseItems_js_1.StartItem,
 | 
						|
        _a[BaseItems_js_1.StopItem.prototype.kind] = BaseItems_js_1.StopItem,
 | 
						|
        _a[BaseItems_js_1.MmlItem.prototype.kind] = BaseItems_js_1.MmlItem,
 | 
						|
        _a[BaseItems_js_1.StyleItem.prototype.kind] = BaseItems_js_1.StyleItem,
 | 
						|
        _a)
 | 
						|
});
 | 
						|
function internalMath(parser, text, level, mathvariant) {
 | 
						|
    var config = parser.configuration.packageData.get('textmacros');
 | 
						|
    if (!(parser instanceof TextParser_js_1.TextParser)) {
 | 
						|
        config.texParser = parser;
 | 
						|
    }
 | 
						|
    return [(new TextParser_js_1.TextParser(text, mathvariant ? { mathvariant: mathvariant } : {}, config.parseOptions, level)).mml()];
 | 
						|
}
 | 
						|
exports.TextMacrosConfiguration = Configuration_js_1.Configuration.create('textmacros', {
 | 
						|
    config: function (_config, jax) {
 | 
						|
        var textConf = new Configuration_js_1.ParserConfiguration(jax.parseOptions.options.textmacros.packages, ['tex', 'text']);
 | 
						|
        textConf.init();
 | 
						|
        var parseOptions = new ParseOptions_js_1.default(textConf, []);
 | 
						|
        parseOptions.options = jax.parseOptions.options;
 | 
						|
        textConf.config(jax);
 | 
						|
        Tags_js_1.TagsFactory.addTags(textConf.tags);
 | 
						|
        parseOptions.tags = Tags_js_1.TagsFactory.getDefault();
 | 
						|
        parseOptions.tags.configuration = parseOptions;
 | 
						|
        parseOptions.packageData = jax.parseOptions.packageData;
 | 
						|
        parseOptions.packageData.set('textmacros', { parseOptions: parseOptions, jax: jax, texParser: null });
 | 
						|
        parseOptions.options.internalMath = internalMath;
 | 
						|
    },
 | 
						|
    preprocessors: [function (data) {
 | 
						|
            var config = data.data.packageData.get('textmacros');
 | 
						|
            config.parseOptions.nodeFactory.setMmlFactory(config.jax.mmlFactory);
 | 
						|
        }],
 | 
						|
    options: {
 | 
						|
        textmacros: {
 | 
						|
            packages: ['text-base']
 | 
						|
        }
 | 
						|
    }
 | 
						|
});
 | 
						|
//# sourceMappingURL=TextMacrosConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 13922:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var TextMacrosMethods_js_1 = __webpack_require__(87753);
 | 
						|
var lengths_js_1 = __webpack_require__(56780);
 | 
						|
new SymbolMap_js_1.MacroMap('text-special', {
 | 
						|
    '$': 'Math',
 | 
						|
    '%': 'Comment',
 | 
						|
    '^': 'MathModeOnly',
 | 
						|
    '_': 'MathModeOnly',
 | 
						|
    '&': 'Misplaced',
 | 
						|
    '#': 'Misplaced',
 | 
						|
    '~': 'Tilde',
 | 
						|
    ' ': 'Space',
 | 
						|
    '\t': 'Space',
 | 
						|
    '\r': 'Space',
 | 
						|
    '\n': 'Space',
 | 
						|
    '\u00A0': 'Tilde',
 | 
						|
    '{': 'OpenBrace',
 | 
						|
    '}': 'CloseBrace',
 | 
						|
    '`': 'OpenQuote',
 | 
						|
    '\'': 'CloseQuote'
 | 
						|
}, TextMacrosMethods_js_1.TextMacrosMethods);
 | 
						|
new SymbolMap_js_1.CommandMap('text-macros', {
 | 
						|
    '(': 'Math',
 | 
						|
    '$': 'SelfQuote',
 | 
						|
    '_': 'SelfQuote',
 | 
						|
    '%': 'SelfQuote',
 | 
						|
    '{': 'SelfQuote',
 | 
						|
    '}': 'SelfQuote',
 | 
						|
    ' ': 'SelfQuote',
 | 
						|
    '&': 'SelfQuote',
 | 
						|
    '#': 'SelfQuote',
 | 
						|
    '\\': 'SelfQuote',
 | 
						|
    '\'': ['Accent', '\u00B4'],
 | 
						|
    '\u2019': ['Accent', '\u00B4'],
 | 
						|
    '`': ['Accent', '\u0060'],
 | 
						|
    '\u2018': ['Accent', '\u0060'],
 | 
						|
    '^': ['Accent', '^'],
 | 
						|
    '\"': ['Accent', '\u00A8'],
 | 
						|
    '~': ['Accent', '~'],
 | 
						|
    '=': ['Accent', '\u00AF'],
 | 
						|
    '.': ['Accent', '\u02D9'],
 | 
						|
    'u': ['Accent', '\u02D8'],
 | 
						|
    'v': ['Accent', '\u02C7'],
 | 
						|
    emph: 'Emph',
 | 
						|
    rm: ['SetFont', TexConstants_js_1.TexConstant.Variant.NORMAL],
 | 
						|
    mit: ['SetFont', TexConstants_js_1.TexConstant.Variant.ITALIC],
 | 
						|
    oldstyle: ['SetFont', TexConstants_js_1.TexConstant.Variant.OLDSTYLE],
 | 
						|
    cal: ['SetFont', TexConstants_js_1.TexConstant.Variant.CALLIGRAPHIC],
 | 
						|
    it: ['SetFont', '-tex-mathit'],
 | 
						|
    bf: ['SetFont', TexConstants_js_1.TexConstant.Variant.BOLD],
 | 
						|
    bbFont: ['SetFont', TexConstants_js_1.TexConstant.Variant.DOUBLESTRUCK],
 | 
						|
    scr: ['SetFont', TexConstants_js_1.TexConstant.Variant.SCRIPT],
 | 
						|
    frak: ['SetFont', TexConstants_js_1.TexConstant.Variant.FRAKTUR],
 | 
						|
    sf: ['SetFont', TexConstants_js_1.TexConstant.Variant.SANSSERIF],
 | 
						|
    tt: ['SetFont', TexConstants_js_1.TexConstant.Variant.MONOSPACE],
 | 
						|
    tiny: ['SetSize', 0.5],
 | 
						|
    Tiny: ['SetSize', 0.6],
 | 
						|
    scriptsize: ['SetSize', 0.7],
 | 
						|
    small: ['SetSize', 0.85],
 | 
						|
    normalsize: ['SetSize', 1.0],
 | 
						|
    large: ['SetSize', 1.2],
 | 
						|
    Large: ['SetSize', 1.44],
 | 
						|
    LARGE: ['SetSize', 1.73],
 | 
						|
    huge: ['SetSize', 2.07],
 | 
						|
    Huge: ['SetSize', 2.49],
 | 
						|
    Bbb: ['Macro', '{\\bbFont #1}', 1],
 | 
						|
    textnormal: ['Macro', '{\\rm #1}', 1],
 | 
						|
    textup: ['Macro', '{\\rm #1}', 1],
 | 
						|
    textrm: ['Macro', '{\\rm #1}', 1],
 | 
						|
    textit: ['Macro', '{\\it #1}', 1],
 | 
						|
    textbf: ['Macro', '{\\bf #1}', 1],
 | 
						|
    textsf: ['Macro', '{\\sf #1}', 1],
 | 
						|
    texttt: ['Macro', '{\\tt #1}', 1],
 | 
						|
    dagger: ['Insert', '\u2020'],
 | 
						|
    ddagger: ['Insert', '\u2021'],
 | 
						|
    S: ['Insert', '\u00A7'],
 | 
						|
    ',': ['Spacer', lengths_js_1.MATHSPACE.thinmathspace],
 | 
						|
    ':': ['Spacer', lengths_js_1.MATHSPACE.mediummathspace],
 | 
						|
    '>': ['Spacer', lengths_js_1.MATHSPACE.mediummathspace],
 | 
						|
    ';': ['Spacer', lengths_js_1.MATHSPACE.thickmathspace],
 | 
						|
    '!': ['Spacer', lengths_js_1.MATHSPACE.negativethinmathspace],
 | 
						|
    enspace: ['Spacer', .5],
 | 
						|
    quad: ['Spacer', 1],
 | 
						|
    qquad: ['Spacer', 2],
 | 
						|
    thinspace: ['Spacer', lengths_js_1.MATHSPACE.thinmathspace],
 | 
						|
    negthinspace: ['Spacer', lengths_js_1.MATHSPACE.negativethinmathspace],
 | 
						|
    hskip: 'Hskip',
 | 
						|
    hspace: 'Hskip',
 | 
						|
    kern: 'Hskip',
 | 
						|
    mskip: 'Hskip',
 | 
						|
    mspace: 'Hskip',
 | 
						|
    mkern: 'Hskip',
 | 
						|
    rule: 'rule',
 | 
						|
    Rule: ['Rule'],
 | 
						|
    Space: ['Rule', 'blank'],
 | 
						|
    color: 'CheckAutoload',
 | 
						|
    textcolor: 'CheckAutoload',
 | 
						|
    colorbox: 'CheckAutoload',
 | 
						|
    fcolorbox: 'CheckAutoload',
 | 
						|
    href: 'CheckAutoload',
 | 
						|
    style: 'CheckAutoload',
 | 
						|
    class: 'CheckAutoload',
 | 
						|
    cssId: 'CheckAutoload',
 | 
						|
    unicode: 'CheckAutoload',
 | 
						|
    ref: ['HandleRef', false],
 | 
						|
    eqref: ['HandleRef', true],
 | 
						|
}, TextMacrosMethods_js_1.TextMacrosMethods);
 | 
						|
//# sourceMappingURL=TextMacrosMappings.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 87753:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.TextMacrosMethods = void 0;
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var Retries_js_1 = __webpack_require__(10956);
 | 
						|
var BaseMethods_js_1 = __importDefault(__webpack_require__(76914));
 | 
						|
exports.TextMacrosMethods = {
 | 
						|
    Comment: function (parser, _c) {
 | 
						|
        while (parser.i < parser.string.length && parser.string.charAt(parser.i) !== '\n') {
 | 
						|
            parser.i++;
 | 
						|
        }
 | 
						|
        parser.i++;
 | 
						|
    },
 | 
						|
    Math: function (parser, open) {
 | 
						|
        parser.saveText();
 | 
						|
        var i = parser.i;
 | 
						|
        var j, c;
 | 
						|
        var braces = 0;
 | 
						|
        while ((c = parser.GetNext())) {
 | 
						|
            j = parser.i++;
 | 
						|
            switch (c) {
 | 
						|
                case '\\':
 | 
						|
                    var cs = parser.GetCS();
 | 
						|
                    if (cs === ')')
 | 
						|
                        c = '\\(';
 | 
						|
                case '$':
 | 
						|
                    if (braces === 0 && open === c) {
 | 
						|
                        var config = parser.texParser.configuration;
 | 
						|
                        var mml = (new TexParser_js_1.default(parser.string.substr(i, j - i), parser.stack.env, config)).mml();
 | 
						|
                        parser.PushMath(mml);
 | 
						|
                        return;
 | 
						|
                    }
 | 
						|
                    break;
 | 
						|
                case '{':
 | 
						|
                    braces++;
 | 
						|
                    break;
 | 
						|
                case '}':
 | 
						|
                    if (braces === 0) {
 | 
						|
                        parser.Error('ExtraCloseMissingOpen', 'Extra close brace or missing open brace');
 | 
						|
                    }
 | 
						|
                    braces--;
 | 
						|
                    break;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        parser.Error('MathNotTerminated', 'Math-mode is not properly terminated');
 | 
						|
    },
 | 
						|
    MathModeOnly: function (parser, c) {
 | 
						|
        parser.Error('MathModeOnly', '\'%1\' allowed only in math mode', c);
 | 
						|
    },
 | 
						|
    Misplaced: function (parser, c) {
 | 
						|
        parser.Error('Misplaced', '\'%1\' can not be used here', c);
 | 
						|
    },
 | 
						|
    OpenBrace: function (parser, _c) {
 | 
						|
        var env = parser.stack.env;
 | 
						|
        parser.envStack.push(env);
 | 
						|
        parser.stack.env = Object.assign({}, env);
 | 
						|
    },
 | 
						|
    CloseBrace: function (parser, _c) {
 | 
						|
        if (parser.envStack.length) {
 | 
						|
            parser.saveText();
 | 
						|
            parser.stack.env = parser.envStack.pop();
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            parser.Error('ExtraCloseMissingOpen', 'Extra close brace or missing open brace');
 | 
						|
        }
 | 
						|
    },
 | 
						|
    OpenQuote: function (parser, c) {
 | 
						|
        if (parser.string.charAt(parser.i) === c) {
 | 
						|
            parser.text += '\u201C';
 | 
						|
            parser.i++;
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            parser.text += '\u2018';
 | 
						|
        }
 | 
						|
    },
 | 
						|
    CloseQuote: function (parser, c) {
 | 
						|
        if (parser.string.charAt(parser.i) === c) {
 | 
						|
            parser.text += '\u201D';
 | 
						|
            parser.i++;
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            parser.text += '\u2019';
 | 
						|
        }
 | 
						|
    },
 | 
						|
    Tilde: function (parser, _c) {
 | 
						|
        parser.text += '\u00A0';
 | 
						|
    },
 | 
						|
    Space: function (parser, _c) {
 | 
						|
        parser.text += ' ';
 | 
						|
        while (parser.GetNext().match(/\s/))
 | 
						|
            parser.i++;
 | 
						|
    },
 | 
						|
    SelfQuote: function (parser, name) {
 | 
						|
        parser.text += name.substr(1);
 | 
						|
    },
 | 
						|
    Insert: function (parser, _name, c) {
 | 
						|
        parser.text += c;
 | 
						|
    },
 | 
						|
    Accent: function (parser, name, c) {
 | 
						|
        var base = parser.ParseArg(name);
 | 
						|
        var accent = parser.create('token', 'mo', {}, c);
 | 
						|
        parser.addAttributes(accent);
 | 
						|
        parser.Push(parser.create('node', 'mover', [base, accent]));
 | 
						|
    },
 | 
						|
    Emph: function (parser, name) {
 | 
						|
        var variant = (parser.stack.env.mathvariant === '-tex-mathit' ? 'normal' : '-tex-mathit');
 | 
						|
        parser.Push(parser.ParseTextArg(name, { mathvariant: variant }));
 | 
						|
    },
 | 
						|
    SetFont: function (parser, _name, variant) {
 | 
						|
        parser.saveText();
 | 
						|
        parser.stack.env.mathvariant = variant;
 | 
						|
    },
 | 
						|
    SetSize: function (parser, _name, size) {
 | 
						|
        parser.saveText();
 | 
						|
        parser.stack.env.mathsize = size;
 | 
						|
    },
 | 
						|
    CheckAutoload: function (parser, name) {
 | 
						|
        var autoload = parser.configuration.packageData.get('autoload');
 | 
						|
        var texParser = parser.texParser;
 | 
						|
        name = name.slice(1);
 | 
						|
        var macro = texParser.lookup('macro', name);
 | 
						|
        if (!macro || (autoload && macro._func === autoload.Autoload)) {
 | 
						|
            texParser.parse('macro', [texParser, name]);
 | 
						|
            if (!macro)
 | 
						|
                return;
 | 
						|
            (0, Retries_js_1.retryAfter)(Promise.resolve());
 | 
						|
        }
 | 
						|
        texParser.parse('macro', [parser, name]);
 | 
						|
    },
 | 
						|
    Macro: BaseMethods_js_1.default.Macro,
 | 
						|
    Spacer: BaseMethods_js_1.default.Spacer,
 | 
						|
    Hskip: BaseMethods_js_1.default.Hskip,
 | 
						|
    rule: BaseMethods_js_1.default.rule,
 | 
						|
    Rule: BaseMethods_js_1.default.Rule,
 | 
						|
    HandleRef: BaseMethods_js_1.default.HandleRef
 | 
						|
};
 | 
						|
//# sourceMappingURL=TextMacrosMethods.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 97112:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __extends = (this && this.__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 __values = (this && this.__values) || function(o) {
 | 
						|
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
 | 
						|
    if (m) return m.call(o);
 | 
						|
    if (o && typeof o.length === "number") return {
 | 
						|
        next: function () {
 | 
						|
            if (o && i >= o.length) o = void 0;
 | 
						|
            return { value: o && o[i++], done: !o };
 | 
						|
        }
 | 
						|
    };
 | 
						|
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
 | 
						|
};
 | 
						|
var __read = (this && this.__read) || function (o, n) {
 | 
						|
    var m = typeof Symbol === "function" && o[Symbol.iterator];
 | 
						|
    if (!m) return o;
 | 
						|
    var i = m.call(o), r, ar = [], e;
 | 
						|
    try {
 | 
						|
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 | 
						|
    }
 | 
						|
    catch (error) { e = { error: error }; }
 | 
						|
    finally {
 | 
						|
        try {
 | 
						|
            if (r && !r.done && (m = i["return"])) m.call(i);
 | 
						|
        }
 | 
						|
        finally { if (e) throw e.error; }
 | 
						|
    }
 | 
						|
    return ar;
 | 
						|
};
 | 
						|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
 | 
						|
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
 | 
						|
        if (ar || !(i in from)) {
 | 
						|
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
 | 
						|
            ar[i] = from[i];
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return to.concat(ar || Array.prototype.slice.call(from));
 | 
						|
};
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.TextParser = void 0;
 | 
						|
var TexParser_js_1 = __importDefault(__webpack_require__(94032));
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var MmlNode_js_1 = __webpack_require__(83045);
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var BaseItems_js_1 = __webpack_require__(31201);
 | 
						|
var TextParser = (function (_super) {
 | 
						|
    __extends(TextParser, _super);
 | 
						|
    function TextParser(text, env, configuration, level) {
 | 
						|
        var _this = _super.call(this, text, env, configuration) || this;
 | 
						|
        _this.level = level;
 | 
						|
        return _this;
 | 
						|
    }
 | 
						|
    Object.defineProperty(TextParser.prototype, "texParser", {
 | 
						|
        get: function () {
 | 
						|
            return this.configuration.packageData.get('textmacros').texParser;
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    Object.defineProperty(TextParser.prototype, "tags", {
 | 
						|
        get: function () {
 | 
						|
            return this.texParser.tags;
 | 
						|
        },
 | 
						|
        enumerable: false,
 | 
						|
        configurable: true
 | 
						|
    });
 | 
						|
    TextParser.prototype.mml = function () {
 | 
						|
        return (this.level != null ?
 | 
						|
            this.create('node', 'mstyle', this.nodes, { displaystyle: false, scriptlevel: this.level }) :
 | 
						|
            this.nodes.length === 1 ? this.nodes[0] : this.create('node', 'mrow', this.nodes));
 | 
						|
    };
 | 
						|
    TextParser.prototype.Parse = function () {
 | 
						|
        this.text = '';
 | 
						|
        this.nodes = [];
 | 
						|
        this.envStack = [];
 | 
						|
        _super.prototype.Parse.call(this);
 | 
						|
    };
 | 
						|
    TextParser.prototype.saveText = function () {
 | 
						|
        if (this.text) {
 | 
						|
            var mathvariant = this.stack.env.mathvariant;
 | 
						|
            var text = ParseUtil_js_1.default.internalText(this, this.text, mathvariant ? { mathvariant: mathvariant } : {});
 | 
						|
            this.text = '';
 | 
						|
            this.Push(text);
 | 
						|
        }
 | 
						|
    };
 | 
						|
    TextParser.prototype.Push = function (mml) {
 | 
						|
        if (this.text) {
 | 
						|
            this.saveText();
 | 
						|
        }
 | 
						|
        if (mml instanceof BaseItems_js_1.StopItem) {
 | 
						|
            return _super.prototype.Push.call(this, mml);
 | 
						|
        }
 | 
						|
        if (mml instanceof BaseItems_js_1.StyleItem) {
 | 
						|
            this.stack.env.mathcolor = this.stack.env.color;
 | 
						|
            return;
 | 
						|
        }
 | 
						|
        if (mml instanceof MmlNode_js_1.AbstractMmlNode) {
 | 
						|
            this.addAttributes(mml);
 | 
						|
            this.nodes.push(mml);
 | 
						|
        }
 | 
						|
    };
 | 
						|
    TextParser.prototype.PushMath = function (mml) {
 | 
						|
        var e_1, _a;
 | 
						|
        var env = this.stack.env;
 | 
						|
        if (!mml.isKind('TeXAtom')) {
 | 
						|
            mml = this.create('node', 'TeXAtom', [mml]);
 | 
						|
        }
 | 
						|
        try {
 | 
						|
            for (var _b = __values(['mathsize', 'mathcolor']), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var name_1 = _c.value;
 | 
						|
                if (env[name_1] && !mml.attributes.getExplicit(name_1)) {
 | 
						|
                    if (!mml.isToken && !mml.isKind('mstyle')) {
 | 
						|
                        mml = this.create('node', 'mstyle', [mml]);
 | 
						|
                    }
 | 
						|
                    NodeUtil_js_1.default.setAttribute(mml, name_1, env[name_1]);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_1_1) { e_1 = { error: e_1_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_1) throw e_1.error; }
 | 
						|
        }
 | 
						|
        if (mml.isInferred) {
 | 
						|
            mml = this.create('node', 'mrow', mml.childNodes);
 | 
						|
        }
 | 
						|
        this.nodes.push(mml);
 | 
						|
    };
 | 
						|
    TextParser.prototype.addAttributes = function (mml) {
 | 
						|
        var e_2, _a;
 | 
						|
        var env = this.stack.env;
 | 
						|
        if (!mml.isToken)
 | 
						|
            return;
 | 
						|
        try {
 | 
						|
            for (var _b = __values(['mathsize', 'mathcolor', 'mathvariant']), _c = _b.next(); !_c.done; _c = _b.next()) {
 | 
						|
                var name_2 = _c.value;
 | 
						|
                if (env[name_2] && !mml.attributes.getExplicit(name_2)) {
 | 
						|
                    NodeUtil_js_1.default.setAttribute(mml, name_2, env[name_2]);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        catch (e_2_1) { e_2 = { error: e_2_1 }; }
 | 
						|
        finally {
 | 
						|
            try {
 | 
						|
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
 | 
						|
            }
 | 
						|
            finally { if (e_2) throw e_2.error; }
 | 
						|
        }
 | 
						|
    };
 | 
						|
    TextParser.prototype.ParseTextArg = function (name, env) {
 | 
						|
        var text = this.GetArgument(name);
 | 
						|
        env = Object.assign(Object.assign({}, this.stack.env), env);
 | 
						|
        return (new TextParser(text, env, this.configuration)).mml();
 | 
						|
    };
 | 
						|
    TextParser.prototype.ParseArg = function (name) {
 | 
						|
        return (new TextParser(this.GetArgument(name), this.stack.env, this.configuration)).mml();
 | 
						|
    };
 | 
						|
    TextParser.prototype.Error = function (id, message) {
 | 
						|
        var args = [];
 | 
						|
        for (var _i = 2; _i < arguments.length; _i++) {
 | 
						|
            args[_i - 2] = arguments[_i];
 | 
						|
        }
 | 
						|
        throw new (TexError_js_1.default.bind.apply(TexError_js_1.default, __spreadArray([void 0, id, message], __read(args), false)))();
 | 
						|
    };
 | 
						|
    return TextParser;
 | 
						|
}(TexParser_js_1.default));
 | 
						|
exports.TextParser = TextParser;
 | 
						|
//# sourceMappingURL=TextParser.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 36229:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.UnicodeConfiguration = exports.UnicodeMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var ParseUtil_js_1 = __importDefault(__webpack_require__(55038));
 | 
						|
var NodeUtil_js_1 = __importDefault(__webpack_require__(53972));
 | 
						|
var Entities_js_1 = __webpack_require__(61051);
 | 
						|
exports.UnicodeMethods = {};
 | 
						|
var UnicodeCache = {};
 | 
						|
exports.UnicodeMethods.Unicode = function (parser, name) {
 | 
						|
    var HD = parser.GetBrackets(name);
 | 
						|
    var HDsplit = null;
 | 
						|
    var font = null;
 | 
						|
    if (HD) {
 | 
						|
        if (HD.replace(/ /g, '').
 | 
						|
            match(/^(\d+(\.\d*)?|\.\d+),(\d+(\.\d*)?|\.\d+)$/)) {
 | 
						|
            HDsplit = HD.replace(/ /g, '').split(/,/);
 | 
						|
            font = parser.GetBrackets(name);
 | 
						|
        }
 | 
						|
        else {
 | 
						|
            font = HD;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    var n = ParseUtil_js_1.default.trimSpaces(parser.GetArgument(name)).replace(/^0x/, 'x');
 | 
						|
    if (!n.match(/^(x[0-9A-Fa-f]+|[0-9]+)$/)) {
 | 
						|
        throw new TexError_js_1.default('BadUnicode', 'Argument to \\unicode must be a number');
 | 
						|
    }
 | 
						|
    var N = parseInt(n.match(/^x/) ? '0' + n : n);
 | 
						|
    if (!UnicodeCache[N]) {
 | 
						|
        UnicodeCache[N] = [800, 200, font, N];
 | 
						|
    }
 | 
						|
    else if (!font) {
 | 
						|
        font = UnicodeCache[N][2];
 | 
						|
    }
 | 
						|
    if (HDsplit) {
 | 
						|
        UnicodeCache[N][0] = Math.floor(parseFloat(HDsplit[0]) * 1000);
 | 
						|
        UnicodeCache[N][1] = Math.floor(parseFloat(HDsplit[1]) * 1000);
 | 
						|
    }
 | 
						|
    var variant = parser.stack.env.font;
 | 
						|
    var def = {};
 | 
						|
    if (font) {
 | 
						|
        UnicodeCache[N][2] = def.fontfamily = font.replace(/'/g, '\'');
 | 
						|
        if (variant) {
 | 
						|
            if (variant.match(/bold/)) {
 | 
						|
                def.fontweight = 'bold';
 | 
						|
            }
 | 
						|
            if (variant.match(/italic|-mathit/)) {
 | 
						|
                def.fontstyle = 'italic';
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    else if (variant) {
 | 
						|
        def.mathvariant = variant;
 | 
						|
    }
 | 
						|
    var node = parser.create('token', 'mtext', def, (0, Entities_js_1.numeric)(n));
 | 
						|
    NodeUtil_js_1.default.setProperty(node, 'unicode', true);
 | 
						|
    parser.Push(node);
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('unicode', { unicode: 'Unicode' }, exports.UnicodeMethods);
 | 
						|
exports.UnicodeConfiguration = Configuration_js_1.Configuration.create('unicode', { handler: { macro: ['unicode'] } });
 | 
						|
//# sourceMappingURL=UnicodeConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 63892:
 | 
						|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
 | 
						|
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.UpgreekConfiguration = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
function mathchar0miNormal(parser, mchar) {
 | 
						|
    var def = mchar.attributes || {};
 | 
						|
    def.mathvariant = TexConstants_js_1.TexConstant.Variant.NORMAL;
 | 
						|
    var node = parser.create('token', 'mi', def, mchar.char);
 | 
						|
    parser.Push(node);
 | 
						|
}
 | 
						|
new SymbolMap_js_1.CharacterMap('upgreek', mathchar0miNormal, {
 | 
						|
    upalpha: '\u03B1',
 | 
						|
    upbeta: '\u03B2',
 | 
						|
    upgamma: '\u03B3',
 | 
						|
    updelta: '\u03B4',
 | 
						|
    upepsilon: '\u03F5',
 | 
						|
    upzeta: '\u03B6',
 | 
						|
    upeta: '\u03B7',
 | 
						|
    uptheta: '\u03B8',
 | 
						|
    upiota: '\u03B9',
 | 
						|
    upkappa: '\u03BA',
 | 
						|
    uplambda: '\u03BB',
 | 
						|
    upmu: '\u03BC',
 | 
						|
    upnu: '\u03BD',
 | 
						|
    upxi: '\u03BE',
 | 
						|
    upomicron: '\u03BF',
 | 
						|
    uppi: '\u03C0',
 | 
						|
    uprho: '\u03C1',
 | 
						|
    upsigma: '\u03C3',
 | 
						|
    uptau: '\u03C4',
 | 
						|
    upupsilon: '\u03C5',
 | 
						|
    upphi: '\u03D5',
 | 
						|
    upchi: '\u03C7',
 | 
						|
    uppsi: '\u03C8',
 | 
						|
    upomega: '\u03C9',
 | 
						|
    upvarepsilon: '\u03B5',
 | 
						|
    upvartheta: '\u03D1',
 | 
						|
    upvarpi: '\u03D6',
 | 
						|
    upvarrho: '\u03F1',
 | 
						|
    upvarsigma: '\u03C2',
 | 
						|
    upvarphi: '\u03C6',
 | 
						|
    Upgamma: '\u0393',
 | 
						|
    Updelta: '\u0394',
 | 
						|
    Uptheta: '\u0398',
 | 
						|
    Uplambda: '\u039B',
 | 
						|
    Upxi: '\u039E',
 | 
						|
    Uppi: '\u03A0',
 | 
						|
    Upsigma: '\u03A3',
 | 
						|
    Upupsilon: '\u03A5',
 | 
						|
    Upphi: '\u03A6',
 | 
						|
    Uppsi: '\u03A8',
 | 
						|
    Upomega: '\u03A9'
 | 
						|
});
 | 
						|
exports.UpgreekConfiguration = Configuration_js_1.Configuration.create('upgreek', {
 | 
						|
    handler: { macro: ['upgreek'] },
 | 
						|
});
 | 
						|
//# sourceMappingURL=UpgreekConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 95729:
 | 
						|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
 | 
						|
 | 
						|
 | 
						|
var __importDefault = (this && this.__importDefault) || function (mod) {
 | 
						|
    return (mod && mod.__esModule) ? mod : { "default": mod };
 | 
						|
};
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.VerbConfiguration = exports.VerbMethods = void 0;
 | 
						|
var Configuration_js_1 = __webpack_require__(63401);
 | 
						|
var TexConstants_js_1 = __webpack_require__(28027);
 | 
						|
var SymbolMap_js_1 = __webpack_require__(65695);
 | 
						|
var TexError_js_1 = __importDefault(__webpack_require__(54420));
 | 
						|
exports.VerbMethods = {};
 | 
						|
exports.VerbMethods.Verb = function (parser, name) {
 | 
						|
    var c = parser.GetNext();
 | 
						|
    var start = ++parser.i;
 | 
						|
    if (c === '') {
 | 
						|
        throw new TexError_js_1.default('MissingArgFor', 'Missing argument for %1', name);
 | 
						|
    }
 | 
						|
    while (parser.i < parser.string.length &&
 | 
						|
        parser.string.charAt(parser.i) !== c) {
 | 
						|
        parser.i++;
 | 
						|
    }
 | 
						|
    if (parser.i === parser.string.length) {
 | 
						|
        throw new TexError_js_1.default('NoClosingDelim', 'Can\'t find closing delimiter for %1', parser.currentCS);
 | 
						|
    }
 | 
						|
    var text = parser.string.slice(start, parser.i).replace(/ /g, '\u00A0');
 | 
						|
    parser.i++;
 | 
						|
    parser.Push(parser.create('token', 'mtext', { mathvariant: TexConstants_js_1.TexConstant.Variant.MONOSPACE }, text));
 | 
						|
};
 | 
						|
new SymbolMap_js_1.CommandMap('verb', { verb: 'Verb' }, exports.VerbMethods);
 | 
						|
exports.VerbConfiguration = Configuration_js_1.Configuration.create('verb', { handler: { macro: ['verb'] } });
 | 
						|
//# sourceMappingURL=VerbConfiguration.js.map
 | 
						|
 | 
						|
/***/ }),
 | 
						|
 | 
						|
/***/ 84752:
 | 
						|
/***/ ((__unused_webpack_module, exports) => {
 | 
						|
 | 
						|
 | 
						|
/*!
 | 
						|
 *************************************************************************
 | 
						|
 *
 | 
						|
 *  mhchemParser.ts
 | 
						|
 *  4.2.1
 | 
						|
 *
 | 
						|
 *  Parser for the \ce command and \pu command for MathJax and Co.
 | 
						|
 *
 | 
						|
 *  mhchem's \ce is a tool for writing beautiful chemical equations easily.
 | 
						|
 *  mhchem's \pu is a tool for writing physical units easily.
 | 
						|
 *
 | 
						|
 *  ----------------------------------------------------------------------
 | 
						|
 *
 | 
						|
 *  Copyright (c) 2015-2023 Martin Hensel
 | 
						|
 *
 | 
						|
 *  Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
 *  you may not use this file except in compliance with the License.
 | 
						|
 *  You may obtain a copy of the License at
 | 
						|
 *
 | 
						|
 *      http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 *
 | 
						|
 *  Unless required by applicable law or agreed to in writing, software
 | 
						|
 *  distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 *  See the License for the specific language governing permissions and
 | 
						|
 *  limitations under the License.
 | 
						|
 *
 | 
						|
 *  ----------------------------------------------------------------------
 | 
						|
 *
 | 
						|
 *  https://github.com/mhchem/mhchemParser
 | 
						|
 *
 | 
						|
 */
 | 
						|
Object.defineProperty(exports, "__esModule", ({ value: true }));
 | 
						|
exports.mhchemParser = void 0;
 | 
						|
var mhchemParser = (function () {
 | 
						|
    function mhchemParser() {
 | 
						|
    }
 | 
						|
    mhchemParser.toTex = function (input, type) {
 | 
						|
        return _mhchemTexify.go(_mhchemParser.go(input, type), type !== "tex");
 | 
						|
    };
 | 
						|
    return mhchemParser;
 | 
						|
}());
 | 
						|
exports.mhchemParser = mhchemParser;
 | 
						|
function _mhchemCreateTransitions(o) {
 | 
						|
    var pattern, state;
 | 
						|
    var transitions = {};
 | 
						|
    for (pattern in o) {
 | 
						|
        for (state in o[pattern]) {
 | 
						|
            var stateArray = state.split("|");
 | 
						|
            o[pattern][state].stateArray = stateArray;
 | 
						|
            for (var i = 0; i < stateArray.length; i++) {
 | 
						|
                transitions[stateArray[i]] = [];
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    for (pattern in o) {
 | 
						|
        for (state in o[pattern]) {
 | 
						|
            var stateArray = o[pattern][state].stateArray || [];
 | 
						|
            for (var i = 0; i < stateArray.length; i++) {
 | 
						|
                var p = o[pattern][state];
 | 
						|
                p.action_ = [].concat(p.action_);
 | 
						|
                for (var k = 0; k < p.action_.length; k++) {
 | 
						|
                    if (typeof p.action_[k] === "string") {
 | 
						|
                        p.action_[k] = { type_: p.action_[k] };
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                var patternArray = pattern.split("|");
 | 
						|
                for (var j = 0; j < patternArray.length; j++) {
 | 
						|
                    if (stateArray[i] === '*') {
 | 
						|
                        var t = void 0;
 | 
						|
                        for (t in transitions) {
 | 
						|
                            transitions[t].push({ pattern: patternArray[j], task: p });
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        transitions[stateArray[i]].push({ pattern: patternArray[j], task: p });
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return transitions;
 | 
						|
}
 | 
						|
;
 | 
						|
var _mhchemParser = {
 | 
						|
    go: function (input, stateMachine) {
 | 
						|
        if (!input) {
 | 
						|
            return [];
 | 
						|
        }
 | 
						|
        if (stateMachine === undefined) {
 | 
						|
            stateMachine = 'ce';
 | 
						|
        }
 | 
						|
        var state = '0';
 | 
						|
        var buffer = {};
 | 
						|
        buffer['parenthesisLevel'] = 0;
 | 
						|
        input = input.replace(/\n/g, " ");
 | 
						|
        input = input.replace(/[\u2212\u2013\u2014\u2010]/g, "-");
 | 
						|
        input = input.replace(/[\u2026]/g, "...");
 | 
						|
        var lastInput;
 | 
						|
        var watchdog = 10;
 | 
						|
        var output = [];
 | 
						|
        while (true) {
 | 
						|
            if (lastInput !== input) {
 | 
						|
                watchdog = 10;
 | 
						|
                lastInput = input;
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                watchdog--;
 | 
						|
            }
 | 
						|
            var machine = _mhchemParser.stateMachines[stateMachine];
 | 
						|
            var t = machine.transitions[state] || machine.transitions['*'];
 | 
						|
            iterateTransitions: for (var i = 0; i < t.length; i++) {
 | 
						|
                var matches = _mhchemParser.patterns.match_(t[i].pattern, input);
 | 
						|
                if (matches) {
 | 
						|
                    var task = t[i].task;
 | 
						|
                    for (var iA = 0; iA < task.action_.length; iA++) {
 | 
						|
                        var o = void 0;
 | 
						|
                        if (machine.actions[task.action_[iA].type_]) {
 | 
						|
                            o = machine.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option);
 | 
						|
                        }
 | 
						|
                        else if (_mhchemParser.actions[task.action_[iA].type_]) {
 | 
						|
                            o = _mhchemParser.actions[task.action_[iA].type_](buffer, matches.match_, task.action_[iA].option);
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            throw ["MhchemBugA", "mhchem bug A. Please report. (" + task.action_[iA].type_ + ")"];
 | 
						|
                        }
 | 
						|
                        _mhchemParser.concatArray(output, o);
 | 
						|
                    }
 | 
						|
                    state = task.nextState || state;
 | 
						|
                    if (input.length > 0) {
 | 
						|
                        if (!task.revisit) {
 | 
						|
                            input = matches.remainder;
 | 
						|
                        }
 | 
						|
                        if (!task.toContinue) {
 | 
						|
                            break iterateTransitions;
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        return output;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (watchdog <= 0) {
 | 
						|
                throw ["MhchemBugU", "mhchem bug U. Please report."];
 | 
						|
            }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    concatArray: function (a, b) {
 | 
						|
        if (b) {
 | 
						|
            if (Array.isArray(b)) {
 | 
						|
                for (var iB = 0; iB < b.length; iB++) {
 | 
						|
                    a.push(b[iB]);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                a.push(b);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    patterns: {
 | 
						|
        patterns: {
 | 
						|
            'empty': /^$/,
 | 
						|
            'else': /^./,
 | 
						|
            'else2': /^./,
 | 
						|
            'space': /^\s/,
 | 
						|
            'space A': /^\s(?=[A-Z\\$])/,
 | 
						|
            'space$': /^\s$/,
 | 
						|
            'a-z': /^[a-z]/,
 | 
						|
            'x': /^x/,
 | 
						|
            'x$': /^x$/,
 | 
						|
            'i$': /^i$/,
 | 
						|
            'letters': /^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,
 | 
						|
            '\\greek': /^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,
 | 
						|
            'one lowercase latin letter $': /^(?:([a-z])(?:$|[^a-zA-Z]))$/,
 | 
						|
            '$one lowercase latin letter$ $': /^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,
 | 
						|
            'one lowercase greek letter $': /^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,
 | 
						|
            'digits': /^[0-9]+/,
 | 
						|
            '-9.,9': /^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,
 | 
						|
            '-9.,9 no missing 0': /^[+\-]?[0-9]+(?:[.,][0-9]+)?/,
 | 
						|
            '(-)(9.,9)(e)(99)': function (input) {
 | 
						|
                var match = input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:(?:([eE])|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/);
 | 
						|
                if (match && match[0]) {
 | 
						|
                    return { match_: match.slice(1), remainder: input.substr(match[0].length) };
 | 
						|
                }
 | 
						|
                return null;
 | 
						|
            },
 | 
						|
            '(-)(9)^(-9)': /^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/,
 | 
						|
            'state of aggregation $': function (input) {
 | 
						|
                var a = _mhchemParser.patterns.findObserveGroups(input, "", /^\([a-z]{1,3}(?=[\),])/, ")", "");
 | 
						|
                if (a && a.remainder.match(/^($|[\s,;\)\]\}])/)) {
 | 
						|
                    return a;
 | 
						|
                }
 | 
						|
                var match = input.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);
 | 
						|
                if (match) {
 | 
						|
                    return { match_: match[0], remainder: input.substr(match[0].length) };
 | 
						|
                }
 | 
						|
                return null;
 | 
						|
            },
 | 
						|
            '_{(state of aggregation)}$': /^_\{(\([a-z]{1,3}\))\}/,
 | 
						|
            '{[(': /^(?:\\\{|\[|\()/,
 | 
						|
            ')]}': /^(?:\)|\]|\\\})/,
 | 
						|
            ', ': /^[,;]\s*/,
 | 
						|
            ',': /^[,;]/,
 | 
						|
            '.': /^[.]/,
 | 
						|
            '. __* ': /^([.\u22C5\u00B7\u2022]|[*])\s*/,
 | 
						|
            '...': /^\.\.\.(?=$|[^.])/,
 | 
						|
            '^{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "^{", "", "", "}"); },
 | 
						|
            '^($...$)': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "^", "$", "$", ""); },
 | 
						|
            '^a': /^\^([0-9]+|[^\\_])/,
 | 
						|
            '^\\x{}{}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); },
 | 
						|
            '^\\x{}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "^", /^\\[a-zA-Z]+\{/, "}", ""); },
 | 
						|
            '^\\x': /^\^(\\[a-zA-Z]+)\s*/,
 | 
						|
            '^(-1)': /^\^(-?\d+)/,
 | 
						|
            '\'': /^'/,
 | 
						|
            '_{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "_{", "", "", "}"); },
 | 
						|
            '_($...$)': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "_", "$", "$", ""); },
 | 
						|
            '_9': /^_([+\-]?[0-9]+|[^\\])/,
 | 
						|
            '_\\x{}{}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); },
 | 
						|
            '_\\x{}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "_", /^\\[a-zA-Z]+\{/, "}", ""); },
 | 
						|
            '_\\x': /^_(\\[a-zA-Z]+)\s*/,
 | 
						|
            '^_': /^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,
 | 
						|
            '{}^': /^\{\}(?=\^)/,
 | 
						|
            '{}': /^\{\}/,
 | 
						|
            '{...}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "", "{", "}", ""); },
 | 
						|
            '{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "{", "", "", "}"); },
 | 
						|
            '$...$': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "", "$", "$", ""); },
 | 
						|
            '${(...)}$__$(...)$': function (input) {
 | 
						|
                return _mhchemParser.patterns.findObserveGroups(input, "${", "", "", "}$") || _mhchemParser.patterns.findObserveGroups(input, "$", "", "", "$");
 | 
						|
            },
 | 
						|
            '=<>': /^[=<>]/,
 | 
						|
            '#': /^[#\u2261]/,
 | 
						|
            '+': /^\+/,
 | 
						|
            '-$': /^-(?=[\s_},;\]/]|$|\([a-z]+\))/,
 | 
						|
            '-9': /^-(?=[0-9])/,
 | 
						|
            '- orbital overlap': /^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,
 | 
						|
            '-': /^-/,
 | 
						|
            'pm-operator': /^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,
 | 
						|
            'operator': /^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,
 | 
						|
            'arrowUpDown': /^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,
 | 
						|
            '\\bond{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\bond{", "", "", "}"); },
 | 
						|
            '->': /^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,
 | 
						|
            'CMT': /^[CMT](?=\[)/,
 | 
						|
            '[(...)]': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "[", "", "", "]"); },
 | 
						|
            '1st-level escape': /^(&|\\\\|\\hline)\s*/,
 | 
						|
            '\\,': /^(?:\\[,\ ;:])/,
 | 
						|
            '\\x{}{}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", "", "", "{", "}", "", true); },
 | 
						|
            '\\x{}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "", /^\\[a-zA-Z]+\{/, "}", ""); },
 | 
						|
            '\\ca': /^\\ca(?:\s+|(?![a-zA-Z]))/,
 | 
						|
            '\\x': /^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,
 | 
						|
            'orbital': /^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,
 | 
						|
            'others': /^[\/~|]/,
 | 
						|
            '\\frac{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\frac{", "", "", "}", "{", "", "", "}"); },
 | 
						|
            '\\overset{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\overset{", "", "", "}", "{", "", "", "}"); },
 | 
						|
            '\\underset{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\underset{", "", "", "}", "{", "", "", "}"); },
 | 
						|
            '\\underbrace{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\underbrace{", "", "", "}_", "{", "", "", "}"); },
 | 
						|
            '\\color{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}"); },
 | 
						|
            '\\color{(...)}{(...)}': function (input) {
 | 
						|
                return _mhchemParser.patterns.findObserveGroups(input, "\\color{", "", "", "}", "{", "", "", "}") ||
 | 
						|
                    _mhchemParser.patterns.findObserveGroups(input, "\\color", "\\", "", /^(?=\{)/, "{", "", "", "}");
 | 
						|
            },
 | 
						|
            '\\ce{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\ce{", "", "", "}"); },
 | 
						|
            '\\pu{(...)}': function (input) { return _mhchemParser.patterns.findObserveGroups(input, "\\pu{", "", "", "}"); },
 | 
						|
            'oxidation$': /^(?:[+-][IVX]+|(?:\\pm|\$\\pm\$|\+-|\+\/-)\s*0)$/,
 | 
						|
            'd-oxidation$': /^(?:[+-]?[IVX]+|(?:\\pm|\$\\pm\$|\+-|\+\/-)\s*0)$/,
 | 
						|
            '1/2$': /^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,
 | 
						|
            'amount': function (input) {
 | 
						|
                var match;
 | 
						|
                match = input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/);
 | 
						|
                if (match) {
 | 
						|
                    return { match_: match[0], remainder: input.substr(match[0].length) };
 | 
						|
                }
 | 
						|
                var a = _mhchemParser.patterns.findObserveGroups(input, "", "$", "$", "");
 | 
						|
                if (a) {
 | 
						|
                    match = a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/);
 | 
						|
                    if (match) {
 | 
						|
                        return { match_: match[0], remainder: input.substr(match[0].length) };
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                return null;
 | 
						|
            },
 | 
						|
            'amount2': function (input) { return this['amount'](input); },
 | 
						|
            '(KV letters),': /^(?:[A-Z][a-z]{0,2}|i)(?=,)/,
 | 
						|
            'formula$': function (input) {
 | 
						|
                if (input.match(/^\([a-z]+\)$/)) {
 | 
						|
                    return null;
 | 
						|
                }
 | 
						|
                var match = input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);
 | 
						|
                if (match) {
 | 
						|
                    return { match_: match[0], remainder: input.substr(match[0].length) };
 | 
						|
                }
 | 
						|
                return null;
 | 
						|
            },
 | 
						|
            'uprightEntities': /^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,
 | 
						|
            '/': /^\s*(\/)\s*/,
 | 
						|
            '//': /^\s*(\/\/)\s*/,
 | 
						|
            '*': /^\s*[*.]\s*/
 | 
						|
        },
 | 
						|
        findObserveGroups: function (input, begExcl, begIncl, endIncl, endExcl, beg2Excl, beg2Incl, end2Incl, end2Excl, combine) {
 | 
						|
            var _match = function (input, pattern) {
 | 
						|
                if (typeof pattern === "string") {
 | 
						|
                    if (input.indexOf(pattern) !== 0) {
 | 
						|
                        return null;
 | 
						|
                    }
 | 
						|
                    return pattern;
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    var match_1 = input.match(pattern);
 | 
						|
                    if (!match_1) {
 | 
						|
                        return null;
 | 
						|
                    }
 | 
						|
                    return match_1[0];
 | 
						|
                }
 | 
						|
            };
 | 
						|
            var _findObserveGroups = function (input, i, endChars) {
 | 
						|
                var braces = 0;
 | 
						|
                while (i < input.length) {
 | 
						|
                    var a = input.charAt(i);
 | 
						|
                    var match_2 = _match(input.substr(i), endChars);
 | 
						|
                    if (match_2 !== null && braces === 0) {
 | 
						|
                        return { endMatchBegin: i, endMatchEnd: i + match_2.length };
 | 
						|
                    }
 | 
						|
                    else if (a === "{") {
 | 
						|
                        braces++;
 | 
						|
                    }
 | 
						|
                    else if (a === "}") {
 | 
						|
                        if (braces === 0) {
 | 
						|
                            throw ["ExtraCloseMissingOpen", "Extra close brace or missing open brace"];
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            braces--;
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    i++;
 | 
						|
                }
 | 
						|
                if (braces > 0) {
 | 
						|
                    return null;
 | 
						|
                }
 | 
						|
                return null;
 | 
						|
            };
 | 
						|
            var match = _match(input, begExcl);
 | 
						|
            if (match === null) {
 | 
						|
                return null;
 | 
						|
            }
 | 
						|
            input = input.substr(match.length);
 | 
						|
            match = _match(input, begIncl);
 | 
						|
            if (match === null) {
 | 
						|
                return null;
 | 
						|
            }
 | 
						|
            var e = _findObserveGroups(input, match.length, endIncl || endExcl);
 | 
						|
            if (e === null) {
 | 
						|
                return null;
 | 
						|
            }
 | 
						|
            var match1 = input.substring(0, (endIncl ? e.endMatchEnd : e.endMatchBegin));
 | 
						|
            if (!(beg2Excl || beg2Incl)) {
 | 
						|
                return {
 | 
						|
                    match_: match1,
 | 
						|
                    remainder: input.substr(e.endMatchEnd)
 | 
						|
                };
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                var group2 = this.findObserveGroups(input.substr(e.endMatchEnd), beg2Excl, beg2Incl, end2Incl, end2Excl);
 | 
						|
                if (group2 === null) {
 | 
						|
                    return null;
 | 
						|
                }
 | 
						|
                var matchRet = [match1, group2.match_];
 | 
						|
                return {
 | 
						|
                    match_: (combine ? matchRet.join("") : matchRet),
 | 
						|
                    remainder: group2.remainder
 | 
						|
                };
 | 
						|
            }
 | 
						|
        },
 | 
						|
        match_: function (m, input) {
 | 
						|
            var pattern = _mhchemParser.patterns.patterns[m];
 | 
						|
            if (pattern === undefined) {
 | 
						|
                throw ["MhchemBugP", "mhchem bug P. Please report. (" + m + ")"];
 | 
						|
            }
 | 
						|
            else if (typeof pattern === "function") {
 | 
						|
                return _mhchemParser.patterns.patterns[m](input);
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                var match = input.match(pattern);
 | 
						|
                if (match) {
 | 
						|
                    if (match.length > 2) {
 | 
						|
                        return { match_: match.slice(1), remainder: input.substr(match[0].length) };
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        return { match_: match[1] || match[0], remainder: input.substr(match[0].length) };
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                return null;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    actions: {
 | 
						|
        'a=': function (buffer, m) { buffer.a = (buffer.a || "") + m; return undefined; },
 | 
						|
        'b=': function (buffer, m) { buffer.b = (buffer.b || "") + m; return undefined; },
 | 
						|
        'p=': function (buffer, m) { buffer.p = (buffer.p || "") + m; return undefined; },
 | 
						|
        'o=': function (buffer, m) { buffer.o = (buffer.o || "") + m; return undefined; },
 | 
						|
        'o=+p1': function (buffer, _m, a) { buffer.o = (buffer.o || "") + a; return undefined; },
 | 
						|
        'q=': function (buffer, m) { buffer.q = (buffer.q || "") + m; return undefined; },
 | 
						|
        'd=': function (buffer, m) { buffer.d = (buffer.d || "") + m; return undefined; },
 | 
						|
        'rm=': function (buffer, m) { buffer.rm = (buffer.rm || "") + m; return undefined; },
 | 
						|
        'text=': function (buffer, m) { buffer.text_ = (buffer.text_ || "") + m; return undefined; },
 | 
						|
        'insert': function (_buffer, _m, a) { return { type_: a }; },
 | 
						|
        'insert+p1': function (_buffer, m, a) { return { type_: a, p1: m }; },
 | 
						|
        'insert+p1+p2': function (_buffer, m, a) { return { type_: a, p1: m[0], p2: m[1] }; },
 | 
						|
        'copy': function (_buffer, m) { return m; },
 | 
						|
        'write': function (_buffer, _m, a) { return a; },
 | 
						|
        'rm': function (_buffer, m) { return { type_: 'rm', p1: m }; },
 | 
						|
        'text': function (_buffer, m) { return _mhchemParser.go(m, 'text'); },
 | 
						|
        'tex-math': function (_buffer, m) { return _mhchemParser.go(m, 'tex-math'); },
 | 
						|
        'tex-math tight': function (_buffer, m) { return _mhchemParser.go(m, 'tex-math tight'); },
 | 
						|
        'bond': function (_buffer, m, k) { return { type_: 'bond', kind_: k || m }; },
 | 
						|
        'color0-output': function (_buffer, m) { return { type_: 'color0', color: m }; },
 | 
						|
        'ce': function (_buffer, m) { return _mhchemParser.go(m, 'ce'); },
 | 
						|
        'pu': function (_buffer, m) { return _mhchemParser.go(m, 'pu'); },
 | 
						|
        '1/2': function (_buffer, m) {
 | 
						|
            var ret = [];
 | 
						|
            if (m.match(/^[+\-]/)) {
 | 
						|
                ret.push(m.substr(0, 1));
 | 
						|
                m = m.substr(1);
 | 
						|
            }
 | 
						|
            var n = m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);
 | 
						|
            n[1] = n[1].replace(/\$/g, "");
 | 
						|
            ret.push({ type_: 'frac', p1: n[1], p2: n[2] });
 | 
						|
            if (n[3]) {
 | 
						|
                n[3] = n[3].replace(/\$/g, "");
 | 
						|
                ret.push({ type_: 'tex-math', p1: n[3] });
 | 
						|
            }
 | 
						|
            return ret;
 | 
						|
        },
 | 
						|
        '9,9': function (_buffer, m) { return _mhchemParser.go(m, '9,9'); }
 | 
						|
    },
 | 
						|
    stateMachines: {
 | 
						|
        'tex': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '0': { action_: 'copy' }
 | 
						|
                },
 | 
						|
                '\\ce{(...)}': {
 | 
						|
                    '0': { action_: [{ type_: 'write', option: "{" }, 'ce', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '0': { action_: [{ type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '0': { action_: 'copy' }
 | 
						|
                },
 | 
						|
            }),
 | 
						|
            actions: {}
 | 
						|
        },
 | 
						|
        'ce': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'output' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '0|1|2': { action_: 'beginsWithBond=false', revisit: true, toContinue: true }
 | 
						|
                },
 | 
						|
                'oxidation$': {
 | 
						|
                    '0': { action_: 'oxidation-output' }
 | 
						|
                },
 | 
						|
                'CMT': {
 | 
						|
                    'r': { action_: 'rdt=', nextState: 'rt' },
 | 
						|
                    'rd': { action_: 'rqt=', nextState: 'rdt' }
 | 
						|
                },
 | 
						|
                'arrowUpDown': {
 | 
						|
                    '0|1|2|as': { action_: ['sb=false', 'output', 'operator'], nextState: '1' }
 | 
						|
                },
 | 
						|
                'uprightEntities': {
 | 
						|
                    '0|1|2': { action_: ['o=', 'output'], nextState: '1' }
 | 
						|
                },
 | 
						|
                'orbital': {
 | 
						|
                    '0|1|2|3': { action_: 'o=', nextState: 'o' }
 | 
						|
                },
 | 
						|
                '->': {
 | 
						|
                    '0|1|2|3': { action_: 'r=', nextState: 'r' },
 | 
						|
                    'a|as': { action_: ['output', 'r='], nextState: 'r' },
 | 
						|
                    '*': { action_: ['output', 'r='], nextState: 'r' }
 | 
						|
                },
 | 
						|
                '+': {
 | 
						|
                    'o': { action_: 'd= kv', nextState: 'd' },
 | 
						|
                    'd|D': { action_: 'd=', nextState: 'd' },
 | 
						|
                    'q': { action_: 'd=', nextState: 'qd' },
 | 
						|
                    'qd|qD': { action_: 'd=', nextState: 'qd' },
 | 
						|
                    'dq': { action_: ['output', 'd='], nextState: 'd' },
 | 
						|
                    '3': { action_: ['sb=false', 'output', 'operator'], nextState: '0' }
 | 
						|
                },
 | 
						|
                'amount': {
 | 
						|
                    '0|2': { action_: 'a=', nextState: 'a' }
 | 
						|
                },
 | 
						|
                'pm-operator': {
 | 
						|
                    '0|1|2|a|as': { action_: ['sb=false', 'output', { type_: 'operator', option: '\\pm' }], nextState: '0' }
 | 
						|
                },
 | 
						|
                'operator': {
 | 
						|
                    '0|1|2|a|as': { action_: ['sb=false', 'output', 'operator'], nextState: '0' }
 | 
						|
                },
 | 
						|
                '-$': {
 | 
						|
                    'o|q': { action_: ['charge or bond', 'output'], nextState: 'qd' },
 | 
						|
                    'd': { action_: 'd=', nextState: 'd' },
 | 
						|
                    'D': { action_: ['output', { type_: 'bond', option: "-" }], nextState: '3' },
 | 
						|
                    'q': { action_: 'd=', nextState: 'qd' },
 | 
						|
                    'qd': { action_: 'd=', nextState: 'qd' },
 | 
						|
                    'qD|dq': { action_: ['output', { type_: 'bond', option: "-" }], nextState: '3' }
 | 
						|
                },
 | 
						|
                '-9': {
 | 
						|
                    '3|o': { action_: ['output', { type_: 'insert', option: 'hyphen' }], nextState: '3' }
 | 
						|
                },
 | 
						|
                '- orbital overlap': {
 | 
						|
                    'o': { action_: ['output', { type_: 'insert', option: 'hyphen' }], nextState: '2' },
 | 
						|
                    'd': { action_: ['output', { type_: 'insert', option: 'hyphen' }], nextState: '2' }
 | 
						|
                },
 | 
						|
                '-': {
 | 
						|
                    '0|1|2': { action_: [{ type_: 'output', option: 1 }, 'beginsWithBond=true', { type_: 'bond', option: "-" }], nextState: '3' },
 | 
						|
                    '3': { action_: { type_: 'bond', option: "-" } },
 | 
						|
                    'a': { action_: ['output', { type_: 'insert', option: 'hyphen' }], nextState: '2' },
 | 
						|
                    'as': { action_: [{ type_: 'output', option: 2 }, { type_: 'bond', option: "-" }], nextState: '3' },
 | 
						|
                    'b': { action_: 'b=' },
 | 
						|
                    'o': { action_: { type_: '- after o/d', option: false }, nextState: '2' },
 | 
						|
                    'q': { action_: { type_: '- after o/d', option: false }, nextState: '2' },
 | 
						|
                    'd|qd|dq': { action_: { type_: '- after o/d', option: true }, nextState: '2' },
 | 
						|
                    'D|qD|p': { action_: ['output', { type_: 'bond', option: "-" }], nextState: '3' }
 | 
						|
                },
 | 
						|
                'amount2': {
 | 
						|
                    '1|3': { action_: 'a=', nextState: 'a' }
 | 
						|
                },
 | 
						|
                'letters': {
 | 
						|
                    '0|1|2|3|a|as|b|p|bp|o': { action_: 'o=', nextState: 'o' },
 | 
						|
                    'q|dq': { action_: ['output', 'o='], nextState: 'o' },
 | 
						|
                    'd|D|qd|qD': { action_: 'o after d', nextState: 'o' }
 | 
						|
                },
 | 
						|
                'digits': {
 | 
						|
                    'o': { action_: 'q=', nextState: 'q' },
 | 
						|
                    'd|D': { action_: 'q=', nextState: 'dq' },
 | 
						|
                    'q': { action_: ['output', 'o='], nextState: 'o' },
 | 
						|
                    'a': { action_: 'o=', nextState: 'o' }
 | 
						|
                },
 | 
						|
                'space A': {
 | 
						|
                    'b|p|bp': { action_: [] }
 | 
						|
                },
 | 
						|
                'space': {
 | 
						|
                    'a': { action_: [], nextState: 'as' },
 | 
						|
                    '0': { action_: 'sb=false' },
 | 
						|
                    '1|2': { action_: 'sb=true' },
 | 
						|
                    'r|rt|rd|rdt|rdq': { action_: 'output', nextState: '0' },
 | 
						|
                    '*': { action_: ['output', 'sb=true'], nextState: '1' }
 | 
						|
                },
 | 
						|
                '1st-level escape': {
 | 
						|
                    '1|2': { action_: ['output', { type_: 'insert+p1', option: '1st-level escape' }] },
 | 
						|
                    '*': { action_: ['output', { type_: 'insert+p1', option: '1st-level escape' }], nextState: '0' }
 | 
						|
                },
 | 
						|
                '[(...)]': {
 | 
						|
                    'r|rt': { action_: 'rd=', nextState: 'rd' },
 | 
						|
                    'rd|rdt': { action_: 'rq=', nextState: 'rdq' }
 | 
						|
                },
 | 
						|
                '...': {
 | 
						|
                    'o|d|D|dq|qd|qD': { action_: ['output', { type_: 'bond', option: "..." }], nextState: '3' },
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 1 }, { type_: 'insert', option: 'ellipsis' }], nextState: '1' }
 | 
						|
                },
 | 
						|
                '. __* ': {
 | 
						|
                    '*': { action_: ['output', { type_: 'insert', option: 'addition compound' }], nextState: '1' }
 | 
						|
                },
 | 
						|
                'state of aggregation $': {
 | 
						|
                    '*': { action_: ['output', 'state of aggregation'], nextState: '1' }
 | 
						|
                },
 | 
						|
                '{[(': {
 | 
						|
                    'a|as|o': { action_: ['o=', 'output', 'parenthesisLevel++'], nextState: '2' },
 | 
						|
                    '0|1|2|3': { action_: ['o=', 'output', 'parenthesisLevel++'], nextState: '2' },
 | 
						|
                    '*': { action_: ['output', 'o=', 'output', 'parenthesisLevel++'], nextState: '2' }
 | 
						|
                },
 | 
						|
                ')]}': {
 | 
						|
                    '0|1|2|3|b|p|bp|o': { action_: ['o=', 'parenthesisLevel--'], nextState: 'o' },
 | 
						|
                    'a|as|d|D|q|qd|qD|dq': { action_: ['output', 'o=', 'parenthesisLevel--'], nextState: 'o' }
 | 
						|
                },
 | 
						|
                ', ': {
 | 
						|
                    '*': { action_: ['output', 'comma'], nextState: '0' }
 | 
						|
                },
 | 
						|
                '^_': {
 | 
						|
                    '*': { action_: [] }
 | 
						|
                },
 | 
						|
                '^{(...)}|^($...$)': {
 | 
						|
                    '0|1|2|as': { action_: 'b=', nextState: 'b' },
 | 
						|
                    'p': { action_: 'b=', nextState: 'bp' },
 | 
						|
                    '3|o': { action_: 'd= kv', nextState: 'D' },
 | 
						|
                    'q': { action_: 'd=', nextState: 'qD' },
 | 
						|
                    'd|D|qd|qD|dq': { action_: ['output', 'd='], nextState: 'D' }
 | 
						|
                },
 | 
						|
                '^a|^\\x{}{}|^\\x{}|^\\x|\'': {
 | 
						|
                    '0|1|2|as': { action_: 'b=', nextState: 'b' },
 | 
						|
                    'p': { action_: 'b=', nextState: 'bp' },
 | 
						|
                    '3|o': { action_: 'd= kv', nextState: 'd' },
 | 
						|
                    'q': { action_: 'd=', nextState: 'qd' },
 | 
						|
                    'd|qd|D|qD': { action_: 'd=' },
 | 
						|
                    'dq': { action_: ['output', 'd='], nextState: 'd' }
 | 
						|
                },
 | 
						|
                '_{(state of aggregation)}$': {
 | 
						|
                    'd|D|q|qd|qD|dq': { action_: ['output', 'q='], nextState: 'q' }
 | 
						|
                },
 | 
						|
                '_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x': {
 | 
						|
                    '0|1|2|as': { action_: 'p=', nextState: 'p' },
 | 
						|
                    'b': { action_: 'p=', nextState: 'bp' },
 | 
						|
                    '3|o': { action_: 'q=', nextState: 'q' },
 | 
						|
                    'd|D': { action_: 'q=', nextState: 'dq' },
 | 
						|
                    'q|qd|qD|dq': { action_: ['output', 'q='], nextState: 'q' }
 | 
						|
                },
 | 
						|
                '=<>': {
 | 
						|
                    '0|1|2|3|a|as|o|q|d|D|qd|qD|dq': { action_: [{ type_: 'output', option: 2 }, 'bond'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '#': {
 | 
						|
                    '0|1|2|3|a|as|o': { action_: [{ type_: 'output', option: 2 }, { type_: 'bond', option: "#" }], nextState: '3' }
 | 
						|
                },
 | 
						|
                '{}^': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 1 }, { type_: 'insert', option: 'tinySkip' }], nextState: '1' }
 | 
						|
                },
 | 
						|
                '{}': {
 | 
						|
                    '*': { action_: { type_: 'output', option: 1 }, nextState: '1' }
 | 
						|
                },
 | 
						|
                '{...}': {
 | 
						|
                    '0|1|2|3|a|as|b|p|bp': { action_: 'o=', nextState: 'o' },
 | 
						|
                    'o|d|D|q|qd|qD|dq': { action_: ['output', 'o='], nextState: 'o' }
 | 
						|
                },
 | 
						|
                '$...$': {
 | 
						|
                    'a': { action_: 'a=' },
 | 
						|
                    '0|1|2|3|as|b|p|bp|o': { action_: 'o=', nextState: 'o' },
 | 
						|
                    'as|o': { action_: 'o=' },
 | 
						|
                    'q|d|D|qd|qD|dq': { action_: ['output', 'o='], nextState: 'o' }
 | 
						|
                },
 | 
						|
                '\\bond{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'bond'], nextState: "3" }
 | 
						|
                },
 | 
						|
                '\\frac{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 1 }, 'frac-output'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\overset{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'overset-output'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\underset{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'underset-output'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\underbrace{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'underbrace-output'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\color{(...)}{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'color-output'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\color{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'color0-output'] }
 | 
						|
                },
 | 
						|
                '\\ce{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 2 }, 'ce'], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\,': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 1 }, 'copy'], nextState: '1' }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: ['output', { type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }], nextState: '3' }
 | 
						|
                },
 | 
						|
                '\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '0|1|2|3|a|as|b|p|bp|o|c0': { action_: ['o=', 'output'], nextState: '3' },
 | 
						|
                    '*': { action_: ['output', 'o=', 'output'], nextState: '3' }
 | 
						|
                },
 | 
						|
                'others': {
 | 
						|
                    '*': { action_: [{ type_: 'output', option: 1 }, 'copy'], nextState: '3' }
 | 
						|
                },
 | 
						|
                'else2': {
 | 
						|
                    'a': { action_: 'a to o', nextState: 'o', revisit: true },
 | 
						|
                    'as': { action_: ['output', 'sb=true'], nextState: '1', revisit: true },
 | 
						|
                    'r|rt|rd|rdt|rdq': { action_: ['output'], nextState: '0', revisit: true },
 | 
						|
                    '*': { action_: ['output', 'copy'], nextState: '3' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'o after d': function (buffer, m) {
 | 
						|
                    var ret;
 | 
						|
                    if ((buffer.d || "").match(/^[1-9][0-9]*$/)) {
 | 
						|
                        var tmp = buffer.d;
 | 
						|
                        buffer.d = undefined;
 | 
						|
                        ret = this['output'](buffer);
 | 
						|
                        ret.push({ type_: 'tinySkip' });
 | 
						|
                        buffer.b = tmp;
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        ret = this['output'](buffer);
 | 
						|
                    }
 | 
						|
                    _mhchemParser.actions['o='](buffer, m);
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'd= kv': function (buffer, m) {
 | 
						|
                    buffer.d = m;
 | 
						|
                    buffer.dType = 'kv';
 | 
						|
                    return undefined;
 | 
						|
                },
 | 
						|
                'charge or bond': function (buffer, m) {
 | 
						|
                    if (buffer['beginsWithBond']) {
 | 
						|
                        var ret = [];
 | 
						|
                        _mhchemParser.concatArray(ret, this['output'](buffer));
 | 
						|
                        _mhchemParser.concatArray(ret, _mhchemParser.actions['bond'](buffer, m, "-"));
 | 
						|
                        return ret;
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        buffer.d = m;
 | 
						|
                        return undefined;
 | 
						|
                    }
 | 
						|
                },
 | 
						|
                '- after o/d': function (buffer, m, isAfterD) {
 | 
						|
                    var c1 = _mhchemParser.patterns.match_('orbital', buffer.o || "");
 | 
						|
                    var c2 = _mhchemParser.patterns.match_('one lowercase greek letter $', buffer.o || "");
 | 
						|
                    var c3 = _mhchemParser.patterns.match_('one lowercase latin letter $', buffer.o || "");
 | 
						|
                    var c4 = _mhchemParser.patterns.match_('$one lowercase latin letter$ $', buffer.o || "");
 | 
						|
                    var hyphenFollows = m === "-" && (c1 && c1.remainder === "" || c2 || c3 || c4);
 | 
						|
                    if (hyphenFollows && !buffer.a && !buffer.b && !buffer.p && !buffer.d && !buffer.q && !c1 && c3) {
 | 
						|
                        buffer.o = '$' + buffer.o + '$';
 | 
						|
                    }
 | 
						|
                    var ret = [];
 | 
						|
                    if (hyphenFollows) {
 | 
						|
                        _mhchemParser.concatArray(ret, this['output'](buffer));
 | 
						|
                        ret.push({ type_: 'hyphen' });
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        c1 = _mhchemParser.patterns.match_('digits', buffer.d || "");
 | 
						|
                        if (isAfterD && c1 && c1.remainder === '') {
 | 
						|
                            _mhchemParser.concatArray(ret, _mhchemParser.actions['d='](buffer, m));
 | 
						|
                            _mhchemParser.concatArray(ret, this['output'](buffer));
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            _mhchemParser.concatArray(ret, this['output'](buffer));
 | 
						|
                            _mhchemParser.concatArray(ret, _mhchemParser.actions['bond'](buffer, m, "-"));
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'a to o': function (buffer) {
 | 
						|
                    buffer.o = buffer.a;
 | 
						|
                    buffer.a = undefined;
 | 
						|
                    return undefined;
 | 
						|
                },
 | 
						|
                'sb=true': function (buffer) { buffer.sb = true; return undefined; },
 | 
						|
                'sb=false': function (buffer) { buffer.sb = false; return undefined; },
 | 
						|
                'beginsWithBond=true': function (buffer) { buffer['beginsWithBond'] = true; return undefined; },
 | 
						|
                'beginsWithBond=false': function (buffer) { buffer['beginsWithBond'] = false; return undefined; },
 | 
						|
                'parenthesisLevel++': function (buffer) { buffer['parenthesisLevel']++; return undefined; },
 | 
						|
                'parenthesisLevel--': function (buffer) { buffer['parenthesisLevel']--; return undefined; },
 | 
						|
                'state of aggregation': function (_buffer, m) {
 | 
						|
                    return { type_: 'state of aggregation', p1: _mhchemParser.go(m, 'o') };
 | 
						|
                },
 | 
						|
                'comma': function (buffer, m) {
 | 
						|
                    var a = m.replace(/\s*$/, '');
 | 
						|
                    var withSpace = (a !== m);
 | 
						|
                    if (withSpace && buffer['parenthesisLevel'] === 0) {
 | 
						|
                        return { type_: 'comma enumeration L', p1: a };
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        return { type_: 'comma enumeration M', p1: a };
 | 
						|
                    }
 | 
						|
                },
 | 
						|
                'output': function (buffer, _m, entityFollows) {
 | 
						|
                    var ret;
 | 
						|
                    if (!buffer.r) {
 | 
						|
                        ret = [];
 | 
						|
                        if (!buffer.a && !buffer.b && !buffer.p && !buffer.o && !buffer.q && !buffer.d && !entityFollows) {
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            if (buffer.sb) {
 | 
						|
                                ret.push({ type_: 'entitySkip' });
 | 
						|
                            }
 | 
						|
                            if (!buffer.o && !buffer.q && !buffer.d && !buffer.b && !buffer.p && entityFollows !== 2) {
 | 
						|
                                buffer.o = buffer.a;
 | 
						|
                                buffer.a = undefined;
 | 
						|
                            }
 | 
						|
                            else if (!buffer.o && !buffer.q && !buffer.d && (buffer.b || buffer.p)) {
 | 
						|
                                buffer.o = buffer.a;
 | 
						|
                                buffer.d = buffer.b;
 | 
						|
                                buffer.q = buffer.p;
 | 
						|
                                buffer.a = buffer.b = buffer.p = undefined;
 | 
						|
                            }
 | 
						|
                            else {
 | 
						|
                                if (buffer.o && buffer.dType === 'kv' && _mhchemParser.patterns.match_('d-oxidation$', buffer.d || "")) {
 | 
						|
                                    buffer.dType = 'oxidation';
 | 
						|
                                }
 | 
						|
                                else if (buffer.o && buffer.dType === 'kv' && !buffer.q) {
 | 
						|
                                    buffer.dType = undefined;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            ret.push({
 | 
						|
                                type_: 'chemfive',
 | 
						|
                                a: _mhchemParser.go(buffer.a, 'a'),
 | 
						|
                                b: _mhchemParser.go(buffer.b, 'bd'),
 | 
						|
                                p: _mhchemParser.go(buffer.p, 'pq'),
 | 
						|
                                o: _mhchemParser.go(buffer.o, 'o'),
 | 
						|
                                q: _mhchemParser.go(buffer.q, 'pq'),
 | 
						|
                                d: _mhchemParser.go(buffer.d, (buffer.dType === 'oxidation' ? 'oxidation' : 'bd')),
 | 
						|
                                dType: buffer.dType
 | 
						|
                            });
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        var rd = void 0;
 | 
						|
                        if (buffer.rdt === 'M') {
 | 
						|
                            rd = _mhchemParser.go(buffer.rd, 'tex-math');
 | 
						|
                        }
 | 
						|
                        else if (buffer.rdt === 'T') {
 | 
						|
                            rd = [{ type_: 'text', p1: buffer.rd || "" }];
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            rd = _mhchemParser.go(buffer.rd, 'ce');
 | 
						|
                        }
 | 
						|
                        var rq = void 0;
 | 
						|
                        if (buffer.rqt === 'M') {
 | 
						|
                            rq = _mhchemParser.go(buffer.rq, 'tex-math');
 | 
						|
                        }
 | 
						|
                        else if (buffer.rqt === 'T') {
 | 
						|
                            rq = [{ type_: 'text', p1: buffer.rq || "" }];
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            rq = _mhchemParser.go(buffer.rq, 'ce');
 | 
						|
                        }
 | 
						|
                        ret = {
 | 
						|
                            type_: 'arrow',
 | 
						|
                            r: buffer.r,
 | 
						|
                            rd: rd,
 | 
						|
                            rq: rq
 | 
						|
                        };
 | 
						|
                    }
 | 
						|
                    for (var p in buffer) {
 | 
						|
                        if (p !== 'parenthesisLevel' && p !== 'beginsWithBond') {
 | 
						|
                            delete buffer[p];
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'oxidation-output': function (_buffer, m) {
 | 
						|
                    var ret = ["{"];
 | 
						|
                    _mhchemParser.concatArray(ret, _mhchemParser.go(m, 'oxidation'));
 | 
						|
                    ret.push("}");
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'frac-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'frac-ce', p1: _mhchemParser.go(m[0], 'ce'), p2: _mhchemParser.go(m[1], 'ce') };
 | 
						|
                },
 | 
						|
                'overset-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'overset', p1: _mhchemParser.go(m[0], 'ce'), p2: _mhchemParser.go(m[1], 'ce') };
 | 
						|
                },
 | 
						|
                'underset-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'underset', p1: _mhchemParser.go(m[0], 'ce'), p2: _mhchemParser.go(m[1], 'ce') };
 | 
						|
                },
 | 
						|
                'underbrace-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'underbrace', p1: _mhchemParser.go(m[0], 'ce'), p2: _mhchemParser.go(m[1], 'ce') };
 | 
						|
                },
 | 
						|
                'color-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'color', color1: m[0], color2: _mhchemParser.go(m[1], 'ce') };
 | 
						|
                },
 | 
						|
                'r=': function (buffer, m) { buffer.r = m; return undefined; },
 | 
						|
                'rdt=': function (buffer, m) { buffer.rdt = m; return undefined; },
 | 
						|
                'rd=': function (buffer, m) { buffer.rd = m; return undefined; },
 | 
						|
                'rqt=': function (buffer, m) { buffer.rqt = m; return undefined; },
 | 
						|
                'rq=': function (buffer, m) { buffer.rq = m; return undefined; },
 | 
						|
                'operator': function (_buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'a': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: [] }
 | 
						|
                },
 | 
						|
                '1/2$': {
 | 
						|
                    '0': { action_: '1/2' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '0': { action_: [], nextState: '1', revisit: true }
 | 
						|
                },
 | 
						|
                '${(...)}$__$(...)$': {
 | 
						|
                    '*': { action_: 'tex-math tight', nextState: '1' }
 | 
						|
                },
 | 
						|
                ',': {
 | 
						|
                    '*': { action_: { type_: 'insert', option: 'commaDecimal' } }
 | 
						|
                },
 | 
						|
                'else2': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {}
 | 
						|
        },
 | 
						|
        'o': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: [] }
 | 
						|
                },
 | 
						|
                '1/2$': {
 | 
						|
                    '0': { action_: '1/2' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '0': { action_: [], nextState: '1', revisit: true }
 | 
						|
                },
 | 
						|
                'letters': {
 | 
						|
                    '*': { action_: 'rm' }
 | 
						|
                },
 | 
						|
                '\\ca': {
 | 
						|
                    '*': { action_: { type_: 'insert', option: 'circa' } }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                },
 | 
						|
                '${(...)}$__$(...)$': {
 | 
						|
                    '*': { action_: 'tex-math' }
 | 
						|
                },
 | 
						|
                '{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'write', option: "{" }, 'text', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                'else2': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {}
 | 
						|
        },
 | 
						|
        'text': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'output' }
 | 
						|
                },
 | 
						|
                '{...}': {
 | 
						|
                    '*': { action_: 'text=' }
 | 
						|
                },
 | 
						|
                '${(...)}$__$(...)$': {
 | 
						|
                    '*': { action_: 'tex-math' }
 | 
						|
                },
 | 
						|
                '\\greek': {
 | 
						|
                    '*': { action_: ['output', 'rm'] }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: ['output', { type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '\\,|\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '*': { action_: ['output', 'copy'] }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '*': { action_: 'text=' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'output': function (buffer) {
 | 
						|
                    if (buffer.text_) {
 | 
						|
                        var ret = { type_: 'text', p1: buffer.text_ };
 | 
						|
                        for (var p in buffer) {
 | 
						|
                            delete buffer[p];
 | 
						|
                        }
 | 
						|
                        return ret;
 | 
						|
                    }
 | 
						|
                    return undefined;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'pq': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: [] }
 | 
						|
                },
 | 
						|
                'state of aggregation $': {
 | 
						|
                    '*': { action_: 'state of aggregation' }
 | 
						|
                },
 | 
						|
                'i$': {
 | 
						|
                    '0': { action_: [], nextState: '!f', revisit: true }
 | 
						|
                },
 | 
						|
                '(KV letters),': {
 | 
						|
                    '0': { action_: 'rm', nextState: '0' }
 | 
						|
                },
 | 
						|
                'formula$': {
 | 
						|
                    '0': { action_: [], nextState: 'f', revisit: true }
 | 
						|
                },
 | 
						|
                '1/2$': {
 | 
						|
                    '0': { action_: '1/2' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '0': { action_: [], nextState: '!f', revisit: true }
 | 
						|
                },
 | 
						|
                '${(...)}$__$(...)$': {
 | 
						|
                    '*': { action_: 'tex-math' }
 | 
						|
                },
 | 
						|
                '{(...)}': {
 | 
						|
                    '*': { action_: 'text' }
 | 
						|
                },
 | 
						|
                'a-z': {
 | 
						|
                    'f': { action_: 'tex-math' }
 | 
						|
                },
 | 
						|
                'letters': {
 | 
						|
                    '*': { action_: 'rm' }
 | 
						|
                },
 | 
						|
                '-9.,9': {
 | 
						|
                    '*': { action_: '9,9' }
 | 
						|
                },
 | 
						|
                ',': {
 | 
						|
                    '*': { action_: { type_: 'insert+p1', option: 'comma enumeration S' } }
 | 
						|
                },
 | 
						|
                '\\color{(...)}{(...)}': {
 | 
						|
                    '*': { action_: 'color-output' }
 | 
						|
                },
 | 
						|
                '\\color{(...)}': {
 | 
						|
                    '*': { action_: 'color0-output' }
 | 
						|
                },
 | 
						|
                '\\ce{(...)}': {
 | 
						|
                    '*': { action_: 'ce' }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '\\,|\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                },
 | 
						|
                'else2': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'state of aggregation': function (_buffer, m) {
 | 
						|
                    return { type_: 'state of aggregation subscript', p1: _mhchemParser.go(m, 'o') };
 | 
						|
                },
 | 
						|
                'color-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'color', color1: m[0], color2: _mhchemParser.go(m[1], 'pq') };
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'bd': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: [] }
 | 
						|
                },
 | 
						|
                'x$': {
 | 
						|
                    '0': { action_: [], nextState: '!f', revisit: true }
 | 
						|
                },
 | 
						|
                'formula$': {
 | 
						|
                    '0': { action_: [], nextState: 'f', revisit: true }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '0': { action_: [], nextState: '!f', revisit: true }
 | 
						|
                },
 | 
						|
                '-9.,9 no missing 0': {
 | 
						|
                    '*': { action_: '9,9' }
 | 
						|
                },
 | 
						|
                '.': {
 | 
						|
                    '*': { action_: { type_: 'insert', option: 'electron dot' } }
 | 
						|
                },
 | 
						|
                'a-z': {
 | 
						|
                    'f': { action_: 'tex-math' }
 | 
						|
                },
 | 
						|
                'x': {
 | 
						|
                    '*': { action_: { type_: 'insert', option: 'KV x' } }
 | 
						|
                },
 | 
						|
                'letters': {
 | 
						|
                    '*': { action_: 'rm' }
 | 
						|
                },
 | 
						|
                '\'': {
 | 
						|
                    '*': { action_: { type_: 'insert', option: 'prime' } }
 | 
						|
                },
 | 
						|
                '${(...)}$__$(...)$': {
 | 
						|
                    '*': { action_: 'tex-math' }
 | 
						|
                },
 | 
						|
                '{(...)}': {
 | 
						|
                    '*': { action_: 'text' }
 | 
						|
                },
 | 
						|
                '\\color{(...)}{(...)}': {
 | 
						|
                    '*': { action_: 'color-output' }
 | 
						|
                },
 | 
						|
                '\\color{(...)}': {
 | 
						|
                    '*': { action_: 'color0-output' }
 | 
						|
                },
 | 
						|
                '\\ce{(...)}': {
 | 
						|
                    '*': { action_: 'ce' }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: [{ type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '\\,|\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                },
 | 
						|
                'else2': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'color-output': function (_buffer, m) {
 | 
						|
                    return { type_: 'color', color1: m[0], color2: _mhchemParser.go(m[1], 'bd') };
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'oxidation': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'roman-numeral' }
 | 
						|
                },
 | 
						|
                'pm-operator': {
 | 
						|
                    '*': { action_: { type_: 'o=+p1', option: "\\pm" } }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '*': { action_: 'o=' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'roman-numeral': function (buffer) { return { type_: 'roman numeral', p1: buffer.o || "" }; }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'tex-math': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'output' }
 | 
						|
                },
 | 
						|
                '\\ce{(...)}': {
 | 
						|
                    '*': { action_: ['output', 'ce'] }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: ['output', { type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '{...}|\\,|\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '*': { action_: 'o=' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '*': { action_: 'o=' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'output': function (buffer) {
 | 
						|
                    if (buffer.o) {
 | 
						|
                        var ret = { type_: 'tex-math', p1: buffer.o };
 | 
						|
                        for (var p in buffer) {
 | 
						|
                            delete buffer[p];
 | 
						|
                        }
 | 
						|
                        return ret;
 | 
						|
                    }
 | 
						|
                    return undefined;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'tex-math tight': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'output' }
 | 
						|
                },
 | 
						|
                '\\ce{(...)}': {
 | 
						|
                    '*': { action_: ['output', 'ce'] }
 | 
						|
                },
 | 
						|
                '\\pu{(...)}': {
 | 
						|
                    '*': { action_: ['output', { type_: 'write', option: "{" }, 'pu', { type_: 'write', option: "}" }] }
 | 
						|
                },
 | 
						|
                '{...}|\\,|\\x{}{}|\\x{}|\\x': {
 | 
						|
                    '*': { action_: 'o=' }
 | 
						|
                },
 | 
						|
                '-|+': {
 | 
						|
                    '*': { action_: 'tight operator' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '*': { action_: 'o=' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'tight operator': function (buffer, m) { buffer.o = (buffer.o || "") + "{" + m + "}"; return undefined; },
 | 
						|
                'output': function (buffer) {
 | 
						|
                    if (buffer.o) {
 | 
						|
                        var ret = { type_: 'tex-math', p1: buffer.o };
 | 
						|
                        for (var p in buffer) {
 | 
						|
                            delete buffer[p];
 | 
						|
                        }
 | 
						|
                        return ret;
 | 
						|
                    }
 | 
						|
                    return undefined;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        '9,9': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: [] }
 | 
						|
                },
 | 
						|
                ',': {
 | 
						|
                    '*': { action_: 'comma' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '*': { action_: 'copy' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'comma': function () { return { type_: 'commaDecimal' }; }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'pu': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'output' }
 | 
						|
                },
 | 
						|
                'space$': {
 | 
						|
                    '*': { action_: ['output', 'space'] }
 | 
						|
                },
 | 
						|
                '{[(|)]}': {
 | 
						|
                    '0|a': { action_: 'copy' }
 | 
						|
                },
 | 
						|
                '(-)(9)^(-9)': {
 | 
						|
                    '0': { action_: 'number^', nextState: 'a' }
 | 
						|
                },
 | 
						|
                '(-)(9.,9)(e)(99)': {
 | 
						|
                    '0': { action_: 'enumber', nextState: 'a' }
 | 
						|
                },
 | 
						|
                'space': {
 | 
						|
                    '0|a': { action_: [] }
 | 
						|
                },
 | 
						|
                'pm-operator': {
 | 
						|
                    '0|a': { action_: { type_: 'operator', option: '\\pm' }, nextState: '0' }
 | 
						|
                },
 | 
						|
                'operator': {
 | 
						|
                    '0|a': { action_: 'copy', nextState: '0' }
 | 
						|
                },
 | 
						|
                '//': {
 | 
						|
                    'd': { action_: 'o=', nextState: '/' }
 | 
						|
                },
 | 
						|
                '/': {
 | 
						|
                    'd': { action_: 'o=', nextState: '/' }
 | 
						|
                },
 | 
						|
                '{...}|else': {
 | 
						|
                    '0|d': { action_: 'd=', nextState: 'd' },
 | 
						|
                    'a': { action_: ['space', 'd='], nextState: 'd' },
 | 
						|
                    '/|q': { action_: 'q=', nextState: 'q' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'enumber': function (_buffer, m) {
 | 
						|
                    var ret = [];
 | 
						|
                    if (m[0] === "+-" || m[0] === "+/-") {
 | 
						|
                        ret.push("\\pm ");
 | 
						|
                    }
 | 
						|
                    else if (m[0]) {
 | 
						|
                        ret.push(m[0]);
 | 
						|
                    }
 | 
						|
                    if (m[1]) {
 | 
						|
                        _mhchemParser.concatArray(ret, _mhchemParser.go(m[1], 'pu-9,9'));
 | 
						|
                        if (m[2]) {
 | 
						|
                            if (m[2].match(/[,.]/)) {
 | 
						|
                                _mhchemParser.concatArray(ret, _mhchemParser.go(m[2], 'pu-9,9'));
 | 
						|
                            }
 | 
						|
                            else {
 | 
						|
                                ret.push(m[2]);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (m[3] || m[4]) {
 | 
						|
                            if (m[3] === "e" || m[4] === "*") {
 | 
						|
                                ret.push({ type_: 'cdot' });
 | 
						|
                            }
 | 
						|
                            else {
 | 
						|
                                ret.push({ type_: 'times' });
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    if (m[5]) {
 | 
						|
                        ret.push("10^{" + m[5] + "}");
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'number^': function (_buffer, m) {
 | 
						|
                    var ret = [];
 | 
						|
                    if (m[0] === "+-" || m[0] === "+/-") {
 | 
						|
                        ret.push("\\pm ");
 | 
						|
                    }
 | 
						|
                    else if (m[0]) {
 | 
						|
                        ret.push(m[0]);
 | 
						|
                    }
 | 
						|
                    _mhchemParser.concatArray(ret, _mhchemParser.go(m[1], 'pu-9,9'));
 | 
						|
                    ret.push("^{" + m[2] + "}");
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'operator': function (_buffer, m, p1) { return { type_: 'operator', kind_: (p1 || m) }; },
 | 
						|
                'space': function () { return { type_: 'pu-space-1' }; },
 | 
						|
                'output': function (buffer) {
 | 
						|
                    var ret;
 | 
						|
                    var md = _mhchemParser.patterns.match_('{(...)}', buffer.d || "");
 | 
						|
                    if (md && md.remainder === '') {
 | 
						|
                        buffer.d = md.match_;
 | 
						|
                    }
 | 
						|
                    var mq = _mhchemParser.patterns.match_('{(...)}', buffer.q || "");
 | 
						|
                    if (mq && mq.remainder === '') {
 | 
						|
                        buffer.q = mq.match_;
 | 
						|
                    }
 | 
						|
                    if (buffer.d) {
 | 
						|
                        buffer.d = buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C");
 | 
						|
                        buffer.d = buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F");
 | 
						|
                    }
 | 
						|
                    if (buffer.q) {
 | 
						|
                        buffer.q = buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g, "{}^{\\circ}C");
 | 
						|
                        buffer.q = buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g, "{}^{\\circ}F");
 | 
						|
                        var b5 = {
 | 
						|
                            d: _mhchemParser.go(buffer.d, 'pu'),
 | 
						|
                            q: _mhchemParser.go(buffer.q, 'pu')
 | 
						|
                        };
 | 
						|
                        if (buffer.o === '//') {
 | 
						|
                            ret = { type_: 'pu-frac', p1: b5.d, p2: b5.q };
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            ret = b5.d;
 | 
						|
                            if (b5.d.length > 1 || b5.q.length > 1) {
 | 
						|
                                ret.push({ type_: ' / ' });
 | 
						|
                            }
 | 
						|
                            else {
 | 
						|
                                ret.push({ type_: '/' });
 | 
						|
                            }
 | 
						|
                            _mhchemParser.concatArray(ret, b5.q);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        ret = _mhchemParser.go(buffer.d, 'pu-2');
 | 
						|
                    }
 | 
						|
                    for (var p in buffer) {
 | 
						|
                        delete buffer[p];
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'pu-2': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '*': { action_: 'output' }
 | 
						|
                },
 | 
						|
                '*': {
 | 
						|
                    '*': { action_: ['output', 'cdot'], nextState: '0' }
 | 
						|
                },
 | 
						|
                '\\x': {
 | 
						|
                    '*': { action_: 'rm=' }
 | 
						|
                },
 | 
						|
                'space': {
 | 
						|
                    '*': { action_: ['output', 'space'], nextState: '0' }
 | 
						|
                },
 | 
						|
                '^{(...)}|^(-1)': {
 | 
						|
                    '1': { action_: '^(-1)' }
 | 
						|
                },
 | 
						|
                '-9.,9': {
 | 
						|
                    '0': { action_: 'rm=', nextState: '0' },
 | 
						|
                    '1': { action_: '^(-1)', nextState: '0' }
 | 
						|
                },
 | 
						|
                '{...}|else': {
 | 
						|
                    '*': { action_: 'rm=', nextState: '1' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'cdot': function () { return { type_: 'tight cdot' }; },
 | 
						|
                '^(-1)': function (buffer, m) { buffer.rm += "^{" + m + "}"; return undefined; },
 | 
						|
                'space': function () { return { type_: 'pu-space-2' }; },
 | 
						|
                'output': function (buffer) {
 | 
						|
                    var ret = [];
 | 
						|
                    if (buffer.rm) {
 | 
						|
                        var mrm = _mhchemParser.patterns.match_('{(...)}', buffer.rm || "");
 | 
						|
                        if (mrm && mrm.remainder === '') {
 | 
						|
                            ret = _mhchemParser.go(mrm.match_, 'pu');
 | 
						|
                        }
 | 
						|
                        else {
 | 
						|
                            ret = { type_: 'rm', p1: buffer.rm };
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    for (var p in buffer) {
 | 
						|
                        delete buffer[p];
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        'pu-9,9': {
 | 
						|
            transitions: _mhchemCreateTransitions({
 | 
						|
                'empty': {
 | 
						|
                    '0': { action_: 'output-0' },
 | 
						|
                    'o': { action_: 'output-o' }
 | 
						|
                },
 | 
						|
                ',': {
 | 
						|
                    '0': { action_: ['output-0', 'comma'], nextState: 'o' }
 | 
						|
                },
 | 
						|
                '.': {
 | 
						|
                    '0': { action_: ['output-0', 'copy'], nextState: 'o' }
 | 
						|
                },
 | 
						|
                'else': {
 | 
						|
                    '*': { action_: 'text=' }
 | 
						|
                }
 | 
						|
            }),
 | 
						|
            actions: {
 | 
						|
                'comma': function () { return { type_: 'commaDecimal' }; },
 | 
						|
                'output-0': function (buffer) {
 | 
						|
                    var ret = [];
 | 
						|
                    buffer.text_ = buffer.text_ || "";
 | 
						|
                    if (buffer.text_.length > 4) {
 | 
						|
                        var a = buffer.text_.length % 3;
 | 
						|
                        if (a === 0) {
 | 
						|
                            a = 3;
 | 
						|
                        }
 | 
						|
                        for (var i = buffer.text_.length - 3; i > 0; i -= 3) {
 | 
						|
                            ret.push(buffer.text_.substr(i, 3));
 | 
						|
                            ret.push({ type_: '1000 separator' });
 | 
						|
                        }
 | 
						|
                        ret.push(buffer.text_.substr(0, a));
 | 
						|
                        ret.reverse();
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        ret.push(buffer.text_);
 | 
						|
                    }
 | 
						|
                    for (var p in buffer) {
 | 
						|
                        delete buffer[p];
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                },
 | 
						|
                'output-o': function (buffer) {
 | 
						|
                    var ret = [];
 | 
						|
                    buffer.text_ = buffer.text_ || "";
 | 
						|
                    if (buffer.text_.length > 4) {
 | 
						|
                        var a = buffer.text_.length - 3;
 | 
						|
                        var i = void 0;
 | 
						|
                        for (i = 0; i < a; i += 3) {
 | 
						|
                            ret.push(buffer.text_.substr(i, 3));
 | 
						|
                            ret.push({ type_: '1000 separator' });
 | 
						|
                        }
 | 
						|
                        ret.push(buffer.text_.substr(i));
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        ret.push(buffer.text_);
 | 
						|
                    }
 | 
						|
                    for (var p in buffer) {
 | 
						|
                        delete buffer[p];
 | 
						|
                    }
 | 
						|
                    return ret;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
};
 | 
						|
var _mhchemTexify = {
 | 
						|
    go: function (input, addOuterBraces) {
 | 
						|
        if (!input) {
 | 
						|
            return "";
 | 
						|
        }
 | 
						|
        var res = "";
 | 
						|
        var cee = false;
 | 
						|
        for (var i = 0; i < input.length; i++) {
 | 
						|
            var inputi = input[i];
 | 
						|
            if (typeof inputi === "string") {
 | 
						|
                res += inputi;
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                res += _mhchemTexify._go2(inputi);
 | 
						|
                if (inputi.type_ === '1st-level escape') {
 | 
						|
                    cee = true;
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        if (addOuterBraces && !cee && res) {
 | 
						|
            res = "{" + res + "}";
 | 
						|
        }
 | 
						|
        return res;
 | 
						|
    },
 | 
						|
    _goInner: function (input) {
 | 
						|
        return _mhchemTexify.go(input, false);
 | 
						|
    },
 | 
						|
    _go2: function (buf) {
 | 
						|
        var res;
 | 
						|
        switch (buf.type_) {
 | 
						|
            case 'chemfive':
 | 
						|
                res = "";
 | 
						|
                var b5 = {
 | 
						|
                    a: _mhchemTexify._goInner(buf.a),
 | 
						|
                    b: _mhchemTexify._goInner(buf.b),
 | 
						|
                    p: _mhchemTexify._goInner(buf.p),
 | 
						|
                    o: _mhchemTexify._goInner(buf.o),
 | 
						|
                    q: _mhchemTexify._goInner(buf.q),
 | 
						|
                    d: _mhchemTexify._goInner(buf.d)
 | 
						|
                };
 | 
						|
                if (b5.a) {
 | 
						|
                    if (b5.a.match(/^[+\-]/)) {
 | 
						|
                        b5.a = "{" + b5.a + "}";
 | 
						|
                    }
 | 
						|
                    res += b5.a + "\\,";
 | 
						|
                }
 | 
						|
                if (b5.b || b5.p) {
 | 
						|
                    res += "{\\vphantom{A}}";
 | 
						|
                    res += "^{\\hphantom{" + (b5.b || "") + "}}_{\\hphantom{" + (b5.p || "") + "}}";
 | 
						|
                    res += "\\mkern-1.5mu";
 | 
						|
                    res += "{\\vphantom{A}}";
 | 
						|
                    res += "^{\\smash[t]{\\vphantom{2}}\\llap{" + (b5.b || "") + "}}";
 | 
						|
                    res += "_{\\vphantom{2}\\llap{\\smash[t]{" + (b5.p || "") + "}}}";
 | 
						|
                }
 | 
						|
                if (b5.o) {
 | 
						|
                    if (b5.o.match(/^[+\-]/)) {
 | 
						|
                        b5.o = "{" + b5.o + "}";
 | 
						|
                    }
 | 
						|
                    res += b5.o;
 | 
						|
                }
 | 
						|
                if (buf.dType === 'kv') {
 | 
						|
                    if (b5.d || b5.q) {
 | 
						|
                        res += "{\\vphantom{A}}";
 | 
						|
                    }
 | 
						|
                    if (b5.d) {
 | 
						|
                        res += "^{" + b5.d + "}";
 | 
						|
                    }
 | 
						|
                    if (b5.q) {
 | 
						|
                        res += "_{\\smash[t]{" + b5.q + "}}";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else if (buf.dType === 'oxidation') {
 | 
						|
                    if (b5.d) {
 | 
						|
                        res += "{\\vphantom{A}}";
 | 
						|
                        res += "^{" + b5.d + "}";
 | 
						|
                    }
 | 
						|
                    if (b5.q) {
 | 
						|
                        res += "{\\vphantom{A}}";
 | 
						|
                        res += "_{\\smash[t]{" + b5.q + "}}";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    if (b5.q) {
 | 
						|
                        res += "{\\vphantom{A}}";
 | 
						|
                        res += "_{\\smash[t]{" + b5.q + "}}";
 | 
						|
                    }
 | 
						|
                    if (b5.d) {
 | 
						|
                        res += "{\\vphantom{A}}";
 | 
						|
                        res += "^{" + b5.d + "}";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                break;
 | 
						|
            case 'rm':
 | 
						|
                res = "\\mathrm{" + buf.p1 + "}";
 | 
						|
                break;
 | 
						|
            case 'text':
 | 
						|
                if (buf.p1.match(/[\^_]/)) {
 | 
						|
                    buf.p1 = buf.p1.replace(" ", "~").replace("-", "\\text{-}");
 | 
						|
                    res = "\\mathrm{" + buf.p1 + "}";
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    res = "\\text{" + buf.p1 + "}";
 | 
						|
                }
 | 
						|
                break;
 | 
						|
            case 'roman numeral':
 | 
						|
                res = "\\mathrm{" + buf.p1 + "}";
 | 
						|
                break;
 | 
						|
            case 'state of aggregation':
 | 
						|
                res = "\\mskip2mu " + _mhchemTexify._goInner(buf.p1);
 | 
						|
                break;
 | 
						|
            case 'state of aggregation subscript':
 | 
						|
                res = "\\mskip1mu " + _mhchemTexify._goInner(buf.p1);
 | 
						|
                break;
 | 
						|
            case 'bond':
 | 
						|
                res = _mhchemTexify._getBond(buf.kind_);
 | 
						|
                if (!res) {
 | 
						|
                    throw ["MhchemErrorBond", "mhchem Error. Unknown bond type (" + buf.kind_ + ")"];
 | 
						|
                }
 | 
						|
                break;
 | 
						|
            case 'frac':
 | 
						|
                var c = "\\frac{" + buf.p1 + "}{" + buf.p2 + "}";
 | 
						|
                res = "\\mathchoice{\\textstyle" + c + "}{" + c + "}{" + c + "}{" + c + "}";
 | 
						|
                break;
 | 
						|
            case 'pu-frac':
 | 
						|
                var d = "\\frac{" + _mhchemTexify._goInner(buf.p1) + "}{" + _mhchemTexify._goInner(buf.p2) + "}";
 | 
						|
                res = "\\mathchoice{\\textstyle" + d + "}{" + d + "}{" + d + "}{" + d + "}";
 | 
						|
                break;
 | 
						|
            case 'tex-math':
 | 
						|
                res = buf.p1 + " ";
 | 
						|
                break;
 | 
						|
            case 'frac-ce':
 | 
						|
                res = "\\frac{" + _mhchemTexify._goInner(buf.p1) + "}{" + _mhchemTexify._goInner(buf.p2) + "}";
 | 
						|
                break;
 | 
						|
            case 'overset':
 | 
						|
                res = "\\overset{" + _mhchemTexify._goInner(buf.p1) + "}{" + _mhchemTexify._goInner(buf.p2) + "}";
 | 
						|
                break;
 | 
						|
            case 'underset':
 | 
						|
                res = "\\underset{" + _mhchemTexify._goInner(buf.p1) + "}{" + _mhchemTexify._goInner(buf.p2) + "}";
 | 
						|
                break;
 | 
						|
            case 'underbrace':
 | 
						|
                res = "\\underbrace{" + _mhchemTexify._goInner(buf.p1) + "}_{" + _mhchemTexify._goInner(buf.p2) + "}";
 | 
						|
                break;
 | 
						|
            case 'color':
 | 
						|
                res = "{\\color{" + buf.color1 + "}{" + _mhchemTexify._goInner(buf.color2) + "}}";
 | 
						|
                break;
 | 
						|
            case 'color0':
 | 
						|
                res = "\\color{" + buf.color + "}";
 | 
						|
                break;
 | 
						|
            case 'arrow':
 | 
						|
                var b6 = {
 | 
						|
                    rd: _mhchemTexify._goInner(buf.rd),
 | 
						|
                    rq: _mhchemTexify._goInner(buf.rq)
 | 
						|
                };
 | 
						|
                var arrow = _mhchemTexify._getArrow(buf.r);
 | 
						|
                if (b6.rd || b6.rq) {
 | 
						|
                    if (buf.r === "<=>" || buf.r === "<=>>" || buf.r === "<<=>" || buf.r === "<-->") {
 | 
						|
                        arrow = "\\long" + arrow;
 | 
						|
                        if (b6.rd) {
 | 
						|
                            arrow = "\\overset{" + b6.rd + "}{" + arrow + "}";
 | 
						|
                        }
 | 
						|
                        if (b6.rq) {
 | 
						|
                            if (buf.r === "<-->") {
 | 
						|
                                arrow = "\\underset{\\lower2mu{" + b6.rq + "}}{" + arrow + "}";
 | 
						|
                            }
 | 
						|
                            else {
 | 
						|
                                arrow = "\\underset{\\lower6mu{" + b6.rq + "}}{" + arrow + "}";
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        arrow = " {}\\mathrel{" + arrow + "}{} ";
 | 
						|
                    }
 | 
						|
                    else {
 | 
						|
                        if (b6.rq) {
 | 
						|
                            arrow += "[{" + b6.rq + "}]";
 | 
						|
                        }
 | 
						|
                        arrow += "{" + b6.rd + "}";
 | 
						|
                        arrow = " {}\\mathrel{\\x" + arrow + "}{} ";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    arrow = " {}\\mathrel{\\long" + arrow + "}{} ";
 | 
						|
                }
 | 
						|
                res = arrow;
 | 
						|
                break;
 | 
						|
            case 'operator':
 | 
						|
                res = _mhchemTexify._getOperator(buf.kind_);
 | 
						|
                break;
 | 
						|
            case '1st-level escape':
 | 
						|
                res = buf.p1 + " ";
 | 
						|
                break;
 | 
						|
            case 'space':
 | 
						|
                res = " ";
 | 
						|
                break;
 | 
						|
            case 'tinySkip':
 | 
						|
                res = '\\mkern2mu';
 | 
						|
                break;
 | 
						|
            case 'entitySkip':
 | 
						|
                res = "~";
 | 
						|
                break;
 | 
						|
            case 'pu-space-1':
 | 
						|
                res = "~";
 | 
						|
                break;
 | 
						|
            case 'pu-space-2':
 | 
						|
                res = "\\mkern3mu ";
 | 
						|
                break;
 | 
						|
            case '1000 separator':
 | 
						|
                res = "\\mkern2mu ";
 | 
						|
                break;
 | 
						|
            case 'commaDecimal':
 | 
						|
                res = "{,}";
 | 
						|
                break;
 | 
						|
            case 'comma enumeration L':
 | 
						|
                res = "{" + buf.p1 + "}\\mkern6mu ";
 | 
						|
                break;
 | 
						|
            case 'comma enumeration M':
 | 
						|
                res = "{" + buf.p1 + "}\\mkern3mu ";
 | 
						|
                break;
 | 
						|
            case 'comma enumeration S':
 | 
						|
                res = "{" + buf.p1 + "}\\mkern1mu ";
 | 
						|
                break;
 | 
						|
            case 'hyphen':
 | 
						|
                res = "\\text{-}";
 | 
						|
                break;
 | 
						|
            case 'addition compound':
 | 
						|
                res = "\\,{\\cdot}\\,";
 | 
						|
                break;
 | 
						|
            case 'electron dot':
 | 
						|
                res = "\\mkern1mu \\bullet\\mkern1mu ";
 | 
						|
                break;
 | 
						|
            case 'KV x':
 | 
						|
                res = "{\\times}";
 | 
						|
                break;
 | 
						|
            case 'prime':
 | 
						|
                res = "\\prime ";
 | 
						|
                break;
 | 
						|
            case 'cdot':
 | 
						|
                res = "\\cdot ";
 | 
						|
                break;
 | 
						|
            case 'tight cdot':
 | 
						|
                res = "\\mkern1mu{\\cdot}\\mkern1mu ";
 | 
						|
                break;
 | 
						|
            case 'times':
 | 
						|
                res = "\\times ";
 | 
						|
                break;
 | 
						|
            case 'circa':
 | 
						|
                res = "{\\sim}";
 | 
						|
                break;
 | 
						|
            case '^':
 | 
						|
                res = "uparrow";
 | 
						|
                break;
 | 
						|
            case 'v':
 | 
						|
                res = "downarrow";
 | 
						|
                break;
 | 
						|
            case 'ellipsis':
 | 
						|
                res = "\\ldots ";
 | 
						|
                break;
 | 
						|
            case '/':
 | 
						|
                res = "/";
 | 
						|
                break;
 | 
						|
            case ' / ':
 | 
						|
                res = "\\,/\\,";
 | 
						|
                break;
 | 
						|
            default:
 | 
						|
                assertNever(buf);
 | 
						|
                throw ["MhchemBugT", "mhchem bug T. Please report."];
 | 
						|
        }
 | 
						|
        return res;
 | 
						|
    },
 | 
						|
    _getArrow: function (a) {
 | 
						|
        switch (a) {
 | 
						|
            case "->": return "rightarrow";
 | 
						|
            case "\u2192": return "rightarrow";
 | 
						|
            case "\u27F6": return "rightarrow";
 | 
						|
            case "<-": return "leftarrow";
 | 
						|
            case "<->": return "leftrightarrow";
 | 
						|
            case "<-->": return "leftrightarrows";
 | 
						|
            case "<=>": return "rightleftharpoons";
 | 
						|
            case "\u21CC": return "rightleftharpoons";
 | 
						|
            case "<=>>": return "Rightleftharpoons";
 | 
						|
            case "<<=>": return "Leftrightharpoons";
 | 
						|
            default:
 | 
						|
                assertNever(a);
 | 
						|
                throw ["MhchemBugT", "mhchem bug T. Please report."];
 | 
						|
        }
 | 
						|
    },
 | 
						|
    _getBond: function (a) {
 | 
						|
        switch (a) {
 | 
						|
            case "-": return "{-}";
 | 
						|
            case "1": return "{-}";
 | 
						|
            case "=": return "{=}";
 | 
						|
            case "2": return "{=}";
 | 
						|
            case "#": return "{\\equiv}";
 | 
						|
            case "3": return "{\\equiv}";
 | 
						|
            case "~": return "{\\tripledash}";
 | 
						|
            case "~-": return "{\\rlap{\\lower.1em{-}}\\raise.1em{\\tripledash}}";
 | 
						|
            case "~=": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";
 | 
						|
            case "~--": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{\\tripledash}}-}";
 | 
						|
            case "-~-": return "{\\rlap{\\lower.2em{-}}\\rlap{\\raise.2em{-}}\\tripledash}";
 | 
						|
            case "...": return "{{\\cdot}{\\cdot}{\\cdot}}";
 | 
						|
            case "....": return "{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";
 | 
						|
            case "->": return "{\\rightarrow}";
 | 
						|
            case "<-": return "{\\leftarrow}";
 | 
						|
            case "<": return "{<}";
 | 
						|
            case ">": return "{>}";
 | 
						|
            default:
 | 
						|
                assertNever(a);
 | 
						|
                throw ["MhchemBugT", "mhchem bug T. Please report."];
 | 
						|
        }
 | 
						|
    },
 | 
						|
    _getOperator: function (a) {
 | 
						|
        switch (a) {
 | 
						|
            case "+": return " {}+{} ";
 | 
						|
            case "-": return " {}-{} ";
 | 
						|
            case "=": return " {}={} ";
 | 
						|
            case "<": return " {}<{} ";
 | 
						|
            case ">": return " {}>{} ";
 | 
						|
            case "<<": return " {}\\ll{} ";
 | 
						|
            case ">>": return " {}\\gg{} ";
 | 
						|
            case "\\pm": return " {}\\pm{} ";
 | 
						|
            case "\\approx": return " {}\\approx{} ";
 | 
						|
            case "$\\approx$": return " {}\\approx{} ";
 | 
						|
            case "v": return " \\downarrow{} ";
 | 
						|
            case "(v)": return " \\downarrow{} ";
 | 
						|
            case "^": return " \\uparrow{} ";
 | 
						|
            case "(^)": return " \\uparrow{} ";
 | 
						|
            default:
 | 
						|
                assertNever(a);
 | 
						|
                throw ["MhchemBugT", "mhchem bug T. Please report."];
 | 
						|
        }
 | 
						|
    }
 | 
						|
};
 | 
						|
function assertNever(a) { }
 | 
						|
 | 
						|
 | 
						|
/***/ })
 | 
						|
 | 
						|
}]);
 | 
						|
//# sourceMappingURL=8845.ac1c5acb78cea4acee08.js.map?v=ac1c5acb78cea4acee08
 |