diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json index c6f73c8d..4f45c11c 100644 --- a/.obsidian/community-plugins.json +++ b/.obsidian/community-plugins.json @@ -59,7 +59,6 @@ "update-time-on-edit", "timelines-revamped", "mehrmaid", - "onlyoffice", "obsidian42-brat", "soundscapes", "execute-code", diff --git a/.obsidian/plugins/cubox-sync/data.json b/.obsidian/plugins/cubox-sync/data.json index 216cac54..72d6e064 100644 --- a/.obsidian/plugins/cubox-sync/data.json +++ b/.obsidian/plugins/cubox-sync/data.json @@ -34,7 +34,7 @@ "contentTemplate": "# {{{title}}}\n\n{{{description}}}\n\n{{{article_title}}} //文章内容标题\n{{{content}}} //文章正文\n\n\n[Read in Cubox]({{{cubox_url}}}) \n[Read Original]({{{url}}}) \n\n---\n\n{{#highlights.length}}\n## Annotations \n\n{{#highlights}}\n> {{{text}}} \n\n{{#note}}\n{{{note}}}\n{{/note}}\n[Link️]({{{cubox_url}}}) \n\n{{/highlights}}\n{{/highlights.length}}", "highlightInContent": true, "dateFormat": "yyyy-MM-dd", - "lastSyncTime": 1757148145672, + "lastSyncTime": 1757153283722, "lastSyncCardId": "7362485231795834846", "lastCardUpdateTime": "2025-09-02T17:21:26.574+0800", "syncing": false diff --git a/.obsidian/plugins/docxer/main.js b/.obsidian/plugins/docxer/main.js new file mode 100644 index 00000000..0b4caa76 --- /dev/null +++ b/.obsidian/plugins/docxer/main.js @@ -0,0 +1,28458 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb2, mod) => function __require() { + return mod || (0, cb2[__getOwnPropNames(cb2)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/underscore/modules/_setup.js +var VERSION, root, ArrayProto, ObjProto, SymbolProto, push, slice, toString, hasOwnProperty, supportsArrayBuffer, supportsDataView, nativeIsArray, nativeKeys, nativeCreate, nativeIsView, _isNaN, _isFinite, hasEnumBug, nonEnumerableProps, MAX_ARRAY_INDEX; +var init_setup = __esm({ + "node_modules/underscore/modules/_setup.js"() { + VERSION = "1.13.6"; + root = typeof self == "object" && self.self === self && self || typeof global == "object" && global.global === global && global || Function("return this")() || {}; + ArrayProto = Array.prototype; + ObjProto = Object.prototype; + SymbolProto = typeof Symbol !== "undefined" ? Symbol.prototype : null; + push = ArrayProto.push; + slice = ArrayProto.slice; + toString = ObjProto.toString; + hasOwnProperty = ObjProto.hasOwnProperty; + supportsArrayBuffer = typeof ArrayBuffer !== "undefined"; + supportsDataView = typeof DataView !== "undefined"; + nativeIsArray = Array.isArray; + nativeKeys = Object.keys; + nativeCreate = Object.create; + nativeIsView = supportsArrayBuffer && ArrayBuffer.isView; + _isNaN = isNaN; + _isFinite = isFinite; + hasEnumBug = !{ toString: null }.propertyIsEnumerable("toString"); + nonEnumerableProps = [ + "valueOf", + "isPrototypeOf", + "toString", + "propertyIsEnumerable", + "hasOwnProperty", + "toLocaleString" + ]; + MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + } +}); + +// node_modules/underscore/modules/restArguments.js +function restArguments(func, startIndex) { + startIndex = startIndex == null ? func.length - 1 : +startIndex; + return function() { + var length = Math.max(arguments.length - startIndex, 0), rest2 = Array(length), index = 0; + for (; index < length; index++) { + rest2[index] = arguments[index + startIndex]; + } + switch (startIndex) { + case 0: + return func.call(this, rest2); + case 1: + return func.call(this, arguments[0], rest2); + case 2: + return func.call(this, arguments[0], arguments[1], rest2); + } + var args = Array(startIndex + 1); + for (index = 0; index < startIndex; index++) { + args[index] = arguments[index]; + } + args[startIndex] = rest2; + return func.apply(this, args); + }; +} +var init_restArguments = __esm({ + "node_modules/underscore/modules/restArguments.js"() { + } +}); + +// node_modules/underscore/modules/isObject.js +function isObject2(obj2) { + var type = typeof obj2; + return type === "function" || type === "object" && !!obj2; +} +var init_isObject = __esm({ + "node_modules/underscore/modules/isObject.js"() { + } +}); + +// node_modules/underscore/modules/isNull.js +function isNull(obj2) { + return obj2 === null; +} +var init_isNull = __esm({ + "node_modules/underscore/modules/isNull.js"() { + } +}); + +// node_modules/underscore/modules/isUndefined.js +function isUndefined(obj2) { + return obj2 === void 0; +} +var init_isUndefined = __esm({ + "node_modules/underscore/modules/isUndefined.js"() { + } +}); + +// node_modules/underscore/modules/isBoolean.js +function isBoolean(obj2) { + return obj2 === true || obj2 === false || toString.call(obj2) === "[object Boolean]"; +} +var init_isBoolean = __esm({ + "node_modules/underscore/modules/isBoolean.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/isElement.js +function isElement(obj2) { + return !!(obj2 && obj2.nodeType === 1); +} +var init_isElement = __esm({ + "node_modules/underscore/modules/isElement.js"() { + } +}); + +// node_modules/underscore/modules/_tagTester.js +function tagTester(name) { + var tag = "[object " + name + "]"; + return function(obj2) { + return toString.call(obj2) === tag; + }; +} +var init_tagTester = __esm({ + "node_modules/underscore/modules/_tagTester.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/isString.js +var isString_default; +var init_isString = __esm({ + "node_modules/underscore/modules/isString.js"() { + init_tagTester(); + isString_default = tagTester("String"); + } +}); + +// node_modules/underscore/modules/isNumber.js +var isNumber_default; +var init_isNumber = __esm({ + "node_modules/underscore/modules/isNumber.js"() { + init_tagTester(); + isNumber_default = tagTester("Number"); + } +}); + +// node_modules/underscore/modules/isDate.js +var isDate_default; +var init_isDate = __esm({ + "node_modules/underscore/modules/isDate.js"() { + init_tagTester(); + isDate_default = tagTester("Date"); + } +}); + +// node_modules/underscore/modules/isRegExp.js +var isRegExp_default; +var init_isRegExp = __esm({ + "node_modules/underscore/modules/isRegExp.js"() { + init_tagTester(); + isRegExp_default = tagTester("RegExp"); + } +}); + +// node_modules/underscore/modules/isError.js +var isError_default; +var init_isError = __esm({ + "node_modules/underscore/modules/isError.js"() { + init_tagTester(); + isError_default = tagTester("Error"); + } +}); + +// node_modules/underscore/modules/isSymbol.js +var isSymbol_default; +var init_isSymbol = __esm({ + "node_modules/underscore/modules/isSymbol.js"() { + init_tagTester(); + isSymbol_default = tagTester("Symbol"); + } +}); + +// node_modules/underscore/modules/isArrayBuffer.js +var isArrayBuffer_default; +var init_isArrayBuffer = __esm({ + "node_modules/underscore/modules/isArrayBuffer.js"() { + init_tagTester(); + isArrayBuffer_default = tagTester("ArrayBuffer"); + } +}); + +// node_modules/underscore/modules/isFunction.js +var isFunction, nodelist, isFunction_default; +var init_isFunction = __esm({ + "node_modules/underscore/modules/isFunction.js"() { + init_tagTester(); + init_setup(); + isFunction = tagTester("Function"); + nodelist = root.document && root.document.childNodes; + if (typeof /./ != "function" && typeof Int8Array != "object" && typeof nodelist != "function") { + isFunction = function(obj2) { + return typeof obj2 == "function" || false; + }; + } + isFunction_default = isFunction; + } +}); + +// node_modules/underscore/modules/_hasObjectTag.js +var hasObjectTag_default; +var init_hasObjectTag = __esm({ + "node_modules/underscore/modules/_hasObjectTag.js"() { + init_tagTester(); + hasObjectTag_default = tagTester("Object"); + } +}); + +// node_modules/underscore/modules/_stringTagBug.js +var hasStringTagBug, isIE11; +var init_stringTagBug = __esm({ + "node_modules/underscore/modules/_stringTagBug.js"() { + init_setup(); + init_hasObjectTag(); + hasStringTagBug = supportsDataView && hasObjectTag_default(new DataView(new ArrayBuffer(8))); + isIE11 = typeof Map !== "undefined" && hasObjectTag_default(/* @__PURE__ */ new Map()); + } +}); + +// node_modules/underscore/modules/isDataView.js +function ie10IsDataView(obj2) { + return obj2 != null && isFunction_default(obj2.getInt8) && isArrayBuffer_default(obj2.buffer); +} +var isDataView, isDataView_default; +var init_isDataView = __esm({ + "node_modules/underscore/modules/isDataView.js"() { + init_tagTester(); + init_isFunction(); + init_isArrayBuffer(); + init_stringTagBug(); + isDataView = tagTester("DataView"); + isDataView_default = hasStringTagBug ? ie10IsDataView : isDataView; + } +}); + +// node_modules/underscore/modules/isArray.js +var isArray_default; +var init_isArray = __esm({ + "node_modules/underscore/modules/isArray.js"() { + init_setup(); + init_tagTester(); + isArray_default = nativeIsArray || tagTester("Array"); + } +}); + +// node_modules/underscore/modules/_has.js +function has(obj2, key) { + return obj2 != null && hasOwnProperty.call(obj2, key); +} +var init_has = __esm({ + "node_modules/underscore/modules/_has.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/isArguments.js +var isArguments, isArguments_default; +var init_isArguments = __esm({ + "node_modules/underscore/modules/isArguments.js"() { + init_tagTester(); + init_has(); + isArguments = tagTester("Arguments"); + (function() { + if (!isArguments(arguments)) { + isArguments = function(obj2) { + return has(obj2, "callee"); + }; + } + })(); + isArguments_default = isArguments; + } +}); + +// node_modules/underscore/modules/isFinite.js +function isFinite2(obj2) { + return !isSymbol_default(obj2) && _isFinite(obj2) && !isNaN(parseFloat(obj2)); +} +var init_isFinite = __esm({ + "node_modules/underscore/modules/isFinite.js"() { + init_setup(); + init_isSymbol(); + } +}); + +// node_modules/underscore/modules/isNaN.js +function isNaN2(obj2) { + return isNumber_default(obj2) && _isNaN(obj2); +} +var init_isNaN = __esm({ + "node_modules/underscore/modules/isNaN.js"() { + init_setup(); + init_isNumber(); + } +}); + +// node_modules/underscore/modules/constant.js +function constant(value) { + return function() { + return value; + }; +} +var init_constant = __esm({ + "node_modules/underscore/modules/constant.js"() { + } +}); + +// node_modules/underscore/modules/_createSizePropertyCheck.js +function createSizePropertyCheck(getSizeProperty) { + return function(collection) { + var sizeProperty = getSizeProperty(collection); + return typeof sizeProperty == "number" && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX; + }; +} +var init_createSizePropertyCheck = __esm({ + "node_modules/underscore/modules/_createSizePropertyCheck.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/_shallowProperty.js +function shallowProperty(key) { + return function(obj2) { + return obj2 == null ? void 0 : obj2[key]; + }; +} +var init_shallowProperty = __esm({ + "node_modules/underscore/modules/_shallowProperty.js"() { + } +}); + +// node_modules/underscore/modules/_getByteLength.js +var getByteLength_default; +var init_getByteLength = __esm({ + "node_modules/underscore/modules/_getByteLength.js"() { + init_shallowProperty(); + getByteLength_default = shallowProperty("byteLength"); + } +}); + +// node_modules/underscore/modules/_isBufferLike.js +var isBufferLike_default; +var init_isBufferLike = __esm({ + "node_modules/underscore/modules/_isBufferLike.js"() { + init_createSizePropertyCheck(); + init_getByteLength(); + isBufferLike_default = createSizePropertyCheck(getByteLength_default); + } +}); + +// node_modules/underscore/modules/isTypedArray.js +function isTypedArray(obj2) { + return nativeIsView ? nativeIsView(obj2) && !isDataView_default(obj2) : isBufferLike_default(obj2) && typedArrayPattern.test(toString.call(obj2)); +} +var typedArrayPattern, isTypedArray_default; +var init_isTypedArray = __esm({ + "node_modules/underscore/modules/isTypedArray.js"() { + init_setup(); + init_isDataView(); + init_constant(); + init_isBufferLike(); + typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; + isTypedArray_default = supportsArrayBuffer ? isTypedArray : constant(false); + } +}); + +// node_modules/underscore/modules/_getLength.js +var getLength_default; +var init_getLength = __esm({ + "node_modules/underscore/modules/_getLength.js"() { + init_shallowProperty(); + getLength_default = shallowProperty("length"); + } +}); + +// node_modules/underscore/modules/_collectNonEnumProps.js +function emulatedSet(keys2) { + var hash = {}; + for (var l2 = keys2.length, i = 0; i < l2; ++i) hash[keys2[i]] = true; + return { + contains: function(key) { + return hash[key] === true; + }, + push: function(key) { + hash[key] = true; + return keys2.push(key); + } + }; +} +function collectNonEnumProps(obj2, keys2) { + keys2 = emulatedSet(keys2); + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj2.constructor; + var proto = isFunction_default(constructor) && constructor.prototype || ObjProto; + var prop = "constructor"; + if (has(obj2, prop) && !keys2.contains(prop)) keys2.push(prop); + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj2 && obj2[prop] !== proto[prop] && !keys2.contains(prop)) { + keys2.push(prop); + } + } +} +var init_collectNonEnumProps = __esm({ + "node_modules/underscore/modules/_collectNonEnumProps.js"() { + init_setup(); + init_isFunction(); + init_has(); + } +}); + +// node_modules/underscore/modules/keys.js +function keys(obj2) { + if (!isObject2(obj2)) return []; + if (nativeKeys) return nativeKeys(obj2); + var keys2 = []; + for (var key in obj2) if (has(obj2, key)) keys2.push(key); + if (hasEnumBug) collectNonEnumProps(obj2, keys2); + return keys2; +} +var init_keys = __esm({ + "node_modules/underscore/modules/keys.js"() { + init_isObject(); + init_setup(); + init_has(); + init_collectNonEnumProps(); + } +}); + +// node_modules/underscore/modules/isEmpty.js +function isEmpty(obj2) { + if (obj2 == null) return true; + var length = getLength_default(obj2); + if (typeof length == "number" && (isArray_default(obj2) || isString_default(obj2) || isArguments_default(obj2))) return length === 0; + return getLength_default(keys(obj2)) === 0; +} +var init_isEmpty = __esm({ + "node_modules/underscore/modules/isEmpty.js"() { + init_getLength(); + init_isArray(); + init_isString(); + init_isArguments(); + init_keys(); + } +}); + +// node_modules/underscore/modules/isMatch.js +function isMatch(object2, attrs) { + var _keys = keys(attrs), length = _keys.length; + if (object2 == null) return !length; + var obj2 = Object(object2); + for (var i = 0; i < length; i++) { + var key = _keys[i]; + if (attrs[key] !== obj2[key] || !(key in obj2)) return false; + } + return true; +} +var init_isMatch = __esm({ + "node_modules/underscore/modules/isMatch.js"() { + init_keys(); + } +}); + +// node_modules/underscore/modules/underscore.js +function _(obj2) { + if (obj2 instanceof _) return obj2; + if (!(this instanceof _)) return new _(obj2); + this._wrapped = obj2; +} +var init_underscore = __esm({ + "node_modules/underscore/modules/underscore.js"() { + init_setup(); + _.VERSION = VERSION; + _.prototype.value = function() { + return this._wrapped; + }; + _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + _.prototype.toString = function() { + return String(this._wrapped); + }; + } +}); + +// node_modules/underscore/modules/_toBufferView.js +function toBufferView(bufferSource) { + return new Uint8Array( + bufferSource.buffer || bufferSource, + bufferSource.byteOffset || 0, + getByteLength_default(bufferSource) + ); +} +var init_toBufferView = __esm({ + "node_modules/underscore/modules/_toBufferView.js"() { + init_getByteLength(); + } +}); + +// node_modules/underscore/modules/isEqual.js +function eq(a, b, aStack, bStack) { + if (a === b) return a !== 0 || 1 / a === 1 / b; + if (a == null || b == null) return false; + if (a !== a) return b !== b; + var type = typeof a; + if (type !== "function" && type !== "object" && typeof b != "object") return false; + return deepEq(a, b, aStack, bStack); +} +function deepEq(a, b, aStack, bStack) { + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + var className = toString.call(a); + if (className !== toString.call(b)) return false; + if (hasStringTagBug && className == "[object Object]" && isDataView_default(a)) { + if (!isDataView_default(b)) return false; + className = tagDataView; + } + switch (className) { + // These types are compared by value. + case "[object RegExp]": + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case "[object String]": + return "" + a === "" + b; + case "[object Number]": + if (+a !== +a) return +b !== +b; + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case "[object Date]": + case "[object Boolean]": + return +a === +b; + case "[object Symbol]": + return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); + case "[object ArrayBuffer]": + case tagDataView: + return deepEq(toBufferView(a), toBufferView(b), aStack, bStack); + } + var areArrays = className === "[object Array]"; + if (!areArrays && isTypedArray_default(a)) { + var byteLength = getByteLength_default(a); + if (byteLength !== getByteLength_default(b)) return false; + if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true; + areArrays = true; + } + if (!areArrays) { + if (typeof a != "object" || typeof b != "object") return false; + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction_default(aCtor) && aCtor instanceof aCtor && isFunction_default(bCtor) && bCtor instanceof bCtor) && ("constructor" in a && "constructor" in b)) { + return false; + } + } + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + if (aStack[length] === a) return bStack[length] === b; + } + aStack.push(a); + bStack.push(b); + if (areArrays) { + length = a.length; + if (length !== b.length) return false; + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + var _keys = keys(a), key; + length = _keys.length; + if (keys(b).length !== length) return false; + while (length--) { + key = _keys[length]; + if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + aStack.pop(); + bStack.pop(); + return true; +} +function isEqual(a, b) { + return eq(a, b); +} +var tagDataView; +var init_isEqual = __esm({ + "node_modules/underscore/modules/isEqual.js"() { + init_underscore(); + init_setup(); + init_getByteLength(); + init_isTypedArray(); + init_isFunction(); + init_stringTagBug(); + init_isDataView(); + init_keys(); + init_has(); + init_toBufferView(); + tagDataView = "[object DataView]"; + } +}); + +// node_modules/underscore/modules/allKeys.js +function allKeys(obj2) { + if (!isObject2(obj2)) return []; + var keys2 = []; + for (var key in obj2) keys2.push(key); + if (hasEnumBug) collectNonEnumProps(obj2, keys2); + return keys2; +} +var init_allKeys = __esm({ + "node_modules/underscore/modules/allKeys.js"() { + init_isObject(); + init_setup(); + init_collectNonEnumProps(); + } +}); + +// node_modules/underscore/modules/_methodFingerprint.js +function ie11fingerprint(methods) { + var length = getLength_default(methods); + return function(obj2) { + if (obj2 == null) return false; + var keys2 = allKeys(obj2); + if (getLength_default(keys2)) return false; + for (var i = 0; i < length; i++) { + if (!isFunction_default(obj2[methods[i]])) return false; + } + return methods !== weakMapMethods || !isFunction_default(obj2[forEachName]); + }; +} +var forEachName, hasName, commonInit, mapTail, mapMethods, weakMapMethods, setMethods; +var init_methodFingerprint = __esm({ + "node_modules/underscore/modules/_methodFingerprint.js"() { + init_getLength(); + init_isFunction(); + init_allKeys(); + forEachName = "forEach"; + hasName = "has"; + commonInit = ["clear", "delete"]; + mapTail = ["get", hasName, "set"]; + mapMethods = commonInit.concat(forEachName, mapTail); + weakMapMethods = commonInit.concat(mapTail); + setMethods = ["add"].concat(commonInit, forEachName, hasName); + } +}); + +// node_modules/underscore/modules/isMap.js +var isMap_default; +var init_isMap = __esm({ + "node_modules/underscore/modules/isMap.js"() { + init_tagTester(); + init_stringTagBug(); + init_methodFingerprint(); + isMap_default = isIE11 ? ie11fingerprint(mapMethods) : tagTester("Map"); + } +}); + +// node_modules/underscore/modules/isWeakMap.js +var isWeakMap_default; +var init_isWeakMap = __esm({ + "node_modules/underscore/modules/isWeakMap.js"() { + init_tagTester(); + init_stringTagBug(); + init_methodFingerprint(); + isWeakMap_default = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester("WeakMap"); + } +}); + +// node_modules/underscore/modules/isSet.js +var isSet_default; +var init_isSet = __esm({ + "node_modules/underscore/modules/isSet.js"() { + init_tagTester(); + init_stringTagBug(); + init_methodFingerprint(); + isSet_default = isIE11 ? ie11fingerprint(setMethods) : tagTester("Set"); + } +}); + +// node_modules/underscore/modules/isWeakSet.js +var isWeakSet_default; +var init_isWeakSet = __esm({ + "node_modules/underscore/modules/isWeakSet.js"() { + init_tagTester(); + isWeakSet_default = tagTester("WeakSet"); + } +}); + +// node_modules/underscore/modules/values.js +function values(obj2) { + var _keys = keys(obj2); + var length = _keys.length; + var values3 = Array(length); + for (var i = 0; i < length; i++) { + values3[i] = obj2[_keys[i]]; + } + return values3; +} +var init_values = __esm({ + "node_modules/underscore/modules/values.js"() { + init_keys(); + } +}); + +// node_modules/underscore/modules/pairs.js +function pairs(obj2) { + var _keys = keys(obj2); + var length = _keys.length; + var pairs2 = Array(length); + for (var i = 0; i < length; i++) { + pairs2[i] = [_keys[i], obj2[_keys[i]]]; + } + return pairs2; +} +var init_pairs = __esm({ + "node_modules/underscore/modules/pairs.js"() { + init_keys(); + } +}); + +// node_modules/underscore/modules/invert.js +function invert(obj2) { + var result2 = {}; + var _keys = keys(obj2); + for (var i = 0, length = _keys.length; i < length; i++) { + result2[obj2[_keys[i]]] = _keys[i]; + } + return result2; +} +var init_invert = __esm({ + "node_modules/underscore/modules/invert.js"() { + init_keys(); + } +}); + +// node_modules/underscore/modules/functions.js +function functions(obj2) { + var names = []; + for (var key in obj2) { + if (isFunction_default(obj2[key])) names.push(key); + } + return names.sort(); +} +var init_functions = __esm({ + "node_modules/underscore/modules/functions.js"() { + init_isFunction(); + } +}); + +// node_modules/underscore/modules/_createAssigner.js +function createAssigner(keysFunc, defaults) { + return function(obj2) { + var length = arguments.length; + if (defaults) obj2 = Object(obj2); + if (length < 2 || obj2 == null) return obj2; + for (var index = 1; index < length; index++) { + var source = arguments[index], keys2 = keysFunc(source), l2 = keys2.length; + for (var i = 0; i < l2; i++) { + var key = keys2[i]; + if (!defaults || obj2[key] === void 0) obj2[key] = source[key]; + } + } + return obj2; + }; +} +var init_createAssigner = __esm({ + "node_modules/underscore/modules/_createAssigner.js"() { + } +}); + +// node_modules/underscore/modules/extend.js +var extend_default; +var init_extend = __esm({ + "node_modules/underscore/modules/extend.js"() { + init_createAssigner(); + init_allKeys(); + extend_default = createAssigner(allKeys); + } +}); + +// node_modules/underscore/modules/extendOwn.js +var extendOwn_default; +var init_extendOwn = __esm({ + "node_modules/underscore/modules/extendOwn.js"() { + init_createAssigner(); + init_keys(); + extendOwn_default = createAssigner(keys); + } +}); + +// node_modules/underscore/modules/defaults.js +var defaults_default; +var init_defaults = __esm({ + "node_modules/underscore/modules/defaults.js"() { + init_createAssigner(); + init_allKeys(); + defaults_default = createAssigner(allKeys, true); + } +}); + +// node_modules/underscore/modules/_baseCreate.js +function ctor() { + return function() { + }; +} +function baseCreate(prototype) { + if (!isObject2(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + var Ctor = ctor(); + Ctor.prototype = prototype; + var result2 = new Ctor(); + Ctor.prototype = null; + return result2; +} +var init_baseCreate = __esm({ + "node_modules/underscore/modules/_baseCreate.js"() { + init_isObject(); + init_setup(); + } +}); + +// node_modules/underscore/modules/create.js +function create(prototype, props) { + var result2 = baseCreate(prototype); + if (props) extendOwn_default(result2, props); + return result2; +} +var init_create = __esm({ + "node_modules/underscore/modules/create.js"() { + init_baseCreate(); + init_extendOwn(); + } +}); + +// node_modules/underscore/modules/clone.js +function clone(obj2) { + if (!isObject2(obj2)) return obj2; + return isArray_default(obj2) ? obj2.slice() : extend_default({}, obj2); +} +var init_clone = __esm({ + "node_modules/underscore/modules/clone.js"() { + init_isObject(); + init_isArray(); + init_extend(); + } +}); + +// node_modules/underscore/modules/tap.js +function tap(obj2, interceptor) { + interceptor(obj2); + return obj2; +} +var init_tap = __esm({ + "node_modules/underscore/modules/tap.js"() { + } +}); + +// node_modules/underscore/modules/toPath.js +function toPath(path) { + return isArray_default(path) ? path : [path]; +} +var init_toPath = __esm({ + "node_modules/underscore/modules/toPath.js"() { + init_underscore(); + init_isArray(); + _.toPath = toPath; + } +}); + +// node_modules/underscore/modules/_toPath.js +function toPath2(path) { + return _.toPath(path); +} +var init_toPath2 = __esm({ + "node_modules/underscore/modules/_toPath.js"() { + init_underscore(); + init_toPath(); + } +}); + +// node_modules/underscore/modules/_deepGet.js +function deepGet(obj2, path) { + var length = path.length; + for (var i = 0; i < length; i++) { + if (obj2 == null) return void 0; + obj2 = obj2[path[i]]; + } + return length ? obj2 : void 0; +} +var init_deepGet = __esm({ + "node_modules/underscore/modules/_deepGet.js"() { + } +}); + +// node_modules/underscore/modules/get.js +function get(object2, path, defaultValue) { + var value = deepGet(object2, toPath2(path)); + return isUndefined(value) ? defaultValue : value; +} +var init_get = __esm({ + "node_modules/underscore/modules/get.js"() { + init_toPath2(); + init_deepGet(); + init_isUndefined(); + } +}); + +// node_modules/underscore/modules/has.js +function has2(obj2, path) { + path = toPath2(path); + var length = path.length; + for (var i = 0; i < length; i++) { + var key = path[i]; + if (!has(obj2, key)) return false; + obj2 = obj2[key]; + } + return !!length; +} +var init_has2 = __esm({ + "node_modules/underscore/modules/has.js"() { + init_has(); + init_toPath2(); + } +}); + +// node_modules/underscore/modules/identity.js +function identity(value) { + return value; +} +var init_identity = __esm({ + "node_modules/underscore/modules/identity.js"() { + } +}); + +// node_modules/underscore/modules/matcher.js +function matcher(attrs) { + attrs = extendOwn_default({}, attrs); + return function(obj2) { + return isMatch(obj2, attrs); + }; +} +var init_matcher = __esm({ + "node_modules/underscore/modules/matcher.js"() { + init_extendOwn(); + init_isMatch(); + } +}); + +// node_modules/underscore/modules/property.js +function property(path) { + path = toPath2(path); + return function(obj2) { + return deepGet(obj2, path); + }; +} +var init_property = __esm({ + "node_modules/underscore/modules/property.js"() { + init_deepGet(); + init_toPath2(); + } +}); + +// node_modules/underscore/modules/_optimizeCb.js +function optimizeCb(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: + return function(value) { + return func.call(context, value); + }; + // The 2-argument case is omitted because we’re not using it. + case 3: + return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: + return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; +} +var init_optimizeCb = __esm({ + "node_modules/underscore/modules/_optimizeCb.js"() { + } +}); + +// node_modules/underscore/modules/_baseIteratee.js +function baseIteratee(value, context, argCount) { + if (value == null) return identity; + if (isFunction_default(value)) return optimizeCb(value, context, argCount); + if (isObject2(value) && !isArray_default(value)) return matcher(value); + return property(value); +} +var init_baseIteratee = __esm({ + "node_modules/underscore/modules/_baseIteratee.js"() { + init_identity(); + init_isFunction(); + init_isObject(); + init_isArray(); + init_matcher(); + init_property(); + init_optimizeCb(); + } +}); + +// node_modules/underscore/modules/iteratee.js +function iteratee(value, context) { + return baseIteratee(value, context, Infinity); +} +var init_iteratee = __esm({ + "node_modules/underscore/modules/iteratee.js"() { + init_underscore(); + init_baseIteratee(); + _.iteratee = iteratee; + } +}); + +// node_modules/underscore/modules/_cb.js +function cb(value, context, argCount) { + if (_.iteratee !== iteratee) return _.iteratee(value, context); + return baseIteratee(value, context, argCount); +} +var init_cb = __esm({ + "node_modules/underscore/modules/_cb.js"() { + init_underscore(); + init_baseIteratee(); + init_iteratee(); + } +}); + +// node_modules/underscore/modules/mapObject.js +function mapObject(obj2, iteratee2, context) { + iteratee2 = cb(iteratee2, context); + var _keys = keys(obj2), length = _keys.length, results = {}; + for (var index = 0; index < length; index++) { + var currentKey = _keys[index]; + results[currentKey] = iteratee2(obj2[currentKey], currentKey, obj2); + } + return results; +} +var init_mapObject = __esm({ + "node_modules/underscore/modules/mapObject.js"() { + init_cb(); + init_keys(); + } +}); + +// node_modules/underscore/modules/noop.js +function noop() { +} +var init_noop = __esm({ + "node_modules/underscore/modules/noop.js"() { + } +}); + +// node_modules/underscore/modules/propertyOf.js +function propertyOf(obj2) { + if (obj2 == null) return noop; + return function(path) { + return get(obj2, path); + }; +} +var init_propertyOf = __esm({ + "node_modules/underscore/modules/propertyOf.js"() { + init_noop(); + init_get(); + } +}); + +// node_modules/underscore/modules/times.js +function times(n, iteratee2, context) { + var accum = Array(Math.max(0, n)); + iteratee2 = optimizeCb(iteratee2, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee2(i); + return accum; +} +var init_times = __esm({ + "node_modules/underscore/modules/times.js"() { + init_optimizeCb(); + } +}); + +// node_modules/underscore/modules/random.js +function random(min2, max2) { + if (max2 == null) { + max2 = min2; + min2 = 0; + } + return min2 + Math.floor(Math.random() * (max2 - min2 + 1)); +} +var init_random = __esm({ + "node_modules/underscore/modules/random.js"() { + } +}); + +// node_modules/underscore/modules/now.js +var now_default; +var init_now = __esm({ + "node_modules/underscore/modules/now.js"() { + now_default = Date.now || function() { + return (/* @__PURE__ */ new Date()).getTime(); + }; + } +}); + +// node_modules/underscore/modules/_createEscaper.js +function createEscaper(map2) { + var escaper = function(match) { + return map2[match]; + }; + var source = "(?:" + keys(map2).join("|") + ")"; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, "g"); + return function(string) { + string = string == null ? "" : "" + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; +} +var init_createEscaper = __esm({ + "node_modules/underscore/modules/_createEscaper.js"() { + init_keys(); + } +}); + +// node_modules/underscore/modules/_escapeMap.js +var escapeMap_default; +var init_escapeMap = __esm({ + "node_modules/underscore/modules/_escapeMap.js"() { + escapeMap_default = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + } +}); + +// node_modules/underscore/modules/escape.js +var escape_default; +var init_escape = __esm({ + "node_modules/underscore/modules/escape.js"() { + init_createEscaper(); + init_escapeMap(); + escape_default = createEscaper(escapeMap_default); + } +}); + +// node_modules/underscore/modules/_unescapeMap.js +var unescapeMap_default; +var init_unescapeMap = __esm({ + "node_modules/underscore/modules/_unescapeMap.js"() { + init_invert(); + init_escapeMap(); + unescapeMap_default = invert(escapeMap_default); + } +}); + +// node_modules/underscore/modules/unescape.js +var unescape_default; +var init_unescape = __esm({ + "node_modules/underscore/modules/unescape.js"() { + init_createEscaper(); + init_unescapeMap(); + unescape_default = createEscaper(unescapeMap_default); + } +}); + +// node_modules/underscore/modules/templateSettings.js +var templateSettings_default; +var init_templateSettings = __esm({ + "node_modules/underscore/modules/templateSettings.js"() { + init_underscore(); + templateSettings_default = _.templateSettings = { + evaluate: /<%([\s\S]+?)%>/g, + interpolate: /<%=([\s\S]+?)%>/g, + escape: /<%-([\s\S]+?)%>/g + }; + } +}); + +// node_modules/underscore/modules/template.js +function escapeChar(match) { + return "\\" + escapes[match]; +} +function template(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = defaults_default({}, settings, _.templateSettings); + var matcher2 = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join("|") + "|$", "g"); + var index = 0; + var source = "__p+='"; + text.replace(matcher2, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escapeRegExp, escapeChar); + index = offset + match.length; + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + return match; + }); + source += "';\n"; + var argument = settings.variable; + if (argument) { + if (!bareIdentifier.test(argument)) throw new Error( + "variable is not a bare identifier: " + argument + ); + } else { + source = "with(obj||{}){\n" + source + "}\n"; + argument = "obj"; + } + source = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + source + "return __p;\n"; + var render; + try { + render = new Function(argument, "_", source); + } catch (e) { + e.source = source; + throw e; + } + var template2 = function(data) { + return render.call(this, data, _); + }; + template2.source = "function(" + argument + "){\n" + source + "}"; + return template2; +} +var noMatch, escapes, escapeRegExp, bareIdentifier; +var init_template = __esm({ + "node_modules/underscore/modules/template.js"() { + init_defaults(); + init_underscore(); + init_templateSettings(); + noMatch = /(.)^/; + escapes = { + "'": "'", + "\\": "\\", + "\r": "r", + "\n": "n", + "\u2028": "u2028", + "\u2029": "u2029" + }; + escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g; + bareIdentifier = /^\s*(\w|\$)+\s*$/; + } +}); + +// node_modules/underscore/modules/result.js +function result(obj2, path, fallback) { + path = toPath2(path); + var length = path.length; + if (!length) { + return isFunction_default(fallback) ? fallback.call(obj2) : fallback; + } + for (var i = 0; i < length; i++) { + var prop = obj2 == null ? void 0 : obj2[path[i]]; + if (prop === void 0) { + prop = fallback; + i = length; + } + obj2 = isFunction_default(prop) ? prop.call(obj2) : prop; + } + return obj2; +} +var init_result = __esm({ + "node_modules/underscore/modules/result.js"() { + init_isFunction(); + init_toPath2(); + } +}); + +// node_modules/underscore/modules/uniqueId.js +function uniqueId(prefix) { + var id = ++idCounter + ""; + return prefix ? prefix + id : id; +} +var idCounter; +var init_uniqueId = __esm({ + "node_modules/underscore/modules/uniqueId.js"() { + idCounter = 0; + } +}); + +// node_modules/underscore/modules/chain.js +function chain(obj2) { + var instance = _(obj2); + instance._chain = true; + return instance; +} +var init_chain = __esm({ + "node_modules/underscore/modules/chain.js"() { + init_underscore(); + } +}); + +// node_modules/underscore/modules/_executeBound.js +function executeBound(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self2 = baseCreate(sourceFunc.prototype); + var result2 = sourceFunc.apply(self2, args); + if (isObject2(result2)) return result2; + return self2; +} +var init_executeBound = __esm({ + "node_modules/underscore/modules/_executeBound.js"() { + init_baseCreate(); + init_isObject(); + } +}); + +// node_modules/underscore/modules/partial.js +var partial, partial_default; +var init_partial = __esm({ + "node_modules/underscore/modules/partial.js"() { + init_restArguments(); + init_executeBound(); + init_underscore(); + partial = restArguments(function(func, boundArgs) { + var placeholder = partial.placeholder; + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }); + partial.placeholder = _; + partial_default = partial; + } +}); + +// node_modules/underscore/modules/bind.js +var bind_default; +var init_bind = __esm({ + "node_modules/underscore/modules/bind.js"() { + init_restArguments(); + init_isFunction(); + init_executeBound(); + bind_default = restArguments(function(func, context, args) { + if (!isFunction_default(func)) throw new TypeError("Bind must be called on a function"); + var bound = restArguments(function(callArgs) { + return executeBound(func, bound, context, this, args.concat(callArgs)); + }); + return bound; + }); + } +}); + +// node_modules/underscore/modules/_isArrayLike.js +var isArrayLike_default; +var init_isArrayLike = __esm({ + "node_modules/underscore/modules/_isArrayLike.js"() { + init_createSizePropertyCheck(); + init_getLength(); + isArrayLike_default = createSizePropertyCheck(getLength_default); + } +}); + +// node_modules/underscore/modules/_flatten.js +function flatten(input, depth, strict, output) { + output = output || []; + if (!depth && depth !== 0) { + depth = Infinity; + } else if (depth <= 0) { + return output.concat(input); + } + var idx = output.length; + for (var i = 0, length = getLength_default(input); i < length; i++) { + var value = input[i]; + if (isArrayLike_default(value) && (isArray_default(value) || isArguments_default(value))) { + if (depth > 1) { + flatten(value, depth - 1, strict, output); + idx = output.length; + } else { + var j = 0, len = value.length; + while (j < len) output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; +} +var init_flatten = __esm({ + "node_modules/underscore/modules/_flatten.js"() { + init_getLength(); + init_isArrayLike(); + init_isArray(); + init_isArguments(); + } +}); + +// node_modules/underscore/modules/bindAll.js +var bindAll_default; +var init_bindAll = __esm({ + "node_modules/underscore/modules/bindAll.js"() { + init_restArguments(); + init_flatten(); + init_bind(); + bindAll_default = restArguments(function(obj2, keys2) { + keys2 = flatten(keys2, false, false); + var index = keys2.length; + if (index < 1) throw new Error("bindAll must be passed function names"); + while (index--) { + var key = keys2[index]; + obj2[key] = bind_default(obj2[key], obj2); + } + return obj2; + }); + } +}); + +// node_modules/underscore/modules/memoize.js +function memoize(func, hasher) { + var memoize2 = function(key) { + var cache = memoize2.cache; + var address = "" + (hasher ? hasher.apply(this, arguments) : key); + if (!has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize2.cache = {}; + return memoize2; +} +var init_memoize = __esm({ + "node_modules/underscore/modules/memoize.js"() { + init_has(); + } +}); + +// node_modules/underscore/modules/delay.js +var delay_default; +var init_delay = __esm({ + "node_modules/underscore/modules/delay.js"() { + init_restArguments(); + delay_default = restArguments(function(func, wait, args) { + return setTimeout(function() { + return func.apply(null, args); + }, wait); + }); + } +}); + +// node_modules/underscore/modules/defer.js +var defer_default; +var init_defer = __esm({ + "node_modules/underscore/modules/defer.js"() { + init_partial(); + init_delay(); + init_underscore(); + defer_default = partial_default(delay_default, _, 1); + } +}); + +// node_modules/underscore/modules/throttle.js +function throttle(func, wait, options) { + var timeout, context, args, result2; + var previous = 0; + if (!options) options = {}; + var later = function() { + previous = options.leading === false ? 0 : now_default(); + timeout = null; + result2 = func.apply(context, args); + if (!timeout) context = args = null; + }; + var throttled = function() { + var _now = now_default(); + if (!previous && options.leading === false) previous = _now; + var remaining = wait - (_now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = _now; + result2 = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result2; + }; + throttled.cancel = function() { + clearTimeout(timeout); + previous = 0; + timeout = context = args = null; + }; + return throttled; +} +var init_throttle = __esm({ + "node_modules/underscore/modules/throttle.js"() { + init_now(); + } +}); + +// node_modules/underscore/modules/debounce.js +function debounce(func, wait, immediate) { + var timeout, previous, args, result2, context; + var later = function() { + var passed = now_default() - previous; + if (wait > passed) { + timeout = setTimeout(later, wait - passed); + } else { + timeout = null; + if (!immediate) result2 = func.apply(context, args); + if (!timeout) args = context = null; + } + }; + var debounced = restArguments(function(_args) { + context = this; + args = _args; + previous = now_default(); + if (!timeout) { + timeout = setTimeout(later, wait); + if (immediate) result2 = func.apply(context, args); + } + return result2; + }); + debounced.cancel = function() { + clearTimeout(timeout); + timeout = args = context = null; + }; + return debounced; +} +var init_debounce = __esm({ + "node_modules/underscore/modules/debounce.js"() { + init_restArguments(); + init_now(); + } +}); + +// node_modules/underscore/modules/wrap.js +function wrap(func, wrapper) { + return partial_default(wrapper, func); +} +var init_wrap = __esm({ + "node_modules/underscore/modules/wrap.js"() { + init_partial(); + } +}); + +// node_modules/underscore/modules/negate.js +function negate(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; +} +var init_negate = __esm({ + "node_modules/underscore/modules/negate.js"() { + } +}); + +// node_modules/underscore/modules/compose.js +function compose() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result2 = args[start].apply(this, arguments); + while (i--) result2 = args[i].call(this, result2); + return result2; + }; +} +var init_compose = __esm({ + "node_modules/underscore/modules/compose.js"() { + } +}); + +// node_modules/underscore/modules/after.js +function after(times2, func) { + return function() { + if (--times2 < 1) { + return func.apply(this, arguments); + } + }; +} +var init_after = __esm({ + "node_modules/underscore/modules/after.js"() { + } +}); + +// node_modules/underscore/modules/before.js +function before(times2, func) { + var memo; + return function() { + if (--times2 > 0) { + memo = func.apply(this, arguments); + } + if (times2 <= 1) func = null; + return memo; + }; +} +var init_before = __esm({ + "node_modules/underscore/modules/before.js"() { + } +}); + +// node_modules/underscore/modules/once.js +var once_default; +var init_once = __esm({ + "node_modules/underscore/modules/once.js"() { + init_partial(); + init_before(); + once_default = partial_default(before, 2); + } +}); + +// node_modules/underscore/modules/findKey.js +function findKey(obj2, predicate, context) { + predicate = cb(predicate, context); + var _keys = keys(obj2), key; + for (var i = 0, length = _keys.length; i < length; i++) { + key = _keys[i]; + if (predicate(obj2[key], key, obj2)) return key; + } +} +var init_findKey = __esm({ + "node_modules/underscore/modules/findKey.js"() { + init_cb(); + init_keys(); + } +}); + +// node_modules/underscore/modules/_createPredicateIndexFinder.js +function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength_default(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; +} +var init_createPredicateIndexFinder = __esm({ + "node_modules/underscore/modules/_createPredicateIndexFinder.js"() { + init_cb(); + init_getLength(); + } +}); + +// node_modules/underscore/modules/findIndex.js +var findIndex_default; +var init_findIndex = __esm({ + "node_modules/underscore/modules/findIndex.js"() { + init_createPredicateIndexFinder(); + findIndex_default = createPredicateIndexFinder(1); + } +}); + +// node_modules/underscore/modules/findLastIndex.js +var findLastIndex_default; +var init_findLastIndex = __esm({ + "node_modules/underscore/modules/findLastIndex.js"() { + init_createPredicateIndexFinder(); + findLastIndex_default = createPredicateIndexFinder(-1); + } +}); + +// node_modules/underscore/modules/sortedIndex.js +function sortedIndex(array, obj2, iteratee2, context) { + iteratee2 = cb(iteratee2, context, 1); + var value = iteratee2(obj2); + var low = 0, high = getLength_default(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee2(array[mid]) < value) low = mid + 1; + else high = mid; + } + return low; +} +var init_sortedIndex = __esm({ + "node_modules/underscore/modules/sortedIndex.js"() { + init_cb(); + init_getLength(); + } +}); + +// node_modules/underscore/modules/_createIndexFinder.js +function createIndexFinder(dir, predicateFind, sortedIndex2) { + return function(array, item, idx) { + var i = 0, length = getLength_default(array); + if (typeof idx == "number") { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex2 && idx && length) { + idx = sortedIndex2(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), isNaN2); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; +} +var init_createIndexFinder = __esm({ + "node_modules/underscore/modules/_createIndexFinder.js"() { + init_getLength(); + init_setup(); + init_isNaN(); + } +}); + +// node_modules/underscore/modules/indexOf.js +var indexOf_default; +var init_indexOf = __esm({ + "node_modules/underscore/modules/indexOf.js"() { + init_sortedIndex(); + init_findIndex(); + init_createIndexFinder(); + indexOf_default = createIndexFinder(1, findIndex_default, sortedIndex); + } +}); + +// node_modules/underscore/modules/lastIndexOf.js +var lastIndexOf_default; +var init_lastIndexOf = __esm({ + "node_modules/underscore/modules/lastIndexOf.js"() { + init_findLastIndex(); + init_createIndexFinder(); + lastIndexOf_default = createIndexFinder(-1, findLastIndex_default); + } +}); + +// node_modules/underscore/modules/find.js +function find(obj2, predicate, context) { + var keyFinder = isArrayLike_default(obj2) ? findIndex_default : findKey; + var key = keyFinder(obj2, predicate, context); + if (key !== void 0 && key !== -1) return obj2[key]; +} +var init_find = __esm({ + "node_modules/underscore/modules/find.js"() { + init_isArrayLike(); + init_findIndex(); + init_findKey(); + } +}); + +// node_modules/underscore/modules/findWhere.js +function findWhere(obj2, attrs) { + return find(obj2, matcher(attrs)); +} +var init_findWhere = __esm({ + "node_modules/underscore/modules/findWhere.js"() { + init_find(); + init_matcher(); + } +}); + +// node_modules/underscore/modules/each.js +function each(obj2, iteratee2, context) { + iteratee2 = optimizeCb(iteratee2, context); + var i, length; + if (isArrayLike_default(obj2)) { + for (i = 0, length = obj2.length; i < length; i++) { + iteratee2(obj2[i], i, obj2); + } + } else { + var _keys = keys(obj2); + for (i = 0, length = _keys.length; i < length; i++) { + iteratee2(obj2[_keys[i]], _keys[i], obj2); + } + } + return obj2; +} +var init_each = __esm({ + "node_modules/underscore/modules/each.js"() { + init_optimizeCb(); + init_isArrayLike(); + init_keys(); + } +}); + +// node_modules/underscore/modules/map.js +function map(obj2, iteratee2, context) { + iteratee2 = cb(iteratee2, context); + var _keys = !isArrayLike_default(obj2) && keys(obj2), length = (_keys || obj2).length, results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + results[index] = iteratee2(obj2[currentKey], currentKey, obj2); + } + return results; +} +var init_map = __esm({ + "node_modules/underscore/modules/map.js"() { + init_cb(); + init_isArrayLike(); + init_keys(); + } +}); + +// node_modules/underscore/modules/_createReduce.js +function createReduce(dir) { + var reducer = function(obj2, iteratee2, memo, initial2) { + var _keys = !isArrayLike_default(obj2) && keys(obj2), length = (_keys || obj2).length, index = dir > 0 ? 0 : length - 1; + if (!initial2) { + memo = obj2[_keys ? _keys[index] : index]; + index += dir; + } + for (; index >= 0 && index < length; index += dir) { + var currentKey = _keys ? _keys[index] : index; + memo = iteratee2(memo, obj2[currentKey], currentKey, obj2); + } + return memo; + }; + return function(obj2, iteratee2, memo, context) { + var initial2 = arguments.length >= 3; + return reducer(obj2, optimizeCb(iteratee2, context, 4), memo, initial2); + }; +} +var init_createReduce = __esm({ + "node_modules/underscore/modules/_createReduce.js"() { + init_isArrayLike(); + init_keys(); + init_optimizeCb(); + } +}); + +// node_modules/underscore/modules/reduce.js +var reduce_default; +var init_reduce = __esm({ + "node_modules/underscore/modules/reduce.js"() { + init_createReduce(); + reduce_default = createReduce(1); + } +}); + +// node_modules/underscore/modules/reduceRight.js +var reduceRight_default; +var init_reduceRight = __esm({ + "node_modules/underscore/modules/reduceRight.js"() { + init_createReduce(); + reduceRight_default = createReduce(-1); + } +}); + +// node_modules/underscore/modules/filter.js +function filter(obj2, predicate, context) { + var results = []; + predicate = cb(predicate, context); + each(obj2, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; +} +var init_filter = __esm({ + "node_modules/underscore/modules/filter.js"() { + init_cb(); + init_each(); + } +}); + +// node_modules/underscore/modules/reject.js +function reject(obj2, predicate, context) { + return filter(obj2, negate(cb(predicate)), context); +} +var init_reject = __esm({ + "node_modules/underscore/modules/reject.js"() { + init_filter(); + init_negate(); + init_cb(); + } +}); + +// node_modules/underscore/modules/every.js +function every(obj2, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike_default(obj2) && keys(obj2), length = (_keys || obj2).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (!predicate(obj2[currentKey], currentKey, obj2)) return false; + } + return true; +} +var init_every = __esm({ + "node_modules/underscore/modules/every.js"() { + init_cb(); + init_isArrayLike(); + init_keys(); + } +}); + +// node_modules/underscore/modules/some.js +function some(obj2, predicate, context) { + predicate = cb(predicate, context); + var _keys = !isArrayLike_default(obj2) && keys(obj2), length = (_keys || obj2).length; + for (var index = 0; index < length; index++) { + var currentKey = _keys ? _keys[index] : index; + if (predicate(obj2[currentKey], currentKey, obj2)) return true; + } + return false; +} +var init_some = __esm({ + "node_modules/underscore/modules/some.js"() { + init_cb(); + init_isArrayLike(); + init_keys(); + } +}); + +// node_modules/underscore/modules/contains.js +function contains(obj2, item, fromIndex, guard) { + if (!isArrayLike_default(obj2)) obj2 = values(obj2); + if (typeof fromIndex != "number" || guard) fromIndex = 0; + return indexOf_default(obj2, item, fromIndex) >= 0; +} +var init_contains = __esm({ + "node_modules/underscore/modules/contains.js"() { + init_isArrayLike(); + init_values(); + init_indexOf(); + } +}); + +// node_modules/underscore/modules/invoke.js +var invoke_default; +var init_invoke = __esm({ + "node_modules/underscore/modules/invoke.js"() { + init_restArguments(); + init_isFunction(); + init_map(); + init_deepGet(); + init_toPath2(); + invoke_default = restArguments(function(obj2, path, args) { + var contextPath, func; + if (isFunction_default(path)) { + func = path; + } else { + path = toPath2(path); + contextPath = path.slice(0, -1); + path = path[path.length - 1]; + } + return map(obj2, function(context) { + var method = func; + if (!method) { + if (contextPath && contextPath.length) { + context = deepGet(context, contextPath); + } + if (context == null) return void 0; + method = context[path]; + } + return method == null ? method : method.apply(context, args); + }); + }); + } +}); + +// node_modules/underscore/modules/pluck.js +function pluck(obj2, key) { + return map(obj2, property(key)); +} +var init_pluck = __esm({ + "node_modules/underscore/modules/pluck.js"() { + init_map(); + init_property(); + } +}); + +// node_modules/underscore/modules/where.js +function where(obj2, attrs) { + return filter(obj2, matcher(attrs)); +} +var init_where = __esm({ + "node_modules/underscore/modules/where.js"() { + init_filter(); + init_matcher(); + } +}); + +// node_modules/underscore/modules/max.js +function max(obj2, iteratee2, context) { + var result2 = -Infinity, lastComputed = -Infinity, value, computed; + if (iteratee2 == null || typeof iteratee2 == "number" && typeof obj2[0] != "object" && obj2 != null) { + obj2 = isArrayLike_default(obj2) ? obj2 : values(obj2); + for (var i = 0, length = obj2.length; i < length; i++) { + value = obj2[i]; + if (value != null && value > result2) { + result2 = value; + } + } + } else { + iteratee2 = cb(iteratee2, context); + each(obj2, function(v, index, list) { + computed = iteratee2(v, index, list); + if (computed > lastComputed || computed === -Infinity && result2 === -Infinity) { + result2 = v; + lastComputed = computed; + } + }); + } + return result2; +} +var init_max = __esm({ + "node_modules/underscore/modules/max.js"() { + init_isArrayLike(); + init_values(); + init_cb(); + init_each(); + } +}); + +// node_modules/underscore/modules/min.js +function min(obj2, iteratee2, context) { + var result2 = Infinity, lastComputed = Infinity, value, computed; + if (iteratee2 == null || typeof iteratee2 == "number" && typeof obj2[0] != "object" && obj2 != null) { + obj2 = isArrayLike_default(obj2) ? obj2 : values(obj2); + for (var i = 0, length = obj2.length; i < length; i++) { + value = obj2[i]; + if (value != null && value < result2) { + result2 = value; + } + } + } else { + iteratee2 = cb(iteratee2, context); + each(obj2, function(v, index, list) { + computed = iteratee2(v, index, list); + if (computed < lastComputed || computed === Infinity && result2 === Infinity) { + result2 = v; + lastComputed = computed; + } + }); + } + return result2; +} +var init_min = __esm({ + "node_modules/underscore/modules/min.js"() { + init_isArrayLike(); + init_values(); + init_cb(); + init_each(); + } +}); + +// node_modules/underscore/modules/toArray.js +function toArray(obj2) { + if (!obj2) return []; + if (isArray_default(obj2)) return slice.call(obj2); + if (isString_default(obj2)) { + return obj2.match(reStrSymbol); + } + if (isArrayLike_default(obj2)) return map(obj2, identity); + return values(obj2); +} +var reStrSymbol; +var init_toArray = __esm({ + "node_modules/underscore/modules/toArray.js"() { + init_isArray(); + init_setup(); + init_isString(); + init_isArrayLike(); + init_map(); + init_identity(); + init_values(); + reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; + } +}); + +// node_modules/underscore/modules/sample.js +function sample(obj2, n, guard) { + if (n == null || guard) { + if (!isArrayLike_default(obj2)) obj2 = values(obj2); + return obj2[random(obj2.length - 1)]; + } + var sample2 = toArray(obj2); + var length = getLength_default(sample2); + n = Math.max(Math.min(n, length), 0); + var last2 = length - 1; + for (var index = 0; index < n; index++) { + var rand = random(index, last2); + var temp = sample2[index]; + sample2[index] = sample2[rand]; + sample2[rand] = temp; + } + return sample2.slice(0, n); +} +var init_sample = __esm({ + "node_modules/underscore/modules/sample.js"() { + init_isArrayLike(); + init_values(); + init_getLength(); + init_random(); + init_toArray(); + } +}); + +// node_modules/underscore/modules/shuffle.js +function shuffle(obj2) { + return sample(obj2, Infinity); +} +var init_shuffle = __esm({ + "node_modules/underscore/modules/shuffle.js"() { + init_sample(); + } +}); + +// node_modules/underscore/modules/sortBy.js +function sortBy(obj2, iteratee2, context) { + var index = 0; + iteratee2 = cb(iteratee2, context); + return pluck(map(obj2, function(value, key, list) { + return { + value, + index: index++, + criteria: iteratee2(value, key, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), "value"); +} +var init_sortBy = __esm({ + "node_modules/underscore/modules/sortBy.js"() { + init_cb(); + init_pluck(); + init_map(); + } +}); + +// node_modules/underscore/modules/_group.js +function group(behavior, partition) { + return function(obj2, iteratee2, context) { + var result2 = partition ? [[], []] : {}; + iteratee2 = cb(iteratee2, context); + each(obj2, function(value, index) { + var key = iteratee2(value, index, obj2); + behavior(result2, value, key); + }); + return result2; + }; +} +var init_group = __esm({ + "node_modules/underscore/modules/_group.js"() { + init_cb(); + init_each(); + } +}); + +// node_modules/underscore/modules/groupBy.js +var groupBy_default; +var init_groupBy = __esm({ + "node_modules/underscore/modules/groupBy.js"() { + init_group(); + init_has(); + groupBy_default = group(function(result2, value, key) { + if (has(result2, key)) result2[key].push(value); + else result2[key] = [value]; + }); + } +}); + +// node_modules/underscore/modules/indexBy.js +var indexBy_default; +var init_indexBy = __esm({ + "node_modules/underscore/modules/indexBy.js"() { + init_group(); + indexBy_default = group(function(result2, value, key) { + result2[key] = value; + }); + } +}); + +// node_modules/underscore/modules/countBy.js +var countBy_default; +var init_countBy = __esm({ + "node_modules/underscore/modules/countBy.js"() { + init_group(); + init_has(); + countBy_default = group(function(result2, value, key) { + if (has(result2, key)) result2[key]++; + else result2[key] = 1; + }); + } +}); + +// node_modules/underscore/modules/partition.js +var partition_default; +var init_partition = __esm({ + "node_modules/underscore/modules/partition.js"() { + init_group(); + partition_default = group(function(result2, value, pass) { + result2[pass ? 0 : 1].push(value); + }, true); + } +}); + +// node_modules/underscore/modules/size.js +function size(obj2) { + if (obj2 == null) return 0; + return isArrayLike_default(obj2) ? obj2.length : keys(obj2).length; +} +var init_size = __esm({ + "node_modules/underscore/modules/size.js"() { + init_isArrayLike(); + init_keys(); + } +}); + +// node_modules/underscore/modules/_keyInObj.js +function keyInObj(value, key, obj2) { + return key in obj2; +} +var init_keyInObj = __esm({ + "node_modules/underscore/modules/_keyInObj.js"() { + } +}); + +// node_modules/underscore/modules/pick.js +var pick_default; +var init_pick = __esm({ + "node_modules/underscore/modules/pick.js"() { + init_restArguments(); + init_isFunction(); + init_optimizeCb(); + init_allKeys(); + init_keyInObj(); + init_flatten(); + pick_default = restArguments(function(obj2, keys2) { + var result2 = {}, iteratee2 = keys2[0]; + if (obj2 == null) return result2; + if (isFunction_default(iteratee2)) { + if (keys2.length > 1) iteratee2 = optimizeCb(iteratee2, keys2[1]); + keys2 = allKeys(obj2); + } else { + iteratee2 = keyInObj; + keys2 = flatten(keys2, false, false); + obj2 = Object(obj2); + } + for (var i = 0, length = keys2.length; i < length; i++) { + var key = keys2[i]; + var value = obj2[key]; + if (iteratee2(value, key, obj2)) result2[key] = value; + } + return result2; + }); + } +}); + +// node_modules/underscore/modules/omit.js +var omit_default; +var init_omit = __esm({ + "node_modules/underscore/modules/omit.js"() { + init_restArguments(); + init_isFunction(); + init_negate(); + init_map(); + init_flatten(); + init_contains(); + init_pick(); + omit_default = restArguments(function(obj2, keys2) { + var iteratee2 = keys2[0], context; + if (isFunction_default(iteratee2)) { + iteratee2 = negate(iteratee2); + if (keys2.length > 1) context = keys2[1]; + } else { + keys2 = map(flatten(keys2, false, false), String); + iteratee2 = function(value, key) { + return !contains(keys2, key); + }; + } + return pick_default(obj2, iteratee2, context); + }); + } +}); + +// node_modules/underscore/modules/initial.js +function initial(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); +} +var init_initial = __esm({ + "node_modules/underscore/modules/initial.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/first.js +function first(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[0]; + return initial(array, array.length - n); +} +var init_first = __esm({ + "node_modules/underscore/modules/first.js"() { + init_initial(); + } +}); + +// node_modules/underscore/modules/rest.js +function rest(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); +} +var init_rest = __esm({ + "node_modules/underscore/modules/rest.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/last.js +function last(array, n, guard) { + if (array == null || array.length < 1) return n == null || guard ? void 0 : []; + if (n == null || guard) return array[array.length - 1]; + return rest(array, Math.max(0, array.length - n)); +} +var init_last = __esm({ + "node_modules/underscore/modules/last.js"() { + init_rest(); + } +}); + +// node_modules/underscore/modules/compact.js +function compact(array) { + return filter(array, Boolean); +} +var init_compact = __esm({ + "node_modules/underscore/modules/compact.js"() { + init_filter(); + } +}); + +// node_modules/underscore/modules/flatten.js +function flatten2(array, depth) { + return flatten(array, depth, false); +} +var init_flatten2 = __esm({ + "node_modules/underscore/modules/flatten.js"() { + init_flatten(); + } +}); + +// node_modules/underscore/modules/difference.js +var difference_default; +var init_difference = __esm({ + "node_modules/underscore/modules/difference.js"() { + init_restArguments(); + init_flatten(); + init_filter(); + init_contains(); + difference_default = restArguments(function(array, rest2) { + rest2 = flatten(rest2, true, true); + return filter(array, function(value) { + return !contains(rest2, value); + }); + }); + } +}); + +// node_modules/underscore/modules/without.js +var without_default; +var init_without = __esm({ + "node_modules/underscore/modules/without.js"() { + init_restArguments(); + init_difference(); + without_default = restArguments(function(array, otherArrays) { + return difference_default(array, otherArrays); + }); + } +}); + +// node_modules/underscore/modules/uniq.js +function uniq(array, isSorted, iteratee2, context) { + if (!isBoolean(isSorted)) { + context = iteratee2; + iteratee2 = isSorted; + isSorted = false; + } + if (iteratee2 != null) iteratee2 = cb(iteratee2, context); + var result2 = []; + var seen = []; + for (var i = 0, length = getLength_default(array); i < length; i++) { + var value = array[i], computed = iteratee2 ? iteratee2(value, i, array) : value; + if (isSorted && !iteratee2) { + if (!i || seen !== computed) result2.push(value); + seen = computed; + } else if (iteratee2) { + if (!contains(seen, computed)) { + seen.push(computed); + result2.push(value); + } + } else if (!contains(result2, value)) { + result2.push(value); + } + } + return result2; +} +var init_uniq = __esm({ + "node_modules/underscore/modules/uniq.js"() { + init_isBoolean(); + init_cb(); + init_getLength(); + init_contains(); + } +}); + +// node_modules/underscore/modules/union.js +var union_default; +var init_union = __esm({ + "node_modules/underscore/modules/union.js"() { + init_restArguments(); + init_uniq(); + init_flatten(); + union_default = restArguments(function(arrays) { + return uniq(flatten(arrays, true, true)); + }); + } +}); + +// node_modules/underscore/modules/intersection.js +function intersection(array) { + var result2 = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength_default(array); i < length; i++) { + var item = array[i]; + if (contains(result2, item)) continue; + var j; + for (j = 1; j < argsLength; j++) { + if (!contains(arguments[j], item)) break; + } + if (j === argsLength) result2.push(item); + } + return result2; +} +var init_intersection = __esm({ + "node_modules/underscore/modules/intersection.js"() { + init_getLength(); + init_contains(); + } +}); + +// node_modules/underscore/modules/unzip.js +function unzip(array) { + var length = array && max(array, getLength_default).length || 0; + var result2 = Array(length); + for (var index = 0; index < length; index++) { + result2[index] = pluck(array, index); + } + return result2; +} +var init_unzip = __esm({ + "node_modules/underscore/modules/unzip.js"() { + init_max(); + init_getLength(); + init_pluck(); + } +}); + +// node_modules/underscore/modules/zip.js +var zip_default; +var init_zip = __esm({ + "node_modules/underscore/modules/zip.js"() { + init_restArguments(); + init_unzip(); + zip_default = restArguments(unzip); + } +}); + +// node_modules/underscore/modules/object.js +function object(list, values3) { + var result2 = {}; + for (var i = 0, length = getLength_default(list); i < length; i++) { + if (values3) { + result2[list[i]] = values3[i]; + } else { + result2[list[i][0]] = list[i][1]; + } + } + return result2; +} +var init_object = __esm({ + "node_modules/underscore/modules/object.js"() { + init_getLength(); + } +}); + +// node_modules/underscore/modules/range.js +function range(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + if (!step) { + step = stop < start ? -1 : 1; + } + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range2 = Array(length); + for (var idx = 0; idx < length; idx++, start += step) { + range2[idx] = start; + } + return range2; +} +var init_range = __esm({ + "node_modules/underscore/modules/range.js"() { + } +}); + +// node_modules/underscore/modules/chunk.js +function chunk(array, count) { + if (count == null || count < 1) return []; + var result2 = []; + var i = 0, length = array.length; + while (i < length) { + result2.push(slice.call(array, i, i += count)); + } + return result2; +} +var init_chunk = __esm({ + "node_modules/underscore/modules/chunk.js"() { + init_setup(); + } +}); + +// node_modules/underscore/modules/_chainResult.js +function chainResult(instance, obj2) { + return instance._chain ? _(obj2).chain() : obj2; +} +var init_chainResult = __esm({ + "node_modules/underscore/modules/_chainResult.js"() { + init_underscore(); + } +}); + +// node_modules/underscore/modules/mixin.js +function mixin(obj2) { + each(functions(obj2), function(name) { + var func = _[name] = obj2[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return chainResult(this, func.apply(_, args)); + }; + }); + return _; +} +var init_mixin = __esm({ + "node_modules/underscore/modules/mixin.js"() { + init_underscore(); + init_each(); + init_functions(); + init_setup(); + init_chainResult(); + } +}); + +// node_modules/underscore/modules/underscore-array-methods.js +var underscore_array_methods_default; +var init_underscore_array_methods = __esm({ + "node_modules/underscore/modules/underscore-array-methods.js"() { + init_underscore(); + init_each(); + init_setup(); + init_chainResult(); + each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj2 = this._wrapped; + if (obj2 != null) { + method.apply(obj2, arguments); + if ((name === "shift" || name === "splice") && obj2.length === 0) { + delete obj2[0]; + } + } + return chainResult(this, obj2); + }; + }); + each(["concat", "join", "slice"], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj2 = this._wrapped; + if (obj2 != null) obj2 = method.apply(obj2, arguments); + return chainResult(this, obj2); + }; + }); + underscore_array_methods_default = _; + } +}); + +// node_modules/underscore/modules/index.js +var modules_exports = {}; +__export(modules_exports, { + VERSION: () => VERSION, + after: () => after, + all: () => every, + allKeys: () => allKeys, + any: () => some, + assign: () => extendOwn_default, + before: () => before, + bind: () => bind_default, + bindAll: () => bindAll_default, + chain: () => chain, + chunk: () => chunk, + clone: () => clone, + collect: () => map, + compact: () => compact, + compose: () => compose, + constant: () => constant, + contains: () => contains, + countBy: () => countBy_default, + create: () => create, + debounce: () => debounce, + default: () => underscore_array_methods_default, + defaults: () => defaults_default, + defer: () => defer_default, + delay: () => delay_default, + detect: () => find, + difference: () => difference_default, + drop: () => rest, + each: () => each, + escape: () => escape_default, + every: () => every, + extend: () => extend_default, + extendOwn: () => extendOwn_default, + filter: () => filter, + find: () => find, + findIndex: () => findIndex_default, + findKey: () => findKey, + findLastIndex: () => findLastIndex_default, + findWhere: () => findWhere, + first: () => first, + flatten: () => flatten2, + foldl: () => reduce_default, + foldr: () => reduceRight_default, + forEach: () => each, + functions: () => functions, + get: () => get, + groupBy: () => groupBy_default, + has: () => has2, + head: () => first, + identity: () => identity, + include: () => contains, + includes: () => contains, + indexBy: () => indexBy_default, + indexOf: () => indexOf_default, + initial: () => initial, + inject: () => reduce_default, + intersection: () => intersection, + invert: () => invert, + invoke: () => invoke_default, + isArguments: () => isArguments_default, + isArray: () => isArray_default, + isArrayBuffer: () => isArrayBuffer_default, + isBoolean: () => isBoolean, + isDataView: () => isDataView_default, + isDate: () => isDate_default, + isElement: () => isElement, + isEmpty: () => isEmpty, + isEqual: () => isEqual, + isError: () => isError_default, + isFinite: () => isFinite2, + isFunction: () => isFunction_default, + isMap: () => isMap_default, + isMatch: () => isMatch, + isNaN: () => isNaN2, + isNull: () => isNull, + isNumber: () => isNumber_default, + isObject: () => isObject2, + isRegExp: () => isRegExp_default, + isSet: () => isSet_default, + isString: () => isString_default, + isSymbol: () => isSymbol_default, + isTypedArray: () => isTypedArray_default, + isUndefined: () => isUndefined, + isWeakMap: () => isWeakMap_default, + isWeakSet: () => isWeakSet_default, + iteratee: () => iteratee, + keys: () => keys, + last: () => last, + lastIndexOf: () => lastIndexOf_default, + map: () => map, + mapObject: () => mapObject, + matcher: () => matcher, + matches: () => matcher, + max: () => max, + memoize: () => memoize, + methods: () => functions, + min: () => min, + mixin: () => mixin, + negate: () => negate, + noop: () => noop, + now: () => now_default, + object: () => object, + omit: () => omit_default, + once: () => once_default, + pairs: () => pairs, + partial: () => partial_default, + partition: () => partition_default, + pick: () => pick_default, + pluck: () => pluck, + property: () => property, + propertyOf: () => propertyOf, + random: () => random, + range: () => range, + reduce: () => reduce_default, + reduceRight: () => reduceRight_default, + reject: () => reject, + rest: () => rest, + restArguments: () => restArguments, + result: () => result, + sample: () => sample, + select: () => filter, + shuffle: () => shuffle, + size: () => size, + some: () => some, + sortBy: () => sortBy, + sortedIndex: () => sortedIndex, + tail: () => rest, + take: () => first, + tap: () => tap, + template: () => template, + templateSettings: () => templateSettings_default, + throttle: () => throttle, + times: () => times, + toArray: () => toArray, + toPath: () => toPath, + transpose: () => unzip, + unescape: () => unescape_default, + union: () => union_default, + uniq: () => uniq, + unique: () => uniq, + uniqueId: () => uniqueId, + unzip: () => unzip, + values: () => values, + where: () => where, + without: () => without_default, + wrap: () => wrap, + zip: () => zip_default +}); +var init_modules = __esm({ + "node_modules/underscore/modules/index.js"() { + init_setup(); + init_restArguments(); + init_isObject(); + init_isNull(); + init_isUndefined(); + init_isBoolean(); + init_isElement(); + init_isString(); + init_isNumber(); + init_isDate(); + init_isRegExp(); + init_isError(); + init_isSymbol(); + init_isArrayBuffer(); + init_isDataView(); + init_isArray(); + init_isFunction(); + init_isArguments(); + init_isFinite(); + init_isNaN(); + init_isTypedArray(); + init_isEmpty(); + init_isMatch(); + init_isEqual(); + init_isMap(); + init_isWeakMap(); + init_isSet(); + init_isWeakSet(); + init_keys(); + init_allKeys(); + init_values(); + init_pairs(); + init_invert(); + init_functions(); + init_extend(); + init_extendOwn(); + init_defaults(); + init_create(); + init_clone(); + init_tap(); + init_get(); + init_has2(); + init_mapObject(); + init_identity(); + init_constant(); + init_noop(); + init_toPath(); + init_property(); + init_propertyOf(); + init_matcher(); + init_times(); + init_random(); + init_now(); + init_escape(); + init_unescape(); + init_templateSettings(); + init_template(); + init_result(); + init_uniqueId(); + init_chain(); + init_iteratee(); + init_partial(); + init_bind(); + init_bindAll(); + init_memoize(); + init_delay(); + init_defer(); + init_throttle(); + init_debounce(); + init_wrap(); + init_negate(); + init_compose(); + init_after(); + init_before(); + init_once(); + init_findKey(); + init_findIndex(); + init_findLastIndex(); + init_sortedIndex(); + init_indexOf(); + init_lastIndexOf(); + init_find(); + init_findWhere(); + init_each(); + init_map(); + init_reduce(); + init_reduceRight(); + init_filter(); + init_reject(); + init_every(); + init_some(); + init_contains(); + init_invoke(); + init_pluck(); + init_where(); + init_max(); + init_min(); + init_shuffle(); + init_sample(); + init_sortBy(); + init_groupBy(); + init_indexBy(); + init_countBy(); + init_partition(); + init_toArray(); + init_size(); + init_pick(); + init_omit(); + init_first(); + init_initial(); + init_last(); + init_rest(); + init_compact(); + init_flatten2(); + init_without(); + init_uniq(); + init_union(); + init_intersection(); + init_difference(); + init_unzip(); + init_zip(); + init_object(); + init_range(); + init_chunk(); + init_mixin(); + init_underscore_array_methods(); + } +}); + +// node_modules/underscore/modules/index-default.js +var _2, index_default_default; +var init_index_default = __esm({ + "node_modules/underscore/modules/index-default.js"() { + init_modules(); + init_modules(); + _2 = mixin(modules_exports); + _2._ = _2; + index_default_default = _2; + } +}); + +// node_modules/underscore/modules/index-all.js +var index_all_exports = {}; +__export(index_all_exports, { + VERSION: () => VERSION, + after: () => after, + all: () => every, + allKeys: () => allKeys, + any: () => some, + assign: () => extendOwn_default, + before: () => before, + bind: () => bind_default, + bindAll: () => bindAll_default, + chain: () => chain, + chunk: () => chunk, + clone: () => clone, + collect: () => map, + compact: () => compact, + compose: () => compose, + constant: () => constant, + contains: () => contains, + countBy: () => countBy_default, + create: () => create, + debounce: () => debounce, + default: () => index_default_default, + defaults: () => defaults_default, + defer: () => defer_default, + delay: () => delay_default, + detect: () => find, + difference: () => difference_default, + drop: () => rest, + each: () => each, + escape: () => escape_default, + every: () => every, + extend: () => extend_default, + extendOwn: () => extendOwn_default, + filter: () => filter, + find: () => find, + findIndex: () => findIndex_default, + findKey: () => findKey, + findLastIndex: () => findLastIndex_default, + findWhere: () => findWhere, + first: () => first, + flatten: () => flatten2, + foldl: () => reduce_default, + foldr: () => reduceRight_default, + forEach: () => each, + functions: () => functions, + get: () => get, + groupBy: () => groupBy_default, + has: () => has2, + head: () => first, + identity: () => identity, + include: () => contains, + includes: () => contains, + indexBy: () => indexBy_default, + indexOf: () => indexOf_default, + initial: () => initial, + inject: () => reduce_default, + intersection: () => intersection, + invert: () => invert, + invoke: () => invoke_default, + isArguments: () => isArguments_default, + isArray: () => isArray_default, + isArrayBuffer: () => isArrayBuffer_default, + isBoolean: () => isBoolean, + isDataView: () => isDataView_default, + isDate: () => isDate_default, + isElement: () => isElement, + isEmpty: () => isEmpty, + isEqual: () => isEqual, + isError: () => isError_default, + isFinite: () => isFinite2, + isFunction: () => isFunction_default, + isMap: () => isMap_default, + isMatch: () => isMatch, + isNaN: () => isNaN2, + isNull: () => isNull, + isNumber: () => isNumber_default, + isObject: () => isObject2, + isRegExp: () => isRegExp_default, + isSet: () => isSet_default, + isString: () => isString_default, + isSymbol: () => isSymbol_default, + isTypedArray: () => isTypedArray_default, + isUndefined: () => isUndefined, + isWeakMap: () => isWeakMap_default, + isWeakSet: () => isWeakSet_default, + iteratee: () => iteratee, + keys: () => keys, + last: () => last, + lastIndexOf: () => lastIndexOf_default, + map: () => map, + mapObject: () => mapObject, + matcher: () => matcher, + matches: () => matcher, + max: () => max, + memoize: () => memoize, + methods: () => functions, + min: () => min, + mixin: () => mixin, + negate: () => negate, + noop: () => noop, + now: () => now_default, + object: () => object, + omit: () => omit_default, + once: () => once_default, + pairs: () => pairs, + partial: () => partial_default, + partition: () => partition_default, + pick: () => pick_default, + pluck: () => pluck, + property: () => property, + propertyOf: () => propertyOf, + random: () => random, + range: () => range, + reduce: () => reduce_default, + reduceRight: () => reduceRight_default, + reject: () => reject, + rest: () => rest, + restArguments: () => restArguments, + result: () => result, + sample: () => sample, + select: () => filter, + shuffle: () => shuffle, + size: () => size, + some: () => some, + sortBy: () => sortBy, + sortedIndex: () => sortedIndex, + tail: () => rest, + take: () => first, + tap: () => tap, + template: () => template, + templateSettings: () => templateSettings_default, + throttle: () => throttle, + times: () => times, + toArray: () => toArray, + toPath: () => toPath, + transpose: () => unzip, + unescape: () => unescape_default, + union: () => union_default, + uniq: () => uniq, + unique: () => uniq, + uniqueId: () => uniqueId, + unzip: () => unzip, + values: () => values, + where: () => where, + without: () => without_default, + wrap: () => wrap, + zip: () => zip_default +}); +var init_index_all = __esm({ + "node_modules/underscore/modules/index-all.js"() { + init_index_default(); + init_modules(); + } +}); + +// node_modules/bluebird/js/release/es5.js +var require_es5 = __commonJS({ + "node_modules/bluebird/js/release/es5.js"(exports2, module2) { + var isES5 = (function() { + "use strict"; + return this === void 0; + })(); + if (isES5) { + module2.exports = { + freeze: Object.freeze, + defineProperty: Object.defineProperty, + getDescriptor: Object.getOwnPropertyDescriptor, + keys: Object.keys, + names: Object.getOwnPropertyNames, + getPrototypeOf: Object.getPrototypeOf, + isArray: Array.isArray, + isES5, + propertyIsWritable: function(obj2, prop) { + var descriptor = Object.getOwnPropertyDescriptor(obj2, prop); + return !!(!descriptor || descriptor.writable || descriptor.set); + } + }; + } else { + has4 = {}.hasOwnProperty; + str = {}.toString; + proto = {}.constructor.prototype; + ObjectKeys = function(o) { + var ret2 = []; + for (var key in o) { + if (has4.call(o, key)) { + ret2.push(key); + } + } + return ret2; + }; + ObjectGetDescriptor = function(o, key) { + return { value: o[key] }; + }; + ObjectDefineProperty = function(o, key, desc) { + o[key] = desc.value; + return o; + }; + ObjectFreeze = function(obj2) { + return obj2; + }; + ObjectGetPrototypeOf = function(obj2) { + try { + return Object(obj2).constructor.prototype; + } catch (e) { + return proto; + } + }; + ArrayIsArray = function(obj2) { + try { + return str.call(obj2) === "[object Array]"; + } catch (e) { + return false; + } + }; + module2.exports = { + isArray: ArrayIsArray, + keys: ObjectKeys, + names: ObjectKeys, + defineProperty: ObjectDefineProperty, + getDescriptor: ObjectGetDescriptor, + freeze: ObjectFreeze, + getPrototypeOf: ObjectGetPrototypeOf, + isES5, + propertyIsWritable: function() { + return true; + } + }; + } + var has4; + var str; + var proto; + var ObjectKeys; + var ObjectGetDescriptor; + var ObjectDefineProperty; + var ObjectFreeze; + var ObjectGetPrototypeOf; + var ArrayIsArray; + } +}); + +// node_modules/bluebird/js/release/util.js +var require_util = __commonJS({ + "node_modules/bluebird/js/release/util.js"(exports, module) { + "use strict"; + var es5 = require_es5(); + var canEvaluate = typeof navigator == "undefined"; + var errorObj = { e: {} }; + var tryCatchTarget; + var globalObject = typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : exports !== void 0 ? exports : null; + function tryCatcher() { + try { + var target = tryCatchTarget; + tryCatchTarget = null; + return target.apply(this, arguments); + } catch (e) { + errorObj.e = e; + return errorObj; + } + } + function tryCatch(fn) { + tryCatchTarget = fn; + return tryCatcher; + } + var inherits = function(Child, Parent) { + var hasProp = {}.hasOwnProperty; + function T() { + this.constructor = Child; + this.constructor$ = Parent; + for (var propertyName in Parent.prototype) { + if (hasProp.call(Parent.prototype, propertyName) && propertyName.charAt(propertyName.length - 1) !== "$") { + this[propertyName + "$"] = Parent.prototype[propertyName]; + } + } + } + T.prototype = Parent.prototype; + Child.prototype = new T(); + return Child.prototype; + }; + function isPrimitive(val) { + return val == null || val === true || val === false || typeof val === "string" || typeof val === "number"; + } + function isObject(value) { + return typeof value === "function" || typeof value === "object" && value !== null; + } + function maybeWrapAsError(maybeError) { + if (!isPrimitive(maybeError)) return maybeError; + return new Error(safeToString(maybeError)); + } + function withAppended(target, appendee) { + var len = target.length; + var ret2 = new Array(len + 1); + var i; + for (i = 0; i < len; ++i) { + ret2[i] = target[i]; + } + ret2[i] = appendee; + return ret2; + } + function getDataPropertyOrDefault(obj2, key, defaultValue) { + if (es5.isES5) { + var desc = Object.getOwnPropertyDescriptor(obj2, key); + if (desc != null) { + return desc.get == null && desc.set == null ? desc.value : defaultValue; + } + } else { + return {}.hasOwnProperty.call(obj2, key) ? obj2[key] : void 0; + } + } + function notEnumerableProp(obj2, name, value) { + if (isPrimitive(obj2)) return obj2; + var descriptor = { + value, + configurable: true, + enumerable: false, + writable: true + }; + es5.defineProperty(obj2, name, descriptor); + return obj2; + } + function thrower(r) { + throw r; + } + var inheritedDataKeys = (function() { + var excludedPrototypes = [ + Array.prototype, + Object.prototype, + Function.prototype + ]; + var isExcludedProto = function(val) { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (excludedPrototypes[i] === val) { + return true; + } + } + return false; + }; + if (es5.isES5) { + var getKeys = Object.getOwnPropertyNames; + return function(obj2) { + var ret2 = []; + var visitedKeys = /* @__PURE__ */ Object.create(null); + while (obj2 != null && !isExcludedProto(obj2)) { + var keys2; + try { + keys2 = getKeys(obj2); + } catch (e) { + return ret2; + } + for (var i = 0; i < keys2.length; ++i) { + var key = keys2[i]; + if (visitedKeys[key]) continue; + visitedKeys[key] = true; + var desc = Object.getOwnPropertyDescriptor(obj2, key); + if (desc != null && desc.get == null && desc.set == null) { + ret2.push(key); + } + } + obj2 = es5.getPrototypeOf(obj2); + } + return ret2; + }; + } else { + var hasProp = {}.hasOwnProperty; + return function(obj2) { + if (isExcludedProto(obj2)) return []; + var ret2 = []; + enumeration: for (var key in obj2) { + if (hasProp.call(obj2, key)) { + ret2.push(key); + } else { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (hasProp.call(excludedPrototypes[i], key)) { + continue enumeration; + } + } + ret2.push(key); + } + } + return ret2; + }; + } + })(); + var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; + function isClass(fn) { + try { + if (typeof fn === "function") { + var keys2 = es5.names(fn.prototype); + var hasMethods = es5.isES5 && keys2.length > 1; + var hasMethodsOtherThanConstructor = keys2.length > 0 && !(keys2.length === 1 && keys2[0] === "constructor"); + var hasThisAssignmentAndStaticMethods = thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; + if (hasMethods || hasMethodsOtherThanConstructor || hasThisAssignmentAndStaticMethods) { + return true; + } + } + return false; + } catch (e) { + return false; + } + } + function toFastProperties(obj) { + function FakeConstructor() { + } + FakeConstructor.prototype = obj; + var l = 8; + while (l--) new FakeConstructor(); + return obj; + eval(obj); + } + var rident = /^[a-z$_][a-z$_0-9]*$/i; + function isIdentifier(str) { + return rident.test(str); + } + function filledRange(count, prefix, suffix) { + var ret2 = new Array(count); + for (var i = 0; i < count; ++i) { + ret2[i] = prefix + i + suffix; + } + return ret2; + } + function safeToString(obj2) { + try { + return obj2 + ""; + } catch (e) { + return "[no string representation]"; + } + } + function isError(obj2) { + return obj2 !== null && typeof obj2 === "object" && typeof obj2.message === "string" && typeof obj2.name === "string"; + } + function markAsOriginatingFromRejection(e) { + try { + notEnumerableProp(e, "isOperational", true); + } catch (ignore) { + } + } + function originatesFromRejection(e) { + if (e == null) return false; + return e instanceof Error["__BluebirdErrorTypes__"].OperationalError || e["isOperational"] === true; + } + function canAttachTrace(obj2) { + return isError(obj2) && es5.propertyIsWritable(obj2, "stack"); + } + var ensureErrorObject = (function() { + if (!("stack" in new Error())) { + return function(value) { + if (canAttachTrace(value)) return value; + try { + throw new Error(safeToString(value)); + } catch (err) { + return err; + } + }; + } else { + return function(value) { + if (canAttachTrace(value)) return value; + return new Error(safeToString(value)); + }; + } + })(); + function classString(obj2) { + return {}.toString.call(obj2); + } + function copyDescriptors(from, to, filter2) { + var keys2 = es5.names(from); + for (var i = 0; i < keys2.length; ++i) { + var key = keys2[i]; + if (filter2(key)) { + try { + es5.defineProperty(to, key, es5.getDescriptor(from, key)); + } catch (ignore) { + } + } + } + } + var asArray = function(v) { + if (es5.isArray(v)) { + return v; + } + return null; + }; + if (typeof Symbol !== "undefined" && Symbol.iterator) { + ArrayFrom = typeof Array.from === "function" ? function(v) { + return Array.from(v); + } : function(v) { + var ret2 = []; + var it = v[Symbol.iterator](); + var itResult; + while (!(itResult = it.next()).done) { + ret2.push(itResult.value); + } + return ret2; + }; + asArray = function(v) { + if (es5.isArray(v)) { + return v; + } else if (v != null && typeof v[Symbol.iterator] === "function") { + return ArrayFrom(v); + } + return null; + }; + } + var ArrayFrom; + var isNode = typeof process !== "undefined" && classString(process).toLowerCase() === "[object process]"; + var hasEnvVariables = typeof process !== "undefined" && typeof process.env !== "undefined"; + function env(key) { + return hasEnvVariables ? process.env[key] : void 0; + } + function getNativePromise() { + if (typeof Promise === "function") { + try { + var promise = new Promise(function() { + }); + if ({}.toString.call(promise) === "[object Promise]") { + return Promise; + } + } catch (e) { + } + } + } + function domainBind(self2, cb2) { + return self2.bind(cb2); + } + var ret = { + isClass, + isIdentifier, + inheritedDataKeys, + getDataPropertyOrDefault, + thrower, + isArray: es5.isArray, + asArray, + notEnumerableProp, + isPrimitive, + isObject, + isError, + canEvaluate, + errorObj, + tryCatch, + inherits, + withAppended, + maybeWrapAsError, + toFastProperties, + filledRange, + toString: safeToString, + canAttachTrace, + ensureErrorObject, + originatesFromRejection, + markAsOriginatingFromRejection, + classString, + copyDescriptors, + hasDevTools: typeof chrome !== "undefined" && chrome && typeof chrome.loadTimes === "function", + isNode, + hasEnvVariables, + env, + global: globalObject, + getNativePromise, + domainBind + }; + ret.isRecentNode = ret.isNode && (function() { + var version = process.versions.node.split(".").map(Number); + return version[0] === 0 && version[1] > 10 || version[0] > 0; + })(); + if (ret.isNode) ret.toFastProperties(process); + try { + throw new Error(); + } catch (e) { + ret.lastLineError = e; + } + module.exports = ret; + } +}); + +// node_modules/bluebird/js/release/schedule.js +var require_schedule = __commonJS({ + "node_modules/bluebird/js/release/schedule.js"(exports2, module2) { + "use strict"; + var util = require_util(); + var schedule; + var noAsyncScheduler = function() { + throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n"); + }; + var NativePromise = util.getNativePromise(); + if (util.isNode && typeof MutationObserver === "undefined") { + GlobalSetImmediate = global.setImmediate; + ProcessNextTick = process.nextTick; + schedule = util.isRecentNode ? function(fn) { + GlobalSetImmediate.call(global, fn); + } : function(fn) { + ProcessNextTick.call(process, fn); + }; + } else if (typeof NativePromise === "function" && typeof NativePromise.resolve === "function") { + nativePromise = NativePromise.resolve(); + schedule = function(fn) { + nativePromise.then(fn); + }; + } else if (typeof MutationObserver !== "undefined" && !(typeof window !== "undefined" && window.navigator && (window.navigator.standalone || window.cordova))) { + schedule = (function() { + var div = document.createElement("div"); + var opts = { attributes: true }; + var toggleScheduled = false; + var div2 = document.createElement("div"); + var o2 = new MutationObserver(function() { + div.classList.toggle("foo"); + toggleScheduled = false; + }); + o2.observe(div2, opts); + var scheduleToggle = function() { + if (toggleScheduled) return; + toggleScheduled = true; + div2.classList.toggle("foo"); + }; + return function schedule2(fn) { + var o = new MutationObserver(function() { + o.disconnect(); + fn(); + }); + o.observe(div, opts); + scheduleToggle(); + }; + })(); + } else if (typeof setImmediate !== "undefined") { + schedule = function(fn) { + setImmediate(fn); + }; + } else if (typeof setTimeout !== "undefined") { + schedule = function(fn) { + setTimeout(fn, 0); + }; + } else { + schedule = noAsyncScheduler; + } + var GlobalSetImmediate; + var ProcessNextTick; + var nativePromise; + module2.exports = schedule; + } +}); + +// node_modules/bluebird/js/release/queue.js +var require_queue = __commonJS({ + "node_modules/bluebird/js/release/queue.js"(exports2, module2) { + "use strict"; + function arrayMove(src, srcIndex, dst, dstIndex, len) { + for (var j = 0; j < len; ++j) { + dst[j + dstIndex] = src[j + srcIndex]; + src[j + srcIndex] = void 0; + } + } + function Queue(capacity) { + this._capacity = capacity; + this._length = 0; + this._front = 0; + } + Queue.prototype._willBeOverCapacity = function(size2) { + return this._capacity < size2; + }; + Queue.prototype._pushOne = function(arg) { + var length = this.length(); + this._checkCapacity(length + 1); + var i = this._front + length & this._capacity - 1; + this[i] = arg; + this._length = length + 1; + }; + Queue.prototype.push = function(fn, receiver, arg) { + var length = this.length() + 3; + if (this._willBeOverCapacity(length)) { + this._pushOne(fn); + this._pushOne(receiver); + this._pushOne(arg); + return; + } + var j = this._front + length - 3; + this._checkCapacity(length); + var wrapMask = this._capacity - 1; + this[j + 0 & wrapMask] = fn; + this[j + 1 & wrapMask] = receiver; + this[j + 2 & wrapMask] = arg; + this._length = length; + }; + Queue.prototype.shift = function() { + var front = this._front, ret2 = this[front]; + this[front] = void 0; + this._front = front + 1 & this._capacity - 1; + this._length--; + return ret2; + }; + Queue.prototype.length = function() { + return this._length; + }; + Queue.prototype._checkCapacity = function(size2) { + if (this._capacity < size2) { + this._resizeTo(this._capacity << 1); + } + }; + Queue.prototype._resizeTo = function(capacity) { + var oldCapacity = this._capacity; + this._capacity = capacity; + var front = this._front; + var length = this._length; + var moveItemsCount = front + length & oldCapacity - 1; + arrayMove(this, 0, this, oldCapacity, moveItemsCount); + }; + module2.exports = Queue; + } +}); + +// node_modules/bluebird/js/release/async.js +var require_async = __commonJS({ + "node_modules/bluebird/js/release/async.js"(exports2, module2) { + "use strict"; + var firstLineError; + try { + throw new Error(); + } catch (e) { + firstLineError = e; + } + var schedule = require_schedule(); + var Queue = require_queue(); + var util = require_util(); + function Async() { + this._customScheduler = false; + this._isTickUsed = false; + this._lateQueue = new Queue(16); + this._normalQueue = new Queue(16); + this._haveDrainedQueues = false; + this._trampolineEnabled = true; + var self2 = this; + this.drainQueues = function() { + self2._drainQueues(); + }; + this._schedule = schedule; + } + Async.prototype.setScheduler = function(fn) { + var prev = this._schedule; + this._schedule = fn; + this._customScheduler = true; + return prev; + }; + Async.prototype.hasCustomScheduler = function() { + return this._customScheduler; + }; + Async.prototype.enableTrampoline = function() { + this._trampolineEnabled = true; + }; + Async.prototype.disableTrampolineIfNecessary = function() { + if (util.hasDevTools) { + this._trampolineEnabled = false; + } + }; + Async.prototype.haveItemsQueued = function() { + return this._isTickUsed || this._haveDrainedQueues; + }; + Async.prototype.fatalError = function(e, isNode2) { + if (isNode2) { + process.stderr.write("Fatal " + (e instanceof Error ? e.stack : e) + "\n"); + process.exit(2); + } else { + this.throwLater(e); + } + }; + Async.prototype.throwLater = function(fn, arg) { + if (arguments.length === 1) { + arg = fn; + fn = function() { + throw arg; + }; + } + if (typeof setTimeout !== "undefined") { + setTimeout(function() { + fn(arg); + }, 0); + } else try { + this._schedule(function() { + fn(arg); + }); + } catch (e) { + throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n"); + } + }; + function AsyncInvokeLater(fn, receiver, arg) { + this._lateQueue.push(fn, receiver, arg); + this._queueTick(); + } + function AsyncInvoke(fn, receiver, arg) { + this._normalQueue.push(fn, receiver, arg); + this._queueTick(); + } + function AsyncSettlePromises(promise) { + this._normalQueue._pushOne(promise); + this._queueTick(); + } + if (!util.hasDevTools) { + Async.prototype.invokeLater = AsyncInvokeLater; + Async.prototype.invoke = AsyncInvoke; + Async.prototype.settlePromises = AsyncSettlePromises; + } else { + Async.prototype.invokeLater = function(fn, receiver, arg) { + if (this._trampolineEnabled) { + AsyncInvokeLater.call(this, fn, receiver, arg); + } else { + this._schedule(function() { + setTimeout(function() { + fn.call(receiver, arg); + }, 100); + }); + } + }; + Async.prototype.invoke = function(fn, receiver, arg) { + if (this._trampolineEnabled) { + AsyncInvoke.call(this, fn, receiver, arg); + } else { + this._schedule(function() { + fn.call(receiver, arg); + }); + } + }; + Async.prototype.settlePromises = function(promise) { + if (this._trampolineEnabled) { + AsyncSettlePromises.call(this, promise); + } else { + this._schedule(function() { + promise._settlePromises(); + }); + } + }; + } + Async.prototype._drainQueue = function(queue) { + while (queue.length() > 0) { + var fn = queue.shift(); + if (typeof fn !== "function") { + fn._settlePromises(); + continue; + } + var receiver = queue.shift(); + var arg = queue.shift(); + fn.call(receiver, arg); + } + }; + Async.prototype._drainQueues = function() { + this._drainQueue(this._normalQueue); + this._reset(); + this._haveDrainedQueues = true; + this._drainQueue(this._lateQueue); + }; + Async.prototype._queueTick = function() { + if (!this._isTickUsed) { + this._isTickUsed = true; + this._schedule(this.drainQueues); + } + }; + Async.prototype._reset = function() { + this._isTickUsed = false; + }; + module2.exports = Async; + module2.exports.firstLineError = firstLineError; + } +}); + +// node_modules/bluebird/js/release/errors.js +var require_errors = __commonJS({ + "node_modules/bluebird/js/release/errors.js"(exports2, module2) { + "use strict"; + var es52 = require_es5(); + var Objectfreeze = es52.freeze; + var util = require_util(); + var inherits2 = util.inherits; + var notEnumerableProp2 = util.notEnumerableProp; + function subError(nameProperty, defaultMessage) { + function SubError(message) { + if (!(this instanceof SubError)) return new SubError(message); + notEnumerableProp2( + this, + "message", + typeof message === "string" ? message : defaultMessage + ); + notEnumerableProp2(this, "name", nameProperty); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + Error.call(this); + } + } + inherits2(SubError, Error); + return SubError; + } + var _TypeError; + var _RangeError; + var Warning = subError("Warning", "warning"); + var CancellationError = subError("CancellationError", "cancellation error"); + var TimeoutError = subError("TimeoutError", "timeout error"); + var AggregateError = subError("AggregateError", "aggregate error"); + try { + _TypeError = TypeError; + _RangeError = RangeError; + } catch (e) { + _TypeError = subError("TypeError", "type error"); + _RangeError = subError("RangeError", "range error"); + } + var methods = "join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "); + for (i = 0; i < methods.length; ++i) { + if (typeof Array.prototype[methods[i]] === "function") { + AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]; + } + } + var i; + es52.defineProperty(AggregateError.prototype, "length", { + value: 0, + configurable: false, + writable: true, + enumerable: true + }); + AggregateError.prototype["isOperational"] = true; + var level = 0; + AggregateError.prototype.toString = function() { + var indent = Array(level * 4 + 1).join(" "); + var ret2 = "\n" + indent + "AggregateError of:\n"; + level++; + indent = Array(level * 4 + 1).join(" "); + for (var i2 = 0; i2 < this.length; ++i2) { + var str = this[i2] === this ? "[Circular AggregateError]" : this[i2] + ""; + var lines = str.split("\n"); + for (var j = 0; j < lines.length; ++j) { + lines[j] = indent + lines[j]; + } + str = lines.join("\n"); + ret2 += str + "\n"; + } + level--; + return ret2; + }; + function OperationalError(message) { + if (!(this instanceof OperationalError)) + return new OperationalError(message); + notEnumerableProp2(this, "name", "OperationalError"); + notEnumerableProp2(this, "message", message); + this.cause = message; + this["isOperational"] = true; + if (message instanceof Error) { + notEnumerableProp2(this, "message", message.message); + notEnumerableProp2(this, "stack", message.stack); + } else if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + } + inherits2(OperationalError, Error); + var errorTypes = Error["__BluebirdErrorTypes__"]; + if (!errorTypes) { + errorTypes = Objectfreeze({ + CancellationError, + TimeoutError, + OperationalError, + RejectionError: OperationalError, + AggregateError + }); + es52.defineProperty(Error, "__BluebirdErrorTypes__", { + value: errorTypes, + writable: false, + enumerable: false, + configurable: false + }); + } + module2.exports = { + Error, + TypeError: _TypeError, + RangeError: _RangeError, + CancellationError: errorTypes.CancellationError, + OperationalError: errorTypes.OperationalError, + TimeoutError: errorTypes.TimeoutError, + AggregateError: errorTypes.AggregateError, + Warning + }; + } +}); + +// node_modules/bluebird/js/release/thenables.js +var require_thenables = __commonJS({ + "node_modules/bluebird/js/release/thenables.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL) { + var util = require_util(); + var errorObj2 = util.errorObj; + var isObject4 = util.isObject; + function tryConvertToPromise(obj2, context) { + if (isObject4(obj2)) { + if (obj2 instanceof Promise2) return obj2; + var then = getThen(obj2); + if (then === errorObj2) { + if (context) context._pushContext(); + var ret2 = Promise2.reject(then.e); + if (context) context._popContext(); + return ret2; + } else if (typeof then === "function") { + if (isAnyBluebirdPromise(obj2)) { + var ret2 = new Promise2(INTERNAL); + obj2._then( + ret2._fulfill, + ret2._reject, + void 0, + ret2, + null + ); + return ret2; + } + return doThenable(obj2, then, context); + } + } + return obj2; + } + function doGetThen(obj2) { + return obj2.then; + } + function getThen(obj2) { + try { + return doGetThen(obj2); + } catch (e) { + errorObj2.e = e; + return errorObj2; + } + } + var hasProp = {}.hasOwnProperty; + function isAnyBluebirdPromise(obj2) { + try { + return hasProp.call(obj2, "_promise0"); + } catch (e) { + return false; + } + } + function doThenable(x, then, context) { + var promise = new Promise2(INTERNAL); + var ret2 = promise; + if (context) context._pushContext(); + promise._captureStackTrace(); + if (context) context._popContext(); + var synchronous = true; + var result2 = util.tryCatch(then).call(x, resolve, reject2); + synchronous = false; + if (promise && result2 === errorObj2) { + promise._rejectCallback(result2.e, true, true); + promise = null; + } + function resolve(value) { + if (!promise) return; + promise._resolveCallback(value); + promise = null; + } + function reject2(reason) { + if (!promise) return; + promise._rejectCallback(reason, synchronous, true); + promise = null; + } + return ret2; + } + return tryConvertToPromise; + }; + } +}); + +// node_modules/bluebird/js/release/promise_array.js +var require_promise_array = __commonJS({ + "node_modules/bluebird/js/release/promise_array.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL, tryConvertToPromise, apiRejection, Proxyable) { + var util = require_util(); + var isArray = util.isArray; + function toResolutionValue(val) { + switch (val) { + case -2: + return []; + case -3: + return {}; + } + } + function PromiseArray(values3) { + var promise = this._promise = new Promise2(INTERNAL); + if (values3 instanceof Promise2) { + promise._propagateFrom(values3, 3); + } + promise._setOnCancel(this); + this._values = values3; + this._length = 0; + this._totalResolved = 0; + this._init(void 0, -2); + } + util.inherits(PromiseArray, Proxyable); + PromiseArray.prototype.length = function() { + return this._length; + }; + PromiseArray.prototype.promise = function() { + return this._promise; + }; + PromiseArray.prototype._init = function init(_3, resolveValueIfEmpty) { + var values3 = tryConvertToPromise(this._values, this._promise); + if (values3 instanceof Promise2) { + values3 = values3._target(); + var bitField = values3._bitField; + ; + this._values = values3; + if ((bitField & 50397184) === 0) { + this._promise._setAsyncGuaranteed(); + return values3._then( + init, + this._reject, + void 0, + this, + resolveValueIfEmpty + ); + } else if ((bitField & 33554432) !== 0) { + values3 = values3._value(); + } else if ((bitField & 16777216) !== 0) { + return this._reject(values3._reason()); + } else { + return this._cancel(); + } + } + values3 = util.asArray(values3); + if (values3 === null) { + var err = apiRejection( + "expecting an array or an iterable object but got " + util.classString(values3) + ).reason(); + this._promise._rejectCallback(err, false); + return; + } + if (values3.length === 0) { + if (resolveValueIfEmpty === -5) { + this._resolveEmptyArray(); + } else { + this._resolve(toResolutionValue(resolveValueIfEmpty)); + } + return; + } + this._iterate(values3); + }; + PromiseArray.prototype._iterate = function(values3) { + var len = this.getActualLength(values3.length); + this._length = len; + this._values = this.shouldCopyValues() ? new Array(len) : this._values; + var result2 = this._promise; + var isResolved = false; + var bitField = null; + for (var i = 0; i < len; ++i) { + var maybePromise = tryConvertToPromise(values3[i], result2); + if (maybePromise instanceof Promise2) { + maybePromise = maybePromise._target(); + bitField = maybePromise._bitField; + } else { + bitField = null; + } + if (isResolved) { + if (bitField !== null) { + maybePromise.suppressUnhandledRejections(); + } + } else if (bitField !== null) { + if ((bitField & 50397184) === 0) { + maybePromise._proxy(this, i); + this._values[i] = maybePromise; + } else if ((bitField & 33554432) !== 0) { + isResolved = this._promiseFulfilled(maybePromise._value(), i); + } else if ((bitField & 16777216) !== 0) { + isResolved = this._promiseRejected(maybePromise._reason(), i); + } else { + isResolved = this._promiseCancelled(i); + } + } else { + isResolved = this._promiseFulfilled(maybePromise, i); + } + } + if (!isResolved) result2._setAsyncGuaranteed(); + }; + PromiseArray.prototype._isResolved = function() { + return this._values === null; + }; + PromiseArray.prototype._resolve = function(value) { + this._values = null; + this._promise._fulfill(value); + }; + PromiseArray.prototype._cancel = function() { + if (this._isResolved() || !this._promise._isCancellable()) return; + this._values = null; + this._promise._cancel(); + }; + PromiseArray.prototype._reject = function(reason) { + this._values = null; + this._promise._rejectCallback(reason, false); + }; + PromiseArray.prototype._promiseFulfilled = function(value, index) { + this._values[index] = value; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + this._resolve(this._values); + return true; + } + return false; + }; + PromiseArray.prototype._promiseCancelled = function() { + this._cancel(); + return true; + }; + PromiseArray.prototype._promiseRejected = function(reason) { + this._totalResolved++; + this._reject(reason); + return true; + }; + PromiseArray.prototype._resultCancelled = function() { + if (this._isResolved()) return; + var values3 = this._values; + this._cancel(); + if (values3 instanceof Promise2) { + values3.cancel(); + } else { + for (var i = 0; i < values3.length; ++i) { + if (values3[i] instanceof Promise2) { + values3[i].cancel(); + } + } + } + }; + PromiseArray.prototype.shouldCopyValues = function() { + return true; + }; + PromiseArray.prototype.getActualLength = function(len) { + return len; + }; + return PromiseArray; + }; + } +}); + +// node_modules/bluebird/js/release/context.js +var require_context = __commonJS({ + "node_modules/bluebird/js/release/context.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2) { + var longStackTraces = false; + var contextStack = []; + Promise2.prototype._promiseCreated = function() { + }; + Promise2.prototype._pushContext = function() { + }; + Promise2.prototype._popContext = function() { + return null; + }; + Promise2._peekContext = Promise2.prototype._peekContext = function() { + }; + function Context() { + this._trace = new Context.CapturedTrace(peekContext()); + } + Context.prototype._pushContext = function() { + if (this._trace !== void 0) { + this._trace._promiseCreated = null; + contextStack.push(this._trace); + } + }; + Context.prototype._popContext = function() { + if (this._trace !== void 0) { + var trace = contextStack.pop(); + var ret2 = trace._promiseCreated; + trace._promiseCreated = null; + return ret2; + } + return null; + }; + function createContext() { + if (longStackTraces) return new Context(); + } + function peekContext() { + var lastIndex = contextStack.length - 1; + if (lastIndex >= 0) { + return contextStack[lastIndex]; + } + return void 0; + } + Context.CapturedTrace = null; + Context.create = createContext; + Context.deactivateLongStackTraces = function() { + }; + Context.activateLongStackTraces = function() { + var Promise_pushContext = Promise2.prototype._pushContext; + var Promise_popContext = Promise2.prototype._popContext; + var Promise_PeekContext = Promise2._peekContext; + var Promise_peekContext = Promise2.prototype._peekContext; + var Promise_promiseCreated = Promise2.prototype._promiseCreated; + Context.deactivateLongStackTraces = function() { + Promise2.prototype._pushContext = Promise_pushContext; + Promise2.prototype._popContext = Promise_popContext; + Promise2._peekContext = Promise_PeekContext; + Promise2.prototype._peekContext = Promise_peekContext; + Promise2.prototype._promiseCreated = Promise_promiseCreated; + longStackTraces = false; + }; + longStackTraces = true; + Promise2.prototype._pushContext = Context.prototype._pushContext; + Promise2.prototype._popContext = Context.prototype._popContext; + Promise2._peekContext = Promise2.prototype._peekContext = peekContext; + Promise2.prototype._promiseCreated = function() { + var ctx = this._peekContext(); + if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this; + }; + }; + return Context; + }; + } +}); + +// node_modules/bluebird/js/release/debuggability.js +var require_debuggability = __commonJS({ + "node_modules/bluebird/js/release/debuggability.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, Context) { + var getDomain = Promise2._getDomain; + var async = Promise2._async; + var Warning = require_errors().Warning; + var util = require_util(); + var canAttachTrace2 = util.canAttachTrace; + var unhandledRejectionHandled; + var possiblyUnhandledRejection; + var bluebirdFramePattern = /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; + var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; + var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; + var stackFramePattern = null; + var formatStack = null; + var indentStackFrames = false; + var printWarning; + var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && (util.env("BLUEBIRD_DEBUG") || util.env("NODE_ENV") === "development")); + var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && (debugging || util.env("BLUEBIRD_WARNINGS"))); + var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); + var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); + Promise2.prototype.suppressUnhandledRejections = function() { + var target = this._target(); + target._bitField = target._bitField & ~1048576 | 524288; + }; + Promise2.prototype._ensurePossibleRejectionHandled = function() { + if ((this._bitField & 524288) !== 0) return; + this._setRejectionIsUnhandled(); + async.invokeLater(this._notifyUnhandledRejection, this, void 0); + }; + Promise2.prototype._notifyUnhandledRejectionIsHandled = function() { + fireRejectionEvent( + "rejectionHandled", + unhandledRejectionHandled, + void 0, + this + ); + }; + Promise2.prototype._setReturnedNonUndefined = function() { + this._bitField = this._bitField | 268435456; + }; + Promise2.prototype._returnedNonUndefined = function() { + return (this._bitField & 268435456) !== 0; + }; + Promise2.prototype._notifyUnhandledRejection = function() { + if (this._isRejectionUnhandled()) { + var reason = this._settledValue(); + this._setUnhandledRejectionIsNotified(); + fireRejectionEvent( + "unhandledRejection", + possiblyUnhandledRejection, + reason, + this + ); + } + }; + Promise2.prototype._setUnhandledRejectionIsNotified = function() { + this._bitField = this._bitField | 262144; + }; + Promise2.prototype._unsetUnhandledRejectionIsNotified = function() { + this._bitField = this._bitField & ~262144; + }; + Promise2.prototype._isUnhandledRejectionNotified = function() { + return (this._bitField & 262144) > 0; + }; + Promise2.prototype._setRejectionIsUnhandled = function() { + this._bitField = this._bitField | 1048576; + }; + Promise2.prototype._unsetRejectionIsUnhandled = function() { + this._bitField = this._bitField & ~1048576; + if (this._isUnhandledRejectionNotified()) { + this._unsetUnhandledRejectionIsNotified(); + this._notifyUnhandledRejectionIsHandled(); + } + }; + Promise2.prototype._isRejectionUnhandled = function() { + return (this._bitField & 1048576) > 0; + }; + Promise2.prototype._warn = function(message, shouldUseOwnTrace, promise) { + return warn(message, shouldUseOwnTrace, promise || this); + }; + Promise2.onPossiblyUnhandledRejection = function(fn) { + var domain = getDomain(); + possiblyUnhandledRejection = typeof fn === "function" ? domain === null ? fn : util.domainBind(domain, fn) : void 0; + }; + Promise2.onUnhandledRejectionHandled = function(fn) { + var domain = getDomain(); + unhandledRejectionHandled = typeof fn === "function" ? domain === null ? fn : util.domainBind(domain, fn) : void 0; + }; + var disableLongStackTraces = function() { + }; + Promise2.longStackTraces = function() { + if (async.haveItemsQueued() && !config.longStackTraces) { + throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n"); + } + if (!config.longStackTraces && longStackTracesIsSupported()) { + var Promise_captureStackTrace = Promise2.prototype._captureStackTrace; + var Promise_attachExtraTrace = Promise2.prototype._attachExtraTrace; + config.longStackTraces = true; + disableLongStackTraces = function() { + if (async.haveItemsQueued() && !config.longStackTraces) { + throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n"); + } + Promise2.prototype._captureStackTrace = Promise_captureStackTrace; + Promise2.prototype._attachExtraTrace = Promise_attachExtraTrace; + Context.deactivateLongStackTraces(); + async.enableTrampoline(); + config.longStackTraces = false; + }; + Promise2.prototype._captureStackTrace = longStackTracesCaptureStackTrace; + Promise2.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; + Context.activateLongStackTraces(); + async.disableTrampolineIfNecessary(); + } + }; + Promise2.hasLongStackTraces = function() { + return config.longStackTraces && longStackTracesIsSupported(); + }; + var fireDomEvent = (function() { + try { + if (typeof CustomEvent === "function") { + var event = new CustomEvent("CustomEvent"); + util.global.dispatchEvent(event); + return function(name, event2) { + var domEvent = new CustomEvent(name.toLowerCase(), { + detail: event2, + cancelable: true + }); + return !util.global.dispatchEvent(domEvent); + }; + } else if (typeof Event === "function") { + var event = new Event("CustomEvent"); + util.global.dispatchEvent(event); + return function(name, event2) { + var domEvent = new Event(name.toLowerCase(), { + cancelable: true + }); + domEvent.detail = event2; + return !util.global.dispatchEvent(domEvent); + }; + } else { + var event = document.createEvent("CustomEvent"); + event.initCustomEvent("testingtheevent", false, true, {}); + util.global.dispatchEvent(event); + return function(name, event2) { + var domEvent = document.createEvent("CustomEvent"); + domEvent.initCustomEvent( + name.toLowerCase(), + false, + true, + event2 + ); + return !util.global.dispatchEvent(domEvent); + }; + } + } catch (e) { + } + return function() { + return false; + }; + })(); + var fireGlobalEvent = (function() { + if (util.isNode) { + return function() { + return process.emit.apply(process, arguments); + }; + } else { + if (!util.global) { + return function() { + return false; + }; + } + return function(name) { + var methodName = "on" + name.toLowerCase(); + var method = util.global[methodName]; + if (!method) return false; + method.apply(util.global, [].slice.call(arguments, 1)); + return true; + }; + } + })(); + function generatePromiseLifecycleEventObject(name, promise) { + return { promise }; + } + var eventToObjectGenerator = { + promiseCreated: generatePromiseLifecycleEventObject, + promiseFulfilled: generatePromiseLifecycleEventObject, + promiseRejected: generatePromiseLifecycleEventObject, + promiseResolved: generatePromiseLifecycleEventObject, + promiseCancelled: generatePromiseLifecycleEventObject, + promiseChained: function(name, promise, child) { + return { promise, child }; + }, + warning: function(name, warning) { + return { warning }; + }, + unhandledRejection: function(name, reason, promise) { + return { reason, promise }; + }, + rejectionHandled: generatePromiseLifecycleEventObject + }; + var activeFireEvent = function(name) { + var globalEventFired = false; + try { + globalEventFired = fireGlobalEvent.apply(null, arguments); + } catch (e) { + async.throwLater(e); + globalEventFired = true; + } + var domEventFired = false; + try { + domEventFired = fireDomEvent( + name, + eventToObjectGenerator[name].apply(null, arguments) + ); + } catch (e) { + async.throwLater(e); + domEventFired = true; + } + return domEventFired || globalEventFired; + }; + Promise2.config = function(opts) { + opts = Object(opts); + if ("longStackTraces" in opts) { + if (opts.longStackTraces) { + Promise2.longStackTraces(); + } else if (!opts.longStackTraces && Promise2.hasLongStackTraces()) { + disableLongStackTraces(); + } + } + if ("warnings" in opts) { + var warningsOption = opts.warnings; + config.warnings = !!warningsOption; + wForgottenReturn = config.warnings; + if (util.isObject(warningsOption)) { + if ("wForgottenReturn" in warningsOption) { + wForgottenReturn = !!warningsOption.wForgottenReturn; + } + } + } + if ("cancellation" in opts && opts.cancellation && !config.cancellation) { + if (async.haveItemsQueued()) { + throw new Error( + "cannot enable cancellation after promises are in use" + ); + } + Promise2.prototype._clearCancellationData = cancellationClearCancellationData; + Promise2.prototype._propagateFrom = cancellationPropagateFrom; + Promise2.prototype._onCancel = cancellationOnCancel; + Promise2.prototype._setOnCancel = cancellationSetOnCancel; + Promise2.prototype._attachCancellationCallback = cancellationAttachCancellationCallback; + Promise2.prototype._execute = cancellationExecute; + propagateFromFunction = cancellationPropagateFrom; + config.cancellation = true; + } + if ("monitoring" in opts) { + if (opts.monitoring && !config.monitoring) { + config.monitoring = true; + Promise2.prototype._fireEvent = activeFireEvent; + } else if (!opts.monitoring && config.monitoring) { + config.monitoring = false; + Promise2.prototype._fireEvent = defaultFireEvent; + } + } + return Promise2; + }; + function defaultFireEvent() { + return false; + } + Promise2.prototype._fireEvent = defaultFireEvent; + Promise2.prototype._execute = function(executor, resolve, reject2) { + try { + executor(resolve, reject2); + } catch (e) { + return e; + } + }; + Promise2.prototype._onCancel = function() { + }; + Promise2.prototype._setOnCancel = function(handler) { + ; + }; + Promise2.prototype._attachCancellationCallback = function(onCancel) { + ; + }; + Promise2.prototype._captureStackTrace = function() { + }; + Promise2.prototype._attachExtraTrace = function() { + }; + Promise2.prototype._clearCancellationData = function() { + }; + Promise2.prototype._propagateFrom = function(parent, flags) { + ; + ; + }; + function cancellationExecute(executor, resolve, reject2) { + var promise = this; + try { + executor(resolve, reject2, function(onCancel) { + if (typeof onCancel !== "function") { + throw new TypeError("onCancel must be a function, got: " + util.toString(onCancel)); + } + promise._attachCancellationCallback(onCancel); + }); + } catch (e) { + return e; + } + } + function cancellationAttachCancellationCallback(onCancel) { + if (!this._isCancellable()) return this; + var previousOnCancel = this._onCancel(); + if (previousOnCancel !== void 0) { + if (util.isArray(previousOnCancel)) { + previousOnCancel.push(onCancel); + } else { + this._setOnCancel([previousOnCancel, onCancel]); + } + } else { + this._setOnCancel(onCancel); + } + } + function cancellationOnCancel() { + return this._onCancelField; + } + function cancellationSetOnCancel(onCancel) { + this._onCancelField = onCancel; + } + function cancellationClearCancellationData() { + this._cancellationParent = void 0; + this._onCancelField = void 0; + } + function cancellationPropagateFrom(parent, flags) { + if ((flags & 1) !== 0) { + this._cancellationParent = parent; + var branchesRemainingToCancel = parent._branchesRemainingToCancel; + if (branchesRemainingToCancel === void 0) { + branchesRemainingToCancel = 0; + } + parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; + } + if ((flags & 2) !== 0 && parent._isBound()) { + this._setBoundTo(parent._boundTo); + } + } + function bindingPropagateFrom(parent, flags) { + if ((flags & 2) !== 0 && parent._isBound()) { + this._setBoundTo(parent._boundTo); + } + } + var propagateFromFunction = bindingPropagateFrom; + function boundValueFunction() { + var ret2 = this._boundTo; + if (ret2 !== void 0) { + if (ret2 instanceof Promise2) { + if (ret2.isFulfilled()) { + return ret2.value(); + } else { + return void 0; + } + } + } + return ret2; + } + function longStackTracesCaptureStackTrace() { + this._trace = new CapturedTrace(this._peekContext()); + } + function longStackTracesAttachExtraTrace(error, ignoreSelf) { + if (canAttachTrace2(error)) { + var trace = this._trace; + if (trace !== void 0) { + if (ignoreSelf) trace = trace._parent; + } + if (trace !== void 0) { + trace.attachExtraTrace(error); + } else if (!error.__stackCleaned__) { + var parsed = parseStackAndMessage(error); + util.notEnumerableProp( + error, + "stack", + parsed.message + "\n" + parsed.stack.join("\n") + ); + util.notEnumerableProp(error, "__stackCleaned__", true); + } + } + } + function checkForgottenReturns(returnValue, promiseCreated, name, promise, parent) { + if (returnValue === void 0 && promiseCreated !== null && wForgottenReturn) { + if (parent !== void 0 && parent._returnedNonUndefined()) return; + if ((promise._bitField & 65535) === 0) return; + if (name) name = name + " "; + var handlerLine = ""; + var creatorLine = ""; + if (promiseCreated._trace) { + var traceLines = promiseCreated._trace.stack.split("\n"); + var stack = cleanStack(traceLines); + for (var i = stack.length - 1; i >= 0; --i) { + var line = stack[i]; + if (!nodeFramePattern.test(line)) { + var lineMatches = line.match(parseLinePattern); + if (lineMatches) { + handlerLine = "at " + lineMatches[1] + ":" + lineMatches[2] + ":" + lineMatches[3] + " "; + } + break; + } + } + if (stack.length > 0) { + var firstUserLine = stack[0]; + for (var i = 0; i < traceLines.length; ++i) { + if (traceLines[i] === firstUserLine) { + if (i > 0) { + creatorLine = "\n" + traceLines[i - 1]; + } + break; + } + } + } + } + var msg = "a promise was created in a " + name + "handler " + handlerLine + "but was not returned from it, see http://goo.gl/rRqMUw" + creatorLine; + promise._warn(msg, true, promiseCreated); + } + } + function deprecated(name, replacement) { + var message = name + " is deprecated and will be removed in a future version."; + if (replacement) message += " Use " + replacement + " instead."; + return warn(message); + } + function warn(message, shouldUseOwnTrace, promise) { + if (!config.warnings) return; + var warning = new Warning(message); + var ctx; + if (shouldUseOwnTrace) { + promise._attachExtraTrace(warning); + } else if (config.longStackTraces && (ctx = Promise2._peekContext())) { + ctx.attachExtraTrace(warning); + } else { + var parsed = parseStackAndMessage(warning); + warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); + } + if (!activeFireEvent("warning", warning)) { + formatAndLogError(warning, "", true); + } + } + function reconstructStack(message, stacks) { + for (var i = 0; i < stacks.length - 1; ++i) { + stacks[i].push("From previous event:"); + stacks[i] = stacks[i].join("\n"); + } + if (i < stacks.length) { + stacks[i] = stacks[i].join("\n"); + } + return message + "\n" + stacks.join("\n"); + } + function removeDuplicateOrEmptyJumps(stacks) { + for (var i = 0; i < stacks.length; ++i) { + if (stacks[i].length === 0 || i + 1 < stacks.length && stacks[i][0] === stacks[i + 1][0]) { + stacks.splice(i, 1); + i--; + } + } + } + function removeCommonRoots(stacks) { + var current = stacks[0]; + for (var i = 1; i < stacks.length; ++i) { + var prev = stacks[i]; + var currentLastIndex = current.length - 1; + var currentLastLine = current[currentLastIndex]; + var commonRootMeetPoint = -1; + for (var j = prev.length - 1; j >= 0; --j) { + if (prev[j] === currentLastLine) { + commonRootMeetPoint = j; + break; + } + } + for (var j = commonRootMeetPoint; j >= 0; --j) { + var line = prev[j]; + if (current[currentLastIndex] === line) { + current.pop(); + currentLastIndex--; + } else { + break; + } + } + current = prev; + } + } + function cleanStack(stack) { + var ret2 = []; + for (var i = 0; i < stack.length; ++i) { + var line = stack[i]; + var isTraceLine = " (No stack trace)" === line || stackFramePattern.test(line); + var isInternalFrame = isTraceLine && shouldIgnore(line); + if (isTraceLine && !isInternalFrame) { + if (indentStackFrames && line.charAt(0) !== " ") { + line = " " + line; + } + ret2.push(line); + } + } + return ret2; + } + function stackFramesAsArray(error) { + var stack = error.stack.replace(/\s+$/g, "").split("\n"); + for (var i = 0; i < stack.length; ++i) { + var line = stack[i]; + if (" (No stack trace)" === line || stackFramePattern.test(line)) { + break; + } + } + if (i > 0 && error.name != "SyntaxError") { + stack = stack.slice(i); + } + return stack; + } + function parseStackAndMessage(error) { + var stack = error.stack; + var message = error.toString(); + stack = typeof stack === "string" && stack.length > 0 ? stackFramesAsArray(error) : [" (No stack trace)"]; + return { + message, + stack: error.name == "SyntaxError" ? stack : cleanStack(stack) + }; + } + function formatAndLogError(error, title, isSoft) { + if (typeof console !== "undefined") { + var message; + if (util.isObject(error)) { + var stack = error.stack; + message = title + formatStack(stack, error); + } else { + message = title + String(error); + } + if (typeof printWarning === "function") { + printWarning(message, isSoft); + } else if (typeof console.log === "function" || typeof console.log === "object") { + console.log(message); + } + } + } + function fireRejectionEvent(name, localHandler, reason, promise) { + var localEventFired = false; + try { + if (typeof localHandler === "function") { + localEventFired = true; + if (name === "rejectionHandled") { + localHandler(promise); + } else { + localHandler(reason, promise); + } + } + } catch (e) { + async.throwLater(e); + } + if (name === "unhandledRejection") { + if (!activeFireEvent(name, reason, promise) && !localEventFired) { + formatAndLogError(reason, "Unhandled rejection "); + } + } else { + activeFireEvent(name, promise); + } + } + function formatNonError(obj2) { + var str; + if (typeof obj2 === "function") { + str = "[function " + (obj2.name || "anonymous") + "]"; + } else { + str = obj2 && typeof obj2.toString === "function" ? obj2.toString() : util.toString(obj2); + var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; + if (ruselessToString.test(str)) { + try { + var newStr = JSON.stringify(obj2); + str = newStr; + } catch (e) { + } + } + if (str.length === 0) { + str = "(empty array)"; + } + } + return "(<" + snip(str) + ">, no stack trace)"; + } + function snip(str) { + var maxChars = 41; + if (str.length < maxChars) { + return str; + } + return str.substr(0, maxChars - 3) + "..."; + } + function longStackTracesIsSupported() { + return typeof captureStackTrace === "function"; + } + var shouldIgnore = function() { + return false; + }; + var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; + function parseLineInfo(line) { + var matches = line.match(parseLineInfoRegex); + if (matches) { + return { + fileName: matches[1], + line: parseInt(matches[2], 10) + }; + } + } + function setBounds(firstLineError, lastLineError) { + if (!longStackTracesIsSupported()) return; + var firstStackLines = firstLineError.stack.split("\n"); + var lastStackLines = lastLineError.stack.split("\n"); + var firstIndex = -1; + var lastIndex = -1; + var firstFileName; + var lastFileName; + for (var i = 0; i < firstStackLines.length; ++i) { + var result2 = parseLineInfo(firstStackLines[i]); + if (result2) { + firstFileName = result2.fileName; + firstIndex = result2.line; + break; + } + } + for (var i = 0; i < lastStackLines.length; ++i) { + var result2 = parseLineInfo(lastStackLines[i]); + if (result2) { + lastFileName = result2.fileName; + lastIndex = result2.line; + break; + } + } + if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || firstFileName !== lastFileName || firstIndex >= lastIndex) { + return; + } + shouldIgnore = function(line) { + if (bluebirdFramePattern.test(line)) return true; + var info = parseLineInfo(line); + if (info) { + if (info.fileName === firstFileName && (firstIndex <= info.line && info.line <= lastIndex)) { + return true; + } + } + return false; + }; + } + function CapturedTrace(parent) { + this._parent = parent; + this._promisesCreated = 0; + var length = this._length = 1 + (parent === void 0 ? 0 : parent._length); + captureStackTrace(this, CapturedTrace); + if (length > 32) this.uncycle(); + } + util.inherits(CapturedTrace, Error); + Context.CapturedTrace = CapturedTrace; + CapturedTrace.prototype.uncycle = function() { + var length = this._length; + if (length < 2) return; + var nodes = []; + var stackToIndex = {}; + for (var i = 0, node = this; node !== void 0; ++i) { + nodes.push(node); + node = node._parent; + } + length = this._length = i; + for (var i = length - 1; i >= 0; --i) { + var stack = nodes[i].stack; + if (stackToIndex[stack] === void 0) { + stackToIndex[stack] = i; + } + } + for (var i = 0; i < length; ++i) { + var currentStack = nodes[i].stack; + var index = stackToIndex[currentStack]; + if (index !== void 0 && index !== i) { + if (index > 0) { + nodes[index - 1]._parent = void 0; + nodes[index - 1]._length = 1; + } + nodes[i]._parent = void 0; + nodes[i]._length = 1; + var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; + if (index < length - 1) { + cycleEdgeNode._parent = nodes[index + 1]; + cycleEdgeNode._parent.uncycle(); + cycleEdgeNode._length = cycleEdgeNode._parent._length + 1; + } else { + cycleEdgeNode._parent = void 0; + cycleEdgeNode._length = 1; + } + var currentChildLength = cycleEdgeNode._length + 1; + for (var j = i - 2; j >= 0; --j) { + nodes[j]._length = currentChildLength; + currentChildLength++; + } + return; + } + } + }; + CapturedTrace.prototype.attachExtraTrace = function(error) { + if (error.__stackCleaned__) return; + this.uncycle(); + var parsed = parseStackAndMessage(error); + var message = parsed.message; + var stacks = [parsed.stack]; + var trace = this; + while (trace !== void 0) { + stacks.push(cleanStack(trace.stack.split("\n"))); + trace = trace._parent; + } + removeCommonRoots(stacks); + removeDuplicateOrEmptyJumps(stacks); + util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); + util.notEnumerableProp(error, "__stackCleaned__", true); + }; + var captureStackTrace = (function stackDetection() { + var v8stackFramePattern = /^\s*at\s*/; + var v8stackFormatter = function(stack, error) { + if (typeof stack === "string") return stack; + if (error.name !== void 0 && error.message !== void 0) { + return error.toString(); + } + return formatNonError(error); + }; + if (typeof Error.stackTraceLimit === "number" && typeof Error.captureStackTrace === "function") { + Error.stackTraceLimit += 6; + stackFramePattern = v8stackFramePattern; + formatStack = v8stackFormatter; + var captureStackTrace2 = Error.captureStackTrace; + shouldIgnore = function(line) { + return bluebirdFramePattern.test(line); + }; + return function(receiver, ignoreUntil) { + Error.stackTraceLimit += 6; + captureStackTrace2(receiver, ignoreUntil); + Error.stackTraceLimit -= 6; + }; + } + var err = new Error(); + if (typeof err.stack === "string" && err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { + stackFramePattern = /@/; + formatStack = v8stackFormatter; + indentStackFrames = true; + return function captureStackTrace3(o) { + o.stack = new Error().stack; + }; + } + var hasStackAfterThrow; + try { + throw new Error(); + } catch (e) { + hasStackAfterThrow = "stack" in e; + } + if (!("stack" in err) && hasStackAfterThrow && typeof Error.stackTraceLimit === "number") { + stackFramePattern = v8stackFramePattern; + formatStack = v8stackFormatter; + return function captureStackTrace3(o) { + Error.stackTraceLimit += 6; + try { + throw new Error(); + } catch (e) { + o.stack = e.stack; + } + Error.stackTraceLimit -= 6; + }; + } + formatStack = function(stack, error) { + if (typeof stack === "string") return stack; + if ((typeof error === "object" || typeof error === "function") && error.name !== void 0 && error.message !== void 0) { + return error.toString(); + } + return formatNonError(error); + }; + return null; + })([]); + if (typeof console !== "undefined" && typeof console.warn !== "undefined") { + printWarning = function(message) { + console.warn(message); + }; + if (util.isNode && process.stderr.isTTY) { + printWarning = function(message, isSoft) { + var color = isSoft ? "\x1B[33m" : "\x1B[31m"; + console.warn(color + message + "\x1B[0m\n"); + }; + } else if (!util.isNode && typeof new Error().stack === "string") { + printWarning = function(message, isSoft) { + console.warn( + "%c" + message, + isSoft ? "color: darkorange" : "color: red" + ); + }; + } + } + var config = { + warnings, + longStackTraces: false, + cancellation: false, + monitoring: false + }; + if (longStackTraces) Promise2.longStackTraces(); + return { + longStackTraces: function() { + return config.longStackTraces; + }, + warnings: function() { + return config.warnings; + }, + cancellation: function() { + return config.cancellation; + }, + monitoring: function() { + return config.monitoring; + }, + propagateFromFunction: function() { + return propagateFromFunction; + }, + boundValueFunction: function() { + return boundValueFunction; + }, + checkForgottenReturns, + setBounds, + warn, + deprecated, + CapturedTrace, + fireDomEvent, + fireGlobalEvent + }; + }; + } +}); + +// node_modules/bluebird/js/release/finally.js +var require_finally = __commonJS({ + "node_modules/bluebird/js/release/finally.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, tryConvertToPromise) { + var util = require_util(); + var CancellationError = Promise2.CancellationError; + var errorObj2 = util.errorObj; + function PassThroughHandlerContext(promise, type, handler) { + this.promise = promise; + this.type = type; + this.handler = handler; + this.called = false; + this.cancelPromise = null; + } + PassThroughHandlerContext.prototype.isFinallyHandler = function() { + return this.type === 0; + }; + function FinallyHandlerCancelReaction(finallyHandler2) { + this.finallyHandler = finallyHandler2; + } + FinallyHandlerCancelReaction.prototype._resultCancelled = function() { + checkCancel(this.finallyHandler); + }; + function checkCancel(ctx, reason) { + if (ctx.cancelPromise != null) { + if (arguments.length > 1) { + ctx.cancelPromise._reject(reason); + } else { + ctx.cancelPromise._cancel(); + } + ctx.cancelPromise = null; + return true; + } + return false; + } + function succeed() { + return finallyHandler.call(this, this.promise._target()._settledValue()); + } + function fail(reason) { + if (checkCancel(this, reason)) return; + errorObj2.e = reason; + return errorObj2; + } + function finallyHandler(reasonOrValue) { + var promise = this.promise; + var handler = this.handler; + if (!this.called) { + this.called = true; + var ret2 = this.isFinallyHandler() ? handler.call(promise._boundValue()) : handler.call(promise._boundValue(), reasonOrValue); + if (ret2 !== void 0) { + promise._setReturnedNonUndefined(); + var maybePromise = tryConvertToPromise(ret2, promise); + if (maybePromise instanceof Promise2) { + if (this.cancelPromise != null) { + if (maybePromise._isCancelled()) { + var reason = new CancellationError("late cancellation observer"); + promise._attachExtraTrace(reason); + errorObj2.e = reason; + return errorObj2; + } else if (maybePromise.isPending()) { + maybePromise._attachCancellationCallback( + new FinallyHandlerCancelReaction(this) + ); + } + } + return maybePromise._then( + succeed, + fail, + void 0, + this, + void 0 + ); + } + } + } + if (promise.isRejected()) { + checkCancel(this); + errorObj2.e = reasonOrValue; + return errorObj2; + } else { + checkCancel(this); + return reasonOrValue; + } + } + Promise2.prototype._passThrough = function(handler, type, success, fail2) { + if (typeof handler !== "function") return this.then(); + return this._then( + success, + fail2, + void 0, + new PassThroughHandlerContext(this, type, handler), + void 0 + ); + }; + Promise2.prototype.lastly = Promise2.prototype["finally"] = function(handler) { + return this._passThrough( + handler, + 0, + finallyHandler, + finallyHandler + ); + }; + Promise2.prototype.tap = function(handler) { + return this._passThrough(handler, 1, finallyHandler); + }; + return PassThroughHandlerContext; + }; + } +}); + +// node_modules/bluebird/js/release/catch_filter.js +var require_catch_filter = __commonJS({ + "node_modules/bluebird/js/release/catch_filter.js"(exports2, module2) { + "use strict"; + module2.exports = function(NEXT_FILTER) { + var util = require_util(); + var getKeys = require_es5().keys; + var tryCatch2 = util.tryCatch; + var errorObj2 = util.errorObj; + function catchFilter(instances, cb2, promise) { + return function(e) { + var boundTo = promise._boundValue(); + predicateLoop: for (var i = 0; i < instances.length; ++i) { + var item = instances[i]; + if (item === Error || item != null && item.prototype instanceof Error) { + if (e instanceof item) { + return tryCatch2(cb2).call(boundTo, e); + } + } else if (typeof item === "function") { + var matchesPredicate = tryCatch2(item).call(boundTo, e); + if (matchesPredicate === errorObj2) { + return matchesPredicate; + } else if (matchesPredicate) { + return tryCatch2(cb2).call(boundTo, e); + } + } else if (util.isObject(e)) { + var keys2 = getKeys(item); + for (var j = 0; j < keys2.length; ++j) { + var key = keys2[j]; + if (item[key] != e[key]) { + continue predicateLoop; + } + } + return tryCatch2(cb2).call(boundTo, e); + } + } + return NEXT_FILTER; + }; + } + return catchFilter; + }; + } +}); + +// node_modules/bluebird/js/release/nodeback.js +var require_nodeback = __commonJS({ + "node_modules/bluebird/js/release/nodeback.js"(exports2, module2) { + "use strict"; + var util = require_util(); + var maybeWrapAsError2 = util.maybeWrapAsError; + var errors = require_errors(); + var OperationalError = errors.OperationalError; + var es52 = require_es5(); + function isUntypedError(obj2) { + return obj2 instanceof Error && es52.getPrototypeOf(obj2) === Error.prototype; + } + var rErrorKey = /^(?:name|message|stack|cause)$/; + function wrapAsOperationalError(obj2) { + var ret2; + if (isUntypedError(obj2)) { + ret2 = new OperationalError(obj2); + ret2.name = obj2.name; + ret2.message = obj2.message; + ret2.stack = obj2.stack; + var keys2 = es52.keys(obj2); + for (var i = 0; i < keys2.length; ++i) { + var key = keys2[i]; + if (!rErrorKey.test(key)) { + ret2[key] = obj2[key]; + } + } + return ret2; + } + util.markAsOriginatingFromRejection(obj2); + return obj2; + } + function nodebackForPromise(promise, multiArgs) { + return function(err, value) { + if (promise === null) return; + if (err) { + var wrapped = wrapAsOperationalError(maybeWrapAsError2(err)); + promise._attachExtraTrace(wrapped); + promise._reject(wrapped); + } else if (!multiArgs) { + promise._fulfill(value); + } else { + var $_len = arguments.length; + var args = new Array(Math.max($_len - 1, 0)); + for (var $_i = 1; $_i < $_len; ++$_i) { + args[$_i - 1] = arguments[$_i]; + } + ; + promise._fulfill(args); + } + promise = null; + }; + } + module2.exports = nodebackForPromise; + } +}); + +// node_modules/bluebird/js/release/method.js +var require_method = __commonJS({ + "node_modules/bluebird/js/release/method.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL, tryConvertToPromise, apiRejection, debug) { + var util = require_util(); + var tryCatch2 = util.tryCatch; + Promise2.method = function(fn) { + if (typeof fn !== "function") { + throw new Promise2.TypeError("expecting a function but got " + util.classString(fn)); + } + return function() { + var ret2 = new Promise2(INTERNAL); + ret2._captureStackTrace(); + ret2._pushContext(); + var value = tryCatch2(fn).apply(this, arguments); + var promiseCreated = ret2._popContext(); + debug.checkForgottenReturns( + value, + promiseCreated, + "Promise.method", + ret2 + ); + ret2._resolveFromSyncValue(value); + return ret2; + }; + }; + Promise2.attempt = Promise2["try"] = function(fn) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var ret2 = new Promise2(INTERNAL); + ret2._captureStackTrace(); + ret2._pushContext(); + var value; + if (arguments.length > 1) { + debug.deprecated("calling Promise.try with more than 1 argument"); + var arg = arguments[1]; + var ctx = arguments[2]; + value = util.isArray(arg) ? tryCatch2(fn).apply(ctx, arg) : tryCatch2(fn).call(ctx, arg); + } else { + value = tryCatch2(fn)(); + } + var promiseCreated = ret2._popContext(); + debug.checkForgottenReturns( + value, + promiseCreated, + "Promise.try", + ret2 + ); + ret2._resolveFromSyncValue(value); + return ret2; + }; + Promise2.prototype._resolveFromSyncValue = function(value) { + if (value === util.errorObj) { + this._rejectCallback(value.e, false); + } else { + this._resolveCallback(value, true); + } + }; + }; + } +}); + +// node_modules/bluebird/js/release/bind.js +var require_bind = __commonJS({ + "node_modules/bluebird/js/release/bind.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL, tryConvertToPromise, debug) { + var calledBind = false; + var rejectThis = function(_3, e) { + this._reject(e); + }; + var targetRejected = function(e, context) { + context.promiseRejectionQueued = true; + context.bindingPromise._then(rejectThis, rejectThis, null, this, e); + }; + var bindingResolved = function(thisArg, context) { + if ((this._bitField & 50397184) === 0) { + this._resolveCallback(context.target); + } + }; + var bindingRejected = function(e, context) { + if (!context.promiseRejectionQueued) this._reject(e); + }; + Promise2.prototype.bind = function(thisArg) { + if (!calledBind) { + calledBind = true; + Promise2.prototype._propagateFrom = debug.propagateFromFunction(); + Promise2.prototype._boundValue = debug.boundValueFunction(); + } + var maybePromise = tryConvertToPromise(thisArg); + var ret2 = new Promise2(INTERNAL); + ret2._propagateFrom(this, 1); + var target = this._target(); + ret2._setBoundTo(maybePromise); + if (maybePromise instanceof Promise2) { + var context = { + promiseRejectionQueued: false, + promise: ret2, + target, + bindingPromise: maybePromise + }; + target._then(INTERNAL, targetRejected, void 0, ret2, context); + maybePromise._then( + bindingResolved, + bindingRejected, + void 0, + ret2, + context + ); + ret2._setOnCancel(maybePromise); + } else { + ret2._resolveCallback(target); + } + return ret2; + }; + Promise2.prototype._setBoundTo = function(obj2) { + if (obj2 !== void 0) { + this._bitField = this._bitField | 2097152; + this._boundTo = obj2; + } else { + this._bitField = this._bitField & ~2097152; + } + }; + Promise2.prototype._isBound = function() { + return (this._bitField & 2097152) === 2097152; + }; + Promise2.bind = function(thisArg, value) { + return Promise2.resolve(value).bind(thisArg); + }; + }; + } +}); + +// node_modules/bluebird/js/release/cancel.js +var require_cancel = __commonJS({ + "node_modules/bluebird/js/release/cancel.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, apiRejection, debug) { + var util = require_util(); + var tryCatch2 = util.tryCatch; + var errorObj2 = util.errorObj; + var async = Promise2._async; + Promise2.prototype["break"] = Promise2.prototype.cancel = function() { + if (!debug.cancellation()) return this._warn("cancellation is disabled"); + var promise = this; + var child = promise; + while (promise._isCancellable()) { + if (!promise._cancelBy(child)) { + if (child._isFollowing()) { + child._followee().cancel(); + } else { + child._cancelBranched(); + } + break; + } + var parent = promise._cancellationParent; + if (parent == null || !parent._isCancellable()) { + if (promise._isFollowing()) { + promise._followee().cancel(); + } else { + promise._cancelBranched(); + } + break; + } else { + if (promise._isFollowing()) promise._followee().cancel(); + promise._setWillBeCancelled(); + child = promise; + promise = parent; + } + } + }; + Promise2.prototype._branchHasCancelled = function() { + this._branchesRemainingToCancel--; + }; + Promise2.prototype._enoughBranchesHaveCancelled = function() { + return this._branchesRemainingToCancel === void 0 || this._branchesRemainingToCancel <= 0; + }; + Promise2.prototype._cancelBy = function(canceller) { + if (canceller === this) { + this._branchesRemainingToCancel = 0; + this._invokeOnCancel(); + return true; + } else { + this._branchHasCancelled(); + if (this._enoughBranchesHaveCancelled()) { + this._invokeOnCancel(); + return true; + } + } + return false; + }; + Promise2.prototype._cancelBranched = function() { + if (this._enoughBranchesHaveCancelled()) { + this._cancel(); + } + }; + Promise2.prototype._cancel = function() { + if (!this._isCancellable()) return; + this._setCancelled(); + async.invoke(this._cancelPromises, this, void 0); + }; + Promise2.prototype._cancelPromises = function() { + if (this._length() > 0) this._settlePromises(); + }; + Promise2.prototype._unsetOnCancel = function() { + this._onCancelField = void 0; + }; + Promise2.prototype._isCancellable = function() { + return this.isPending() && !this._isCancelled(); + }; + Promise2.prototype.isCancellable = function() { + return this.isPending() && !this.isCancelled(); + }; + Promise2.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { + if (util.isArray(onCancelCallback)) { + for (var i = 0; i < onCancelCallback.length; ++i) { + this._doInvokeOnCancel(onCancelCallback[i], internalOnly); + } + } else if (onCancelCallback !== void 0) { + if (typeof onCancelCallback === "function") { + if (!internalOnly) { + var e = tryCatch2(onCancelCallback).call(this._boundValue()); + if (e === errorObj2) { + this._attachExtraTrace(e.e); + async.throwLater(e.e); + } + } + } else { + onCancelCallback._resultCancelled(this); + } + } + }; + Promise2.prototype._invokeOnCancel = function() { + var onCancelCallback = this._onCancel(); + this._unsetOnCancel(); + async.invoke(this._doInvokeOnCancel, this, onCancelCallback); + }; + Promise2.prototype._invokeInternalOnCancel = function() { + if (this._isCancellable()) { + this._doInvokeOnCancel(this._onCancel(), true); + this._unsetOnCancel(); + } + }; + Promise2.prototype._resultCancelled = function() { + this.cancel(); + }; + }; + } +}); + +// node_modules/bluebird/js/release/direct_resolve.js +var require_direct_resolve = __commonJS({ + "node_modules/bluebird/js/release/direct_resolve.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2) { + function returner() { + return this.value; + } + function thrower2() { + throw this.reason; + } + Promise2.prototype["return"] = Promise2.prototype.thenReturn = function(value) { + if (value instanceof Promise2) value.suppressUnhandledRejections(); + return this._then( + returner, + void 0, + void 0, + { value }, + void 0 + ); + }; + Promise2.prototype["throw"] = Promise2.prototype.thenThrow = function(reason) { + return this._then( + thrower2, + void 0, + void 0, + { reason }, + void 0 + ); + }; + Promise2.prototype.catchThrow = function(reason) { + if (arguments.length <= 1) { + return this._then( + void 0, + thrower2, + void 0, + { reason }, + void 0 + ); + } else { + var _reason = arguments[1]; + var handler = function() { + throw _reason; + }; + return this.caught(reason, handler); + } + }; + Promise2.prototype.catchReturn = function(value) { + if (arguments.length <= 1) { + if (value instanceof Promise2) value.suppressUnhandledRejections(); + return this._then( + void 0, + returner, + void 0, + { value }, + void 0 + ); + } else { + var _value = arguments[1]; + if (_value instanceof Promise2) _value.suppressUnhandledRejections(); + var handler = function() { + return _value; + }; + return this.caught(value, handler); + } + }; + }; + } +}); + +// node_modules/bluebird/js/release/synchronous_inspection.js +var require_synchronous_inspection = __commonJS({ + "node_modules/bluebird/js/release/synchronous_inspection.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2) { + function PromiseInspection(promise) { + if (promise !== void 0) { + promise = promise._target(); + this._bitField = promise._bitField; + this._settledValueField = promise._isFateSealed() ? promise._settledValue() : void 0; + } else { + this._bitField = 0; + this._settledValueField = void 0; + } + } + PromiseInspection.prototype._settledValue = function() { + return this._settledValueField; + }; + var value = PromiseInspection.prototype.value = function() { + if (!this.isFulfilled()) { + throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n"); + } + return this._settledValue(); + }; + var reason = PromiseInspection.prototype.error = PromiseInspection.prototype.reason = function() { + if (!this.isRejected()) { + throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n"); + } + return this._settledValue(); + }; + var isFulfilled = PromiseInspection.prototype.isFulfilled = function() { + return (this._bitField & 33554432) !== 0; + }; + var isRejected = PromiseInspection.prototype.isRejected = function() { + return (this._bitField & 16777216) !== 0; + }; + var isPending = PromiseInspection.prototype.isPending = function() { + return (this._bitField & 50397184) === 0; + }; + var isResolved = PromiseInspection.prototype.isResolved = function() { + return (this._bitField & 50331648) !== 0; + }; + PromiseInspection.prototype.isCancelled = function() { + return (this._bitField & 8454144) !== 0; + }; + Promise2.prototype.__isCancelled = function() { + return (this._bitField & 65536) === 65536; + }; + Promise2.prototype._isCancelled = function() { + return this._target().__isCancelled(); + }; + Promise2.prototype.isCancelled = function() { + return (this._target()._bitField & 8454144) !== 0; + }; + Promise2.prototype.isPending = function() { + return isPending.call(this._target()); + }; + Promise2.prototype.isRejected = function() { + return isRejected.call(this._target()); + }; + Promise2.prototype.isFulfilled = function() { + return isFulfilled.call(this._target()); + }; + Promise2.prototype.isResolved = function() { + return isResolved.call(this._target()); + }; + Promise2.prototype.value = function() { + return value.call(this._target()); + }; + Promise2.prototype.reason = function() { + var target = this._target(); + target._unsetRejectionIsUnhandled(); + return reason.call(target); + }; + Promise2.prototype._value = function() { + return this._settledValue(); + }; + Promise2.prototype._reason = function() { + this._unsetRejectionIsUnhandled(); + return this._settledValue(); + }; + Promise2.PromiseInspection = PromiseInspection; + }; + } +}); + +// node_modules/bluebird/js/release/join.js +var require_join = __commonJS({ + "node_modules/bluebird/js/release/join.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain) { + var util = require_util(); + var canEvaluate2 = util.canEvaluate; + var tryCatch2 = util.tryCatch; + var errorObj2 = util.errorObj; + var reject2; + if (true) { + if (canEvaluate2) { + var thenCallback = function(i2) { + return new Function("value", "holder", " \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g, i2)); + }; + var promiseSetter = function(i2) { + return new Function("promise", "holder", " \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g, i2)); + }; + var generateHolderClass = function(total) { + var props = new Array(total); + for (var i2 = 0; i2 < props.length; ++i2) { + props[i2] = "this.p" + (i2 + 1); + } + var assignment = props.join(" = ") + " = null;"; + var cancellationCode = "var promise;\n" + props.map(function(prop) { + return " \n promise = " + prop + "; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n "; + }).join("\n"); + var passedArguments = props.join(", "); + var name = "Holder$" + total; + var code = "return function(tryCatch, errorObj, Promise, async) { \n 'use strict'; \n function [TheName](fn) { \n [TheProperties] \n this.fn = fn; \n this.asyncNeeded = true; \n this.now = 0; \n } \n \n [TheName].prototype._callFunction = function(promise) { \n promise._pushContext(); \n var ret = tryCatch(this.fn)([ThePassedArguments]); \n promise._popContext(); \n if (ret === errorObj) { \n promise._rejectCallback(ret.e, false); \n } else { \n promise._resolveCallback(ret); \n } \n }; \n \n [TheName].prototype.checkFulfillment = function(promise) { \n var now = ++this.now; \n if (now === [TheTotal]) { \n if (this.asyncNeeded) { \n async.invoke(this._callFunction, this, promise); \n } else { \n this._callFunction(promise); \n } \n \n } \n }; \n \n [TheName].prototype._resultCancelled = function() { \n [CancellationCode] \n }; \n \n return [TheName]; \n }(tryCatch, errorObj, Promise, async); \n "; + code = code.replace(/\[TheName\]/g, name).replace(/\[TheTotal\]/g, total).replace(/\[ThePassedArguments\]/g, passedArguments).replace(/\[TheProperties\]/g, assignment).replace(/\[CancellationCode\]/g, cancellationCode); + return new Function("tryCatch", "errorObj", "Promise", "async", code)(tryCatch2, errorObj2, Promise2, async); + }; + var holderClasses = []; + var thenCallbacks = []; + var promiseSetters = []; + for (var i = 0; i < 8; ++i) { + holderClasses.push(generateHolderClass(i + 1)); + thenCallbacks.push(thenCallback(i + 1)); + promiseSetters.push(promiseSetter(i + 1)); + } + reject2 = function(reason) { + this._reject(reason); + }; + } + } + Promise2.join = function() { + var last2 = arguments.length - 1; + var fn; + if (last2 > 0 && typeof arguments[last2] === "function") { + fn = arguments[last2]; + if (true) { + if (last2 <= 8 && canEvaluate2) { + var ret2 = new Promise2(INTERNAL); + ret2._captureStackTrace(); + var HolderClass = holderClasses[last2 - 1]; + var holder = new HolderClass(fn); + var callbacks = thenCallbacks; + for (var i2 = 0; i2 < last2; ++i2) { + var maybePromise = tryConvertToPromise(arguments[i2], ret2); + if (maybePromise instanceof Promise2) { + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if ((bitField & 50397184) === 0) { + maybePromise._then( + callbacks[i2], + reject2, + void 0, + ret2, + holder + ); + promiseSetters[i2](maybePromise, holder); + holder.asyncNeeded = false; + } else if ((bitField & 33554432) !== 0) { + callbacks[i2].call( + ret2, + maybePromise._value(), + holder + ); + } else if ((bitField & 16777216) !== 0) { + ret2._reject(maybePromise._reason()); + } else { + ret2._cancel(); + } + } else { + callbacks[i2].call(ret2, maybePromise, holder); + } + } + if (!ret2._isFateSealed()) { + if (holder.asyncNeeded) { + var domain = getDomain(); + if (domain !== null) { + holder.fn = util.domainBind(domain, holder.fn); + } + } + ret2._setAsyncGuaranteed(); + ret2._setOnCancel(holder); + } + return ret2; + } + } + } + var $_len = arguments.length; + var args = new Array($_len); + for (var $_i = 0; $_i < $_len; ++$_i) { + args[$_i] = arguments[$_i]; + } + ; + if (fn) args.pop(); + var ret2 = new PromiseArray(args).promise(); + return fn !== void 0 ? ret2.spread(fn) : ret2; + }; + }; + } +}); + +// node_modules/bluebird/js/release/map.js +var require_map = __commonJS({ + "node_modules/bluebird/js/release/map.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) { + var getDomain = Promise2._getDomain; + var util = require_util(); + var tryCatch2 = util.tryCatch; + var errorObj2 = util.errorObj; + var async = Promise2._async; + function MappingPromiseArray(promises, fn, limit, _filter) { + this.constructor$(promises); + this._promise._captureStackTrace(); + var domain = getDomain(); + this._callback = domain === null ? fn : util.domainBind(domain, fn); + this._preservedValues = _filter === INTERNAL ? new Array(this.length()) : null; + this._limit = limit; + this._inFlight = 0; + this._queue = []; + async.invoke(this._asyncInit, this, void 0); + } + util.inherits(MappingPromiseArray, PromiseArray); + MappingPromiseArray.prototype._asyncInit = function() { + this._init$(void 0, -2); + }; + MappingPromiseArray.prototype._init = function() { + }; + MappingPromiseArray.prototype._promiseFulfilled = function(value, index) { + var values3 = this._values; + var length = this.length(); + var preservedValues = this._preservedValues; + var limit = this._limit; + if (index < 0) { + index = index * -1 - 1; + values3[index] = value; + if (limit >= 1) { + this._inFlight--; + this._drainQueue(); + if (this._isResolved()) return true; + } + } else { + if (limit >= 1 && this._inFlight >= limit) { + values3[index] = value; + this._queue.push(index); + return false; + } + if (preservedValues !== null) preservedValues[index] = value; + var promise = this._promise; + var callback = this._callback; + var receiver = promise._boundValue(); + promise._pushContext(); + var ret2 = tryCatch2(callback).call(receiver, value, index, length); + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret2, + promiseCreated, + preservedValues !== null ? "Promise.filter" : "Promise.map", + promise + ); + if (ret2 === errorObj2) { + this._reject(ret2.e); + return true; + } + var maybePromise = tryConvertToPromise(ret2, this._promise); + if (maybePromise instanceof Promise2) { + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if ((bitField & 50397184) === 0) { + if (limit >= 1) this._inFlight++; + values3[index] = maybePromise; + maybePromise._proxy(this, (index + 1) * -1); + return false; + } else if ((bitField & 33554432) !== 0) { + ret2 = maybePromise._value(); + } else if ((bitField & 16777216) !== 0) { + this._reject(maybePromise._reason()); + return true; + } else { + this._cancel(); + return true; + } + } + values3[index] = ret2; + } + var totalResolved = ++this._totalResolved; + if (totalResolved >= length) { + if (preservedValues !== null) { + this._filter(values3, preservedValues); + } else { + this._resolve(values3); + } + return true; + } + return false; + }; + MappingPromiseArray.prototype._drainQueue = function() { + var queue = this._queue; + var limit = this._limit; + var values3 = this._values; + while (queue.length > 0 && this._inFlight < limit) { + if (this._isResolved()) return; + var index = queue.pop(); + this._promiseFulfilled(values3[index], index); + } + }; + MappingPromiseArray.prototype._filter = function(booleans, values3) { + var len = values3.length; + var ret2 = new Array(len); + var j = 0; + for (var i = 0; i < len; ++i) { + if (booleans[i]) ret2[j++] = values3[i]; + } + ret2.length = j; + this._resolve(ret2); + }; + MappingPromiseArray.prototype.preservedValues = function() { + return this._preservedValues; + }; + function map2(promises, fn, options, _filter) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var limit = 0; + if (options !== void 0) { + if (typeof options === "object" && options !== null) { + if (typeof options.concurrency !== "number") { + return Promise2.reject( + new TypeError("'concurrency' must be a number but it is " + util.classString(options.concurrency)) + ); + } + limit = options.concurrency; + } else { + return Promise2.reject(new TypeError( + "options argument must be an object but it is " + util.classString(options) + )); + } + } + limit = typeof limit === "number" && isFinite(limit) && limit >= 1 ? limit : 0; + return new MappingPromiseArray(promises, fn, limit, _filter).promise(); + } + Promise2.prototype.map = function(fn, options) { + return map2(this, fn, options, null); + }; + Promise2.map = function(promises, fn, options, _filter) { + return map2(promises, fn, options, _filter); + }; + }; + } +}); + +// node_modules/bluebird/js/release/call_get.js +var require_call_get = __commonJS({ + "node_modules/bluebird/js/release/call_get.js"(exports2, module2) { + "use strict"; + var cr = Object.create; + if (cr) { + callerCache = cr(null); + getterCache = cr(null); + callerCache[" size"] = getterCache[" size"] = 0; + } + var callerCache; + var getterCache; + module2.exports = function(Promise2) { + var util = require_util(); + var canEvaluate2 = util.canEvaluate; + var isIdentifier2 = util.isIdentifier; + var getMethodCaller; + var getGetter; + if (true) { + var makeMethodCaller = function(methodName) { + return new Function("ensureMethod", " \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g, methodName))(ensureMethod); + }; + var makeGetter = function(propertyName) { + return new Function("obj", " \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName", propertyName)); + }; + var getCompiled = function(name, compiler, cache) { + var ret2 = cache[name]; + if (typeof ret2 !== "function") { + if (!isIdentifier2(name)) { + return null; + } + ret2 = compiler(name); + cache[name] = ret2; + cache[" size"]++; + if (cache[" size"] > 512) { + var keys2 = Object.keys(cache); + for (var i = 0; i < 256; ++i) delete cache[keys2[i]]; + cache[" size"] = keys2.length - 256; + } + } + return ret2; + }; + getMethodCaller = function(name) { + return getCompiled(name, makeMethodCaller, callerCache); + }; + getGetter = function(name) { + return getCompiled(name, makeGetter, getterCache); + }; + } + function ensureMethod(obj2, methodName) { + var fn; + if (obj2 != null) fn = obj2[methodName]; + if (typeof fn !== "function") { + var message = "Object " + util.classString(obj2) + " has no method '" + util.toString(methodName) + "'"; + throw new Promise2.TypeError(message); + } + return fn; + } + function caller(obj2) { + var methodName = this.pop(); + var fn = ensureMethod(obj2, methodName); + return fn.apply(obj2, this); + } + Promise2.prototype.call = function(methodName) { + var $_len = arguments.length; + var args = new Array(Math.max($_len - 1, 0)); + for (var $_i = 1; $_i < $_len; ++$_i) { + args[$_i - 1] = arguments[$_i]; + } + ; + if (true) { + if (canEvaluate2) { + var maybeCaller = getMethodCaller(methodName); + if (maybeCaller !== null) { + return this._then( + maybeCaller, + void 0, + void 0, + args, + void 0 + ); + } + } + } + args.push(methodName); + return this._then(caller, void 0, void 0, args, void 0); + }; + function namedGetter(obj2) { + return obj2[this]; + } + function indexedGetter(obj2) { + var index = +this; + if (index < 0) index = Math.max(0, index + obj2.length); + return obj2[index]; + } + Promise2.prototype.get = function(propertyName) { + var isIndex = typeof propertyName === "number"; + var getter; + if (!isIndex) { + if (canEvaluate2) { + var maybeGetter = getGetter(propertyName); + getter = maybeGetter !== null ? maybeGetter : namedGetter; + } else { + getter = namedGetter; + } + } else { + getter = indexedGetter; + } + return this._then(getter, void 0, void 0, propertyName, void 0); + }; + }; + } +}); + +// node_modules/bluebird/js/release/using.js +var require_using = __commonJS({ + "node_modules/bluebird/js/release/using.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug) { + var util = require_util(); + var TypeError2 = require_errors().TypeError; + var inherits2 = require_util().inherits; + var errorObj2 = util.errorObj; + var tryCatch2 = util.tryCatch; + var NULL = {}; + function thrower2(e) { + setTimeout(function() { + throw e; + }, 0); + } + function castPreservingDisposable(thenable) { + var maybePromise = tryConvertToPromise(thenable); + if (maybePromise !== thenable && typeof thenable._isDisposable === "function" && typeof thenable._getDisposer === "function" && thenable._isDisposable()) { + maybePromise._setDisposable(thenable._getDisposer()); + } + return maybePromise; + } + function dispose(resources, inspection) { + var i = 0; + var len = resources.length; + var ret2 = new Promise2(INTERNAL); + function iterator() { + if (i >= len) return ret2._fulfill(); + var maybePromise = castPreservingDisposable(resources[i++]); + if (maybePromise instanceof Promise2 && maybePromise._isDisposable()) { + try { + maybePromise = tryConvertToPromise( + maybePromise._getDisposer().tryDispose(inspection), + resources.promise + ); + } catch (e) { + return thrower2(e); + } + if (maybePromise instanceof Promise2) { + return maybePromise._then( + iterator, + thrower2, + null, + null, + null + ); + } + } + iterator(); + } + iterator(); + return ret2; + } + function Disposer(data, promise, context) { + this._data = data; + this._promise = promise; + this._context = context; + } + Disposer.prototype.data = function() { + return this._data; + }; + Disposer.prototype.promise = function() { + return this._promise; + }; + Disposer.prototype.resource = function() { + if (this.promise().isFulfilled()) { + return this.promise().value(); + } + return NULL; + }; + Disposer.prototype.tryDispose = function(inspection) { + var resource = this.resource(); + var context = this._context; + if (context !== void 0) context._pushContext(); + var ret2 = resource !== NULL ? this.doDispose(resource, inspection) : null; + if (context !== void 0) context._popContext(); + this._promise._unsetDisposable(); + this._data = null; + return ret2; + }; + Disposer.isDisposer = function(d) { + return d != null && typeof d.resource === "function" && typeof d.tryDispose === "function"; + }; + function FunctionDisposer(fn, promise, context) { + this.constructor$(fn, promise, context); + } + inherits2(FunctionDisposer, Disposer); + FunctionDisposer.prototype.doDispose = function(resource, inspection) { + var fn = this.data(); + return fn.call(resource, resource, inspection); + }; + function maybeUnwrapDisposer(value) { + if (Disposer.isDisposer(value)) { + this.resources[this.index]._setDisposable(value); + return value.promise(); + } + return value; + } + function ResourceList(length) { + this.length = length; + this.promise = null; + this[length - 1] = null; + } + ResourceList.prototype._resultCancelled = function() { + var len = this.length; + for (var i = 0; i < len; ++i) { + var item = this[i]; + if (item instanceof Promise2) { + item.cancel(); + } + } + }; + Promise2.using = function() { + var len = arguments.length; + if (len < 2) return apiRejection( + "you must pass at least 2 arguments to Promise.using" + ); + var fn = arguments[len - 1]; + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var input; + var spreadArgs = true; + if (len === 2 && Array.isArray(arguments[0])) { + input = arguments[0]; + len = input.length; + spreadArgs = false; + } else { + input = arguments; + len--; + } + var resources = new ResourceList(len); + for (var i = 0; i < len; ++i) { + var resource = input[i]; + if (Disposer.isDisposer(resource)) { + var disposer = resource; + resource = resource.promise(); + resource._setDisposable(disposer); + } else { + var maybePromise = tryConvertToPromise(resource); + if (maybePromise instanceof Promise2) { + resource = maybePromise._then(maybeUnwrapDisposer, null, null, { + resources, + index: i + }, void 0); + } + } + resources[i] = resource; + } + var reflectedResources = new Array(resources.length); + for (var i = 0; i < reflectedResources.length; ++i) { + reflectedResources[i] = Promise2.resolve(resources[i]).reflect(); + } + var resultPromise = Promise2.all(reflectedResources).then(function(inspections) { + for (var i2 = 0; i2 < inspections.length; ++i2) { + var inspection = inspections[i2]; + if (inspection.isRejected()) { + errorObj2.e = inspection.error(); + return errorObj2; + } else if (!inspection.isFulfilled()) { + resultPromise.cancel(); + return; + } + inspections[i2] = inspection.value(); + } + promise._pushContext(); + fn = tryCatch2(fn); + var ret2 = spreadArgs ? fn.apply(void 0, inspections) : fn(inspections); + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret2, + promiseCreated, + "Promise.using", + promise + ); + return ret2; + }); + var promise = resultPromise.lastly(function() { + var inspection = new Promise2.PromiseInspection(resultPromise); + return dispose(resources, inspection); + }); + resources.promise = promise; + promise._setOnCancel(resources); + return promise; + }; + Promise2.prototype._setDisposable = function(disposer) { + this._bitField = this._bitField | 131072; + this._disposer = disposer; + }; + Promise2.prototype._isDisposable = function() { + return (this._bitField & 131072) > 0; + }; + Promise2.prototype._getDisposer = function() { + return this._disposer; + }; + Promise2.prototype._unsetDisposable = function() { + this._bitField = this._bitField & ~131072; + this._disposer = void 0; + }; + Promise2.prototype.disposer = function(fn) { + if (typeof fn === "function") { + return new FunctionDisposer(fn, this, createContext()); + } + throw new TypeError2(); + }; + }; + } +}); + +// node_modules/bluebird/js/release/timers.js +var require_timers = __commonJS({ + "node_modules/bluebird/js/release/timers.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL, debug) { + var util = require_util(); + var TimeoutError = Promise2.TimeoutError; + function HandleWrapper(handle) { + this.handle = handle; + } + HandleWrapper.prototype._resultCancelled = function() { + clearTimeout(this.handle); + }; + var afterValue = function(value) { + return delay(+this).thenReturn(value); + }; + var delay = Promise2.delay = function(ms, value) { + var ret2; + var handle; + if (value !== void 0) { + ret2 = Promise2.resolve(value)._then(afterValue, null, null, ms, void 0); + if (debug.cancellation() && value instanceof Promise2) { + ret2._setOnCancel(value); + } + } else { + ret2 = new Promise2(INTERNAL); + handle = setTimeout(function() { + ret2._fulfill(); + }, +ms); + if (debug.cancellation()) { + ret2._setOnCancel(new HandleWrapper(handle)); + } + ret2._captureStackTrace(); + } + ret2._setAsyncGuaranteed(); + return ret2; + }; + Promise2.prototype.delay = function(ms) { + return delay(ms, this); + }; + var afterTimeout = function(promise, message, parent) { + var err; + if (typeof message !== "string") { + if (message instanceof Error) { + err = message; + } else { + err = new TimeoutError("operation timed out"); + } + } else { + err = new TimeoutError(message); + } + util.markAsOriginatingFromRejection(err); + promise._attachExtraTrace(err); + promise._reject(err); + if (parent != null) { + parent.cancel(); + } + }; + function successClear(value) { + clearTimeout(this.handle); + return value; + } + function failureClear(reason) { + clearTimeout(this.handle); + throw reason; + } + Promise2.prototype.timeout = function(ms, message) { + ms = +ms; + var ret2, parent; + var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() { + if (ret2.isPending()) { + afterTimeout(ret2, message, parent); + } + }, ms)); + if (debug.cancellation()) { + parent = this.then(); + ret2 = parent._then( + successClear, + failureClear, + void 0, + handleWrapper, + void 0 + ); + ret2._setOnCancel(handleWrapper); + } else { + ret2 = this._then( + successClear, + failureClear, + void 0, + handleWrapper, + void 0 + ); + } + return ret2; + }; + }; + } +}); + +// node_modules/bluebird/js/release/generators.js +var require_generators = __commonJS({ + "node_modules/bluebird/js/release/generators.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug) { + var errors = require_errors(); + var TypeError2 = errors.TypeError; + var util = require_util(); + var errorObj2 = util.errorObj; + var tryCatch2 = util.tryCatch; + var yieldHandlers = []; + function promiseFromYieldHandler(value, yieldHandlers2, traceParent) { + for (var i = 0; i < yieldHandlers2.length; ++i) { + traceParent._pushContext(); + var result2 = tryCatch2(yieldHandlers2[i])(value); + traceParent._popContext(); + if (result2 === errorObj2) { + traceParent._pushContext(); + var ret2 = Promise2.reject(errorObj2.e); + traceParent._popContext(); + return ret2; + } + var maybePromise = tryConvertToPromise(result2, traceParent); + if (maybePromise instanceof Promise2) return maybePromise; + } + return null; + } + function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { + if (debug.cancellation()) { + var internal = new Promise2(INTERNAL); + var _finallyPromise = this._finallyPromise = new Promise2(INTERNAL); + this._promise = internal.lastly(function() { + return _finallyPromise; + }); + internal._captureStackTrace(); + internal._setOnCancel(this); + } else { + var promise = this._promise = new Promise2(INTERNAL); + promise._captureStackTrace(); + } + this._stack = stack; + this._generatorFunction = generatorFunction; + this._receiver = receiver; + this._generator = void 0; + this._yieldHandlers = typeof yieldHandler === "function" ? [yieldHandler].concat(yieldHandlers) : yieldHandlers; + this._yieldedPromise = null; + this._cancellationPhase = false; + } + util.inherits(PromiseSpawn, Proxyable); + PromiseSpawn.prototype._isResolved = function() { + return this._promise === null; + }; + PromiseSpawn.prototype._cleanup = function() { + this._promise = this._generator = null; + if (debug.cancellation() && this._finallyPromise !== null) { + this._finallyPromise._fulfill(); + this._finallyPromise = null; + } + }; + PromiseSpawn.prototype._promiseCancelled = function() { + if (this._isResolved()) return; + var implementsReturn = typeof this._generator["return"] !== "undefined"; + var result2; + if (!implementsReturn) { + var reason = new Promise2.CancellationError( + "generator .return() sentinel" + ); + Promise2.coroutine.returnSentinel = reason; + this._promise._attachExtraTrace(reason); + this._promise._pushContext(); + result2 = tryCatch2(this._generator["throw"]).call( + this._generator, + reason + ); + this._promise._popContext(); + } else { + this._promise._pushContext(); + result2 = tryCatch2(this._generator["return"]).call( + this._generator, + void 0 + ); + this._promise._popContext(); + } + this._cancellationPhase = true; + this._yieldedPromise = null; + this._continue(result2); + }; + PromiseSpawn.prototype._promiseFulfilled = function(value) { + this._yieldedPromise = null; + this._promise._pushContext(); + var result2 = tryCatch2(this._generator.next).call(this._generator, value); + this._promise._popContext(); + this._continue(result2); + }; + PromiseSpawn.prototype._promiseRejected = function(reason) { + this._yieldedPromise = null; + this._promise._attachExtraTrace(reason); + this._promise._pushContext(); + var result2 = tryCatch2(this._generator["throw"]).call(this._generator, reason); + this._promise._popContext(); + this._continue(result2); + }; + PromiseSpawn.prototype._resultCancelled = function() { + if (this._yieldedPromise instanceof Promise2) { + var promise = this._yieldedPromise; + this._yieldedPromise = null; + promise.cancel(); + } + }; + PromiseSpawn.prototype.promise = function() { + return this._promise; + }; + PromiseSpawn.prototype._run = function() { + this._generator = this._generatorFunction.call(this._receiver); + this._receiver = this._generatorFunction = void 0; + this._promiseFulfilled(void 0); + }; + PromiseSpawn.prototype._continue = function(result2) { + var promise = this._promise; + if (result2 === errorObj2) { + this._cleanup(); + if (this._cancellationPhase) { + return promise.cancel(); + } else { + return promise._rejectCallback(result2.e, false); + } + } + var value = result2.value; + if (result2.done === true) { + this._cleanup(); + if (this._cancellationPhase) { + return promise.cancel(); + } else { + return promise._resolveCallback(value); + } + } else { + var maybePromise = tryConvertToPromise(value, this._promise); + if (!(maybePromise instanceof Promise2)) { + maybePromise = promiseFromYieldHandler( + maybePromise, + this._yieldHandlers, + this._promise + ); + if (maybePromise === null) { + this._promiseRejected( + new TypeError2( + "A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s", value) + "From coroutine:\n" + this._stack.split("\n").slice(1, -7).join("\n") + ) + ); + return; + } + } + maybePromise = maybePromise._target(); + var bitField = maybePromise._bitField; + ; + if ((bitField & 50397184) === 0) { + this._yieldedPromise = maybePromise; + maybePromise._proxy(this, null); + } else if ((bitField & 33554432) !== 0) { + Promise2._async.invoke( + this._promiseFulfilled, + this, + maybePromise._value() + ); + } else if ((bitField & 16777216) !== 0) { + Promise2._async.invoke( + this._promiseRejected, + this, + maybePromise._reason() + ); + } else { + this._promiseCancelled(); + } + } + }; + Promise2.coroutine = function(generatorFunction, options) { + if (typeof generatorFunction !== "function") { + throw new TypeError2("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n"); + } + var yieldHandler = Object(options).yieldHandler; + var PromiseSpawn$ = PromiseSpawn; + var stack = new Error().stack; + return function() { + var generator = generatorFunction.apply(this, arguments); + var spawn = new PromiseSpawn$( + void 0, + void 0, + yieldHandler, + stack + ); + var ret2 = spawn.promise(); + spawn._generator = generator; + spawn._promiseFulfilled(void 0); + return ret2; + }; + }; + Promise2.coroutine.addYieldHandler = function(fn) { + if (typeof fn !== "function") { + throw new TypeError2("expecting a function but got " + util.classString(fn)); + } + yieldHandlers.push(fn); + }; + Promise2.spawn = function(generatorFunction) { + debug.deprecated("Promise.spawn()", "Promise.coroutine()"); + if (typeof generatorFunction !== "function") { + return apiRejection("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n"); + } + var spawn = new PromiseSpawn(generatorFunction, this); + var ret2 = spawn.promise(); + spawn._run(Promise2.spawn); + return ret2; + }; + }; + } +}); + +// node_modules/bluebird/js/release/nodeify.js +var require_nodeify = __commonJS({ + "node_modules/bluebird/js/release/nodeify.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2) { + var util = require_util(); + var async = Promise2._async; + var tryCatch2 = util.tryCatch; + var errorObj2 = util.errorObj; + function spreadAdapter(val, nodeback) { + var promise = this; + if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); + var ret2 = tryCatch2(nodeback).apply(promise._boundValue(), [null].concat(val)); + if (ret2 === errorObj2) { + async.throwLater(ret2.e); + } + } + function successAdapter(val, nodeback) { + var promise = this; + var receiver = promise._boundValue(); + var ret2 = val === void 0 ? tryCatch2(nodeback).call(receiver, null) : tryCatch2(nodeback).call(receiver, null, val); + if (ret2 === errorObj2) { + async.throwLater(ret2.e); + } + } + function errorAdapter(reason, nodeback) { + var promise = this; + if (!reason) { + var newReason = new Error(reason + ""); + newReason.cause = reason; + reason = newReason; + } + var ret2 = tryCatch2(nodeback).call(promise._boundValue(), reason); + if (ret2 === errorObj2) { + async.throwLater(ret2.e); + } + } + Promise2.prototype.asCallback = Promise2.prototype.nodeify = function(nodeback, options) { + if (typeof nodeback == "function") { + var adapter = successAdapter; + if (options !== void 0 && Object(options).spread) { + adapter = spreadAdapter; + } + this._then( + adapter, + errorAdapter, + void 0, + this, + nodeback + ); + } + return this; + }; + }; + } +}); + +// node_modules/bluebird/js/release/promisify.js +var require_promisify = __commonJS({ + "node_modules/bluebird/js/release/promisify.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL) { + var THIS = {}; + var util = require_util(); + var nodebackForPromise = require_nodeback(); + var withAppended2 = util.withAppended; + var maybeWrapAsError2 = util.maybeWrapAsError; + var canEvaluate2 = util.canEvaluate; + var TypeError2 = require_errors().TypeError; + var defaultSuffix = "Async"; + var defaultPromisified = { __isPromisified__: true }; + var noCopyProps = [ + "arity", + "length", + "name", + "arguments", + "caller", + "callee", + "prototype", + "__isPromisified__" + ]; + var noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"); + var defaultFilter = function(name) { + return util.isIdentifier(name) && name.charAt(0) !== "_" && name !== "constructor"; + }; + function propsFilter(key) { + return !noCopyPropsPattern.test(key); + } + function isPromisified(fn) { + try { + return fn.__isPromisified__ === true; + } catch (e) { + return false; + } + } + function hasPromisified(obj2, key, suffix) { + var val = util.getDataPropertyOrDefault( + obj2, + key + suffix, + defaultPromisified + ); + return val ? isPromisified(val) : false; + } + function checkValid(ret2, suffix, suffixRegexp) { + for (var i = 0; i < ret2.length; i += 2) { + var key = ret2[i]; + if (suffixRegexp.test(key)) { + var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""); + for (var j = 0; j < ret2.length; j += 2) { + if (ret2[j] === keyWithoutAsyncSuffix) { + throw new TypeError2("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s", suffix)); + } + } + } + } + } + function promisifiableMethods(obj2, suffix, suffixRegexp, filter2) { + var keys2 = util.inheritedDataKeys(obj2); + var ret2 = []; + for (var i = 0; i < keys2.length; ++i) { + var key = keys2[i]; + var value = obj2[key]; + var passesDefaultFilter = filter2 === defaultFilter ? true : defaultFilter(key, value, obj2); + if (typeof value === "function" && !isPromisified(value) && !hasPromisified(obj2, key, suffix) && filter2(key, value, obj2, passesDefaultFilter)) { + ret2.push(key, value); + } + } + checkValid(ret2, suffix, suffixRegexp); + return ret2; + } + var escapeIdentRegex = function(str) { + return str.replace(/([$])/, "\\$"); + }; + var makeNodePromisifiedEval; + if (true) { + var switchCaseArgumentOrder = function(likelyArgumentCount) { + var ret2 = [likelyArgumentCount]; + var min2 = Math.max(0, likelyArgumentCount - 1 - 3); + for (var i = likelyArgumentCount - 1; i >= min2; --i) { + ret2.push(i); + } + for (var i = likelyArgumentCount + 1; i <= 3; ++i) { + ret2.push(i); + } + return ret2; + }; + var argumentSequence = function(argumentCount) { + return util.filledRange(argumentCount, "_arg", ""); + }; + var parameterDeclaration = function(parameterCount2) { + return util.filledRange( + Math.max(parameterCount2, 3), + "_arg", + "" + ); + }; + var parameterCount = function(fn) { + if (typeof fn.length === "number") { + return Math.max(Math.min(fn.length, 1023 + 1), 0); + } + return 0; + }; + makeNodePromisifiedEval = function(callback, receiver, originalName, fn, _3, multiArgs) { + var newParameterCount = Math.max(0, parameterCount(fn) - 1); + var argumentOrder = switchCaseArgumentOrder(newParameterCount); + var shouldProxyThis = typeof callback === "string" || receiver === THIS; + function generateCallForArgumentCount(count) { + var args = argumentSequence(count).join(", "); + var comma = count > 0 ? ", " : ""; + var ret2; + if (shouldProxyThis) { + ret2 = "ret = callback.call(this, {{args}}, nodeback); break;\n"; + } else { + ret2 = receiver === void 0 ? "ret = callback({{args}}, nodeback); break;\n" : "ret = callback.call(receiver, {{args}}, nodeback); break;\n"; + } + return ret2.replace("{{args}}", args).replace(", ", comma); + } + function generateArgumentSwitchCase() { + var ret2 = ""; + for (var i = 0; i < argumentOrder.length; ++i) { + ret2 += "case " + argumentOrder[i] + ":" + generateCallForArgumentCount(argumentOrder[i]); + } + ret2 += " \n default: \n var args = new Array(len + 1); \n var i = 0; \n for (var i = 0; i < len; ++i) { \n args[i] = arguments[i]; \n } \n args[i] = nodeback; \n [CodeForCall] \n break; \n ".replace("[CodeForCall]", shouldProxyThis ? "ret = callback.apply(this, args);\n" : "ret = callback.apply(receiver, args);\n"); + return ret2; + } + var getFunctionCode = typeof callback === "string" ? "this != null ? this['" + callback + "'] : fn" : "fn"; + var body = "'use strict'; \n var ret = function (Parameters) { \n 'use strict'; \n var len = arguments.length; \n var promise = new Promise(INTERNAL); \n promise._captureStackTrace(); \n var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n var ret; \n var callback = tryCatch([GetFunctionCode]); \n switch(len) { \n [CodeForSwitchCase] \n } \n if (ret === errorObj) { \n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n } \n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n return promise; \n }; \n notEnumerableProp(ret, '__isPromisified__', true); \n return ret; \n ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()).replace("[GetFunctionCode]", getFunctionCode); + body = body.replace("Parameters", parameterDeclaration(newParameterCount)); + return new Function( + "Promise", + "fn", + "receiver", + "withAppended", + "maybeWrapAsError", + "nodebackForPromise", + "tryCatch", + "errorObj", + "notEnumerableProp", + "INTERNAL", + body + )( + Promise2, + fn, + receiver, + withAppended2, + maybeWrapAsError2, + nodebackForPromise, + util.tryCatch, + util.errorObj, + util.notEnumerableProp, + INTERNAL + ); + }; + } + function makeNodePromisifiedClosure(callback, receiver, _3, fn, __, multiArgs) { + var defaultThis = /* @__PURE__ */ (function() { + return this; + })(); + var method = callback; + if (typeof method === "string") { + callback = fn; + } + function promisified() { + var _receiver = receiver; + if (receiver === THIS) _receiver = this; + var promise = new Promise2(INTERNAL); + promise._captureStackTrace(); + var cb2 = typeof method === "string" && this !== defaultThis ? this[method] : callback; + var fn2 = nodebackForPromise(promise, multiArgs); + try { + cb2.apply(_receiver, withAppended2(arguments, fn2)); + } catch (e) { + promise._rejectCallback(maybeWrapAsError2(e), true, true); + } + if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); + return promise; + } + util.notEnumerableProp(promisified, "__isPromisified__", true); + return promisified; + } + var makeNodePromisified = canEvaluate2 ? makeNodePromisifiedEval : makeNodePromisifiedClosure; + function promisifyAll(obj2, suffix, filter2, promisifier, multiArgs) { + var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"); + var methods = promisifiableMethods(obj2, suffix, suffixRegexp, filter2); + for (var i = 0, len = methods.length; i < len; i += 2) { + var key = methods[i]; + var fn = methods[i + 1]; + var promisifiedKey = key + suffix; + if (promisifier === makeNodePromisified) { + obj2[promisifiedKey] = makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); + } else { + var promisified = promisifier(fn, function() { + return makeNodePromisified( + key, + THIS, + key, + fn, + suffix, + multiArgs + ); + }); + util.notEnumerableProp(promisified, "__isPromisified__", true); + obj2[promisifiedKey] = promisified; + } + } + util.toFastProperties(obj2); + return obj2; + } + function promisify(callback, receiver, multiArgs) { + return makeNodePromisified( + callback, + receiver, + void 0, + callback, + null, + multiArgs + ); + } + Promise2.promisify = function(fn, options) { + if (typeof fn !== "function") { + throw new TypeError2("expecting a function but got " + util.classString(fn)); + } + if (isPromisified(fn)) { + return fn; + } + options = Object(options); + var receiver = options.context === void 0 ? THIS : options.context; + var multiArgs = !!options.multiArgs; + var ret2 = promisify(fn, receiver, multiArgs); + util.copyDescriptors(fn, ret2, propsFilter); + return ret2; + }; + Promise2.promisifyAll = function(target, options) { + if (typeof target !== "function" && typeof target !== "object") { + throw new TypeError2("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n"); + } + options = Object(options); + var multiArgs = !!options.multiArgs; + var suffix = options.suffix; + if (typeof suffix !== "string") suffix = defaultSuffix; + var filter2 = options.filter; + if (typeof filter2 !== "function") filter2 = defaultFilter; + var promisifier = options.promisifier; + if (typeof promisifier !== "function") promisifier = makeNodePromisified; + if (!util.isIdentifier(suffix)) { + throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n"); + } + var keys2 = util.inheritedDataKeys(target); + for (var i = 0; i < keys2.length; ++i) { + var value = target[keys2[i]]; + if (keys2[i] !== "constructor" && util.isClass(value)) { + promisifyAll( + value.prototype, + suffix, + filter2, + promisifier, + multiArgs + ); + promisifyAll(value, suffix, filter2, promisifier, multiArgs); + } + } + return promisifyAll(target, suffix, filter2, promisifier, multiArgs); + }; + }; + } +}); + +// node_modules/bluebird/js/release/props.js +var require_props = __commonJS({ + "node_modules/bluebird/js/release/props.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, tryConvertToPromise, apiRejection) { + var util = require_util(); + var isObject4 = util.isObject; + var es52 = require_es5(); + var Es6Map; + if (typeof Map === "function") Es6Map = Map; + var mapToEntries = /* @__PURE__ */ (function() { + var index = 0; + var size2 = 0; + function extractEntry(value, key) { + this[index] = value; + this[index + size2] = key; + index++; + } + return function mapToEntries2(map2) { + size2 = map2.size; + index = 0; + var ret2 = new Array(map2.size * 2); + map2.forEach(extractEntry, ret2); + return ret2; + }; + })(); + var entriesToMap = function(entries) { + var ret2 = new Es6Map(); + var length = entries.length / 2 | 0; + for (var i = 0; i < length; ++i) { + var key = entries[length + i]; + var value = entries[i]; + ret2.set(key, value); + } + return ret2; + }; + function PropertiesPromiseArray(obj2) { + var isMap = false; + var entries; + if (Es6Map !== void 0 && obj2 instanceof Es6Map) { + entries = mapToEntries(obj2); + isMap = true; + } else { + var keys2 = es52.keys(obj2); + var len = keys2.length; + entries = new Array(len * 2); + for (var i = 0; i < len; ++i) { + var key = keys2[i]; + entries[i] = obj2[key]; + entries[i + len] = key; + } + } + this.constructor$(entries); + this._isMap = isMap; + this._init$(void 0, -3); + } + util.inherits(PropertiesPromiseArray, PromiseArray); + PropertiesPromiseArray.prototype._init = function() { + }; + PropertiesPromiseArray.prototype._promiseFulfilled = function(value, index) { + this._values[index] = value; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + var val; + if (this._isMap) { + val = entriesToMap(this._values); + } else { + val = {}; + var keyOffset = this.length(); + for (var i = 0, len = this.length(); i < len; ++i) { + val[this._values[i + keyOffset]] = this._values[i]; + } + } + this._resolve(val); + return true; + } + return false; + }; + PropertiesPromiseArray.prototype.shouldCopyValues = function() { + return false; + }; + PropertiesPromiseArray.prototype.getActualLength = function(len) { + return len >> 1; + }; + function props(promises) { + var ret2; + var castValue = tryConvertToPromise(promises); + if (!isObject4(castValue)) { + return apiRejection("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n"); + } else if (castValue instanceof Promise2) { + ret2 = castValue._then( + Promise2.props, + void 0, + void 0, + void 0, + void 0 + ); + } else { + ret2 = new PropertiesPromiseArray(castValue).promise(); + } + if (castValue instanceof Promise2) { + ret2._propagateFrom(castValue, 2); + } + return ret2; + } + Promise2.prototype.props = function() { + return props(this); + }; + Promise2.props = function(promises) { + return props(promises); + }; + }; + } +}); + +// node_modules/bluebird/js/release/race.js +var require_race = __commonJS({ + "node_modules/bluebird/js/release/race.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL, tryConvertToPromise, apiRejection) { + var util = require_util(); + var raceLater = function(promise) { + return promise.then(function(array) { + return race(array, promise); + }); + }; + function race(promises, parent) { + var maybePromise = tryConvertToPromise(promises); + if (maybePromise instanceof Promise2) { + return raceLater(maybePromise); + } else { + promises = util.asArray(promises); + if (promises === null) + return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); + } + var ret2 = new Promise2(INTERNAL); + if (parent !== void 0) { + ret2._propagateFrom(parent, 3); + } + var fulfill = ret2._fulfill; + var reject2 = ret2._reject; + for (var i = 0, len = promises.length; i < len; ++i) { + var val = promises[i]; + if (val === void 0 && !(i in promises)) { + continue; + } + Promise2.cast(val)._then(fulfill, reject2, void 0, ret2, null); + } + return ret2; + } + Promise2.race = function(promises) { + return race(promises, void 0); + }; + Promise2.prototype.race = function() { + return race(this, void 0); + }; + }; + } +}); + +// node_modules/bluebird/js/release/reduce.js +var require_reduce = __commonJS({ + "node_modules/bluebird/js/release/reduce.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) { + var getDomain = Promise2._getDomain; + var util = require_util(); + var tryCatch2 = util.tryCatch; + function ReductionPromiseArray(promises, fn, initialValue, _each) { + this.constructor$(promises); + var domain = getDomain(); + this._fn = domain === null ? fn : util.domainBind(domain, fn); + if (initialValue !== void 0) { + initialValue = Promise2.resolve(initialValue); + initialValue._attachCancellationCallback(this); + } + this._initialValue = initialValue; + this._currentCancellable = null; + if (_each === INTERNAL) { + this._eachValues = Array(this._length); + } else if (_each === 0) { + this._eachValues = null; + } else { + this._eachValues = void 0; + } + this._promise._captureStackTrace(); + this._init$(void 0, -5); + } + util.inherits(ReductionPromiseArray, PromiseArray); + ReductionPromiseArray.prototype._gotAccum = function(accum) { + if (this._eachValues !== void 0 && this._eachValues !== null && accum !== INTERNAL) { + this._eachValues.push(accum); + } + }; + ReductionPromiseArray.prototype._eachComplete = function(value) { + if (this._eachValues !== null) { + this._eachValues.push(value); + } + return this._eachValues; + }; + ReductionPromiseArray.prototype._init = function() { + }; + ReductionPromiseArray.prototype._resolveEmptyArray = function() { + this._resolve(this._eachValues !== void 0 ? this._eachValues : this._initialValue); + }; + ReductionPromiseArray.prototype.shouldCopyValues = function() { + return false; + }; + ReductionPromiseArray.prototype._resolve = function(value) { + this._promise._resolveCallback(value); + this._values = null; + }; + ReductionPromiseArray.prototype._resultCancelled = function(sender) { + if (sender === this._initialValue) return this._cancel(); + if (this._isResolved()) return; + this._resultCancelled$(); + if (this._currentCancellable instanceof Promise2) { + this._currentCancellable.cancel(); + } + if (this._initialValue instanceof Promise2) { + this._initialValue.cancel(); + } + }; + ReductionPromiseArray.prototype._iterate = function(values3) { + this._values = values3; + var value; + var i; + var length = values3.length; + if (this._initialValue !== void 0) { + value = this._initialValue; + i = 0; + } else { + value = Promise2.resolve(values3[0]); + i = 1; + } + this._currentCancellable = value; + if (!value.isRejected()) { + for (; i < length; ++i) { + var ctx = { + accum: null, + value: values3[i], + index: i, + length, + array: this + }; + value = value._then(gotAccum, void 0, void 0, ctx, void 0); + } + } + if (this._eachValues !== void 0) { + value = value._then(this._eachComplete, void 0, void 0, this, void 0); + } + value._then(completed, completed, void 0, value, this); + }; + Promise2.prototype.reduce = function(fn, initialValue) { + return reduce2(this, fn, initialValue, null); + }; + Promise2.reduce = function(promises, fn, initialValue, _each) { + return reduce2(promises, fn, initialValue, _each); + }; + function completed(valueOrReason, array) { + if (this.isFulfilled()) { + array._resolve(valueOrReason); + } else { + array._reject(valueOrReason); + } + } + function reduce2(promises, fn, initialValue, _each) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + var array = new ReductionPromiseArray(promises, fn, initialValue, _each); + return array.promise(); + } + function gotAccum(accum) { + this.accum = accum; + this.array._gotAccum(accum); + var value = tryConvertToPromise(this.value, this.array._promise); + if (value instanceof Promise2) { + this.array._currentCancellable = value; + return value._then(gotValue, void 0, void 0, this, void 0); + } else { + return gotValue.call(this, value); + } + } + function gotValue(value) { + var array = this.array; + var promise = array._promise; + var fn = tryCatch2(array._fn); + promise._pushContext(); + var ret2; + if (array._eachValues !== void 0) { + ret2 = fn.call(promise._boundValue(), value, this.index, this.length); + } else { + ret2 = fn.call( + promise._boundValue(), + this.accum, + value, + this.index, + this.length + ); + } + if (ret2 instanceof Promise2) { + array._currentCancellable = ret2; + } + var promiseCreated = promise._popContext(); + debug.checkForgottenReturns( + ret2, + promiseCreated, + array._eachValues !== void 0 ? "Promise.each" : "Promise.reduce", + promise + ); + return ret2; + } + }; + } +}); + +// node_modules/bluebird/js/release/settle.js +var require_settle = __commonJS({ + "node_modules/bluebird/js/release/settle.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, debug) { + var PromiseInspection = Promise2.PromiseInspection; + var util = require_util(); + function SettledPromiseArray(values3) { + this.constructor$(values3); + } + util.inherits(SettledPromiseArray, PromiseArray); + SettledPromiseArray.prototype._promiseResolved = function(index, inspection) { + this._values[index] = inspection; + var totalResolved = ++this._totalResolved; + if (totalResolved >= this._length) { + this._resolve(this._values); + return true; + } + return false; + }; + SettledPromiseArray.prototype._promiseFulfilled = function(value, index) { + var ret2 = new PromiseInspection(); + ret2._bitField = 33554432; + ret2._settledValueField = value; + return this._promiseResolved(index, ret2); + }; + SettledPromiseArray.prototype._promiseRejected = function(reason, index) { + var ret2 = new PromiseInspection(); + ret2._bitField = 16777216; + ret2._settledValueField = reason; + return this._promiseResolved(index, ret2); + }; + Promise2.settle = function(promises) { + debug.deprecated(".settle()", ".reflect()"); + return new SettledPromiseArray(promises).promise(); + }; + Promise2.prototype.settle = function() { + return Promise2.settle(this); + }; + }; + } +}); + +// node_modules/bluebird/js/release/some.js +var require_some = __commonJS({ + "node_modules/bluebird/js/release/some.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, PromiseArray, apiRejection) { + var util = require_util(); + var RangeError2 = require_errors().RangeError; + var AggregateError = require_errors().AggregateError; + var isArray = util.isArray; + var CANCELLATION = {}; + function SomePromiseArray(values3) { + this.constructor$(values3); + this._howMany = 0; + this._unwrap = false; + this._initialized = false; + } + util.inherits(SomePromiseArray, PromiseArray); + SomePromiseArray.prototype._init = function() { + if (!this._initialized) { + return; + } + if (this._howMany === 0) { + this._resolve([]); + return; + } + this._init$(void 0, -5); + var isArrayResolved = isArray(this._values); + if (!this._isResolved() && isArrayResolved && this._howMany > this._canPossiblyFulfill()) { + this._reject(this._getRangeError(this.length())); + } + }; + SomePromiseArray.prototype.init = function() { + this._initialized = true; + this._init(); + }; + SomePromiseArray.prototype.setUnwrap = function() { + this._unwrap = true; + }; + SomePromiseArray.prototype.howMany = function() { + return this._howMany; + }; + SomePromiseArray.prototype.setHowMany = function(count) { + this._howMany = count; + }; + SomePromiseArray.prototype._promiseFulfilled = function(value) { + this._addFulfilled(value); + if (this._fulfilled() === this.howMany()) { + this._values.length = this.howMany(); + if (this.howMany() === 1 && this._unwrap) { + this._resolve(this._values[0]); + } else { + this._resolve(this._values); + } + return true; + } + return false; + }; + SomePromiseArray.prototype._promiseRejected = function(reason) { + this._addRejected(reason); + return this._checkOutcome(); + }; + SomePromiseArray.prototype._promiseCancelled = function() { + if (this._values instanceof Promise2 || this._values == null) { + return this._cancel(); + } + this._addRejected(CANCELLATION); + return this._checkOutcome(); + }; + SomePromiseArray.prototype._checkOutcome = function() { + if (this.howMany() > this._canPossiblyFulfill()) { + var e = new AggregateError(); + for (var i = this.length(); i < this._values.length; ++i) { + if (this._values[i] !== CANCELLATION) { + e.push(this._values[i]); + } + } + if (e.length > 0) { + this._reject(e); + } else { + this._cancel(); + } + return true; + } + return false; + }; + SomePromiseArray.prototype._fulfilled = function() { + return this._totalResolved; + }; + SomePromiseArray.prototype._rejected = function() { + return this._values.length - this.length(); + }; + SomePromiseArray.prototype._addRejected = function(reason) { + this._values.push(reason); + }; + SomePromiseArray.prototype._addFulfilled = function(value) { + this._values[this._totalResolved++] = value; + }; + SomePromiseArray.prototype._canPossiblyFulfill = function() { + return this.length() - this._rejected(); + }; + SomePromiseArray.prototype._getRangeError = function(count) { + var message = "Input array must contain at least " + this._howMany + " items but contains only " + count + " items"; + return new RangeError2(message); + }; + SomePromiseArray.prototype._resolveEmptyArray = function() { + this._reject(this._getRangeError(0)); + }; + function some2(promises, howMany) { + if ((howMany | 0) !== howMany || howMany < 0) { + return apiRejection("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n"); + } + var ret2 = new SomePromiseArray(promises); + var promise = ret2.promise(); + ret2.setHowMany(howMany); + ret2.init(); + return promise; + } + Promise2.some = function(promises, howMany) { + return some2(promises, howMany); + }; + Promise2.prototype.some = function(howMany) { + return some2(this, howMany); + }; + Promise2._SomePromiseArray = SomePromiseArray; + }; + } +}); + +// node_modules/bluebird/js/release/filter.js +var require_filter = __commonJS({ + "node_modules/bluebird/js/release/filter.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL) { + var PromiseMap = Promise2.map; + Promise2.prototype.filter = function(fn, options) { + return PromiseMap(this, fn, options, INTERNAL); + }; + Promise2.filter = function(promises, fn, options) { + return PromiseMap(promises, fn, options, INTERNAL); + }; + }; + } +}); + +// node_modules/bluebird/js/release/each.js +var require_each = __commonJS({ + "node_modules/bluebird/js/release/each.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2, INTERNAL) { + var PromiseReduce = Promise2.reduce; + var PromiseAll = Promise2.all; + function promiseAllThis() { + return PromiseAll(this); + } + function PromiseMapSeries(promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, INTERNAL); + } + Promise2.prototype.each = function(fn) { + return PromiseReduce(this, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, this, void 0); + }; + Promise2.prototype.mapSeries = function(fn) { + return PromiseReduce(this, fn, INTERNAL, INTERNAL); + }; + Promise2.each = function(promises, fn) { + return PromiseReduce(promises, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, promises, void 0); + }; + Promise2.mapSeries = PromiseMapSeries; + }; + } +}); + +// node_modules/bluebird/js/release/any.js +var require_any = __commonJS({ + "node_modules/bluebird/js/release/any.js"(exports2, module2) { + "use strict"; + module2.exports = function(Promise2) { + var SomePromiseArray = Promise2._SomePromiseArray; + function any(promises) { + var ret2 = new SomePromiseArray(promises); + var promise = ret2.promise(); + ret2.setHowMany(1); + ret2.setUnwrap(); + ret2.init(); + return promise; + } + Promise2.any = function(promises) { + return any(promises); + }; + Promise2.prototype.any = function() { + return any(this); + }; + }; + } +}); + +// node_modules/bluebird/js/release/promise.js +var require_promise = __commonJS({ + "node_modules/bluebird/js/release/promise.js"(exports2, module2) { + "use strict"; + module2.exports = function() { + var makeSelfResolutionError = function() { + return new TypeError2("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n"); + }; + var reflectHandler = function() { + return new Promise2.PromiseInspection(this._target()); + }; + var apiRejection = function(msg) { + return Promise2.reject(new TypeError2(msg)); + }; + function Proxyable() { + } + var UNDEFINED_BINDING = {}; + var util = require_util(); + var getDomain; + if (util.isNode) { + getDomain = function() { + var ret2 = process.domain; + if (ret2 === void 0) ret2 = null; + return ret2; + }; + } else { + getDomain = function() { + return null; + }; + } + util.notEnumerableProp(Promise2, "_getDomain", getDomain); + var es52 = require_es5(); + var Async = require_async(); + var async = new Async(); + es52.defineProperty(Promise2, "_async", { value: async }); + var errors = require_errors(); + var TypeError2 = Promise2.TypeError = errors.TypeError; + Promise2.RangeError = errors.RangeError; + var CancellationError = Promise2.CancellationError = errors.CancellationError; + Promise2.TimeoutError = errors.TimeoutError; + Promise2.OperationalError = errors.OperationalError; + Promise2.RejectionError = errors.OperationalError; + Promise2.AggregateError = errors.AggregateError; + var INTERNAL = function() { + }; + var APPLY = {}; + var NEXT_FILTER = {}; + var tryConvertToPromise = require_thenables()(Promise2, INTERNAL); + var PromiseArray = require_promise_array()( + Promise2, + INTERNAL, + tryConvertToPromise, + apiRejection, + Proxyable + ); + var Context = require_context()(Promise2); + var createContext = Context.create; + var debug = require_debuggability()(Promise2, Context); + var CapturedTrace = debug.CapturedTrace; + var PassThroughHandlerContext = require_finally()(Promise2, tryConvertToPromise); + var catchFilter = require_catch_filter()(NEXT_FILTER); + var nodebackForPromise = require_nodeback(); + var errorObj2 = util.errorObj; + var tryCatch2 = util.tryCatch; + function check(self2, executor) { + if (typeof executor !== "function") { + throw new TypeError2("expecting a function but got " + util.classString(executor)); + } + if (self2.constructor !== Promise2) { + throw new TypeError2("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n"); + } + } + function Promise2(executor) { + this._bitField = 0; + this._fulfillmentHandler0 = void 0; + this._rejectionHandler0 = void 0; + this._promise0 = void 0; + this._receiver0 = void 0; + if (executor !== INTERNAL) { + check(this, executor); + this._resolveFromExecutor(executor); + } + this._promiseCreated(); + this._fireEvent("promiseCreated", this); + } + Promise2.prototype.toString = function() { + return "[object Promise]"; + }; + Promise2.prototype.caught = Promise2.prototype["catch"] = function(fn) { + var len = arguments.length; + if (len > 1) { + var catchInstances = new Array(len - 1), j = 0, i; + for (i = 0; i < len - 1; ++i) { + var item = arguments[i]; + if (util.isObject(item)) { + catchInstances[j++] = item; + } else { + return apiRejection("expecting an object but got A catch statement predicate " + util.classString(item)); + } + } + catchInstances.length = j; + fn = arguments[i]; + return this.then(void 0, catchFilter(catchInstances, fn, this)); + } + return this.then(void 0, fn); + }; + Promise2.prototype.reflect = function() { + return this._then( + reflectHandler, + reflectHandler, + void 0, + this, + void 0 + ); + }; + Promise2.prototype.then = function(didFulfill, didReject) { + if (debug.warnings() && arguments.length > 0 && typeof didFulfill !== "function" && typeof didReject !== "function") { + var msg = ".then() only accepts functions but was passed: " + util.classString(didFulfill); + if (arguments.length > 1) { + msg += ", " + util.classString(didReject); + } + this._warn(msg); + } + return this._then(didFulfill, didReject, void 0, void 0, void 0); + }; + Promise2.prototype.done = function(didFulfill, didReject) { + var promise = this._then(didFulfill, didReject, void 0, void 0, void 0); + promise._setIsFinal(); + }; + Promise2.prototype.spread = function(fn) { + if (typeof fn !== "function") { + return apiRejection("expecting a function but got " + util.classString(fn)); + } + return this.all()._then(fn, void 0, void 0, APPLY, void 0); + }; + Promise2.prototype.toJSON = function() { + var ret2 = { + isFulfilled: false, + isRejected: false, + fulfillmentValue: void 0, + rejectionReason: void 0 + }; + if (this.isFulfilled()) { + ret2.fulfillmentValue = this.value(); + ret2.isFulfilled = true; + } else if (this.isRejected()) { + ret2.rejectionReason = this.reason(); + ret2.isRejected = true; + } + return ret2; + }; + Promise2.prototype.all = function() { + if (arguments.length > 0) { + this._warn(".all() was passed arguments but it does not take any"); + } + return new PromiseArray(this).promise(); + }; + Promise2.prototype.error = function(fn) { + return this.caught(util.originatesFromRejection, fn); + }; + Promise2.getNewLibraryCopy = module2.exports; + Promise2.is = function(val) { + return val instanceof Promise2; + }; + Promise2.fromNode = Promise2.fromCallback = function(fn) { + var ret2 = new Promise2(INTERNAL); + ret2._captureStackTrace(); + var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs : false; + var result2 = tryCatch2(fn)(nodebackForPromise(ret2, multiArgs)); + if (result2 === errorObj2) { + ret2._rejectCallback(result2.e, true); + } + if (!ret2._isFateSealed()) ret2._setAsyncGuaranteed(); + return ret2; + }; + Promise2.all = function(promises) { + return new PromiseArray(promises).promise(); + }; + Promise2.cast = function(obj2) { + var ret2 = tryConvertToPromise(obj2); + if (!(ret2 instanceof Promise2)) { + ret2 = new Promise2(INTERNAL); + ret2._captureStackTrace(); + ret2._setFulfilled(); + ret2._rejectionHandler0 = obj2; + } + return ret2; + }; + Promise2.resolve = Promise2.fulfilled = Promise2.cast; + Promise2.reject = Promise2.rejected = function(reason) { + var ret2 = new Promise2(INTERNAL); + ret2._captureStackTrace(); + ret2._rejectCallback(reason, true); + return ret2; + }; + Promise2.setScheduler = function(fn) { + if (typeof fn !== "function") { + throw new TypeError2("expecting a function but got " + util.classString(fn)); + } + return async.setScheduler(fn); + }; + Promise2.prototype._then = function(didFulfill, didReject, _3, receiver, internalData) { + var haveInternalData = internalData !== void 0; + var promise = haveInternalData ? internalData : new Promise2(INTERNAL); + var target = this._target(); + var bitField = target._bitField; + if (!haveInternalData) { + promise._propagateFrom(this, 3); + promise._captureStackTrace(); + if (receiver === void 0 && (this._bitField & 2097152) !== 0) { + if (!((bitField & 50397184) === 0)) { + receiver = this._boundValue(); + } else { + receiver = target === this ? void 0 : this._boundTo; + } + } + this._fireEvent("promiseChained", this, promise); + } + var domain = getDomain(); + if (!((bitField & 50397184) === 0)) { + var handler, value, settler = target._settlePromiseCtx; + if ((bitField & 33554432) !== 0) { + value = target._rejectionHandler0; + handler = didFulfill; + } else if ((bitField & 16777216) !== 0) { + value = target._fulfillmentHandler0; + handler = didReject; + target._unsetRejectionIsUnhandled(); + } else { + settler = target._settlePromiseLateCancellationObserver; + value = new CancellationError("late cancellation observer"); + target._attachExtraTrace(value); + handler = didReject; + } + async.invoke(settler, target, { + handler: domain === null ? handler : typeof handler === "function" && util.domainBind(domain, handler), + promise, + receiver, + value + }); + } else { + target._addCallbacks(didFulfill, didReject, promise, receiver, domain); + } + return promise; + }; + Promise2.prototype._length = function() { + return this._bitField & 65535; + }; + Promise2.prototype._isFateSealed = function() { + return (this._bitField & 117506048) !== 0; + }; + Promise2.prototype._isFollowing = function() { + return (this._bitField & 67108864) === 67108864; + }; + Promise2.prototype._setLength = function(len) { + this._bitField = this._bitField & -65536 | len & 65535; + }; + Promise2.prototype._setFulfilled = function() { + this._bitField = this._bitField | 33554432; + this._fireEvent("promiseFulfilled", this); + }; + Promise2.prototype._setRejected = function() { + this._bitField = this._bitField | 16777216; + this._fireEvent("promiseRejected", this); + }; + Promise2.prototype._setFollowing = function() { + this._bitField = this._bitField | 67108864; + this._fireEvent("promiseResolved", this); + }; + Promise2.prototype._setIsFinal = function() { + this._bitField = this._bitField | 4194304; + }; + Promise2.prototype._isFinal = function() { + return (this._bitField & 4194304) > 0; + }; + Promise2.prototype._unsetCancelled = function() { + this._bitField = this._bitField & ~65536; + }; + Promise2.prototype._setCancelled = function() { + this._bitField = this._bitField | 65536; + this._fireEvent("promiseCancelled", this); + }; + Promise2.prototype._setWillBeCancelled = function() { + this._bitField = this._bitField | 8388608; + }; + Promise2.prototype._setAsyncGuaranteed = function() { + if (async.hasCustomScheduler()) return; + this._bitField = this._bitField | 134217728; + }; + Promise2.prototype._receiverAt = function(index) { + var ret2 = index === 0 ? this._receiver0 : this[index * 4 - 4 + 3]; + if (ret2 === UNDEFINED_BINDING) { + return void 0; + } else if (ret2 === void 0 && this._isBound()) { + return this._boundValue(); + } + return ret2; + }; + Promise2.prototype._promiseAt = function(index) { + return this[index * 4 - 4 + 2]; + }; + Promise2.prototype._fulfillmentHandlerAt = function(index) { + return this[index * 4 - 4 + 0]; + }; + Promise2.prototype._rejectionHandlerAt = function(index) { + return this[index * 4 - 4 + 1]; + }; + Promise2.prototype._boundValue = function() { + }; + Promise2.prototype._migrateCallback0 = function(follower) { + var bitField = follower._bitField; + var fulfill = follower._fulfillmentHandler0; + var reject2 = follower._rejectionHandler0; + var promise = follower._promise0; + var receiver = follower._receiverAt(0); + if (receiver === void 0) receiver = UNDEFINED_BINDING; + this._addCallbacks(fulfill, reject2, promise, receiver, null); + }; + Promise2.prototype._migrateCallbackAt = function(follower, index) { + var fulfill = follower._fulfillmentHandlerAt(index); + var reject2 = follower._rejectionHandlerAt(index); + var promise = follower._promiseAt(index); + var receiver = follower._receiverAt(index); + if (receiver === void 0) receiver = UNDEFINED_BINDING; + this._addCallbacks(fulfill, reject2, promise, receiver, null); + }; + Promise2.prototype._addCallbacks = function(fulfill, reject2, promise, receiver, domain) { + var index = this._length(); + if (index >= 65535 - 4) { + index = 0; + this._setLength(0); + } + if (index === 0) { + this._promise0 = promise; + this._receiver0 = receiver; + if (typeof fulfill === "function") { + this._fulfillmentHandler0 = domain === null ? fulfill : util.domainBind(domain, fulfill); + } + if (typeof reject2 === "function") { + this._rejectionHandler0 = domain === null ? reject2 : util.domainBind(domain, reject2); + } + } else { + var base = index * 4 - 4; + this[base + 2] = promise; + this[base + 3] = receiver; + if (typeof fulfill === "function") { + this[base + 0] = domain === null ? fulfill : util.domainBind(domain, fulfill); + } + if (typeof reject2 === "function") { + this[base + 1] = domain === null ? reject2 : util.domainBind(domain, reject2); + } + } + this._setLength(index + 1); + return index; + }; + Promise2.prototype._proxy = function(proxyable, arg) { + this._addCallbacks(void 0, void 0, arg, proxyable, null); + }; + Promise2.prototype._resolveCallback = function(value, shouldBind) { + if ((this._bitField & 117506048) !== 0) return; + if (value === this) + return this._rejectCallback(makeSelfResolutionError(), false); + var maybePromise = tryConvertToPromise(value, this); + if (!(maybePromise instanceof Promise2)) return this._fulfill(value); + if (shouldBind) this._propagateFrom(maybePromise, 2); + var promise = maybePromise._target(); + if (promise === this) { + this._reject(makeSelfResolutionError()); + return; + } + var bitField = promise._bitField; + if ((bitField & 50397184) === 0) { + var len = this._length(); + if (len > 0) promise._migrateCallback0(this); + for (var i = 1; i < len; ++i) { + promise._migrateCallbackAt(this, i); + } + this._setFollowing(); + this._setLength(0); + this._setFollowee(promise); + } else if ((bitField & 33554432) !== 0) { + this._fulfill(promise._value()); + } else if ((bitField & 16777216) !== 0) { + this._reject(promise._reason()); + } else { + var reason = new CancellationError("late cancellation observer"); + promise._attachExtraTrace(reason); + this._reject(reason); + } + }; + Promise2.prototype._rejectCallback = function(reason, synchronous, ignoreNonErrorWarnings) { + var trace = util.ensureErrorObject(reason); + var hasStack = trace === reason; + if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { + var message = "a promise was rejected with a non-error: " + util.classString(reason); + this._warn(message, true); + } + this._attachExtraTrace(trace, synchronous ? hasStack : false); + this._reject(reason); + }; + Promise2.prototype._resolveFromExecutor = function(executor) { + var promise = this; + this._captureStackTrace(); + this._pushContext(); + var synchronous = true; + var r = this._execute(executor, function(value) { + promise._resolveCallback(value); + }, function(reason) { + promise._rejectCallback(reason, synchronous); + }); + synchronous = false; + this._popContext(); + if (r !== void 0) { + promise._rejectCallback(r, true); + } + }; + Promise2.prototype._settlePromiseFromHandler = function(handler, receiver, value, promise) { + var bitField = promise._bitField; + if ((bitField & 65536) !== 0) return; + promise._pushContext(); + var x; + if (receiver === APPLY) { + if (!value || typeof value.length !== "number") { + x = errorObj2; + x.e = new TypeError2("cannot .spread() a non-array: " + util.classString(value)); + } else { + x = tryCatch2(handler).apply(this._boundValue(), value); + } + } else { + x = tryCatch2(handler).call(receiver, value); + } + var promiseCreated = promise._popContext(); + bitField = promise._bitField; + if ((bitField & 65536) !== 0) return; + if (x === NEXT_FILTER) { + promise._reject(value); + } else if (x === errorObj2) { + promise._rejectCallback(x.e, false); + } else { + debug.checkForgottenReturns(x, promiseCreated, "", promise, this); + promise._resolveCallback(x); + } + }; + Promise2.prototype._target = function() { + var ret2 = this; + while (ret2._isFollowing()) ret2 = ret2._followee(); + return ret2; + }; + Promise2.prototype._followee = function() { + return this._rejectionHandler0; + }; + Promise2.prototype._setFollowee = function(promise) { + this._rejectionHandler0 = promise; + }; + Promise2.prototype._settlePromise = function(promise, handler, receiver, value) { + var isPromise = promise instanceof Promise2; + var bitField = this._bitField; + var asyncGuaranteed = (bitField & 134217728) !== 0; + if ((bitField & 65536) !== 0) { + if (isPromise) promise._invokeInternalOnCancel(); + if (receiver instanceof PassThroughHandlerContext && receiver.isFinallyHandler()) { + receiver.cancelPromise = promise; + if (tryCatch2(handler).call(receiver, value) === errorObj2) { + promise._reject(errorObj2.e); + } + } else if (handler === reflectHandler) { + promise._fulfill(reflectHandler.call(receiver)); + } else if (receiver instanceof Proxyable) { + receiver._promiseCancelled(promise); + } else if (isPromise || promise instanceof PromiseArray) { + promise._cancel(); + } else { + receiver.cancel(); + } + } else if (typeof handler === "function") { + if (!isPromise) { + handler.call(receiver, value, promise); + } else { + if (asyncGuaranteed) promise._setAsyncGuaranteed(); + this._settlePromiseFromHandler(handler, receiver, value, promise); + } + } else if (receiver instanceof Proxyable) { + if (!receiver._isResolved()) { + if ((bitField & 33554432) !== 0) { + receiver._promiseFulfilled(value, promise); + } else { + receiver._promiseRejected(value, promise); + } + } + } else if (isPromise) { + if (asyncGuaranteed) promise._setAsyncGuaranteed(); + if ((bitField & 33554432) !== 0) { + promise._fulfill(value); + } else { + promise._reject(value); + } + } + }; + Promise2.prototype._settlePromiseLateCancellationObserver = function(ctx) { + var handler = ctx.handler; + var promise = ctx.promise; + var receiver = ctx.receiver; + var value = ctx.value; + if (typeof handler === "function") { + if (!(promise instanceof Promise2)) { + handler.call(receiver, value, promise); + } else { + this._settlePromiseFromHandler(handler, receiver, value, promise); + } + } else if (promise instanceof Promise2) { + promise._reject(value); + } + }; + Promise2.prototype._settlePromiseCtx = function(ctx) { + this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value); + }; + Promise2.prototype._settlePromise0 = function(handler, value, bitField) { + var promise = this._promise0; + var receiver = this._receiverAt(0); + this._promise0 = void 0; + this._receiver0 = void 0; + this._settlePromise(promise, handler, receiver, value); + }; + Promise2.prototype._clearCallbackDataAtIndex = function(index) { + var base = index * 4 - 4; + this[base + 2] = this[base + 3] = this[base + 0] = this[base + 1] = void 0; + }; + Promise2.prototype._fulfill = function(value) { + var bitField = this._bitField; + if ((bitField & 117506048) >>> 16) return; + if (value === this) { + var err = makeSelfResolutionError(); + this._attachExtraTrace(err); + return this._reject(err); + } + this._setFulfilled(); + this._rejectionHandler0 = value; + if ((bitField & 65535) > 0) { + if ((bitField & 134217728) !== 0) { + this._settlePromises(); + } else { + async.settlePromises(this); + } + } + }; + Promise2.prototype._reject = function(reason) { + var bitField = this._bitField; + if ((bitField & 117506048) >>> 16) return; + this._setRejected(); + this._fulfillmentHandler0 = reason; + if (this._isFinal()) { + return async.fatalError(reason, util.isNode); + } + if ((bitField & 65535) > 0) { + async.settlePromises(this); + } else { + this._ensurePossibleRejectionHandled(); + } + }; + Promise2.prototype._fulfillPromises = function(len, value) { + for (var i = 1; i < len; i++) { + var handler = this._fulfillmentHandlerAt(i); + var promise = this._promiseAt(i); + var receiver = this._receiverAt(i); + this._clearCallbackDataAtIndex(i); + this._settlePromise(promise, handler, receiver, value); + } + }; + Promise2.prototype._rejectPromises = function(len, reason) { + for (var i = 1; i < len; i++) { + var handler = this._rejectionHandlerAt(i); + var promise = this._promiseAt(i); + var receiver = this._receiverAt(i); + this._clearCallbackDataAtIndex(i); + this._settlePromise(promise, handler, receiver, reason); + } + }; + Promise2.prototype._settlePromises = function() { + var bitField = this._bitField; + var len = bitField & 65535; + if (len > 0) { + if ((bitField & 16842752) !== 0) { + var reason = this._fulfillmentHandler0; + this._settlePromise0(this._rejectionHandler0, reason, bitField); + this._rejectPromises(len, reason); + } else { + var value = this._rejectionHandler0; + this._settlePromise0(this._fulfillmentHandler0, value, bitField); + this._fulfillPromises(len, value); + } + this._setLength(0); + } + this._clearCancellationData(); + }; + Promise2.prototype._settledValue = function() { + var bitField = this._bitField; + if ((bitField & 33554432) !== 0) { + return this._rejectionHandler0; + } else if ((bitField & 16777216) !== 0) { + return this._fulfillmentHandler0; + } + }; + function deferResolve(v) { + this.promise._resolveCallback(v); + } + function deferReject(v) { + this.promise._rejectCallback(v, false); + } + Promise2.defer = Promise2.pending = function() { + debug.deprecated("Promise.defer", "new Promise"); + var promise = new Promise2(INTERNAL); + return { + promise, + resolve: deferResolve, + reject: deferReject + }; + }; + util.notEnumerableProp( + Promise2, + "_makeSelfResolutionError", + makeSelfResolutionError + ); + require_method()( + Promise2, + INTERNAL, + tryConvertToPromise, + apiRejection, + debug + ); + require_bind()(Promise2, INTERNAL, tryConvertToPromise, debug); + require_cancel()(Promise2, PromiseArray, apiRejection, debug); + require_direct_resolve()(Promise2); + require_synchronous_inspection()(Promise2); + require_join()( + Promise2, + PromiseArray, + tryConvertToPromise, + INTERNAL, + async, + getDomain + ); + Promise2.Promise = Promise2; + Promise2.version = "3.4.7"; + require_map()(Promise2, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); + require_call_get()(Promise2); + require_using()(Promise2, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug); + require_timers()(Promise2, INTERNAL, debug); + require_generators()(Promise2, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug); + require_nodeify()(Promise2); + require_promisify()(Promise2, INTERNAL); + require_props()(Promise2, PromiseArray, tryConvertToPromise, apiRejection); + require_race()(Promise2, INTERNAL, tryConvertToPromise, apiRejection); + require_reduce()(Promise2, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug); + require_settle()(Promise2, PromiseArray, debug); + require_some()(Promise2, PromiseArray, apiRejection); + require_filter()(Promise2, INTERNAL); + require_each()(Promise2, INTERNAL); + require_any()(Promise2); + util.toFastProperties(Promise2); + util.toFastProperties(Promise2.prototype); + function fillTypes(value) { + var p = new Promise2(INTERNAL); + p._fulfillmentHandler0 = value; + p._rejectionHandler0 = value; + p._promise0 = value; + p._receiver0 = value; + } + fillTypes({ a: 1 }); + fillTypes({ b: 2 }); + fillTypes({ c: 3 }); + fillTypes(1); + fillTypes(function() { + }); + fillTypes(void 0); + fillTypes(false); + fillTypes(new Promise2(INTERNAL)); + debug.setBounds(Async.firstLineError, util.lastLineError); + return Promise2; + }; + } +}); + +// node_modules/mammoth/lib/promises.js +var require_promises = __commonJS({ + "node_modules/mammoth/lib/promises.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var bluebird = require_promise()(); + exports2.defer = defer; + exports2.when = bluebird.resolve; + exports2.resolve = bluebird.resolve; + exports2.all = bluebird.all; + exports2.props = bluebird.props; + exports2.reject = bluebird.reject; + exports2.promisify = bluebird.promisify; + exports2.mapSeries = bluebird.mapSeries; + exports2.attempt = bluebird.attempt; + exports2.nfcall = function(func) { + var args = Array.prototype.slice.call(arguments, 1); + var promisedFunc = bluebird.promisify(func); + return promisedFunc.apply(null, args); + }; + bluebird.prototype.fail = bluebird.prototype.caught; + bluebird.prototype.also = function(func) { + return this.then(function(value) { + var returnValue = _3.extend({}, value, func(value)); + return bluebird.props(returnValue); + }); + }; + function defer() { + var resolve; + var reject2; + var promise = new bluebird.Promise(function(resolveArg, rejectArg) { + resolve = resolveArg; + reject2 = rejectArg; + }); + return { + resolve, + reject: reject2, + promise + }; + } + } +}); + +// node_modules/mammoth/lib/documents.js +var require_documents = __commonJS({ + "node_modules/mammoth/lib/documents.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var types = exports2.types = { + document: "document", + paragraph: "paragraph", + run: "run", + text: "text", + tab: "tab", + hyperlink: "hyperlink", + noteReference: "noteReference", + image: "image", + note: "note", + commentReference: "commentReference", + comment: "comment", + table: "table", + tableRow: "tableRow", + tableCell: "tableCell", + "break": "break", + bookmarkStart: "bookmarkStart" + }; + function Document(children, options) { + options = options || {}; + return { + type: types.document, + children, + notes: options.notes || new Notes({}), + comments: options.comments || [] + }; + } + function Paragraph(children, properties) { + properties = properties || {}; + var indent = properties.indent || {}; + return { + type: types.paragraph, + children, + styleId: properties.styleId || null, + styleName: properties.styleName || null, + numbering: properties.numbering || null, + alignment: properties.alignment || null, + indent: { + start: indent.start || null, + end: indent.end || null, + firstLine: indent.firstLine || null, + hanging: indent.hanging || null + } + }; + } + function Run(children, properties) { + properties = properties || {}; + return { + type: types.run, + children, + styleId: properties.styleId || null, + styleName: properties.styleName || null, + isBold: !!properties.isBold, + isUnderline: !!properties.isUnderline, + isItalic: !!properties.isItalic, + isStrikethrough: !!properties.isStrikethrough, + isAllCaps: !!properties.isAllCaps, + isSmallCaps: !!properties.isSmallCaps, + verticalAlignment: properties.verticalAlignment || verticalAlignment.baseline, + font: properties.font || null, + fontSize: properties.fontSize || null, + highlight: properties.highlight || null + }; + } + var verticalAlignment = { + baseline: "baseline", + superscript: "superscript", + subscript: "subscript" + }; + function Text(value) { + return { + type: types.text, + value + }; + } + function Tab() { + return { + type: types.tab + }; + } + function Hyperlink(children, options) { + return { + type: types.hyperlink, + children, + href: options.href, + anchor: options.anchor, + targetFrame: options.targetFrame + }; + } + function NoteReference(options) { + return { + type: types.noteReference, + noteType: options.noteType, + noteId: options.noteId + }; + } + function Notes(notes) { + this._notes = _3.indexBy(notes, function(note) { + return noteKey(note.noteType, note.noteId); + }); + } + Notes.prototype.resolve = function(reference) { + return this.findNoteByKey(noteKey(reference.noteType, reference.noteId)); + }; + Notes.prototype.findNoteByKey = function(key) { + return this._notes[key] || null; + }; + function Note(options) { + return { + type: types.note, + noteType: options.noteType, + noteId: options.noteId, + body: options.body + }; + } + function commentReference(options) { + return { + type: types.commentReference, + commentId: options.commentId + }; + } + function comment(options) { + return { + type: types.comment, + commentId: options.commentId, + body: options.body, + authorName: options.authorName, + authorInitials: options.authorInitials + }; + } + function noteKey(noteType, id) { + return noteType + "-" + id; + } + function Image(options) { + return { + type: types.image, + // `read` is retained for backwards compatibility, but other read + // methods should be preferred. + read: function(encoding) { + if (encoding) { + return options.readImage(encoding); + } else { + return options.readImage().then(function(arrayBuffer) { + return Buffer.from(arrayBuffer); + }); + } + }, + readAsArrayBuffer: function() { + return options.readImage(); + }, + readAsBase64String: function() { + return options.readImage("base64"); + }, + readAsBuffer: function() { + return options.readImage().then(function(arrayBuffer) { + return Buffer.from(arrayBuffer); + }); + }, + altText: options.altText, + contentType: options.contentType + }; + } + function Table(children, properties) { + properties = properties || {}; + return { + type: types.table, + children, + styleId: properties.styleId || null, + styleName: properties.styleName || null + }; + } + function TableRow(children, options) { + options = options || {}; + return { + type: types.tableRow, + children, + isHeader: options.isHeader || false + }; + } + function TableCell(children, options) { + options = options || {}; + return { + type: types.tableCell, + children, + colSpan: options.colSpan == null ? 1 : options.colSpan, + rowSpan: options.rowSpan == null ? 1 : options.rowSpan + }; + } + function Break(breakType) { + return { + type: types["break"], + breakType + }; + } + function BookmarkStart(options) { + return { + type: types.bookmarkStart, + name: options.name + }; + } + exports2.document = exports2.Document = Document; + exports2.paragraph = exports2.Paragraph = Paragraph; + exports2.run = exports2.Run = Run; + exports2.text = exports2.Text = Text; + exports2.tab = exports2.Tab = Tab; + exports2.Hyperlink = Hyperlink; + exports2.noteReference = exports2.NoteReference = NoteReference; + exports2.Notes = Notes; + exports2.Note = Note; + exports2.commentReference = commentReference; + exports2.comment = comment; + exports2.Image = Image; + exports2.Table = Table; + exports2.TableRow = TableRow; + exports2.TableCell = TableCell; + exports2.lineBreak = Break("line"); + exports2.pageBreak = Break("page"); + exports2.columnBreak = Break("column"); + exports2.BookmarkStart = BookmarkStart; + exports2.verticalAlignment = verticalAlignment; + } +}); + +// node_modules/mammoth/lib/results.js +var require_results = __commonJS({ + "node_modules/mammoth/lib/results.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + exports2.Result = Result; + exports2.success = success; + exports2.warning = warning; + exports2.error = error; + function Result(value, messages) { + this.value = value; + this.messages = messages || []; + } + Result.prototype.map = function(func) { + return new Result(func(this.value), this.messages); + }; + Result.prototype.flatMap = function(func) { + var funcResult = func(this.value); + return new Result(funcResult.value, combineMessages([this, funcResult])); + }; + Result.prototype.flatMapThen = function(func) { + var that = this; + return func(this.value).then(function(otherResult) { + return new Result(otherResult.value, combineMessages([that, otherResult])); + }); + }; + Result.combine = function(results) { + var values3 = _3.flatten(_3.pluck(results, "value")); + var messages = combineMessages(results); + return new Result(values3, messages); + }; + function success(value) { + return new Result(value, []); + } + function warning(message) { + return { + type: "warning", + message + }; + } + function error(exception) { + return { + type: "error", + message: exception.message, + error: exception + }; + } + function combineMessages(results) { + var messages = []; + _3.flatten(_3.pluck(results, "messages"), true).forEach(function(message) { + if (!containsMessage(messages, message)) { + messages.push(message); + } + }); + return messages; + } + function containsMessage(messages, message) { + return _3.find(messages, isSameMessage.bind(null, message)) !== void 0; + } + function isSameMessage(first2, second) { + return first2.type === second.type && first2.message === second.message; + } + } +}); + +// node_modules/base64-js/index.js +var require_base64_js = __commonJS({ + "node_modules/base64-js/index.js"(exports2) { + "use strict"; + exports2.byteLength = byteLength; + exports2.toByteArray = toByteArray; + exports2.fromByteArray = fromByteArray; + var lookup = []; + var revLookup = []; + var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; + var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + for (i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; + } + var i; + var len; + revLookup["-".charCodeAt(0)] = 62; + revLookup["_".charCodeAt(0)] = 63; + function getLens(b64) { + var len2 = b64.length; + if (len2 % 4 > 0) { + throw new Error("Invalid string. Length must be a multiple of 4"); + } + var validLen = b64.indexOf("="); + if (validLen === -1) validLen = len2; + var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4; + return [validLen, placeHoldersLen]; + } + function byteLength(b64) { + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; + } + function _byteLength(b64, validLen, placeHoldersLen) { + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; + } + function toByteArray(b64) { + var tmp; + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); + var curByte = 0; + var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen; + var i2; + for (i2 = 0; i2 < len2; i2 += 4) { + tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)]; + arr[curByte++] = tmp >> 16 & 255; + arr[curByte++] = tmp >> 8 & 255; + arr[curByte++] = tmp & 255; + } + if (placeHoldersLen === 2) { + tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4; + arr[curByte++] = tmp & 255; + } + if (placeHoldersLen === 1) { + tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2; + arr[curByte++] = tmp >> 8 & 255; + arr[curByte++] = tmp & 255; + } + return arr; + } + function tripletToBase64(num) { + return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; + } + function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i2 = start; i2 < end; i2 += 3) { + tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255); + output.push(tripletToBase64(tmp)); + } + return output.join(""); + } + function fromByteArray(uint8) { + var tmp; + var len2 = uint8.length; + var extraBytes = len2 % 3; + var parts = []; + var maxChunkLength = 16383; + for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) { + parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength)); + } + if (extraBytes === 1) { + tmp = uint8[len2 - 1]; + parts.push( + lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==" + ); + } else if (extraBytes === 2) { + tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1]; + parts.push( + lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=" + ); + } + return parts.join(""); + } + } +}); + +// node_modules/jszip/dist/jszip.min.js +var require_jszip_min = __commonJS({ + "node_modules/jszip/dist/jszip.min.js"(exports2, module2) { + !(function(e) { + if ("object" == typeof exports2 && "undefined" != typeof module2) module2.exports = e(); + else if ("function" == typeof define && define.amd) define([], e); + else { + ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); + } + })(function() { + return (function s(a, o, h) { + function u(r, e2) { + if (!o[r]) { + if (!a[r]) { + var t = "function" == typeof require && require; + if (!e2 && t) return t(r, true); + if (l2) return l2(r, true); + var n = new Error("Cannot find module '" + r + "'"); + throw n.code = "MODULE_NOT_FOUND", n; + } + var i = o[r] = { exports: {} }; + a[r][0].call(i.exports, function(e3) { + var t2 = a[r][1][e3]; + return u(t2 || e3); + }, i, i.exports, s, a, o, h); + } + return o[r].exports; + } + for (var l2 = "function" == typeof require && require, e = 0; e < h.length; e++) u(h[e]); + return u; + })({ 1: [function(e, t, r) { + "use strict"; + var d = e("./utils"), c = e("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + r.encode = function(e2) { + for (var t2, r2, n, i, s, a, o, h = [], u = 0, l2 = e2.length, f = l2, c2 = "string" !== d.getTypeOf(e2); u < e2.length; ) f = l2 - u, n = c2 ? (t2 = e2[u++], r2 = u < l2 ? e2[u++] : 0, u < l2 ? e2[u++] : 0) : (t2 = e2.charCodeAt(u++), r2 = u < l2 ? e2.charCodeAt(u++) : 0, u < l2 ? e2.charCodeAt(u++) : 0), i = t2 >> 2, s = (3 & t2) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); + return h.join(""); + }, r.decode = function(e2) { + var t2, r2, n, i, s, a, o = 0, h = 0, u = "data:"; + if (e2.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); + var l2, f = 3 * (e2 = e2.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4; + if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); + for (l2 = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) t2 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l2[h++] = t2, 64 !== s && (l2[h++] = r2), 64 !== a && (l2[h++] = n); + return l2; + }; + }, { "./support": 30, "./utils": 32 }], 2: [function(e, t, r) { + "use strict"; + var n = e("./external"), i = e("./stream/DataWorker"), s = e("./stream/Crc32Probe"), a = e("./stream/DataLengthProbe"); + function o(e2, t2, r2, n2, i2) { + this.compressedSize = e2, this.uncompressedSize = t2, this.crc32 = r2, this.compression = n2, this.compressedContent = i2; + } + o.prototype = { getContentWorker: function() { + var e2 = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t2 = this; + return e2.on("end", function() { + if (this.streamInfo.data_length !== t2.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch"); + }), e2; + }, getCompressedWorker: function() { + return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); + } }, o.createWorkerFrom = function(e2, t2, r2) { + return e2.pipe(new s()).pipe(new a("uncompressedSize")).pipe(t2.compressWorker(r2)).pipe(new a("compressedSize")).withStreamInfo("compression", t2); + }, t.exports = o; + }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function(e, t, r) { + "use strict"; + var n = e("./stream/GenericWorker"); + r.STORE = { magic: "\0\0", compressWorker: function() { + return new n("STORE compression"); + }, uncompressWorker: function() { + return new n("STORE decompression"); + } }, r.DEFLATE = e("./flate"); + }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function(e, t, r) { + "use strict"; + var n = e("./utils"); + var o = (function() { + for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { + e2 = r2; + for (var n2 = 0; n2 < 8; n2++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; + t2[r2] = e2; + } + return t2; + })(); + t.exports = function(e2, t2) { + return void 0 !== e2 && e2.length ? "string" !== n.getTypeOf(e2) ? (function(e3, t3, r2, n2) { + var i = o, s = n2 + r2; + e3 ^= -1; + for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3[a])]; + return -1 ^ e3; + })(0 | t2, e2, e2.length, 0) : (function(e3, t3, r2, n2) { + var i = o, s = n2 + r2; + e3 ^= -1; + for (var a = n2; a < s; a++) e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3.charCodeAt(a))]; + return -1 ^ e3; + })(0 | t2, e2, e2.length, 0) : 0; + }; + }, { "./utils": 32 }], 5: [function(e, t, r) { + "use strict"; + r.base64 = false, r.binary = false, r.dir = false, r.createFolders = true, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null; + }, {}], 6: [function(e, t, r) { + "use strict"; + var n = null; + n = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { Promise: n }; + }, { lie: 37 }], 7: [function(e, t, r) { + "use strict"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, i = e("pako"), s = e("./utils"), a = e("./stream/GenericWorker"), o = n ? "uint8array" : "array"; + function h(e2, t2) { + a.call(this, "FlateWorker/" + e2), this._pako = null, this._pakoAction = e2, this._pakoOptions = t2, this.meta = {}; + } + r.magic = "\b\0", s.inherits(h, a), h.prototype.processChunk = function(e2) { + this.meta = e2.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false); + }, h.prototype.flush = function() { + a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], true); + }, h.prototype.cleanUp = function() { + a.prototype.cleanUp.call(this), this._pako = null; + }, h.prototype._createPako = function() { + this._pako = new i[this._pakoAction]({ raw: true, level: this._pakoOptions.level || -1 }); + var t2 = this; + this._pako.onData = function(e2) { + t2.push({ data: e2, meta: t2.meta }); + }; + }, r.compressWorker = function(e2) { + return new h("Deflate", e2); + }, r.uncompressWorker = function() { + return new h("Inflate", {}); + }; + }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function(e, t, r) { + "use strict"; + function A(e2, t2) { + var r2, n2 = ""; + for (r2 = 0; r2 < t2; r2++) n2 += String.fromCharCode(255 & e2), e2 >>>= 8; + return n2; + } + function n(e2, t2, r2, n2, i2, s2) { + var a, o, h = e2.file, u = e2.compression, l2 = s2 !== O.utf8encode, f = I.transformTo("string", s2(h.name)), c = I.transformTo("string", O.utf8encode(h.name)), d = h.comment, p = I.transformTo("string", s2(d)), m = I.transformTo("string", O.utf8encode(d)), _3 = c.length !== h.name.length, g = m.length !== d.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; + t2 && !r2 || (x.crc32 = e2.crc32, x.compressedSize = e2.compressedSize, x.uncompressedSize = e2.uncompressedSize); + var S = 0; + t2 && (S |= 8), l2 || !_3 && !g || (S |= 2048); + var z = 0, C = 0; + w && (z |= 16), "UNIX" === i2 ? (C = 798, z |= (function(e3, t3) { + var r3 = e3; + return e3 || (r3 = t3 ? 16893 : 33204), (65535 & r3) << 16; + })(h.unixPermissions, w)) : (C = 20, z |= (function(e3) { + return 63 & (e3 || 0); + })(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _3 && (v = A(1, 1) + A(B(f), 4) + c, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); + var E = ""; + return E += "\n\0", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(n2, 4) + f + b + p }; + } + var I = e("../utils"), i = e("../stream/GenericWorker"), O = e("../utf8"), B = e("../crc32"), R = e("../signature"); + function s(e2, t2, r2, n2) { + i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t2, this.zipPlatform = r2, this.encodeFileName = n2, this.streamFiles = e2, this.accumulate = false, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = []; + } + I.inherits(s, i), s.prototype.push = function(e2) { + var t2 = e2.meta.percent || 0, r2 = this.entriesCount, n2 = this._sources.length; + this.accumulate ? this.contentBuffer.push(e2) : (this.bytesWritten += e2.data.length, i.prototype.push.call(this, { data: e2.data, meta: { currentFile: this.currentFile, percent: r2 ? (t2 + 100 * (r2 - n2 - 1)) / r2 : 100 } })); + }, s.prototype.openedSource = function(e2) { + this.currentSourceOffset = this.bytesWritten, this.currentFile = e2.file.name; + var t2 = this.streamFiles && !e2.file.dir; + if (t2) { + var r2 = n(e2, t2, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + this.push({ data: r2.fileRecord, meta: { percent: 0 } }); + } else this.accumulate = true; + }, s.prototype.closedSource = function(e2) { + this.accumulate = false; + var t2 = this.streamFiles && !e2.file.dir, r2 = n(e2, t2, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + if (this.dirRecords.push(r2.dirRecord), t2) this.push({ data: (function(e3) { + return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4); + })(e2), meta: { percent: 100 } }); + else for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift()); + this.currentFile = null; + }, s.prototype.flush = function() { + for (var e2 = this.bytesWritten, t2 = 0; t2 < this.dirRecords.length; t2++) this.push({ data: this.dirRecords[t2], meta: { percent: 100 } }); + var r2 = this.bytesWritten - e2, n2 = (function(e3, t3, r3, n3, i2) { + var s2 = I.transformTo("string", i2(n3)); + return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e3, 2) + A(e3, 2) + A(t3, 4) + A(r3, 4) + A(s2.length, 2) + s2; + })(this.dirRecords.length, r2, e2, this.zipComment, this.encodeFileName); + this.push({ data: n2, meta: { percent: 100 } }); + }, s.prototype.prepareNextSource = function() { + this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume(); + }, s.prototype.registerPrevious = function(e2) { + this._sources.push(e2); + var t2 = this; + return e2.on("data", function(e3) { + t2.processChunk(e3); + }), e2.on("end", function() { + t2.closedSource(t2.previous.streamInfo), t2._sources.length ? t2.prepareNextSource() : t2.end(); + }), e2.on("error", function(e3) { + t2.error(e3); + }), this; + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true)); + }, s.prototype.error = function(e2) { + var t2 = this._sources; + if (!i.prototype.error.call(this, e2)) return false; + for (var r2 = 0; r2 < t2.length; r2++) try { + t2[r2].error(e2); + } catch (e3) { + } + return true; + }, s.prototype.lock = function() { + i.prototype.lock.call(this); + for (var e2 = this._sources, t2 = 0; t2 < e2.length; t2++) e2[t2].lock(); + }, t.exports = s; + }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(e, t, r) { + "use strict"; + var u = e("../compressions"), n = e("./ZipFileWorker"); + r.generateWorker = function(e2, a, t2) { + var o = new n(a.streamFiles, t2, a.platform, a.encodeFileName), h = 0; + try { + e2.forEach(function(e3, t3) { + h++; + var r2 = (function(e4, t4) { + var r3 = e4 || t4, n3 = u[r3]; + if (!n3) throw new Error(r3 + " is not a valid compression method !"); + return n3; + })(t3.options.compression, a.compression), n2 = t3.options.compressionOptions || a.compressionOptions || {}, i = t3.dir, s = t3.date; + t3._compressWorker(r2, n2).withStreamInfo("file", { name: e3, dir: i, date: s, comment: t3.comment || "", unixPermissions: t3.unixPermissions, dosPermissions: t3.dosPermissions }).pipe(o); + }), o.entriesCount = h; + } catch (e3) { + o.error(e3); + } + return o; + }; + }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(e, t, r) { + "use strict"; + function n() { + if (!(this instanceof n)) return new n(); + if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); + this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() { + var e2 = new n(); + for (var t2 in this) "function" != typeof this[t2] && (e2[t2] = this[t2]); + return e2; + }; + } + (n.prototype = e("./object")).loadAsync = e("./load"), n.support = e("./support"), n.defaults = e("./defaults"), n.version = "3.10.1", n.loadAsync = function(e2, t2) { + return new n().loadAsync(e2, t2); + }, n.external = e("./external"), t.exports = n; + }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function(e, t, r) { + "use strict"; + var u = e("./utils"), i = e("./external"), n = e("./utf8"), s = e("./zipEntries"), a = e("./stream/Crc32Probe"), l2 = e("./nodejsUtils"); + function f(n2) { + return new i.Promise(function(e2, t2) { + var r2 = n2.decompressed.getContentWorker().pipe(new a()); + r2.on("error", function(e3) { + t2(e3); + }).on("end", function() { + r2.streamInfo.crc32 !== n2.decompressed.crc32 ? t2(new Error("Corrupted zip : CRC32 mismatch")) : e2(); + }).resume(); + }); + } + t.exports = function(e2, o) { + var h = this; + return o = u.extend(o || {}, { base64: false, checkCRC32: false, optimizedBinaryString: false, createFolders: false, decodeFileName: n.utf8decode }), l2.isNode && l2.isStream(e2) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : u.prepareContent("the loaded zip file", e2, true, o.optimizedBinaryString, o.base64).then(function(e3) { + var t2 = new s(o); + return t2.load(e3), t2; + }).then(function(e3) { + var t2 = [i.Promise.resolve(e3)], r2 = e3.files; + if (o.checkCRC32) for (var n2 = 0; n2 < r2.length; n2++) t2.push(f(r2[n2])); + return i.Promise.all(t2); + }).then(function(e3) { + for (var t2 = e3.shift(), r2 = t2.files, n2 = 0; n2 < r2.length; n2++) { + var i2 = r2[n2], s2 = i2.fileNameStr, a2 = u.resolve(i2.fileNameStr); + h.file(a2, i2.decompressed, { binary: true, optimizedBinaryString: true, date: i2.date, dir: i2.dir, comment: i2.fileCommentStr.length ? i2.fileCommentStr : null, unixPermissions: i2.unixPermissions, dosPermissions: i2.dosPermissions, createFolders: o.createFolders }), i2.dir || (h.file(a2).unsafeOriginalName = s2); + } + return t2.zipComment.length && (h.comment = t2.zipComment), h; + }); + }; + }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("../stream/GenericWorker"); + function s(e2, t2) { + i.call(this, "Nodejs stream input adapter for " + e2), this._upstreamEnded = false, this._bindStream(t2); + } + n.inherits(s, i), s.prototype._bindStream = function(e2) { + var t2 = this; + (this._stream = e2).pause(), e2.on("data", function(e3) { + t2.push({ data: e3, meta: { percent: 0 } }); + }).on("error", function(e3) { + t2.isPaused ? this.generatedError = e3 : t2.error(e3); + }).on("end", function() { + t2.isPaused ? t2._upstreamEnded = true : t2.end(); + }); + }, s.prototype.pause = function() { + return !!i.prototype.pause.call(this) && (this._stream.pause(), true); + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), true); + }, t.exports = s; + }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function(e, t, r) { + "use strict"; + var i = e("readable-stream").Readable; + function n(e2, t2, r2) { + i.call(this, t2), this._helper = e2; + var n2 = this; + e2.on("data", function(e3, t3) { + n2.push(e3) || n2._helper.pause(), r2 && r2(t3); + }).on("error", function(e3) { + n2.emit("error", e3); + }).on("end", function() { + n2.push(null); + }); + } + e("../utils").inherits(n, i), n.prototype._read = function() { + this._helper.resume(); + }, t.exports = n; + }, { "../utils": 32, "readable-stream": 16 }], 14: [function(e, t, r) { + "use strict"; + t.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e2, t2) { + if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(e2, t2); + if ("number" == typeof e2) throw new Error('The "data" argument must not be a number'); + return new Buffer(e2, t2); + }, allocBuffer: function(e2) { + if (Buffer.alloc) return Buffer.alloc(e2); + var t2 = new Buffer(e2); + return t2.fill(0), t2; + }, isBuffer: function(e2) { + return Buffer.isBuffer(e2); + }, isStream: function(e2) { + return e2 && "function" == typeof e2.on && "function" == typeof e2.pause && "function" == typeof e2.resume; + } }; + }, {}], 15: [function(e, t, r) { + "use strict"; + function s(e2, t2, r2) { + var n2, i2 = u.getTypeOf(t2), s2 = u.extend(r2 || {}, f); + s2.date = s2.date || /* @__PURE__ */ new Date(), null !== s2.compression && (s2.compression = s2.compression.toUpperCase()), "string" == typeof s2.unixPermissions && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _3(e2)) && b.call(this, n2, true); + var a2 = "string" === i2 && false === s2.binary && false === s2.base64; + r2 && void 0 !== r2.binary || (s2.binary = !a2), (t2 instanceof c && 0 === t2.uncompressedSize || s2.dir || !t2 || 0 === t2.length) && (s2.base64 = false, s2.binary = true, t2 = "", s2.compression = "STORE", i2 = "string"); + var o2 = null; + o2 = t2 instanceof c || t2 instanceof l2 ? t2 : p.isNode && p.isStream(t2) ? new m(e2, t2) : u.prepareContent(e2, t2, s2.binary, s2.optimizedBinaryString, s2.base64); + var h2 = new d(e2, o2, s2); + this.files[e2] = h2; + } + var i = e("./utf8"), u = e("./utils"), l2 = e("./stream/GenericWorker"), a = e("./stream/StreamHelper"), f = e("./defaults"), c = e("./compressedObject"), d = e("./zipObject"), o = e("./generate"), p = e("./nodejsUtils"), m = e("./nodejs/NodejsStreamInputAdapter"), _3 = function(e2) { + "/" === e2.slice(-1) && (e2 = e2.substring(0, e2.length - 1)); + var t2 = e2.lastIndexOf("/"); + return 0 < t2 ? e2.substring(0, t2) : ""; + }, g = function(e2) { + return "/" !== e2.slice(-1) && (e2 += "/"), e2; + }, b = function(e2, t2) { + return t2 = void 0 !== t2 ? t2 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t2 }), this.files[e2]; + }; + function h(e2) { + return "[object RegExp]" === Object.prototype.toString.call(e2); + } + var n = { load: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, forEach: function(e2) { + var t2, r2, n2; + for (t2 in this.files) n2 = this.files[t2], (r2 = t2.slice(this.root.length, t2.length)) && t2.slice(0, this.root.length) === this.root && e2(r2, n2); + }, filter: function(r2) { + var n2 = []; + return this.forEach(function(e2, t2) { + r2(e2, t2) && n2.push(t2); + }), n2; + }, file: function(e2, t2, r2) { + if (1 !== arguments.length) return e2 = this.root + e2, s.call(this, e2, t2, r2), this; + if (h(e2)) { + var n2 = e2; + return this.filter(function(e3, t3) { + return !t3.dir && n2.test(e3); + }); + } + var i2 = this.files[this.root + e2]; + return i2 && !i2.dir ? i2 : null; + }, folder: function(r2) { + if (!r2) return this; + if (h(r2)) return this.filter(function(e3, t3) { + return t3.dir && r2.test(e3); + }); + var e2 = this.root + r2, t2 = b.call(this, e2), n2 = this.clone(); + return n2.root = t2.name, n2; + }, remove: function(r2) { + r2 = this.root + r2; + var e2 = this.files[r2]; + if (e2 || ("/" !== r2.slice(-1) && (r2 += "/"), e2 = this.files[r2]), e2 && !e2.dir) delete this.files[r2]; + else for (var t2 = this.filter(function(e3, t3) { + return t3.name.slice(0, r2.length) === r2; + }), n2 = 0; n2 < t2.length; n2++) delete this.files[t2[n2].name]; + return this; + }, generate: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, generateInternalStream: function(e2) { + var t2, r2 = {}; + try { + if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), "binarystring" === r2.type && (r2.type = "string"), !r2.type) throw new Error("No output type specified."); + u.checkSupport(r2.type), "darwin" !== r2.platform && "freebsd" !== r2.platform && "linux" !== r2.platform && "sunos" !== r2.platform || (r2.platform = "UNIX"), "win32" === r2.platform && (r2.platform = "DOS"); + var n2 = r2.comment || this.comment || ""; + t2 = o.generateWorker(this, r2, n2); + } catch (e3) { + (t2 = new l2("error")).error(e3); + } + return new a(t2, r2.type || "string", r2.mimeType); + }, generateAsync: function(e2, t2) { + return this.generateInternalStream(e2).accumulate(t2); + }, generateNodeStream: function(e2, t2) { + return (e2 = e2 || {}).type || (e2.type = "nodebuffer"), this.generateInternalStream(e2).toNodejsStream(t2); + } }; + t.exports = n; + }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function(e, t, r) { + "use strict"; + t.exports = e("stream"); + }, { stream: void 0 }], 17: [function(e, t, r) { + "use strict"; + var n = e("./DataReader"); + function i(e2) { + n.call(this, e2); + for (var t2 = 0; t2 < this.data.length; t2++) e2[t2] = 255 & e2[t2]; + } + e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { + return this.data[this.zero + e2]; + }, i.prototype.lastIndexOfSignature = function(e2) { + for (var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) if (this.data[s] === t2 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) return s - this.zero; + return -1; + }, i.prototype.readAndCheckSignature = function(e2) { + var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.readData(4); + return t2 === s[0] && r2 === s[1] && n2 === s[2] && i2 === s[3]; + }, i.prototype.readData = function(e2) { + if (this.checkOffset(e2), 0 === e2) return []; + var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./DataReader": 18 }], 18: [function(e, t, r) { + "use strict"; + var n = e("../utils"); + function i(e2) { + this.data = e2, this.length = e2.length, this.index = 0, this.zero = 0; + } + i.prototype = { checkOffset: function(e2) { + this.checkIndex(this.index + e2); + }, checkIndex: function(e2) { + if (this.length < this.zero + e2 || e2 < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e2 + "). Corrupted zip ?"); + }, setIndex: function(e2) { + this.checkIndex(e2), this.index = e2; + }, skip: function(e2) { + this.setIndex(this.index + e2); + }, byteAt: function() { + }, readInt: function(e2) { + var t2, r2 = 0; + for (this.checkOffset(e2), t2 = this.index + e2 - 1; t2 >= this.index; t2--) r2 = (r2 << 8) + this.byteAt(t2); + return this.index += e2, r2; + }, readString: function(e2) { + return n.transformTo("string", this.readData(e2)); + }, readData: function() { + }, lastIndexOfSignature: function() { + }, readAndCheckSignature: function() { + }, readDate: function() { + var e2 = this.readInt(4); + return new Date(Date.UTC(1980 + (e2 >> 25 & 127), (e2 >> 21 & 15) - 1, e2 >> 16 & 31, e2 >> 11 & 31, e2 >> 5 & 63, (31 & e2) << 1)); + } }, t.exports = i; + }, { "../utils": 32 }], 19: [function(e, t, r) { + "use strict"; + var n = e("./Uint8ArrayReader"); + function i(e2) { + n.call(this, e2); + } + e("../utils").inherits(i, n), i.prototype.readData = function(e2) { + this.checkOffset(e2); + var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function(e, t, r) { + "use strict"; + var n = e("./DataReader"); + function i(e2) { + n.call(this, e2); + } + e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { + return this.data.charCodeAt(this.zero + e2); + }, i.prototype.lastIndexOfSignature = function(e2) { + return this.data.lastIndexOf(e2) - this.zero; + }, i.prototype.readAndCheckSignature = function(e2) { + return e2 === this.readData(4); + }, i.prototype.readData = function(e2) { + this.checkOffset(e2); + var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./DataReader": 18 }], 21: [function(e, t, r) { + "use strict"; + var n = e("./ArrayReader"); + function i(e2) { + n.call(this, e2); + } + e("../utils").inherits(i, n), i.prototype.readData = function(e2) { + if (this.checkOffset(e2), 0 === e2) return new Uint8Array(0); + var t2 = this.data.subarray(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("../support"), s = e("./ArrayReader"), a = e("./StringReader"), o = e("./NodeBufferReader"), h = e("./Uint8ArrayReader"); + t.exports = function(e2) { + var t2 = n.getTypeOf(e2); + return n.checkSupport(t2), "string" !== t2 || i.uint8array ? "nodebuffer" === t2 ? new o(e2) : i.uint8array ? new h(n.transformTo("uint8array", e2)) : new s(n.transformTo("array", e2)) : new a(e2); + }; + }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(e, t, r) { + "use strict"; + r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\x07\b"; + }, {}], 24: [function(e, t, r) { + "use strict"; + var n = e("./GenericWorker"), i = e("../utils"); + function s(e2) { + n.call(this, "ConvertWorker to " + e2), this.destType = e2; + } + i.inherits(s, n), s.prototype.processChunk = function(e2) { + this.push({ data: i.transformTo(this.destType, e2.data), meta: e2.meta }); + }, t.exports = s; + }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function(e, t, r) { + "use strict"; + var n = e("./GenericWorker"), i = e("../crc32"); + function s() { + n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0); + } + e("../utils").inherits(s, n), s.prototype.processChunk = function(e2) { + this.streamInfo.crc32 = i(e2.data, this.streamInfo.crc32 || 0), this.push(e2); + }, t.exports = s; + }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("./GenericWorker"); + function s(e2) { + i.call(this, "DataLengthProbe for " + e2), this.propName = e2, this.withStreamInfo(e2, 0); + } + n.inherits(s, i), s.prototype.processChunk = function(e2) { + if (e2) { + var t2 = this.streamInfo[this.propName] || 0; + this.streamInfo[this.propName] = t2 + e2.data.length; + } + i.prototype.processChunk.call(this, e2); + }, t.exports = s; + }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("./GenericWorker"); + function s(e2) { + i.call(this, "DataWorker"); + var t2 = this; + this.dataIsReady = false, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = false, e2.then(function(e3) { + t2.dataIsReady = true, t2.data = e3, t2.max = e3 && e3.length || 0, t2.type = n.getTypeOf(e3), t2.isPaused || t2._tickAndRepeat(); + }, function(e3) { + t2.error(e3); + }); + } + n.inherits(s, i), s.prototype.cleanUp = function() { + i.prototype.cleanUp.call(this), this.data = null; + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = true, n.delay(this._tickAndRepeat, [], this)), true); + }, s.prototype._tickAndRepeat = function() { + this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = true)); + }, s.prototype._tick = function() { + if (this.isPaused || this.isFinished) return false; + var e2 = null, t2 = Math.min(this.max, this.index + 16384); + if (this.index >= this.max) return this.end(); + switch (this.type) { + case "string": + e2 = this.data.substring(this.index, t2); + break; + case "uint8array": + e2 = this.data.subarray(this.index, t2); + break; + case "array": + case "nodebuffer": + e2 = this.data.slice(this.index, t2); + } + return this.index = t2, this.push({ data: e2, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }); + }, t.exports = s; + }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function(e, t, r) { + "use strict"; + function n(e2) { + this.name = e2 || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = true, this.isFinished = false, this.isLocked = false, this._listeners = { data: [], end: [], error: [] }, this.previous = null; + } + n.prototype = { push: function(e2) { + this.emit("data", e2); + }, end: function() { + if (this.isFinished) return false; + this.flush(); + try { + this.emit("end"), this.cleanUp(), this.isFinished = true; + } catch (e2) { + this.emit("error", e2); + } + return true; + }, error: function(e2) { + return !this.isFinished && (this.isPaused ? this.generatedError = e2 : (this.isFinished = true, this.emit("error", e2), this.previous && this.previous.error(e2), this.cleanUp()), true); + }, on: function(e2, t2) { + return this._listeners[e2].push(t2), this; + }, cleanUp: function() { + this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; + }, emit: function(e2, t2) { + if (this._listeners[e2]) for (var r2 = 0; r2 < this._listeners[e2].length; r2++) this._listeners[e2][r2].call(this, t2); + }, pipe: function(e2) { + return e2.registerPrevious(this); + }, registerPrevious: function(e2) { + if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); + this.streamInfo = e2.streamInfo, this.mergeStreamInfo(), this.previous = e2; + var t2 = this; + return e2.on("data", function(e3) { + t2.processChunk(e3); + }), e2.on("end", function() { + t2.end(); + }), e2.on("error", function(e3) { + t2.error(e3); + }), this; + }, pause: function() { + return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true); + }, resume: function() { + if (!this.isPaused || this.isFinished) return false; + var e2 = this.isPaused = false; + return this.generatedError && (this.error(this.generatedError), e2 = true), this.previous && this.previous.resume(), !e2; + }, flush: function() { + }, processChunk: function(e2) { + this.push(e2); + }, withStreamInfo: function(e2, t2) { + return this.extraStreamInfo[e2] = t2, this.mergeStreamInfo(), this; + }, mergeStreamInfo: function() { + for (var e2 in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]); + }, lock: function() { + if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); + this.isLocked = true, this.previous && this.previous.lock(); + }, toString: function() { + var e2 = "Worker " + this.name; + return this.previous ? this.previous + " -> " + e2 : e2; + } }, t.exports = n; + }, {}], 29: [function(e, t, r) { + "use strict"; + var h = e("../utils"), i = e("./ConvertWorker"), s = e("./GenericWorker"), u = e("../base64"), n = e("../support"), a = e("../external"), o = null; + if (n.nodestream) try { + o = e("../nodejs/NodejsStreamOutputAdapter"); + } catch (e2) { + } + function l2(e2, o2) { + return new a.Promise(function(t2, r2) { + var n2 = [], i2 = e2._internalType, s2 = e2._outputType, a2 = e2._mimeType; + e2.on("data", function(e3, t3) { + n2.push(e3), o2 && o2(t3); + }).on("error", function(e3) { + n2 = [], r2(e3); + }).on("end", function() { + try { + var e3 = (function(e4, t3, r3) { + switch (e4) { + case "blob": + return h.newBlob(h.transformTo("arraybuffer", t3), r3); + case "base64": + return u.encode(t3); + default: + return h.transformTo(e4, t3); + } + })(s2, (function(e4, t3) { + var r3, n3 = 0, i3 = null, s3 = 0; + for (r3 = 0; r3 < t3.length; r3++) s3 += t3[r3].length; + switch (e4) { + case "string": + return t3.join(""); + case "array": + return Array.prototype.concat.apply([], t3); + case "uint8array": + for (i3 = new Uint8Array(s3), r3 = 0; r3 < t3.length; r3++) i3.set(t3[r3], n3), n3 += t3[r3].length; + return i3; + case "nodebuffer": + return Buffer.concat(t3); + default: + throw new Error("concat : unsupported type '" + e4 + "'"); + } + })(i2, n2), a2); + t2(e3); + } catch (e4) { + r2(e4); + } + n2 = []; + }).resume(); + }); + } + function f(e2, t2, r2) { + var n2 = t2; + switch (t2) { + case "blob": + case "arraybuffer": + n2 = "uint8array"; + break; + case "base64": + n2 = "string"; + } + try { + this._internalType = n2, this._outputType = t2, this._mimeType = r2, h.checkSupport(n2), this._worker = e2.pipe(new i(n2)), e2.lock(); + } catch (e3) { + this._worker = new s("error"), this._worker.error(e3); + } + } + f.prototype = { accumulate: function(e2) { + return l2(this, e2); + }, on: function(e2, t2) { + var r2 = this; + return "data" === e2 ? this._worker.on(e2, function(e3) { + t2.call(r2, e3.data, e3.meta); + }) : this._worker.on(e2, function() { + h.delay(t2, arguments, r2); + }), this; + }, resume: function() { + return h.delay(this._worker.resume, [], this._worker), this; + }, pause: function() { + return this._worker.pause(), this; + }, toNodejsStream: function(e2) { + if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); + return new o(this, { objectMode: "nodebuffer" !== this._outputType }, e2); + } }, t.exports = f; + }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(e, t, r) { + "use strict"; + if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = false; + else { + var n = new ArrayBuffer(0); + try { + r.blob = 0 === new Blob([n], { type: "application/zip" }).size; + } catch (e2) { + try { + var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); + i.append(n), r.blob = 0 === i.getBlob("application/zip").size; + } catch (e3) { + r.blob = false; + } + } + } + try { + r.nodestream = !!e("readable-stream").Readable; + } catch (e2) { + r.nodestream = false; + } + }, { "readable-stream": 16 }], 31: [function(e, t, s) { + "use strict"; + for (var o = e("./utils"), h = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; + u[254] = u[254] = 1; + function a() { + n.call(this, "utf-8 decode"), this.leftOver = null; + } + function l2() { + n.call(this, "utf-8 encode"); + } + s.utf8encode = function(e2) { + return h.nodebuffer ? r.newBufferFrom(e2, "utf-8") : (function(e3) { + var t2, r2, n2, i2, s2, a2 = e3.length, o2 = 0; + for (i2 = 0; i2 < a2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; + for (t2 = h.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); + return t2; + })(e2); + }, s.utf8decode = function(e2) { + return h.nodebuffer ? o.transformTo("nodebuffer", e2).toString("utf-8") : (function(e3) { + var t2, r2, n2, i2, s2 = e3.length, a2 = new Array(2 * s2); + for (t2 = r2 = 0; t2 < s2; ) if ((n2 = e3[t2++]) < 128) a2[r2++] = n2; + else if (4 < (i2 = u[n2])) a2[r2++] = 65533, t2 += i2 - 1; + else { + for (n2 &= 2 === i2 ? 31 : 3 === i2 ? 15 : 7; 1 < i2 && t2 < s2; ) n2 = n2 << 6 | 63 & e3[t2++], i2--; + 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2); + } + return a2.length !== r2 && (a2.subarray ? a2 = a2.subarray(0, r2) : a2.length = r2), o.applyFromCharCode(a2); + })(e2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2)); + }, o.inherits(a, n), a.prototype.processChunk = function(e2) { + var t2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2.data); + if (this.leftOver && this.leftOver.length) { + if (h.uint8array) { + var r2 = t2; + (t2 = new Uint8Array(r2.length + this.leftOver.length)).set(this.leftOver, 0), t2.set(r2, this.leftOver.length); + } else t2 = this.leftOver.concat(t2); + this.leftOver = null; + } + var n2 = (function(e3, t3) { + var r3; + for ((t3 = t3 || e3.length) > e3.length && (t3 = e3.length), r3 = t3 - 1; 0 <= r3 && 128 == (192 & e3[r3]); ) r3--; + return r3 < 0 ? t3 : 0 === r3 ? t3 : r3 + u[e3[r3]] > t3 ? r3 : t3; + })(t2), i2 = t2; + n2 !== t2.length && (h.uint8array ? (i2 = t2.subarray(0, n2), this.leftOver = t2.subarray(n2, t2.length)) : (i2 = t2.slice(0, n2), this.leftOver = t2.slice(n2, t2.length))), this.push({ data: s.utf8decode(i2), meta: e2.meta }); + }, a.prototype.flush = function() { + this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null); + }, s.Utf8DecodeWorker = a, o.inherits(l2, n), l2.prototype.processChunk = function(e2) { + this.push({ data: s.utf8encode(e2.data), meta: e2.meta }); + }, s.Utf8EncodeWorker = l2; + }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function(e, t, a) { + "use strict"; + var o = e("./support"), h = e("./base64"), r = e("./nodejsUtils"), u = e("./external"); + function n(e2) { + return e2; + } + function l2(e2, t2) { + for (var r2 = 0; r2 < e2.length; ++r2) t2[r2] = 255 & e2.charCodeAt(r2); + return t2; + } + e("setimmediate"), a.newBlob = function(t2, r2) { + a.checkSupport("blob"); + try { + return new Blob([t2], { type: r2 }); + } catch (e2) { + try { + var n2 = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); + return n2.append(t2), n2.getBlob(r2); + } catch (e3) { + throw new Error("Bug : can't construct the Blob."); + } + } + }; + var i = { stringifyByChunk: function(e2, t2, r2) { + var n2 = [], i2 = 0, s2 = e2.length; + if (s2 <= r2) return String.fromCharCode.apply(null, e2); + for (; i2 < s2; ) "array" === t2 || "nodebuffer" === t2 ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2; + return n2.join(""); + }, stringifyByChar: function(e2) { + for (var t2 = "", r2 = 0; r2 < e2.length; r2++) t2 += String.fromCharCode(e2[r2]); + return t2; + }, applyCanBeUsed: { uint8array: (function() { + try { + return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; + } catch (e2) { + return false; + } + })(), nodebuffer: (function() { + try { + return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length; + } catch (e2) { + return false; + } + })() } }; + function s(e2) { + var t2 = 65536, r2 = a.getTypeOf(e2), n2 = true; + if ("uint8array" === r2 ? n2 = i.applyCanBeUsed.uint8array : "nodebuffer" === r2 && (n2 = i.applyCanBeUsed.nodebuffer), n2) for (; 1 < t2; ) try { + return i.stringifyByChunk(e2, r2, t2); + } catch (e3) { + t2 = Math.floor(t2 / 2); + } + return i.stringifyByChar(e2); + } + function f(e2, t2) { + for (var r2 = 0; r2 < e2.length; r2++) t2[r2] = e2[r2]; + return t2; + } + a.applyFromCharCode = s; + var c = {}; + c.string = { string: n, array: function(e2) { + return l2(e2, new Array(e2.length)); + }, arraybuffer: function(e2) { + return c.string.uint8array(e2).buffer; + }, uint8array: function(e2) { + return l2(e2, new Uint8Array(e2.length)); + }, nodebuffer: function(e2) { + return l2(e2, r.allocBuffer(e2.length)); + } }, c.array = { string: s, array: n, arraybuffer: function(e2) { + return new Uint8Array(e2).buffer; + }, uint8array: function(e2) { + return new Uint8Array(e2); + }, nodebuffer: function(e2) { + return r.newBufferFrom(e2); + } }, c.arraybuffer = { string: function(e2) { + return s(new Uint8Array(e2)); + }, array: function(e2) { + return f(new Uint8Array(e2), new Array(e2.byteLength)); + }, arraybuffer: n, uint8array: function(e2) { + return new Uint8Array(e2); + }, nodebuffer: function(e2) { + return r.newBufferFrom(new Uint8Array(e2)); + } }, c.uint8array = { string: s, array: function(e2) { + return f(e2, new Array(e2.length)); + }, arraybuffer: function(e2) { + return e2.buffer; + }, uint8array: n, nodebuffer: function(e2) { + return r.newBufferFrom(e2); + } }, c.nodebuffer = { string: s, array: function(e2) { + return f(e2, new Array(e2.length)); + }, arraybuffer: function(e2) { + return c.nodebuffer.uint8array(e2).buffer; + }, uint8array: function(e2) { + return f(e2, new Uint8Array(e2.length)); + }, nodebuffer: n }, a.transformTo = function(e2, t2) { + if (t2 = t2 || "", !e2) return t2; + a.checkSupport(e2); + var r2 = a.getTypeOf(t2); + return c[r2][e2](t2); + }, a.resolve = function(e2) { + for (var t2 = e2.split("/"), r2 = [], n2 = 0; n2 < t2.length; n2++) { + var i2 = t2[n2]; + "." === i2 || "" === i2 && 0 !== n2 && n2 !== t2.length - 1 || (".." === i2 ? r2.pop() : r2.push(i2)); + } + return r2.join("/"); + }, a.getTypeOf = function(e2) { + return "string" == typeof e2 ? "string" : "[object Array]" === Object.prototype.toString.call(e2) ? "array" : o.nodebuffer && r.isBuffer(e2) ? "nodebuffer" : o.uint8array && e2 instanceof Uint8Array ? "uint8array" : o.arraybuffer && e2 instanceof ArrayBuffer ? "arraybuffer" : void 0; + }, a.checkSupport = function(e2) { + if (!o[e2.toLowerCase()]) throw new Error(e2 + " is not supported by this platform"); + }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e2) { + var t2, r2, n2 = ""; + for (r2 = 0; r2 < (e2 || "").length; r2++) n2 += "\\x" + ((t2 = e2.charCodeAt(r2)) < 16 ? "0" : "") + t2.toString(16).toUpperCase(); + return n2; + }, a.delay = function(e2, t2, r2) { + setImmediate(function() { + e2.apply(r2 || null, t2 || []); + }); + }, a.inherits = function(e2, t2) { + function r2() { + } + r2.prototype = t2.prototype, e2.prototype = new r2(); + }, a.extend = function() { + var e2, t2, r2 = {}; + for (e2 = 0; e2 < arguments.length; e2++) for (t2 in arguments[e2]) Object.prototype.hasOwnProperty.call(arguments[e2], t2) && void 0 === r2[t2] && (r2[t2] = arguments[e2][t2]); + return r2; + }, a.prepareContent = function(r2, e2, n2, i2, s2) { + return u.Promise.resolve(e2).then(function(n3) { + return o.blob && (n3 instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n3))) && "undefined" != typeof FileReader ? new u.Promise(function(t2, r3) { + var e3 = new FileReader(); + e3.onload = function(e4) { + t2(e4.target.result); + }, e3.onerror = function(e4) { + r3(e4.target.error); + }, e3.readAsArrayBuffer(n3); + }) : n3; + }).then(function(e3) { + var t2 = a.getTypeOf(e3); + return t2 ? ("arraybuffer" === t2 ? e3 = a.transformTo("uint8array", e3) : "string" === t2 && (s2 ? e3 = h.decode(e3) : n2 && true !== i2 && (e3 = (function(e4) { + return l2(e4, o.uint8array ? new Uint8Array(e4.length) : new Array(e4.length)); + })(e3))), e3) : u.Promise.reject(new Error("Can't read the data of '" + r2 + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); + }); + }; + }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, setimmediate: 54 }], 33: [function(e, t, r) { + "use strict"; + var n = e("./reader/readerFor"), i = e("./utils"), s = e("./signature"), a = e("./zipEntry"), o = e("./support"); + function h(e2) { + this.files = [], this.loadOptions = e2; + } + h.prototype = { checkSignature: function(e2) { + if (!this.reader.readAndCheckSignature(e2)) { + this.reader.index -= 4; + var t2 = this.reader.readString(4); + throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t2) + ", expected " + i.pretty(e2) + ")"); + } + }, isSignature: function(e2, t2) { + var r2 = this.reader.index; + this.reader.setIndex(e2); + var n2 = this.reader.readString(4) === t2; + return this.reader.setIndex(r2), n2; + }, readBlockEndOfCentral: function() { + this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); + var e2 = this.reader.readData(this.zipCommentLength), t2 = o.uint8array ? "uint8array" : "array", r2 = i.transformTo(t2, e2); + this.zipComment = this.loadOptions.decodeFileName(r2); + }, readBlockZip64EndOfCentral: function() { + this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; + for (var e2, t2, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) e2 = this.reader.readInt(2), t2 = this.reader.readInt(4), r2 = this.reader.readData(t2), this.zip64ExtensibleData[e2] = { id: e2, length: t2, value: r2 }; + }, readBlockZip64EndOfCentralLocator: function() { + if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported"); + }, readLocalFiles: function() { + var e2, t2; + for (e2 = 0; e2 < this.files.length; e2++) t2 = this.files[e2], this.reader.setIndex(t2.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t2.readLocalPart(this.reader), t2.handleUTF8(), t2.processAttributes(); + }, readCentralDir: function() { + var e2; + for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2); + if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); + }, readEndOfCentral: function() { + var e2 = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); + if (e2 < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); + this.reader.setIndex(e2); + var t2 = e2; + if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { + if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); + if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); + this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); + } + var r2 = this.centralDirOffset + this.centralDirSize; + this.zip64 && (r2 += 20, r2 += 12 + this.zip64EndOfCentralSize); + var n2 = t2 - r2; + if (0 < n2) this.isSignature(t2, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2); + else if (n2 < 0) throw new Error("Corrupted zip: missing " + Math.abs(n2) + " bytes."); + }, prepareReader: function(e2) { + this.reader = n(e2); + }, load: function(e2) { + this.prepareReader(e2), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles(); + } }, t.exports = h; + }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utils": 32, "./zipEntry": 34 }], 34: [function(e, t, r) { + "use strict"; + var n = e("./reader/readerFor"), s = e("./utils"), i = e("./compressedObject"), a = e("./crc32"), o = e("./utf8"), h = e("./compressions"), u = e("./support"); + function l2(e2, t2) { + this.options = e2, this.loadOptions = t2; + } + l2.prototype = { isEncrypted: function() { + return 1 == (1 & this.bitFlag); + }, useUTF8: function() { + return 2048 == (2048 & this.bitFlag); + }, readLocalPart: function(e2) { + var t2, r2; + if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); + if (null === (t2 = (function(e3) { + for (var t3 in h) if (Object.prototype.hasOwnProperty.call(h, t3) && h[t3].magic === e3) return h[t3]; + return null; + })(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); + this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t2, e2.readData(this.compressedSize)); + }, readCentralPart: function(e2) { + this.versionMadeBy = e2.readInt(2), e2.skip(2), this.bitFlag = e2.readInt(2), this.compressionMethod = e2.readString(2), this.date = e2.readDate(), this.crc32 = e2.readInt(4), this.compressedSize = e2.readInt(4), this.uncompressedSize = e2.readInt(4); + var t2 = e2.readInt(2); + if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); + e2.skip(t2), this.readExtraFields(e2), this.parseZIP64ExtraField(e2), this.fileComment = e2.readData(this.fileCommentLength); + }, processAttributes: function() { + this.unixPermissions = null, this.dosPermissions = null; + var e2 = this.versionMadeBy >> 8; + this.dir = !!(16 & this.externalFileAttributes), 0 == e2 && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e2 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = true); + }, parseZIP64ExtraField: function() { + if (this.extraFields[1]) { + var e2 = n(this.extraFields[1].value); + this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e2.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e2.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e2.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e2.readInt(4)); + } + }, readExtraFields: function(e2) { + var t2, r2, n2, i2 = e2.index + this.extraFieldsLength; + for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) t2 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t2] = { id: t2, length: r2, value: n2 }; + e2.setIndex(i2); + }, handleUTF8: function() { + var e2 = u.uint8array ? "uint8array" : "array"; + if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); + else { + var t2 = this.findExtraFieldUnicodePath(); + if (null !== t2) this.fileNameStr = t2; + else { + var r2 = s.transformTo(e2, this.fileName); + this.fileNameStr = this.loadOptions.decodeFileName(r2); + } + var n2 = this.findExtraFieldUnicodeComment(); + if (null !== n2) this.fileCommentStr = n2; + else { + var i2 = s.transformTo(e2, this.fileComment); + this.fileCommentStr = this.loadOptions.decodeFileName(i2); + } + } + }, findExtraFieldUnicodePath: function() { + var e2 = this.extraFields[28789]; + if (e2) { + var t2 = n(e2.value); + return 1 !== t2.readInt(1) ? null : a(this.fileName) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); + } + return null; + }, findExtraFieldUnicodeComment: function() { + var e2 = this.extraFields[25461]; + if (e2) { + var t2 = n(e2.value); + return 1 !== t2.readInt(1) ? null : a(this.fileComment) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); + } + return null; + } }, t.exports = l2; + }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function(e, t, r) { + "use strict"; + function n(e2, t2, r2) { + this.name = e2, this.dir = r2.dir, this.date = r2.date, this.comment = r2.comment, this.unixPermissions = r2.unixPermissions, this.dosPermissions = r2.dosPermissions, this._data = t2, this._dataBinary = r2.binary, this.options = { compression: r2.compression, compressionOptions: r2.compressionOptions }; + } + var s = e("./stream/StreamHelper"), i = e("./stream/DataWorker"), a = e("./utf8"), o = e("./compressedObject"), h = e("./stream/GenericWorker"); + n.prototype = { internalStream: function(e2) { + var t2 = null, r2 = "string"; + try { + if (!e2) throw new Error("No output type specified."); + var n2 = "string" === (r2 = e2.toLowerCase()) || "text" === r2; + "binarystring" !== r2 && "text" !== r2 || (r2 = "string"), t2 = this._decompressWorker(); + var i2 = !this._dataBinary; + i2 && !n2 && (t2 = t2.pipe(new a.Utf8EncodeWorker())), !i2 && n2 && (t2 = t2.pipe(new a.Utf8DecodeWorker())); + } catch (e3) { + (t2 = new h("error")).error(e3); + } + return new s(t2, r2, ""); + }, async: function(e2, t2) { + return this.internalStream(e2).accumulate(t2); + }, nodeStream: function(e2, t2) { + return this.internalStream(e2 || "nodebuffer").toNodejsStream(t2); + }, _compressWorker: function(e2, t2) { + if (this._data instanceof o && this._data.compression.magic === e2.magic) return this._data.getCompressedWorker(); + var r2 = this._decompressWorker(); + return this._dataBinary || (r2 = r2.pipe(new a.Utf8EncodeWorker())), o.createWorkerFrom(r2, e2, t2); + }, _decompressWorker: function() { + return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data); + } }; + for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l2 = function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, f = 0; f < u.length; f++) n.prototype[u[f]] = l2; + t.exports = n; + }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(e, l2, t) { + (function(t2) { + "use strict"; + var r, n, e2 = t2.MutationObserver || t2.WebKitMutationObserver; + if (e2) { + var i = 0, s = new e2(u), a = t2.document.createTextNode(""); + s.observe(a, { characterData: true }), r = function() { + a.data = i = ++i % 2; + }; + } else if (t2.setImmediate || void 0 === t2.MessageChannel) r = "document" in t2 && "onreadystatechange" in t2.document.createElement("script") ? function() { + var e3 = t2.document.createElement("script"); + e3.onreadystatechange = function() { + u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null; + }, t2.document.documentElement.appendChild(e3); + } : function() { + setTimeout(u, 0); + }; + else { + var o = new t2.MessageChannel(); + o.port1.onmessage = u, r = function() { + o.port2.postMessage(0); + }; + } + var h = []; + function u() { + var e3, t3; + n = true; + for (var r2 = h.length; r2; ) { + for (t3 = h, h = [], e3 = -1; ++e3 < r2; ) t3[e3](); + r2 = h.length; + } + n = false; + } + l2.exports = function(e3) { + 1 !== h.push(e3) || n || r(); + }; + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); + }, {}], 37: [function(e, t, r) { + "use strict"; + var i = e("immediate"); + function u() { + } + var l2 = {}, s = ["REJECTED"], a = ["FULFILLED"], n = ["PENDING"]; + function o(e2) { + if ("function" != typeof e2) throw new TypeError("resolver must be a function"); + this.state = n, this.queue = [], this.outcome = void 0, e2 !== u && d(this, e2); + } + function h(e2, t2, r2) { + this.promise = e2, "function" == typeof t2 && (this.onFulfilled = t2, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r2 && (this.onRejected = r2, this.callRejected = this.otherCallRejected); + } + function f(t2, r2, n2) { + i(function() { + var e2; + try { + e2 = r2(n2); + } catch (e3) { + return l2.reject(t2, e3); + } + e2 === t2 ? l2.reject(t2, new TypeError("Cannot resolve promise with itself")) : l2.resolve(t2, e2); + }); + } + function c(e2) { + var t2 = e2 && e2.then; + if (e2 && ("object" == typeof e2 || "function" == typeof e2) && "function" == typeof t2) return function() { + t2.apply(e2, arguments); + }; + } + function d(t2, e2) { + var r2 = false; + function n2(e3) { + r2 || (r2 = true, l2.reject(t2, e3)); + } + function i2(e3) { + r2 || (r2 = true, l2.resolve(t2, e3)); + } + var s2 = p(function() { + e2(i2, n2); + }); + "error" === s2.status && n2(s2.value); + } + function p(e2, t2) { + var r2 = {}; + try { + r2.value = e2(t2), r2.status = "success"; + } catch (e3) { + r2.status = "error", r2.value = e3; + } + return r2; + } + (t.exports = o).prototype.finally = function(t2) { + if ("function" != typeof t2) return this; + var r2 = this.constructor; + return this.then(function(e2) { + return r2.resolve(t2()).then(function() { + return e2; + }); + }, function(e2) { + return r2.resolve(t2()).then(function() { + throw e2; + }); + }); + }, o.prototype.catch = function(e2) { + return this.then(null, e2); + }, o.prototype.then = function(e2, t2) { + if ("function" != typeof e2 && this.state === a || "function" != typeof t2 && this.state === s) return this; + var r2 = new this.constructor(u); + this.state !== n ? f(r2, this.state === a ? e2 : t2, this.outcome) : this.queue.push(new h(r2, e2, t2)); + return r2; + }, h.prototype.callFulfilled = function(e2) { + l2.resolve(this.promise, e2); + }, h.prototype.otherCallFulfilled = function(e2) { + f(this.promise, this.onFulfilled, e2); + }, h.prototype.callRejected = function(e2) { + l2.reject(this.promise, e2); + }, h.prototype.otherCallRejected = function(e2) { + f(this.promise, this.onRejected, e2); + }, l2.resolve = function(e2, t2) { + var r2 = p(c, t2); + if ("error" === r2.status) return l2.reject(e2, r2.value); + var n2 = r2.value; + if (n2) d(e2, n2); + else { + e2.state = a, e2.outcome = t2; + for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) e2.queue[i2].callFulfilled(t2); + } + return e2; + }, l2.reject = function(e2, t2) { + e2.state = s, e2.outcome = t2; + for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) e2.queue[r2].callRejected(t2); + return e2; + }, o.resolve = function(e2) { + if (e2 instanceof this) return e2; + return l2.resolve(new this(u), e2); + }, o.reject = function(e2) { + var t2 = new this(u); + return l2.reject(t2, e2); + }, o.all = function(e2) { + var r2 = this; + if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); + var n2 = e2.length, i2 = false; + if (!n2) return this.resolve([]); + var s2 = new Array(n2), a2 = 0, t2 = -1, o2 = new this(u); + for (; ++t2 < n2; ) h2(e2[t2], t2); + return o2; + function h2(e3, t3) { + r2.resolve(e3).then(function(e4) { + s2[t3] = e4, ++a2 !== n2 || i2 || (i2 = true, l2.resolve(o2, s2)); + }, function(e4) { + i2 || (i2 = true, l2.reject(o2, e4)); + }); + } + }, o.race = function(e2) { + var t2 = this; + if ("[object Array]" !== Object.prototype.toString.call(e2)) return this.reject(new TypeError("must be an array")); + var r2 = e2.length, n2 = false; + if (!r2) return this.resolve([]); + var i2 = -1, s2 = new this(u); + for (; ++i2 < r2; ) a2 = e2[i2], t2.resolve(a2).then(function(e3) { + n2 || (n2 = true, l2.resolve(s2, e3)); + }, function(e3) { + n2 || (n2 = true, l2.reject(s2, e3)); + }); + var a2; + return s2; + }; + }, { immediate: 36 }], 38: [function(e, t, r) { + "use strict"; + var n = {}; + (0, e("./lib/utils/common").assign)(n, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = n; + }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function(e, t, r) { + "use strict"; + var a = e("./zlib/deflate"), o = e("./utils/common"), h = e("./utils/strings"), i = e("./zlib/messages"), s = e("./zlib/zstream"), u = Object.prototype.toString, l2 = 0, f = -1, c = 0, d = 8; + function p(e2) { + if (!(this instanceof p)) return new p(e2); + this.options = o.assign({ level: f, method: d, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: c, to: "" }, e2 || {}); + var t2 = this.options; + t2.raw && 0 < t2.windowBits ? t2.windowBits = -t2.windowBits : t2.gzip && 0 < t2.windowBits && t2.windowBits < 16 && (t2.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new s(), this.strm.avail_out = 0; + var r2 = a.deflateInit2(this.strm, t2.level, t2.method, t2.windowBits, t2.memLevel, t2.strategy); + if (r2 !== l2) throw new Error(i[r2]); + if (t2.header && a.deflateSetHeader(this.strm, t2.header), t2.dictionary) { + var n2; + if (n2 = "string" == typeof t2.dictionary ? h.string2buf(t2.dictionary) : "[object ArrayBuffer]" === u.call(t2.dictionary) ? new Uint8Array(t2.dictionary) : t2.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l2) throw new Error(i[r2]); + this._dict_set = true; + } + } + function n(e2, t2) { + var r2 = new p(t2); + if (r2.push(e2, true), r2.err) throw r2.msg || i[r2.err]; + return r2.result; + } + p.prototype.push = function(e2, t2) { + var r2, n2, i2 = this.strm, s2 = this.options.chunkSize; + if (this.ended) return false; + n2 = t2 === ~~t2 ? t2 : true === t2 ? 4 : 0, "string" == typeof e2 ? i2.input = h.string2buf(e2) : "[object ArrayBuffer]" === u.call(e2) ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length; + do { + if (0 === i2.avail_out && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), 1 !== (r2 = a.deflate(i2, n2)) && r2 !== l2) return this.onEnd(r2), !(this.ended = true); + 0 !== i2.avail_out && (0 !== i2.avail_in || 4 !== n2 && 2 !== n2) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out))); + } while ((0 < i2.avail_in || 0 === i2.avail_out) && 1 !== r2); + return 4 === n2 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l2) : 2 !== n2 || (this.onEnd(l2), !(i2.avail_out = 0)); + }, p.prototype.onData = function(e2) { + this.chunks.push(e2); + }, p.prototype.onEnd = function(e2) { + e2 === l2 && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; + }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e2, t2) { + return (t2 = t2 || {}).raw = true, n(e2, t2); + }, r.gzip = function(e2, t2) { + return (t2 = t2 || {}).gzip = true, n(e2, t2); + }; + }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function(e, t, r) { + "use strict"; + var c = e("./zlib/inflate"), d = e("./utils/common"), p = e("./utils/strings"), m = e("./zlib/constants"), n = e("./zlib/messages"), i = e("./zlib/zstream"), s = e("./zlib/gzheader"), _3 = Object.prototype.toString; + function a(e2) { + if (!(this instanceof a)) return new a(e2); + this.options = d.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e2 || {}); + var t2 = this.options; + t2.raw && 0 <= t2.windowBits && t2.windowBits < 16 && (t2.windowBits = -t2.windowBits, 0 === t2.windowBits && (t2.windowBits = -15)), !(0 <= t2.windowBits && t2.windowBits < 16) || e2 && e2.windowBits || (t2.windowBits += 32), 15 < t2.windowBits && t2.windowBits < 48 && 0 == (15 & t2.windowBits) && (t2.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0; + var r2 = c.inflateInit2(this.strm, t2.windowBits); + if (r2 !== m.Z_OK) throw new Error(n[r2]); + this.header = new s(), c.inflateGetHeader(this.strm, this.header); + } + function o(e2, t2) { + var r2 = new a(t2); + if (r2.push(e2, true), r2.err) throw r2.msg || n[r2.err]; + return r2.result; + } + a.prototype.push = function(e2, t2) { + var r2, n2, i2, s2, a2, o2, h = this.strm, u = this.options.chunkSize, l2 = this.options.dictionary, f = false; + if (this.ended) return false; + n2 = t2 === ~~t2 ? t2 : true === t2 ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof e2 ? h.input = p.binstring2buf(e2) : "[object ArrayBuffer]" === _3.call(e2) ? h.input = new Uint8Array(e2) : h.input = e2, h.next_in = 0, h.avail_in = h.input.length; + do { + if (0 === h.avail_out && (h.output = new d.Buf8(u), h.next_out = 0, h.avail_out = u), (r2 = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l2 && (o2 = "string" == typeof l2 ? p.string2buf(l2) : "[object ArrayBuffer]" === _3.call(l2) ? new Uint8Array(l2) : l2, r2 = c.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && true === f && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) return this.onEnd(r2), !(this.ended = true); + h.next_out && (0 !== h.avail_out && r2 !== m.Z_STREAM_END && (0 !== h.avail_in || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i2 = p.utf8border(h.output, h.next_out), s2 = h.next_out - i2, a2 = p.buf2string(h.output, i2), h.next_out = s2, h.avail_out = u - s2, s2 && d.arraySet(h.output, h.output, i2, s2, 0), this.onData(a2)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = true); + } while ((0 < h.avail_in || 0 === h.avail_out) && r2 !== m.Z_STREAM_END); + return r2 === m.Z_STREAM_END && (n2 = m.Z_FINISH), n2 === m.Z_FINISH ? (r2 = c.inflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === m.Z_OK) : n2 !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)); + }, a.prototype.onData = function(e2) { + this.chunks.push(e2); + }, a.prototype.onEnd = function(e2) { + e2 === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; + }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e2, t2) { + return (t2 = t2 || {}).raw = true, o(e2, t2); + }, r.ungzip = o; + }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(e, t, r) { + "use strict"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; + r.assign = function(e2) { + for (var t2 = Array.prototype.slice.call(arguments, 1); t2.length; ) { + var r2 = t2.shift(); + if (r2) { + if ("object" != typeof r2) throw new TypeError(r2 + "must be non-object"); + for (var n2 in r2) r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]); + } + } + return e2; + }, r.shrinkBuf = function(e2, t2) { + return e2.length === t2 ? e2 : e2.subarray ? e2.subarray(0, t2) : (e2.length = t2, e2); + }; + var i = { arraySet: function(e2, t2, r2, n2, i2) { + if (t2.subarray && e2.subarray) e2.set(t2.subarray(r2, r2 + n2), i2); + else for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2]; + }, flattenChunks: function(e2) { + var t2, r2, n2, i2, s2, a; + for (t2 = n2 = 0, r2 = e2.length; t2 < r2; t2++) n2 += e2[t2].length; + for (a = new Uint8Array(n2), t2 = i2 = 0, r2 = e2.length; t2 < r2; t2++) s2 = e2[t2], a.set(s2, i2), i2 += s2.length; + return a; + } }, s = { arraySet: function(e2, t2, r2, n2, i2) { + for (var s2 = 0; s2 < n2; s2++) e2[i2 + s2] = t2[r2 + s2]; + }, flattenChunks: function(e2) { + return [].concat.apply([], e2); + } }; + r.setTyped = function(e2) { + e2 ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)); + }, r.setTyped(n); + }, {}], 42: [function(e, t, r) { + "use strict"; + var h = e("./common"), i = true, s = true; + try { + String.fromCharCode.apply(null, [0]); + } catch (e2) { + i = false; + } + try { + String.fromCharCode.apply(null, new Uint8Array(1)); + } catch (e2) { + s = false; + } + for (var u = new h.Buf8(256), n = 0; n < 256; n++) u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; + function l2(e2, t2) { + if (t2 < 65537 && (e2.subarray && s || !e2.subarray && i)) return String.fromCharCode.apply(null, h.shrinkBuf(e2, t2)); + for (var r2 = "", n2 = 0; n2 < t2; n2++) r2 += String.fromCharCode(e2[n2]); + return r2; + } + u[254] = u[254] = 1, r.string2buf = function(e2) { + var t2, r2, n2, i2, s2, a = e2.length, o = 0; + for (i2 = 0; i2 < a; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; + for (t2 = new h.Buf8(o), i2 = s2 = 0; s2 < o; i2++) 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); + return t2; + }, r.buf2binstring = function(e2) { + return l2(e2, e2.length); + }, r.binstring2buf = function(e2) { + for (var t2 = new h.Buf8(e2.length), r2 = 0, n2 = t2.length; r2 < n2; r2++) t2[r2] = e2.charCodeAt(r2); + return t2; + }, r.buf2string = function(e2, t2) { + var r2, n2, i2, s2, a = t2 || e2.length, o = new Array(2 * a); + for (r2 = n2 = 0; r2 < a; ) if ((i2 = e2[r2++]) < 128) o[n2++] = i2; + else if (4 < (s2 = u[i2])) o[n2++] = 65533, r2 += s2 - 1; + else { + for (i2 &= 2 === s2 ? 31 : 3 === s2 ? 15 : 7; 1 < s2 && r2 < a; ) i2 = i2 << 6 | 63 & e2[r2++], s2--; + 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2); + } + return l2(o, n2); + }, r.utf8border = function(e2, t2) { + var r2; + for ((t2 = t2 || e2.length) > e2.length && (t2 = e2.length), r2 = t2 - 1; 0 <= r2 && 128 == (192 & e2[r2]); ) r2--; + return r2 < 0 ? t2 : 0 === r2 ? t2 : r2 + u[e2[r2]] > t2 ? r2 : t2; + }; + }, { "./common": 41 }], 43: [function(e, t, r) { + "use strict"; + t.exports = function(e2, t2, r2, n) { + for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; 0 !== r2; ) { + for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t2[n++] | 0) | 0, --a; ) ; + i %= 65521, s %= 65521; + } + return i | s << 16 | 0; + }; + }, {}], 44: [function(e, t, r) { + "use strict"; + t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; + }, {}], 45: [function(e, t, r) { + "use strict"; + var o = (function() { + for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { + e2 = r2; + for (var n = 0; n < 8; n++) e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; + t2[r2] = e2; + } + return t2; + })(); + t.exports = function(e2, t2, r2, n) { + var i = o, s = n + r2; + e2 ^= -1; + for (var a = n; a < s; a++) e2 = e2 >>> 8 ^ i[255 & (e2 ^ t2[a])]; + return -1 ^ e2; + }; + }, {}], 46: [function(e, t, r) { + "use strict"; + var h, c = e("../utils/common"), u = e("./trees"), d = e("./adler32"), p = e("./crc32"), n = e("./messages"), l2 = 0, f = 4, m = 0, _3 = -2, g = -1, b = 4, i = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; + function R(e2, t2) { + return e2.msg = n[t2], t2; + } + function T(e2) { + return (e2 << 1) - (4 < e2 ? 9 : 0); + } + function D(e2) { + for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0; + } + function F(e2) { + var t2 = e2.state, r2 = t2.pending; + r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (c.arraySet(e2.output, t2.pending_buf, t2.pending_out, r2, e2.next_out), e2.next_out += r2, t2.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t2.pending -= r2, 0 === t2.pending && (t2.pending_out = 0)); + } + function N(e2, t2) { + u._tr_flush_block(e2, 0 <= e2.block_start ? e2.block_start : -1, e2.strstart - e2.block_start, t2), e2.block_start = e2.strstart, F(e2.strm); + } + function U(e2, t2) { + e2.pending_buf[e2.pending++] = t2; + } + function P(e2, t2) { + e2.pending_buf[e2.pending++] = t2 >>> 8 & 255, e2.pending_buf[e2.pending++] = 255 & t2; + } + function L(e2, t2) { + var r2, n2, i2 = e2.max_chain_length, s2 = e2.strstart, a2 = e2.prev_length, o2 = e2.nice_match, h2 = e2.strstart > e2.w_size - z ? e2.strstart - (e2.w_size - z) : 0, u2 = e2.window, l3 = e2.w_mask, f2 = e2.prev, c2 = e2.strstart + S, d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; + e2.prev_length >= e2.good_match && (i2 >>= 2), o2 > e2.lookahead && (o2 = e2.lookahead); + do { + if (u2[(r2 = t2) + a2] === p2 && u2[r2 + a2 - 1] === d2 && u2[r2] === u2[s2] && u2[++r2] === u2[s2 + 1]) { + s2 += 2, r2++; + do { + } while (u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && s2 < c2); + if (n2 = S - (c2 - s2), s2 = c2 - S, a2 < n2) { + if (e2.match_start = t2, o2 <= (a2 = n2)) break; + d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; + } + } + } while ((t2 = f2[t2 & l3]) > h2 && 0 != --i2); + return a2 <= e2.lookahead ? a2 : e2.lookahead; + } + function j(e2) { + var t2, r2, n2, i2, s2, a2, o2, h2, u2, l3, f2 = e2.w_size; + do { + if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= f2 + (f2 - z)) { + for (c.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t2 = r2 = e2.hash_size; n2 = e2.head[--t2], e2.head[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; + for (t2 = r2 = f2; n2 = e2.prev[--t2], e2.prev[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) ; + i2 += f2; + } + if (0 === e2.strm.avail_in) break; + if (a2 = e2.strm, o2 = e2.window, h2 = e2.strstart + e2.lookahead, u2 = i2, l3 = void 0, l3 = a2.avail_in, u2 < l3 && (l3 = u2), r2 = 0 === l3 ? 0 : (a2.avail_in -= l3, c.arraySet(o2, a2.input, a2.next_in, l3, h2), 1 === a2.state.wrap ? a2.adler = d(a2.adler, o2, l3, h2) : 2 === a2.state.wrap && (a2.adler = p(a2.adler, o2, l3, h2)), a2.next_in += l3, a2.total_in += l3, l3), e2.lookahead += r2, e2.lookahead + e2.insert >= x) for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) ; + } while (e2.lookahead < z && 0 !== e2.strm.avail_in); + } + function Z(e2, t2) { + for (var r2, n2; ; ) { + if (e2.lookahead < z) { + if (j(e2), e2.lookahead < z && t2 === l2) return A; + if (0 === e2.lookahead) break; + } + if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2)), e2.match_length >= x) if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) { + for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, 0 != --e2.match_length; ) ; + e2.strstart++; + } else e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask; + else n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++; + if (n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; + } + return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; + } + function W(e2, t2) { + for (var r2, n2, i2; ; ) { + if (e2.lookahead < z) { + if (j(e2), e2.lookahead < z && t2 === l2) return A; + if (0 === e2.lookahead) break; + } + if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (1 === e2.strategy || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) { + for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 != --e2.prev_length; ) ; + if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), 0 === e2.strm.avail_out)) return A; + } else if (e2.match_available) { + if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out) return A; + } else e2.match_available = 1, e2.strstart++, e2.lookahead--; + } + return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; + } + function M(e2, t2, r2, n2, i2) { + this.good_length = e2, this.max_lazy = t2, this.nice_length = r2, this.max_chain = n2, this.func = i2; + } + function H() { + this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new c.Buf16(2 * w), this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), this.bl_tree = new c.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new c.Buf16(k + 1), this.heap = new c.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new c.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; + } + function G(e2) { + var t2; + return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t2 = e2.state).pending = 0, t2.pending_out = 0, t2.wrap < 0 && (t2.wrap = -t2.wrap), t2.status = t2.wrap ? C : E, e2.adler = 2 === t2.wrap ? 0 : 1, t2.last_flush = l2, u._tr_init(t2), m) : R(e2, _3); + } + function K(e2) { + var t2 = G(e2); + return t2 === m && (function(e3) { + e3.window_size = 2 * e3.w_size, D(e3.head), e3.max_lazy_match = h[e3.level].max_lazy, e3.good_match = h[e3.level].good_length, e3.nice_match = h[e3.level].nice_length, e3.max_chain_length = h[e3.level].max_chain, e3.strstart = 0, e3.block_start = 0, e3.lookahead = 0, e3.insert = 0, e3.match_length = e3.prev_length = x - 1, e3.match_available = 0, e3.ins_h = 0; + })(e2.state), t2; + } + function Y(e2, t2, r2, n2, i2, s2) { + if (!e2) return _3; + var a2 = 1; + if (t2 === g && (t2 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y < i2 || r2 !== v || n2 < 8 || 15 < n2 || t2 < 0 || 9 < t2 || s2 < 0 || b < s2) return R(e2, _3); + 8 === n2 && (n2 = 9); + var o2 = new H(); + return (e2.state = o2).strm = e2, o2.wrap = a2, o2.gzhead = null, o2.w_bits = n2, o2.w_size = 1 << o2.w_bits, o2.w_mask = o2.w_size - 1, o2.hash_bits = i2 + 7, o2.hash_size = 1 << o2.hash_bits, o2.hash_mask = o2.hash_size - 1, o2.hash_shift = ~~((o2.hash_bits + x - 1) / x), o2.window = new c.Buf8(2 * o2.w_size), o2.head = new c.Buf16(o2.hash_size), o2.prev = new c.Buf16(o2.w_size), o2.lit_bufsize = 1 << i2 + 6, o2.pending_buf_size = 4 * o2.lit_bufsize, o2.pending_buf = new c.Buf8(o2.pending_buf_size), o2.d_buf = 1 * o2.lit_bufsize, o2.l_buf = 3 * o2.lit_bufsize, o2.level = t2, o2.strategy = s2, o2.method = r2, K(e2); + } + h = [new M(0, 0, 0, 0, function(e2, t2) { + var r2 = 65535; + for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) { + if (e2.lookahead <= 1) { + if (j(e2), 0 === e2.lookahead && t2 === l2) return A; + if (0 === e2.lookahead) break; + } + e2.strstart += e2.lookahead, e2.lookahead = 0; + var n2 = e2.block_start + r2; + if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), 0 === e2.strm.avail_out)) return A; + if (e2.strstart - e2.block_start >= e2.w_size - z && (N(e2, false), 0 === e2.strm.avail_out)) return A; + } + return e2.insert = 0, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A); + }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function(e2, t2) { + return Y(e2, t2, v, 15, 8, 0); + }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function(e2, t2) { + return e2 && e2.state ? 2 !== e2.state.wrap ? _3 : (e2.state.gzhead = t2, m) : _3; + }, r.deflate = function(e2, t2) { + var r2, n2, i2, s2; + if (!e2 || !e2.state || 5 < t2 || t2 < 0) return e2 ? R(e2, _3) : _3; + if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || 666 === n2.status && t2 !== f) return R(e2, 0 === e2.avail_out ? -5 : _3); + if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t2, n2.status === C) if (2 === n2.wrap) e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E); + else { + var a2 = v + (n2.w_bits - 8 << 4) << 8; + a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), 0 !== n2.strstart && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1; + } + if (69 === n2.status) if (n2.gzhead.extra) { + for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++; + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73); + } else n2.status = 73; + if (73 === n2.status) if (n2.gzhead.name) { + i2 = n2.pending; + do { + if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { + s2 = 1; + break; + } + s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2); + } while (0 !== s2); + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.gzindex = 0, n2.status = 91); + } else n2.status = 91; + if (91 === n2.status) if (n2.gzhead.comment) { + i2 = n2.pending; + do { + if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { + s2 = 1; + break; + } + s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2); + } while (0 !== s2); + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.status = 103); + } else n2.status = 103; + if (103 === n2.status && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), 0 !== n2.pending) { + if (F(e2), 0 === e2.avail_out) return n2.last_flush = -1, m; + } else if (0 === e2.avail_in && T(t2) <= T(r2) && t2 !== f) return R(e2, -5); + if (666 === n2.status && 0 !== e2.avail_in) return R(e2, -5); + if (0 !== e2.avail_in || 0 !== n2.lookahead || t2 !== l2 && 666 !== n2.status) { + var o2 = 2 === n2.strategy ? (function(e3, t3) { + for (var r3; ; ) { + if (0 === e3.lookahead && (j(e3), 0 === e3.lookahead)) { + if (t3 === l2) return A; + break; + } + if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; + } + return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; + })(n2, t2) : 3 === n2.strategy ? (function(e3, t3) { + for (var r3, n3, i3, s3, a3 = e3.window; ; ) { + if (e3.lookahead <= S) { + if (j(e3), e3.lookahead <= S && t3 === l2) return A; + if (0 === e3.lookahead) break; + } + if (e3.match_length = 0, e3.lookahead >= x && 0 < e3.strstart && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) { + s3 = e3.strstart + S; + do { + } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < s3); + e3.match_length = S - (s3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead); + } + if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), 0 === e3.strm.avail_out)) return A; + } + return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; + })(n2, t2) : h[n2.level].func(n2, t2); + if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) return 0 === e2.avail_out && (n2.last_flush = -1), m; + if (o2 === I && (1 === t2 ? u._tr_align(n2) : 5 !== t2 && (u._tr_stored_block(n2, 0, 0, false), 3 === t2 && (D(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F(e2), 0 === e2.avail_out)) return n2.last_flush = -1, m; + } + return t2 !== f ? m : n2.wrap <= 0 ? 1 : (2 === n2.wrap ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), 0 !== n2.pending ? m : 1); + }, r.deflateEnd = function(e2) { + var t2; + return e2 && e2.state ? (t2 = e2.state.status) !== C && 69 !== t2 && 73 !== t2 && 91 !== t2 && 103 !== t2 && t2 !== E && 666 !== t2 ? R(e2, _3) : (e2.state = null, t2 === E ? R(e2, -3) : m) : _3; + }, r.deflateSetDictionary = function(e2, t2) { + var r2, n2, i2, s2, a2, o2, h2, u2, l3 = t2.length; + if (!e2 || !e2.state) return _3; + if (2 === (s2 = (r2 = e2.state).wrap) || 1 === s2 && r2.status !== C || r2.lookahead) return _3; + for (1 === s2 && (e2.adler = d(e2.adler, t2, l3, 0)), r2.wrap = 0, l3 >= r2.w_size && (0 === s2 && (D(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c.Buf8(r2.w_size), c.arraySet(u2, t2, l3 - r2.w_size, r2.w_size, 0), t2 = u2, l3 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h2 = e2.input, e2.avail_in = l3, e2.next_in = 0, e2.input = t2, j(r2); r2.lookahead >= x; ) { + for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) ; + r2.strstart = n2, r2.lookahead = x - 1, j(r2); + } + return r2.strstart += r2.lookahead, r2.block_start = r2.strstart, r2.insert = r2.lookahead, r2.lookahead = 0, r2.match_length = r2.prev_length = x - 1, r2.match_available = 0, e2.next_in = o2, e2.input = h2, e2.avail_in = a2, r2.wrap = s2, m; + }, r.deflateInfo = "pako deflate (from Nodeca project)"; + }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(e, t, r) { + "use strict"; + t.exports = function() { + this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false; + }; + }, {}], 48: [function(e, t, r) { + "use strict"; + t.exports = function(e2, t2) { + var r2, n, i, s, a, o, h, u, l2, f, c, d, p, m, _3, g, b, v, y, w, k, x, S, z, C; + r2 = e2.state, n = e2.next_in, z = e2.input, i = n + (e2.avail_in - 5), s = e2.next_out, C = e2.output, a = s - (t2 - e2.avail_out), o = s + (e2.avail_out - 257), h = r2.dmax, u = r2.wsize, l2 = r2.whave, f = r2.wnext, c = r2.window, d = r2.hold, p = r2.bits, m = r2.lencode, _3 = r2.distcode, g = (1 << r2.lenbits) - 1, b = (1 << r2.distbits) - 1; + e: do { + p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; + t: for (; ; ) { + if (d >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v; + else { + if (!(16 & y)) { + if (0 == (64 & y)) { + v = m[(65535 & v) + (d & (1 << y) - 1)]; + continue t; + } + if (32 & y) { + r2.mode = 12; + break e; + } + e2.msg = "invalid literal/length code", r2.mode = 30; + break e; + } + w = 65535 & v, (y &= 15) && (p < y && (d += z[n++] << p, p += 8), w += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _3[d & b]; + r: for (; ; ) { + if (d >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { + if (0 == (64 & y)) { + v = _3[(65535 & v) + (d & (1 << y) - 1)]; + continue r; + } + e2.msg = "invalid distance code", r2.mode = 30; + break e; + } + if (k = 65535 & v, p < (y &= 15) && (d += z[n++] << p, (p += 8) < y && (d += z[n++] << p, p += 8)), h < (k += d & (1 << y) - 1)) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break e; + } + if (d >>>= y, p -= y, (y = s - a) < k) { + if (l2 < (y = k - y) && r2.sane) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break e; + } + if (S = c, (x = 0) === f) { + if (x += u - y, y < w) { + for (w -= y; C[s++] = c[x++], --y; ) ; + x = s - k, S = C; + } + } else if (f < y) { + if (x += u + f - y, (y -= f) < w) { + for (w -= y; C[s++] = c[x++], --y; ) ; + if (x = 0, f < w) { + for (w -= y = f; C[s++] = c[x++], --y; ) ; + x = s - k, S = C; + } + } + } else if (x += f - y, y < w) { + for (w -= y; C[s++] = c[x++], --y; ) ; + x = s - k, S = C; + } + for (; 2 < w; ) C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; + w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++])); + } else { + for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3); ) ; + w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++])); + } + break; + } + } + break; + } + } while (n < i && s < o); + n -= w = p >> 3, d &= (1 << (p -= w << 3)) - 1, e2.next_in = n, e2.next_out = s, e2.avail_in = n < i ? i - n + 5 : 5 - (n - i), e2.avail_out = s < o ? o - s + 257 : 257 - (s - o), r2.hold = d, r2.bits = p; + }; + }, {}], 49: [function(e, t, r) { + "use strict"; + var I = e("../utils/common"), O = e("./adler32"), B = e("./crc32"), R = e("./inffast"), T = e("./inftrees"), D = 1, F = 2, N = 0, U = -2, P = 1, n = 852, i = 592; + function L(e2) { + return (e2 >>> 24 & 255) + (e2 >>> 8 & 65280) + ((65280 & e2) << 8) + ((255 & e2) << 24); + } + function s() { + this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; + } + function a(e2) { + var t2; + return e2 && e2.state ? (t2 = e2.state, e2.total_in = e2.total_out = t2.total = 0, e2.msg = "", t2.wrap && (e2.adler = 1 & t2.wrap), t2.mode = P, t2.last = 0, t2.havedict = 0, t2.dmax = 32768, t2.head = null, t2.hold = 0, t2.bits = 0, t2.lencode = t2.lendyn = new I.Buf32(n), t2.distcode = t2.distdyn = new I.Buf32(i), t2.sane = 1, t2.back = -1, N) : U; + } + function o(e2) { + var t2; + return e2 && e2.state ? ((t2 = e2.state).wsize = 0, t2.whave = 0, t2.wnext = 0, a(e2)) : U; + } + function h(e2, t2) { + var r2, n2; + return e2 && e2.state ? (n2 = e2.state, t2 < 0 ? (r2 = 0, t2 = -t2) : (r2 = 1 + (t2 >> 4), t2 < 48 && (t2 &= 15)), t2 && (t2 < 8 || 15 < t2) ? U : (null !== n2.window && n2.wbits !== t2 && (n2.window = null), n2.wrap = r2, n2.wbits = t2, o(e2))) : U; + } + function u(e2, t2) { + var r2, n2; + return e2 ? (n2 = new s(), (e2.state = n2).window = null, (r2 = h(e2, t2)) !== N && (e2.state = null), r2) : U; + } + var l2, f, c = true; + function j(e2) { + if (c) { + var t2; + for (l2 = new I.Buf32(512), f = new I.Buf32(32), t2 = 0; t2 < 144; ) e2.lens[t2++] = 8; + for (; t2 < 256; ) e2.lens[t2++] = 9; + for (; t2 < 280; ) e2.lens[t2++] = 7; + for (; t2 < 288; ) e2.lens[t2++] = 8; + for (T(D, e2.lens, 0, 288, l2, 0, e2.work, { bits: 9 }), t2 = 0; t2 < 32; ) e2.lens[t2++] = 5; + T(F, e2.lens, 0, 32, f, 0, e2.work, { bits: 5 }), c = false; + } + e2.lencode = l2, e2.lenbits = 9, e2.distcode = f, e2.distbits = 5; + } + function Z(e2, t2, r2, n2) { + var i2, s2 = e2.state; + return null === s2.window && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t2, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t2, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t2, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0; + } + r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function(e2) { + return u(e2, 15); + }, r.inflateInit2 = u, r.inflate = function(e2, t2) { + var r2, n2, i2, s2, a2, o2, h2, u2, l3, f2, c2, d, p, m, _3, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; + if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in) return U; + 12 === (r2 = e2.state).mode && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l3 = r2.bits, f2 = o2, c2 = h2, x = N; + e: for (; ; ) switch (r2.mode) { + case P: + if (0 === r2.wrap) { + r2.mode = 13; + break; + } + for (; l3 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (2 & r2.wrap && 35615 === u2) { + E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l3 = u2 = 0, r2.mode = 2; + break; + } + if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) { + e2.msg = "incorrect header check", r2.mode = 30; + break; + } + if (8 != (15 & u2)) { + e2.msg = "unknown compression method", r2.mode = 30; + break; + } + if (l3 -= 4, k = 8 + (15 & (u2 >>>= 4)), 0 === r2.wbits) r2.wbits = k; + else if (k > r2.wbits) { + e2.msg = "invalid window size", r2.mode = 30; + break; + } + r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l3 = u2 = 0; + break; + case 2: + for (; l3 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (r2.flags = u2, 8 != (255 & r2.flags)) { + e2.msg = "unknown compression method", r2.mode = 30; + break; + } + if (57344 & r2.flags) { + e2.msg = "unknown header flags set", r2.mode = 30; + break; + } + r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l3 = u2 = 0, r2.mode = 3; + case 3: + for (; l3 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l3 = u2 = 0, r2.mode = 4; + case 4: + for (; l3 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l3 = u2 = 0, r2.mode = 5; + case 5: + if (1024 & r2.flags) { + for (; l3 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l3 = u2 = 0; + } else r2.head && (r2.head.extra = null); + r2.mode = 6; + case 6: + if (1024 & r2.flags && (o2 < (d = r2.length) && (d = o2), d && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, r2.length -= d), r2.length)) break e; + r2.length = 0, r2.mode = 7; + case 7: + if (2048 & r2.flags) { + if (0 === o2) break e; + for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d < o2; ) ; + if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e; + } else r2.head && (r2.head.name = null); + r2.length = 0, r2.mode = 8; + case 8: + if (4096 & r2.flags) { + if (0 === o2) break e; + for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d < o2; ) ; + if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) break e; + } else r2.head && (r2.head.comment = null); + r2.mode = 9; + case 9: + if (512 & r2.flags) { + for (; l3 < 16; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (u2 !== (65535 & r2.check)) { + e2.msg = "header crc mismatch", r2.mode = 30; + break; + } + l3 = u2 = 0; + } + r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12; + break; + case 10: + for (; l3 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + e2.adler = r2.check = L(u2), l3 = u2 = 0, r2.mode = 11; + case 11: + if (0 === r2.havedict) return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l3, 2; + e2.adler = r2.check = 1, r2.mode = 12; + case 12: + if (5 === t2 || 6 === t2) break e; + case 13: + if (r2.last) { + u2 >>>= 7 & l3, l3 -= 7 & l3, r2.mode = 27; + break; + } + for (; l3 < 3; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + switch (r2.last = 1 & u2, l3 -= 1, 3 & (u2 >>>= 1)) { + case 0: + r2.mode = 14; + break; + case 1: + if (j(r2), r2.mode = 20, 6 !== t2) break; + u2 >>>= 2, l3 -= 2; + break e; + case 2: + r2.mode = 17; + break; + case 3: + e2.msg = "invalid block type", r2.mode = 30; + } + u2 >>>= 2, l3 -= 2; + break; + case 14: + for (u2 >>>= 7 & l3, l3 -= 7 & l3; l3 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if ((65535 & u2) != (u2 >>> 16 ^ 65535)) { + e2.msg = "invalid stored block lengths", r2.mode = 30; + break; + } + if (r2.length = 65535 & u2, l3 = u2 = 0, r2.mode = 15, 6 === t2) break e; + case 15: + r2.mode = 16; + case 16: + if (d = r2.length) { + if (o2 < d && (d = o2), h2 < d && (d = h2), 0 === d) break e; + I.arraySet(i2, n2, s2, d, a2), o2 -= d, s2 += d, h2 -= d, a2 += d, r2.length -= d; + break; + } + r2.mode = 12; + break; + case 17: + for (; l3 < 14; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l3 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l3 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l3 -= 4, 286 < r2.nlen || 30 < r2.ndist) { + e2.msg = "too many length or distance symbols", r2.mode = 30; + break; + } + r2.have = 0, r2.mode = 18; + case 18: + for (; r2.have < r2.ncode; ) { + for (; l3 < 3; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l3 -= 3; + } + for (; r2.have < 19; ) r2.lens[A[r2.have++]] = 0; + if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { + e2.msg = "invalid code lengths set", r2.mode = 30; + break; + } + r2.have = 0, r2.mode = 19; + case 19: + for (; r2.have < r2.nlen + r2.ndist; ) { + for (; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_3 = C >>> 24) <= l3); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (b < 16) u2 >>>= _3, l3 -= _3, r2.lens[r2.have++] = b; + else { + if (16 === b) { + for (z = _3 + 2; l3 < z; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (u2 >>>= _3, l3 -= _3, 0 === r2.have) { + e2.msg = "invalid bit length repeat", r2.mode = 30; + break; + } + k = r2.lens[r2.have - 1], d = 3 + (3 & u2), u2 >>>= 2, l3 -= 2; + } else if (17 === b) { + for (z = _3 + 3; l3 < z; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + l3 -= _3, k = 0, d = 3 + (7 & (u2 >>>= _3)), u2 >>>= 3, l3 -= 3; + } else { + for (z = _3 + 7; l3 < z; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + l3 -= _3, k = 0, d = 11 + (127 & (u2 >>>= _3)), u2 >>>= 7, l3 -= 7; + } + if (r2.have + d > r2.nlen + r2.ndist) { + e2.msg = "invalid bit length repeat", r2.mode = 30; + break; + } + for (; d--; ) r2.lens[r2.have++] = k; + } + } + if (30 === r2.mode) break; + if (0 === r2.lens[256]) { + e2.msg = "invalid code -- missing end-of-block", r2.mode = 30; + break; + } + if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { + e2.msg = "invalid literal/lengths set", r2.mode = 30; + break; + } + if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) { + e2.msg = "invalid distances set", r2.mode = 30; + break; + } + if (r2.mode = 20, 6 === t2) break e; + case 20: + r2.mode = 21; + case 21: + if (6 <= o2 && 258 <= h2) { + e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l3, R(e2, c2), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l3 = r2.bits, 12 === r2.mode && (r2.back = -1); + break; + } + for (r2.back = 0; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_3 = C >>> 24) <= l3); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (g && 0 == (240 & g)) { + for (v = _3, y = g, w = b; g = (C = r2.lencode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_3 = C >>> 24) <= l3); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + u2 >>>= v, l3 -= v, r2.back += v; + } + if (u2 >>>= _3, l3 -= _3, r2.back += _3, r2.length = b, 0 === g) { + r2.mode = 26; + break; + } + if (32 & g) { + r2.back = -1, r2.mode = 12; + break; + } + if (64 & g) { + e2.msg = "invalid literal/length code", r2.mode = 30; + break; + } + r2.extra = 15 & g, r2.mode = 22; + case 22: + if (r2.extra) { + for (z = r2.extra; l3 < z; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l3 -= r2.extra, r2.back += r2.extra; + } + r2.was = r2.length, r2.mode = 23; + case 23: + for (; g = (C = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_3 = C >>> 24) <= l3); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (0 == (240 & g)) { + for (v = _3, y = g, w = b; g = (C = r2.distcode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_3 = C >>> 24) <= l3); ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + u2 >>>= v, l3 -= v, r2.back += v; + } + if (u2 >>>= _3, l3 -= _3, r2.back += _3, 64 & g) { + e2.msg = "invalid distance code", r2.mode = 30; + break; + } + r2.offset = b, r2.extra = 15 & g, r2.mode = 24; + case 24: + if (r2.extra) { + for (z = r2.extra; l3 < z; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l3 -= r2.extra, r2.back += r2.extra; + } + if (r2.offset > r2.dmax) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break; + } + r2.mode = 25; + case 25: + if (0 === h2) break e; + if (d = c2 - h2, r2.offset > d) { + if ((d = r2.offset - d) > r2.whave && r2.sane) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break; + } + p = d > r2.wnext ? (d -= r2.wnext, r2.wsize - d) : r2.wnext - d, d > r2.length && (d = r2.length), m = r2.window; + } else m = i2, p = a2 - r2.offset, d = r2.length; + for (h2 < d && (d = h2), h2 -= d, r2.length -= d; i2[a2++] = m[p++], --d; ) ; + 0 === r2.length && (r2.mode = 21); + break; + case 26: + if (0 === h2) break e; + i2[a2++] = r2.length, h2--, r2.mode = 21; + break; + case 27: + if (r2.wrap) { + for (; l3 < 32; ) { + if (0 === o2) break e; + o2--, u2 |= n2[s2++] << l3, l3 += 8; + } + if (c2 -= h2, e2.total_out += c2, r2.total += c2, c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, a2 - c2) : O(r2.check, i2, c2, a2 - c2)), c2 = h2, (r2.flags ? u2 : L(u2)) !== r2.check) { + e2.msg = "incorrect data check", r2.mode = 30; + break; + } + l3 = u2 = 0; + } + r2.mode = 28; + case 28: + if (r2.wrap && r2.flags) { + for (; l3 < 32; ) { + if (0 === o2) break e; + o2--, u2 += n2[s2++] << l3, l3 += 8; + } + if (u2 !== (4294967295 & r2.total)) { + e2.msg = "incorrect length check", r2.mode = 30; + break; + } + l3 = u2 = 0; + } + r2.mode = 29; + case 29: + x = 1; + break e; + case 30: + x = -3; + break e; + case 31: + return -4; + case 32: + default: + return U; + } + return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l3, (r2.wsize || c2 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || 4 !== t2)) && Z(e2, e2.output, e2.next_out, c2 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c2 -= e2.avail_out, e2.total_in += f2, e2.total_out += c2, r2.total += c2, r2.wrap && c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, e2.next_out - c2) : O(r2.check, i2, c2, e2.next_out - c2)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (12 === r2.mode ? 128 : 0) + (20 === r2.mode || 15 === r2.mode ? 256 : 0), (0 == f2 && 0 === c2 || 4 === t2) && x === N && (x = -5), x); + }, r.inflateEnd = function(e2) { + if (!e2 || !e2.state) return U; + var t2 = e2.state; + return t2.window && (t2.window = null), e2.state = null, N; + }, r.inflateGetHeader = function(e2, t2) { + var r2; + return e2 && e2.state ? 0 == (2 & (r2 = e2.state).wrap) ? U : ((r2.head = t2).done = false, N) : U; + }, r.inflateSetDictionary = function(e2, t2) { + var r2, n2 = t2.length; + return e2 && e2.state ? 0 !== (r2 = e2.state).wrap && 11 !== r2.mode ? U : 11 === r2.mode && O(1, t2, n2, 0) !== r2.check ? -3 : Z(e2, t2, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U; + }, r.inflateInfo = "pako inflate (from Nodeca project)"; + }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(e, t, r) { + "use strict"; + var D = e("../utils/common"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; + t.exports = function(e2, t2, r2, n, i, s, a, o) { + var h, u, l2, f, c, d, p, m, _3, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; + for (b = 0; b <= 15; b++) O[b] = 0; + for (v = 0; v < n; v++) O[t2[r2 + v]]++; + for (k = g, w = 15; 1 <= w && 0 === O[w]; w--) ; + if (w < k && (k = w), 0 === w) return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; + for (y = 1; y < w && 0 === O[y]; y++) ; + for (k < y && (k = y), b = z = 1; b <= 15; b++) if (z <<= 1, (z -= O[b]) < 0) return -1; + if (0 < z && (0 === e2 || 1 !== w)) return -1; + for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b]; + for (v = 0; v < n; v++) 0 !== t2[r2 + v] && (a[B[t2[r2 + v]]++] = v); + if (d = 0 === e2 ? (A = R = a, 19) : 1 === e2 ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, c = s, S = v = E = 0, l2 = -1, f = (C = 1 << (x = k)) - 1, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1; + for (; ; ) { + for (p = b - S, _3 = a[v] < d ? (m = 0, a[v]) : a[v] > d ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _3 | 0, 0 !== u; ) ; + for (h = 1 << b - 1; E & h; ) h >>= 1; + if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) { + if (b === w) break; + b = t2[r2 + a[v]]; + } + if (k < b && (E & f) !== l2) { + for (0 === S && (S = k), c += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0); ) x++, z <<= 1; + if (C += 1 << x, 1 === e2 && 852 < C || 2 === e2 && 592 < C) return 1; + i[l2 = E & f] = k << 24 | x << 16 | c - s | 0; + } + } + return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0; + }; + }, { "../utils/common": 41 }], 51: [function(e, t, r) { + "use strict"; + t.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; + }, {}], 52: [function(e, t, r) { + "use strict"; + var i = e("../utils/common"), o = 0, h = 1; + function n(e2) { + for (var t2 = e2.length; 0 <= --t2; ) e2[t2] = 0; + } + var s = 0, a = 29, u = 256, l2 = u + 1 + a, f = 30, c = 19, _3 = 2 * l2 + 1, g = 15, d = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l2 + 2)); + n(z); + var C = new Array(2 * f); + n(C); + var E = new Array(512); + n(E); + var A = new Array(256); + n(A); + var I = new Array(a); + n(I); + var O, B, R, T = new Array(f); + function D(e2, t2, r2, n2, i2) { + this.static_tree = e2, this.extra_bits = t2, this.extra_base = r2, this.elems = n2, this.max_length = i2, this.has_stree = e2 && e2.length; + } + function F(e2, t2) { + this.dyn_tree = e2, this.max_code = 0, this.stat_desc = t2; + } + function N(e2) { + return e2 < 256 ? E[e2] : E[256 + (e2 >>> 7)]; + } + function U(e2, t2) { + e2.pending_buf[e2.pending++] = 255 & t2, e2.pending_buf[e2.pending++] = t2 >>> 8 & 255; + } + function P(e2, t2, r2) { + e2.bi_valid > d - r2 ? (e2.bi_buf |= t2 << e2.bi_valid & 65535, U(e2, e2.bi_buf), e2.bi_buf = t2 >> d - e2.bi_valid, e2.bi_valid += r2 - d) : (e2.bi_buf |= t2 << e2.bi_valid & 65535, e2.bi_valid += r2); + } + function L(e2, t2, r2) { + P(e2, r2[2 * t2], r2[2 * t2 + 1]); + } + function j(e2, t2) { + for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t2; ) ; + return r2 >>> 1; + } + function Z(e2, t2, r2) { + var n2, i2, s2 = new Array(g + 1), a2 = 0; + for (n2 = 1; n2 <= g; n2++) s2[n2] = a2 = a2 + r2[n2 - 1] << 1; + for (i2 = 0; i2 <= t2; i2++) { + var o2 = e2[2 * i2 + 1]; + 0 !== o2 && (e2[2 * i2] = j(s2[o2]++, o2)); + } + } + function W(e2) { + var t2; + for (t2 = 0; t2 < l2; t2++) e2.dyn_ltree[2 * t2] = 0; + for (t2 = 0; t2 < f; t2++) e2.dyn_dtree[2 * t2] = 0; + for (t2 = 0; t2 < c; t2++) e2.bl_tree[2 * t2] = 0; + e2.dyn_ltree[2 * m] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0; + } + function M(e2) { + 8 < e2.bi_valid ? U(e2, e2.bi_buf) : 0 < e2.bi_valid && (e2.pending_buf[e2.pending++] = e2.bi_buf), e2.bi_buf = 0, e2.bi_valid = 0; + } + function H(e2, t2, r2, n2) { + var i2 = 2 * t2, s2 = 2 * r2; + return e2[i2] < e2[s2] || e2[i2] === e2[s2] && n2[t2] <= n2[r2]; + } + function G(e2, t2, r2) { + for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H(t2, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H(t2, n2, e2.heap[i2], e2.depth)); ) e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1; + e2.heap[r2] = n2; + } + function K(e2, t2, r2) { + var n2, i2, s2, a2, o2 = 0; + if (0 !== e2.last_lit) for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, 0 === n2 ? L(e2, i2, t2) : (L(e2, (s2 = A[i2]) + u + 1, t2), 0 !== (a2 = w[s2]) && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), 0 !== (a2 = k[s2]) && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) ; + L(e2, m, t2); + } + function Y(e2, t2) { + var r2, n2, i2, s2 = t2.dyn_tree, a2 = t2.stat_desc.static_tree, o2 = t2.stat_desc.has_stree, h2 = t2.stat_desc.elems, u2 = -1; + for (e2.heap_len = 0, e2.heap_max = _3, r2 = 0; r2 < h2; r2++) 0 !== s2[2 * r2] ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0; + for (; e2.heap_len < 2; ) s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]); + for (t2.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) G(e2, s2, r2); + for (i2 = h2; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G(e2, s2, 1), 2 <= e2.heap_len; ) ; + e2.heap[--e2.heap_max] = e2.heap[1], (function(e3, t3) { + var r3, n3, i3, s3, a3, o3, h3 = t3.dyn_tree, u3 = t3.max_code, l3 = t3.stat_desc.static_tree, f2 = t3.stat_desc.has_stree, c2 = t3.stat_desc.extra_bits, d2 = t3.stat_desc.extra_base, p2 = t3.stat_desc.max_length, m2 = 0; + for (s3 = 0; s3 <= g; s3++) e3.bl_count[s3] = 0; + for (h3[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _3; r3++) p2 < (s3 = h3[2 * h3[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h3[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d2 <= n3 && (a3 = c2[n3 - d2]), o3 = h3[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l3[2 * n3 + 1] + a3))); + if (0 !== m2) { + do { + for (s3 = p2 - 1; 0 === e3.bl_count[s3]; ) s3--; + e3.bl_count[s3]--, e3.bl_count[s3 + 1] += 2, e3.bl_count[p2]--, m2 -= 2; + } while (0 < m2); + for (s3 = p2; 0 !== s3; s3--) for (n3 = e3.bl_count[s3]; 0 !== n3; ) u3 < (i3 = e3.heap[--r3]) || (h3[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h3[2 * i3 + 1]) * h3[2 * i3], h3[2 * i3 + 1] = s3), n3--); + } + })(e2, t2), Z(s2, u2, e2.bl_count); + } + function X(e2, t2, r2) { + var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; + for (0 === a2 && (h2 = 138, u2 = 3), t2[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) i2 = a2, a2 = t2[2 * (n2 + 1) + 1], ++o2 < h2 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : 0 !== i2 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4)); + } + function V(e2, t2, r2) { + var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; + for (0 === a2 && (h2 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) if (i2 = a2, a2 = t2[2 * (n2 + 1) + 1], !(++o2 < h2 && i2 === a2)) { + if (o2 < u2) for (; L(e2, i2, e2.bl_tree), 0 != --o2; ) ; + else 0 !== i2 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y, e2.bl_tree), P(e2, o2 - 11, 7)); + s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4); + } + } + n(T); + var q = false; + function J(e2, t2, r2, n2) { + P(e2, (s << 1) + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) { + M(e3), n3 && (U(e3, r3), U(e3, ~r3)), i.arraySet(e3.pending_buf, e3.window, t3, r3, e3.pending), e3.pending += r3; + })(e2, t2, r2, true); + } + r._tr_init = function(e2) { + q || ((function() { + var e3, t2, r2, n2, i2, s2 = new Array(g + 1); + for (n2 = r2 = 0; n2 < a - 1; n2++) for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) A[r2++] = n2; + for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) E[i2++] = n2; + for (i2 >>= 7; n2 < f; n2++) for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) E[256 + i2++] = n2; + for (t2 = 0; t2 <= g; t2++) s2[t2] = 0; + for (e3 = 0; e3 <= 143; ) z[2 * e3 + 1] = 8, e3++, s2[8]++; + for (; e3 <= 255; ) z[2 * e3 + 1] = 9, e3++, s2[9]++; + for (; e3 <= 279; ) z[2 * e3 + 1] = 7, e3++, s2[7]++; + for (; e3 <= 287; ) z[2 * e3 + 1] = 8, e3++, s2[8]++; + for (Z(z, l2 + 1, s2), e3 = 0; e3 < f; e3++) C[2 * e3 + 1] = 5, C[2 * e3] = j(e3, 5); + O = new D(z, w, u + 1, l2, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, c, p); + })(), q = true), e2.l_desc = new F(e2.dyn_ltree, O), e2.d_desc = new F(e2.dyn_dtree, B), e2.bl_desc = new F(e2.bl_tree, R), e2.bi_buf = 0, e2.bi_valid = 0, W(e2); + }, r._tr_stored_block = J, r._tr_flush_block = function(e2, t2, r2, n2) { + var i2, s2, a2 = 0; + 0 < e2.level ? (2 === e2.strm.data_type && (e2.strm.data_type = (function(e3) { + var t3, r3 = 4093624447; + for (t3 = 0; t3 <= 31; t3++, r3 >>>= 1) if (1 & r3 && 0 !== e3.dyn_ltree[2 * t3]) return o; + if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26]) return h; + for (t3 = 32; t3 < u; t3++) if (0 !== e3.dyn_ltree[2 * t3]) return h; + return o; + })(e2)), Y(e2, e2.l_desc), Y(e2, e2.d_desc), a2 = (function(e3) { + var t3; + for (X(e3, e3.dyn_ltree, e3.l_desc.max_code), X(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t3 = c - 1; 3 <= t3 && 0 === e3.bl_tree[2 * S[t3] + 1]; t3--) ; + return e3.opt_len += 3 * (t3 + 1) + 5 + 5 + 4, t3; + })(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && -1 !== t2 ? J(e2, t2, r2, n2) : 4 === e2.strategy || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K(e2, z, C)) : (P(e2, 4 + (n2 ? 1 : 0), 3), (function(e3, t3, r3, n3) { + var i3; + for (P(e3, t3 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) P(e3, e3.bl_tree[2 * S[i3] + 1], 3); + V(e3, e3.dyn_ltree, t3 - 1), V(e3, e3.dyn_dtree, r3 - 1); + })(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), K(e2, e2.dyn_ltree, e2.dyn_dtree)), W(e2), n2 && M(e2); + }, r._tr_tally = function(e2, t2, r2) { + return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t2 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t2, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t2 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t2--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t2)]++), e2.last_lit === e2.lit_bufsize - 1; + }, r._tr_align = function(e2) { + P(e2, 2, 3), L(e2, m, z), (function(e3) { + 16 === e3.bi_valid ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8); + })(e2); + }; + }, { "../utils/common": 41 }], 53: [function(e, t, r) { + "use strict"; + t.exports = function() { + this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; + }; + }, {}], 54: [function(e, t, r) { + (function(e2) { + !(function(r2, n) { + "use strict"; + if (!r2.setImmediate) { + var i, s, t2, a, o = 1, h = {}, u = false, l2 = r2.document, e3 = Object.getPrototypeOf && Object.getPrototypeOf(r2); + e3 = e3 && e3.setTimeout ? e3 : r2, i = "[object process]" === {}.toString.call(r2.process) ? function(e4) { + process.nextTick(function() { + c(e4); + }); + } : (function() { + if (r2.postMessage && !r2.importScripts) { + var e4 = true, t3 = r2.onmessage; + return r2.onmessage = function() { + e4 = false; + }, r2.postMessage("", "*"), r2.onmessage = t3, e4; + } + })() ? (a = "setImmediate$" + Math.random() + "$", r2.addEventListener ? r2.addEventListener("message", d, false) : r2.attachEvent("onmessage", d), function(e4) { + r2.postMessage(a + e4, "*"); + }) : r2.MessageChannel ? ((t2 = new MessageChannel()).port1.onmessage = function(e4) { + c(e4.data); + }, function(e4) { + t2.port2.postMessage(e4); + }) : l2 && "onreadystatechange" in l2.createElement("script") ? (s = l2.documentElement, function(e4) { + var t3 = l2.createElement("script"); + t3.onreadystatechange = function() { + c(e4), t3.onreadystatechange = null, s.removeChild(t3), t3 = null; + }, s.appendChild(t3); + }) : function(e4) { + setTimeout(c, 0, e4); + }, e3.setImmediate = function(e4) { + "function" != typeof e4 && (e4 = new Function("" + e4)); + for (var t3 = new Array(arguments.length - 1), r3 = 0; r3 < t3.length; r3++) t3[r3] = arguments[r3 + 1]; + var n2 = { callback: e4, args: t3 }; + return h[o] = n2, i(o), o++; + }, e3.clearImmediate = f; + } + function f(e4) { + delete h[e4]; + } + function c(e4) { + if (u) setTimeout(c, 0, e4); + else { + var t3 = h[e4]; + if (t3) { + u = true; + try { + !(function(e5) { + var t4 = e5.callback, r3 = e5.args; + switch (r3.length) { + case 0: + t4(); + break; + case 1: + t4(r3[0]); + break; + case 2: + t4(r3[0], r3[1]); + break; + case 3: + t4(r3[0], r3[1], r3[2]); + break; + default: + t4.apply(n, r3); + } + })(t3); + } finally { + f(e4), u = false; + } + } + } + } + function d(e4) { + e4.source === r2 && "string" == typeof e4.data && 0 === e4.data.indexOf(a) && c(+e4.data.slice(a.length)); + } + })("undefined" == typeof self ? void 0 === e2 ? this : e2 : self); + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); + }, {}] }, {}, [10])(10); + }); + } +}); + +// node_modules/mammoth/lib/zipfile.js +var require_zipfile = __commonJS({ + "node_modules/mammoth/lib/zipfile.js"(exports2) { + var base64js = require_base64_js(); + var JSZip2 = require_jszip_min(); + exports2.openArrayBuffer = openArrayBuffer; + exports2.splitPath = splitPath2; + exports2.joinPath = joinPath; + function openArrayBuffer(arrayBuffer) { + return JSZip2.loadAsync(arrayBuffer).then(function(zipFile) { + function exists(name) { + return zipFile.file(name) !== null; + } + function read(name, encoding) { + return zipFile.file(name).async("uint8array").then(function(array) { + if (encoding === "base64") { + return base64js.fromByteArray(array); + } else if (encoding) { + var decoder = new TextDecoder(encoding); + return decoder.decode(array); + } else { + return array; + } + }); + } + function write(name, contents) { + zipFile.file(name, contents); + } + function toArrayBuffer() { + return zipFile.generateAsync({ type: "arraybuffer" }); + } + return { + exists, + read, + write, + toArrayBuffer + }; + }); + } + function splitPath2(path) { + var lastIndex = path.lastIndexOf("/"); + if (lastIndex === -1) { + return { dirname: "", basename: path }; + } else { + return { + dirname: path.substring(0, lastIndex), + basename: path.substring(lastIndex + 1) + }; + } + } + function joinPath() { + var nonEmptyPaths = Array.prototype.filter.call(arguments, function(path) { + return path; + }); + var relevantPaths = []; + nonEmptyPaths.forEach(function(path) { + if (/^\//.test(path)) { + relevantPaths = [path]; + } else { + relevantPaths.push(path); + } + }); + return relevantPaths.join("/"); + } + } +}); + +// node_modules/mammoth/lib/xml/nodes.js +var require_nodes = __commonJS({ + "node_modules/mammoth/lib/xml/nodes.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + exports2.Element = Element; + exports2.element = function(name, attributes, children) { + return new Element(name, attributes, children); + }; + exports2.text = function(value) { + return { + type: "text", + value + }; + }; + var emptyElement = { + first: function() { + return null; + }, + firstOrEmpty: function() { + return emptyElement; + }, + attributes: {} + }; + function Element(name, attributes, children) { + this.type = "element"; + this.name = name; + this.attributes = attributes || {}; + this.children = children || []; + } + Element.prototype.first = function(name) { + return _3.find(this.children, function(child) { + return child.name === name; + }); + }; + Element.prototype.firstOrEmpty = function(name) { + return this.first(name) || emptyElement; + }; + Element.prototype.getElementsByTagName = function(name) { + var elements = _3.filter(this.children, function(child) { + return child.name === name; + }); + return toElementList(elements); + }; + Element.prototype.text = function() { + if (this.children.length === 0) { + return ""; + } else if (this.children.length !== 1 || this.children[0].type !== "text") { + throw new Error("Not implemented"); + } + return this.children[0].value; + }; + var elementListPrototype = { + getElementsByTagName: function(name) { + return toElementList(_3.flatten(this.map(function(element) { + return element.getElementsByTagName(name); + }, true))); + } + }; + function toElementList(array) { + return _3.extend(array, elementListPrototype); + } + } +}); + +// node_modules/@xmldom/xmldom/lib/conventions.js +var require_conventions = __commonJS({ + "node_modules/@xmldom/xmldom/lib/conventions.js"(exports2) { + "use strict"; + function find2(list, predicate, ac) { + if (ac === void 0) { + ac = Array.prototype; + } + if (list && typeof ac.find === "function") { + return ac.find.call(list, predicate); + } + for (var i = 0; i < list.length; i++) { + if (Object.prototype.hasOwnProperty.call(list, i)) { + var item = list[i]; + if (predicate.call(void 0, item, i, list)) { + return item; + } + } + } + } + function freeze(object2, oc) { + if (oc === void 0) { + oc = Object; + } + return oc && typeof oc.freeze === "function" ? oc.freeze(object2) : object2; + } + function assign(target, source) { + if (target === null || typeof target !== "object") { + throw new TypeError("target is not an object"); + } + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + return target; + } + var MIME_TYPE = freeze({ + /** + * `text/html`, the only mime type that triggers treating an XML document as HTML. + * + * @see DOMParser.SupportedType.isHTML + * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration + * @see https://en.wikipedia.org/wiki/HTML Wikipedia + * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN + * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec + */ + HTML: "text/html", + /** + * Helper method to check a mime type if it indicates an HTML document + * + * @param {string} [value] + * @returns {boolean} + * + * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration + * @see https://en.wikipedia.org/wiki/HTML Wikipedia + * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN + * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring */ + isHTML: function(value) { + return value === MIME_TYPE.HTML; + }, + /** + * `application/xml`, the standard mime type for XML documents. + * + * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration + * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303 + * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia + */ + XML_APPLICATION: "application/xml", + /** + * `text/html`, an alias for `application/xml`. + * + * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303 + * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration + * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia + */ + XML_TEXT: "text/xml", + /** + * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace, + * but is parsed as an XML document. + * + * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration + * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec + * @see https://en.wikipedia.org/wiki/XHTML Wikipedia + */ + XML_XHTML_APPLICATION: "application/xhtml+xml", + /** + * `image/svg+xml`, + * + * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration + * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1 + * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia + */ + XML_SVG_IMAGE: "image/svg+xml" + }); + var NAMESPACE = freeze({ + /** + * The XHTML namespace. + * + * @see http://www.w3.org/1999/xhtml + */ + HTML: "http://www.w3.org/1999/xhtml", + /** + * Checks if `uri` equals `NAMESPACE.HTML`. + * + * @param {string} [uri] + * + * @see NAMESPACE.HTML + */ + isHTML: function(uri) { + return uri === NAMESPACE.HTML; + }, + /** + * The SVG namespace. + * + * @see http://www.w3.org/2000/svg + */ + SVG: "http://www.w3.org/2000/svg", + /** + * The `xml:` namespace. + * + * @see http://www.w3.org/XML/1998/namespace + */ + XML: "http://www.w3.org/XML/1998/namespace", + /** + * The `xmlns:` namespace + * + * @see https://www.w3.org/2000/xmlns/ + */ + XMLNS: "http://www.w3.org/2000/xmlns/" + }); + exports2.assign = assign; + exports2.find = find2; + exports2.freeze = freeze; + exports2.MIME_TYPE = MIME_TYPE; + exports2.NAMESPACE = NAMESPACE; + } +}); + +// node_modules/@xmldom/xmldom/lib/dom.js +var require_dom = __commonJS({ + "node_modules/@xmldom/xmldom/lib/dom.js"(exports2) { + var conventions = require_conventions(); + var find2 = conventions.find; + var NAMESPACE = conventions.NAMESPACE; + function notEmptyString(input) { + return input !== ""; + } + function splitOnASCIIWhitespace(input) { + return input ? input.split(/[\t\n\f\r ]+/).filter(notEmptyString) : []; + } + function orderedSetReducer(current, element) { + if (!current.hasOwnProperty(element)) { + current[element] = true; + } + return current; + } + function toOrderedSet(input) { + if (!input) return []; + var list = splitOnASCIIWhitespace(input); + return Object.keys(list.reduce(orderedSetReducer, {})); + } + function arrayIncludes(list) { + return function(element) { + return list && list.indexOf(element) !== -1; + }; + } + function copy(src, dest) { + for (var p in src) { + if (Object.prototype.hasOwnProperty.call(src, p)) { + dest[p] = src[p]; + } + } + } + function _extends(Class, Super) { + var pt = Class.prototype; + if (!(pt instanceof Super)) { + let t2 = function() { + }; + var t = t2; + ; + t2.prototype = Super.prototype; + t2 = new t2(); + copy(pt, t2); + Class.prototype = pt = t2; + } + if (pt.constructor != Class) { + if (typeof Class != "function") { + console.error("unknown Class:" + Class); + } + pt.constructor = Class; + } + } + var NodeType = {}; + var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1; + var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2; + var TEXT_NODE = NodeType.TEXT_NODE = 3; + var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4; + var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5; + var ENTITY_NODE = NodeType.ENTITY_NODE = 6; + var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7; + var COMMENT_NODE = NodeType.COMMENT_NODE = 8; + var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9; + var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10; + var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11; + var NOTATION_NODE = NodeType.NOTATION_NODE = 12; + var ExceptionCode = {}; + var ExceptionMessage = {}; + var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = (ExceptionMessage[1] = "Index size error", 1); + var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = (ExceptionMessage[2] = "DOMString size error", 2); + var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = (ExceptionMessage[3] = "Hierarchy request error", 3); + var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = (ExceptionMessage[4] = "Wrong document", 4); + var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = (ExceptionMessage[5] = "Invalid character", 5); + var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = (ExceptionMessage[6] = "No data allowed", 6); + var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = (ExceptionMessage[7] = "No modification allowed", 7); + var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = (ExceptionMessage[8] = "Not found", 8); + var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = (ExceptionMessage[9] = "Not supported", 9); + var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = (ExceptionMessage[10] = "Attribute in use", 10); + var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = (ExceptionMessage[11] = "Invalid state", 11); + var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = (ExceptionMessage[12] = "Syntax error", 12); + var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = (ExceptionMessage[13] = "Invalid modification", 13); + var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = (ExceptionMessage[14] = "Invalid namespace", 14); + var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = (ExceptionMessage[15] = "Invalid access", 15); + function DOMException(code, message) { + if (message instanceof Error) { + var error = message; + } else { + error = this; + Error.call(this, ExceptionMessage[code]); + this.message = ExceptionMessage[code]; + if (Error.captureStackTrace) Error.captureStackTrace(this, DOMException); + } + error.code = code; + if (message) this.message = this.message + ": " + message; + return error; + } + DOMException.prototype = Error.prototype; + copy(ExceptionCode, DOMException); + function NodeList() { + } + NodeList.prototype = { + /** + * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive. + * @standard level1 + */ + length: 0, + /** + * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null. + * @standard level1 + * @param index unsigned long + * Index into the collection. + * @return Node + * The node at the indexth position in the NodeList, or null if that is not a valid index. + */ + item: function(index) { + return index >= 0 && index < this.length ? this[index] : null; + }, + toString: function(isHTML, nodeFilter) { + for (var buf = [], i = 0; i < this.length; i++) { + serializeToString(this[i], buf, isHTML, nodeFilter); + } + return buf.join(""); + }, + /** + * @private + * @param {function (Node):boolean} predicate + * @returns {Node[]} + */ + filter: function(predicate) { + return Array.prototype.filter.call(this, predicate); + }, + /** + * @private + * @param {Node} item + * @returns {number} + */ + indexOf: function(item) { + return Array.prototype.indexOf.call(this, item); + } + }; + function LiveNodeList(node, refresh) { + this._node = node; + this._refresh = refresh; + _updateLiveList(this); + } + function _updateLiveList(list) { + var inc = list._node._inc || list._node.ownerDocument._inc; + if (list._inc !== inc) { + var ls = list._refresh(list._node); + __set__(list, "length", ls.length); + if (!list.$$length || ls.length < list.$$length) { + for (var i = ls.length; i in list; i++) { + if (Object.prototype.hasOwnProperty.call(list, i)) { + delete list[i]; + } + } + } + copy(ls, list); + list._inc = inc; + } + } + LiveNodeList.prototype.item = function(i) { + _updateLiveList(this); + return this[i] || null; + }; + _extends(LiveNodeList, NodeList); + function NamedNodeMap() { + } + function _findNodeIndex(list, node) { + var i = list.length; + while (i--) { + if (list[i] === node) { + return i; + } + } + } + function _addNamedNode(el, list, newAttr, oldAttr) { + if (oldAttr) { + list[_findNodeIndex(list, oldAttr)] = newAttr; + } else { + list[list.length++] = newAttr; + } + if (el) { + newAttr.ownerElement = el; + var doc = el.ownerDocument; + if (doc) { + oldAttr && _onRemoveAttribute(doc, el, oldAttr); + _onAddAttribute(doc, el, newAttr); + } + } + } + function _removeNamedNode(el, list, attr) { + var i = _findNodeIndex(list, attr); + if (i >= 0) { + var lastIndex = list.length - 1; + while (i < lastIndex) { + list[i] = list[++i]; + } + list.length = lastIndex; + if (el) { + var doc = el.ownerDocument; + if (doc) { + _onRemoveAttribute(doc, el, attr); + attr.ownerElement = null; + } + } + } else { + throw new DOMException(NOT_FOUND_ERR, new Error(el.tagName + "@" + attr)); + } + } + NamedNodeMap.prototype = { + length: 0, + item: NodeList.prototype.item, + getNamedItem: function(key) { + var i = this.length; + while (i--) { + var attr = this[i]; + if (attr.nodeName == key) { + return attr; + } + } + }, + setNamedItem: function(attr) { + var el = attr.ownerElement; + if (el && el != this._ownerElement) { + throw new DOMException(INUSE_ATTRIBUTE_ERR); + } + var oldAttr = this.getNamedItem(attr.nodeName); + _addNamedNode(this._ownerElement, this, attr, oldAttr); + return oldAttr; + }, + /* returns Node */ + setNamedItemNS: function(attr) { + var el = attr.ownerElement, oldAttr; + if (el && el != this._ownerElement) { + throw new DOMException(INUSE_ATTRIBUTE_ERR); + } + oldAttr = this.getNamedItemNS(attr.namespaceURI, attr.localName); + _addNamedNode(this._ownerElement, this, attr, oldAttr); + return oldAttr; + }, + /* returns Node */ + removeNamedItem: function(key) { + var attr = this.getNamedItem(key); + _removeNamedNode(this._ownerElement, this, attr); + return attr; + }, + // raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR + //for level2 + removeNamedItemNS: function(namespaceURI, localName) { + var attr = this.getNamedItemNS(namespaceURI, localName); + _removeNamedNode(this._ownerElement, this, attr); + return attr; + }, + getNamedItemNS: function(namespaceURI, localName) { + var i = this.length; + while (i--) { + var node = this[i]; + if (node.localName == localName && node.namespaceURI == namespaceURI) { + return node; + } + } + return null; + } + }; + function DOMImplementation() { + } + DOMImplementation.prototype = { + /** + * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported. + * The different implementations fairly diverged in what kind of features were reported. + * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use. + * + * @deprecated It is deprecated and modern browsers return true in all cases. + * + * @param {string} feature + * @param {string} [version] + * @returns {boolean} always true + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN + * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core + * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard + */ + hasFeature: function(feature, version) { + return true; + }, + /** + * Creates an XML Document object of the specified type with its document element. + * + * __It behaves slightly different from the description in the living standard__: + * - There is no interface/class `XMLDocument`, it returns a `Document` instance. + * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared. + * - this implementation is not validating names or qualified names + * (when parsing XML strings, the SAX parser takes care of that) + * + * @param {string|null} namespaceURI + * @param {string} qualifiedName + * @param {DocumentType=null} doctype + * @returns {Document} + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN + * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial) + * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core + * + * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract + * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names + * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names + */ + createDocument: function(namespaceURI, qualifiedName, doctype) { + var doc = new Document(); + doc.implementation = this; + doc.childNodes = new NodeList(); + doc.doctype = doctype || null; + if (doctype) { + doc.appendChild(doctype); + } + if (qualifiedName) { + var root3 = doc.createElementNS(namespaceURI, qualifiedName); + doc.appendChild(root3); + } + return doc; + }, + /** + * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`. + * + * __This behavior is slightly different from the in the specs__: + * - this implementation is not validating names or qualified names + * (when parsing XML strings, the SAX parser takes care of that) + * + * @param {string} qualifiedName + * @param {string} [publicId] + * @param {string} [systemId] + * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation + * or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()` + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN + * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core + * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard + * + * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract + * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names + * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names + */ + createDocumentType: function(qualifiedName, publicId, systemId) { + var node = new DocumentType(); + node.name = qualifiedName; + node.nodeName = qualifiedName; + node.publicId = publicId || ""; + node.systemId = systemId || ""; + return node; + } + }; + function Node3() { + } + Node3.prototype = { + firstChild: null, + lastChild: null, + previousSibling: null, + nextSibling: null, + attributes: null, + parentNode: null, + childNodes: null, + ownerDocument: null, + nodeValue: null, + namespaceURI: null, + prefix: null, + localName: null, + // Modified in DOM Level 2: + insertBefore: function(newChild, refChild) { + return _insertBefore(this, newChild, refChild); + }, + replaceChild: function(newChild, oldChild) { + _insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument); + if (oldChild) { + this.removeChild(oldChild); + } + }, + removeChild: function(oldChild) { + return _removeChild(this, oldChild); + }, + appendChild: function(newChild) { + return this.insertBefore(newChild, null); + }, + hasChildNodes: function() { + return this.firstChild != null; + }, + cloneNode: function(deep) { + return cloneNode(this.ownerDocument || this, this, deep); + }, + // Modified in DOM Level 2: + normalize: function() { + var child = this.firstChild; + while (child) { + var next2 = child.nextSibling; + if (next2 && next2.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE) { + this.removeChild(next2); + child.appendData(next2.data); + } else { + child.normalize(); + child = next2; + } + } + }, + // Introduced in DOM Level 2: + isSupported: function(feature, version) { + return this.ownerDocument.implementation.hasFeature(feature, version); + }, + // Introduced in DOM Level 2: + hasAttributes: function() { + return this.attributes.length > 0; + }, + /** + * Look up the prefix associated to the given namespace URI, starting from this node. + * **The default namespace declarations are ignored by this method.** + * See Namespace Prefix Lookup for details on the algorithm used by this method. + * + * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._ + * + * @param {string | null} namespaceURI + * @returns {string | null} + * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix + * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo + * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix + * @see https://github.com/xmldom/xmldom/issues/322 + */ + lookupPrefix: function(namespaceURI) { + var el = this; + while (el) { + var map2 = el._nsMap; + if (map2) { + for (var n in map2) { + if (Object.prototype.hasOwnProperty.call(map2, n) && map2[n] === namespaceURI) { + return n; + } + } + } + el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode; + } + return null; + }, + // Introduced in DOM Level 3: + lookupNamespaceURI: function(prefix) { + var el = this; + while (el) { + var map2 = el._nsMap; + if (map2) { + if (Object.prototype.hasOwnProperty.call(map2, prefix)) { + return map2[prefix]; + } + } + el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode; + } + return null; + }, + // Introduced in DOM Level 3: + isDefaultNamespace: function(namespaceURI) { + var prefix = this.lookupPrefix(namespaceURI); + return prefix == null; + } + }; + function _xmlEncoder(c) { + return c == "<" && "<" || c == ">" && ">" || c == "&" && "&" || c == '"' && """ || "&#" + c.charCodeAt() + ";"; + } + copy(NodeType, Node3); + copy(NodeType, Node3.prototype); + function _visitNode(node, callback) { + if (callback(node)) { + return true; + } + if (node = node.firstChild) { + do { + if (_visitNode(node, callback)) { + return true; + } + } while (node = node.nextSibling); + } + } + function Document() { + this.ownerDocument = this; + } + function _onAddAttribute(doc, el, newAttr) { + doc && doc._inc++; + var ns2 = newAttr.namespaceURI; + if (ns2 === NAMESPACE.XMLNS) { + el._nsMap[newAttr.prefix ? newAttr.localName : ""] = newAttr.value; + } + } + function _onRemoveAttribute(doc, el, newAttr, remove2) { + doc && doc._inc++; + var ns2 = newAttr.namespaceURI; + if (ns2 === NAMESPACE.XMLNS) { + delete el._nsMap[newAttr.prefix ? newAttr.localName : ""]; + } + } + function _onUpdateChild(doc, el, newChild) { + if (doc && doc._inc) { + doc._inc++; + var cs = el.childNodes; + if (newChild) { + cs[cs.length++] = newChild; + } else { + var child = el.firstChild; + var i = 0; + while (child) { + cs[i++] = child; + child = child.nextSibling; + } + cs.length = i; + delete cs[cs.length]; + } + } + } + function _removeChild(parentNode, child) { + var previous = child.previousSibling; + var next2 = child.nextSibling; + if (previous) { + previous.nextSibling = next2; + } else { + parentNode.firstChild = next2; + } + if (next2) { + next2.previousSibling = previous; + } else { + parentNode.lastChild = previous; + } + child.parentNode = null; + child.previousSibling = null; + child.nextSibling = null; + _onUpdateChild(parentNode.ownerDocument, parentNode); + return child; + } + function hasValidParentNodeType(node) { + return node && (node.nodeType === Node3.DOCUMENT_NODE || node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node3.ELEMENT_NODE); + } + function hasInsertableNodeType(node) { + return node && (isElementNode(node) || isTextNode(node) || isDocTypeNode(node) || node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node3.COMMENT_NODE || node.nodeType === Node3.PROCESSING_INSTRUCTION_NODE); + } + function isDocTypeNode(node) { + return node && node.nodeType === Node3.DOCUMENT_TYPE_NODE; + } + function isElementNode(node) { + return node && node.nodeType === Node3.ELEMENT_NODE; + } + function isTextNode(node) { + return node && node.nodeType === Node3.TEXT_NODE; + } + function isElementInsertionPossible(doc, child) { + var parentChildNodes = doc.childNodes || []; + if (find2(parentChildNodes, isElementNode) || isDocTypeNode(child)) { + return false; + } + var docTypeNode = find2(parentChildNodes, isDocTypeNode); + return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child)); + } + function isElementReplacementPossible(doc, child) { + var parentChildNodes = doc.childNodes || []; + function hasElementChildThatIsNotChild(node) { + return isElementNode(node) && node !== child; + } + if (find2(parentChildNodes, hasElementChildThatIsNotChild)) { + return false; + } + var docTypeNode = find2(parentChildNodes, isDocTypeNode); + return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child)); + } + function assertPreInsertionValidity1to5(parent, node, child) { + if (!hasValidParentNodeType(parent)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Unexpected parent node type " + parent.nodeType); + } + if (child && child.parentNode !== parent) { + throw new DOMException(NOT_FOUND_ERR, "child not in parent"); + } + if ( + // 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a "HierarchyRequestError" DOMException. + !hasInsertableNodeType(node) || // 5. If either `node` is a Text node and `parent` is a document, + // the sax parser currently adds top level text nodes, this will be fixed in 0.9.0 + // || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE) + // or `node` is a doctype and `parent` is not a document, then throw a "HierarchyRequestError" DOMException. + isDocTypeNode(node) && parent.nodeType !== Node3.DOCUMENT_NODE + ) { + throw new DOMException( + HIERARCHY_REQUEST_ERR, + "Unexpected node type " + node.nodeType + " for parent node type " + parent.nodeType + ); + } + } + function assertPreInsertionValidityInDocument(parent, node, child) { + var parentChildNodes = parent.childNodes || []; + var nodeChildNodes = node.childNodes || []; + if (node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE) { + var nodeChildElements = nodeChildNodes.filter(isElementNode); + if (nodeChildElements.length > 1 || find2(nodeChildNodes, isTextNode)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment"); + } + if (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype"); + } + } + if (isElementNode(node)) { + if (!isElementInsertionPossible(parent, child)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype"); + } + } + if (isDocTypeNode(node)) { + if (find2(parentChildNodes, isDocTypeNode)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed"); + } + var parentElementChild = find2(parentChildNodes, isElementNode); + if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element"); + } + if (!child && parentElementChild) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can not be appended since element is present"); + } + } + } + function assertPreReplacementValidityInDocument(parent, node, child) { + var parentChildNodes = parent.childNodes || []; + var nodeChildNodes = node.childNodes || []; + if (node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE) { + var nodeChildElements = nodeChildNodes.filter(isElementNode); + if (nodeChildElements.length > 1 || find2(nodeChildNodes, isTextNode)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment"); + } + if (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype"); + } + } + if (isElementNode(node)) { + if (!isElementReplacementPossible(parent, child)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype"); + } + } + if (isDocTypeNode(node)) { + let hasDoctypeChildThatIsNotChild2 = function(node2) { + return isDocTypeNode(node2) && node2 !== child; + }; + var hasDoctypeChildThatIsNotChild = hasDoctypeChildThatIsNotChild2; + if (find2(parentChildNodes, hasDoctypeChildThatIsNotChild2)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed"); + } + var parentElementChild = find2(parentChildNodes, isElementNode); + if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) { + throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element"); + } + } + } + function _insertBefore(parent, node, child, _inDocumentAssertion) { + assertPreInsertionValidity1to5(parent, node, child); + if (parent.nodeType === Node3.DOCUMENT_NODE) { + (_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child); + } + var cp = node.parentNode; + if (cp) { + cp.removeChild(node); + } + if (node.nodeType === DOCUMENT_FRAGMENT_NODE) { + var newFirst = node.firstChild; + if (newFirst == null) { + return node; + } + var newLast = node.lastChild; + } else { + newFirst = newLast = node; + } + var pre = child ? child.previousSibling : parent.lastChild; + newFirst.previousSibling = pre; + newLast.nextSibling = child; + if (pre) { + pre.nextSibling = newFirst; + } else { + parent.firstChild = newFirst; + } + if (child == null) { + parent.lastChild = newLast; + } else { + child.previousSibling = newLast; + } + do { + newFirst.parentNode = parent; + } while (newFirst !== newLast && (newFirst = newFirst.nextSibling)); + _onUpdateChild(parent.ownerDocument || parent, parent); + if (node.nodeType == DOCUMENT_FRAGMENT_NODE) { + node.firstChild = node.lastChild = null; + } + return node; + } + function _appendSingleChild(parentNode, newChild) { + if (newChild.parentNode) { + newChild.parentNode.removeChild(newChild); + } + newChild.parentNode = parentNode; + newChild.previousSibling = parentNode.lastChild; + newChild.nextSibling = null; + if (newChild.previousSibling) { + newChild.previousSibling.nextSibling = newChild; + } else { + parentNode.firstChild = newChild; + } + parentNode.lastChild = newChild; + _onUpdateChild(parentNode.ownerDocument, parentNode, newChild); + return newChild; + } + Document.prototype = { + //implementation : null, + nodeName: "#document", + nodeType: DOCUMENT_NODE, + /** + * The DocumentType node of the document. + * + * @readonly + * @type DocumentType + */ + doctype: null, + documentElement: null, + _inc: 1, + insertBefore: function(newChild, refChild) { + if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { + var child = newChild.firstChild; + while (child) { + var next2 = child.nextSibling; + this.insertBefore(child, refChild); + child = next2; + } + return newChild; + } + _insertBefore(this, newChild, refChild); + newChild.ownerDocument = this; + if (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) { + this.documentElement = newChild; + } + return newChild; + }, + removeChild: function(oldChild) { + if (this.documentElement == oldChild) { + this.documentElement = null; + } + return _removeChild(this, oldChild); + }, + replaceChild: function(newChild, oldChild) { + _insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument); + newChild.ownerDocument = this; + if (oldChild) { + this.removeChild(oldChild); + } + if (isElementNode(newChild)) { + this.documentElement = newChild; + } + }, + // Introduced in DOM Level 2: + importNode: function(importedNode, deep) { + return importNode(this, importedNode, deep); + }, + // Introduced in DOM Level 2: + getElementById: function(id) { + var rtv = null; + _visitNode(this.documentElement, function(node) { + if (node.nodeType == ELEMENT_NODE) { + if (node.getAttribute("id") == id) { + rtv = node; + return true; + } + } + }); + return rtv; + }, + /** + * The `getElementsByClassName` method of `Document` interface returns an array-like object + * of all child elements which have **all** of the given class name(s). + * + * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters. + * + * + * Warning: This is a live LiveNodeList. + * Changes in the DOM will reflect in the array as the changes occur. + * If an element selected by this array no longer qualifies for the selector, + * it will automatically be removed. Be aware of this for iteration purposes. + * + * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName + * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname + */ + getElementsByClassName: function(classNames) { + var classNamesSet = toOrderedSet(classNames); + return new LiveNodeList(this, function(base) { + var ls = []; + if (classNamesSet.length > 0) { + _visitNode(base.documentElement, function(node) { + if (node !== base && node.nodeType === ELEMENT_NODE) { + var nodeClassNames = node.getAttribute("class"); + if (nodeClassNames) { + var matches = classNames === nodeClassNames; + if (!matches) { + var nodeClassNamesSet = toOrderedSet(nodeClassNames); + matches = classNamesSet.every(arrayIncludes(nodeClassNamesSet)); + } + if (matches) { + ls.push(node); + } + } + } + }); + } + return ls; + }); + }, + //document factory method: + createElement: function(tagName) { + var node = new Element(); + node.ownerDocument = this; + node.nodeName = tagName; + node.tagName = tagName; + node.localName = tagName; + node.childNodes = new NodeList(); + var attrs = node.attributes = new NamedNodeMap(); + attrs._ownerElement = node; + return node; + }, + createDocumentFragment: function() { + var node = new DocumentFragment2(); + node.ownerDocument = this; + node.childNodes = new NodeList(); + return node; + }, + createTextNode: function(data) { + var node = new Text(); + node.ownerDocument = this; + node.appendData(data); + return node; + }, + createComment: function(data) { + var node = new Comment(); + node.ownerDocument = this; + node.appendData(data); + return node; + }, + createCDATASection: function(data) { + var node = new CDATASection(); + node.ownerDocument = this; + node.appendData(data); + return node; + }, + createProcessingInstruction: function(target, data) { + var node = new ProcessingInstruction(); + node.ownerDocument = this; + node.tagName = node.nodeName = node.target = target; + node.nodeValue = node.data = data; + return node; + }, + createAttribute: function(name) { + var node = new Attr(); + node.ownerDocument = this; + node.name = name; + node.nodeName = name; + node.localName = name; + node.specified = true; + return node; + }, + createEntityReference: function(name) { + var node = new EntityReference(); + node.ownerDocument = this; + node.nodeName = name; + return node; + }, + // Introduced in DOM Level 2: + createElementNS: function(namespaceURI, qualifiedName) { + var node = new Element(); + var pl = qualifiedName.split(":"); + var attrs = node.attributes = new NamedNodeMap(); + node.childNodes = new NodeList(); + node.ownerDocument = this; + node.nodeName = qualifiedName; + node.tagName = qualifiedName; + node.namespaceURI = namespaceURI; + if (pl.length == 2) { + node.prefix = pl[0]; + node.localName = pl[1]; + } else { + node.localName = qualifiedName; + } + attrs._ownerElement = node; + return node; + }, + // Introduced in DOM Level 2: + createAttributeNS: function(namespaceURI, qualifiedName) { + var node = new Attr(); + var pl = qualifiedName.split(":"); + node.ownerDocument = this; + node.nodeName = qualifiedName; + node.name = qualifiedName; + node.namespaceURI = namespaceURI; + node.specified = true; + if (pl.length == 2) { + node.prefix = pl[0]; + node.localName = pl[1]; + } else { + node.localName = qualifiedName; + } + return node; + } + }; + _extends(Document, Node3); + function Element() { + this._nsMap = {}; + } + Element.prototype = { + nodeType: ELEMENT_NODE, + hasAttribute: function(name) { + return this.getAttributeNode(name) != null; + }, + getAttribute: function(name) { + var attr = this.getAttributeNode(name); + return attr && attr.value || ""; + }, + getAttributeNode: function(name) { + return this.attributes.getNamedItem(name); + }, + setAttribute: function(name, value) { + var attr = this.ownerDocument.createAttribute(name); + attr.value = attr.nodeValue = "" + value; + this.setAttributeNode(attr); + }, + removeAttribute: function(name) { + var attr = this.getAttributeNode(name); + attr && this.removeAttributeNode(attr); + }, + //four real opeartion method + appendChild: function(newChild) { + if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) { + return this.insertBefore(newChild, null); + } else { + return _appendSingleChild(this, newChild); + } + }, + setAttributeNode: function(newAttr) { + return this.attributes.setNamedItem(newAttr); + }, + setAttributeNodeNS: function(newAttr) { + return this.attributes.setNamedItemNS(newAttr); + }, + removeAttributeNode: function(oldAttr) { + return this.attributes.removeNamedItem(oldAttr.nodeName); + }, + //get real attribute name,and remove it by removeAttributeNode + removeAttributeNS: function(namespaceURI, localName) { + var old = this.getAttributeNodeNS(namespaceURI, localName); + old && this.removeAttributeNode(old); + }, + hasAttributeNS: function(namespaceURI, localName) { + return this.getAttributeNodeNS(namespaceURI, localName) != null; + }, + getAttributeNS: function(namespaceURI, localName) { + var attr = this.getAttributeNodeNS(namespaceURI, localName); + return attr && attr.value || ""; + }, + setAttributeNS: function(namespaceURI, qualifiedName, value) { + var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); + attr.value = attr.nodeValue = "" + value; + this.setAttributeNode(attr); + }, + getAttributeNodeNS: function(namespaceURI, localName) { + return this.attributes.getNamedItemNS(namespaceURI, localName); + }, + getElementsByTagName: function(tagName) { + return new LiveNodeList(this, function(base) { + var ls = []; + _visitNode(base, function(node) { + if (node !== base && node.nodeType == ELEMENT_NODE && (tagName === "*" || node.tagName == tagName)) { + ls.push(node); + } + }); + return ls; + }); + }, + getElementsByTagNameNS: function(namespaceURI, localName) { + return new LiveNodeList(this, function(base) { + var ls = []; + _visitNode(base, function(node) { + if (node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === "*" || node.namespaceURI === namespaceURI) && (localName === "*" || node.localName == localName)) { + ls.push(node); + } + }); + return ls; + }); + } + }; + Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName; + Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS; + _extends(Element, Node3); + function Attr() { + } + Attr.prototype.nodeType = ATTRIBUTE_NODE; + _extends(Attr, Node3); + function CharacterData() { + } + CharacterData.prototype = { + data: "", + substringData: function(offset, count) { + return this.data.substring(offset, offset + count); + }, + appendData: function(text) { + text = this.data + text; + this.nodeValue = this.data = text; + this.length = text.length; + }, + insertData: function(offset, text) { + this.replaceData(offset, 0, text); + }, + appendChild: function(newChild) { + throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]); + }, + deleteData: function(offset, count) { + this.replaceData(offset, count, ""); + }, + replaceData: function(offset, count, text) { + var start = this.data.substring(0, offset); + var end = this.data.substring(offset + count); + text = start + text + end; + this.nodeValue = this.data = text; + this.length = text.length; + } + }; + _extends(CharacterData, Node3); + function Text() { + } + Text.prototype = { + nodeName: "#text", + nodeType: TEXT_NODE, + splitText: function(offset) { + var text = this.data; + var newText = text.substring(offset); + text = text.substring(0, offset); + this.data = this.nodeValue = text; + this.length = text.length; + var newNode = this.ownerDocument.createTextNode(newText); + if (this.parentNode) { + this.parentNode.insertBefore(newNode, this.nextSibling); + } + return newNode; + } + }; + _extends(Text, CharacterData); + function Comment() { + } + Comment.prototype = { + nodeName: "#comment", + nodeType: COMMENT_NODE + }; + _extends(Comment, CharacterData); + function CDATASection() { + } + CDATASection.prototype = { + nodeName: "#cdata-section", + nodeType: CDATA_SECTION_NODE + }; + _extends(CDATASection, CharacterData); + function DocumentType() { + } + DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE; + _extends(DocumentType, Node3); + function Notation() { + } + Notation.prototype.nodeType = NOTATION_NODE; + _extends(Notation, Node3); + function Entity() { + } + Entity.prototype.nodeType = ENTITY_NODE; + _extends(Entity, Node3); + function EntityReference() { + } + EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE; + _extends(EntityReference, Node3); + function DocumentFragment2() { + } + DocumentFragment2.prototype.nodeName = "#document-fragment"; + DocumentFragment2.prototype.nodeType = DOCUMENT_FRAGMENT_NODE; + _extends(DocumentFragment2, Node3); + function ProcessingInstruction() { + } + ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE; + _extends(ProcessingInstruction, Node3); + function XMLSerializer2() { + } + XMLSerializer2.prototype.serializeToString = function(node, isHtml, nodeFilter) { + return nodeSerializeToString.call(node, isHtml, nodeFilter); + }; + Node3.prototype.toString = nodeSerializeToString; + function nodeSerializeToString(isHtml, nodeFilter) { + var buf = []; + var refNode = this.nodeType == 9 && this.documentElement || this; + var prefix = refNode.prefix; + var uri = refNode.namespaceURI; + if (uri && prefix == null) { + var prefix = refNode.lookupPrefix(uri); + if (prefix == null) { + var visibleNamespaces = [ + { namespace: uri, prefix: null } + //{namespace:uri,prefix:''} + ]; + } + } + serializeToString(this, buf, isHtml, nodeFilter, visibleNamespaces); + return buf.join(""); + } + function needNamespaceDefine(node, isHTML, visibleNamespaces) { + var prefix = node.prefix || ""; + var uri = node.namespaceURI; + if (!uri) { + return false; + } + if (prefix === "xml" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) { + return false; + } + var i = visibleNamespaces.length; + while (i--) { + var ns2 = visibleNamespaces[i]; + if (ns2.prefix === prefix) { + return ns2.namespace !== uri; + } + } + return true; + } + function addSerializedAttribute(buf, qualifiedName, value) { + buf.push(" ", qualifiedName, '="', value.replace(/[<>&"\t\n\r]/g, _xmlEncoder), '"'); + } + function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces) { + if (!visibleNamespaces) { + visibleNamespaces = []; + } + if (nodeFilter) { + node = nodeFilter(node); + if (node) { + if (typeof node == "string") { + buf.push(node); + return; + } + } else { + return; + } + } + switch (node.nodeType) { + case ELEMENT_NODE: + var attrs = node.attributes; + var len = attrs.length; + var child = node.firstChild; + var nodeName = node.tagName; + isHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML; + var prefixedNodeName = nodeName; + if (!isHTML && !node.prefix && node.namespaceURI) { + var defaultNS; + for (var ai = 0; ai < attrs.length; ai++) { + if (attrs.item(ai).name === "xmlns") { + defaultNS = attrs.item(ai).value; + break; + } + } + if (!defaultNS) { + for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) { + var namespace = visibleNamespaces[nsi]; + if (namespace.prefix === "" && namespace.namespace === node.namespaceURI) { + defaultNS = namespace.namespace; + break; + } + } + } + if (defaultNS !== node.namespaceURI) { + for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) { + var namespace = visibleNamespaces[nsi]; + if (namespace.namespace === node.namespaceURI) { + if (namespace.prefix) { + prefixedNodeName = namespace.prefix + ":" + nodeName; + } + break; + } + } + } + } + buf.push("<", prefixedNodeName); + for (var i = 0; i < len; i++) { + var attr = attrs.item(i); + if (attr.prefix == "xmlns") { + visibleNamespaces.push({ prefix: attr.localName, namespace: attr.value }); + } else if (attr.nodeName == "xmlns") { + visibleNamespaces.push({ prefix: "", namespace: attr.value }); + } + } + for (var i = 0; i < len; i++) { + var attr = attrs.item(i); + if (needNamespaceDefine(attr, isHTML, visibleNamespaces)) { + var prefix = attr.prefix || ""; + var uri = attr.namespaceURI; + addSerializedAttribute(buf, prefix ? "xmlns:" + prefix : "xmlns", uri); + visibleNamespaces.push({ prefix, namespace: uri }); + } + serializeToString(attr, buf, isHTML, nodeFilter, visibleNamespaces); + } + if (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) { + var prefix = node.prefix || ""; + var uri = node.namespaceURI; + addSerializedAttribute(buf, prefix ? "xmlns:" + prefix : "xmlns", uri); + visibleNamespaces.push({ prefix, namespace: uri }); + } + if (child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) { + buf.push(">"); + if (isHTML && /^script$/i.test(nodeName)) { + while (child) { + if (child.data) { + buf.push(child.data); + } else { + serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice()); + } + child = child.nextSibling; + } + } else { + while (child) { + serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice()); + child = child.nextSibling; + } + } + buf.push(""); + } else { + buf.push("/>"); + } + return; + case DOCUMENT_NODE: + case DOCUMENT_FRAGMENT_NODE: + var child = node.firstChild; + while (child) { + serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice()); + child = child.nextSibling; + } + return; + case ATTRIBUTE_NODE: + return addSerializedAttribute(buf, node.name, node.value); + case TEXT_NODE: + return buf.push( + node.data.replace(/[<&>]/g, _xmlEncoder) + ); + case CDATA_SECTION_NODE: + return buf.push(""); + case COMMENT_NODE: + return buf.push(""); + case DOCUMENT_TYPE_NODE: + var pubid = node.publicId; + var sysid = node.systemId; + buf.push(""); + } else if (sysid && sysid != ".") { + buf.push(" SYSTEM ", sysid, ">"); + } else { + var sub = node.internalSubset; + if (sub) { + buf.push(" [", sub, "]"); + } + buf.push(">"); + } + return; + case PROCESSING_INSTRUCTION_NODE: + return buf.push(""); + case ENTITY_REFERENCE_NODE: + return buf.push("&", node.nodeName, ";"); + //case ENTITY_NODE: + //case NOTATION_NODE: + default: + buf.push("??", node.nodeName); + } + } + function importNode(doc, node, deep) { + var node2; + switch (node.nodeType) { + case ELEMENT_NODE: + node2 = node.cloneNode(false); + node2.ownerDocument = doc; + //var attrs = node2.attributes; + //var len = attrs.length; + //for(var i=0;i", + lt: "<", + quot: '"' + }); + exports2.HTML_ENTITIES = freeze({ + Aacute: "\xC1", + aacute: "\xE1", + Abreve: "\u0102", + abreve: "\u0103", + ac: "\u223E", + acd: "\u223F", + acE: "\u223E\u0333", + Acirc: "\xC2", + acirc: "\xE2", + acute: "\xB4", + Acy: "\u0410", + acy: "\u0430", + AElig: "\xC6", + aelig: "\xE6", + af: "\u2061", + Afr: "\u{1D504}", + afr: "\u{1D51E}", + Agrave: "\xC0", + agrave: "\xE0", + alefsym: "\u2135", + aleph: "\u2135", + Alpha: "\u0391", + alpha: "\u03B1", + Amacr: "\u0100", + amacr: "\u0101", + amalg: "\u2A3F", + AMP: "&", + amp: "&", + And: "\u2A53", + and: "\u2227", + andand: "\u2A55", + andd: "\u2A5C", + andslope: "\u2A58", + andv: "\u2A5A", + ang: "\u2220", + ange: "\u29A4", + angle: "\u2220", + angmsd: "\u2221", + angmsdaa: "\u29A8", + angmsdab: "\u29A9", + angmsdac: "\u29AA", + angmsdad: "\u29AB", + angmsdae: "\u29AC", + angmsdaf: "\u29AD", + angmsdag: "\u29AE", + angmsdah: "\u29AF", + angrt: "\u221F", + angrtvb: "\u22BE", + angrtvbd: "\u299D", + angsph: "\u2222", + angst: "\xC5", + angzarr: "\u237C", + Aogon: "\u0104", + aogon: "\u0105", + Aopf: "\u{1D538}", + aopf: "\u{1D552}", + ap: "\u2248", + apacir: "\u2A6F", + apE: "\u2A70", + ape: "\u224A", + apid: "\u224B", + apos: "'", + ApplyFunction: "\u2061", + approx: "\u2248", + approxeq: "\u224A", + Aring: "\xC5", + aring: "\xE5", + Ascr: "\u{1D49C}", + ascr: "\u{1D4B6}", + Assign: "\u2254", + ast: "*", + asymp: "\u2248", + asympeq: "\u224D", + Atilde: "\xC3", + atilde: "\xE3", + Auml: "\xC4", + auml: "\xE4", + awconint: "\u2233", + awint: "\u2A11", + backcong: "\u224C", + backepsilon: "\u03F6", + backprime: "\u2035", + backsim: "\u223D", + backsimeq: "\u22CD", + Backslash: "\u2216", + Barv: "\u2AE7", + barvee: "\u22BD", + Barwed: "\u2306", + barwed: "\u2305", + barwedge: "\u2305", + bbrk: "\u23B5", + bbrktbrk: "\u23B6", + bcong: "\u224C", + Bcy: "\u0411", + bcy: "\u0431", + bdquo: "\u201E", + becaus: "\u2235", + Because: "\u2235", + because: "\u2235", + bemptyv: "\u29B0", + bepsi: "\u03F6", + bernou: "\u212C", + Bernoullis: "\u212C", + Beta: "\u0392", + beta: "\u03B2", + beth: "\u2136", + between: "\u226C", + Bfr: "\u{1D505}", + bfr: "\u{1D51F}", + bigcap: "\u22C2", + bigcirc: "\u25EF", + bigcup: "\u22C3", + bigodot: "\u2A00", + bigoplus: "\u2A01", + bigotimes: "\u2A02", + bigsqcup: "\u2A06", + bigstar: "\u2605", + bigtriangledown: "\u25BD", + bigtriangleup: "\u25B3", + biguplus: "\u2A04", + bigvee: "\u22C1", + bigwedge: "\u22C0", + bkarow: "\u290D", + blacklozenge: "\u29EB", + blacksquare: "\u25AA", + blacktriangle: "\u25B4", + blacktriangledown: "\u25BE", + blacktriangleleft: "\u25C2", + blacktriangleright: "\u25B8", + blank: "\u2423", + blk12: "\u2592", + blk14: "\u2591", + blk34: "\u2593", + block: "\u2588", + bne: "=\u20E5", + bnequiv: "\u2261\u20E5", + bNot: "\u2AED", + bnot: "\u2310", + Bopf: "\u{1D539}", + bopf: "\u{1D553}", + bot: "\u22A5", + bottom: "\u22A5", + bowtie: "\u22C8", + boxbox: "\u29C9", + boxDL: "\u2557", + boxDl: "\u2556", + boxdL: "\u2555", + boxdl: "\u2510", + boxDR: "\u2554", + boxDr: "\u2553", + boxdR: "\u2552", + boxdr: "\u250C", + boxH: "\u2550", + boxh: "\u2500", + boxHD: "\u2566", + boxHd: "\u2564", + boxhD: "\u2565", + boxhd: "\u252C", + boxHU: "\u2569", + boxHu: "\u2567", + boxhU: "\u2568", + boxhu: "\u2534", + boxminus: "\u229F", + boxplus: "\u229E", + boxtimes: "\u22A0", + boxUL: "\u255D", + boxUl: "\u255C", + boxuL: "\u255B", + boxul: "\u2518", + boxUR: "\u255A", + boxUr: "\u2559", + boxuR: "\u2558", + boxur: "\u2514", + boxV: "\u2551", + boxv: "\u2502", + boxVH: "\u256C", + boxVh: "\u256B", + boxvH: "\u256A", + boxvh: "\u253C", + boxVL: "\u2563", + boxVl: "\u2562", + boxvL: "\u2561", + boxvl: "\u2524", + boxVR: "\u2560", + boxVr: "\u255F", + boxvR: "\u255E", + boxvr: "\u251C", + bprime: "\u2035", + Breve: "\u02D8", + breve: "\u02D8", + brvbar: "\xA6", + Bscr: "\u212C", + bscr: "\u{1D4B7}", + bsemi: "\u204F", + bsim: "\u223D", + bsime: "\u22CD", + bsol: "\\", + bsolb: "\u29C5", + bsolhsub: "\u27C8", + bull: "\u2022", + bullet: "\u2022", + bump: "\u224E", + bumpE: "\u2AAE", + bumpe: "\u224F", + Bumpeq: "\u224E", + bumpeq: "\u224F", + Cacute: "\u0106", + cacute: "\u0107", + Cap: "\u22D2", + cap: "\u2229", + capand: "\u2A44", + capbrcup: "\u2A49", + capcap: "\u2A4B", + capcup: "\u2A47", + capdot: "\u2A40", + CapitalDifferentialD: "\u2145", + caps: "\u2229\uFE00", + caret: "\u2041", + caron: "\u02C7", + Cayleys: "\u212D", + ccaps: "\u2A4D", + Ccaron: "\u010C", + ccaron: "\u010D", + Ccedil: "\xC7", + ccedil: "\xE7", + Ccirc: "\u0108", + ccirc: "\u0109", + Cconint: "\u2230", + ccups: "\u2A4C", + ccupssm: "\u2A50", + Cdot: "\u010A", + cdot: "\u010B", + cedil: "\xB8", + Cedilla: "\xB8", + cemptyv: "\u29B2", + cent: "\xA2", + CenterDot: "\xB7", + centerdot: "\xB7", + Cfr: "\u212D", + cfr: "\u{1D520}", + CHcy: "\u0427", + chcy: "\u0447", + check: "\u2713", + checkmark: "\u2713", + Chi: "\u03A7", + chi: "\u03C7", + cir: "\u25CB", + circ: "\u02C6", + circeq: "\u2257", + circlearrowleft: "\u21BA", + circlearrowright: "\u21BB", + circledast: "\u229B", + circledcirc: "\u229A", + circleddash: "\u229D", + CircleDot: "\u2299", + circledR: "\xAE", + circledS: "\u24C8", + CircleMinus: "\u2296", + CirclePlus: "\u2295", + CircleTimes: "\u2297", + cirE: "\u29C3", + cire: "\u2257", + cirfnint: "\u2A10", + cirmid: "\u2AEF", + cirscir: "\u29C2", + ClockwiseContourIntegral: "\u2232", + CloseCurlyDoubleQuote: "\u201D", + CloseCurlyQuote: "\u2019", + clubs: "\u2663", + clubsuit: "\u2663", + Colon: "\u2237", + colon: ":", + Colone: "\u2A74", + colone: "\u2254", + coloneq: "\u2254", + comma: ",", + commat: "@", + comp: "\u2201", + compfn: "\u2218", + complement: "\u2201", + complexes: "\u2102", + cong: "\u2245", + congdot: "\u2A6D", + Congruent: "\u2261", + Conint: "\u222F", + conint: "\u222E", + ContourIntegral: "\u222E", + Copf: "\u2102", + copf: "\u{1D554}", + coprod: "\u2210", + Coproduct: "\u2210", + COPY: "\xA9", + copy: "\xA9", + copysr: "\u2117", + CounterClockwiseContourIntegral: "\u2233", + crarr: "\u21B5", + Cross: "\u2A2F", + cross: "\u2717", + Cscr: "\u{1D49E}", + cscr: "\u{1D4B8}", + csub: "\u2ACF", + csube: "\u2AD1", + csup: "\u2AD0", + csupe: "\u2AD2", + ctdot: "\u22EF", + cudarrl: "\u2938", + cudarrr: "\u2935", + cuepr: "\u22DE", + cuesc: "\u22DF", + cularr: "\u21B6", + cularrp: "\u293D", + Cup: "\u22D3", + cup: "\u222A", + cupbrcap: "\u2A48", + CupCap: "\u224D", + cupcap: "\u2A46", + cupcup: "\u2A4A", + cupdot: "\u228D", + cupor: "\u2A45", + cups: "\u222A\uFE00", + curarr: "\u21B7", + curarrm: "\u293C", + curlyeqprec: "\u22DE", + curlyeqsucc: "\u22DF", + curlyvee: "\u22CE", + curlywedge: "\u22CF", + curren: "\xA4", + curvearrowleft: "\u21B6", + curvearrowright: "\u21B7", + cuvee: "\u22CE", + cuwed: "\u22CF", + cwconint: "\u2232", + cwint: "\u2231", + cylcty: "\u232D", + Dagger: "\u2021", + dagger: "\u2020", + daleth: "\u2138", + Darr: "\u21A1", + dArr: "\u21D3", + darr: "\u2193", + dash: "\u2010", + Dashv: "\u2AE4", + dashv: "\u22A3", + dbkarow: "\u290F", + dblac: "\u02DD", + Dcaron: "\u010E", + dcaron: "\u010F", + Dcy: "\u0414", + dcy: "\u0434", + DD: "\u2145", + dd: "\u2146", + ddagger: "\u2021", + ddarr: "\u21CA", + DDotrahd: "\u2911", + ddotseq: "\u2A77", + deg: "\xB0", + Del: "\u2207", + Delta: "\u0394", + delta: "\u03B4", + demptyv: "\u29B1", + dfisht: "\u297F", + Dfr: "\u{1D507}", + dfr: "\u{1D521}", + dHar: "\u2965", + dharl: "\u21C3", + dharr: "\u21C2", + DiacriticalAcute: "\xB4", + DiacriticalDot: "\u02D9", + DiacriticalDoubleAcute: "\u02DD", + DiacriticalGrave: "`", + DiacriticalTilde: "\u02DC", + diam: "\u22C4", + Diamond: "\u22C4", + diamond: "\u22C4", + diamondsuit: "\u2666", + diams: "\u2666", + die: "\xA8", + DifferentialD: "\u2146", + digamma: "\u03DD", + disin: "\u22F2", + div: "\xF7", + divide: "\xF7", + divideontimes: "\u22C7", + divonx: "\u22C7", + DJcy: "\u0402", + djcy: "\u0452", + dlcorn: "\u231E", + dlcrop: "\u230D", + dollar: "$", + Dopf: "\u{1D53B}", + dopf: "\u{1D555}", + Dot: "\xA8", + dot: "\u02D9", + DotDot: "\u20DC", + doteq: "\u2250", + doteqdot: "\u2251", + DotEqual: "\u2250", + dotminus: "\u2238", + dotplus: "\u2214", + dotsquare: "\u22A1", + doublebarwedge: "\u2306", + DoubleContourIntegral: "\u222F", + DoubleDot: "\xA8", + DoubleDownArrow: "\u21D3", + DoubleLeftArrow: "\u21D0", + DoubleLeftRightArrow: "\u21D4", + DoubleLeftTee: "\u2AE4", + DoubleLongLeftArrow: "\u27F8", + DoubleLongLeftRightArrow: "\u27FA", + DoubleLongRightArrow: "\u27F9", + DoubleRightArrow: "\u21D2", + DoubleRightTee: "\u22A8", + DoubleUpArrow: "\u21D1", + DoubleUpDownArrow: "\u21D5", + DoubleVerticalBar: "\u2225", + DownArrow: "\u2193", + Downarrow: "\u21D3", + downarrow: "\u2193", + DownArrowBar: "\u2913", + DownArrowUpArrow: "\u21F5", + DownBreve: "\u0311", + downdownarrows: "\u21CA", + downharpoonleft: "\u21C3", + downharpoonright: "\u21C2", + DownLeftRightVector: "\u2950", + DownLeftTeeVector: "\u295E", + DownLeftVector: "\u21BD", + DownLeftVectorBar: "\u2956", + DownRightTeeVector: "\u295F", + DownRightVector: "\u21C1", + DownRightVectorBar: "\u2957", + DownTee: "\u22A4", + DownTeeArrow: "\u21A7", + drbkarow: "\u2910", + drcorn: "\u231F", + drcrop: "\u230C", + Dscr: "\u{1D49F}", + dscr: "\u{1D4B9}", + DScy: "\u0405", + dscy: "\u0455", + dsol: "\u29F6", + Dstrok: "\u0110", + dstrok: "\u0111", + dtdot: "\u22F1", + dtri: "\u25BF", + dtrif: "\u25BE", + duarr: "\u21F5", + duhar: "\u296F", + dwangle: "\u29A6", + DZcy: "\u040F", + dzcy: "\u045F", + dzigrarr: "\u27FF", + Eacute: "\xC9", + eacute: "\xE9", + easter: "\u2A6E", + Ecaron: "\u011A", + ecaron: "\u011B", + ecir: "\u2256", + Ecirc: "\xCA", + ecirc: "\xEA", + ecolon: "\u2255", + Ecy: "\u042D", + ecy: "\u044D", + eDDot: "\u2A77", + Edot: "\u0116", + eDot: "\u2251", + edot: "\u0117", + ee: "\u2147", + efDot: "\u2252", + Efr: "\u{1D508}", + efr: "\u{1D522}", + eg: "\u2A9A", + Egrave: "\xC8", + egrave: "\xE8", + egs: "\u2A96", + egsdot: "\u2A98", + el: "\u2A99", + Element: "\u2208", + elinters: "\u23E7", + ell: "\u2113", + els: "\u2A95", + elsdot: "\u2A97", + Emacr: "\u0112", + emacr: "\u0113", + empty: "\u2205", + emptyset: "\u2205", + EmptySmallSquare: "\u25FB", + emptyv: "\u2205", + EmptyVerySmallSquare: "\u25AB", + emsp: "\u2003", + emsp13: "\u2004", + emsp14: "\u2005", + ENG: "\u014A", + eng: "\u014B", + ensp: "\u2002", + Eogon: "\u0118", + eogon: "\u0119", + Eopf: "\u{1D53C}", + eopf: "\u{1D556}", + epar: "\u22D5", + eparsl: "\u29E3", + eplus: "\u2A71", + epsi: "\u03B5", + Epsilon: "\u0395", + epsilon: "\u03B5", + epsiv: "\u03F5", + eqcirc: "\u2256", + eqcolon: "\u2255", + eqsim: "\u2242", + eqslantgtr: "\u2A96", + eqslantless: "\u2A95", + Equal: "\u2A75", + equals: "=", + EqualTilde: "\u2242", + equest: "\u225F", + Equilibrium: "\u21CC", + equiv: "\u2261", + equivDD: "\u2A78", + eqvparsl: "\u29E5", + erarr: "\u2971", + erDot: "\u2253", + Escr: "\u2130", + escr: "\u212F", + esdot: "\u2250", + Esim: "\u2A73", + esim: "\u2242", + Eta: "\u0397", + eta: "\u03B7", + ETH: "\xD0", + eth: "\xF0", + Euml: "\xCB", + euml: "\xEB", + euro: "\u20AC", + excl: "!", + exist: "\u2203", + Exists: "\u2203", + expectation: "\u2130", + ExponentialE: "\u2147", + exponentiale: "\u2147", + fallingdotseq: "\u2252", + Fcy: "\u0424", + fcy: "\u0444", + female: "\u2640", + ffilig: "\uFB03", + fflig: "\uFB00", + ffllig: "\uFB04", + Ffr: "\u{1D509}", + ffr: "\u{1D523}", + filig: "\uFB01", + FilledSmallSquare: "\u25FC", + FilledVerySmallSquare: "\u25AA", + fjlig: "fj", + flat: "\u266D", + fllig: "\uFB02", + fltns: "\u25B1", + fnof: "\u0192", + Fopf: "\u{1D53D}", + fopf: "\u{1D557}", + ForAll: "\u2200", + forall: "\u2200", + fork: "\u22D4", + forkv: "\u2AD9", + Fouriertrf: "\u2131", + fpartint: "\u2A0D", + frac12: "\xBD", + frac13: "\u2153", + frac14: "\xBC", + frac15: "\u2155", + frac16: "\u2159", + frac18: "\u215B", + frac23: "\u2154", + frac25: "\u2156", + frac34: "\xBE", + frac35: "\u2157", + frac38: "\u215C", + frac45: "\u2158", + frac56: "\u215A", + frac58: "\u215D", + frac78: "\u215E", + frasl: "\u2044", + frown: "\u2322", + Fscr: "\u2131", + fscr: "\u{1D4BB}", + gacute: "\u01F5", + Gamma: "\u0393", + gamma: "\u03B3", + Gammad: "\u03DC", + gammad: "\u03DD", + gap: "\u2A86", + Gbreve: "\u011E", + gbreve: "\u011F", + Gcedil: "\u0122", + Gcirc: "\u011C", + gcirc: "\u011D", + Gcy: "\u0413", + gcy: "\u0433", + Gdot: "\u0120", + gdot: "\u0121", + gE: "\u2267", + ge: "\u2265", + gEl: "\u2A8C", + gel: "\u22DB", + geq: "\u2265", + geqq: "\u2267", + geqslant: "\u2A7E", + ges: "\u2A7E", + gescc: "\u2AA9", + gesdot: "\u2A80", + gesdoto: "\u2A82", + gesdotol: "\u2A84", + gesl: "\u22DB\uFE00", + gesles: "\u2A94", + Gfr: "\u{1D50A}", + gfr: "\u{1D524}", + Gg: "\u22D9", + gg: "\u226B", + ggg: "\u22D9", + gimel: "\u2137", + GJcy: "\u0403", + gjcy: "\u0453", + gl: "\u2277", + gla: "\u2AA5", + glE: "\u2A92", + glj: "\u2AA4", + gnap: "\u2A8A", + gnapprox: "\u2A8A", + gnE: "\u2269", + gne: "\u2A88", + gneq: "\u2A88", + gneqq: "\u2269", + gnsim: "\u22E7", + Gopf: "\u{1D53E}", + gopf: "\u{1D558}", + grave: "`", + GreaterEqual: "\u2265", + GreaterEqualLess: "\u22DB", + GreaterFullEqual: "\u2267", + GreaterGreater: "\u2AA2", + GreaterLess: "\u2277", + GreaterSlantEqual: "\u2A7E", + GreaterTilde: "\u2273", + Gscr: "\u{1D4A2}", + gscr: "\u210A", + gsim: "\u2273", + gsime: "\u2A8E", + gsiml: "\u2A90", + Gt: "\u226B", + GT: ">", + gt: ">", + gtcc: "\u2AA7", + gtcir: "\u2A7A", + gtdot: "\u22D7", + gtlPar: "\u2995", + gtquest: "\u2A7C", + gtrapprox: "\u2A86", + gtrarr: "\u2978", + gtrdot: "\u22D7", + gtreqless: "\u22DB", + gtreqqless: "\u2A8C", + gtrless: "\u2277", + gtrsim: "\u2273", + gvertneqq: "\u2269\uFE00", + gvnE: "\u2269\uFE00", + Hacek: "\u02C7", + hairsp: "\u200A", + half: "\xBD", + hamilt: "\u210B", + HARDcy: "\u042A", + hardcy: "\u044A", + hArr: "\u21D4", + harr: "\u2194", + harrcir: "\u2948", + harrw: "\u21AD", + Hat: "^", + hbar: "\u210F", + Hcirc: "\u0124", + hcirc: "\u0125", + hearts: "\u2665", + heartsuit: "\u2665", + hellip: "\u2026", + hercon: "\u22B9", + Hfr: "\u210C", + hfr: "\u{1D525}", + HilbertSpace: "\u210B", + hksearow: "\u2925", + hkswarow: "\u2926", + hoarr: "\u21FF", + homtht: "\u223B", + hookleftarrow: "\u21A9", + hookrightarrow: "\u21AA", + Hopf: "\u210D", + hopf: "\u{1D559}", + horbar: "\u2015", + HorizontalLine: "\u2500", + Hscr: "\u210B", + hscr: "\u{1D4BD}", + hslash: "\u210F", + Hstrok: "\u0126", + hstrok: "\u0127", + HumpDownHump: "\u224E", + HumpEqual: "\u224F", + hybull: "\u2043", + hyphen: "\u2010", + Iacute: "\xCD", + iacute: "\xED", + ic: "\u2063", + Icirc: "\xCE", + icirc: "\xEE", + Icy: "\u0418", + icy: "\u0438", + Idot: "\u0130", + IEcy: "\u0415", + iecy: "\u0435", + iexcl: "\xA1", + iff: "\u21D4", + Ifr: "\u2111", + ifr: "\u{1D526}", + Igrave: "\xCC", + igrave: "\xEC", + ii: "\u2148", + iiiint: "\u2A0C", + iiint: "\u222D", + iinfin: "\u29DC", + iiota: "\u2129", + IJlig: "\u0132", + ijlig: "\u0133", + Im: "\u2111", + Imacr: "\u012A", + imacr: "\u012B", + image: "\u2111", + ImaginaryI: "\u2148", + imagline: "\u2110", + imagpart: "\u2111", + imath: "\u0131", + imof: "\u22B7", + imped: "\u01B5", + Implies: "\u21D2", + in: "\u2208", + incare: "\u2105", + infin: "\u221E", + infintie: "\u29DD", + inodot: "\u0131", + Int: "\u222C", + int: "\u222B", + intcal: "\u22BA", + integers: "\u2124", + Integral: "\u222B", + intercal: "\u22BA", + Intersection: "\u22C2", + intlarhk: "\u2A17", + intprod: "\u2A3C", + InvisibleComma: "\u2063", + InvisibleTimes: "\u2062", + IOcy: "\u0401", + iocy: "\u0451", + Iogon: "\u012E", + iogon: "\u012F", + Iopf: "\u{1D540}", + iopf: "\u{1D55A}", + Iota: "\u0399", + iota: "\u03B9", + iprod: "\u2A3C", + iquest: "\xBF", + Iscr: "\u2110", + iscr: "\u{1D4BE}", + isin: "\u2208", + isindot: "\u22F5", + isinE: "\u22F9", + isins: "\u22F4", + isinsv: "\u22F3", + isinv: "\u2208", + it: "\u2062", + Itilde: "\u0128", + itilde: "\u0129", + Iukcy: "\u0406", + iukcy: "\u0456", + Iuml: "\xCF", + iuml: "\xEF", + Jcirc: "\u0134", + jcirc: "\u0135", + Jcy: "\u0419", + jcy: "\u0439", + Jfr: "\u{1D50D}", + jfr: "\u{1D527}", + jmath: "\u0237", + Jopf: "\u{1D541}", + jopf: "\u{1D55B}", + Jscr: "\u{1D4A5}", + jscr: "\u{1D4BF}", + Jsercy: "\u0408", + jsercy: "\u0458", + Jukcy: "\u0404", + jukcy: "\u0454", + Kappa: "\u039A", + kappa: "\u03BA", + kappav: "\u03F0", + Kcedil: "\u0136", + kcedil: "\u0137", + Kcy: "\u041A", + kcy: "\u043A", + Kfr: "\u{1D50E}", + kfr: "\u{1D528}", + kgreen: "\u0138", + KHcy: "\u0425", + khcy: "\u0445", + KJcy: "\u040C", + kjcy: "\u045C", + Kopf: "\u{1D542}", + kopf: "\u{1D55C}", + Kscr: "\u{1D4A6}", + kscr: "\u{1D4C0}", + lAarr: "\u21DA", + Lacute: "\u0139", + lacute: "\u013A", + laemptyv: "\u29B4", + lagran: "\u2112", + Lambda: "\u039B", + lambda: "\u03BB", + Lang: "\u27EA", + lang: "\u27E8", + langd: "\u2991", + langle: "\u27E8", + lap: "\u2A85", + Laplacetrf: "\u2112", + laquo: "\xAB", + Larr: "\u219E", + lArr: "\u21D0", + larr: "\u2190", + larrb: "\u21E4", + larrbfs: "\u291F", + larrfs: "\u291D", + larrhk: "\u21A9", + larrlp: "\u21AB", + larrpl: "\u2939", + larrsim: "\u2973", + larrtl: "\u21A2", + lat: "\u2AAB", + lAtail: "\u291B", + latail: "\u2919", + late: "\u2AAD", + lates: "\u2AAD\uFE00", + lBarr: "\u290E", + lbarr: "\u290C", + lbbrk: "\u2772", + lbrace: "{", + lbrack: "[", + lbrke: "\u298B", + lbrksld: "\u298F", + lbrkslu: "\u298D", + Lcaron: "\u013D", + lcaron: "\u013E", + Lcedil: "\u013B", + lcedil: "\u013C", + lceil: "\u2308", + lcub: "{", + Lcy: "\u041B", + lcy: "\u043B", + ldca: "\u2936", + ldquo: "\u201C", + ldquor: "\u201E", + ldrdhar: "\u2967", + ldrushar: "\u294B", + ldsh: "\u21B2", + lE: "\u2266", + le: "\u2264", + LeftAngleBracket: "\u27E8", + LeftArrow: "\u2190", + Leftarrow: "\u21D0", + leftarrow: "\u2190", + LeftArrowBar: "\u21E4", + LeftArrowRightArrow: "\u21C6", + leftarrowtail: "\u21A2", + LeftCeiling: "\u2308", + LeftDoubleBracket: "\u27E6", + LeftDownTeeVector: "\u2961", + LeftDownVector: "\u21C3", + LeftDownVectorBar: "\u2959", + LeftFloor: "\u230A", + leftharpoondown: "\u21BD", + leftharpoonup: "\u21BC", + leftleftarrows: "\u21C7", + LeftRightArrow: "\u2194", + Leftrightarrow: "\u21D4", + leftrightarrow: "\u2194", + leftrightarrows: "\u21C6", + leftrightharpoons: "\u21CB", + leftrightsquigarrow: "\u21AD", + LeftRightVector: "\u294E", + LeftTee: "\u22A3", + LeftTeeArrow: "\u21A4", + LeftTeeVector: "\u295A", + leftthreetimes: "\u22CB", + LeftTriangle: "\u22B2", + LeftTriangleBar: "\u29CF", + LeftTriangleEqual: "\u22B4", + LeftUpDownVector: "\u2951", + LeftUpTeeVector: "\u2960", + LeftUpVector: "\u21BF", + LeftUpVectorBar: "\u2958", + LeftVector: "\u21BC", + LeftVectorBar: "\u2952", + lEg: "\u2A8B", + leg: "\u22DA", + leq: "\u2264", + leqq: "\u2266", + leqslant: "\u2A7D", + les: "\u2A7D", + lescc: "\u2AA8", + lesdot: "\u2A7F", + lesdoto: "\u2A81", + lesdotor: "\u2A83", + lesg: "\u22DA\uFE00", + lesges: "\u2A93", + lessapprox: "\u2A85", + lessdot: "\u22D6", + lesseqgtr: "\u22DA", + lesseqqgtr: "\u2A8B", + LessEqualGreater: "\u22DA", + LessFullEqual: "\u2266", + LessGreater: "\u2276", + lessgtr: "\u2276", + LessLess: "\u2AA1", + lesssim: "\u2272", + LessSlantEqual: "\u2A7D", + LessTilde: "\u2272", + lfisht: "\u297C", + lfloor: "\u230A", + Lfr: "\u{1D50F}", + lfr: "\u{1D529}", + lg: "\u2276", + lgE: "\u2A91", + lHar: "\u2962", + lhard: "\u21BD", + lharu: "\u21BC", + lharul: "\u296A", + lhblk: "\u2584", + LJcy: "\u0409", + ljcy: "\u0459", + Ll: "\u22D8", + ll: "\u226A", + llarr: "\u21C7", + llcorner: "\u231E", + Lleftarrow: "\u21DA", + llhard: "\u296B", + lltri: "\u25FA", + Lmidot: "\u013F", + lmidot: "\u0140", + lmoust: "\u23B0", + lmoustache: "\u23B0", + lnap: "\u2A89", + lnapprox: "\u2A89", + lnE: "\u2268", + lne: "\u2A87", + lneq: "\u2A87", + lneqq: "\u2268", + lnsim: "\u22E6", + loang: "\u27EC", + loarr: "\u21FD", + lobrk: "\u27E6", + LongLeftArrow: "\u27F5", + Longleftarrow: "\u27F8", + longleftarrow: "\u27F5", + LongLeftRightArrow: "\u27F7", + Longleftrightarrow: "\u27FA", + longleftrightarrow: "\u27F7", + longmapsto: "\u27FC", + LongRightArrow: "\u27F6", + Longrightarrow: "\u27F9", + longrightarrow: "\u27F6", + looparrowleft: "\u21AB", + looparrowright: "\u21AC", + lopar: "\u2985", + Lopf: "\u{1D543}", + lopf: "\u{1D55D}", + loplus: "\u2A2D", + lotimes: "\u2A34", + lowast: "\u2217", + lowbar: "_", + LowerLeftArrow: "\u2199", + LowerRightArrow: "\u2198", + loz: "\u25CA", + lozenge: "\u25CA", + lozf: "\u29EB", + lpar: "(", + lparlt: "\u2993", + lrarr: "\u21C6", + lrcorner: "\u231F", + lrhar: "\u21CB", + lrhard: "\u296D", + lrm: "\u200E", + lrtri: "\u22BF", + lsaquo: "\u2039", + Lscr: "\u2112", + lscr: "\u{1D4C1}", + Lsh: "\u21B0", + lsh: "\u21B0", + lsim: "\u2272", + lsime: "\u2A8D", + lsimg: "\u2A8F", + lsqb: "[", + lsquo: "\u2018", + lsquor: "\u201A", + Lstrok: "\u0141", + lstrok: "\u0142", + Lt: "\u226A", + LT: "<", + lt: "<", + ltcc: "\u2AA6", + ltcir: "\u2A79", + ltdot: "\u22D6", + lthree: "\u22CB", + ltimes: "\u22C9", + ltlarr: "\u2976", + ltquest: "\u2A7B", + ltri: "\u25C3", + ltrie: "\u22B4", + ltrif: "\u25C2", + ltrPar: "\u2996", + lurdshar: "\u294A", + luruhar: "\u2966", + lvertneqq: "\u2268\uFE00", + lvnE: "\u2268\uFE00", + macr: "\xAF", + male: "\u2642", + malt: "\u2720", + maltese: "\u2720", + Map: "\u2905", + map: "\u21A6", + mapsto: "\u21A6", + mapstodown: "\u21A7", + mapstoleft: "\u21A4", + mapstoup: "\u21A5", + marker: "\u25AE", + mcomma: "\u2A29", + Mcy: "\u041C", + mcy: "\u043C", + mdash: "\u2014", + mDDot: "\u223A", + measuredangle: "\u2221", + MediumSpace: "\u205F", + Mellintrf: "\u2133", + Mfr: "\u{1D510}", + mfr: "\u{1D52A}", + mho: "\u2127", + micro: "\xB5", + mid: "\u2223", + midast: "*", + midcir: "\u2AF0", + middot: "\xB7", + minus: "\u2212", + minusb: "\u229F", + minusd: "\u2238", + minusdu: "\u2A2A", + MinusPlus: "\u2213", + mlcp: "\u2ADB", + mldr: "\u2026", + mnplus: "\u2213", + models: "\u22A7", + Mopf: "\u{1D544}", + mopf: "\u{1D55E}", + mp: "\u2213", + Mscr: "\u2133", + mscr: "\u{1D4C2}", + mstpos: "\u223E", + Mu: "\u039C", + mu: "\u03BC", + multimap: "\u22B8", + mumap: "\u22B8", + nabla: "\u2207", + Nacute: "\u0143", + nacute: "\u0144", + nang: "\u2220\u20D2", + nap: "\u2249", + napE: "\u2A70\u0338", + napid: "\u224B\u0338", + napos: "\u0149", + napprox: "\u2249", + natur: "\u266E", + natural: "\u266E", + naturals: "\u2115", + nbsp: "\xA0", + nbump: "\u224E\u0338", + nbumpe: "\u224F\u0338", + ncap: "\u2A43", + Ncaron: "\u0147", + ncaron: "\u0148", + Ncedil: "\u0145", + ncedil: "\u0146", + ncong: "\u2247", + ncongdot: "\u2A6D\u0338", + ncup: "\u2A42", + Ncy: "\u041D", + ncy: "\u043D", + ndash: "\u2013", + ne: "\u2260", + nearhk: "\u2924", + neArr: "\u21D7", + nearr: "\u2197", + nearrow: "\u2197", + nedot: "\u2250\u0338", + NegativeMediumSpace: "\u200B", + NegativeThickSpace: "\u200B", + NegativeThinSpace: "\u200B", + NegativeVeryThinSpace: "\u200B", + nequiv: "\u2262", + nesear: "\u2928", + nesim: "\u2242\u0338", + NestedGreaterGreater: "\u226B", + NestedLessLess: "\u226A", + NewLine: "\n", + nexist: "\u2204", + nexists: "\u2204", + Nfr: "\u{1D511}", + nfr: "\u{1D52B}", + ngE: "\u2267\u0338", + nge: "\u2271", + ngeq: "\u2271", + ngeqq: "\u2267\u0338", + ngeqslant: "\u2A7E\u0338", + nges: "\u2A7E\u0338", + nGg: "\u22D9\u0338", + ngsim: "\u2275", + nGt: "\u226B\u20D2", + ngt: "\u226F", + ngtr: "\u226F", + nGtv: "\u226B\u0338", + nhArr: "\u21CE", + nharr: "\u21AE", + nhpar: "\u2AF2", + ni: "\u220B", + nis: "\u22FC", + nisd: "\u22FA", + niv: "\u220B", + NJcy: "\u040A", + njcy: "\u045A", + nlArr: "\u21CD", + nlarr: "\u219A", + nldr: "\u2025", + nlE: "\u2266\u0338", + nle: "\u2270", + nLeftarrow: "\u21CD", + nleftarrow: "\u219A", + nLeftrightarrow: "\u21CE", + nleftrightarrow: "\u21AE", + nleq: "\u2270", + nleqq: "\u2266\u0338", + nleqslant: "\u2A7D\u0338", + nles: "\u2A7D\u0338", + nless: "\u226E", + nLl: "\u22D8\u0338", + nlsim: "\u2274", + nLt: "\u226A\u20D2", + nlt: "\u226E", + nltri: "\u22EA", + nltrie: "\u22EC", + nLtv: "\u226A\u0338", + nmid: "\u2224", + NoBreak: "\u2060", + NonBreakingSpace: "\xA0", + Nopf: "\u2115", + nopf: "\u{1D55F}", + Not: "\u2AEC", + not: "\xAC", + NotCongruent: "\u2262", + NotCupCap: "\u226D", + NotDoubleVerticalBar: "\u2226", + NotElement: "\u2209", + NotEqual: "\u2260", + NotEqualTilde: "\u2242\u0338", + NotExists: "\u2204", + NotGreater: "\u226F", + NotGreaterEqual: "\u2271", + NotGreaterFullEqual: "\u2267\u0338", + NotGreaterGreater: "\u226B\u0338", + NotGreaterLess: "\u2279", + NotGreaterSlantEqual: "\u2A7E\u0338", + NotGreaterTilde: "\u2275", + NotHumpDownHump: "\u224E\u0338", + NotHumpEqual: "\u224F\u0338", + notin: "\u2209", + notindot: "\u22F5\u0338", + notinE: "\u22F9\u0338", + notinva: "\u2209", + notinvb: "\u22F7", + notinvc: "\u22F6", + NotLeftTriangle: "\u22EA", + NotLeftTriangleBar: "\u29CF\u0338", + NotLeftTriangleEqual: "\u22EC", + NotLess: "\u226E", + NotLessEqual: "\u2270", + NotLessGreater: "\u2278", + NotLessLess: "\u226A\u0338", + NotLessSlantEqual: "\u2A7D\u0338", + NotLessTilde: "\u2274", + NotNestedGreaterGreater: "\u2AA2\u0338", + NotNestedLessLess: "\u2AA1\u0338", + notni: "\u220C", + notniva: "\u220C", + notnivb: "\u22FE", + notnivc: "\u22FD", + NotPrecedes: "\u2280", + NotPrecedesEqual: "\u2AAF\u0338", + NotPrecedesSlantEqual: "\u22E0", + NotReverseElement: "\u220C", + NotRightTriangle: "\u22EB", + NotRightTriangleBar: "\u29D0\u0338", + NotRightTriangleEqual: "\u22ED", + NotSquareSubset: "\u228F\u0338", + NotSquareSubsetEqual: "\u22E2", + NotSquareSuperset: "\u2290\u0338", + NotSquareSupersetEqual: "\u22E3", + NotSubset: "\u2282\u20D2", + NotSubsetEqual: "\u2288", + NotSucceeds: "\u2281", + NotSucceedsEqual: "\u2AB0\u0338", + NotSucceedsSlantEqual: "\u22E1", + NotSucceedsTilde: "\u227F\u0338", + NotSuperset: "\u2283\u20D2", + NotSupersetEqual: "\u2289", + NotTilde: "\u2241", + NotTildeEqual: "\u2244", + NotTildeFullEqual: "\u2247", + NotTildeTilde: "\u2249", + NotVerticalBar: "\u2224", + npar: "\u2226", + nparallel: "\u2226", + nparsl: "\u2AFD\u20E5", + npart: "\u2202\u0338", + npolint: "\u2A14", + npr: "\u2280", + nprcue: "\u22E0", + npre: "\u2AAF\u0338", + nprec: "\u2280", + npreceq: "\u2AAF\u0338", + nrArr: "\u21CF", + nrarr: "\u219B", + nrarrc: "\u2933\u0338", + nrarrw: "\u219D\u0338", + nRightarrow: "\u21CF", + nrightarrow: "\u219B", + nrtri: "\u22EB", + nrtrie: "\u22ED", + nsc: "\u2281", + nsccue: "\u22E1", + nsce: "\u2AB0\u0338", + Nscr: "\u{1D4A9}", + nscr: "\u{1D4C3}", + nshortmid: "\u2224", + nshortparallel: "\u2226", + nsim: "\u2241", + nsime: "\u2244", + nsimeq: "\u2244", + nsmid: "\u2224", + nspar: "\u2226", + nsqsube: "\u22E2", + nsqsupe: "\u22E3", + nsub: "\u2284", + nsubE: "\u2AC5\u0338", + nsube: "\u2288", + nsubset: "\u2282\u20D2", + nsubseteq: "\u2288", + nsubseteqq: "\u2AC5\u0338", + nsucc: "\u2281", + nsucceq: "\u2AB0\u0338", + nsup: "\u2285", + nsupE: "\u2AC6\u0338", + nsupe: "\u2289", + nsupset: "\u2283\u20D2", + nsupseteq: "\u2289", + nsupseteqq: "\u2AC6\u0338", + ntgl: "\u2279", + Ntilde: "\xD1", + ntilde: "\xF1", + ntlg: "\u2278", + ntriangleleft: "\u22EA", + ntrianglelefteq: "\u22EC", + ntriangleright: "\u22EB", + ntrianglerighteq: "\u22ED", + Nu: "\u039D", + nu: "\u03BD", + num: "#", + numero: "\u2116", + numsp: "\u2007", + nvap: "\u224D\u20D2", + nVDash: "\u22AF", + nVdash: "\u22AE", + nvDash: "\u22AD", + nvdash: "\u22AC", + nvge: "\u2265\u20D2", + nvgt: ">\u20D2", + nvHarr: "\u2904", + nvinfin: "\u29DE", + nvlArr: "\u2902", + nvle: "\u2264\u20D2", + nvlt: "<\u20D2", + nvltrie: "\u22B4\u20D2", + nvrArr: "\u2903", + nvrtrie: "\u22B5\u20D2", + nvsim: "\u223C\u20D2", + nwarhk: "\u2923", + nwArr: "\u21D6", + nwarr: "\u2196", + nwarrow: "\u2196", + nwnear: "\u2927", + Oacute: "\xD3", + oacute: "\xF3", + oast: "\u229B", + ocir: "\u229A", + Ocirc: "\xD4", + ocirc: "\xF4", + Ocy: "\u041E", + ocy: "\u043E", + odash: "\u229D", + Odblac: "\u0150", + odblac: "\u0151", + odiv: "\u2A38", + odot: "\u2299", + odsold: "\u29BC", + OElig: "\u0152", + oelig: "\u0153", + ofcir: "\u29BF", + Ofr: "\u{1D512}", + ofr: "\u{1D52C}", + ogon: "\u02DB", + Ograve: "\xD2", + ograve: "\xF2", + ogt: "\u29C1", + ohbar: "\u29B5", + ohm: "\u03A9", + oint: "\u222E", + olarr: "\u21BA", + olcir: "\u29BE", + olcross: "\u29BB", + oline: "\u203E", + olt: "\u29C0", + Omacr: "\u014C", + omacr: "\u014D", + Omega: "\u03A9", + omega: "\u03C9", + Omicron: "\u039F", + omicron: "\u03BF", + omid: "\u29B6", + ominus: "\u2296", + Oopf: "\u{1D546}", + oopf: "\u{1D560}", + opar: "\u29B7", + OpenCurlyDoubleQuote: "\u201C", + OpenCurlyQuote: "\u2018", + operp: "\u29B9", + oplus: "\u2295", + Or: "\u2A54", + or: "\u2228", + orarr: "\u21BB", + ord: "\u2A5D", + order: "\u2134", + orderof: "\u2134", + ordf: "\xAA", + ordm: "\xBA", + origof: "\u22B6", + oror: "\u2A56", + orslope: "\u2A57", + orv: "\u2A5B", + oS: "\u24C8", + Oscr: "\u{1D4AA}", + oscr: "\u2134", + Oslash: "\xD8", + oslash: "\xF8", + osol: "\u2298", + Otilde: "\xD5", + otilde: "\xF5", + Otimes: "\u2A37", + otimes: "\u2297", + otimesas: "\u2A36", + Ouml: "\xD6", + ouml: "\xF6", + ovbar: "\u233D", + OverBar: "\u203E", + OverBrace: "\u23DE", + OverBracket: "\u23B4", + OverParenthesis: "\u23DC", + par: "\u2225", + para: "\xB6", + parallel: "\u2225", + parsim: "\u2AF3", + parsl: "\u2AFD", + part: "\u2202", + PartialD: "\u2202", + Pcy: "\u041F", + pcy: "\u043F", + percnt: "%", + period: ".", + permil: "\u2030", + perp: "\u22A5", + pertenk: "\u2031", + Pfr: "\u{1D513}", + pfr: "\u{1D52D}", + Phi: "\u03A6", + phi: "\u03C6", + phiv: "\u03D5", + phmmat: "\u2133", + phone: "\u260E", + Pi: "\u03A0", + pi: "\u03C0", + pitchfork: "\u22D4", + piv: "\u03D6", + planck: "\u210F", + planckh: "\u210E", + plankv: "\u210F", + plus: "+", + plusacir: "\u2A23", + plusb: "\u229E", + pluscir: "\u2A22", + plusdo: "\u2214", + plusdu: "\u2A25", + pluse: "\u2A72", + PlusMinus: "\xB1", + plusmn: "\xB1", + plussim: "\u2A26", + plustwo: "\u2A27", + pm: "\xB1", + Poincareplane: "\u210C", + pointint: "\u2A15", + Popf: "\u2119", + popf: "\u{1D561}", + pound: "\xA3", + Pr: "\u2ABB", + pr: "\u227A", + prap: "\u2AB7", + prcue: "\u227C", + prE: "\u2AB3", + pre: "\u2AAF", + prec: "\u227A", + precapprox: "\u2AB7", + preccurlyeq: "\u227C", + Precedes: "\u227A", + PrecedesEqual: "\u2AAF", + PrecedesSlantEqual: "\u227C", + PrecedesTilde: "\u227E", + preceq: "\u2AAF", + precnapprox: "\u2AB9", + precneqq: "\u2AB5", + precnsim: "\u22E8", + precsim: "\u227E", + Prime: "\u2033", + prime: "\u2032", + primes: "\u2119", + prnap: "\u2AB9", + prnE: "\u2AB5", + prnsim: "\u22E8", + prod: "\u220F", + Product: "\u220F", + profalar: "\u232E", + profline: "\u2312", + profsurf: "\u2313", + prop: "\u221D", + Proportion: "\u2237", + Proportional: "\u221D", + propto: "\u221D", + prsim: "\u227E", + prurel: "\u22B0", + Pscr: "\u{1D4AB}", + pscr: "\u{1D4C5}", + Psi: "\u03A8", + psi: "\u03C8", + puncsp: "\u2008", + Qfr: "\u{1D514}", + qfr: "\u{1D52E}", + qint: "\u2A0C", + Qopf: "\u211A", + qopf: "\u{1D562}", + qprime: "\u2057", + Qscr: "\u{1D4AC}", + qscr: "\u{1D4C6}", + quaternions: "\u210D", + quatint: "\u2A16", + quest: "?", + questeq: "\u225F", + QUOT: '"', + quot: '"', + rAarr: "\u21DB", + race: "\u223D\u0331", + Racute: "\u0154", + racute: "\u0155", + radic: "\u221A", + raemptyv: "\u29B3", + Rang: "\u27EB", + rang: "\u27E9", + rangd: "\u2992", + range: "\u29A5", + rangle: "\u27E9", + raquo: "\xBB", + Rarr: "\u21A0", + rArr: "\u21D2", + rarr: "\u2192", + rarrap: "\u2975", + rarrb: "\u21E5", + rarrbfs: "\u2920", + rarrc: "\u2933", + rarrfs: "\u291E", + rarrhk: "\u21AA", + rarrlp: "\u21AC", + rarrpl: "\u2945", + rarrsim: "\u2974", + Rarrtl: "\u2916", + rarrtl: "\u21A3", + rarrw: "\u219D", + rAtail: "\u291C", + ratail: "\u291A", + ratio: "\u2236", + rationals: "\u211A", + RBarr: "\u2910", + rBarr: "\u290F", + rbarr: "\u290D", + rbbrk: "\u2773", + rbrace: "}", + rbrack: "]", + rbrke: "\u298C", + rbrksld: "\u298E", + rbrkslu: "\u2990", + Rcaron: "\u0158", + rcaron: "\u0159", + Rcedil: "\u0156", + rcedil: "\u0157", + rceil: "\u2309", + rcub: "}", + Rcy: "\u0420", + rcy: "\u0440", + rdca: "\u2937", + rdldhar: "\u2969", + rdquo: "\u201D", + rdquor: "\u201D", + rdsh: "\u21B3", + Re: "\u211C", + real: "\u211C", + realine: "\u211B", + realpart: "\u211C", + reals: "\u211D", + rect: "\u25AD", + REG: "\xAE", + reg: "\xAE", + ReverseElement: "\u220B", + ReverseEquilibrium: "\u21CB", + ReverseUpEquilibrium: "\u296F", + rfisht: "\u297D", + rfloor: "\u230B", + Rfr: "\u211C", + rfr: "\u{1D52F}", + rHar: "\u2964", + rhard: "\u21C1", + rharu: "\u21C0", + rharul: "\u296C", + Rho: "\u03A1", + rho: "\u03C1", + rhov: "\u03F1", + RightAngleBracket: "\u27E9", + RightArrow: "\u2192", + Rightarrow: "\u21D2", + rightarrow: "\u2192", + RightArrowBar: "\u21E5", + RightArrowLeftArrow: "\u21C4", + rightarrowtail: "\u21A3", + RightCeiling: "\u2309", + RightDoubleBracket: "\u27E7", + RightDownTeeVector: "\u295D", + RightDownVector: "\u21C2", + RightDownVectorBar: "\u2955", + RightFloor: "\u230B", + rightharpoondown: "\u21C1", + rightharpoonup: "\u21C0", + rightleftarrows: "\u21C4", + rightleftharpoons: "\u21CC", + rightrightarrows: "\u21C9", + rightsquigarrow: "\u219D", + RightTee: "\u22A2", + RightTeeArrow: "\u21A6", + RightTeeVector: "\u295B", + rightthreetimes: "\u22CC", + RightTriangle: "\u22B3", + RightTriangleBar: "\u29D0", + RightTriangleEqual: "\u22B5", + RightUpDownVector: "\u294F", + RightUpTeeVector: "\u295C", + RightUpVector: "\u21BE", + RightUpVectorBar: "\u2954", + RightVector: "\u21C0", + RightVectorBar: "\u2953", + ring: "\u02DA", + risingdotseq: "\u2253", + rlarr: "\u21C4", + rlhar: "\u21CC", + rlm: "\u200F", + rmoust: "\u23B1", + rmoustache: "\u23B1", + rnmid: "\u2AEE", + roang: "\u27ED", + roarr: "\u21FE", + robrk: "\u27E7", + ropar: "\u2986", + Ropf: "\u211D", + ropf: "\u{1D563}", + roplus: "\u2A2E", + rotimes: "\u2A35", + RoundImplies: "\u2970", + rpar: ")", + rpargt: "\u2994", + rppolint: "\u2A12", + rrarr: "\u21C9", + Rrightarrow: "\u21DB", + rsaquo: "\u203A", + Rscr: "\u211B", + rscr: "\u{1D4C7}", + Rsh: "\u21B1", + rsh: "\u21B1", + rsqb: "]", + rsquo: "\u2019", + rsquor: "\u2019", + rthree: "\u22CC", + rtimes: "\u22CA", + rtri: "\u25B9", + rtrie: "\u22B5", + rtrif: "\u25B8", + rtriltri: "\u29CE", + RuleDelayed: "\u29F4", + ruluhar: "\u2968", + rx: "\u211E", + Sacute: "\u015A", + sacute: "\u015B", + sbquo: "\u201A", + Sc: "\u2ABC", + sc: "\u227B", + scap: "\u2AB8", + Scaron: "\u0160", + scaron: "\u0161", + sccue: "\u227D", + scE: "\u2AB4", + sce: "\u2AB0", + Scedil: "\u015E", + scedil: "\u015F", + Scirc: "\u015C", + scirc: "\u015D", + scnap: "\u2ABA", + scnE: "\u2AB6", + scnsim: "\u22E9", + scpolint: "\u2A13", + scsim: "\u227F", + Scy: "\u0421", + scy: "\u0441", + sdot: "\u22C5", + sdotb: "\u22A1", + sdote: "\u2A66", + searhk: "\u2925", + seArr: "\u21D8", + searr: "\u2198", + searrow: "\u2198", + sect: "\xA7", + semi: ";", + seswar: "\u2929", + setminus: "\u2216", + setmn: "\u2216", + sext: "\u2736", + Sfr: "\u{1D516}", + sfr: "\u{1D530}", + sfrown: "\u2322", + sharp: "\u266F", + SHCHcy: "\u0429", + shchcy: "\u0449", + SHcy: "\u0428", + shcy: "\u0448", + ShortDownArrow: "\u2193", + ShortLeftArrow: "\u2190", + shortmid: "\u2223", + shortparallel: "\u2225", + ShortRightArrow: "\u2192", + ShortUpArrow: "\u2191", + shy: "\xAD", + Sigma: "\u03A3", + sigma: "\u03C3", + sigmaf: "\u03C2", + sigmav: "\u03C2", + sim: "\u223C", + simdot: "\u2A6A", + sime: "\u2243", + simeq: "\u2243", + simg: "\u2A9E", + simgE: "\u2AA0", + siml: "\u2A9D", + simlE: "\u2A9F", + simne: "\u2246", + simplus: "\u2A24", + simrarr: "\u2972", + slarr: "\u2190", + SmallCircle: "\u2218", + smallsetminus: "\u2216", + smashp: "\u2A33", + smeparsl: "\u29E4", + smid: "\u2223", + smile: "\u2323", + smt: "\u2AAA", + smte: "\u2AAC", + smtes: "\u2AAC\uFE00", + SOFTcy: "\u042C", + softcy: "\u044C", + sol: "/", + solb: "\u29C4", + solbar: "\u233F", + Sopf: "\u{1D54A}", + sopf: "\u{1D564}", + spades: "\u2660", + spadesuit: "\u2660", + spar: "\u2225", + sqcap: "\u2293", + sqcaps: "\u2293\uFE00", + sqcup: "\u2294", + sqcups: "\u2294\uFE00", + Sqrt: "\u221A", + sqsub: "\u228F", + sqsube: "\u2291", + sqsubset: "\u228F", + sqsubseteq: "\u2291", + sqsup: "\u2290", + sqsupe: "\u2292", + sqsupset: "\u2290", + sqsupseteq: "\u2292", + squ: "\u25A1", + Square: "\u25A1", + square: "\u25A1", + SquareIntersection: "\u2293", + SquareSubset: "\u228F", + SquareSubsetEqual: "\u2291", + SquareSuperset: "\u2290", + SquareSupersetEqual: "\u2292", + SquareUnion: "\u2294", + squarf: "\u25AA", + squf: "\u25AA", + srarr: "\u2192", + Sscr: "\u{1D4AE}", + sscr: "\u{1D4C8}", + ssetmn: "\u2216", + ssmile: "\u2323", + sstarf: "\u22C6", + Star: "\u22C6", + star: "\u2606", + starf: "\u2605", + straightepsilon: "\u03F5", + straightphi: "\u03D5", + strns: "\xAF", + Sub: "\u22D0", + sub: "\u2282", + subdot: "\u2ABD", + subE: "\u2AC5", + sube: "\u2286", + subedot: "\u2AC3", + submult: "\u2AC1", + subnE: "\u2ACB", + subne: "\u228A", + subplus: "\u2ABF", + subrarr: "\u2979", + Subset: "\u22D0", + subset: "\u2282", + subseteq: "\u2286", + subseteqq: "\u2AC5", + SubsetEqual: "\u2286", + subsetneq: "\u228A", + subsetneqq: "\u2ACB", + subsim: "\u2AC7", + subsub: "\u2AD5", + subsup: "\u2AD3", + succ: "\u227B", + succapprox: "\u2AB8", + succcurlyeq: "\u227D", + Succeeds: "\u227B", + SucceedsEqual: "\u2AB0", + SucceedsSlantEqual: "\u227D", + SucceedsTilde: "\u227F", + succeq: "\u2AB0", + succnapprox: "\u2ABA", + succneqq: "\u2AB6", + succnsim: "\u22E9", + succsim: "\u227F", + SuchThat: "\u220B", + Sum: "\u2211", + sum: "\u2211", + sung: "\u266A", + Sup: "\u22D1", + sup: "\u2283", + sup1: "\xB9", + sup2: "\xB2", + sup3: "\xB3", + supdot: "\u2ABE", + supdsub: "\u2AD8", + supE: "\u2AC6", + supe: "\u2287", + supedot: "\u2AC4", + Superset: "\u2283", + SupersetEqual: "\u2287", + suphsol: "\u27C9", + suphsub: "\u2AD7", + suplarr: "\u297B", + supmult: "\u2AC2", + supnE: "\u2ACC", + supne: "\u228B", + supplus: "\u2AC0", + Supset: "\u22D1", + supset: "\u2283", + supseteq: "\u2287", + supseteqq: "\u2AC6", + supsetneq: "\u228B", + supsetneqq: "\u2ACC", + supsim: "\u2AC8", + supsub: "\u2AD4", + supsup: "\u2AD6", + swarhk: "\u2926", + swArr: "\u21D9", + swarr: "\u2199", + swarrow: "\u2199", + swnwar: "\u292A", + szlig: "\xDF", + Tab: " ", + target: "\u2316", + Tau: "\u03A4", + tau: "\u03C4", + tbrk: "\u23B4", + Tcaron: "\u0164", + tcaron: "\u0165", + Tcedil: "\u0162", + tcedil: "\u0163", + Tcy: "\u0422", + tcy: "\u0442", + tdot: "\u20DB", + telrec: "\u2315", + Tfr: "\u{1D517}", + tfr: "\u{1D531}", + there4: "\u2234", + Therefore: "\u2234", + therefore: "\u2234", + Theta: "\u0398", + theta: "\u03B8", + thetasym: "\u03D1", + thetav: "\u03D1", + thickapprox: "\u2248", + thicksim: "\u223C", + ThickSpace: "\u205F\u200A", + thinsp: "\u2009", + ThinSpace: "\u2009", + thkap: "\u2248", + thksim: "\u223C", + THORN: "\xDE", + thorn: "\xFE", + Tilde: "\u223C", + tilde: "\u02DC", + TildeEqual: "\u2243", + TildeFullEqual: "\u2245", + TildeTilde: "\u2248", + times: "\xD7", + timesb: "\u22A0", + timesbar: "\u2A31", + timesd: "\u2A30", + tint: "\u222D", + toea: "\u2928", + top: "\u22A4", + topbot: "\u2336", + topcir: "\u2AF1", + Topf: "\u{1D54B}", + topf: "\u{1D565}", + topfork: "\u2ADA", + tosa: "\u2929", + tprime: "\u2034", + TRADE: "\u2122", + trade: "\u2122", + triangle: "\u25B5", + triangledown: "\u25BF", + triangleleft: "\u25C3", + trianglelefteq: "\u22B4", + triangleq: "\u225C", + triangleright: "\u25B9", + trianglerighteq: "\u22B5", + tridot: "\u25EC", + trie: "\u225C", + triminus: "\u2A3A", + TripleDot: "\u20DB", + triplus: "\u2A39", + trisb: "\u29CD", + tritime: "\u2A3B", + trpezium: "\u23E2", + Tscr: "\u{1D4AF}", + tscr: "\u{1D4C9}", + TScy: "\u0426", + tscy: "\u0446", + TSHcy: "\u040B", + tshcy: "\u045B", + Tstrok: "\u0166", + tstrok: "\u0167", + twixt: "\u226C", + twoheadleftarrow: "\u219E", + twoheadrightarrow: "\u21A0", + Uacute: "\xDA", + uacute: "\xFA", + Uarr: "\u219F", + uArr: "\u21D1", + uarr: "\u2191", + Uarrocir: "\u2949", + Ubrcy: "\u040E", + ubrcy: "\u045E", + Ubreve: "\u016C", + ubreve: "\u016D", + Ucirc: "\xDB", + ucirc: "\xFB", + Ucy: "\u0423", + ucy: "\u0443", + udarr: "\u21C5", + Udblac: "\u0170", + udblac: "\u0171", + udhar: "\u296E", + ufisht: "\u297E", + Ufr: "\u{1D518}", + ufr: "\u{1D532}", + Ugrave: "\xD9", + ugrave: "\xF9", + uHar: "\u2963", + uharl: "\u21BF", + uharr: "\u21BE", + uhblk: "\u2580", + ulcorn: "\u231C", + ulcorner: "\u231C", + ulcrop: "\u230F", + ultri: "\u25F8", + Umacr: "\u016A", + umacr: "\u016B", + uml: "\xA8", + UnderBar: "_", + UnderBrace: "\u23DF", + UnderBracket: "\u23B5", + UnderParenthesis: "\u23DD", + Union: "\u22C3", + UnionPlus: "\u228E", + Uogon: "\u0172", + uogon: "\u0173", + Uopf: "\u{1D54C}", + uopf: "\u{1D566}", + UpArrow: "\u2191", + Uparrow: "\u21D1", + uparrow: "\u2191", + UpArrowBar: "\u2912", + UpArrowDownArrow: "\u21C5", + UpDownArrow: "\u2195", + Updownarrow: "\u21D5", + updownarrow: "\u2195", + UpEquilibrium: "\u296E", + upharpoonleft: "\u21BF", + upharpoonright: "\u21BE", + uplus: "\u228E", + UpperLeftArrow: "\u2196", + UpperRightArrow: "\u2197", + Upsi: "\u03D2", + upsi: "\u03C5", + upsih: "\u03D2", + Upsilon: "\u03A5", + upsilon: "\u03C5", + UpTee: "\u22A5", + UpTeeArrow: "\u21A5", + upuparrows: "\u21C8", + urcorn: "\u231D", + urcorner: "\u231D", + urcrop: "\u230E", + Uring: "\u016E", + uring: "\u016F", + urtri: "\u25F9", + Uscr: "\u{1D4B0}", + uscr: "\u{1D4CA}", + utdot: "\u22F0", + Utilde: "\u0168", + utilde: "\u0169", + utri: "\u25B5", + utrif: "\u25B4", + uuarr: "\u21C8", + Uuml: "\xDC", + uuml: "\xFC", + uwangle: "\u29A7", + vangrt: "\u299C", + varepsilon: "\u03F5", + varkappa: "\u03F0", + varnothing: "\u2205", + varphi: "\u03D5", + varpi: "\u03D6", + varpropto: "\u221D", + vArr: "\u21D5", + varr: "\u2195", + varrho: "\u03F1", + varsigma: "\u03C2", + varsubsetneq: "\u228A\uFE00", + varsubsetneqq: "\u2ACB\uFE00", + varsupsetneq: "\u228B\uFE00", + varsupsetneqq: "\u2ACC\uFE00", + vartheta: "\u03D1", + vartriangleleft: "\u22B2", + vartriangleright: "\u22B3", + Vbar: "\u2AEB", + vBar: "\u2AE8", + vBarv: "\u2AE9", + Vcy: "\u0412", + vcy: "\u0432", + VDash: "\u22AB", + Vdash: "\u22A9", + vDash: "\u22A8", + vdash: "\u22A2", + Vdashl: "\u2AE6", + Vee: "\u22C1", + vee: "\u2228", + veebar: "\u22BB", + veeeq: "\u225A", + vellip: "\u22EE", + Verbar: "\u2016", + verbar: "|", + Vert: "\u2016", + vert: "|", + VerticalBar: "\u2223", + VerticalLine: "|", + VerticalSeparator: "\u2758", + VerticalTilde: "\u2240", + VeryThinSpace: "\u200A", + Vfr: "\u{1D519}", + vfr: "\u{1D533}", + vltri: "\u22B2", + vnsub: "\u2282\u20D2", + vnsup: "\u2283\u20D2", + Vopf: "\u{1D54D}", + vopf: "\u{1D567}", + vprop: "\u221D", + vrtri: "\u22B3", + Vscr: "\u{1D4B1}", + vscr: "\u{1D4CB}", + vsubnE: "\u2ACB\uFE00", + vsubne: "\u228A\uFE00", + vsupnE: "\u2ACC\uFE00", + vsupne: "\u228B\uFE00", + Vvdash: "\u22AA", + vzigzag: "\u299A", + Wcirc: "\u0174", + wcirc: "\u0175", + wedbar: "\u2A5F", + Wedge: "\u22C0", + wedge: "\u2227", + wedgeq: "\u2259", + weierp: "\u2118", + Wfr: "\u{1D51A}", + wfr: "\u{1D534}", + Wopf: "\u{1D54E}", + wopf: "\u{1D568}", + wp: "\u2118", + wr: "\u2240", + wreath: "\u2240", + Wscr: "\u{1D4B2}", + wscr: "\u{1D4CC}", + xcap: "\u22C2", + xcirc: "\u25EF", + xcup: "\u22C3", + xdtri: "\u25BD", + Xfr: "\u{1D51B}", + xfr: "\u{1D535}", + xhArr: "\u27FA", + xharr: "\u27F7", + Xi: "\u039E", + xi: "\u03BE", + xlArr: "\u27F8", + xlarr: "\u27F5", + xmap: "\u27FC", + xnis: "\u22FB", + xodot: "\u2A00", + Xopf: "\u{1D54F}", + xopf: "\u{1D569}", + xoplus: "\u2A01", + xotime: "\u2A02", + xrArr: "\u27F9", + xrarr: "\u27F6", + Xscr: "\u{1D4B3}", + xscr: "\u{1D4CD}", + xsqcup: "\u2A06", + xuplus: "\u2A04", + xutri: "\u25B3", + xvee: "\u22C1", + xwedge: "\u22C0", + Yacute: "\xDD", + yacute: "\xFD", + YAcy: "\u042F", + yacy: "\u044F", + Ycirc: "\u0176", + ycirc: "\u0177", + Ycy: "\u042B", + ycy: "\u044B", + yen: "\xA5", + Yfr: "\u{1D51C}", + yfr: "\u{1D536}", + YIcy: "\u0407", + yicy: "\u0457", + Yopf: "\u{1D550}", + yopf: "\u{1D56A}", + Yscr: "\u{1D4B4}", + yscr: "\u{1D4CE}", + YUcy: "\u042E", + yucy: "\u044E", + Yuml: "\u0178", + yuml: "\xFF", + Zacute: "\u0179", + zacute: "\u017A", + Zcaron: "\u017D", + zcaron: "\u017E", + Zcy: "\u0417", + zcy: "\u0437", + Zdot: "\u017B", + zdot: "\u017C", + zeetrf: "\u2128", + ZeroWidthSpace: "\u200B", + Zeta: "\u0396", + zeta: "\u03B6", + Zfr: "\u2128", + zfr: "\u{1D537}", + ZHcy: "\u0416", + zhcy: "\u0436", + zigrarr: "\u21DD", + Zopf: "\u2124", + zopf: "\u{1D56B}", + Zscr: "\u{1D4B5}", + zscr: "\u{1D4CF}", + zwj: "\u200D", + zwnj: "\u200C" + }); + exports2.entityMap = exports2.HTML_ENTITIES; + } +}); + +// node_modules/@xmldom/xmldom/lib/sax.js +var require_sax = __commonJS({ + "node_modules/@xmldom/xmldom/lib/sax.js"(exports2) { + var NAMESPACE = require_conventions().NAMESPACE; + var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/; + var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"); + var tagNamePattern = new RegExp("^" + nameStartChar.source + nameChar.source + "*(?::" + nameStartChar.source + nameChar.source + "*)?$"); + var S_TAG = 0; + var S_ATTR = 1; + var S_ATTR_SPACE = 2; + var S_EQ = 3; + var S_ATTR_NOQUOT_VALUE = 4; + var S_ATTR_END = 5; + var S_TAG_SPACE = 6; + var S_TAG_CLOSE = 7; + function ParseError(message, locator) { + this.message = message; + this.locator = locator; + if (Error.captureStackTrace) Error.captureStackTrace(this, ParseError); + } + ParseError.prototype = new Error(); + ParseError.prototype.name = ParseError.name; + function XMLReader() { + } + XMLReader.prototype = { + parse: function(source, defaultNSMap, entityMap) { + var domBuilder = this.domBuilder; + domBuilder.startDocument(); + _copy(defaultNSMap, defaultNSMap = {}); + parse( + source, + defaultNSMap, + entityMap, + domBuilder, + this.errorHandler + ); + domBuilder.endDocument(); + } + }; + function parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) { + function fixedFromCharCode(code) { + if (code > 65535) { + code -= 65536; + var surrogate1 = 55296 + (code >> 10), surrogate2 = 56320 + (code & 1023); + return String.fromCharCode(surrogate1, surrogate2); + } else { + return String.fromCharCode(code); + } + } + function entityReplacer(a2) { + var k = a2.slice(1, -1); + if (Object.hasOwnProperty.call(entityMap, k)) { + return entityMap[k]; + } else if (k.charAt(0) === "#") { + return fixedFromCharCode(parseInt(k.substr(1).replace("x", "0x"))); + } else { + errorHandler.error("entity not found:" + a2); + return a2; + } + } + function appendText(end2) { + if (end2 > start) { + var xt = source.substring(start, end2).replace(/&#?\w+;/g, entityReplacer); + locator && position(start); + domBuilder.characters(xt, 0, end2 - start); + start = end2; + } + } + function position(p, m) { + while (p >= lineEnd && (m = linePattern.exec(source))) { + lineStart = m.index; + lineEnd = lineStart + m[0].length; + locator.lineNumber++; + } + locator.columnNumber = p - lineStart + 1; + } + var lineStart = 0; + var lineEnd = 0; + var linePattern = /.*(?:\r\n?|\n)|.*$/g; + var locator = domBuilder.locator; + var parseStack = [{ currentNSMap: defaultNSMapCopy }]; + var closeMap = {}; + var start = 0; + while (true) { + try { + var tagStart = source.indexOf("<", start); + if (tagStart < 0) { + if (!source.substr(start).match(/^\s*$/)) { + var doc = domBuilder.doc; + var text = doc.createTextNode(source.substr(start)); + doc.appendChild(text); + domBuilder.currentElement = text; + } + return; + } + if (tagStart > start) { + appendText(tagStart); + } + switch (source.charAt(tagStart + 1)) { + case "/": + var end = source.indexOf(">", tagStart + 3); + var tagName = source.substring(tagStart + 2, end).replace(/[ \t\n\r]+$/g, ""); + var config = parseStack.pop(); + if (end < 0) { + tagName = source.substring(tagStart + 2).replace(/[\s<].*/, ""); + errorHandler.error("end tag name: " + tagName + " is not complete:" + config.tagName); + end = tagStart + 1 + tagName.length; + } else if (tagName.match(/\s start) { + start = end; + } else { + appendText(Math.max(tagStart, start) + 1); + } + } + } + function copyLocator(f, t) { + t.lineNumber = f.lineNumber; + t.columnNumber = f.columnNumber; + return t; + } + function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) { + function addAttribute(qname, value2, startIndex) { + if (el.attributeNames.hasOwnProperty(qname)) { + errorHandler.fatalError("Attribute " + qname + " redefined"); + } + el.addValue( + qname, + // @see https://www.w3.org/TR/xml/#AVNormalize + // since the xmldom sax parser does not "interpret" DTD the following is not implemented: + // - recursive replacement of (DTD) entity references + // - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA + value2.replace(/[\t\n\r]/g, " ").replace(/&#?\w+;/g, entityReplacer), + startIndex + ); + } + var attrName; + var value; + var p = ++start; + var s = S_TAG; + while (true) { + var c = source.charAt(p); + switch (c) { + case "=": + if (s === S_ATTR) { + attrName = source.slice(start, p); + s = S_EQ; + } else if (s === S_ATTR_SPACE) { + s = S_EQ; + } else { + throw new Error("attribute equal must after attrName"); + } + break; + case "'": + case '"': + if (s === S_EQ || s === S_ATTR) { + if (s === S_ATTR) { + errorHandler.warning('attribute value must after "="'); + attrName = source.slice(start, p); + } + start = p + 1; + p = source.indexOf(c, start); + if (p > 0) { + value = source.slice(start, p); + addAttribute(attrName, value, start - 1); + s = S_ATTR_END; + } else { + throw new Error("attribute value no end '" + c + "' match"); + } + } else if (s == S_ATTR_NOQUOT_VALUE) { + value = source.slice(start, p); + addAttribute(attrName, value, start); + errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ")!!"); + start = p + 1; + s = S_ATTR_END; + } else { + throw new Error('attribute value must after "="'); + } + break; + case "/": + switch (s) { + case S_TAG: + el.setTagName(source.slice(start, p)); + case S_ATTR_END: + case S_TAG_SPACE: + case S_TAG_CLOSE: + s = S_TAG_CLOSE; + el.closed = true; + case S_ATTR_NOQUOT_VALUE: + case S_ATTR: + break; + case S_ATTR_SPACE: + el.closed = true; + break; + //case S_EQ: + default: + throw new Error("attribute invalid close char('/')"); + } + break; + case "": + errorHandler.error("unexpected end of input"); + if (s == S_TAG) { + el.setTagName(source.slice(start, p)); + } + return p; + case ">": + switch (s) { + case S_TAG: + el.setTagName(source.slice(start, p)); + case S_ATTR_END: + case S_TAG_SPACE: + case S_TAG_CLOSE: + break; + //normal + case S_ATTR_NOQUOT_VALUE: + //Compatible state + case S_ATTR: + value = source.slice(start, p); + if (value.slice(-1) === "/") { + el.closed = true; + value = value.slice(0, -1); + } + case S_ATTR_SPACE: + if (s === S_ATTR_SPACE) { + value = attrName; + } + if (s == S_ATTR_NOQUOT_VALUE) { + errorHandler.warning('attribute "' + value + '" missed quot(")!'); + addAttribute(attrName, value, start); + } else { + if (!NAMESPACE.isHTML(currentNSMap[""]) || !value.match(/^(?:disabled|checked|selected)$/i)) { + errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!'); + } + addAttribute(value, value, start); + } + break; + case S_EQ: + throw new Error("attribute value missed!!"); + } + return p; + /*xml space '\x20' | #x9 | #xD | #xA; */ + case "\x80": + c = " "; + default: + if (c <= " ") { + switch (s) { + case S_TAG: + el.setTagName(source.slice(start, p)); + s = S_TAG_SPACE; + break; + case S_ATTR: + attrName = source.slice(start, p); + s = S_ATTR_SPACE; + break; + case S_ATTR_NOQUOT_VALUE: + var value = source.slice(start, p); + errorHandler.warning('attribute "' + value + '" missed quot(")!!'); + addAttribute(attrName, value, start); + case S_ATTR_END: + s = S_TAG_SPACE; + break; + } + } else { + switch (s) { + //case S_TAG:void();break; + //case S_ATTR:void();break; + //case S_ATTR_NOQUOT_VALUE:void();break; + case S_ATTR_SPACE: + var tagName = el.tagName; + if (!NAMESPACE.isHTML(currentNSMap[""]) || !attrName.match(/^(?:disabled|checked|selected)$/i)) { + errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!'); + } + addAttribute(attrName, attrName, start); + start = p; + s = S_ATTR; + break; + case S_ATTR_END: + errorHandler.warning('attribute space is required"' + attrName + '"!!'); + case S_TAG_SPACE: + s = S_ATTR; + start = p; + break; + case S_EQ: + s = S_ATTR_NOQUOT_VALUE; + start = p; + break; + case S_TAG_CLOSE: + throw new Error("elements closed character '/' and '>' must be connected to"); + } + } + } + p++; + } + } + function appendElement(el, domBuilder, currentNSMap) { + var tagName = el.tagName; + var localNSMap = null; + var i = el.length; + while (i--) { + var a = el[i]; + var qName = a.qName; + var value = a.value; + var nsp = qName.indexOf(":"); + if (nsp > 0) { + var prefix = a.prefix = qName.slice(0, nsp); + var localName = qName.slice(nsp + 1); + var nsPrefix = prefix === "xmlns" && localName; + } else { + localName = qName; + prefix = null; + nsPrefix = qName === "xmlns" && ""; + } + a.localName = localName; + if (nsPrefix !== false) { + if (localNSMap == null) { + localNSMap = {}; + _copy(currentNSMap, currentNSMap = {}); + } + currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value; + a.uri = NAMESPACE.XMLNS; + domBuilder.startPrefixMapping(nsPrefix, value); + } + } + var i = el.length; + while (i--) { + a = el[i]; + var prefix = a.prefix; + if (prefix) { + if (prefix === "xml") { + a.uri = NAMESPACE.XML; + } + if (prefix !== "xmlns") { + a.uri = currentNSMap[prefix || ""]; + } + } + } + var nsp = tagName.indexOf(":"); + if (nsp > 0) { + prefix = el.prefix = tagName.slice(0, nsp); + localName = el.localName = tagName.slice(nsp + 1); + } else { + prefix = null; + localName = el.localName = tagName; + } + var ns2 = el.uri = currentNSMap[prefix || ""]; + domBuilder.startElement(ns2, localName, tagName, el); + if (el.closed) { + domBuilder.endElement(ns2, localName, tagName); + if (localNSMap) { + for (prefix in localNSMap) { + if (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) { + domBuilder.endPrefixMapping(prefix); + } + } + } + } else { + el.currentNSMap = currentNSMap; + el.localNSMap = localNSMap; + return true; + } + } + function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) { + if (/^(?:script|textarea)$/i.test(tagName)) { + var elEndStart = source.indexOf("", elStartEnd); + var text = source.substring(elStartEnd + 1, elEndStart); + if (/[&<]/.test(text)) { + if (/^script$/i.test(tagName)) { + domBuilder.characters(text, 0, text.length); + return elEndStart; + } + text = text.replace(/&#?\w+;/g, entityReplacer); + domBuilder.characters(text, 0, text.length); + return elEndStart; + } + } + return elStartEnd + 1; + } + function fixSelfClosed(source, elStartEnd, tagName, closeMap) { + var pos = closeMap[tagName]; + if (pos == null) { + pos = source.lastIndexOf(""); + if (pos < elStartEnd) { + pos = source.lastIndexOf("", start + 4); + if (end > start) { + domBuilder.comment(source, start + 4, end - start - 4); + return end + 3; + } else { + errorHandler.error("Unclosed comment"); + return -1; + } + } else { + return -1; + } + default: + if (source.substr(start + 3, 6) == "CDATA[") { + var end = source.indexOf("]]>", start + 9); + domBuilder.startCDATA(); + domBuilder.characters(source, start + 9, end - start - 9); + domBuilder.endCDATA(); + return end + 3; + } + var matchs = split(source, start); + var len = matchs.length; + if (len > 1 && /!doctype/i.test(matchs[0][0])) { + var name = matchs[1][0]; + var pubid = false; + var sysid = false; + if (len > 3) { + if (/^public$/i.test(matchs[2][0])) { + pubid = matchs[3][0]; + sysid = len > 4 && matchs[4][0]; + } else if (/^system$/i.test(matchs[2][0])) { + sysid = matchs[3][0]; + } + } + var lastMatch = matchs[len - 1]; + domBuilder.startDTD(name, pubid, sysid); + domBuilder.endDTD(); + return lastMatch.index + lastMatch[0].length; + } + } + return -1; + } + function parseInstruction(source, start, domBuilder) { + var end = source.indexOf("?>", start); + if (end) { + var match = source.substring(start, end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/); + if (match) { + var len = match[0].length; + domBuilder.processingInstruction(match[1], match[2]); + return end + 2; + } else { + return -1; + } + } + return -1; + } + function ElementAttributes() { + this.attributeNames = {}; + } + ElementAttributes.prototype = { + setTagName: function(tagName) { + if (!tagNamePattern.test(tagName)) { + throw new Error("invalid tagName:" + tagName); + } + this.tagName = tagName; + }, + addValue: function(qName, value, offset) { + if (!tagNamePattern.test(qName)) { + throw new Error("invalid attribute:" + qName); + } + this.attributeNames[qName] = this.length; + this[this.length++] = { qName, value, offset }; + }, + length: 0, + getLocalName: function(i) { + return this[i].localName; + }, + getLocator: function(i) { + return this[i].locator; + }, + getQName: function(i) { + return this[i].qName; + }, + getURI: function(i) { + return this[i].uri; + }, + getValue: function(i) { + return this[i].value; + } + // ,getIndex:function(uri, localName)){ + // if(localName){ + // + // }else{ + // var qName = uri + // } + // }, + // getValue:function(){return this.getValue(this.getIndex.apply(this,arguments))}, + // getType:function(uri,localName){} + // getType:function(i){}, + }; + function split(source, start) { + var match; + var buf = []; + var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g; + reg.lastIndex = start; + reg.exec(source); + while (match = reg.exec(source)) { + buf.push(match); + if (match[1]) return buf; + } + } + exports2.XMLReader = XMLReader; + exports2.ParseError = ParseError; + } +}); + +// node_modules/@xmldom/xmldom/lib/dom-parser.js +var require_dom_parser = __commonJS({ + "node_modules/@xmldom/xmldom/lib/dom-parser.js"(exports2) { + var conventions = require_conventions(); + var dom = require_dom(); + var entities = require_entities(); + var sax = require_sax(); + var DOMImplementation = dom.DOMImplementation; + var NAMESPACE = conventions.NAMESPACE; + var ParseError = sax.ParseError; + var XMLReader = sax.XMLReader; + function normalizeLineEndings(input) { + return input.replace(/\r[\n\u0085]/g, "\n").replace(/[\r\u0085\u2028]/g, "\n"); + } + function DOMParser2(options) { + this.options = options || { locator: {} }; + } + DOMParser2.prototype.parseFromString = function(source, mimeType) { + var options = this.options; + var sax2 = new XMLReader(); + var domBuilder = options.domBuilder || new DOMHandler(); + var errorHandler = options.errorHandler; + var locator = options.locator; + var defaultNSMap = options.xmlns || {}; + var isHTML = /\/x?html?$/.test(mimeType); + var entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES; + if (locator) { + domBuilder.setDocumentLocator(locator); + } + sax2.errorHandler = buildErrorHandler(errorHandler, domBuilder, locator); + sax2.domBuilder = options.domBuilder || domBuilder; + if (isHTML) { + defaultNSMap[""] = NAMESPACE.HTML; + } + defaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML; + var normalize = options.normalizeLineEndings || normalizeLineEndings; + if (source && typeof source === "string") { + sax2.parse( + normalize(source), + defaultNSMap, + entityMap + ); + } else { + sax2.errorHandler.error("invalid doc source"); + } + return domBuilder.doc; + }; + function buildErrorHandler(errorImpl, domBuilder, locator) { + if (!errorImpl) { + if (domBuilder instanceof DOMHandler) { + return domBuilder; + } + errorImpl = domBuilder; + } + var errorHandler = {}; + var isCallback = errorImpl instanceof Function; + locator = locator || {}; + function build(key) { + var fn = errorImpl[key]; + if (!fn && isCallback) { + fn = errorImpl.length == 2 ? function(msg) { + errorImpl(key, msg); + } : errorImpl; + } + errorHandler[key] = fn && function(msg) { + fn("[xmldom " + key + "] " + msg + _locator(locator)); + } || function() { + }; + } + build("warning"); + build("error"); + build("fatalError"); + return errorHandler; + } + function DOMHandler() { + this.cdata = false; + } + function position(locator, node) { + node.lineNumber = locator.lineNumber; + node.columnNumber = locator.columnNumber; + } + DOMHandler.prototype = { + startDocument: function() { + this.doc = new DOMImplementation().createDocument(null, null, null); + if (this.locator) { + this.doc.documentURI = this.locator.systemId; + } + }, + startElement: function(namespaceURI, localName, qName, attrs) { + var doc = this.doc; + var el = doc.createElementNS(namespaceURI, qName || localName); + var len = attrs.length; + appendElement(this, el); + this.currentElement = el; + this.locator && position(this.locator, el); + for (var i = 0; i < len; i++) { + var namespaceURI = attrs.getURI(i); + var value = attrs.getValue(i); + var qName = attrs.getQName(i); + var attr = doc.createAttributeNS(namespaceURI, qName); + this.locator && position(attrs.getLocator(i), attr); + attr.value = attr.nodeValue = value; + el.setAttributeNode(attr); + } + }, + endElement: function(namespaceURI, localName, qName) { + var current = this.currentElement; + var tagName = current.tagName; + this.currentElement = current.parentNode; + }, + startPrefixMapping: function(prefix, uri) { + }, + endPrefixMapping: function(prefix) { + }, + processingInstruction: function(target, data) { + var ins = this.doc.createProcessingInstruction(target, data); + this.locator && position(this.locator, ins); + appendElement(this, ins); + }, + ignorableWhitespace: function(ch, start, length) { + }, + characters: function(chars, start, length) { + chars = _toString.apply(this, arguments); + if (chars) { + if (this.cdata) { + var charNode = this.doc.createCDATASection(chars); + } else { + var charNode = this.doc.createTextNode(chars); + } + if (this.currentElement) { + this.currentElement.appendChild(charNode); + } else if (/^\s*$/.test(chars)) { + this.doc.appendChild(charNode); + } + this.locator && position(this.locator, charNode); + } + }, + skippedEntity: function(name) { + }, + endDocument: function() { + this.doc.normalize(); + }, + setDocumentLocator: function(locator) { + if (this.locator = locator) { + locator.lineNumber = 0; + } + }, + //LexicalHandler + comment: function(chars, start, length) { + chars = _toString.apply(this, arguments); + var comm = this.doc.createComment(chars); + this.locator && position(this.locator, comm); + appendElement(this, comm); + }, + startCDATA: function() { + this.cdata = true; + }, + endCDATA: function() { + this.cdata = false; + }, + startDTD: function(name, publicId, systemId) { + var impl = this.doc.implementation; + if (impl && impl.createDocumentType) { + var dt = impl.createDocumentType(name, publicId, systemId); + this.locator && position(this.locator, dt); + appendElement(this, dt); + this.doc.doctype = dt; + } + }, + /** + * @see org.xml.sax.ErrorHandler + * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html + */ + warning: function(error) { + console.warn("[xmldom warning] " + error, _locator(this.locator)); + }, + error: function(error) { + console.error("[xmldom error] " + error, _locator(this.locator)); + }, + fatalError: function(error) { + throw new ParseError(error, this.locator); + } + }; + function _locator(l2) { + if (l2) { + return "\n@" + (l2.systemId || "") + "#[line:" + l2.lineNumber + ",col:" + l2.columnNumber + "]"; + } + } + function _toString(chars, start, length) { + if (typeof chars == "string") { + return chars.substr(start, length); + } else { + if (chars.length >= start + length || start) { + return new java.lang.String(chars, start, length) + ""; + } + return chars; + } + } + "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function(key) { + DOMHandler.prototype[key] = function() { + return null; + }; + }); + function appendElement(hander, node) { + if (!hander.currentElement) { + hander.doc.appendChild(node); + } else { + hander.currentElement.appendChild(node); + } + } + exports2.__DOMHandler = DOMHandler; + exports2.normalizeLineEndings = normalizeLineEndings; + exports2.DOMParser = DOMParser2; + } +}); + +// node_modules/@xmldom/xmldom/lib/index.js +var require_lib = __commonJS({ + "node_modules/@xmldom/xmldom/lib/index.js"(exports2) { + var dom = require_dom(); + exports2.DOMImplementation = dom.DOMImplementation; + exports2.XMLSerializer = dom.XMLSerializer; + exports2.DOMParser = require_dom_parser().DOMParser; + } +}); + +// node_modules/mammoth/lib/xml/xmldom.js +var require_xmldom = __commonJS({ + "node_modules/mammoth/lib/xml/xmldom.js"(exports2) { + var xmldom = require_lib(); + var dom = require_dom(); + function parseFromString(string) { + var error = null; + var domParser = new xmldom.DOMParser({ + errorHandler: function(level, message) { + error = { level, message }; + } + }); + var document2 = domParser.parseFromString(string); + if (error === null) { + return document2; + } else { + throw new Error(error.level + ": " + error.message); + } + } + exports2.parseFromString = parseFromString; + exports2.Node = dom.Node; + } +}); + +// node_modules/mammoth/lib/xml/reader.js +var require_reader = __commonJS({ + "node_modules/mammoth/lib/xml/reader.js"(exports2) { + var promises = require_promises(); + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var xmldom = require_xmldom(); + var nodes = require_nodes(); + var Element = nodes.Element; + exports2.readString = readString; + var Node3 = xmldom.Node; + function readString(xmlString, namespaceMap) { + namespaceMap = namespaceMap || {}; + try { + var document2 = xmldom.parseFromString(xmlString, "text/xml"); + } catch (error) { + return promises.reject(error); + } + if (document2.documentElement.tagName === "parsererror") { + return promises.resolve(new Error(document2.documentElement.textContent)); + } + function convertNode(node) { + switch (node.nodeType) { + case Node3.ELEMENT_NODE: + return convertElement(node); + case Node3.TEXT_NODE: + return nodes.text(node.nodeValue); + } + } + function convertElement(element) { + var convertedName = convertName(element); + var convertedChildren = []; + _3.forEach(element.childNodes, function(childNode) { + var convertedNode = convertNode(childNode); + if (convertedNode) { + convertedChildren.push(convertedNode); + } + }); + var convertedAttributes = {}; + _3.forEach(element.attributes, function(attribute) { + convertedAttributes[convertName(attribute)] = attribute.value; + }); + return new Element(convertedName, convertedAttributes, convertedChildren); + } + function convertName(node) { + if (node.namespaceURI) { + var mappedPrefix = namespaceMap[node.namespaceURI]; + var prefix; + if (mappedPrefix) { + prefix = mappedPrefix + ":"; + } else { + prefix = "{" + node.namespaceURI + "}"; + } + return prefix + node.localName; + } else { + return node.localName; + } + } + return promises.resolve(convertNode(document2.documentElement)); + } + } +}); + +// node_modules/xmlbuilder/lib/Utility.js +var require_Utility = __commonJS({ + "node_modules/xmlbuilder/lib/Utility.js"(exports2, module2) { + (function() { + var assign, getValue, isArray, isEmpty2, isFunction2, isObject4, isPlainObject, slice2 = [].slice, hasProp = {}.hasOwnProperty; + assign = function() { + var i, key, len, source, sources, target; + target = arguments[0], sources = 2 <= arguments.length ? slice2.call(arguments, 1) : []; + if (isFunction2(Object.assign)) { + Object.assign.apply(null, arguments); + } else { + for (i = 0, len = sources.length; i < len; i++) { + source = sources[i]; + if (source != null) { + for (key in source) { + if (!hasProp.call(source, key)) continue; + target[key] = source[key]; + } + } + } + } + return target; + }; + isFunction2 = function(val) { + return !!val && Object.prototype.toString.call(val) === "[object Function]"; + }; + isObject4 = function(val) { + var ref; + return !!val && ((ref = typeof val) === "function" || ref === "object"); + }; + isArray = function(val) { + if (isFunction2(Array.isArray)) { + return Array.isArray(val); + } else { + return Object.prototype.toString.call(val) === "[object Array]"; + } + }; + isEmpty2 = function(val) { + var key; + if (isArray(val)) { + return !val.length; + } else { + for (key in val) { + if (!hasProp.call(val, key)) continue; + return false; + } + return true; + } + }; + isPlainObject = function(val) { + var ctor2, proto; + return isObject4(val) && (proto = Object.getPrototypeOf(val)) && (ctor2 = proto.constructor) && typeof ctor2 === "function" && ctor2 instanceof ctor2 && Function.prototype.toString.call(ctor2) === Function.prototype.toString.call(Object); + }; + getValue = function(obj2) { + if (isFunction2(obj2.valueOf)) { + return obj2.valueOf(); + } else { + return obj2; + } + }; + module2.exports.assign = assign; + module2.exports.isFunction = isFunction2; + module2.exports.isObject = isObject4; + module2.exports.isArray = isArray; + module2.exports.isEmpty = isEmpty2; + module2.exports.isPlainObject = isPlainObject; + module2.exports.getValue = getValue; + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLAttribute.js +var require_XMLAttribute = __commonJS({ + "node_modules/xmlbuilder/lib/XMLAttribute.js"(exports2, module2) { + (function() { + var XMLAttribute; + module2.exports = XMLAttribute = (function() { + function XMLAttribute2(parent, name, value) { + this.options = parent.options; + this.stringify = parent.stringify; + this.parent = parent; + if (name == null) { + throw new Error("Missing attribute name. " + this.debugInfo(name)); + } + if (value == null) { + throw new Error("Missing attribute value. " + this.debugInfo(name)); + } + this.name = this.stringify.attName(name); + this.value = this.stringify.attValue(value); + } + XMLAttribute2.prototype.clone = function() { + return Object.create(this); + }; + XMLAttribute2.prototype.toString = function(options) { + return this.options.writer.set(options).attribute(this); + }; + XMLAttribute2.prototype.debugInfo = function(name) { + name = name || this.name; + if (name == null) { + return "parent: <" + this.parent.name + ">"; + } else { + return "attribute: {" + name + "}, parent: <" + this.parent.name + ">"; + } + }; + return XMLAttribute2; + })(); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLElement.js +var require_XMLElement = __commonJS({ + "node_modules/xmlbuilder/lib/XMLElement.js"(exports2, module2) { + (function() { + var XMLAttribute, XMLElement, XMLNode, getValue, isFunction2, isObject4, ref, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + ref = require_Utility(), isObject4 = ref.isObject, isFunction2 = ref.isFunction, getValue = ref.getValue; + XMLNode = require_XMLNode(); + XMLAttribute = require_XMLAttribute(); + module2.exports = XMLElement = (function(superClass) { + extend2(XMLElement2, superClass); + function XMLElement2(parent, name, attributes) { + XMLElement2.__super__.constructor.call(this, parent); + if (name == null) { + throw new Error("Missing element name. " + this.debugInfo()); + } + this.name = this.stringify.eleName(name); + this.attributes = {}; + if (attributes != null) { + this.attribute(attributes); + } + if (parent.isDocument) { + this.isRoot = true; + this.documentObject = parent; + parent.rootObject = this; + } + } + XMLElement2.prototype.clone = function() { + var att, attName, clonedSelf, ref1; + clonedSelf = Object.create(this); + if (clonedSelf.isRoot) { + clonedSelf.documentObject = null; + } + clonedSelf.attributes = {}; + ref1 = this.attributes; + for (attName in ref1) { + if (!hasProp.call(ref1, attName)) continue; + att = ref1[attName]; + clonedSelf.attributes[attName] = att.clone(); + } + clonedSelf.children = []; + this.children.forEach(function(child) { + var clonedChild; + clonedChild = child.clone(); + clonedChild.parent = clonedSelf; + return clonedSelf.children.push(clonedChild); + }); + return clonedSelf; + }; + XMLElement2.prototype.attribute = function(name, value) { + var attName, attValue; + if (name != null) { + name = getValue(name); + } + if (isObject4(name)) { + for (attName in name) { + if (!hasProp.call(name, attName)) continue; + attValue = name[attName]; + this.attribute(attName, attValue); + } + } else { + if (isFunction2(value)) { + value = value.apply(); + } + if (!this.options.skipNullAttributes || value != null) { + this.attributes[name] = new XMLAttribute(this, name, value); + } + } + return this; + }; + XMLElement2.prototype.removeAttribute = function(name) { + var attName, i, len; + if (name == null) { + throw new Error("Missing attribute name. " + this.debugInfo()); + } + name = getValue(name); + if (Array.isArray(name)) { + for (i = 0, len = name.length; i < len; i++) { + attName = name[i]; + delete this.attributes[attName]; + } + } else { + delete this.attributes[name]; + } + return this; + }; + XMLElement2.prototype.toString = function(options) { + return this.options.writer.set(options).element(this); + }; + XMLElement2.prototype.att = function(name, value) { + return this.attribute(name, value); + }; + XMLElement2.prototype.a = function(name, value) { + return this.attribute(name, value); + }; + return XMLElement2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLCData.js +var require_XMLCData = __commonJS({ + "node_modules/xmlbuilder/lib/XMLCData.js"(exports2, module2) { + (function() { + var XMLCData, XMLNode, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLCData = (function(superClass) { + extend2(XMLCData2, superClass); + function XMLCData2(parent, text) { + XMLCData2.__super__.constructor.call(this, parent); + if (text == null) { + throw new Error("Missing CDATA text. " + this.debugInfo()); + } + this.text = this.stringify.cdata(text); + } + XMLCData2.prototype.clone = function() { + return Object.create(this); + }; + XMLCData2.prototype.toString = function(options) { + return this.options.writer.set(options).cdata(this); + }; + return XMLCData2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLComment.js +var require_XMLComment = __commonJS({ + "node_modules/xmlbuilder/lib/XMLComment.js"(exports2, module2) { + (function() { + var XMLComment, XMLNode, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLComment = (function(superClass) { + extend2(XMLComment2, superClass); + function XMLComment2(parent, text) { + XMLComment2.__super__.constructor.call(this, parent); + if (text == null) { + throw new Error("Missing comment text. " + this.debugInfo()); + } + this.text = this.stringify.comment(text); + } + XMLComment2.prototype.clone = function() { + return Object.create(this); + }; + XMLComment2.prototype.toString = function(options) { + return this.options.writer.set(options).comment(this); + }; + return XMLComment2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDeclaration.js +var require_XMLDeclaration = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDeclaration.js"(exports2, module2) { + (function() { + var XMLDeclaration, XMLNode, isObject4, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + isObject4 = require_Utility().isObject; + XMLNode = require_XMLNode(); + module2.exports = XMLDeclaration = (function(superClass) { + extend2(XMLDeclaration2, superClass); + function XMLDeclaration2(parent, version, encoding, standalone) { + var ref; + XMLDeclaration2.__super__.constructor.call(this, parent); + if (isObject4(version)) { + ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone; + } + if (!version) { + version = "1.0"; + } + this.version = this.stringify.xmlVersion(version); + if (encoding != null) { + this.encoding = this.stringify.xmlEncoding(encoding); + } + if (standalone != null) { + this.standalone = this.stringify.xmlStandalone(standalone); + } + } + XMLDeclaration2.prototype.toString = function(options) { + return this.options.writer.set(options).declaration(this); + }; + return XMLDeclaration2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDTDAttList.js +var require_XMLDTDAttList = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDTDAttList.js"(exports2, module2) { + (function() { + var XMLDTDAttList, XMLNode, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLDTDAttList = (function(superClass) { + extend2(XMLDTDAttList2, superClass); + function XMLDTDAttList2(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) { + XMLDTDAttList2.__super__.constructor.call(this, parent); + if (elementName == null) { + throw new Error("Missing DTD element name. " + this.debugInfo()); + } + if (attributeName == null) { + throw new Error("Missing DTD attribute name. " + this.debugInfo(elementName)); + } + if (!attributeType) { + throw new Error("Missing DTD attribute type. " + this.debugInfo(elementName)); + } + if (!defaultValueType) { + throw new Error("Missing DTD attribute default. " + this.debugInfo(elementName)); + } + if (defaultValueType.indexOf("#") !== 0) { + defaultValueType = "#" + defaultValueType; + } + if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) { + throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. " + this.debugInfo(elementName)); + } + if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) { + throw new Error("Default value only applies to #FIXED or #DEFAULT. " + this.debugInfo(elementName)); + } + this.elementName = this.stringify.eleName(elementName); + this.attributeName = this.stringify.attName(attributeName); + this.attributeType = this.stringify.dtdAttType(attributeType); + this.defaultValue = this.stringify.dtdAttDefault(defaultValue); + this.defaultValueType = defaultValueType; + } + XMLDTDAttList2.prototype.toString = function(options) { + return this.options.writer.set(options).dtdAttList(this); + }; + return XMLDTDAttList2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDTDEntity.js +var require_XMLDTDEntity = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDTDEntity.js"(exports2, module2) { + (function() { + var XMLDTDEntity, XMLNode, isObject4, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + isObject4 = require_Utility().isObject; + XMLNode = require_XMLNode(); + module2.exports = XMLDTDEntity = (function(superClass) { + extend2(XMLDTDEntity2, superClass); + function XMLDTDEntity2(parent, pe, name, value) { + XMLDTDEntity2.__super__.constructor.call(this, parent); + if (name == null) { + throw new Error("Missing DTD entity name. " + this.debugInfo(name)); + } + if (value == null) { + throw new Error("Missing DTD entity value. " + this.debugInfo(name)); + } + this.pe = !!pe; + this.name = this.stringify.eleName(name); + if (!isObject4(value)) { + this.value = this.stringify.dtdEntityValue(value); + } else { + if (!value.pubID && !value.sysID) { + throw new Error("Public and/or system identifiers are required for an external entity. " + this.debugInfo(name)); + } + if (value.pubID && !value.sysID) { + throw new Error("System identifier is required for a public external entity. " + this.debugInfo(name)); + } + if (value.pubID != null) { + this.pubID = this.stringify.dtdPubID(value.pubID); + } + if (value.sysID != null) { + this.sysID = this.stringify.dtdSysID(value.sysID); + } + if (value.nData != null) { + this.nData = this.stringify.dtdNData(value.nData); + } + if (this.pe && this.nData) { + throw new Error("Notation declaration is not allowed in a parameter entity. " + this.debugInfo(name)); + } + } + } + XMLDTDEntity2.prototype.toString = function(options) { + return this.options.writer.set(options).dtdEntity(this); + }; + return XMLDTDEntity2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDTDElement.js +var require_XMLDTDElement = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDTDElement.js"(exports2, module2) { + (function() { + var XMLDTDElement, XMLNode, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLDTDElement = (function(superClass) { + extend2(XMLDTDElement2, superClass); + function XMLDTDElement2(parent, name, value) { + XMLDTDElement2.__super__.constructor.call(this, parent); + if (name == null) { + throw new Error("Missing DTD element name. " + this.debugInfo()); + } + if (!value) { + value = "(#PCDATA)"; + } + if (Array.isArray(value)) { + value = "(" + value.join(",") + ")"; + } + this.name = this.stringify.eleName(name); + this.value = this.stringify.dtdElementValue(value); + } + XMLDTDElement2.prototype.toString = function(options) { + return this.options.writer.set(options).dtdElement(this); + }; + return XMLDTDElement2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDTDNotation.js +var require_XMLDTDNotation = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDTDNotation.js"(exports2, module2) { + (function() { + var XMLDTDNotation, XMLNode, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLDTDNotation = (function(superClass) { + extend2(XMLDTDNotation2, superClass); + function XMLDTDNotation2(parent, name, value) { + XMLDTDNotation2.__super__.constructor.call(this, parent); + if (name == null) { + throw new Error("Missing DTD notation name. " + this.debugInfo(name)); + } + if (!value.pubID && !value.sysID) { + throw new Error("Public or system identifiers are required for an external entity. " + this.debugInfo(name)); + } + this.name = this.stringify.eleName(name); + if (value.pubID != null) { + this.pubID = this.stringify.dtdPubID(value.pubID); + } + if (value.sysID != null) { + this.sysID = this.stringify.dtdSysID(value.sysID); + } + } + XMLDTDNotation2.prototype.toString = function(options) { + return this.options.writer.set(options).dtdNotation(this); + }; + return XMLDTDNotation2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDocType.js +var require_XMLDocType = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDocType.js"(exports2, module2) { + (function() { + var XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNode, isObject4, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + isObject4 = require_Utility().isObject; + XMLNode = require_XMLNode(); + XMLDTDAttList = require_XMLDTDAttList(); + XMLDTDEntity = require_XMLDTDEntity(); + XMLDTDElement = require_XMLDTDElement(); + XMLDTDNotation = require_XMLDTDNotation(); + module2.exports = XMLDocType = (function(superClass) { + extend2(XMLDocType2, superClass); + function XMLDocType2(parent, pubID, sysID) { + var ref, ref1; + XMLDocType2.__super__.constructor.call(this, parent); + this.name = "!DOCTYPE"; + this.documentObject = parent; + if (isObject4(pubID)) { + ref = pubID, pubID = ref.pubID, sysID = ref.sysID; + } + if (sysID == null) { + ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1]; + } + if (pubID != null) { + this.pubID = this.stringify.dtdPubID(pubID); + } + if (sysID != null) { + this.sysID = this.stringify.dtdSysID(sysID); + } + } + XMLDocType2.prototype.element = function(name, value) { + var child; + child = new XMLDTDElement(this, name, value); + this.children.push(child); + return this; + }; + XMLDocType2.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { + var child; + child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); + this.children.push(child); + return this; + }; + XMLDocType2.prototype.entity = function(name, value) { + var child; + child = new XMLDTDEntity(this, false, name, value); + this.children.push(child); + return this; + }; + XMLDocType2.prototype.pEntity = function(name, value) { + var child; + child = new XMLDTDEntity(this, true, name, value); + this.children.push(child); + return this; + }; + XMLDocType2.prototype.notation = function(name, value) { + var child; + child = new XMLDTDNotation(this, name, value); + this.children.push(child); + return this; + }; + XMLDocType2.prototype.toString = function(options) { + return this.options.writer.set(options).docType(this); + }; + XMLDocType2.prototype.ele = function(name, value) { + return this.element(name, value); + }; + XMLDocType2.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { + return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue); + }; + XMLDocType2.prototype.ent = function(name, value) { + return this.entity(name, value); + }; + XMLDocType2.prototype.pent = function(name, value) { + return this.pEntity(name, value); + }; + XMLDocType2.prototype.not = function(name, value) { + return this.notation(name, value); + }; + XMLDocType2.prototype.up = function() { + return this.root() || this.documentObject; + }; + return XMLDocType2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLRaw.js +var require_XMLRaw = __commonJS({ + "node_modules/xmlbuilder/lib/XMLRaw.js"(exports2, module2) { + (function() { + var XMLNode, XMLRaw, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLRaw = (function(superClass) { + extend2(XMLRaw2, superClass); + function XMLRaw2(parent, text) { + XMLRaw2.__super__.constructor.call(this, parent); + if (text == null) { + throw new Error("Missing raw text. " + this.debugInfo()); + } + this.value = this.stringify.raw(text); + } + XMLRaw2.prototype.clone = function() { + return Object.create(this); + }; + XMLRaw2.prototype.toString = function(options) { + return this.options.writer.set(options).raw(this); + }; + return XMLRaw2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLText.js +var require_XMLText = __commonJS({ + "node_modules/xmlbuilder/lib/XMLText.js"(exports2, module2) { + (function() { + var XMLNode, XMLText, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLText = (function(superClass) { + extend2(XMLText2, superClass); + function XMLText2(parent, text) { + XMLText2.__super__.constructor.call(this, parent); + if (text == null) { + throw new Error("Missing element text. " + this.debugInfo()); + } + this.value = this.stringify.eleText(text); + } + XMLText2.prototype.clone = function() { + return Object.create(this); + }; + XMLText2.prototype.toString = function(options) { + return this.options.writer.set(options).text(this); + }; + return XMLText2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +var require_XMLProcessingInstruction = __commonJS({ + "node_modules/xmlbuilder/lib/XMLProcessingInstruction.js"(exports2, module2) { + (function() { + var XMLNode, XMLProcessingInstruction, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLProcessingInstruction = (function(superClass) { + extend2(XMLProcessingInstruction2, superClass); + function XMLProcessingInstruction2(parent, target, value) { + XMLProcessingInstruction2.__super__.constructor.call(this, parent); + if (target == null) { + throw new Error("Missing instruction target. " + this.debugInfo()); + } + this.target = this.stringify.insTarget(target); + if (value) { + this.value = this.stringify.insValue(value); + } + } + XMLProcessingInstruction2.prototype.clone = function() { + return Object.create(this); + }; + XMLProcessingInstruction2.prototype.toString = function(options) { + return this.options.writer.set(options).processingInstruction(this); + }; + return XMLProcessingInstruction2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDummy.js +var require_XMLDummy = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDummy.js"(exports2, module2) { + (function() { + var XMLDummy, XMLNode, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLNode = require_XMLNode(); + module2.exports = XMLDummy = (function(superClass) { + extend2(XMLDummy2, superClass); + function XMLDummy2(parent) { + XMLDummy2.__super__.constructor.call(this, parent); + this.isDummy = true; + } + XMLDummy2.prototype.clone = function() { + return Object.create(this); + }; + XMLDummy2.prototype.toString = function(options) { + return ""; + }; + return XMLDummy2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLNode.js +var require_XMLNode = __commonJS({ + "node_modules/xmlbuilder/lib/XMLNode.js"(exports2, module2) { + (function() { + var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNode, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty2, isFunction2, isObject4, ref, hasProp = {}.hasOwnProperty; + ref = require_Utility(), isObject4 = ref.isObject, isFunction2 = ref.isFunction, isEmpty2 = ref.isEmpty, getValue = ref.getValue; + XMLElement = null; + XMLCData = null; + XMLComment = null; + XMLDeclaration = null; + XMLDocType = null; + XMLRaw = null; + XMLText = null; + XMLProcessingInstruction = null; + XMLDummy = null; + module2.exports = XMLNode = (function() { + function XMLNode2(parent) { + this.parent = parent; + if (this.parent) { + this.options = this.parent.options; + this.stringify = this.parent.stringify; + } + this.children = []; + if (!XMLElement) { + XMLElement = require_XMLElement(); + XMLCData = require_XMLCData(); + XMLComment = require_XMLComment(); + XMLDeclaration = require_XMLDeclaration(); + XMLDocType = require_XMLDocType(); + XMLRaw = require_XMLRaw(); + XMLText = require_XMLText(); + XMLProcessingInstruction = require_XMLProcessingInstruction(); + XMLDummy = require_XMLDummy(); + } + } + XMLNode2.prototype.element = function(name, attributes, text) { + var childNode, item, j, k, key, lastChild, len, len1, ref1, ref2, val; + lastChild = null; + if (attributes === null && text == null) { + ref1 = [{}, null], attributes = ref1[0], text = ref1[1]; + } + if (attributes == null) { + attributes = {}; + } + attributes = getValue(attributes); + if (!isObject4(attributes)) { + ref2 = [attributes, text], text = ref2[0], attributes = ref2[1]; + } + if (name != null) { + name = getValue(name); + } + if (Array.isArray(name)) { + for (j = 0, len = name.length; j < len; j++) { + item = name[j]; + lastChild = this.element(item); + } + } else if (isFunction2(name)) { + lastChild = this.element(name.apply()); + } else if (isObject4(name)) { + for (key in name) { + if (!hasProp.call(name, key)) continue; + val = name[key]; + if (isFunction2(val)) { + val = val.apply(); + } + if (isObject4(val) && isEmpty2(val)) { + val = null; + } + if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) { + lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val); + } else if (!this.options.separateArrayItems && Array.isArray(val)) { + for (k = 0, len1 = val.length; k < len1; k++) { + item = val[k]; + childNode = {}; + childNode[key] = item; + lastChild = this.element(childNode); + } + } else if (isObject4(val)) { + lastChild = this.element(key); + lastChild.element(val); + } else { + lastChild = this.element(key, val); + } + } + } else if (this.options.skipNullNodes && text === null) { + lastChild = this.dummy(); + } else { + if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) { + lastChild = this.text(text); + } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) { + lastChild = this.cdata(text); + } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) { + lastChild = this.comment(text); + } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) { + lastChild = this.raw(text); + } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) { + lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text); + } else { + lastChild = this.node(name, attributes, text); + } + } + if (lastChild == null) { + throw new Error("Could not create any elements with: " + name + ". " + this.debugInfo()); + } + return lastChild; + }; + XMLNode2.prototype.insertBefore = function(name, attributes, text) { + var child, i, removed; + if (this.isRoot) { + throw new Error("Cannot insert elements at root level. " + this.debugInfo(name)); + } + i = this.parent.children.indexOf(this); + removed = this.parent.children.splice(i); + child = this.parent.element(name, attributes, text); + Array.prototype.push.apply(this.parent.children, removed); + return child; + }; + XMLNode2.prototype.insertAfter = function(name, attributes, text) { + var child, i, removed; + if (this.isRoot) { + throw new Error("Cannot insert elements at root level. " + this.debugInfo(name)); + } + i = this.parent.children.indexOf(this); + removed = this.parent.children.splice(i + 1); + child = this.parent.element(name, attributes, text); + Array.prototype.push.apply(this.parent.children, removed); + return child; + }; + XMLNode2.prototype.remove = function() { + var i, ref1; + if (this.isRoot) { + throw new Error("Cannot remove the root element. " + this.debugInfo()); + } + i = this.parent.children.indexOf(this); + [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref1 = [])), ref1; + return this.parent; + }; + XMLNode2.prototype.node = function(name, attributes, text) { + var child, ref1; + if (name != null) { + name = getValue(name); + } + attributes || (attributes = {}); + attributes = getValue(attributes); + if (!isObject4(attributes)) { + ref1 = [attributes, text], text = ref1[0], attributes = ref1[1]; + } + child = new XMLElement(this, name, attributes); + if (text != null) { + child.text(text); + } + this.children.push(child); + return child; + }; + XMLNode2.prototype.text = function(value) { + var child; + child = new XMLText(this, value); + this.children.push(child); + return this; + }; + XMLNode2.prototype.cdata = function(value) { + var child; + child = new XMLCData(this, value); + this.children.push(child); + return this; + }; + XMLNode2.prototype.comment = function(value) { + var child; + child = new XMLComment(this, value); + this.children.push(child); + return this; + }; + XMLNode2.prototype.commentBefore = function(value) { + var child, i, removed; + i = this.parent.children.indexOf(this); + removed = this.parent.children.splice(i); + child = this.parent.comment(value); + Array.prototype.push.apply(this.parent.children, removed); + return this; + }; + XMLNode2.prototype.commentAfter = function(value) { + var child, i, removed; + i = this.parent.children.indexOf(this); + removed = this.parent.children.splice(i + 1); + child = this.parent.comment(value); + Array.prototype.push.apply(this.parent.children, removed); + return this; + }; + XMLNode2.prototype.raw = function(value) { + var child; + child = new XMLRaw(this, value); + this.children.push(child); + return this; + }; + XMLNode2.prototype.dummy = function() { + var child; + child = new XMLDummy(this); + this.children.push(child); + return child; + }; + XMLNode2.prototype.instruction = function(target, value) { + var insTarget, insValue, instruction, j, len; + if (target != null) { + target = getValue(target); + } + if (value != null) { + value = getValue(value); + } + if (Array.isArray(target)) { + for (j = 0, len = target.length; j < len; j++) { + insTarget = target[j]; + this.instruction(insTarget); + } + } else if (isObject4(target)) { + for (insTarget in target) { + if (!hasProp.call(target, insTarget)) continue; + insValue = target[insTarget]; + this.instruction(insTarget, insValue); + } + } else { + if (isFunction2(value)) { + value = value.apply(); + } + instruction = new XMLProcessingInstruction(this, target, value); + this.children.push(instruction); + } + return this; + }; + XMLNode2.prototype.instructionBefore = function(target, value) { + var child, i, removed; + i = this.parent.children.indexOf(this); + removed = this.parent.children.splice(i); + child = this.parent.instruction(target, value); + Array.prototype.push.apply(this.parent.children, removed); + return this; + }; + XMLNode2.prototype.instructionAfter = function(target, value) { + var child, i, removed; + i = this.parent.children.indexOf(this); + removed = this.parent.children.splice(i + 1); + child = this.parent.instruction(target, value); + Array.prototype.push.apply(this.parent.children, removed); + return this; + }; + XMLNode2.prototype.declaration = function(version, encoding, standalone) { + var doc, xmldec; + doc = this.document(); + xmldec = new XMLDeclaration(doc, version, encoding, standalone); + if (doc.children[0] instanceof XMLDeclaration) { + doc.children[0] = xmldec; + } else { + doc.children.unshift(xmldec); + } + return doc.root() || doc; + }; + XMLNode2.prototype.doctype = function(pubID, sysID) { + var child, doc, doctype, i, j, k, len, len1, ref1, ref2; + doc = this.document(); + doctype = new XMLDocType(doc, pubID, sysID); + ref1 = doc.children; + for (i = j = 0, len = ref1.length; j < len; i = ++j) { + child = ref1[i]; + if (child instanceof XMLDocType) { + doc.children[i] = doctype; + return doctype; + } + } + ref2 = doc.children; + for (i = k = 0, len1 = ref2.length; k < len1; i = ++k) { + child = ref2[i]; + if (child.isRoot) { + doc.children.splice(i, 0, doctype); + return doctype; + } + } + doc.children.push(doctype); + return doctype; + }; + XMLNode2.prototype.up = function() { + if (this.isRoot) { + throw new Error("The root node has no parent. Use doc() if you need to get the document object."); + } + return this.parent; + }; + XMLNode2.prototype.root = function() { + var node; + node = this; + while (node) { + if (node.isDocument) { + return node.rootObject; + } else if (node.isRoot) { + return node; + } else { + node = node.parent; + } + } + }; + XMLNode2.prototype.document = function() { + var node; + node = this; + while (node) { + if (node.isDocument) { + return node; + } else { + node = node.parent; + } + } + }; + XMLNode2.prototype.end = function(options) { + return this.document().end(options); + }; + XMLNode2.prototype.prev = function() { + var i; + i = this.parent.children.indexOf(this); + while (i > 0 && this.parent.children[i - 1].isDummy) { + i = i - 1; + } + if (i < 1) { + throw new Error("Already at the first node. " + this.debugInfo()); + } + return this.parent.children[i - 1]; + }; + XMLNode2.prototype.next = function() { + var i; + i = this.parent.children.indexOf(this); + while (i < this.parent.children.length - 1 && this.parent.children[i + 1].isDummy) { + i = i + 1; + } + if (i === -1 || i === this.parent.children.length - 1) { + throw new Error("Already at the last node. " + this.debugInfo()); + } + return this.parent.children[i + 1]; + }; + XMLNode2.prototype.importDocument = function(doc) { + var clonedRoot; + clonedRoot = doc.root().clone(); + clonedRoot.parent = this; + clonedRoot.isRoot = false; + this.children.push(clonedRoot); + return this; + }; + XMLNode2.prototype.debugInfo = function(name) { + var ref1, ref2; + name = name || this.name; + if (name == null && !((ref1 = this.parent) != null ? ref1.name : void 0)) { + return ""; + } else if (name == null) { + return "parent: <" + this.parent.name + ">"; + } else if (!((ref2 = this.parent) != null ? ref2.name : void 0)) { + return "node: <" + name + ">"; + } else { + return "node: <" + name + ">, parent: <" + this.parent.name + ">"; + } + }; + XMLNode2.prototype.ele = function(name, attributes, text) { + return this.element(name, attributes, text); + }; + XMLNode2.prototype.nod = function(name, attributes, text) { + return this.node(name, attributes, text); + }; + XMLNode2.prototype.txt = function(value) { + return this.text(value); + }; + XMLNode2.prototype.dat = function(value) { + return this.cdata(value); + }; + XMLNode2.prototype.com = function(value) { + return this.comment(value); + }; + XMLNode2.prototype.ins = function(target, value) { + return this.instruction(target, value); + }; + XMLNode2.prototype.doc = function() { + return this.document(); + }; + XMLNode2.prototype.dec = function(version, encoding, standalone) { + return this.declaration(version, encoding, standalone); + }; + XMLNode2.prototype.dtd = function(pubID, sysID) { + return this.doctype(pubID, sysID); + }; + XMLNode2.prototype.e = function(name, attributes, text) { + return this.element(name, attributes, text); + }; + XMLNode2.prototype.n = function(name, attributes, text) { + return this.node(name, attributes, text); + }; + XMLNode2.prototype.t = function(value) { + return this.text(value); + }; + XMLNode2.prototype.d = function(value) { + return this.cdata(value); + }; + XMLNode2.prototype.c = function(value) { + return this.comment(value); + }; + XMLNode2.prototype.r = function(value) { + return this.raw(value); + }; + XMLNode2.prototype.i = function(target, value) { + return this.instruction(target, value); + }; + XMLNode2.prototype.u = function() { + return this.up(); + }; + XMLNode2.prototype.importXMLBuilder = function(doc) { + return this.importDocument(doc); + }; + return XMLNode2; + })(); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLStringifier.js +var require_XMLStringifier = __commonJS({ + "node_modules/xmlbuilder/lib/XMLStringifier.js"(exports2, module2) { + (function() { + var XMLStringifier, bind = function(fn, me) { + return function() { + return fn.apply(me, arguments); + }; + }, hasProp = {}.hasOwnProperty; + module2.exports = XMLStringifier = (function() { + function XMLStringifier2(options) { + this.assertLegalChar = bind(this.assertLegalChar, this); + var key, ref, value; + options || (options = {}); + this.noDoubleEncoding = options.noDoubleEncoding; + ref = options.stringify || {}; + for (key in ref) { + if (!hasProp.call(ref, key)) continue; + value = ref[key]; + this[key] = value; + } + } + XMLStringifier2.prototype.eleName = function(val) { + val = "" + val || ""; + return this.assertLegalChar(val); + }; + XMLStringifier2.prototype.eleText = function(val) { + val = "" + val || ""; + return this.assertLegalChar(this.elEscape(val)); + }; + XMLStringifier2.prototype.cdata = function(val) { + val = "" + val || ""; + val = val.replace("]]>", "]]]]>"); + return this.assertLegalChar(val); + }; + XMLStringifier2.prototype.comment = function(val) { + val = "" + val || ""; + if (val.match(/--/)) { + throw new Error("Comment text cannot contain double-hypen: " + val); + } + return this.assertLegalChar(val); + }; + XMLStringifier2.prototype.raw = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.attName = function(val) { + return val = "" + val || ""; + }; + XMLStringifier2.prototype.attValue = function(val) { + val = "" + val || ""; + return this.attEscape(val); + }; + XMLStringifier2.prototype.insTarget = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.insValue = function(val) { + val = "" + val || ""; + if (val.match(/\?>/)) { + throw new Error("Invalid processing instruction value: " + val); + } + return val; + }; + XMLStringifier2.prototype.xmlVersion = function(val) { + val = "" + val || ""; + if (!val.match(/1\.[0-9]+/)) { + throw new Error("Invalid version number: " + val); + } + return val; + }; + XMLStringifier2.prototype.xmlEncoding = function(val) { + val = "" + val || ""; + if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) { + throw new Error("Invalid encoding: " + val); + } + return val; + }; + XMLStringifier2.prototype.xmlStandalone = function(val) { + if (val) { + return "yes"; + } else { + return "no"; + } + }; + XMLStringifier2.prototype.dtdPubID = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.dtdSysID = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.dtdElementValue = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.dtdAttType = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.dtdAttDefault = function(val) { + if (val != null) { + return "" + val || ""; + } else { + return val; + } + }; + XMLStringifier2.prototype.dtdEntityValue = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.dtdNData = function(val) { + return "" + val || ""; + }; + XMLStringifier2.prototype.convertAttKey = "@"; + XMLStringifier2.prototype.convertPIKey = "?"; + XMLStringifier2.prototype.convertTextKey = "#text"; + XMLStringifier2.prototype.convertCDataKey = "#cdata"; + XMLStringifier2.prototype.convertCommentKey = "#comment"; + XMLStringifier2.prototype.convertRawKey = "#raw"; + XMLStringifier2.prototype.assertLegalChar = function(str) { + var res; + res = str.match(/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/); + if (res) { + throw new Error("Invalid character in string: " + str + " at index " + res.index); + } + return str; + }; + XMLStringifier2.prototype.elEscape = function(str) { + var ampregex; + ampregex = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g; + return str.replace(ampregex, "&").replace(//g, ">").replace(/\r/g, " "); + }; + XMLStringifier2.prototype.attEscape = function(str) { + var ampregex; + ampregex = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g; + return str.replace(ampregex, "&").replace(/ 0) { + return new Array(indent).join(this.indent); + } else { + return ""; + } + } else { + return ""; + } + }; + return XMLWriterBase2; + })(); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLStringWriter.js +var require_XMLStringWriter = __commonJS({ + "node_modules/xmlbuilder/lib/XMLStringWriter.js"(exports2, module2) { + (function() { + var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLText, XMLWriterBase, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLDeclaration = require_XMLDeclaration(); + XMLDocType = require_XMLDocType(); + XMLCData = require_XMLCData(); + XMLComment = require_XMLComment(); + XMLElement = require_XMLElement(); + XMLRaw = require_XMLRaw(); + XMLText = require_XMLText(); + XMLProcessingInstruction = require_XMLProcessingInstruction(); + XMLDummy = require_XMLDummy(); + XMLDTDAttList = require_XMLDTDAttList(); + XMLDTDElement = require_XMLDTDElement(); + XMLDTDEntity = require_XMLDTDEntity(); + XMLDTDNotation = require_XMLDTDNotation(); + XMLWriterBase = require_XMLWriterBase(); + module2.exports = XMLStringWriter = (function(superClass) { + extend2(XMLStringWriter2, superClass); + function XMLStringWriter2(options) { + XMLStringWriter2.__super__.constructor.call(this, options); + } + XMLStringWriter2.prototype.document = function(doc) { + var child, i, len, r, ref; + this.textispresent = false; + r = ""; + ref = doc.children; + for (i = 0, len = ref.length; i < len; i++) { + child = ref[i]; + if (child instanceof XMLDummy) { + continue; + } + r += (function() { + switch (false) { + case !(child instanceof XMLDeclaration): + return this.declaration(child); + case !(child instanceof XMLDocType): + return this.docType(child); + case !(child instanceof XMLComment): + return this.comment(child); + case !(child instanceof XMLProcessingInstruction): + return this.processingInstruction(child); + default: + return this.element(child, 0); + } + }).call(this); + } + if (this.pretty && r.slice(-this.newline.length) === this.newline) { + r = r.slice(0, -this.newline.length); + } + return r; + }; + XMLStringWriter2.prototype.attribute = function(att) { + return " " + att.name + '="' + att.value + '"'; + }; + XMLStringWriter2.prototype.cdata = function(node, level) { + return this.space(level) + "" + this.newline; + }; + XMLStringWriter2.prototype.comment = function(node, level) { + return this.space(level) + "" + this.newline; + }; + XMLStringWriter2.prototype.declaration = function(node, level) { + var r; + r = this.space(level); + r += '"; + r += this.newline; + return r; + }; + XMLStringWriter2.prototype.docType = function(node, level) { + var child, i, len, r, ref; + level || (level = 0); + r = this.space(level); + r += " 0) { + r += " ["; + r += this.newline; + ref = node.children; + for (i = 0, len = ref.length; i < len; i++) { + child = ref[i]; + r += (function() { + switch (false) { + case !(child instanceof XMLDTDAttList): + return this.dtdAttList(child, level + 1); + case !(child instanceof XMLDTDElement): + return this.dtdElement(child, level + 1); + case !(child instanceof XMLDTDEntity): + return this.dtdEntity(child, level + 1); + case !(child instanceof XMLDTDNotation): + return this.dtdNotation(child, level + 1); + case !(child instanceof XMLCData): + return this.cdata(child, level + 1); + case !(child instanceof XMLComment): + return this.comment(child, level + 1); + case !(child instanceof XMLProcessingInstruction): + return this.processingInstruction(child, level + 1); + default: + throw new Error("Unknown DTD node type: " + child.constructor.name); + } + }).call(this); + } + r += "]"; + } + r += this.spacebeforeslash + ">"; + r += this.newline; + return r; + }; + XMLStringWriter2.prototype.element = function(node, level) { + var att, child, i, j, len, len1, name, r, ref, ref1, ref2, space, textispresentwasset; + level || (level = 0); + textispresentwasset = false; + if (this.textispresent) { + this.newline = ""; + this.pretty = false; + } else { + this.newline = this.newlinedefault; + this.pretty = this.prettydefault; + } + space = this.space(level); + r = ""; + r += space + "<" + node.name; + ref = node.attributes; + for (name in ref) { + if (!hasProp.call(ref, name)) continue; + att = ref[name]; + r += this.attribute(att); + } + if (node.children.length === 0 || node.children.every(function(e) { + return e.value === ""; + })) { + if (this.allowEmpty) { + r += ">" + this.newline; + } else { + r += this.spacebeforeslash + "/>" + this.newline; + } + } else if (this.pretty && node.children.length === 1 && node.children[0].value != null) { + r += ">"; + r += node.children[0].value; + r += "" + this.newline; + } else { + if (this.dontprettytextnodes) { + ref1 = node.children; + for (i = 0, len = ref1.length; i < len; i++) { + child = ref1[i]; + if (child.value != null) { + this.textispresent++; + textispresentwasset = true; + break; + } + } + } + if (this.textispresent) { + this.newline = ""; + this.pretty = false; + space = this.space(level); + } + r += ">" + this.newline; + ref2 = node.children; + for (j = 0, len1 = ref2.length; j < len1; j++) { + child = ref2[j]; + r += (function() { + switch (false) { + case !(child instanceof XMLCData): + return this.cdata(child, level + 1); + case !(child instanceof XMLComment): + return this.comment(child, level + 1); + case !(child instanceof XMLElement): + return this.element(child, level + 1); + case !(child instanceof XMLRaw): + return this.raw(child, level + 1); + case !(child instanceof XMLText): + return this.text(child, level + 1); + case !(child instanceof XMLProcessingInstruction): + return this.processingInstruction(child, level + 1); + case !(child instanceof XMLDummy): + return ""; + default: + throw new Error("Unknown XML node type: " + child.constructor.name); + } + }).call(this); + } + if (textispresentwasset) { + this.textispresent--; + } + if (!this.textispresent) { + this.newline = this.newlinedefault; + this.pretty = this.prettydefault; + } + r += space + "" + this.newline; + } + return r; + }; + XMLStringWriter2.prototype.processingInstruction = function(node, level) { + var r; + r = this.space(level) + "" + this.newline; + return r; + }; + XMLStringWriter2.prototype.raw = function(node, level) { + return this.space(level) + node.value + this.newline; + }; + XMLStringWriter2.prototype.text = function(node, level) { + return this.space(level) + node.value + this.newline; + }; + XMLStringWriter2.prototype.dtdAttList = function(node, level) { + var r; + r = this.space(level) + "" + this.newline; + return r; + }; + XMLStringWriter2.prototype.dtdElement = function(node, level) { + return this.space(level) + "" + this.newline; + }; + XMLStringWriter2.prototype.dtdEntity = function(node, level) { + var r; + r = this.space(level) + "" + this.newline; + return r; + }; + XMLStringWriter2.prototype.dtdNotation = function(node, level) { + var r; + r = this.space(level) + "" + this.newline; + return r; + }; + XMLStringWriter2.prototype.openNode = function(node, level) { + var att, name, r, ref; + level || (level = 0); + if (node instanceof XMLElement) { + r = this.space(level) + "<" + node.name; + ref = node.attributes; + for (name in ref) { + if (!hasProp.call(ref, name)) continue; + att = ref[name]; + r += this.attribute(att); + } + r += (node.children ? ">" : "/>") + this.newline; + return r; + } else { + r = this.space(level) + "") + this.newline; + return r; + } + }; + XMLStringWriter2.prototype.closeNode = function(node, level) { + level || (level = 0); + switch (false) { + case !(node instanceof XMLElement): + return this.space(level) + "" + this.newline; + case !(node instanceof XMLDocType): + return this.space(level) + "]>" + this.newline; + } + }; + return XMLStringWriter2; + })(XMLWriterBase); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDocument.js +var require_XMLDocument = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDocument.js"(exports2, module2) { + (function() { + var XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + isPlainObject = require_Utility().isPlainObject; + XMLNode = require_XMLNode(); + XMLStringifier = require_XMLStringifier(); + XMLStringWriter = require_XMLStringWriter(); + module2.exports = XMLDocument = (function(superClass) { + extend2(XMLDocument2, superClass); + function XMLDocument2(options) { + XMLDocument2.__super__.constructor.call(this, null); + this.name = "?xml"; + options || (options = {}); + if (!options.writer) { + options.writer = new XMLStringWriter(); + } + this.options = options; + this.stringify = new XMLStringifier(options); + this.isDocument = true; + } + XMLDocument2.prototype.end = function(writer) { + var writerOptions; + if (!writer) { + writer = this.options.writer; + } else if (isPlainObject(writer)) { + writerOptions = writer; + writer = this.options.writer.set(writerOptions); + } + return writer.document(this); + }; + XMLDocument2.prototype.toString = function(options) { + return this.options.writer.set(options).document(this); + }; + return XMLDocument2; + })(XMLNode); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLDocumentCB.js +var require_XMLDocumentCB = __commonJS({ + "node_modules/xmlbuilder/lib/XMLDocumentCB.js"(exports2, module2) { + (function() { + var XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction2, isObject4, isPlainObject, ref, hasProp = {}.hasOwnProperty; + ref = require_Utility(), isObject4 = ref.isObject, isFunction2 = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue; + XMLElement = require_XMLElement(); + XMLCData = require_XMLCData(); + XMLComment = require_XMLComment(); + XMLRaw = require_XMLRaw(); + XMLText = require_XMLText(); + XMLProcessingInstruction = require_XMLProcessingInstruction(); + XMLDeclaration = require_XMLDeclaration(); + XMLDocType = require_XMLDocType(); + XMLDTDAttList = require_XMLDTDAttList(); + XMLDTDEntity = require_XMLDTDEntity(); + XMLDTDElement = require_XMLDTDElement(); + XMLDTDNotation = require_XMLDTDNotation(); + XMLAttribute = require_XMLAttribute(); + XMLStringifier = require_XMLStringifier(); + XMLStringWriter = require_XMLStringWriter(); + module2.exports = XMLDocumentCB = (function() { + function XMLDocumentCB2(options, onData, onEnd) { + var writerOptions; + this.name = "?xml"; + options || (options = {}); + if (!options.writer) { + options.writer = new XMLStringWriter(options); + } else if (isPlainObject(options.writer)) { + writerOptions = options.writer; + options.writer = new XMLStringWriter(writerOptions); + } + this.options = options; + this.writer = options.writer; + this.stringify = new XMLStringifier(options); + this.onDataCallback = onData || function() { + }; + this.onEndCallback = onEnd || function() { + }; + this.currentNode = null; + this.currentLevel = -1; + this.openTags = {}; + this.documentStarted = false; + this.documentCompleted = false; + this.root = null; + } + XMLDocumentCB2.prototype.node = function(name, attributes, text) { + var ref1, ref2; + if (name == null) { + throw new Error("Missing node name."); + } + if (this.root && this.currentLevel === -1) { + throw new Error("Document can only have one root node. " + this.debugInfo(name)); + } + this.openCurrent(); + name = getValue(name); + if (attributes === null && text == null) { + ref1 = [{}, null], attributes = ref1[0], text = ref1[1]; + } + if (attributes == null) { + attributes = {}; + } + attributes = getValue(attributes); + if (!isObject4(attributes)) { + ref2 = [attributes, text], text = ref2[0], attributes = ref2[1]; + } + this.currentNode = new XMLElement(this, name, attributes); + this.currentNode.children = false; + this.currentLevel++; + this.openTags[this.currentLevel] = this.currentNode; + if (text != null) { + this.text(text); + } + return this; + }; + XMLDocumentCB2.prototype.element = function(name, attributes, text) { + if (this.currentNode && this.currentNode instanceof XMLDocType) { + return this.dtdElement.apply(this, arguments); + } else { + return this.node(name, attributes, text); + } + }; + XMLDocumentCB2.prototype.attribute = function(name, value) { + var attName, attValue; + if (!this.currentNode || this.currentNode.children) { + throw new Error("att() can only be used immediately after an ele() call in callback mode. " + this.debugInfo(name)); + } + if (name != null) { + name = getValue(name); + } + if (isObject4(name)) { + for (attName in name) { + if (!hasProp.call(name, attName)) continue; + attValue = name[attName]; + this.attribute(attName, attValue); + } + } else { + if (isFunction2(value)) { + value = value.apply(); + } + if (!this.options.skipNullAttributes || value != null) { + this.currentNode.attributes[name] = new XMLAttribute(this, name, value); + } + } + return this; + }; + XMLDocumentCB2.prototype.text = function(value) { + var node; + this.openCurrent(); + node = new XMLText(this, value); + this.onData(this.writer.text(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.cdata = function(value) { + var node; + this.openCurrent(); + node = new XMLCData(this, value); + this.onData(this.writer.cdata(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.comment = function(value) { + var node; + this.openCurrent(); + node = new XMLComment(this, value); + this.onData(this.writer.comment(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.raw = function(value) { + var node; + this.openCurrent(); + node = new XMLRaw(this, value); + this.onData(this.writer.raw(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.instruction = function(target, value) { + var i, insTarget, insValue, len, node; + this.openCurrent(); + if (target != null) { + target = getValue(target); + } + if (value != null) { + value = getValue(value); + } + if (Array.isArray(target)) { + for (i = 0, len = target.length; i < len; i++) { + insTarget = target[i]; + this.instruction(insTarget); + } + } else if (isObject4(target)) { + for (insTarget in target) { + if (!hasProp.call(target, insTarget)) continue; + insValue = target[insTarget]; + this.instruction(insTarget, insValue); + } + } else { + if (isFunction2(value)) { + value = value.apply(); + } + node = new XMLProcessingInstruction(this, target, value); + this.onData(this.writer.processingInstruction(node, this.currentLevel + 1), this.currentLevel + 1); + } + return this; + }; + XMLDocumentCB2.prototype.declaration = function(version, encoding, standalone) { + var node; + this.openCurrent(); + if (this.documentStarted) { + throw new Error("declaration() must be the first node."); + } + node = new XMLDeclaration(this, version, encoding, standalone); + this.onData(this.writer.declaration(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.doctype = function(root3, pubID, sysID) { + this.openCurrent(); + if (root3 == null) { + throw new Error("Missing root node name."); + } + if (this.root) { + throw new Error("dtd() must come before the root node."); + } + this.currentNode = new XMLDocType(this, pubID, sysID); + this.currentNode.rootNodeName = root3; + this.currentNode.children = false; + this.currentLevel++; + this.openTags[this.currentLevel] = this.currentNode; + return this; + }; + XMLDocumentCB2.prototype.dtdElement = function(name, value) { + var node; + this.openCurrent(); + node = new XMLDTDElement(this, name, value); + this.onData(this.writer.dtdElement(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) { + var node; + this.openCurrent(); + node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue); + this.onData(this.writer.dtdAttList(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.entity = function(name, value) { + var node; + this.openCurrent(); + node = new XMLDTDEntity(this, false, name, value); + this.onData(this.writer.dtdEntity(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.pEntity = function(name, value) { + var node; + this.openCurrent(); + node = new XMLDTDEntity(this, true, name, value); + this.onData(this.writer.dtdEntity(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.notation = function(name, value) { + var node; + this.openCurrent(); + node = new XMLDTDNotation(this, name, value); + this.onData(this.writer.dtdNotation(node, this.currentLevel + 1), this.currentLevel + 1); + return this; + }; + XMLDocumentCB2.prototype.up = function() { + if (this.currentLevel < 0) { + throw new Error("The document node has no parent."); + } + if (this.currentNode) { + if (this.currentNode.children) { + this.closeNode(this.currentNode); + } else { + this.openNode(this.currentNode); + } + this.currentNode = null; + } else { + this.closeNode(this.openTags[this.currentLevel]); + } + delete this.openTags[this.currentLevel]; + this.currentLevel--; + return this; + }; + XMLDocumentCB2.prototype.end = function() { + while (this.currentLevel >= 0) { + this.up(); + } + return this.onEnd(); + }; + XMLDocumentCB2.prototype.openCurrent = function() { + if (this.currentNode) { + this.currentNode.children = true; + return this.openNode(this.currentNode); + } + }; + XMLDocumentCB2.prototype.openNode = function(node) { + if (!node.isOpen) { + if (!this.root && this.currentLevel === 0 && node instanceof XMLElement) { + this.root = node; + } + this.onData(this.writer.openNode(node, this.currentLevel), this.currentLevel); + return node.isOpen = true; + } + }; + XMLDocumentCB2.prototype.closeNode = function(node) { + if (!node.isClosed) { + this.onData(this.writer.closeNode(node, this.currentLevel), this.currentLevel); + return node.isClosed = true; + } + }; + XMLDocumentCB2.prototype.onData = function(chunk2, level) { + this.documentStarted = true; + return this.onDataCallback(chunk2, level + 1); + }; + XMLDocumentCB2.prototype.onEnd = function() { + this.documentCompleted = true; + return this.onEndCallback(); + }; + XMLDocumentCB2.prototype.debugInfo = function(name) { + if (name == null) { + return ""; + } else { + return "node: <" + name + ">"; + } + }; + XMLDocumentCB2.prototype.ele = function() { + return this.element.apply(this, arguments); + }; + XMLDocumentCB2.prototype.nod = function(name, attributes, text) { + return this.node(name, attributes, text); + }; + XMLDocumentCB2.prototype.txt = function(value) { + return this.text(value); + }; + XMLDocumentCB2.prototype.dat = function(value) { + return this.cdata(value); + }; + XMLDocumentCB2.prototype.com = function(value) { + return this.comment(value); + }; + XMLDocumentCB2.prototype.ins = function(target, value) { + return this.instruction(target, value); + }; + XMLDocumentCB2.prototype.dec = function(version, encoding, standalone) { + return this.declaration(version, encoding, standalone); + }; + XMLDocumentCB2.prototype.dtd = function(root3, pubID, sysID) { + return this.doctype(root3, pubID, sysID); + }; + XMLDocumentCB2.prototype.e = function(name, attributes, text) { + return this.element(name, attributes, text); + }; + XMLDocumentCB2.prototype.n = function(name, attributes, text) { + return this.node(name, attributes, text); + }; + XMLDocumentCB2.prototype.t = function(value) { + return this.text(value); + }; + XMLDocumentCB2.prototype.d = function(value) { + return this.cdata(value); + }; + XMLDocumentCB2.prototype.c = function(value) { + return this.comment(value); + }; + XMLDocumentCB2.prototype.r = function(value) { + return this.raw(value); + }; + XMLDocumentCB2.prototype.i = function(target, value) { + return this.instruction(target, value); + }; + XMLDocumentCB2.prototype.att = function() { + if (this.currentNode && this.currentNode instanceof XMLDocType) { + return this.attList.apply(this, arguments); + } else { + return this.attribute.apply(this, arguments); + } + }; + XMLDocumentCB2.prototype.a = function() { + if (this.currentNode && this.currentNode instanceof XMLDocType) { + return this.attList.apply(this, arguments); + } else { + return this.attribute.apply(this, arguments); + } + }; + XMLDocumentCB2.prototype.ent = function(name, value) { + return this.entity(name, value); + }; + XMLDocumentCB2.prototype.pent = function(name, value) { + return this.pEntity(name, value); + }; + XMLDocumentCB2.prototype.not = function(name, value) { + return this.notation(name, value); + }; + return XMLDocumentCB2; + })(); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/XMLStreamWriter.js +var require_XMLStreamWriter = __commonJS({ + "node_modules/xmlbuilder/lib/XMLStreamWriter.js"(exports2, module2) { + (function() { + var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStreamWriter, XMLText, XMLWriterBase, extend2 = function(child, parent) { + for (var key in parent) { + if (hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor2() { + this.constructor = child; + } + ctor2.prototype = parent.prototype; + child.prototype = new ctor2(); + child.__super__ = parent.prototype; + return child; + }, hasProp = {}.hasOwnProperty; + XMLDeclaration = require_XMLDeclaration(); + XMLDocType = require_XMLDocType(); + XMLCData = require_XMLCData(); + XMLComment = require_XMLComment(); + XMLElement = require_XMLElement(); + XMLRaw = require_XMLRaw(); + XMLText = require_XMLText(); + XMLProcessingInstruction = require_XMLProcessingInstruction(); + XMLDummy = require_XMLDummy(); + XMLDTDAttList = require_XMLDTDAttList(); + XMLDTDElement = require_XMLDTDElement(); + XMLDTDEntity = require_XMLDTDEntity(); + XMLDTDNotation = require_XMLDTDNotation(); + XMLWriterBase = require_XMLWriterBase(); + module2.exports = XMLStreamWriter = (function(superClass) { + extend2(XMLStreamWriter2, superClass); + function XMLStreamWriter2(stream, options) { + XMLStreamWriter2.__super__.constructor.call(this, options); + this.stream = stream; + } + XMLStreamWriter2.prototype.document = function(doc) { + var child, i, j, len, len1, ref, ref1, results; + ref = doc.children; + for (i = 0, len = ref.length; i < len; i++) { + child = ref[i]; + child.isLastRootNode = false; + } + doc.children[doc.children.length - 1].isLastRootNode = true; + ref1 = doc.children; + results = []; + for (j = 0, len1 = ref1.length; j < len1; j++) { + child = ref1[j]; + if (child instanceof XMLDummy) { + continue; + } + switch (false) { + case !(child instanceof XMLDeclaration): + results.push(this.declaration(child)); + break; + case !(child instanceof XMLDocType): + results.push(this.docType(child)); + break; + case !(child instanceof XMLComment): + results.push(this.comment(child)); + break; + case !(child instanceof XMLProcessingInstruction): + results.push(this.processingInstruction(child)); + break; + default: + results.push(this.element(child)); + } + } + return results; + }; + XMLStreamWriter2.prototype.attribute = function(att) { + return this.stream.write(" " + att.name + '="' + att.value + '"'); + }; + XMLStreamWriter2.prototype.cdata = function(node, level) { + return this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.comment = function(node, level) { + return this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.declaration = function(node, level) { + this.stream.write(this.space(level)); + this.stream.write('"); + return this.stream.write(this.endline(node)); + }; + XMLStreamWriter2.prototype.docType = function(node, level) { + var child, i, len, ref; + level || (level = 0); + this.stream.write(this.space(level)); + this.stream.write(" 0) { + this.stream.write(" ["); + this.stream.write(this.endline(node)); + ref = node.children; + for (i = 0, len = ref.length; i < len; i++) { + child = ref[i]; + switch (false) { + case !(child instanceof XMLDTDAttList): + this.dtdAttList(child, level + 1); + break; + case !(child instanceof XMLDTDElement): + this.dtdElement(child, level + 1); + break; + case !(child instanceof XMLDTDEntity): + this.dtdEntity(child, level + 1); + break; + case !(child instanceof XMLDTDNotation): + this.dtdNotation(child, level + 1); + break; + case !(child instanceof XMLCData): + this.cdata(child, level + 1); + break; + case !(child instanceof XMLComment): + this.comment(child, level + 1); + break; + case !(child instanceof XMLProcessingInstruction): + this.processingInstruction(child, level + 1); + break; + default: + throw new Error("Unknown DTD node type: " + child.constructor.name); + } + } + this.stream.write("]"); + } + this.stream.write(this.spacebeforeslash + ">"); + return this.stream.write(this.endline(node)); + }; + XMLStreamWriter2.prototype.element = function(node, level) { + var att, child, i, len, name, ref, ref1, space; + level || (level = 0); + space = this.space(level); + this.stream.write(space + "<" + node.name); + ref = node.attributes; + for (name in ref) { + if (!hasProp.call(ref, name)) continue; + att = ref[name]; + this.attribute(att); + } + if (node.children.length === 0 || node.children.every(function(e) { + return e.value === ""; + })) { + if (this.allowEmpty) { + this.stream.write(">"); + } else { + this.stream.write(this.spacebeforeslash + "/>"); + } + } else if (this.pretty && node.children.length === 1 && node.children[0].value != null) { + this.stream.write(">"); + this.stream.write(node.children[0].value); + this.stream.write(""); + } else { + this.stream.write(">" + this.newline); + ref1 = node.children; + for (i = 0, len = ref1.length; i < len; i++) { + child = ref1[i]; + switch (false) { + case !(child instanceof XMLCData): + this.cdata(child, level + 1); + break; + case !(child instanceof XMLComment): + this.comment(child, level + 1); + break; + case !(child instanceof XMLElement): + this.element(child, level + 1); + break; + case !(child instanceof XMLRaw): + this.raw(child, level + 1); + break; + case !(child instanceof XMLText): + this.text(child, level + 1); + break; + case !(child instanceof XMLProcessingInstruction): + this.processingInstruction(child, level + 1); + break; + case !(child instanceof XMLDummy): + ""; + break; + default: + throw new Error("Unknown XML node type: " + child.constructor.name); + } + } + this.stream.write(space + ""); + } + return this.stream.write(this.endline(node)); + }; + XMLStreamWriter2.prototype.processingInstruction = function(node, level) { + this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.raw = function(node, level) { + return this.stream.write(this.space(level) + node.value + this.endline(node)); + }; + XMLStreamWriter2.prototype.text = function(node, level) { + return this.stream.write(this.space(level) + node.value + this.endline(node)); + }; + XMLStreamWriter2.prototype.dtdAttList = function(node, level) { + this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.dtdElement = function(node, level) { + this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.dtdEntity = function(node, level) { + this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.dtdNotation = function(node, level) { + this.stream.write(this.space(level) + "" + this.endline(node)); + }; + XMLStreamWriter2.prototype.endline = function(node) { + if (!node.isLastRootNode) { + return this.newline; + } else { + return ""; + } + }; + return XMLStreamWriter2; + })(XMLWriterBase); + }).call(exports2); + } +}); + +// node_modules/xmlbuilder/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/xmlbuilder/lib/index.js"(exports2, module2) { + (function() { + var XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction2, ref; + ref = require_Utility(), assign = ref.assign, isFunction2 = ref.isFunction; + XMLDocument = require_XMLDocument(); + XMLDocumentCB = require_XMLDocumentCB(); + XMLStringWriter = require_XMLStringWriter(); + XMLStreamWriter = require_XMLStreamWriter(); + module2.exports.create = function(name, xmldec, doctype, options) { + var doc, root3; + if (name == null) { + throw new Error("Root element needs a name."); + } + options = assign({}, xmldec, doctype, options); + doc = new XMLDocument(options); + root3 = doc.element(name); + if (!options.headless) { + doc.declaration(options); + if (options.pubID != null || options.sysID != null) { + doc.doctype(options); + } + } + return root3; + }; + module2.exports.begin = function(options, onData, onEnd) { + var ref1; + if (isFunction2(options)) { + ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1]; + options = {}; + } + if (onData) { + return new XMLDocumentCB(options, onData, onEnd); + } else { + return new XMLDocument(options); + } + }; + module2.exports.stringWriter = function(options) { + return new XMLStringWriter(options); + }; + module2.exports.streamWriter = function(stream, options) { + return new XMLStreamWriter(stream, options); + }; + }).call(exports2); + } +}); + +// node_modules/mammoth/lib/xml/writer.js +var require_writer = __commonJS({ + "node_modules/mammoth/lib/xml/writer.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var xmlbuilder = require_lib2(); + exports2.writeString = writeString; + function writeString(root3, namespaces) { + var uriToPrefix = _3.invert(namespaces); + var nodeWriters = { + element: writeElement, + text: writeTextNode + }; + function writeNode(builder, node) { + return nodeWriters[node.type](builder, node); + } + function writeElement(builder, element) { + var elementBuilder = builder.element(mapElementName(element.name), element.attributes); + element.children.forEach(function(child) { + writeNode(elementBuilder, child); + }); + } + function mapElementName(name) { + var longFormMatch = /^\{(.*)\}(.*)$/.exec(name); + if (longFormMatch) { + var prefix = uriToPrefix[longFormMatch[1]]; + return prefix + (prefix === "" ? "" : ":") + longFormMatch[2]; + } else { + return name; + } + } + function writeDocument(root4) { + var builder = xmlbuilder.create(mapElementName(root4.name), { + version: "1.0", + encoding: "UTF-8", + standalone: true + }); + _3.forEach(namespaces, function(uri, prefix) { + var key = "xmlns" + (prefix === "" ? "" : ":" + prefix); + builder.attribute(key, uri); + }); + root4.children.forEach(function(child) { + writeNode(builder, child); + }); + return builder.end(); + } + return writeDocument(root3); + } + function writeTextNode(builder, node) { + builder.text(node.value); + } + } +}); + +// node_modules/mammoth/lib/xml/index.js +var require_xml = __commonJS({ + "node_modules/mammoth/lib/xml/index.js"(exports2) { + var nodes = require_nodes(); + exports2.Element = nodes.Element; + exports2.element = nodes.element; + exports2.text = nodes.text; + exports2.readString = require_reader().readString; + exports2.writeString = require_writer().writeString; + } +}); + +// node_modules/mammoth/lib/docx/office-xml-reader.js +var require_office_xml_reader = __commonJS({ + "node_modules/mammoth/lib/docx/office-xml-reader.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var promises = require_promises(); + var xml = require_xml(); + exports2.read = read; + exports2.readXmlFromZipFile = readXmlFromZipFile; + var xmlNamespaceMap = { + // Transitional format + "http://schemas.openxmlformats.org/wordprocessingml/2006/main": "w", + "http://schemas.openxmlformats.org/officeDocument/2006/relationships": "r", + "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing": "wp", + "http://schemas.openxmlformats.org/drawingml/2006/main": "a", + "http://schemas.openxmlformats.org/drawingml/2006/picture": "pic", + // Strict format + "http://purl.oclc.org/ooxml/wordprocessingml/main": "w", + "http://purl.oclc.org/ooxml/officeDocument/relationships": "r", + "http://purl.oclc.org/ooxml/drawingml/wordprocessingDrawing": "wp", + "http://purl.oclc.org/ooxml/drawingml/main": "a", + "http://purl.oclc.org/ooxml/drawingml/picture": "pic", + // Common + "http://schemas.openxmlformats.org/package/2006/content-types": "content-types", + "http://schemas.openxmlformats.org/package/2006/relationships": "relationships", + "http://schemas.openxmlformats.org/markup-compatibility/2006": "mc", + "urn:schemas-microsoft-com:vml": "v", + "urn:schemas-microsoft-com:office:word": "office-word" + }; + function read(xmlString) { + return xml.readString(xmlString, xmlNamespaceMap).then(function(document2) { + return collapseAlternateContent(document2)[0]; + }); + } + function readXmlFromZipFile(docxFile, path) { + if (docxFile.exists(path)) { + return docxFile.read(path, "utf-8").then(stripUtf8Bom).then(read); + } else { + return promises.resolve(null); + } + } + function stripUtf8Bom(xmlString) { + return xmlString.replace(/^\uFEFF/g, ""); + } + function collapseAlternateContent(node) { + if (node.type === "element") { + if (node.name === "mc:AlternateContent") { + return node.first("mc:Fallback").children; + } else { + node.children = _3.flatten(node.children.map(collapseAlternateContent, true)); + return [node]; + } + } else { + return [node]; + } + } + } +}); + +// node_modules/dingbat-to-unicode/dist/dingbats.js +var require_dingbats = __commonJS({ + "node_modules/dingbat-to-unicode/dist/dingbats.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + var dingbats = [ + { "Typeface name": "Symbol", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, + { "Typeface name": "Symbol", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "33", "Unicode hex": "21" }, + { "Typeface name": "Symbol", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "8704", "Unicode hex": "2200" }, + { "Typeface name": "Symbol", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "35", "Unicode hex": "23" }, + { "Typeface name": "Symbol", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "8707", "Unicode hex": "2203" }, + { "Typeface name": "Symbol", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "37", "Unicode hex": "25" }, + { "Typeface name": "Symbol", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "38", "Unicode hex": "26" }, + { "Typeface name": "Symbol", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "8717", "Unicode hex": "220D" }, + { "Typeface name": "Symbol", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "40", "Unicode hex": "28" }, + { "Typeface name": "Symbol", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "41", "Unicode hex": "29" }, + { "Typeface name": "Symbol", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "42", "Unicode hex": "2A" }, + { "Typeface name": "Symbol", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "43", "Unicode hex": "2B" }, + { "Typeface name": "Symbol", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "44", "Unicode hex": "2C" }, + { "Typeface name": "Symbol", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "8722", "Unicode hex": "2212" }, + { "Typeface name": "Symbol", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "46", "Unicode hex": "2E" }, + { "Typeface name": "Symbol", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "47", "Unicode hex": "2F" }, + { "Typeface name": "Symbol", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "48", "Unicode hex": "30" }, + { "Typeface name": "Symbol", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "49", "Unicode hex": "31" }, + { "Typeface name": "Symbol", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "50", "Unicode hex": "32" }, + { "Typeface name": "Symbol", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "51", "Unicode hex": "33" }, + { "Typeface name": "Symbol", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "52", "Unicode hex": "34" }, + { "Typeface name": "Symbol", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "53", "Unicode hex": "35" }, + { "Typeface name": "Symbol", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "54", "Unicode hex": "36" }, + { "Typeface name": "Symbol", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "55", "Unicode hex": "37" }, + { "Typeface name": "Symbol", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "56", "Unicode hex": "38" }, + { "Typeface name": "Symbol", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "57", "Unicode hex": "39" }, + { "Typeface name": "Symbol", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "58", "Unicode hex": "3A" }, + { "Typeface name": "Symbol", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "59", "Unicode hex": "3B" }, + { "Typeface name": "Symbol", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "60", "Unicode hex": "3C" }, + { "Typeface name": "Symbol", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "61", "Unicode hex": "3D" }, + { "Typeface name": "Symbol", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "62", "Unicode hex": "3E" }, + { "Typeface name": "Symbol", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "63", "Unicode hex": "3F" }, + { "Typeface name": "Symbol", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "8773", "Unicode hex": "2245" }, + { "Typeface name": "Symbol", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "913", "Unicode hex": "391" }, + { "Typeface name": "Symbol", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "914", "Unicode hex": "392" }, + { "Typeface name": "Symbol", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "935", "Unicode hex": "3A7" }, + { "Typeface name": "Symbol", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "916", "Unicode hex": "394" }, + { "Typeface name": "Symbol", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "917", "Unicode hex": "395" }, + { "Typeface name": "Symbol", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "934", "Unicode hex": "3A6" }, + { "Typeface name": "Symbol", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "915", "Unicode hex": "393" }, + { "Typeface name": "Symbol", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "919", "Unicode hex": "397" }, + { "Typeface name": "Symbol", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "921", "Unicode hex": "399" }, + { "Typeface name": "Symbol", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "977", "Unicode hex": "3D1" }, + { "Typeface name": "Symbol", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "922", "Unicode hex": "39A" }, + { "Typeface name": "Symbol", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "923", "Unicode hex": "39B" }, + { "Typeface name": "Symbol", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "924", "Unicode hex": "39C" }, + { "Typeface name": "Symbol", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "925", "Unicode hex": "39D" }, + { "Typeface name": "Symbol", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "927", "Unicode hex": "39F" }, + { "Typeface name": "Symbol", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "928", "Unicode hex": "3A0" }, + { "Typeface name": "Symbol", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "920", "Unicode hex": "398" }, + { "Typeface name": "Symbol", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "929", "Unicode hex": "3A1" }, + { "Typeface name": "Symbol", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "931", "Unicode hex": "3A3" }, + { "Typeface name": "Symbol", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "932", "Unicode hex": "3A4" }, + { "Typeface name": "Symbol", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "933", "Unicode hex": "3A5" }, + { "Typeface name": "Symbol", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "962", "Unicode hex": "3C2" }, + { "Typeface name": "Symbol", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "937", "Unicode hex": "3A9" }, + { "Typeface name": "Symbol", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "926", "Unicode hex": "39E" }, + { "Typeface name": "Symbol", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "936", "Unicode hex": "3A8" }, + { "Typeface name": "Symbol", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "918", "Unicode hex": "396" }, + { "Typeface name": "Symbol", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "91", "Unicode hex": "5B" }, + { "Typeface name": "Symbol", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "8756", "Unicode hex": "2234" }, + { "Typeface name": "Symbol", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "93", "Unicode hex": "5D" }, + { "Typeface name": "Symbol", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "8869", "Unicode hex": "22A5" }, + { "Typeface name": "Symbol", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "95", "Unicode hex": "5F" }, + { "Typeface name": "Symbol", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "8254", "Unicode hex": "203E" }, + { "Typeface name": "Symbol", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "945", "Unicode hex": "3B1" }, + { "Typeface name": "Symbol", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "946", "Unicode hex": "3B2" }, + { "Typeface name": "Symbol", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "967", "Unicode hex": "3C7" }, + { "Typeface name": "Symbol", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "948", "Unicode hex": "3B4" }, + { "Typeface name": "Symbol", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "949", "Unicode hex": "3B5" }, + { "Typeface name": "Symbol", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "966", "Unicode hex": "3C6" }, + { "Typeface name": "Symbol", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "947", "Unicode hex": "3B3" }, + { "Typeface name": "Symbol", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "951", "Unicode hex": "3B7" }, + { "Typeface name": "Symbol", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "953", "Unicode hex": "3B9" }, + { "Typeface name": "Symbol", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "981", "Unicode hex": "3D5" }, + { "Typeface name": "Symbol", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "954", "Unicode hex": "3BA" }, + { "Typeface name": "Symbol", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "955", "Unicode hex": "3BB" }, + { "Typeface name": "Symbol", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "956", "Unicode hex": "3BC" }, + { "Typeface name": "Symbol", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "957", "Unicode hex": "3BD" }, + { "Typeface name": "Symbol", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "959", "Unicode hex": "3BF" }, + { "Typeface name": "Symbol", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "960", "Unicode hex": "3C0" }, + { "Typeface name": "Symbol", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "952", "Unicode hex": "3B8" }, + { "Typeface name": "Symbol", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "961", "Unicode hex": "3C1" }, + { "Typeface name": "Symbol", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "963", "Unicode hex": "3C3" }, + { "Typeface name": "Symbol", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "964", "Unicode hex": "3C4" }, + { "Typeface name": "Symbol", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "965", "Unicode hex": "3C5" }, + { "Typeface name": "Symbol", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "982", "Unicode hex": "3D6" }, + { "Typeface name": "Symbol", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "969", "Unicode hex": "3C9" }, + { "Typeface name": "Symbol", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "958", "Unicode hex": "3BE" }, + { "Typeface name": "Symbol", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "968", "Unicode hex": "3C8" }, + { "Typeface name": "Symbol", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "950", "Unicode hex": "3B6" }, + { "Typeface name": "Symbol", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "123", "Unicode hex": "7B" }, + { "Typeface name": "Symbol", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "124", "Unicode hex": "7C" }, + { "Typeface name": "Symbol", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "125", "Unicode hex": "7D" }, + { "Typeface name": "Symbol", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "126", "Unicode hex": "7E" }, + { "Typeface name": "Symbol", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "8364", "Unicode hex": "20AC" }, + { "Typeface name": "Symbol", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "978", "Unicode hex": "3D2" }, + { "Typeface name": "Symbol", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "8242", "Unicode hex": "2032" }, + { "Typeface name": "Symbol", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "8804", "Unicode hex": "2264" }, + { "Typeface name": "Symbol", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "8260", "Unicode hex": "2044" }, + { "Typeface name": "Symbol", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "8734", "Unicode hex": "221E" }, + { "Typeface name": "Symbol", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "402", "Unicode hex": "192" }, + { "Typeface name": "Symbol", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "9827", "Unicode hex": "2663" }, + { "Typeface name": "Symbol", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "9830", "Unicode hex": "2666" }, + { "Typeface name": "Symbol", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "9829", "Unicode hex": "2665" }, + { "Typeface name": "Symbol", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "9824", "Unicode hex": "2660" }, + { "Typeface name": "Symbol", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "8596", "Unicode hex": "2194" }, + { "Typeface name": "Symbol", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "8592", "Unicode hex": "2190" }, + { "Typeface name": "Symbol", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "8593", "Unicode hex": "2191" }, + { "Typeface name": "Symbol", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "8594", "Unicode hex": "2192" }, + { "Typeface name": "Symbol", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "8595", "Unicode hex": "2193" }, + { "Typeface name": "Symbol", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "176", "Unicode hex": "B0" }, + { "Typeface name": "Symbol", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "177", "Unicode hex": "B1" }, + { "Typeface name": "Symbol", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "8243", "Unicode hex": "2033" }, + { "Typeface name": "Symbol", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "8805", "Unicode hex": "2265" }, + { "Typeface name": "Symbol", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "215", "Unicode hex": "D7" }, + { "Typeface name": "Symbol", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "8733", "Unicode hex": "221D" }, + { "Typeface name": "Symbol", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "8706", "Unicode hex": "2202" }, + { "Typeface name": "Symbol", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "8226", "Unicode hex": "2022" }, + { "Typeface name": "Symbol", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "247", "Unicode hex": "F7" }, + { "Typeface name": "Symbol", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "8800", "Unicode hex": "2260" }, + { "Typeface name": "Symbol", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "8801", "Unicode hex": "2261" }, + { "Typeface name": "Symbol", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "8776", "Unicode hex": "2248" }, + { "Typeface name": "Symbol", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "8230", "Unicode hex": "2026" }, + { "Typeface name": "Symbol", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "9168", "Unicode hex": "23D0" }, + { "Typeface name": "Symbol", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "9135", "Unicode hex": "23AF" }, + { "Typeface name": "Symbol", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "8629", "Unicode hex": "21B5" }, + { "Typeface name": "Symbol", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "8501", "Unicode hex": "2135" }, + { "Typeface name": "Symbol", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "8465", "Unicode hex": "2111" }, + { "Typeface name": "Symbol", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "8476", "Unicode hex": "211C" }, + { "Typeface name": "Symbol", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "8472", "Unicode hex": "2118" }, + { "Typeface name": "Symbol", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "8855", "Unicode hex": "2297" }, + { "Typeface name": "Symbol", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "8853", "Unicode hex": "2295" }, + { "Typeface name": "Symbol", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "8709", "Unicode hex": "2205" }, + { "Typeface name": "Symbol", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "8745", "Unicode hex": "2229" }, + { "Typeface name": "Symbol", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "8746", "Unicode hex": "222A" }, + { "Typeface name": "Symbol", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "8835", "Unicode hex": "2283" }, + { "Typeface name": "Symbol", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "8839", "Unicode hex": "2287" }, + { "Typeface name": "Symbol", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "8836", "Unicode hex": "2284" }, + { "Typeface name": "Symbol", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "8834", "Unicode hex": "2282" }, + { "Typeface name": "Symbol", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "8838", "Unicode hex": "2286" }, + { "Typeface name": "Symbol", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "8712", "Unicode hex": "2208" }, + { "Typeface name": "Symbol", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "8713", "Unicode hex": "2209" }, + { "Typeface name": "Symbol", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "8736", "Unicode hex": "2220" }, + { "Typeface name": "Symbol", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "8711", "Unicode hex": "2207" }, + { "Typeface name": "Symbol", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "174", "Unicode hex": "AE" }, + { "Typeface name": "Symbol", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "169", "Unicode hex": "A9" }, + { "Typeface name": "Symbol", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "8482", "Unicode hex": "2122" }, + { "Typeface name": "Symbol", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "8719", "Unicode hex": "220F" }, + { "Typeface name": "Symbol", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "8730", "Unicode hex": "221A" }, + { "Typeface name": "Symbol", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "8901", "Unicode hex": "22C5" }, + { "Typeface name": "Symbol", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "172", "Unicode hex": "AC" }, + { "Typeface name": "Symbol", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "8743", "Unicode hex": "2227" }, + { "Typeface name": "Symbol", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "8744", "Unicode hex": "2228" }, + { "Typeface name": "Symbol", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "8660", "Unicode hex": "21D4" }, + { "Typeface name": "Symbol", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "8656", "Unicode hex": "21D0" }, + { "Typeface name": "Symbol", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "8657", "Unicode hex": "21D1" }, + { "Typeface name": "Symbol", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "8658", "Unicode hex": "21D2" }, + { "Typeface name": "Symbol", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "8659", "Unicode hex": "21D3" }, + { "Typeface name": "Symbol", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "9674", "Unicode hex": "25CA" }, + { "Typeface name": "Symbol", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "12296", "Unicode hex": "3008" }, + { "Typeface name": "Symbol", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "174", "Unicode hex": "AE" }, + { "Typeface name": "Symbol", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "169", "Unicode hex": "A9" }, + { "Typeface name": "Symbol", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "8482", "Unicode hex": "2122" }, + { "Typeface name": "Symbol", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "8721", "Unicode hex": "2211" }, + { "Typeface name": "Symbol", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "9115", "Unicode hex": "239B" }, + { "Typeface name": "Symbol", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "9116", "Unicode hex": "239C" }, + { "Typeface name": "Symbol", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "9117", "Unicode hex": "239D" }, + { "Typeface name": "Symbol", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "9121", "Unicode hex": "23A1" }, + { "Typeface name": "Symbol", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "9122", "Unicode hex": "23A2" }, + { "Typeface name": "Symbol", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "9123", "Unicode hex": "23A3" }, + { "Typeface name": "Symbol", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "9127", "Unicode hex": "23A7" }, + { "Typeface name": "Symbol", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "9128", "Unicode hex": "23A8" }, + { "Typeface name": "Symbol", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "9129", "Unicode hex": "23A9" }, + { "Typeface name": "Symbol", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "9130", "Unicode hex": "23AA" }, + { "Typeface name": "Symbol", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "63743", "Unicode hex": "F8FF" }, + { "Typeface name": "Symbol", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "12297", "Unicode hex": "3009" }, + { "Typeface name": "Symbol", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "8747", "Unicode hex": "222B" }, + { "Typeface name": "Symbol", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "8992", "Unicode hex": "2320" }, + { "Typeface name": "Symbol", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "9134", "Unicode hex": "23AE" }, + { "Typeface name": "Symbol", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "8993", "Unicode hex": "2321" }, + { "Typeface name": "Symbol", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "9118", "Unicode hex": "239E" }, + { "Typeface name": "Symbol", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "9119", "Unicode hex": "239F" }, + { "Typeface name": "Symbol", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "9120", "Unicode hex": "23A0" }, + { "Typeface name": "Symbol", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "9124", "Unicode hex": "23A4" }, + { "Typeface name": "Symbol", "Dingbat dec": "250", "Dingbat hex": "FA", "Unicode dec": "9125", "Unicode hex": "23A5" }, + { "Typeface name": "Symbol", "Dingbat dec": "251", "Dingbat hex": "FB", "Unicode dec": "9126", "Unicode hex": "23A6" }, + { "Typeface name": "Symbol", "Dingbat dec": "252", "Dingbat hex": "FC", "Unicode dec": "9131", "Unicode hex": "23AB" }, + { "Typeface name": "Symbol", "Dingbat dec": "253", "Dingbat hex": "FD", "Unicode dec": "9132", "Unicode hex": "23AC" }, + { "Typeface name": "Symbol", "Dingbat dec": "254", "Dingbat hex": "FE", "Unicode dec": "9133", "Unicode hex": "23AD" }, + { "Typeface name": "Webdings", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, + { "Typeface name": "Webdings", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "128375", "Unicode hex": "1F577" }, + { "Typeface name": "Webdings", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "128376", "Unicode hex": "1F578" }, + { "Typeface name": "Webdings", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "128370", "Unicode hex": "1F572" }, + { "Typeface name": "Webdings", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "128374", "Unicode hex": "1F576" }, + { "Typeface name": "Webdings", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "127942", "Unicode hex": "1F3C6" }, + { "Typeface name": "Webdings", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "127894", "Unicode hex": "1F396" }, + { "Typeface name": "Webdings", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "128391", "Unicode hex": "1F587" }, + { "Typeface name": "Webdings", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "128488", "Unicode hex": "1F5E8" }, + { "Typeface name": "Webdings", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "128489", "Unicode hex": "1F5E9" }, + { "Typeface name": "Webdings", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "128496", "Unicode hex": "1F5F0" }, + { "Typeface name": "Webdings", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "128497", "Unicode hex": "1F5F1" }, + { "Typeface name": "Webdings", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "127798", "Unicode hex": "1F336" }, + { "Typeface name": "Webdings", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "127895", "Unicode hex": "1F397" }, + { "Typeface name": "Webdings", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "128638", "Unicode hex": "1F67E" }, + { "Typeface name": "Webdings", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "128636", "Unicode hex": "1F67C" }, + { "Typeface name": "Webdings", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "128469", "Unicode hex": "1F5D5" }, + { "Typeface name": "Webdings", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "128470", "Unicode hex": "1F5D6" }, + { "Typeface name": "Webdings", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "128471", "Unicode hex": "1F5D7" }, + { "Typeface name": "Webdings", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "9204", "Unicode hex": "23F4" }, + { "Typeface name": "Webdings", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "9205", "Unicode hex": "23F5" }, + { "Typeface name": "Webdings", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "9206", "Unicode hex": "23F6" }, + { "Typeface name": "Webdings", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "9207", "Unicode hex": "23F7" }, + { "Typeface name": "Webdings", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "9194", "Unicode hex": "23EA" }, + { "Typeface name": "Webdings", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "9193", "Unicode hex": "23E9" }, + { "Typeface name": "Webdings", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "9198", "Unicode hex": "23EE" }, + { "Typeface name": "Webdings", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "9197", "Unicode hex": "23ED" }, + { "Typeface name": "Webdings", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "9208", "Unicode hex": "23F8" }, + { "Typeface name": "Webdings", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "9209", "Unicode hex": "23F9" }, + { "Typeface name": "Webdings", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "9210", "Unicode hex": "23FA" }, + { "Typeface name": "Webdings", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "128474", "Unicode hex": "1F5DA" }, + { "Typeface name": "Webdings", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "128499", "Unicode hex": "1F5F3" }, + { "Typeface name": "Webdings", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "128736", "Unicode hex": "1F6E0" }, + { "Typeface name": "Webdings", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "127959", "Unicode hex": "1F3D7" }, + { "Typeface name": "Webdings", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "127960", "Unicode hex": "1F3D8" }, + { "Typeface name": "Webdings", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "127961", "Unicode hex": "1F3D9" }, + { "Typeface name": "Webdings", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "127962", "Unicode hex": "1F3DA" }, + { "Typeface name": "Webdings", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "127964", "Unicode hex": "1F3DC" }, + { "Typeface name": "Webdings", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "127981", "Unicode hex": "1F3ED" }, + { "Typeface name": "Webdings", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "127963", "Unicode hex": "1F3DB" }, + { "Typeface name": "Webdings", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "127968", "Unicode hex": "1F3E0" }, + { "Typeface name": "Webdings", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "127958", "Unicode hex": "1F3D6" }, + { "Typeface name": "Webdings", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "127965", "Unicode hex": "1F3DD" }, + { "Typeface name": "Webdings", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "128739", "Unicode hex": "1F6E3" }, + { "Typeface name": "Webdings", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "128269", "Unicode hex": "1F50D" }, + { "Typeface name": "Webdings", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "127956", "Unicode hex": "1F3D4" }, + { "Typeface name": "Webdings", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "128065", "Unicode hex": "1F441" }, + { "Typeface name": "Webdings", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "128066", "Unicode hex": "1F442" }, + { "Typeface name": "Webdings", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "127966", "Unicode hex": "1F3DE" }, + { "Typeface name": "Webdings", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "127957", "Unicode hex": "1F3D5" }, + { "Typeface name": "Webdings", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "128740", "Unicode hex": "1F6E4" }, + { "Typeface name": "Webdings", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "127967", "Unicode hex": "1F3DF" }, + { "Typeface name": "Webdings", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "128755", "Unicode hex": "1F6F3" }, + { "Typeface name": "Webdings", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "128364", "Unicode hex": "1F56C" }, + { "Typeface name": "Webdings", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "128363", "Unicode hex": "1F56B" }, + { "Typeface name": "Webdings", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "128360", "Unicode hex": "1F568" }, + { "Typeface name": "Webdings", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "128264", "Unicode hex": "1F508" }, + { "Typeface name": "Webdings", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "127892", "Unicode hex": "1F394" }, + { "Typeface name": "Webdings", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "127893", "Unicode hex": "1F395" }, + { "Typeface name": "Webdings", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "128492", "Unicode hex": "1F5EC" }, + { "Typeface name": "Webdings", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "128637", "Unicode hex": "1F67D" }, + { "Typeface name": "Webdings", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "128493", "Unicode hex": "1F5ED" }, + { "Typeface name": "Webdings", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "128490", "Unicode hex": "1F5EA" }, + { "Typeface name": "Webdings", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "128491", "Unicode hex": "1F5EB" }, + { "Typeface name": "Webdings", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "11156", "Unicode hex": "2B94" }, + { "Typeface name": "Webdings", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "10004", "Unicode hex": "2714" }, + { "Typeface name": "Webdings", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "128690", "Unicode hex": "1F6B2" }, + { "Typeface name": "Webdings", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "11036", "Unicode hex": "2B1C" }, + { "Typeface name": "Webdings", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "128737", "Unicode hex": "1F6E1" }, + { "Typeface name": "Webdings", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "128230", "Unicode hex": "1F4E6" }, + { "Typeface name": "Webdings", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "128753", "Unicode hex": "1F6F1" }, + { "Typeface name": "Webdings", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "11035", "Unicode hex": "2B1B" }, + { "Typeface name": "Webdings", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "128657", "Unicode hex": "1F691" }, + { "Typeface name": "Webdings", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "128712", "Unicode hex": "1F6C8" }, + { "Typeface name": "Webdings", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "128745", "Unicode hex": "1F6E9" }, + { "Typeface name": "Webdings", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "128752", "Unicode hex": "1F6F0" }, + { "Typeface name": "Webdings", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "128968", "Unicode hex": "1F7C8" }, + { "Typeface name": "Webdings", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "128372", "Unicode hex": "1F574" }, + { "Typeface name": "Webdings", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "11044", "Unicode hex": "2B24" }, + { "Typeface name": "Webdings", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "128741", "Unicode hex": "1F6E5" }, + { "Typeface name": "Webdings", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "128660", "Unicode hex": "1F694" }, + { "Typeface name": "Webdings", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "128472", "Unicode hex": "1F5D8" }, + { "Typeface name": "Webdings", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "128473", "Unicode hex": "1F5D9" }, + { "Typeface name": "Webdings", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "10067", "Unicode hex": "2753" }, + { "Typeface name": "Webdings", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "128754", "Unicode hex": "1F6F2" }, + { "Typeface name": "Webdings", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "128647", "Unicode hex": "1F687" }, + { "Typeface name": "Webdings", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "128653", "Unicode hex": "1F68D" }, + { "Typeface name": "Webdings", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "9971", "Unicode hex": "26F3" }, + { "Typeface name": "Webdings", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "10680", "Unicode hex": "29B8" }, + { "Typeface name": "Webdings", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "8854", "Unicode hex": "2296" }, + { "Typeface name": "Webdings", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "128685", "Unicode hex": "1F6AD" }, + { "Typeface name": "Webdings", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "128494", "Unicode hex": "1F5EE" }, + { "Typeface name": "Webdings", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "9168", "Unicode hex": "23D0" }, + { "Typeface name": "Webdings", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "128495", "Unicode hex": "1F5EF" }, + { "Typeface name": "Webdings", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "128498", "Unicode hex": "1F5F2" }, + { "Typeface name": "Webdings", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "128697", "Unicode hex": "1F6B9" }, + { "Typeface name": "Webdings", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "128698", "Unicode hex": "1F6BA" }, + { "Typeface name": "Webdings", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "128713", "Unicode hex": "1F6C9" }, + { "Typeface name": "Webdings", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "128714", "Unicode hex": "1F6CA" }, + { "Typeface name": "Webdings", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "128700", "Unicode hex": "1F6BC" }, + { "Typeface name": "Webdings", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "128125", "Unicode hex": "1F47D" }, + { "Typeface name": "Webdings", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "127947", "Unicode hex": "1F3CB" }, + { "Typeface name": "Webdings", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "9975", "Unicode hex": "26F7" }, + { "Typeface name": "Webdings", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "127938", "Unicode hex": "1F3C2" }, + { "Typeface name": "Webdings", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "127948", "Unicode hex": "1F3CC" }, + { "Typeface name": "Webdings", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "127946", "Unicode hex": "1F3CA" }, + { "Typeface name": "Webdings", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "127940", "Unicode hex": "1F3C4" }, + { "Typeface name": "Webdings", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "127949", "Unicode hex": "1F3CD" }, + { "Typeface name": "Webdings", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "127950", "Unicode hex": "1F3CE" }, + { "Typeface name": "Webdings", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "128664", "Unicode hex": "1F698" }, + { "Typeface name": "Webdings", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "128480", "Unicode hex": "1F5E0" }, + { "Typeface name": "Webdings", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "128738", "Unicode hex": "1F6E2" }, + { "Typeface name": "Webdings", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "128176", "Unicode hex": "1F4B0" }, + { "Typeface name": "Webdings", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "127991", "Unicode hex": "1F3F7" }, + { "Typeface name": "Webdings", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "128179", "Unicode hex": "1F4B3" }, + { "Typeface name": "Webdings", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "128106", "Unicode hex": "1F46A" }, + { "Typeface name": "Webdings", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "128481", "Unicode hex": "1F5E1" }, + { "Typeface name": "Webdings", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "128482", "Unicode hex": "1F5E2" }, + { "Typeface name": "Webdings", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "128483", "Unicode hex": "1F5E3" }, + { "Typeface name": "Webdings", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "10031", "Unicode hex": "272F" }, + { "Typeface name": "Webdings", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "128388", "Unicode hex": "1F584" }, + { "Typeface name": "Webdings", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "128389", "Unicode hex": "1F585" }, + { "Typeface name": "Webdings", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "128387", "Unicode hex": "1F583" }, + { "Typeface name": "Webdings", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "128390", "Unicode hex": "1F586" }, + { "Typeface name": "Webdings", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "128441", "Unicode hex": "1F5B9" }, + { "Typeface name": "Webdings", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "128442", "Unicode hex": "1F5BA" }, + { "Typeface name": "Webdings", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "128443", "Unicode hex": "1F5BB" }, + { "Typeface name": "Webdings", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "128373", "Unicode hex": "1F575" }, + { "Typeface name": "Webdings", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "128368", "Unicode hex": "1F570" }, + { "Typeface name": "Webdings", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "128445", "Unicode hex": "1F5BD" }, + { "Typeface name": "Webdings", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "128446", "Unicode hex": "1F5BE" }, + { "Typeface name": "Webdings", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "128203", "Unicode hex": "1F4CB" }, + { "Typeface name": "Webdings", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "128466", "Unicode hex": "1F5D2" }, + { "Typeface name": "Webdings", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "128467", "Unicode hex": "1F5D3" }, + { "Typeface name": "Webdings", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "128366", "Unicode hex": "1F56E" }, + { "Typeface name": "Webdings", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "128218", "Unicode hex": "1F4DA" }, + { "Typeface name": "Webdings", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "128478", "Unicode hex": "1F5DE" }, + { "Typeface name": "Webdings", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "128479", "Unicode hex": "1F5DF" }, + { "Typeface name": "Webdings", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "128451", "Unicode hex": "1F5C3" }, + { "Typeface name": "Webdings", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "128450", "Unicode hex": "1F5C2" }, + { "Typeface name": "Webdings", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "128444", "Unicode hex": "1F5BC" }, + { "Typeface name": "Webdings", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "127917", "Unicode hex": "1F3AD" }, + { "Typeface name": "Webdings", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "127900", "Unicode hex": "1F39C" }, + { "Typeface name": "Webdings", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "127896", "Unicode hex": "1F398" }, + { "Typeface name": "Webdings", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "127897", "Unicode hex": "1F399" }, + { "Typeface name": "Webdings", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "127911", "Unicode hex": "1F3A7" }, + { "Typeface name": "Webdings", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "128191", "Unicode hex": "1F4BF" }, + { "Typeface name": "Webdings", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "127902", "Unicode hex": "1F39E" }, + { "Typeface name": "Webdings", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "128247", "Unicode hex": "1F4F7" }, + { "Typeface name": "Webdings", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "127903", "Unicode hex": "1F39F" }, + { "Typeface name": "Webdings", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "127916", "Unicode hex": "1F3AC" }, + { "Typeface name": "Webdings", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "128253", "Unicode hex": "1F4FD" }, + { "Typeface name": "Webdings", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "128249", "Unicode hex": "1F4F9" }, + { "Typeface name": "Webdings", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "128254", "Unicode hex": "1F4FE" }, + { "Typeface name": "Webdings", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "128251", "Unicode hex": "1F4FB" }, + { "Typeface name": "Webdings", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "127898", "Unicode hex": "1F39A" }, + { "Typeface name": "Webdings", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "127899", "Unicode hex": "1F39B" }, + { "Typeface name": "Webdings", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "128250", "Unicode hex": "1F4FA" }, + { "Typeface name": "Webdings", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "128187", "Unicode hex": "1F4BB" }, + { "Typeface name": "Webdings", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "128421", "Unicode hex": "1F5A5" }, + { "Typeface name": "Webdings", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "128422", "Unicode hex": "1F5A6" }, + { "Typeface name": "Webdings", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "128423", "Unicode hex": "1F5A7" }, + { "Typeface name": "Webdings", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "128377", "Unicode hex": "1F579" }, + { "Typeface name": "Webdings", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "127918", "Unicode hex": "1F3AE" }, + { "Typeface name": "Webdings", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "128379", "Unicode hex": "1F57B" }, + { "Typeface name": "Webdings", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "128380", "Unicode hex": "1F57C" }, + { "Typeface name": "Webdings", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "128223", "Unicode hex": "1F4DF" }, + { "Typeface name": "Webdings", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "128385", "Unicode hex": "1F581" }, + { "Typeface name": "Webdings", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "128384", "Unicode hex": "1F580" }, + { "Typeface name": "Webdings", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "128424", "Unicode hex": "1F5A8" }, + { "Typeface name": "Webdings", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "128425", "Unicode hex": "1F5A9" }, + { "Typeface name": "Webdings", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "128447", "Unicode hex": "1F5BF" }, + { "Typeface name": "Webdings", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "128426", "Unicode hex": "1F5AA" }, + { "Typeface name": "Webdings", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "128476", "Unicode hex": "1F5DC" }, + { "Typeface name": "Webdings", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "128274", "Unicode hex": "1F512" }, + { "Typeface name": "Webdings", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "128275", "Unicode hex": "1F513" }, + { "Typeface name": "Webdings", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "128477", "Unicode hex": "1F5DD" }, + { "Typeface name": "Webdings", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "128229", "Unicode hex": "1F4E5" }, + { "Typeface name": "Webdings", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "128228", "Unicode hex": "1F4E4" }, + { "Typeface name": "Webdings", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "128371", "Unicode hex": "1F573" }, + { "Typeface name": "Webdings", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "127779", "Unicode hex": "1F323" }, + { "Typeface name": "Webdings", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "127780", "Unicode hex": "1F324" }, + { "Typeface name": "Webdings", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "127781", "Unicode hex": "1F325" }, + { "Typeface name": "Webdings", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "127782", "Unicode hex": "1F326" }, + { "Typeface name": "Webdings", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "9729", "Unicode hex": "2601" }, + { "Typeface name": "Webdings", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "127784", "Unicode hex": "1F328" }, + { "Typeface name": "Webdings", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "127783", "Unicode hex": "1F327" }, + { "Typeface name": "Webdings", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "127785", "Unicode hex": "1F329" }, + { "Typeface name": "Webdings", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "127786", "Unicode hex": "1F32A" }, + { "Typeface name": "Webdings", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "127788", "Unicode hex": "1F32C" }, + { "Typeface name": "Webdings", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "127787", "Unicode hex": "1F32B" }, + { "Typeface name": "Webdings", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "127772", "Unicode hex": "1F31C" }, + { "Typeface name": "Webdings", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "127777", "Unicode hex": "1F321" }, + { "Typeface name": "Webdings", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "128715", "Unicode hex": "1F6CB" }, + { "Typeface name": "Webdings", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "128719", "Unicode hex": "1F6CF" }, + { "Typeface name": "Webdings", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "127869", "Unicode hex": "1F37D" }, + { "Typeface name": "Webdings", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "127864", "Unicode hex": "1F378" }, + { "Typeface name": "Webdings", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "128718", "Unicode hex": "1F6CE" }, + { "Typeface name": "Webdings", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "128717", "Unicode hex": "1F6CD" }, + { "Typeface name": "Webdings", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "9413", "Unicode hex": "24C5" }, + { "Typeface name": "Webdings", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "9855", "Unicode hex": "267F" }, + { "Typeface name": "Webdings", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "128710", "Unicode hex": "1F6C6" }, + { "Typeface name": "Webdings", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "128392", "Unicode hex": "1F588" }, + { "Typeface name": "Webdings", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "127891", "Unicode hex": "1F393" }, + { "Typeface name": "Webdings", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "128484", "Unicode hex": "1F5E4" }, + { "Typeface name": "Webdings", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "128485", "Unicode hex": "1F5E5" }, + { "Typeface name": "Webdings", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "128486", "Unicode hex": "1F5E6" }, + { "Typeface name": "Webdings", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "128487", "Unicode hex": "1F5E7" }, + { "Typeface name": "Webdings", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "128746", "Unicode hex": "1F6EA" }, + { "Typeface name": "Webdings", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "128063", "Unicode hex": "1F43F" }, + { "Typeface name": "Webdings", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "128038", "Unicode hex": "1F426" }, + { "Typeface name": "Webdings", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "128031", "Unicode hex": "1F41F" }, + { "Typeface name": "Webdings", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "128021", "Unicode hex": "1F415" }, + { "Typeface name": "Webdings", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "128008", "Unicode hex": "1F408" }, + { "Typeface name": "Webdings", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "128620", "Unicode hex": "1F66C" }, + { "Typeface name": "Webdings", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "128622", "Unicode hex": "1F66E" }, + { "Typeface name": "Webdings", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "128621", "Unicode hex": "1F66D" }, + { "Typeface name": "Webdings", "Dingbat dec": "250", "Dingbat hex": "FA", "Unicode dec": "128623", "Unicode hex": "1F66F" }, + { "Typeface name": "Webdings", "Dingbat dec": "251", "Dingbat hex": "FB", "Unicode dec": "128506", "Unicode hex": "1F5FA" }, + { "Typeface name": "Webdings", "Dingbat dec": "252", "Dingbat hex": "FC", "Unicode dec": "127757", "Unicode hex": "1F30D" }, + { "Typeface name": "Webdings", "Dingbat dec": "253", "Dingbat hex": "FD", "Unicode dec": "127759", "Unicode hex": "1F30F" }, + { "Typeface name": "Webdings", "Dingbat dec": "254", "Dingbat hex": "FE", "Unicode dec": "127758", "Unicode hex": "1F30E" }, + { "Typeface name": "Webdings", "Dingbat dec": "255", "Dingbat hex": "FF", "Unicode dec": "128330", "Unicode hex": "1F54A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, + { "Typeface name": "Wingdings", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "128393", "Unicode hex": "1F589" }, + { "Typeface name": "Wingdings", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "9986", "Unicode hex": "2702" }, + { "Typeface name": "Wingdings", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "9985", "Unicode hex": "2701" }, + { "Typeface name": "Wingdings", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "128083", "Unicode hex": "1F453" }, + { "Typeface name": "Wingdings", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "128365", "Unicode hex": "1F56D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "128366", "Unicode hex": "1F56E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "128367", "Unicode hex": "1F56F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "128383", "Unicode hex": "1F57F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "9990", "Unicode hex": "2706" }, + { "Typeface name": "Wingdings", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "128386", "Unicode hex": "1F582" }, + { "Typeface name": "Wingdings", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "128387", "Unicode hex": "1F583" }, + { "Typeface name": "Wingdings", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "128234", "Unicode hex": "1F4EA" }, + { "Typeface name": "Wingdings", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "128235", "Unicode hex": "1F4EB" }, + { "Typeface name": "Wingdings", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "128236", "Unicode hex": "1F4EC" }, + { "Typeface name": "Wingdings", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "128237", "Unicode hex": "1F4ED" }, + { "Typeface name": "Wingdings", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "128448", "Unicode hex": "1F5C0" }, + { "Typeface name": "Wingdings", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "128449", "Unicode hex": "1F5C1" }, + { "Typeface name": "Wingdings", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "128462", "Unicode hex": "1F5CE" }, + { "Typeface name": "Wingdings", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "128463", "Unicode hex": "1F5CF" }, + { "Typeface name": "Wingdings", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "128464", "Unicode hex": "1F5D0" }, + { "Typeface name": "Wingdings", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "128452", "Unicode hex": "1F5C4" }, + { "Typeface name": "Wingdings", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "8987", "Unicode hex": "231B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "128430", "Unicode hex": "1F5AE" }, + { "Typeface name": "Wingdings", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "128432", "Unicode hex": "1F5B0" }, + { "Typeface name": "Wingdings", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "128434", "Unicode hex": "1F5B2" }, + { "Typeface name": "Wingdings", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "128435", "Unicode hex": "1F5B3" }, + { "Typeface name": "Wingdings", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "128436", "Unicode hex": "1F5B4" }, + { "Typeface name": "Wingdings", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "128427", "Unicode hex": "1F5AB" }, + { "Typeface name": "Wingdings", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "128428", "Unicode hex": "1F5AC" }, + { "Typeface name": "Wingdings", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "9991", "Unicode hex": "2707" }, + { "Typeface name": "Wingdings", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "9997", "Unicode hex": "270D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "128398", "Unicode hex": "1F58E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "9996", "Unicode hex": "270C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "128399", "Unicode hex": "1F58F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "128077", "Unicode hex": "1F44D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "128078", "Unicode hex": "1F44E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "9756", "Unicode hex": "261C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "9758", "Unicode hex": "261E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "9757", "Unicode hex": "261D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "9759", "Unicode hex": "261F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "128400", "Unicode hex": "1F590" }, + { "Typeface name": "Wingdings", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "9786", "Unicode hex": "263A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "128528", "Unicode hex": "1F610" }, + { "Typeface name": "Wingdings", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "9785", "Unicode hex": "2639" }, + { "Typeface name": "Wingdings", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "128163", "Unicode hex": "1F4A3" }, + { "Typeface name": "Wingdings", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "128369", "Unicode hex": "1F571" }, + { "Typeface name": "Wingdings", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "127987", "Unicode hex": "1F3F3" }, + { "Typeface name": "Wingdings", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "127985", "Unicode hex": "1F3F1" }, + { "Typeface name": "Wingdings", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "9992", "Unicode hex": "2708" }, + { "Typeface name": "Wingdings", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "9788", "Unicode hex": "263C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "127778", "Unicode hex": "1F322" }, + { "Typeface name": "Wingdings", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "10052", "Unicode hex": "2744" }, + { "Typeface name": "Wingdings", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "128326", "Unicode hex": "1F546" }, + { "Typeface name": "Wingdings", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "10014", "Unicode hex": "271E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "128328", "Unicode hex": "1F548" }, + { "Typeface name": "Wingdings", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "10016", "Unicode hex": "2720" }, + { "Typeface name": "Wingdings", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "10017", "Unicode hex": "2721" }, + { "Typeface name": "Wingdings", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "9770", "Unicode hex": "262A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "9775", "Unicode hex": "262F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "128329", "Unicode hex": "1F549" }, + { "Typeface name": "Wingdings", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "9784", "Unicode hex": "2638" }, + { "Typeface name": "Wingdings", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "9800", "Unicode hex": "2648" }, + { "Typeface name": "Wingdings", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "9801", "Unicode hex": "2649" }, + { "Typeface name": "Wingdings", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "9802", "Unicode hex": "264A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "9803", "Unicode hex": "264B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "9804", "Unicode hex": "264C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "9805", "Unicode hex": "264D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "9806", "Unicode hex": "264E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "9807", "Unicode hex": "264F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "9808", "Unicode hex": "2650" }, + { "Typeface name": "Wingdings", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "9809", "Unicode hex": "2651" }, + { "Typeface name": "Wingdings", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "9810", "Unicode hex": "2652" }, + { "Typeface name": "Wingdings", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "9811", "Unicode hex": "2653" }, + { "Typeface name": "Wingdings", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "128624", "Unicode hex": "1F670" }, + { "Typeface name": "Wingdings", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "128629", "Unicode hex": "1F675" }, + { "Typeface name": "Wingdings", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "9899", "Unicode hex": "26AB" }, + { "Typeface name": "Wingdings", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "128318", "Unicode hex": "1F53E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "9724", "Unicode hex": "25FC" }, + { "Typeface name": "Wingdings", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "128911", "Unicode hex": "1F78F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "128912", "Unicode hex": "1F790" }, + { "Typeface name": "Wingdings", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "10065", "Unicode hex": "2751" }, + { "Typeface name": "Wingdings", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "10066", "Unicode hex": "2752" }, + { "Typeface name": "Wingdings", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "128927", "Unicode hex": "1F79F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "10731", "Unicode hex": "29EB" }, + { "Typeface name": "Wingdings", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "9670", "Unicode hex": "25C6" }, + { "Typeface name": "Wingdings", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "10070", "Unicode hex": "2756" }, + { "Typeface name": "Wingdings", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "11049", "Unicode hex": "2B29" }, + { "Typeface name": "Wingdings", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "8999", "Unicode hex": "2327" }, + { "Typeface name": "Wingdings", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "11193", "Unicode hex": "2BB9" }, + { "Typeface name": "Wingdings", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "8984", "Unicode hex": "2318" }, + { "Typeface name": "Wingdings", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "127989", "Unicode hex": "1F3F5" }, + { "Typeface name": "Wingdings", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "127990", "Unicode hex": "1F3F6" }, + { "Typeface name": "Wingdings", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "128630", "Unicode hex": "1F676" }, + { "Typeface name": "Wingdings", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "128631", "Unicode hex": "1F677" }, + { "Typeface name": "Wingdings", "Dingbat dec": "127", "Dingbat hex": "7F", "Unicode dec": "9647", "Unicode hex": "25AF" }, + { "Typeface name": "Wingdings", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "127243", "Unicode hex": "1F10B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "10112", "Unicode hex": "2780" }, + { "Typeface name": "Wingdings", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "10113", "Unicode hex": "2781" }, + { "Typeface name": "Wingdings", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "10114", "Unicode hex": "2782" }, + { "Typeface name": "Wingdings", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "10115", "Unicode hex": "2783" }, + { "Typeface name": "Wingdings", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "10116", "Unicode hex": "2784" }, + { "Typeface name": "Wingdings", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "10117", "Unicode hex": "2785" }, + { "Typeface name": "Wingdings", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "10118", "Unicode hex": "2786" }, + { "Typeface name": "Wingdings", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "10119", "Unicode hex": "2787" }, + { "Typeface name": "Wingdings", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "10120", "Unicode hex": "2788" }, + { "Typeface name": "Wingdings", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "10121", "Unicode hex": "2789" }, + { "Typeface name": "Wingdings", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "127244", "Unicode hex": "1F10C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "10122", "Unicode hex": "278A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "10123", "Unicode hex": "278B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "10124", "Unicode hex": "278C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "10125", "Unicode hex": "278D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "10126", "Unicode hex": "278E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "10127", "Unicode hex": "278F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "10128", "Unicode hex": "2790" }, + { "Typeface name": "Wingdings", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "10129", "Unicode hex": "2791" }, + { "Typeface name": "Wingdings", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "10130", "Unicode hex": "2792" }, + { "Typeface name": "Wingdings", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "10131", "Unicode hex": "2793" }, + { "Typeface name": "Wingdings", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "128610", "Unicode hex": "1F662" }, + { "Typeface name": "Wingdings", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "128608", "Unicode hex": "1F660" }, + { "Typeface name": "Wingdings", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "128609", "Unicode hex": "1F661" }, + { "Typeface name": "Wingdings", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "128611", "Unicode hex": "1F663" }, + { "Typeface name": "Wingdings", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "128606", "Unicode hex": "1F65E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "128604", "Unicode hex": "1F65C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "128605", "Unicode hex": "1F65D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "128607", "Unicode hex": "1F65F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "8729", "Unicode hex": "2219" }, + { "Typeface name": "Wingdings", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "8226", "Unicode hex": "2022" }, + { "Typeface name": "Wingdings", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "11037", "Unicode hex": "2B1D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "11096", "Unicode hex": "2B58" }, + { "Typeface name": "Wingdings", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "128902", "Unicode hex": "1F786" }, + { "Typeface name": "Wingdings", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "128904", "Unicode hex": "1F788" }, + { "Typeface name": "Wingdings", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "128906", "Unicode hex": "1F78A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "128907", "Unicode hex": "1F78B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "128319", "Unicode hex": "1F53F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "9642", "Unicode hex": "25AA" }, + { "Typeface name": "Wingdings", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "128910", "Unicode hex": "1F78E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "128961", "Unicode hex": "1F7C1" }, + { "Typeface name": "Wingdings", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "128965", "Unicode hex": "1F7C5" }, + { "Typeface name": "Wingdings", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "9733", "Unicode hex": "2605" }, + { "Typeface name": "Wingdings", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "128971", "Unicode hex": "1F7CB" }, + { "Typeface name": "Wingdings", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "128975", "Unicode hex": "1F7CF" }, + { "Typeface name": "Wingdings", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "128979", "Unicode hex": "1F7D3" }, + { "Typeface name": "Wingdings", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "128977", "Unicode hex": "1F7D1" }, + { "Typeface name": "Wingdings", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "11216", "Unicode hex": "2BD0" }, + { "Typeface name": "Wingdings", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "8982", "Unicode hex": "2316" }, + { "Typeface name": "Wingdings", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "11214", "Unicode hex": "2BCE" }, + { "Typeface name": "Wingdings", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "11215", "Unicode hex": "2BCF" }, + { "Typeface name": "Wingdings", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "11217", "Unicode hex": "2BD1" }, + { "Typeface name": "Wingdings", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "10026", "Unicode hex": "272A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "10032", "Unicode hex": "2730" }, + { "Typeface name": "Wingdings", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "128336", "Unicode hex": "1F550" }, + { "Typeface name": "Wingdings", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "128337", "Unicode hex": "1F551" }, + { "Typeface name": "Wingdings", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "128338", "Unicode hex": "1F552" }, + { "Typeface name": "Wingdings", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "128339", "Unicode hex": "1F553" }, + { "Typeface name": "Wingdings", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "128340", "Unicode hex": "1F554" }, + { "Typeface name": "Wingdings", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "128341", "Unicode hex": "1F555" }, + { "Typeface name": "Wingdings", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "128342", "Unicode hex": "1F556" }, + { "Typeface name": "Wingdings", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "128343", "Unicode hex": "1F557" }, + { "Typeface name": "Wingdings", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "128344", "Unicode hex": "1F558" }, + { "Typeface name": "Wingdings", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "128345", "Unicode hex": "1F559" }, + { "Typeface name": "Wingdings", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "128346", "Unicode hex": "1F55A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "128347", "Unicode hex": "1F55B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "11184", "Unicode hex": "2BB0" }, + { "Typeface name": "Wingdings", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "11185", "Unicode hex": "2BB1" }, + { "Typeface name": "Wingdings", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "11186", "Unicode hex": "2BB2" }, + { "Typeface name": "Wingdings", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "11187", "Unicode hex": "2BB3" }, + { "Typeface name": "Wingdings", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "11188", "Unicode hex": "2BB4" }, + { "Typeface name": "Wingdings", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "11189", "Unicode hex": "2BB5" }, + { "Typeface name": "Wingdings", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "11190", "Unicode hex": "2BB6" }, + { "Typeface name": "Wingdings", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "11191", "Unicode hex": "2BB7" }, + { "Typeface name": "Wingdings", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "128618", "Unicode hex": "1F66A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "128619", "Unicode hex": "1F66B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "128597", "Unicode hex": "1F655" }, + { "Typeface name": "Wingdings", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "128596", "Unicode hex": "1F654" }, + { "Typeface name": "Wingdings", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "128599", "Unicode hex": "1F657" }, + { "Typeface name": "Wingdings", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "128598", "Unicode hex": "1F656" }, + { "Typeface name": "Wingdings", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "128592", "Unicode hex": "1F650" }, + { "Typeface name": "Wingdings", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "128593", "Unicode hex": "1F651" }, + { "Typeface name": "Wingdings", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "128594", "Unicode hex": "1F652" }, + { "Typeface name": "Wingdings", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "128595", "Unicode hex": "1F653" }, + { "Typeface name": "Wingdings", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "9003", "Unicode hex": "232B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "8998", "Unicode hex": "2326" }, + { "Typeface name": "Wingdings", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "11160", "Unicode hex": "2B98" }, + { "Typeface name": "Wingdings", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "11162", "Unicode hex": "2B9A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "11161", "Unicode hex": "2B99" }, + { "Typeface name": "Wingdings", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "11163", "Unicode hex": "2B9B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "11144", "Unicode hex": "2B88" }, + { "Typeface name": "Wingdings", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "11146", "Unicode hex": "2B8A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "11145", "Unicode hex": "2B89" }, + { "Typeface name": "Wingdings", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "11147", "Unicode hex": "2B8B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "129128", "Unicode hex": "1F868" }, + { "Typeface name": "Wingdings", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "129130", "Unicode hex": "1F86A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "129129", "Unicode hex": "1F869" }, + { "Typeface name": "Wingdings", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "129131", "Unicode hex": "1F86B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "129132", "Unicode hex": "1F86C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "129133", "Unicode hex": "1F86D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "129135", "Unicode hex": "1F86F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "129134", "Unicode hex": "1F86E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "129144", "Unicode hex": "1F878" }, + { "Typeface name": "Wingdings", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "129146", "Unicode hex": "1F87A" }, + { "Typeface name": "Wingdings", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "129145", "Unicode hex": "1F879" }, + { "Typeface name": "Wingdings", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "129147", "Unicode hex": "1F87B" }, + { "Typeface name": "Wingdings", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "129148", "Unicode hex": "1F87C" }, + { "Typeface name": "Wingdings", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "129149", "Unicode hex": "1F87D" }, + { "Typeface name": "Wingdings", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "129151", "Unicode hex": "1F87F" }, + { "Typeface name": "Wingdings", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "129150", "Unicode hex": "1F87E" }, + { "Typeface name": "Wingdings", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "8678", "Unicode hex": "21E6" }, + { "Typeface name": "Wingdings", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "8680", "Unicode hex": "21E8" }, + { "Typeface name": "Wingdings", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "8679", "Unicode hex": "21E7" }, + { "Typeface name": "Wingdings", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "8681", "Unicode hex": "21E9" }, + { "Typeface name": "Wingdings", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "11012", "Unicode hex": "2B04" }, + { "Typeface name": "Wingdings", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "8691", "Unicode hex": "21F3" }, + { "Typeface name": "Wingdings", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "11009", "Unicode hex": "2B01" }, + { "Typeface name": "Wingdings", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "11008", "Unicode hex": "2B00" }, + { "Typeface name": "Wingdings", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "11011", "Unicode hex": "2B03" }, + { "Typeface name": "Wingdings", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "11010", "Unicode hex": "2B02" }, + { "Typeface name": "Wingdings", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "129196", "Unicode hex": "1F8AC" }, + { "Typeface name": "Wingdings", "Dingbat dec": "250", "Dingbat hex": "FA", "Unicode dec": "129197", "Unicode hex": "1F8AD" }, + { "Typeface name": "Wingdings", "Dingbat dec": "251", "Dingbat hex": "FB", "Unicode dec": "128502", "Unicode hex": "1F5F6" }, + { "Typeface name": "Wingdings", "Dingbat dec": "252", "Dingbat hex": "FC", "Unicode dec": "10003", "Unicode hex": "2713" }, + { "Typeface name": "Wingdings", "Dingbat dec": "253", "Dingbat hex": "FD", "Unicode dec": "128503", "Unicode hex": "1F5F7" }, + { "Typeface name": "Wingdings", "Dingbat dec": "254", "Dingbat hex": "FE", "Unicode dec": "128505", "Unicode hex": "1F5F9" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "128394", "Unicode hex": "1F58A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "128395", "Unicode hex": "1F58B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "128396", "Unicode hex": "1F58C" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "128397", "Unicode hex": "1F58D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "9988", "Unicode hex": "2704" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "9984", "Unicode hex": "2700" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "128382", "Unicode hex": "1F57E" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "128381", "Unicode hex": "1F57D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "128453", "Unicode hex": "1F5C5" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "128454", "Unicode hex": "1F5C6" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "128455", "Unicode hex": "1F5C7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "128456", "Unicode hex": "1F5C8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "128457", "Unicode hex": "1F5C9" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "128458", "Unicode hex": "1F5CA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "128459", "Unicode hex": "1F5CB" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "128460", "Unicode hex": "1F5CC" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "128461", "Unicode hex": "1F5CD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "128203", "Unicode hex": "1F4CB" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "128465", "Unicode hex": "1F5D1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "128468", "Unicode hex": "1F5D4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "128437", "Unicode hex": "1F5B5" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "128438", "Unicode hex": "1F5B6" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "128439", "Unicode hex": "1F5B7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "128440", "Unicode hex": "1F5B8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "128429", "Unicode hex": "1F5AD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "128431", "Unicode hex": "1F5AF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "128433", "Unicode hex": "1F5B1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "128402", "Unicode hex": "1F592" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "128403", "Unicode hex": "1F593" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "128408", "Unicode hex": "1F598" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "128409", "Unicode hex": "1F599" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "128410", "Unicode hex": "1F59A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "128411", "Unicode hex": "1F59B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "128072", "Unicode hex": "1F448" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "128073", "Unicode hex": "1F449" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "128412", "Unicode hex": "1F59C" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "128413", "Unicode hex": "1F59D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "128414", "Unicode hex": "1F59E" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "128415", "Unicode hex": "1F59F" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "128416", "Unicode hex": "1F5A0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "128417", "Unicode hex": "1F5A1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "128070", "Unicode hex": "1F446" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "128071", "Unicode hex": "1F447" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "128418", "Unicode hex": "1F5A2" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "128419", "Unicode hex": "1F5A3" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "128401", "Unicode hex": "1F591" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "128500", "Unicode hex": "1F5F4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "128504", "Unicode hex": "1F5F8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "128501", "Unicode hex": "1F5F5" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "9745", "Unicode hex": "2611" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "11197", "Unicode hex": "2BBD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "9746", "Unicode hex": "2612" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "11198", "Unicode hex": "2BBE" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "11199", "Unicode hex": "2BBF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "128711", "Unicode hex": "1F6C7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "10680", "Unicode hex": "29B8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "128625", "Unicode hex": "1F671" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "128628", "Unicode hex": "1F674" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "128626", "Unicode hex": "1F672" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "128627", "Unicode hex": "1F673" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "8253", "Unicode hex": "203D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "128633", "Unicode hex": "1F679" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "128634", "Unicode hex": "1F67A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "128635", "Unicode hex": "1F67B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "128614", "Unicode hex": "1F666" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "128612", "Unicode hex": "1F664" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "128613", "Unicode hex": "1F665" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "128615", "Unicode hex": "1F667" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "128602", "Unicode hex": "1F65A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "128600", "Unicode hex": "1F658" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "128601", "Unicode hex": "1F659" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "128603", "Unicode hex": "1F65B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "9450", "Unicode hex": "24EA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "9312", "Unicode hex": "2460" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "9313", "Unicode hex": "2461" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "9314", "Unicode hex": "2462" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "9315", "Unicode hex": "2463" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "9316", "Unicode hex": "2464" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "9317", "Unicode hex": "2465" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "9318", "Unicode hex": "2466" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "9319", "Unicode hex": "2467" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "9320", "Unicode hex": "2468" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "9321", "Unicode hex": "2469" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "9471", "Unicode hex": "24FF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "10102", "Unicode hex": "2776" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "10103", "Unicode hex": "2777" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "10104", "Unicode hex": "2778" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "10105", "Unicode hex": "2779" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "10106", "Unicode hex": "277A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "10107", "Unicode hex": "277B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "10108", "Unicode hex": "277C" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "10109", "Unicode hex": "277D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "10110", "Unicode hex": "277E" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "10111", "Unicode hex": "277F" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "9737", "Unicode hex": "2609" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "127765", "Unicode hex": "1F315" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "9789", "Unicode hex": "263D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "9790", "Unicode hex": "263E" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "11839", "Unicode hex": "2E3F" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "10013", "Unicode hex": "271D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "128327", "Unicode hex": "1F547" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "128348", "Unicode hex": "1F55C" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "128349", "Unicode hex": "1F55D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "128350", "Unicode hex": "1F55E" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "128351", "Unicode hex": "1F55F" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "128352", "Unicode hex": "1F560" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "128353", "Unicode hex": "1F561" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "128354", "Unicode hex": "1F562" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "128355", "Unicode hex": "1F563" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "128356", "Unicode hex": "1F564" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "128357", "Unicode hex": "1F565" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "128358", "Unicode hex": "1F566" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "128359", "Unicode hex": "1F567" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "128616", "Unicode hex": "1F668" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "128617", "Unicode hex": "1F669" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "8901", "Unicode hex": "22C5" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "128900", "Unicode hex": "1F784" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "10625", "Unicode hex": "2981" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "9679", "Unicode hex": "25CF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "9675", "Unicode hex": "25CB" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "128901", "Unicode hex": "1F785" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "128903", "Unicode hex": "1F787" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "128905", "Unicode hex": "1F789" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "8857", "Unicode hex": "2299" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "10687", "Unicode hex": "29BF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "128908", "Unicode hex": "1F78C" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "128909", "Unicode hex": "1F78D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "9726", "Unicode hex": "25FE" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "9632", "Unicode hex": "25A0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "9633", "Unicode hex": "25A1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "128913", "Unicode hex": "1F791" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "128914", "Unicode hex": "1F792" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "128915", "Unicode hex": "1F793" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "128916", "Unicode hex": "1F794" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "9635", "Unicode hex": "25A3" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "128917", "Unicode hex": "1F795" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "128918", "Unicode hex": "1F796" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "128919", "Unicode hex": "1F797" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "128920", "Unicode hex": "1F798" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "11049", "Unicode hex": "2B29" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "11045", "Unicode hex": "2B25" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "9671", "Unicode hex": "25C7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "128922", "Unicode hex": "1F79A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "9672", "Unicode hex": "25C8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "128923", "Unicode hex": "1F79B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "128924", "Unicode hex": "1F79C" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "128925", "Unicode hex": "1F79D" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "128926", "Unicode hex": "1F79E" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "11050", "Unicode hex": "2B2A" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "11047", "Unicode hex": "2B27" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "9674", "Unicode hex": "25CA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "128928", "Unicode hex": "1F7A0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "9686", "Unicode hex": "25D6" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "9687", "Unicode hex": "25D7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "11210", "Unicode hex": "2BCA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "11211", "Unicode hex": "2BCB" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "11200", "Unicode hex": "2BC0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "11201", "Unicode hex": "2BC1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "11039", "Unicode hex": "2B1F" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "11202", "Unicode hex": "2BC2" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "11043", "Unicode hex": "2B23" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "11042", "Unicode hex": "2B22" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "11203", "Unicode hex": "2BC3" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "11204", "Unicode hex": "2BC4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "128929", "Unicode hex": "1F7A1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "128930", "Unicode hex": "1F7A2" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "128931", "Unicode hex": "1F7A3" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "128932", "Unicode hex": "1F7A4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "128933", "Unicode hex": "1F7A5" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "128934", "Unicode hex": "1F7A6" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "128935", "Unicode hex": "1F7A7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "128936", "Unicode hex": "1F7A8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "128937", "Unicode hex": "1F7A9" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "128938", "Unicode hex": "1F7AA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "128939", "Unicode hex": "1F7AB" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "128940", "Unicode hex": "1F7AC" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "128941", "Unicode hex": "1F7AD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "128942", "Unicode hex": "1F7AE" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "128943", "Unicode hex": "1F7AF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "128944", "Unicode hex": "1F7B0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "128945", "Unicode hex": "1F7B1" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "128946", "Unicode hex": "1F7B2" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "128947", "Unicode hex": "1F7B3" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "128948", "Unicode hex": "1F7B4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "128949", "Unicode hex": "1F7B5" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "128950", "Unicode hex": "1F7B6" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "128951", "Unicode hex": "1F7B7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "128952", "Unicode hex": "1F7B8" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "128953", "Unicode hex": "1F7B9" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "128954", "Unicode hex": "1F7BA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "128955", "Unicode hex": "1F7BB" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "128956", "Unicode hex": "1F7BC" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "128957", "Unicode hex": "1F7BD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "128958", "Unicode hex": "1F7BE" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "128959", "Unicode hex": "1F7BF" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "128960", "Unicode hex": "1F7C0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "128962", "Unicode hex": "1F7C2" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "128964", "Unicode hex": "1F7C4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "128966", "Unicode hex": "1F7C6" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "128969", "Unicode hex": "1F7C9" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "128970", "Unicode hex": "1F7CA" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "10038", "Unicode hex": "2736" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "128972", "Unicode hex": "1F7CC" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "128974", "Unicode hex": "1F7CE" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "128976", "Unicode hex": "1F7D0" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "128978", "Unicode hex": "1F7D2" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "10041", "Unicode hex": "2739" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "128963", "Unicode hex": "1F7C3" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "128967", "Unicode hex": "1F7C7" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "10031", "Unicode hex": "272F" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "128973", "Unicode hex": "1F7CD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "128980", "Unicode hex": "1F7D4" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "11212", "Unicode hex": "2BCC" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "11213", "Unicode hex": "2BCD" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "8251", "Unicode hex": "203B" }, + { "Typeface name": "Wingdings 2", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "8258", "Unicode hex": "2042" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "11104", "Unicode hex": "2B60" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "11106", "Unicode hex": "2B62" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "11105", "Unicode hex": "2B61" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "11107", "Unicode hex": "2B63" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "11110", "Unicode hex": "2B66" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "11111", "Unicode hex": "2B67" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "11113", "Unicode hex": "2B69" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "11112", "Unicode hex": "2B68" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "11120", "Unicode hex": "2B70" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "11122", "Unicode hex": "2B72" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "11121", "Unicode hex": "2B71" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "11123", "Unicode hex": "2B73" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "11126", "Unicode hex": "2B76" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "11128", "Unicode hex": "2B78" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "11131", "Unicode hex": "2B7B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "11133", "Unicode hex": "2B7D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "11108", "Unicode hex": "2B64" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "11109", "Unicode hex": "2B65" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "11114", "Unicode hex": "2B6A" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "11116", "Unicode hex": "2B6C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "11115", "Unicode hex": "2B6B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "11117", "Unicode hex": "2B6D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "11085", "Unicode hex": "2B4D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "11168", "Unicode hex": "2BA0" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "11169", "Unicode hex": "2BA1" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "11170", "Unicode hex": "2BA2" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "11171", "Unicode hex": "2BA3" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "11172", "Unicode hex": "2BA4" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "11173", "Unicode hex": "2BA5" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "11174", "Unicode hex": "2BA6" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "11175", "Unicode hex": "2BA7" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "11152", "Unicode hex": "2B90" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "11153", "Unicode hex": "2B91" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "11154", "Unicode hex": "2B92" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "11155", "Unicode hex": "2B93" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "11136", "Unicode hex": "2B80" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "11139", "Unicode hex": "2B83" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "11134", "Unicode hex": "2B7E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "11135", "Unicode hex": "2B7F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "11140", "Unicode hex": "2B84" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "11142", "Unicode hex": "2B86" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "11141", "Unicode hex": "2B85" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "11143", "Unicode hex": "2B87" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "11151", "Unicode hex": "2B8F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "11149", "Unicode hex": "2B8D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "11150", "Unicode hex": "2B8E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "11148", "Unicode hex": "2B8C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "11118", "Unicode hex": "2B6E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "11119", "Unicode hex": "2B6F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "9099", "Unicode hex": "238B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "8996", "Unicode hex": "2324" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "8963", "Unicode hex": "2303" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "8997", "Unicode hex": "2325" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "9251", "Unicode hex": "2423" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "9085", "Unicode hex": "237D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "8682", "Unicode hex": "21EA" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "11192", "Unicode hex": "2BB8" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "129184", "Unicode hex": "1F8A0" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "129185", "Unicode hex": "1F8A1" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "129186", "Unicode hex": "1F8A2" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "129187", "Unicode hex": "1F8A3" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "129188", "Unicode hex": "1F8A4" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "129189", "Unicode hex": "1F8A5" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "129190", "Unicode hex": "1F8A6" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "129191", "Unicode hex": "1F8A7" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "129192", "Unicode hex": "1F8A8" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "129193", "Unicode hex": "1F8A9" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "129194", "Unicode hex": "1F8AA" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "129195", "Unicode hex": "1F8AB" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "129104", "Unicode hex": "1F850" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "129106", "Unicode hex": "1F852" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "129105", "Unicode hex": "1F851" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "129107", "Unicode hex": "1F853" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "129108", "Unicode hex": "1F854" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "129109", "Unicode hex": "1F855" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "129111", "Unicode hex": "1F857" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "129110", "Unicode hex": "1F856" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "129112", "Unicode hex": "1F858" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "129113", "Unicode hex": "1F859" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "9650", "Unicode hex": "25B2" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "9660", "Unicode hex": "25BC" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "9651", "Unicode hex": "25B3" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "9661", "Unicode hex": "25BD" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "9664", "Unicode hex": "25C0" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "9654", "Unicode hex": "25B6" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "9665", "Unicode hex": "25C1" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "9655", "Unicode hex": "25B7" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "9699", "Unicode hex": "25E3" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "9698", "Unicode hex": "25E2" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "9700", "Unicode hex": "25E4" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "9701", "Unicode hex": "25E5" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "128896", "Unicode hex": "1F780" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "128898", "Unicode hex": "1F782" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "128897", "Unicode hex": "1F781" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "128899", "Unicode hex": "1F783" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "11205", "Unicode hex": "2BC5" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "11206", "Unicode hex": "2BC6" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "11207", "Unicode hex": "2BC7" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "11208", "Unicode hex": "2BC8" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "11164", "Unicode hex": "2B9C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "11166", "Unicode hex": "2B9E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "11165", "Unicode hex": "2B9D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "11167", "Unicode hex": "2B9F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "129040", "Unicode hex": "1F810" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "129042", "Unicode hex": "1F812" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "129041", "Unicode hex": "1F811" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "129043", "Unicode hex": "1F813" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "129044", "Unicode hex": "1F814" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "129046", "Unicode hex": "1F816" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "129045", "Unicode hex": "1F815" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "129047", "Unicode hex": "1F817" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "129048", "Unicode hex": "1F818" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "129050", "Unicode hex": "1F81A" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "129049", "Unicode hex": "1F819" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "129051", "Unicode hex": "1F81B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "129052", "Unicode hex": "1F81C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "129054", "Unicode hex": "1F81E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "129053", "Unicode hex": "1F81D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "129055", "Unicode hex": "1F81F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "129024", "Unicode hex": "1F800" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "129026", "Unicode hex": "1F802" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "129025", "Unicode hex": "1F801" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "129027", "Unicode hex": "1F803" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "129028", "Unicode hex": "1F804" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "129030", "Unicode hex": "1F806" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "129029", "Unicode hex": "1F805" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "129031", "Unicode hex": "1F807" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "129032", "Unicode hex": "1F808" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "129034", "Unicode hex": "1F80A" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "129033", "Unicode hex": "1F809" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "129035", "Unicode hex": "1F80B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "129056", "Unicode hex": "1F820" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "129058", "Unicode hex": "1F822" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "129060", "Unicode hex": "1F824" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "129062", "Unicode hex": "1F826" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "129064", "Unicode hex": "1F828" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "129066", "Unicode hex": "1F82A" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "129068", "Unicode hex": "1F82C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "129180", "Unicode hex": "1F89C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "129181", "Unicode hex": "1F89D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "129182", "Unicode hex": "1F89E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "129183", "Unicode hex": "1F89F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "129070", "Unicode hex": "1F82E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "129072", "Unicode hex": "1F830" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "129074", "Unicode hex": "1F832" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "129076", "Unicode hex": "1F834" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "129078", "Unicode hex": "1F836" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "129080", "Unicode hex": "1F838" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "129082", "Unicode hex": "1F83A" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "129081", "Unicode hex": "1F839" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "129083", "Unicode hex": "1F83B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "129176", "Unicode hex": "1F898" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "129178", "Unicode hex": "1F89A" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "129177", "Unicode hex": "1F899" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "129179", "Unicode hex": "1F89B" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "129084", "Unicode hex": "1F83C" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "129086", "Unicode hex": "1F83E" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "129085", "Unicode hex": "1F83D" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "129087", "Unicode hex": "1F83F" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "129088", "Unicode hex": "1F840" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "129090", "Unicode hex": "1F842" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "129089", "Unicode hex": "1F841" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "129091", "Unicode hex": "1F843" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "129092", "Unicode hex": "1F844" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "129094", "Unicode hex": "1F846" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "129093", "Unicode hex": "1F845" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "129095", "Unicode hex": "1F847" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "11176", "Unicode hex": "2BA8" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "11177", "Unicode hex": "2BA9" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "11178", "Unicode hex": "2BAA" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "11179", "Unicode hex": "2BAB" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "11180", "Unicode hex": "2BAC" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "11181", "Unicode hex": "2BAD" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "11182", "Unicode hex": "2BAE" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "11183", "Unicode hex": "2BAF" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "129120", "Unicode hex": "1F860" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "129122", "Unicode hex": "1F862" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "129121", "Unicode hex": "1F861" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "129123", "Unicode hex": "1F863" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "129124", "Unicode hex": "1F864" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "129125", "Unicode hex": "1F865" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "129127", "Unicode hex": "1F867" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "129126", "Unicode hex": "1F866" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "129136", "Unicode hex": "1F870" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "129138", "Unicode hex": "1F872" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "129137", "Unicode hex": "1F871" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "129139", "Unicode hex": "1F873" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "129140", "Unicode hex": "1F874" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "129141", "Unicode hex": "1F875" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "129143", "Unicode hex": "1F877" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "129142", "Unicode hex": "1F876" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "129152", "Unicode hex": "1F880" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "129154", "Unicode hex": "1F882" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "129153", "Unicode hex": "1F881" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "129155", "Unicode hex": "1F883" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "129156", "Unicode hex": "1F884" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "129157", "Unicode hex": "1F885" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "129159", "Unicode hex": "1F887" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "129158", "Unicode hex": "1F886" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "129168", "Unicode hex": "1F890" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "129170", "Unicode hex": "1F892" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "129169", "Unicode hex": "1F891" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "129171", "Unicode hex": "1F893" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "129172", "Unicode hex": "1F894" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "129174", "Unicode hex": "1F896" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "129173", "Unicode hex": "1F895" }, + { "Typeface name": "Wingdings 3", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "129175", "Unicode hex": "1F897" } + ]; + exports2.default = dingbats; + } +}); + +// node_modules/dingbat-to-unicode/dist/index.js +var require_dist = __commonJS({ + "node_modules/dingbat-to-unicode/dist/index.js"(exports2) { + "use strict"; + var __importDefault = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.hex = exports2.dec = exports2.codePoint = void 0; + var dingbats_1 = __importDefault(require_dingbats()); + var dingbatsByCodePoint = {}; + var fromCodePoint = String.fromCodePoint ? String.fromCodePoint : fromCodePointPolyfill; + for (_i = 0, dingbats_2 = dingbats_1.default; _i < dingbats_2.length; _i++) { + dingbat = dingbats_2[_i]; + codePoint_1 = parseInt(dingbat["Unicode dec"], 10); + scalarValue = { + codePoint: codePoint_1, + string: fromCodePoint(codePoint_1) + }; + dingbatsByCodePoint[dingbat["Typeface name"].toUpperCase() + "_" + dingbat["Dingbat dec"]] = scalarValue; + } + var dingbat; + var codePoint_1; + var scalarValue; + var _i; + var dingbats_2; + function codePoint(typeface, codePoint2) { + return dingbatsByCodePoint[typeface.toUpperCase() + "_" + codePoint2]; + } + exports2.codePoint = codePoint; + function dec(typeface, dec2) { + return codePoint(typeface, parseInt(dec2, 10)); + } + exports2.dec = dec; + function hex(typeface, hex2) { + return codePoint(typeface, parseInt(hex2, 16)); + } + exports2.hex = hex; + function fromCodePointPolyfill(codePoint2) { + if (codePoint2 <= 65535) { + return String.fromCharCode(codePoint2); + } else { + var highSurrogate = Math.floor((codePoint2 - 65536) / 1024) + 55296; + var lowSurrogate = (codePoint2 - 65536) % 1024 + 56320; + return String.fromCharCode(highSurrogate, lowSurrogate); + } + } + } +}); + +// node_modules/mammoth/lib/docx/uris.js +var require_uris = __commonJS({ + "node_modules/mammoth/lib/docx/uris.js"(exports2) { + exports2.uriToZipEntryName = uriToZipEntryName; + exports2.replaceFragment = replaceFragment; + function uriToZipEntryName(base, uri) { + if (uri.charAt(0) === "/") { + return uri.substr(1); + } else { + return base + "/" + uri; + } + } + function replaceFragment(uri, fragment) { + var hashIndex = uri.indexOf("#"); + if (hashIndex !== -1) { + uri = uri.substring(0, hashIndex); + } + return uri + "#" + fragment; + } + } +}); + +// node_modules/mammoth/lib/docx/body-reader.js +var require_body_reader = __commonJS({ + "node_modules/mammoth/lib/docx/body-reader.js"(exports2) { + exports2.createBodyReader = createBodyReader; + exports2._readNumberingProperties = readNumberingProperties; + var dingbatToUnicode = require_dist(); + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var documents = require_documents(); + var Result = require_results().Result; + var warning = require_results().warning; + var uris = require_uris(); + function createBodyReader(options) { + return { + readXmlElement: function(element) { + return new BodyReader(options).readXmlElement(element); + }, + readXmlElements: function(elements) { + return new BodyReader(options).readXmlElements(elements); + } + }; + } + function BodyReader(options) { + var complexFieldStack = []; + var currentInstrText = []; + var deletedParagraphContents = []; + var relationships = options.relationships; + var contentTypes = options.contentTypes; + var docxFile = options.docxFile; + var files = options.files; + var numbering = options.numbering; + var styles = options.styles; + function readXmlElements(elements) { + var results = elements.map(readXmlElement); + return combineResults(results); + } + function readXmlElement(element) { + if (element.type === "element") { + var handler = xmlElementReaders[element.name]; + if (handler) { + return handler(element); + } else if (!Object.prototype.hasOwnProperty.call(ignoreElements, element.name)) { + var message = warning("An unrecognised element was ignored: " + element.name); + return emptyResultWithMessages([message]); + } + } + return emptyResult(); + } + function readParagraphProperties(element) { + return readParagraphStyle(element).map(function(style) { + return { + type: "paragraphProperties", + styleId: style.styleId, + styleName: style.name, + alignment: element.firstOrEmpty("w:jc").attributes["w:val"], + numbering: readNumberingProperties(style.styleId, element.firstOrEmpty("w:numPr"), numbering), + indent: readParagraphIndent(element.firstOrEmpty("w:ind")) + }; + }); + } + function readParagraphIndent(element) { + return { + start: element.attributes["w:start"] || element.attributes["w:left"], + end: element.attributes["w:end"] || element.attributes["w:right"], + firstLine: element.attributes["w:firstLine"], + hanging: element.attributes["w:hanging"] + }; + } + function readRunProperties(element) { + return readRunStyle(element).map(function(style) { + var fontSizeString = element.firstOrEmpty("w:sz").attributes["w:val"]; + var fontSize = /^[0-9]+$/.test(fontSizeString) ? parseInt(fontSizeString, 10) / 2 : null; + return { + type: "runProperties", + styleId: style.styleId, + styleName: style.name, + verticalAlignment: element.firstOrEmpty("w:vertAlign").attributes["w:val"], + font: element.firstOrEmpty("w:rFonts").attributes["w:ascii"], + fontSize, + isBold: readBooleanElement(element.first("w:b")), + isUnderline: readUnderline(element.first("w:u")), + isItalic: readBooleanElement(element.first("w:i")), + isStrikethrough: readBooleanElement(element.first("w:strike")), + isAllCaps: readBooleanElement(element.first("w:caps")), + isSmallCaps: readBooleanElement(element.first("w:smallCaps")), + highlight: readHighlightValue(element.firstOrEmpty("w:highlight").attributes["w:val"]) + }; + }); + } + function readUnderline(element) { + if (element) { + var value = element.attributes["w:val"]; + return value !== void 0 && value !== "false" && value !== "0" && value !== "none"; + } else { + return false; + } + } + function readBooleanElement(element) { + if (element) { + var value = element.attributes["w:val"]; + return value !== "false" && value !== "0"; + } else { + return false; + } + } + function readHighlightValue(value) { + if (!value || value === "none") { + return null; + } else { + return value; + } + } + function readParagraphStyle(element) { + return readStyle(element, "w:pStyle", "Paragraph", styles.findParagraphStyleById); + } + function readRunStyle(element) { + return readStyle(element, "w:rStyle", "Run", styles.findCharacterStyleById); + } + function readTableStyle(element) { + return readStyle(element, "w:tblStyle", "Table", styles.findTableStyleById); + } + function readStyle(element, styleTagName, styleType, findStyleById) { + var messages = []; + var styleElement = element.first(styleTagName); + var styleId = null; + var name = null; + if (styleElement) { + styleId = styleElement.attributes["w:val"]; + if (styleId) { + var style = findStyleById(styleId); + if (style) { + name = style.name; + } else { + messages.push(undefinedStyleWarning(styleType, styleId)); + } + } + } + return elementResultWithMessages({ styleId, name }, messages); + } + var unknownComplexField = { type: "unknown" }; + function readFldChar(element) { + var type = element.attributes["w:fldCharType"]; + if (type === "begin") { + complexFieldStack.push(unknownComplexField); + currentInstrText = []; + } else if (type === "end") { + complexFieldStack.pop(); + } else if (type === "separate") { + var hyperlinkOptions = parseHyperlinkFieldCode(currentInstrText.join("")); + var complexField = hyperlinkOptions === null ? unknownComplexField : { type: "hyperlink", options: hyperlinkOptions }; + complexFieldStack.pop(); + complexFieldStack.push(complexField); + } + return emptyResult(); + } + function currentHyperlinkOptions() { + var topHyperlink = _3.last(complexFieldStack.filter(function(complexField) { + return complexField.type === "hyperlink"; + })); + return topHyperlink ? topHyperlink.options : null; + } + function parseHyperlinkFieldCode(code) { + var externalLinkResult = /\s*HYPERLINK "(.*)"/.exec(code); + if (externalLinkResult) { + return { href: externalLinkResult[1] }; + } + var internalLinkResult = /\s*HYPERLINK\s+\\l\s+"(.*)"/.exec(code); + if (internalLinkResult) { + return { anchor: internalLinkResult[1] }; + } + return null; + } + function readInstrText(element) { + currentInstrText.push(element.text()); + return emptyResult(); + } + function readSymbol(element) { + var font = element.attributes["w:font"]; + var char = element.attributes["w:char"]; + var unicodeCharacter = dingbatToUnicode.hex(font, char); + if (unicodeCharacter == null && /^F0..$/.test(char)) { + unicodeCharacter = dingbatToUnicode.hex(font, char.substring(2)); + } + if (unicodeCharacter == null) { + return emptyResultWithMessages([warning( + "A w:sym element with an unsupported character was ignored: char " + char + " in font " + font + )]); + } else { + return elementResult(new documents.Text(unicodeCharacter.string)); + } + } + function noteReferenceReader(noteType) { + return function(element) { + var noteId = element.attributes["w:id"]; + return elementResult(new documents.NoteReference({ + noteType, + noteId + })); + }; + } + function readCommentReference(element) { + return elementResult(documents.commentReference({ + commentId: element.attributes["w:id"] + })); + } + function readChildElements(element) { + return readXmlElements(element.children); + } + var xmlElementReaders = { + "w:p": function(element) { + var paragraphPropertiesElement = element.firstOrEmpty("w:pPr"); + var isDeleted = !!paragraphPropertiesElement.firstOrEmpty("w:rPr").first("w:del"); + if (isDeleted) { + element.children.forEach(function(child) { + deletedParagraphContents.push(child); + }); + return emptyResult(); + } else { + var childrenXml = element.children; + if (deletedParagraphContents.length > 0) { + childrenXml = deletedParagraphContents.concat(childrenXml); + deletedParagraphContents = []; + } + return ReadResult.map( + readParagraphProperties(paragraphPropertiesElement), + readXmlElements(childrenXml), + function(properties, children) { + return new documents.Paragraph(children, properties); + } + ).insertExtra(); + } + }, + "w:r": function(element) { + return ReadResult.map( + readRunProperties(element.firstOrEmpty("w:rPr")), + readXmlElements(element.children), + function(properties, children) { + var hyperlinkOptions = currentHyperlinkOptions(); + if (hyperlinkOptions !== null) { + children = [new documents.Hyperlink(children, hyperlinkOptions)]; + } + return new documents.Run(children, properties); + } + ); + }, + "w:fldChar": readFldChar, + "w:instrText": readInstrText, + "w:t": function(element) { + return elementResult(new documents.Text(element.text())); + }, + "w:tab": function(element) { + return elementResult(new documents.Tab()); + }, + "w:noBreakHyphen": function() { + return elementResult(new documents.Text("\u2011")); + }, + "w:softHyphen": function(element) { + return elementResult(new documents.Text("\xAD")); + }, + "w:sym": readSymbol, + "w:hyperlink": function(element) { + var relationshipId = element.attributes["r:id"]; + var anchor = element.attributes["w:anchor"]; + return readXmlElements(element.children).map(function(children) { + function create2(options2) { + var targetFrame = element.attributes["w:tgtFrame"] || null; + return new documents.Hyperlink( + children, + _3.extend({ targetFrame }, options2) + ); + } + if (relationshipId) { + var href = relationships.findTargetByRelationshipId(relationshipId); + if (anchor) { + href = uris.replaceFragment(href, anchor); + } + return create2({ href }); + } else if (anchor) { + return create2({ anchor }); + } else { + return children; + } + }); + }, + "w:tbl": readTable, + "w:tr": readTableRow, + "w:tc": readTableCell, + "w:footnoteReference": noteReferenceReader("footnote"), + "w:endnoteReference": noteReferenceReader("endnote"), + "w:commentReference": readCommentReference, + "w:br": function(element) { + var breakType = element.attributes["w:type"]; + if (breakType == null || breakType === "textWrapping") { + return elementResult(documents.lineBreak); + } else if (breakType === "page") { + return elementResult(documents.pageBreak); + } else if (breakType === "column") { + return elementResult(documents.columnBreak); + } else { + return emptyResultWithMessages([warning("Unsupported break type: " + breakType)]); + } + }, + "w:bookmarkStart": function(element) { + var name = element.attributes["w:name"]; + if (name === "_GoBack") { + return emptyResult(); + } else { + return elementResult(new documents.BookmarkStart({ name })); + } + }, + "mc:AlternateContent": function(element) { + return readChildElements(element.first("mc:Fallback")); + }, + "w:sdt": function(element) { + return readXmlElements(element.firstOrEmpty("w:sdtContent").children); + }, + "w:ins": readChildElements, + "w:object": readChildElements, + "w:smartTag": readChildElements, + "w:drawing": readChildElements, + "w:pict": function(element) { + return readChildElements(element).toExtra(); + }, + "v:roundrect": readChildElements, + "v:shape": readChildElements, + "v:textbox": readChildElements, + "w:txbxContent": readChildElements, + "wp:inline": readDrawingElement, + "wp:anchor": readDrawingElement, + "v:imagedata": readImageData, + "v:group": readChildElements, + "v:rect": readChildElements + }; + return { + readXmlElement, + readXmlElements + }; + function readTable(element) { + var propertiesResult = readTableProperties(element.firstOrEmpty("w:tblPr")); + return readXmlElements(element.children).flatMap(calculateRowSpans).flatMap(function(children) { + return propertiesResult.map(function(properties) { + return documents.Table(children, properties); + }); + }); + } + function readTableProperties(element) { + return readTableStyle(element).map(function(style) { + return { + styleId: style.styleId, + styleName: style.name + }; + }); + } + function readTableRow(element) { + var properties = element.firstOrEmpty("w:trPr"); + var isHeader = !!properties.first("w:tblHeader"); + return readXmlElements(element.children).map(function(children) { + return documents.TableRow(children, { isHeader }); + }); + } + function readTableCell(element) { + return readXmlElements(element.children).map(function(children) { + var properties = element.firstOrEmpty("w:tcPr"); + var gridSpan = properties.firstOrEmpty("w:gridSpan").attributes["w:val"]; + var colSpan = gridSpan ? parseInt(gridSpan, 10) : 1; + var cell = documents.TableCell(children, { colSpan }); + cell._vMerge = readVMerge(properties); + return cell; + }); + } + function readVMerge(properties) { + var element = properties.first("w:vMerge"); + if (element) { + var val = element.attributes["w:val"]; + return val === "continue" || !val; + } else { + return null; + } + } + function calculateRowSpans(rows) { + var unexpectedNonRows = _3.any(rows, function(row) { + return row.type !== documents.types.tableRow; + }); + if (unexpectedNonRows) { + return elementResultWithMessages(rows, [warning( + "unexpected non-row element in table, cell merging may be incorrect" + )]); + } + var unexpectedNonCells = _3.any(rows, function(row) { + return _3.any(row.children, function(cell) { + return cell.type !== documents.types.tableCell; + }); + }); + if (unexpectedNonCells) { + return elementResultWithMessages(rows, [warning( + "unexpected non-cell element in table row, cell merging may be incorrect" + )]); + } + var columns = {}; + rows.forEach(function(row) { + var cellIndex = 0; + row.children.forEach(function(cell) { + if (cell._vMerge && columns[cellIndex]) { + columns[cellIndex].rowSpan++; + } else { + columns[cellIndex] = cell; + cell._vMerge = false; + } + cellIndex += cell.colSpan; + }); + }); + rows.forEach(function(row) { + row.children = row.children.filter(function(cell) { + return !cell._vMerge; + }); + row.children.forEach(function(cell) { + delete cell._vMerge; + }); + }); + return elementResult(rows); + } + function readDrawingElement(element) { + var blips = element.getElementsByTagName("a:graphic").getElementsByTagName("a:graphicData").getElementsByTagName("pic:pic").getElementsByTagName("pic:blipFill").getElementsByTagName("a:blip"); + return combineResults(blips.map(readBlip.bind(null, element))); + } + function readBlip(element, blip) { + var properties = element.first("wp:docPr").attributes; + var altText = isBlank2(properties.descr) ? properties.title : properties.descr; + var blipImageFile = findBlipImageFile(blip); + if (blipImageFile === null) { + return emptyResultWithMessages([warning("Could not find image file for a:blip element")]); + } else { + return readImage(blipImageFile, altText); + } + } + function isBlank2(value) { + return value == null || /^\s*$/.test(value); + } + function findBlipImageFile(blip) { + var embedRelationshipId = blip.attributes["r:embed"]; + var linkRelationshipId = blip.attributes["r:link"]; + if (embedRelationshipId) { + return findEmbeddedImageFile(embedRelationshipId); + } else if (linkRelationshipId) { + var imagePath = relationships.findTargetByRelationshipId(linkRelationshipId); + return { + path: imagePath, + read: files.read.bind(files, imagePath) + }; + } else { + return null; + } + } + function readImageData(element) { + var relationshipId = element.attributes["r:id"]; + if (relationshipId) { + return readImage( + findEmbeddedImageFile(relationshipId), + element.attributes["o:title"] + ); + } else { + return emptyResultWithMessages([warning("A v:imagedata element without a relationship ID was ignored")]); + } + } + function findEmbeddedImageFile(relationshipId) { + var path = uris.uriToZipEntryName("word", relationships.findTargetByRelationshipId(relationshipId)); + return { + path, + read: docxFile.read.bind(docxFile, path) + }; + } + function readImage(imageFile, altText) { + var contentType = contentTypes.findContentType(imageFile.path); + var image = documents.Image({ + readImage: imageFile.read, + altText, + contentType + }); + var warnings = supportedImageTypes[contentType] ? [] : warning("Image of type " + contentType + " is unlikely to display in web browsers"); + return elementResultWithMessages(image, warnings); + } + function undefinedStyleWarning(type, styleId) { + return warning( + type + " style with ID " + styleId + " was referenced but not defined in the document" + ); + } + } + function readNumberingProperties(styleId, element, numbering) { + var level = element.firstOrEmpty("w:ilvl").attributes["w:val"]; + var numId = element.firstOrEmpty("w:numId").attributes["w:val"]; + if (level !== void 0 && numId !== void 0) { + return numbering.findLevel(numId, level); + } + if (styleId != null) { + var levelByStyleId = numbering.findLevelByParagraphStyleId(styleId); + if (levelByStyleId != null) { + return levelByStyleId; + } + } + return null; + } + var supportedImageTypes = { + "image/png": true, + "image/gif": true, + "image/jpeg": true, + "image/svg+xml": true, + "image/tiff": true + }; + var ignoreElements = { + "office-word:wrap": true, + "v:shadow": true, + "v:shapetype": true, + "w:annotationRef": true, + "w:bookmarkEnd": true, + "w:sectPr": true, + "w:proofErr": true, + "w:lastRenderedPageBreak": true, + "w:commentRangeStart": true, + "w:commentRangeEnd": true, + "w:del": true, + "w:footnoteRef": true, + "w:endnoteRef": true, + "w:pPr": true, + "w:rPr": true, + "w:tblPr": true, + "w:tblGrid": true, + "w:trPr": true, + "w:tcPr": true + }; + function emptyResultWithMessages(messages) { + return new ReadResult(null, null, messages); + } + function emptyResult() { + return new ReadResult(null); + } + function elementResult(element) { + return new ReadResult(element); + } + function elementResultWithMessages(element, messages) { + return new ReadResult(element, null, messages); + } + function ReadResult(element, extra, messages) { + this.value = element || []; + this.extra = extra || []; + this._result = new Result({ + element: this.value, + extra + }, messages); + this.messages = this._result.messages; + } + ReadResult.prototype.toExtra = function() { + return new ReadResult(null, joinElements(this.extra, this.value), this.messages); + }; + ReadResult.prototype.insertExtra = function() { + var extra = this.extra; + if (extra && extra.length) { + return new ReadResult(joinElements(this.value, extra), null, this.messages); + } else { + return this; + } + }; + ReadResult.prototype.map = function(func) { + var result2 = this._result.map(function(value) { + return func(value.element); + }); + return new ReadResult(result2.value, this.extra, result2.messages); + }; + ReadResult.prototype.flatMap = function(func) { + var result2 = this._result.flatMap(function(value) { + return func(value.element)._result; + }); + return new ReadResult(result2.value.element, joinElements(this.extra, result2.value.extra), result2.messages); + }; + ReadResult.map = function(first2, second, func) { + return new ReadResult( + func(first2.value, second.value), + joinElements(first2.extra, second.extra), + first2.messages.concat(second.messages) + ); + }; + function combineResults(results) { + var result2 = Result.combine(_3.pluck(results, "_result")); + return new ReadResult( + _3.flatten(_3.pluck(result2.value, "element")), + _3.filter(_3.flatten(_3.pluck(result2.value, "extra")), identity2), + result2.messages + ); + } + function joinElements(first2, second) { + return _3.flatten([first2, second]); + } + function identity2(value) { + return value; + } + } +}); + +// node_modules/mammoth/lib/docx/document-xml-reader.js +var require_document_xml_reader = __commonJS({ + "node_modules/mammoth/lib/docx/document-xml-reader.js"(exports2) { + exports2.DocumentXmlReader = DocumentXmlReader; + var documents = require_documents(); + var Result = require_results().Result; + function DocumentXmlReader(options) { + var bodyReader = options.bodyReader; + function convertXmlToDocument(element) { + var body = element.first("w:body"); + if (body == null) { + throw new Error("Could not find the body element: are you sure this is a docx file?"); + } + var result2 = bodyReader.readXmlElements(body.children).map(function(children) { + return new documents.Document(children, { + notes: options.notes, + comments: options.comments + }); + }); + return new Result(result2.value, result2.messages); + } + return { + convertXmlToDocument + }; + } + } +}); + +// node_modules/mammoth/lib/docx/relationships-reader.js +var require_relationships_reader = __commonJS({ + "node_modules/mammoth/lib/docx/relationships-reader.js"(exports2) { + exports2.readRelationships = readRelationships; + exports2.defaultValue = new Relationships([]); + exports2.Relationships = Relationships; + function readRelationships(element) { + var relationships = []; + element.children.forEach(function(child) { + if (child.name === "relationships:Relationship") { + var relationship = { + relationshipId: child.attributes.Id, + target: child.attributes.Target, + type: child.attributes.Type + }; + relationships.push(relationship); + } + }); + return new Relationships(relationships); + } + function Relationships(relationships) { + var targetsByRelationshipId = {}; + relationships.forEach(function(relationship) { + targetsByRelationshipId[relationship.relationshipId] = relationship.target; + }); + var targetsByType = {}; + relationships.forEach(function(relationship) { + if (!targetsByType[relationship.type]) { + targetsByType[relationship.type] = []; + } + targetsByType[relationship.type].push(relationship.target); + }); + return { + findTargetByRelationshipId: function(relationshipId) { + return targetsByRelationshipId[relationshipId]; + }, + findTargetsByType: function(type) { + return targetsByType[type] || []; + } + }; + } + } +}); + +// node_modules/mammoth/lib/docx/content-types-reader.js +var require_content_types_reader = __commonJS({ + "node_modules/mammoth/lib/docx/content-types-reader.js"(exports2) { + exports2.readContentTypesFromXml = readContentTypesFromXml; + var fallbackContentTypes = { + "png": "png", + "gif": "gif", + "jpeg": "jpeg", + "jpg": "jpeg", + "tif": "tiff", + "tiff": "tiff", + "bmp": "bmp" + }; + exports2.defaultContentTypes = contentTypes({}, {}); + function readContentTypesFromXml(element) { + var extensionDefaults = {}; + var overrides = {}; + element.children.forEach(function(child) { + if (child.name === "content-types:Default") { + extensionDefaults[child.attributes.Extension] = child.attributes.ContentType; + } + if (child.name === "content-types:Override") { + var name = child.attributes.PartName; + if (name.charAt(0) === "/") { + name = name.substring(1); + } + overrides[name] = child.attributes.ContentType; + } + }); + return contentTypes(overrides, extensionDefaults); + } + function contentTypes(overrides, extensionDefaults) { + return { + findContentType: function(path) { + var overrideContentType = overrides[path]; + if (overrideContentType) { + return overrideContentType; + } else { + var pathParts = path.split("."); + var extension = pathParts[pathParts.length - 1]; + if (extensionDefaults.hasOwnProperty(extension)) { + return extensionDefaults[extension]; + } else { + var fallback = fallbackContentTypes[extension.toLowerCase()]; + if (fallback) { + return "image/" + fallback; + } else { + return null; + } + } + } + } + }; + } + } +}); + +// node_modules/mammoth/lib/docx/numbering-xml.js +var require_numbering_xml = __commonJS({ + "node_modules/mammoth/lib/docx/numbering-xml.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + exports2.readNumberingXml = readNumberingXml; + exports2.Numbering = Numbering; + exports2.defaultNumbering = new Numbering({}, {}); + function Numbering(nums, abstractNums, styles) { + var allLevels = _3.flatten(_3.values(abstractNums).map(function(abstractNum) { + return _3.values(abstractNum.levels); + })); + var levelsByParagraphStyleId = _3.indexBy( + allLevels.filter(function(level) { + return level.paragraphStyleId != null; + }), + "paragraphStyleId" + ); + function findLevel(numId, level) { + var num = nums[numId]; + if (num) { + var abstractNum = abstractNums[num.abstractNumId]; + if (!abstractNum) { + return null; + } else if (abstractNum.numStyleLink == null) { + return abstractNums[num.abstractNumId].levels[level]; + } else { + var style = styles.findNumberingStyleById(abstractNum.numStyleLink); + return findLevel(style.numId, level); + } + } else { + return null; + } + } + function findLevelByParagraphStyleId(styleId) { + return levelsByParagraphStyleId[styleId] || null; + } + return { + findLevel, + findLevelByParagraphStyleId + }; + } + function readNumberingXml(root3, options) { + if (!options || !options.styles) { + throw new Error("styles is missing"); + } + var abstractNums = readAbstractNums(root3); + var nums = readNums(root3, abstractNums); + return new Numbering(nums, abstractNums, options.styles); + } + function readAbstractNums(root3) { + var abstractNums = {}; + root3.getElementsByTagName("w:abstractNum").forEach(function(element) { + var id = element.attributes["w:abstractNumId"]; + abstractNums[id] = readAbstractNum(element); + }); + return abstractNums; + } + function readAbstractNum(element) { + var levels = {}; + element.getElementsByTagName("w:lvl").forEach(function(levelElement) { + var levelIndex = levelElement.attributes["w:ilvl"]; + var numFmt = levelElement.firstOrEmpty("w:numFmt").attributes["w:val"]; + var paragraphStyleId = levelElement.firstOrEmpty("w:pStyle").attributes["w:val"]; + levels[levelIndex] = { + isOrdered: numFmt !== "bullet", + level: levelIndex, + paragraphStyleId + }; + }); + var numStyleLink = element.firstOrEmpty("w:numStyleLink").attributes["w:val"]; + return { levels, numStyleLink }; + } + function readNums(root3) { + var nums = {}; + root3.getElementsByTagName("w:num").forEach(function(element) { + var numId = element.attributes["w:numId"]; + var abstractNumId = element.first("w:abstractNumId").attributes["w:val"]; + nums[numId] = { abstractNumId }; + }); + return nums; + } + } +}); + +// node_modules/mammoth/lib/docx/styles-reader.js +var require_styles_reader = __commonJS({ + "node_modules/mammoth/lib/docx/styles-reader.js"(exports2) { + exports2.readStylesXml = readStylesXml; + exports2.Styles = Styles; + exports2.defaultStyles = new Styles({}, {}); + function Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles) { + return { + findParagraphStyleById: function(styleId) { + return paragraphStyles[styleId]; + }, + findCharacterStyleById: function(styleId) { + return characterStyles[styleId]; + }, + findTableStyleById: function(styleId) { + return tableStyles[styleId]; + }, + findNumberingStyleById: function(styleId) { + return numberingStyles[styleId]; + } + }; + } + Styles.EMPTY = new Styles({}, {}, {}, {}); + function readStylesXml(root3) { + var paragraphStyles = {}; + var characterStyles = {}; + var tableStyles = {}; + var numberingStyles = {}; + var styles = { + "paragraph": paragraphStyles, + "character": characterStyles, + "table": tableStyles + }; + root3.getElementsByTagName("w:style").forEach(function(styleElement) { + var style = readStyleElement(styleElement); + if (style.type === "numbering") { + numberingStyles[style.styleId] = readNumberingStyleElement(styleElement); + } else { + var styleSet = styles[style.type]; + if (styleSet) { + styleSet[style.styleId] = style; + } + } + }); + return new Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles); + } + function readStyleElement(styleElement) { + var type = styleElement.attributes["w:type"]; + var styleId = styleElement.attributes["w:styleId"]; + var name = styleName(styleElement); + return { type, styleId, name }; + } + function styleName(styleElement) { + var nameElement = styleElement.first("w:name"); + return nameElement ? nameElement.attributes["w:val"] : null; + } + function readNumberingStyleElement(styleElement) { + var numId = styleElement.firstOrEmpty("w:pPr").firstOrEmpty("w:numPr").firstOrEmpty("w:numId").attributes["w:val"]; + return { numId }; + } + } +}); + +// node_modules/mammoth/lib/docx/notes-reader.js +var require_notes_reader = __commonJS({ + "node_modules/mammoth/lib/docx/notes-reader.js"(exports2) { + var documents = require_documents(); + var Result = require_results().Result; + exports2.createFootnotesReader = createReader.bind(exports2, "footnote"); + exports2.createEndnotesReader = createReader.bind(exports2, "endnote"); + function createReader(noteType, bodyReader) { + function readNotesXml(element) { + return Result.combine(element.getElementsByTagName("w:" + noteType).filter(isFootnoteElement).map(readFootnoteElement)); + } + function isFootnoteElement(element) { + var type = element.attributes["w:type"]; + return type !== "continuationSeparator" && type !== "separator"; + } + function readFootnoteElement(footnoteElement) { + var id = footnoteElement.attributes["w:id"]; + return bodyReader.readXmlElements(footnoteElement.children).map(function(body) { + return documents.Note({ noteType, noteId: id, body }); + }); + } + return readNotesXml; + } + } +}); + +// node_modules/mammoth/lib/docx/comments-reader.js +var require_comments_reader = __commonJS({ + "node_modules/mammoth/lib/docx/comments-reader.js"(exports2) { + var documents = require_documents(); + var Result = require_results().Result; + function createCommentsReader(bodyReader) { + function readCommentsXml(element) { + return Result.combine(element.getElementsByTagName("w:comment").map(readCommentElement)); + } + function readCommentElement(element) { + var id = element.attributes["w:id"]; + function readOptionalAttribute(name) { + return (element.attributes[name] || "").trim() || null; + } + return bodyReader.readXmlElements(element.children).map(function(body) { + return documents.comment({ + commentId: id, + body, + authorName: readOptionalAttribute("w:author"), + authorInitials: readOptionalAttribute("w:initials") + }); + }); + } + return readCommentsXml; + } + exports2.createCommentsReader = createCommentsReader; + } +}); + +// node_modules/mammoth/browser/docx/files.js +var require_files = __commonJS({ + "node_modules/mammoth/browser/docx/files.js"(exports2) { + var promises = require_promises(); + exports2.Files = Files; + function Files() { + function read(uri) { + return promises.reject(new Error("could not open external image: '" + uri + "'\ncannot open linked files from a web browser")); + } + return { + read + }; + } + } +}); + +// node_modules/mammoth/lib/docx/docx-reader.js +var require_docx_reader = __commonJS({ + "node_modules/mammoth/lib/docx/docx-reader.js"(exports2) { + exports2.read = read; + exports2._findPartPaths = findPartPaths; + var promises = require_promises(); + var documents = require_documents(); + var Result = require_results().Result; + var zipfile = require_zipfile(); + var readXmlFromZipFile = require_office_xml_reader().readXmlFromZipFile; + var createBodyReader = require_body_reader().createBodyReader; + var DocumentXmlReader = require_document_xml_reader().DocumentXmlReader; + var relationshipsReader = require_relationships_reader(); + var contentTypesReader = require_content_types_reader(); + var numberingXml = require_numbering_xml(); + var stylesReader = require_styles_reader(); + var notesReader = require_notes_reader(); + var commentsReader = require_comments_reader(); + var Files = require_files().Files; + function read(docxFile, input) { + input = input || {}; + return promises.props({ + contentTypes: readContentTypesFromZipFile(docxFile), + partPaths: findPartPaths(docxFile), + docxFile, + files: input.path ? Files.relativeToFile(input.path) : new Files(null) + }).also(function(result2) { + return { + styles: readStylesFromZipFile(docxFile, result2.partPaths.styles) + }; + }).also(function(result2) { + return { + numbering: readNumberingFromZipFile(docxFile, result2.partPaths.numbering, result2.styles) + }; + }).also(function(result2) { + return { + footnotes: readXmlFileWithBody(result2.partPaths.footnotes, result2, function(bodyReader, xml) { + if (xml) { + return notesReader.createFootnotesReader(bodyReader)(xml); + } else { + return new Result([]); + } + }), + endnotes: readXmlFileWithBody(result2.partPaths.endnotes, result2, function(bodyReader, xml) { + if (xml) { + return notesReader.createEndnotesReader(bodyReader)(xml); + } else { + return new Result([]); + } + }), + comments: readXmlFileWithBody(result2.partPaths.comments, result2, function(bodyReader, xml) { + if (xml) { + return commentsReader.createCommentsReader(bodyReader)(xml); + } else { + return new Result([]); + } + }) + }; + }).also(function(result2) { + return { + notes: result2.footnotes.flatMap(function(footnotes) { + return result2.endnotes.map(function(endnotes) { + return new documents.Notes(footnotes.concat(endnotes)); + }); + }) + }; + }).then(function(result2) { + return readXmlFileWithBody(result2.partPaths.mainDocument, result2, function(bodyReader, xml) { + return result2.notes.flatMap(function(notes) { + return result2.comments.flatMap(function(comments) { + var reader = new DocumentXmlReader({ + bodyReader, + notes, + comments + }); + return reader.convertXmlToDocument(xml); + }); + }); + }); + }); + } + function findPartPaths(docxFile) { + return readPackageRelationships(docxFile).then(function(packageRelationships) { + var mainDocumentPath = findPartPath({ + docxFile, + relationships: packageRelationships, + relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", + basePath: "", + fallbackPath: "word/document.xml" + }); + if (!docxFile.exists(mainDocumentPath)) { + throw new Error("Could not find main document part. Are you sure this is a valid .docx file?"); + } + return xmlFileReader({ + filename: relationshipsFilename(mainDocumentPath), + readElement: relationshipsReader.readRelationships, + defaultValue: relationshipsReader.defaultValue + })(docxFile).then(function(documentRelationships) { + function findPartRelatedToMainDocument(name) { + return findPartPath({ + docxFile, + relationships: documentRelationships, + relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/" + name, + basePath: zipfile.splitPath(mainDocumentPath).dirname, + fallbackPath: "word/" + name + ".xml" + }); + } + return { + mainDocument: mainDocumentPath, + comments: findPartRelatedToMainDocument("comments"), + endnotes: findPartRelatedToMainDocument("endnotes"), + footnotes: findPartRelatedToMainDocument("footnotes"), + numbering: findPartRelatedToMainDocument("numbering"), + styles: findPartRelatedToMainDocument("styles") + }; + }); + }); + } + function findPartPath(options) { + var docxFile = options.docxFile; + var relationships = options.relationships; + var relationshipType = options.relationshipType; + var basePath = options.basePath; + var fallbackPath = options.fallbackPath; + var targets = relationships.findTargetsByType(relationshipType); + var normalisedTargets = targets.map(function(target) { + return stripPrefix(zipfile.joinPath(basePath, target), "/"); + }); + var validTargets = normalisedTargets.filter(function(target) { + return docxFile.exists(target); + }); + if (validTargets.length === 0) { + return fallbackPath; + } else { + return validTargets[0]; + } + } + function stripPrefix(value, prefix) { + if (value.substring(0, prefix.length) === prefix) { + return value.substring(prefix.length); + } else { + return value; + } + } + function xmlFileReader(options) { + return function(zipFile) { + return readXmlFromZipFile(zipFile, options.filename).then(function(element) { + return element ? options.readElement(element) : options.defaultValue; + }); + }; + } + function readXmlFileWithBody(filename, options, func) { + var readRelationshipsFromZipFile = xmlFileReader({ + filename: relationshipsFilename(filename), + readElement: relationshipsReader.readRelationships, + defaultValue: relationshipsReader.defaultValue + }); + return readRelationshipsFromZipFile(options.docxFile).then(function(relationships) { + var bodyReader = new createBodyReader({ + relationships, + contentTypes: options.contentTypes, + docxFile: options.docxFile, + numbering: options.numbering, + styles: options.styles, + files: options.files + }); + return readXmlFromZipFile(options.docxFile, filename).then(function(xml) { + return func(bodyReader, xml); + }); + }); + } + function relationshipsFilename(filename) { + var split = zipfile.splitPath(filename); + return zipfile.joinPath(split.dirname, "_rels", split.basename + ".rels"); + } + var readContentTypesFromZipFile = xmlFileReader({ + filename: "[Content_Types].xml", + readElement: contentTypesReader.readContentTypesFromXml, + defaultValue: contentTypesReader.defaultContentTypes + }); + function readNumberingFromZipFile(zipFile, path, styles) { + return xmlFileReader({ + filename: path, + readElement: function(element) { + return numberingXml.readNumberingXml(element, { styles }); + }, + defaultValue: numberingXml.defaultNumbering + })(zipFile); + } + function readStylesFromZipFile(zipFile, path) { + return xmlFileReader({ + filename: path, + readElement: stylesReader.readStylesXml, + defaultValue: stylesReader.defaultStyles + })(zipFile); + } + var readPackageRelationships = xmlFileReader({ + filename: "_rels/.rels", + readElement: relationshipsReader.readRelationships, + defaultValue: relationshipsReader.defaultValue + }); + } +}); + +// node_modules/mammoth/lib/docx/style-map.js +var require_style_map = __commonJS({ + "node_modules/mammoth/lib/docx/style-map.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var promises = require_promises(); + var xml = require_xml(); + exports2.writeStyleMap = writeStyleMap; + exports2.readStyleMap = readStyleMap; + var schema = "http://schemas.zwobble.org/mammoth/style-map"; + var styleMapPath = "mammoth/style-map"; + var styleMapAbsolutePath = "/" + styleMapPath; + function writeStyleMap(docxFile, styleMap) { + docxFile.write(styleMapPath, styleMap); + return updateRelationships(docxFile).then(function() { + return updateContentTypes(docxFile); + }); + } + function updateRelationships(docxFile) { + var path = "word/_rels/document.xml.rels"; + var relationshipsUri = "http://schemas.openxmlformats.org/package/2006/relationships"; + var relationshipElementName = "{" + relationshipsUri + "}Relationship"; + return docxFile.read(path, "utf8").then(xml.readString).then(function(relationshipsContainer) { + var relationships = relationshipsContainer.children; + addOrUpdateElement(relationships, relationshipElementName, "Id", { + "Id": "rMammothStyleMap", + "Type": schema, + "Target": styleMapAbsolutePath + }); + var namespaces = { "": relationshipsUri }; + return docxFile.write(path, xml.writeString(relationshipsContainer, namespaces)); + }); + } + function updateContentTypes(docxFile) { + var path = "[Content_Types].xml"; + var contentTypesUri = "http://schemas.openxmlformats.org/package/2006/content-types"; + var overrideName = "{" + contentTypesUri + "}Override"; + return docxFile.read(path, "utf8").then(xml.readString).then(function(typesElement) { + var children = typesElement.children; + addOrUpdateElement(children, overrideName, "PartName", { + "PartName": styleMapAbsolutePath, + "ContentType": "text/prs.mammoth.style-map" + }); + var namespaces = { "": contentTypesUri }; + return docxFile.write(path, xml.writeString(typesElement, namespaces)); + }); + } + function addOrUpdateElement(elements, name, identifyingAttribute, attributes) { + var existingElement = _3.find(elements, function(element) { + return element.name === name && element.attributes[identifyingAttribute] === attributes[identifyingAttribute]; + }); + if (existingElement) { + existingElement.attributes = attributes; + } else { + elements.push(xml.element(name, attributes)); + } + } + function readStyleMap(docxFile) { + if (docxFile.exists(styleMapPath)) { + return docxFile.read(styleMapPath, "utf8"); + } else { + return promises.resolve(null); + } + } + } +}); + +// node_modules/mammoth/lib/html/ast.js +var require_ast = __commonJS({ + "node_modules/mammoth/lib/html/ast.js"(exports2) { + var htmlPaths = require_html_paths(); + function nonFreshElement(tagName, attributes, children) { + return elementWithTag( + htmlPaths.element(tagName, attributes, { fresh: false }), + children + ); + } + function freshElement(tagName, attributes, children) { + var tag = htmlPaths.element(tagName, attributes, { fresh: true }); + return elementWithTag(tag, children); + } + function elementWithTag(tag, children) { + return { + type: "element", + tag, + children: children || [] + }; + } + function text(value) { + return { + type: "text", + value + }; + } + var forceWrite = { + type: "forceWrite" + }; + exports2.freshElement = freshElement; + exports2.nonFreshElement = nonFreshElement; + exports2.elementWithTag = elementWithTag; + exports2.text = text; + exports2.forceWrite = forceWrite; + var voidTagNames = { + "br": true, + "hr": true, + "img": true + }; + function isVoidElement(node) { + return node.children.length === 0 && voidTagNames[node.tag.tagName]; + } + exports2.isVoidElement = isVoidElement; + } +}); + +// node_modules/mammoth/lib/html/simplify.js +var require_simplify = __commonJS({ + "node_modules/mammoth/lib/html/simplify.js"(exports2, module2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var ast = require_ast(); + function simplify(nodes) { + return collapse(removeEmpty(nodes)); + } + function collapse(nodes) { + var children = []; + nodes.map(collapseNode).forEach(function(child) { + appendChild(children, child); + }); + return children; + } + function collapseNode(node) { + return collapsers[node.type](node); + } + var collapsers = { + element: collapseElement, + text: identity2, + forceWrite: identity2 + }; + function collapseElement(node) { + return ast.elementWithTag(node.tag, collapse(node.children)); + } + function identity2(value) { + return value; + } + function appendChild(children, child) { + var lastChild = children[children.length - 1]; + if (child.type === "element" && !child.tag.fresh && lastChild && lastChild.type === "element" && child.tag.matchesElement(lastChild.tag)) { + if (child.tag.separator) { + appendChild(lastChild.children, ast.text(child.tag.separator)); + } + child.children.forEach(function(grandChild) { + appendChild(lastChild.children, grandChild); + }); + } else { + children.push(child); + } + } + function removeEmpty(nodes) { + return flatMap(nodes, function(node) { + return emptiers[node.type](node); + }); + } + function flatMap(values3, func) { + return _3.flatten(_3.map(values3, func), true); + } + var emptiers = { + element: elementEmptier, + text: textEmptier, + forceWrite: neverEmpty + }; + function neverEmpty(node) { + return [node]; + } + function elementEmptier(element) { + var children = removeEmpty(element.children); + if (children.length === 0 && !ast.isVoidElement(element)) { + return []; + } else { + return [ast.elementWithTag(element.tag, children)]; + } + } + function textEmptier(node) { + if (node.value.length === 0) { + return []; + } else { + return [node]; + } + } + module2.exports = simplify; + } +}); + +// node_modules/mammoth/lib/html/index.js +var require_html = __commonJS({ + "node_modules/mammoth/lib/html/index.js"(exports2) { + var ast = require_ast(); + exports2.freshElement = ast.freshElement; + exports2.nonFreshElement = ast.nonFreshElement; + exports2.elementWithTag = ast.elementWithTag; + exports2.text = ast.text; + exports2.forceWrite = ast.forceWrite; + exports2.simplify = require_simplify(); + function write(writer, nodes) { + nodes.forEach(function(node) { + writeNode(writer, node); + }); + } + function writeNode(writer, node) { + toStrings[node.type](writer, node); + } + var toStrings = { + element: generateElementString, + text: generateTextString, + forceWrite: function() { + } + }; + function generateElementString(writer, node) { + if (ast.isVoidElement(node)) { + writer.selfClosing(node.tag.tagName, node.tag.attributes); + } else { + writer.open(node.tag.tagName, node.tag.attributes); + write(writer, node.children); + writer.close(node.tag.tagName); + } + } + function generateTextString(writer, node) { + writer.text(node.value); + } + exports2.write = write; + } +}); + +// node_modules/mammoth/lib/styles/html-paths.js +var require_html_paths = __commonJS({ + "node_modules/mammoth/lib/styles/html-paths.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var html = require_html(); + exports2.topLevelElement = topLevelElement; + exports2.elements = elements; + exports2.element = element; + function topLevelElement(tagName, attributes) { + return elements([element(tagName, attributes, { fresh: true })]); + } + function elements(elementStyles) { + return new HtmlPath(elementStyles.map(function(elementStyle) { + if (_3.isString(elementStyle)) { + return element(elementStyle); + } else { + return elementStyle; + } + })); + } + function HtmlPath(elements2) { + this._elements = elements2; + } + HtmlPath.prototype.wrap = function wrap2(children) { + var result2 = children(); + for (var index = this._elements.length - 1; index >= 0; index--) { + result2 = this._elements[index].wrapNodes(result2); + } + return result2; + }; + function element(tagName, attributes, options) { + options = options || {}; + return new Element(tagName, attributes, options); + } + function Element(tagName, attributes, options) { + var tagNames = {}; + if (_3.isArray(tagName)) { + tagName.forEach(function(tagName2) { + tagNames[tagName2] = true; + }); + tagName = tagName[0]; + } else { + tagNames[tagName] = true; + } + this.tagName = tagName; + this.tagNames = tagNames; + this.attributes = attributes || {}; + this.fresh = options.fresh; + this.separator = options.separator; + } + Element.prototype.matchesElement = function(element2) { + return this.tagNames[element2.tagName] && _3.isEqual(this.attributes || {}, element2.attributes || {}); + }; + Element.prototype.wrap = function wrap2(generateNodes) { + return this.wrapNodes(generateNodes()); + }; + Element.prototype.wrapNodes = function wrapNodes(nodes) { + return [html.elementWithTag(this, nodes)]; + }; + exports2.empty = elements([]); + exports2.ignore = { + wrap: function() { + return []; + } + }; + } +}); + +// node_modules/mammoth/lib/images.js +var require_images = __commonJS({ + "node_modules/mammoth/lib/images.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var promises = require_promises(); + var Html = require_html(); + exports2.imgElement = imgElement; + function imgElement(func) { + return function(element, messages) { + return promises.when(func(element)).then(function(result2) { + var attributes = {}; + if (element.altText) { + attributes.alt = element.altText; + } + _3.extend(attributes, result2); + return [Html.freshElement("img", attributes)]; + }); + }; + } + exports2.inline = exports2.imgElement; + exports2.dataUri = imgElement(function(element) { + return element.readAsBase64String().then(function(imageBuffer) { + return { + src: "data:" + element.contentType + ";base64," + imageBuffer + }; + }); + }); + } +}); + +// node_modules/mammoth/lib/writers/html-writer.js +var require_html_writer = __commonJS({ + "node_modules/mammoth/lib/writers/html-writer.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + exports2.writer = writer; + function writer(options) { + options = options || {}; + if (options.prettyPrint) { + return prettyWriter(); + } else { + return simpleWriter(); + } + } + var indentedElements = { + div: true, + p: true, + ul: true, + li: true + }; + function prettyWriter() { + var indentationLevel = 0; + var indentation = " "; + var stack = []; + var start = true; + var inText = false; + var writer2 = simpleWriter(); + function open(tagName, attributes) { + if (indentedElements[tagName]) { + indent(); + } + stack.push(tagName); + writer2.open(tagName, attributes); + if (indentedElements[tagName]) { + indentationLevel++; + } + start = false; + } + function close(tagName) { + if (indentedElements[tagName]) { + indentationLevel--; + indent(); + } + stack.pop(); + writer2.close(tagName); + } + function text(value) { + startText(); + var text2 = isInPre() ? value : value.replace("\n", "\n" + indentation); + writer2.text(text2); + } + function selfClosing(tagName, attributes) { + indent(); + writer2.selfClosing(tagName, attributes); + } + function insideIndentedElement() { + return stack.length === 0 || indentedElements[stack[stack.length - 1]]; + } + function startText() { + if (!inText) { + indent(); + inText = true; + } + } + function indent() { + inText = false; + if (!start && insideIndentedElement() && !isInPre()) { + writer2._append("\n"); + for (var i = 0; i < indentationLevel; i++) { + writer2._append(indentation); + } + } + } + function isInPre() { + return _3.some(stack, function(tagName) { + return tagName === "pre"; + }); + } + return { + asString: writer2.asString, + open, + close, + text, + selfClosing + }; + } + function simpleWriter() { + var fragments = []; + function open(tagName, attributes) { + var attributeString = generateAttributeString(attributes); + fragments.push("<" + tagName + attributeString + ">"); + } + function close(tagName) { + fragments.push(""); + } + function selfClosing(tagName, attributes) { + var attributeString = generateAttributeString(attributes); + fragments.push("<" + tagName + attributeString + " />"); + } + function generateAttributeString(attributes) { + return _3.map(attributes, function(value, key) { + return " " + key + '="' + escapeHtmlAttribute(value) + '"'; + }).join(""); + } + function text(value) { + fragments.push(escapeHtmlText(value)); + } + function append(html) { + fragments.push(html); + } + function asString() { + return fragments.join(""); + } + return { + asString, + open, + close, + text, + selfClosing, + _append: append + }; + } + function escapeHtmlText(value) { + return value.replace(/&/g, "&").replace(//g, ">"); + } + function escapeHtmlAttribute(value) { + return value.replace(/&/g, "&").replace(/"/g, """).replace(//g, ">"); + } + } +}); + +// node_modules/mammoth/lib/writers/markdown-writer.js +var require_markdown_writer = __commonJS({ + "node_modules/mammoth/lib/writers/markdown-writer.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + function symmetricMarkdownElement(end) { + return markdownElement(end, end); + } + function markdownElement(start, end) { + return function() { + return { start, end }; + }; + } + function markdownLink(attributes) { + var href = attributes.href || ""; + if (href) { + return { + start: "[", + end: "](" + href + ")", + anchorPosition: "before" + }; + } else { + return {}; + } + } + function markdownImage(attributes) { + var src = attributes.src || ""; + var altText = attributes.alt || ""; + if (src || altText) { + return { start: "![" + altText + "](" + src + ")" }; + } else { + return {}; + } + } + function markdownList(options) { + return function(attributes, list) { + return { + start: list ? "\n" : "", + end: list ? "" : "\n", + list: { + isOrdered: options.isOrdered, + indent: list ? list.indent + 1 : 0, + count: 0 + } + }; + }; + } + function markdownListItem(attributes, list, listItem) { + list = list || { indent: 0, isOrdered: false, count: 0 }; + list.count++; + listItem.hasClosed = false; + var bullet = list.isOrdered ? list.count + "." : "-"; + var start = repeatString(" ", list.indent) + bullet + " "; + return { + start, + end: function() { + if (!listItem.hasClosed) { + listItem.hasClosed = true; + return "\n"; + } + } + }; + } + var htmlToMarkdown2 = { + "p": markdownElement("", "\n\n"), + "br": markdownElement("", " \n"), + "ul": markdownList({ isOrdered: false }), + "ol": markdownList({ isOrdered: true }), + "li": markdownListItem, + "strong": symmetricMarkdownElement("__"), + "em": symmetricMarkdownElement("*"), + "a": markdownLink, + "img": markdownImage + }; + (function() { + for (var i = 1; i <= 6; i++) { + htmlToMarkdown2["h" + i] = markdownElement(repeatString("#", i) + " ", "\n\n"); + } + })(); + function repeatString(value, count) { + return new Array(count + 1).join(value); + } + function markdownWriter() { + var fragments = []; + var elementStack = []; + var list = null; + var listItem = {}; + function open(tagName, attributes) { + attributes = attributes || {}; + var createElement2 = htmlToMarkdown2[tagName] || function() { + return {}; + }; + var element = createElement2(attributes, list, listItem); + elementStack.push({ end: element.end, list }); + if (element.list) { + list = element.list; + } + var anchorBeforeStart = element.anchorPosition === "before"; + if (anchorBeforeStart) { + writeAnchor(attributes); + } + fragments.push(element.start || ""); + if (!anchorBeforeStart) { + writeAnchor(attributes); + } + } + function writeAnchor(attributes) { + if (attributes.id) { + fragments.push(''); + } + } + function close(tagName) { + var element = elementStack.pop(); + list = element.list; + var end = _3.isFunction(element.end) ? element.end() : element.end; + fragments.push(end || ""); + } + function selfClosing(tagName, attributes) { + open(tagName, attributes); + close(tagName); + } + function text(value) { + fragments.push(escapeMarkdown(value)); + } + function asString() { + return fragments.join(""); + } + return { + asString, + open, + close, + text, + selfClosing + }; + } + exports2.writer = markdownWriter; + function escapeMarkdown(value) { + return value.replace(/\\/g, "\\\\").replace(/([\`\*_\{\}\[\]\(\)\#\+\-\.\!])/g, "\\$1"); + } + } +}); + +// node_modules/mammoth/lib/writers/index.js +var require_writers = __commonJS({ + "node_modules/mammoth/lib/writers/index.js"(exports2) { + var htmlWriter = require_html_writer(); + var markdownWriter = require_markdown_writer(); + exports2.writer = writer; + function writer(options) { + options = options || {}; + if (options.outputFormat === "markdown") { + return markdownWriter.writer(); + } else { + return htmlWriter.writer(options); + } + } + } +}); + +// node_modules/mammoth/lib/document-to-html.js +var require_document_to_html = __commonJS({ + "node_modules/mammoth/lib/document-to-html.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var promises = require_promises(); + var documents = require_documents(); + var htmlPaths = require_html_paths(); + var results = require_results(); + var images2 = require_images(); + var Html = require_html(); + var writers = require_writers(); + exports2.DocumentConverter = DocumentConverter; + function DocumentConverter(options) { + return { + convertToHtml: function(element) { + var comments = _3.indexBy( + element.type === documents.types.document ? element.comments : [], + "commentId" + ); + var conversion = new DocumentConversion(options, comments); + return conversion.convertToHtml(element); + } + }; + } + function DocumentConversion(options, comments) { + var noteNumber = 1; + var noteReferences = []; + var referencedComments = []; + options = _3.extend({ ignoreEmptyParagraphs: true }, options); + var idPrefix = options.idPrefix === void 0 ? "" : options.idPrefix; + var ignoreEmptyParagraphs = options.ignoreEmptyParagraphs; + var defaultParagraphStyle = htmlPaths.topLevelElement("p"); + var styleMap = options.styleMap || []; + function convertToHtml2(document2) { + var messages = []; + var html = elementToHtml(document2, messages, {}); + var deferredNodes = []; + walkHtml(html, function(node) { + if (node.type === "deferred") { + deferredNodes.push(node); + } + }); + var deferredValues = {}; + return promises.mapSeries(deferredNodes, function(deferred) { + return deferred.value().then(function(value) { + deferredValues[deferred.id] = value; + }); + }).then(function() { + function replaceDeferred(nodes) { + return flatMap(nodes, function(node) { + if (node.type === "deferred") { + return deferredValues[node.id]; + } else if (node.children) { + return [ + _3.extend({}, node, { + children: replaceDeferred(node.children) + }) + ]; + } else { + return [node]; + } + }); + } + var writer = writers.writer({ + prettyPrint: options.prettyPrint, + outputFormat: options.outputFormat + }); + Html.write(writer, Html.simplify(replaceDeferred(html))); + return new results.Result(writer.asString(), messages); + }); + } + function convertElements(elements, messages, options2) { + return flatMap(elements, function(element) { + return elementToHtml(element, messages, options2); + }); + } + function elementToHtml(element, messages, options2) { + if (!options2) { + throw new Error("options not set"); + } + var handler = elementConverters[element.type]; + if (handler) { + return handler(element, messages, options2); + } else { + return []; + } + } + function convertParagraph(element, messages, options2) { + return htmlPathForParagraph(element, messages).wrap(function() { + var content = convertElements(element.children, messages, options2); + if (ignoreEmptyParagraphs) { + return content; + } else { + return [Html.forceWrite].concat(content); + } + }); + } + function htmlPathForParagraph(element, messages) { + var style = findStyle(element); + if (style) { + return style.to; + } else { + if (element.styleId) { + messages.push(unrecognisedStyleWarning("paragraph", element)); + } + return defaultParagraphStyle; + } + } + function convertRun(run, messages, options2) { + var nodes = function() { + return convertElements(run.children, messages, options2); + }; + var paths = []; + if (run.highlight !== null) { + var path = findHtmlPath({ type: "highlight", color: run.highlight }); + if (path) { + paths.push(path); + } + } + if (run.isSmallCaps) { + paths.push(findHtmlPathForRunProperty("smallCaps")); + } + if (run.isAllCaps) { + paths.push(findHtmlPathForRunProperty("allCaps")); + } + if (run.isStrikethrough) { + paths.push(findHtmlPathForRunProperty("strikethrough", "s")); + } + if (run.isUnderline) { + paths.push(findHtmlPathForRunProperty("underline")); + } + if (run.verticalAlignment === documents.verticalAlignment.subscript) { + paths.push(htmlPaths.element("sub", {}, { fresh: false })); + } + if (run.verticalAlignment === documents.verticalAlignment.superscript) { + paths.push(htmlPaths.element("sup", {}, { fresh: false })); + } + if (run.isItalic) { + paths.push(findHtmlPathForRunProperty("italic", "em")); + } + if (run.isBold) { + paths.push(findHtmlPathForRunProperty("bold", "strong")); + } + var stylePath = htmlPaths.empty; + var style = findStyle(run); + if (style) { + stylePath = style.to; + } else if (run.styleId) { + messages.push(unrecognisedStyleWarning("run", run)); + } + paths.push(stylePath); + paths.forEach(function(path2) { + nodes = path2.wrap.bind(path2, nodes); + }); + return nodes(); + } + function findHtmlPathForRunProperty(elementType, defaultTagName) { + var path = findHtmlPath({ type: elementType }); + if (path) { + return path; + } else if (defaultTagName) { + return htmlPaths.element(defaultTagName, {}, { fresh: false }); + } else { + return htmlPaths.empty; + } + } + function findHtmlPath(element, defaultPath) { + var style = findStyle(element); + return style ? style.to : defaultPath; + } + function findStyle(element) { + for (var i = 0; i < styleMap.length; i++) { + if (styleMap[i].from.matches(element)) { + return styleMap[i]; + } + } + } + function recoveringConvertImage(convertImage) { + return function(image, messages) { + return promises.attempt(function() { + return convertImage(image, messages); + }).caught(function(error) { + messages.push(results.error(error)); + return []; + }); + }; + } + function noteHtmlId(note) { + return referentHtmlId(note.noteType, note.noteId); + } + function noteRefHtmlId(note) { + return referenceHtmlId(note.noteType, note.noteId); + } + function referentHtmlId(referenceType, referenceId) { + return htmlId(referenceType + "-" + referenceId); + } + function referenceHtmlId(referenceType, referenceId) { + return htmlId(referenceType + "-ref-" + referenceId); + } + function htmlId(suffix) { + return idPrefix + suffix; + } + var defaultTablePath = htmlPaths.elements([ + htmlPaths.element("table", {}, { fresh: true }) + ]); + function convertTable(element, messages, options2) { + return findHtmlPath(element, defaultTablePath).wrap(function() { + return convertTableChildren(element, messages, options2); + }); + } + function convertTableChildren(element, messages, options2) { + var bodyIndex = _3.findIndex(element.children, function(child) { + return !child.type === documents.types.tableRow || !child.isHeader; + }); + if (bodyIndex === -1) { + bodyIndex = element.children.length; + } + var children; + if (bodyIndex === 0) { + children = convertElements( + element.children, + messages, + _3.extend({}, options2, { isTableHeader: false }) + ); + } else { + var headRows = convertElements( + element.children.slice(0, bodyIndex), + messages, + _3.extend({}, options2, { isTableHeader: true }) + ); + var bodyRows = convertElements( + element.children.slice(bodyIndex), + messages, + _3.extend({}, options2, { isTableHeader: false }) + ); + children = [ + Html.freshElement("thead", {}, headRows), + Html.freshElement("tbody", {}, bodyRows) + ]; + } + return [Html.forceWrite].concat(children); + } + function convertTableRow(element, messages, options2) { + var children = convertElements(element.children, messages, options2); + return [ + Html.freshElement("tr", {}, [Html.forceWrite].concat(children)) + ]; + } + function convertTableCell(element, messages, options2) { + var tagName = options2.isTableHeader ? "th" : "td"; + var children = convertElements(element.children, messages, options2); + var attributes = {}; + if (element.colSpan !== 1) { + attributes.colspan = element.colSpan.toString(); + } + if (element.rowSpan !== 1) { + attributes.rowspan = element.rowSpan.toString(); + } + return [ + Html.freshElement(tagName, attributes, [Html.forceWrite].concat(children)) + ]; + } + function convertCommentReference(reference, messages, options2) { + return findHtmlPath(reference, htmlPaths.ignore).wrap(function() { + var comment = comments[reference.commentId]; + var count = referencedComments.length + 1; + var label = "[" + commentAuthorLabel(comment) + count + "]"; + referencedComments.push({ label, comment }); + return [ + Html.freshElement("a", { + href: "#" + referentHtmlId("comment", reference.commentId), + id: referenceHtmlId("comment", reference.commentId) + }, [Html.text(label)]) + ]; + }); + } + function convertComment(referencedComment, messages, options2) { + var label = referencedComment.label; + var comment = referencedComment.comment; + var body = convertElements(comment.body, messages, options2).concat([ + Html.nonFreshElement("p", {}, [ + Html.text(" "), + Html.freshElement("a", { "href": "#" + referenceHtmlId("comment", comment.commentId) }, [ + Html.text("\u2191") + ]) + ]) + ]); + return [ + Html.freshElement( + "dt", + { "id": referentHtmlId("comment", comment.commentId) }, + [Html.text("Comment " + label)] + ), + Html.freshElement("dd", {}, body) + ]; + } + function convertBreak(element, messages, options2) { + return htmlPathForBreak(element).wrap(function() { + return []; + }); + } + function htmlPathForBreak(element) { + var style = findStyle(element); + if (style) { + return style.to; + } else if (element.breakType === "line") { + return htmlPaths.topLevelElement("br"); + } else { + return htmlPaths.empty; + } + } + var elementConverters = { + "document": function(document2, messages, options2) { + var children = convertElements(document2.children, messages, options2); + var notes = noteReferences.map(function(noteReference) { + return document2.notes.resolve(noteReference); + }); + var notesNodes = convertElements(notes, messages, options2); + return children.concat([ + Html.freshElement("ol", {}, notesNodes), + Html.freshElement("dl", {}, flatMap(referencedComments, function(referencedComment) { + return convertComment(referencedComment, messages, options2); + })) + ]); + }, + "paragraph": convertParagraph, + "run": convertRun, + "text": function(element, messages, options2) { + return [Html.text(element.value)]; + }, + "tab": function(element, messages, options2) { + return [Html.text(" ")]; + }, + "hyperlink": function(element, messages, options2) { + var href = element.anchor ? "#" + htmlId(element.anchor) : element.href; + var attributes = { href }; + if (element.targetFrame != null) { + attributes.target = element.targetFrame; + } + var children = convertElements(element.children, messages, options2); + return [Html.nonFreshElement("a", attributes, children)]; + }, + "bookmarkStart": function(element, messages, options2) { + var anchor = Html.freshElement("a", { + id: htmlId(element.name) + }, [Html.forceWrite]); + return [anchor]; + }, + "noteReference": function(element, messages, options2) { + noteReferences.push(element); + var anchor = Html.freshElement("a", { + href: "#" + noteHtmlId(element), + id: noteRefHtmlId(element) + }, [Html.text("[" + noteNumber++ + "]")]); + return [Html.freshElement("sup", {}, [anchor])]; + }, + "note": function(element, messages, options2) { + var children = convertElements(element.body, messages, options2); + var backLink = Html.elementWithTag(htmlPaths.element("p", {}, { fresh: false }), [ + Html.text(" "), + Html.freshElement("a", { href: "#" + noteRefHtmlId(element) }, [Html.text("\u2191")]) + ]); + var body = children.concat([backLink]); + return Html.freshElement("li", { id: noteHtmlId(element) }, body); + }, + "commentReference": convertCommentReference, + "comment": convertComment, + "image": deferredConversion(recoveringConvertImage(options.convertImage || images2.dataUri)), + "table": convertTable, + "tableRow": convertTableRow, + "tableCell": convertTableCell, + "break": convertBreak + }; + return { + convertToHtml: convertToHtml2 + }; + } + var deferredId = 1; + function deferredConversion(func) { + return function(element, messages, options) { + return [ + { + type: "deferred", + id: deferredId++, + value: function() { + return func(element, messages, options); + } + } + ]; + }; + } + function unrecognisedStyleWarning(type, element) { + return results.warning( + "Unrecognised " + type + " style: '" + element.styleName + "' (Style ID: " + element.styleId + ")" + ); + } + function flatMap(values3, func) { + return _3.flatten(values3.map(func), true); + } + function walkHtml(nodes, callback) { + nodes.forEach(function(node) { + callback(node); + if (node.children) { + walkHtml(node.children, callback); + } + }); + } + var commentAuthorLabel = exports2.commentAuthorLabel = function commentAuthorLabel2(comment) { + return comment.authorInitials || ""; + }; + } +}); + +// node_modules/mammoth/lib/raw-text.js +var require_raw_text = __commonJS({ + "node_modules/mammoth/lib/raw-text.js"(exports2) { + var documents = require_documents(); + function convertElementToRawText(element) { + if (element.type === "text") { + return element.value; + } else if (element.type === documents.types.tab) { + return " "; + } else { + var tail = element.type === "paragraph" ? "\n\n" : ""; + return (element.children || []).map(convertElementToRawText).join("") + tail; + } + } + exports2.convertElementToRawText = convertElementToRawText; + } +}); + +// node_modules/lop/lib/TokenIterator.js +var require_TokenIterator = __commonJS({ + "node_modules/lop/lib/TokenIterator.js"(exports2, module2) { + var TokenIterator = module2.exports = function(tokens, startIndex) { + this._tokens = tokens; + this._startIndex = startIndex || 0; + }; + TokenIterator.prototype.head = function() { + return this._tokens[this._startIndex]; + }; + TokenIterator.prototype.tail = function(startIndex) { + return new TokenIterator(this._tokens, this._startIndex + 1); + }; + TokenIterator.prototype.toArray = function() { + return this._tokens.slice(this._startIndex); + }; + TokenIterator.prototype.end = function() { + return this._tokens[this._tokens.length - 1]; + }; + TokenIterator.prototype.to = function(end) { + var start = this.head().source; + var endToken = end.head() || end.end(); + return start.to(endToken.source); + }; + } +}); + +// node_modules/lop/lib/parser.js +var require_parser = __commonJS({ + "node_modules/lop/lib/parser.js"(exports2) { + var TokenIterator = require_TokenIterator(); + exports2.Parser = function(options) { + var parseTokens = function(parser, tokens) { + return parser(new TokenIterator(tokens)); + }; + return { + parseTokens + }; + }; + } +}); + +// node_modules/option/index.js +var require_option = __commonJS({ + "node_modules/option/index.js"(exports2) { + exports2.none = /* @__PURE__ */ Object.create({ + value: function() { + throw new Error("Called value on none"); + }, + isNone: function() { + return true; + }, + isSome: function() { + return false; + }, + map: function() { + return exports2.none; + }, + flatMap: function() { + return exports2.none; + }, + filter: function() { + return exports2.none; + }, + toArray: function() { + return []; + }, + orElse: callOrReturn, + valueOrElse: callOrReturn + }); + function callOrReturn(value) { + if (typeof value == "function") { + return value(); + } else { + return value; + } + } + exports2.some = function(value) { + return new Some(value); + }; + var Some = function(value) { + this._value = value; + }; + Some.prototype.value = function() { + return this._value; + }; + Some.prototype.isNone = function() { + return false; + }; + Some.prototype.isSome = function() { + return true; + }; + Some.prototype.map = function(func) { + return new Some(func(this._value)); + }; + Some.prototype.flatMap = function(func) { + return func(this._value); + }; + Some.prototype.filter = function(predicate) { + return predicate(this._value) ? this : exports2.none; + }; + Some.prototype.toArray = function() { + return [this._value]; + }; + Some.prototype.orElse = function(value) { + return this; + }; + Some.prototype.valueOrElse = function(value) { + return this._value; + }; + exports2.isOption = function(value) { + return value === exports2.none || value instanceof Some; + }; + exports2.fromNullable = function(value) { + if (value == null) { + return exports2.none; + } + return new Some(value); + }; + } +}); + +// node_modules/lop/lib/parsing-results.js +var require_parsing_results = __commonJS({ + "node_modules/lop/lib/parsing-results.js"(exports2, module2) { + module2.exports = { + failure: function(errors, remaining) { + if (errors.length < 1) { + throw new Error("Failure must have errors"); + } + return new Result({ + status: "failure", + remaining, + errors + }); + }, + error: function(errors, remaining) { + if (errors.length < 1) { + throw new Error("Failure must have errors"); + } + return new Result({ + status: "error", + remaining, + errors + }); + }, + success: function(value, remaining, source) { + return new Result({ + status: "success", + value, + source, + remaining, + errors: [] + }); + }, + cut: function(remaining) { + return new Result({ + status: "cut", + remaining, + errors: [] + }); + } + }; + var Result = function(options) { + this._value = options.value; + this._status = options.status; + this._hasValue = options.value !== void 0; + this._remaining = options.remaining; + this._source = options.source; + this._errors = options.errors; + }; + Result.prototype.map = function(func) { + if (this._hasValue) { + return new Result({ + value: func(this._value, this._source), + status: this._status, + remaining: this._remaining, + source: this._source, + errors: this._errors + }); + } else { + return this; + } + }; + Result.prototype.changeRemaining = function(remaining) { + return new Result({ + value: this._value, + status: this._status, + remaining, + source: this._source, + errors: this._errors + }); + }; + Result.prototype.isSuccess = function() { + return this._status === "success" || this._status === "cut"; + }; + Result.prototype.isFailure = function() { + return this._status === "failure"; + }; + Result.prototype.isError = function() { + return this._status === "error"; + }; + Result.prototype.isCut = function() { + return this._status === "cut"; + }; + Result.prototype.value = function() { + return this._value; + }; + Result.prototype.remaining = function() { + return this._remaining; + }; + Result.prototype.source = function() { + return this._source; + }; + Result.prototype.errors = function() { + return this._errors; + }; + } +}); + +// node_modules/lop/lib/errors.js +var require_errors2 = __commonJS({ + "node_modules/lop/lib/errors.js"(exports2) { + exports2.error = function(options) { + return new Error2(options); + }; + var Error2 = function(options) { + this.expected = options.expected; + this.actual = options.actual; + this._location = options.location; + }; + Error2.prototype.describe = function() { + var locationDescription = this._location ? this._location.describe() + ":\n" : ""; + return locationDescription + "Expected " + this.expected + "\nbut got " + this.actual; + }; + Error2.prototype.lineNumber = function() { + return this._location.lineNumber(); + }; + Error2.prototype.characterNumber = function() { + return this._location.characterNumber(); + }; + } +}); + +// node_modules/lop/lib/lazy-iterators.js +var require_lazy_iterators = __commonJS({ + "node_modules/lop/lib/lazy-iterators.js"(exports2) { + var fromArray = exports2.fromArray = function(array) { + var index = 0; + var hasNext = function() { + return index < array.length; + }; + return new LazyIterator({ + hasNext, + next: function() { + if (!hasNext()) { + throw new Error("No more elements"); + } else { + return array[index++]; + } + } + }); + }; + var LazyIterator = function(iterator) { + this._iterator = iterator; + }; + LazyIterator.prototype.map = function(func) { + var iterator = this._iterator; + return new LazyIterator({ + hasNext: function() { + return iterator.hasNext(); + }, + next: function() { + return func(iterator.next()); + } + }); + }; + LazyIterator.prototype.filter = function(condition) { + var iterator = this._iterator; + var moved = false; + var hasNext = false; + var next2; + var moveIfNecessary = function() { + if (moved) { + return; + } + moved = true; + hasNext = false; + while (iterator.hasNext() && !hasNext) { + next2 = iterator.next(); + hasNext = condition(next2); + } + }; + return new LazyIterator({ + hasNext: function() { + moveIfNecessary(); + return hasNext; + }, + next: function() { + moveIfNecessary(); + var toReturn = next2; + moved = false; + return toReturn; + } + }); + }; + LazyIterator.prototype.first = function() { + var iterator = this._iterator; + if (this._iterator.hasNext()) { + return iterator.next(); + } else { + return null; + } + }; + LazyIterator.prototype.toArray = function() { + var result2 = []; + while (this._iterator.hasNext()) { + result2.push(this._iterator.next()); + } + return result2; + }; + } +}); + +// node_modules/lop/lib/rules.js +var require_rules = __commonJS({ + "node_modules/lop/lib/rules.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var options = require_option(); + var results = require_parsing_results(); + var errors = require_errors2(); + var lazyIterators = require_lazy_iterators(); + exports2.token = function(tokenType, value) { + var matchValue = value !== void 0; + return function(input) { + var token = input.head(); + if (token && token.name === tokenType && (!matchValue || token.value === value)) { + return results.success(token.value, input.tail(), token.source); + } else { + var expected = describeToken({ name: tokenType, value }); + return describeTokenMismatch(input, expected); + } + }; + }; + exports2.tokenOfType = function(tokenType) { + return exports2.token(tokenType); + }; + exports2.firstOf = function(name, parsers) { + if (!_3.isArray(parsers)) { + parsers = Array.prototype.slice.call(arguments, 1); + } + return function(input) { + return lazyIterators.fromArray(parsers).map(function(parser) { + return parser(input); + }).filter(function(result2) { + return result2.isSuccess() || result2.isError(); + }).first() || describeTokenMismatch(input, name); + }; + }; + exports2.then = function(parser, func) { + return function(input) { + var result2 = parser(input); + if (!result2.map) { + console.log(result2); + } + return result2.map(func); + }; + }; + exports2.sequence = function() { + var parsers = Array.prototype.slice.call(arguments, 0); + var rule = function(input) { + var result2 = _3.foldl(parsers, function(memo, parser) { + var result3 = memo.result; + var hasCut = memo.hasCut; + if (!result3.isSuccess()) { + return { result: result3, hasCut }; + } + var subResult = parser(result3.remaining()); + if (subResult.isCut()) { + return { result: result3, hasCut: true }; + } else if (subResult.isSuccess()) { + var values3; + if (parser.isCaptured) { + values3 = result3.value().withValue(parser, subResult.value()); + } else { + values3 = result3.value(); + } + var remaining = subResult.remaining(); + var source2 = input.to(remaining); + return { + result: results.success(values3, remaining, source2), + hasCut + }; + } else if (hasCut) { + return { result: results.error(subResult.errors(), subResult.remaining()), hasCut }; + } else { + return { result: subResult, hasCut }; + } + }, { result: results.success(new SequenceValues(), input), hasCut: false }).result; + var source = input.to(result2.remaining()); + return result2.map(function(values3) { + return values3.withValue(exports2.sequence.source, source); + }); + }; + rule.head = function() { + var firstCapture = _3.find(parsers, isCapturedRule); + return exports2.then( + rule, + exports2.sequence.extract(firstCapture) + ); + }; + rule.map = function(func) { + return exports2.then( + rule, + function(result2) { + return func.apply(this, result2.toArray()); + } + ); + }; + function isCapturedRule(subRule) { + return subRule.isCaptured; + } + return rule; + }; + var SequenceValues = function(values3, valuesArray) { + this._values = values3 || {}; + this._valuesArray = valuesArray || []; + }; + SequenceValues.prototype.withValue = function(rule, value) { + if (rule.captureName && rule.captureName in this._values) { + throw new Error('Cannot add second value for capture "' + rule.captureName + '"'); + } else { + var newValues = _3.clone(this._values); + newValues[rule.captureName] = value; + var newValuesArray = this._valuesArray.concat([value]); + return new SequenceValues(newValues, newValuesArray); + } + }; + SequenceValues.prototype.get = function(rule) { + if (rule.captureName in this._values) { + return this._values[rule.captureName]; + } else { + throw new Error('No value for capture "' + rule.captureName + '"'); + } + }; + SequenceValues.prototype.toArray = function() { + return this._valuesArray; + }; + exports2.sequence.capture = function(rule, name) { + var captureRule = function() { + return rule.apply(this, arguments); + }; + captureRule.captureName = name; + captureRule.isCaptured = true; + return captureRule; + }; + exports2.sequence.extract = function(rule) { + return function(result2) { + return result2.get(rule); + }; + }; + exports2.sequence.applyValues = function(func) { + var rules2 = Array.prototype.slice.call(arguments, 1); + return function(result2) { + var values3 = rules2.map(function(rule) { + return result2.get(rule); + }); + return func.apply(this, values3); + }; + }; + exports2.sequence.source = { + captureName: "\u2603source\u2603" + }; + exports2.sequence.cut = function() { + return function(input) { + return results.cut(input); + }; + }; + exports2.optional = function(rule) { + return function(input) { + var result2 = rule(input); + if (result2.isSuccess()) { + return result2.map(options.some); + } else if (result2.isFailure()) { + return results.success(options.none, input); + } else { + return result2; + } + }; + }; + exports2.zeroOrMoreWithSeparator = function(rule, separator) { + return repeatedWithSeparator(rule, separator, false); + }; + exports2.oneOrMoreWithSeparator = function(rule, separator) { + return repeatedWithSeparator(rule, separator, true); + }; + var zeroOrMore = exports2.zeroOrMore = function(rule) { + return function(input) { + var values3 = []; + var result2; + while ((result2 = rule(input)) && result2.isSuccess()) { + input = result2.remaining(); + values3.push(result2.value()); + } + if (result2.isError()) { + return result2; + } else { + return results.success(values3, input); + } + }; + }; + exports2.oneOrMore = function(rule) { + return exports2.oneOrMoreWithSeparator(rule, noOpRule); + }; + function noOpRule(input) { + return results.success(null, input); + } + var repeatedWithSeparator = function(rule, separator, isOneOrMore) { + return function(input) { + var result2 = rule(input); + if (result2.isSuccess()) { + var mainRule = exports2.sequence.capture(rule, "main"); + var remainingRule = zeroOrMore(exports2.then( + exports2.sequence(separator, mainRule), + exports2.sequence.extract(mainRule) + )); + var remainingResult = remainingRule(result2.remaining()); + return results.success([result2.value()].concat(remainingResult.value()), remainingResult.remaining()); + } else if (isOneOrMore || result2.isError()) { + return result2; + } else { + return results.success([], input); + } + }; + }; + exports2.leftAssociative = function(leftRule, rightRule, func) { + var rights; + if (func) { + rights = [{ func, rule: rightRule }]; + } else { + rights = rightRule; + } + rights = rights.map(function(right) { + return exports2.then(right.rule, function(rightValue) { + return function(leftValue, source) { + return right.func(leftValue, rightValue, source); + }; + }); + }); + var repeatedRule = exports2.firstOf.apply(null, ["rules"].concat(rights)); + return function(input) { + var start = input; + var leftResult = leftRule(input); + if (!leftResult.isSuccess()) { + return leftResult; + } + var repeatedResult = repeatedRule(leftResult.remaining()); + while (repeatedResult.isSuccess()) { + var remaining = repeatedResult.remaining(); + var source = start.to(repeatedResult.remaining()); + var right = repeatedResult.value(); + leftResult = results.success( + right(leftResult.value(), source), + remaining, + source + ); + repeatedResult = repeatedRule(leftResult.remaining()); + } + if (repeatedResult.isError()) { + return repeatedResult; + } + return leftResult; + }; + }; + exports2.leftAssociative.firstOf = function() { + return Array.prototype.slice.call(arguments, 0); + }; + exports2.nonConsuming = function(rule) { + return function(input) { + return rule(input).changeRemaining(input); + }; + }; + var describeToken = function(token) { + if (token.value) { + return token.name + ' "' + token.value + '"'; + } else { + return token.name; + } + }; + function describeTokenMismatch(input, expected) { + var error; + var token = input.head(); + if (token) { + error = errors.error({ + expected, + actual: describeToken(token), + location: token.source + }); + } else { + error = errors.error({ + expected, + actual: "end of tokens" + }); + } + return results.failure([error], input); + } + } +}); + +// node_modules/lop/lib/StringSource.js +var require_StringSource = __commonJS({ + "node_modules/lop/lib/StringSource.js"(exports2, module2) { + var util = require("util"); + var StringSource = module2.exports = function(string, description) { + var self2 = { + asString: function() { + return string; + }, + range: function(startIndex, endIndex) { + return new StringSourceRange(string, description, startIndex, endIndex); + } + }; + return self2; + }; + var StringSourceRange = function(string, description, startIndex, endIndex) { + this._string = string; + this._description = description; + this._startIndex = startIndex; + this._endIndex = endIndex; + }; + StringSourceRange.prototype.to = function(otherRange) { + return new StringSourceRange(this._string, this._description, this._startIndex, otherRange._endIndex); + }; + StringSourceRange.prototype.describe = function() { + var position = this._position(); + var description = this._description ? this._description + "\n" : ""; + return util.format( + "%sLine number: %s\nCharacter number: %s", + description, + position.lineNumber, + position.characterNumber + ); + }; + StringSourceRange.prototype.lineNumber = function() { + return this._position().lineNumber; + }; + StringSourceRange.prototype.characterNumber = function() { + return this._position().characterNumber; + }; + StringSourceRange.prototype._position = function() { + var self2 = this; + var index = 0; + var nextNewLine = function() { + return self2._string.indexOf("\n", index); + }; + var lineNumber = 1; + while (nextNewLine() !== -1 && nextNewLine() < this._startIndex) { + index = nextNewLine() + 1; + lineNumber += 1; + } + var characterNumber = this._startIndex - index + 1; + return { lineNumber, characterNumber }; + }; + } +}); + +// node_modules/lop/lib/Token.js +var require_Token = __commonJS({ + "node_modules/lop/lib/Token.js"(exports2, module2) { + module2.exports = function(name, value, source) { + this.name = name; + this.value = value; + if (source) { + this.source = source; + } + }; + } +}); + +// node_modules/lop/lib/bottom-up.js +var require_bottom_up = __commonJS({ + "node_modules/lop/lib/bottom-up.js"(exports2) { + var rules2 = require_rules(); + var results = require_parsing_results(); + exports2.parser = function(name, prefixRules, infixRuleBuilders) { + var self2 = { + rule, + leftAssociative, + rightAssociative + }; + var infixRules = new InfixRules(infixRuleBuilders.map(createInfixRule)); + var prefixRule = rules2.firstOf(name, prefixRules); + function createInfixRule(infixRuleBuilder) { + return { + name: infixRuleBuilder.name, + rule: lazyRule(infixRuleBuilder.ruleBuilder.bind(null, self2)) + }; + } + function rule() { + return createRule(infixRules); + } + function leftAssociative(name2) { + return createRule(infixRules.untilExclusive(name2)); + } + function rightAssociative(name2) { + return createRule(infixRules.untilInclusive(name2)); + } + function createRule(infixRules2) { + return apply.bind(null, infixRules2); + } + function apply(infixRules2, tokens) { + var leftResult = prefixRule(tokens); + if (leftResult.isSuccess()) { + return infixRules2.apply(leftResult); + } else { + return leftResult; + } + } + return self2; + }; + function InfixRules(infixRules) { + function untilExclusive(name) { + return new InfixRules(infixRules.slice(0, ruleNames().indexOf(name))); + } + function untilInclusive(name) { + return new InfixRules(infixRules.slice(0, ruleNames().indexOf(name) + 1)); + } + function ruleNames() { + return infixRules.map(function(rule) { + return rule.name; + }); + } + function apply(leftResult) { + var currentResult; + var source; + while (true) { + currentResult = applyToTokens(leftResult.remaining()); + if (currentResult.isSuccess()) { + source = leftResult.source().to(currentResult.source()); + leftResult = results.success( + currentResult.value()(leftResult.value(), source), + currentResult.remaining(), + source + ); + } else if (currentResult.isFailure()) { + return leftResult; + } else { + return currentResult; + } + } + } + function applyToTokens(tokens) { + return rules2.firstOf("infix", infixRules.map(function(infix) { + return infix.rule; + }))(tokens); + } + return { + apply, + untilExclusive, + untilInclusive + }; + } + exports2.infix = function(name, ruleBuilder) { + function map2(func) { + return exports2.infix(name, function(parser) { + var rule = ruleBuilder(parser); + return function(tokens) { + var result2 = rule(tokens); + return result2.map(function(right) { + return function(left, source) { + return func(left, right, source); + }; + }); + }; + }); + } + return { + name, + ruleBuilder, + map: map2 + }; + }; + var lazyRule = function(ruleBuilder) { + var rule; + return function(input) { + if (!rule) { + rule = ruleBuilder(); + } + return rule(input); + }; + }; + } +}); + +// node_modules/lop/lib/regex-tokeniser.js +var require_regex_tokeniser = __commonJS({ + "node_modules/lop/lib/regex-tokeniser.js"(exports2) { + var Token = require_Token(); + var StringSource = require_StringSource(); + exports2.RegexTokeniser = RegexTokeniser; + function RegexTokeniser(rules2) { + rules2 = rules2.map(function(rule) { + return { + name: rule.name, + regex: new RegExp(rule.regex.source, "g") + }; + }); + function tokenise(input, description) { + var source = new StringSource(input, description); + var index = 0; + var tokens = []; + while (index < input.length) { + var result2 = readNextToken(input, index, source); + index = result2.endIndex; + tokens.push(result2.token); + } + tokens.push(endToken(input, source)); + return tokens; + } + function readNextToken(string, startIndex, source) { + for (var i = 0; i < rules2.length; i++) { + var regex = rules2[i].regex; + regex.lastIndex = startIndex; + var result2 = regex.exec(string); + if (result2) { + var endIndex = startIndex + result2[0].length; + if (result2.index === startIndex && endIndex > startIndex) { + var value = result2[1]; + var token = new Token( + rules2[i].name, + value, + source.range(startIndex, endIndex) + ); + return { token, endIndex }; + } + } + } + var endIndex = startIndex + 1; + var token = new Token( + "unrecognisedCharacter", + string.substring(startIndex, endIndex), + source.range(startIndex, endIndex) + ); + return { token, endIndex }; + } + function endToken(input, source) { + return new Token( + "end", + null, + source.range(input.length, input.length) + ); + } + return { + tokenise + }; + } + } +}); + +// node_modules/lop/index.js +var require_lop = __commonJS({ + "node_modules/lop/index.js"(exports2) { + exports2.Parser = require_parser().Parser; + exports2.rules = require_rules(); + exports2.errors = require_errors2(); + exports2.results = require_parsing_results(); + exports2.StringSource = require_StringSource(); + exports2.Token = require_Token(); + exports2.bottomUp = require_bottom_up(); + exports2.RegexTokeniser = require_regex_tokeniser().RegexTokeniser; + exports2.rule = function(ruleBuilder) { + var rule; + return function(input) { + if (!rule) { + rule = ruleBuilder(); + } + return rule(input); + }; + }; + } +}); + +// node_modules/mammoth/lib/styles/document-matchers.js +var require_document_matchers = __commonJS({ + "node_modules/mammoth/lib/styles/document-matchers.js"(exports2) { + exports2.paragraph = paragraph; + exports2.run = run; + exports2.table = table; + exports2.bold = new Matcher("bold"); + exports2.italic = new Matcher("italic"); + exports2.underline = new Matcher("underline"); + exports2.strikethrough = new Matcher("strikethrough"); + exports2.allCaps = new Matcher("allCaps"); + exports2.smallCaps = new Matcher("smallCaps"); + exports2.highlight = highlight; + exports2.commentReference = new Matcher("commentReference"); + exports2.lineBreak = new BreakMatcher({ breakType: "line" }); + exports2.pageBreak = new BreakMatcher({ breakType: "page" }); + exports2.columnBreak = new BreakMatcher({ breakType: "column" }); + exports2.equalTo = equalTo; + exports2.startsWith = startsWith; + function paragraph(options) { + return new Matcher("paragraph", options); + } + function run(options) { + return new Matcher("run", options); + } + function table(options) { + return new Matcher("table", options); + } + function highlight(options) { + return new HighlightMatcher(options); + } + function Matcher(elementType, options) { + options = options || {}; + this._elementType = elementType; + this._styleId = options.styleId; + this._styleName = options.styleName; + if (options.list) { + this._listIndex = options.list.levelIndex; + this._listIsOrdered = options.list.isOrdered; + } + } + Matcher.prototype.matches = function(element) { + return element.type === this._elementType && (this._styleId === void 0 || element.styleId === this._styleId) && (this._styleName === void 0 || element.styleName && this._styleName.operator(this._styleName.operand, element.styleName)) && (this._listIndex === void 0 || isList(element, this._listIndex, this._listIsOrdered)) && (this._breakType === void 0 || this._breakType === element.breakType); + }; + function HighlightMatcher(options) { + options = options || {}; + this._color = options.color; + } + HighlightMatcher.prototype.matches = function(element) { + return element.type === "highlight" && (this._color === void 0 || element.color === this._color); + }; + function BreakMatcher(options) { + options = options || {}; + this._breakType = options.breakType; + } + BreakMatcher.prototype.matches = function(element) { + return element.type === "break" && (this._breakType === void 0 || element.breakType === this._breakType); + }; + function isList(element, levelIndex, isOrdered) { + return element.numbering && element.numbering.level == levelIndex && element.numbering.isOrdered == isOrdered; + } + function equalTo(value) { + return { + operator: operatorEqualTo, + operand: value + }; + } + function startsWith(value) { + return { + operator: operatorStartsWith, + operand: value + }; + } + function operatorEqualTo(first2, second) { + return first2.toUpperCase() === second.toUpperCase(); + } + function operatorStartsWith(first2, second) { + return second.toUpperCase().indexOf(first2.toUpperCase()) === 0; + } + } +}); + +// node_modules/mammoth/lib/styles/parser/tokeniser.js +var require_tokeniser = __commonJS({ + "node_modules/mammoth/lib/styles/parser/tokeniser.js"(exports2) { + var lop = require_lop(); + var RegexTokeniser = lop.RegexTokeniser; + exports2.tokenise = tokenise; + var stringPrefix = "'((?:\\\\.|[^'])*)"; + function tokenise(string) { + var identifierCharacter = "(?:[a-zA-Z\\-_]|\\\\.)"; + var tokeniser = new RegexTokeniser([ + { name: "identifier", regex: new RegExp("(" + identifierCharacter + "(?:" + identifierCharacter + "|[0-9])*)") }, + { name: "dot", regex: /\./ }, + { name: "colon", regex: /:/ }, + { name: "gt", regex: />/ }, + { name: "whitespace", regex: /\s+/ }, + { name: "arrow", regex: /=>/ }, + { name: "equals", regex: /=/ }, + { name: "startsWith", regex: /\^=/ }, + { name: "open-paren", regex: /\(/ }, + { name: "close-paren", regex: /\)/ }, + { name: "open-square-bracket", regex: /\[/ }, + { name: "close-square-bracket", regex: /\]/ }, + { name: "string", regex: new RegExp(stringPrefix + "'") }, + { name: "unterminated-string", regex: new RegExp(stringPrefix) }, + { name: "integer", regex: /([0-9]+)/ }, + { name: "choice", regex: /\|/ }, + { name: "bang", regex: /(!)/ } + ]); + return tokeniser.tokenise(string); + } + } +}); + +// node_modules/mammoth/lib/style-reader.js +var require_style_reader = __commonJS({ + "node_modules/mammoth/lib/style-reader.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var lop = require_lop(); + var documentMatchers = require_document_matchers(); + var htmlPaths = require_html_paths(); + var tokenise = require_tokeniser().tokenise; + var results = require_results(); + exports2.readHtmlPath = readHtmlPath; + exports2.readDocumentMatcher = readDocumentMatcher; + exports2.readStyle = readStyle; + function readStyle(string) { + return parseString(styleRule, string); + } + function createStyleRule() { + return lop.rules.sequence( + lop.rules.sequence.capture(documentMatcherRule()), + lop.rules.tokenOfType("whitespace"), + lop.rules.tokenOfType("arrow"), + lop.rules.sequence.capture(lop.rules.optional(lop.rules.sequence( + lop.rules.tokenOfType("whitespace"), + lop.rules.sequence.capture(htmlPathRule()) + ).head())), + lop.rules.tokenOfType("end") + ).map(function(documentMatcher, htmlPath) { + return { + from: documentMatcher, + to: htmlPath.valueOrElse(htmlPaths.empty) + }; + }); + } + function readDocumentMatcher(string) { + return parseString(documentMatcherRule(), string); + } + function documentMatcherRule() { + var sequence = lop.rules.sequence; + var identifierToConstant = function(identifier, constant2) { + return lop.rules.then( + lop.rules.token("identifier", identifier), + function() { + return constant2; + } + ); + }; + var paragraphRule = identifierToConstant("p", documentMatchers.paragraph); + var runRule = identifierToConstant("r", documentMatchers.run); + var elementTypeRule = lop.rules.firstOf( + "p or r or table", + paragraphRule, + runRule + ); + var styleIdRule = lop.rules.sequence( + lop.rules.tokenOfType("dot"), + lop.rules.sequence.cut(), + lop.rules.sequence.capture(identifierRule) + ).map(function(styleId) { + return { styleId }; + }); + var styleNameMatcherRule = lop.rules.firstOf( + "style name matcher", + lop.rules.then( + lop.rules.sequence( + lop.rules.tokenOfType("equals"), + lop.rules.sequence.cut(), + lop.rules.sequence.capture(stringRule) + ).head(), + function(styleName) { + return { styleName: documentMatchers.equalTo(styleName) }; + } + ), + lop.rules.then( + lop.rules.sequence( + lop.rules.tokenOfType("startsWith"), + lop.rules.sequence.cut(), + lop.rules.sequence.capture(stringRule) + ).head(), + function(styleName) { + return { styleName: documentMatchers.startsWith(styleName) }; + } + ) + ); + var styleNameRule = lop.rules.sequence( + lop.rules.tokenOfType("open-square-bracket"), + lop.rules.sequence.cut(), + lop.rules.token("identifier", "style-name"), + lop.rules.sequence.capture(styleNameMatcherRule), + lop.rules.tokenOfType("close-square-bracket") + ).head(); + var listTypeRule = lop.rules.firstOf( + "list type", + identifierToConstant("ordered-list", { isOrdered: true }), + identifierToConstant("unordered-list", { isOrdered: false }) + ); + var listRule = sequence( + lop.rules.tokenOfType("colon"), + sequence.capture(listTypeRule), + sequence.cut(), + lop.rules.tokenOfType("open-paren"), + sequence.capture(integerRule), + lop.rules.tokenOfType("close-paren") + ).map(function(listType, levelNumber) { + return { + list: { + isOrdered: listType.isOrdered, + levelIndex: levelNumber - 1 + } + }; + }); + function createMatcherSuffixesRule(rules2) { + var matcherSuffix = lop.rules.firstOf.apply( + lop.rules.firstOf, + ["matcher suffix"].concat(rules2) + ); + var matcherSuffixes = lop.rules.zeroOrMore(matcherSuffix); + return lop.rules.then(matcherSuffixes, function(suffixes) { + var matcherOptions = {}; + suffixes.forEach(function(suffix) { + _3.extend(matcherOptions, suffix); + }); + return matcherOptions; + }); + } + var paragraphOrRun = sequence( + sequence.capture(elementTypeRule), + sequence.capture(createMatcherSuffixesRule([ + styleIdRule, + styleNameRule, + listRule + ])) + ).map(function(createMatcher, matcherOptions) { + return createMatcher(matcherOptions); + }); + var table = sequence( + lop.rules.token("identifier", "table"), + sequence.capture(createMatcherSuffixesRule([ + styleIdRule, + styleNameRule + ])) + ).map(function(options) { + return documentMatchers.table(options); + }); + var bold = identifierToConstant("b", documentMatchers.bold); + var italic = identifierToConstant("i", documentMatchers.italic); + var underline = identifierToConstant("u", documentMatchers.underline); + var strikethrough = identifierToConstant("strike", documentMatchers.strikethrough); + var allCaps = identifierToConstant("all-caps", documentMatchers.allCaps); + var smallCaps = identifierToConstant("small-caps", documentMatchers.smallCaps); + var highlight = sequence( + lop.rules.token("identifier", "highlight"), + lop.rules.sequence.capture(lop.rules.optional(lop.rules.sequence( + lop.rules.tokenOfType("open-square-bracket"), + lop.rules.sequence.cut(), + lop.rules.token("identifier", "color"), + lop.rules.tokenOfType("equals"), + lop.rules.sequence.capture(stringRule), + lop.rules.tokenOfType("close-square-bracket") + ).head())) + ).map(function(color) { + return documentMatchers.highlight({ + color: color.valueOrElse(void 0) + }); + }); + var commentReference = identifierToConstant("comment-reference", documentMatchers.commentReference); + var breakMatcher = sequence( + lop.rules.token("identifier", "br"), + sequence.cut(), + lop.rules.tokenOfType("open-square-bracket"), + lop.rules.token("identifier", "type"), + lop.rules.tokenOfType("equals"), + sequence.capture(stringRule), + lop.rules.tokenOfType("close-square-bracket") + ).map(function(breakType) { + switch (breakType) { + case "line": + return documentMatchers.lineBreak; + case "page": + return documentMatchers.pageBreak; + case "column": + return documentMatchers.columnBreak; + default: + } + }); + return lop.rules.firstOf( + "element type", + paragraphOrRun, + table, + bold, + italic, + underline, + strikethrough, + allCaps, + smallCaps, + highlight, + commentReference, + breakMatcher + ); + } + function readHtmlPath(string) { + return parseString(htmlPathRule(), string); + } + function htmlPathRule() { + var capture = lop.rules.sequence.capture; + var whitespaceRule = lop.rules.tokenOfType("whitespace"); + var freshRule = lop.rules.then( + lop.rules.optional(lop.rules.sequence( + lop.rules.tokenOfType("colon"), + lop.rules.token("identifier", "fresh") + )), + function(option) { + return option.map(function() { + return true; + }).valueOrElse(false); + } + ); + var separatorRule = lop.rules.then( + lop.rules.optional(lop.rules.sequence( + lop.rules.tokenOfType("colon"), + lop.rules.token("identifier", "separator"), + lop.rules.tokenOfType("open-paren"), + capture(stringRule), + lop.rules.tokenOfType("close-paren") + ).head()), + function(option) { + return option.valueOrElse(""); + } + ); + var tagNamesRule = lop.rules.oneOrMoreWithSeparator( + identifierRule, + lop.rules.tokenOfType("choice") + ); + var styleElementRule = lop.rules.sequence( + capture(tagNamesRule), + capture(lop.rules.zeroOrMore(attributeOrClassRule)), + capture(freshRule), + capture(separatorRule) + ).map(function(tagName, attributesList, fresh, separator) { + var attributes = {}; + var options = {}; + attributesList.forEach(function(attribute) { + if (attribute.append && attributes[attribute.name]) { + attributes[attribute.name] += " " + attribute.value; + } else { + attributes[attribute.name] = attribute.value; + } + }); + if (fresh) { + options.fresh = true; + } + if (separator) { + options.separator = separator; + } + return htmlPaths.element(tagName, attributes, options); + }); + return lop.rules.firstOf( + "html path", + lop.rules.then(lop.rules.tokenOfType("bang"), function() { + return htmlPaths.ignore; + }), + lop.rules.then( + lop.rules.zeroOrMoreWithSeparator( + styleElementRule, + lop.rules.sequence( + whitespaceRule, + lop.rules.tokenOfType("gt"), + whitespaceRule + ) + ), + htmlPaths.elements + ) + ); + } + var identifierRule = lop.rules.then( + lop.rules.tokenOfType("identifier"), + decodeEscapeSequences + ); + var integerRule = lop.rules.tokenOfType("integer"); + var stringRule = lop.rules.then( + lop.rules.tokenOfType("string"), + decodeEscapeSequences + ); + var escapeSequences = { + "n": "\n", + "r": "\r", + "t": " " + }; + function decodeEscapeSequences(value) { + return value.replace(/\\(.)/g, function(match, code) { + return escapeSequences[code] || code; + }); + } + var attributeRule = lop.rules.sequence( + lop.rules.tokenOfType("open-square-bracket"), + lop.rules.sequence.cut(), + lop.rules.sequence.capture(identifierRule), + lop.rules.tokenOfType("equals"), + lop.rules.sequence.capture(stringRule), + lop.rules.tokenOfType("close-square-bracket") + ).map(function(name, value) { + return { name, value, append: false }; + }); + var classRule = lop.rules.sequence( + lop.rules.tokenOfType("dot"), + lop.rules.sequence.cut(), + lop.rules.sequence.capture(identifierRule) + ).map(function(className) { + return { name: "class", value: className, append: true }; + }); + var attributeOrClassRule = lop.rules.firstOf( + "attribute or class", + attributeRule, + classRule + ); + function parseString(rule, string) { + var tokens = tokenise(string); + var parser = lop.Parser(); + var parseResult = parser.parseTokens(rule, tokens); + if (parseResult.isSuccess()) { + return results.success(parseResult.value()); + } else { + return new results.Result(null, [results.warning(describeFailure(string, parseResult))]); + } + } + function describeFailure(input, parseResult) { + return "Did not understand this style mapping, so ignored it: " + input + "\n" + parseResult.errors().map(describeError).join("\n"); + } + function describeError(error) { + return "Error was at character number " + error.characterNumber() + ": Expected " + error.expected + " but got " + error.actual; + } + var styleRule = createStyleRule(); + } +}); + +// node_modules/mammoth/lib/options-reader.js +var require_options_reader = __commonJS({ + "node_modules/mammoth/lib/options-reader.js"(exports2) { + exports2.readOptions = readOptions; + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var defaultStyleMap = exports2._defaultStyleMap = [ + "p.Heading1 => h1:fresh", + "p.Heading2 => h2:fresh", + "p.Heading3 => h3:fresh", + "p.Heading4 => h4:fresh", + "p.Heading5 => h5:fresh", + "p.Heading6 => h6:fresh", + "p[style-name='Heading 1'] => h1:fresh", + "p[style-name='Heading 2'] => h2:fresh", + "p[style-name='Heading 3'] => h3:fresh", + "p[style-name='Heading 4'] => h4:fresh", + "p[style-name='Heading 5'] => h5:fresh", + "p[style-name='Heading 6'] => h6:fresh", + "p[style-name='heading 1'] => h1:fresh", + "p[style-name='heading 2'] => h2:fresh", + "p[style-name='heading 3'] => h3:fresh", + "p[style-name='heading 4'] => h4:fresh", + "p[style-name='heading 5'] => h5:fresh", + "p[style-name='heading 6'] => h6:fresh", + "r[style-name='Strong'] => strong", + "p[style-name='footnote text'] => p:fresh", + "r[style-name='footnote reference'] =>", + "p[style-name='endnote text'] => p:fresh", + "r[style-name='endnote reference'] =>", + "p[style-name='annotation text'] => p:fresh", + "r[style-name='annotation reference'] =>", + // LibreOffice + "p[style-name='Footnote'] => p:fresh", + "r[style-name='Footnote anchor'] =>", + "p[style-name='Endnote'] => p:fresh", + "r[style-name='Endnote anchor'] =>", + "p:unordered-list(1) => ul > li:fresh", + "p:unordered-list(2) => ul|ol > li > ul > li:fresh", + "p:unordered-list(3) => ul|ol > li > ul|ol > li > ul > li:fresh", + "p:unordered-list(4) => ul|ol > li > ul|ol > li > ul|ol > li > ul > li:fresh", + "p:unordered-list(5) => ul|ol > li > ul|ol > li > ul|ol > li > ul|ol > li > ul > li:fresh", + "p:ordered-list(1) => ol > li:fresh", + "p:ordered-list(2) => ul|ol > li > ol > li:fresh", + "p:ordered-list(3) => ul|ol > li > ul|ol > li > ol > li:fresh", + "p:ordered-list(4) => ul|ol > li > ul|ol > li > ul|ol > li > ol > li:fresh", + "p:ordered-list(5) => ul|ol > li > ul|ol > li > ul|ol > li > ul|ol > li > ol > li:fresh", + "r[style-name='Hyperlink'] =>", + "p[style-name='Normal'] => p:fresh" + ]; + var standardOptions = exports2._standardOptions = { + transformDocument: identity2, + includeDefaultStyleMap: true, + includeEmbeddedStyleMap: true + }; + function readOptions(options) { + options = options || {}; + return _3.extend({}, standardOptions, options, { + customStyleMap: readStyleMap(options.styleMap), + readStyleMap: function() { + var styleMap = this.customStyleMap; + if (this.includeEmbeddedStyleMap) { + styleMap = styleMap.concat(readStyleMap(this.embeddedStyleMap)); + } + if (this.includeDefaultStyleMap) { + styleMap = styleMap.concat(defaultStyleMap); + } + return styleMap; + } + }); + } + function readStyleMap(styleMap) { + if (!styleMap) { + return []; + } else if (_3.isString(styleMap)) { + return styleMap.split("\n").map(function(line) { + return line.trim(); + }).filter(function(line) { + return line !== "" && line.charAt(0) !== "#"; + }); + } else { + return styleMap; + } + } + function identity2(value) { + return value; + } + } +}); + +// node_modules/mammoth/browser/unzip.js +var require_unzip = __commonJS({ + "node_modules/mammoth/browser/unzip.js"(exports2) { + var promises = require_promises(); + var zipfile = require_zipfile(); + exports2.openZip = openZip; + function openZip(options) { + if (options.arrayBuffer) { + return promises.resolve(zipfile.openArrayBuffer(options.arrayBuffer)); + } else { + return promises.reject(new Error("Could not find file in options")); + } + } + } +}); + +// node_modules/mammoth/lib/transforms.js +var require_transforms = __commonJS({ + "node_modules/mammoth/lib/transforms.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + exports2.paragraph = paragraph; + exports2.run = run; + exports2._elements = elements; + exports2.getDescendantsOfType = getDescendantsOfType; + exports2.getDescendants = getDescendants; + function paragraph(transform) { + return elementsOfType("paragraph", transform); + } + function run(transform) { + return elementsOfType("run", transform); + } + function elementsOfType(elementType, transform) { + return elements(function(element) { + if (element.type === elementType) { + return transform(element); + } else { + return element; + } + }); + } + function elements(transform) { + return function transformElement(element) { + if (element.children) { + var children = _3.map(element.children, transformElement); + element = _3.extend(element, { children }); + } + return transform(element); + }; + } + function getDescendantsOfType(element, type) { + return getDescendants(element).filter(function(descendant) { + return descendant.type === type; + }); + } + function getDescendants(element) { + var descendants = []; + visitDescendants(element, function(descendant) { + descendants.push(descendant); + }); + return descendants; + } + function visitDescendants(element, visit) { + if (element.children) { + element.children.forEach(function(child) { + visitDescendants(child, visit); + visit(child); + }); + } + } + } +}); + +// node_modules/mammoth/lib/underline.js +var require_underline = __commonJS({ + "node_modules/mammoth/lib/underline.js"(exports2) { + var htmlPaths = require_html_paths(); + var Html = require_html(); + exports2.element = element; + function element(name) { + return function(html) { + return Html.elementWithTag(htmlPaths.element(name), [html]); + }; + } + } +}); + +// node_modules/mammoth/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/mammoth/lib/index.js"(exports2) { + var _3 = (init_index_all(), __toCommonJS(index_all_exports)); + var docxReader = require_docx_reader(); + var docxStyleMap = require_style_map(); + var DocumentConverter = require_document_to_html().DocumentConverter; + var convertElementToRawText = require_raw_text().convertElementToRawText; + var readStyle = require_style_reader().readStyle; + var readOptions = require_options_reader().readOptions; + var unzip2 = require_unzip(); + var Result = require_results().Result; + exports2.convertToHtml = convertToHtml2; + exports2.convertToMarkdown = convertToMarkdown; + exports2.convert = convert; + exports2.extractRawText = extractRawText; + exports2.images = require_images(); + exports2.transforms = require_transforms(); + exports2.underline = require_underline(); + exports2.embedStyleMap = embedStyleMap; + exports2.readEmbeddedStyleMap = readEmbeddedStyleMap; + function convertToHtml2(input, options) { + return convert(input, options); + } + function convertToMarkdown(input, options) { + var markdownOptions = Object.create(options || {}); + markdownOptions.outputFormat = "markdown"; + return convert(input, markdownOptions); + } + function convert(input, options) { + options = readOptions(options); + return unzip2.openZip(input).tap(function(docxFile) { + return docxStyleMap.readStyleMap(docxFile).then(function(styleMap) { + options.embeddedStyleMap = styleMap; + }); + }).then(function(docxFile) { + return docxReader.read(docxFile, input).then(function(documentResult) { + return documentResult.map(options.transformDocument); + }).then(function(documentResult) { + return convertDocumentToHtml(documentResult, options); + }); + }); + } + function readEmbeddedStyleMap(input) { + return unzip2.openZip(input).then(docxStyleMap.readStyleMap); + } + function convertDocumentToHtml(documentResult, options) { + var styleMapResult = parseStyleMap(options.readStyleMap()); + var parsedOptions = _3.extend({}, options, { + styleMap: styleMapResult.value + }); + var documentConverter = new DocumentConverter(parsedOptions); + return documentResult.flatMapThen(function(document2) { + return styleMapResult.flatMapThen(function(styleMap) { + return documentConverter.convertToHtml(document2); + }); + }); + } + function parseStyleMap(styleMap) { + return Result.combine((styleMap || []).map(readStyle)).map(function(styleMap2) { + return styleMap2.filter(function(styleMapping) { + return !!styleMapping; + }); + }); + } + function extractRawText(input) { + return unzip2.openZip(input).then(docxReader.read).then(function(documentResult) { + return documentResult.map(convertElementToRawText); + }); + } + function embedStyleMap(input, styleMap) { + return unzip2.openZip(input).tap(function(docxFile) { + return docxStyleMap.writeStyleMap(docxFile, styleMap); + }).then(function(docxFile) { + return docxFile.toArrayBuffer(); + }).then(function(arrayBuffer) { + return { + toArrayBuffer: function() { + return arrayBuffer; + }, + toBuffer: function() { + return Buffer.from(arrayBuffer); + } + }; + }); + } + exports2.styleMapping = function() { + throw new Error(`Use a raw string instead of mammoth.styleMapping e.g. "p[style-name='Title'] => h1" instead of mammoth.styleMapping("p[style-name='Title'] => h1")`); + }; + } +}); + +// src/main.ts +var main_exports = {}; +__export(main_exports, { + FILETYPE_MAP: () => FILETYPE_MAP, + default: () => DocxerPlugin +}); +module.exports = __toCommonJS(main_exports); + +// src/convertable-file-views/docx.ts +var mammoth = __toESM(require_lib3()); + +// node_modules/docx-preview/dist/docx-preview.mjs +var import_jszip = __toESM(require_jszip_min(), 1); +var RelationshipTypes; +(function(RelationshipTypes2) { + RelationshipTypes2["OfficeDocument"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"; + RelationshipTypes2["FontTable"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable"; + RelationshipTypes2["Image"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"; + RelationshipTypes2["Numbering"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering"; + RelationshipTypes2["Styles"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"; + RelationshipTypes2["StylesWithEffects"] = "http://schemas.microsoft.com/office/2007/relationships/stylesWithEffects"; + RelationshipTypes2["Theme"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"; + RelationshipTypes2["Settings"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings"; + RelationshipTypes2["WebSettings"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings"; + RelationshipTypes2["Hyperlink"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"; + RelationshipTypes2["Footnotes"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes"; + RelationshipTypes2["Endnotes"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes"; + RelationshipTypes2["Footer"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"; + RelationshipTypes2["Header"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header"; + RelationshipTypes2["ExtendedProperties"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"; + RelationshipTypes2["CoreProperties"] = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"; + RelationshipTypes2["CustomProperties"] = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/custom-properties"; + RelationshipTypes2["Comments"] = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"; + RelationshipTypes2["CommentsExtended"] = "http://schemas.microsoft.com/office/2011/relationships/commentsExtended"; +})(RelationshipTypes || (RelationshipTypes = {})); +function parseRelationships(root3, xml) { + return xml.elements(root3).map((e) => ({ + id: xml.attr(e, "Id"), + type: xml.attr(e, "Type"), + target: xml.attr(e, "Target"), + targetMode: xml.attr(e, "TargetMode") + })); +} +var ns$1 = { + wordml: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + drawingml: "http://schemas.openxmlformats.org/drawingml/2006/main", + picture: "http://schemas.openxmlformats.org/drawingml/2006/picture", + compatibility: "http://schemas.openxmlformats.org/markup-compatibility/2006", + math: "http://schemas.openxmlformats.org/officeDocument/2006/math" +}; +var LengthUsage = { + Dxa: { mul: 0.05, unit: "pt" }, + Emu: { mul: 1 / 12700, unit: "pt" }, + FontSize: { mul: 0.5, unit: "pt" }, + Border: { mul: 0.125, unit: "pt" }, + Point: { mul: 1, unit: "pt" }, + Percent: { mul: 0.02, unit: "%" }, + LineHeight: { mul: 1 / 240, unit: "" }, + VmlEmu: { mul: 1 / 12700, unit: "" } +}; +function convertLength(val, usage = LengthUsage.Dxa) { + if (val == null || /.+(p[xt]|[%])$/.test(val)) { + return val; + } + return `${(parseInt(val) * usage.mul).toFixed(2)}${usage.unit}`; +} +function convertBoolean(v, defaultValue = false) { + switch (v) { + case "1": + return true; + case "0": + return false; + case "on": + return true; + case "off": + return false; + case "true": + return true; + case "false": + return false; + default: + return defaultValue; + } +} +function parseCommonProperty(elem, props, xml) { + if (elem.namespaceURI != ns$1.wordml) + return false; + switch (elem.localName) { + case "color": + props.color = xml.attr(elem, "val"); + break; + case "sz": + props.fontSize = xml.lengthAttr(elem, "val", LengthUsage.FontSize); + break; + default: + return false; + } + return true; +} +function parseXmlString(xmlString, trimXmlDeclaration = false) { + if (trimXmlDeclaration) + xmlString = xmlString.replace(/<[?].*[?]>/, ""); + xmlString = removeUTF8BOM(xmlString); + const result2 = new DOMParser().parseFromString(xmlString, "application/xml"); + const errorText = hasXmlParserError(result2); + if (errorText) + throw new Error(errorText); + return result2; +} +function hasXmlParserError(doc) { + var _a; + return (_a = doc.getElementsByTagName("parsererror")[0]) == null ? void 0 : _a.textContent; +} +function removeUTF8BOM(data) { + return data.charCodeAt(0) === 65279 ? data.substring(1) : data; +} +function serializeXmlString(elem) { + return new XMLSerializer().serializeToString(elem); +} +var XmlParser = class { + elements(elem, localName = null) { + const result2 = []; + for (let i = 0, l2 = elem.childNodes.length; i < l2; i++) { + let c = elem.childNodes.item(i); + if (c.nodeType == 1 && (localName == null || c.localName == localName)) + result2.push(c); + } + return result2; + } + element(elem, localName) { + for (let i = 0, l2 = elem.childNodes.length; i < l2; i++) { + let c = elem.childNodes.item(i); + if (c.nodeType == 1 && c.localName == localName) + return c; + } + return null; + } + elementAttr(elem, localName, attrLocalName) { + var el = this.element(elem, localName); + return el ? this.attr(el, attrLocalName) : void 0; + } + attrs(elem) { + return Array.from(elem.attributes); + } + attr(elem, localName) { + for (let i = 0, l2 = elem.attributes.length; i < l2; i++) { + let a = elem.attributes.item(i); + if (a.localName == localName) + return a.value; + } + return null; + } + intAttr(node, attrName, defaultValue = null) { + var val = this.attr(node, attrName); + return val ? parseInt(val) : defaultValue; + } + hexAttr(node, attrName, defaultValue = null) { + var val = this.attr(node, attrName); + return val ? parseInt(val, 16) : defaultValue; + } + floatAttr(node, attrName, defaultValue = null) { + var val = this.attr(node, attrName); + return val ? parseFloat(val) : defaultValue; + } + boolAttr(node, attrName, defaultValue = null) { + return convertBoolean(this.attr(node, attrName), defaultValue); + } + lengthAttr(node, attrName, usage = LengthUsage.Dxa) { + return convertLength(this.attr(node, attrName), usage); + } +}; +var globalXmlParser = new XmlParser(); +var Part = class { + constructor(_package, path) { + this._package = _package; + this.path = path; + } + async load() { + this.rels = await this._package.loadRelationships(this.path); + const xmlText = await this._package.load(this.path); + const xmlDoc = this._package.parseXmlDocument(xmlText); + if (this._package.options.keepOrigin) { + this._xmlDocument = xmlDoc; + } + this.parseXml(xmlDoc.firstElementChild); + } + save() { + this._package.update(this.path, serializeXmlString(this._xmlDocument)); + } + parseXml(root3) { + } +}; +var embedFontTypeMap = { + embedRegular: "regular", + embedBold: "bold", + embedItalic: "italic", + embedBoldItalic: "boldItalic" +}; +function parseFonts(root3, xml) { + return xml.elements(root3).map((el) => parseFont(el, xml)); +} +function parseFont(elem, xml) { + let result2 = { + name: xml.attr(elem, "name"), + embedFontRefs: [] + }; + for (let el of xml.elements(elem)) { + switch (el.localName) { + case "family": + result2.family = xml.attr(el, "val"); + break; + case "altName": + result2.altName = xml.attr(el, "val"); + break; + case "embedRegular": + case "embedBold": + case "embedItalic": + case "embedBoldItalic": + result2.embedFontRefs.push(parseEmbedFontRef(el, xml)); + break; + } + } + return result2; +} +function parseEmbedFontRef(elem, xml) { + return { + id: xml.attr(elem, "id"), + key: xml.attr(elem, "fontKey"), + type: embedFontTypeMap[elem.localName] + }; +} +var FontTablePart = class extends Part { + parseXml(root3) { + this.fonts = parseFonts(root3, this._package.xmlParser); + } +}; +function escapeClassName(className) { + return className == null ? void 0 : className.replace(/[ .]+/g, "-").replace(/[&]+/g, "and").toLowerCase(); +} +function splitPath(path) { + let si = path.lastIndexOf("/") + 1; + let folder = si == 0 ? "" : path.substring(0, si); + let fileName = si == 0 ? path : path.substring(si); + return [folder, fileName]; +} +function resolvePath(path, base) { + try { + const prefix = "http://docx/"; + const url = new URL(path, prefix + base).toString(); + return url.substring(prefix.length); + } catch (e) { + return `${base}${path}`; + } +} +function keyBy(array, by) { + return array.reduce((a, x) => { + a[by(x)] = x; + return a; + }, {}); +} +function blobToBase64(blob) { + return new Promise((resolve, reject2) => { + const reader = new FileReader(); + reader.onloadend = () => resolve(reader.result); + reader.onerror = () => reject2(); + reader.readAsDataURL(blob); + }); +} +function isObject3(item) { + return item && typeof item === "object" && !Array.isArray(item); +} +function isString(item) { + return typeof item === "string" || item instanceof String; +} +function mergeDeep(target, ...sources) { + var _a; + if (!sources.length) + return target; + const source = sources.shift(); + if (isObject3(target) && isObject3(source)) { + for (const key in source) { + if (isObject3(source[key])) { + const val = (_a = target[key]) != null ? _a : target[key] = {}; + mergeDeep(val, source[key]); + } else { + target[key] = source[key]; + } + } + } + return mergeDeep(target, ...sources); +} +function asArray2(val) { + return Array.isArray(val) ? val : [val]; +} +var OpenXmlPackage = class _OpenXmlPackage { + constructor(_zip, options) { + this._zip = _zip; + this.options = options; + this.xmlParser = new XmlParser(); + } + get(path) { + var _a; + const p = normalizePath(path); + return (_a = this._zip.files[p]) != null ? _a : this._zip.files[p.replace(/\//g, "\\")]; + } + update(path, content) { + this._zip.file(path, content); + } + static async load(input, options) { + const zip = await import_jszip.default.loadAsync(input); + return new _OpenXmlPackage(zip, options); + } + save(type = "blob") { + return this._zip.generateAsync({ type }); + } + load(path, type = "string") { + var _a, _b; + return (_b = (_a = this.get(path)) == null ? void 0 : _a.async(type)) != null ? _b : Promise.resolve(null); + } + async loadRelationships(path = null) { + let relsPath = `_rels/.rels`; + if (path != null) { + const [f, fn] = splitPath(path); + relsPath = `${f}_rels/${fn}.rels`; + } + const txt = await this.load(relsPath); + return txt ? parseRelationships(this.parseXmlDocument(txt).firstElementChild, this.xmlParser) : null; + } + parseXmlDocument(txt) { + return parseXmlString(txt, this.options.trimXmlDeclaration); + } +}; +function normalizePath(path) { + return path.startsWith("/") ? path.substr(1) : path; +} +var DocumentPart = class extends Part { + constructor(pkg, path, parser) { + super(pkg, path); + this._documentParser = parser; + } + parseXml(root3) { + this.body = this._documentParser.parseDocumentFile(root3); + } +}; +function parseBorder(elem, xml) { + return { + type: xml.attr(elem, "val"), + color: xml.attr(elem, "color"), + size: xml.lengthAttr(elem, "sz", LengthUsage.Border), + offset: xml.lengthAttr(elem, "space", LengthUsage.Point), + frame: xml.boolAttr(elem, "frame"), + shadow: xml.boolAttr(elem, "shadow") + }; +} +function parseBorders(elem, xml) { + var result2 = {}; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "left": + result2.left = parseBorder(e, xml); + break; + case "top": + result2.top = parseBorder(e, xml); + break; + case "right": + result2.right = parseBorder(e, xml); + break; + case "bottom": + result2.bottom = parseBorder(e, xml); + break; + } + } + return result2; +} +var SectionType; +(function(SectionType2) { + SectionType2["Continuous"] = "continuous"; + SectionType2["NextPage"] = "nextPage"; + SectionType2["NextColumn"] = "nextColumn"; + SectionType2["EvenPage"] = "evenPage"; + SectionType2["OddPage"] = "oddPage"; +})(SectionType || (SectionType = {})); +function parseSectionProperties(elem, xml = globalXmlParser) { + var _a, _b; + var section = {}; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "pgSz": + section.pageSize = { + width: xml.lengthAttr(e, "w"), + height: xml.lengthAttr(e, "h"), + orientation: xml.attr(e, "orient") + }; + break; + case "type": + section.type = xml.attr(e, "val"); + break; + case "pgMar": + section.pageMargins = { + left: xml.lengthAttr(e, "left"), + right: xml.lengthAttr(e, "right"), + top: xml.lengthAttr(e, "top"), + bottom: xml.lengthAttr(e, "bottom"), + header: xml.lengthAttr(e, "header"), + footer: xml.lengthAttr(e, "footer"), + gutter: xml.lengthAttr(e, "gutter") + }; + break; + case "cols": + section.columns = parseColumns(e, xml); + break; + case "headerReference": + ((_a = section.headerRefs) != null ? _a : section.headerRefs = []).push(parseFooterHeaderReference(e, xml)); + break; + case "footerReference": + ((_b = section.footerRefs) != null ? _b : section.footerRefs = []).push(parseFooterHeaderReference(e, xml)); + break; + case "titlePg": + section.titlePage = xml.boolAttr(e, "val", true); + break; + case "pgBorders": + section.pageBorders = parseBorders(e, xml); + break; + case "pgNumType": + section.pageNumber = parsePageNumber(e, xml); + break; + } + } + return section; +} +function parseColumns(elem, xml) { + return { + numberOfColumns: xml.intAttr(elem, "num"), + space: xml.lengthAttr(elem, "space"), + separator: xml.boolAttr(elem, "sep"), + equalWidth: xml.boolAttr(elem, "equalWidth", true), + columns: xml.elements(elem, "col").map((e) => ({ + width: xml.lengthAttr(e, "w"), + space: xml.lengthAttr(e, "space") + })) + }; +} +function parsePageNumber(elem, xml) { + return { + chapSep: xml.attr(elem, "chapSep"), + chapStyle: xml.attr(elem, "chapStyle"), + format: xml.attr(elem, "fmt"), + start: xml.intAttr(elem, "start") + }; +} +function parseFooterHeaderReference(elem, xml) { + return { + id: xml.attr(elem, "id"), + type: xml.attr(elem, "type") + }; +} +function parseLineSpacing(elem, xml) { + return { + before: xml.lengthAttr(elem, "before"), + after: xml.lengthAttr(elem, "after"), + line: xml.intAttr(elem, "line"), + lineRule: xml.attr(elem, "lineRule") + }; +} +function parseRunProperties(elem, xml) { + let result2 = {}; + for (let el of xml.elements(elem)) { + parseRunProperty(el, result2, xml); + } + return result2; +} +function parseRunProperty(elem, props, xml) { + if (parseCommonProperty(elem, props, xml)) + return true; + return false; +} +function parseParagraphProperties(elem, xml) { + let result2 = {}; + for (let el of xml.elements(elem)) { + parseParagraphProperty(el, result2, xml); + } + return result2; +} +function parseParagraphProperty(elem, props, xml) { + if (elem.namespaceURI != ns$1.wordml) + return false; + if (parseCommonProperty(elem, props, xml)) + return true; + switch (elem.localName) { + case "tabs": + props.tabs = parseTabs(elem, xml); + break; + case "sectPr": + props.sectionProps = parseSectionProperties(elem, xml); + break; + case "numPr": + props.numbering = parseNumbering$1(elem, xml); + break; + case "spacing": + props.lineSpacing = parseLineSpacing(elem, xml); + return false; + case "textAlignment": + props.textAlignment = xml.attr(elem, "val"); + return false; + case "keepLines": + props.keepLines = xml.boolAttr(elem, "val", true); + break; + case "keepNext": + props.keepNext = xml.boolAttr(elem, "val", true); + break; + case "pageBreakBefore": + props.pageBreakBefore = xml.boolAttr(elem, "val", true); + break; + case "outlineLvl": + props.outlineLevel = xml.intAttr(elem, "val"); + break; + case "pStyle": + props.styleName = xml.attr(elem, "val"); + break; + case "rPr": + props.runProps = parseRunProperties(elem, xml); + break; + default: + return false; + } + return true; +} +function parseTabs(elem, xml) { + return xml.elements(elem, "tab").map((e) => ({ + position: xml.lengthAttr(e, "pos"), + leader: xml.attr(e, "leader"), + style: xml.attr(e, "val") + })); +} +function parseNumbering$1(elem, xml) { + var result2 = {}; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "numId": + result2.id = xml.attr(e, "val"); + break; + case "ilvl": + result2.level = xml.intAttr(e, "val"); + break; + } + } + return result2; +} +function parseNumberingPart(elem, xml) { + let result2 = { + numberings: [], + abstractNumberings: [], + bulletPictures: [] + }; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "num": + result2.numberings.push(parseNumbering(e, xml)); + break; + case "abstractNum": + result2.abstractNumberings.push(parseAbstractNumbering(e, xml)); + break; + case "numPicBullet": + result2.bulletPictures.push(parseNumberingBulletPicture(e, xml)); + break; + } + } + return result2; +} +function parseNumbering(elem, xml) { + let result2 = { + id: xml.attr(elem, "numId"), + overrides: [] + }; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "abstractNumId": + result2.abstractId = xml.attr(e, "val"); + break; + case "lvlOverride": + result2.overrides.push(parseNumberingLevelOverrride(e, xml)); + break; + } + } + return result2; +} +function parseAbstractNumbering(elem, xml) { + let result2 = { + id: xml.attr(elem, "abstractNumId"), + levels: [] + }; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "name": + result2.name = xml.attr(e, "val"); + break; + case "multiLevelType": + result2.multiLevelType = xml.attr(e, "val"); + break; + case "numStyleLink": + result2.numberingStyleLink = xml.attr(e, "val"); + break; + case "styleLink": + result2.styleLink = xml.attr(e, "val"); + break; + case "lvl": + result2.levels.push(parseNumberingLevel(e, xml)); + break; + } + } + return result2; +} +function parseNumberingLevel(elem, xml) { + let result2 = { + level: xml.intAttr(elem, "ilvl") + }; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "start": + result2.start = xml.attr(e, "val"); + break; + case "lvlRestart": + result2.restart = xml.intAttr(e, "val"); + break; + case "numFmt": + result2.format = xml.attr(e, "val"); + break; + case "lvlText": + result2.text = xml.attr(e, "val"); + break; + case "lvlJc": + result2.justification = xml.attr(e, "val"); + break; + case "lvlPicBulletId": + result2.bulletPictureId = xml.attr(e, "val"); + break; + case "pStyle": + result2.paragraphStyle = xml.attr(e, "val"); + break; + case "pPr": + result2.paragraphProps = parseParagraphProperties(e, xml); + break; + case "rPr": + result2.runProps = parseRunProperties(e, xml); + break; + } + } + return result2; +} +function parseNumberingLevelOverrride(elem, xml) { + let result2 = { + level: xml.intAttr(elem, "ilvl") + }; + for (let e of xml.elements(elem)) { + switch (e.localName) { + case "startOverride": + result2.start = xml.intAttr(e, "val"); + break; + case "lvl": + result2.numberingLevel = parseNumberingLevel(e, xml); + break; + } + } + return result2; +} +function parseNumberingBulletPicture(elem, xml) { + var pict = xml.element(elem, "pict"); + var shape = pict && xml.element(pict, "shape"); + var imagedata = shape && xml.element(shape, "imagedata"); + return imagedata ? { + id: xml.attr(elem, "numPicBulletId"), + referenceId: xml.attr(imagedata, "id"), + style: xml.attr(shape, "style") + } : null; +} +var NumberingPart = class extends Part { + constructor(pkg, path, parser) { + super(pkg, path); + this._documentParser = parser; + } + parseXml(root3) { + Object.assign(this, parseNumberingPart(root3, this._package.xmlParser)); + this.domNumberings = this._documentParser.parseNumberingFile(root3); + } +}; +var StylesPart = class extends Part { + constructor(pkg, path, parser) { + super(pkg, path); + this._documentParser = parser; + } + parseXml(root3) { + this.styles = this._documentParser.parseStylesFile(root3); + } +}; +var DomType; +(function(DomType2) { + DomType2["Document"] = "document"; + DomType2["Paragraph"] = "paragraph"; + DomType2["Run"] = "run"; + DomType2["Break"] = "break"; + DomType2["NoBreakHyphen"] = "noBreakHyphen"; + DomType2["Table"] = "table"; + DomType2["Row"] = "row"; + DomType2["Cell"] = "cell"; + DomType2["Hyperlink"] = "hyperlink"; + DomType2["SmartTag"] = "smartTag"; + DomType2["Drawing"] = "drawing"; + DomType2["Image"] = "image"; + DomType2["Text"] = "text"; + DomType2["Tab"] = "tab"; + DomType2["Symbol"] = "symbol"; + DomType2["BookmarkStart"] = "bookmarkStart"; + DomType2["BookmarkEnd"] = "bookmarkEnd"; + DomType2["Footer"] = "footer"; + DomType2["Header"] = "header"; + DomType2["FootnoteReference"] = "footnoteReference"; + DomType2["EndnoteReference"] = "endnoteReference"; + DomType2["Footnote"] = "footnote"; + DomType2["Endnote"] = "endnote"; + DomType2["SimpleField"] = "simpleField"; + DomType2["ComplexField"] = "complexField"; + DomType2["Instruction"] = "instruction"; + DomType2["VmlPicture"] = "vmlPicture"; + DomType2["MmlMath"] = "mmlMath"; + DomType2["MmlMathParagraph"] = "mmlMathParagraph"; + DomType2["MmlFraction"] = "mmlFraction"; + DomType2["MmlFunction"] = "mmlFunction"; + DomType2["MmlFunctionName"] = "mmlFunctionName"; + DomType2["MmlNumerator"] = "mmlNumerator"; + DomType2["MmlDenominator"] = "mmlDenominator"; + DomType2["MmlRadical"] = "mmlRadical"; + DomType2["MmlBase"] = "mmlBase"; + DomType2["MmlDegree"] = "mmlDegree"; + DomType2["MmlSuperscript"] = "mmlSuperscript"; + DomType2["MmlSubscript"] = "mmlSubscript"; + DomType2["MmlPreSubSuper"] = "mmlPreSubSuper"; + DomType2["MmlSubArgument"] = "mmlSubArgument"; + DomType2["MmlSuperArgument"] = "mmlSuperArgument"; + DomType2["MmlNary"] = "mmlNary"; + DomType2["MmlDelimiter"] = "mmlDelimiter"; + DomType2["MmlRun"] = "mmlRun"; + DomType2["MmlEquationArray"] = "mmlEquationArray"; + DomType2["MmlLimit"] = "mmlLimit"; + DomType2["MmlLimitLower"] = "mmlLimitLower"; + DomType2["MmlMatrix"] = "mmlMatrix"; + DomType2["MmlMatrixRow"] = "mmlMatrixRow"; + DomType2["MmlBox"] = "mmlBox"; + DomType2["MmlBar"] = "mmlBar"; + DomType2["MmlGroupChar"] = "mmlGroupChar"; + DomType2["VmlElement"] = "vmlElement"; + DomType2["Inserted"] = "inserted"; + DomType2["Deleted"] = "deleted"; + DomType2["DeletedText"] = "deletedText"; + DomType2["Comment"] = "comment"; + DomType2["CommentReference"] = "commentReference"; + DomType2["CommentRangeStart"] = "commentRangeStart"; + DomType2["CommentRangeEnd"] = "commentRangeEnd"; +})(DomType || (DomType = {})); +var OpenXmlElementBase = class { + constructor() { + this.children = []; + this.cssStyle = {}; + } +}; +var WmlHeader = class extends OpenXmlElementBase { + constructor() { + super(...arguments); + this.type = DomType.Header; + } +}; +var WmlFooter = class extends OpenXmlElementBase { + constructor() { + super(...arguments); + this.type = DomType.Footer; + } +}; +var BaseHeaderFooterPart = class extends Part { + constructor(pkg, path, parser) { + super(pkg, path); + this._documentParser = parser; + } + parseXml(root3) { + this.rootElement = this.createRootElement(); + this.rootElement.children = this._documentParser.parseBodyElements(root3); + } +}; +var HeaderPart = class extends BaseHeaderFooterPart { + createRootElement() { + return new WmlHeader(); + } +}; +var FooterPart = class extends BaseHeaderFooterPart { + createRootElement() { + return new WmlFooter(); + } +}; +function parseExtendedProps(root3, xmlParser) { + const result2 = {}; + for (let el of xmlParser.elements(root3)) { + switch (el.localName) { + case "Template": + result2.template = el.textContent; + break; + case "Pages": + result2.pages = safeParseToInt(el.textContent); + break; + case "Words": + result2.words = safeParseToInt(el.textContent); + break; + case "Characters": + result2.characters = safeParseToInt(el.textContent); + break; + case "Application": + result2.application = el.textContent; + break; + case "Lines": + result2.lines = safeParseToInt(el.textContent); + break; + case "Paragraphs": + result2.paragraphs = safeParseToInt(el.textContent); + break; + case "Company": + result2.company = el.textContent; + break; + case "AppVersion": + result2.appVersion = el.textContent; + break; + } + } + return result2; +} +function safeParseToInt(value) { + if (typeof value === "undefined") + return; + return parseInt(value); +} +var ExtendedPropsPart = class extends Part { + parseXml(root3) { + this.props = parseExtendedProps(root3, this._package.xmlParser); + } +}; +function parseCoreProps(root3, xmlParser) { + const result2 = {}; + for (let el of xmlParser.elements(root3)) { + switch (el.localName) { + case "title": + result2.title = el.textContent; + break; + case "description": + result2.description = el.textContent; + break; + case "subject": + result2.subject = el.textContent; + break; + case "creator": + result2.creator = el.textContent; + break; + case "keywords": + result2.keywords = el.textContent; + break; + case "language": + result2.language = el.textContent; + break; + case "lastModifiedBy": + result2.lastModifiedBy = el.textContent; + break; + case "revision": + el.textContent && (result2.revision = parseInt(el.textContent)); + break; + } + } + return result2; +} +var CorePropsPart = class extends Part { + parseXml(root3) { + this.props = parseCoreProps(root3, this._package.xmlParser); + } +}; +var DmlTheme = class { +}; +function parseTheme(elem, xml) { + var result2 = new DmlTheme(); + var themeElements = xml.element(elem, "themeElements"); + for (let el of xml.elements(themeElements)) { + switch (el.localName) { + case "clrScheme": + result2.colorScheme = parseColorScheme(el, xml); + break; + case "fontScheme": + result2.fontScheme = parseFontScheme(el, xml); + break; + } + } + return result2; +} +function parseColorScheme(elem, xml) { + var result2 = { + name: xml.attr(elem, "name"), + colors: {} + }; + for (let el of xml.elements(elem)) { + var srgbClr = xml.element(el, "srgbClr"); + var sysClr = xml.element(el, "sysClr"); + if (srgbClr) { + result2.colors[el.localName] = xml.attr(srgbClr, "val"); + } else if (sysClr) { + result2.colors[el.localName] = xml.attr(sysClr, "lastClr"); + } + } + return result2; +} +function parseFontScheme(elem, xml) { + var result2 = { + name: xml.attr(elem, "name") + }; + for (let el of xml.elements(elem)) { + switch (el.localName) { + case "majorFont": + result2.majorFont = parseFontInfo(el, xml); + break; + case "minorFont": + result2.minorFont = parseFontInfo(el, xml); + break; + } + } + return result2; +} +function parseFontInfo(elem, xml) { + return { + latinTypeface: xml.elementAttr(elem, "latin", "typeface"), + eaTypeface: xml.elementAttr(elem, "ea", "typeface"), + csTypeface: xml.elementAttr(elem, "cs", "typeface") + }; +} +var ThemePart = class extends Part { + constructor(pkg, path) { + super(pkg, path); + } + parseXml(root3) { + this.theme = parseTheme(root3, this._package.xmlParser); + } +}; +var WmlBaseNote = class { +}; +var WmlFootnote = class extends WmlBaseNote { + constructor() { + super(...arguments); + this.type = DomType.Footnote; + } +}; +var WmlEndnote = class extends WmlBaseNote { + constructor() { + super(...arguments); + this.type = DomType.Endnote; + } +}; +var BaseNotePart = class extends Part { + constructor(pkg, path, parser) { + super(pkg, path); + this._documentParser = parser; + } +}; +var FootnotesPart = class extends BaseNotePart { + constructor(pkg, path, parser) { + super(pkg, path, parser); + } + parseXml(root3) { + this.notes = this._documentParser.parseNotes(root3, "footnote", WmlFootnote); + } +}; +var EndnotesPart = class extends BaseNotePart { + constructor(pkg, path, parser) { + super(pkg, path, parser); + } + parseXml(root3) { + this.notes = this._documentParser.parseNotes(root3, "endnote", WmlEndnote); + } +}; +function parseSettings(elem, xml) { + var result2 = {}; + for (let el of xml.elements(elem)) { + switch (el.localName) { + case "defaultTabStop": + result2.defaultTabStop = xml.lengthAttr(el, "val"); + break; + case "footnotePr": + result2.footnoteProps = parseNoteProperties(el, xml); + break; + case "endnotePr": + result2.endnoteProps = parseNoteProperties(el, xml); + break; + case "autoHyphenation": + result2.autoHyphenation = xml.boolAttr(el, "val"); + break; + } + } + return result2; +} +function parseNoteProperties(elem, xml) { + var result2 = { + defaultNoteIds: [] + }; + for (let el of xml.elements(elem)) { + switch (el.localName) { + case "numFmt": + result2.nummeringFormat = xml.attr(el, "val"); + break; + case "footnote": + case "endnote": + result2.defaultNoteIds.push(xml.attr(el, "id")); + break; + } + } + return result2; +} +var SettingsPart = class extends Part { + constructor(pkg, path) { + super(pkg, path); + } + parseXml(root3) { + this.settings = parseSettings(root3, this._package.xmlParser); + } +}; +function parseCustomProps(root3, xml) { + return xml.elements(root3, "property").map((e) => { + const firstChild = e.firstChild; + return { + formatId: xml.attr(e, "fmtid"), + name: xml.attr(e, "name"), + type: firstChild.nodeName, + value: firstChild.textContent + }; + }); +} +var CustomPropsPart = class extends Part { + parseXml(root3) { + this.props = parseCustomProps(root3, this._package.xmlParser); + } +}; +var CommentsPart = class extends Part { + constructor(pkg, path, parser) { + super(pkg, path); + this._documentParser = parser; + } + parseXml(root3) { + this.comments = this._documentParser.parseComments(root3); + this.commentMap = keyBy(this.comments, (x) => x.id); + } +}; +var CommentsExtendedPart = class extends Part { + constructor(pkg, path) { + super(pkg, path); + this.comments = []; + } + parseXml(root3) { + const xml = this._package.xmlParser; + for (let el of xml.elements(root3, "commentEx")) { + this.comments.push({ + paraId: xml.attr(el, "paraId"), + paraIdParent: xml.attr(el, "paraIdParent"), + done: xml.boolAttr(el, "done") + }); + } + this.commentMap = keyBy(this.comments, (x) => x.paraId); + } +}; +var topLevelRels = [ + { type: RelationshipTypes.OfficeDocument, target: "word/document.xml" }, + { type: RelationshipTypes.ExtendedProperties, target: "docProps/app.xml" }, + { type: RelationshipTypes.CoreProperties, target: "docProps/core.xml" }, + { type: RelationshipTypes.CustomProperties, target: "docProps/custom.xml" } +]; +var WordDocument = class _WordDocument { + constructor() { + this.parts = []; + this.partsMap = {}; + } + static async load(blob, parser, options) { + var d = new _WordDocument(); + d._options = options; + d._parser = parser; + d._package = await OpenXmlPackage.load(blob, options); + d.rels = await d._package.loadRelationships(); + await Promise.all(topLevelRels.map((rel) => { + var _a; + const r = (_a = d.rels.find((x) => x.type === rel.type)) != null ? _a : rel; + return d.loadRelationshipPart(r.target, r.type); + })); + return d; + } + save(type = "blob") { + return this._package.save(type); + } + async loadRelationshipPart(path, type) { + var _a; + if (this.partsMap[path]) + return this.partsMap[path]; + if (!this._package.get(path)) + return null; + let part = null; + switch (type) { + case RelationshipTypes.OfficeDocument: + this.documentPart = part = new DocumentPart(this._package, path, this._parser); + break; + case RelationshipTypes.FontTable: + this.fontTablePart = part = new FontTablePart(this._package, path); + break; + case RelationshipTypes.Numbering: + this.numberingPart = part = new NumberingPart(this._package, path, this._parser); + break; + case RelationshipTypes.Styles: + this.stylesPart = part = new StylesPart(this._package, path, this._parser); + break; + case RelationshipTypes.Theme: + this.themePart = part = new ThemePart(this._package, path); + break; + case RelationshipTypes.Footnotes: + this.footnotesPart = part = new FootnotesPart(this._package, path, this._parser); + break; + case RelationshipTypes.Endnotes: + this.endnotesPart = part = new EndnotesPart(this._package, path, this._parser); + break; + case RelationshipTypes.Footer: + part = new FooterPart(this._package, path, this._parser); + break; + case RelationshipTypes.Header: + part = new HeaderPart(this._package, path, this._parser); + break; + case RelationshipTypes.CoreProperties: + this.corePropsPart = part = new CorePropsPart(this._package, path); + break; + case RelationshipTypes.ExtendedProperties: + this.extendedPropsPart = part = new ExtendedPropsPart(this._package, path); + break; + case RelationshipTypes.CustomProperties: + part = new CustomPropsPart(this._package, path); + break; + case RelationshipTypes.Settings: + this.settingsPart = part = new SettingsPart(this._package, path); + break; + case RelationshipTypes.Comments: + this.commentsPart = part = new CommentsPart(this._package, path, this._parser); + break; + case RelationshipTypes.CommentsExtended: + this.commentsExtendedPart = part = new CommentsExtendedPart(this._package, path); + break; + } + if (part == null) + return Promise.resolve(null); + this.partsMap[path] = part; + this.parts.push(part); + await part.load(); + if (((_a = part.rels) == null ? void 0 : _a.length) > 0) { + const [folder] = splitPath(part.path); + await Promise.all(part.rels.map((rel) => this.loadRelationshipPart(resolvePath(rel.target, folder), rel.type))); + } + return part; + } + async loadDocumentImage(id, part) { + const x = await this.loadResource(part != null ? part : this.documentPart, id, "blob"); + return this.blobToURL(x); + } + async loadNumberingImage(id) { + const x = await this.loadResource(this.numberingPart, id, "blob"); + return this.blobToURL(x); + } + async loadFont(id, key) { + const x = await this.loadResource(this.fontTablePart, id, "uint8array"); + return x ? this.blobToURL(new Blob([deobfuscate(x, key)])) : x; + } + blobToURL(blob) { + if (!blob) + return null; + if (this._options.useBase64URL) { + return blobToBase64(blob); + } + return URL.createObjectURL(blob); + } + findPartByRelId(id, basePart = null) { + var _a; + var rel = ((_a = basePart.rels) != null ? _a : this.rels).find((r) => r.id == id); + const folder = basePart ? splitPath(basePart.path)[0] : ""; + return rel ? this.partsMap[resolvePath(rel.target, folder)] : null; + } + getPathById(part, id) { + const rel = part.rels.find((x) => x.id == id); + const [folder] = splitPath(part.path); + return rel ? resolvePath(rel.target, folder) : null; + } + loadResource(part, id, outputType) { + const path = this.getPathById(part, id); + return path ? this._package.load(path, outputType) : Promise.resolve(null); + } +}; +function deobfuscate(data, guidKey) { + const len = 16; + const trimmed = guidKey.replace(/{|}|-/g, ""); + const numbers = new Array(len); + for (let i = 0; i < len; i++) + numbers[len - i - 1] = parseInt(trimmed.substr(i * 2, 2), 16); + for (let i = 0; i < 32; i++) + data[i] = data[i] ^ numbers[i % len]; + return data; +} +function parseBookmarkStart(elem, xml) { + return { + type: DomType.BookmarkStart, + id: xml.attr(elem, "id"), + name: xml.attr(elem, "name"), + colFirst: xml.intAttr(elem, "colFirst"), + colLast: xml.intAttr(elem, "colLast") + }; +} +function parseBookmarkEnd(elem, xml) { + return { + type: DomType.BookmarkEnd, + id: xml.attr(elem, "id") + }; +} +var VmlElement = class extends OpenXmlElementBase { + constructor() { + super(...arguments); + this.type = DomType.VmlElement; + this.attrs = {}; + } +}; +function parseVmlElement(elem, parser) { + var result2 = new VmlElement(); + switch (elem.localName) { + case "rect": + result2.tagName = "rect"; + Object.assign(result2.attrs, { width: "100%", height: "100%" }); + break; + case "oval": + result2.tagName = "ellipse"; + Object.assign(result2.attrs, { cx: "50%", cy: "50%", rx: "50%", ry: "50%" }); + break; + case "line": + result2.tagName = "line"; + break; + case "shape": + result2.tagName = "g"; + break; + case "textbox": + result2.tagName = "foreignObject"; + Object.assign(result2.attrs, { width: "100%", height: "100%" }); + break; + default: + return null; + } + for (const at of globalXmlParser.attrs(elem)) { + switch (at.localName) { + case "style": + result2.cssStyleText = at.value; + break; + case "fillcolor": + result2.attrs.fill = at.value; + break; + case "from": + const [x1, y1] = parsePoint(at.value); + Object.assign(result2.attrs, { x1, y1 }); + break; + case "to": + const [x2, y2] = parsePoint(at.value); + Object.assign(result2.attrs, { x2, y2 }); + break; + } + } + for (const el of globalXmlParser.elements(elem)) { + switch (el.localName) { + case "stroke": + Object.assign(result2.attrs, parseStroke(el)); + break; + case "fill": + Object.assign(result2.attrs, parseFill()); + break; + case "imagedata": + result2.tagName = "image"; + Object.assign(result2.attrs, { width: "100%", height: "100%" }); + result2.imageHref = { + id: globalXmlParser.attr(el, "id"), + title: globalXmlParser.attr(el, "title") + }; + break; + case "txbxContent": + result2.children.push(...parser.parseBodyElements(el)); + break; + default: + const child = parseVmlElement(el, parser); + child && result2.children.push(child); + break; + } + } + return result2; +} +function parseStroke(el) { + var _a; + return { + "stroke": globalXmlParser.attr(el, "color"), + "stroke-width": (_a = globalXmlParser.lengthAttr(el, "weight", LengthUsage.Emu)) != null ? _a : "1px" + }; +} +function parseFill(el) { + return {}; +} +function parsePoint(val) { + return val.split(","); +} +var WmlComment = class extends OpenXmlElementBase { + constructor() { + super(...arguments); + this.type = DomType.Comment; + } +}; +var WmlCommentReference = class extends OpenXmlElementBase { + constructor(id) { + super(); + this.id = id; + this.type = DomType.CommentReference; + } +}; +var WmlCommentRangeStart = class extends OpenXmlElementBase { + constructor(id) { + super(); + this.id = id; + this.type = DomType.CommentRangeStart; + } +}; +var WmlCommentRangeEnd = class extends OpenXmlElementBase { + constructor(id) { + super(); + this.id = id; + this.type = DomType.CommentRangeEnd; + } +}; +var autos = { + shd: "inherit", + color: "black", + borderColor: "black", + highlight: "transparent" +}; +var supportedNamespaceURIs = []; +var mmlTagMap = { + "oMath": DomType.MmlMath, + "oMathPara": DomType.MmlMathParagraph, + "f": DomType.MmlFraction, + "func": DomType.MmlFunction, + "fName": DomType.MmlFunctionName, + "num": DomType.MmlNumerator, + "den": DomType.MmlDenominator, + "rad": DomType.MmlRadical, + "deg": DomType.MmlDegree, + "e": DomType.MmlBase, + "sSup": DomType.MmlSuperscript, + "sSub": DomType.MmlSubscript, + "sPre": DomType.MmlPreSubSuper, + "sup": DomType.MmlSuperArgument, + "sub": DomType.MmlSubArgument, + "d": DomType.MmlDelimiter, + "nary": DomType.MmlNary, + "eqArr": DomType.MmlEquationArray, + "lim": DomType.MmlLimit, + "limLow": DomType.MmlLimitLower, + "m": DomType.MmlMatrix, + "mr": DomType.MmlMatrixRow, + "box": DomType.MmlBox, + "bar": DomType.MmlBar, + "groupChr": DomType.MmlGroupChar +}; +var DocumentParser = class { + constructor(options) { + this.options = { + ignoreWidth: false, + debug: false, + ...options + }; + } + parseNotes(xmlDoc, elemName, elemClass) { + var result2 = []; + for (let el of globalXmlParser.elements(xmlDoc, elemName)) { + const node = new elemClass(); + node.id = globalXmlParser.attr(el, "id"); + node.noteType = globalXmlParser.attr(el, "type"); + node.children = this.parseBodyElements(el); + result2.push(node); + } + return result2; + } + parseComments(xmlDoc) { + var result2 = []; + for (let el of globalXmlParser.elements(xmlDoc, "comment")) { + const item = new WmlComment(); + item.id = globalXmlParser.attr(el, "id"); + item.author = globalXmlParser.attr(el, "author"); + item.initials = globalXmlParser.attr(el, "initials"); + item.date = globalXmlParser.attr(el, "date"); + item.children = this.parseBodyElements(el); + result2.push(item); + } + return result2; + } + parseDocumentFile(xmlDoc) { + var xbody = globalXmlParser.element(xmlDoc, "body"); + var background = globalXmlParser.element(xmlDoc, "background"); + var sectPr = globalXmlParser.element(xbody, "sectPr"); + return { + type: DomType.Document, + children: this.parseBodyElements(xbody), + props: sectPr ? parseSectionProperties(sectPr, globalXmlParser) : {}, + cssStyle: background ? this.parseBackground(background) : {} + }; + } + parseBackground(elem) { + var result2 = {}; + var color = xmlUtil.colorAttr(elem, "color"); + if (color) { + result2["background-color"] = color; + } + return result2; + } + parseBodyElements(element) { + var children = []; + for (let elem of globalXmlParser.elements(element)) { + switch (elem.localName) { + case "p": + children.push(this.parseParagraph(elem)); + break; + case "tbl": + children.push(this.parseTable(elem)); + break; + case "sdt": + children.push(...this.parseSdt(elem, (e) => this.parseBodyElements(e))); + break; + } + } + return children; + } + parseStylesFile(xstyles) { + var result2 = []; + xmlUtil.foreach(xstyles, (n) => { + switch (n.localName) { + case "style": + result2.push(this.parseStyle(n)); + break; + case "docDefaults": + result2.push(this.parseDefaultStyles(n)); + break; + } + }); + return result2; + } + parseDefaultStyles(node) { + var result2 = { + id: null, + name: null, + target: null, + basedOn: null, + styles: [] + }; + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "rPrDefault": + var rPr = globalXmlParser.element(c, "rPr"); + if (rPr) + result2.styles.push({ + target: "span", + values: this.parseDefaultProperties(rPr, {}) + }); + break; + case "pPrDefault": + var pPr = globalXmlParser.element(c, "pPr"); + if (pPr) + result2.styles.push({ + target: "p", + values: this.parseDefaultProperties(pPr, {}) + }); + break; + } + }); + return result2; + } + parseStyle(node) { + var result2 = { + id: globalXmlParser.attr(node, "styleId"), + isDefault: globalXmlParser.boolAttr(node, "default"), + name: null, + target: null, + basedOn: null, + styles: [], + linked: null + }; + switch (globalXmlParser.attr(node, "type")) { + case "paragraph": + result2.target = "p"; + break; + case "table": + result2.target = "table"; + break; + case "character": + result2.target = "span"; + break; + } + xmlUtil.foreach(node, (n) => { + switch (n.localName) { + case "basedOn": + result2.basedOn = globalXmlParser.attr(n, "val"); + break; + case "name": + result2.name = globalXmlParser.attr(n, "val"); + break; + case "link": + result2.linked = globalXmlParser.attr(n, "val"); + break; + case "next": + result2.next = globalXmlParser.attr(n, "val"); + break; + case "aliases": + result2.aliases = globalXmlParser.attr(n, "val").split(","); + break; + case "pPr": + result2.styles.push({ + target: "p", + values: this.parseDefaultProperties(n, {}) + }); + result2.paragraphProps = parseParagraphProperties(n, globalXmlParser); + break; + case "rPr": + result2.styles.push({ + target: "span", + values: this.parseDefaultProperties(n, {}) + }); + result2.runProps = parseRunProperties(n, globalXmlParser); + break; + case "tblPr": + case "tcPr": + result2.styles.push({ + target: "td", + values: this.parseDefaultProperties(n, {}) + }); + break; + case "tblStylePr": + for (let s of this.parseTableStyle(n)) + result2.styles.push(s); + break; + case "rsid": + case "qFormat": + case "hidden": + case "semiHidden": + case "unhideWhenUsed": + case "autoRedefine": + case "uiPriority": + break; + default: + this.options.debug && console.warn(`DOCX: Unknown style element: ${n.localName}`); + } + }); + return result2; + } + parseTableStyle(node) { + var result2 = []; + var type = globalXmlParser.attr(node, "type"); + var selector = ""; + var modificator = ""; + switch (type) { + case "firstRow": + modificator = ".first-row"; + selector = "tr.first-row td"; + break; + case "lastRow": + modificator = ".last-row"; + selector = "tr.last-row td"; + break; + case "firstCol": + modificator = ".first-col"; + selector = "td.first-col"; + break; + case "lastCol": + modificator = ".last-col"; + selector = "td.last-col"; + break; + case "band1Vert": + modificator = ":not(.no-vband)"; + selector = "td.odd-col"; + break; + case "band2Vert": + modificator = ":not(.no-vband)"; + selector = "td.even-col"; + break; + case "band1Horz": + modificator = ":not(.no-hband)"; + selector = "tr.odd-row"; + break; + case "band2Horz": + modificator = ":not(.no-hband)"; + selector = "tr.even-row"; + break; + default: + return []; + } + xmlUtil.foreach(node, (n) => { + switch (n.localName) { + case "pPr": + result2.push({ + target: `${selector} p`, + mod: modificator, + values: this.parseDefaultProperties(n, {}) + }); + break; + case "rPr": + result2.push({ + target: `${selector} span`, + mod: modificator, + values: this.parseDefaultProperties(n, {}) + }); + break; + case "tblPr": + case "tcPr": + result2.push({ + target: selector, + mod: modificator, + values: this.parseDefaultProperties(n, {}) + }); + break; + } + }); + return result2; + } + parseNumberingFile(xnums) { + var result2 = []; + var mapping = {}; + var bullets = []; + xmlUtil.foreach(xnums, (n) => { + switch (n.localName) { + case "abstractNum": + this.parseAbstractNumbering(n, bullets).forEach((x) => result2.push(x)); + break; + case "numPicBullet": + bullets.push(this.parseNumberingPicBullet(n)); + break; + case "num": + var numId = globalXmlParser.attr(n, "numId"); + var abstractNumId = globalXmlParser.elementAttr(n, "abstractNumId", "val"); + mapping[abstractNumId] = numId; + break; + } + }); + result2.forEach((x) => x.id = mapping[x.id]); + return result2; + } + parseNumberingPicBullet(elem) { + var pict = globalXmlParser.element(elem, "pict"); + var shape = pict && globalXmlParser.element(pict, "shape"); + var imagedata = shape && globalXmlParser.element(shape, "imagedata"); + return imagedata ? { + id: globalXmlParser.intAttr(elem, "numPicBulletId"), + src: globalXmlParser.attr(imagedata, "id"), + style: globalXmlParser.attr(shape, "style") + } : null; + } + parseAbstractNumbering(node, bullets) { + var result2 = []; + var id = globalXmlParser.attr(node, "abstractNumId"); + xmlUtil.foreach(node, (n) => { + switch (n.localName) { + case "lvl": + result2.push(this.parseNumberingLevel(id, n, bullets)); + break; + } + }); + return result2; + } + parseNumberingLevel(id, node, bullets) { + var result2 = { + id, + level: globalXmlParser.intAttr(node, "ilvl"), + start: 1, + pStyleName: void 0, + pStyle: {}, + rStyle: {}, + suff: "tab" + }; + xmlUtil.foreach(node, (n) => { + switch (n.localName) { + case "start": + result2.start = globalXmlParser.intAttr(n, "val"); + break; + case "pPr": + this.parseDefaultProperties(n, result2.pStyle); + break; + case "rPr": + this.parseDefaultProperties(n, result2.rStyle); + break; + case "lvlPicBulletId": + var id2 = globalXmlParser.intAttr(n, "val"); + result2.bullet = bullets.find((x) => (x == null ? void 0 : x.id) == id2); + break; + case "lvlText": + result2.levelText = globalXmlParser.attr(n, "val"); + break; + case "pStyle": + result2.pStyleName = globalXmlParser.attr(n, "val"); + break; + case "numFmt": + result2.format = globalXmlParser.attr(n, "val"); + break; + case "suff": + result2.suff = globalXmlParser.attr(n, "val"); + break; + } + }); + return result2; + } + parseSdt(node, parser) { + const sdtContent = globalXmlParser.element(node, "sdtContent"); + return sdtContent ? parser(sdtContent) : []; + } + parseInserted(node, parentParser) { + var _a, _b; + return { + type: DomType.Inserted, + children: (_b = (_a = parentParser(node)) == null ? void 0 : _a.children) != null ? _b : [] + }; + } + parseDeleted(node, parentParser) { + var _a, _b; + return { + type: DomType.Deleted, + children: (_b = (_a = parentParser(node)) == null ? void 0 : _a.children) != null ? _b : [] + }; + } + parseParagraph(node) { + var result2 = { type: DomType.Paragraph, children: [] }; + for (let el of globalXmlParser.elements(node)) { + switch (el.localName) { + case "pPr": + this.parseParagraphProperties(el, result2); + break; + case "r": + result2.children.push(this.parseRun(el, result2)); + break; + case "hyperlink": + result2.children.push(this.parseHyperlink(el, result2)); + break; + case "smartTag": + result2.children.push(this.parseSmartTag(el, result2)); + break; + case "bookmarkStart": + result2.children.push(parseBookmarkStart(el, globalXmlParser)); + break; + case "bookmarkEnd": + result2.children.push(parseBookmarkEnd(el, globalXmlParser)); + break; + case "commentRangeStart": + result2.children.push(new WmlCommentRangeStart(globalXmlParser.attr(el, "id"))); + break; + case "commentRangeEnd": + result2.children.push(new WmlCommentRangeEnd(globalXmlParser.attr(el, "id"))); + break; + case "oMath": + case "oMathPara": + result2.children.push(this.parseMathElement(el)); + break; + case "sdt": + result2.children.push(...this.parseSdt(el, (e) => this.parseParagraph(e).children)); + break; + case "ins": + result2.children.push(this.parseInserted(el, (e) => this.parseParagraph(e))); + break; + case "del": + result2.children.push(this.parseDeleted(el, (e) => this.parseParagraph(e))); + break; + } + } + return result2; + } + parseParagraphProperties(elem, paragraph) { + this.parseDefaultProperties(elem, paragraph.cssStyle = {}, null, (c) => { + if (parseParagraphProperty(c, paragraph, globalXmlParser)) + return true; + switch (c.localName) { + case "pStyle": + paragraph.styleName = globalXmlParser.attr(c, "val"); + break; + case "cnfStyle": + paragraph.className = values2.classNameOfCnfStyle(c); + break; + case "framePr": + this.parseFrame(c, paragraph); + break; + case "rPr": + break; + default: + return false; + } + return true; + }); + } + parseFrame(node, paragraph) { + var dropCap = globalXmlParser.attr(node, "dropCap"); + if (dropCap == "drop") + paragraph.cssStyle["float"] = "left"; + } + parseHyperlink(node, parent) { + var result2 = { type: DomType.Hyperlink, parent, children: [] }; + var anchor = globalXmlParser.attr(node, "anchor"); + var relId = globalXmlParser.attr(node, "id"); + if (anchor) + result2.href = "#" + anchor; + if (relId) + result2.id = relId; + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "r": + result2.children.push(this.parseRun(c, result2)); + break; + } + }); + return result2; + } + parseSmartTag(node, parent) { + var result2 = { type: DomType.SmartTag, parent, children: [] }; + var uri = globalXmlParser.attr(node, "uri"); + var element = globalXmlParser.attr(node, "element"); + if (uri) + result2.uri = uri; + if (element) + result2.element = element; + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "r": + result2.children.push(this.parseRun(c, result2)); + break; + } + }); + return result2; + } + parseRun(node, parent) { + var result2 = { type: DomType.Run, parent, children: [] }; + xmlUtil.foreach(node, (c) => { + c = this.checkAlternateContent(c); + switch (c.localName) { + case "t": + result2.children.push({ + type: DomType.Text, + text: c.textContent + }); + break; + case "delText": + result2.children.push({ + type: DomType.DeletedText, + text: c.textContent + }); + break; + case "commentReference": + result2.children.push(new WmlCommentReference(globalXmlParser.attr(c, "id"))); + break; + case "fldSimple": + result2.children.push({ + type: DomType.SimpleField, + instruction: globalXmlParser.attr(c, "instr"), + lock: globalXmlParser.boolAttr(c, "lock", false), + dirty: globalXmlParser.boolAttr(c, "dirty", false) + }); + break; + case "instrText": + result2.fieldRun = true; + result2.children.push({ + type: DomType.Instruction, + text: c.textContent + }); + break; + case "fldChar": + result2.fieldRun = true; + result2.children.push({ + type: DomType.ComplexField, + charType: globalXmlParser.attr(c, "fldCharType"), + lock: globalXmlParser.boolAttr(c, "lock", false), + dirty: globalXmlParser.boolAttr(c, "dirty", false) + }); + break; + case "noBreakHyphen": + result2.children.push({ type: DomType.NoBreakHyphen }); + break; + case "br": + result2.children.push({ + type: DomType.Break, + break: globalXmlParser.attr(c, "type") || "textWrapping" + }); + break; + case "lastRenderedPageBreak": + result2.children.push({ + type: DomType.Break, + break: "lastRenderedPageBreak" + }); + break; + case "sym": + result2.children.push({ + type: DomType.Symbol, + font: globalXmlParser.attr(c, "font"), + char: globalXmlParser.attr(c, "char") + }); + break; + case "tab": + result2.children.push({ type: DomType.Tab }); + break; + case "footnoteReference": + result2.children.push({ + type: DomType.FootnoteReference, + id: globalXmlParser.attr(c, "id") + }); + break; + case "endnoteReference": + result2.children.push({ + type: DomType.EndnoteReference, + id: globalXmlParser.attr(c, "id") + }); + break; + case "drawing": + let d = this.parseDrawing(c); + if (d) + result2.children = [d]; + break; + case "pict": + result2.children.push(this.parseVmlPicture(c)); + break; + case "rPr": + this.parseRunProperties(c, result2); + break; + } + }); + return result2; + } + parseMathElement(elem) { + const propsTag = `${elem.localName}Pr`; + const result2 = { type: mmlTagMap[elem.localName], children: [] }; + for (const el of globalXmlParser.elements(elem)) { + const childType = mmlTagMap[el.localName]; + if (childType) { + result2.children.push(this.parseMathElement(el)); + } else if (el.localName == "r") { + var run = this.parseRun(el); + run.type = DomType.MmlRun; + result2.children.push(run); + } else if (el.localName == propsTag) { + result2.props = this.parseMathProperies(el); + } + } + return result2; + } + parseMathProperies(elem) { + const result2 = {}; + for (const el of globalXmlParser.elements(elem)) { + switch (el.localName) { + case "chr": + result2.char = globalXmlParser.attr(el, "val"); + break; + case "vertJc": + result2.verticalJustification = globalXmlParser.attr(el, "val"); + break; + case "pos": + result2.position = globalXmlParser.attr(el, "val"); + break; + case "degHide": + result2.hideDegree = globalXmlParser.boolAttr(el, "val"); + break; + case "begChr": + result2.beginChar = globalXmlParser.attr(el, "val"); + break; + case "endChr": + result2.endChar = globalXmlParser.attr(el, "val"); + break; + } + } + return result2; + } + parseRunProperties(elem, run) { + this.parseDefaultProperties(elem, run.cssStyle = {}, null, (c) => { + switch (c.localName) { + case "rStyle": + run.styleName = globalXmlParser.attr(c, "val"); + break; + case "vertAlign": + run.verticalAlign = values2.valueOfVertAlign(c, true); + break; + default: + return false; + } + return true; + }); + } + parseVmlPicture(elem) { + const result2 = { type: DomType.VmlPicture, children: [] }; + for (const el of globalXmlParser.elements(elem)) { + const child = parseVmlElement(el, this); + child && result2.children.push(child); + } + return result2; + } + checkAlternateContent(elem) { + var _a; + if (elem.localName != "AlternateContent") + return elem; + var choice = globalXmlParser.element(elem, "Choice"); + if (choice) { + var requires = globalXmlParser.attr(choice, "Requires"); + var namespaceURI = elem.lookupNamespaceURI(requires); + if (supportedNamespaceURIs.includes(namespaceURI)) + return choice.firstElementChild; + } + return (_a = globalXmlParser.element(elem, "Fallback")) == null ? void 0 : _a.firstElementChild; + } + parseDrawing(node) { + for (var n of globalXmlParser.elements(node)) { + switch (n.localName) { + case "inline": + case "anchor": + return this.parseDrawingWrapper(n); + } + } + } + parseDrawingWrapper(node) { + var _a; + var result2 = { type: DomType.Drawing, children: [], cssStyle: {} }; + var isAnchor = node.localName == "anchor"; + let wrapType = null; + let simplePos = globalXmlParser.boolAttr(node, "simplePos"); + globalXmlParser.boolAttr(node, "behindDoc"); + let posX = { relative: "page", align: "left", offset: "0" }; + let posY = { relative: "page", align: "top", offset: "0" }; + for (var n of globalXmlParser.elements(node)) { + switch (n.localName) { + case "simplePos": + if (simplePos) { + posX.offset = globalXmlParser.lengthAttr(n, "x", LengthUsage.Emu); + posY.offset = globalXmlParser.lengthAttr(n, "y", LengthUsage.Emu); + } + break; + case "extent": + result2.cssStyle["width"] = globalXmlParser.lengthAttr(n, "cx", LengthUsage.Emu); + result2.cssStyle["height"] = globalXmlParser.lengthAttr(n, "cy", LengthUsage.Emu); + break; + case "positionH": + case "positionV": + if (!simplePos) { + let pos = n.localName == "positionH" ? posX : posY; + var alignNode = globalXmlParser.element(n, "align"); + var offsetNode = globalXmlParser.element(n, "posOffset"); + pos.relative = (_a = globalXmlParser.attr(n, "relativeFrom")) != null ? _a : pos.relative; + if (alignNode) + pos.align = alignNode.textContent; + if (offsetNode) + pos.offset = xmlUtil.sizeValue(offsetNode, LengthUsage.Emu); + } + break; + case "wrapTopAndBottom": + wrapType = "wrapTopAndBottom"; + break; + case "wrapNone": + wrapType = "wrapNone"; + break; + case "graphic": + var g = this.parseGraphic(n); + if (g) + result2.children.push(g); + break; + } + } + if (wrapType == "wrapTopAndBottom") { + result2.cssStyle["display"] = "block"; + if (posX.align) { + result2.cssStyle["text-align"] = posX.align; + result2.cssStyle["width"] = "100%"; + } + } else if (wrapType == "wrapNone") { + result2.cssStyle["display"] = "block"; + result2.cssStyle["position"] = "relative"; + result2.cssStyle["width"] = "0px"; + result2.cssStyle["height"] = "0px"; + if (posX.offset) + result2.cssStyle["left"] = posX.offset; + if (posY.offset) + result2.cssStyle["top"] = posY.offset; + } else if (isAnchor && (posX.align == "left" || posX.align == "right")) { + result2.cssStyle["float"] = posX.align; + } + return result2; + } + parseGraphic(elem) { + var graphicData = globalXmlParser.element(elem, "graphicData"); + for (let n of globalXmlParser.elements(graphicData)) { + switch (n.localName) { + case "pic": + return this.parsePicture(n); + } + } + return null; + } + parsePicture(elem) { + var result2 = { type: DomType.Image, src: "", cssStyle: {} }; + var blipFill = globalXmlParser.element(elem, "blipFill"); + var blip = globalXmlParser.element(blipFill, "blip"); + result2.src = globalXmlParser.attr(blip, "embed"); + var spPr = globalXmlParser.element(elem, "spPr"); + var xfrm = globalXmlParser.element(spPr, "xfrm"); + result2.cssStyle["position"] = "relative"; + for (var n of globalXmlParser.elements(xfrm)) { + switch (n.localName) { + case "ext": + result2.cssStyle["width"] = globalXmlParser.lengthAttr(n, "cx", LengthUsage.Emu); + result2.cssStyle["height"] = globalXmlParser.lengthAttr(n, "cy", LengthUsage.Emu); + break; + case "off": + result2.cssStyle["left"] = globalXmlParser.lengthAttr(n, "x", LengthUsage.Emu); + result2.cssStyle["top"] = globalXmlParser.lengthAttr(n, "y", LengthUsage.Emu); + break; + } + } + return result2; + } + parseTable(node) { + var result2 = { type: DomType.Table, children: [] }; + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "tr": + result2.children.push(this.parseTableRow(c)); + break; + case "tblGrid": + result2.columns = this.parseTableColumns(c); + break; + case "tblPr": + this.parseTableProperties(c, result2); + break; + } + }); + return result2; + } + parseTableColumns(node) { + var result2 = []; + xmlUtil.foreach(node, (n) => { + switch (n.localName) { + case "gridCol": + result2.push({ width: globalXmlParser.lengthAttr(n, "w") }); + break; + } + }); + return result2; + } + parseTableProperties(elem, table) { + table.cssStyle = {}; + table.cellStyle = {}; + this.parseDefaultProperties(elem, table.cssStyle, table.cellStyle, (c) => { + switch (c.localName) { + case "tblStyle": + table.styleName = globalXmlParser.attr(c, "val"); + break; + case "tblLook": + table.className = values2.classNameOftblLook(c); + break; + case "tblpPr": + this.parseTablePosition(c, table); + break; + case "tblStyleColBandSize": + table.colBandSize = globalXmlParser.intAttr(c, "val"); + break; + case "tblStyleRowBandSize": + table.rowBandSize = globalXmlParser.intAttr(c, "val"); + break; + default: + return false; + } + return true; + }); + switch (table.cssStyle["text-align"]) { + case "center": + delete table.cssStyle["text-align"]; + table.cssStyle["margin-left"] = "auto"; + table.cssStyle["margin-right"] = "auto"; + break; + case "right": + delete table.cssStyle["text-align"]; + table.cssStyle["margin-left"] = "auto"; + break; + } + } + parseTablePosition(node, table) { + var topFromText = globalXmlParser.lengthAttr(node, "topFromText"); + var bottomFromText = globalXmlParser.lengthAttr(node, "bottomFromText"); + var rightFromText = globalXmlParser.lengthAttr(node, "rightFromText"); + var leftFromText = globalXmlParser.lengthAttr(node, "leftFromText"); + table.cssStyle["float"] = "left"; + table.cssStyle["margin-bottom"] = values2.addSize(table.cssStyle["margin-bottom"], bottomFromText); + table.cssStyle["margin-left"] = values2.addSize(table.cssStyle["margin-left"], leftFromText); + table.cssStyle["margin-right"] = values2.addSize(table.cssStyle["margin-right"], rightFromText); + table.cssStyle["margin-top"] = values2.addSize(table.cssStyle["margin-top"], topFromText); + } + parseTableRow(node) { + var result2 = { type: DomType.Row, children: [] }; + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "tc": + result2.children.push(this.parseTableCell(c)); + break; + case "trPr": + this.parseTableRowProperties(c, result2); + break; + } + }); + return result2; + } + parseTableRowProperties(elem, row) { + row.cssStyle = this.parseDefaultProperties(elem, {}, null, (c) => { + switch (c.localName) { + case "cnfStyle": + row.className = values2.classNameOfCnfStyle(c); + break; + case "tblHeader": + row.isHeader = globalXmlParser.boolAttr(c, "val"); + break; + default: + return false; + } + return true; + }); + } + parseTableCell(node) { + var result2 = { type: DomType.Cell, children: [] }; + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "tbl": + result2.children.push(this.parseTable(c)); + break; + case "p": + result2.children.push(this.parseParagraph(c)); + break; + case "tcPr": + this.parseTableCellProperties(c, result2); + break; + } + }); + return result2; + } + parseTableCellProperties(elem, cell) { + cell.cssStyle = this.parseDefaultProperties(elem, {}, null, (c) => { + var _a; + switch (c.localName) { + case "gridSpan": + cell.span = globalXmlParser.intAttr(c, "val", null); + break; + case "vMerge": + cell.verticalMerge = (_a = globalXmlParser.attr(c, "val")) != null ? _a : "continue"; + break; + case "cnfStyle": + cell.className = values2.classNameOfCnfStyle(c); + break; + default: + return false; + } + return true; + }); + } + parseDefaultProperties(elem, style = null, childStyle = null, handler = null) { + style = style || {}; + xmlUtil.foreach(elem, (c) => { + if (handler == null ? void 0 : handler(c)) + return; + switch (c.localName) { + case "jc": + style["text-align"] = values2.valueOfJc(c); + break; + case "textAlignment": + style["vertical-align"] = values2.valueOfTextAlignment(c); + break; + case "color": + style["color"] = xmlUtil.colorAttr(c, "val", null, autos.color); + break; + case "sz": + style["font-size"] = style["min-height"] = globalXmlParser.lengthAttr(c, "val", LengthUsage.FontSize); + break; + case "shd": + style["background-color"] = xmlUtil.colorAttr(c, "fill", null, autos.shd); + break; + case "highlight": + style["background-color"] = xmlUtil.colorAttr(c, "val", null, autos.highlight); + break; + case "vertAlign": + break; + case "position": + style.verticalAlign = globalXmlParser.lengthAttr(c, "val", LengthUsage.FontSize); + break; + case "tcW": + if (this.options.ignoreWidth) + break; + case "tblW": + style["width"] = values2.valueOfSize(c, "w"); + break; + case "trHeight": + this.parseTrHeight(c, style); + break; + case "strike": + style["text-decoration"] = globalXmlParser.boolAttr(c, "val", true) ? "line-through" : "none"; + break; + case "b": + style["font-weight"] = globalXmlParser.boolAttr(c, "val", true) ? "bold" : "normal"; + break; + case "i": + style["font-style"] = globalXmlParser.boolAttr(c, "val", true) ? "italic" : "normal"; + break; + case "caps": + style["text-transform"] = globalXmlParser.boolAttr(c, "val", true) ? "uppercase" : "none"; + break; + case "smallCaps": + style["font-variant"] = globalXmlParser.boolAttr(c, "val", true) ? "small-caps" : "none"; + break; + case "u": + this.parseUnderline(c, style); + break; + case "ind": + case "tblInd": + this.parseIndentation(c, style); + break; + case "rFonts": + this.parseFont(c, style); + break; + case "tblBorders": + this.parseBorderProperties(c, childStyle || style); + break; + case "tblCellSpacing": + style["border-spacing"] = values2.valueOfMargin(c); + style["border-collapse"] = "separate"; + break; + case "pBdr": + this.parseBorderProperties(c, style); + break; + case "bdr": + style["border"] = values2.valueOfBorder(c); + break; + case "tcBorders": + this.parseBorderProperties(c, style); + break; + case "vanish": + if (globalXmlParser.boolAttr(c, "val", true)) + style["display"] = "none"; + break; + case "kern": + break; + case "noWrap": + break; + case "tblCellMar": + case "tcMar": + this.parseMarginProperties(c, childStyle || style); + break; + case "tblLayout": + style["table-layout"] = values2.valueOfTblLayout(c); + break; + case "vAlign": + style["vertical-align"] = values2.valueOfTextAlignment(c); + break; + case "spacing": + if (elem.localName == "pPr") + this.parseSpacing(c, style); + break; + case "wordWrap": + if (globalXmlParser.boolAttr(c, "val")) + style["overflow-wrap"] = "break-word"; + break; + case "suppressAutoHyphens": + style["hyphens"] = globalXmlParser.boolAttr(c, "val", true) ? "none" : "auto"; + break; + case "lang": + style["$lang"] = globalXmlParser.attr(c, "val"); + break; + case "bCs": + case "iCs": + case "szCs": + case "tabs": + case "outlineLvl": + case "contextualSpacing": + case "tblStyleColBandSize": + case "tblStyleRowBandSize": + case "webHidden": + case "pageBreakBefore": + case "suppressLineNumbers": + case "keepLines": + case "keepNext": + case "widowControl": + case "bidi": + case "rtl": + case "noProof": + break; + default: + if (this.options.debug) + console.warn(`DOCX: Unknown document element: ${elem.localName}.${c.localName}`); + break; + } + }); + return style; + } + parseUnderline(node, style) { + var val = globalXmlParser.attr(node, "val"); + if (val == null) + return; + switch (val) { + case "dash": + case "dashDotDotHeavy": + case "dashDotHeavy": + case "dashedHeavy": + case "dashLong": + case "dashLongHeavy": + case "dotDash": + case "dotDotDash": + style["text-decoration"] = "underline dashed"; + break; + case "dotted": + case "dottedHeavy": + style["text-decoration"] = "underline dotted"; + break; + case "double": + style["text-decoration"] = "underline double"; + break; + case "single": + case "thick": + style["text-decoration"] = "underline"; + break; + case "wave": + case "wavyDouble": + case "wavyHeavy": + style["text-decoration"] = "underline wavy"; + break; + case "words": + style["text-decoration"] = "underline"; + break; + case "none": + style["text-decoration"] = "none"; + break; + } + var col = xmlUtil.colorAttr(node, "color"); + if (col) + style["text-decoration-color"] = col; + } + parseFont(node, style) { + var ascii = globalXmlParser.attr(node, "ascii"); + var asciiTheme = values2.themeValue(node, "asciiTheme"); + var fonts = [ascii, asciiTheme].filter((x) => x).join(", "); + if (fonts.length > 0) + style["font-family"] = fonts; + } + parseIndentation(node, style) { + var firstLine = globalXmlParser.lengthAttr(node, "firstLine"); + var hanging = globalXmlParser.lengthAttr(node, "hanging"); + var left = globalXmlParser.lengthAttr(node, "left"); + var start = globalXmlParser.lengthAttr(node, "start"); + var right = globalXmlParser.lengthAttr(node, "right"); + var end = globalXmlParser.lengthAttr(node, "end"); + if (firstLine) + style["text-indent"] = firstLine; + if (hanging) + style["text-indent"] = `-${hanging}`; + if (left || start) + style["margin-left"] = left || start; + if (right || end) + style["margin-right"] = right || end; + } + parseSpacing(node, style) { + var before2 = globalXmlParser.lengthAttr(node, "before"); + var after2 = globalXmlParser.lengthAttr(node, "after"); + var line = globalXmlParser.intAttr(node, "line", null); + var lineRule = globalXmlParser.attr(node, "lineRule"); + if (before2) + style["margin-top"] = before2; + if (after2) + style["margin-bottom"] = after2; + if (line !== null) { + switch (lineRule) { + case "auto": + style["line-height"] = `${(line / 240).toFixed(2)}`; + break; + case "atLeast": + style["line-height"] = `calc(100% + ${line / 20}pt)`; + break; + default: + style["line-height"] = style["min-height"] = `${line / 20}pt`; + break; + } + } + } + parseMarginProperties(node, output) { + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "left": + output["padding-left"] = values2.valueOfMargin(c); + break; + case "right": + output["padding-right"] = values2.valueOfMargin(c); + break; + case "top": + output["padding-top"] = values2.valueOfMargin(c); + break; + case "bottom": + output["padding-bottom"] = values2.valueOfMargin(c); + break; + } + }); + } + parseTrHeight(node, output) { + switch (globalXmlParser.attr(node, "hRule")) { + case "exact": + output["height"] = globalXmlParser.lengthAttr(node, "val"); + break; + case "atLeast": + default: + output["height"] = globalXmlParser.lengthAttr(node, "val"); + break; + } + } + parseBorderProperties(node, output) { + xmlUtil.foreach(node, (c) => { + switch (c.localName) { + case "start": + case "left": + output["border-left"] = values2.valueOfBorder(c); + break; + case "end": + case "right": + output["border-right"] = values2.valueOfBorder(c); + break; + case "top": + output["border-top"] = values2.valueOfBorder(c); + break; + case "bottom": + output["border-bottom"] = values2.valueOfBorder(c); + break; + } + }); + } +}; +var knownColors = ["black", "blue", "cyan", "darkBlue", "darkCyan", "darkGray", "darkGreen", "darkMagenta", "darkRed", "darkYellow", "green", "lightGray", "magenta", "none", "red", "white", "yellow"]; +var xmlUtil = class { + static foreach(node, cb2) { + for (var i = 0; i < node.childNodes.length; i++) { + let n = node.childNodes[i]; + if (n.nodeType == Node.ELEMENT_NODE) + cb2(n); + } + } + static colorAttr(node, attrName, defValue = null, autoColor = "black") { + var v = globalXmlParser.attr(node, attrName); + if (v) { + if (v == "auto") { + return autoColor; + } else if (knownColors.includes(v)) { + return v; + } + return `#${v}`; + } + var themeColor = globalXmlParser.attr(node, "themeColor"); + return themeColor ? `var(--docx-${themeColor}-color)` : defValue; + } + static sizeValue(node, type = LengthUsage.Dxa) { + return convertLength(node.textContent, type); + } +}; +var values2 = class { + static themeValue(c, attr) { + var val = globalXmlParser.attr(c, attr); + return val ? `var(--docx-${val}-font)` : null; + } + static valueOfSize(c, attr) { + var type = LengthUsage.Dxa; + switch (globalXmlParser.attr(c, "type")) { + case "dxa": + break; + case "pct": + type = LengthUsage.Percent; + break; + case "auto": + return "auto"; + } + return globalXmlParser.lengthAttr(c, attr, type); + } + static valueOfMargin(c) { + return globalXmlParser.lengthAttr(c, "w"); + } + static valueOfBorder(c) { + var type = globalXmlParser.attr(c, "val"); + if (type == "nil") + return "none"; + var color = xmlUtil.colorAttr(c, "color"); + var size2 = globalXmlParser.lengthAttr(c, "sz", LengthUsage.Border); + return `${size2} solid ${color == "auto" ? autos.borderColor : color}`; + } + static valueOfTblLayout(c) { + var type = globalXmlParser.attr(c, "val"); + return type == "fixed" ? "fixed" : "auto"; + } + static classNameOfCnfStyle(c) { + const val = globalXmlParser.attr(c, "val"); + const classes = [ + "first-row", + "last-row", + "first-col", + "last-col", + "odd-col", + "even-col", + "odd-row", + "even-row", + "ne-cell", + "nw-cell", + "se-cell", + "sw-cell" + ]; + return classes.filter((_3, i) => val[i] == "1").join(" "); + } + static valueOfJc(c) { + var type = globalXmlParser.attr(c, "val"); + switch (type) { + case "start": + case "left": + return "left"; + case "center": + return "center"; + case "end": + case "right": + return "right"; + case "both": + return "justify"; + } + return type; + } + static valueOfVertAlign(c, asTagName = false) { + var type = globalXmlParser.attr(c, "val"); + switch (type) { + case "subscript": + return "sub"; + case "superscript": + return asTagName ? "sup" : "super"; + } + return asTagName ? null : type; + } + static valueOfTextAlignment(c) { + var type = globalXmlParser.attr(c, "val"); + switch (type) { + case "auto": + case "baseline": + return "baseline"; + case "top": + return "top"; + case "center": + return "middle"; + case "bottom": + return "bottom"; + } + return type; + } + static addSize(a, b) { + if (a == null) + return b; + if (b == null) + return a; + return `calc(${a} + ${b})`; + } + static classNameOftblLook(c) { + const val = globalXmlParser.hexAttr(c, "val", 0); + let className = ""; + if (globalXmlParser.boolAttr(c, "firstRow") || val & 32) + className += " first-row"; + if (globalXmlParser.boolAttr(c, "lastRow") || val & 64) + className += " last-row"; + if (globalXmlParser.boolAttr(c, "firstColumn") || val & 128) + className += " first-col"; + if (globalXmlParser.boolAttr(c, "lastColumn") || val & 256) + className += " last-col"; + if (globalXmlParser.boolAttr(c, "noHBand") || val & 512) + className += " no-hband"; + if (globalXmlParser.boolAttr(c, "noVBand") || val & 1024) + className += " no-vband"; + return className.trim(); + } +}; +var defaultTab = { pos: 0, leader: "none", style: "left" }; +var maxTabs = 50; +function computePixelToPoint(container = document.body) { + const temp = document.createElement("div"); + temp.style.width = "100pt"; + container.appendChild(temp); + const result2 = 100 / temp.offsetWidth; + container.removeChild(temp); + return result2; +} +function updateTabStop(elem, tabs, defaultTabSize, pixelToPoint = 72 / 96) { + const p = elem.closest("p"); + const ebb = elem.getBoundingClientRect(); + const pbb = p.getBoundingClientRect(); + const pcs = getComputedStyle(p); + const tabStops = (tabs == null ? void 0 : tabs.length) > 0 ? tabs.map((t) => ({ + pos: lengthToPoint(t.position), + leader: t.leader, + style: t.style + })).sort((a, b) => a.pos - b.pos) : [defaultTab]; + const lastTab = tabStops[tabStops.length - 1]; + const pWidthPt = pbb.width * pixelToPoint; + const size2 = lengthToPoint(defaultTabSize); + let pos = lastTab.pos + size2; + if (pos < pWidthPt) { + for (; pos < pWidthPt && tabStops.length < maxTabs; pos += size2) { + tabStops.push({ ...defaultTab, pos }); + } + } + const marginLeft = parseFloat(pcs.marginLeft); + const pOffset = pbb.left + marginLeft; + const left = (ebb.left - pOffset) * pixelToPoint; + const tab = tabStops.find((t) => t.style != "clear" && t.pos > left); + if (tab == null) + return; + let width = 1; + if (tab.style == "right" || tab.style == "center") { + const tabStops2 = Array.from(p.querySelectorAll(`.${elem.className}`)); + const nextIdx = tabStops2.indexOf(elem) + 1; + const range2 = document.createRange(); + range2.setStart(elem, 1); + if (nextIdx < tabStops2.length) { + range2.setEndBefore(tabStops2[nextIdx]); + } else { + range2.setEndAfter(p); + } + const mul = tab.style == "center" ? 0.5 : 1; + const nextBB = range2.getBoundingClientRect(); + const offset = nextBB.left + mul * nextBB.width - (pbb.left - marginLeft); + width = tab.pos - offset * pixelToPoint; + } else { + width = tab.pos - left; + } + elem.innerHTML = " "; + elem.style.textDecoration = "inherit"; + elem.style.wordSpacing = `${width.toFixed(0)}pt`; + switch (tab.leader) { + case "dot": + case "middleDot": + elem.style.textDecoration = "underline"; + elem.style.textDecorationStyle = "dotted"; + break; + case "hyphen": + case "heavy": + case "underscore": + elem.style.textDecoration = "underline"; + break; + } +} +function lengthToPoint(length) { + return parseFloat(length); +} +var ns = { + svg: "http://www.w3.org/2000/svg", + mathML: "http://www.w3.org/1998/Math/MathML" +}; +var HtmlRenderer = class { + constructor(htmlDocument) { + this.htmlDocument = htmlDocument; + this.className = "docx"; + this.styleMap = {}; + this.currentPart = null; + this.tableVerticalMerges = []; + this.currentVerticalMerge = null; + this.tableCellPositions = []; + this.currentCellPosition = null; + this.footnoteMap = {}; + this.endnoteMap = {}; + this.currentEndnoteIds = []; + this.usedHederFooterParts = []; + this.currentTabs = []; + this.tabsTimeout = 0; + this.commentMap = {}; + this.tasks = []; + this.postRenderTasks = []; + this.createElement = createElement; + } + render(document2, bodyContainer, styleContainer = null, options) { + var _a; + this.document = document2; + this.options = options; + this.className = options.className; + this.rootSelector = options.inWrapper ? `.${this.className}-wrapper` : ":root"; + this.styleMap = null; + this.tasks = []; + if (this.options.renderComments && globalThis.Highlight) { + this.commentHighlight = new Highlight(); + } + styleContainer = styleContainer || bodyContainer; + removeAllElements(styleContainer); + removeAllElements(bodyContainer); + appendComment(styleContainer, "docxjs library predefined styles"); + styleContainer.appendChild(this.renderDefaultStyle()); + if (document2.themePart) { + appendComment(styleContainer, "docxjs document theme values"); + this.renderTheme(document2.themePart, styleContainer); + } + if (document2.stylesPart != null) { + this.styleMap = this.processStyles(document2.stylesPart.styles); + appendComment(styleContainer, "docxjs document styles"); + styleContainer.appendChild(this.renderStyles(document2.stylesPart.styles)); + } + if (document2.numberingPart) { + this.prodessNumberings(document2.numberingPart.domNumberings); + appendComment(styleContainer, "docxjs document numbering styles"); + styleContainer.appendChild(this.renderNumbering(document2.numberingPart.domNumberings, styleContainer)); + } + if (document2.footnotesPart) { + this.footnoteMap = keyBy(document2.footnotesPart.notes, (x) => x.id); + } + if (document2.endnotesPart) { + this.endnoteMap = keyBy(document2.endnotesPart.notes, (x) => x.id); + } + if (document2.settingsPart) { + this.defaultTabSize = (_a = document2.settingsPart.settings) == null ? void 0 : _a.defaultTabStop; + } + if (!options.ignoreFonts && document2.fontTablePart) + this.renderFontTable(document2.fontTablePart, styleContainer); + var sectionElements = this.renderSections(document2.documentPart.body); + if (this.options.inWrapper) { + bodyContainer.appendChild(this.renderWrapper(sectionElements)); + } else { + appendChildren(bodyContainer, sectionElements); + } + if (this.commentHighlight && options.renderComments) { + CSS.highlights.set(`${this.className}-comments`, this.commentHighlight); + } + this.refreshTabStops(); + this.postRenderTasks.forEach((t) => t()); + } + renderTheme(themePart, styleContainer) { + var _a, _b; + const variables = {}; + const fontScheme = (_a = themePart.theme) == null ? void 0 : _a.fontScheme; + if (fontScheme) { + if (fontScheme.majorFont) { + variables["--docx-majorHAnsi-font"] = fontScheme.majorFont.latinTypeface; + } + if (fontScheme.minorFont) { + variables["--docx-minorHAnsi-font"] = fontScheme.minorFont.latinTypeface; + } + } + const colorScheme = (_b = themePart.theme) == null ? void 0 : _b.colorScheme; + if (colorScheme) { + for (let [k, v] of Object.entries(colorScheme.colors)) { + variables[`--docx-${k}-color`] = `#${v}`; + } + } + const cssText = this.styleToString(`.${this.className}`, variables); + styleContainer.appendChild(createStyleElement(cssText)); + } + renderFontTable(fontsPart, styleContainer) { + for (let f of fontsPart.fonts) { + for (let ref of f.embedFontRefs) { + this.tasks.push(this.document.loadFont(ref.id, ref.key).then((fontData) => { + const cssValues = { + "font-family": f.name, + "src": `url(${fontData})` + }; + if (ref.type == "bold" || ref.type == "boldItalic") { + cssValues["font-weight"] = "bold"; + } + if (ref.type == "italic" || ref.type == "boldItalic") { + cssValues["font-style"] = "italic"; + } + appendComment(styleContainer, `docxjs ${f.name} font`); + const cssText = this.styleToString("@font-face", cssValues); + styleContainer.appendChild(createStyleElement(cssText)); + this.refreshTabStops(); + })); + } + } + } + processStyleName(className) { + return className ? `${this.className}_${escapeClassName(className)}` : this.className; + } + processStyles(styles) { + const stylesMap = keyBy(styles.filter((x) => x.id != null), (x) => x.id); + for (const style of styles.filter((x) => x.basedOn)) { + var baseStyle = stylesMap[style.basedOn]; + if (baseStyle) { + style.paragraphProps = mergeDeep(style.paragraphProps, baseStyle.paragraphProps); + style.runProps = mergeDeep(style.runProps, baseStyle.runProps); + for (const baseValues of baseStyle.styles) { + const styleValues = style.styles.find((x) => x.target == baseValues.target); + if (styleValues) { + this.copyStyleProperties(baseValues.values, styleValues.values); + } else { + style.styles.push({ ...baseValues, values: { ...baseValues.values } }); + } + } + } else if (this.options.debug) + console.warn(`Can't find base style ${style.basedOn}`); + } + for (let style of styles) { + style.cssName = this.processStyleName(style.id); + } + return stylesMap; + } + prodessNumberings(numberings) { + var _a; + for (let num of numberings.filter((n) => n.pStyleName)) { + const style = this.findStyle(num.pStyleName); + if ((_a = style == null ? void 0 : style.paragraphProps) == null ? void 0 : _a.numbering) { + style.paragraphProps.numbering.level = num.level; + } + } + } + processElement(element) { + if (element.children) { + for (var e of element.children) { + e.parent = element; + if (e.type == DomType.Table) { + this.processTable(e); + } else { + this.processElement(e); + } + } + } + } + processTable(table) { + for (var r of table.children) { + for (var c of r.children) { + c.cssStyle = this.copyStyleProperties(table.cellStyle, c.cssStyle, [ + "border-left", + "border-right", + "border-top", + "border-bottom", + "padding-left", + "padding-right", + "padding-top", + "padding-bottom" + ]); + this.processElement(c); + } + } + } + copyStyleProperties(input, output, attrs = null) { + if (!input) + return output; + if (output == null) + output = {}; + if (attrs == null) + attrs = Object.getOwnPropertyNames(input); + for (var key of attrs) { + if (input.hasOwnProperty(key) && !output.hasOwnProperty(key)) + output[key] = input[key]; + } + return output; + } + createPageElement(className, props) { + var elem = this.createElement("section", { className }); + if (props) { + if (props.pageMargins) { + elem.style.paddingLeft = props.pageMargins.left; + elem.style.paddingRight = props.pageMargins.right; + elem.style.paddingTop = props.pageMargins.top; + elem.style.paddingBottom = props.pageMargins.bottom; + } + if (props.pageSize) { + if (!this.options.ignoreWidth) + elem.style.width = props.pageSize.width; + if (!this.options.ignoreHeight) + elem.style.minHeight = props.pageSize.height; + } + } + return elem; + } + createSectionContent(props) { + var elem = this.createElement("article"); + if (props.columns && props.columns.numberOfColumns) { + elem.style.columnCount = `${props.columns.numberOfColumns}`; + elem.style.columnGap = props.columns.space; + if (props.columns.separator) { + elem.style.columnRule = "1px solid black"; + } + } + return elem; + } + renderSections(document2) { + const result2 = []; + this.processElement(document2); + const sections = this.splitBySection(document2.children, document2.props); + const pages = this.groupByPageBreaks(sections); + let prevProps = null; + for (let i = 0, l2 = pages.length; i < l2; i++) { + this.currentFootnoteIds = []; + const section = pages[i][0]; + let props = section.sectProps; + const pageElement = this.createPageElement(this.className, props); + this.renderStyleValues(document2.cssStyle, pageElement); + this.options.renderHeaders && this.renderHeaderFooter(props.headerRefs, props, result2.length, prevProps != props, pageElement); + for (const sect of pages[i]) { + var contentElement = this.createSectionContent(sect.sectProps); + this.renderElements(sect.elements, contentElement); + pageElement.appendChild(contentElement); + props = sect.sectProps; + } + if (this.options.renderFootnotes) { + this.renderNotes(this.currentFootnoteIds, this.footnoteMap, pageElement); + } + if (this.options.renderEndnotes && i == l2 - 1) { + this.renderNotes(this.currentEndnoteIds, this.endnoteMap, pageElement); + } + this.options.renderFooters && this.renderHeaderFooter(props.footerRefs, props, result2.length, prevProps != props, pageElement); + result2.push(pageElement); + prevProps = props; + } + return result2; + } + renderHeaderFooter(refs, props, page, firstOfSection, into) { + var _a, _b; + if (!refs) + return; + var ref = (_b = (_a = props.titlePage && firstOfSection ? refs.find((x) => x.type == "first") : null) != null ? _a : page % 2 == 1 ? refs.find((x) => x.type == "even") : null) != null ? _b : refs.find((x) => x.type == "default"); + var part = ref && this.document.findPartByRelId(ref.id, this.document.documentPart); + if (part) { + this.currentPart = part; + if (!this.usedHederFooterParts.includes(part.path)) { + this.processElement(part.rootElement); + this.usedHederFooterParts.push(part.path); + } + const [el] = this.renderElements([part.rootElement], into); + if (props == null ? void 0 : props.pageMargins) { + if (part.rootElement.type === DomType.Header) { + el.style.marginTop = `calc(${props.pageMargins.header} - ${props.pageMargins.top})`; + el.style.minHeight = `calc(${props.pageMargins.top} - ${props.pageMargins.header})`; + } else if (part.rootElement.type === DomType.Footer) { + el.style.marginBottom = `calc(${props.pageMargins.footer} - ${props.pageMargins.bottom})`; + el.style.minHeight = `calc(${props.pageMargins.bottom} - ${props.pageMargins.footer})`; + } + } + this.currentPart = null; + } + } + isPageBreakElement(elem) { + if (elem.type != DomType.Break) + return false; + if (elem.break == "lastRenderedPageBreak") + return !this.options.ignoreLastRenderedPageBreak; + return elem.break == "page"; + } + isPageBreakSection(prev, next2) { + var _a, _b, _c, _d, _e, _f; + if (!prev) + return false; + if (!next2) + return false; + return ((_a = prev.pageSize) == null ? void 0 : _a.orientation) != ((_b = next2.pageSize) == null ? void 0 : _b.orientation) || ((_c = prev.pageSize) == null ? void 0 : _c.width) != ((_d = next2.pageSize) == null ? void 0 : _d.width) || ((_e = prev.pageSize) == null ? void 0 : _e.height) != ((_f = next2.pageSize) == null ? void 0 : _f.height); + } + splitBySection(elements, defaultProps) { + var _a; + var current = { sectProps: null, elements: [], pageBreak: false }; + var result2 = [current]; + for (let elem of elements) { + if (elem.type == DomType.Paragraph) { + const s = this.findStyle(elem.styleName); + if ((_a = s == null ? void 0 : s.paragraphProps) == null ? void 0 : _a.pageBreakBefore) { + current.sectProps = sectProps; + current.pageBreak = true; + current = { sectProps: null, elements: [], pageBreak: false }; + result2.push(current); + } + } + current.elements.push(elem); + if (elem.type == DomType.Paragraph) { + const p = elem; + var sectProps = p.sectionProps; + var pBreakIndex = -1; + var rBreakIndex = -1; + if (this.options.breakPages && p.children) { + pBreakIndex = p.children.findIndex((r) => { + var _a2, _b; + rBreakIndex = (_b = (_a2 = r.children) == null ? void 0 : _a2.findIndex(this.isPageBreakElement.bind(this))) != null ? _b : -1; + return rBreakIndex != -1; + }); + } + if (sectProps || pBreakIndex != -1) { + current.sectProps = sectProps; + current.pageBreak = pBreakIndex != -1; + current = { sectProps: null, elements: [], pageBreak: false }; + result2.push(current); + } + if (pBreakIndex != -1) { + let breakRun = p.children[pBreakIndex]; + let splitRun = rBreakIndex < breakRun.children.length - 1; + if (pBreakIndex < p.children.length - 1 || splitRun) { + var children = elem.children; + var newParagraph = { ...elem, children: children.slice(pBreakIndex) }; + elem.children = children.slice(0, pBreakIndex); + current.elements.push(newParagraph); + if (splitRun) { + let runChildren = breakRun.children; + let newRun = { ...breakRun, children: runChildren.slice(0, rBreakIndex) }; + elem.children.push(newRun); + breakRun.children = runChildren.slice(rBreakIndex); + } + } + } + } + } + let currentSectProps = null; + for (let i = result2.length - 1; i >= 0; i--) { + if (result2[i].sectProps == null) { + result2[i].sectProps = currentSectProps != null ? currentSectProps : defaultProps; + } else { + currentSectProps = result2[i].sectProps; + } + } + return result2; + } + groupByPageBreaks(sections) { + let current = []; + let prev; + const result2 = [current]; + for (let s of sections) { + current.push(s); + if (this.options.ignoreLastRenderedPageBreak || s.pageBreak || this.isPageBreakSection(prev, s.sectProps)) + result2.push(current = []); + prev = s.sectProps; + } + return result2.filter((x) => x.length > 0); + } + renderWrapper(children) { + return this.createElement("div", { className: `${this.className}-wrapper` }, children); + } + renderDefaultStyle() { + var c = this.className; + var styleText = ` +.${c}-wrapper { background: gray; padding: 30px; padding-bottom: 0px; display: flex; flex-flow: column; align-items: center; } +.${c}-wrapper>section.${c} { background: white; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); margin-bottom: 30px; } +.${c} { color: black; hyphens: auto; text-underline-position: from-font; } +section.${c} { box-sizing: border-box; display: flex; flex-flow: column nowrap; position: relative; overflow: hidden; } +section.${c}>article { margin-bottom: auto; z-index: 1; } +section.${c}>footer { z-index: 1; } +.${c} table { border-collapse: collapse; } +.${c} table td, .${c} table th { vertical-align: top; } +.${c} p { margin: 0pt; min-height: 1em; } +.${c} span { white-space: pre-wrap; overflow-wrap: break-word; } +.${c} a { color: inherit; text-decoration: inherit; } +.${c} svg { fill: transparent; } +`; + if (this.options.renderComments) { + styleText += ` +.${c}-comment-ref { cursor: default; } +.${c}-comment-popover { display: none; z-index: 1000; padding: 0.5rem; background: white; position: absolute; box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25); width: 30ch; } +.${c}-comment-ref:hover~.${c}-comment-popover { display: block; } +.${c}-comment-author,.${c}-comment-date { font-size: 0.875rem; color: #888; } +`; + } + return createStyleElement(styleText); + } + renderNumbering(numberings, styleContainer) { + var styleText = ""; + var resetCounters = []; + for (var num of numberings) { + var selector = `p.${this.numberingClass(num.id, num.level)}`; + var listStyleType = "none"; + if (num.bullet) { + let valiable = `--${this.className}-${num.bullet.src}`.toLowerCase(); + styleText += this.styleToString(`${selector}:before`, { + "content": "' '", + "display": "inline-block", + "background": `var(${valiable})` + }, num.bullet.style); + this.tasks.push(this.document.loadNumberingImage(num.bullet.src).then((data) => { + var text = `${this.rootSelector} { ${valiable}: url(${data}) }`; + styleContainer.appendChild(createStyleElement(text)); + })); + } else if (num.levelText) { + let counter = this.numberingCounter(num.id, num.level); + const counterReset = counter + " " + (num.start - 1); + if (num.level > 0) { + styleText += this.styleToString(`p.${this.numberingClass(num.id, num.level - 1)}`, { + "counter-reset": counterReset + }); + } + resetCounters.push(counterReset); + styleText += this.styleToString(`${selector}:before`, { + "content": this.levelTextToContent(num.levelText, num.suff, num.id, this.numFormatToCssValue(num.format)), + "counter-increment": counter, + ...num.rStyle + }); + } else { + listStyleType = this.numFormatToCssValue(num.format); + } + styleText += this.styleToString(selector, { + "display": "list-item", + "list-style-position": "inside", + "list-style-type": listStyleType, + ...num.pStyle + }); + } + if (resetCounters.length > 0) { + styleText += this.styleToString(this.rootSelector, { + "counter-reset": resetCounters.join(" ") + }); + } + return createStyleElement(styleText); + } + renderStyles(styles) { + var _a; + var styleText = ""; + const stylesMap = this.styleMap; + const defautStyles = keyBy(styles.filter((s) => s.isDefault), (s) => s.target); + for (const style of styles) { + var subStyles = style.styles; + if (style.linked) { + var linkedStyle = style.linked && stylesMap[style.linked]; + if (linkedStyle) + subStyles = subStyles.concat(linkedStyle.styles); + else if (this.options.debug) + console.warn(`Can't find linked style ${style.linked}`); + } + for (const subStyle of subStyles) { + var selector = `${(_a = style.target) != null ? _a : ""}.${style.cssName}`; + if (style.target != subStyle.target) + selector += ` ${subStyle.target}`; + if (defautStyles[style.target] == style) + selector = `.${this.className} ${style.target}, ` + selector; + styleText += this.styleToString(selector, subStyle.values); + } + } + return createStyleElement(styleText); + } + renderNotes(noteIds, notesMap, into) { + var notes = noteIds.map((id) => notesMap[id]).filter((x) => x); + if (notes.length > 0) { + var result2 = this.createElement("ol", null, this.renderElements(notes)); + into.appendChild(result2); + } + } + renderElement(elem) { + switch (elem.type) { + case DomType.Paragraph: + return this.renderParagraph(elem); + case DomType.BookmarkStart: + return this.renderBookmarkStart(elem); + case DomType.BookmarkEnd: + return null; + case DomType.Run: + return this.renderRun(elem); + case DomType.Table: + return this.renderTable(elem); + case DomType.Row: + return this.renderTableRow(elem); + case DomType.Cell: + return this.renderTableCell(elem); + case DomType.Hyperlink: + return this.renderHyperlink(elem); + case DomType.SmartTag: + return this.renderSmartTag(elem); + case DomType.Drawing: + return this.renderDrawing(elem); + case DomType.Image: + return this.renderImage(elem); + case DomType.Text: + return this.renderText(elem); + case DomType.Text: + return this.renderText(elem); + case DomType.DeletedText: + return this.renderDeletedText(elem); + case DomType.Tab: + return this.renderTab(elem); + case DomType.Symbol: + return this.renderSymbol(elem); + case DomType.Break: + return this.renderBreak(elem); + case DomType.Footer: + return this.renderContainer(elem, "footer"); + case DomType.Header: + return this.renderContainer(elem, "header"); + case DomType.Footnote: + case DomType.Endnote: + return this.renderContainer(elem, "li"); + case DomType.FootnoteReference: + return this.renderFootnoteReference(elem); + case DomType.EndnoteReference: + return this.renderEndnoteReference(elem); + case DomType.NoBreakHyphen: + return this.createElement("wbr"); + case DomType.VmlPicture: + return this.renderVmlPicture(elem); + case DomType.VmlElement: + return this.renderVmlElement(elem); + case DomType.MmlMath: + return this.renderContainerNS(elem, ns.mathML, "math", { xmlns: ns.mathML }); + case DomType.MmlMathParagraph: + return this.renderContainer(elem, "span"); + case DomType.MmlFraction: + return this.renderContainerNS(elem, ns.mathML, "mfrac"); + case DomType.MmlBase: + return this.renderContainerNS(elem, ns.mathML, elem.parent.type == DomType.MmlMatrixRow ? "mtd" : "mrow"); + case DomType.MmlNumerator: + case DomType.MmlDenominator: + case DomType.MmlFunction: + case DomType.MmlLimit: + case DomType.MmlBox: + return this.renderContainerNS(elem, ns.mathML, "mrow"); + case DomType.MmlGroupChar: + return this.renderMmlGroupChar(elem); + case DomType.MmlLimitLower: + return this.renderContainerNS(elem, ns.mathML, "munder"); + case DomType.MmlMatrix: + return this.renderContainerNS(elem, ns.mathML, "mtable"); + case DomType.MmlMatrixRow: + return this.renderContainerNS(elem, ns.mathML, "mtr"); + case DomType.MmlRadical: + return this.renderMmlRadical(elem); + case DomType.MmlSuperscript: + return this.renderContainerNS(elem, ns.mathML, "msup"); + case DomType.MmlSubscript: + return this.renderContainerNS(elem, ns.mathML, "msub"); + case DomType.MmlDegree: + case DomType.MmlSuperArgument: + case DomType.MmlSubArgument: + return this.renderContainerNS(elem, ns.mathML, "mn"); + case DomType.MmlFunctionName: + return this.renderContainerNS(elem, ns.mathML, "ms"); + case DomType.MmlDelimiter: + return this.renderMmlDelimiter(elem); + case DomType.MmlRun: + return this.renderMmlRun(elem); + case DomType.MmlNary: + return this.renderMmlNary(elem); + case DomType.MmlPreSubSuper: + return this.renderMmlPreSubSuper(elem); + case DomType.MmlBar: + return this.renderMmlBar(elem); + case DomType.MmlEquationArray: + return this.renderMllList(elem); + case DomType.Inserted: + return this.renderInserted(elem); + case DomType.Deleted: + return this.renderDeleted(elem); + case DomType.CommentRangeStart: + return this.renderCommentRangeStart(elem); + case DomType.CommentRangeEnd: + return this.renderCommentRangeEnd(elem); + case DomType.CommentReference: + return this.renderCommentReference(elem); + } + return null; + } + renderChildren(elem, into) { + return this.renderElements(elem.children, into); + } + renderElements(elems, into) { + if (elems == null) + return null; + var result2 = elems.flatMap((e) => this.renderElement(e)).filter((e) => e != null); + if (into) + appendChildren(into, result2); + return result2; + } + renderContainer(elem, tagName, props) { + return this.createElement(tagName, props, this.renderChildren(elem)); + } + renderContainerNS(elem, ns2, tagName, props) { + return createElementNS(ns2, tagName, props, this.renderChildren(elem)); + } + renderParagraph(elem) { + var _a, _b, _c, _d; + var result2 = this.createElement("p"); + const style = this.findStyle(elem.styleName); + (_b = elem.tabs) != null ? _b : elem.tabs = (_a = style == null ? void 0 : style.paragraphProps) == null ? void 0 : _a.tabs; + this.renderClass(elem, result2); + this.renderChildren(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + this.renderCommonProperties(result2.style, elem); + const numbering = (_d = elem.numbering) != null ? _d : (_c = style == null ? void 0 : style.paragraphProps) == null ? void 0 : _c.numbering; + if (numbering) { + result2.classList.add(this.numberingClass(numbering.id, numbering.level)); + } + return result2; + } + renderRunProperties(style, props) { + this.renderCommonProperties(style, props); + } + renderCommonProperties(style, props) { + if (props == null) + return; + if (props.color) { + style["color"] = props.color; + } + if (props.fontSize) { + style["font-size"] = props.fontSize; + } + } + renderHyperlink(elem) { + var result2 = this.createElement("a"); + this.renderChildren(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + if (elem.href) { + result2.href = elem.href; + } else if (elem.id) { + const rel = this.document.documentPart.rels.find((it) => it.id == elem.id && it.targetMode === "External"); + result2.href = rel == null ? void 0 : rel.target; + } + return result2; + } + renderSmartTag(elem) { + var result2 = this.createElement("span"); + this.renderChildren(elem, result2); + return result2; + } + renderCommentRangeStart(commentStart) { + var _a; + if (!this.options.renderComments) + return null; + const rng = new Range(); + (_a = this.commentHighlight) == null ? void 0 : _a.add(rng); + const result2 = this.htmlDocument.createComment(`start of comment #${commentStart.id}`); + this.later(() => rng.setStart(result2, 0)); + this.commentMap[commentStart.id] = rng; + return result2; + } + renderCommentRangeEnd(commentEnd) { + if (!this.options.renderComments) + return null; + const rng = this.commentMap[commentEnd.id]; + const result2 = this.htmlDocument.createComment(`end of comment #${commentEnd.id}`); + this.later(() => rng == null ? void 0 : rng.setEnd(result2, 0)); + return result2; + } + renderCommentReference(commentRef) { + var _a; + if (!this.options.renderComments) + return null; + var comment = (_a = this.document.commentsPart) == null ? void 0 : _a.commentMap[commentRef.id]; + if (!comment) + return null; + const frg = new DocumentFragment(); + const commentRefEl = createElement("span", { className: `${this.className}-comment-ref` }, ["\u{1F4AC}"]); + const commentsContainerEl = createElement("div", { className: `${this.className}-comment-popover` }); + this.renderCommentContent(comment, commentsContainerEl); + frg.appendChild(this.htmlDocument.createComment(`comment #${comment.id} by ${comment.author} on ${comment.date}`)); + frg.appendChild(commentRefEl); + frg.appendChild(commentsContainerEl); + return frg; + } + renderCommentContent(comment, container) { + container.appendChild(createElement("div", { className: `${this.className}-comment-author` }, [comment.author])); + container.appendChild(createElement("div", { className: `${this.className}-comment-date` }, [new Date(comment.date).toLocaleString()])); + this.renderChildren(comment, container); + } + renderDrawing(elem) { + var result2 = this.createElement("div"); + result2.style.display = "inline-block"; + result2.style.position = "relative"; + result2.style.textIndent = "0px"; + this.renderChildren(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + return result2; + } + renderImage(elem) { + let result2 = this.createElement("img"); + this.renderStyleValues(elem.cssStyle, result2); + if (this.document) { + this.tasks.push(this.document.loadDocumentImage(elem.src, this.currentPart).then((x) => { + result2.src = x; + })); + } + return result2; + } + renderText(elem) { + return this.htmlDocument.createTextNode(elem.text); + } + renderDeletedText(elem) { + return this.options.renderEndnotes ? this.htmlDocument.createTextNode(elem.text) : null; + } + renderBreak(elem) { + if (elem.break == "textWrapping") { + return this.createElement("br"); + } + return null; + } + renderInserted(elem) { + if (this.options.renderChanges) + return this.renderContainer(elem, "ins"); + return this.renderChildren(elem); + } + renderDeleted(elem) { + if (this.options.renderChanges) + return this.renderContainer(elem, "del"); + return null; + } + renderSymbol(elem) { + var span = this.createElement("span"); + span.style.fontFamily = elem.font; + span.innerHTML = `&#x${elem.char};`; + return span; + } + renderFootnoteReference(elem) { + var result2 = this.createElement("sup"); + this.currentFootnoteIds.push(elem.id); + result2.textContent = `${this.currentFootnoteIds.length}`; + return result2; + } + renderEndnoteReference(elem) { + var result2 = this.createElement("sup"); + this.currentEndnoteIds.push(elem.id); + result2.textContent = `${this.currentEndnoteIds.length}`; + return result2; + } + renderTab(elem) { + var _a; + var tabSpan = this.createElement("span"); + tabSpan.innerHTML = " "; + if (this.options.experimental) { + tabSpan.className = this.tabStopClass(); + var stops = (_a = findParent(elem, DomType.Paragraph)) == null ? void 0 : _a.tabs; + this.currentTabs.push({ stops, span: tabSpan }); + } + return tabSpan; + } + renderBookmarkStart(elem) { + var result2 = this.createElement("span"); + result2.id = elem.name; + return result2; + } + renderRun(elem) { + if (elem.fieldRun) + return null; + const result2 = this.createElement("span"); + if (elem.id) + result2.id = elem.id; + this.renderClass(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + if (elem.verticalAlign) { + const wrapper = this.createElement(elem.verticalAlign); + this.renderChildren(elem, wrapper); + result2.appendChild(wrapper); + } else { + this.renderChildren(elem, result2); + } + return result2; + } + renderTable(elem) { + let result2 = this.createElement("table"); + this.tableCellPositions.push(this.currentCellPosition); + this.tableVerticalMerges.push(this.currentVerticalMerge); + this.currentVerticalMerge = {}; + this.currentCellPosition = { col: 0, row: 0 }; + if (elem.columns) + result2.appendChild(this.renderTableColumns(elem.columns)); + this.renderClass(elem, result2); + this.renderChildren(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + this.currentVerticalMerge = this.tableVerticalMerges.pop(); + this.currentCellPosition = this.tableCellPositions.pop(); + return result2; + } + renderTableColumns(columns) { + let result2 = this.createElement("colgroup"); + for (let col of columns) { + let colElem = this.createElement("col"); + if (col.width) + colElem.style.width = col.width; + result2.appendChild(colElem); + } + return result2; + } + renderTableRow(elem) { + let result2 = this.createElement("tr"); + this.currentCellPosition.col = 0; + this.renderClass(elem, result2); + this.renderChildren(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + this.currentCellPosition.row++; + return result2; + } + renderTableCell(elem) { + let result2 = this.createElement("td"); + const key = this.currentCellPosition.col; + if (elem.verticalMerge) { + if (elem.verticalMerge == "restart") { + this.currentVerticalMerge[key] = result2; + result2.rowSpan = 1; + } else if (this.currentVerticalMerge[key]) { + this.currentVerticalMerge[key].rowSpan += 1; + result2.style.display = "none"; + } + } else { + this.currentVerticalMerge[key] = null; + } + this.renderClass(elem, result2); + this.renderChildren(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + if (elem.span) + result2.colSpan = elem.span; + this.currentCellPosition.col += result2.colSpan; + return result2; + } + renderVmlPicture(elem) { + var result2 = createElement("div"); + this.renderChildren(elem, result2); + return result2; + } + renderVmlElement(elem) { + var _a, _b; + var container = createSvgElement("svg"); + container.setAttribute("style", elem.cssStyleText); + const result2 = this.renderVmlChildElement(elem); + if ((_a = elem.imageHref) == null ? void 0 : _a.id) { + this.tasks.push((_b = this.document) == null ? void 0 : _b.loadDocumentImage(elem.imageHref.id, this.currentPart).then((x) => result2.setAttribute("href", x))); + } + container.appendChild(result2); + requestAnimationFrame(() => { + const bb = container.firstElementChild.getBBox(); + container.setAttribute("width", `${Math.ceil(bb.x + bb.width)}`); + container.setAttribute("height", `${Math.ceil(bb.y + bb.height)}`); + }); + return container; + } + renderVmlChildElement(elem) { + const result2 = createSvgElement(elem.tagName); + Object.entries(elem.attrs).forEach(([k, v]) => result2.setAttribute(k, v)); + for (let child of elem.children) { + if (child.type == DomType.VmlElement) { + result2.appendChild(this.renderVmlChildElement(child)); + } else { + result2.appendChild(...asArray2(this.renderElement(child))); + } + } + return result2; + } + renderMmlRadical(elem) { + var _a; + const base = elem.children.find((el) => el.type == DomType.MmlBase); + if ((_a = elem.props) == null ? void 0 : _a.hideDegree) { + return createElementNS(ns.mathML, "msqrt", null, this.renderElements([base])); + } + const degree = elem.children.find((el) => el.type == DomType.MmlDegree); + return createElementNS(ns.mathML, "mroot", null, this.renderElements([base, degree])); + } + renderMmlDelimiter(elem) { + var _a, _b; + const children = []; + children.push(createElementNS(ns.mathML, "mo", null, [(_a = elem.props.beginChar) != null ? _a : "("])); + children.push(...this.renderElements(elem.children)); + children.push(createElementNS(ns.mathML, "mo", null, [(_b = elem.props.endChar) != null ? _b : ")"])); + return createElementNS(ns.mathML, "mrow", null, children); + } + renderMmlNary(elem) { + var _a, _b; + const children = []; + const grouped = keyBy(elem.children, (x) => x.type); + const sup = grouped[DomType.MmlSuperArgument]; + const sub = grouped[DomType.MmlSubArgument]; + const supElem = sup ? createElementNS(ns.mathML, "mo", null, asArray2(this.renderElement(sup))) : null; + const subElem = sub ? createElementNS(ns.mathML, "mo", null, asArray2(this.renderElement(sub))) : null; + const charElem = createElementNS(ns.mathML, "mo", null, [(_b = (_a = elem.props) == null ? void 0 : _a.char) != null ? _b : "\u222B"]); + if (supElem || subElem) { + children.push(createElementNS(ns.mathML, "munderover", null, [charElem, subElem, supElem])); + } else if (supElem) { + children.push(createElementNS(ns.mathML, "mover", null, [charElem, supElem])); + } else if (subElem) { + children.push(createElementNS(ns.mathML, "munder", null, [charElem, subElem])); + } else { + children.push(charElem); + } + children.push(...this.renderElements(grouped[DomType.MmlBase].children)); + return createElementNS(ns.mathML, "mrow", null, children); + } + renderMmlPreSubSuper(elem) { + const children = []; + const grouped = keyBy(elem.children, (x) => x.type); + const sup = grouped[DomType.MmlSuperArgument]; + const sub = grouped[DomType.MmlSubArgument]; + const supElem = sup ? createElementNS(ns.mathML, "mo", null, asArray2(this.renderElement(sup))) : null; + const subElem = sub ? createElementNS(ns.mathML, "mo", null, asArray2(this.renderElement(sub))) : null; + const stubElem = createElementNS(ns.mathML, "mo", null); + children.push(createElementNS(ns.mathML, "msubsup", null, [stubElem, subElem, supElem])); + children.push(...this.renderElements(grouped[DomType.MmlBase].children)); + return createElementNS(ns.mathML, "mrow", null, children); + } + renderMmlGroupChar(elem) { + const tagName = elem.props.verticalJustification === "bot" ? "mover" : "munder"; + const result2 = this.renderContainerNS(elem, ns.mathML, tagName); + if (elem.props.char) { + result2.appendChild(createElementNS(ns.mathML, "mo", null, [elem.props.char])); + } + return result2; + } + renderMmlBar(elem) { + const result2 = this.renderContainerNS(elem, ns.mathML, "mrow"); + switch (elem.props.position) { + case "top": + result2.style.textDecoration = "overline"; + break; + case "bottom": + result2.style.textDecoration = "underline"; + break; + } + return result2; + } + renderMmlRun(elem) { + const result2 = createElementNS(ns.mathML, "ms"); + this.renderClass(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + this.renderChildren(elem, result2); + return result2; + } + renderMllList(elem) { + const result2 = createElementNS(ns.mathML, "mtable"); + this.renderClass(elem, result2); + this.renderStyleValues(elem.cssStyle, result2); + this.renderChildren(elem); + for (let child of this.renderChildren(elem)) { + result2.appendChild(createElementNS(ns.mathML, "mtr", null, [ + createElementNS(ns.mathML, "mtd", null, [child]) + ])); + } + return result2; + } + renderStyleValues(style, ouput) { + for (let k in style) { + if (k.startsWith("$")) { + ouput.setAttribute(k.slice(1), style[k]); + } else { + ouput.style[k] = style[k]; + } + } + } + renderClass(input, ouput) { + if (input.className) + ouput.className = input.className; + if (input.styleName) + ouput.classList.add(this.processStyleName(input.styleName)); + } + findStyle(styleName) { + var _a; + return styleName && ((_a = this.styleMap) == null ? void 0 : _a[styleName]); + } + numberingClass(id, lvl) { + return `${this.className}-num-${id}-${lvl}`; + } + tabStopClass() { + return `${this.className}-tab-stop`; + } + styleToString(selectors, values3, cssText = null) { + let result2 = `${selectors} {\r +`; + for (const key in values3) { + if (key.startsWith("$")) + continue; + result2 += ` ${key}: ${values3[key]};\r +`; + } + if (cssText) + result2 += cssText; + return result2 + "}\r\n"; + } + numberingCounter(id, lvl) { + return `${this.className}-num-${id}-${lvl}`; + } + levelTextToContent(text, suff, id, numformat) { + var _a; + const suffMap = { + "tab": "\\9", + "space": "\\a0" + }; + var result2 = text.replace(/%\d*/g, (s) => { + let lvl = parseInt(s.substring(1), 10) - 1; + return `"counter(${this.numberingCounter(id, lvl)}, ${numformat})"`; + }); + return `"${result2}${(_a = suffMap[suff]) != null ? _a : ""}"`; + } + numFormatToCssValue(format) { + var _a; + var mapping = { + none: "none", + bullet: "disc", + decimal: "decimal", + lowerLetter: "lower-alpha", + upperLetter: "upper-alpha", + lowerRoman: "lower-roman", + upperRoman: "upper-roman", + decimalZero: "decimal-leading-zero", + aiueo: "katakana", + aiueoFullWidth: "katakana", + chineseCounting: "simp-chinese-informal", + chineseCountingThousand: "simp-chinese-informal", + chineseLegalSimplified: "simp-chinese-formal", + chosung: "hangul-consonant", + ideographDigital: "cjk-ideographic", + ideographTraditional: "cjk-heavenly-stem", + ideographLegalTraditional: "trad-chinese-formal", + ideographZodiac: "cjk-earthly-branch", + iroha: "katakana-iroha", + irohaFullWidth: "katakana-iroha", + japaneseCounting: "japanese-informal", + japaneseDigitalTenThousand: "cjk-decimal", + japaneseLegal: "japanese-formal", + thaiNumbers: "thai", + koreanCounting: "korean-hangul-formal", + koreanDigital: "korean-hangul-formal", + koreanDigital2: "korean-hanja-informal", + hebrew1: "hebrew", + hebrew2: "hebrew", + hindiNumbers: "devanagari", + ganada: "hangul", + taiwaneseCounting: "cjk-ideographic", + taiwaneseCountingThousand: "cjk-ideographic", + taiwaneseDigital: "cjk-decimal" + }; + return (_a = mapping[format]) != null ? _a : format; + } + refreshTabStops() { + if (!this.options.experimental) + return; + clearTimeout(this.tabsTimeout); + this.tabsTimeout = setTimeout(() => { + const pixelToPoint = computePixelToPoint(); + for (let tab of this.currentTabs) { + updateTabStop(tab.span, tab.stops, this.defaultTabSize, pixelToPoint); + } + }, 500); + } + later(func) { + this.postRenderTasks.push(func); + } +}; +function createElement(tagName, props, children) { + return createElementNS(void 0, tagName, props, children); +} +function createSvgElement(tagName, props, children) { + return createElementNS(ns.svg, tagName, props, children); +} +function createElementNS(ns2, tagName, props, children) { + var result2 = ns2 ? document.createElementNS(ns2, tagName) : document.createElement(tagName); + Object.assign(result2, props); + children && appendChildren(result2, children); + return result2; +} +function removeAllElements(elem) { + elem.innerHTML = ""; +} +function appendChildren(elem, children) { + children.forEach((c) => elem.appendChild(isString(c) ? document.createTextNode(c) : c)); +} +function createStyleElement(cssText) { + return createElement("style", { innerHTML: cssText }); +} +function appendComment(elem, comment) { + elem.appendChild(document.createComment(comment)); +} +function findParent(elem, type) { + var parent = elem.parent; + while (parent != null && parent.type != type) + parent = parent.parent; + return parent; +} +var defaultOptions = { + ignoreHeight: false, + ignoreWidth: false, + ignoreFonts: false, + breakPages: true, + debug: false, + experimental: false, + className: "docx", + inWrapper: true, + trimXmlDeclaration: true, + ignoreLastRenderedPageBreak: true, + renderHeaders: true, + renderFooters: true, + renderFootnotes: true, + renderEndnotes: true, + useBase64URL: false, + renderChanges: false, + renderComments: false +}; +function parseAsync(data, userOptions) { + const ops = { ...defaultOptions, ...userOptions }; + return WordDocument.load(data, new DocumentParser(ops), ops); +} +async function renderDocument(document2, bodyContainer, styleContainer, userOptions) { + const ops = { ...defaultOptions, ...userOptions }; + const renderer = new HtmlRenderer(window.document); + renderer.render(document2, bodyContainer, styleContainer, ops); + return Promise.allSettled(renderer.tasks); +} +async function renderAsync(data, bodyContainer, styleContainer, userOptions) { + const doc = await parseAsync(data, userOptions); + await renderDocument(doc, bodyContainer, styleContainer, userOptions); + return doc; +} + +// src/core/convertible-file-view.ts +var import_obsidian = require("obsidian"); + +// src/utils/file-utils.ts +var FileUtils = class _FileUtils { + static toUnixPath(path) { + return path.replace(/\\/g, "/"); + } + static joinPath(path1, path2) { + if (!path2) return _FileUtils.toUnixPath(path1 != null ? path1 : ""); + if (!path1) return _FileUtils.toUnixPath(path2 != null ? path2 : ""); + return `${_FileUtils.toUnixPath(path1).replace(/\/$/, "")}/${_FileUtils.toUnixPath(path2)}`; + } + static dirname(path) { + return _FileUtils.toUnixPath(path).replace(/[^\/]*\/?$/, ""); + } + static filename(path, withExtension) { + const unixPath = _FileUtils.toUnixPath(path); + return withExtension ? unixPath.replace(/.*\//, "") : unixPath.replace(/.*\//, "").replace(/\.[^\.]*$/, ""); + } + static toValidFilename(filename) { + return filename.replace(/[\/\\:*?"<>|+,.=;!@[\]\n]/g, ""); + } + static async createMissingFolders(app, filepath) { + const dirname = _FileUtils.dirname(filepath); + const folders = dirname.split("/").filter((folder) => folder !== ""); + let currentFolder = null; + for (const folder of folders) { + currentFolder = _FileUtils.joinPath(currentFolder, folder); + if (!app.vault.getAbstractFileByPath(currentFolder)) + await app.vault.createFolder(currentFolder); + } + } + static async createBinary(app, directory, filename, fallbackFilename, extension, binary) { + let validFilename = _FileUtils.toValidFilename(filename); + if (validFilename === "") validFilename = fallbackFilename; + let filepath = _FileUtils.joinPath(directory, `${validFilename}.${extension}`); + let fallbackIndex = 1; + while (app.vault.getAbstractFileByPath(filepath)) { + filepath = _FileUtils.joinPath(directory, `${validFilename} ${fallbackIndex}.${extension}`); + fallbackIndex++; + } + await _FileUtils.createMissingFolders(app, filepath); + await app.vault.createBinary(filepath, binary); + return filepath; + } +}; + +// src/core/convertible-file-view.ts +var ConvertibleFileView = class extends import_obsidian.EditableFileView { + constructor(leaf, plugin) { + super(leaf); + this.header = null; + this.content = null; + this.plugin = plugin; + } + getDisplayText() { + var _a, _b; + return (_b = (_a = this.file) == null ? void 0 : _a.basename) != null ? _b : "???"; + } + getContext(file) { + var _a, _b, _c; + return (_c = (_b = file == null ? void 0 : file.path) != null ? _b : (_a = this.file) == null ? void 0 : _a.path) != null ? _c : ""; + } + async onOpen() { + await super.onOpen(); + this.header = document.createElement("div"); + this.header.id = "docxer-header"; + const text = document.createElement("span"); + text.innerText = "This is a preview. To edit, convert it to markdown."; + this.header.appendChild(text); + const convertButton = document.createElement("button"); + convertButton.id = "docxer-convert-button"; + convertButton.innerText = "Convert"; + convertButton.onclick = () => this.convertFile(); + this.header.appendChild(convertButton); + this.containerEl.insertAfter(this.header, this.containerEl.firstChild); + } + async onClose() { + await super.onClose(); + if (this.header) this.header.remove(); + } + async onLoadFile(file) { + await super.onLoadFile(file); + this.content = await this.getFilePreview(); + if (this.content) this.contentEl.appendChild(this.content); + } + async onUnloadFile(file) { + await super.onUnloadFile(file); + if (this.content) this.content.remove(); + } + clear() { + } + setViewData(data) { + this.fileContent = data; + } + getViewData() { + return this.fileContent; + } + async convertFile() { + if (!this.file) return; + const convertedFilePath = FileUtils.toUnixPath(this.file.path).replace(/\.[^\.]*$/, ".md"); + if (this.app.vault.getAbstractFileByPath(convertedFilePath)) { + new import_obsidian.Notice("A file with the same name already exists."); + return; + } + const attachmentsDirectory = { + "vault": "", + "custom": this.plugin.settings.getSetting("customAttachmentsFolder"), + "same": FileUtils.dirname(this.file.path), + "subfolder": FileUtils.joinPath(FileUtils.dirname(this.file.path), this.plugin.settings.getSetting("customAttachmentsFolder")) + }[this.plugin.settings.getSetting("attachmentsFolder")]; + const markdown = await this.getMarkdownContent(attachmentsDirectory); + if (!markdown) { + new import_obsidian.Notice("Error converting file to markdown."); + return; + } + const convertedFile = await this.app.vault.create(convertedFilePath, markdown); + this.leaf.openFile(convertedFile); + if (this.plugin.settings.getSetting("deleteFileAfterConversion")) + this.app.vault.delete(this.file); + } +}; + +// node_modules/turndown/lib/turndown.browser.es.js +function extend(destination) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (source.hasOwnProperty(key)) destination[key] = source[key]; + } + } + return destination; +} +function repeat(character, count) { + return Array(count + 1).join(character); +} +function trimLeadingNewlines(string) { + return string.replace(/^\n*/, ""); +} +function trimTrailingNewlines(string) { + var indexEnd = string.length; + while (indexEnd > 0 && string[indexEnd - 1] === "\n") indexEnd--; + return string.substring(0, indexEnd); +} +var blockElements = [ + "ADDRESS", + "ARTICLE", + "ASIDE", + "AUDIO", + "BLOCKQUOTE", + "BODY", + "CANVAS", + "CENTER", + "DD", + "DIR", + "DIV", + "DL", + "DT", + "FIELDSET", + "FIGCAPTION", + "FIGURE", + "FOOTER", + "FORM", + "FRAMESET", + "H1", + "H2", + "H3", + "H4", + "H5", + "H6", + "HEADER", + "HGROUP", + "HR", + "HTML", + "ISINDEX", + "LI", + "MAIN", + "MENU", + "NAV", + "NOFRAMES", + "NOSCRIPT", + "OL", + "OUTPUT", + "P", + "PRE", + "SECTION", + "TABLE", + "TBODY", + "TD", + "TFOOT", + "TH", + "THEAD", + "TR", + "UL" +]; +function isBlock(node) { + return is(node, blockElements); +} +var voidElements = [ + "AREA", + "BASE", + "BR", + "COL", + "COMMAND", + "EMBED", + "HR", + "IMG", + "INPUT", + "KEYGEN", + "LINK", + "META", + "PARAM", + "SOURCE", + "TRACK", + "WBR" +]; +function isVoid(node) { + return is(node, voidElements); +} +function hasVoid(node) { + return has3(node, voidElements); +} +var meaningfulWhenBlankElements = [ + "A", + "TABLE", + "THEAD", + "TBODY", + "TFOOT", + "TH", + "TD", + "IFRAME", + "SCRIPT", + "AUDIO", + "VIDEO" +]; +function isMeaningfulWhenBlank(node) { + return is(node, meaningfulWhenBlankElements); +} +function hasMeaningfulWhenBlank(node) { + return has3(node, meaningfulWhenBlankElements); +} +function is(node, tagNames) { + return tagNames.indexOf(node.nodeName) >= 0; +} +function has3(node, tagNames) { + return node.getElementsByTagName && tagNames.some(function(tagName) { + return node.getElementsByTagName(tagName).length; + }); +} +var rules = {}; +rules.paragraph = { + filter: "p", + replacement: function(content) { + return "\n\n" + content + "\n\n"; + } +}; +rules.lineBreak = { + filter: "br", + replacement: function(content, node, options) { + return options.br + "\n"; + } +}; +rules.heading = { + filter: ["h1", "h2", "h3", "h4", "h5", "h6"], + replacement: function(content, node, options) { + var hLevel = Number(node.nodeName.charAt(1)); + if (options.headingStyle === "setext" && hLevel < 3) { + var underline = repeat(hLevel === 1 ? "=" : "-", content.length); + return "\n\n" + content + "\n" + underline + "\n\n"; + } else { + return "\n\n" + repeat("#", hLevel) + " " + content + "\n\n"; + } + } +}; +rules.blockquote = { + filter: "blockquote", + replacement: function(content) { + content = content.replace(/^\n+|\n+$/g, ""); + content = content.replace(/^/gm, "> "); + return "\n\n" + content + "\n\n"; + } +}; +rules.list = { + filter: ["ul", "ol"], + replacement: function(content, node) { + var parent = node.parentNode; + if (parent.nodeName === "LI" && parent.lastElementChild === node) { + return "\n" + content; + } else { + return "\n\n" + content + "\n\n"; + } + } +}; +rules.listItem = { + filter: "li", + replacement: function(content, node, options) { + content = content.replace(/^\n+/, "").replace(/\n+$/, "\n").replace(/\n/gm, "\n "); + var prefix = options.bulletListMarker + " "; + var parent = node.parentNode; + if (parent.nodeName === "OL") { + var start = parent.getAttribute("start"); + var index = Array.prototype.indexOf.call(parent.children, node); + prefix = (start ? Number(start) + index : index + 1) + ". "; + } + return prefix + content + (node.nextSibling && !/\n$/.test(content) ? "\n" : ""); + } +}; +rules.indentedCodeBlock = { + filter: function(node, options) { + return options.codeBlockStyle === "indented" && node.nodeName === "PRE" && node.firstChild && node.firstChild.nodeName === "CODE"; + }, + replacement: function(content, node, options) { + return "\n\n " + node.firstChild.textContent.replace(/\n/g, "\n ") + "\n\n"; + } +}; +rules.fencedCodeBlock = { + filter: function(node, options) { + return options.codeBlockStyle === "fenced" && node.nodeName === "PRE" && node.firstChild && node.firstChild.nodeName === "CODE"; + }, + replacement: function(content, node, options) { + var className = node.firstChild.getAttribute("class") || ""; + var language = (className.match(/language-(\S+)/) || [null, ""])[1]; + var code = node.firstChild.textContent; + var fenceChar = options.fence.charAt(0); + var fenceSize = 3; + var fenceInCodeRegex = new RegExp("^" + fenceChar + "{3,}", "gm"); + var match; + while (match = fenceInCodeRegex.exec(code)) { + if (match[0].length >= fenceSize) { + fenceSize = match[0].length + 1; + } + } + var fence = repeat(fenceChar, fenceSize); + return "\n\n" + fence + language + "\n" + code.replace(/\n$/, "") + "\n" + fence + "\n\n"; + } +}; +rules.horizontalRule = { + filter: "hr", + replacement: function(content, node, options) { + return "\n\n" + options.hr + "\n\n"; + } +}; +rules.inlineLink = { + filter: function(node, options) { + return options.linkStyle === "inlined" && node.nodeName === "A" && node.getAttribute("href"); + }, + replacement: function(content, node) { + var href = node.getAttribute("href"); + if (href) href = href.replace(/([()])/g, "\\$1"); + var title = cleanAttribute(node.getAttribute("title")); + if (title) title = ' "' + title.replace(/"/g, '\\"') + '"'; + return "[" + content + "](" + href + title + ")"; + } +}; +rules.referenceLink = { + filter: function(node, options) { + return options.linkStyle === "referenced" && node.nodeName === "A" && node.getAttribute("href"); + }, + replacement: function(content, node, options) { + var href = node.getAttribute("href"); + var title = cleanAttribute(node.getAttribute("title")); + if (title) title = ' "' + title + '"'; + var replacement; + var reference; + switch (options.linkReferenceStyle) { + case "collapsed": + replacement = "[" + content + "][]"; + reference = "[" + content + "]: " + href + title; + break; + case "shortcut": + replacement = "[" + content + "]"; + reference = "[" + content + "]: " + href + title; + break; + default: + var id = this.references.length + 1; + replacement = "[" + content + "][" + id + "]"; + reference = "[" + id + "]: " + href + title; + } + this.references.push(reference); + return replacement; + }, + references: [], + append: function(options) { + var references = ""; + if (this.references.length) { + references = "\n\n" + this.references.join("\n") + "\n\n"; + this.references = []; + } + return references; + } +}; +rules.emphasis = { + filter: ["em", "i"], + replacement: function(content, node, options) { + if (!content.trim()) return ""; + return options.emDelimiter + content + options.emDelimiter; + } +}; +rules.strong = { + filter: ["strong", "b"], + replacement: function(content, node, options) { + if (!content.trim()) return ""; + return options.strongDelimiter + content + options.strongDelimiter; + } +}; +rules.code = { + filter: function(node) { + var hasSiblings = node.previousSibling || node.nextSibling; + var isCodeBlock = node.parentNode.nodeName === "PRE" && !hasSiblings; + return node.nodeName === "CODE" && !isCodeBlock; + }, + replacement: function(content) { + if (!content) return ""; + content = content.replace(/\r?\n|\r/g, " "); + var extraSpace = /^`|^ .*?[^ ].* $|`$/.test(content) ? " " : ""; + var delimiter = "`"; + var matches = content.match(/`+/gm) || []; + while (matches.indexOf(delimiter) !== -1) delimiter = delimiter + "`"; + return delimiter + extraSpace + content + extraSpace + delimiter; + } +}; +rules.image = { + filter: "img", + replacement: function(content, node) { + var alt = cleanAttribute(node.getAttribute("alt")); + var src = node.getAttribute("src") || ""; + var title = cleanAttribute(node.getAttribute("title")); + var titlePart = title ? ' "' + title + '"' : ""; + return src ? "![" + alt + "](" + src + titlePart + ")" : ""; + } +}; +function cleanAttribute(attribute) { + return attribute ? attribute.replace(/(\n+\s*)+/g, "\n") : ""; +} +function Rules(options) { + this.options = options; + this._keep = []; + this._remove = []; + this.blankRule = { + replacement: options.blankReplacement + }; + this.keepReplacement = options.keepReplacement; + this.defaultRule = { + replacement: options.defaultReplacement + }; + this.array = []; + for (var key in options.rules) this.array.push(options.rules[key]); +} +Rules.prototype = { + add: function(key, rule) { + this.array.unshift(rule); + }, + keep: function(filter2) { + this._keep.unshift({ + filter: filter2, + replacement: this.keepReplacement + }); + }, + remove: function(filter2) { + this._remove.unshift({ + filter: filter2, + replacement: function() { + return ""; + } + }); + }, + forNode: function(node) { + if (node.isBlank) return this.blankRule; + var rule; + if (rule = findRule(this.array, node, this.options)) return rule; + if (rule = findRule(this._keep, node, this.options)) return rule; + if (rule = findRule(this._remove, node, this.options)) return rule; + return this.defaultRule; + }, + forEach: function(fn) { + for (var i = 0; i < this.array.length; i++) fn(this.array[i], i); + } +}; +function findRule(rules2, node, options) { + for (var i = 0; i < rules2.length; i++) { + var rule = rules2[i]; + if (filterValue(rule, node, options)) return rule; + } + return void 0; +} +function filterValue(rule, node, options) { + var filter2 = rule.filter; + if (typeof filter2 === "string") { + if (filter2 === node.nodeName.toLowerCase()) return true; + } else if (Array.isArray(filter2)) { + if (filter2.indexOf(node.nodeName.toLowerCase()) > -1) return true; + } else if (typeof filter2 === "function") { + if (filter2.call(rule, node, options)) return true; + } else { + throw new TypeError("`filter` needs to be a string, array, or function"); + } +} +function collapseWhitespace(options) { + var element = options.element; + var isBlock2 = options.isBlock; + var isVoid2 = options.isVoid; + var isPre = options.isPre || function(node2) { + return node2.nodeName === "PRE"; + }; + if (!element.firstChild || isPre(element)) return; + var prevText = null; + var keepLeadingWs = false; + var prev = null; + var node = next(prev, element, isPre); + while (node !== element) { + if (node.nodeType === 3 || node.nodeType === 4) { + var text = node.data.replace(/[ \r\n\t]+/g, " "); + if ((!prevText || / $/.test(prevText.data)) && !keepLeadingWs && text[0] === " ") { + text = text.substr(1); + } + if (!text) { + node = remove(node); + continue; + } + node.data = text; + prevText = node; + } else if (node.nodeType === 1) { + if (isBlock2(node) || node.nodeName === "BR") { + if (prevText) { + prevText.data = prevText.data.replace(/ $/, ""); + } + prevText = null; + keepLeadingWs = false; + } else if (isVoid2(node) || isPre(node)) { + prevText = null; + keepLeadingWs = true; + } else if (prevText) { + keepLeadingWs = false; + } + } else { + node = remove(node); + continue; + } + var nextNode = next(prev, node, isPre); + prev = node; + node = nextNode; + } + if (prevText) { + prevText.data = prevText.data.replace(/ $/, ""); + if (!prevText.data) { + remove(prevText); + } + } +} +function remove(node) { + var next2 = node.nextSibling || node.parentNode; + node.parentNode.removeChild(node); + return next2; +} +function next(prev, current, isPre) { + if (prev && prev.parentNode === current || isPre(current)) { + return current.nextSibling || current.parentNode; + } + return current.firstChild || current.nextSibling || current.parentNode; +} +var root2 = typeof window !== "undefined" ? window : {}; +function canParseHTMLNatively() { + var Parser = root2.DOMParser; + var canParse = false; + try { + if (new Parser().parseFromString("", "text/html")) { + canParse = true; + } + } catch (e) { + } + return canParse; +} +function createHTMLParser() { + var Parser = function() { + }; + { + if (shouldUseActiveX()) { + Parser.prototype.parseFromString = function(string) { + var doc = new window.ActiveXObject("htmlfile"); + doc.designMode = "on"; + doc.open(); + doc.write(string); + doc.close(); + return doc; + }; + } else { + Parser.prototype.parseFromString = function(string) { + var doc = document.implementation.createHTMLDocument(""); + doc.open(); + doc.write(string); + doc.close(); + return doc; + }; + } + } + return Parser; +} +function shouldUseActiveX() { + var useActiveX = false; + try { + document.implementation.createHTMLDocument("").open(); + } catch (e) { + if (root2.ActiveXObject) useActiveX = true; + } + return useActiveX; +} +var HTMLParser = canParseHTMLNatively() ? root2.DOMParser : createHTMLParser(); +function RootNode(input, options) { + var root3; + if (typeof input === "string") { + var doc = htmlParser().parseFromString( + // DOM parsers arrange elements in the and . + // Wrapping in a custom element ensures elements are reliably arranged in + // a single element. + '' + input + "", + "text/html" + ); + root3 = doc.getElementById("turndown-root"); + } else { + root3 = input.cloneNode(true); + } + collapseWhitespace({ + element: root3, + isBlock, + isVoid, + isPre: options.preformattedCode ? isPreOrCode : null + }); + return root3; +} +var _htmlParser; +function htmlParser() { + _htmlParser = _htmlParser || new HTMLParser(); + return _htmlParser; +} +function isPreOrCode(node) { + return node.nodeName === "PRE" || node.nodeName === "CODE"; +} +function Node2(node, options) { + node.isBlock = isBlock(node); + node.isCode = node.nodeName === "CODE" || node.parentNode.isCode; + node.isBlank = isBlank(node); + node.flankingWhitespace = flankingWhitespace(node, options); + return node; +} +function isBlank(node) { + return !isVoid(node) && !isMeaningfulWhenBlank(node) && /^\s*$/i.test(node.textContent) && !hasVoid(node) && !hasMeaningfulWhenBlank(node); +} +function flankingWhitespace(node, options) { + if (node.isBlock || options.preformattedCode && node.isCode) { + return { leading: "", trailing: "" }; + } + var edges = edgeWhitespace(node.textContent); + if (edges.leadingAscii && isFlankedByWhitespace("left", node, options)) { + edges.leading = edges.leadingNonAscii; + } + if (edges.trailingAscii && isFlankedByWhitespace("right", node, options)) { + edges.trailing = edges.trailingNonAscii; + } + return { leading: edges.leading, trailing: edges.trailing }; +} +function edgeWhitespace(string) { + var m = string.match(/^(([ \t\r\n]*)(\s*))(?:(?=\S)[\s\S]*\S)?((\s*?)([ \t\r\n]*))$/); + return { + leading: m[1], + // whole string for whitespace-only strings + leadingAscii: m[2], + leadingNonAscii: m[3], + trailing: m[4], + // empty for whitespace-only strings + trailingNonAscii: m[5], + trailingAscii: m[6] + }; +} +function isFlankedByWhitespace(side, node, options) { + var sibling; + var regExp; + var isFlanked; + if (side === "left") { + sibling = node.previousSibling; + regExp = / $/; + } else { + sibling = node.nextSibling; + regExp = /^ /; + } + if (sibling) { + if (sibling.nodeType === 3) { + isFlanked = regExp.test(sibling.nodeValue); + } else if (options.preformattedCode && sibling.nodeName === "CODE") { + isFlanked = false; + } else if (sibling.nodeType === 1 && !isBlock(sibling)) { + isFlanked = regExp.test(sibling.textContent); + } + } + return isFlanked; +} +var reduce = Array.prototype.reduce; +var escapes2 = [ + [/\\/g, "\\\\"], + [/\*/g, "\\*"], + [/^-/g, "\\-"], + [/^\+ /g, "\\+ "], + [/^(=+)/g, "\\$1"], + [/^(#{1,6}) /g, "\\$1 "], + [/`/g, "\\`"], + [/^~~~/g, "\\~~~"], + [/\[/g, "\\["], + [/\]/g, "\\]"], + [/^>/g, "\\>"], + [/_/g, "\\_"], + [/^(\d+)\. /g, "$1\\. "] +]; +function TurndownService(options) { + if (!(this instanceof TurndownService)) return new TurndownService(options); + var defaults = { + rules, + headingStyle: "setext", + hr: "* * *", + bulletListMarker: "*", + codeBlockStyle: "indented", + fence: "```", + emDelimiter: "_", + strongDelimiter: "**", + linkStyle: "inlined", + linkReferenceStyle: "full", + br: " ", + preformattedCode: false, + blankReplacement: function(content, node) { + return node.isBlock ? "\n\n" : ""; + }, + keepReplacement: function(content, node) { + return node.isBlock ? "\n\n" + node.outerHTML + "\n\n" : node.outerHTML; + }, + defaultReplacement: function(content, node) { + return node.isBlock ? "\n\n" + content + "\n\n" : content; + } + }; + this.options = extend({}, defaults, options); + this.rules = new Rules(this.options); +} +TurndownService.prototype = { + /** + * The entry point for converting a string or DOM node to Markdown + * @public + * @param {String|HTMLElement} input The string or DOM node to convert + * @returns A Markdown representation of the input + * @type String + */ + turndown: function(input) { + if (!canConvert(input)) { + throw new TypeError( + input + " is not a string, or an element/document/fragment node." + ); + } + if (input === "") return ""; + var output = process2.call(this, new RootNode(input, this.options)); + return postProcess.call(this, output); + }, + /** + * Add one or more plugins + * @public + * @param {Function|Array} plugin The plugin or array of plugins to add + * @returns The Turndown instance for chaining + * @type Object + */ + use: function(plugin) { + if (Array.isArray(plugin)) { + for (var i = 0; i < plugin.length; i++) this.use(plugin[i]); + } else if (typeof plugin === "function") { + plugin(this); + } else { + throw new TypeError("plugin must be a Function or an Array of Functions"); + } + return this; + }, + /** + * Adds a rule + * @public + * @param {String} key The unique key of the rule + * @param {Object} rule The rule + * @returns The Turndown instance for chaining + * @type Object + */ + addRule: function(key, rule) { + this.rules.add(key, rule); + return this; + }, + /** + * Keep a node (as HTML) that matches the filter + * @public + * @param {String|Array|Function} filter The unique key of the rule + * @returns The Turndown instance for chaining + * @type Object + */ + keep: function(filter2) { + this.rules.keep(filter2); + return this; + }, + /** + * Remove a node that matches the filter + * @public + * @param {String|Array|Function} filter The unique key of the rule + * @returns The Turndown instance for chaining + * @type Object + */ + remove: function(filter2) { + this.rules.remove(filter2); + return this; + }, + /** + * Escapes Markdown syntax + * @public + * @param {String} string The string to escape + * @returns A string with Markdown syntax escaped + * @type String + */ + escape: function(string) { + return escapes2.reduce(function(accumulator, escape) { + return accumulator.replace(escape[0], escape[1]); + }, string); + } +}; +function process2(parentNode) { + var self2 = this; + return reduce.call(parentNode.childNodes, function(output, node) { + node = new Node2(node, self2.options); + var replacement = ""; + if (node.nodeType === 3) { + replacement = node.isCode ? node.nodeValue : self2.escape(node.nodeValue); + } else if (node.nodeType === 1) { + replacement = replacementForNode.call(self2, node); + } + return join(output, replacement); + }, ""); +} +function postProcess(output) { + var self2 = this; + this.rules.forEach(function(rule) { + if (typeof rule.append === "function") { + output = join(output, rule.append(self2.options)); + } + }); + return output.replace(/^[\t\r\n]+/, "").replace(/[\t\r\n\s]+$/, ""); +} +function replacementForNode(node) { + var rule = this.rules.forNode(node); + var content = process2.call(this, node); + var whitespace = node.flankingWhitespace; + if (whitespace.leading || whitespace.trailing) content = content.trim(); + return whitespace.leading + rule.replacement(content, node, this.options) + whitespace.trailing; +} +function join(output, replacement) { + var s1 = trimTrailingNewlines(output); + var s2 = trimLeadingNewlines(replacement); + var nls = Math.max(output.length - s1.length, replacement.length - s2.length); + var separator = "\n\n".substring(0, nls); + return s1 + separator + s2; +} +function canConvert(input) { + return input != null && (typeof input === "string" || input.nodeType && (input.nodeType === 1 || input.nodeType === 9 || input.nodeType === 11)); +} +var turndown_browser_es_default = TurndownService; + +// src/utils/obsidian-turndown.ts +var ObsidianTurndown = class { + static getService() { + const service = new turndown_browser_es_default({ + headingStyle: "atx", + hr: "---", + bulletListMarker: "-", + codeBlockStyle: "fenced", + fence: "```", + linkStyle: "inlined" + }); + service.remove(["script", "style", "title"]), service.addRule("strikethrough", { + filter: ["del", "s"], + replacement: function(e) { + return "~~" + e + "~~"; + } + }), service.addRule("highlight", { + filter: ["mark"], + replacement: function(e) { + return "==" + e + "=="; + } + }); + var sb = /highlight-(?:text|source)-([a-z0-9]+)/; + service.addRule("highlightedCodeBlock", { + filter: function(e) { + var t = e.firstChild; + return "DIV" === e.nodeName && sb.test(e.className) && t && "PRE" === t.nodeName; + }, + replacement: function(e, t, n) { + var i = ((t.className || "").match(sb) || [null, ""])[1]; + return "\n\n" + n.fence + i + "\n" + t.firstChild.textContent + "\n" + n.fence + "\n\n"; + } + }), service.addRule("listItem", { + filter: "li", + replacement: function(e, t, n) { + e = e.replace(/^\n+/, "").replace(/\n+$/, "\n").replace(/\n/gm, "\n "); + var i = n.bulletListMarker + " ", r = t.parentNode; + if ("OL" === r.nodeName) { + var o = r.getAttr("start"), a = Array.prototype.indexOf.call(r.children, t); + i = (o ? Number(o) + a : a + 1) + ". "; + } + return i + e + (t.nextSibling && !/\n$/.test(e) ? "\n" : ""); + } + }), service.addRule("taskListItems", { + filter: function(e) { + return e.instanceOf(HTMLInputElement) && "checkbox" === e.type && "LI" === e.parentNode.nodeName; + }, + replacement: function(e, t) { + return t.checked ? "[x] " : "[ ] "; + } + }), service.addRule("tableCell", { + filter: ["th", "td"], + replacement: function(e, t) { + return (0 === Array.prototype.indexOf.call(t.parentNode.childNodes, t) ? "|" : "") + (function(e2) { + return (e2 = e2.trim().replace(/\|+/g, "\\|").replace(/\n\r?/g, "
")) + "|"; + })(e) + hb(t, " |"); + } + }); + var lb = { + left: ":--", + right: "--:", + center: ":-:" + }; + function cb2(e) { + if (!e) + return false; + var t, n, i = e.parentNode; + return "THEAD" === i.nodeName || i.firstChild === e && ("TABLE" === i.nodeName || (n = (t = i).previousSibling, "TBODY" === t.nodeName && (!n || "THEAD" === n.nodeName && /^\s*$/i.test(n.textContent)))) && Array.prototype.every.call(e.childNodes, (function(e2) { + return "TH" === e2.nodeName; + })); + } + function ub(e) { + var t = e.getAttribute("colspan"); + if (!t) + return 0; + var n = parseInt(t); + return isNaN(n) ? 0 : Math.max(0, n - 1); + } + function hb(e, t) { + return t.repeat(ub(e)); + } + function pb(e) { + return service.turndown(e); + } + service.addRule("tableRow", { + filter: "tr", + replacement: function(e, t) { + var n = ""; + if (cb2(t)) + for (var i = 0; i < t.cells.length; i++) { + var r = t.cells[i], o = (r.getAttribute("align") || "").toLowerCase(), a = lb[o] || "---"; + n += (0 === i ? "|" : "") + a + "|" + hb(r, a + "|"); + } + return "\n" + e + (n ? "\n" + n : ""); + } + }), service.addRule("table", { + filter: "table", + replacement: function(e, t) { + var n = t.rows[0]; + if (!cb2(n)) { + for (var i = n.cells.length, r = 0; r < n.cells.length; r++) + i += ub(n.cells[r]); + e = "|" + " |".repeat(i) + "\n|" + "---|".repeat(i) + "\n" + e.replace(/^[\r\n]+/, ""); + } + return "\n\n" + (e = e.replace(/[\r\n]+/g, "\n")) + "\n\n"; + } + }), service.addRule("tableSection", { + filter: ["thead", "tbody", "tfoot"], + replacement: function(e) { + return e; + } + }), service.escape = function(e) { + return e; + }; + return service; + } +}; + +// src/convertable-file-views/docx.ts +var import_obsidian2 = require("obsidian"); + +// src/utils/mime-utils.ts +var MimeUtils = class { +}; +MimeUtils.EXTENSIONS = { + "audio/aac": "aac", + "application/x-abiword": "abw", + "image/apng": "apng", + "application/x-freearc": "arc", + "image/avif": "avif", + "video/x-msvideo": "avi", + "application/vnd.amazon.ebook": "azw", + "application/octet-stream": "bin", + "image/bmp": "bmp", + "application/x-bzip": "bz", + "application/x-bzip2": "bz2", + "application/x-cdf": "cda", + "application/x-csh": "csh", + "text/css": "css", + "text/csv": "csv", + "application/msword": "doc", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx", + "application/vnd.ms-fontobject": "eot", + "application/epub+zip": "epub", + "application/gzip": "gz", + "image/gif": "gif", + "text/html": "html", + "image/vnd.microsoft.icon": "ico", + "text/calendar": "ics", + "application/java-archive": "jar", + "image/jpeg": "jpeg", + "application/json": "json", + "application/ld+json": "jsonld", + "audio/x-midi": "mid", + "text/javascript": "mjs", + "audio/mpeg": "mp3", + "video/mp4": "mp4", + "video/mpeg": "mpeg", + "application/vnd.apple.installer+xml": "mpkg", + "application/vnd.oasis.opendocument.presentation": "odp", + "application/vnd.oasis.opendocument.spreadsheet": "ods", + "application/vnd.oasis.opendocument.text": "odt", + "audio/ogg": "oga", + "video/ogg": "ogv", + "application/ogg": "ogx", + "font/otf": "otf", + "image/png": "png", + "application/pdf": "pdf", + "application/x-httpd-php": "php", + "application/vnd.ms-powerpoint": "ppt", + "application/vnd.openxmlformats-officedocument.presentationml.presentation": "pptx", + "application/vnd.rar": "rar", + "application/rtf": "rtf", + "application/x-sh": "sh", + "image/svg+xml": "svg", + "application/x-tar": "tar", + "image/tiff": "tif", + "video/mp2t": "ts", + "font/ttf": "ttf", + "text/plain": "txt", + "application/vnd.visio": "vsd", + "audio/wav": "wav", + "audio/webm": "weba", + "video/webm": "webm", + "image/webp": "webp", + "font/woff": "woff", + "font/woff2": "woff2", + "application/xhtml+xml": "xhtml", + "application/vnd.ms-excel": "xls", + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx", + "application/vnd.mozilla.xul+xml": "xul", + "application/x-zip-compressed.": "zip", + "application/x-7z-compressed": "7z" +}; + +// src/convertable-file-views/docx.ts +var _DocxFileView = class _DocxFileView extends ConvertibleFileView { + getViewType() { + return _DocxFileView.VIEW_TYPE_ID; + } + static async getFilePreview(plugin, file) { + if (!file) return null; + const view = document.createElement("div"); + const fileBuffer = await plugin.app.vault.readBinary(file); + await renderAsync(fileBuffer, view, view, { + renderComments: plugin.settings.getSetting("importComments") + }); + const docxWrapper = view.querySelector(".docx-wrapper"); + if (!docxWrapper) return view; + const docx = docxWrapper.querySelector(".docx"); + if (!docx) return view; + new ResizeObserver(() => { + const scale = Math.min(1, view.clientWidth / docx.clientWidth); + docxWrapper.style.transform = `scale(${scale})`; + }).observe(view); + return view; + } + async getFilePreview() { + return _DocxFileView.getFilePreview(this.plugin, this.file); + } + async getMarkdownContent(attachmentsDirectory) { + if (!this.file) return null; + const fileBuffer = await this.app.vault.readBinary(this.file); + const embedImageData = this.plugin.settings.getSetting("embedImageData"); + const ignoreAttachments = this.plugin.settings.getSetting("ignoreAttachments"); + const conversionOptions = { + styleMap: this.plugin.settings.getSetting("importComments") ? ["comment-reference => sup"] : void 0 + }; + if (ignoreAttachments) { + conversionOptions.convertImage = mammoth.images.imgElement(async (image) => { + const altText = image.altText || "image"; + console.debug(`Ignoring image: ${altText}`); + return { src: "", alt: `[Image: ${altText}]` }; + }); + } else if (embedImageData) { + conversionOptions.convertImage = mammoth.images.dataUri; + } else { + conversionOptions.convertImage = mammoth.images.imgElement(async (image) => { + var _a, _b, _c, _d, _e, _f; + console.debug(`Extracting image ${(_a = image.altText) != null ? _a : ""}`); + const imageBinary = await image.read(); + const fallbackFilename = this.plugin.settings.getSetting("fallbackAttachmentName"); + let attachmentFilename = (_c = (_b = this.file) == null ? void 0 : _b.name.replace(/\.docx$/, "")) != null ? _c : ""; + if (this.plugin.settings.getSetting("useImageAltAsFilename")) + attachmentFilename = (_e = (_d = image.altText) == null ? void 0 : _d.replace(/\n/g, " ")) != null ? _e : ""; + const fileExtension = (_f = MimeUtils.EXTENSIONS[image.contentType]) != null ? _f : "png"; + const path = await FileUtils.createBinary(this.app, attachmentsDirectory, attachmentFilename, fallbackFilename, fileExtension, imageBinary); + console.debug(`Extracted image to ${path}`); + return { src: path.contains(" ") ? `<${path}>` : path, alt: attachmentFilename }; + }); + } + const html = await mammoth.convertToHtml({ arrayBuffer: fileBuffer }, conversionOptions); + let markdown; + if (!this.plugin.settings.getSetting("importComments")) { + markdown = (0, import_obsidian2.htmlToMarkdown)(html.value); + } else { + const turndownService = ObsidianTurndown.getService(); + turndownService.addRule("comments-sup", { + filter: ["sup"], + replacement: function(content) { + var _a, _b, _c, _d, _e, _f; + const author = (_b = (_a = content.match(/\[\[(\D+)\d*\]/)) == null ? void 0 : _a[1]) != null ? _b : "Unknown Author"; + const commentNumber = (_d = (_c = content.match(/(\d+)/)) == null ? void 0 : _c[1]) != null ? _d : "1"; + const commentId = (_f = (_e = content.match(/#([^\)]+)/)) == null ? void 0 : _e[1]) != null ? _f : "comment-0"; + return ` ([[#^${commentId}|Comment ${author} ${commentNumber}]])`; + } + }); + turndownService.addRule("internalLink", { + filter: function(node, options) { + var _a; + return !!(node.nodeName === "A" && ((_a = node.getAttribute("href")) == null ? void 0 : _a.startsWith("#"))); + }, + replacement: function(content, node) { + const linkText = content.trim(); + if (linkText) return `[[#${linkText}]]`; + const href = node.getAttribute("href") || ""; + console.warn(`Internal link with href "${href}" has no text content. Creating link to target ID.`); + return `[[${href}]]`; + } + }); + turndownService.addRule("comments-description-list", { + filter: ["dl"], + replacement: function(content) { + console.log(content); + const comments = content.match(/Comment \[(\D+)\d+\]\n\n[\s\S]+? \[.\]\(#comment-ref-(\d+)\)/g); + if (!comments) return content; + const commentsCallouts = comments.map((comment) => { + var _a, _b, _c, _d, _e, _f, _g, _h; + const author = (_b = (_a = comment.match(/Comment \[(\D+)\d+\]/)) == null ? void 0 : _a[1]) != null ? _b : "Unknown Author"; + const number = (_d = (_c = comment.match(/Comment \[\D+(\d+)\]/)) == null ? void 0 : _c[1]) != null ? _d : "1"; + const id = (_f = (_e = comment.match(/Comment \[\D+\d+\]\n\n[\s\S]+? \[.\]\(#comment-ref-(\d+)\)/)) == null ? void 0 : _e[1]) != null ? _f : "0"; + const content2 = (_h = (_g = comment.match(/Comment \[\D+\d+\]\n\n([\s\S]+?) \[.\]\(#comment-ref-\d+\)/)) == null ? void 0 : _g[1]) != null ? _h : ""; + return `>[!QUOTE] **Comment ${author} ${number}** +> ${content2} +^comment-${id}`; + }); + return "---\n\n" + commentsCallouts.join("\n\n"); + } + }); + markdown = turndownService.turndown(html.value); + } + return markdown; + } +}; +_DocxFileView.VIEW_TYPE_ID = "docx-view"; +var DocxFileView = _DocxFileView; + +// src/core/docxer-embed-component.ts +var import_obsidian3 = require("obsidian"); +var DocxerEmbedComponent = class extends import_obsidian3.Component { + constructor(plugin, view, info, file, subpath) { + super(); + this.plugin = plugin; + this.view = view; + this.info = info; + this.file = file; + this.subpath = subpath; + info.containerEl.addClass("docxer-embed"); + } + // override + async loadFile() { + const preview = await this.view.getFilePreview(this.plugin, this.file); + if (!preview) return; + this.info.containerEl.appendChild(preview); + } + static isEmbeddable(view) { + return view.getFilePreview !== void 0; + } +}; + +// src/settings.ts +var import_obsidian4 = require("obsidian"); +var DEFAULT_SETTINGS = { + deleteFileAfterConversion: false, + importComments: false, + embedImageData: false, + ignoreAttachments: false, + fallbackAttachmentName: "Attachment", + attachmentsFolder: "subfolder", + customAttachmentsFolder: "Attachments", + useImageAltAsFilename: false +}; +var _SettingsManager = class _SettingsManager { + constructor(plugin) { + this.plugin = plugin; + } + async loadSettings() { + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.plugin.loadData()); + this.plugin.app.workspace.trigger(_SettingsManager.SETTINGS_CHANGED_EVENT); + } + async saveSettings() { + await this.plugin.saveData(this.settings); + } + getSetting(key) { + return this.settings[key]; + } + async setSetting(data) { + this.settings = Object.assign(this.settings, data); + await this.saveSettings(); + this.plugin.app.workspace.trigger(_SettingsManager.SETTINGS_CHANGED_EVENT); + } + addSettingsTab() { + this.settingsTab = new DocxerPluginSettingTab(this.plugin, this); + this.plugin.addSettingTab(this.settingsTab); + } +}; +_SettingsManager.SETTINGS_CHANGED_EVENT = "docxer:settings-changed"; +var SettingsManager = _SettingsManager; +var DocxerPluginSettingTab = class extends import_obsidian4.PluginSettingTab { + constructor(plugin, settingsManager) { + super(plugin.app, plugin); + this.settingsManager = settingsManager; + } + display() { + let { containerEl } = this; + containerEl.empty(); + new import_obsidian4.Setting(containerEl).setName("Delete source file after conversion").setDesc("Delete source file after pressing the conversion button.").addToggle( + (toggle) => toggle.setValue(this.settingsManager.getSetting("deleteFileAfterConversion")).onChange(async (value) => await this.settingsManager.setSetting({ deleteFileAfterConversion: value })) + ); + new import_obsidian4.Setting(containerEl).setName("Import docx comments").setDesc("Import comments from docx files using reference links. Comments will be placed at the end of the markdown file.").addToggle( + (toggle) => toggle.setValue(this.settingsManager.getSetting("importComments")).onChange(async (value) => await this.settingsManager.setSetting({ importComments: value })) + ); + const ignoreAttachmentsSetting = new import_obsidian4.Setting(containerEl).setName("Ignore attachments").setDesc("Completely ignore images from the source file. Only the image filename or description will be shown as plain text.").addToggle((toggle) => { + toggle.setValue(this.settingsManager.getSetting("ignoreAttachments")).onChange(async (value) => { + await this.settingsManager.setSetting({ ignoreAttachments: value }); + if (value) { + await this.settingsManager.setSetting({ embedImageData: false }); + } + this.display(); + }); + return toggle; + }); + new import_obsidian4.Setting(containerEl).setHeading().setClass("docxer-settings-heading").setName("Attachments").setDesc("Settings related to attachments extracted during file conversion."); + const ignoreAttachments = this.settingsManager.getSetting("ignoreAttachments"); + const embedImageData = this.settingsManager.getSetting("embedImageData"); + const embedSetting = new import_obsidian4.Setting(containerEl).setName("Embed image data in document").setDesc("Instead of extracting images to files, embed them as base64 data directly in the markdown. Creates self-contained documents but with larger file sizes.").addToggle((toggle) => { + toggle.setValue(embedImageData).setDisabled(ignoreAttachments).onChange(async (value) => { + await this.settingsManager.setSetting({ embedImageData: value }); + this.display(); + }); + return toggle; + }); + if (ignoreAttachments) { + embedSetting.descEl.style.opacity = "0.5"; + } + const fallbackNameSetting = new import_obsidian4.Setting(containerEl).setName("Fallback attachment name").setDesc("Fallback name if the attachment file has no alt text or is written using only invalid characters.").addText((text) => { + text.setValue(this.settingsManager.getSetting("fallbackAttachmentName")).setDisabled(ignoreAttachments || embedImageData).onChange(async (value) => await this.settingsManager.setSetting({ fallbackAttachmentName: value })); + return text; + }); + if (ignoreAttachments || embedImageData) { + fallbackNameSetting.descEl.style.opacity = "0.5"; + } + const folderSetting = new import_obsidian4.Setting(containerEl).setName("Attachments folder").setDesc("Specify the destination for attachments extracted during file conversion.").addDropdown((dropdown) => { + dropdown.addOptions({ + "vault": "Vault folder", + "custom": "In the folder specified below", + "same": "Same folder as current file", + "subfolder": "In subfolder under current folder" + }).setValue(this.settingsManager.getSetting("attachmentsFolder")).setDisabled(ignoreAttachments || embedImageData).onChange(async (value) => await this.settingsManager.setSetting({ attachmentsFolder: value })); + return dropdown; + }); + if (ignoreAttachments || embedImageData) { + folderSetting.descEl.style.opacity = "0.5"; + } + const customFolderSetting = new import_obsidian4.Setting(containerEl).setName("Custom attachments folder").setDesc("Specify the name of the folder where attachments will be extracted.").addText((text) => { + text.setPlaceholder("Attachments").setValue(this.settingsManager.getSetting("customAttachmentsFolder")).setDisabled(ignoreAttachments || embedImageData).onChange(async (value) => await this.settingsManager.setSetting({ customAttachmentsFolder: value })); + return text; + }); + if (ignoreAttachments || embedImageData) { + customFolderSetting.descEl.style.opacity = "0.5"; + } + const altTextSetting = new import_obsidian4.Setting(containerEl).setName("Use image alt text as filename").setDesc("Use the alt text of the image as the filename. If the alt text is empty, the fallback name will be used.").addToggle((toggle) => { + toggle.setValue(this.settingsManager.getSetting("useImageAltAsFilename")).setDisabled(ignoreAttachments || embedImageData).onChange(async (value) => await this.settingsManager.setSetting({ useImageAltAsFilename: value })); + return toggle; + }); + if (ignoreAttachments || embedImageData) { + altTextSetting.descEl.style.opacity = "0.5"; + } + this.addKofiButton(containerEl); + } + addKofiButton(containerEl) { + const kofiButton = document.createElement("a"); + kofiButton.classList.add("kofi-button"); + kofiButton.href = "https://ko-fi.com/X8X27IA08"; + kofiButton.target = "_blank"; + const kofiImage = document.createElement("img"); + kofiImage.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABNcAAAGVCAMAAADqnefWAAAA3lBMVEUAAAD/////////////////////////////////////////////////////////////////9fX/7Ozv7+//4uH/2dn/2djf39//zc3/ycj/w8P/wMDPz8//ubj/t7f/r6//qqq/v7//o6P/nZz/m5v/lpb/kZCvr6//ion/h4f/hob/hoX/hIP/gH//fXz/fHv/eXifn5//dXT/cXH/bm7/bm3/a2v/amn/aWj/aGf/ZmX/ZGT/Y2L/YWH/YGCPj4//X19/f39vb29fX19PT08/Pz8vLy8fHx8PDw8AAABHqlbKAAAAEHRSTlMAECAwQFBgcICQoLDA0ODwVOCoyAAALtpJREFUeNrs3Vtvm8oaxnGwMcaYw6uiyKpEpI4i1VIutkTUi0pRZGMMZr7/F9rZK90rTnMwzAFm8PO7X6lW7fw7wxxwAAAAAAAAAAAAAAAAAAAAAAAAAAAAwByu5/kBKLDwPG/uAMCYZotgHRMolkbRKvC9mQMAw5ot1wmBVkkULD3XAYAhLFZomgDhui0wdgPQa75KCQaWrJeeAwBauD4eqI0mCtA2AOVmAYZqI1svMScFUGgWEhggWWHYBqCGuyIwRRouHACQhRloZ0gbgBU87OswULrC6QQATEEnJ1li3y4ABmuTE2IVAaA3DNZMl/gYtAH04WIfrgXSFXa1AXQ2xzKoJUKUDaAbn8AaER60AXQQENgEZQO4COemrIOyASBr0xPhORsAsjY5WEEAQNYmJw2wnw0AWZuaxHcA4G9LAqtFOBIPgH1rk4PJKABOGUxOgj0fAK9cZG0a1hiyAfxfRDANKe7UBcDpqckJMWQDeDYnmBA8ZQNwHBe3407MCkM2uHq4HndyEuxlgyvnEUxP4ABcM1z7PUkR5qJwxXB+aqJSLB/A1cKO3OlaOgDXCYsGE4atbHCdZgQTFuPCSbhGuHRt2lJs+IDrg+Ha5OG+SVDK9bwgWEXP6EwaResg8DznIgzXADvZwBiut1xFCV2QRMFi5ozLJZi+0AGQ4i6CKKXuktD/sm2m3uPByqquWw7C6hdlWW5ZTr1gWRQGNPPDhAQkq7kzkoQEZMWRg1ptfSy3OekSI2wgZLFK6IVFafOpv80BwzRtmmrH6EsIGwzF9cOUZCVL1xnamvrKSlRNt+awzegTCBsMZHEhakJv7Z55yyCMopj+Fb+so85H3eTBThwGaht9DGED/WarhBSKPMeZ+2FEX0jWgeeOc+K95DCY9lhk9B7CBrot1qRanFIX8cob/oKiisOwPkgbwgZ6+QmNKQ0Xg05Ds4bD8I4FnbvGsHl+EEZRSi+iaB0sPUv/V4znBgmNLl3NhpuG1hxG0VY5yZMPm+ctgn953swZwHwZxp89jlni6Ktyy5TMEHlDrIZiEjqupiAlIsGiLcMopXfidbBwta7IJZemLHhZ6oRmoG8lviOG+thxGFNbbkiBsH/TgujSiRl3xG0GaYhbgRXxIjJL5Gl/XUvOYWzVhuSFOuISLWfKn/KYvfNzetyQzLN2NZ8NxZrB1+wpm+90NQ9T6mztO8rMQuonDVA2SQszXweQLp2+IuoIG9e6sKZsC6cTP5KIi3zVULYhuWsyVeQ6/aTUWYbDUx1YUrZ0rusJchrOHFnuisSkuD9zaoM1odeqzakjDNcMU2YkJXH1rYsF7nj7DCLs+5jOkzXh16otqBsM14zTFiQl0rguli4dcfOYzuBm4EHMzX8veqhh2QB7PAxU5yRjdWEiKCWeO4ICkhXh9VuTmoMKrIuuqTNc4tGP+ZNRX+vXfOWImMUkL8VG3X4CskLsKl4Oxd41Q50YiUvnAoM1nUO286BiLvoHHq0JhI06O3Aw0SGT+ZoIPGrRuTj5WVDxlhqNXPMfrf0rUts17Mk1l8yQLdT8qCWU2z91jdeWnEHW3gsVb/PIOJjqQAq35y5JpcgV/wVD2IYwt2HF4Eyg9nQo45+pS5BR1dLvKmxyEpTONL8iO3aFf8EQNmTtAwulXSv5JwoCBTLGyoNw39odCYr0Zo0onY/zC4awTTNrlM6G6FpNoFDGyuOJCzhmJCZ0XrkRqZfOx/kFQ9gmmTWiWOVxg5p/jBGottkeTsPNReOZ84cXkw7pfLRfsLUDX3BtzBpRoGo/3uddOxFosSmOvJ92S4LChes4Mz8iTWJ3tHHDyoGJrISemSnsGqahg9tWLe9jR4aK3dGmQ7jfY3pZowhds1y/UVtFhlqPlTVKcb3HZ6w5ZfCej67ZbrM78c7qjMwUjPbwOsHagdVnQj+UoGsTsK15V42pYfPGyRpOVH1mQTYL0LUp2FS2hy11R7shB5d7TGWHx6vURdcmYVNZHrbI+ZBP2qWYiU5ozeCPJbo2EZvK7rAtx8kadrFNbM3gRYKuTcbmaHPYUlcwa/Lw0uRJPVz7h4+uTQdrLA7beqysUeLABM4ZvBGha1Oya+0NmyeYNXlLB86Y+57QHmbo2pRkR37GqtsI4nGyhqUDrbPQDfufbVmyZxkNZomuTcu2tfXkgT9O1vC+Ax2z0HxbVvXpfRGqXU5DiHV2rSQY1rshm0UfTDJO1jBgU7wWmu+qhn+hrbak3wxdm5qzIZtV933642QNT9jOeCQlK6qWX9ZWG9Jsia5NTlbzC9qczBOPkzUsiZ6JSFzW5x4G3WVbo2sTtOMXnDIyjzdO1nBhkYqBMqsE3gGpEbo2RfmJf+1I5gnHyhpFDvxPQoKKhvd2yukr7F8kwkPXpiirLVw7cAWzJm/mgPjffXHiZ+QvcWZl3fJz9aHIqJ8lujZNFf9aTsZZjpM1rBxIDddYzQW1Ob23ObT8I0dGfYTo2kTtrHvEFo+VNYodEPvLzw5cXJvR30pFr1WL0bWpKqzbnhuSnA17llNfmIgKD9fYicuo6K2sVnYEEF2bLNbyr2xpSrLi2PIXx4J6wURUdLh24JI29MZR3RHAObo2WXnbaxYgL9uWdX3ivBE4MSMlK1t+5lRQD1gRFdu7ltVcVkXnCoUbyj10bbrydsiZKDvyc6cyo4HsWtm31DjXbk595Q2X1tK5E7/gRJ0t0bUJ+zpsjFT5eF2sLWkIWS35MAbXSzpOKPLVkpfTqy2/aEtdBeja+NihbvjH6meHsmAZCSkE/vkTUvKPNBvSLj8puGgucC5xPS8IwiiK6a00iqJVsPTsLqOb6shav1BV/KIDdYKumWB74h20dbnNFIetJEWyWu4oqo4haUM9rJ3Pzf1gHdNlaRQGnqUrq77GrHX9BjYqLw+M0LVxZUfeXVPmsgOpc+2GlMgauTP2embaB+ou+SxpYUz9pFGwsC9usbqsCXeNd0CdoGujyxrez+nQM0aV/qWDerQNwNtW0fND5x0viFISlIS+VW2bSX9p5bu2QdcmpOb9NYWyLyEjBcrRztgXapbP3u13mvnrlCQlK3veurykXmquoWuMd5BRF+ja2EoupC0z6mzT6n3bQc6/xkiXQst+p3kQkyJr347LeGPq48BH6xqjLtC1kWUt5/rLttUbnZp/rSFNCoX7nQLnxWyVkDqWpG1GfTCuDkPXpqjk4tqCujroHLAxsS+jvIJflFNHL11zlzFpEJo+IfWph+zE1dmga1PUcBkNo26yRmN0qpHegFVwlfudVo7jhaRLEhi9jLCmHg5cnROhaxOUcQEitynnGgdsbYdvrwYFV/qy1NhPSKvQ4I27KXXHuEIHdG2KGJd1yqmTUtuALe8021Cu4J2QQWJD36MwW1EPNdcxDTWxay26JohxeTvq5KRrwFYIfBvlFdy+rhElBpZtFlIfW65QTa/M65pFV+gbhnEFqkzyj8pJRinQXmkFt7JrRGngOiZxQ+rnxAVcPu6Crk0J4wIET3hXOh7rd+xaSWoV3NauGTZmC1Lqh3GFiv4/mjpB18bFuADBM5ibVsPjr3G6VnCLu2ZQ2byE+qq5OhW9kaFrU8H4gGErNWRn+K71y1pDRoo8Z3zuinrbqF4LPce5qpV1dG1cjA8YtqxVvw9j8K69y5p1L6d5EbrOyOYJ9Xfg3TVVWbBnu/JYd9pVXqvct7NG18bD+JBhK9S/wmWErhX8LUvfTZMunVEtScSJd1QXGZ3Li0PDX7VVRu8cVC5ABejaeBgfNGwn5VduDNy1vlk7kcHiuTMaNyQRedeqMfoIKw71s89e354rOxeHro2LqV00v6RQvnIweNcOvI+CjBY4I3FjElLyTkoSc1I3DSUfXRsP4wo1mfgXZ0dihu5axfuoyXAjDdnmMYlp9P5rwhTu7/bQtfEwrtKRLilVrxsO3LWq7wjWeIEzvHlKgrSO1i5/vgfqboaujUSka5Kfe9YqnogO27WKT2kW+iKeOa8MzxrTPkiulC1uO+jaeBj/WFW+OtYndct/hwtJFDBQ1yaaNaJ04fyf4VmjkneQk4zi881IW+ohsrdr32//+K74x/68v//1+9n9/f3tLenEOj5HYLuqVTLz2iheORysa5PN2rOVMyA3JWHHAXYMZkXDP3AsqJeVhV27+XH/63H/xuPv+zv5vN3cPTzu//b48PM76dCha+fyQ6tgElCrnYgO1bUpZ40odp0X5q6E/qMZ5kqqjJ1PUur6sGPUl29Z127ufu0/9fteokA/Hp72n3l6+EHKdevauaKR3rhYqF0RHahr084aUTp3BhKRBIsOeMxt6trNz8f9JWIF+vFw+Qd/J7X6d42InWRnoq3SFdFhujb1rD3znUGsSEJmzwGP1LGnaz9eR2pqC/Tt/mnfxe87Ukmka0S7VmKzx1eByEjAUF2r+p69sE7gDGBBMhi/qCUzrK3p2t3TvrvHHgW6edh39qSybGJdo00ttXcxVzzE0d+1q8gaUehoN0tJBrNnJ7RvSdeeq9bP0/03uuilar083ZJCTKhNO6mreU5Kn4zo79qVZI0oco1+uPb2CnDD93a5VnTt9nEv4J4ueKlaX79vSA3hrhFrJZ4tHVTu9NDftavJmv5l0SXJKa15rhk7FnTt23/2Yp5+0Nfu90J+khLiXaO8Fb/EIle5Qq+9a1eUNaLYNXXnGlG3T5qREXwLuvb9dQqqdmx1+yTzY+VJdI3yVnxNqlX4b63urvXOWmPBmdCRwrYmGVZ1zTW/a3d7Kff0iW+/9hJuSZ541y6EraYvVQofsGnuWv+sZWQ1jWHzSIpNXQsd47v2sJf0+J0+8mMv5ydJk+oa5cJH9LYKH7Dp7lrWXFXWiGLX0EUDm7rmmd6150GVvDt66+WRnawHkiXXNSpEN31nCh+w6ezaNWZNX9gWJMeirsWO4V379rhX4eEbvfVd4OeqD5tk1+ggujuyUbdXXGPXrjNr2sKWkByLuuab3rXHvRqPN/RKYA6qJ2yyXaNGcOWgVPeB6eta/6wdJ5E1osjMp2v2dM0zvGsPe2W+06v7/d6IsEl3LReciDJ1m8X1de0la1N4pV5voYlP1yzq2trsrt3vFfpBf3xTWMufJEO6a1QKTkTVHe7T1bVrzpqOC9nmJMuirpFrctdu90rdEZHAIzuN2z3ku5a1Yt+vRtnCgaauGZ019qx8sWOM5aSe7ygWkiyburY0uGvf9ord0UvWlLohcfJdo0LsWu+Dsm+lnq6ZmbUNKw8f38le1+WOkUpzR62UZNnUtdjgrv3aq3anPmv73yROumvCt6kVyj4xLV3rn7UD6ZWxsm75Badql5Miqeuo5JM0m7pGM2O7drtX704ga1ofscl3rRS6TS1XNurR0bX+WStIp7xseFftsdiQCrHiI1TShu7ahpX/YBn1tzS2a097DXT80BsSJ9+1jdgXTHhBVL5rlmVtW7W8p2a3IXmho45LAsbs2qY8nf99ZtTT2tSu3e1t8UDi5LtGNf9YKfRf0TkNXbMsa/mh5UKaIiNZ/lBnDYzrWlbxvxwy6sfUrj3trXFL4uS7thO6DrwSmL1Kd822rBUNl1DlJCedjbkamhdl/bdTh6DXnzuUjLrYtvydllEvnplds2e4Jrd0IN+1jdDCQSnw58p1zbasZWXLJdUFSYmVn6ESmAaq1VaMLjmo+JwDM7v2uLfILQmT7xqdRKaUTPSEqP6uZY0Bt0huqpYrcCpIxuq/7N2Bjty2FYVhpHCCNAiS4yUcwqjchAhqFUFqVK6BuHEdieJI4n3/F6phO7Xj7sxoeC8pUuL/ALvOzuiLRFKk1LEGuC3rKV6TxsUcERe2bM9teTyU1HMEJOaaC1lj2zA+sriu6Vis8e/V0sv2YIvhtWamqPnu6rgKH7ZvsnTt2VBUjxCQlGt90I/I1bXGx2Ut/e3KZBDcN599NKf54PMvv/zq65C+uYk1T7FzOJuR+rQ/S+baPmcNGGvYZFwzQf938wELPTiulcOaWUi4k0ZIH55E//T5n7/+FoxSscZfRr1IHeL3IJFr+30MHYZXCEjKNcVY6JHOtVJYUyeSz/cI7cFnn3/1DdKlPKWoC/sudVjdFxm69tNQWI8QkJBrkHRtBjZ0rfFbn9DSeorSHErwt0jbiZLk9eXbNf5O9V9m6NrLobCeIiAp12a6NxeEUTLX+KwpSKdOFK0eJWQoUQ731dKVGqztqwxdG0rrZWTXgh4pS3Ntc9aMp4hNJezmO1GqNO7Jye1v8HV013Y/vPam4lzrE7tWAGuW4uYNck9Tsvors1mscZI8XSvpZYP3PSnNNUP310RyLXvWPjyDHvhZtCexQoRSdDWsKk/Xips2GIane3HNJHCNz5pTEE7PFFaum/rmPGvwtrDRvQZry8+1F0NxPauusVxrvCgPea7ayv8kwJnSZYJcM1hVXNeOMh06DC+raxezebNmPL2pwkac+K51+3ZtKLDq2sVs1qx1lK6lQb4RJ75rtrq2vurafenErlXWfs9nDBu9q7pWXXvfXWGuIbFrDNau/qSiWMsaNnpXda269r4n1bVAjRrPfLGwlCX2/8tnO8a20Nuqa9W1SK7xv4y2jOfQlstaITOhRUweTJQuVV0roLeuFfTeu8nEtY62ZU17+qQjw2YpWQuqawVUXbuYzZQ1NdN9HXWBrqFkuepaCW3nWnMOgQJc69j7Rxe0wP4PWcSpmAE2U10rIXHX+D8if9c69jRiOc9dn9aCX8F/kAnVtRKSdo3/VWyyd21z1lraLq+RYWqhNJkDulbY6QaMHXNjnkeF3PcpEmYt2z2vzzQjSmWMsDkc0LUC3w/d8H2D6QwEyHxfyc1Zw0SBTZO1tjWms3ac5n0Nsdkkpqsjulbgfh4bukb3N2Xu2vas9RTQMnYan9T0zlNAeb534JKwdkTXCtx/TXw/D/ZPcEH3Kksq1zqB6yD5yrW51zhTMy47eRJFT5GbFA7pWoH75Yq7xlalR87n7CVnjf8U6l2Di5nTPp5EYRaKmLfAMV17MhTXT5u5NoX9BErsWnasdbdejQpX024XT6JAF0027zSO6lqBCz1+3Mo1RWdSQR/ZmMC19Kzx50Ktwqr0iW5pQq41dvIk3ew6BRzXtfIWejxO6NoqIpaw32tjuZYZaxhv4kdjdWYpf3VuTHeO7Fp5E6KQdo37GOrCOGwTuNYlPaGFf6Cc7+OtlFhQUtU1nmtPh8J6Ie4a9/rswr5BJpZroawhTida3axxY8YXP3VQXbvo2lEORn4q7hr3cUqH3eap6K6NObBm4v4T1LyDPSara+ddO8rEweONXFM+8PnG0715xHbNZTGsPsXeGsnt8oatuvY2i4MMsL3GRq5ZCpvX1AxIWK45uimDKJnYrAFujzds1bW3WeAYK3Ofb+Sa9oHzbG0Qh3zXXB4nAZyiswa4Hd6wVdeYn9ijoah+kHeNd336wGG5Pq5rjrFNl2CawZo8bB7FVF1juoZXQ0G9hrhrmvc45XC5me7PRHXNJd30gi9OV8SvuaXqmpBrh1jp8UzeNeaSeRP4kgJiuuYoJAPplE80GTsX/fp7de28a8d4EH20jWun4NWebcAVxnbN5XLYZp/qEVj5st8Sra5dcG3/e0u+xCaujRcUCXxCchFdcxTYBOHmZJ6aog+nqq6dv7yOMCP6wyaudXQ+FXjqUBfPNZfN0U1Nwjc37b5mDqprb7MA9r809zUiuMZizYVe2TraxeuJkYFkY8p7qHlXMwfVNb5rz4ZC+jGGaxzWSAde2T7THfG9gmBLyl9paE0nrEv3p4UCm8YW1TUp1/Y/c/AaG7g20oVc6JXtMnWNZsjVpL2DcrQmhRV1E/FarKqube0ang9F9COSu6YmupQOvbK7XF2jEWKNaecqlBcazGsm4ufb6pqYa7veDfwVorjG2AbHhe8Bkq1r1EKqJfGInpUZzetIJqeqaxKu7X2pxxMkdk057jni51icMz5x0mvIpBm3a/Fu2JZ0h9/NqrrGdm33N2wvgLSu9Z67KqKjM40Zu0YzZOqST8BagaW5juSaVXWN7dreb9juEMe14HOClvC9x5qcXaMRIp0Yhka8YetXY8zvVF3ju7bvKdGnQDrXVLcIfO76vIhZu0YtJPLpl5M5rjWNJ9H66tq6/AXX9ryG7SWQzLXGebreGH6Vucxd8xr89AbL/xvu75xINq+qa6uaIrl2N+TdHZDENWP6mTF2su6pqMncNZrBr9vidc2ZrqdxNkPSueqagGu7fUv0CYBIrtl3TW+i9fkm/KuzIHfXaAS7cYvtNXreU/aJpPOqusZ1bb9TBz+BnyHJOsYg9pi/a9SC27TFkZ6a9XK/Ivm66hrXtd1OHbwAL3nXRs43Rxfgmm/AzG+ya9DMWTLXknyn6tq2ruGHIdNe3YGVvGuOs+ZgRgGu0azASjFuCuM+/S5J/7y+uibg2h5fE33NZE3etZn1xemKcI1c/D+3gngtXe/SxSWfqq7JuLa3I1weg5W8a7PinMvnVRmuURd7BH+GfIqu1yR1zVTXtnbt7rfhlopiDSYla3D8qUZ515aEQ2yWcUcYeYDNVNeO5RoeDwHlvDlRBNdmxftlejPXHKZ0Q2wnxmL8yK8c2OrawVzDX4fVFcaalGuOeddwwlauOUB58f9WhhEGEbLVtepa9stzn0Isk3DBqo31beSCbJINsc2MEfXIH7Orrh3ONfx9yKjn4CTvmu+wJu0j7TdmmawBfaohNroeYtQwFrDZOh+6W9fwz2FF5bEm4drcsJ/BzEauWbzvlGiIjcELI94v7ki+pa5fk3JtL8vYeKzJuzYq9hKHCawsf82GWuiW3A5dm1O+R+Wqa5m4hl+GteV8noG0a4sReBIyYGXZrAFNkh3EGt5QZdwJi4TvvVNbXcvFtYfrYCvi7amPSnOzBjXHu0WxPNZChtioQUiGMS25nWsdSbfUfYqycQ0Pfx0uVChrmCm8qRFZQGU2ca1j3ZUs6jiuYSbhuupaPq7h7tVwtlJZQ0+hLa3MdooTmFnOpRU6xHY6kGuGZJvrPuCyrhUOWwTWoHygap3UuJJGete8Ye/i3x/HNViSzDfVNWHXyobtESLUU0BzhxvSPupAuWVcWYxxpOY4rsGRYG09j4r3qU2Q7rvfhgsV8q47+zt7MrglNbO2hJZ3zTcSf4lFHcc1Sdi6ei5yBNfKhU2GNf7lbLXkNdWBnRViDWq+jfcDuYZR7iG0uhbDtVJhY7Em9Z31zsiyOYGfZVxZvCG2A7mGdiGBTgrVtTiulQnbY0TMTHS9ZbJG/G5QIyCWa0sjd7B5cyDXoKwnZpMBqmt5uvYpbDtgDYDu3TRN/yfZm5y1tjUGgbn4V7EVfLfTRT0vTjPeMIq+TBHXa93CQK3XQHUtW9f+CNs+WIuWS7DntWWwxhxim/bzfuiEdTUmKAUA1bWcXfsYtsoagzVqIJENYC1oTQr/hpO9ZrW4F+7/UHUta9c+wFZZ47DWQyTLYI19XKYpYv81U13Lx7UvsnXtd9gqa5dSpzRXkpVkDRgjDrFNsXZc5GPtkH/7cO1Bvq69e/OgsnYpNbNEkHftpGJsBTDt/XwDwaprubuGu18raxdrllQXsGXsZZh4iM1xflyB52B9UnUte9fw8JfK2oU6n+z6tQzWEg+xWcZbDJwWuppB/lXX1rhWAmylsjYmvHwtg7XEQ2wdXW2BfJqu1yD/qmurXMsftkJZUxNvCF/etRsZnSINsRm6nkZAbE4JBVRdW/d9yx22QllrPV3Ja8hl5deZqUhDbEpwvwvZYb0ZBVRdW+la3rCVyZoaGQ89mbgGE2lLMb/JANuy5rcWUHUtjWt4+K/K2ieZhXFLko1rsHRLXss94HpI19A+lnlU11K5BvyjsnbmZo3BWmrX+ENss+C/tYVwI+1jOrS6ls41/FxZ+1C7BExN5uma8nRLo9wSkhOEW+h6CgVUXUvnGn6urL1PTxTCWp6uxRli0yQ5Iypn6YISOpprdkvX8HNl7f0jaBBrubqGPsYQ25J+rGuifbwdWl1L6xr+Ngj3qjzWlPWBrGXrGk4RhtgcpZ450LSiDiVUXUvqGr7P/5xQRgzV1rCWr2tqkR9i65Ir42hFGiVUXUvrGr4/NGvKegpnLV/X0MgPsSlKPNqlaTfDa9W11K7h++Oypq0nDmsZuxZjiG3mn3Ql/zA9ooiqa6ldw18Oyppx3NeNcnbt1iE2JUSlVxDK0JpaFFF1Lblr+O6347Gm+oV/0HfWrt04xOaknm1HCDWvYhRlVF0LcI0P28FYa090Q77F/WXtGhpPJGv3OikNROqJdrPKo7q2iWv47j8Dt+fFsNY6L3Qccd6uoQs4TJ7xz5XdyEn7PT2GVte22Xvl7t9c1lBEqvsYNe5lmrlr+G9796LrKpKdAbi42MaYy+ohCskIqUU6knORkjBREimtxMIYTL3/C83Zu3ef2WePMQV1gcL/9wB0H+P9u6rWqqpG8T805+Zmoh3fUDUUufY7Muyn/9l+rJV1xydraNjacy3rFP9TW25qEHXlfEPVUOSaRK7JBtuWYy071y2foa/oibXnmvIltkp8Siu/MXQ7TbnIte/IvP/YZqzlZX2783m6gp5Zfa4pX2Lr5ae04nm8jRuRkWuyubbULvh/oVXKy6q+tVzCNaOn1p9rqpfYauEHydYMNlU1QK5J55r5YPuFFpWXdV1X5e8u9Tdt2/JR8u0dFuSa4iW2nAu6Sf4/b6tqsJVcc+zMNfrFulirOi5B8o51C3KNcrVLbA0X1GRysbadozw2lGvM0lyjn+2KtaEbCawYrEnlmrarkgt6KtfeH1P0fHvDNeTaB1rIzzbFWsVtHqzJ5Jq+q5LvmaoFuy6nGcqeb3C4hlz7QEv5e3sOx624JveShNiRa9RNi3RVAzbel7N2T21xuIZck841+c2ilsRawfXoaxJkSa5NXGK7qKuwXmma7Ma5RcO1yCchyLXvaDl/+6sVsUYd16LJyQxDuaZ6iS3rdTUAfr5t34Jr3pM9YyQEufYdLegP/yuUav+3bKxVXIe2JFNM5ZrqJbZaRw/glzvB1n9taLRnDLk2qFpdrr3vqbLgXKKb9almLteoVbnEdp84rc9IQN7w31lwQFHoMYZce6JcY67RT39afawRV+5+JpNM5lqmcomt5Fxpss1INd5ntJjT3mEMuTZstblG9O9rj7XC9rEamcw1KlUusTV8quZMw7Kq5VNdaBnpb6GGXHtmxblG/7TyUyRL+1PNZK5RrXCJLev5ZH1zzuiBvLrxz1a84T0ODx77Brk2Ys25Rr+s+wCPkqvTNzmZZzLXFC+xnfksXVOXBX1XnueetNLnNEW6D8IoilKaJY6iKAh2PnuDXLM91+jnNceawly7XzJSYeW5lvUKbxS9cgl9+w2XUdEkIVMBubaNXBvcevBvpI35XGtKkmRJrk38xO70TNbxBTU0jYtcM55r6+zO+Qi2/ze6JdR8rrVVRvIsyTW6KBwTFT03RH5HfcSQa8i1z/7m17XGGlVcVnfJSQVrco1uXF0/f8UNkT9lfIdcQ6796A+/rjTWqOZSWoWhZk2uZXeFJxZd+ULONE3CkGvItS9++k/dW0LN59q9UTv9tCbXqOAKN63f+CJqmmiPXFOWa/FWco3oT1pjzXSu9bdLQapZk2t0kZyILl87aGii1EGuKcu1aDu5Rv/6l00G6mPNZK51jbZMSxMaZzzXJAdZNCK7c+NuNFXAkGvItUf+YXzvlHnt1EgrM9Ij+a0L3d1HNMJ4rsllUUkDzBVF5Q8XTx3kGnLtsb/777dY+6/lYm1+rt3ba10WpE+6Z9/5MY0yn2uzs6ic8rCVxhoFDLmGXBvyx3/+xz/SqnR8WNe2bV3XZZmRbrHLPjuSkAVzjSolHWxfg22tsZY6yLUlci2zI9fWZ7CIZ1TssB/tSdhCuUaNslwzHGxtRpMdGHJtiVwj5No8gylg0slhXx1J1EK5Jl7HLAWfZkhD0yXsRXKtRK5tQrmGXAulWnwEc+1CqhW9slwzGGxXmmG/llyr+Kic5kKubcZ5BZ/bnj3ipiTsssw5/hUXkpGYhhtQ0QwRU0W+/34UySjVvU5KkGuLqRf/3FKPPRaQsJKPy0m9Ru2FTxeuW1/QHP5qci3Tfb8WH9OTqEhjrtUEz9yWPt8pdtiQhITxUT3p0Kmd+BV3gxUDcSHTjYTdNV9E0ynqaEauLapbONeObNiehN2WuHdJ8KrkgsRlN67RhWZJHaZbTKKufMSZpNTqJvIn5Npilj33Pt2zJxwSVvExZ9LirPoKgUvPNekKmufAtItIVKF5XJ4rW16jgA06kRDk2kylxGBbXuyp+bYLTE/upMlVdb0ib7kWNc0UMf1CEtZqbudplY37AzYoIAHItdnqJT+2o6Pu215JzB7kdMrbKs49V67NaS6PKaS7RtRnJKlUVn7ykWtLuUnM2iSlO5XfdmqXuk8u7wW3LInL6hXdVB0wA3Yk7qa5S/GqajjoIdeW0kv8KsmJHDbKJ3FZv9St5mfh+0PF5Q1Xp69pvpiZ4JG47D5SrJSUdYqaSJT8Yt+Ra9MVEouvUtIDE+DSBEUv0bUlpeZDupzmKltlqZbRfKnHjJB402KjY/PPj5TkWju0zAfDrguVQyOXCUlogqKXiDUpzXC7mISyUZRqMg7MjIgk3rRg7Mg/v6AJjjpzrSUY1i0ye08PTNCJpig6iW+jlIueTzFvei6lq0jOiRkS0BTFfeRnRFLeKYjNvc5c6wgG5XyJskHkMlEHmiS7PkqXjCaJaYbyzr9qC5KXVR2fq29KkiLfkStfOBB/0/2F1Mmu8j9TrpJca1Z84fta1XxARtqkB/XLycMjnP6a00ROTHNUd/7ZrSRF8uudz3CrMpLmM1Mcmihvps23ZZ/f5DRNoqYiVvPHCoIhd258kBs6bIqEpsrO15a/69vrmSaLmZPSLMXv/+FW9f2DRd3xKfr3UJN3YOZENFVW3Tr+TuhFz3h+8/H8bs4LParJtctgQyYMKLnpw3JjX6IP3YyAMZ/W5uOPTEhbl6TGiRl0oI3Zqcm1cvBvFAY03OwhRelBYtnFFE909cO8rKxvHR/Wt9eqIGVihxnk0rakivpaco7CwTQ5N9u9dnTYdCmZlXxMitYrL6v62rbt/cfbdc5lRkqlLjMqpk0JFeUa8QE5wUMNN7np/eSyOY5kVsDeOCm9PI99gonoVDtVC8ctFtgmyU3uEY98No9HZr2n7zqX2MzaM8Mc2pJEWZnkytGZO0XDjXV5RL4t05OIvVnvEpsxByZv9TUijQJl/9gKE9EpCmMny0Y+k7Ank3aftjq8spCZtMExsqNsf0XOcaTHBK2hk2Ujn8lJyJyEfeck9LoexRoqBxOECgv99+FDauCri5kLTkKXyQrInP0PK3svSyLW7Bmaa+UqXDduMGATlvdcf1NuEjhMiunaZLLlAp24E5vLoqG5ViEbRcIqjgGbqE7/PZunnXUNAHv25tWX2E4OewQDNnGuykl3xjnHIWxCGs71Nq8lgWvfz3jC3rz6ElvIFrH6fugJQrVHcN04x63vIirOdX5UaeizJ1a7mWrH3rz4ElvIBqEkKiZ11S4bV3zIHTPRTyqtF5yc9pb+jEcbnhiJGYs19LAJCRRHeMY5R3PuqKLXN1w77R1b90Sn7lb/ziY4Mgl2FYm0iZVvr2g4lthGnXtNw7U03A2EmhW9HgF7wNlQT5WAPRuBXaLjfOXdeiVHsI2pONcxXIuPnt0LyhF7yNvAAEKI2I2uKB2MOmo40eGOYBtx1XB9cBLuHaaXm5Jeqbv13oNRicdG2T8TjRLSKtbR1FLxJxoUD7KWP1XQVEm4H0oEq2qiu20vZQuIHCbA9ppo6nikU+ppWTS+8ye6V7/r4Nzzp640RRoFO4eZciSdjuzdCy+xHdlkNi6m+pqX8HZ6tsNW/Jn+Qi8sb/kHJfsyEvYDqxdeIvaE+wJLbOmOrceJtDloHoEfdf1S3/lT3ct26GY1H3OmKY5MD/Pjpq8n+b9ee27sMjGWv+lQ88EhobYJ95mPuL3kcWx53fMxN5rEYz+yd0U5dV9l3+KAgC3M0Aa2k+bgjB19d3e0fEx7phdTNnxcn9EUMdPIaM9F6r3OhuxHEp9NYPGbjh29I8LY0bi5Iu/5qPv1hSoIheB94SVNsmc/sPfrnnqv0S46YPI1Yda+6c+x42p5vtYa/4WLuF/PL9D2kZ+bOxdT0ySpw35k69c99Rbqg4+dQ0rLWudgTcub/ho7bqz++ZoXVlou6H6rzyUZVs5Sj7i2D/Rc3I2mCdkivJjUSjzlbZTiH6Ab0cICtlaq3/TJ0VuciB3du/zznsNEXUbTuOwh22plsSNz6KF8oOwSWlDksvVS+6ZD9pUTkUKho7/Z/Mxhmr6gaSK2FCckdUJnianR53YxJ6ClJDu2airf9EHzTpIjmyWlSWoOWmONfPaUJUc+HNgoLWsysff5qSEtIV3vFFT5m059vUPwdGdoE03DQWesJWxJXkIqJJ7U91Ddj7sfkWlp4DAL+AkpELl6v0mxZ+xgwZaDvlijPVuUcyRJc68n8VOSMlCBNJ1s4ZoX1j5zTiQt0PxNOhrcHJh1HIRjza7hmpIf8mS30KLPR7uYfLK9QKq92aUkJfb0fpNi39wxNQi2SbFm23BNwXp74CwTqZHH3skn28ZnoIqGVOlB7zcpDUzftZZhKiqiK8jC4ZrMerv8gGWfKpyCmq0gJHvLUo1JtfkdHb3fpNAxfWUqigdC2oysHK7JfB8jX36wmM7KlPEHHxLS6LTyzg7FY9nQ1f5884c5oN1DwJVmiJmQlSab0JdRIoBk09QPSY8ksGlZTfpjSY+u3m9S6C52iuYZOw+e6Ut6Y1PvmmTAJAeHqbKPNP2ROfuYVEvDle4DFecGCQmL947W5ycHZ8nTt3JUD4bdMnpnzVaDAd4xIRGJ6iuz3EMslik7mSfLS0Nb559f7MJU64v2JZ6vdcCGuaiw/kwfLNkZ+owXRPRcFHhMA/cQ0VPxcTfzyfsTqZAcNxJqv9kdY60v2h97fhx4qzgutUBd9JFrRvMc2Ur5wSmmR+JT4Gv+Dyf0QCJ9r41/jElGejrYvKY2wNkFUUoPJKfAV/T8ZOj5znp2i12wyvZVW9BM6br7BDz/EATRh1MQHHyPGeH7QRBGH45B4PtMCccPIpojOR08tmH+7ssH7ql/oUeRFyovoXkyTEZ/0Jb0wd4ej5fi7QdGKDQ4QF33zw+ouTE1Ry/b41SzvmjwQvx9EEYJPfE2sPA3PUrbpohmy2rMRt80JUlIN7hcYx3P9/fBuzCKwuDdzvfxaqzlpjRfVr1808f9kpGUAwMA1QKSkl/v/GUNXcKFWSjAwmKSVNQvOWrr6oKGYBYKsCyP5GXV9aWyrVV1peCmGjwBBFkwE/2uvFxb6ysJ7ZBr/aEqcxKz2qv1AF5ATAoVZVmrdCmVKGiFYrREAWisicICUvRFAeizJ9ACi2sAywkJjLPgtkkAq8UEyqFmAPAElti2BzUDACu62ACxBjABagfbglIowBtr2nMBsQYgCkXRzUCsAXyDYNsSxBrAOwTbdiDWAD4g2LYCsQbwHYJtGxBrAJ8g2LYgQawBfIZgsx/acQH+CvrY7HZCrAE8gJ0HFjsyAFiIh03wOqS42B1gQS6OLVIvRsUAYFEOqgdYWgPYnD3mopiDAmyNh7moOjGuPwZYhyMBbjIA2Bg/IZAXoWAAsCIOhmzS0gMDgFXxIgIZIcqgAFOhMLpqmIICrJODDaMzJbjQHWC1XHTpzpCgZQ1g1ZBsSDWA7UGyTREj1QCs4B5RQRBz8hkAWMI5oFF3VHrEnikAu/iYjj51wgQUwELOHhviB8QHDNUAbOUeEG0INYDNcfcngu9Oe4QawCb4RwzbvokClD8BtsTxg+iFuz+SEzINYJvcXXB6sZFbFIXBDpEGsHWefwjCaBWjt2iaMHjG/woraQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDAnwEHEUGMH5vwcwAAAABJRU5ErkJggg=="; + kofiButton.appendChild(kofiImage); + containerEl.appendChild(kofiButton); + } +}; + +// src/main.ts +var import_obsidian5 = require("obsidian"); +var FILETYPE_MAP = { + "docx": DocxFileView +}; +var DocxerPlugin = class extends import_obsidian5.Plugin { + async onload() { + this.settings = new SettingsManager(this); + await this.settings.loadSettings(); + this.settings.addSettingsTab(); + for (const [fileExtension, viewClass] of Object.entries(FILETYPE_MAP)) { + this.registerView(viewClass.VIEW_TYPE_ID, (leaf) => new viewClass(leaf, this)); + this.registerExtensions([fileExtension], viewClass.VIEW_TYPE_ID); + if (!DocxerEmbedComponent.isEmbeddable(viewClass)) continue; + this.app.embedRegistry.unregisterExtension(fileExtension); + this.app.embedRegistry.registerExtension(fileExtension, (info, file, subpath) => new DocxerEmbedComponent(this, viewClass, info, file, subpath)); + } + } + onunload() { + } +}; +/*! Bundled license information: + +jszip/dist/jszip.min.js: + (*! + + JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + + (c) 2009-2016 Stuart Knightley + Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + + JSZip uses the library pako released under the MIT license : + https://github.com/nodeca/pako/blob/main/LICENSE + *) +*/ + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/docxer/manifest.json b/.obsidian/plugins/docxer/manifest.json new file mode 100644 index 00000000..bf9a5739 --- /dev/null +++ b/.obsidian/plugins/docxer/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "docxer", + "name": "Docxer", + "version": "2.3.0", + "minAppVersion": "1.5.0", + "description": "Import Word files easily. Adds a preview mode for .docx files and the ability to convert them to markdown (.md) files.", + "author": "Developer-Mike", + "authorUrl": "https://github.com/Developer-Mike", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/docxer/styles.css b/.obsidian/plugins/docxer/styles.css new file mode 100644 index 00000000..8af087c4 --- /dev/null +++ b/.obsidian/plugins/docxer/styles.css @@ -0,0 +1,40 @@ +/* src/styles.scss */ +.kofi-button { + z-index: 999; + position: absolute; + bottom: var(--size-4-5); + right: var(--size-4-5); + height: 30px; +} +.kofi-button img { + height: 100%; +} +.docxer-settings-heading { + border-bottom: 1px solid var(--color-accent); +} +.docxer-settings-heading:not(:first-child) { + margin-top: var(--size-4-10) !important; +} +#docxer-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 20px; + font-size: 1rem; + background-color: var(--background-secondary); +} +.docxer-embed { + max-height: 800px; + overflow: auto; + background-color: var(--background-primary); + border: 1px solid var(--background-modifier-border); + border-radius: var(--radius-s); +} +.docx-wrapper { + padding: 0 !important; + background-color: var(--background-primary) !important; + transform-origin: center top; +} +.docx-wrapper article { + user-select: text; +} diff --git a/.obsidian/plugins/file-preview/main.js b/.obsidian/plugins/file-preview/main.js new file mode 100644 index 00000000..f07c604d --- /dev/null +++ b/.obsidian/plugins/file-preview/main.js @@ -0,0 +1,13 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var d=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var _=(m,h)=>{for(var i in h)d(m,i,{get:h[i],enumerable:!0})},O=(m,h,i,t)=>{if(h&&typeof h=="object"||typeof h=="function")for(let e of A(h))!U.call(m,e)&&e!==i&&d(m,e,{get:()=>h[e],enumerable:!(t=j(h,e))||t.enumerable});return m};var G=m=>O(d({},"__esModule",{value:!0}),m);var Q={};_(Q,{default:()=>c});module.exports=G(Q);var a=require("obsidian");var b={};var x={};var y={};var R={};var u={"created at":"created at","updated at":"updated at","Show preview contents":"Show preview contents","Show preview contents in the file explorer.":"Show preview contents in the file explorer.","Show image":"Show image","Show image in the preview contents from file content.":"Show image in the preview contents from file content.","Length of the preview contents.":"Length of the preview contents.","default: 50":"default: 50","Line clamp":"Line clamp","The number of lines to show in the preview contents.(1 - 10, default: 2).":"The number of lines to show in the preview contents.(1 - 10, default: 2).","Indents of the preview contents":"Indents of the preview contents","The indents of the preview contents.":"The indents of the preview contents.","Exclude special file/folder":"Exclude special file/folder","Path to file/folder that you want to exclude. Split multiple paths with line breaks.":"Path to file that you want to exclude. Split multiple paths with line breaks.","path/to/file.md or path/to/folder":"path/to/file.md or path/to/folder","Format preview contents":"Format preview contents","Remove frontmatter":"Remove frontmatter","Remove frontmatter of the file.":"Remove frontmatter of the file.","Remove bold and italic symbols":"Remove bold and italic symbols","Remove bold and italic symbols of the file.":"Remove bold and italic symbols of the file.","Remove highlight symbols":"Remove highlight symbols","Remove highlight symbols of the file.":"Remove highlight symbols of the file.","Remove code block":"Remove code block","Remove code block of the file.":"Remove code block of the file.","Remove quote":"Remove quote","Remove quote of the file.":"Remove quote of the file.","Remove blank line":"Remove blank line","Remove blank line of the file.":"Remove blank line of the file.","Remove title symbol":"Remove title symbol","Remove title symbol of the file.":"Remove title symbol of the file.","Remove first h1":"Remove first h1","Remove the first heading 1 of the file.":"Remove the first heading 1 of the file.","Remove first h2":"Remove first h2","Remove the first heading 2 of the file.":"Remove the first heading 2 of the file.","Custom remove rules":"Custom remove rules","Custom regular expression formatting preview text will be applied at the end. Split multiple expressions with line breaks.":"Custom regular expression formatting preview text will be applied at the end. Split multiple expressions with line breaks.","The content that you want to delete.":"The content that you want to delete.","File properties":"File properties","Display properties":"Display properties","Display file properties under detaile message. For example, created time, updated time, file size.":"Display file properties under detaile message. For example, created time, updated time, file size.","Created time format":"Created time format","ctime. Time of creation. Default is 'YYYY-MM-DD HH:mm:ss'":"ctime. Time of creation. Default is 'YYYY-MM-DD HH:mm:ss'","Modified time format":"Modified time format","mtime. Time of last modification. Default is 'YYYY-MM-DD HH:mm:ss'":"mtime. Time of last modification. Default is 'YYYY-MM-DD HH:mm:ss'","Properties format":"Properties format","Format of the file properties. Use 'ctime' and 'mtime'.":"Format of the file properties. Use 'ctime' and 'mtime'.","Reset to default":"Reset to default"};var S={};var F={};var T={};var C={};var D={};var E={};var k={};var P={};var $=require("obsidian");var M={};var Y={};var H={};var L={};var I={};var N={};var V={};var B={};var q={"created at":"\u521B\u5EFA\u4E8E","updated at":"\u66F4\u65B0\u4E8E","Show preview contents":"\u5F00\u542F\u5185\u5BB9\u9884\u89C8","Show preview contents in the file explorer.":"\u5728\u6587\u4EF6\u7BA1\u7406\u5668\u67E5\u770B\u90E8\u5206\u7B14\u8BB0\u5185\u5BB9","Show image":"\u663E\u793A\u56FE\u7247","Show image in the preview contents from file content.":"\u5728\u7B14\u8BB0\u5185\u5BB9\u4E2D\u663E\u793A\u56FE\u7247","Length of the preview contents.":"\u9884\u89C8\u5185\u5BB9\u957F\u5EA6","default: 50":"\u9ED8\u8BA4 50","Line clamp":"\u884C\u6570\u9650\u5236","The number of lines to show in the preview contents.(1 - 10, default: 2).":"\u9884\u89C8\u5185\u5BB9\u884C\u6570\u9650\u5236(1-10, \u9ED8\u8BA42).","Indents of the preview contents":"\u9884\u89C8\u5185\u5BB9\u7F29\u8FDB","The indents of the preview contents.":"\u9884\u89C8\u5185\u5BB9\u7F29\u8FDB","Exclude special file/folder":"\u6392\u9664\u7279\u5B9A\u6587\u4EF6/\u6587\u4EF6\u5939","Path to file/folder that you want to exclude. Split multiple paths with line breaks.":"\u88AB\u6392\u9664\u7684\u6587\u4EF6/\u6587\u4EF6\u5939\u8DEF\u5F84\uFF0C\u6362\u884C\u5206\u5272\u591A\u4E2A\u8DEF\u5F84","path/to/file.md or path/to/folder":"path/to/file.md or path/to/folder","Format preview contents":"\u683C\u5F0F\u5316\u9884\u89C8\u5185\u5BB9","Remove frontmatter":"\u5220\u9664frontmatter","Remove frontmatter of the file.":"\u5220\u9664\u6587\u4EF6\u7684frontmatter","Remove bold and italic symbols":"\u5220\u9664\u7C97\u4F53\u548C\u659C\u4F53\u7B26\u53F7","Remove bold and italic symbols of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u7C97\u4F53\u548C\u659C\u4F53\u7B26\u53F7","Remove highlight symbols":"\u5220\u9664\u9AD8\u4EAE\u7B26\u53F7","Remove highlight symbols of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u9AD8\u4EAE\u7B26\u53F7","Remove code block":"\u5220\u9664\u4EE3\u7801\u5757","Remove code block of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u4EE3\u7801\u5757","Remove quote":"\u5220\u9664\u5F15\u7528\u7B26\u53F7","Remove quote of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u5F15\u7528\u7B26\u53F7","Remove blank line":"\u5220\u9664\u7A7A\u884C","Remove blank line of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u7A7A\u884C","Remove title symbol":"\u5220\u9664\u6807\u9898\u7B26\u53F7","Remove title symbol of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u6807\u9898\u7B26\u53F7","Remove first h1":"\u5220\u9664\u7B2C\u4E00\u4E2A h1","Remove the first heading 1 of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u7B2C\u4E00\u4E2A\u4E00\u7EA7\u6807\u9898","Remove first h2":"\u5220\u9664\u7B2C\u4E00\u4E2A h2","Remove the first heading 2 of the file.":"\u5220\u9664\u6587\u4EF6\u7684\u7B2C\u4E00\u4E2A\u4E8C\u7EA7\u6807\u9898","Custom remove rules":"\u81EA\u5B9A\u4E49\u5220\u9664\u89C4\u5219","Custom regular expression formatting preview text will be applied at the end. Split multiple expressions with line breaks.":"\u81EA\u5B9A\u4E49\u6B63\u5219\u8868\u8FBE\u5F0F\u683C\u5F0F\u5316\u9884\u89C8\u6587\u672C\uFF0C\u4F1A\u5728\u6700\u540E\u5E94\u7528\u3002\u6362\u884C\u5206\u5272\u591A\u4E2A\u8868\u8FBE\u5F0F","The content that you want to delete.":"\u4F60\u60F3\u5220\u9664\u7684\u5185\u5BB9","File properties":"\u6587\u4EF6\u5C5E\u6027","Display properties":"\u663E\u793A\u5C5E\u6027","Display file properties under detaile message. For example, created time, updated time, file size.":"\u5728\u8BE6\u7EC6\u4FE1\u606F\u4E2D\u663E\u793A\u6587\u4EF6\u5C5E\u6027. \u4F8B\u5982, \u521B\u5EFA\u65F6\u95F4, \u66F4\u65B0\u65F6\u95F4, \u6587\u4EF6\u5927\u5C0F.","Created time format":"\u521B\u5EFA\u65F6\u95F4\u683C\u5F0F","ctime. Time of creation. Default is 'YYYY-MM-DD HH:mm:ss'":"ctime. \u521B\u5EFA\u65F6\u95F4. \u9ED8\u8BA4\u662F 'YYYY-MM-DD HH:mm:ss'","Modified time format":"\u4FEE\u6539\u65F6\u95F4\u683C\u5F0F","mtime. Time of last modification. Default is 'YYYY-MM-DD HH:mm:ss'":"mtime. \u6700\u540E\u4FEE\u6539\u65F6\u95F4. \u9ED8\u8BA4\u662F 'YYYY-MM-DD HH:mm:ss'","Properties format":"\u5C5E\u6027\u683C\u5F0F","Format of the file properties. Use 'ctime' and 'mtime'.":"\u5C5E\u6027\u683C\u5F0F. \u4F7F\u7528 'ctime' \u548C 'mtime'.","Reset to default":"\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C"};var W={"created at":"\u5275\u5EFA\u65BC","updated at":"\u66F4\u65B0\u65BC","Show preview contents":"\u986F\u793A\u9810\u89BD\u5167\u5BB9","Show preview contents in the file explorer.":"\u5728\u6587\u4EF6\u7BA1\u7406\u5668\u67E5\u770B\u90E8\u5206\u7B46\u8A18\u5167\u5BB9","Show image":"\u986F\u793A\u5716\u7247","Show image in the preview contents from file content.":"\u5728\u7B46\u8A18\u5167\u5BB9\u4E2D\u986F\u793A\u5716\u7247","Length of the preview contents.":"\u9810\u89BD\u5167\u5BB9\u9577\u5EA6","default: 50":"\u9810\u8A2D 50","Line clamp":"\u884C\u6578\u9650\u5236","The number of lines to show in the preview contents.(1 - 10, default: 2).":"\u9810\u89BD\u5167\u5BB9\u884C\u6578\u9650\u5236(1-10, \u9810\u8A2D2).","Indents of the preview contents":"\u9810\u89BD\u5167\u5BB9\u7E2E\u9032","The indents of the preview contents.":"\u9810\u89BD\u5167\u5BB9\u7E2E\u9032","Exclude special file/folder":"\u6392\u9664\u7279\u5B9A\u6587\u4EF6/\u6587\u4EF6\u593E","Path to file/folder that you want to exclude. Split multiple paths with line breaks.":"\u88AB\u6392\u9664\u7684\u6587\u4EF6/\u6587\u4EF6\u593E\u8DEF\u5F91\uFF0C\u63DB\u884C\u5206\u5272\u591A\u500B\u8DEF\u5F91","path/to/file.md or path/to/folder":"path/to/file.md or path/to/folder","Format preview contents":"\u683C\u5F0F\u5316\u9810\u89BD\u5167\u5BB9","Remove frontmatter":"\u522A\u9664 frontmatter","Remove frontmatter of the file.":"\u522A\u9664\u6587\u4EF6\u7684 frontmatter","Remove bold and italic symbols":"\u522A\u9664\u7C97\u9AD4\u548C\u659C\u9AD4\u7B26\u865F","Remove bold and italic symbols of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u7C97\u9AD4\u548C\u659C\u9AD4\u7B26\u865F","Remove highlight symbols":"\u522A\u9664\u9AD8\u4EAE\u7B26\u865F","Remove highlight symbols of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u9AD8\u4EAE\u7B26\u865F","Remove code block":"\u522A\u9664\u4EE3\u78BC\u584A","Remove code block of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u4EE3\u78BC\u584A","Remove quote":"\u522A\u9664\u5F15\u7528\u7B26\u865F","Remove quote of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u5F15\u7528\u7B26\u865F","Remove blank line":"\u522A\u9664\u7A7A\u884C","Remove blank line of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u7A7A\u884C","Remove title symbol":"\u522A\u9664\u6A19\u984C\u7B26\u865F","Remove title symbol of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u6A19\u984C\u7B26\u865F","Remove first h1":"\u522A\u9664\u7B2C\u4E00\u500B h1","Remove the first heading 1 of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u7B2C\u4E00\u500B\u4E00\u7D1A\u6A19\u984C","Remove first h2":"\u522A\u9664\u7B2C\u4E00\u500B h2","Remove the first heading 2 of the file.":"\u522A\u9664\u6587\u4EF6\u7684\u7B2C\u4E00\u500B\u4E8C\u7D1A\u6A19\u984C","Custom remove rules":"\u81EA\u5B9A\u7FA9\u522A\u9664\u898F\u5247","Custom regular expression formatting preview text will be applied at the end. Multiple expressions can be wrapped":"\u81EA\u5B9A\u7FA9\u6B63\u5247\u8868\u9054\u5F0F\u683C\u5F0F\u5316\u9810\u89BD\u6587\u672C\uFF0C\u6703\u5728\u6700\u5F8C\u61C9\u7528\u3002\u591A\u500B\u8868\u9054\u5F0F\u63DB\u884C\u5373\u53EF","The content that you want to delete.":"\u4F60\u60F3\u522A\u9664\u7684\u5167\u5BB9","File properties":"\u6587\u4EF6\u5C6C\u6027","Display properties":"\u986F\u793A\u5C6C\u6027","Display file properties under detaile message. For example, created time, updated time, file size.":"\u5728\u8A73\u7D30\u4FE1\u606F\u4E2D\u986F\u793A\u6587\u4EF6\u5C6C\u6027. \u4F8B\u5982, \u5275\u5EFA\u6642\u9593, \u66F4\u65B0\u6642\u9593, \u6587\u4EF6\u5927\u5C0F.","Created time format":"\u5275\u5EFA\u6642\u9593\u683C\u5F0F","ctime. Time of creation. Default is 'YYYY-MM-DD HH:mm:ss'":"ctime. \u5275\u5EFA\u6642\u9593. \u9810\u8A2D\u662F 'YYYY-MM-DD HH:mm:ss'","Modified time format":"\u4FEE\u6539\u6642\u9593\u683C\u5F0F","mtime. Time of last modification. Default is 'YYYY-MM-DD HH:mm:ss'":"mtime. \u6700\u5F8C\u4FEE\u6539\u6642\u9593. \u9810\u8A2D\u662F 'YYYY-MM-DD HH:mm:ss'","Properties format":"\u5C6C\u6027\u683C\u5F0F","Format of the file properties. Use 'ctime' and 'mtime'.":"\u5C6C\u6027\u683C\u5F0F. \u4F7F\u7528 'ctime' \u548C 'mtime'.","Reset to default":"\u91CD\u8A2D\u70BA\u9810\u8A2D"};var J={ar:b,cs:x,da:y,de:R,en:u,"en-gb":S,es:F,fr:T,hi:C,id:D,it:E,ja:k,ko:P,nl:M,nn:Y,pl:H,pt:L,"pt-br":I,ro:N,ru:V,tr:B,"zh-cn":q,"zh-tw":W},z=J[$.moment.locale()];function s(m){return z&&z[m]||u[m]}var w={showpreview:!0,lineClamp:2,indents:0,previewcontentslength:"50",ispreview:!1,format:{frontmatter:!0,bolditalic:!0,highlight:!0,codeblock:!0,quote:!0,blankline:!0,title:!0,firsth1:!0,firsth2:!1,customregex:[]},showImg:!0,showFileProperties:!1,ctimeFormat:"YYYY-MM-DD HH:mm:ss",mtimeFormat:"YYYY-MM-DD HH:mm:ss",propertiesFormat:`${s("created at")} ctime, ${s("updated at")} mtime`,excluded:[]},f=class extends a.PluginSettingTab{constructor(i,t){super(i,t);this.plugin=t}display(){let{containerEl:i}=this;i.empty(),new a.Setting(i).setName(s("Show preview contents")).setDesc(s("Show preview contents in the file explorer.")).addToggle(t=>t.setValue(this.plugin.settings.showpreview).onChange(async e=>{this.plugin.settings.showpreview=e,e?await this.plugin.initialize():await this.plugin.deletePreviewContents(),await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Show image")).setDesc(s("Show image in the preview contents from file content.")).addToggle(t=>t.setValue(this.plugin.settings.showImg).onChange(async e=>{this.plugin.settings.showImg=e,await this.plugin.refreshPreviewContents(),await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Length of the preview contents.")).setDesc(s("default: 50")).addText(t=>t.setPlaceholder("50").setValue(this.plugin.settings.previewcontentslength).onChange(async e=>{this.plugin.settings.previewcontentslength=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Line clamp")).setDesc(s("The number of lines to show in the preview contents.(1 - 10, default: 2).")).addSlider(t=>t.setLimits(1,10,1).setValue(this.plugin.settings.lineClamp).onChange(async e=>{this.plugin.settings.lineClamp=e,await this.plugin.refreshPreviewContents(),await this.plugin.saveSettings()}).setDynamicTooltip()),new a.Setting(i).setName(s("Indents of the preview contents")).setDesc(s("The indents of the preview contents.")).addSlider(t=>t.setLimits(0,10,1).setValue(this.plugin.settings.indents).onChange(async e=>{this.plugin.settings.indents=e,await this.plugin.refreshPreviewContents(),await this.plugin.saveSettings()}).setDynamicTooltip()),new a.Setting(i).setName(s("Exclude special file/folder")).setDesc(s("Path to file/folder that you want to exclude. Split multiple paths with line breaks.")).addTextArea(t=>t.setPlaceholder("path/to/file.md or path/to/folder").setValue(this.plugin.settings.excluded.join(` +`)).onChange(async e=>{this.plugin.settings.excluded=e.trim().split(` +`),await this.plugin.saveSettings(),await this.plugin.refreshPreviewContents()})),new a.Setting(i).setName(s("Format preview contents")).setHeading(),new a.Setting(i).setName(s("Remove frontmatter")).setDesc(s("Remove frontmatter of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.frontmatter).onChange(async e=>{this.plugin.settings.format.frontmatter=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove bold and italic symbols")).setDesc(s("Remove bold and italic symbols of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.bolditalic).onChange(async e=>{this.plugin.settings.format.bolditalic=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove highlight symbols")).setDesc(s("Remove highlight symbols of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.highlight).onChange(async e=>{this.plugin.settings.format.highlight=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove code block")).setDesc(s("Remove code block of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.codeblock).onChange(async e=>{this.plugin.settings.format.codeblock=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove quote")).setDesc(s("Remove quote of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.quote).onChange(async e=>{this.plugin.settings.format.quote=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove blank line")).setDesc(s("Remove blank line of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.blankline).onChange(async e=>{this.plugin.settings.format.blankline=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove title symbol")).setDesc(s("Remove title symbol of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.title).onChange(async e=>{this.plugin.settings.format.title=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove first h1")).setDesc(s("Remove the first heading 1 of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.firsth1).onChange(async e=>{this.plugin.settings.format.firsth1=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Remove first h2")).setDesc(s("Remove the first heading 2 of the file.")).addToggle(t=>t.setValue(this.plugin.settings.format.firsth2).onChange(async e=>{this.plugin.settings.format.firsth2=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Custom remove rules")).setDesc(s("Custom regular expression formatting preview text will be applied at the end. Split multiple expressions with line breaks.")).addTextArea(t=>{var e,o;return t.setPlaceholder("The content that you want to delete.").setValue((o=(e=this.plugin.settings.format.customregex)==null?void 0:e.join(` +`))!=null?o:"").onChange(async n=>{this.plugin.settings.format.customregex=n.trim().split(` +`),await this.plugin.saveSettings()})}),new a.Setting(i).setName(s("File properties")).setHeading(),new a.Setting(i).setName(s("Display properties")).setDesc(s("Display file properties under detaile message. For example, created time, updated time, file size.")).addToggle(t=>t.setValue(this.plugin.settings.showFileProperties).onChange(async e=>{this.plugin.settings.showFileProperties=e,await this.plugin.saveSettings()})),new a.Setting(i).setName(s("Created time format")).setDesc(s("ctime. Time of creation. Default is 'YYYY-MM-DD HH:mm:ss'")).addText(t=>t.setPlaceholder(this.plugin.settings.ctimeFormat).setValue(this.plugin.settings.ctimeFormat).onChange(async e=>{this.plugin.settings.ctimeFormat=e,await this.plugin.saveSettings()})).then(t=>this.addResetButton(t,"ctimeFormat")),new a.Setting(i).setName(s("Modified time format")).setDesc(s("mtime. Time of last modification. Default is 'YYYY-MM-DD HH:mm:ss'")).addText(t=>t.setPlaceholder(this.plugin.settings.mtimeFormat).setValue(this.plugin.settings.mtimeFormat).onChange(async e=>{this.plugin.settings.mtimeFormat=e,await this.plugin.saveSettings()})).then(t=>this.addResetButton(t,"mtimeFormat")),new a.Setting(i).setName(s("Properties format")).setDesc(s("Format of the file properties. Use 'ctime' and 'mtime'.")).addText(t=>t.setPlaceholder(this.plugin.settings.propertiesFormat).setValue(this.plugin.settings.propertiesFormat).onChange(async e=>{this.plugin.settings.propertiesFormat=e,await this.plugin.saveSettings()})).then(t=>this.addResetButton(t,"propertiesFormat"))}addResetButton(i,t,e=!0){i.addExtraButton(o=>o.setIcon("reset").setTooltip(s("Reset to default")).onClick(()=>{this.plugin.settings[t]=w[t],this.plugin.saveSettings(),e&&this.display()}))}};var l=require("obsidian"),c=class extends l.Plugin{constructor(){super(...arguments);this.previewContentsEl=[]}async onload(){var e;await this.loadSettings(),(e=this.settings.format)!=null&&e.customregex?this.settings.excluded||(this.settings.excluded=[],this.saveData(this.settings)):(this.settings.format.customregex=[],this.saveData(this.settings)),this.settingTab=new f(this.app,this),this.addSettingTab(this.settingTab),await this.initialize(),this.registerCommands();let t=((o,n)=>{let r;return()=>{clearTimeout(r),r=window.setTimeout(()=>o.apply(this),n)}})(async()=>{if(this.settings.showpreview&&this.settings.ispreview){let o=this.app.workspace.getActiveFile();if(o){let n=o.path,r=this.fileExplorerView.fileItems[n];r&&this.displayPreviewContentsByFileItem(r)}}},10);this.app.workspace.on("editor-change",t),this.app.workspace.on("file-menu",(o,n)=>{!n||this.settings.excluded.includes(n.path)||o.addItem(r=>{r.setIcon("trash"),r.setTitle(n instanceof l.TFolder?"Exclude folder":"Exclude file"),r.onClick(()=>{this.settings.excluded.push(n.path),this.saveSettings(),this.refreshPreviewContents()})})}),this.ttl=5,(0,l.addIcon)("captions",''),(0,l.addIcon)("captions-off",''),await this.saveSettings()}onunload(){this.showpreviewBtn.remove(),this.deletePreviewContents(),this.saveSettings()}async initialize(){this.app.workspace.onLayoutReady(async()=>{try{this.fileExplorerView=await this.getFileExplorerView(),this.fileNavEl=this.fileExplorerView.containerEl,this.initImagePaths(),this.createShowPreviewButton(this.fileNavEl.querySelector(".nav-header > .nav-buttons-container")),this.settings.showpreview&&await this.refreshPreviewContents()}catch(i){if(console.log(i),this.ttl<=0)return;this.ttl-=1,setTimeout(()=>{this.initialize()},1e3)}})}createShowPreviewButton(i){this.showpreviewBtn||(this.showpreviewBtn=i.createDiv({cls:"clickable-icon nav-action-button show-preview-button",attr:{"aria-label":"Show/Hide preview contents"}}),this.settings.ispreview?(0,l.setIcon)(this.showpreviewBtn,"captions-off"):(0,l.setIcon)(this.showpreviewBtn,"captions"),this.registerDomEvent(this.showpreviewBtn,"click",()=>{this.togglePreviewContents(),this.settings.ispreview?((0,l.setIcon)(this.showpreviewBtn,"captions-off"),this.settings.ispreview=!1):((0,l.setIcon)(this.showpreviewBtn,"captions"),this.settings.ispreview=!0),this.saveSettings()}))}async displayPreviewContents(){this.fileNavEl.classList.add("file-preview-nav");let i=this.fileExplorerView.fileItems;for(let t in i){let e=i[t];t==="/"||this.isExcluded(e.file)||!(e.file instanceof l.TFile)||e.file.extension!=="md"||this.isExcluded(e.file)||this.displayPreviewContentsByFileItem(e)}this.settings.ispreview=!0}isExcluded(i){return this.settings.excluded.some(t=>t&&i.path.startsWith(t))}async getFileExplorerView(){return new Promise((i,t)=>{let e=null,o=this.app.workspace.getLeavesOfType("file-explorer");o.length===0?t(Error("Could not find file explorer view.")):(e=o[0],i(e.view)),e||t(Error("Could not find file explorer view."))})}togglePreviewContents(){this.fileNavEl.classList.toggle("hide-preview-contents")}async deletePreviewContents(){this.fileNavEl.classList.remove("file-preview-nav"),this.fileNavEl.classList.remove("hide-preview-contents"),this.previewContentsEl.forEach(i=>{i.remove()}),this.previewContentsEl=[],this.settings.ispreview=!1,this.saveSettings()}async refreshPreviewContents(){this.settings.ispreview&&this.deletePreviewContents(),this.displayPreviewContents()}async displayPreviewContentsByFileItem(i){let t=i.file;t&&await this.app.vault.cachedRead(t).then(e=>{let o=this.formatContents(e.trim(),t.basename);if(o){if(i.innerEl&&i.el.querySelector(".nav-file-details")){let n=i.selfEl.querySelector(".tree-item-inner.nav-file-details");if(n&&o!==n.innerHTML&&(n.innerHTML=o),this.settings.showFileProperties){let r=(0,l.moment)(t.stat.ctime).format(this.settings.ctimeFormat),p=(0,l.moment)(t.stat.mtime).format(this.settings.mtimeFormat),g=this.settings.propertiesFormat.replace("ctime",r).replace("mtime",p),v=i.selfEl.querySelector(".nav-file-properties");v&&(v.innerHTML=g)}return}if(this.previewContentsEl.push(i.selfEl.createEl("div",{text:o,attr:{class:"tree-item-inner nav-file-details",style:`-webkit-line-clamp: ${this.settings.lineClamp}; text-indent: ${this.settings.indents}em;`}})),this.settings.showFileProperties){let n=(0,l.moment)(t.stat.ctime).format(this.settings.ctimeFormat),r=(0,l.moment)(t.stat.mtime).format(this.settings.mtimeFormat),p=this.settings.propertiesFormat.replace("ctime",n).replace("mtime",r);this.previewContentsEl.push(i.selfEl.createEl("div",{text:p,attr:{class:"nav-file-properties"}}))}if(this.settings.showImg){let n=this.getFirstImgPath(e);if(!n||i.el.querySelector(".nav-file-img"))return;i.el.classList.add("file-preview-show-img");let r=i.el.createEl("div",{attr:{class:"tree-item-inner nav-file-img"}});if(!n.startsWith("http")){let p=this.imagePaths.find(g=>g.endsWith(n))||n;n=this.app.vault.adapter.getResourcePath((0,l.normalizePath)(p))}r.createEl("div",{attr:{class:"preview-img",style:`background-image: url(${n})`}}),this.previewContentsEl.push(r)}}})}formatContents(i,t){let e=i;i.startsWith("---")&&this.settings.format.frontmatter&&(e=i.replace(/---[\s\S]*?---/,""));let o=e.indexOf(` +`),n=e.slice(0,o).trim();this.settings.format.firsth1&&(n.startsWith("# ")||n===t)&&(e=e.slice(o)),this.settings.format.firsth2&&n.startsWith("## ")&&(e=e.slice(o)),this.settings.format.bolditalic&&(e=e.replace(/(\*\*|__)(.*?)\1/g,"$2"),e=e.replace(/(\*|_)(.*?)\1/g,"$2")),this.settings.format.highlight&&(e=e.replace(/===(.*?)===/g,"$1")),this.settings.format.codeblock&&(e=e.replace(/`{5}[\s\S]*?`{5}/g,""),e=e.replace(/`{4}[\s\S]*?`{4}/g,""),e=e.replace(/`{3}[\s\S]*?`{3}/g,"")),this.settings.format.quote&&(e=e.replace(/(^>.*\n*)+/g,"")),this.settings.format.blankline&&(e=e.replace(/^\s*\n/g,"")),e=e.replace(/#+/g,""),e=e.replace(/!\[.*?\]\(.*?\)/g,""),e=e.replace(/\[\[.*?\]\]/g,""),e=e.replace(/\[.*?\]\(.*?\)/g,"");for(let r=0;re.path).filter(e=>this.pathIsImg(e));this.imagePaths=t}pathIsImg(i){return i.endsWith(".png")||i.endsWith(".jpg")||i.endsWith(".jpeg")||i.endsWith(".gif")||i.endsWith(".webp")}registerCommands(){this.addCommand({id:"refresh-preview-contents",name:"Refresh preview contents",callback:async()=>{this.refreshPreviewContents()}}),this.addCommand({id:"show-preview-contents",name:"Show preview contents",callback:async()=>{await this.displayPreviewContents()}}),this.addCommand({id:"hide-preview-contents",name:"Hide preview contents",callback:async()=>{this.fileNavEl.classList.add("hide-preview-contents"),this.settings.ispreview=!1,this.saveSettings()}}),this.addCommand({id:"show-preview-contents",name:"Show preview contents",callback:async()=>{this.fileNavEl.classList.remove("hide-preview-contents"),this.settings.ispreview=!0,this.saveSettings()}})}async loadSettings(){this.settings=Object.assign({},w,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}}; + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/file-preview/manifest.json b/.obsidian/plugins/file-preview/manifest.json new file mode 100644 index 00000000..a0aea7c9 --- /dev/null +++ b/.obsidian/plugins/file-preview/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "file-preview", + "name": "File Preview", + "version": "1.1.3", + "minAppVersion": "1.0.0", + "description": "Add file preview contents under file in file explorer.", + "author": "Huajin", + "authorUrl": "https://github.com/xhuajin", + "isDesktopOnly": false +} \ No newline at end of file diff --git a/.obsidian/plugins/file-preview/styles.css b/.obsidian/plugins/file-preview/styles.css new file mode 100644 index 00000000..acab5492 --- /dev/null +++ b/.obsidian/plugins/file-preview/styles.css @@ -0,0 +1 @@ +.hide-preview-contents .tree-item-inner.nav-file-details,.hide-preview-contents .nav-file-properties,.hide-preview-contents .tree-item-inner.nav-file-img{display:none}.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title[data-path$=".md"]:has(> .nav-file-details){flex-direction:column;gap:2px;overflow:hidden}.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title:before{content:none}.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title:has(> .nav-file-details) .tree-item-inner.nav-file-title-content{flex:1;width:100%;font-weight:500}.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title.is-active .tree-item-inner.nav-file-details,.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title .tree-item-inner.nav-file-details,.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title.is-active .nav-file-properties,.file-preview-nav:not(.hide-preview-contents) .tree-item-self.nav-file-title .nav-file-properties{display:-webkit-box;white-space:normal;word-break:break-all;color:var(--nav-item-color);font-size:var(--font-ui-smaller);font-weight:400;-webkit-box-orient:vertical}.file-preview-nav:not(.hide-preview-contents).novel-word-count--note-right .nav-files-container .nav-file-title:after{margin-left:auto}.file-preview-nav:not(.hide-preview-contents) .file-preview-show-img.tree-item.nav-file:has(.tree-item-inner.nav-file-details){display:grid;grid-template-columns:4fr minmax(8rem,1fr);margin:2px 0}.file-preview-nav:not(.hide-preview-contents) .file-preview-show-img.tree-item.nav-file .tree-item-inner.nav-file-title-content{width:100%;height:1.6em;min-height:1.6em;max-height:1.6em}.file-preview-nav:not(.hide-preview-contents) .file-preview-show-img .tree-item-inner.tree-item-inner.nav-file-img{display:flex;margin:10px;border-radius:var(--radius-s);align-items:center}.file-preview-nav:not(.hide-preview-contents) .file-preview-show-img .tree-item-inner.tree-item-inner.nav-file-img .preview-img{width:100%;height:100%;background-size:cover;background-position:center}body:not(.is-grabbing) .file-preview-nav:not(.hide-preview-contents) .file-preview-show-img .tree-item-self.is-clickable:hover,body .tree-item-self.is-clickable.nav-file-title.is-active,body .tree-item-self.is-clickable.nav-file-title:hover{background-color:unset}body:not(.is-phone) .workspace-leaf.mod-active .file-preview-nav:not(.hide-preview-contents) .tree-item.nav-file .tree-item-self.has-focus{box-shadow:unset}.file-preview-nav:not(.hide-preview-contents) .tree-item.nav-file:hover,.file-preview-nav:not(.hide-preview-contents) .tree-item.nav-file:has(> .nav-file-title.is-active){background-color:var(--nav-item-background-active);border-radius:var(--radius-s)}.file-preview-nav:not(.hide-preview-contents) .tree-item.nav-file:has(> .nav-file-title.has-focus){box-shadow:0 0 0 2px var(--background-modifier-border-focus)}.file-preview-nav:not(.hide-preview-contents) .file-preview-show-img.tree-item.nav-file .tree-item-children{display:none}.file-preview-nav:not(.hide-preview-contents) .nav-file-properties{margin-top:.25rem} diff --git a/.obsidian/plugins/obsidian-weread-plugin/main.js b/.obsidian/plugins/obsidian-weread-plugin/main.js new file mode 100644 index 00000000..c1cbd3ed --- /dev/null +++ b/.obsidian/plugins/obsidian-weread-plugin/main.js @@ -0,0 +1,3 @@ +/*! For license information please see main.js.LICENSE.txt */ +(()=>{var e={19:function(e,t,r){var n,i,o,a,s,c,l,u,p;e.exports=(p=r(9021),r(3009),r(1025),o=(i=(n=p).lib).Base,a=i.WordArray,c=(s=n.algo).SHA256,l=s.HMAC,u=s.PBKDF2=o.extend({cfg:o.extend({keySize:4,hasher:c,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r=this.cfg,n=l.create(r.hasher,e),i=a.create(),o=a.create([1]),s=i.words,c=o.words,u=r.keySize,p=r.iterations;s.length{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTraversal=t.procedure=void 0,t.procedure={universal:50,tag:30,attribute:1,pseudo:0,"pseudo-element":0,"column-combinator":-1,descendant:-1,child:-1,parent:-1,sibling:-1,adjacent:-1,_flexibleDescendant:-1},t.isTraversal=function(e){return t.procedure[e.type]<0}},181:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e[e.length-1]}},482:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.pad.Iso97971={pad:function(e,t){e.concat(n.lib.WordArray.create([2147483648],1)),n.pad.ZeroPadding.pad(e,t)},unpad:function(e){n.pad.ZeroPadding.unpad(e),e.sigBytes--}},n.pad.Iso97971)},540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},682:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.verifyPseudoArgs=t.pseudos=void 0,t.pseudos={empty:function(e,t){var r=t.adapter;return!r.getChildren(e).some((function(e){return r.isTag(e)||""!==r.getText(e)}))},"first-child":function(e,t){var r=t.adapter,n=t.equals,i=r.getSiblings(e).find((function(e){return r.isTag(e)}));return null!=i&&n(e,i)},"last-child":function(e,t){for(var r=t.adapter,n=t.equals,i=r.getSiblings(e),o=i.length-1;o>=0;o--){if(n(e,i[o]))return!0;if(r.isTag(i[o]))break}return!1},"first-of-type":function(e,t){for(var r=t.adapter,n=t.equals,i=r.getSiblings(e),o=r.getName(e),a=0;a=0;a--){var s=i[a];if(n(e,s))return!0;if(r.isTag(s)&&r.getName(s)===o)break}return!1},"only-of-type":function(e,t){var r=t.adapter,n=t.equals,i=r.getName(e);return r.getSiblings(e).every((function(t){return n(e,t)||!r.isTag(t)||r.getName(t)!==i}))},"only-child":function(e,t){var r=t.adapter,n=t.equals;return r.getSiblings(e).every((function(t){return n(e,t)||!r.isTag(t)}))}},t.verifyPseudoArgs=function(e,t,r){if(null===r){if(e.length>2)throw new Error("pseudo-selector :".concat(t," requires an argument"))}else if(2===e.length)throw new Error("pseudo-selector :".concat(t," doesn't have any arguments"))}},718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var n=r(1141);function i(e,t,r,o){for(var a=[],s=0,c=t;s0){var u=i(e,l.children,r,o);if(a.push.apply(a,u),(o-=u.length)<=0)break}}return a}t.filter=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),Array.isArray(t)||(t=[t]),i(e,t,r,n)},t.find=i,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,r,i){void 0===i&&(i=!0);for(var o=null,a=0;a0&&(o=e(t,s.children)))}return o},t.existsOne=function e(t,r){return r.some((function(r){return(0,n.isTag)(r)&&(t(r)||r.children.length>0&&e(t,r.children))}))},t.findAll=function(e,t){for(var r,i,o=[],a=t.filter(n.isTag);i=a.shift();){var s=null===(r=i.children)||void 0===r?void 0:r.filter(n.isTag);s&&s.length>0&&a.unshift.apply(a,s),e(i)&&o.push(i)}return o}},724:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6067),i=function(){function e(e,t){void 0===e&&(e=null),this.parentNode=e,this.childNodes=[],Object.defineProperty(this,"range",{enumerable:!1,writable:!0,configurable:!0,value:null!=t?t:[-1,-1]})}return e.prototype.remove=function(){var e=this;if(this.parentNode){var t=this.parentNode.childNodes;this.parentNode.childNodes=t.filter((function(t){return e!==t})),this.parentNode=null}return this},Object.defineProperty(e.prototype,"innerText",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{get:function(){return(0,n.decode)(this.rawText)},set:function(e){this.rawText=(0,n.encode)(e)},enumerable:!1,configurable:!0}),e}();t.default=i},754:function(e,t,r){var n,i,o;e.exports=(n=r(9021),o=(i=n).lib.WordArray,i.enc.Base64={stringify:function(e){var t=e.words,r=e.sigBytes,n=this._map;e.clamp();for(var i=[],o=0;o>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,s=0;s<4&&o+.75*s>>6*(3-s)&63));var c=n.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(e){var t=e.length,r=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var i=0;i>>6-a%4*2;n[i>>>2]|=s<<24-i%4*8,i++}return o.create(n,i)}(e,t,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)},826:(e,t,r)=>{e=r.nmd(e);var n="__lodash_hash_undefined__",i=9007199254740991,o="[object Arguments]",a="[object Array]",s="[object Boolean]",c="[object Date]",l="[object Error]",u="[object Function]",p="[object Map]",f="[object Number]",d="[object Object]",h="[object Promise]",g="[object RegExp]",m="[object Set]",v="[object String]",b="[object Symbol]",y="[object WeakMap]",w="[object ArrayBuffer]",_="[object DataView]",k=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,x=/^\w*$/,E=/^\./,T=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,A=/\\(\\)?/g,S=/^\[object .+?Constructor\]$/,C=/^(?:0|[1-9]\d*)$/,N={};N["[object Float32Array]"]=N["[object Float64Array]"]=N["[object Int8Array]"]=N["[object Int16Array]"]=N["[object Int32Array]"]=N["[object Uint8Array]"]=N["[object Uint8ClampedArray]"]=N["[object Uint16Array]"]=N["[object Uint32Array]"]=!0,N[o]=N[a]=N[w]=N[s]=N[_]=N[c]=N[l]=N[u]=N[p]=N[f]=N[d]=N[g]=N[m]=N[v]=N[y]=!1;var L="object"==typeof global&&global&&global.Object===Object&&global,D="object"==typeof self&&self&&self.Object===Object&&self,O=L||D||Function("return this")(),q=t&&!t.nodeType&&t,B=q&&e&&!e.nodeType&&e,R=B&&B.exports===q&&L.process,P=function(){try{return R&&R.binding("util")}catch(e){}}(),j=P&&P.isTypedArray;function M(e,t){for(var r=-1,n=t.length,i=e.length;++rs))return!1;var l=o.get(e);if(l&&o.get(t))return l==t;var u=-1,p=!0,f=1&i?new Ee:void 0;for(o.set(e,t),o.set(t,e);++u-1},ke.prototype.set=function(e,t){var r=this.__data__,n=Se(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},xe.prototype.clear=function(){this.__data__={hash:new _e,map:new(ce||ke),string:new _e}},xe.prototype.delete=function(e){return qe(this,e).delete(e)},xe.prototype.get=function(e){return qe(this,e).get(e)},xe.prototype.has=function(e){return qe(this,e).has(e)},xe.prototype.set=function(e,t){return qe(this,e).set(e,t),this},Ee.prototype.add=Ee.prototype.push=function(e){return this.__data__.set(e,n),this},Ee.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new ke},Te.prototype.delete=function(e){return this.__data__.delete(e)},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ke){var n=r.__data__;if(!ce||n.length<199)return n.push([e,t]),this;r=this.__data__=new xe(n)}return r.set(e,t),this};var Re=oe?H(oe,Object):st,Pe=oe?function(e){for(var t=[];e;)M(t,Re(e)),e=re(e);return t}:st,je=function(e){return Z.call(e)};function Me(e,t){return!!(t=null==t?i:t)&&("number"==typeof e||C.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=i}function Qe(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function et(e){return!!e&&"object"==typeof e}function tt(e){return"symbol"==typeof e||et(e)&&Z.call(e)==b}var rt,nt=j?(rt=j,function(e){return rt(e)}):function(e){return et(e)&&Ze(e.length)&&!!N[Z.call(e)]};function it(e){return Je(e)?Ae(e):function(e){if(!Fe(e))return ae(e);var t=[];for(var r in Object(e))X.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e)}function ot(e){return Je(e)?Ae(e,!0):function(e){if(!Qe(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=Fe(e),r=[];for(var n in e)("constructor"!=n||!t&&X.call(e,n))&&r.push(n);return r}(e)}function at(e){return e}function st(){return[]}e.exports=function(e,t){return null==e?{}:function(e,t,r){for(var n=-1,i=t.length,o={};++n>>8^255&h^99,i[r]=h,o[h]=r;var g=e[r],m=e[g],v=e[m],b=257*e[h]^16843008*h;a[r]=b<<24|b>>>8,s[r]=b<<16|b>>>16,c[r]=b<<8|b>>>24,l[r]=b,b=16843009*v^65537*m^257*g^16843008*r,u[h]=b<<24|b>>>8,p[h]=b<<16|b>>>16,f[h]=b<<8|b>>>24,d[h]=b,r?(r=g^e[e[e[v^g]]],n^=e[e[n]]):r=n=1}}();var h=[0,1,2,4,8,16,32,64,128,27,54],g=r.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,r=e.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],a=0;a6&&a%r==4&&(l=i[l>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l]):(l=i[(l=l<<8|l>>>24)>>>24]<<24|i[l>>>16&255]<<16|i[l>>>8&255]<<8|i[255&l],l^=h[a/r|0]<<24),o[a]=o[a-r]^l);for(var s=this._invKeySchedule=[],c=0;c>>24]]^p[i[l>>>16&255]]^f[i[l>>>8&255]]^d[i[255&l]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,s,c,l,i)},decryptBlock:function(e,t){var r=e[t+1];e[t+1]=e[t+3],e[t+3]=r,this._doCryptBlock(e,t,this._invKeySchedule,u,p,f,d,o),r=e[t+1],e[t+1]=e[t+3],e[t+3]=r},_doCryptBlock:function(e,t,r,n,i,o,a,s){for(var c=this._nRounds,l=e[t]^r[0],u=e[t+1]^r[1],p=e[t+2]^r[2],f=e[t+3]^r[3],d=4,h=1;h>>24]^i[u>>>16&255]^o[p>>>8&255]^a[255&f]^r[d++],m=n[u>>>24]^i[p>>>16&255]^o[f>>>8&255]^a[255&l]^r[d++],v=n[p>>>24]^i[f>>>16&255]^o[l>>>8&255]^a[255&u]^r[d++],b=n[f>>>24]^i[l>>>16&255]^o[u>>>8&255]^a[255&p]^r[d++];l=g,u=m,p=v,f=b}g=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[p>>>8&255]<<8|s[255&f])^r[d++],m=(s[u>>>24]<<24|s[p>>>16&255]<<16|s[f>>>8&255]<<8|s[255&l])^r[d++],v=(s[p>>>24]<<24|s[f>>>16&255]<<16|s[l>>>8&255]<<8|s[255&u])^r[d++],b=(s[f>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[255&p])^r[d++],e[t]=g,e[t+1]=m,e[t+2]=v,e[t+3]=b},keySize:8});e.AES=t._createHelper(g)}(),n.AES)},981:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHtmlMarkdown=void 0;const n=r(7306),i=r(8970),o=r(6470),a=r(2488);class s{constructor(e,t,r){var o,a,s,c;this.translators=new n.TranslatorCollection,this.aTagTranslators=new n.TranslatorCollection,this.codeBlockTranslators=new n.TranslatorCollection,this.tableTranslators=new n.TranslatorCollection,this.tableRowTranslators=new n.TranslatorCollection,this.tableCellTranslators=new n.TranslatorCollection,this.options=Object.assign(Object.assign({},i.defaultOptions),e);const l=null!==(a=null===(o=this.options.ignore)||void 0===o?void 0:o.concat(i.defaultIgnoreElements))&&void 0!==a?a:i.defaultIgnoreElements,u=null!==(c=null===(s=this.options.blockElements)||void 0===s?void 0:s.concat(i.defaultBlockElements))&&void 0!==c?c:i.defaultBlockElements;null==l||l.forEach((e=>{this.translators.set(e,{ignore:!0,recurse:!1}),this.codeBlockTranslators.set(e,{ignore:!0,recurse:!1})})),null==u||u.forEach((e=>{this.translators.set(e,{surroundingNewlines:2}),this.codeBlockTranslators.set(e,{surroundingNewlines:2})}));for(const[e,r]of Object.entries(Object.assign(Object.assign({},i.defaultTranslators),t)))this.translators.set(e,r,!0);for(const[e,t]of Object.entries(Object.assign(Object.assign({},i.defaultCodeBlockTranslators),r)))this.codeBlockTranslators.set(e,t,!0);for(const[e,t]of Object.entries(i.aTagTranslatorConfig))this.aTagTranslators.set(e,t,!0);for(const[e,t]of Object.entries(i.tableTranslatorConfig))this.tableTranslators.set(e,t,!0);for(const[e,t]of Object.entries(i.tableRowTranslatorConfig))this.tableRowTranslators.set(e,t,!0);for(const[e,t]of Object.entries(i.tableCellTranslatorConfig))this.tableCellTranslators.set(e,t,!0);this.options.textReplace||(this.options.textReplace=[]),this.options.textReplace.push([/^/gim,""])}static translate(e,t,r,n){return s.prototype.translateWorker.call(new s(t,r,n),e)}translate(e){return this.translateWorker(e)}translateWorker(e){const t="string"!=typeof e,r=t?e:{default:e},n={};for(const[e,t]of Object.entries(r)){const r=(0,o.parseHTML)(t,this.options);n[e]=(0,a.getMarkdownForHtmlNodes)(this,r,"default"!==e?e:void 0)}return t?n:n.default}}t.NodeHtmlMarkdown=s},1025:function(e,t,r){var n,i,o;e.exports=(i=(n=r(9021)).lib.Base,o=n.enc.Utf8,void(n.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=o.parse(t));var r=e.blockSize,n=4*r;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),s=i.words,c=a.words,l=0;l{"use strict";r.d(t,{A:()=>s});var n=r(1601),i=r.n(n),o=r(6314),a=r.n(o)()(i());a.push([e.id,".weread-view-content {\n\tpadding: 0 !important;\n\toverflow: hidden !important;\n}\n\n.weread-frame {\n\twidth: 100%;\n\theight: 100%;\n\tborder: none;\n\tbackground-clip: content-box;\n}",""]);const s=a},1113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},1141:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.DomHandler=void 0;var o=r(5413),a=r(6957);i(r(6957),t);var s=/\s+/g,c={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},l=function(){function e(e,t,r){this.dom=[],this.root=new a.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof t&&(r=t,t=c),"object"==typeof e&&(t=e,e=void 0),this.callback=null!=e?e:null,this.options=null!=t?t:c,this.elementCB=null!=r?r:null}return e.prototype.onparserinit=function(e){this.parser=e},e.prototype.onreset=function(){this.dom=[],this.root=new a.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},e.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},e.prototype.onerror=function(e){this.handleCallback(e)},e.prototype.onclosetag=function(){this.lastNode=null;var e=this.tagStack.pop();this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(e)},e.prototype.onopentag=function(e,t){var r=this.options.xmlMode?o.ElementType.Tag:void 0,n=new a.Element(e,t,void 0,r);this.addNode(n),this.tagStack.push(n)},e.prototype.ontext=function(e){var t=this.options.normalizeWhitespace,r=this.lastNode;if(r&&r.type===o.ElementType.Text)t?r.data=(r.data+e).replace(s," "):r.data+=e,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{t&&(e=e.replace(s," "));var n=new a.Text(e);this.addNode(n),this.lastNode=n}},e.prototype.oncomment=function(e){if(this.lastNode&&this.lastNode.type===o.ElementType.Comment)this.lastNode.data+=e;else{var t=new a.Comment(e);this.addNode(t),this.lastNode=t}},e.prototype.oncommentend=function(){this.lastNode=null},e.prototype.oncdatastart=function(){var e=new a.Text(""),t=new a.NodeWithChildren(o.ElementType.CDATA,[e]);this.addNode(t),e.parent=t,this.lastNode=e},e.prototype.oncdataend=function(){this.lastNode=null},e.prototype.onprocessinginstruction=function(e,t){var r=new a.ProcessingInstruction(e,t);this.addNode(r)},e.prototype.handleCallback=function(e){if("function"==typeof this.callback)this.callback(e,this.dom);else if(e)throw e},e.prototype.addNode=function(e){var t=this.tagStack[this.tagStack.length-1],r=t.children[t.children.length-1];this.options.withStartIndices&&(e.startIndex=this.parser.startIndex),this.options.withEndIndices&&(e.endIndex=this.parser.endIndex),t.children.push(e),r&&(e.prev=r,r.next=e),e.parent=t,this.lastNode=null},e}();t.DomHandler=l,t.default=l},1264:e=>{e.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},1288:e=>{"use strict";e.exports=require("electron")},1326:function(e){var t;"undefined"!=typeof self&&self,t=function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=11)}([function(e,t,r){"use strict";var n=Array.prototype,i=Object.prototype,o={"&":"&",'"':""","'":"'","<":"<",">":">","\\":"\"},a=/[&"'<>\\]/g;function s(e,t){return i.hasOwnProperty.call(e,t)}function c(e){return o[e]}function l(e,t,r){var n,i,o;if(e instanceof Error&&(e=(i=e).name+": "+i.message),Object.setPrototypeOf?(n=new Error(e),Object.setPrototypeOf(n,l.prototype)):(n=this,Object.defineProperty(n,"message",{enumerable:!1,writable:!0,value:e})),Object.defineProperty(n,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(n,this.constructor),i){var a=Object.getOwnPropertyDescriptor(i,"stack");(o=a&&(a.get||function(){return a.value}))||(o=function(){return i.stack})}else{var s=new Error(e).stack;o=function(){return s}}return Object.defineProperty(n,"stack",{get:function(){return o.call(n)}}),Object.defineProperty(n,"cause",{value:i}),n.lineno=t,n.colno=r,n.firstUpdate=!0,n.Update=function(e){var t="("+(e||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?t+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(t+=" [Line "+this.lineno+"]")),t+="\n ",this.firstUpdate&&(t+=" "),this.message=t+(this.message||""),this.firstUpdate=!1,this},n}function u(e){return"[object Function]"===i.toString.call(e)}function p(e){return"[object Array]"===i.toString.call(e)}function f(e){return"[object String]"===i.toString.call(e)}function d(e){return"[object Object]"===i.toString.call(e)}function h(e){var t,r=(t=e)?"string"==typeof t?t.split("."):[t]:[];return function(e){for(var t=e,n=0;ne.length)a=i.slice(0,e.length),i.slice(a.length,l).forEach((function(e,r){r2?i-2:0),a=2;a0||!r)&&process.stdout.write(" ".repeat(t));var o=i===n.length-1?"":"\n";process.stdout.write(""+e+o)}))}e.exports={Node:c,Root:p,NodeList:u,Value:l,Literal:f,Symbol:d,Group:h,Array:g,Pair:m,Dict:v,Output:F,Capture:U,TemplateData:H,If:y,IfAsync:w,InlineIf:_,For:k,AsyncEach:x,AsyncAll:E,Macro:T,Caller:A,Import:S,FromImport:C,FunCall:N,Filter:L,FilterAsync:D,KeywordArgs:O,Block:q,Super:B,Extends:R,Include:P,Set:j,Switch:M,Case:I,LookupVal:b,BinOp:z,In:G,Is:K,Or:$,And:W,Not:Y,Add:J,Concat:X,Sub:Z,Mul:Q,Div:ee,FloorDiv:te,Mod:re,Pow:ne,Neg:ie,Pos:oe,Compare:ae,CompareOperand:se,CallExtension:ce,CallExtensionAsync:le,printNodes:function e(t,r){if(r=r||0,ue(t.typename+": ",r),t instanceof u)ue("\n"),t.children.forEach((function(t){e(t,r+2)}));else if(t instanceof ce)ue(t.extName+"."+t.prop+"\n"),t.args&&e(t.args,r+2),t.contentArgs&&t.contentArgs.forEach((function(t){e(t,r+2)}));else{var n=[],i=null;t.iterFields((function(e,t){e instanceof c?n.push([t,e]):(i=i||{})[t]=e})),i?ue(JSON.stringify(i,null,2)+"\n",null,!0):ue("\n"),n.forEach((function(t){var n=t[0],i=t[1];ue("["+n+"] =>",r+2),e(i,r+4)}))}}}},function(e,t){},function(e,t,r){"use strict";function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}var i=r(8),o=r(17),a=r(3),s=r(0).TemplateError,c=r(2).Frame,l=r(1).Obj,u={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="},p=function(e){var t,r;function i(){return e.apply(this,arguments)||this}r=e,(t=i).prototype=Object.create(r.prototype),t.prototype.constructor=t,n(t,r);var o=i.prototype;return o.init=function(e,t){this.templateName=e,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=t},o.fail=function(e,t,r){throw void 0!==t&&(t+=1),void 0!==r&&(r+=1),new s(e,t,r)},o._pushBuffer=function(){var e=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=e,this._emit("var "+this.buffer+' = "";'),e},o._popBuffer=function(){this.buffer=this.bufferStack.pop()},o._emit=function(e){this.codebuf.push(e)},o._emitLine=function(e){this._emit(e+"\n")},o._emitLines=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n0&&i._emit(","),i.compile(e,t)})),n&&this._emit(n)},o._compileExpression=function(e,t){this.assertType(e,a.Literal,a.Symbol,a.Group,a.Array,a.Dict,a.FunCall,a.Caller,a.Filter,a.LookupVal,a.Compare,a.InlineIf,a.In,a.Is,a.And,a.Or,a.Not,a.Add,a.Concat,a.Sub,a.Mul,a.Div,a.FloorDiv,a.Mod,a.Pow,a.Neg,a.Pos,a.Compare,a.NodeList),this.compile(e,t)},o.assertType=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0&&n._emit(","),e){n._emitLine("function(cb) {"),n._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=n._pushBuffer();n._withScopedSyntax((function(){n.compile(e,t),n._emitLine("cb(null, "+i+");")})),n._popBuffer(),n._emitLine("return "+i+";"),n._emitLine("}")}else n._emit("null")})),r){var c=this._tmpid();this._emitLine(", "+this._makeCallback(c)),this._emitLine(this.buffer+" += runtime.suppressValue("+c+", "+s+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+s+" && env.opts.autoescape);\n")},o.compileCallExtensionAsync=function(e,t){this.compileCallExtension(e,t,!0)},o.compileNodeList=function(e,t){this._compileChildren(e,t)},o.compileLiteral=function(e){if("string"==typeof e.value){var t=e.value.replace(/\\/g,"\\\\");t=(t=(t=(t=(t=t.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+t+'"')}else null===e.value?this._emit("null"):this._emit(e.value.toString())},o.compileSymbol=function(e,t){var r=e.value,n=t.lookup(r);n?this._emit(n):this._emit('runtime.contextOrFrameLookup(context, frame, "'+r+'")')},o.compileGroup=function(e,t){this._compileAggregate(e,t,"(",")")},o.compileArray=function(e,t){this._compileAggregate(e,t,"[","]")},o.compileDict=function(e,t){this._compileAggregate(e,t,"{","}")},o.compilePair=function(e,t){var r=e.key,n=e.value;r instanceof a.Symbol?r=new a.Literal(r.lineno,r.colno,r.value):r instanceof a.Literal&&"string"==typeof r.value||this.fail("compilePair: Dict keys must be strings or names",r.lineno,r.colno),this.compile(r,t),this._emit(": "),this._compileExpression(n,t)},o.compileInlineIf=function(e,t){this._emit("("),this.compile(e.cond,t),this._emit("?"),this.compile(e.body,t),this._emit(":"),null!==e.else_?this.compile(e.else_,t):this._emit('""'),this._emit(")")},o.compileIn=function(e,t){this._emit("runtime.inOperator("),this.compile(e.left,t),this._emit(","),this.compile(e.right,t),this._emit(")")},o.compileIs=function(e,t){var r=e.right.name?e.right.name.value:e.right.value;this._emit('env.getTest("'+r+'").call(context, '),this.compile(e.left,t),e.right.args&&(this._emit(","),this.compile(e.right.args,t)),this._emit(") === true")},o._binOpEmitter=function(e,t,r){this.compile(e.left,t),this._emit(r),this.compile(e.right,t)},o.compileOr=function(e,t){return this._binOpEmitter(e,t," || ")},o.compileAnd=function(e,t){return this._binOpEmitter(e,t," && ")},o.compileAdd=function(e,t){return this._binOpEmitter(e,t," + ")},o.compileConcat=function(e,t){return this._binOpEmitter(e,t,' + "" + ')},o.compileSub=function(e,t){return this._binOpEmitter(e,t," - ")},o.compileMul=function(e,t){return this._binOpEmitter(e,t," * ")},o.compileDiv=function(e,t){return this._binOpEmitter(e,t," / ")},o.compileMod=function(e,t){return this._binOpEmitter(e,t," % ")},o.compileNot=function(e,t){this._emit("!"),this.compile(e.target,t)},o.compileFloorDiv=function(e,t){this._emit("Math.floor("),this.compile(e.left,t),this._emit(" / "),this.compile(e.right,t),this._emit(")")},o.compilePow=function(e,t){this._emit("Math.pow("),this.compile(e.left,t),this._emit(", "),this.compile(e.right,t),this._emit(")")},o.compileNeg=function(e,t){this._emit("-"),this.compile(e.target,t)},o.compilePos=function(e,t){this._emit("+"),this.compile(e.target,t)},o.compileCompare=function(e,t){var r=this;this.compile(e.expr,t),e.ops.forEach((function(e){r._emit(" "+u[e.type]+" "),r.compile(e.expr,t)}))},o.compileLookupVal=function(e,t){this._emit("runtime.memberLookup(("),this._compileExpression(e.target,t),this._emit("),"),this._compileExpression(e.val,t),this._emit(")")},o._getNodeName=function(e){switch(e.typename){case"Symbol":return e.value;case"FunCall":return"the return value of ("+this._getNodeName(e.name)+")";case"LookupVal":return this._getNodeName(e.target)+'["'+this._getNodeName(e.val)+'"]';case"Literal":return e.value.toString();default:return"--expression--"}},o.compileFunCall=function(e,t){this._emit("(lineno = "+e.lineno+", colno = "+e.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(e.name,t),this._emit(', "'+this._getNodeName(e.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(e.args,t,"[","])"),this._emit(")")},o.compileFilter=function(e,t){var r=e.name;this.assertType(r,a.Symbol),this._emit('env.getFilter("'+r.value+'").call(context, '),this._compileAggregate(e.args,t),this._emit(")")},o.compileFilterAsync=function(e,t){var r=e.name,n=e.symbol.value;this.assertType(r,a.Symbol),t.set(n,n),this._emit('env.getFilter("'+r.value+'").call(context, '),this._compileAggregate(e.args,t),this._emitLine(", "+this._makeCallback(n)),this._addScopeLevel()},o.compileKeywordArgs=function(e,t){this._emit("runtime.makeKeywordArgs("),this.compileDict(e,t),this._emit(")")},o.compileSet=function(e,t){var r=this,n=[];e.targets.forEach((function(e){var i=e.value,o=t.lookup(i);null==o&&(o=r._tmpid(),r._emitLine("var "+o+";")),n.push(o)})),e.value?(this._emit(n.join(" = ")+" = "),this._compileExpression(e.value,t),this._emitLine(";")):(this._emit(n.join(" = ")+" = "),this.compile(e.body,t),this._emitLine(";")),e.targets.forEach((function(e,t){var i=n[t],o=e.value;r._emitLine('frame.set("'+o+'", '+i+", true);"),r._emitLine("if(frame.topLevel) {"),r._emitLine('context.setVariable("'+o+'", '+i+");"),r._emitLine("}"),"_"!==o.charAt(0)&&(r._emitLine("if(frame.topLevel) {"),r._emitLine('context.addExport("'+o+'", '+i+");"),r._emitLine("}"))}))},o.compileSwitch=function(e,t){var r=this;this._emit("switch ("),this.compile(e.expr,t),this._emit(") {"),e.cases.forEach((function(e,n){r._emit("case "),r.compile(e.cond,t),r._emit(": "),r.compile(e.body,t),e.body.children.length&&r._emitLine("break;")})),e.default&&(this._emit("default:"),this.compile(e.default,t)),this._emit("}")},o.compileIf=function(e,t,r){var n=this;this._emit("if("),this._compileExpression(e.cond,t),this._emitLine(") {"),this._withScopedSyntax((function(){n.compile(e.body,t),r&&n._emit("cb()")})),e.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){n.compile(e.else_,t),r&&n._emit("cb()")}))):r&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},o.compileIfAsync=function(e,t){this._emit("(function(cb) {"),this.compileIf(e,t,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},o._emitLoopBindings=function(e,t,r,n){var i=this;[{name:"index",val:r+" + 1"},{name:"index0",val:r},{name:"revindex",val:n+" - "+r},{name:"revindex0",val:n+" - "+r+" - 1"},{name:"first",val:r+" === 0"},{name:"last",val:r+" === "+n+" - 1"},{name:"length",val:n}].forEach((function(e){i._emitLine('frame.set("loop.'+e.name+'", '+e.val+");")}))},o.compileFor=function(e,t){var r=this,n=this._tmpid(),i=this._tmpid(),o=this._tmpid();if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+o+" = "),this._compileExpression(e.arr,t),this._emitLine(";"),this._emit("if("+o+") {"),this._emitLine(o+" = runtime.fromIterator("+o+");"),e.name instanceof a.Array){this._emitLine("var "+n+";"),this._emitLine("if(runtime.isArray("+o+")) {"),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for("+n+"=0; "+n+" < "+o+".length; "+n+"++) {"),e.name.children.forEach((function(i,a){var s=r._tmpid();r._emitLine("var "+s+" = "+o+"["+n+"]["+a+"];"),r._emitLine('frame.set("'+i+'", '+o+"["+n+"]["+a+"]);"),t.set(e.name.children[a].value,s)})),this._emitLoopBindings(e,o,n,i),this._withScopedSyntax((function(){r.compile(e.body,t)})),this._emitLine("}"),this._emitLine("} else {");var s=e.name.children,c=s[0],l=s[1],u=this._tmpid(),p=this._tmpid();t.set(c.value,u),t.set(l.value,p),this._emitLine(n+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+o+").length;"),this._emitLine("for(var "+u+" in "+o+") {"),this._emitLine(n+"++;"),this._emitLine("var "+p+" = "+o+"["+u+"];"),this._emitLine('frame.set("'+c.value+'", '+u+");"),this._emitLine('frame.set("'+l.value+'", '+p+");"),this._emitLoopBindings(e,o,n,i),this._withScopedSyntax((function(){r.compile(e.body,t)})),this._emitLine("}"),this._emitLine("}")}else{var f=this._tmpid();t.set(e.name.value,f),this._emitLine("var "+i+" = "+o+".length;"),this._emitLine("for(var "+n+"=0; "+n+" < "+o+".length; "+n+"++) {"),this._emitLine("var "+f+" = "+o+"["+n+"];"),this._emitLine('frame.set("'+e.name.value+'", '+f+");"),this._emitLoopBindings(e,o,n,i),this._withScopedSyntax((function(){r.compile(e.body,t)})),this._emitLine("}")}this._emitLine("}"),e.else_&&(this._emitLine("if (!"+i+") {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o._compileAsyncLoop=function(e,t,r){var n=this,i=this._tmpid(),o=this._tmpid(),s=this._tmpid(),c=r?"asyncAll":"asyncEach";if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+s+" = runtime.fromIterator("),this._compileExpression(e.arr,t),this._emitLine(");"),e.name instanceof a.Array){var l=e.name.children.length;this._emit("runtime."+c+"("+s+", "+l+", function("),e.name.children.forEach((function(e){n._emit(e.value+",")})),this._emit(i+","+o+",next) {"),e.name.children.forEach((function(e){var r=e.value;t.set(r,r),n._emitLine('frame.set("'+r+'", '+r+");")}))}else{var u=e.name.value;this._emitLine("runtime."+c+"("+s+", 1, function("+u+", "+i+", "+o+",next) {"),this._emitLine('frame.set("'+u+'", '+u+");"),t.set(u,u)}this._emitLoopBindings(e,s,i,o),this._withScopedSyntax((function(){var o;r&&(o=n._pushBuffer()),n.compile(e.body,t),n._emitLine("next("+i+(o?","+o:"")+");"),r&&n._popBuffer()}));var p=this._tmpid();this._emitLine("}, "+this._makeCallback(p)),this._addScopeLevel(),r&&this._emitLine(this.buffer+" += "+p+";"),e.else_&&(this._emitLine("if (!"+s+".length) {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},o.compileAsyncEach=function(e,t){this._compileAsyncLoop(e,t)},o.compileAsyncAll=function(e,t){this._compileAsyncLoop(e,t,!0)},o._compileMacro=function(e,t){var r=this,n=[],i=null,o="macro_"+this._tmpid(),s=void 0!==t;e.args.children.forEach((function(t,o){o===e.args.children.length-1&&t instanceof a.Dict?i=t:(r.assertType(t,a.Symbol),n.push(t))}));var l,u=[].concat(n.map((function(e){return"l_"+e.value})),["kwargs"]),p=n.map((function(e){return'"'+e.value+'"'})),f=(i&&i.children||[]).map((function(e){return'"'+e.key.value+'"'}));l=s?t.push(!0):new c,this._emitLines("var "+o+" = runtime.makeMacro(","["+p.join(", ")+"], ","["+f.join(", ")+"], ","function ("+u.join(", ")+") {","var callerFrame = frame;","frame = "+(s?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),n.forEach((function(e){r._emitLine('frame.set("'+e.value+'", l_'+e.value+");"),l.set(e.value,"l_"+e.value)})),i&&i.children.forEach((function(e){var t=e.key.value;r._emit('frame.set("'+t+'", '),r._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+t+'")'),r._emit(' ? kwargs["'+t+'"] : '),r._compileExpression(e.value,l),r._emit(");")}));var d=this._pushBuffer();return this._withScopedSyntax((function(){r.compile(e.body,l)})),this._emitLine("frame = "+(s?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+d+");"),this._emitLine("});"),this._popBuffer(),o},o.compileMacro=function(e,t){var r=this._compileMacro(e),n=e.name.value;t.set(n,r),t.parent?this._emitLine('frame.set("'+n+'", '+r+");"):("_"!==e.name.value.charAt(0)&&this._emitLine('context.addExport("'+n+'");'),this._emitLine('context.setVariable("'+n+'", '+r+");"))},o.compileCaller=function(e,t){this._emit("(function (){");var r=this._compileMacro(e,t);this._emit("return "+r+";})()")},o._compileGetTemplate=function(e,t,r,n){var i=this._tmpid(),o=this._templateName(),a=this._makeCallback(i),s=r?"true":"false",c=n?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(e.template,t),this._emitLine(", "+s+", "+o+", "+c+", "+a),i},o.compileImport=function(e,t){var r=e.target.value,n=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(n+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(n)),this._addScopeLevel(),t.set(r,n),t.parent?this._emitLine('frame.set("'+r+'", '+n+");"):this._emitLine('context.setVariable("'+r+'", '+n+");")},o.compileFromImport=function(e,t){var r=this,n=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(n+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(n)),this._addScopeLevel(),e.names.children.forEach((function(e){var i,o,s=r._tmpid();e instanceof a.Pair?(i=e.key.value,o=e.value.value):o=i=e.value,r._emitLine("if(Object.prototype.hasOwnProperty.call("+n+', "'+i+'")) {'),r._emitLine("var "+s+" = "+n+"."+i+";"),r._emitLine("} else {"),r._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),r._emitLine("}"),t.set(o,s),t.parent?r._emitLine('frame.set("'+o+'", '+s+");"):r._emitLine('context.setVariable("'+o+'", '+s+");")}))},o.compileBlock=function(e){var t=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+e.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(t)),this._emitLine(this.buffer+" += "+t+";"),this._addScopeLevel()},o.compileSuper=function(e,t){var r=e.blockName.value,n=e.symbol.value,i=this._makeCallback(n);this._emitLine('context.getSuper(env, "'+r+'", b_'+r+", frame, runtime, "+i),this._emitLine(n+" = runtime.markSafe("+n+");"),this._addScopeLevel(),t.set(n,n)},o.compileExtends=function(e,t){var r=this._tmpid(),n=this._compileGetTemplate(e,t,!0,!1);this._emitLine("parentTemplate = "+n),this._emitLine("for(var "+r+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+r+", parentTemplate.blocks["+r+"]);"),this._emitLine("}"),this._addScopeLevel()},o.compileInclude=function(e,t){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var r=this._compileGetTemplate(e,t,!1,e.ignoreMissing);this._emitLine("callback(null,"+r+");});"),this._emitLine("});");var n=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(n)),this._emitLine("callback(null,"+n+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},o.compileTemplateData=function(e,t){this.compileLiteral(e,t)},o.compileCapture=function(e,t){var r=this,n=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){r.compile(e.body,t)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=n},o.compileOutput=function(e,t){var r=this;e.children.forEach((function(n){n instanceof a.TemplateData?n.value&&(r._emit(r.buffer+" += "),r.compileLiteral(n,t),r._emitLine(";")):(r._emit(r.buffer+" += runtime.suppressValue("),r.throwOnUndefined&&r._emit("runtime.ensureDefined("),r.compile(n,t),r.throwOnUndefined&&r._emit(","+e.lineno+","+e.colno+")"),r._emit(", env.opts.autoescape);\n"))}))},o.compileRoot=function(e,t){var r=this;t&&this.fail("compileRoot: root node can't have frame"),t=new c,this._emitFuncBegin(e,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(e,t),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var n=[],i=e.findAll(a.Block);i.forEach((function(e,t){var i=e.name.value;if(-1!==n.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');n.push(i),r._emitFuncBegin(e,"b_"+i);var o=new c;r._emitLine("var frame = frame.push(true);"),r.compile(e.body,o),r._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(e,t){var n="b_"+e.name.value;r._emitLine(n+": "+n+",")})),this._emitLine("root: root\n};")},o.compile=function(e,t){var r=this["compile"+e.typename];r?r.call(this,e,t):this.fail("compile: Cannot compile node: "+e.typename,e.lineno,e.colno)},o.getCode=function(){return this.codebuf.join("")},i}(l);e.exports={compile:function(e,t,r,n,a){void 0===a&&(a={});var s=new p(n,a.throwOnUndefined),c=(r||[]).map((function(e){return e.preprocess})).filter((function(e){return!!e})).reduce((function(e,t){return t(e)}),e);return s.compile(o.transform(i.parse(c,r,a),t,n)),s.getCode()},Compiler:p}},function(e,t,r){"use strict";function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}var i=r(4),o=r(1).EmitterObj;e.exports=function(e){var t,r;function o(){return e.apply(this,arguments)||this}r=e,(t=o).prototype=Object.create(r.prototype),t.prototype.constructor=t,n(t,r);var a=o.prototype;return a.resolve=function(e,t){return i.resolve(i.dirname(e),t)},a.isRelative=function(e){return 0===e.indexOf("./")||0===e.indexOf("../")},o}(o)},function(e,t,r){"use strict";function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}var o=r(12),a=r(15),s=r(0),c=r(5),l=r(18),u=r(10),p=u.FileSystemLoader,f=u.WebLoader,d=u.PrecompiledLoader,h=r(20),g=r(21),m=r(1),v=m.Obj,b=m.EmitterObj,y=r(2),w=y.handleError,_=y.Frame,k=r(22);function x(e,t,r){o((function(){e(t,r)}))}var E={type:"code",obj:{root:function(e,t,r,n,i){try{i(null,"")}catch(e){i(w(e,null,null))}}}},T=function(e){function t(){return e.apply(this,arguments)||this}n(t,e);var r=t.prototype;return r.init=function(e,t){var r=this;t=this.opts=t||{},this.opts.dev=!!t.dev,this.opts.autoescape=null==t.autoescape||t.autoescape,this.opts.throwOnUndefined=!!t.throwOnUndefined,this.opts.trimBlocks=!!t.trimBlocks,this.opts.lstripBlocks=!!t.lstripBlocks,this.loaders=[],e?this.loaders=s.isArray(e)?e:[e]:p?this.loaders=[new p("views")]:f&&(this.loaders=[new f("/views")]),"undefined"!=typeof window&&window.nunjucksPrecompiled&&this.loaders.unshift(new d(window.nunjucksPrecompiled)),this._initLoaders(),this.globals=g(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],s._entries(l).forEach((function(e){var t=e[0],n=e[1];return r.addFilter(t,n)})),s._entries(h).forEach((function(e){var t=e[0],n=e[1];return r.addTest(t,n)}))},r._initLoaders=function(){var e=this;this.loaders.forEach((function(t){t.cache={},"function"==typeof t.on&&(t.on("update",(function(r,n){t.cache[r]=null,e.emit("update",r,n,t)})),t.on("load",(function(r,n){e.emit("load",r,n,t)})))}))},r.invalidateCache=function(){this.loaders.forEach((function(e){e.cache={}}))},r.addExtension=function(e,t){return t.__name=e,this.extensions[e]=t,this.extensionsList.push(t),this},r.removeExtension=function(e){var t=this.getExtension(e);t&&(this.extensionsList=s.without(this.extensionsList,t),delete this.extensions[e])},r.getExtension=function(e){return this.extensions[e]},r.hasExtension=function(e){return!!this.extensions[e]},r.addGlobal=function(e,t){return this.globals[e]=t,this},r.getGlobal=function(e){if(void 0===this.globals[e])throw new Error("global not found: "+e);return this.globals[e]},r.addFilter=function(e,t,r){var n=t;return r&&this.asyncFilters.push(e),this.filters[e]=n,this},r.getFilter=function(e){if(!this.filters[e])throw new Error("filter not found: "+e);return this.filters[e]},r.addTest=function(e,t){return this.tests[e]=t,this},r.getTest=function(e){if(!this.tests[e])throw new Error("test not found: "+e);return this.tests[e]},r.resolveTemplate=function(e,t,r){return e.isRelative&&t&&e.isRelative(r)&&e.resolve?e.resolve(t,r):r},r.getTemplate=function(e,t,r,n,i){var o,a=this,c=this,l=null;if(e&&e.raw&&(e=e.raw),s.isFunction(r)&&(i=r,r=null,t=t||!1),s.isFunction(t)&&(i=t,t=!1),e instanceof S)l=e;else{if("string"!=typeof e)throw new Error("template names must be a string: "+e);for(var u=0;u0&&!this.skip(i.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",e.lineno,e.colno);var s=this.parsePrimary();if("_"===s.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",s.lineno,s.colno),this.skipSymbol("as")){var c=this.parsePrimary();n.addChild(new o.Pair(s.lineno,s.colno,s,c))}else n.addChild(s);r=this.parseWithContext()}return new o.FromImport(e.lineno,e.colno,t,n,r)},c.parseBlock=function(){var e=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",e.lineno,e.colno);var t=new o.Block(e.lineno,e.colno);t.name=this.parsePrimary(),t.name instanceof o.Symbol||this.fail("parseBlock: variable name expected",e.lineno,e.colno),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(t.name.value);var r=this.peekToken();return r||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(r.value),t},c.parseExtends=function(){var e="extends",t=this.peekToken();this.skipSymbol(e)||this.fail("parseTemplateRef: expected "+e);var r=new o.Extends(t.lineno,t.colno);return r.template=this.parseExpression(),this.advanceAfterBlockEnd(t.value),r},c.parseInclude=function(){var e="include",t=this.peekToken();this.skipSymbol(e)||this.fail("parseInclude: expected "+e);var r=new o.Include(t.lineno,t.colno);return r.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(r.ignoreMissing=!0),this.advanceAfterBlockEnd(t.value),r},c.parseIf=function(){var e,t=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?e=new o.If(t.lineno,t.colno):this.skipSymbol("ifAsync")?e=new o.IfAsync(t.lineno,t.colno):this.fail("parseIf: expected if, elif, or elseif",t.lineno,t.colno),e.cond=this.parseExpression(),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("elif","elseif","else","endif");var r=this.peekToken();switch(r&&r.value){case"elseif":case"elif":e.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),e.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":e.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return e},c.parseSet=function(){var e=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",e.lineno,e.colno);for(var t,r=new o.Set(e.lineno,e.colno,[]);(t=this.parsePrimary())&&(r.targets.push(t),this.skip(i.TOKEN_COMMA)););return this.skipValue(i.TOKEN_OPERATOR,"=")?(r.value=this.parseExpression(),this.advanceAfterBlockEnd(e.value)):this.skip(i.TOKEN_BLOCK_END)?(r.body=new o.Capture(e.lineno,e.colno,this.parseUntilBlocks("endset")),r.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",e.lineno,e.colno),r},c.parseSwitch=function(){var e="switch",t="endswitch",r="case",n="default",i=this.peekToken();this.skipSymbol(e)||this.skipSymbol(r)||this.skipSymbol(n)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var a=this.parseExpression();this.advanceAfterBlockEnd(e),this.parseUntilBlocks(r,n,t);var s,c=this.peekToken(),l=[];do{this.skipSymbol(r);var u=this.parseExpression();this.advanceAfterBlockEnd(e);var p=this.parseUntilBlocks(r,n,t);l.push(new o.Case(c.line,c.col,u,p)),c=this.peekToken()}while(c&&c.value===r);switch(c.value){case n:this.advanceAfterBlockEnd(),s=this.parseUntilBlocks(t),this.advanceAfterBlockEnd();break;case t:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new o.Switch(i.lineno,i.colno,a,l,s)},c.parseStatement=function(){var e=this.peekToken();if(e.type!==i.TOKEN_SYMBOL&&this.fail("tag name expected",e.lineno,e.colno),this.breakOnBlocks&&-1!==s.indexOf(this.breakOnBlocks,e.value))return null;switch(e.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var t=0;t0;){var c=a[0],l=a[1],u=a[2];u===e?n+=1:u===t&&(n-=1),0===n?(i+=l,this.tokens.backN(c.length-l.length)):i+=c}return new o.Output(s.lineno,s.colno,[new o.TemplateData(s.lineno,s.colno,i)])},c.parsePostfix=function(e){for(var t,r=this.peekToken();r;){if(r.type===i.TOKEN_LEFT_PAREN)e=new o.FunCall(r.lineno,r.colno,e,this.parseSignature());else if(r.type===i.TOKEN_LEFT_BRACKET)(t=this.parseAggregate()).children.length>1&&this.fail("invalid index"),e=new o.LookupVal(r.lineno,r.colno,e,t.children[0]);else{if(r.type!==i.TOKEN_OPERATOR||"."!==r.value)break;this.nextToken();var n=this.nextToken();n.type!==i.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+n.value,n.lineno,n.colno),t=new o.Literal(n.lineno,n.colno,n.value),e=new o.LookupVal(r.lineno,r.colno,e,t)}r=this.peekToken()}return e},c.parseExpression=function(){return this.parseInlineIf()},c.parseInlineIf=function(){var e=this.parseOr();if(this.skipSymbol("if")){var t=this.parseOr(),r=e;(e=new o.InlineIf(e.lineno,e.colno)).body=r,e.cond=t,this.skipSymbol("else")?e.else_=this.parseOr():e.else_=null}return e},c.parseOr=function(){for(var e=this.parseAnd();this.skipSymbol("or");){var t=this.parseAnd();e=new o.Or(e.lineno,e.colno,e,t)}return e},c.parseAnd=function(){for(var e=this.parseNot();this.skipSymbol("and");){var t=this.parseNot();e=new o.And(e.lineno,e.colno,e,t)}return e},c.parseNot=function(){var e=this.peekToken();return this.skipSymbol("not")?new o.Not(e.lineno,e.colno,this.parseNot()):this.parseIn()},c.parseIn=function(){for(var e=this.parseIs();;){var t=this.nextToken();if(!t)break;var r=t.type===i.TOKEN_SYMBOL&&"not"===t.value;if(r||this.pushToken(t),!this.skipSymbol("in")){r&&this.pushToken(t);break}var n=this.parseIs();e=new o.In(e.lineno,e.colno,e,n),r&&(e=new o.Not(e.lineno,e.colno,e))}return e},c.parseIs=function(){var e=this.parseCompare();if(this.skipSymbol("is")){var t=this.skipSymbol("not"),r=this.parseCompare();e=new o.Is(e.lineno,e.colno,e,r),t&&(e=new o.Not(e.lineno,e.colno,e))}return e},c.parseCompare=function(){for(var e=["==","===","!=","!==","<",">","<=",">="],t=this.parseConcat(),r=[];;){var n=this.nextToken();if(!n)break;if(-1===e.indexOf(n.value)){this.pushToken(n);break}r.push(new o.CompareOperand(n.lineno,n.colno,this.parseConcat(),n.value))}return r.length?new o.Compare(r[0].lineno,r[0].colno,t,r):t},c.parseConcat=function(){for(var e=this.parseAdd();this.skipValue(i.TOKEN_TILDE,"~");){var t=this.parseAdd();e=new o.Concat(e.lineno,e.colno,e,t)}return e},c.parseAdd=function(){for(var e=this.parseSub();this.skipValue(i.TOKEN_OPERATOR,"+");){var t=this.parseSub();e=new o.Add(e.lineno,e.colno,e,t)}return e},c.parseSub=function(){for(var e=this.parseMul();this.skipValue(i.TOKEN_OPERATOR,"-");){var t=this.parseMul();e=new o.Sub(e.lineno,e.colno,e,t)}return e},c.parseMul=function(){for(var e=this.parseDiv();this.skipValue(i.TOKEN_OPERATOR,"*");){var t=this.parseDiv();e=new o.Mul(e.lineno,e.colno,e,t)}return e},c.parseDiv=function(){for(var e=this.parseFloorDiv();this.skipValue(i.TOKEN_OPERATOR,"/");){var t=this.parseFloorDiv();e=new o.Div(e.lineno,e.colno,e,t)}return e},c.parseFloorDiv=function(){for(var e=this.parseMod();this.skipValue(i.TOKEN_OPERATOR,"//");){var t=this.parseMod();e=new o.FloorDiv(e.lineno,e.colno,e,t)}return e},c.parseMod=function(){for(var e=this.parsePow();this.skipValue(i.TOKEN_OPERATOR,"%");){var t=this.parsePow();e=new o.Mod(e.lineno,e.colno,e,t)}return e},c.parsePow=function(){for(var e=this.parseUnary();this.skipValue(i.TOKEN_OPERATOR,"**");){var t=this.parseUnary();e=new o.Pow(e.lineno,e.colno,e,t)}return e},c.parseUnary=function(e){var t,r=this.peekToken();return t=this.skipValue(i.TOKEN_OPERATOR,"-")?new o.Neg(r.lineno,r.colno,this.parseUnary(!0)):this.skipValue(i.TOKEN_OPERATOR,"+")?new o.Pos(r.lineno,r.colno,this.parseUnary(!0)):this.parsePrimary(),e||(t=this.parseFilter(t)),t},c.parsePrimary=function(e){var t,r=this.nextToken(),n=null;if(r?r.type===i.TOKEN_STRING?t=r.value:r.type===i.TOKEN_INT?t=parseInt(r.value,10):r.type===i.TOKEN_FLOAT?t=parseFloat(r.value):r.type===i.TOKEN_BOOLEAN?"true"===r.value?t=!0:"false"===r.value?t=!1:this.fail("invalid boolean: "+r.value,r.lineno,r.colno):r.type===i.TOKEN_NONE?t=null:r.type===i.TOKEN_REGEX&&(t=new RegExp(r.value.body,r.value.flags)):this.fail("expected expression, got end of file"),void 0!==t?n=new o.Literal(r.lineno,r.colno,t):r.type===i.TOKEN_SYMBOL?n=new o.Symbol(r.lineno,r.colno,r.value):(this.pushToken(r),n=this.parseAggregate()),e||(n=this.parsePostfix(n)),n)return n;throw this.error("unexpected token: "+r.value,r.lineno,r.colno)},c.parseFilterName=function(){for(var e=this.expect(i.TOKEN_SYMBOL),t=e.value;this.skipValue(i.TOKEN_OPERATOR,".");)t+="."+this.expect(i.TOKEN_SYMBOL).value;return new o.Symbol(e.lineno,e.colno,t)},c.parseFilterArgs=function(e){return this.peekToken().type===i.TOKEN_LEFT_PAREN?this.parsePostfix(e).args.children:[]},c.parseFilter=function(e){for(;this.skip(i.TOKEN_PIPE);){var t=this.parseFilterName();e=new o.Filter(t.lineno,t.colno,t,new o.NodeList(t.lineno,t.colno,[e].concat(this.parseFilterArgs(e))))}return e},c.parseFilterStatement=function(){var e=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var t=this.parseFilterName(),r=this.parseFilterArgs(t);this.advanceAfterBlockEnd(e.value);var n=new o.Capture(t.lineno,t.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new o.Filter(t.lineno,t.colno,t,new o.NodeList(t.lineno,t.colno,[n].concat(r)));return new o.Output(t.lineno,t.colno,[i])},c.parseAggregate=function(){var e,t=this.nextToken();switch(t.type){case i.TOKEN_LEFT_PAREN:e=new o.Group(t.lineno,t.colno);break;case i.TOKEN_LEFT_BRACKET:e=new o.Array(t.lineno,t.colno);break;case i.TOKEN_LEFT_CURLY:e=new o.Dict(t.lineno,t.colno);break;default:return null}for(;;){var r=this.peekToken().type;if(r===i.TOKEN_RIGHT_PAREN||r===i.TOKEN_RIGHT_BRACKET||r===i.TOKEN_RIGHT_CURLY){this.nextToken();break}if(e.children.length>0&&(this.skip(i.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",t.lineno,t.colno)),e instanceof o.Dict){var n=this.parsePrimary();this.skip(i.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",t.lineno,t.colno);var a=this.parseExpression();e.addChild(new o.Pair(n.lineno,n.colno,n,a))}else{var s=this.parseExpression();e.addChild(s)}}return e},c.parseSignature=function(e,t){var r=this.peekToken();if(!t&&r.type!==i.TOKEN_LEFT_PAREN){if(e)return null;this.fail("expected arguments",r.lineno,r.colno)}r.type===i.TOKEN_LEFT_PAREN&&(r=this.nextToken());for(var n=new o.NodeList(r.lineno,r.colno),a=new o.KeywordArgs(r.lineno,r.colno),s=!1;;){if(r=this.peekToken(),!t&&r.type===i.TOKEN_RIGHT_PAREN){this.nextToken();break}if(t&&r.type===i.TOKEN_BLOCK_END)break;if(s&&!this.skip(i.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",r.lineno,r.colno);else{var c=this.parseExpression();this.skipValue(i.TOKEN_OPERATOR,"=")?a.addChild(new o.Pair(c.lineno,c.colno,c,this.parseExpression())):n.addChild(c)}s=!0}return a.children.length&&n.addChild(a),n},c.parseUntilBlocks=function(){for(var e=this.breakOnBlocks,t=arguments.length,r=new Array(t),n=0;n=","//","**"],j=D+this.current();switch(-1!==n.indexOf(P,j)&&(this.forward(),D=j,-1!==n.indexOf(P,j+this.current())&&(D=j+this.current(),this.forward())),D){case"(":R=h;break;case")":R=g;break;case"[":R=m;break;case"]":R=v;break;case"{":R=b;break;case"}":R=y;break;case",":R=_;break;case":":R=k;break;case"~":R=x;break;case"|":R=E;break;default:R=w}return L(R,D,t,r)}if((e=this._extractUntil(i+o)).match(/^[-+]?[0-9]+$/)){if("."===this.current()){this.forward();var M=this._extract("0123456789");return L(T,e+"."+M,t,r)}return L("int",e,t,r)}if(e.match(/^(true|false)$/))return L(A,e,t,r);if("none"===e)return L(S,e,t,r);if("null"===e)return L(S,e,t,r);if(e)return L(C,e,t,r);throw new Error("Unexpected value while parsing: "+e)}var I,F=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((e=this._extractString(this.tags.BLOCK_START+"-"))||(e=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,L(l,e,t,r);if((e=this._extractString(this.tags.VARIABLE_START+"-"))||(e=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,L(p,e,t,r);e="";var U=!1;for(this._matches(this.tags.COMMENT_START)&&(U=!0,e=this._extractString(this.tags.COMMENT_START));null!==(I=this._extractUntil(F));){if(e+=I,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!U){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=e.length){var H=e.slice(-this.colno);if(/^\s+$/.test(H)&&!(e=e.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!U)throw new Error("unexpected end of comment");e+=this._extractString(this.tags.COMMENT_END);break}e+=this.current(),this.forward()}if(null===I&&U)throw new Error("expected end of comment, got end of file");return L(U?d:c,e,t,r)},t._parseString=function(e){this.forward();for(var t="";!this.isFinished()&&this.current()!==e;){var r=this.current();if("\\"===r){switch(this.forward(),this.current()){case"n":t+="\n";break;case"t":t+="\t";break;case"r":t+="\r";break;default:t+=this.current()}this.forward()}else t+=r,this.forward()}return this.forward(),t},t._matches=function(e){return this.index+e.length>this.len?null:this.str.slice(this.index,this.index+e.length)===e},t._extractString=function(e){return this._matches(e)?(this.forwardN(e.length),e):null},t._extractUntil=function(e){return this._extractMatching(!0,e||"")},t._extract=function(e){return this._extractMatching(!1,e)},t._extractMatching=function(e,t){if(this.isFinished())return null;var r=t.indexOf(this.current());if(e&&-1===r||!e&&-1!==r){var n=this.current();this.forward();for(var i=t.indexOf(this.current());(e&&-1===i||!e&&-1!==i)&&!this.isFinished();)n+=this.current(),this.forward(),i=t.indexOf(this.current());return n}return""},t._extractRegex=function(e){var t=this.currentStr().match(e);return t?(this.forwardN(t[0].length),t):null},t.isFinished=function(){return this.index>=this.len},t.forwardN=function(e){for(var t=0;t1024){for(var t=0,r=i.length-o;t0&&a.length>i&&!a.warned){a.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=e,c.type=t,c.count=a.length,s=c,console&&console.warn&&console.warn(s)}return e}function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=f.bind(n);return i.listener=r,n.wrapFn=i,i}function h(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=i[e];if(void 0===c)return!1;if("function"==typeof c)o(c,this,t);else{var l=c.length,u=m(c,l);for(r=0;r=0;o--)if(r[o]===t||r[o].listener===t){a=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return h(this,e,!0)},s.prototype.rawListeners=function(e){return h(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):g.call(e,t)},s.prototype.listenerCount=g,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,r){"use strict";var n=r(3),i=r(0),o=0;function a(){return"hole_"+o++}function s(e,t){for(var r=null,n=0;n=t)return e;var r=t-e.length,a=n.repeat(" ",r/2-r%2),s=n.repeat(" ",r/2);return i.copySafeness(e,a+e+s)},t.default=function(e,t,r){return r?e||t:void 0!==e?e:t},t.dictsort=function(e,t,r){if(!n.isObject(e))throw new n.TemplateError("dictsort filter: val must be an object");var i,o=[];for(var a in e)o.push([a,e[a]]);if(void 0===r||"key"===r)i=0;else{if("value"!==r)throw new n.TemplateError("dictsort filter: You can only sort by either key or value");i=1}return o.sort((function(e,r){var o=e[i],a=r[i];return t||(n.isString(o)&&(o=o.toUpperCase()),n.isString(a)&&(a=a.toUpperCase())),o>a?1:o===a?0:-1})),o},t.dump=function(e,t){return JSON.stringify(e,null,t)},t.escape=function(e){return e instanceof i.SafeString?e:(e=null==e?"":e,i.markSafe(n.escape(e.toString())))},t.safe=function(e){return e instanceof i.SafeString?e:(e=null==e?"":e,i.markSafe(e.toString()))},t.first=function(e){return e[0]},t.forceescape=function(e){return e=null==e?"":e,i.markSafe(n.escape(e.toString()))},t.groupby=function(e,t){return n.groupBy(e,t,this.env.opts.throwOnUndefined)},t.indent=function(e,t,r){if(""===(e=o(e,"")))return"";t=t||4;var a=e.split("\n"),s=n.repeat(" ",t),c=a.map((function(e,t){return 0!==t||r?""+s+e:e})).join("\n");return i.copySafeness(e,c)},t.join=function(e,t,r){return t=t||"",r&&(e=n.map(e,(function(e){return e[r]}))),e.join(t)},t.last=function(e){return e[e.length-1]},t.length=function(e){var t=o(e,"");return void 0!==t?"function"==typeof Map&&t instanceof Map||"function"==typeof Set&&t instanceof Set?t.size:!n.isObject(t)||t instanceof i.SafeString?t.length:n.keys(t).length:0},t.list=c,t.lower=function(e){return(e=o(e,"")).toLowerCase()},t.nl2br=function(e){return null==e?"":i.copySafeness(e,e.replace(/\r\n|\n/g,"
\n"))},t.random=function(e){return e[Math.floor(Math.random()*e.length)]},t.reject=l(!1),t.rejectattr=function(e,t){return e.filter((function(e){return!e[t]}))},t.select=l(!0),t.selectattr=function(e,t){return e.filter((function(e){return!!e[t]}))},t.replace=function(e,t,r,n){var o=e;if(t instanceof RegExp)return e.replace(t,r);void 0===n&&(n=-1);var a="";if("number"==typeof t)t=""+t;else if("string"!=typeof t)return e;if("number"==typeof e&&(e=""+e),"string"!=typeof e&&!(e instanceof i.SafeString))return e;if(""===t)return a=r+e.split("").join(r)+r,i.copySafeness(e,a);var s=e.indexOf(t);if(0===n||-1===s)return e;for(var c=0,l=0;s>-1&&(-1===n||l=i&&u.push(r),o.push(u)}return o},t.sum=function(e,t,r){return void 0===r&&(r=0),t&&(e=n.map(e,(function(e){return e[t]}))),r+e.reduce((function(e,t){return e+t}),0)},t.sort=i.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(e,t,r,i){var o=this,a=n.map(e,(function(e){return e})),s=n.getAttrGetter(i);return a.sort((function(e,a){var c=i?s(e):e,l=i?s(a):a;if(o.env.opts.throwOnUndefined&&i&&(void 0===c||void 0===l))throw new TypeError('sort: attribute "'+i+'" resolved to undefined');return!r&&n.isString(c)&&n.isString(l)&&(c=c.toLowerCase(),l=l.toLowerCase()),cl?t?-1:1:0})),a})),t.string=function(e){return i.copySafeness(e,e)},t.striptags=function(e,t){var r,n=u((e=o(e,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,""));return r=t?n.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):n.replace(/\s+/gi," "),i.copySafeness(e,r)},t.title=function(e){var t=(e=o(e,"")).split(" ").map((function(e){return s(e)}));return i.copySafeness(e,t.join(" "))},t.trim=u,t.truncate=function(e,t,r,n){var a=e;if(t=t||255,(e=o(e,"")).length<=t)return e;if(r)e=e.substring(0,t);else{var s=e.lastIndexOf(" ",t);-1===s&&(s=t),e=e.substring(0,s)}return e+=null!=n?n:"...",i.copySafeness(a,e)},t.upper=function(e){return(e=o(e,"")).toUpperCase()},t.urlencode=function(e){var t=encodeURIComponent;return n.isString(e)?t(e):(n.isArray(e)?e:n._entries(e)).map((function(e){var r=e[0],n=e[1];return t(r)+"="+t(n)})).join("&")};var p=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,f=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,d=/^https?:\/\/.*$/,h=/^www\./,g=/\.(?:org|net|com)(?:\:|\/|$)/;t.urlize=function(e,t,r){a(t)&&(t=1/0);var n=!0===r?' rel="nofollow"':"";return e.split(/(\s+)/).filter((function(e){return e&&e.length})).map((function(e){var r=e.match(p),i=r?r[1]:e,o=i.substr(0,t);return d.test(i)?'"+o+"":h.test(i)?'"+o+"":f.test(i)?''+i+"":g.test(i)?'"+o+"":e})).join("")},t.wordcount=function(e){var t=(e=o(e,""))?e.match(/\w+/g):null;return t?t.length:null},t.float=function(e,t){var r=parseFloat(e);return a(r)?t:r};var m=i.makeMacro(["value","default","base"],[],(function(e,t,r){void 0===r&&(r=10);var n=parseInt(e,r);return a(n)?t:n}));t.int=m,t.d=t.default,t.e=t.escape},function(e,t,r){"use strict";function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}var i=function(e){var t,r;function i(t){var r;return(r=e.call(this)||this).precompiled=t||{},r}return r=e,(t=i).prototype=Object.create(r.prototype),t.prototype.constructor=t,n(t,r),i.prototype.getSource=function(e){return this.precompiled[e]?{src:{type:"code",obj:this.precompiled[e]},path:e}:null},i}(r(6));e.exports={PrecompiledLoader:i}},function(e,t,r){"use strict";var n=r(2).SafeString;t.callable=function(e){return"function"==typeof e},t.defined=function(e){return void 0!==e},t.divisibleby=function(e,t){return e%t==0},t.escaped=function(e){return e instanceof n},t.equalto=function(e,t){return e===t},t.eq=t.equalto,t.sameas=t.equalto,t.even=function(e){return e%2==0},t.falsy=function(e){return!e},t.ge=function(e,t){return e>=t},t.greaterthan=function(e,t){return e>t},t.gt=t.greaterthan,t.le=function(e,t){return e<=t},t.lessthan=function(e,t){return e0)for(var i=e;it;o+=r)n.push(o);return n},cycler:function(){return e=Array.prototype.slice.call(arguments),t=-1,{current:null,reset:function(){t=-1,this.current=null},next:function(){return++t>=e.length&&(t=0),this.current=e[t],this.current}};var e,t},joiner:function(e){return function(e){e=e||",";var t=!0;return function(){var r=t?"":e;return t=!1,r}}(e)}}}},function(e,t,r){var n=r(4);e.exports=function(e,t){function r(e,t){if(this.name=e,this.path=e,this.defaultEngine=t.defaultEngine,this.ext=n.extname(e),!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");this.ext||(this.name+=this.ext=("."!==this.defaultEngine[0]?".":"")+this.defaultEngine)}return r.prototype.render=function(t,r){e.render(this.name,t,r)},t.set("view",r),t.set("nunjucksEnv",e),e}},function(e,t,r){"use strict";var n=r(4),i=r(4),o=r(0)._prettifyError,a=r(5),s=r(7).Environment,c=r(24);function l(e,t){return!!Array.isArray(t)&&t.some((function(t){return e.match(t)}))}function u(e,t){(t=t||{}).isString=!0;var r=t.env||new s([]),n=t.wrapper||c;if(!t.name)throw new Error('the "name" option is required when compiling a string');return n([p(e,t.name,r)],t)}function p(e,t,r){var n,i=(r=r||new s([])).asyncFilters,c=r.extensionsList;t=t.replace(/\\/g,"/");try{n=a.compile(e,i,c,t,r.opts)}catch(e){throw o(t,!1,e)}return{name:t,template:n}}e.exports={precompile:function(e,t){var r=(t=t||{}).env||new s([]),o=t.wrapper||c;if(t.isString)return u(e,t);var a=n.existsSync(e)&&n.statSync(e),f=[],d=[];if(a.isFile())f.push(p(n.readFileSync(e,"utf-8"),t.name||e,r));else if(a.isDirectory()){!function r(o){n.readdirSync(o).forEach((function(a){var s=i.join(o,a),c=s.substr(i.join(e,"/").length),u=n.statSync(s);u&&u.isDirectory()?l(c+="/",t.exclude)||r(s):l(c,t.include)&&d.push(s)}))}(e);for(var h=0;he.length||i>0&&a>=n||i<0&&a<=n);a+=i)o.push(r.memberLookup(e,a));return o}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h={pop:function(e){if(void 0===e)return this.pop();if(e>=this.length||e<0)throw new Error("KeyError");return this.splice(e,1)},append:function(e){return this.push(e)},remove:function(e){for(var t=0;t>>1|X<<31)^(J>>>8|X<<24)^J>>>7,Q=(X>>>1|J<<31)^(X>>>8|J<<24)^(X>>>7|J<<25),ee=l[G-2],te=ee.high,re=ee.low,ne=(te>>>19|re<<13)^(te<<3|re>>>29)^te>>>6,ie=(re>>>19|te<<13)^(re<<3|te>>>29)^(re>>>6|te<<26),oe=l[G-7],ae=oe.high,se=oe.low,ce=l[G-16],le=ce.high,ue=ce.low;$=($=($=Z+ae+((K=Q+se)>>>0>>0?1:0))+ne+((K+=ie)>>>0>>0?1:0))+le+((K+=ue)>>>0>>0?1:0),W.high=$,W.low=K}var pe,fe=j&I^~j&U,de=M&F^~M&H,he=N&D^N&q^D&q,ge=L&O^L&B^O&B,me=(N>>>28|L<<4)^(N<<30|L>>>2)^(N<<25|L>>>7),ve=(L>>>28|N<<4)^(L<<30|N>>>2)^(L<<25|N>>>7),be=(j>>>14|M<<18)^(j>>>18|M<<14)^(j<<23|M>>>9),ye=(M>>>14|j<<18)^(M>>>18|j<<14)^(M<<23|j>>>9),we=c[G],_e=we.high,ke=we.low,xe=V+be+((pe=z+ye)>>>0>>0?1:0),Ee=ve+ge;V=U,z=H,U=I,H=F,I=j,F=M,j=R+(xe=(xe=(xe=xe+fe+((pe+=de)>>>0>>0?1:0))+_e+((pe+=ke)>>>0>>0?1:0))+$+((pe+=K)>>>0>>0?1:0))+((M=P+pe|0)>>>0

>>0?1:0)|0,R=q,P=B,q=D,B=O,D=N,O=L,N=xe+(me+he+(Ee>>>0>>0?1:0))+((L=pe+Ee|0)>>>0>>0?1:0)|0}h=n.low=h+L,n.high=d+N+(h>>>0>>0?1:0),m=i.low=m+O,i.high=g+D+(m>>>0>>0?1:0),b=o.low=b+B,o.high=v+q+(b>>>0>>0?1:0),w=a.low=w+P,a.high=y+R+(w>>>0

>>0?1:0),k=s.low=k+M,s.high=_+j+(k>>>0>>0?1:0),E=u.low=E+F,u.high=x+I+(E>>>0>>0?1:0),A=p.low=A+H,p.high=T+U+(A>>>0>>0?1:0),C=f.low=C+z,f.high=S+V+(C>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),t[31+(n+128>>>10<<5)]=r,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(u),e.HmacSHA512=t._createHmacHelper(u)}(),n.SHA512)},1396:function(e,t,r){var n;e.exports=(n=r(9021),r(3240),r(6440),r(5503),r(754),r(4725),r(4636),r(5471),r(3009),r(6308),r(1380),r(9557),r(5953),r(8056),r(1025),r(19),r(9506),r(7165),r(2169),r(6939),r(6372),r(3797),r(8454),r(2073),r(4905),r(482),r(2155),r(8124),r(25),r(955),r(7628),r(7193),r(6298),r(2696),r(3128),n)},1554:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},1601:e=>{"use strict";e.exports=function(e){return e[1]}},1818:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=void 0;var i=u(n(r(7178)).default),o=p(i);t.encodeXML=m(i);var a,s,c=u(n(r(4374)).default),l=p(c);function u(e){return Object.keys(e).sort().reduce((function(t,r){return t[e[r]]="&"+r+";",t}),{})}function p(e){for(var t=[],r=[],n=0,i=Object.keys(e);n1?d(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}var g=new RegExp(o.source+"|"+f.source,"g");function m(e){return function(t){return t.replace(g,(function(t){return e[t]||h(t)}))}}t.escape=function(e){return e.replace(g,h)},t.escapeUTF8=function(e){return e.replace(o,h)}},2073:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.pad.AnsiX923={pad:function(e,t){var r=e.sigBytes,n=4*t,i=n-r%n,o=r+i-1;e.clamp(),e.words[o>>>2]|=i<<24-o%4*8,e.sigBytes+=i},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},n.pad.Ansix923)},2155:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.pad.ZeroPadding={pad:function(e,t){var r=4*t;e.clamp(),e.sigBytes+=r-(e.sigBytes%r||r)},unpad:function(e){var t=e.words,r=e.sigBytes-1;for(r=e.sigBytes-1;r>=0;r--)if(t[r>>>2]>>>24-r%4*8&255){e.sigBytes=r+1;break}}},n.pad.ZeroPadding)},2169:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.mode.CFB=function(){var e=n.lib.BlockCipherMode.extend();function t(e,t,r,n){var i,o=this._iv;o?(i=o.slice(0),this._iv=void 0):i=this._prevBlock,n.encryptBlock(i,0);for(var a=0;a{"use strict";var n=r(6743),i=/[\/\?<>\\:\*\|"]/g,o=/[\x00-\x1f\x80-\x9f]/g,a=/^\.+$/,s=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,c=/[\. ]+$/;function l(e,t){if("string"!=typeof e)throw new Error("Input must be string");var r=e.replace(i,t).replace(o,t).replace(a,t).replace(s,t).replace(c,t);return n(r,255)}e.exports=function(e,t){var r=t&&t.replacement||"",n=l(e,r);return""===r?n:l(n,"")}},2488:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getMarkdownForHtmlNodes=t.Visitor=void 0;const n=r(9239),i=r(6470),o=r(7306),a=r(8970);class s{constructor(e,t,r){this.instance=e,this.rootNode=t,this.fileName=r,this.nodeMetadata=new Map,this.urlDefinitions=[],this.result={text:"",trailingNewlineStats:{whitespace:0,newLines:0}},this.options=e.options,this.optimizeTree(t),this.visitNode(t)}addOrGetUrlDefinition(e){let t=this.urlDefinitions.findIndex((t=>t===e));return t<0&&(t=this.urlDefinitions.push(e)-1),t+1}appendResult(e,t,r){if(!e&&void 0===t)return;const{result:n}=this;void 0!==t&&(n.text=n.text.substr(0,t)),n.text+=(r&&n.text.slice(-1)===e[0]?" ":"")+e,n.trailingNewlineStats=(0,i.getTrailingWhitespaceInfo)(n.text)}appendNewlines(e){const{newLines:t}=this.result.trailingNewlineStats;this.appendResult("\n".repeat(Math.max(0,+e-t)))}optimizeTree(e){(0,i.perfStart)("Optimize tree");const{translators:t}=this.instance;!function e(r){let o=!1;if((0,n.isTextNode)(r)||(0,n.isElementNode)(r)&&a.contentlessElements.includes(r.tagName))o=!0;else{const n=(0,i.getChildNodes)(r);if(n.length)for(const t of n)o?e(t):o=e(t);else{const e=t[r.tagName];((null==e?void 0:e.preserveIfEmpty)||"function"==typeof e)&&(o=!0)}}return r.preserve=o}(e),(0,i.perfStop)("Optimize tree")}processText(e,t){let r=e;if((null==t?void 0:t.preserveWhitespace)||(r=r.replace(/\s+/g," ")),null==t?void 0:t.noEscape)return r;const{lineStartEscape:n,globalEscape:i,textReplace:o}=this.options;if(r=r.replace(i[0],i[1]).replace(n[0],n[1]),o)for(const[e,t]of o)r=r.replace(e,t);return r}visitNode(e,t,r){var a,s;const{result:c}=this;if(!e.preserve)return;if((0,n.isTextNode)(e))return e.isWhitespace&&!(null==r?void 0:r.preserveWhitespace)?!c.text.length||c.trailingNewlineStats.whitespace>0?void 0:this.appendResult(" "):this.appendResult(this.processText((null==r?void 0:r.preserveWhitespace)?e.text:e.trimmedText,r));if(t||!(0,n.isElementNode)(e))return;const l=(null==r?void 0:r.translators)?r.translators[e.tagName]:this.instance.translators[e.tagName];switch(e.tagName){case"UL":case"OL":r=Object.assign(Object.assign({},r),{listItemNumber:0,listKind:e.tagName,indentLevel:(null!==(a=null==r?void 0:r.indentLevel)&&void 0!==a?a:-1)+1});break;case"LI":"OL"===(null==r?void 0:r.listKind)&&(r.listItemNumber=(null!==(s=r.listItemNumber)&&void 0!==s?s:0)+1);break;case"PRE":r=Object.assign(Object.assign({},r),{preserveWhitespace:!0});break;case"TABLE":r=Object.assign(Object.assign({},r),{tableMeta:{node:e}})}if(r&&this.nodeMetadata.set(e,r),!l){for(const n of(0,i.getChildNodes)(e))this.visitNode(n,t,r);return}let u,p;if((0,o.isTranslatorConfig)(l)?u=l:(p=(0,o.createTranslatorContext)(this,e,r,l.base),u=Object.assign(Object.assign({},l.base),l(p))),u.ignore)return;u.noEscape&&!(null==r?void 0:r.noEscape)&&(r=Object.assign(Object.assign({},r),{noEscape:u.noEscape}),this.nodeMetadata.set(e,r)),u.childTranslators&&u.childTranslators!==(null==r?void 0:r.translators)&&(r=Object.assign(Object.assign({},r),{translators:u.childTranslators}),this.nodeMetadata.set(e,r));const f=c.text.length;if(u.surroundingNewlines&&this.appendNewlines(+u.surroundingNewlines),u.prefix&&this.appendResult(u.prefix),"string"==typeof u.content)this.appendResult(u.content,void 0,u.spaceIfRepeatingChar);else{const t=c.text.length;for(const t of(0,i.getChildNodes)(e))this.visitNode(t,!1===u.recurse,r);if(u.postprocess){const n=u.postprocess(Object.assign(Object.assign({},p||(0,o.createTranslatorContext)(this,e,r)),{content:c.text.substr(t)}));if(n===o.PostProcessResult.RemoveNode)return"LI"===e.tagName&&(null==r?void 0:r.listItemNumber)&&--r.listItemNumber,this.appendResult("",f);"string"==typeof n&&this.appendResult(n,t,u.spaceIfRepeatingChar)}}u.postfix&&this.appendResult(u.postfix),u.surroundingNewlines&&this.appendNewlines(+u.surroundingNewlines)}}t.Visitor=s,t.getMarkdownForHtmlNodes=function(e,t,r){(0,i.perfStart)("walk");const n=new s(e,t,r);let o=n.result.text;(0,i.perfStop)("walk"),e.options.useLinkReferenceDefinitions&&(/[^\r\n]/.test(o.slice(-1))&&(o+="\n"),n.urlDefinitions.forEach(((e,t)=>{o+=`\n[${t+1}]: ${e}`})));const{maxConsecutiveNewlines:a}=e.options;return a&&(o=o.replace(new RegExp(String.raw`(?:\r?\n\s*)+((?:\r?\n\s*){${a}})`,"g"),"$1")),(0,i.trimNewLines)(o)}},2559:e=>{"use strict";e.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},2603:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.aliases=t.pseudos=t.filters=t.is=t.selectOne=t.selectAll=t.prepareContext=t._compileToken=t._compileUnsafe=t.compile=void 0;var a=o(r(8888)),s=r(1264),c=r(8118),l=r(5234),u=function(e,t){return e===t},p={adapter:a,equals:u};function f(e){var t,r,n,i,o=null!=e?e:p;return null!==(t=o.adapter)&&void 0!==t||(o.adapter=a),null!==(r=o.equals)&&void 0!==r||(o.equals=null!==(i=null===(n=o.adapter)||void 0===n?void 0:n.equals)&&void 0!==i?i:u),o}function d(e){return function(t,r,n){var i=f(r);return e(t,i,n)}}function h(e){return function(t,r,n){var i=f(n);"function"!=typeof t&&(t=(0,c.compileUnsafe)(t,i,r));var o=g(r,i.adapter,t.shouldTestNextSiblings);return e(t,o,i)}}function g(e,t,r){return void 0===r&&(r=!1),r&&(e=function(e,t){for(var r=Array.isArray(e)?e.slice(0):[e],n=r.length,i=0;i>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];this._b=0;for(var i=0;i<4;i++)c.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),p=l>>>16|4294901760&u,f=u<<16|65535&l;for(n[0]^=l,n[1]^=p,n[2]^=u,n[3]^=f,n[4]^=l,n[5]^=p,n[6]^=u,n[7]^=f,i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var r=this._X;c.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(s)}(),n.RabbitLegacy)},2730:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.escapeUTF8=t.escape=t.encodeNonAsciiHTML=t.encodeHTML=t.encodeXML=t.encode=t.decodeStrict=t.decode=void 0;var n=r(9878),i=r(1818);t.decode=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?n.decodeXML:n.decodeHTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?i.encodeXML:i.encodeHTML)(e)};var o=r(1818);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return o.encodeXML}}),Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return o.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return o.encodeNonAsciiHTML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return o.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return o.escapeUTF8}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return o.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return o.encodeHTML}});var a=r(9878);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return a.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return a.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return a.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return a.decodeXML}})},3009:function(e,t,r){var n;e.exports=(n=r(9021),function(e){var t=n,r=t.lib,i=r.WordArray,o=r.Hasher,a=t.algo,s=[],c=[];!function(){function t(t){for(var r=e.sqrt(t),n=2;n<=r;n++)if(!(t%n))return!1;return!0}function r(e){return 4294967296*(e-(0|e))|0}for(var n=2,i=0;i<64;)t(n)&&(i<8&&(s[i]=r(e.pow(n,.5))),c[i]=r(e.pow(n,1/3)),i++),n++}();var l=[],u=a.SHA256=o.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],u=r[5],p=r[6],f=r[7],d=0;d<64;d++){if(d<16)l[d]=0|e[t+d];else{var h=l[d-15],g=(h<<25|h>>>7)^(h<<14|h>>>18)^h>>>3,m=l[d-2],v=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;l[d]=g+l[d-7]+v+l[d-16]}var b=n&i^n&o^i&o,y=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&u^~s&p)+c[d]+l[d];f=p,p=u,u=s,s=a+w|0,a=o,o=i,i=n,n=w+(y+b)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0,r[5]=r[5]+u|0,r[6]=r[6]+p|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=e.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,t.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(u),t.HmacSHA256=o._createHmacHelper(u)}(Math),n.SHA256)},3128:function(e,t,r){var n;e.exports=(n=r(9021),r(754),r(4636),r(9506),r(7165),function(){var e=n,t=e.lib.BlockCipher,r=e.algo;const i=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var s={pbox:[],sbox:[]};function c(e,t){let r=t>>24&255,n=t>>16&255,i=t>>8&255,o=255&t,a=e.sbox[0][r]+e.sbox[1][n];return a^=e.sbox[2][i],a+=e.sbox[3][o],a}function l(e,t,r){let n,o=t,a=r;for(let t=0;t=r&&(n=0);let i=0,s=0,c=0;for(let t=0;t<18;t+=2)c=l(e,i,s),i=c.left,s=c.right,e.pbox[t]=i,e.pbox[t+1]=s;for(let t=0;t<4;t++)for(let r=0;r<256;r+=2)c=l(e,i,s),i=c.left,s=c.right,e.sbox[t][r]=i,e.sbox[t][r+1]=s}(s,t,r)}},encryptBlock:function(e,t){var r=l(s,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},decryptBlock:function(e,t){var r=function(e,t,r){let n,i=t,o=r;for(let t=17;t>1;--t)i^=e.pbox[t],o=c(e,i)^o,n=i,i=o,o=n;return n=i,i=o,o=n,o^=e.pbox[1],i^=e.pbox[0],{left:i,right:o}}(s,e[t],e[t+1]);e[t]=r.left,e[t+1]=r.right},blockSize:2,keySize:4,ivSize:2});e.Blowfish=t._createHelper(u)}(),n.Blowfish)},3172:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=t.parse=void 0;var n=r(8151);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return n.parse}});var i=r(8525);Object.defineProperty(t,"compile",{enumerable:!0,get:function(){return i.compile}}),t.default=function(e){return(0,i.compile)((0,n.parse)(e))}},3209:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var n=r(1141),i=r(718),o={tag_name:function(e){return"function"==typeof e?function(t){return(0,n.isTag)(t)&&e(t.name)}:"*"===e?n.isTag:function(t){return(0,n.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,n.isText)(t)&&e(t.data)}:function(t){return(0,n.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(r){return(0,n.isTag)(r)&&t(r.attribs[e])}:function(r){return(0,n.isTag)(r)&&r.attribs[e]===t}}function s(e,t){return function(r){return e(r)||t(r)}}function c(e){var t=Object.keys(e).map((function(t){var r=e[t];return Object.prototype.hasOwnProperty.call(o,t)?o[t](r):a(t,r)}));return 0===t.length?null:t.reduce(s)}t.testElement=function(e,t){var r=c(e);return!r||r(t)},t.getElements=function(e,t,r,n){void 0===n&&(n=1/0);var o=c(e);return o?(0,i.filter)(o,t,r,n):[]},t.getElementById=function(e,t,r){return void 0===r&&(r=!0),Array.isArray(t)||(t=[t]),(0,i.findOne)(a("id",e),t,r)},t.getElementsByTagName=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(o.tag_name(e),t,r,n)},t.getElementsByTagType=function(e,t,r,n){return void 0===r&&(r=!0),void 0===n&&(n=1/0),(0,i.filter)(o.tag_type(e),t,r,n)}},3240:function(e,t,r){var n,i,o,a,s,c;e.exports=(n=r(9021),o=(i=n).lib,a=o.Base,s=o.WordArray,(c=i.x64={}).Word=a.extend({init:function(e,t){this.high=e,this.low=t}}),c.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,r=[],n=0;n{"use strict";function r(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Object.defineProperty(t,"__esModule",{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=r,t.replaceElement=function(e,t){var r=t.prev=e.prev;r&&(r.next=t);var n=t.next=e.next;n&&(n.prev=t);var i=t.parent=e.parent;if(i){var o=i.children;o[o.lastIndexOf(e)]=t}},t.appendChild=function(e,t){if(r(t),t.next=null,t.parent=e,e.children.push(t)>1){var n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},t.append=function(e,t){r(t);var n=e.parent,i=e.next;if(t.next=i,t.prev=e,e.next=t,t.parent=n,i){if(i.prev=t,n){var o=n.children;o.splice(o.lastIndexOf(i),0,t)}}else n&&n.children.push(t)},t.prependChild=function(e,t){if(r(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var n=e.children[1];n.prev=t,t.next=n}else t.next=null},t.prepend=function(e,t){r(t);var n=e.parent;if(n){var i=n.children;i.splice(i.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t}},3447:function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=o(r(724)),s=o(r(8140)),c=function(e){function t(t,r,n){var i=e.call(this,r,n)||this;return i.rawText=t,i.nodeType=s.default.COMMENT_NODE,i}return i(t,e),t.prototype.clone=function(){return new t(this.rawText,null)},Object.defineProperty(t.prototype,"text",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return"\x3c!--".concat(this.rawText,"--\x3e")},t}(a.default);t.default=c},3762:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeRules=void 0;var n=r(1264),i=/[-[\]{}()*+?.,\\^$|#\s]/g;function o(e){return e.replace(i,"\\$&")}var a=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function s(e,t){return"boolean"==typeof e.ignoreCase?e.ignoreCase:"quirks"===e.ignoreCase?!!t.quirksMode:!t.xmlMode&&a.has(e.name)}t.attributeRules={equals:function(e,t,r){var n=r.adapter,i=t.name,o=t.value;return s(t,r)?(o=o.toLowerCase(),function(t){var r=n.getAttributeValue(t,i);return null!=r&&r.length===o.length&&r.toLowerCase()===o&&e(t)}):function(t){return n.getAttributeValue(t,i)===o&&e(t)}},hyphen:function(e,t,r){var n=r.adapter,i=t.name,o=t.value,a=o.length;return s(t,r)?(o=o.toLowerCase(),function(t){var r=n.getAttributeValue(t,i);return null!=r&&(r.length===a||"-"===r.charAt(a))&&r.substr(0,a).toLowerCase()===o&&e(t)}):function(t){var r=n.getAttributeValue(t,i);return null!=r&&(r.length===a||"-"===r.charAt(a))&&r.substr(0,a)===o&&e(t)}},element:function(e,t,r){var i=r.adapter,a=t.name,c=t.value;if(/\s/.test(c))return n.falseFunc;var l=new RegExp("(?:^|\\s)".concat(o(c),"(?:$|\\s)"),s(t,r)?"i":"");return function(t){var r=i.getAttributeValue(t,a);return null!=r&&r.length>=c.length&&l.test(r)&&e(t)}},exists:function(e,t,r){var n=t.name,i=r.adapter;return function(t){return i.hasAttrib(t,n)&&e(t)}},start:function(e,t,r){var i=r.adapter,o=t.name,a=t.value,c=a.length;return 0===c?n.falseFunc:s(t,r)?(a=a.toLowerCase(),function(t){var r=i.getAttributeValue(t,o);return null!=r&&r.length>=c&&r.substr(0,c).toLowerCase()===a&&e(t)}):function(t){var r;return!!(null===(r=i.getAttributeValue(t,o))||void 0===r?void 0:r.startsWith(a))&&e(t)}},end:function(e,t,r){var i=r.adapter,o=t.name,a=t.value,c=-a.length;return 0===c?n.falseFunc:s(t,r)?(a=a.toLowerCase(),function(t){var r;return(null===(r=i.getAttributeValue(t,o))||void 0===r?void 0:r.substr(c).toLowerCase())===a&&e(t)}):function(t){var r;return!!(null===(r=i.getAttributeValue(t,o))||void 0===r?void 0:r.endsWith(a))&&e(t)}},any:function(e,t,r){var i=r.adapter,a=t.name,c=t.value;if(""===c)return n.falseFunc;if(s(t,r)){var l=new RegExp(o(c),"i");return function(t){var r=i.getAttributeValue(t,a);return null!=r&&r.length>=c.length&&l.test(r)&&e(t)}}return function(t){var r;return!!(null===(r=i.getAttributeValue(t,a))||void 0===r?void 0:r.includes(c))&&e(t)}},not:function(e,t,r){var n=r.adapter,i=t.name,o=t.value;return""===o?function(t){return!!n.getAttributeValue(t,i)&&e(t)}:s(t,r)?(o=o.toLowerCase(),function(t){var r=n.getAttributeValue(t,i);return(null==r||r.length!==o.length||r.toLowerCase()!==o)&&e(t)}):function(t){return n.getAttributeValue(t,i)!==o&&e(t)}}}},3797:function(e,t,r){var n,i,o;e.exports=(o=r(9021),r(7165),o.mode.OFB=(i=(n=o.lib.BlockCipherMode.extend()).Encryptor=n.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,i=this._iv,o=this._keystream;i&&(o=this._keystream=i.slice(0),this._iv=void 0),r.encryptBlock(o,0);for(var a=0;a";case s.Comment:return"\x3c!--"+e.data+"--\x3e";case s.CDATA:return function(e){return""}(e);case s.Script:case s.Style:case s.Tag:return function(e,t){var r;"foreign"===t.xmlMode&&(e.name=null!==(r=l.elementNames.get(e.name))&&void 0!==r?r:e.name,e.parent&&h.has(e.parent.name)&&(t=n(n({},t),{xmlMode:!1}))),!t.xmlMode&&g.has(e.name)&&(t=n(n({},t),{xmlMode:"foreign"}));var i="<"+e.name,o=function(e,t){if(e)return Object.keys(e).map((function(r){var n,i,o=null!==(n=e[r])&&void 0!==n?n:"";return"foreign"===t.xmlMode&&(r=null!==(i=l.attributeNames.get(r))&&void 0!==i?i:r),t.emptyAttrs||t.xmlMode||""!==o?r+'="'+(!1!==t.decodeEntities?c.encodeXML(o):o.replace(/"/g,"""))+'"':r})).join(" ")}(e.attribs,t);return o&&(i+=" "+o),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&p.has(e.name))?(t.xmlMode||(i+=" "),i+="/>"):(i+=">",e.children.length>0&&(i+=f(e.children,t)),!t.xmlMode&&p.has(e.name)||(i+="")),i}(e,t);case s.Text:return function(e,t){var r=e.data||"";return!1===t.decodeEntities||!t.xmlMode&&e.parent&&u.has(e.parent.name)||(r=c.encodeXML(r)),r}(e,t)}}t.default=f;var h=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),g=new Set(["svg","math"])},4083:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=r(9781);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.parse}})},4090:(e,t,r)=>{"use strict";var n;r.r(t),r.d(t,{AttributeAction:()=>o,IgnoreCaseMode:()=>i,SelectorType:()=>n,isTraversal:()=>u,parse:()=>m,stringify:()=>x}),function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"}(n||(n={}));const i={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var o;!function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"}(o||(o={}));const a=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,s=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,c=new Map([[126,o.Element],[94,o.Start],[36,o.End],[42,o.Any],[33,o.Not],[124,o.Hyphen]]),l=new Set(["has","not","matches","is","where","host","host-context"]);function u(e){switch(e.type){case n.Adjacent:case n.Child:case n.Descendant:case n.Parent:case n.Sibling:case n.ColumnCombinator:return!0;default:return!1}}const p=new Set(["contains","icontains"]);function f(e,t,r){const n=parseInt(t,16)-65536;return n!=n||r?t:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)}function d(e){return e.replace(s,f)}function h(e){return 39===e||34===e}function g(e){return 32===e||9===e||10===e||12===e||13===e}function m(e){const t=[],r=v(t,`${e}`,0);if(r0&&r0&&u(i[i.length-1]))throw new Error("Did not expect successive traversals.")}function w(e){i.length>0&&i[i.length-1].type===n.Descendant?i[i.length-1].type=e:(y(),i.push({type:e}))}function _(e,t){i.push({type:n.Attribute,name:e,action:t,value:s(1),namespace:null,ignoreCase:"quirks"})}function k(){if(i.length&&i[i.length-1].type===n.Descendant&&i.pop(),0===i.length)throw new Error("Empty sub-selector");e.push(i)}if(f(0),t.length===r)return r;e:for(;re.charCodeAt(0)))),_=new Set(y.map((e=>e.charCodeAt(0)))),k=new Set([...y,"~","^","$","*","+","!","|",":","[","]"," ","."].map((e=>e.charCodeAt(0))));function x(e){return e.map((e=>e.map(E).join(""))).join(", ")}function E(e,t,r){switch(e.type){case n.Child:return 0===t?"> ":" > ";case n.Parent:return 0===t?"< ":" < ";case n.Sibling:return 0===t?"~ ":" ~ ";case n.Adjacent:return 0===t?"+ ":" + ";case n.Descendant:return" ";case n.ColumnCombinator:return 0===t?"|| ":" || ";case n.Universal:return"*"===e.namespace&&t+10?n+e.slice(r):e}},4374:e=>{"use strict";e.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},4437:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFeed=void 0;var n=r(6037),i=r(3209);t.getFeed=function(e){var t=c(p,e);return t?"feed"===t.name?function(e){var t,r=e.children,n={type:"atom",items:(0,i.getElementsByTagName)("entry",r).map((function(e){var t,r=e.children,n={media:s(r)};u(n,"id","id",r),u(n,"title","title",r);var i=null===(t=c("link",r))||void 0===t?void 0:t.attribs.href;i&&(n.link=i);var o=l("summary",r)||l("content",r);o&&(n.description=o);var a=l("updated",r);return a&&(n.pubDate=new Date(a)),n}))};u(n,"id","id",r),u(n,"title","title",r);var o=null===(t=c("link",r))||void 0===t?void 0:t.attribs.href;o&&(n.link=o),u(n,"description","subtitle",r);var a=l("updated",r);return a&&(n.updated=new Date(a)),u(n,"author","email",r,!0),n}(t):function(e){var t,r,n=null!==(r=null===(t=c("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==r?r:[],o={type:e.name.substr(0,3),id:"",items:(0,i.getElementsByTagName)("item",e.children).map((function(e){var t=e.children,r={media:s(t)};u(r,"id","guid",t),u(r,"title","title",t),u(r,"link","link",t),u(r,"description","description",t);var n=l("pubDate",t);return n&&(r.pubDate=new Date(n)),r}))};u(o,"title","title",n),u(o,"link","link",n),u(o,"description","description",n);var a=l("lastBuildDate",n);return a&&(o.updated=new Date(a)),u(o,"author","managingEditor",n,!0),o}(t):null};var o=["url","type","lang"],a=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function s(e){return(0,i.getElementsByTagName)("media:content",e).map((function(e){for(var t=e.attribs,r={medium:t.medium,isDefault:!!t.isDefault},n=0,i=o;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),t.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},4635:e=>{"use strict";var t={decodeValues:!0,map:!1,silent:!1};function r(e){return"string"==typeof e&&!!e.trim()}function n(e,n){var i=e.split(";").filter(r),o=i.shift().split("="),a=o.shift(),s=o.join("=");n=n?Object.assign({},t,n):t;try{s=n.decodeValues?decodeURIComponent(s):s}catch(e){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+s+"'. Set options.decodeValues to false to disable this feature.",e)}var c={name:a,value:s};return i.forEach((function(e){var t=e.split("="),r=t.shift().trimLeft().toLowerCase(),n=t.join("=");"expires"===r?c.expires=new Date(n):"max-age"===r?c.maxAge=parseInt(n,10):"secure"===r?c.secure=!0:"httponly"===r?c.httpOnly=!0:"samesite"===r?c.sameSite=n:c[r]=n})),c}function i(e,i){if(i=i?Object.assign({},t,i):t,!e)return i.map?{}:[];if(e.headers&&e.headers["set-cookie"])e=e.headers["set-cookie"];else if(e.headers){var o=e.headers[Object.keys(e.headers).find((function(e){return"set-cookie"===e.toLowerCase()}))];o||!e.headers.cookie||i.silent||console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),e=o}return Array.isArray(e)||(e=[e]),(i=i?Object.assign({},t,i):t).map?e.filter(r).reduce((function(e,t){var r=n(t,i);return e[r.name]=r,e}),{}):e.filter(r).map((function(e){return n(e,i)}))}e.exports=i,e.exports.parse=i,e.exports.parseString=n,e.exports.splitCookiesString=function(e){if(Array.isArray(e))return e;if("string"!=typeof e)return[];var t,r,n,i,o,a=[],s=0;function c(){for(;s=e.length)&&a.push(e.substring(t,e.length))}return a}},4636:function(e,t,r){var n;e.exports=(n=r(9021),function(e){var t=n,r=t.lib,i=r.WordArray,o=r.Hasher,a=t.algo,s=[];!function(){for(var t=0;t<64;t++)s[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=a.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,a=e[t+0],c=e[t+1],d=e[t+2],h=e[t+3],g=e[t+4],m=e[t+5],v=e[t+6],b=e[t+7],y=e[t+8],w=e[t+9],_=e[t+10],k=e[t+11],x=e[t+12],E=e[t+13],T=e[t+14],A=e[t+15],S=o[0],C=o[1],N=o[2],L=o[3];S=l(S,C,N,L,a,7,s[0]),L=l(L,S,C,N,c,12,s[1]),N=l(N,L,S,C,d,17,s[2]),C=l(C,N,L,S,h,22,s[3]),S=l(S,C,N,L,g,7,s[4]),L=l(L,S,C,N,m,12,s[5]),N=l(N,L,S,C,v,17,s[6]),C=l(C,N,L,S,b,22,s[7]),S=l(S,C,N,L,y,7,s[8]),L=l(L,S,C,N,w,12,s[9]),N=l(N,L,S,C,_,17,s[10]),C=l(C,N,L,S,k,22,s[11]),S=l(S,C,N,L,x,7,s[12]),L=l(L,S,C,N,E,12,s[13]),N=l(N,L,S,C,T,17,s[14]),S=u(S,C=l(C,N,L,S,A,22,s[15]),N,L,c,5,s[16]),L=u(L,S,C,N,v,9,s[17]),N=u(N,L,S,C,k,14,s[18]),C=u(C,N,L,S,a,20,s[19]),S=u(S,C,N,L,m,5,s[20]),L=u(L,S,C,N,_,9,s[21]),N=u(N,L,S,C,A,14,s[22]),C=u(C,N,L,S,g,20,s[23]),S=u(S,C,N,L,w,5,s[24]),L=u(L,S,C,N,T,9,s[25]),N=u(N,L,S,C,h,14,s[26]),C=u(C,N,L,S,y,20,s[27]),S=u(S,C,N,L,E,5,s[28]),L=u(L,S,C,N,d,9,s[29]),N=u(N,L,S,C,b,14,s[30]),S=p(S,C=u(C,N,L,S,x,20,s[31]),N,L,m,4,s[32]),L=p(L,S,C,N,y,11,s[33]),N=p(N,L,S,C,k,16,s[34]),C=p(C,N,L,S,T,23,s[35]),S=p(S,C,N,L,c,4,s[36]),L=p(L,S,C,N,g,11,s[37]),N=p(N,L,S,C,b,16,s[38]),C=p(C,N,L,S,_,23,s[39]),S=p(S,C,N,L,E,4,s[40]),L=p(L,S,C,N,a,11,s[41]),N=p(N,L,S,C,h,16,s[42]),C=p(C,N,L,S,v,23,s[43]),S=p(S,C,N,L,w,4,s[44]),L=p(L,S,C,N,x,11,s[45]),N=p(N,L,S,C,A,16,s[46]),S=f(S,C=p(C,N,L,S,d,23,s[47]),N,L,a,6,s[48]),L=f(L,S,C,N,b,10,s[49]),N=f(N,L,S,C,T,15,s[50]),C=f(C,N,L,S,m,21,s[51]),S=f(S,C,N,L,x,6,s[52]),L=f(L,S,C,N,h,10,s[53]),N=f(N,L,S,C,_,15,s[54]),C=f(C,N,L,S,c,21,s[55]),S=f(S,C,N,L,y,6,s[56]),L=f(L,S,C,N,A,10,s[57]),N=f(N,L,S,C,v,15,s[58]),C=f(C,N,L,S,E,21,s[59]),S=f(S,C,N,L,g,6,s[60]),L=f(L,S,C,N,k,10,s[61]),N=f(N,L,S,C,d,15,s[62]),C=f(C,N,L,S,w,21,s[63]),o[0]=o[0]+S|0,o[1]=o[1]+C|0,o[2]=o[2]+N|0,o[3]=o[3]+L|0},_doFinalize:function(){var t=this._data,r=t.words,n=8*this._nDataBytes,i=8*t.sigBytes;r[i>>>5]|=128<<24-i%32;var o=e.floor(n/4294967296),a=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(r.length+1),this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,r,n,i,o,a){var s=e+(t&r|~t&n)+i+a;return(s<>>32-o)+t}function u(e,t,r,n,i,o,a){var s=e+(t&n|r&~n)+i+a;return(s<>>32-o)+t}function p(e,t,r,n,i,o,a){var s=e+(t^r^n)+i+a;return(s<>>32-o)+t}function f(e,t,r,n,i,o,a){var s=e+(r^(t|~n))+i+a;return(s<>>32-o)+t}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5)},4725:function(e,t,r){var n,i,o;e.exports=(n=r(9021),o=(i=n).lib.WordArray,i.enc.Base64url={stringify:function(e,t){void 0===t&&(t=!0);var r=e.words,n=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var o=[],a=0;a>>2]>>>24-a%4*8&255)<<16|(r[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|r[a+2>>>2]>>>24-(a+2)%4*8&255,c=0;c<4&&a+.75*c>>6*(3-c)&63));var l=i.charAt(64);if(l)for(;o.length%4;)o.push(l);return o.join("")},parse:function(e,t){void 0===t&&(t=!0);var r=e.length,n=t?this._safe_map:this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var a=0;a>>6-a%4*2;n[i>>>2]|=s<<24-i%4*8,i++}return o.create(n,i)}(e,r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},n.enc.Base64url)},4770:(e,t,r)=>{"use strict";t.lW=void 0;var n=r(981);Object.defineProperty(t,"lW",{enumerable:!0,get:function(){return n.NodeHtmlMarkdown}});r(7306)},4905:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.pad.Iso10126={pad:function(e,t){var r=4*t,i=r-e.sigBytes%r;e.concat(n.lib.WordArray.random(i-1)).concat(n.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},n.pad.Iso10126)},5045:e=>{"use strict";function t(e){return e>=55296&&e<=56319}function r(e){return e>=56320&&e<=57343}e.exports=function(e,n,i){if("string"!=typeof n)throw new Error("Input must be string");for(var o,a,s=n.length,c=0,l=0;li)return n.slice(0,l-a.length+1)}return n}},5056:(e,t,r)=>{"use strict";e.exports=function(e){var t=r.nc;t&&e.setAttribute("nonce",t)}},5072:e=>{"use strict";var t=[];function r(e){for(var r=-1,n=0;n65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)};t.default=function(e){return e>=55296&&e<=57343||e>1114111?"�":(e in i.default&&(e=i.default[e]),o(e))}},5234:function(e,t,r){"use strict";var n=this&&this.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compileGeneralSelector=void 0;var n=r(3762),i=r(8161),o=r(4090);t.compileGeneralSelector=function(e,t,r,a,s){var c=r.adapter,l=r.equals;switch(t.type){case o.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case o.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case o.SelectorType.Attribute:if(null!=t.namespace)throw new Error("Namespaced attributes are not yet supported by css-select");return r.xmlMode&&!r.lowerCaseAttributeNames||(t.name=t.name.toLowerCase()),n.attributeRules[t.action](e,t,r);case o.SelectorType.Pseudo:return(0,i.compilePseudoSelector)(e,t,r,a,s);case o.SelectorType.Tag:if(null!=t.namespace)throw new Error("Namespaced tag names are not yet supported by css-select");var u=t.name;return r.xmlMode&&!r.lowerCaseTags||(u=u.toLowerCase()),function(t){return c.getName(t)===u&&e(t)};case o.SelectorType.Descendant:if(!1===r.cacheResults||"undefined"==typeof WeakSet)return function(t){for(var r=t;r=c.getParent(r);)if(c.isTag(r)&&e(r))return!0;return!1};var p=new WeakSet;return function(t){for(var r=t;r=c.getParent(r);)if(!p.has(r)){if(c.isTag(r)&&e(r))return!0;p.add(r)}return!1};case"_flexibleDescendant":return function(t){var r=t;do{if(c.isTag(r)&&e(r))return!0}while(r=c.getParent(r));return!1};case o.SelectorType.Parent:return function(t){return c.getChildren(t).some((function(t){return c.isTag(t)&&e(t)}))};case o.SelectorType.Child:return function(t){var r=c.getParent(t);return null!=r&&c.isTag(r)&&e(r)};case o.SelectorType.Sibling:return function(t){for(var r=c.getSiblings(t),n=0;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSort=t.compareDocumentPosition=t.removeSubsets=void 0;var n=r(1141);function i(e,t){var r=[],i=[];if(e===t)return 0;for(var o=(0,n.hasChildren)(e)?e:e.parent;o;)r.unshift(o),o=o.parent;for(o=(0,n.hasChildren)(t)?t:t.parent;o;)i.unshift(o),o=o.parent;for(var a=Math.min(r.length,i.length),s=0;sl.indexOf(p)?c===t?20:4:c===e?10:2}t.removeSubsets=function(e){for(var t=e.length;--t>=0;){var r=e[t];if(t>0&&e.lastIndexOf(r,t-1)>=0)e.splice(t,1);else for(var n=r.parent;n;n=n.parent)if(e.includes(n)){e.splice(t,1);break}}return e},t.compareDocumentPosition=i,t.uniqueSort=function(e){return(e=e.filter((function(e,t,r){return!r.includes(e,t+1)}))).sort((function(e,t){var r=i(e,t);return 2&r?-1:4&r?1:0})),e}},5413:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(r=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===r.Tag||e.type===r.Script||e.type===r.Style},t.Root=r.Root,t.Text=r.Text,t.Directive=r.Directive,t.Comment=r.Comment,t.Script=r.Script,t.Style=r.Style,t.Tag=r.Tag,t.CDATA=r.CDATA,t.Doctype=r.Doctype},5471:function(e,t,r){var n,i,o,a,s,c,l,u;e.exports=(i=(n=u=r(9021)).lib,o=i.WordArray,a=i.Hasher,s=n.algo,c=[],l=s.SHA1=a.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=0;l<80;l++){if(l<16)c[l]=0|e[t+l];else{var u=c[l-3]^c[l-8]^c[l-14]^c[l-16];c[l]=u<<1|u>>>31}var p=(n<<5|n>>>27)+s+c[l];p+=l<20?1518500249+(i&o|~i&a):l<40?1859775393+(i^o^a):l<60?(i&o|i&a|o&a)-1894007588:(i^o^a)-899497514,s=a,a=o,o=i<<30|i>>>2,i=n,n=p}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+a|0,r[4]=r[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;return t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),t[15+(n+64>>>9<<4)]=r,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}}),n.SHA1=a._createHelper(l),n.HmacSHA1=a._createHmacHelper(l),u.SHA1)},5503:function(e,t,r){var n;e.exports=(n=r(9021),function(){var e=n,t=e.lib.WordArray,r=e.enc;function i(e){return e<<8&4278255360|e>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var r=e.length,n=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return t.create(n,2*r)}},r.Utf16LE={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],o=0;o>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(a))}return n.join("")},parse:function(e){for(var r=e.length,n=[],o=0;o>>1]|=i(e.charCodeAt(o)<<16-o%2*16);return t.create(n,2*r)}}}(),n.enc.Utf16)},5953:function(e,t,r){var n;e.exports=(n=r(9021),r(3240),function(e){var t=n,r=t.lib,i=r.WordArray,o=r.Hasher,a=t.x64.Word,s=t.algo,c=[],l=[],u=[];!function(){for(var e=1,t=0,r=0;r<24;r++){c[e+5*t]=(r+1)*(r+2)/2%64;var n=(2*e+3*t)%5;e=t%5,t=n}for(e=0;e<5;e++)for(t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var i=1,o=0;o<24;o++){for(var s=0,p=0,f=0;f<7;f++){if(1&i){var d=(1<>>24)|4278255360&(o<<24|o>>>8),a=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),(C=r[i]).high^=a,C.low^=o}for(var s=0;s<24;s++){for(var f=0;f<5;f++){for(var d=0,h=0,g=0;g<5;g++)d^=(C=r[f+5*g]).high,h^=C.low;var m=p[f];m.high=d,m.low=h}for(f=0;f<5;f++){var v=p[(f+4)%5],b=p[(f+1)%5],y=b.high,w=b.low;for(d=v.high^(y<<1|w>>>31),h=v.low^(w<<1|y>>>31),g=0;g<5;g++)(C=r[f+5*g]).high^=d,C.low^=h}for(var _=1;_<25;_++){var k=(C=r[_]).high,x=C.low,E=c[_];E<32?(d=k<>>32-E,h=x<>>32-E):(d=x<>>64-E,h=k<>>64-E);var T=p[l[_]];T.high=d,T.low=h}var A=p[0],S=r[0];for(A.high=S.high,A.low=S.low,f=0;f<5;f++)for(g=0;g<5;g++){var C=r[_=f+5*g],N=p[_],L=p[(f+1)%5+5*g],D=p[(f+2)%5+5*g];C.high=N.high^~L.high&D.high,C.low=N.low^~L.low&D.low}C=r[0];var O=u[s];C.high^=O.high,C.low^=O.low}},_doFinalize:function(){var t=this._data,r=t.words,n=(this._nDataBytes,8*t.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(e.ceil((n+1)/o)*o>>>5)-1]|=128,t.sigBytes=4*r.length,this._process();for(var a=this._state,s=this.cfg.outputLength/8,c=s/8,l=[],u=0;u>>24)|4278255360&(f<<24|f>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),l.push(d),l.push(f)}return new i.init(l,s)},clone:function(){for(var e=o.clone.call(this),t=e._state=this._state.slice(0),r=0;r<25;r++)t[r]=t[r].clone();return e}});t.SHA3=o._createHelper(f),t.HmacSHA3=o._createHmacHelper(f)}(Math),n.SHA3)},6037:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.innerText=t.textContent=t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var i=r(1141),o=n(r(3806)),a=r(5413);function s(e,t){return(0,o.default)(e,t)}t.getOuterHTML=s,t.getInnerHTML=function(e,t){return(0,i.hasChildren)(e)?e.children.map((function(e){return s(e,t)})).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,i.isCDATA)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&!(0,i.isComment)(t)?e(t.children):(0,i.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,i.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,i.isCDATA)(t))?e(t.children):(0,i.isText)(t)?t.data:""}},6067:function(e,t,r){var n;e=r.nmd(e),function(){var i=(e&&e.exports,"object"==typeof global&&global);i.global!==i&&i.window;var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,a=/[\x01-\x7F]/g,s=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,c=/<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,l={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},u=/["&'<>`]/g,p={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},f=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,d=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,h=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,g={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},m={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},v={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},b=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],y=String.fromCharCode,w={}.hasOwnProperty,_=function(e,t){return w.call(e,t)},k=function(e,t){if(!e)return t;var r,n={};for(r in t)n[r]=_(e,r)?e[r]:t[r];return n},x=function(e,t){var r="";return e>=55296&&e<=57343||e>1114111?(t&&A("character reference outside the permissible Unicode range"),"�"):_(v,e)?(t&&A("disallowed character reference"),v[e]):(t&&function(e,t){for(var r=-1,n=e.length;++r65535&&(r+=y((e-=65536)>>>10&1023|55296),e=56320|1023&e),r+=y(e))},E=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},T=function(e){return"&#"+e+";"},A=function(e){throw Error("Parse error: "+e)},S=function(e,t){(t=k(t,S.options)).strict&&d.test(e)&&A("forbidden code point");var r=t.encodeEverything,n=t.useNamedReferences,i=t.allowUnsafeSymbols,p=t.decimal?T:E,f=function(e){return p(e.charCodeAt(0))};return r?(e=e.replace(a,(function(e){return n&&_(l,e)?"&"+l[e]+";":f(e)})),n&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),n&&(e=e.replace(c,(function(e){return"&"+l[e]+";"})))):n?(i||(e=e.replace(u,(function(e){return"&"+l[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(c,(function(e){return"&"+l[e]+";"}))):i||(e=e.replace(u,f)),e.replace(o,(function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1);return p(1024*(t-55296)+r-56320+65536)})).replace(s,f)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var C=function(e,t){var r=(t=k(t,C.options)).strict;return r&&f.test(e)&&A("malformed character reference"),e.replace(h,(function(e,n,i,o,a,s,c,l,u){var p,f,d,h,v,b;return n?g[v=n]:i?(v=i,(b=o)&&t.isAttributeValue?(r&&"="==b&&A("`&` did not start a character reference"),e):(r&&A("named character reference was not terminated by a semicolon"),m[v]+(b||""))):a?(d=a,f=s,r&&!f&&A("character reference was not terminated by a semicolon"),p=parseInt(d,10),x(p,r)):c?(h=c,f=l,r&&!f&&A("character reference was not terminated by a semicolon"),p=parseInt(h,16),x(p,r)):(r&&A("named character reference was not terminated by a semicolon"),e)}))};C.options={isAttributeValue:!1,strict:!1};var N={version:"1.2.0",encode:S,decode:C,escape:function(e){return e.replace(u,(function(e){return p[e]}))},unescape:C};void 0===(n=function(){return N}.call(t,r,t,e))||(e.exports=n)}()},6192:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeType=t.TextNode=t.Node=t.valid=t.default=t.parse=t.HTMLElement=t.CommentNode=void 0;var i=r(3447);Object.defineProperty(t,"CommentNode",{enumerable:!0,get:function(){return n(i).default}});var o=r(9781);Object.defineProperty(t,"HTMLElement",{enumerable:!0,get:function(){return n(o).default}});var a=r(4083);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return n(a).default}}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n(a).default}});var s=r(7578);Object.defineProperty(t,"valid",{enumerable:!0,get:function(){return n(s).default}});var c=r(724);Object.defineProperty(t,"Node",{enumerable:!0,get:function(){return n(c).default}});var l=r(9719);Object.defineProperty(t,"TextNode",{enumerable:!0,get:function(){return n(l).default}});var u=r(8140);Object.defineProperty(t,"NodeType",{enumerable:!0,get:function(){return n(u).default}})},6298:function(e,t,r){var n;e.exports=(n=r(9021),r(754),r(4636),r(9506),r(7165),function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=[],o=[],a=[],s=r.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,r=0;r<4;r++)e[r]=16711935&(e[r]<<8|e[r]>>>24)|4278255360&(e[r]<<24|e[r]>>>8);var n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(this._b=0,r=0;r<4;r++)c.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(t){var o=t.words,a=o[0],s=o[1],l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),p=l>>>16|4294901760&u,f=u<<16|65535&l;for(i[0]^=l,i[1]^=p,i[2]^=u,i[3]^=f,i[4]^=l,i[5]^=p,i[6]^=u,i[7]^=f,r=0;r<4;r++)c.call(this)}},_doProcessBlock:function(e,t){var r=this._X;c.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),e[t+n]^=i[n]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,r=0;r<8;r++)o[r]=t[r];for(t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0,r=0;r<8;r++){var n=e[r]+t[r],i=65535&n,s=n>>>16,c=((i*i>>>17)+i*s>>>15)+s*s,l=((4294901760&n)*n|0)+((65535&n)*n|0);a[r]=c^l}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(s)}(),n.Rabbit)},6308:function(e,t,r){var n,i,o,a,s,c;e.exports=(c=r(9021),r(3009),i=(n=c).lib.WordArray,o=n.algo,a=o.SHA256,s=o.SHA224=a.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=a._doFinalize.call(this);return e.sigBytes-=4,e}}),n.SHA224=a._createHelper(s),n.HmacSHA224=a._createHmacHelper(s),c.SHA224)},6310:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.filters=void 0;var i=n(r(3172)),o=r(1264);function a(e,t){return function(r){var n=t.getParent(r);return null!=n&&t.isTag(n)&&e(r)}}function s(e){return function(t,r,n){var i=n.adapter[e];return"function"!=typeof i?o.falseFunc:function(e){return i(e)&&t(e)}}}t.filters={contains:function(e,t,r){var n=r.adapter;return function(r){return e(r)&&n.getText(r).includes(t)}},icontains:function(e,t,r){var n=r.adapter,i=t.toLowerCase();return function(t){return e(t)&&n.getText(t).toLowerCase().includes(i)}},"nth-child":function(e,t,r){var n=r.adapter,s=r.equals,c=(0,i.default)(t);return c===o.falseFunc?o.falseFunc:c===o.trueFunc?a(e,n):function(t){for(var r=n.getSiblings(t),i=0,o=0;o=0&&!s(t,r[o]);o--)n.isTag(r[o])&&i++;return c(i)&&e(t)}},"nth-of-type":function(e,t,r){var n=r.adapter,s=r.equals,c=(0,i.default)(t);return c===o.falseFunc?o.falseFunc:c===o.trueFunc?a(e,n):function(t){for(var r=n.getSiblings(t),i=0,o=0;o=0;o--){var a=r[o];if(s(t,a))break;n.isTag(a)&&n.getName(a)===n.getName(t)&&i++}return c(i)&&e(t)}},root:function(e,t,r){var n=r.adapter;return function(t){var r=n.getParent(t);return(null==r||!n.isTag(r))&&e(t)}},scope:function(e,r,n,i){var o=n.equals;return i&&0!==i.length?1===i.length?function(t){return o(i[0],t)&&e(t)}:function(t){return i.includes(t)&&e(t)}:t.filters.root(e,r,n)},hover:s("isHovered"),visited:s("isVisited"),active:s("isActive")}},6314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r="",n=void 0!==t[5];return t[4]&&(r+="@supports (".concat(t[4],") {")),t[2]&&(r+="@media ".concat(t[2]," {")),n&&(r+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),r+=e(t),n&&(r+="}"),t[2]&&(r+="}"),t[4]&&(r+="}"),r})).join("")},t.i=function(e,r,n,i,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),t.push(u))}},t}},6372:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.mode.CTRGladman=function(){var e=n.lib.BlockCipherMode.extend();function t(e){if(255&~(e>>24))e+=1<<24;else{var t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}var r=e.Encryptor=e.extend({processBlock:function(e,r){var n=this._cipher,i=n.blockSize,o=this._iv,a=this._counter;o&&(a=this._counter=o.slice(0),this._iv=void 0),function(e){0===(e[0]=t(e[0]))&&(e[1]=t(e[1]))}(a);var s=a.slice(0);n.encryptBlock(s,0);for(var c=0;c>>2]|=e[i]<<24-i%4*8;t.call(this,n,r)}else t.apply(this,arguments)};r.prototype=e}}(),n.lib.WordArray)},6470:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.perfStop=t.perfStart=t.getChildNodes=t.parseHTML=t.truthyStr=t.getTrailingWhitespaceInfo=t.tagSurround=t.splitSpecial=t.isWhiteSpaceOnly=t.surround=t.trimNewLines=void 0;const n=r(8970);function i(e){const t=[],r=e.length;for(let n=0,i=0;n1&&++n)}return t}t.trimNewLines=e=>e.replace(/^\n+|\n+$/g,""),t.surround=(e,t)=>`${t}${e}${t}`,t.isWhiteSpaceOnly=e=>!/\S/.test(e),t.splitSpecial=i,t.tagSurround=function(e,t){e.indexOf(t)>=0&&(e=e.replace(new RegExp(`([^\\\\])\\${t.split("").join("\\")}`,"gm"),"$1"));const r=i(e);let n="";for(const{text:e,newLineChar:i}of r){let r,o,a=0;for(;a>=0&&a0?e[r-1]:"",c=o{const t={whitespace:0,newLines:0},r=Math.max(e.length-10,0);for(let n=e.length-1;n>=r;--n){const r=e.slice(n,n+1);if(!/\s/.test(r))break;++t.whitespace,["\r","\n"].includes(r)&&++t.newLines}return t},t.truthyStr=(e,t)=>e?void 0!==t?t:String(e):"";const o=()=>{try{return r(6192).parse}catch(e){return}};function a(e){process.env.LOG_PERF&&console.time(e)}function s(e){process.env.LOG_PERF&&console.timeEnd(e)}t.parseHTML=function(e,t){let r,i;if(a("parse"),t.preferNativeParser)try{i=function(e){try{if(!(null===window||void 0===window?void 0:window.DOMParser)||!(new window.DOMParser).parseFromString("","text/html"))return}catch(e){return}let t;try{t=document.implementation.createHTMLDocument("").open()}catch(e){const{ActiveXObject:t}=window;if(t){const e=t("htmlfile");return e.designMode="on",e.open()}throw e}return t.write(""+e+""),t.close(),t.documentElement}(e)}catch(e){if(r=o(),!r)throw e;console.warn("Native DOM parser encountered an error during parse",e)}else r=o();return i||(i=r(e,n.nodeHtmlParserConfig)),s("parse"),i},t.getChildNodes=function(e){if(null==(t=e.childNodes)&&"function"!=typeof t[Symbol.iterator])return e.childNodes;var t;const r=[];return e.childNodes.forEach((e=>r.push(e))),r},t.perfStart=a,t.perfStop=s},6491:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(4090),i=r(30),o={exists:10,equals:8,not:7,start:6,end:6,any:5,hyphen:4,element:4};function a(e){var t=i.procedure[e.type];if(e.type===n.SelectorType.Attribute)(t=o[e.action])===o.equals&&"id"===e.name&&(t=9),e.ignoreCase&&(t>>=1);else if(e.type===n.SelectorType.Pseudo)if(e.data)if("has"===e.name||"contains"===e.name)t=0;else if(Array.isArray(e.data)){t=0;for(var r=0;rt&&(t=s)}e.data.length>1&&t>0&&(t-=1)}else t=1;else t=3;return t}t.default=function(e){for(var t=e.map(a),r=1;r=0&&n{"use strict";var n=r(5045),i=r(8446);e.exports=n.bind(null,i)},6939:function(e,t,r){var n,i,o;e.exports=(o=r(9021),r(7165),o.mode.CTR=(i=(n=o.lib.BlockCipherMode.extend()).Encryptor=n.extend({processBlock:function(e,t){var r=this._cipher,n=r.blockSize,i=this._iv,o=this._counter;i&&(o=this._counter=i.slice(0),this._iv=void 0);var a=o.slice(0);r.encryptBlock(a,0),o[n-1]=o[n-1]+1|0;for(var s=0;s0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(c);t.NodeWithChildren=d;var h=function(e){function t(t){return e.call(this,a.ElementType.Root,t)||this}return i(t,e),t}(d);t.Document=h;var g=function(e){function t(t,r,n,i){void 0===n&&(n=[]),void 0===i&&(i="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var o=e.call(this,i,n)||this;return o.name=t,o.attribs=r,o}return i(t,e),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var r,n;return{name:t,value:e.attribs[t],namespace:null===(r=e["x-attribsNamespace"])||void 0===r?void 0:r[t],prefix:null===(n=e["x-attribsPrefix"])||void 0===n?void 0:n[t]}}))},enumerable:!1,configurable:!0}),t}(d);function m(e){return(0,a.isTag)(e)}function v(e){return e.type===a.ElementType.CDATA}function b(e){return e.type===a.ElementType.Text}function y(e){return e.type===a.ElementType.Comment}function w(e){return e.type===a.ElementType.Directive}function _(e){return e.type===a.ElementType.Root}function k(e,t){var r;if(void 0===t&&(t=!1),b(e))r=new u(e.data);else if(y(e))r=new p(e.data);else if(m(e)){var n=t?x(e.children):[],i=new g(e.name,o({},e.attribs),n);n.forEach((function(e){return e.parent=i})),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]=o({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]=o({},e["x-attribsPrefix"])),r=i}else if(v(e)){n=t?x(e.children):[];var s=new d(a.ElementType.CDATA,n);n.forEach((function(e){return e.parent=s})),r=s}else if(_(e)){n=t?x(e.children):[];var c=new h(n);n.forEach((function(e){return e.parent=c})),e["x-mode"]&&(c["x-mode"]=e["x-mode"]),r=c}else{if(!w(e))throw new Error("Not implemented yet: ".concat(e.type));var l=new f(e.name,e.data);null!=e["x-name"]&&(l["x-name"]=e["x-name"],l["x-publicId"]=e["x-publicId"],l["x-systemId"]=e["x-systemId"]),r=l}return r.startIndex=e.startIndex,r.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(r.sourceCodeLocation=e.sourceCodeLocation),r}function x(e){for(var t=e.map((function(e){return k(e,!0)})),r=1;r{"use strict";e.exports=require("crypto")},7165:function(e,t,r){var n,i,o,a,s,c,l,u,p,f,d,h,g,m,v,b,y,w,_;e.exports=(n=r(9021),r(9506),void(n.lib.Cipher||(i=n,o=i.lib,a=o.Base,s=o.WordArray,c=o.BufferedBlockAlgorithm,l=i.enc,l.Utf8,u=l.Base64,p=i.algo.EvpKDF,f=o.Cipher=c.extend({cfg:a.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,r){this.cfg=this.cfg.extend(r),this._xformMode=e,this._key=t,this.reset()},reset:function(){c.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return"string"==typeof e?_:y}return function(t){return{encrypt:function(r,n,i){return e(n).encrypt(t,r,n,i)},decrypt:function(r,n,i){return e(n).decrypt(t,r,n,i)}}}}()}),o.StreamCipher=f.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),d=i.mode={},h=o.BlockCipherMode=a.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),g=d.CBC=function(){var e=h.extend();function t(e,t,r){var n,i=this._iv;i?(n=i,this._iv=void 0):n=this._prevBlock;for(var o=0;o>>2];e.sigBytes-=t}},o.BlockCipher=f.extend({cfg:f.cfg.extend({mode:g,padding:m}),reset:function(){var e;f.reset.call(this);var t=this.cfg,r=t.iv,n=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=n.createEncryptor:(e=n.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,r&&r.words):(this._mode=e.call(n,this,r&&r.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4}),v=o.CipherParams=a.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),b=(i.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,r=e.salt;return(r?s.create([1398893684,1701076831]).concat(r).concat(t):t).toString(u)},parse:function(e){var t,r=u.parse(e),n=r.words;return 1398893684==n[0]&&1701076831==n[1]&&(t=s.create(n.slice(2,4)),n.splice(0,4),r.sigBytes-=16),v.create({ciphertext:r,salt:t})}},y=o.SerializableCipher=a.extend({cfg:a.extend({format:b}),encrypt:function(e,t,r,n){n=this.cfg.extend(n);var i=e.createEncryptor(r,n),o=i.finalize(t),a=i.cfg;return v.create({ciphertext:o,key:r,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:n.format})},decrypt:function(e,t,r,n){return n=this.cfg.extend(n),t=this._parse(t,n.format),e.createDecryptor(r,n).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),w=(i.kdf={}).OpenSSL={execute:function(e,t,r,n,i){if(n||(n=s.random(8)),i)o=p.create({keySize:t+r,hasher:i}).compute(e,n);else var o=p.create({keySize:t+r}).compute(e,n);var a=s.create(o.words.slice(t),4*r);return o.sigBytes=4*t,v.create({key:o,iv:a,salt:n})}},_=o.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:w}),encrypt:function(e,t,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,e.keySize,e.ivSize,n.salt,n.hasher);n.iv=i.iv;var o=y.encrypt.call(this,e,t,i.key,n);return o.mixIn(i),o},decrypt:function(e,t,r,n){n=this.cfg.extend(n),t=this._parse(t,n.format);var i=n.kdf.execute(r,e.keySize,e.ivSize,t.salt,n.hasher);return n.iv=i.iv,y.decrypt.call(this,e,t,i.key,n)}}))))},7178:e=>{"use strict";e.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')},7193:function(e,t,r){var n;e.exports=(n=r(9021),r(754),r(4636),r(9506),r(7165),function(){var e=n,t=e.lib.StreamCipher,r=e.algo,i=r.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,r=e.sigBytes,n=this._S=[],i=0;i<256;i++)n[i]=i;i=0;for(var o=0;i<256;i++){var a=i%r,s=t[a>>>2]>>>24-a%4*8&255;o=(o+n[i]+s)%256;var c=n[i];n[i]=n[o],n[o]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var e=this._S,t=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+e[t=(t+1)%256])%256;var o=e[t];e[t]=e[r],e[r]=o,n|=e[(e[t]+e[r])%256]<<24-8*i}return this._i=t,this._j=r,n}e.RC4=t._createHelper(i);var a=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)o.call(this)}});e.RC4Drop=t._createHelper(a)}(),n.RC4)},7306:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.createTranslatorContext=t.isTranslatorConfig=t.TranslatorCollection=t.PostProcessResult=void 0,(r=t.PostProcessResult||(t.PostProcessResult={}))[r.NoChange=0]="NoChange",r[r.RemoveNode=1]="RemoveNode",t.TranslatorCollection=class{get size(){return Object.keys(this).length}set(e,r,n){e.split(",").forEach((e=>{e=e.toUpperCase();let i=r;if(n){const n=this[e];(0,t.isTranslatorConfig)(n)&&(i=(0,t.isTranslatorConfig)(r)?Object.assign(Object.assign({},n),r):Object.assign(((...e)=>r.apply(void 0,e)),{base:n}))}this[e]=i}))}get(e){return this[e.toUpperCase()]}entries(){return Object.entries(this)}remove(e){e.split(",").forEach((e=>delete this[e.toUpperCase()]))}},t.isTranslatorConfig=e=>"object"==typeof e,t.createTranslatorContext=function(e,t,r,n){const{instance:i,nodeMetadata:o}=e;return Object.assign({node:t,options:i.options,parent:t.parentNode,nodeMetadata:o,visitor:e,base:n},r)}},7578:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(9781);t.default=function(e,t){void 0===t&&(t={lowerCaseTagName:!1,comment:!1});var r=(0,n.base_parse)(e,t);return Boolean(1===r.length)}},7628:function(e,t,r){var n;e.exports=(n=r(9021),r(754),r(4636),r(9506),r(7165),function(){var e=n,t=e.lib,r=t.WordArray,i=t.BlockCipher,o=e.algo,a=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],p=o.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],r=0;r<56;r++){var n=a[r]-1;t[r]=e[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var l=i[o]=[],u=c[o];for(r=0;r<24;r++)l[r/6|0]|=t[(s[r]-1+u)%28]<<31-r%6,l[4+(r/6|0)]|=t[28+(s[r+24]-1+u)%28]<<31-r%6;for(l[0]=l[0]<<1|l[0]>>>31,r=1;r<7;r++)l[r]=l[r]>>>4*(r-1)+3;l[7]=l[7]<<5|l[7]>>>27}var p=this._invSubKeys=[];for(r=0;r<16;r++)p[r]=i[15-r]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,r){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),f.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,a=this._rBlock,s=0,c=0;c<8;c++)s|=l[c][((a^i[c])&u[c])>>>0];this._lBlock=a,this._rBlock=o^s}var p=this._lBlock;this._lBlock=this._rBlock,this._rBlock=p,f.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,t){var r=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=r,this._lBlock^=r<>>e^this._lBlock)&t;this._lBlock^=r,this._rBlock^=r<192.");var t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=p.createEncryptor(r.create(t)),this._des2=p.createEncryptor(r.create(n)),this._des3=p.createEncryptor(r.create(i))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=i._createHelper(h)}(),n.TripleDES)},7659:e=>{"use strict";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(r)}},7825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n="";r.supports&&(n+="@supports (".concat(r.supports,") {")),r.media&&(n+="@media ".concat(r.media," {"));var i=void 0!==r.layer;i&&(n+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),n+=r.css,i&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var o=r.sourceMap;o&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},8056:function(e,t,r){var n;e.exports=(n=r(9021),function(){var e=n,t=e.lib,r=t.WordArray,i=t.Hasher,o=e.algo,a=r.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),s=r.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),c=r.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=r.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),u=r.create([0,1518500249,1859775393,2400959708,2840853838]),p=r.create([1352829926,1548603684,1836072691,2053994217,0]),f=o.RIPEMD160=i.extend({_doReset:function(){this._hash=r.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var r=0;r<16;r++){var n=t+r,i=e[n];e[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,f,y,w,_,k,x,E,T,A,S,C=this._hash.words,N=u.words,L=p.words,D=a.words,O=s.words,q=c.words,B=l.words;for(k=o=C[0],x=f=C[1],E=y=C[2],T=w=C[3],A=_=C[4],r=0;r<80;r+=1)S=o+e[t+D[r]]|0,S+=r<16?d(f,y,w)+N[0]:r<32?h(f,y,w)+N[1]:r<48?g(f,y,w)+N[2]:r<64?m(f,y,w)+N[3]:v(f,y,w)+N[4],S=(S=b(S|=0,q[r]))+_|0,o=_,_=w,w=b(y,10),y=f,f=S,S=k+e[t+O[r]]|0,S+=r<16?v(x,E,T)+L[0]:r<32?m(x,E,T)+L[1]:r<48?g(x,E,T)+L[2]:r<64?h(x,E,T)+L[3]:d(x,E,T)+L[4],S=(S=b(S|=0,B[r]))+A|0,k=A,A=T,T=b(E,10),E=x,x=S;S=C[1]+y+T|0,C[1]=C[2]+w+A|0,C[2]=C[3]+_+k|0,C[3]=C[4]+o+x|0,C[4]=C[0]+f+E|0,C[0]=S},_doFinalize:function(){var e=this._data,t=e.words,r=8*this._nDataBytes,n=8*e.sigBytes;t[n>>>5]|=128<<24-n%32,t[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e.sigBytes=4*(t.length+1),this._process();for(var i=this._hash,o=i.words,a=0;a<5;a++){var s=o[a];o[a]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}return i},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function d(e,t,r){return e^t^r}function h(e,t,r){return e&t|~e&r}function g(e,t,r){return(e|~t)^r}function m(e,t,r){return e&r|t&~r}function v(e,t,r){return e^(t|~r)}function b(e,t){return e<>>32-t}e.RIPEMD160=i._createHelper(f),e.HmacRIPEMD160=i._createHmacHelper(f)}(Math),n.RIPEMD160)},8118:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.compileToken=t.compileUnsafe=t.compile=void 0;var i=r(4090),o=r(1264),a=n(r(6491)),s=r(30),c=r(5327),l=r(5234);function u(e,t,r){return g("string"==typeof e?(0,i.parse)(e):e,t,r)}function p(e){return"pseudo"===e.type&&("scope"===e.name||Array.isArray(e.data)&&e.data.some((function(e){return e.some(p)})))}t.compile=function(e,t,r){var n=u(e,t,r);return(0,l.ensureIsTag)(n,t.adapter)},t.compileUnsafe=u;var f={type:i.SelectorType.Descendant},d={type:"_flexibleDescendant"},h={type:i.SelectorType.Pseudo,name:"scope",data:null};function g(e,t,r){var n;(e=e.filter((function(e){return e.length>0}))).forEach(a.default),r=null!==(n=t.context)&&void 0!==n?n:r;var i=Array.isArray(r),u=r&&(Array.isArray(r)?r:[r]);!function(e,t,r){for(var n=t.adapter,i=!!(null==r?void 0:r.every((function(e){var t=n.isTag(e)&&n.getParent(e);return e===l.PLACEHOLDER_ELEMENT||t&&n.isTag(t)}))),o=0,a=e;o0&&(0,s.isTraversal)(c[0])&&"descendant"!==c[0].type);else{if(!i||c.some(p))continue;c.unshift(f)}c.unshift(h)}}(e,t,u);var v=!1,b=e.map((function(e){if(e.length>=2){var r=e[0],n=e[1];"pseudo"!==r.type||"scope"!==r.name||(i&&"descendant"===n.type?e[1]=d:"adjacent"!==n.type&&"sibling"!==n.type||(v=!0))}return function(e,t,r){var n;return e.reduce((function(e,n){return e===o.falseFunc?o.falseFunc:(0,c.compileGeneralSelector)(e,n,t,r,g)}),null!==(n=t.rootFunc)&&void 0!==n?n:o.trueFunc)}(e,t,u)})).reduce(m,o.falseFunc);return b.shouldTestNextSiblings=v,b}function m(e,t){return t===o.falseFunc||e===o.trueFunc?e:e===o.falseFunc||t===o.trueFunc?t:function(r){return e(r)||t(r)}}t.compileToken=g},8124:function(e,t,r){var n;e.exports=(n=r(9021),r(7165),n.pad.NoPadding={pad:function(){},unpad:function(){}},n.pad.NoPadding)},8140:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"}(r||(r={})),t.default=r},8151:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var r=new Set([9,10,12,13,32]),n="0".charCodeAt(0),i="9".charCodeAt(0);t.parse=function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,o=0,a=c(),s=l();if(t=n&&e.charCodeAt(t)<=i;)o=10*o+(e.charCodeAt(t)-n),t++;return t===r?null:o}function u(){for(;t{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compilePseudoSelector=t.aliases=t.pseudos=t.filters=void 0;var n=r(1264),i=r(4090),o=r(6310);Object.defineProperty(t,"filters",{enumerable:!0,get:function(){return o.filters}});var a=r(682);Object.defineProperty(t,"pseudos",{enumerable:!0,get:function(){return a.pseudos}});var s=r(9433);Object.defineProperty(t,"aliases",{enumerable:!0,get:function(){return s.aliases}});var c=r(5234);t.compilePseudoSelector=function(e,t,r,l,u){var p=t.name,f=t.data;if(Array.isArray(f))return c.subselects[p](e,f,r,l,u);if(p in s.aliases){if(null!=f)throw new Error("Pseudo ".concat(p," doesn't have any arguments"));var d=(0,i.parse)(s.aliases[p]);return c.subselects.is(e,d,r,l,u)}if(p in o.filters)return o.filters[p](e,f,r,l);if(p in a.pseudos){var h=a.pseudos[p];return(0,a.verifyPseudoArgs)(h,p,f),h===n.falseFunc?n.falseFunc:e===n.trueFunc?function(e){return h(e,r,f)}:function(t){return h(t,r,f)&&e(t)}}throw new Error("unmatched pseudo-class :".concat(p))}},8446:e=>{"use strict";function t(e){return e>=55296&&e<=56319}function r(e){return e>=56320&&e<=57343}e.exports=function(e){if("string"!=typeof e)throw new Error("Input must be string");for(var n=e.length,i=0,o=null,a=null,s=0;s=128&&o<=2047?i+=2:o>=2048&&o<=65535&&(i+=3),a=o;return i}},8454:function(e,t,r){var n,i;e.exports=(i=r(9021),r(7165),i.mode.ECB=((n=i.lib.BlockCipherMode.extend()).Encryptor=n.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),n.Decryptor=n.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),n),i.mode.ECB)},8525:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0;var n=r(1264);t.compile=function(e){var t=e[0],r=e[1]-1;if(r<0&&t<=0)return n.falseFunc;if(-1===t)return function(e){return e<=r};if(0===t)return function(e){return e===r};if(1===t)return r<0?n.trueFunc:function(e){return e>=r};var i=Math.abs(t),o=(r%i+i)%i;return t>1?function(e){return e>=r&&e%i===o}:function(e){return e<=r&&e%i===o}}},8888:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,i(r(6037),t),i(r(8938),t),i(r(3403),t),i(r(718),t),i(r(3209),t),i(r(5397),t),i(r(4437),t);var o=r(1141);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return o.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return o.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return o.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return o.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return o.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return o.hasChildren}})},8938:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var n=r(1141),i=[];function o(e){var t;return null!==(t=e.children)&&void 0!==t?t:i}function a(e){return e.parent||null}t.getChildren=o,t.getParent=a,t.getSiblings=function(e){var t=a(e);if(null!=t)return o(t);for(var r=[e],n=e.prev,i=e.next;null!=n;)r.unshift(n),n=n.prev;for(;null!=i;)r.push(i),i=i.next;return r},t.getAttributeValue=function(e,t){var r;return null===(r=e.attribs)||void 0===r?void 0:r[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,n.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,n.isTag)(t);)t=t.prev;return t}},8970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nodeHtmlParserConfig=t.aTagTranslatorConfig=t.defaultCodeBlockTranslators=t.tableCellTranslatorConfig=t.tableRowTranslatorConfig=t.tableTranslatorConfig=t.defaultTranslators=t.defaultOptions=t.contentlessElements=t.defaultIgnoreElements=t.defaultBlockElements=void 0;const n=r(6470),i=r(7306);t.defaultBlockElements=["ADDRESS","ARTICLE","ASIDE","AUDIO","BLOCKQUOTE","BODY","CANVAS","CENTER","DD","DIR","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAMESET","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","HTML","ISINDEX","LI","MAIN","MENU","NAV","NOFRAMES","NOSCRIPT","OL","OUTPUT","P","PRE","SECTION","TABLE","TBODY","TD","TFOOT","TH","THEAD","TR","UL"],t.defaultIgnoreElements=["AREA","BASE","COL","COMMAND","EMBED","HEAD","INPUT","KEYGEN","LINK","META","PARAM","SCRIPT","SOURCE","STYLE","TRACK","WBR"],t.contentlessElements=["BR","HR","IMG"],t.defaultOptions=Object.freeze({preferNativeParser:!1,codeFence:"```",bulletMarker:"*",indent:" ",codeBlockStyle:"fenced",emDelimiter:"_",strongDelimiter:"**",maxConsecutiveNewlines:3,globalEscape:[/[\\`*_~\[\]]/gm,"\\$&"],lineStartEscape:[/^(\s*?)((?:\+\s)|(?:[=>-])|(?:#{1,6}\s))|(?:(\d+)(\.\s))/gm,"$1$3\\$2$4"]}),t.defaultTranslators={pre:{noEscape:!0,preserveWhitespace:!0},br:{content:" \n",recurse:!1},hr:{content:"---",recurse:!1},"h1,h2,h3,h4,h5,h6":({node:e})=>({prefix:"#".repeat(+e.tagName.charAt(1))+" "}),"strong,b":{spaceIfRepeatingChar:!0,postprocess:({content:e,options:{strongDelimiter:t}})=>(0,n.isWhiteSpaceOnly)(e)?i.PostProcessResult.RemoveNode:(0,n.tagSurround)(e,t)},"del,s,strike":{spaceIfRepeatingChar:!0,postprocess:({content:e})=>(0,n.isWhiteSpaceOnly)(e)?i.PostProcessResult.RemoveNode:(0,n.tagSurround)(e,"~~")},"em,i":{spaceIfRepeatingChar:!0,postprocess:({content:e,options:{emDelimiter:t}})=>(0,n.isWhiteSpaceOnly)(e)?i.PostProcessResult.RemoveNode:(0,n.tagSurround)(e,t)},"ol,ul":({listKind:e})=>({surroundingNewlines:e?1:2}),li:({options:{bulletMarker:e},indentLevel:t,listKind:r,listItemNumber:o})=>{const a=+(t||0);return{prefix:" ".repeat(+(t||0))+("OL"===r&&void 0!==o?`${o}. `:`${e} `),surroundingNewlines:1,postprocess:({content:e})=>(0,n.isWhiteSpaceOnly)(e)?i.PostProcessResult.RemoveNode:e.trim().replace(/([^\r\n])(?:\r?\n)+/g,`$1 \n${" ".repeat(a)}`).replace(/(\S+?)[^\S\r\n]+$/gm,"$1 ")}},blockquote:{postprocess:({content:e})=>(0,n.trimNewLines)(e).replace(/^(>*)[^\S\r\n]?/gm,">$1 ")},code:({node:e,parent:t,options:{codeFence:r,codeBlockStyle:i},visitor:o})=>{var a,s;return["PRE","WRAPPED-PRE"].includes(null==t?void 0:t.tagName)&&t.childNodes.length<2?"fenced"===i?{noEscape:!0,prefix:r+((null===(s=null===(a=e.getAttribute("class"))||void 0===a?void 0:a.match(/language-(\S+)/))||void 0===s?void 0:s[1])||"")+"\n",postfix:"\n"+r,childTranslators:o.instance.codeBlockTranslators}:{noEscape:!0,postprocess:({content:e})=>e.replace(/^/gm," "),childTranslators:o.instance.codeBlockTranslators}:{spaceIfRepeatingChar:!0,noEscape:!0,postprocess:({content:e})=>{var t,r;const i="`"+((null===(r=null===(t=e.match(/`+/g))||void 0===t?void 0:t.sort(((e,t)=>t.length-e.length)))||void 0===r?void 0:r[0])||""),o=i.length>1?" ":"";return(0,n.surround)((0,n.surround)(e,o),i)}}},table:({visitor:e})=>({surroundingNewlines:2,childTranslators:e.instance.tableTranslators,postprocess:({content:e,nodeMetadata:t,node:r})=>{const o=(0,n.splitSpecial)(e).map((({text:e})=>e.replace(/^(?:\|\s+)?(.+)\s*\|\s*$/,"$1"))),a=[];let s=[];for(const e of o){if(!e)continue;const t=e.split(" |").map(((e,t)=>(e=e.trim(),(s.length{var r;l+="| ";for(let t=0;t" "+"-".repeat(e)+" |")).join("")+"\n")})),l}}),a:({node:e,options:t,visitor:r})=>{const n=e.getAttribute("href");if(!n)return{};let i="";for(const e of n)switch(e){case"(":i+="%28";break;case")":i+="%29";break;case"_":i+="%5F";break;case"*":i+="%2A";break;default:i+=e}const o=e.getAttribute("title");return e.textContent===n?{content:`<${i}>`}:{postprocess:({content:e})=>e.replace(/(?:\r?\n)+/g," "),childTranslators:r.instance.aTagTranslators,prefix:"[",postfix:"]"+(t.useLinkReferenceDefinitions?`[${r.addOrGetUrlDefinition(i)}]`:`(${i}${o?` "${o}"`:""})`)}},img:({node:e,options:t})=>{const r=e.getAttribute("src")||"";if(!r||!t.keepDataImages&&/^data:/i.test(r))return{ignore:!0};const n=e.getAttribute("alt")||"",i=e.getAttribute("title")||"";return{content:`![${n}](${r}${i&&` "${i}"`})`,recurse:!1}}},t.tableTranslatorConfig={caption:({visitor:e})=>({surroundingNewlines:!1,childTranslators:e.instance.tableCellTranslators,postprocess:({content:e,nodeMetadata:t,node:r})=>{const n=e.replace(/(?:\r?\n)+/g," ").trim();return n&&(t.get(r).tableMeta.caption="__"+n+"__"),i.PostProcessResult.RemoveNode}}),tr:({visitor:e})=>({surroundingNewlines:!1,childTranslators:e.instance.tableRowTranslators,postfix:"\n",prefix:"| ",postprocess:({content:e})=>/ \|\s*$/.test(e)?e:i.PostProcessResult.RemoveNode}),"th,td":({visitor:e})=>({surroundingNewlines:!1,childTranslators:e.instance.tableCellTranslators,prefix:" ",postfix:" |",postprocess:({content:e})=>(0,n.trimNewLines)(e).replace("|","\\|").replace(/(?:\r?\n)+/g," ").trim()})},t.tableRowTranslatorConfig={"th,td":t.tableTranslatorConfig["th,td"]},t.tableCellTranslatorConfig={a:t.defaultTranslators.a,"strong,b":t.defaultTranslators["strong,b"],"del,s,strike":t.defaultTranslators["del,s,strike"],"em,i":t.defaultTranslators["em,i"],img:t.defaultTranslators.img},t.defaultCodeBlockTranslators={br:{content:"\n",recurse:!1},hr:{content:"---",recurse:!1},"h1,h2,h3,h4,h5,h6":{prefix:"[",postfix:"]"},"ol,ul":t.defaultTranslators["ol,ul"],li:t.defaultTranslators.li,tr:{surroundingNewlines:!0},img:{recurse:!1}},t.aTagTranslatorConfig={br:{content:"\n",recurse:!1},hr:{content:"\n",recurse:!1},pre:t.defaultTranslators.pre,"strong,b":t.defaultTranslators["strong,b"],"del,s,strike":t.defaultTranslators["del,s,strike"],"em,i":t.defaultTranslators["em,i"],img:t.defaultTranslators.img},t.nodeHtmlParserConfig={lowerCaseTagName:!1,comment:!1,blockTextElements:{script:!1,noscript:!1,style:!1}}},9021:function(e,t,r){var n;e.exports=(n=n||function(e){var t;if("undefined"!=typeof window&&window.crypto&&(t=window.crypto),"undefined"!=typeof self&&self.crypto&&(t=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(t=globalThis.crypto),!t&&"undefined"!=typeof window&&window.msCrypto&&(t=window.msCrypto),!t&&"undefined"!=typeof global&&global.crypto&&(t=global.crypto),!t)try{t=r(6982)}catch(e){}var n=function(){if(t){if("function"==typeof t.getRandomValues)try{return t.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof t.randomBytes)try{return t.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")},i=Object.create||function(){function e(){}return function(t){var r;return e.prototype=t,r=new e,e.prototype=null,r}}(),o={},a=o.lib={},s=a.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},c=a.WordArray=s.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,r=e.words,n=this.sigBytes,i=e.sigBytes;if(this.clamp(),n%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[n+o>>>2]|=a<<24-(n+o)%4*8}else for(var s=0;s>>2]=r[s>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=e.ceil(r/4)},clone:function(){var e=s.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],r=0;r>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;return new c.init(r,t/2)}},p=l.Latin1={stringify:function(e){for(var t=e.words,r=e.sigBytes,n=[],i=0;i>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(e){for(var t=e.length,r=[],n=0;n>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;return new c.init(r,t)}},f=l.Utf8={stringify:function(e){try{return decodeURIComponent(escape(p.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return p.parse(unescape(encodeURIComponent(e)))}},d=a.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=f.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var r,n=this._data,i=n.words,o=n.sigBytes,a=this.blockSize,s=o/(4*a),l=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,u=e.min(4*l,o);if(l){for(var p=0;p{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isElementNode=t.isCommentNode=t.isTextNode=t.CommentNode=t.NodeType=void 0;const n=r(6192);Object.defineProperty(t,"CommentNode",{enumerable:!0,get:function(){return n.CommentNode}}),Object.defineProperty(t,"NodeType",{enumerable:!0,get:function(){return n.NodeType}}),t.isTextNode=e=>e.nodeType===n.NodeType.TEXT_NODE,t.isCommentNode=e=>e.nodeType===n.NodeType.COMMENT_NODE,t.isElementNode=e=>e.nodeType===n.NodeType.ELEMENT_NODE},9418:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=n(r(8140));function o(e){return e&&e.nodeType===i.default.ELEMENT_NODE}function a(e,t){return o(e)?e.getAttribute(t):void 0}function s(e){return e&&e.childNodes}function c(e){return e?e.parentNode:null}t.default={isTag:o,getAttributeValue:a,getName:function(e){return(e&&e.rawTagName||"").toLowerCase()},getChildren:s,getParent:c,getText:function(e){return e.text},removeSubsets:function(e){for(var t,r,n,i=e.length;--i>-1;){for(t=r=e[i],e[i]=null,n=!0;r;){if(e.indexOf(r)>-1){n=!1,e.splice(i,1);break}r=c(r)}n&&(e[i]=t)}return e},existsOne:function e(t,r){return r.some((function(r){return!!o(r)&&(t(r)||e(t,s(r)))}))},getSiblings:function(e){var t=c(e);return t&&s(t)},hasAttrib:function(e,t){return void 0!==a(e,t)},findOne:function e(t,r){for(var n=null,i=0,o=r.length;i0&&(n=e(t,c))}}return n},findAll:function e(t,r){for(var n=[],i=0,a=r.length;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aliases=void 0,t.aliases={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}},9506:function(e,t,r){var n,i,o,a,s,c,l,u;e.exports=(u=r(9021),r(5471),r(1025),o=(i=(n=u).lib).Base,a=i.WordArray,c=(s=n.algo).MD5,l=s.EvpKDF=o.extend({cfg:o.extend({keySize:4,hasher:c,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var r,n=this.cfg,i=n.hasher.create(),o=a.create(),s=o.words,c=n.keySize,l=n.iterations;s.length=0&&n0&&/[^\S\r\n]/.test(e[t-1]),o=r0&&t.push(e=[]),n.childNodes.forEach(r),e.length>0&&t.push(e=[])):n.childNodes.forEach(r);else if(n.nodeType===g.default.TEXT_NODE)if(n.isWhitespace)e.prependWhitespace=!0;else{var i=n.trimmedText;e.prependWhitespace&&(i=" ".concat(i),e.prependWhitespace=!1),e.push(i)}}(this),t.map((function(e){return e.join("").replace(/\s{2,}/g," ")})).join("\n").replace(/\s+$/,"")},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var e=this.rawTagName;if(e){var t=this.rawAttrs?" ".concat(this.rawAttrs):"";return this.isVoidElement?"<".concat(e).concat(t,">"):"<".concat(e).concat(t,">").concat(this.innerHTML,"")}return this.innerHTML},Object.defineProperty(t.prototype,"innerHTML",{get:function(){return this.childNodes.map((function(e){return e.toString()})).join("")},set:function(e){var t=C(e),r=t.childNodes.length?t.childNodes:[new h.default(e,this)];N(r,this),N(this.childNodes,null),this.childNodes=r},enumerable:!1,configurable:!0}),t.prototype.set_content=function(e,t){if(void 0===t&&(t={}),e instanceof d.default)e=[e];else if("string"==typeof e){var r=C(e,t);e=r.childNodes.length?r.childNodes:[new h.default(e,this)]}return N(this.childNodes,null),N(e,this),this.childNodes=e,this},t.prototype.replaceWith=function(){for(var e=this,t=[],r=0;r-1&&(r.rawText=r.rawText.substr(0,n),this.childNodes.length=t+1)}}return this},Object.defineProperty(t.prototype,"structure",{get:function(){var e=[],t=0;function r(r){e.push(" ".repeat(t)+r)}return function e(n){var i=n.id?"#".concat(n.id):"",o=n.classList.length?".".concat(n.classList.value.join(".")):"";r("".concat(n.rawTagName).concat(i).concat(o)),t++,n.childNodes.forEach((function(t){t.nodeType===g.default.ELEMENT_NODE?e(t):t.nodeType===g.default.TEXT_NODE&&(t.isWhitespace||r("#text"))})),t--}(this),e.join("\n")},enumerable:!1,configurable:!0}),t.prototype.removeWhitespace=function(){var e=this,t=0;return this.childNodes.forEach((function(r){if(r.nodeType===g.default.TEXT_NODE){if(r.isWhitespace)return;r.rawText=r.trimmedRawText}else r.nodeType===g.default.ELEMENT_NODE&&r.removeWhitespace();e.childNodes[t++]=r})),this.childNodes.length=t,this},t.prototype.querySelectorAll=function(e){return(0,c.selectAll)(e,this,{xmlMode:!0,adapter:p.default})},t.prototype.querySelector=function(e){return(0,c.selectOne)(e,this,{xmlMode:!0,adapter:p.default})},t.prototype.getElementsByTagName=function(e){for(var t=e.toUpperCase(),r=[],n=[],i=this,o=0;void 0!==o;){var a=void 0;do{a=i.childNodes[o++]}while(o0&&(n.push(o),i=a,o=0)):(i=i.parentNode,o=n.pop())}return r},t.prototype.getElementById=function(e){for(var t=[],r=this,n=0;void 0!==n;){var i=void 0;do{i=r.childNodes[n++]}while(n0&&(t.push(n),r=i,n=0)}}else r=r.parentNode,n=t.pop()}return null},t.prototype.closest=function(e){var t=new Map,r=this,n=null;function i(e,r){for(var n=null,o=0,a=r.length;o0;)if(this===e[--t])return e[t-1]||null;return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"previousElementSibling",{get:function(){if(this.parentNode){for(var e=this.parentNode.childNodes,r=e.length,n=!1;r>0;){var i=e[--r];if(n){if(i instanceof t)return i||null}else this===i&&(n=!0)}return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"classNames",{get:function(){return this.classList.toString()},enumerable:!1,configurable:!0}),t.prototype.clone=function(){return C(this.toString()).firstChild},t}(d.default);t.default=w;var _=/|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/g,k=/(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,x={area:!0,AREA:!0,base:!0,BASE:!0,br:!0,BR:!0,col:!0,COL:!0,hr:!0,HR:!0,img:!0,IMG:!0,input:!0,INPUT:!0,link:!0,LINK:!0,meta:!0,META:!0,source:!0,SOURCE:!0,embed:!0,EMBED:!0,param:!0,PARAM:!0,track:!0,TRACK:!0,wbr:!0,WBR:!0},E={li:{li:!0,LI:!0},LI:{li:!0,LI:!0},p:{p:!0,div:!0,P:!0,DIV:!0},P:{p:!0,div:!0,P:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},td:{td:!0,th:!0,TD:!0,TH:!0},TD:{td:!0,th:!0,TD:!0,TH:!0},th:{td:!0,th:!0,TD:!0,TH:!0},TH:{td:!0,th:!0,TD:!0,TH:!0},h1:{h1:!0,H1:!0},H1:{h1:!0,H1:!0},h2:{h2:!0,H2:!0},H2:{h2:!0,H2:!0},h3:{h3:!0,H3:!0},H3:{h3:!0,H3:!0},h4:{h4:!0,H4:!0},H4:{h4:!0,H4:!0},h5:{h5:!0,H5:!0},H5:{h5:!0,H5:!0},h6:{h6:!0,H6:!0},H6:{h6:!0,H6:!0}},T={li:{ul:!0,ol:!0,UL:!0,OL:!0},LI:{ul:!0,ol:!0,UL:!0,OL:!0},a:{div:!0,DIV:!0},A:{div:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},i:{div:!0,DIV:!0},I:{div:!0,DIV:!0},p:{div:!0,DIV:!0},P:{div:!0,DIV:!0},td:{tr:!0,table:!0,TR:!0,TABLE:!0},TD:{tr:!0,table:!0,TR:!0,TABLE:!0},th:{tr:!0,table:!0,TR:!0,TABLE:!0},TH:{tr:!0,table:!0,TR:!0,TABLE:!0}},A="documentfragmentcontainer";function S(e,t){void 0===t&&(t={lowerCaseTagName:!1,comment:!1});var r=t.blockTextElements||{script:!0,noscript:!0,style:!0,pre:!0},n=Object.keys(r),i=n.map((function(e){return new RegExp("^".concat(e,"$"),"i")})),o=n.filter((function(e){return r[e]})).map((function(e){return new RegExp("^".concat(e,"$"),"i")}));function a(e){return o.some((function(t){return t.test(e)}))}function s(e){return i.some((function(t){return t.test(e)}))}var c,l=function(e,t){return[e-S,t-S]},p=new w(null,{},"",null,[0,e.length]),d=p,g=[p],m=-1,v=void 0;e="<".concat(A,">").concat(e,"");for(var b=t.lowerCaseTagName,y=e.length-(A.length+2),S=A.length+2;c=_.exec(e);){var C=c[0],N=c[1],L=c[2],D=c[3],O=c[4],q=C.length,B=_.lastIndex-q,R=_.lastIndex;if(m>-1&&m+q"),K=b?e.toLocaleLowerCase().indexOf(G,_.lastIndex):e.indexOf(G,_.lastIndex),$=-1===K?y:K;a(L)&&(P=e.substring(V,$)).length>0&&/\S/.test(P)&&d.appendChild(new h.default(P,d,l(V,$))),-1===K?m=_.lastIndex=e.length+1:(m=_.lastIndex=K+G.length,N="/")}}if(N||O||x[L])for(;;){if("a"!==L&&"A"!==L||(v=void 0),d.rawTagName===L){d.range[1]=l(-1,Math.max(m,R))[1],g.pop(),d=(0,u.default)(g);break}if(H=d.tagName,!T[H]||!T[H][L])break;g.pop(),d=(0,u.default)(g)}}else if(t.comment){P=e.substring(B+4,R-3);d.appendChild(new f.default(P,d,l(B,R)))}}return g}function C(e,t){void 0===t&&(t={lowerCaseTagName:!1,comment:!1});for(var r=S(e,t),n=r[0],i=function(){var e=r.pop(),n=(0,u.default)(r);e.parentNode&&e.parentNode.parentNode&&(e.parentNode===n&&e.tagName===n.tagName?!0!==t.parseNoneClosedTags&&(n.removeChild(e),e.childNodes.forEach((function(e){n.parentNode.appendChild(e)})),r.pop()):!0!==t.parseNoneClosedTags&&(n.removeChild(e),e.childNodes.forEach((function(e){n.appendChild(e)}))))};r.length>1;)i();return n}function N(e,t){return e.map((function(e){return e.parentNode=t,e}))}t.base_parse=S,t.parse=C},9878:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeHTML=t.decodeHTMLStrict=t.decodeXML=void 0;var i=n(r(4374)),o=n(r(1554)),a=n(r(7178)),s=n(r(5096)),c=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function l(e){var t=p(e);return function(e){return String(e).replace(c,t)}}t.decodeXML=l(a.default),t.decodeHTMLStrict=l(i.default);var u=function(e,t){return e{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.nc=void 0;var n={};(()=>{"use strict";function e(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((n=n.apply(e,t||[])).next())}))}r.r(n),r.d(n,{default:()=>ee}),Object.create,Object.create;const t=require("obsidian");var i=r(1326);function o(){}function a(e){return e()}function s(e){e.forEach(a)}function c(e){return"function"==typeof e}function l(e){let t;return function(e,...t){if(null==e)return o;const r=e.subscribe(...t);return r.unsubscribe?()=>r.unsubscribe():r}(e,(e=>t=e))(),t}new Set;const u="undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;class p{constructor(e){this.options=e,this._listeners="WeakMap"in u?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return null!==(e=this._observer)&&void 0!==e?e:this._observer=new ResizeObserver((e=>{var t;for(const r of e)p.entries.set(r.target,r),null===(t=this._listeners.get(r.target))||void 0===t||t(r)}))}}p.entries="WeakMap"in u?new WeakMap:void 0,new Map;let f,d=[];new Set,new Set,new Set(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"]),"function"==typeof HTMLElement&&(f=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){const{on_mount:e}=this.$$;this.$$.on_disconnect=e.map(a).filter(c);for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,r){this[e]=r}disconnectedCallback(){s(this.$$.on_disconnect)}$destroy(){(function(e,t){const r=e.$$;null!==r.fragment&&(function(e){const t=[],r=[];d.forEach((n=>-1===e.indexOf(n)?t.push(n):r.push(n))),r.forEach((e=>e())),d=t}(r.after_update),s(r.on_destroy),r.fragment&&r.fragment.d(t),r.on_destroy=r.fragment=null,r.ctx=[])})(this,1),this.$destroy=o}$on(e,t){if(!c(t))return o;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(t),()=>{const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});const h=[];const g={cookies:[],noteLocation:"/",dailyNotesLocation:"/",insertAfter:"\x3c!-- start of weread --\x3e",insertBefore:"\x3c!-- end of weread --\x3e",dailyNotesFormat:"YYYY-MM-DD",lastCookieTime:-1,isCookieValid:!1,user:"",userVid:"",template:'---\nisbn: {{metaData.isbn}}\nlastReadDate: {{metaData.lastReadDate}}\n---\n# 元数据\n> [!abstract] {{metaData.title}}\n> - ![ {{metaData.title}}|200]({{metaData.cover}})\n> - 书名: {{metaData.title}}\n> - 作者: {{metaData.author}}\n> - 简介: {% set intro = metaData.intro | replace("\\n","") | replace("\\r","") %}{{intro}}\n> - 出版时间: {{metaData.publishTime}}\n> - ISBN: {{metaData.isbn}}\n> - 分类: {{metaData.category}}\n> - 出版社: {{metaData.publisher}}\n> - PC地址:{{metaData.pcUrl}}\n\n# 高亮划线\n{% for chapter in chapterHighlights %}\n{% if chapter.level == 1 %}## {{chapter.chapterTitle}}{% elif chapter.level == 2 %}### {{chapter.chapterTitle}}{% elif chapter.level == 3 %}#### {{chapter.chapterTitle}}{% endif %}\n{% for highlight in chapter.highlights %}{% if highlight.reviewContent %}\n> 📌 {{ highlight.markText |trim }} ^{{highlight.bookmarkId}}\n- 💭 {{highlight.reviewContent}} - ⏱ {{highlight.createTime}} {% else %}\n> 📌 {{ highlight.markText |trim }} \n> ⏱ {{highlight.createTime}} ^{{highlight.bookmarkId}}{% endif %}\n{% endfor %}{% endfor %}\n# 读书笔记\n{% for chapter in bookReview.chapterReviews %}{% if chapter.reviews or chapter.chapterReview %}\n## {{chapter.chapterTitle}}\n{% if chapter.chapterReviews %}{% for chapterReview in chapter.chapterReviews %}\n### 章节评论 No.{{loop.index}}\n- {{chapterReview.content}} ^{{chapterReview.reviewId}}\n - ⏱ {{chapterReview.createTime}} {% endfor %}{% endif %}{% if chapter.reviews %}{% for review in chapter.reviews %}\n### 划线评论\n> 📌 {{review.abstract |trim }} ^{{review.reviewId}}\n - 💭 {{review.content}}\n - ⏱ {{review.createTime}}\n{% endfor %} {% endif %} {% endif %} {% endfor %}\n# 本书评论\n{% if bookReview.bookReviews %}{% for bookReview in bookReview.bookReviews %}\n## 书评 No.{{loop.index}} \n{{bookReview.mdContent}} ^{{bookReview.reviewId}}\n⏱ {{bookReview.createTime}}\n{% endfor %}{% endif %}\n',noteCountLimit:-1,subFolderType:"-1",fileNameType:"BOOK_NAME",removeParens:!1,removeParensWhitelist:"",dailyNotesToggle:!1,notesBlacklist:"",showEmptyChapterTitleToggle:!1,convertTags:!1,saveArticleToggle:!0,saveReadingInfoToggle:!0},m=(()=>{const t=function(e,t=o){let r;const n=new Set;function i(t){if(o=t,((i=e)!=i?o==o:i!==o||i&&"object"==typeof i||"function"==typeof i)&&(e=t,r)){const t=!h.length;for(const t of n)t[1](),h.push(t,e);if(t){for(let e=0;e{n.delete(c),0===n.size&&r&&(r(),r=null)}}}}(g);let r;t.subscribe((t=>e(void 0,void 0,void 0,(function*(){if(r){const e=Object.assign({},t);yield r.saveData(e)}}))));const n=e=>{for(const r of e)"wr_name"==r.name&&""!==r.value&&(console.log("[weread plugin] setting user name=>",r.value),t.update((e=>(e.user=r.value,e)))),"wr_vid"==r.name&&""!==r.value&&(console.log("[weread plugin] setting user vid=>",r.value),t.update((e=>(e.userVid=r.value,e))))};return{subscribe:t.subscribe,initialise:i=>e(void 0,void 0,void 0,(function*(){const e=Object.assign({},g,yield i.loadData()),o=Object.assign({},e);console.log("--------init cookie------",o.cookies),o.cookies.length>1&&n(o.cookies);const a=o.cookies.find((e=>"wr_vid"===e.name));void 0!==a&&""!==a.value||(o.userVid="",o.isCookieValid=!1),t.set(o),r=i})),actions:{setNoteLocationFolder:e=>{t.update((t=>(t.noteLocation=e,t)))},setCookies:e=>{t.update((t=>(t.cookies=e,t.lastCookieTime=(new Date).getTime(),t.isCookieValid=!0,n(e),t)))},clearCookies:()=>{console.log("[weread plugin] cookie已失效,清理cookie..."),t.update((e=>(e.cookies=[],e.lastCookieTime=(new Date).getTime(),e.user="",e.userVid="",e.isCookieValid=!1,e)))},setTemplate:e=>{t.update((t=>(t.template=e,t)))},setNoteCountLimit:e=>{t.update((t=>(t.noteCountLimit=e,t)))},setSubFolderType:e=>{t.update((t=>(t.subFolderType=e,t)))},setFileNameType:e=>{t.update((t=>(t.fileNameType=e,t)))},setRemoveParens:e=>{t.update((t=>(t.removeParens=e,t)))},setRemoveParensWhitelist:e=>{t.update((t=>(t.removeParensWhitelist=e,t)))},setDailyNotesToggle:e=>{t.update((t=>(t.dailyNotesToggle=e,t)))},setDailyNotesFolder:e=>{t.update((t=>(t.dailyNotesLocation=e,t)))},setDailyNotesFormat:e=>{t.update((t=>(t.dailyNotesFormat=e,t)))},setInsertAfter:e=>{t.update((t=>(t.insertAfter=e,t)))},setInsertBefore:e=>{t.update((t=>(t.insertBefore=e,t)))},setNoteBlacklist:e=>{t.update((t=>(t.notesBlacklist=e,t)))},setEmptyChapterTitleToggle:e=>{t.update((t=>(t.showEmptyChapterTitleToggle=e,t)))},setConvertTags:e=>{t.update((t=>(t.convertTags=e,t)))},setSaveArticleToggle:e=>{t.update((t=>(t.saveArticleToggle=e,t)))},setSaveReadingInfoToggle:e=>{t.update((t=>(t.saveReadingInfoToggle=e,t)))}}}})();class v{constructor(){i.configure({autoescape:!1}).addFilter("replace",(function(e,t,r){if(!e)return"";if("string"==typeof t)try{if(!(t.startsWith("/")&&t.lastIndexOf("/")>0))return e.replaceAll(t,r);{const e=t.slice(1,t.lastIndexOf("/")),r=t.slice(t.lastIndexOf("/")+1);t=new RegExp(e,r)}}catch(n){return String(e).replaceAll(t,r)}else if(t instanceof RegExp)return String(e).replace(t,r);return String(e).replaceAll(t,r)}))}validate(e){try{return i.renderString(e,{}),!0}catch(e){return console.error("validate weread template error,please check",e),!1}}render(e){const{metaData:t,chapterHighlights:r,bookReview:n}=e,o={metaData:t,chapterHighlights:r,bookReview:n},a=l(m).template;return i.renderString(a,o)}}var b=r(2424),y=r.n(b);const w=e=>window.moment(1e3*e).format("YYYY-MM-DD"),_="weread-highlights-reviews";var k;!function(e){e[e["未标记"]=1]="未标记",e[e["在读"]=2]="在读",e[e["读过"]=3]="读过",e[e["读完"]=4]="读完"}(k||(k={}));const x=(e,r,n)=>{const i={doc_type:_,bookId:r.metaData.bookId,reviewCount:r.metaData.reviewCount,noteCount:r.metaData.noteCount};if(l(m).saveReadingInfoToggle){i.author=r.metaData.author,i.cover=r.metaData.cover;const e=r.metaData.readInfo;e&&(i.readingStatus=k[e.markedStatus],i.progress=void 0===e.readingProgress?"-1":e.readingProgress+"%",i.totalReadDay=e.totalReadDay,i.readingTime=(o=e.readingTime,`${Math.floor(o/3600)}小时${Math.floor(o%3600/60)}分钟`),i.readingDate=w(e.readingBookDate),e.finishedDate&&(i.finishedDate=w(e.finishedDate)))}var o;let a=Object();if(n){if(a=app.metadataCache.getFileCache(n).frontmatter,void 0===a)throw new t.Notice("weread front matter invalid"),Error("weread front matter invalid");delete a.position}const s=e.indexOf("---");let c=Object();if(-1!==s){const r=e.indexOf("---")+4,n=e.substring(r).indexOf("---")-1,o=e.substring(r,r+n);c=(0,t.parseYaml)(o);const s=e.substring(n+4),l=Object.assign(Object.assign(Object.assign({},a),i),c);return"---\n"+(0,t.stringifyYaml)(l)+s}return"---\n"+(0,t.stringifyYaml)(i)+"---\n"+e};class E{constructor(e,t){this.getWereadNoteAnnotationFile=e=>{const t=this.metadataCache.getFileCache(e),r=null==t?void 0:t.frontmatter;return(null==r?void 0:r.doc_type)===_&&void 0!==(null==r?void 0:r.bookId)?{file:e,bookId:r.bookId,reviewCount:r.reviewCount,noteCount:r.noteCount,new:!1}:null},this.vault=e,this.metadataCache=t,this.renderer=new v}saveDailyNotes(r,n){return e(this,void 0,void 0,(function*(){const e=yield this.fileExists(r),i=this.buildAppendContent(n);if(e){const e=yield this.getFileByPath(r),t=yield this.vault.cachedRead(e),n=yield this.insertAfter(t,i);this.vault.modify(e,n)}else new t.Notice("没有找到Daily Note,请先创建"+r)}))}buildAppendContent(e){return e.map((e=>"\n### ".concat(e.metaData.title).concat("\n")+e.refBlocks.map((t=>`![[${this.getFileName(e.metaData)}#^${t.refBlockId}]]`)).join("\n"))).join("\n")}getDailyNotePath(e){let r;const n=l(m).dailyNotesFormat;try{r=e.format(n)}catch(e){throw new t.Notice("Daily Notes 日期格式不正确"+n),e}return l(m).dailyNotesLocation+"/"+r+".md"}fileExists(t){return e(this,void 0,void 0,(function*(){return yield this.vault.adapter.exists(t)}))}getFileByPath(r){return e(this,void 0,void 0,(function*(){const e=yield this.vault.getAbstractFileByPath(r);return e?e instanceof t.TFolder?(console.error(`${r} found but it's a folder`),null):e instanceof t.TFile?e:void 0:(console.error(`${r} not found`),null)}))}insertAfter(r,n){return e(this,void 0,void 0,(function*(){const e=l(m).insertAfter,i=new RegExp(`s*${e}s*`),o=(e=>{const t=[];let r=e;for(;r.contains("\n");){const e=r.indexOf("\n");t.push(r.slice(0,e)),r=r.slice(e+1)}return t.push(r),t})(r).findIndex((e=>i.test(e)));if(-1===o)throw new t.Notice(`没有在Daily Note中找到区间开始:${e}!请检查Daily Notes设置`),new Error("cannot find "+e);return this.insertTextAfterPosition(n,r,o)}))}insertTextAfterPosition(e,r,n){const i=r.split("\n"),o=i.slice(0,n+1).join("\n"),a=i.slice(n+1),s=l(m).insertBefore,c=a.findIndex((e=>new RegExp(`s*${s}s*`).test(e)));if(-1===c)throw new t.Notice(`没有在Daily Note中找到区间结束:${s}!请检查Daily Notes设置`),new Error("cannot find "+s);return`${o}\n${e}\n${a.slice(c-1).join("\n")}`}saveNotebook(t){return e(this,void 0,void 0,(function*(){const e=t.metaData.file;if(e){if(e.new){const r=e.file;console.log(`Updating ${r.path}`);const n=this.renderer.render(t),i=x(n,t,r);yield this.vault.modify(r,i)}}else{const e=yield this.getNewNotebookFilePath(t);console.log(`Creating ${e}`);const r=this.renderer.render(t),n=x(r,t);yield this.vault.create(e,n)}}))}getNotebookFiles(){return e(this,void 0,void 0,(function*(){return this.vault.getMarkdownFiles().map((e=>{const t=this.metadataCache.getFileCache(e);return{file:e,frontmatter:null==t?void 0:t.frontmatter}})).filter((({frontmatter:e})=>(null==e?void 0:e.doc_type)===_)).map((({file:e,frontmatter:t})=>({file:e,bookId:t.bookId,reviewCount:t.reviewCount,noteCount:t.noteCount,new:!0})))}))}getNewNotebookFilePath(t){return e(this,void 0,void 0,(function*(){const e=`${l(m).noteLocation}/${this.getSubFolderPath(t.metaData)}`;return(yield this.vault.adapter.exists(e))||(console.info(`Folder ${e} not found. Will be created`),yield this.vault.createFolder(e)),`${e}/${this.getFileName(t.metaData)}.md`}))}getFileName(e){const t=l(m).fileNameType,r=(e=>{const t=e.replace(/[':#|]/g,"").trim();return y()(t)})(e.title),n=l(m).removeParens,i=(l(m).removeParensWhitelist||"").split(/\r?\n/).map((e=>e.trim())).filter(Boolean).some((e=>r.includes(e)));let o=r;switch(n&&!i&&(o=r.replace(/(.*)/g,"")),t){case"BOOK_ID":return e.bookId;case"BOOK_NAME_AUTHOR":return e.duplicate?`${o}-${e.author}-${e.bookId}`:`${o}-${e.author}`;case"BOOK_NAME_BOOKID":return`${o}-${e.bookId}`;case"BOOK_NAME":return e.duplicate?`${o}-${e.bookId}`:o;default:return o}}getSubFolderPath(e){const t=l(m).subFolderType;return"title"==t?e.title:"category"==t?e.category?e.category.split("-")[0]:"公众号"===e.author?"公众号":"未分类":""}}var T=r(4770),A=r(1396);const S=e=>e.replace(/(?<=^|\s)#([^\s]+)/g,"[[$1]]"),C=e=>{if(void 0===e||""==e)return e;const t=e.split("\n");for(let e=1;e{const t=l(m).convertTags;return e.reviews.map((e=>{var r;const n=e.review,i=n.createTime,o=window.moment(1e3*i).format("YYYY-MM-DD HH:mm:ss"),a=(n.htmlContent?T.lW.translate(n.htmlContent):null)||n.content,s=t?S(a):a,c=n.reviewId;return{bookId:n.bookId,created:i,createTime:o,chapterUid:n.chapterUid,chapterTitle:n.chapterTitle||(null===(r=n.refMpInfo)||void 0===r?void 0:r.title),content:t?S(n.content):n.content,reviewId:null==c?void 0:c.replace(/[_~]/g,"-"),mdContent:s,range:n.range,abstract:n.abstract,type:n.type}}))};class L{constructor(e,t){this.fileManager=e,this.apiManager=t}syncNotebook(r){return e(this,void 0,void 0,(function*(){const e=(yield this.getALlMetadata()).find((e=>e.bookId===r.bookId));if(r.new=!0,e.file=r,e){const r=yield this.convertToNotebook(e);yield this.saveNotebook(r),new t.Notice(`当前笔记 《${e.title}》 同步成功!`)}else new t.Notice("当前笔记元数据缺少,同步失败!")}))}syncNotebooks(r=!1,n){return e(this,void 0,void 0,(function*(){new t.Notice("微信读书笔记同步开始!");const e=(new Date).getTime(),i=yield this.getALlMetadata(),o=yield this.filterNoteMetas(r,i);let a=0;const s=new t.Notice("微信读书笔记同步中, 请稍后!",3e5);try{for(const e of o){const t=yield this.convertToNotebook(e);if(yield this.saveNotebook(t),a++,a%10==0||a===o.length){const e=a/o.length*100;s.setMessage(`微信读书笔记同步中, 请稍后!正在更新 ${o.length} 本书 ,更新进度 ${e.toFixed(0)}%`)}}}finally{s.hide()}this.saveToJounal(n,i);const c=(((new Date).getTime()-e)/1e3).toFixed(2);new t.Notice(`微信读书笔记同步完成!, 总共 ${i.length} 本书 , 本次更新 ${o.length} 本书, 耗时${c} 秒`)}))}syncNotesToJounal(t){return e(this,void 0,void 0,(function*(){const e=yield this.getALlMetadata();this.saveToJounal(t,e)}))}convertToNotebook(t){return e(this,void 0,void 0,(function*(){const e=yield this.apiManager.getBook(t.bookId);e&&(t.category=e.category,t.publisher=e.publisher,t.isbn=e.isbn,t.intro=e.intro,t.totalWords=e.totalWords,t.rating=e.newRating/10+"%");const r=yield this.apiManager.getProgress(t.bookId);r&&r.book&&(t.readInfo={readingProgress:r.book.progress,readingTime:r.book.readingTime,readingBookDate:r.book.startReadingTime,finishedDate:r.book.finishTime});const n=yield this.apiManager.getNotebookHighlights(t.bookId),i=yield this.apiManager.getNotebookReviews(t.bookId),o=yield this.apiManager.getChapters(t.bookId),a=((e,t)=>{const r=l(m).convertTags;return e.updated.map((n=>{var i;const o=n.range;let a;if(t.reviews){const e=t.reviews.map((e=>e.review)).filter((e=>e.range===o)).first();e&&(a=r?S(e.content):e.content)}const s=e.chapters.filter((e=>e.chapterUid===n.chapterUid)).first(),c=C(n.markText);return{bookmarkId:null===(i=n.bookmarkId)||void 0===i?void 0:i.replace(/[_~]/g,"-"),created:n.createTime,createTime:window.moment(1e3*n.createTime).format("YYYY-MM-DD HH:mm:ss"),chapterUid:n.chapterUid,chapterIdx:(null==s?void 0:s.chapterIdx)||n.chapterUid,refMpReviewId:n.refMpReviewId,range:n.range,style:n.style,colorStyle:n.colorStyle,chapterTitle:(null==s?void 0:s.title)||"未知章节",markText:c,reviewContent:C(a)}}))})(n,i),s=N(i),c=((e,t)=>void 0===e?[]:void 0!==e.data&&e.data[0].updated.length>0?e.data[0].updated:void 0!==t.refMpInfos?t.refMpInfos.map((e=>({refMpReviewId:e.reviewId,updateTime:e.createTime,title:e.title,isMPChapter:1,level:2}))):[])(o,n);let u;3===t.bookType?(console.log("sync 公众号:",t.title),u=((e,t,r)=>{const n=[];for(const i of e){const e=i.refMpReviewId,o=i.title,a=t.filter((t=>t.refMpReviewId===e)).sort(((e,t)=>parseInt(e.range.split("-")[0])-parseInt(t.range.split("-")[0])));let s;a&&a.length>0&&r&&(s=r.filter((t=>{var r;return e==(null===(r=t.refMpInfo)||void 0===r?void 0:r.reviewId)})).sort(((e,t)=>void 0===e.range&&void 0===t.range?0:void 0===e.range?1:void 0===t.range?-1:parseInt(e.range.split("-")[0])-parseInt(t.range.split("-")[0])))),a&&a.length>0&&n.push({chapterTitle:o,level:i.level,isMPChapter:i.isMPChapter,chapterReviews:s,highlights:a})}return n.sort(((e,t)=>e.chapterIdx-t.chapterIdx))})(c,a,s),console.log("sync 公众号 result",t.title,u)):u=((e,t,r)=>{const n=[];for(const i of e){const e=i.chapterUid,o=i.chapterIdx,a=i.title,s=t.filter((t=>t.chapterUid==e)).sort(((e,t)=>parseInt(e.range.split("-")[0])-parseInt(t.range.split("-")[0])));let c;s&&s.length>0&&r&&(c=r.filter((t=>e==t.chapterUid&&1==t.type)).sort(((e,t)=>void 0===e.range&&void 0===t.range?0:void 0===e.range?1:void 0===t.range?-1:parseInt(e.range.split("-")[0])-parseInt(t.range.split("-")[0]))));const u=l(m).showEmptyChapterTitleToggle;(s&&s.length>0||u)&&n.push({chapterUid:e,chapterIdx:o,chapterTitle:a,level:i.level,isMPChapter:i.isMPChapter,chapterReviews:c,highlights:s})}return n.sort(((e,t)=>e.chapterIdx-t.chapterIdx))})(c,a,s);const p=(e=>{const t=N(e),r=t.filter((e=>1==e.type));r.sort(((e,t)=>void 0===e.range&&void 0===t.range?0:void 0===e.range?1:void 0===t.range?-1:parseInt(e.range.split("-")[0])-parseInt(t.range.split("-")[0])));const n=t.filter((e=>4==e.type)),i=new Map;for(const e of r){const t=e.chapterUid,r=e.chapterTitle;if(null==i.get(e.chapterUid)){const n={chapterUid:t,chapterTitle:r,reviews:[],chapterReviews:[]};e.range?n.reviews.push(e):n.chapterReviews.push(e),i.set(e.chapterUid,n)}else{const t=i.get(e.chapterUid);e.range?t.reviews.push(e):t.chapterReviews.push(e)}}return{bookReviews:n,chapterReviews:Array.from(i.values()).sort(((e,t)=>e.chapterUid-t.chapterUid))}})(i);return{metaData:t,chapterHighlights:u,bookReview:p}}))}filterNoteMetas(t=!1,r){return e(this,void 0,void 0,(function*(){const e=yield this.fileManager.getNotebookFiles(),n=this.getDuplicateBooks(r),i=[];for(const o of r){if(!l(m).saveArticleToggle&&3===o.bookType)continue;if(o.noteCount<+l(m).noteCountLimit){console.info(`[weread plugin] skip book ${o.title} note count: ${o.noteCount}`);continue}const r=yield this.getLocalNotebookFile(o,e,t);r&&!r.new||(l(m).notesBlacklist.includes(o.bookId)?console.info(`[weread plugin] skip book ${o.title},id:${o.bookId} for blacklist`):(o.file=r,n.has(o.title)&&(o.duplicate=!0),i.push(o)))}return i}))}getALlMetadata(){return e(this,void 0,void 0,(function*(){return(yield this.apiManager.getNotebooksWithRetry()).map((e=>(e=>{const t=e.book,r=t.cover.replace("/s_","/t7_"),n=window.moment(1e3*e.sort).format("YYYY-MM-DD"),i=(e=>{const t=A.MD5(e).toString(A.enc.Hex),r=(e=>{if(/^\d*$/.test(e)){const t=[];for(let r=0;re.lastReadDate===t)),n=[];for(const t of e){const e=yield this.convertToNotebook(t);n.push(e)}if(l(m).dailyNotesToggle){const e=(e=>{const t=window.moment().format("YYYYMMDD"),r=[];for(const n of e){const e=n.chapterHighlights.flatMap((e=>e.highlights)).filter((e=>{const r=window.moment(1e3*e.created).format("YYYYMMDD");return t===r})),i=[];if(e)for(const t of e)i.push({refBlockId:t.bookmarkId,createTime:t.created});i.length>0&&r.push({metaData:n.metaData,refBlocks:i})}return r})(n),t=this.fileManager.getDailyNotePath(window.moment());console.log("get daily note path",t," size:",e.length),this.fileManager.saveDailyNotes(t,e)}}))}getDuplicateBooks(e){const t=e.map((e=>e.title)),r=new Set(t),n=t.filter((e=>{if(!r.has(e))return e;r.delete(e)}));return new Set(n)}getLocalNotebookFile(t,r,n=!1){return e(this,void 0,void 0,(function*(){const e=r.find((e=>e.bookId===t.bookId))||null;return e?(e.noteCount!=t.noteCount||e.reviewCount!=t.reviewCount||n?e.new=!0:e.new=!1,e):null}))}saveNotebook(t){return e(this,void 0,void 0,(function*(){try{yield this.fileManager.saveNotebook(t)}catch(e){console.log("[weread plugin] sync note book error",t.metaData.title,e)}}))}}var D=r(4635);class O{constructor(){this.baseUrl="https://weread.qq.com"}getHeaders(){return{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36","Accept-Encoding":"gzip, deflate, br","Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8",accept:"application/json, text/plain, */*","Content-Type":"application/json",Cookie:(e=l(m).cookies,e.map((e=>{const t=e.name,r=e.value;return t+"="+(-1!==r.indexOf("%")?decodeURIComponent(r):r)})).join(";"))};var e}refreshCookie(){return e(this,void 0,void 0,(function*(){const e={url:this.baseUrl,method:"HEAD",headers:this.getHeaders()},r=yield(0,t.requestUrl)(e),n=r.headers["set-cookie"]||r.headers["Set-Cookie"];void 0===n?new t.Notice("尝试刷新Cookie失败"):(new t.Notice("cookie已过期,尝试刷新Cookie成功"),this.updateCookies(n))}))}getNotebooksWithRetry(){return e(this,void 0,void 0,(function*(){let e=yield this.getNotebooks();if(void 0!==e&&0!==e.length||(e=yield this.getNotebooks()),void 0===e||0===e.length)throw new t.Notice("长时间未登录,Cookie已失效,请重新扫码登录!"),m.actions.clearCookies(),Error("get weread note book error after retry");return e}))}getNotebooks(){return e(this,void 0,void 0,(function*(){let e=[];const r={url:`${this.baseUrl}/api/user/notebook`,method:"GET",headers:this.getHeaders()};try{const n=yield(0,t.requestUrl)(r);401===n.status?-2012==n.json.errcode?(console.log("weread cookie expire retry refresh cookie... "),yield this.refreshCookie()):(t.Platform.isDesktopApp?new t.Notice("微信读书未登录或者用户异常,请在设置中重新登录!"):new t.Notice("微信读书未登录或者用户异常,请在电脑端重新登录!"),console.log("微信读书未登录或者用户异常,请重新登录, http status code:",n.json.errcode),m.actions.clearCookies()):-2012==n.json.errcode&&(console.log("weread cookie expire retry refresh cookie... "),yield this.refreshCookie()),e=n.json.books}catch(e){401==e.status&&(console.log(`parse request to cURL for debug: ${this.parseToCurl(r)}`),yield this.refreshCookie())}return e}))}parseToCurl(e){const t=["curl"];t.push(e.url);const r=e.headers;return Object.keys(r).forEach((e=>{t.push("-H"),t.push(this.escapeStringPosix(e.replace(/^:/,"")+": "+r[e]))})),t.push(" --compressed"),t.join(" ")}escapeStringPosix(e){return/[^\x20-\x7E]|'/.test(e)?"$'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[^\x20-\x7E]/g,(function(e){let t=e.charCodeAt(0);return t<256?t<16?"\\x0"+t.toString(16):"\\x"+t.toString(16):(t=t.toString(16),"\\u"+("0000"+t).substr(t.length,4))}))+"'":"'"+e+"'"}getBook(r){return e(this,void 0,void 0,(function*(){try{const e={url:`${this.baseUrl}/web/book/info?bookId=${r}`,method:"GET",headers:this.getHeaders()},n=yield(0,t.requestUrl)(e);return-2012==n.json.errCode&&(console.log("weread cookie expire retry refresh cookie... "),yield this.refreshCookie()),n.json}catch(e){console.error("get book detail error",e)}}))}getNotebookHighlights(r){return e(this,void 0,void 0,(function*(){try{const e={url:`${this.baseUrl}/web/book/bookmarklist?bookId=${r}`,method:"GET",headers:this.getHeaders()};return(yield(0,t.requestUrl)(e)).json}catch(e){console.error("get book highlight error"+r,e)}}))}getNotebookReviews(r){return e(this,void 0,void 0,(function*(){try{const e={url:`${this.baseUrl}/web/review/list?bookId=${r}&listType=11&mine=1&synckey=0`,method:"GET",headers:this.getHeaders()};return(yield(0,t.requestUrl)(e)).json}catch(e){new t.Notice("Failed to fetch weread notebook reviews . Please check your Cookies and try again."),console.error("get book review error"+r,e)}}))}getChapters(r){return e(this,void 0,void 0,(function*(){try{const e=`${this.baseUrl}/web/book/chapterInfos`,n={bookIds:[r]},i={url:e,method:"POST",headers:this.getHeaders(),body:JSON.stringify(n)};return(yield(0,t.requestUrl)(i)).json}catch(e){new t.Notice("Failed to fetch weread notebook chapters . Please check your Cookies and try again."),console.error("get book chapters error"+r,e)}}))}getProgress(r){return e(this,void 0,void 0,(function*(){try{const e={url:`${this.baseUrl}/web/book/getProgress?bookId=${r}`,method:"GET",headers:this.getHeaders()};return(yield(0,t.requestUrl)(e)).json}catch(e){new t.Notice("获取微信读书阅读进度信息失败,请检查您的 Cookies 并重试。"),console.error("get book progress error for bookId: "+r,e)}}))}getBookReadInfo(r){return e(this,void 0,void 0,(function*(){try{const e={url:`${this.baseUrl}/web/book/readinfo?bookId=${r}&readingDetail=1&readingBookIndex=1&finishedDate=1`,method:"GET",headers:this.getHeaders()};return(yield(0,t.requestUrl)(e)).json}catch(e){new t.Notice("Failed to fetch weread notebook read info . Please check your Cookies and try again."),console.error("get book read info error"+r,e)}}))}updateCookies(e){let t;if(Array.isArray(e))t=(0,D.parse)(e);else{const r=(0,D.splitCookiesString)(e);t=(0,D.parse)(r)}const r=l(m).cookies;r.forEach((e=>{const r=t.find((t=>t.name==e.name));r&&(e.value=r.value)})),m.actions.setCookies(r)}}class q{constructor(e){this.settingTab=e;const{remote:t}=r(1288),{BrowserWindow:n}=t;this.modal=new n({parent:t.getCurrentWindow(),width:960,height:540,show:!1}),this.modal.once("ready-to-show",(()=>{this.modal.setTitle("登录微信读书~"),this.modal.show()}));const i=this.modal.webContents.session;i.webRequest.onCompleted({urls:["https://weread.qq.com/api/auth/getLoginInfo?uid=*"]},(e=>{200==e.statusCode&&(console.log("weread login success, redirect to weread shelf"),this.modal.loadURL("https://weread.qq.com/web/shelf"))})),i.webRequest.onSendHeaders({urls:["https://weread.qq.com/web/user?userVid=*"]},(t=>{const r=""===(n=t.requestHeaders.Cookie)?[]:n.split(";").map((e=>e.split("="))).map((e=>({name:decodeURIComponent(e[0].trim()),value:decodeURIComponent(e[1].trim())})));var n;""!==r.find((e=>"wr_name"==e.name)).value?(m.actions.setCookies(r),e.display(),this.modal.close()):this.modal.reload()}))}doLogin(){return e(this,void 0,void 0,(function*(){try{yield this.modal.loadURL("https://weread.qq.com/#login")}catch(e){console.log(e),new t.Notice("加载微信读书登录页面失败")}}))}onClose(){this.modal.close()}}class B{constructor(e){this.settingTab=e;const{remote:t}=r(1288),{BrowserWindow:n}=t;this.modal=new n({parent:t.getCurrentWindow(),width:960,height:540,show:!1}),this.modal.once("ready-to-show",(()=>{this.modal.setTitle("注销微信读书,点击头像选择->退出登录"),this.modal.show()})),this.modal.webContents.session.webRequest.onCompleted({urls:["https://weread.qq.com/api/auth/logout"]},(e=>{200!=e.statusCode&&204!=e.statusCode||(console.log("weread logout success, clear cookies..."),m.actions.clearCookies(),this.settingTab.display(),this.modal.close())}))}doLogout(){return e(this,void 0,void 0,(function*(){yield this.modal.loadURL("https://weread.qq.com")}))}onClose(){this.modal.close()}}var R=r(826),P=r.n(R);class j extends t.PluginSettingTab{constructor(e,t){super(e,t),this.plugin=t,this.renderer=new v}display(){const{containerEl:e}=this;e.empty(),e.createEl("h2",{text:"设置微信读书插件"});const r=l(m).isCookieValid;t.Platform.isDesktopApp?r?this.showLogout():this.showLogin():r?this.showMobileLogout():this.showMobileLogin(),this.notebookFolder(),this.notebookBlacklist(),this.noteCountLimit(),this.fileNameType(),this.removeParens(),this.subFolderType(),this.convertTagToggle(),this.saveArticleToggle(),this.saveReadingInfoToggle(),this.showEmptyChapterTitleToggle(),this.dailyNotes(),l(m).dailyNotesToggle&&(this.dailyNotesFolder(),this.dailyNoteFormat(),this.insertAfter()),this.template(),t.Platform.isDesktopApp&&this.showDebugHelp()}showMobileLogin(){this.containerEl.createDiv().setText("微信读书未登录,请先在电脑端登录!")}showMobileLogout(){this.containerEl.createDiv().setText(`微信读书已登录,用户名:${l(m).user}`)}notebookFolder(){new t.Setting(this.containerEl).setName("笔记保存位置").setDesc("请选择Obsidian Vault中微信读书笔记存放的位置").addDropdown((t=>{const r=this.app.vault.adapter.files,n=P()(r,(e=>"folder"===e.type));return Object.keys(n).forEach((e=>{t.addOption(e,e)})),t.setValue(l(m).noteLocation).onChange((t=>e(this,void 0,void 0,(function*(){m.actions.setNoteLocationFolder(t)}))))}))}notebookBlacklist(){new t.Setting(this.containerEl).setName("书籍黑名单").setDesc("请填写不同步的bookId,bookId可在meta信息中找到,多本书使用逗号「,」隔开").addTextArea((e=>{e.setValue(l(m).notesBlacklist).onChange((e=>{m.actions.setNoteBlacklist(e)}))}))}showLogin(){new t.Setting(this.containerEl).setName("登录微信读书").addButton((t=>t.setButtonText("登录").setCta().onClick((()=>e(this,void 0,void 0,(function*(){t.setDisabled(!0);const e=new q(this);yield e.doLogin(),this.display()}))))))}saveArticleToggle(){new t.Setting(this.containerEl).setName("同步公众号文章?").setDesc("开启此选项会将同步公众号文章到单独的笔记中").addToggle((e=>e.setValue(l(m).saveArticleToggle).onChange((e=>{m.actions.setSaveArticleToggle(e),this.display()}))))}saveReadingInfoToggle(){new t.Setting(this.containerEl).setName("保存阅读元数据?").setDesc("开启此选项会阅读数据写入frontmatter").addToggle((e=>e.setValue(l(m).saveReadingInfoToggle).onChange((e=>{m.actions.setSaveReadingInfoToggle(e),this.display()}))))}convertTagToggle(){new t.Setting(this.containerEl).setName("将标签转换为双链?").setDesc("开启此选项会笔记中的 #标签 转换为:[[标签]]").addToggle((e=>e.setValue(l(m).convertTags).onChange((e=>{m.actions.setConvertTags(e),this.display()}))))}dailyNotes(){new t.Setting(this.containerEl).setName("是否保存笔记到 DailyNotes?").setHeading().addToggle((e=>e.setValue(l(m).dailyNotesToggle).onChange((e=>{console.debug("set daily notes toggle to",e),m.actions.setDailyNotesToggle(e),this.display()}))))}dailyNotesFolder(){new t.Setting(this.containerEl).setName("Daily Notes文件夹").setDesc("请选择Daily Notes文件夹").addDropdown((t=>{const r=this.app.vault.adapter.files,n=P()(r,(e=>"folder"===e.type));return Object.keys(n).forEach((e=>{t.addOption(e,e)})),t.setValue(l(m).dailyNotesLocation).onChange((t=>e(this,void 0,void 0,(function*(){m.actions.setDailyNotesFolder(t)}))))}))}dailyNoteFormat(){new t.Setting(this.containerEl).setName("Daily Notes Format").setDesc("请填写Daily Notes文件名格式,支持官方Daily Notes插件的格式,比如:YYYY-MM-DD \t\t\t\t 和 Periodic Notes的嵌套格式,比如 YYYY/[W]ww/YYYY-MM-DD").addText((e=>{e.setValue(l(m).dailyNotesFormat).onChange((e=>{m.actions.setDailyNotesFormat(e)}))}))}insertAfter(){new t.Setting(this.containerEl).setName("在特定区间之内插入").setDesc("请填写Daily Notes中希望读书笔记插入的区间,使用前记得修改Daily Notes模板🫡, 💥注意: 区间之内的内容会被覆盖,请不要在区间内修改内容,").addText((e=>{e.setValue(l(m).insertAfter).onChange((e=>{m.actions.setInsertAfter(e)}))})).addButton((e=>e.setButtonText("至").buttonEl.style.borderStyle="none")).addText((e=>{e.setValue(l(m).insertBefore).onChange((e=>{m.actions.setInsertBefore(e)}))}))}subFolderType(){new t.Setting(this.containerEl).setName("文件夹分类").setDesc("请选择按照哪个维度对笔记文件进行分类").addDropdown((t=>(t.addOptions({"-1":"无分类",title:"书名",category:"图书分类"}),t.setValue(l(m).subFolderType).onChange((t=>e(this,void 0,void 0,(function*(){m.actions.setSubFolderType(t)})))))))}fileNameType(){new t.Setting(this.containerEl).setName("文件名模板").setDesc("你选择你喜欢的文件名模板,重复的书会在文件名后加上ID").addDropdown((t=>(t.addOptions({BOOK_ID:"bookId",BOOK_NAME:"书名",BOOK_NAME_AUTHOR:"书名-作者名",BOOK_NAME_BOOKID:"书名-bookId"}),t.setValue(l(m).fileNameType).onChange((t=>e(this,void 0,void 0,(function*(){m.actions.setFileNameType(t)})))))))}removeParens(){new t.Setting(this.containerEl).setName("移除书名中的括号内容").setDesc("是否移除书名中的括号及其内部文字(注:谨慎启用,可能导致重名)").addToggle((e=>e.setValue(l(m).removeParens).onChange((e=>{m.actions.setRemoveParens(e),this.display()})))),l(m).removeParens&&new t.Setting(this.containerEl).setName("括号移除白名单").setDesc("如文件名包含下列任意文本,则不移除括号。每行一个关键词。").addTextArea((e=>{e.setValue(l(m).removeParensWhitelist||"").onChange((e=>{m.actions.setRemoveParensWhitelist(e)}))}))}showLogout(){document.createRange().createContextualFragment;const r=document.createRange().createContextualFragment("1. 登录:点击登录按钮,在弹出页面【扫码登录】。\n 2. 注销:点击注销,在弹出书架页面右上角点击头像,下拉菜单选择【退出登录】");new t.Setting(this.containerEl).setName(`微信读书已登录,用户名: ${l(m).user}`).setDesc(r).addButton((t=>t.setButtonText("注销").setCta().onClick((()=>e(this,void 0,void 0,(function*(){t.setDisabled(!0);const e=new B(this);yield e.doLogout(),this.display()})))))).addButton((r=>r.setButtonText("拷贝Cookie").setCta().onClick((()=>e(this,void 0,void 0,(function*(){const e=l(m).cookies.map((e=>{const t=e.name,r=e.value;return t+"="+encodeURIComponent(r)})).join(";");navigator.clipboard.writeText(e).then((function(){new t.Notice("拷贝Cookie到剪切板成功!")}),(function(e){new t.Notice("拷贝Cookie到剪切板失败!"),console.error("拷贝微信读书Cookie失败",e)}))}))))))}template(){const r=document.createRange().createContextualFragment('模板使用说明\n

\n

可用变量

\n

\n元数据变量(metaData)\n
    \n
  • {{title}} - 书名
  • \n
  • {{author}} - 作者
  • \n
  • {{cover}} - 封面
  • \n
  • {{intro}} - 书籍简介
  • \n
  • {{bookId}} - 微信图书ID
  • \n
  • {{publishTime}} - 出版时间
  • \n
  • {{noteCount}} - 划线数量
  • \n
  • {{reviewCount}} - 笔记数量
  • \n
  • {{isbn}} - ISBN
  • \n
  • {{category}} - 分类
  • \n
  • {{publisher}} - 出版社
  • \n
  • {{readInfo}} - 阅读信息, 点击查看详情
  • \n
\n划线变量(chapterHighlights)\n
    \n
  • {{chapterUid}} - 章节ID
  • \n
  • {{chapterTitle}} - 章节标题
  • \n
  • {{createTime}} - 创建时间
  • \n
  • {{range}} - 划线范围
  • \n
  • {{markText}} - 划线文本
  • \n
\n笔记笔记(bookReview)\n
    \n
  • {{reviewId}} - reviewId
  • \n
  • {{chapterUid}} - 章节ID
  • \n
  • {{chapterTitle}} - 章节标题
  • \n
  • {{createTime}} - 创建时间
  • \n
  • {{abstract}} - 摘录内容
  • \n
  • {{content}} - 笔记内容
  • \n
  • {{mdContent}} - markdown笔记格式
  • \n
  • {{type}} - 类型
  • \n
  • {{range}} - 范围
  • \n
\n');new t.Setting(this.containerEl).setName("笔记模板").setDesc(r).addTextArea((t=>(t.inputEl.style.width="100%",t.inputEl.style.height="540px",t.inputEl.style.fontSize="0.8em",t.setValue(l(m).template).onChange((r=>e(this,void 0,void 0,(function*(){const e=this.renderer.validate(r);e&&m.actions.setTemplate(r),t.inputEl.style.border=e?"":"2px solid red"})))),t)))}noteCountLimit(){new t.Setting(this.containerEl).setName("笔记划线数量最小值").setDesc("划线数量小于该值的笔记将不会被同步").addDropdown((t=>{t.addOptions({"-1":"无限制",3:"3条",5:"5条",10:"10条",15:"15条",30:"30条"}).setValue(l(m).noteCountLimit.toString()).onChange((t=>e(this,void 0,void 0,(function*(){console.log("[weread plugin] new note count limit",t),m.actions.setNoteCountLimit(+t)}))))}))}showDebugHelp(){const e=this.containerEl.createDiv();e.setAttr("align","center"),e.setText("查看控制台日志: 使用以下快捷键快速打开控制台,查看本插件以及其他插件的运行日志");const r=this.containerEl.createDiv();r.setAttr("align","center"),r.style.margin="10px",!0===t.Platform.isMacOS?r.createEl("kbd",{text:"CMD (⌘) + OPTION (⌥) + I"}):r.createEl("kbd",{text:"CTRL + SHIFT + I"})}showEmptyChapterTitleToggle(){new t.Setting(this.containerEl).setName("展示空白章节标题?").setDesc("如果启用,则章节内没有划线也将展示章节标题").setHeading().addToggle((e=>e.setValue(l(m).showEmptyChapterTitleToggle).onChange((e=>{console.debug("set empty chapter title toggle to",e),m.actions.setEmptyChapterTitleToggle(e),this.display()}))))}}const M="weread-reading-view";class I extends t.ItemView{constructor(e){super(e)}getViewType(){return M}getDisplayText(){return"微信读书"}getIcon(){return"book-open"}onClose(){return e(this,void 0,void 0,(function*(){}))}onOpen(){return e(this,void 0,void 0,(function*(){this.webviewEl=this.contentEl.doc.createElement("webview"),this.webviewEl.setAttribute("allowpopups",""),this.webviewEl.addClass("weread-frame"),this.webviewEl.setAttribute("src","https://r.qq.com"),this.leaf.setViewState({type:M,active:!0}),this.contentEl.appendChild(this.webviewEl),this.contentEl.addClass("weread-view-content")}))}}var F=r(5072),U=r.n(F),H=r(7825),V=r.n(H),z=r(7659),G=r.n(z),K=r(5056),$=r.n(K),W=r(540),Y=r.n(W),J=r(1113),X=r.n(J),Z=r(1083),Q={};Q.styleTagTransform=X(),Q.setAttributes=$(),Q.insert=G().bind(null,"head"),Q.domAPI=V(),Q.insertStyleElement=Y(),U()(Z.A,Q),Z.A&&Z.A.locals&&Z.A.locals;class ee extends t.Plugin{constructor(){super(...arguments),this.syncing=!1}onload(){return e(this,void 0,void 0,(function*(){console.log("load weread plugin"),m.initialise(this);const e=new E(this.app.vault,this.app.metadataCache),r=new O;this.syncNotebooks=new L(e,r),this.addRibbonIcon("book-open","同步微信读书笔记",(e=>{0===e.button&&this.startSync()})).addEventListener("contextmenu",(e=>{e.preventDefault(),e.stopPropagation();const r=e=>{e.preventDefault()};window.addEventListener("mousedown",r);const n=new t.Menu;n.addItem((e=>e.setTitle("同步微信读书笔记").setIcon("refresh-ccw").onClick((()=>{this.startSync()})))),n.addItem((e=>e.setTitle("强制同步微信读书笔记").setIcon("refresh-ccw-dot").onClick((()=>{this.startSync(!0)})))),n.addItem((e=>e.setTitle("在新标签页打开微信读书").setIcon("book-open-text").onClick((()=>{this.activateReadingView("TAB")})))),n.addItem((e=>e.setTitle("在窗口打开微信读书").setIcon("app-window").onClick((()=>{this.activateReadingView("WINDOW")})))),n.showAtMouseEvent(e),n.onHide((()=>{window.removeEventListener("mousedown",r)}))})),this.addCommand({id:"sync-weread-notes-command",name:"同步微信读书笔记",callback:()=>{this.startSync()}}),this.addCommand({id:"Force-sync-weread-notes-command",name:"强制同步微信读书笔记",callback:()=>{this.startSync(!0)}}),this.registerView(M,(e=>new I(e))),this.addCommand({id:"open-weread-reading-view",name:"在新标签页打开微信读书",callback:()=>{this.activateReadingView("TAB")}}),this.addCommand({id:"open-weread-reading-view",name:"在新窗口打开微信读书",callback:()=>{this.activateReadingView("WINDOW")}}),this.registerEvent(this.app.workspace.on("editor-menu",((t,r,n)=>{const i=e.getWereadNoteAnnotationFile(n.file);null!=i&&(t.addSeparator(),t.addItem((e=>e.setIcon("refresh-ccw").setTitle("同步当前读书笔记").onClick((()=>{this.syncNotebooks.syncNotebook(i)})))))}))),this.addSettingTab(new j(this.app,this))}))}startSync(r=!1){return e(this,void 0,void 0,(function*(){if(this.syncing)new t.Notice("正在同步微信读书笔记,请勿重复点击");else{this.syncing=!0;try{yield this.syncNotebooks.syncNotebooks(r,window.moment().format("YYYY-MM-DD")),console.log("syncing Weread note finish")}catch(e){t.Platform.isDesktopApp?new t.Notice("同步微信读书笔记异常,请打开控制台查看详情"):new t.Notice("同步微信读书笔记异常,请使用电脑端打开控制台查看详情"+e),console.error("同步微信读书笔记异常",e)}finally{this.syncing=!1}}}))}activateReadingView(t){return e(this,void 0,void 0,(function*(){const{workspace:e}=this.app;let r=null;const n=e.getLeavesOfType(M);n.length>0?r=n[0]:("TAB"===t?r=e.getLeaf("split","vertical"):"WINDOW"===t&&(r=e.openPopoutLeaf()),yield r.setViewState({type:M,active:!0})),e.revealLeaf(r)}))}onunload(){console.log("unloading weread plugin",(new Date).toLocaleString())}}})();var i=exports;for(var o in n)i[o]=n[o];n.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})})(); +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-weread-plugin/manifest.json b/.obsidian/plugins/obsidian-weread-plugin/manifest.json new file mode 100644 index 00000000..792463f2 --- /dev/null +++ b/.obsidian/plugins/obsidian-weread-plugin/manifest.json @@ -0,0 +1,10 @@ +{ + "id": "obsidian-weread-plugin", + "name": "Weread", + "version": "0.13.0", + "minAppVersion": "0.12.0", + "description": "This is obsidian plugin for Tencent weread.", + "author": "hankzhao", + "authorUrl": "https://zhaohongxuan.github.io", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/quick-preview/main.js b/.obsidian/plugins/quick-preview/main.js new file mode 100644 index 00000000..235b1fef --- /dev/null +++ b/.obsidian/plugins/quick-preview/main.js @@ -0,0 +1,501 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var __accessCheck = (obj, member, msg) => { + if (!member.has(obj)) + throw TypeError("Cannot " + msg); +}; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; +var __privateAdd = (obj, member, value) => { + if (member.has(obj)) + throw TypeError("Cannot add the same private member more than once"); + member instanceof WeakSet ? member.add(obj) : member.set(obj, value); +}; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; +}; + +// src/main.ts +var main_exports = {}; +__export(main_exports, { + default: () => QuickPreviewPlugin +}); +module.exports = __toCommonJS(main_exports); +var import_obsidian5 = require("obsidian"); +var import_obsidian6 = require("obsidian"); + +// node_modules/monkey-around/mjs/index.js +function around(obj, factories) { + const removers = Object.keys(factories).map((key) => around1(obj, key, factories[key])); + return removers.length === 1 ? removers[0] : function() { + removers.forEach((r) => r()); + }; +} +function around1(obj, method, createWrapper) { + const original = obj[method], hadOwn = obj.hasOwnProperty(method); + let current = createWrapper(original); + if (original) + Object.setPrototypeOf(current, original); + Object.setPrototypeOf(wrapper, current); + obj[method] = wrapper; + return remove; + function wrapper(...args) { + if (current === original && obj[method] === wrapper) + remove(); + return current.apply(this, args); + } + function remove() { + if (obj[method] === wrapper) { + if (hadOwn) + obj[method] = original; + else + delete obj[method]; + } + if (current === original) + return; + current = original; + Object.setPrototypeOf(wrapper, original || Function); + } +} + +// src/settings.ts +var import_obsidian2 = require("obsidian"); + +// src/utils.ts +var import_obsidian = require("obsidian"); +function getModifierNameInPlatform(mod) { + if (mod === "Mod") { + return import_obsidian.Platform.isMacOS || import_obsidian.Platform.isIosApp ? "Command" : "Ctrl"; + } + if (mod === "Shift") { + return "Shift"; + } + if (mod === "Alt") { + return import_obsidian.Platform.isMacOS || import_obsidian.Platform.isIosApp ? "Option" : "Alt"; + } + if (mod === "Meta") { + return import_obsidian.Platform.isMacOS || import_obsidian.Platform.isIosApp ? "Command" : import_obsidian.Platform.isWin ? "Win" : "Meta"; + } + return "Ctrl"; +} +function getSelectedItem(suggestions) { + return suggestions.values[suggestions.selectedItem]; +} + +// src/settings.ts +var POSITIONS = ["Auto", "Top left", "Top right", "Bottom left", "Bottom right", "Custom"]; +var DEFAULT_SETTINGS = { + modifier: "Alt", + lazyHide: true, + position: "Auto", + customPositionX: 0, + customPositionY: 0, + stickToMouse: true, + log: false, + disableCloseSuggest: false +}; +var QuickPreviewSettingTab = class extends import_obsidian2.PluginSettingTab { + constructor(plugin) { + super(plugin.app, plugin); + this.plugin = plugin; + } + addTextSetting(settingName) { + return new import_obsidian2.Setting(this.containerEl).addText((text) => { + text.setValue(this.plugin.settings[settingName]).setPlaceholder(DEFAULT_SETTINGS[settingName]).onChange(async (value) => { + this.plugin.settings[settingName] = value; + await this.plugin.saveSettings(); + }); + }); + } + addNumberSetting(settingName) { + return new import_obsidian2.Setting(this.containerEl).addText((text) => { + text.setValue("" + this.plugin.settings[settingName]).setPlaceholder("" + DEFAULT_SETTINGS[settingName]).then((text2) => text2.inputEl.type = "number").onChange(async (value) => { + this.plugin.settings[settingName] = value === "" ? DEFAULT_SETTINGS[settingName] : +value; + await this.plugin.saveSettings(); + }); + }); + } + addToggleSetting(settingName, extraOnChange) { + return new import_obsidian2.Setting(this.containerEl).addToggle((toggle) => { + toggle.setValue(this.plugin.settings[settingName]).onChange(async (value) => { + this.plugin.settings[settingName] = value; + await this.plugin.saveSettings(); + extraOnChange == null ? void 0 : extraOnChange(value); + }); + }); + } + addDropdowenSetting(settingName, options, display, extraOnChange) { + return new import_obsidian2.Setting(this.containerEl).addDropdown((dropdown) => { + var _a; + const displayNames = /* @__PURE__ */ new Set(); + for (const option of options) { + const displayName = (_a = display == null ? void 0 : display(option)) != null ? _a : option; + if (!displayNames.has(displayName)) { + dropdown.addOption(option, displayName); + displayNames.add(displayName); + } + } + dropdown.setValue(this.plugin.settings[settingName]).onChange(async (value) => { + this.plugin.settings[settingName] = value; + await this.plugin.saveSettings(); + extraOnChange == null ? void 0 : extraOnChange(value); + }); + }); + } + addSliderSetting(settingName, min, max, step) { + return new import_obsidian2.Setting(this.containerEl).addSlider((slider) => { + slider.setLimits(min, max, step).setValue(this.plugin.settings[settingName]).setDynamicTooltip().onChange(async (value) => { + this.plugin.settings[settingName] = value; + await this.plugin.saveSettings(); + }); + }); + } + display() { + this.containerEl.empty(); + this.addDropdowenSetting("modifier", ["Mod", "Ctrl", "Meta", "Shift", "Alt"], getModifierNameInPlatform).setName("Modifier key to toggle quick preview").setDesc("Hold down this key to preview a suggestion before selecting it."); + this.addDropdowenSetting("position", POSITIONS, void 0, () => this.display()).setName("Quick preview position").setDesc("Where to show the quick preview."); + if (this.plugin.settings.position === "Custom") { + this.addNumberSetting("customPositionX").setName("Custom x coordinate").setDesc("Offset relative to the left edge of the window."); + this.addNumberSetting("customPositionY").setName("Custom y coordinate").setDesc("Offset relative to the top edge of the window."); + } + this.addToggleSetting("stickToMouse").setName("Stick to mouse position").setDesc("If turned on, the preview popover will follow the mouse pointer."); + this.addToggleSetting("lazyHide").setName("Don't close the current preview until the next preview is ready").setDesc("If turned on, pressing arrow keys or hovering the mouse pointer over a suggestion while holding the modifier key will not immediately close the preview, but instead wait for the preview for the newly selected suggestion to load."); + new import_obsidian2.Setting(this.containerEl).setName("Debug mode (advanced)").setHeading(); + this.addToggleSetting("log").setName("Show selected suggestion in console"); + this.addToggleSetting("disableCloseSuggest", (disable) => { + const suggest = this.plugin.getBuiltInSuggest(); + if (!disable && suggest.isOpen) + suggest.close(); + }).setName("Prevent the suggestion box from closing").setDesc("Useful for inspecting the suggestion box DOM."); + } +}; + +// src/popoverManager.ts +var import_obsidian3 = require("obsidian"); + +// src/hoverParent.ts +var _hoverPopover; +var QuickPreviewHoverParent = class { + constructor(suggest) { + this.suggest = suggest; + __privateAdd(this, _hoverPopover, null); + this.hidden = false; + this.manager = this.suggest.popoverManager; + } + hide() { + var _a; + (_a = this.hoverPopover) == null ? void 0 : _a.hide(); + this.hidden = true; + if (this.manager.currentOpenHoverParent === this) { + this.manager.currentOpenHoverParent = null; + } + } + get hoverPopover() { + return __privateGet(this, _hoverPopover); + } + set hoverPopover(hoverPopover) { + var _a; + __privateSet(this, _hoverPopover, hoverPopover); + if (__privateGet(this, _hoverPopover)) { + this.manager.addChild(__privateGet(this, _hoverPopover)); + (_a = this.manager.currentOpenHoverParent) == null ? void 0 : _a.hide(); + this.manager.currentOpenHoverParent = this; + if (this.hidden) { + this.hide(); + return; + } + __privateGet(this, _hoverPopover).hoverEl.addClass("quick-preview"); + __privateGet(this, _hoverPopover).position(__privateGet(this, _hoverPopover).shownPos = this.manager.getShownPos()); + } + } +}; +_hoverPopover = new WeakMap(); + +// src/popoverManager.ts +var PopoverManager = class extends import_obsidian3.Component { + constructor(plugin, suggest, itemNormalizer) { + super(); + this.plugin = plugin; + this.suggest = suggest; + this.itemNormalizer = itemNormalizer; + this.currentHoverParent = null; + this.currentOpenHoverParent = null; + this.lastEvent = null; + this.handlers = []; + this.popoverHeight = null; + this.popoverWidth = null; + if (suggest instanceof import_obsidian3.PopoverSuggest) + this.suggestions = suggest.suggestions; + else + this.suggestions = suggest.chooser; + } + get doc() { + return this.suggestions.containerEl.doc; + } + get win() { + return this.doc.win; + } + onload() { + this.registerDomEvent(this.win, "keydown", (event) => { + if (this.suggest.isOpen && import_obsidian3.Keymap.isModifier(event, this.plugin.settings.modifier)) { + if (this.currentOpenHoverParent) + this.hide(); + else { + const item = getSelectedItem(this.suggestions); + if (item) + this.spawnPreview(item); + } + } + }); + this.registerDomEvent(this.win, "keyup", (event) => { + if (event.key === this.plugin.settings.modifier) + this.hide(); + }); + this.registerDomEvent(this.win, "mousemove", (event) => { + if (!import_obsidian3.Keymap.isModifier(event, this.plugin.settings.modifier)) + this.hide(); + }); + this.handlers.push( + this.suggest.scope.register([this.plugin.settings.modifier], "ArrowUp", (event) => { + this.suggestions.moveUp(event); + return false; + }), + this.suggest.scope.register([this.plugin.settings.modifier], "ArrowDown", (event) => { + this.suggestions.moveDown(event); + return false; + }) + ); + } + onunload() { + var _a, _b; + this.handlers.forEach((handler) => { + this.suggest.scope.unregister(handler); + }); + this.handlers.length = 0; + (_a = this.currentHoverParent) == null ? void 0 : _a.hide(); + this.currentHoverParent = null; + (_b = this.currentOpenHoverParent) == null ? void 0 : _b.hide(); + this.currentOpenHoverParent = null; + this.lastEvent = null; + } + hide(lazy = false) { + var _a; + if (!lazy) + (_a = this.currentHoverParent) == null ? void 0 : _a.hide(); + this.currentHoverParent = null; + } + spawnPreview(item, lazyHide = false, event = null) { + this.hide(lazyHide); + if (event && (event.instanceOf(MouseEvent) || event.instanceOf(PointerEvent))) + this.lastEvent = event; + this.currentHoverParent = new QuickPreviewHoverParent(this.suggest); + const info = this.itemNormalizer(item); + if (info) + this.plugin.onLinkHover(this.currentHoverParent, this.doc.body, info.linktext, info.sourcePath, { scroll: info.line }); + } + getShownPos() { + if (this.plugin.settings.stickToMouse && this.lastEvent) + return { x: this.lastEvent.clientX, y: this.lastEvent.clientY }; + const position = this.plugin.settings.position; + if (position === "Auto") { + return this.getShownPosAuto(); + } else if (position === "Custom") { + return { x: this.plugin.settings.customPositionX, y: this.plugin.settings.customPositionY }; + } + return this.getShownPosCorner(position); + } + getShownPosCorner(position) { + if (position === "Top left") { + return { x: 0, y: 0 }; + } else if (position === "Top right") { + return { x: this.win.innerWidth, y: 0 }; + } else if (position === "Bottom left") { + return { x: 0, y: this.win.innerHeight }; + } + return { x: this.win.innerWidth, y: this.win.innerHeight }; + } + getShownPosAuto() { + var _a, _b, _c, _d, _e; + const el = this.suggestions.containerEl; + const { top, bottom, left, right, width, height } = el.getBoundingClientRect(); + const popover = (_a = this.currentHoverParent) == null ? void 0 : _a.hoverPopover; + this.popoverWidth = (_c = (_b = popover == null ? void 0 : popover.hoverEl.offsetWidth) != null ? _b : this.popoverWidth) != null ? _c : null; + this.popoverHeight = (_e = (_d = popover == null ? void 0 : popover.hoverEl.offsetHeight) != null ? _d : this.popoverHeight) != null ? _e : null; + if (this.popoverWidth && this.popoverHeight) { + let offsetX = width * 0.1; + let offsetY = height * 0.1; + if (right - offsetX + this.popoverWidth < this.win.innerWidth) + return { x: right - offsetX, y: top + offsetY }; + offsetX = width * 0.03; + offsetY = height * 0.05; + if (left > this.popoverWidth + offsetX) + return { x: left - this.popoverWidth - offsetX, y: top + offsetY }; + } + const x = (left + right) * 0.5; + const y = (top + bottom) * 0.5; + if (x >= this.win.innerWidth * 0.6) { + if (y >= this.win.innerHeight * 0.5) + return this.getShownPosCorner("Top left"); + return this.getShownPosCorner("Bottom left"); + } + if (y >= this.win.innerHeight * 0.5) + return this.getShownPosCorner("Top right"); + return this.getShownPosCorner("Bottom right"); + } +}; + +// src/reload.ts +var import_obsidian4 = require("obsidian"); +var ReloadModal = class extends import_obsidian4.Modal { + constructor(app) { + super(app); + } + onOpen() { + this.titleEl.setText("Quick Preview"); + this.contentEl.setText("You need to reload the app to be able to use this plugin together with Hover Editor."); + new import_obsidian4.Setting(this.contentEl).addButton((button) => { + button.setButtonText("Reload").setCta().onClick(() => this.app.commands.executeCommandById("app:reload")); + }).addButton((button) => { + button.setButtonText("Not now").onClick(() => this.close()); + }); + } + onClose() { + this.contentEl.empty(); + } +}; + +// src/main.ts +var _originalOnLinkHover; +var QuickPreviewPlugin = class extends import_obsidian6.Plugin { + constructor() { + super(...arguments); + __privateAdd(this, _originalOnLinkHover, void 0); + } + async onload() { + if (this.app.workspace.layoutReady && this.app.plugins.enabledPlugins.has("obsidian-hover-editor")) { + new ReloadModal(this.app).open(); + } + __privateSet(this, _originalOnLinkHover, this.app.internalPlugins.getPluginById("page-preview").instance.onLinkHover); + await this.loadSettings(); + await this.saveSettings(); + this.addSettingTab(new QuickPreviewSettingTab(this)); + this.app.workspace.onLayoutReady(() => { + this.patchSetSelectedItem(); + this.patchSuggester(this.getBuiltInSuggest().constructor, (item) => { + if (!item.file) + return null; + const info = { linktext: item.file.path, sourcePath: "" }; + if (item.type === "heading") + info.linktext += "#" + (0, import_obsidian5.stripHeadingForLink)(item.heading); + else if (item.type === "block") + info.line = item.node.position.start.line; + return info; + }); + const quickSwitcherConstructor = this.app.internalPlugins.getPluginById("switcher").instance.QuickSwitcherModal; + const generalFileSuggestConstructor = Object.getPrototypeOf(quickSwitcherConstructor); + this.patchSuggester( + generalFileSuggestConstructor, + (item) => { + var _a; + if (!item.file) + return null; + const info = { linktext: item.file.path, sourcePath: "" }; + if (item.type === "headingsList") + info.linktext += "#" + (0, import_obsidian5.stripHeadingForLink)(item.item.heading); + else if (item.type === "symbolList") + info.line = item.item.symbol.position.start.line; + else if (item.type === "bookmark" && item.item.type === "file") + info.linktext = item.item.path + ((_a = item.item.subpath) != null ? _a : ""); + return info; + } + ); + }); + } + async loadSettings() { + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + } + async saveSettings() { + await this.saveData(this.settings); + } + /** Call the core Page Preview plugin's (potentially) original onLinkHover method. */ + onLinkHover(hoverParent, targetEl, linktext, sourcePath, state) { + const self = this.app.internalPlugins.getPluginById("page-preview").instance; + return __privateGet(this, _originalOnLinkHover).call(self, hoverParent, targetEl, linktext, sourcePath, state); + } + getBuiltInSuggest() { + return this.app.workspace.editorSuggest.suggests[0]; + } + patchSetSelectedItem() { + const plugin = this; + const suggest = this.getBuiltInSuggest(); + this.register(around(suggest.suggestions.constructor.prototype, { + setSelectedItem(old) { + return function(index, event) { + old.call(this, index, event); + if (this.chooser.popoverManager instanceof PopoverManager) { + const manager = this.chooser.popoverManager; + if (plugin.settings.log) + console.log(getSelectedItem(this)); + if (event && import_obsidian6.Keymap.isModifier(event, plugin.settings.modifier)) { + const item = getSelectedItem(this); + if (item) + manager.spawnPreview(item, plugin.settings.lazyHide, event); + } + } + }; + } + })); + } + patchSuggester(suggestClass, itemNormalizer) { + const prototype = suggestClass.prototype; + const plugin = this; + const uninstaller = around(prototype, { + open(old) { + return function() { + old.call(this); + if (!this.popoverManager) + this.popoverManager = new PopoverManager(plugin, this, itemNormalizer); + this.popoverManager.load(); + }; + }, + close(old) { + return function() { + var _a; + if (plugin.settings.disableCloseSuggest) + return; + old.call(this); + (_a = this.popoverManager) == null ? void 0 : _a.unload(); + }; + } + }); + this.register(uninstaller); + return uninstaller; + } +}; +_originalOnLinkHover = new WeakMap(); + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/quick-preview/manifest.json b/.obsidian/plugins/quick-preview/manifest.json new file mode 100644 index 00000000..cd6753ed --- /dev/null +++ b/.obsidian/plugins/quick-preview/manifest.json @@ -0,0 +1,11 @@ +{ + "id": "quick-preview", + "name": "Quick Preview", + "version": "0.6.1", + "minAppVersion": "1.3.5", + "description": "Quickly preview a suggestion before selecting it in link suggestions & quick switcher.", + "author": "Ryota Ushio", + "authorUrl": "https://github.com/RyotaUshio", + "fundingUrl": "https://www.buymeacoffee.com/ryotaushio", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/quick-preview/styles.css b/.obsidian/plugins/quick-preview/styles.css new file mode 100644 index 00000000..569de1a0 --- /dev/null +++ b/.obsidian/plugins/quick-preview/styles.css @@ -0,0 +1,20 @@ +/* @settings + +name: Quick Preview +id: quick-preview +settings: + - + id: quick-preview-font-size + title: Font size (%) + type: variable-number-slider + min: 10 + max: 200 + step: 1 + default: 100 + format: "%" +*/ + +.popover.hover-popover.quick-preview { + --layer-popover: calc(max(var(--layer-modal), var(--layer-notice)) + 1); + --popover-font-size: var(--quick-preview-font-size); +} diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index 74adabb0..e1f214d6 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,9 +1,5 @@ { "recentFiles": [ - { - "basename": "2025-09-06", - "path": "01-工作日记/2025-09-06.md" - }, { "basename": "附件3:择优招聘合同制员工申请表(V2.1)", "path": "60-Imports/64-AI/附件3:择优招聘合同制员工申请表(V2.1).docx" @@ -12,6 +8,10 @@ "basename": "0长沙AI人力提示词-现场练习", "path": "60-Imports/64-AI/0长沙AI人力提示词-现场练习.docx" }, + { + "basename": "2025-09-06", + "path": "01-工作日记/2025-09-06.md" + }, { "basename": "DD工作总结", "path": "60-Imports/64-AI/DD工作总结.md" diff --git a/.obsidian/plugins/rss-reader/data.json b/.obsidian/plugins/rss-reader/data.json index cc7f46f6..fec7c7bc 100644 --- a/.obsidian/plugins/rss-reader/data.json +++ b/.obsidian/plugins/rss-reader/data.json @@ -996,28 +996,6 @@ "hash": "b60854f3804c6a6f6569f64b6d8e82fb", "highlights": [] }, - { - "title": "App+1|无需跳转、深度集成,沉浸式 iOS 翻译工具:Para 翻译", - "description": "偶然间我发现 iOS 的画中画功能可获取剪贴板内容,尝试将翻译和 AI 功能集成进去后,效果超出预期,间接打造出了一款无需来回跳转应用的全局 AI 翻译助手。查看全文", - "content": "偶然间我发现 iOS 的画中画功能可获取剪贴板内容,尝试将翻译和 AI 功能集成进去后,效果超出预期,间接打造出了一款无需来回跳转应用的全局 AI 翻译助手。查看全文", - "category": "", - "link": "https://sspai.com/post/102214", - "creator": "派大鑫", - "pubDate": "Wed, 03 Sep 2025 17:30:00 +0800", - "enclosure": "", - "enclosureType": "", - "image": "", - "id": "", - "language": "zh", - "folder": "资讯", - "feed": "少数派", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "ed3db1fe01464fd52e6615d4e73423c8", - "highlights": [] - }, { "title": "广东省南澳岛上,是否真的有南宋倾覆时留下的宝藏?", "description": "


本 文 约 4700 字
阅 读 需 要 16 分 钟

南澳岛,隶属于南澳县这广东省唯一的海岛县及渔业县,地处闽粤交界的海面,为北回归线所横穿,因守于高雄-厦门-香港这三大港口的中心点,素有“东南门户,漳潮锁匙”的美称,遂成为海上丝绸之路的重要港口和兵家必争之地。它的本名意为“南方泊船之海湾”。相传南澳一词始载于南宋孝宗淳熙七年(1180)间,广东提举杨万里率军平定侵犯南澳的海盗沈师一事。“盗沈师犯南粤,帅师往平之”。此后,寇乱、兵戈还有各色宝藏的传说,在这座小岛的历史中常常回响。



南宋遗藏


至元八年(1271),元世祖忽必烈在大都建立元朝后,旋即大规模向南方进军,至元十三年(1276)正月,元军直逼临安,宋廷在战和不定中乱成一团,太皇太后即封宋恭帝赵㬎(xiǎn)之弟赵昰为益王,判福州、福建安抚大使;封赵禺为广王,判泉州兼外宗正事,由陆秀夫、杨镇等人护送往婺州、温州一路南逃,成为传递失落火种的希望小队。三月,临安城破,朝廷奉玺降元,南宋灭亡,而陈宜中、张世杰、陆秀夫等人则效仿昔日南宋宋高宗之旧例,拥立赵昰成立都元帅府,以赵昰为天下兵马都元帅,改福州为福安府,号召天下军民相投。五月,赵昰于福州即位,号端宗,改元景炎,封杨淑妃为太后,世称“行朝”。此后,都元帅府这一抵抗中心便开启了流亡抗元之旅,也为后世留下了不少遗迹。




景炎元年(1276)六月,“行朝”从水路南下泉州、厦门入广东,11月,“帝舟迁于潮州,初泊红螺山(属饶平县),旋移南澳”。在南澳岛上,都元帅府于澳前村东面修建行宫,也便是太子楼,他们还在东南面的沙滩上挖井,据说共有三口,供皇室饮用的叫“龙井”,供文武官员饮用的叫“虎井”,供将士军马饮用的叫“马井”。如今南澳岛上还有它们的遗址,其间刻字患漫难辨。因此,便有传闻说,当时小皇帝赵昰和他弟弟赵昺(bǐng)见追兵逼近,就将随身所携的金银珠宝留在南澳岛,于石壁上做出记号以便日后再来寻找。只是可惜,景炎二年(1277)正月,他们乘舟离岛赴惠州后,便就此一去不复返。祥兴元年(1278)四月,端宗病死,年仅十一岁,八岁的赵昺被拥立为帝。祥兴二年(1279)正月,元军进攻崖山,二月初六日,崖海决战宋败,陆秀夫抱末帝赵昺投海死,“后宫及诸臣多从死者,七日,浮尸出于海十余万人”,南宋彻底灭亡,而所谓的宝藏也失去了它的主人。



1962年的夏天,一位到海边捞虾的青年发现海滩上有一口水井,还在井石四角的石缝中捡到四枚宋代铜钱,分别镌刻了“圣宋元宝”“政和通宝”“淳熙元宝”“嘉定通宝”的字样。这口古水井便是曾经的马井。经专家考察分析,它原本应该挖在坡地,只是因为陆地下沉,才为海沙所吞没,只有当由台风引起的大型海潮到来卷走沙层时,才会显露真身,这便是井露现象。虽然宝藏没能随着一同浮出水面,但当地很快便发现了宋井的另一神奇之处:被海水淹没过的它竟然有清甜的淡水!甚至据说即便将苦咸的海水倒入其中,其水质也不会有过多改变。于是,又有很多人坚信此井有灵,其水或有延年益寿之能,不惜千里到访,取水冲茶珍藏。



那么,对此有什么科学的解释吗?此地的降水会渗入地下,并因重力作用向地势更低的古井海滩处汇集,形成淡水为主的地下水。井露发生后,地下水便会因形成的水位差而通过砂砾井底上升泉涌,由于沙质的孔隙较小,淡水和原留在井内的海水相互融合的非常缓慢,又因为海水密度更大,淡水会浮在海水表层,为人所打捞起。这便是它被认为是淡水井的缘由。

 


大盗之宝


尽管南宋宝藏实属无稽之谈,但南澳的确有上天赐予它的财富,那便是它在航海贸易中得天独厚,“为诸夷贡道所必经”的地理位置。明代的《南澳赋》便称颂道:


“故大国小邦,外趋内附。吕宋、琉球南金大赂,占城、暹罗随波飞赴,佛齐、阇婆弗敢互顾(贾),真腊、彭坑疾驰如鹜。”


南澳成为远洋贸易的驿站和地文标志,就连郑和七次下西洋都经过了这里。



然而,在明初,朝廷却并没有好好地经营此南澳,他们“或墟其地,或徙其民”。明太祖朱元璋数次颁发禁令,严禁海民私自制造二桅以上船舶,出海诸国并与之互市。明洪武二十年(1387)、永乐二年(1404)和永乐七年(1409)还来回搬离过当地的所有居民,当时南澳当地本来人就不多,此后更为荒凉焦土。该做法背后确有“以伪吴张士诚据宁、绍、杭、苏、通、泰,及方国珍据温、台等处,皆在海上。张、方既灭,诸贼强豪者悉航纠岛倭人寇”的因素,但也有明廷希望推行市舶司制度来垄断贸易的意图。无疑,这加剧了沿海居民的苦难,也无法真正巩固空虚的边疆:


“寇与商同是人也。市通则寇转而为商;市禁则商转而为寇。始之禁禁商,后之禁禁寇, 寇势盛。”


南澳逐渐发展成为真正的海盗渊薮(sǒu)和番舶互市之地。



当时,主要来到南澳进行走私的民船,多来自暹罗和安南等东南亚国家,葡萄牙商人在16世纪后也开始频繁到访。随着走私市场的开拓,海禁渐渐名存实亡。


“成、弘之际,豪门巨室间有乘巨舰贸易海外者。奸人阴开其利窦,而官人不得显收其利权。初亦渐享奇赢,久乃勾引为乱……至嘉靖而弊极矣。”



其原因之一是葡萄牙人东来后,“有司自是将安南、满剌加诸番舶尽行阻绝,皆往漳州府海面地方私自驻剖”,南澳正是往漳州海面的要津。另一件事是嘉靖二年(1522)日本的争贡动乱,唯一合法的市舶司被撤,“番船无所容,乃之南澳互市”。公无管束,私贼遂起。


嘉靖、隆庆年间,相继有许朝光、林国宪、吴平、曾一本等海寇以南澳岛为巢,修起楼寨,私行贸易,并“修船、制器、市药、裹粮,百无所忌”,号称“毒害东南者十余年”。而这群海盗倒还真为南澳滋生了另一则宝藏传说:据闻,当年的巨盗吴平,似乎就在岛屿最北端由几块礁石组成的小岛屿上私藏了十八坛金银,该地也因而得名金银岛。



嘉靖四十三年(1564),戚继光奉命率兵5000人自浙来援,与潮州总兵俞大猷水陆夹攻,讨伐了盘踞在南澳岛的吴平势力,荡平海寇。朝廷吸取教训,南澳政策也为之一变。隆庆元年(1567),南澳有限制地开放了海禁。万历三年(1575),福建巡抚刘尧诲和广东总督殷正茂联合上奏朝廷《请设南澳副总兵疏》,潮州知府郭子章也表示为固海防,应当再设南澳为镇,他们的建议得到采纳。万历设“闽粤南澳镇”,置副总兵,下辖左、右营,兼领福建南路和广东东路水师,南澳岛就此从“海外荒域”变成东南沿海的军事重镇。设镇后,原属广东潮州府饶平县太平乡信宁都的南澳岛,就此分广东饶平、福建诏安两县共管,这一两省共管南澳的想法最先还是戚继光鉴于此前海盗们“福建捕急,则奔广东;广东捕急,则奔福建”的情况 提出的。


方案实行后,“……树兵列胪,海防肃矣。崇垒突沟城守固矣。垦田构室,民趋众矣。昔之鲸鲵依崇,今则海波不扬而为商旅之坦途矣。昔之孤鼠恣睢,今则戴柞而为生民之乐土矣。”




如今的深澳古镇之中,还留有南澳总兵府。明时,南澳总兵府“坐南朝北,高二丈二尺,皆甃以石。壕深八尺”。然而,随着明的由盛转衰,南澳也渐渐荒废,“郑芝龙麾下士卒皆芝龙散金以养,芝龙时为南澳副总兵,是启祯以后,南澳之兵盖有兵而无饷”,因此,南澳逐渐为郑芝龙家族所据,于明清之交再起狂澜。


海防重镇


顺治三年(1646),南明皇帝朱聿键殉国,郑芝龙降清,但其子郑成功带着80人,由陈辉、张进陪同,自福建乘舟“止南澳,招兵制械,得数千人 ”,往来于厦门、铜山、金门、澎湖和台湾诸岛屿间,开启了复台抗清的道路。在南澳岛上,他和文武大臣于澳属猎屿(古称“烈屿”)设高宗皇帝神位定盟复明,遂延南明之正朔十八载。如今的明、清总兵府旧址前,还有一棵大榕树,主干18米,树冠南北近28米,相传便是昔日郑成功的招兵处,被称为“招兵树”。



永历十五年(1661),郑成功从荷兰殖民者手中收复台湾,建立郑氏政权。康熙元年(1662),郑氏部下陈豹降清,杨金木、杜辉继续经营据守南澳岛。康熙三年(1664),在黄冈总兵吴六奇的招降下,最后的杜辉也投降清朝,明朝制度的影响在南澳落下帷幕,其部众迁往揭阳、黄冈,南澳遭到废弃。直到康熙十九年(1680)才准民复垦,“五年起税”。此时,康熙已经充分认识到了南澳对海防的价值,该政策正是为了后续的设镇驻兵做准备。




康熙二十四年(1685),清廷“诏设南澳总兵,移厦门镇总兵官并中、左、右三营官兵驻南澳,旋裁中营,改为左、右二营,左为福营,右为广营”,其中左营派驻台湾、淡水、澎湖,三年一调防。南澳岛分属饶平、诏安二县。次年,“澄海协、达濠营水汛官兵船只改归南澳水师镇就近统辖”。


康熙四十二年(1703),清廷又设立海门营。至此,南澳镇所辖便包括左、右二营,澄海协二营、海门营、达濠营等五营,其中左营由闽浙总督节制,其他四营隶属于两广总督节制。康熙五十六年(1717),时任广东总督杨琳在全省范围修筑炮台,并提到了粤东海域防御的重要性,“惠、潮之洋盗绝,而全粤之海面宁”。这一提议背后的部分原因,可能是南澳作为南北远洋贸易中途停泊,以及肩负造船,燂洗(火燎涂灰以避海蛆)、产糖等其他功能之所的地位逐渐得到恢复。


同样是康熙四十二年(1703),清廷下令“各处商船往东洋者,必由定海镇所辖要汛挂号,往噶喇吧 (今印度尼西亚雅加达,又泛指爪哇等岛) 、 吕宋(今菲律宾吕宋岛,又泛指菲律宾群岛) 等处出洋,必由澎湖、南澳所辖之要汛挂号”。然而,由于当地的军事化管理体制越来越难以应对招民开垦,商渔云集,豪强势大,粮饷失控这一系列的新问题,康熙五十六年(1717),朝廷禁贩南洋,并开始思考进一步的管理革新。



雍正十年(1723),清廷诏设“粤闽南澳海防同知”,又称南澳厅,等同州县,受广东督抚两院、三司及潮州府节制。其时,据清人齐翀《南澳志》记载:


“南澳,一名井澳;一名白城;一名岛南;一名瀛南。地分四澳:深澳、隆澳、云澳、青澳。深澳、隆澳属粤;云澳、青澳属闽。” 


至此,南澳也正式成为行政上的区划地理单元。




清朝末年,南澳再一次与走私贸易和王朝终局结合在了一起。道光年间,英国的鸦片商人曾买通南澳总兵沈镇邦在南澳交货。道光十九年(1839)三月,林则徐抵广州查禁鸦片,连撰《会札南澳镇谕令长山尾等洋夷船一律全缴鸦片稿》和《札饬严办东路烟卖夷船由》要求配合。最终,南澳镇总兵赖恩爵会同陆丰、碣石镇守军,在广大渔民的配合下,于该年八月在海面截获英国走私鸦片船,缴获鸦片二万多斤,连同毒贩一起押解广州。此后英鸦片船仍试图以南澳长山尾洋为秘密交货点,但都被打断收缴。虎门销烟的白雾中,湮没了南澳的辉煌过往,也将在硝烟散尽后迎来它的新生。




20世纪90年代,南澳成为广东省对外开放的重点区域,和汕头经济特区的改革前沿。如今,它身上的南宋遗藏、明清旧迹也被视作旅游资源,得到重视和开发。或许,那些人从来没有留下真正的宝藏,它只是藏在潮来潮往的天地间,留在勤恳工作的人民手心里。



参考文献:

1、林俊聪:《现存南澳岛四部方志评介》,《岭南文史》1993年。

2、徐明德:《南澳岛在明清中外关系史上的重要地位》,《杭州大学学报》(哲学社会科学版)1995年

3、林俊聪、袁宏国:《郑成功“招兵树”》,《源流》1996年

4、柯理平:《初探南澳岛》,《环境》1998年

5、姜永兴:《南宋行朝 崖海烈魂(上)》,《岭南文史》1999年

6、刘建铭:《海滩古井之迷》,《航海》1999年

7、胡宝柱、肖文帅、普塔克:《明永乐至隆庆南澳的海上活动》,《海交史研究》2014年

8、王潞:《论16~18世纪南澳岛的王朝经略与行政建置演变》,《广东社会科学》2018年

9、范霄鹏、薛碧怡:《粤东屏障 北回归线东端之南澳岛》,《室内设计与装修》2022年

10、李智君、邬文斌:《明清南澳岛海防区分界线的形成与变迁》,《海交史研究》2024年

11、宋可达:《明代海域经界与“划界治海”实践》,《社会科学》2025年

12、许国,张进盛:《郑成功“招兵树”》,《国土绿化》2004年


本文系“国家人文历史”独家稿件,欢迎读者转发朋友圈。


END
作者 | 曾亦嘉
编辑 | 胡心雅
 主编 | 周斌
排版 | 刘是琪(实习)
校对 | 张斌 古月
\"图片\"

国历好物
\"图片\"

进击的士族

旁落的皇权

跨越五百年的权力对抗史

国民历史读物《国家人文历史》专业团队

最新力作

展现士族潮起潮落的史诗级历史画卷


\"图片\"


点击下方封面,即可购买



↓↓↓

\"图片\"

\"图片\"


\"图片\"
 “在看”的永远18岁~

\n \n\n \n
\n\n \n 文章原文\n
\n \n\n \n\n \"\"
", @@ -3499,28 +3477,6 @@ "hash": "ed444ca6df4e376c3820e5c8ce4a9195", "highlights": [] }, - { - "title": "自学python必看的书籍《Python编程:从入门到实践》PDF版拿走不谢", - "description": "自学python必看的书籍《Python编程:从入门到实践》内容简介本书是一本针对所有层次的Python 读者", - "content": "
\n

\n \n \n 自学python必看的书籍《Python编程:从入门到实践》\n \n \n

\n

\n \n
\n
\n

\n

\n \n \"图片\"\n \n

\n

\n \n \n 内容简介\n \n \n

\n

\n \n 本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:\n \n

\n

\n \n 第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;\n \n

\n

\n \n 第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑。\n \n

\n

\n \n
\n
\n

\n

\n \n \n 目录\n \n \n

\n
\n \n \"图片\"\n \n
\n
\n \n \"图片\"\n \n
\n
\n \n \"图片\"\n \n
\n
\n \n \"图片\"\n \n
\n
\n \n \"图片\"\n \n
\n
\n \n \"图片\"\n \n
\n

\n \n \n 书籍的分享格式为PDF电子版,小伙伴们手机也可以阅读学习哦!\n \n \n

\n

\n \n \n 书籍终归只是辅助,想要真的深入学习python,当然还要有系统的学习方法和学习教程才可以让你在学习的路上一帆风顺哦!\n \n \n

\n

\n \n \n 本套视频一共400集,本套视频共分3季:\n \n \n

\n

\n \n 第一季 【基础篇】Python基础 (115集)\n \n

\n

\n \n 第二季 【提高篇】Python深入和扩展(100集)\n \n

\n

\n \n 第三季 【扩展篇】网络编程、多线程、扩展库(85集)\n \n

\n

\n \n 第四季 【高手篇】算法、Python源码、函数式编程、手工实现神经网络(100集)\n \n

\n

\n \n
\n
\n

\n
\n \n \"图片\"\n \n
\n

\n \n \n 以上这些教程我已经为大家打包准备好了,希望对正在学习的你有所帮助!\n \n \n

\n
    \n
  1. \n

    \n \n \n \n 获取方式:公众号私信回复“学习”即可\n \n \n \n

    \n
  2. \n
  3. \n

    \n \n \n \n 需要的小伙伴可以多多点赞转发 让更多的人看到\n \n \n \n

    \n
  4. \n
\n
\n \n
\n
\n
\n

\n \n \n

\n
\n", - "category": "", - "link": "https://mp.weixin.qq.com/s/CFfrCyYKJX5rJG0qS4_CqQ", - "creator": "python开发工程师", - "pubDate": "Sat, 12 Jul 2025 06:00:00 ", - "enclosure": "https://mmbiz.qpic.cn/mmbiz_jpg/Nc53lZXDjZwm6QzeJkQsibiaKQWY9iaEoFlhj1dyuLP0Bqe2vJOHbia2M04j6GCRMERWfZVcZialbuOxhrZKTN0j3mg/0?wx_fmt=jpeg", - "enclosureType": "image/jpeg", - "image": "https://mmbiz.qpic.cn/mmbiz_jpg/Nc53lZXDjZwm6QzeJkQsibiaKQWY9iaEoFlhj1dyuLP0Bqe2vJOHbia2M04j6GCRMERWfZVcZialbuOxhrZKTN0j3mg/0?wx_fmt=jpeg", - "id": "2247511336_2", - "language": "", - "folder": "IT技术", - "feed": "python开发工程师", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "6ece793eae1a41b9db83f1da32129968", - "highlights": [] - }, { "title": "瞎扯 · 如何正确地吐槽", "description": "
\"头图\"/
\n\n
\n
@苏梓 : 20 岁了,在我耳边说:「再不醒来爸爸妈妈去超市不带你了。」
\n
 
\n
\n\n
\n
@子白 :我老婆倒车撞了,给我电话,说把派出所大门撞了,把我吓得不轻,哪还敢生气。
\n
\n
\n
\n
\n
\n
\n
\n
\n
\"\"\n
 
\n
 
\n
\n
\n
\n
\n
\n
\n
 
\n
\n
\n\n
\n
@九名 :躺在床上看手机的时候,四岁的女儿凑过来,别玩了,你有孩子要照顾。
\n
 
\n
\n\n
\n
@然吾甚爱之 :吃半块巧克力,可以爬 640 层楼, 我和我同桌各算了五遍,全是这个答案,不敢填, 老师报答案,就是 640 。
\n
 
\n
\n\n
\n
@又下大雨了啊啊啊 :某地为了对付蚊子,这么对付下水道, 台风来了… 这下水道遇到台风的暴雨… 就问,这些人的工作效果好不好吧?
\n
\n
\n
\n
\n
\n
\n
\n
\n
\"\"\n
 
\n
 
\n
\n
\n
\n
\n
\n
\n
 
\n
\n
\n
 
\n

 

\n
\n
\n\n\n
\n\n\n\n", @@ -9874,28 +9830,6 @@ "hash": "4ca2bb7ca640c43f93fbd4c2c7f51f25", "highlights": [] }, - { - "title": "20250730,大雨磅礴!", - "description": "不在高峰时慕名而来,不在低谷时转身走开!2025年7月30日,周三。周一晚上就发了预警,很不好的预警,然后说", - "content": "
\n
\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n

\n \n
\n
\n

\n

\n \n \n \n \n 不在高峰时慕名而来,不在低谷时转身走开!\n \n \n \n \n \n
\n
\n

\n

\n \n
\n
\n

\n
\n \n
\n

\n \n
\n
\n

\n

\n \n
\n
\n

\n

\n \n \n 2025年7月30日,周三\n \n \n \n \n 。\n \n \n

\n
\n \n \n
\n

\n \n \n
\n
\n
\n

\n

\n \n 周一晚上就发了预警,很不好的预警,然后说是要有非常大的雨。\n \n

\n

\n \n
\n
\n

\n

\n \n 还说了具体的时间,是从周一晚上的8点开始到第二天的8点。\n \n

\n

\n \n
\n
\n

\n

\n \n 还想着当晚没办法走路运动,没想到,竟然是可以的。\n \n

\n

\n \n \n 。\n \n \n \n
\n
\n

\n
\n \n \n
\n
\n \n
\n \n 约莫走到9点半,回到家,把电脑重新装了系统,才发现大雨下来了。\n \n
\n
\n \n
\n
\n
\n
\n \n 真的就是瓢泼大雨,很磅礴。\n \n
\n
\n \n
\n
\n
\n
\n \n 雨珠已经不是线了,整个天地已经是水雾弥漫了。\n \n
\n
\n \n
\n
\n
\n
\n \n 这雨一直下,持续到了周二的早上。\n \n
\n
\n \n
\n
\n
\n
\n \n 出门的时候,还是非常大,上车,下车,地上的积水很厚,鞋子直接就湿透。\n \n
\n
\n \n
\n
\n
\n
\n \n 虽然帝都市里是发了非必要不上班的通告,不过真正执行的单位还是太少,路上的行人和车辆都匆匆忙忙,又无可奈何。\n \n
\n
\n \n
\n
\n
\n
\n \n 前一天是发了育儿补贴的政策的,加上国常会的一些布置,所以周二一早就去博了一波三孩概念。\n \n
\n
\n \n
\n
\n
\n
\n \n 这是第一次,之前从来没有过,果不其然,套了。\n \n
\n
\n \n
\n
\n
\n
\n \n 这玩意,真不适合自己。。\n \n
\n
\n \n 。\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n

\n \n \n

\n
\n", - "category": "", - "link": "https://mp.weixin.qq.com/s/i9UT3TfZ2ca0UgR7JchyHg", - "creator": "小风子桥牌", - "pubDate": "Fri, 01 Aug 2025 06:18:00 ", - "enclosure": "https://mmbiz.qpic.cn/mmbiz_jpg/bUA2FuHr1jq0ld4QiaEROJBalVdrQs3SFKTk9ibTfXGFR5cBGpUMOVl8YP1bHyxZT9Jlp2ut1jO3H0Olib9iaTcaog/0?wx_fmt=jpeg", - "enclosureType": "image/jpeg", - "image": "https://mmbiz.qpic.cn/mmbiz_jpg/bUA2FuHr1jq0ld4QiaEROJBalVdrQs3SFKTk9ibTfXGFR5cBGpUMOVl8YP1bHyxZT9Jlp2ut1jO3H0Olib9iaTcaog/0?wx_fmt=jpeg", - "id": "2655133694_2", - "language": "", - "folder": "桥牌", - "feed": "小风子桥牌", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "56f0d5c5698c032502b007ca2ab821a6", - "highlights": [] - }, { "title": "21优选 | 2025《人民日报教你写好文章》中 / 高考套装重磅上线!", "description": "21优选 | 2025《人民日报教你写好文章》中 / 高考套装重磅上线!", @@ -11229,28 +11163,6 @@ "hash": "86f09a8c5c6c98da4927830dd271d9ab", "highlights": [] }, - { - "title": "桥牌综锦赛赛程过半 混团决赛队伍产生", - "description": "桥牌综锦赛赛程过半 混团决赛队伍产生", - "content": "
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n

\n \n \n 8月12日,正在上海汽车会展中心举行的2025年全国桥牌综合锦标赛结束了第五个比赛日,混合团体赛结束了半决赛,\n \n 湖北队和北京恒洲\n \n 杀进决赛,将争夺冠军。\n \n \n

\n
\n
\n
\n

\n \n \n \n \n \n \n \n \n \n \n

\n
\n
\n
\n
\n \n
\n
\n \n
\n

\n \n \n
\n
\n
\n

\n

\n \n \n 混合团体赛半决赛进行了4节共打48副牌,湖北队和北京恒洲分别淘汰战马和北京如海,进入最终的冠军争夺战。战马和北京如海将争夺第三名。\n \n \n

\n

\n \n
\n
\n

\n

\n \n \n 混合双人赛今天进行了复赛的全部14轮比赛,积分排名前十六对的选手进入了决赛阶段。\n \n \n

\n

\n \n
\n
\n

\n

\n \n \n 今天开赛的瑞士团体赛有79支参赛队,经过8轮预赛共打48副牌,积分排名前二十四的队伍进入决赛阶段。\n \n \n

\n

\n \n
\n
\n

\n

\n \n \n 青年团体赛U26组有13支参赛队,今天结束了6轮积分排位赛的前4轮,青岛赛轮预备队、天津一队(缦缨)、梦回浙附暂居积分榜前三名。\n \n \n

\n

\n \n \n 青年团体赛U21组有21支参赛队,6轮积分排位赛前4轮战罢,战马青年、无将加农炮和森林队暂时排名前三。\n \n \n

\n

\n \n
\n
\n

\n

\n \n \n 青年双人赛U16结束了预赛全部14轮比赛,前十六对的选手进入决赛。\n \n \n

\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n \n
\n
\n
\n

\n \n \n

\n
\n", - "category": "", - "link": "https://mp.weixin.qq.com/s/zdF_BOIPJWjwpxSzFDfnmw", - "creator": "中国桥牌协会", - "pubDate": "Tue, 12 Aug 2025 21:17:40 ", - "enclosure": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/71SHwPo8iax4ibe2hibA10pnqVWSRibPY2Wkp3aPzbdBVlNn8WCfUme770ownXiciapQRmLP8gYkXkqURZltfnMx9szw/0?wx_fmt=jpeg", - "enclosureType": "image/jpeg", - "image": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/71SHwPo8iax4ibe2hibA10pnqVWSRibPY2Wkp3aPzbdBVlNn8WCfUme770ownXiciapQRmLP8gYkXkqURZltfnMx9szw/0?wx_fmt=jpeg", - "id": "2651311223_1", - "language": "", - "folder": "桥牌", - "feed": "中国桥牌协会", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "0df2df8ea72cd062b051ec4a19536643", - "highlights": [] - }, { "title": "中国式现代化的探索历程及实现路径", "description": "近代以来,实现中华民族伟大复兴是中国人民的共同梦想,无数仁人志士为此苦苦求索,并进行各种探索,开启了中国现代", @@ -14014,28 +13926,6 @@ "hash": "678aa6a3ac392f60cecb79f7bdecad68", "highlights": [] }, - { - "title": "2025年北欧桥牌锦标赛结束", - "description": "6月5-8日,2025年北欧桥牌锦标赛(The Nordic Championship)在冰岛小镇Laugravatn举行。瑞典、芬兰、挪威、法罗群岛、丹麦、冰岛这6家北欧桥联的成员参加了比赛。丹麦获得公开团体冠军,挪威获得女子团体冠军。", - "content": "
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n \n \n 新朋友\n \n \n \n \n \n
\n
\n

\n \n \n 点击\n \n \n \n 标兵桥牌\n \n \n \n

\n

\n \n \n 关注微信\n \n \n

\n
\n
\n \n \n 老朋友\n \n \n
\n
\n

\n \n \n 点击\n \n \n \n 右上角\n \n \n \n

\n

\n \n \n 分享本文\n \n \n

\n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n

\n \n 6月5-8日,2025年北欧桥牌锦标赛(The Nordic Championship)在冰岛小镇Laugravatn举行。瑞典、芬兰、挪威、法罗群岛、丹麦、冰岛这6家北欧桥联的成员参加了比赛。\n \n

\n
\n
\n \n
\n
\n \n 谁能说出北欧六国国旗对应的国家\n \n
\n
\n

\n \n 比赛分为公开团体和女子团体两个项目,由于今年世界桥牌团体锦标赛在丹麦举行,北欧六国中瑞典、挪威、丹麦均获得了参加世锦赛的资格,这次比赛也是他们世锦赛前非常好的练兵机会。\n \n

\n

\n \n 经过4天比赛,丹麦获得公开团体冠军,挪威、瑞典分获二、三名。挪威获得女子团体冠军,丹麦、瑞典分获二、三名。获得两项团体赛前三名的恰好均是参加世锦赛的代表,这也恰如其分地说明了他们在北欧桥牌中的地位。\n \n

\n

\n \n 本次比赛中,丹麦男女队派出的选手基本上是参加世锦赛的队员,挪威女队派出了参加威尼斯杯的队员,挪威男队有一对牌手是参加百慕大杯的队员,对即将参加世锦赛的中国国家队而言,研究和观察他们的比赛,也是赛前备战的内容之一。\n \n

\n

\n \n 从6月开始,欧洲以及北美包括网络上将陆续进行一系列的重要比赛,欧美列强将参加这些比赛进行世锦赛前热身,这也是中国国家队研究对手的良好机会。\n \n

\n

\n \n
\n
\n

\n

\n \n
\n
\n

\n

\n \n
\n
\n

\n

\n \n 相关链接:\n \n 2025年欧洲小联赛布加勒斯特完赛\n \n \n

\n

\n \n 相关链接:\n \n 叫牌用平板、打牌用纸牌——2022年欧洲小联盟赛结束\n \n \n

\n

\n \n 相关链接:\n \n 劳伦特当选欧洲桥联主席、期待开启新时代\n \n \n \n
\n
\n

\n

\n \n 相关链接:\n \n 罗纳时代结束——世界桥联主席换届\n \n \n

\n

\n \n 相关链接:\n \n 欧洲桥牌新纪元——欧洲桥牌团体锦标赛回顾\n \n \n

\n

\n \n
\n
\n

\n

\n \n
\n
\n

\n
\n
\n
\n
\n \n \n \n \n \n 点击\n \n \n \n \n 阅读原文\n \n \n \n \n \n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n \n \n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n

\n \n \n 别忘了点个在看哦!转发那就太好了!\n \n \n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n

\n \n
\n
\n

\n

\n \n
\n
\n \n
\n
\n

\n

\n \n \n

\n
\n", - "category": "", - "link": "https://mp.weixin.qq.com/s/4FObKuBiU2eBA8lw2Zy-3w", - "creator": "标兵桥牌", - "pubDate": "Tue, 10 Jun 2025 00:00:00 ", - "enclosure": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/iauJ3TcMNYDRYno20Pe5bW627sL0rMdJqVCibbphJ8abNtTPtwf2CxWwiaouKfUbnD60ASZT2oDDUNicJDPRzvySPg/0?wx_fmt=jpeg", - "enclosureType": "image/jpeg", - "image": "https://mmbiz.qpic.cn/sz_mmbiz_jpg/iauJ3TcMNYDRYno20Pe5bW627sL0rMdJqVCibbphJ8abNtTPtwf2CxWwiaouKfUbnD60ASZT2oDDUNicJDPRzvySPg/0?wx_fmt=jpeg", - "id": "2247512609_1", - "language": "", - "folder": "桥牌", - "feed": "标兵桥牌", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "6e60cc8d1cf3de1b74a9ea47f0bffcc4", - "highlights": [] - }, { "title": "“奔跑吧·少年”小牌手风采——张本初", "description": "智慧奔跑,赴成长之约!", @@ -17855,28 +17745,6 @@ "hash": "4262ecb925e05d5f3c2efddcfa9a936b", "highlights": [] }, - { - "title": "最后一掌击出高分能量!直击我校送考名场面", - "description": "这些镜头比满分更珍贵", - "content": "
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

\n \n \n 这些镜头比高分更珍贵\n \n \n

\n
\n
\n \n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n

\n \n \n 守护的力量\n \n \n

\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n

\n \n \n \n ——长沙市长郡芙蓉中学——\n \n \n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n ★★★\n \n

\n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n
\n

\n \n \n 击掌送考,师恩如炬\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n

\n \n 清晨,校门口早已站满了送考的老师们。他们身着红色“加油服”,用最灿烂的笑容和最有力的击掌,为每一位走进考场的学子送上祝福。“加油!”“相信自己!”一声声鼓励,化作孩子们心底最坚定的力量。\n \n

\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n
\n

\n \n \n 微笑出场,青春无悔\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n

\n \n 当最后一科考试结束,学生们迈着轻快的步伐走出考场,脸上洋溢着自信的笑容。这一刻,所有的紧张与疲惫都化作了成长的勋章。\n \n

\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n
\n

\n \n \n 翘首以盼,亲情守护\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n 校门外,家长们翘首望向考场方向。他们的目光里,有期待,更有心疼。当孩子飞奔而来,相拥的瞬间,便是最动人的风景。\n \n

\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n
\n

\n \n \n 初二学子,初试锋芒\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n

\n \n 这一天,也是初二同学们的主场。他们带着老师和父母的祝福,昂首走进生地会考的考场。这场“小中考”,是青春的第一次淬炼,更是梦想的起点。\n \n

\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n \n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n

\n \n \n 定格时光,毕业留影\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

\n \n (下滑查看更多)\n \n

\n
\n
\n

\n \n 愿所有学子带着这份勇气与温暖,在更广阔的天地里乘风破浪。母校永远在这里,等你回家!\n \n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n \n END\n \n \n

\n
\n
\n
\n
\n

\n \n \n 来源:新闻中心\n \n \n

\n

\n \n \n 通讯员:周露\n \n \n

\n

\n \n \n 编辑:周露\n \n \n

\n

\n \n \n 初审: 贺丽娜 周露\n \n \n

\n

\n \n \n 二审:黎学科\n \n \n

\n

\n \n \n 三审:孔妹平 夏琴\n \n \n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n

\n \n
\n
\n

\n
\n
\n
\n

\n \n \n

\n
\n", - "category": "", - "link": "https://mp.weixin.qq.com/s/mCJm4Qn-X-QXhVg_4BxoPQ", - "creator": "长沙市长郡芙蓉中学", - "pubDate": "Fri, 20 Jun 2025 15:23:06 ", - "enclosure": "https://mmbiz.qpic.cn/mmbiz_jpg/IiauGwUia8SMPC1lGSsvfQZkeXNcEFd6uCKQCWQxGrqYsvn0Wy5XcqHD2YoB1buBMSLqPzrPOT1F4BM6kRbqyUKQ/0?wx_fmt=jpeg", - "enclosureType": "image/jpeg", - "image": "https://mmbiz.qpic.cn/mmbiz_jpg/IiauGwUia8SMPC1lGSsvfQZkeXNcEFd6uCKQCWQxGrqYsvn0Wy5XcqHD2YoB1buBMSLqPzrPOT1F4BM6kRbqyUKQ/0?wx_fmt=jpeg", - "id": "2247602998_1", - "language": "", - "folder": "资讯", - "feed": "长郡芙蓉中学", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "7484e670a736e9b5e1ebafb5f9e7e133", - "highlights": [] - }, { "title": "日德兰大战——百慕大杯美国夺冠及意大利反转进入武汉杯决赛的一副牌", "description": "东道主丹麦与瑞典的百慕大杯半决赛,一共112副牌,进行到第110副时,双方战成222:222IMP,气氛紧张得喘不过气来。", @@ -21555,50 +21423,6 @@ "hash": "ba780daeb88272cbc3547bdfcd7aebe7", "highlights": [] }, - { - "title": "009CULTURE - Reality series has 'divas' working on BRI projects", - "description": "

Divas Hit the Road, a recently aired reality travel show, brings Chinese celebrities on a 25-day trip to work on projects under the framework of the Belt and Road Initiative in countries such as Madagascar and Egypt.

\n

Actor Gong Jun (middle) threshes grain by beating it against metal barrels in a field in Madagascar.

\n

Actor Zhang Wanyi operates a harvester in the field.

\n

Actress Li Qin works in the field.

\n

Singer Na Ying joins the show.

\n

A recent reality travel show takes a group of Chinese celebrities, including singers, actors and hosts, from the domestic spotlight to the sun-scorched rice fields of Madagascar. There, they cut rice with sickles, operate harvesters, and thresh grain by beating it against metal barrels.

\n

The seventh season of the reality travel show Divas Hit the Road aired on Hunan Satellite TV and Mango TV, guiding audiences through the perspective of celebrities — singer Na Ying, actresses Chen Shu, Ma Sichun, and Li Qin, host Zhang Yaqi, and actors Gong Jun and Zhang Wanyi. During the show, the celebrities work on cooperation projects under the framework of the Belt and Road Initiative in Madagascar, Egypt and other countries, while on their 25-day journey.

\n

In the first episode, the stars visit a hybrid rice demonstration center in Madagascar. In Luxor, Egypt, they observe how the city's museums utilize micro-trace scanning technology provided by Chinese technical teams to document cultural relics.

\n

Zhang Wanyi recalls that the experience of harvesting rice left him physically exhausted, yet filled with a deep sense of joy and accomplishment.

\n

In 2007, Madagascar launched the hybrid rice demonstration center. Agricultural experts from Chinese crop scientist Yuan Longping's team arrived in the country to test seeds across various rice-growing areas, aiming to help the locals achieve the dream of food self-sufficiency.

\n

Hu Yuefang, 68, was one of those experts, spending over 18 years in Madagascar, during which he and his team successfully developed hybrid rice varieties that could adapt to the country's high, medium, and low-altitude regions.

\n

He set up small blackboards in the fields to share technical knowledge, taught the locals how to prevent and control crop diseases and pests, and rode his motorcycle through rice paddies to answer farmers' questions.

\n

He has traveled to nearly every rice-growing area on the island, always carrying a notebook to record the local language and learn native dialects.

\n

"I experienced food shortages as a child. Yuan's hybrid rice greatly improved China's food self-sufficiency. I deeply admire him," Hu shares.

\n

"We want to bring hybrid rice technology to more people. Currently, hybrid rice accounts for 6 percent of Madagascar's total planting area. If it reaches 15 percent, Madagascar will become the first food self-sufficient country in Africa," Hu says of his vision.

\n

The reality show took the seven-member celebrity group to Hu's workplace, where they worked with him in the fields, cooked together, and took photos of Hu and his colleagues interacting with local communities.

\n

Zhang Yaqi shares that she met a local woman who, thanks to growing hybrid rice, was able to not only feed her children but also support their education.

\n

"This story left a deep impression on me," she reflects. "It made me realize the profound impact of introducing hybrid rice technology to Madagascar."

\n

Hu remarks that the show has captured the real situation in Madagascar.

\n

"We are not only here to teach technology; we are making friends and living life together.

\n

"The show allows more people to see the sincerity and warmth within China-Madagascar cooperation and people-to-people bonds. I hope more stories like this will be told, so that the seeds of cooperation, friendship, and hope can take root in more places," Hu says.

\n

Jean Louis Robinson, Madagascar's ambassador to China, notes that the reality show will also be aired in his home country. He expressed confidence that the program will provide Chinese audiences a window to better understanding Madagascar, while also creating an opportunity for Madagascans to gain insight into contemporary China.

\n

xingwen@chinadaily.com.cn

\n

", - "content": "

Divas Hit the Road, a recently aired reality travel show, brings Chinese celebrities on a 25-day trip to work on projects under the framework of the Belt and Road Initiative in countries such as Madagascar and Egypt.

\n

Actor Gong Jun (middle) threshes grain by beating it against metal barrels in a field in Madagascar.

\n

Actor Zhang Wanyi operates a harvester in the field.

\n

Actress Li Qin works in the field.

\n

Singer Na Ying joins the show.

\n

A recent reality travel show takes a group of Chinese celebrities, including singers, actors and hosts, from the domestic spotlight to the sun-scorched rice fields of Madagascar. There, they cut rice with sickles, operate harvesters, and thresh grain by beating it against metal barrels.

\n

The seventh season of the reality travel show Divas Hit the Road aired on Hunan Satellite TV and Mango TV, guiding audiences through the perspective of celebrities — singer Na Ying, actresses Chen Shu, Ma Sichun, and Li Qin, host Zhang Yaqi, and actors Gong Jun and Zhang Wanyi. During the show, the celebrities work on cooperation projects under the framework of the Belt and Road Initiative in Madagascar, Egypt and other countries, while on their 25-day journey.

\n

In the first episode, the stars visit a hybrid rice demonstration center in Madagascar. In Luxor, Egypt, they observe how the city's museums utilize micro-trace scanning technology provided by Chinese technical teams to document cultural relics.

\n

Zhang Wanyi recalls that the experience of harvesting rice left him physically exhausted, yet filled with a deep sense of joy and accomplishment.

\n

In 2007, Madagascar launched the hybrid rice demonstration center. Agricultural experts from Chinese crop scientist Yuan Longping's team arrived in the country to test seeds across various rice-growing areas, aiming to help the locals achieve the dream of food self-sufficiency.

\n

Hu Yuefang, 68, was one of those experts, spending over 18 years in Madagascar, during which he and his team successfully developed hybrid rice varieties that could adapt to the country's high, medium, and low-altitude regions.

\n

He set up small blackboards in the fields to share technical knowledge, taught the locals how to prevent and control crop diseases and pests, and rode his motorcycle through rice paddies to answer farmers' questions.

\n

He has traveled to nearly every rice-growing area on the island, always carrying a notebook to record the local language and learn native dialects.

\n

"I experienced food shortages as a child. Yuan's hybrid rice greatly improved China's food self-sufficiency. I deeply admire him," Hu shares.

\n

"We want to bring hybrid rice technology to more people. Currently, hybrid rice accounts for 6 percent of Madagascar's total planting area. If it reaches 15 percent, Madagascar will become the first food self-sufficient country in Africa," Hu says of his vision.

\n

The reality show took the seven-member celebrity group to Hu's workplace, where they worked with him in the fields, cooked together, and took photos of Hu and his colleagues interacting with local communities.

\n

Zhang Yaqi shares that she met a local woman who, thanks to growing hybrid rice, was able to not only feed her children but also support their education.

\n

"This story left a deep impression on me," she reflects. "It made me realize the profound impact of introducing hybrid rice technology to Madagascar."

\n

Hu remarks that the show has captured the real situation in Madagascar.

\n

"We are not only here to teach technology; we are making friends and living life together.

\n

"The show allows more people to see the sincerity and warmth within China-Madagascar cooperation and people-to-people bonds. I hope more stories like this will be told, so that the seeds of cooperation, friendship, and hope can take root in more places," Hu says.

\n

Jean Louis Robinson, Madagascar's ambassador to China, notes that the reality show will also be aired in his home country. He expressed confidence that the program will provide Chinese audiences a window to better understanding Madagascar, while also creating an opportunity for Madagascans to gain insight into contemporary China.

\n

xingwen@chinadaily.com.cn

\n

", - "category": "", - "link": "https://mobile.chinadaily.com.cn/cn/html5/2025-09/06/content_009_68bb1b36ed50ccabe1518f97.htm#009CULTURE", - "creator": "", - "pubDate": "Sat, 06 Sep 2025 00:21:04 +0000", - "enclosure": "", - "enclosureType": "", - "image": "", - "id": "", - "language": "", - "folder": "双语", - "feed": "ChinaDaily", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "ecf64b9c1d2aab01e32f1c15cb0f93d5", - "highlights": [] - }, - { - "title": "010WORLD - Tomb tells tales", - "description": "

Archaeologist Rodemi Chuquilin (right) excavates human remains and clay vessels dating back more than 1,000 years to the pre-Inca Ychsma culture, uncovered by city workers digging a natural gas line in the Santiago de Surco district of Lima, Peru, on Wednesday.

\n

", - "content": "

Archaeologist Rodemi Chuquilin (right) excavates human remains and clay vessels dating back more than 1,000 years to the pre-Inca Ychsma culture, uncovered by city workers digging a natural gas line in the Santiago de Surco district of Lima, Peru, on Wednesday.

\n

", - "category": "", - "link": "https://mobile.chinadaily.com.cn/cn/html5/2025-09/05/content_010_68b9ffaaed50ccabe1518e01.htm#010WORLD", - "creator": "", - "pubDate": "Fri, 05 Sep 2025 00:21:05 +0000", - "enclosure": "", - "enclosureType": "", - "image": "", - "id": "", - "language": "", - "folder": "双语", - "feed": "ChinaDaily", - "read": false, - "favorite": false, - "created": false, - "tags": [], - "hash": "29b23b10dfc1eb92f883085ac776f3df", - "highlights": [] - }, { "title": "职业牌手网络精英赛(第六期)", "description": "本期比赛7月11-16日, 每天3场. 每天开赛时间: 9:30, 15:00, 20:00.比赛结果及数据", diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 5e3c119d..b3e7f32c 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,21 +4,17 @@ "type": "split", "children": [ { - "id": "87b775484d67432c", + "id": "801b2efce1ce0278", "type": "tabs", "children": [ { - "id": "a79224142b30a79a", + "id": "7639ed9889b1fa25", "type": "leaf", "state": { - "type": "markdown", - "state": { - "file": "01-工作日记/2025-09-06.md", - "mode": "source", - "source": false - }, + "type": "empty", + "state": {}, "icon": "lucide-file", - "title": "2025-09-06" + "title": "新标签页" } } ] @@ -116,7 +112,6 @@ "state": { "type": "backlink", "state": { - "file": "01-工作日记/2025-09-06.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -126,7 +121,7 @@ "unlinkedCollapsed": true }, "icon": "links-coming-in", - "title": "2025-09-06 的反向链接列表" + "title": "反向链接" } }, { @@ -135,12 +130,11 @@ "state": { "type": "outgoing-link", "state": { - "file": "01-工作日记/2025-09-06.md", "linksCollapsed": false, "unlinkedCollapsed": true }, "icon": "links-going-out", - "title": "2025-09-06 的出链列表" + "title": "出链" } }, { @@ -178,13 +172,12 @@ "state": { "type": "outline", "state": { - "file": "01-工作日记/2025-09-06.md", "followCursor": false, "showSearch": false, "searchQuery": "" }, "icon": "lucide-list", - "title": "2025-09-06 的大纲" + "title": "大纲" } }, { @@ -311,17 +304,17 @@ "periodic-notes:Open today": false } }, - "active": "a79224142b30a79a", + "active": "7639ed9889b1fa25", "lastOpenFiles": [ "60-Imports/64-AI/附件3:择优招聘合同制员工申请表(V2.1).docx", "60-Imports/64-AI/0长沙AI人力提示词-现场练习.docx", + "01-工作日记/2025-09-06.md", "60-Imports/64-AI/DD工作总结.md", "60-Imports/64-AI/研发总监STAR面试话术@20250906_102550.md", "60-Imports/64-AI/Data_Backup_Standard_Operating_Procedures.md", "60-Imports/64-AI/长沙夏季旅游推荐@20250831_095229.md", "60-Imports/64-AI/长沙《AI+DeepSeek赋能HR》软件支持- 1.doc", "60-Imports/64-AI/August_Diary_Summary_Report@20250901_121407.md", - "01-工作日记/2025-09-06.md", "60-Imports/64-AI/长沙《AI+DeepSeek赋能HR》软件支持-.doc", "50-Memos/2025/09/应该是最后一次搬办公室了 (2025-09-06 16-38).md", "50-Memos/2025/09/resources/KgMsqdCWKza8RqiuZqhTom_A04DCEF9-62B9-46E0-9E1D-CA66A8FE1E3C.jpg", diff --git a/60-Imports/64-AI/._0长沙AI人力提示词-现场练习.docx b/60-Imports/64-AI/._0长沙AI人力提示词-现场练习.docx new file mode 100644 index 00000000..60d125a8 Binary files /dev/null and b/60-Imports/64-AI/._0长沙AI人力提示词-现场练习.docx differ