@sassoftware/restaflib 4.9.6 → 4.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/restaflib.js CHANGED
@@ -97,548 +97,548 @@ return /******/ (function(modules) { // webpackBootstrap
97
97
  /******/ ({
98
98
 
99
99
  /***/ "../../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
100
- /*!******************************************************************************!*\
101
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
102
- \******************************************************************************/
100
+ /*!*************************************************************************************!*\
101
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
102
+ \*************************************************************************************/
103
103
  /*! no static exports found */
104
104
  /*! all exports used */
105
105
  /***/ (function(module, exports) {
106
106
 
107
- eval("function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/arrayLikeToArray.js?");
107
+ eval("function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/arrayLikeToArray.js?");
108
108
 
109
109
  /***/ }),
110
110
 
111
111
  /***/ "../../../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
112
- /*!****************************************************************************!*\
113
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
114
- \****************************************************************************/
112
+ /*!***********************************************************************************!*\
113
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
114
+ \***********************************************************************************/
115
115
  /*! no static exports found */
116
116
  /*! all exports used */
117
117
  /***/ (function(module, exports) {
118
118
 
119
- eval("function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/arrayWithHoles.js?");
119
+ eval("function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/arrayWithHoles.js?");
120
120
 
121
121
  /***/ }),
122
122
 
123
123
  /***/ "../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
124
- /*!******************************************************************************!*\
125
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
126
- \******************************************************************************/
124
+ /*!*************************************************************************************!*\
125
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
126
+ \*************************************************************************************/
127
127
  /*! no static exports found */
128
128
  /*! exports used: default */
129
129
  /***/ (function(module, exports) {
130
130
 
131
- eval("function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/asyncToGenerator.js?");
131
+ eval("function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/asyncToGenerator.js?");
132
132
 
133
133
  /***/ }),
134
134
 
135
135
  /***/ "../../../node_modules/@babel/runtime/helpers/defineProperty.js":
136
- /*!****************************************************************************!*\
137
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/defineProperty.js ***!
138
- \****************************************************************************/
136
+ /*!***********************************************************************************!*\
137
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/defineProperty.js ***!
138
+ \***********************************************************************************/
139
139
  /*! no static exports found */
140
140
  /*! exports used: default */
141
141
  /***/ (function(module, exports, __webpack_require__) {
142
142
 
143
- eval("var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ \"../../../node_modules/@babel/runtime/helpers/toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/defineProperty.js?");
143
+ eval("var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ \"../../../node_modules/@babel/runtime/helpers/toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/defineProperty.js?");
144
144
 
145
145
  /***/ }),
146
146
 
147
147
  /***/ "../../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
148
- /*!**********************************************************************************!*\
149
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
150
- \**********************************************************************************/
148
+ /*!*****************************************************************************************!*\
149
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
150
+ \*****************************************************************************************/
151
151
  /*! no static exports found */
152
152
  /*! all exports used */
153
153
  /***/ (function(module, exports) {
154
154
 
155
- eval("function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?");
155
+ eval("function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?");
156
156
 
157
157
  /***/ }),
158
158
 
159
159
  /***/ "../../../node_modules/@babel/runtime/helpers/nonIterableRest.js":
160
- /*!*****************************************************************************!*\
161
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
162
- \*****************************************************************************/
160
+ /*!************************************************************************************!*\
161
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
162
+ \************************************************************************************/
163
163
  /*! no static exports found */
164
164
  /*! all exports used */
165
165
  /***/ (function(module, exports) {
166
166
 
167
- eval("function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/nonIterableRest.js?");
167
+ eval("function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/nonIterableRest.js?");
168
168
 
169
169
  /***/ }),
170
170
 
171
171
  /***/ "../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
172
- /*!********************************************************************************!*\
173
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
174
- \********************************************************************************/
172
+ /*!***************************************************************************************!*\
173
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
174
+ \***************************************************************************************/
175
175
  /*! no static exports found */
176
176
  /*! all exports used */
177
177
  /***/ (function(module, exports, __webpack_require__) {
178
178
 
179
- eval("var _typeof = __webpack_require__(/*! ./typeof.js */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/regeneratorRuntime.js?");
179
+ eval("var _typeof = __webpack_require__(/*! ./typeof.js */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/regeneratorRuntime.js?");
180
180
 
181
181
  /***/ }),
182
182
 
183
183
  /***/ "../../../node_modules/@babel/runtime/helpers/slicedToArray.js":
184
- /*!***************************************************************************!*\
185
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/slicedToArray.js ***!
186
- \***************************************************************************/
184
+ /*!**********************************************************************************!*\
185
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/slicedToArray.js ***!
186
+ \**********************************************************************************/
187
187
  /*! no static exports found */
188
188
  /*! exports used: default */
189
189
  /***/ (function(module, exports, __webpack_require__) {
190
190
 
191
- eval("var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ \"../../../node_modules/@babel/runtime/helpers/arrayWithHoles.js\");\nvar iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"../../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"../../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\");\nvar nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ \"../../../node_modules/@babel/runtime/helpers/nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/slicedToArray.js?");
191
+ eval("var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ \"../../../node_modules/@babel/runtime/helpers/arrayWithHoles.js\");\nvar iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ \"../../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"../../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\");\nvar nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ \"../../../node_modules/@babel/runtime/helpers/nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/slicedToArray.js?");
192
192
 
193
193
  /***/ }),
194
194
 
195
195
  /***/ "../../../node_modules/@babel/runtime/helpers/toPrimitive.js":
196
- /*!*************************************************************************!*\
197
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/toPrimitive.js ***!
198
- \*************************************************************************/
196
+ /*!********************************************************************************!*\
197
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/toPrimitive.js ***!
198
+ \********************************************************************************/
199
199
  /*! no static exports found */
200
200
  /*! all exports used */
201
201
  /***/ (function(module, exports, __webpack_require__) {
202
202
 
203
- eval("var _typeof = __webpack_require__(/*! ./typeof.js */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/toPrimitive.js?");
203
+ eval("var _typeof = __webpack_require__(/*! ./typeof.js */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/toPrimitive.js?");
204
204
 
205
205
  /***/ }),
206
206
 
207
207
  /***/ "../../../node_modules/@babel/runtime/helpers/toPropertyKey.js":
208
- /*!***************************************************************************!*\
209
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
210
- \***************************************************************************/
208
+ /*!**********************************************************************************!*\
209
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
210
+ \**********************************************************************************/
211
211
  /*! no static exports found */
212
212
  /*! all exports used */
213
213
  /***/ (function(module, exports, __webpack_require__) {
214
214
 
215
- eval("var _typeof = __webpack_require__(/*! ./typeof.js */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\nvar toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ \"../../../node_modules/@babel/runtime/helpers/toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/toPropertyKey.js?");
215
+ eval("var _typeof = __webpack_require__(/*! ./typeof.js */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\nvar toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ \"../../../node_modules/@babel/runtime/helpers/toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/toPropertyKey.js?");
216
216
 
217
217
  /***/ }),
218
218
 
219
219
  /***/ "../../../node_modules/@babel/runtime/helpers/typeof.js":
220
- /*!********************************************************************!*\
221
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/typeof.js ***!
222
- \********************************************************************/
220
+ /*!***************************************************************************!*\
221
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/typeof.js ***!
222
+ \***************************************************************************/
223
223
  /*! no static exports found */
224
224
  /*! all exports used */
225
225
  /***/ (function(module, exports) {
226
226
 
227
- eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/typeof.js?");
227
+ eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/typeof.js?");
228
228
 
229
229
  /***/ }),
230
230
 
231
231
  /***/ "../../../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
232
- /*!****************************************************************************************!*\
233
- !*** C:/gen2/restaf/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
234
- \****************************************************************************************/
232
+ /*!***********************************************************************************************!*\
233
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
234
+ \***********************************************************************************************/
235
235
  /*! no static exports found */
236
236
  /*! all exports used */
237
237
  /***/ (function(module, exports, __webpack_require__) {
238
238
 
239
- eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ \"../../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?");
239
+ eval("var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ \"../../../node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?");
240
240
 
241
241
  /***/ }),
242
242
 
243
243
  /***/ "../../../node_modules/@babel/runtime/regenerator/index.js":
244
- /*!***********************************************************************!*\
245
- !*** C:/gen2/restaf/node_modules/@babel/runtime/regenerator/index.js ***!
246
- \***********************************************************************/
244
+ /*!******************************************************************************!*\
245
+ !*** C:/sassoftware/restaf/node_modules/@babel/runtime/regenerator/index.js ***!
246
+ \******************************************************************************/
247
247
  /*! no static exports found */
248
248
  /*! exports used: default */
249
249
  /***/ (function(module, exports, __webpack_require__) {
250
250
 
251
- eval("// TODO(Babel 8): Remove this file.\n\nvar runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ \"../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/@babel/runtime/regenerator/index.js?");
251
+ eval("// TODO(Babel 8): Remove this file.\n\nvar runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ \"../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/@babel/runtime/regenerator/index.js?");
252
252
 
253
253
  /***/ }),
254
254
 
255
255
  /***/ "../../../node_modules/asynckit/index.js":
256
- /*!*****************************************************!*\
257
- !*** C:/gen2/restaf/node_modules/asynckit/index.js ***!
258
- \*****************************************************/
256
+ /*!************************************************************!*\
257
+ !*** C:/sassoftware/restaf/node_modules/asynckit/index.js ***!
258
+ \************************************************************/
259
259
  /*! no static exports found */
260
260
  /*! all exports used */
261
261
  /***/ (function(module, exports, __webpack_require__) {
262
262
 
263
- eval("module.exports =\n{\n parallel : __webpack_require__(/*! ./parallel.js */ \"../../../node_modules/asynckit/parallel.js\"),\n serial : __webpack_require__(/*! ./serial.js */ \"../../../node_modules/asynckit/serial.js\"),\n serialOrdered : __webpack_require__(/*! ./serialOrdered.js */ \"../../../node_modules/asynckit/serialOrdered.js\")\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/index.js?");
263
+ eval("module.exports =\n{\n parallel : __webpack_require__(/*! ./parallel.js */ \"../../../node_modules/asynckit/parallel.js\"),\n serial : __webpack_require__(/*! ./serial.js */ \"../../../node_modules/asynckit/serial.js\"),\n serialOrdered : __webpack_require__(/*! ./serialOrdered.js */ \"../../../node_modules/asynckit/serialOrdered.js\")\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/index.js?");
264
264
 
265
265
  /***/ }),
266
266
 
267
267
  /***/ "../../../node_modules/asynckit/lib/abort.js":
268
- /*!*********************************************************!*\
269
- !*** C:/gen2/restaf/node_modules/asynckit/lib/abort.js ***!
270
- \*********************************************************/
268
+ /*!****************************************************************!*\
269
+ !*** C:/sassoftware/restaf/node_modules/asynckit/lib/abort.js ***!
270
+ \****************************************************************/
271
271
  /*! no static exports found */
272
272
  /*! all exports used */
273
273
  /***/ (function(module, exports) {
274
274
 
275
- eval("// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/lib/abort.js?");
275
+ eval("// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/lib/abort.js?");
276
276
 
277
277
  /***/ }),
278
278
 
279
279
  /***/ "../../../node_modules/asynckit/lib/async.js":
280
- /*!*********************************************************!*\
281
- !*** C:/gen2/restaf/node_modules/asynckit/lib/async.js ***!
282
- \*********************************************************/
280
+ /*!****************************************************************!*\
281
+ !*** C:/sassoftware/restaf/node_modules/asynckit/lib/async.js ***!
282
+ \****************************************************************/
283
283
  /*! no static exports found */
284
284
  /*! all exports used */
285
285
  /***/ (function(module, exports, __webpack_require__) {
286
286
 
287
- eval("var defer = __webpack_require__(/*! ./defer.js */ \"../../../node_modules/asynckit/lib/defer.js\");\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/lib/async.js?");
287
+ eval("var defer = __webpack_require__(/*! ./defer.js */ \"../../../node_modules/asynckit/lib/defer.js\");\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/lib/async.js?");
288
288
 
289
289
  /***/ }),
290
290
 
291
291
  /***/ "../../../node_modules/asynckit/lib/defer.js":
292
- /*!*********************************************************!*\
293
- !*** C:/gen2/restaf/node_modules/asynckit/lib/defer.js ***!
294
- \*********************************************************/
292
+ /*!****************************************************************!*\
293
+ !*** C:/sassoftware/restaf/node_modules/asynckit/lib/defer.js ***!
294
+ \****************************************************************/
295
295
  /*! no static exports found */
296
296
  /*! all exports used */
297
297
  /***/ (function(module, exports) {
298
298
 
299
- eval("module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/lib/defer.js?");
299
+ eval("module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/lib/defer.js?");
300
300
 
301
301
  /***/ }),
302
302
 
303
303
  /***/ "../../../node_modules/asynckit/lib/iterate.js":
304
- /*!***********************************************************!*\
305
- !*** C:/gen2/restaf/node_modules/asynckit/lib/iterate.js ***!
306
- \***********************************************************/
304
+ /*!******************************************************************!*\
305
+ !*** C:/sassoftware/restaf/node_modules/asynckit/lib/iterate.js ***!
306
+ \******************************************************************/
307
307
  /*! no static exports found */
308
308
  /*! all exports used */
309
309
  /***/ (function(module, exports, __webpack_require__) {
310
310
 
311
- eval("var async = __webpack_require__(/*! ./async.js */ \"../../../node_modules/asynckit/lib/async.js\")\n , abort = __webpack_require__(/*! ./abort.js */ \"../../../node_modules/asynckit/lib/abort.js\")\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/lib/iterate.js?");
311
+ eval("var async = __webpack_require__(/*! ./async.js */ \"../../../node_modules/asynckit/lib/async.js\")\n , abort = __webpack_require__(/*! ./abort.js */ \"../../../node_modules/asynckit/lib/abort.js\")\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/lib/iterate.js?");
312
312
 
313
313
  /***/ }),
314
314
 
315
315
  /***/ "../../../node_modules/asynckit/lib/state.js":
316
- /*!*********************************************************!*\
317
- !*** C:/gen2/restaf/node_modules/asynckit/lib/state.js ***!
318
- \*********************************************************/
316
+ /*!****************************************************************!*\
317
+ !*** C:/sassoftware/restaf/node_modules/asynckit/lib/state.js ***!
318
+ \****************************************************************/
319
319
  /*! no static exports found */
320
320
  /*! all exports used */
321
321
  /***/ (function(module, exports) {
322
322
 
323
- eval("// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/lib/state.js?");
323
+ eval("// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/lib/state.js?");
324
324
 
325
325
  /***/ }),
326
326
 
327
327
  /***/ "../../../node_modules/asynckit/lib/terminator.js":
328
- /*!**************************************************************!*\
329
- !*** C:/gen2/restaf/node_modules/asynckit/lib/terminator.js ***!
330
- \**************************************************************/
328
+ /*!*********************************************************************!*\
329
+ !*** C:/sassoftware/restaf/node_modules/asynckit/lib/terminator.js ***!
330
+ \*********************************************************************/
331
331
  /*! no static exports found */
332
332
  /*! all exports used */
333
333
  /***/ (function(module, exports, __webpack_require__) {
334
334
 
335
- eval("var abort = __webpack_require__(/*! ./abort.js */ \"../../../node_modules/asynckit/lib/abort.js\")\n , async = __webpack_require__(/*! ./async.js */ \"../../../node_modules/asynckit/lib/async.js\")\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/lib/terminator.js?");
335
+ eval("var abort = __webpack_require__(/*! ./abort.js */ \"../../../node_modules/asynckit/lib/abort.js\")\n , async = __webpack_require__(/*! ./async.js */ \"../../../node_modules/asynckit/lib/async.js\")\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/lib/terminator.js?");
336
336
 
337
337
  /***/ }),
338
338
 
339
339
  /***/ "../../../node_modules/asynckit/parallel.js":
340
- /*!********************************************************!*\
341
- !*** C:/gen2/restaf/node_modules/asynckit/parallel.js ***!
342
- \********************************************************/
340
+ /*!***************************************************************!*\
341
+ !*** C:/sassoftware/restaf/node_modules/asynckit/parallel.js ***!
342
+ \***************************************************************/
343
343
  /*! no static exports found */
344
344
  /*! all exports used */
345
345
  /***/ (function(module, exports, __webpack_require__) {
346
346
 
347
- eval("var iterate = __webpack_require__(/*! ./lib/iterate.js */ \"../../../node_modules/asynckit/lib/iterate.js\")\n , initState = __webpack_require__(/*! ./lib/state.js */ \"../../../node_modules/asynckit/lib/state.js\")\n , terminator = __webpack_require__(/*! ./lib/terminator.js */ \"../../../node_modules/asynckit/lib/terminator.js\")\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/parallel.js?");
347
+ eval("var iterate = __webpack_require__(/*! ./lib/iterate.js */ \"../../../node_modules/asynckit/lib/iterate.js\")\n , initState = __webpack_require__(/*! ./lib/state.js */ \"../../../node_modules/asynckit/lib/state.js\")\n , terminator = __webpack_require__(/*! ./lib/terminator.js */ \"../../../node_modules/asynckit/lib/terminator.js\")\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/parallel.js?");
348
348
 
349
349
  /***/ }),
350
350
 
351
351
  /***/ "../../../node_modules/asynckit/serial.js":
352
- /*!******************************************************!*\
353
- !*** C:/gen2/restaf/node_modules/asynckit/serial.js ***!
354
- \******************************************************/
352
+ /*!*************************************************************!*\
353
+ !*** C:/sassoftware/restaf/node_modules/asynckit/serial.js ***!
354
+ \*************************************************************/
355
355
  /*! no static exports found */
356
356
  /*! all exports used */
357
357
  /***/ (function(module, exports, __webpack_require__) {
358
358
 
359
- eval("var serialOrdered = __webpack_require__(/*! ./serialOrdered.js */ \"../../../node_modules/asynckit/serialOrdered.js\");\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/serial.js?");
359
+ eval("var serialOrdered = __webpack_require__(/*! ./serialOrdered.js */ \"../../../node_modules/asynckit/serialOrdered.js\");\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/serial.js?");
360
360
 
361
361
  /***/ }),
362
362
 
363
363
  /***/ "../../../node_modules/asynckit/serialOrdered.js":
364
- /*!*************************************************************!*\
365
- !*** C:/gen2/restaf/node_modules/asynckit/serialOrdered.js ***!
366
- \*************************************************************/
364
+ /*!********************************************************************!*\
365
+ !*** C:/sassoftware/restaf/node_modules/asynckit/serialOrdered.js ***!
366
+ \********************************************************************/
367
367
  /*! no static exports found */
368
368
  /*! all exports used */
369
369
  /***/ (function(module, exports, __webpack_require__) {
370
370
 
371
- eval("var iterate = __webpack_require__(/*! ./lib/iterate.js */ \"../../../node_modules/asynckit/lib/iterate.js\")\n , initState = __webpack_require__(/*! ./lib/state.js */ \"../../../node_modules/asynckit/lib/state.js\")\n , terminator = __webpack_require__(/*! ./lib/terminator.js */ \"../../../node_modules/asynckit/lib/terminator.js\")\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/asynckit/serialOrdered.js?");
371
+ eval("var iterate = __webpack_require__(/*! ./lib/iterate.js */ \"../../../node_modules/asynckit/lib/iterate.js\")\n , initState = __webpack_require__(/*! ./lib/state.js */ \"../../../node_modules/asynckit/lib/state.js\")\n , terminator = __webpack_require__(/*! ./lib/terminator.js */ \"../../../node_modules/asynckit/lib/terminator.js\")\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/asynckit/serialOrdered.js?");
372
372
 
373
373
  /***/ }),
374
374
 
375
375
  /***/ "../../../node_modules/colors/lib/colors.js":
376
- /*!********************************************************!*\
377
- !*** C:/gen2/restaf/node_modules/colors/lib/colors.js ***!
378
- \********************************************************/
376
+ /*!***************************************************************!*\
377
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/colors.js ***!
378
+ \***************************************************************/
379
379
  /*! no static exports found */
380
380
  /*! all exports used */
381
381
  /***/ (function(module, exports, __webpack_require__) {
382
382
 
383
- eval("/*\n\nThe MIT License (MIT)\n\nOriginal Library\n - Copyright (c) Marak Squires\n\nAdditional functionality\n - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar colors = {};\nmodule['exports'] = colors;\n\ncolors.themes = {};\n\nvar util = __webpack_require__(/*! util */ \"util\");\nvar ansiStyles = colors.styles = __webpack_require__(/*! ./styles */ \"../../../node_modules/colors/lib/styles.js\");\nvar defineProps = Object.defineProperties;\nvar newLineRegex = new RegExp(/[\\r\\n]+/g);\n\ncolors.supportsColor = __webpack_require__(/*! ./system/supports-colors */ \"../../../node_modules/colors/lib/system/supports-colors.js\").supportsColor;\n\nif (typeof colors.enabled === 'undefined') {\n colors.enabled = colors.supportsColor() !== false;\n}\n\ncolors.enable = function() {\n colors.enabled = true;\n};\n\ncolors.disable = function() {\n colors.enabled = false;\n};\n\ncolors.stripColors = colors.strip = function(str) {\n return ('' + str).replace(/\\x1B\\[\\d+m/g, '');\n};\n\n// eslint-disable-next-line no-unused-vars\nvar stylize = colors.stylize = function stylize(str, style) {\n if (!colors.enabled) {\n return str+'';\n }\n\n var styleMap = ansiStyles[style];\n\n // Stylize should work for non-ANSI styles, too\n if(!styleMap && style in colors){\n // Style maps like trap operate as functions on strings;\n // they don't have properties like open or close.\n return colors[style](str);\n }\n\n return styleMap.open + str + styleMap.close;\n};\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nvar escapeStringRegexp = function(str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nfunction build(_styles) {\n var builder = function builder() {\n return applyStyle.apply(builder, arguments);\n };\n builder._styles = _styles;\n // __proto__ is used because we must return a function, but there is\n // no way to create a function with a different prototype.\n builder.__proto__ = proto;\n return builder;\n}\n\nvar styles = (function() {\n var ret = {};\n ansiStyles.grey = ansiStyles.gray;\n Object.keys(ansiStyles).forEach(function(key) {\n ansiStyles[key].closeRe =\n new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n ret[key] = {\n get: function() {\n return build(this._styles.concat(key));\n },\n };\n });\n return ret;\n})();\n\nvar proto = defineProps(function colors() {}, styles);\n\nfunction applyStyle() {\n var args = Array.prototype.slice.call(arguments);\n\n var str = args.map(function(arg) {\n // Use weak equality check so we can colorize null/undefined in safe mode\n if (arg != null && arg.constructor === String) {\n return arg;\n } else {\n return util.inspect(arg);\n }\n }).join(' ');\n\n if (!colors.enabled || !str) {\n return str;\n }\n\n var newLinesPresent = str.indexOf('\\n') != -1;\n\n var nestedStyles = this._styles;\n\n var i = nestedStyles.length;\n while (i--) {\n var code = ansiStyles[nestedStyles[i]];\n str = code.open + str.replace(code.closeRe, code.open) + code.close;\n if (newLinesPresent) {\n str = str.replace(newLineRegex, function(match) {\n return code.close + match + code.open;\n });\n }\n }\n\n return str;\n}\n\ncolors.setTheme = function(theme) {\n if (typeof theme === 'string') {\n console.log('colors.setTheme now only accepts an object, not a string. ' +\n 'If you are trying to set a theme from a file, it is now your (the ' +\n 'caller\\'s) responsibility to require the file. The old syntax ' +\n 'looked like colors.setTheme(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'); The new syntax looks like '+\n 'colors.setTheme(require(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'));');\n return;\n }\n for (var style in theme) {\n (function(style) {\n colors[style] = function(str) {\n if (typeof theme[style] === 'object') {\n var out = str;\n for (var i in theme[style]) {\n out = colors[theme[style][i]](out);\n }\n return out;\n }\n return colors[theme[style]](str);\n };\n })(style);\n }\n};\n\nfunction init() {\n var ret = {};\n Object.keys(styles).forEach(function(name) {\n ret[name] = {\n get: function() {\n return build([name]);\n },\n };\n });\n return ret;\n}\n\nvar sequencer = function sequencer(map, str) {\n var exploded = str.split('');\n exploded = exploded.map(map);\n return exploded.join('');\n};\n\n// custom formatter methods\ncolors.trap = __webpack_require__(/*! ./custom/trap */ \"../../../node_modules/colors/lib/custom/trap.js\");\ncolors.zalgo = __webpack_require__(/*! ./custom/zalgo */ \"../../../node_modules/colors/lib/custom/zalgo.js\");\n\n// maps\ncolors.maps = {};\ncolors.maps.america = __webpack_require__(/*! ./maps/america */ \"../../../node_modules/colors/lib/maps/america.js\")(colors);\ncolors.maps.zebra = __webpack_require__(/*! ./maps/zebra */ \"../../../node_modules/colors/lib/maps/zebra.js\")(colors);\ncolors.maps.rainbow = __webpack_require__(/*! ./maps/rainbow */ \"../../../node_modules/colors/lib/maps/rainbow.js\")(colors);\ncolors.maps.random = __webpack_require__(/*! ./maps/random */ \"../../../node_modules/colors/lib/maps/random.js\")(colors);\n\nfor (var map in colors.maps) {\n (function(map) {\n colors[map] = function(str) {\n return sequencer(colors.maps[map], str);\n };\n })(map);\n}\n\ndefineProps(colors, init());\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/colors.js?");
383
+ eval("/*\n\nThe MIT License (MIT)\n\nOriginal Library\n - Copyright (c) Marak Squires\n\nAdditional functionality\n - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar colors = {};\nmodule['exports'] = colors;\n\ncolors.themes = {};\n\nvar util = __webpack_require__(/*! util */ \"util\");\nvar ansiStyles = colors.styles = __webpack_require__(/*! ./styles */ \"../../../node_modules/colors/lib/styles.js\");\nvar defineProps = Object.defineProperties;\nvar newLineRegex = new RegExp(/[\\r\\n]+/g);\n\ncolors.supportsColor = __webpack_require__(/*! ./system/supports-colors */ \"../../../node_modules/colors/lib/system/supports-colors.js\").supportsColor;\n\nif (typeof colors.enabled === 'undefined') {\n colors.enabled = colors.supportsColor() !== false;\n}\n\ncolors.enable = function() {\n colors.enabled = true;\n};\n\ncolors.disable = function() {\n colors.enabled = false;\n};\n\ncolors.stripColors = colors.strip = function(str) {\n return ('' + str).replace(/\\x1B\\[\\d+m/g, '');\n};\n\n// eslint-disable-next-line no-unused-vars\nvar stylize = colors.stylize = function stylize(str, style) {\n if (!colors.enabled) {\n return str+'';\n }\n\n var styleMap = ansiStyles[style];\n\n // Stylize should work for non-ANSI styles, too\n if(!styleMap && style in colors){\n // Style maps like trap operate as functions on strings;\n // they don't have properties like open or close.\n return colors[style](str);\n }\n\n return styleMap.open + str + styleMap.close;\n};\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\nvar escapeStringRegexp = function(str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n return str.replace(matchOperatorsRe, '\\\\$&');\n};\n\nfunction build(_styles) {\n var builder = function builder() {\n return applyStyle.apply(builder, arguments);\n };\n builder._styles = _styles;\n // __proto__ is used because we must return a function, but there is\n // no way to create a function with a different prototype.\n builder.__proto__ = proto;\n return builder;\n}\n\nvar styles = (function() {\n var ret = {};\n ansiStyles.grey = ansiStyles.gray;\n Object.keys(ansiStyles).forEach(function(key) {\n ansiStyles[key].closeRe =\n new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');\n ret[key] = {\n get: function() {\n return build(this._styles.concat(key));\n },\n };\n });\n return ret;\n})();\n\nvar proto = defineProps(function colors() {}, styles);\n\nfunction applyStyle() {\n var args = Array.prototype.slice.call(arguments);\n\n var str = args.map(function(arg) {\n // Use weak equality check so we can colorize null/undefined in safe mode\n if (arg != null && arg.constructor === String) {\n return arg;\n } else {\n return util.inspect(arg);\n }\n }).join(' ');\n\n if (!colors.enabled || !str) {\n return str;\n }\n\n var newLinesPresent = str.indexOf('\\n') != -1;\n\n var nestedStyles = this._styles;\n\n var i = nestedStyles.length;\n while (i--) {\n var code = ansiStyles[nestedStyles[i]];\n str = code.open + str.replace(code.closeRe, code.open) + code.close;\n if (newLinesPresent) {\n str = str.replace(newLineRegex, function(match) {\n return code.close + match + code.open;\n });\n }\n }\n\n return str;\n}\n\ncolors.setTheme = function(theme) {\n if (typeof theme === 'string') {\n console.log('colors.setTheme now only accepts an object, not a string. ' +\n 'If you are trying to set a theme from a file, it is now your (the ' +\n 'caller\\'s) responsibility to require the file. The old syntax ' +\n 'looked like colors.setTheme(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'); The new syntax looks like '+\n 'colors.setTheme(require(__dirname + ' +\n '\\'/../themes/generic-logging.js\\'));');\n return;\n }\n for (var style in theme) {\n (function(style) {\n colors[style] = function(str) {\n if (typeof theme[style] === 'object') {\n var out = str;\n for (var i in theme[style]) {\n out = colors[theme[style][i]](out);\n }\n return out;\n }\n return colors[theme[style]](str);\n };\n })(style);\n }\n};\n\nfunction init() {\n var ret = {};\n Object.keys(styles).forEach(function(name) {\n ret[name] = {\n get: function() {\n return build([name]);\n },\n };\n });\n return ret;\n}\n\nvar sequencer = function sequencer(map, str) {\n var exploded = str.split('');\n exploded = exploded.map(map);\n return exploded.join('');\n};\n\n// custom formatter methods\ncolors.trap = __webpack_require__(/*! ./custom/trap */ \"../../../node_modules/colors/lib/custom/trap.js\");\ncolors.zalgo = __webpack_require__(/*! ./custom/zalgo */ \"../../../node_modules/colors/lib/custom/zalgo.js\");\n\n// maps\ncolors.maps = {};\ncolors.maps.america = __webpack_require__(/*! ./maps/america */ \"../../../node_modules/colors/lib/maps/america.js\")(colors);\ncolors.maps.zebra = __webpack_require__(/*! ./maps/zebra */ \"../../../node_modules/colors/lib/maps/zebra.js\")(colors);\ncolors.maps.rainbow = __webpack_require__(/*! ./maps/rainbow */ \"../../../node_modules/colors/lib/maps/rainbow.js\")(colors);\ncolors.maps.random = __webpack_require__(/*! ./maps/random */ \"../../../node_modules/colors/lib/maps/random.js\")(colors);\n\nfor (var map in colors.maps) {\n (function(map) {\n colors[map] = function(str) {\n return sequencer(colors.maps[map], str);\n };\n })(map);\n}\n\ndefineProps(colors, init());\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/colors.js?");
384
384
 
385
385
  /***/ }),
386
386
 
387
387
  /***/ "../../../node_modules/colors/lib/custom/trap.js":
388
- /*!*************************************************************!*\
389
- !*** C:/gen2/restaf/node_modules/colors/lib/custom/trap.js ***!
390
- \*************************************************************/
388
+ /*!********************************************************************!*\
389
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/custom/trap.js ***!
390
+ \********************************************************************/
391
391
  /*! no static exports found */
392
392
  /*! all exports used */
393
393
  /***/ (function(module, exports) {
394
394
 
395
- eval("module['exports'] = function runTheTrap(text, options) {\n var result = '';\n text = text || 'Run the trap, drop the bass';\n text = text.split('');\n var trap = {\n a: ['\\u0040', '\\u0104', '\\u023a', '\\u0245', '\\u0394', '\\u039b', '\\u0414'],\n b: ['\\u00df', '\\u0181', '\\u0243', '\\u026e', '\\u03b2', '\\u0e3f'],\n c: ['\\u00a9', '\\u023b', '\\u03fe'],\n d: ['\\u00d0', '\\u018a', '\\u0500', '\\u0501', '\\u0502', '\\u0503'],\n e: ['\\u00cb', '\\u0115', '\\u018e', '\\u0258', '\\u03a3', '\\u03be', '\\u04bc',\n '\\u0a6c'],\n f: ['\\u04fa'],\n g: ['\\u0262'],\n h: ['\\u0126', '\\u0195', '\\u04a2', '\\u04ba', '\\u04c7', '\\u050a'],\n i: ['\\u0f0f'],\n j: ['\\u0134'],\n k: ['\\u0138', '\\u04a0', '\\u04c3', '\\u051e'],\n l: ['\\u0139'],\n m: ['\\u028d', '\\u04cd', '\\u04ce', '\\u0520', '\\u0521', '\\u0d69'],\n n: ['\\u00d1', '\\u014b', '\\u019d', '\\u0376', '\\u03a0', '\\u048a'],\n o: ['\\u00d8', '\\u00f5', '\\u00f8', '\\u01fe', '\\u0298', '\\u047a', '\\u05dd',\n '\\u06dd', '\\u0e4f'],\n p: ['\\u01f7', '\\u048e'],\n q: ['\\u09cd'],\n r: ['\\u00ae', '\\u01a6', '\\u0210', '\\u024c', '\\u0280', '\\u042f'],\n s: ['\\u00a7', '\\u03de', '\\u03df', '\\u03e8'],\n t: ['\\u0141', '\\u0166', '\\u0373'],\n u: ['\\u01b1', '\\u054d'],\n v: ['\\u05d8'],\n w: ['\\u0428', '\\u0460', '\\u047c', '\\u0d70'],\n x: ['\\u04b2', '\\u04fe', '\\u04fc', '\\u04fd'],\n y: ['\\u00a5', '\\u04b0', '\\u04cb'],\n z: ['\\u01b5', '\\u0240'],\n };\n text.forEach(function(c) {\n c = c.toLowerCase();\n var chars = trap[c] || [' '];\n var rand = Math.floor(Math.random() * chars.length);\n if (typeof trap[c] !== 'undefined') {\n result += trap[c][rand];\n } else {\n result += c;\n }\n });\n return result;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/custom/trap.js?");
395
+ eval("module['exports'] = function runTheTrap(text, options) {\n var result = '';\n text = text || 'Run the trap, drop the bass';\n text = text.split('');\n var trap = {\n a: ['\\u0040', '\\u0104', '\\u023a', '\\u0245', '\\u0394', '\\u039b', '\\u0414'],\n b: ['\\u00df', '\\u0181', '\\u0243', '\\u026e', '\\u03b2', '\\u0e3f'],\n c: ['\\u00a9', '\\u023b', '\\u03fe'],\n d: ['\\u00d0', '\\u018a', '\\u0500', '\\u0501', '\\u0502', '\\u0503'],\n e: ['\\u00cb', '\\u0115', '\\u018e', '\\u0258', '\\u03a3', '\\u03be', '\\u04bc',\n '\\u0a6c'],\n f: ['\\u04fa'],\n g: ['\\u0262'],\n h: ['\\u0126', '\\u0195', '\\u04a2', '\\u04ba', '\\u04c7', '\\u050a'],\n i: ['\\u0f0f'],\n j: ['\\u0134'],\n k: ['\\u0138', '\\u04a0', '\\u04c3', '\\u051e'],\n l: ['\\u0139'],\n m: ['\\u028d', '\\u04cd', '\\u04ce', '\\u0520', '\\u0521', '\\u0d69'],\n n: ['\\u00d1', '\\u014b', '\\u019d', '\\u0376', '\\u03a0', '\\u048a'],\n o: ['\\u00d8', '\\u00f5', '\\u00f8', '\\u01fe', '\\u0298', '\\u047a', '\\u05dd',\n '\\u06dd', '\\u0e4f'],\n p: ['\\u01f7', '\\u048e'],\n q: ['\\u09cd'],\n r: ['\\u00ae', '\\u01a6', '\\u0210', '\\u024c', '\\u0280', '\\u042f'],\n s: ['\\u00a7', '\\u03de', '\\u03df', '\\u03e8'],\n t: ['\\u0141', '\\u0166', '\\u0373'],\n u: ['\\u01b1', '\\u054d'],\n v: ['\\u05d8'],\n w: ['\\u0428', '\\u0460', '\\u047c', '\\u0d70'],\n x: ['\\u04b2', '\\u04fe', '\\u04fc', '\\u04fd'],\n y: ['\\u00a5', '\\u04b0', '\\u04cb'],\n z: ['\\u01b5', '\\u0240'],\n };\n text.forEach(function(c) {\n c = c.toLowerCase();\n var chars = trap[c] || [' '];\n var rand = Math.floor(Math.random() * chars.length);\n if (typeof trap[c] !== 'undefined') {\n result += trap[c][rand];\n } else {\n result += c;\n }\n });\n return result;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/custom/trap.js?");
396
396
 
397
397
  /***/ }),
398
398
 
399
399
  /***/ "../../../node_modules/colors/lib/custom/zalgo.js":
400
- /*!**************************************************************!*\
401
- !*** C:/gen2/restaf/node_modules/colors/lib/custom/zalgo.js ***!
402
- \**************************************************************/
400
+ /*!*********************************************************************!*\
401
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/custom/zalgo.js ***!
402
+ \*********************************************************************/
403
403
  /*! no static exports found */
404
404
  /*! all exports used */
405
405
  /***/ (function(module, exports) {
406
406
 
407
- eval("// please no\nmodule['exports'] = function zalgo(text, options) {\n text = text || ' he is here ';\n var soul = {\n 'up': [\n '̍', '̎', '̄', '̅',\n '̿', '̑', '̆', '̐',\n '͒', '͗', '͑', '̇',\n '̈', '̊', '͂', '̓',\n '̈', '͊', '͋', '͌',\n '̃', '̂', '̌', '͐',\n '̀', '́', '̋', '̏',\n '̒', '̓', '̔', '̽',\n '̉', 'ͣ', 'ͤ', 'ͥ',\n 'ͦ', 'ͧ', 'ͨ', 'ͩ',\n 'ͪ', 'ͫ', 'ͬ', 'ͭ',\n 'ͮ', 'ͯ', '̾', '͛',\n '͆', '̚',\n ],\n 'down': [\n '̖', '̗', '̘', '̙',\n '̜', '̝', '̞', '̟',\n '̠', '̤', '̥', '̦',\n '̩', '̪', '̫', '̬',\n '̭', '̮', '̯', '̰',\n '̱', '̲', '̳', '̹',\n '̺', '̻', '̼', 'ͅ',\n '͇', '͈', '͉', '͍',\n '͎', '͓', '͔', '͕',\n '͖', '͙', '͚', '̣',\n ],\n 'mid': [\n '̕', '̛', '̀', '́',\n '͘', '̡', '̢', '̧',\n '̨', '̴', '̵', '̶',\n '͜', '͝', '͞',\n '͟', '͠', '͢', '̸',\n '̷', '͡', ' ҉',\n ],\n };\n var all = [].concat(soul.up, soul.down, soul.mid);\n\n function randomNumber(range) {\n var r = Math.floor(Math.random() * range);\n return r;\n }\n\n function isChar(character) {\n var bool = false;\n all.filter(function(i) {\n bool = (i === character);\n });\n return bool;\n }\n\n\n function heComes(text, options) {\n var result = '';\n var counts;\n var l;\n options = options || {};\n options['up'] =\n typeof options['up'] !== 'undefined' ? options['up'] : true;\n options['mid'] =\n typeof options['mid'] !== 'undefined' ? options['mid'] : true;\n options['down'] =\n typeof options['down'] !== 'undefined' ? options['down'] : true;\n options['size'] =\n typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';\n text = text.split('');\n for (l in text) {\n if (isChar(l)) {\n continue;\n }\n result = result + text[l];\n counts = {'up': 0, 'down': 0, 'mid': 0};\n switch (options.size) {\n case 'mini':\n counts.up = randomNumber(8);\n counts.mid = randomNumber(2);\n counts.down = randomNumber(8);\n break;\n case 'maxi':\n counts.up = randomNumber(16) + 3;\n counts.mid = randomNumber(4) + 1;\n counts.down = randomNumber(64) + 3;\n break;\n default:\n counts.up = randomNumber(8) + 1;\n counts.mid = randomNumber(6) / 2;\n counts.down = randomNumber(8) + 1;\n break;\n }\n\n var arr = ['up', 'mid', 'down'];\n for (var d in arr) {\n var index = arr[d];\n for (var i = 0; i <= counts[index]; i++) {\n if (options[index]) {\n result = result + soul[index][randomNumber(soul[index].length)];\n }\n }\n }\n }\n return result;\n }\n // don't summon him\n return heComes(text, options);\n};\n\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/custom/zalgo.js?");
407
+ eval("// please no\nmodule['exports'] = function zalgo(text, options) {\n text = text || ' he is here ';\n var soul = {\n 'up': [\n '̍', '̎', '̄', '̅',\n '̿', '̑', '̆', '̐',\n '͒', '͗', '͑', '̇',\n '̈', '̊', '͂', '̓',\n '̈', '͊', '͋', '͌',\n '̃', '̂', '̌', '͐',\n '̀', '́', '̋', '̏',\n '̒', '̓', '̔', '̽',\n '̉', 'ͣ', 'ͤ', 'ͥ',\n 'ͦ', 'ͧ', 'ͨ', 'ͩ',\n 'ͪ', 'ͫ', 'ͬ', 'ͭ',\n 'ͮ', 'ͯ', '̾', '͛',\n '͆', '̚',\n ],\n 'down': [\n '̖', '̗', '̘', '̙',\n '̜', '̝', '̞', '̟',\n '̠', '̤', '̥', '̦',\n '̩', '̪', '̫', '̬',\n '̭', '̮', '̯', '̰',\n '̱', '̲', '̳', '̹',\n '̺', '̻', '̼', 'ͅ',\n '͇', '͈', '͉', '͍',\n '͎', '͓', '͔', '͕',\n '͖', '͙', '͚', '̣',\n ],\n 'mid': [\n '̕', '̛', '̀', '́',\n '͘', '̡', '̢', '̧',\n '̨', '̴', '̵', '̶',\n '͜', '͝', '͞',\n '͟', '͠', '͢', '̸',\n '̷', '͡', ' ҉',\n ],\n };\n var all = [].concat(soul.up, soul.down, soul.mid);\n\n function randomNumber(range) {\n var r = Math.floor(Math.random() * range);\n return r;\n }\n\n function isChar(character) {\n var bool = false;\n all.filter(function(i) {\n bool = (i === character);\n });\n return bool;\n }\n\n\n function heComes(text, options) {\n var result = '';\n var counts;\n var l;\n options = options || {};\n options['up'] =\n typeof options['up'] !== 'undefined' ? options['up'] : true;\n options['mid'] =\n typeof options['mid'] !== 'undefined' ? options['mid'] : true;\n options['down'] =\n typeof options['down'] !== 'undefined' ? options['down'] : true;\n options['size'] =\n typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';\n text = text.split('');\n for (l in text) {\n if (isChar(l)) {\n continue;\n }\n result = result + text[l];\n counts = {'up': 0, 'down': 0, 'mid': 0};\n switch (options.size) {\n case 'mini':\n counts.up = randomNumber(8);\n counts.mid = randomNumber(2);\n counts.down = randomNumber(8);\n break;\n case 'maxi':\n counts.up = randomNumber(16) + 3;\n counts.mid = randomNumber(4) + 1;\n counts.down = randomNumber(64) + 3;\n break;\n default:\n counts.up = randomNumber(8) + 1;\n counts.mid = randomNumber(6) / 2;\n counts.down = randomNumber(8) + 1;\n break;\n }\n\n var arr = ['up', 'mid', 'down'];\n for (var d in arr) {\n var index = arr[d];\n for (var i = 0; i <= counts[index]; i++) {\n if (options[index]) {\n result = result + soul[index][randomNumber(soul[index].length)];\n }\n }\n }\n }\n return result;\n }\n // don't summon him\n return heComes(text, options);\n};\n\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/custom/zalgo.js?");
408
408
 
409
409
  /***/ }),
410
410
 
411
411
  /***/ "../../../node_modules/colors/lib/maps/america.js":
412
- /*!**************************************************************!*\
413
- !*** C:/gen2/restaf/node_modules/colors/lib/maps/america.js ***!
414
- \**************************************************************/
412
+ /*!*********************************************************************!*\
413
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/maps/america.js ***!
414
+ \*********************************************************************/
415
415
  /*! no static exports found */
416
416
  /*! all exports used */
417
417
  /***/ (function(module, exports) {
418
418
 
419
- eval("module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n if (letter === ' ') return letter;\n switch (i%3) {\n case 0: return colors.red(letter);\n case 1: return colors.white(letter);\n case 2: return colors.blue(letter);\n }\n };\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/maps/america.js?");
419
+ eval("module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n if (letter === ' ') return letter;\n switch (i%3) {\n case 0: return colors.red(letter);\n case 1: return colors.white(letter);\n case 2: return colors.blue(letter);\n }\n };\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/maps/america.js?");
420
420
 
421
421
  /***/ }),
422
422
 
423
423
  /***/ "../../../node_modules/colors/lib/maps/rainbow.js":
424
- /*!**************************************************************!*\
425
- !*** C:/gen2/restaf/node_modules/colors/lib/maps/rainbow.js ***!
426
- \**************************************************************/
424
+ /*!*********************************************************************!*\
425
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/maps/rainbow.js ***!
426
+ \*********************************************************************/
427
427
  /*! no static exports found */
428
428
  /*! all exports used */
429
429
  /***/ (function(module, exports) {
430
430
 
431
- eval("module['exports'] = function(colors) {\n // RoY G BiV\n var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];\n return function(letter, i, exploded) {\n if (letter === ' ') {\n return letter;\n } else {\n return colors[rainbowColors[i++ % rainbowColors.length]](letter);\n }\n };\n};\n\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/maps/rainbow.js?");
431
+ eval("module['exports'] = function(colors) {\n // RoY G BiV\n var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];\n return function(letter, i, exploded) {\n if (letter === ' ') {\n return letter;\n } else {\n return colors[rainbowColors[i++ % rainbowColors.length]](letter);\n }\n };\n};\n\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/maps/rainbow.js?");
432
432
 
433
433
  /***/ }),
434
434
 
435
435
  /***/ "../../../node_modules/colors/lib/maps/random.js":
436
- /*!*************************************************************!*\
437
- !*** C:/gen2/restaf/node_modules/colors/lib/maps/random.js ***!
438
- \*************************************************************/
436
+ /*!********************************************************************!*\
437
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/maps/random.js ***!
438
+ \********************************************************************/
439
439
  /*! no static exports found */
440
440
  /*! all exports used */
441
441
  /***/ (function(module, exports) {
442
442
 
443
- eval("module['exports'] = function(colors) {\n var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',\n 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed',\n 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta'];\n return function(letter, i, exploded) {\n return letter === ' ' ? letter :\n colors[\n available[Math.round(Math.random() * (available.length - 2))]\n ](letter);\n };\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/maps/random.js?");
443
+ eval("module['exports'] = function(colors) {\n var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',\n 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed',\n 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta'];\n return function(letter, i, exploded) {\n return letter === ' ' ? letter :\n colors[\n available[Math.round(Math.random() * (available.length - 2))]\n ](letter);\n };\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/maps/random.js?");
444
444
 
445
445
  /***/ }),
446
446
 
447
447
  /***/ "../../../node_modules/colors/lib/maps/zebra.js":
448
- /*!************************************************************!*\
449
- !*** C:/gen2/restaf/node_modules/colors/lib/maps/zebra.js ***!
450
- \************************************************************/
448
+ /*!*******************************************************************!*\
449
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/maps/zebra.js ***!
450
+ \*******************************************************************/
451
451
  /*! no static exports found */
452
452
  /*! all exports used */
453
453
  /***/ (function(module, exports) {
454
454
 
455
- eval("module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n return i % 2 === 0 ? letter : colors.inverse(letter);\n };\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/maps/zebra.js?");
455
+ eval("module['exports'] = function(colors) {\n return function(letter, i, exploded) {\n return i % 2 === 0 ? letter : colors.inverse(letter);\n };\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/maps/zebra.js?");
456
456
 
457
457
  /***/ }),
458
458
 
459
459
  /***/ "../../../node_modules/colors/lib/styles.js":
460
- /*!********************************************************!*\
461
- !*** C:/gen2/restaf/node_modules/colors/lib/styles.js ***!
462
- \********************************************************/
460
+ /*!***************************************************************!*\
461
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/styles.js ***!
462
+ \***************************************************************/
463
463
  /*! no static exports found */
464
464
  /*! all exports used */
465
465
  /***/ (function(module, exports) {
466
466
 
467
- eval("/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar styles = {};\nmodule['exports'] = styles;\n\nvar codes = {\n reset: [0, 0],\n\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n grey: [90, 39],\n\n brightRed: [91, 39],\n brightGreen: [92, 39],\n brightYellow: [93, 39],\n brightBlue: [94, 39],\n brightMagenta: [95, 39],\n brightCyan: [96, 39],\n brightWhite: [97, 39],\n\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n bgGray: [100, 49],\n bgGrey: [100, 49],\n\n bgBrightRed: [101, 49],\n bgBrightGreen: [102, 49],\n bgBrightYellow: [103, 49],\n bgBrightBlue: [104, 49],\n bgBrightMagenta: [105, 49],\n bgBrightCyan: [106, 49],\n bgBrightWhite: [107, 49],\n\n // legacy styles for colors pre v1.0.0\n blackBG: [40, 49],\n redBG: [41, 49],\n greenBG: [42, 49],\n yellowBG: [43, 49],\n blueBG: [44, 49],\n magentaBG: [45, 49],\n cyanBG: [46, 49],\n whiteBG: [47, 49],\n\n};\n\nObject.keys(codes).forEach(function(key) {\n var val = codes[key];\n var style = styles[key] = [];\n style.open = '\\u001b[' + val[0] + 'm';\n style.close = '\\u001b[' + val[1] + 'm';\n});\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/styles.js?");
467
+ eval("/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\nvar styles = {};\nmodule['exports'] = styles;\n\nvar codes = {\n reset: [0, 0],\n\n bold: [1, 22],\n dim: [2, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n grey: [90, 39],\n\n brightRed: [91, 39],\n brightGreen: [92, 39],\n brightYellow: [93, 39],\n brightBlue: [94, 39],\n brightMagenta: [95, 39],\n brightCyan: [96, 39],\n brightWhite: [97, 39],\n\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49],\n bgGray: [100, 49],\n bgGrey: [100, 49],\n\n bgBrightRed: [101, 49],\n bgBrightGreen: [102, 49],\n bgBrightYellow: [103, 49],\n bgBrightBlue: [104, 49],\n bgBrightMagenta: [105, 49],\n bgBrightCyan: [106, 49],\n bgBrightWhite: [107, 49],\n\n // legacy styles for colors pre v1.0.0\n blackBG: [40, 49],\n redBG: [41, 49],\n greenBG: [42, 49],\n yellowBG: [43, 49],\n blueBG: [44, 49],\n magentaBG: [45, 49],\n cyanBG: [46, 49],\n whiteBG: [47, 49],\n\n};\n\nObject.keys(codes).forEach(function(key) {\n var val = codes[key];\n var style = styles[key] = [];\n style.open = '\\u001b[' + val[0] + 'm';\n style.close = '\\u001b[' + val[1] + 'm';\n});\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/styles.js?");
468
468
 
469
469
  /***/ }),
470
470
 
471
471
  /***/ "../../../node_modules/colors/lib/system/has-flag.js":
472
- /*!*****************************************************************!*\
473
- !*** C:/gen2/restaf/node_modules/colors/lib/system/has-flag.js ***!
474
- \*****************************************************************/
472
+ /*!************************************************************************!*\
473
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/system/has-flag.js ***!
474
+ \************************************************************************/
475
475
  /*! no static exports found */
476
476
  /*! all exports used */
477
477
  /***/ (function(module, exports, __webpack_require__) {
478
478
 
479
479
  "use strict";
480
- eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n\n\nmodule.exports = function(flag, argv) {\n argv = argv || process.argv;\n\n var terminatorPos = argv.indexOf('--');\n var prefix = /^-{1,2}/.test(flag) ? '' : '--';\n var pos = argv.indexOf(prefix + flag);\n\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/system/has-flag.js?");
480
+ eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n\n\n\nmodule.exports = function(flag, argv) {\n argv = argv || process.argv;\n\n var terminatorPos = argv.indexOf('--');\n var prefix = /^-{1,2}/.test(flag) ? '' : '--';\n var pos = argv.indexOf(prefix + flag);\n\n return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/system/has-flag.js?");
481
481
 
482
482
  /***/ }),
483
483
 
484
484
  /***/ "../../../node_modules/colors/lib/system/supports-colors.js":
485
- /*!************************************************************************!*\
486
- !*** C:/gen2/restaf/node_modules/colors/lib/system/supports-colors.js ***!
487
- \************************************************************************/
485
+ /*!*******************************************************************************!*\
486
+ !*** C:/sassoftware/restaf/node_modules/colors/lib/system/supports-colors.js ***!
487
+ \*******************************************************************************/
488
488
  /*! no static exports found */
489
489
  /*! all exports used */
490
490
  /***/ (function(module, exports, __webpack_require__) {
491
491
 
492
492
  "use strict";
493
- eval("/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\n\n\nvar os = __webpack_require__(/*! os */ \"os\");\nvar hasFlag = __webpack_require__(/*! ./has-flag.js */ \"../../../node_modules/colors/lib/system/has-flag.js\");\n\nvar env = process.env;\n\nvar forceColor = void 0;\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')\n || hasFlag('color=always')) {\n forceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0\n || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level: level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3,\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full')\n || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n var min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first\n // Windows release that supports 256 colors. Windows 10 build 14931 is the\n // first release that supports 16m/TrueColor.\n var osRelease = os.release().split('.');\n if (Number(process.versions.node.split('.')[0]) >= 8\n && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {\n return sign in env;\n }) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return (/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0\n );\n }\n\n if ('TERM_PROGRAM' in env) {\n var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n case 'Hyper':\n return 3;\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n var level = supportsColor(stream);\n return translateLevel(level);\n}\n\nmodule.exports = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr),\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/lib/system/supports-colors.js?");
493
+ eval("/*\nThe MIT License (MIT)\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n\n\n\nvar os = __webpack_require__(/*! os */ \"os\");\nvar hasFlag = __webpack_require__(/*! ./has-flag.js */ \"../../../node_modules/colors/lib/system/has-flag.js\");\n\nvar env = process.env;\n\nvar forceColor = void 0;\nif (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {\n forceColor = false;\n} else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')\n || hasFlag('color=always')) {\n forceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n forceColor = env.FORCE_COLOR.length === 0\n || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n if (level === 0) {\n return false;\n }\n\n return {\n level: level,\n hasBasic: true,\n has256: level >= 2,\n has16m: level >= 3,\n };\n}\n\nfunction supportsColor(stream) {\n if (forceColor === false) {\n return 0;\n }\n\n if (hasFlag('color=16m') || hasFlag('color=full')\n || hasFlag('color=truecolor')) {\n return 3;\n }\n\n if (hasFlag('color=256')) {\n return 2;\n }\n\n if (stream && !stream.isTTY && forceColor !== true) {\n return 0;\n }\n\n var min = forceColor ? 1 : 0;\n\n if (process.platform === 'win32') {\n // Node.js 7.5.0 is the first version of Node.js to include a patch to\n // libuv that enables 256 color output on Windows. Anything earlier and it\n // won't work. However, here we target Node.js 8 at minimum as it is an LTS\n // release, and Node.js 7 is not. Windows 10 build 10586 is the first\n // Windows release that supports 256 colors. Windows 10 build 14931 is the\n // first release that supports 16m/TrueColor.\n var osRelease = os.release().split('.');\n if (Number(process.versions.node.split('.')[0]) >= 8\n && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {\n return Number(osRelease[2]) >= 14931 ? 3 : 2;\n }\n\n return 1;\n }\n\n if ('CI' in env) {\n if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {\n return sign in env;\n }) || env.CI_NAME === 'codeship') {\n return 1;\n }\n\n return min;\n }\n\n if ('TEAMCITY_VERSION' in env) {\n return (/^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0\n );\n }\n\n if ('TERM_PROGRAM' in env) {\n var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n switch (env.TERM_PROGRAM) {\n case 'iTerm.app':\n return version >= 3 ? 3 : 2;\n case 'Hyper':\n return 3;\n case 'Apple_Terminal':\n return 2;\n // No default\n }\n }\n\n if (/-256(color)?$/i.test(env.TERM)) {\n return 2;\n }\n\n if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n return 1;\n }\n\n if ('COLORTERM' in env) {\n return 1;\n }\n\n if (env.TERM === 'dumb') {\n return min;\n }\n\n return min;\n}\n\nfunction getSupportLevel(stream) {\n var level = supportsColor(stream);\n return translateLevel(level);\n}\n\nmodule.exports = {\n supportsColor: getSupportLevel,\n stdout: getSupportLevel(process.stdout),\n stderr: getSupportLevel(process.stderr),\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/lib/system/supports-colors.js?");
494
494
 
495
495
  /***/ }),
496
496
 
497
497
  /***/ "../../../node_modules/colors/safe.js":
498
- /*!**************************************************!*\
499
- !*** C:/gen2/restaf/node_modules/colors/safe.js ***!
500
- \**************************************************/
498
+ /*!*********************************************************!*\
499
+ !*** C:/sassoftware/restaf/node_modules/colors/safe.js ***!
500
+ \*********************************************************/
501
501
  /*! no static exports found */
502
502
  /*! all exports used */
503
503
  /***/ (function(module, exports, __webpack_require__) {
504
504
 
505
- eval("//\n// Remark: Requiring this file will use the \"safe\" colors API,\n// which will not touch String.prototype.\n//\n// var colors = require('colors/safe');\n// colors.red(\"foo\")\n//\n//\nvar colors = __webpack_require__(/*! ./lib/colors */ \"../../../node_modules/colors/lib/colors.js\");\nmodule['exports'] = colors;\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/colors/safe.js?");
505
+ eval("//\n// Remark: Requiring this file will use the \"safe\" colors API,\n// which will not touch String.prototype.\n//\n// var colors = require('colors/safe');\n// colors.red(\"foo\")\n//\n//\nvar colors = __webpack_require__(/*! ./lib/colors */ \"../../../node_modules/colors/lib/colors.js\");\nmodule['exports'] = colors;\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/colors/safe.js?");
506
506
 
507
507
  /***/ }),
508
508
 
509
509
  /***/ "../../../node_modules/combined-stream/lib/combined_stream.js":
510
- /*!**************************************************************************!*\
511
- !*** C:/gen2/restaf/node_modules/combined-stream/lib/combined_stream.js ***!
512
- \**************************************************************************/
510
+ /*!*********************************************************************************!*\
511
+ !*** C:/sassoftware/restaf/node_modules/combined-stream/lib/combined_stream.js ***!
512
+ \*********************************************************************************/
513
513
  /*! no static exports found */
514
514
  /*! all exports used */
515
515
  /***/ (function(module, exports, __webpack_require__) {
516
516
 
517
- eval("var util = __webpack_require__(/*! util */ \"util\");\nvar Stream = __webpack_require__(/*! stream */ \"stream\").Stream;\nvar DelayedStream = __webpack_require__(/*! delayed-stream */ \"../../../node_modules/delayed-stream/lib/delayed_stream.js\");\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/combined-stream/lib/combined_stream.js?");
517
+ eval("var util = __webpack_require__(/*! util */ \"util\");\nvar Stream = __webpack_require__(/*! stream */ \"stream\").Stream;\nvar DelayedStream = __webpack_require__(/*! delayed-stream */ \"../../../node_modules/delayed-stream/lib/delayed_stream.js\");\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/combined-stream/lib/combined_stream.js?");
518
518
 
519
519
  /***/ }),
520
520
 
521
521
  /***/ "../../../node_modules/delayed-stream/lib/delayed_stream.js":
522
- /*!************************************************************************!*\
523
- !*** C:/gen2/restaf/node_modules/delayed-stream/lib/delayed_stream.js ***!
524
- \************************************************************************/
522
+ /*!*******************************************************************************!*\
523
+ !*** C:/sassoftware/restaf/node_modules/delayed-stream/lib/delayed_stream.js ***!
524
+ \*******************************************************************************/
525
525
  /*! no static exports found */
526
526
  /*! all exports used */
527
527
  /***/ (function(module, exports, __webpack_require__) {
528
528
 
529
- eval("var Stream = __webpack_require__(/*! stream */ \"stream\").Stream;\nvar util = __webpack_require__(/*! util */ \"util\");\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/delayed-stream/lib/delayed_stream.js?");
529
+ eval("var Stream = __webpack_require__(/*! stream */ \"stream\").Stream;\nvar util = __webpack_require__(/*! util */ \"util\");\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/delayed-stream/lib/delayed_stream.js?");
530
530
 
531
531
  /***/ }),
532
532
 
533
533
  /***/ "../../../node_modules/form-data/lib/form_data.js":
534
- /*!**************************************************************!*\
535
- !*** C:/gen2/restaf/node_modules/form-data/lib/form_data.js ***!
536
- \**************************************************************/
534
+ /*!*********************************************************************!*\
535
+ !*** C:/sassoftware/restaf/node_modules/form-data/lib/form_data.js ***!
536
+ \*********************************************************************/
537
537
  /*! no static exports found */
538
538
  /*! all exports used */
539
539
  /***/ (function(module, exports, __webpack_require__) {
540
540
 
541
- eval("var CombinedStream = __webpack_require__(/*! combined-stream */ \"../../../node_modules/combined-stream/lib/combined_stream.js\");\nvar util = __webpack_require__(/*! util */ \"util\");\nvar path = __webpack_require__(/*! path */ \"path\");\nvar http = __webpack_require__(/*! http */ \"http\");\nvar https = __webpack_require__(/*! https */ \"https\");\nvar parseUrl = __webpack_require__(/*! url */ \"url\").parse;\nvar fs = __webpack_require__(/*! fs */ \"fs\");\nvar Stream = __webpack_require__(/*! stream */ \"stream\").Stream;\nvar mime = __webpack_require__(/*! mime-types */ \"../../../node_modules/mime-types/index.js\");\nvar asynckit = __webpack_require__(/*! asynckit */ \"../../../node_modules/asynckit/index.js\");\nvar populate = __webpack_require__(/*! ./populate.js */ \"../../../node_modules/form-data/lib/populate.js\");\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {};\n for (var option in options) {\n this[option] = options[option];\n }\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n options = options || {};\n\n // allow filename as single option\n if (typeof options == 'string') {\n options = {filename: options};\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value == 'number') {\n value = '' + value;\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (util.isArray(value)) {\n // Please convert your array into string\n // the way web server expects it\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n var valueLength = 0;\n\n // used w/ getLengthSync(), when length is known.\n // e.g. for streaming directly from a remote server,\n // w/ a known file a size, and not wanting to wait for\n // incoming file to finish to get its size.\n if (options.knownLength != null) {\n valueLength += +options.knownLength;\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength +=\n Buffer.byteLength(header) +\n FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n\n if (value.hasOwnProperty('fd')) {\n\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function(err, stat) {\n\n var fileSize;\n\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (value.hasOwnProperty('httpVersion')) {\n callback(null, +value.headers['content-length']);\n\n // or request stream http://github.com/mikeal/request\n } else if (value.hasOwnProperty('httpModule')) {\n // wait till response come back\n value.on('response', function(response) {\n value.pause();\n callback(null, +response.headers['content-length']);\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream');\n }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n // custom header specified (as string)?\n // it becomes responsible for boundary\n // (e.g. to handle extra CRLFs on .NET servers)\n if (typeof options.header == 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header == 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) {\n if (!headers.hasOwnProperty(prop)) continue;\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue;\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n var filename\n , contentDisposition\n ;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || value.name || value.path) {\n // custom filename take precedence\n // formidable and the browser add a name property\n // fs- and request- streams have path property\n filename = path.basename(options.filename || value.name || value.path);\n } else if (value.readable && value.hasOwnProperty('httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n contentDisposition = 'filename=\"' + filename + '\"';\n }\n\n return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && typeof value == 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n return function(next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = (this._streams.length === 0);\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) {\n if (userHeaders.hasOwnProperty(header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function(boundary) {\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function() {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function() {\n var dataBuffer = new Buffer.alloc( 0 );\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n\n // Add content to the buffer.\n if(Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);\n }else {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );\n};\n\nFormData.prototype._generateBoundary = function() {\n // This generates a 50 character boundary similar to those used by Firefox.\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n // so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n // Some async length retrievers are present\n // therefore synchronous length calculation is false.\n // Please use getLength(callback) to get proper length\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function(length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function(params, cb) {\n var request\n , options\n , defaults = {method: 'post'}\n ;\n\n // parse provided url if it's string\n // or treat it as options object\n if (typeof params == 'string') {\n\n params = parseUrl(params);\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n\n // use custom params\n } else {\n\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol == 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol == 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function(err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function(err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/form-data/lib/form_data.js?");
541
+ eval("var CombinedStream = __webpack_require__(/*! combined-stream */ \"../../../node_modules/combined-stream/lib/combined_stream.js\");\nvar util = __webpack_require__(/*! util */ \"util\");\nvar path = __webpack_require__(/*! path */ \"path\");\nvar http = __webpack_require__(/*! http */ \"http\");\nvar https = __webpack_require__(/*! https */ \"https\");\nvar parseUrl = __webpack_require__(/*! url */ \"url\").parse;\nvar fs = __webpack_require__(/*! fs */ \"fs\");\nvar Stream = __webpack_require__(/*! stream */ \"stream\").Stream;\nvar mime = __webpack_require__(/*! mime-types */ \"../../../node_modules/mime-types/index.js\");\nvar asynckit = __webpack_require__(/*! asynckit */ \"../../../node_modules/asynckit/index.js\");\nvar populate = __webpack_require__(/*! ./populate.js */ \"../../../node_modules/form-data/lib/populate.js\");\n\n// Public API\nmodule.exports = FormData;\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {};\n for (var option in options) {\n this[option] = options[option];\n }\n}\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function(field, value, options) {\n\n options = options || {};\n\n // allow filename as single option\n if (typeof options == 'string') {\n options = {filename: options};\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value == 'number') {\n value = '' + value;\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (util.isArray(value)) {\n // Please convert your array into string\n // the way web server expects it\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function(header, value, options) {\n var valueLength = 0;\n\n // used w/ getLengthSync(), when length is known.\n // e.g. for streaming directly from a remote server,\n // w/ a known file a size, and not wanting to wait for\n // incoming file to finish to get its size.\n if (options.knownLength != null) {\n valueLength += +options.knownLength;\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength +=\n Buffer.byteLength(header) +\n FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function(value, callback) {\n\n if (value.hasOwnProperty('fd')) {\n\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0));\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function(err, stat) {\n\n var fileSize;\n\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (value.hasOwnProperty('httpVersion')) {\n callback(null, +value.headers['content-length']);\n\n // or request stream http://github.com/mikeal/request\n } else if (value.hasOwnProperty('httpModule')) {\n // wait till response come back\n value.on('response', function(response) {\n value.pause();\n callback(null, +response.headers['content-length']);\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream');\n }\n};\n\nFormData.prototype._multiPartHeader = function(field, value, options) {\n // custom header specified (as string)?\n // it becomes responsible for boundary\n // (e.g. to handle extra CRLFs on .NET servers)\n if (typeof options.header == 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header == 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) {\n if (!headers.hasOwnProperty(prop)) continue;\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue;\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function(value, options) {\n\n var filename\n , contentDisposition\n ;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || value.name || value.path) {\n // custom filename take precedence\n // formidable and the browser add a name property\n // fs- and request- streams have path property\n filename = path.basename(options.filename || value.name || value.path);\n } else if (value.readable && value.hasOwnProperty('httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n contentDisposition = 'filename=\"' + filename + '\"';\n }\n\n return contentDisposition;\n};\n\nFormData.prototype._getContentType = function(value, options) {\n\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && typeof value == 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function() {\n return function(next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = (this._streams.length === 0);\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function() {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function(userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) {\n if (userHeaders.hasOwnProperty(header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function(boundary) {\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function() {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function() {\n var dataBuffer = new Buffer.alloc( 0 );\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n\n // Add content to the buffer.\n if(Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat( [dataBuffer, this._streams[i]]);\n }else {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring( 2, boundary.length + 2 ) !== boundary) {\n dataBuffer = Buffer.concat( [dataBuffer, Buffer.from(FormData.LINE_BREAK)] );\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat( [dataBuffer, Buffer.from(this._lastBoundary())] );\n};\n\nFormData.prototype._generateBoundary = function() {\n // This generates a 50 character boundary similar to those used by Firefox.\n // They are optimized for boyer-moore parsing.\n var boundary = '--------------------------';\n for (var i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n\n this._boundary = boundary;\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually\n// and add it as knownLength option\nFormData.prototype.getLengthSync = function() {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair\n // so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n // Some async length retrievers are present\n // therefore synchronous length calculation is false.\n // Please use getLength(callback) to get proper length\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function() {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function(cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function(err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function(length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function(params, cb) {\n var request\n , options\n , defaults = {method: 'post'}\n ;\n\n // parse provided url if it's string\n // or treat it as options object\n if (typeof params == 'string') {\n\n params = parseUrl(params);\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n\n // use custom params\n } else {\n\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol == 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol == 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function(err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function(err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/form-data/lib/form_data.js?");
542
542
 
543
543
  /***/ }),
544
544
 
545
545
  /***/ "../../../node_modules/form-data/lib/populate.js":
546
- /*!*************************************************************!*\
547
- !*** C:/gen2/restaf/node_modules/form-data/lib/populate.js ***!
548
- \*************************************************************/
546
+ /*!********************************************************************!*\
547
+ !*** C:/sassoftware/restaf/node_modules/form-data/lib/populate.js ***!
548
+ \********************************************************************/
549
549
  /*! no static exports found */
550
550
  /*! all exports used */
551
551
  /***/ (function(module, exports) {
552
552
 
553
- eval("// populates missing values\nmodule.exports = function(dst, src) {\n\n Object.keys(src).forEach(function(prop)\n {\n dst[prop] = dst[prop] || src[prop];\n });\n\n return dst;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/form-data/lib/populate.js?");
553
+ eval("// populates missing values\nmodule.exports = function(dst, src) {\n\n Object.keys(src).forEach(function(prop)\n {\n dst[prop] = dst[prop] || src[prop];\n });\n\n return dst;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/form-data/lib/populate.js?");
554
554
 
555
555
  /***/ }),
556
556
 
557
557
  /***/ "../../../node_modules/immutable/dist/immutable.es.js":
558
- /*!******************************************************************!*\
559
- !*** C:/gen2/restaf/node_modules/immutable/dist/immutable.es.js ***!
560
- \******************************************************************/
558
+ /*!*************************************************************************!*\
559
+ !*** C:/sassoftware/restaf/node_modules/immutable/dist/immutable.es.js ***!
560
+ \*************************************************************************/
561
561
  /*! exports provided: default, Collection, Iterable, List, Map, OrderedMap, OrderedSet, Range, Record, Repeat, Seq, Set, Stack, fromJS, get, getIn, has, hasIn, hash, is, isAssociative, isCollection, isImmutable, isIndexed, isKeyed, isList, isMap, isOrdered, isOrderedMap, isOrderedSet, isPlainObject, isRecord, isSeq, isSet, isStack, isValueObject, merge, mergeDeep, mergeDeepWith, mergeWith, remove, removeIn, set, setIn, update, updateIn, version */
562
562
  /*! exports used: default */
563
563
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
564
564
 
565
565
  "use strict";
566
- eval("/* unused harmony export Collection */\n/* unused harmony export Iterable */\n/* unused harmony export List */\n/* unused harmony export Map */\n/* unused harmony export OrderedMap */\n/* unused harmony export OrderedSet */\n/* unused harmony export Range */\n/* unused harmony export Record */\n/* unused harmony export Repeat */\n/* unused harmony export Seq */\n/* unused harmony export Set */\n/* unused harmony export Stack */\n/* unused harmony export fromJS */\n/* unused harmony export get */\n/* unused harmony export getIn */\n/* unused harmony export has */\n/* unused harmony export hasIn */\n/* unused harmony export hash */\n/* unused harmony export is */\n/* unused harmony export isAssociative */\n/* unused harmony export isCollection */\n/* unused harmony export isImmutable */\n/* unused harmony export isIndexed */\n/* unused harmony export isKeyed */\n/* unused harmony export isList */\n/* unused harmony export isMap */\n/* unused harmony export isOrdered */\n/* unused harmony export isOrderedMap */\n/* unused harmony export isOrderedSet */\n/* unused harmony export isPlainObject */\n/* unused harmony export isRecord */\n/* unused harmony export isSeq */\n/* unused harmony export isSet */\n/* unused harmony export isStack */\n/* unused harmony export isValueObject */\n/* unused harmony export merge */\n/* unused harmony export mergeDeep */\n/* unused harmony export mergeDeepWith */\n/* unused harmony export mergeWith */\n/* unused harmony export remove */\n/* unused harmony export removeIn */\n/* unused harmony export set */\n/* unused harmony export setIn */\n/* unused harmony export update */\n/* unused harmony export updateIn */\n/* unused harmony export version */\n/**\n * MIT License\n * \n * Copyright (c) 2014-present, Lee Byron and other contributors.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar DELETE = 'delete';\n\n// Constants describing the size of trie nodes.\nvar SHIFT = 5; // Resulted in best performance after ______?\nvar SIZE = 1 << SHIFT;\nvar MASK = SIZE - 1;\n\n// A consistent shared value representing \"not set\" which equals nothing other\n// than itself, and nothing that could be provided externally.\nvar NOT_SET = {};\n\n// Boolean references, Rough equivalent of `bool &`.\nfunction MakeRef() {\n return { value: false };\n}\n\nfunction SetRef(ref) {\n if (ref) {\n ref.value = true;\n }\n}\n\n// A function which returns a value representing an \"owner\" for transient writes\n// to tries. The return value will only ever equal itself, and will not equal\n// the return of any subsequent call of this function.\nfunction OwnerID() {}\n\nfunction ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n}\n\nfunction wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction wholeSlice(begin, end, size) {\n return (\n ((begin === 0 && !isNeg(begin)) ||\n (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size))\n );\n}\n\nfunction resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n}\n\nfunction resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n}\n\nfunction resolveIndex(index, size, defaultIndex) {\n // Sanitize indices using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n return index === undefined\n ? defaultIndex\n : isNeg(index)\n ? size === Infinity\n ? size\n : Math.max(0, size + index) | 0\n : size === undefined || size === index\n ? index\n : Math.min(size, index) | 0;\n}\n\nfunction isNeg(value) {\n // Account for -0 which is negative, but not less than 0.\n return value < 0 || (value === 0 && 1 / value === -Infinity);\n}\n\nvar IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@';\n\nfunction isCollection(maybeCollection) {\n return Boolean(maybeCollection && maybeCollection[IS_COLLECTION_SYMBOL]);\n}\n\nvar IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@';\n\nfunction isKeyed(maybeKeyed) {\n return Boolean(maybeKeyed && maybeKeyed[IS_KEYED_SYMBOL]);\n}\n\nvar IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@';\n\nfunction isIndexed(maybeIndexed) {\n return Boolean(maybeIndexed && maybeIndexed[IS_INDEXED_SYMBOL]);\n}\n\nfunction isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n}\n\nvar Collection = function Collection(value) {\n return isCollection(value) ? value : Seq(value);\n};\n\nvar KeyedCollection = /*@__PURE__*/(function (Collection) {\n function KeyedCollection(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n if ( Collection ) KeyedCollection.__proto__ = Collection;\n KeyedCollection.prototype = Object.create( Collection && Collection.prototype );\n KeyedCollection.prototype.constructor = KeyedCollection;\n\n return KeyedCollection;\n}(Collection));\n\nvar IndexedCollection = /*@__PURE__*/(function (Collection) {\n function IndexedCollection(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n if ( Collection ) IndexedCollection.__proto__ = Collection;\n IndexedCollection.prototype = Object.create( Collection && Collection.prototype );\n IndexedCollection.prototype.constructor = IndexedCollection;\n\n return IndexedCollection;\n}(Collection));\n\nvar SetCollection = /*@__PURE__*/(function (Collection) {\n function SetCollection(value) {\n return isCollection(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n if ( Collection ) SetCollection.__proto__ = Collection;\n SetCollection.prototype = Object.create( Collection && Collection.prototype );\n SetCollection.prototype.constructor = SetCollection;\n\n return SetCollection;\n}(Collection));\n\nCollection.Keyed = KeyedCollection;\nCollection.Indexed = IndexedCollection;\nCollection.Set = SetCollection;\n\nvar IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@';\n\nfunction isSeq(maybeSeq) {\n return Boolean(maybeSeq && maybeSeq[IS_SEQ_SYMBOL]);\n}\n\nvar IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@';\n\nfunction isRecord(maybeRecord) {\n return Boolean(maybeRecord && maybeRecord[IS_RECORD_SYMBOL]);\n}\n\nfunction isImmutable(maybeImmutable) {\n return isCollection(maybeImmutable) || isRecord(maybeImmutable);\n}\n\nvar IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@';\n\nfunction isOrdered(maybeOrdered) {\n return Boolean(maybeOrdered && maybeOrdered[IS_ORDERED_SYMBOL]);\n}\n\nvar ITERATE_KEYS = 0;\nvar ITERATE_VALUES = 1;\nvar ITERATE_ENTRIES = 2;\n\nvar REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\n\nvar ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\nvar Iterator = function Iterator(next) {\n this.next = next;\n};\n\nIterator.prototype.toString = function toString () {\n return '[Iterator]';\n};\n\nIterator.KEYS = ITERATE_KEYS;\nIterator.VALUES = ITERATE_VALUES;\nIterator.ENTRIES = ITERATE_ENTRIES;\n\nIterator.prototype.inspect = Iterator.prototype.toSource = function () {\n return this.toString();\n};\nIterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n};\n\nfunction iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult\n ? (iteratorResult.value = value)\n : (iteratorResult = {\n value: value,\n done: false,\n });\n return iteratorResult;\n}\n\nfunction iteratorDone() {\n return { value: undefined, done: true };\n}\n\nfunction hasIterator(maybeIterable) {\n if (Array.isArray(maybeIterable)) {\n // IE11 trick as it does not support `Symbol.iterator`\n return true;\n }\n\n return !!getIteratorFn(maybeIterable);\n}\n\nfunction isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n}\n\nfunction getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n}\n\nfunction getIteratorFn(iterable) {\n var iteratorFn =\n iterable &&\n ((REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nfunction isEntriesIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.entries;\n}\n\nfunction isKeysIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.keys;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isArrayLike(value) {\n if (Array.isArray(value) || typeof value === 'string') {\n return true;\n }\n\n return (\n value &&\n typeof value === 'object' &&\n Number.isInteger(value.length) &&\n value.length >= 0 &&\n (value.length === 0\n ? // Only {length: 0} is considered Array-like.\n Object.keys(value).length === 1\n : // An object is only Array-like if it has a property where the last value\n // in the array-like may be found (which could be undefined).\n value.hasOwnProperty(value.length - 1))\n );\n}\n\nvar Seq = /*@__PURE__*/(function (Collection) {\n function Seq(value) {\n return value === undefined || value === null\n ? emptySequence()\n : isImmutable(value)\n ? value.toSeq()\n : seqFromValue(value);\n }\n\n if ( Collection ) Seq.__proto__ = Collection;\n Seq.prototype = Object.create( Collection && Collection.prototype );\n Seq.prototype.constructor = Seq;\n\n Seq.prototype.toSeq = function toSeq () {\n return this;\n };\n\n Seq.prototype.toString = function toString () {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function cacheResult () {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function __iterate (fn, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n while (i !== size) {\n var entry = cache[reverse ? size - ++i : i++];\n if (fn(entry[1], entry[0], this) === false) {\n break;\n }\n }\n return i;\n }\n return this.__iterateUncached(fn, reverse);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function __iterator (type, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var entry = cache[reverse ? size - ++i : i++];\n return iteratorValue(type, entry[0], entry[1]);\n });\n }\n return this.__iteratorUncached(type, reverse);\n };\n\n return Seq;\n}(Collection));\n\nvar KeyedSeq = /*@__PURE__*/(function (Seq) {\n function KeyedSeq(value) {\n return value === undefined || value === null\n ? emptySequence().toKeyedSeq()\n : isCollection(value)\n ? isKeyed(value)\n ? value.toSeq()\n : value.fromEntrySeq()\n : isRecord(value)\n ? value.toSeq()\n : keyedSeqFromValue(value);\n }\n\n if ( Seq ) KeyedSeq.__proto__ = Seq;\n KeyedSeq.prototype = Object.create( Seq && Seq.prototype );\n KeyedSeq.prototype.constructor = KeyedSeq;\n\n KeyedSeq.prototype.toKeyedSeq = function toKeyedSeq () {\n return this;\n };\n\n return KeyedSeq;\n}(Seq));\n\nvar IndexedSeq = /*@__PURE__*/(function (Seq) {\n function IndexedSeq(value) {\n return value === undefined || value === null\n ? emptySequence()\n : isCollection(value)\n ? isKeyed(value)\n ? value.entrySeq()\n : value.toIndexedSeq()\n : isRecord(value)\n ? value.toSeq().entrySeq()\n : indexedSeqFromValue(value);\n }\n\n if ( Seq ) IndexedSeq.__proto__ = Seq;\n IndexedSeq.prototype = Object.create( Seq && Seq.prototype );\n IndexedSeq.prototype.constructor = IndexedSeq;\n\n IndexedSeq.of = function of (/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function toIndexedSeq () {\n return this;\n };\n\n IndexedSeq.prototype.toString = function toString () {\n return this.__toString('Seq [', ']');\n };\n\n return IndexedSeq;\n}(Seq));\n\nvar SetSeq = /*@__PURE__*/(function (Seq) {\n function SetSeq(value) {\n return (\n isCollection(value) && !isAssociative(value) ? value : IndexedSeq(value)\n ).toSetSeq();\n }\n\n if ( Seq ) SetSeq.__proto__ = Seq;\n SetSeq.prototype = Object.create( Seq && Seq.prototype );\n SetSeq.prototype.constructor = SetSeq;\n\n SetSeq.of = function of (/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function toSetSeq () {\n return this;\n };\n\n return SetSeq;\n}(Seq));\n\nSeq.isSeq = isSeq;\nSeq.Keyed = KeyedSeq;\nSeq.Set = SetSeq;\nSeq.Indexed = IndexedSeq;\n\nSeq.prototype[IS_SEQ_SYMBOL] = true;\n\n// #pragma Root Sequences\n\nvar ArraySeq = /*@__PURE__*/(function (IndexedSeq) {\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n if ( IndexedSeq ) ArraySeq.__proto__ = IndexedSeq;\n ArraySeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ArraySeq.prototype.constructor = ArraySeq;\n\n ArraySeq.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function __iterate (fn, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n while (i !== size) {\n var ii = reverse ? size - ++i : i++;\n if (fn(array[ii], ii, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ArraySeq.prototype.__iterator = function __iterator (type, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var ii = reverse ? size - ++i : i++;\n return iteratorValue(type, ii, array[ii]);\n });\n };\n\n return ArraySeq;\n}(IndexedSeq));\n\nvar ObjectSeq = /*@__PURE__*/(function (KeyedSeq) {\n function ObjectSeq(object) {\n var keys = Object.keys(object).concat(\n Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : []\n );\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n if ( KeyedSeq ) ObjectSeq.__proto__ = KeyedSeq;\n ObjectSeq.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ObjectSeq.prototype.constructor = ObjectSeq;\n\n ObjectSeq.prototype.get = function get (key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function has (key) {\n return hasOwnProperty.call(this._object, key);\n };\n\n ObjectSeq.prototype.__iterate = function __iterate (fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n while (i !== size) {\n var key = keys[reverse ? size - ++i : i++];\n if (fn(object[key], key, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ObjectSeq.prototype.__iterator = function __iterator (type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var key = keys[reverse ? size - ++i : i++];\n return iteratorValue(type, key, object[key]);\n });\n };\n\n return ObjectSeq;\n}(KeyedSeq));\nObjectSeq.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar CollectionSeq = /*@__PURE__*/(function (IndexedSeq) {\n function CollectionSeq(collection) {\n this._collection = collection;\n this.size = collection.length || collection.size;\n }\n\n if ( IndexedSeq ) CollectionSeq.__proto__ = IndexedSeq;\n CollectionSeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n CollectionSeq.prototype.constructor = CollectionSeq;\n\n CollectionSeq.prototype.__iterateUncached = function __iterateUncached (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n CollectionSeq.prototype.__iteratorUncached = function __iteratorUncached (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n return CollectionSeq;\n}(IndexedSeq));\n\n// # pragma Helper functions\n\nvar EMPTY_SEQ;\n\nfunction emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n}\n\nfunction keyedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq.fromEntrySeq();\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of [k, v] entries, or keyed object: ' +\n value\n );\n}\n\nfunction indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq;\n }\n throw new TypeError(\n 'Expected Array or collection object of values: ' + value\n );\n}\n\nfunction seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return isEntriesIterable(value)\n ? seq.fromEntrySeq()\n : isKeysIterable(value)\n ? seq.toSetSeq()\n : seq;\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of values, or keyed object: ' + value\n );\n}\n\nfunction maybeIndexedSeqFromValue(value) {\n return isArrayLike(value)\n ? new ArraySeq(value)\n : hasIterator(value)\n ? new CollectionSeq(value)\n : undefined;\n}\n\nvar IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@';\n\nfunction isMap(maybeMap) {\n return Boolean(maybeMap && maybeMap[IS_MAP_SYMBOL]);\n}\n\nfunction isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n}\n\nfunction isValueObject(maybeValue) {\n return Boolean(\n maybeValue &&\n typeof maybeValue.equals === 'function' &&\n typeof maybeValue.hashCode === 'function'\n );\n}\n\n/**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections are Value Objects: they implement `equals()`\n * and `hashCode()`.\n */\nfunction is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (\n typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function'\n ) {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n return !!(\n isValueObject(valueA) &&\n isValueObject(valueB) &&\n valueA.equals(valueB)\n );\n}\n\nvar imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2\n ? Math.imul\n : function imul(a, b) {\n a |= 0; // int\n b |= 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0)) | 0; // int\n };\n\n// v8 has an optimization for storing 31-bit signed numbers.\n// Values which have either 00 or 11 as the high order bits qualify.\n// This function drops the highest order bit in a signed number, maintaining\n// the sign bit.\nfunction smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xbfffffff);\n}\n\nvar defaultValueOf = Object.prototype.valueOf;\n\nfunction hash(o) {\n if (o == null) {\n return hashNullish(o);\n }\n\n if (typeof o.hashCode === 'function') {\n // Drop any high bits from accidentally long hash codes.\n return smi(o.hashCode(o));\n }\n\n var v = valueOf(o);\n\n if (v == null) {\n return hashNullish(v);\n }\n\n switch (typeof v) {\n case 'boolean':\n // The hash values for built-in constants are a 1 value for each 5-byte\n // shift region expect for the first, which encodes the value. This\n // reduces the odds of a hash collision for these common values.\n return v ? 0x42108421 : 0x42108420;\n case 'number':\n return hashNumber(v);\n case 'string':\n return v.length > STRING_HASH_CACHE_MIN_STRLEN\n ? cachedHashString(v)\n : hashString(v);\n case 'object':\n case 'function':\n return hashJSObj(v);\n case 'symbol':\n return hashSymbol(v);\n default:\n if (typeof v.toString === 'function') {\n return hashString(v.toString());\n }\n throw new Error('Value type ' + typeof v + ' cannot be hashed.');\n }\n}\n\nfunction hashNullish(nullish) {\n return nullish === null ? 0x42108422 : /* undefined */ 0x42108423;\n}\n\n// Compress arbitrarily large numbers into smi hashes.\nfunction hashNumber(n) {\n if (n !== n || n === Infinity) {\n return 0;\n }\n var hash = n | 0;\n if (hash !== n) {\n hash ^= n * 0xffffffff;\n }\n while (n > 0xffffffff) {\n n /= 0xffffffff;\n hash ^= n;\n }\n return smi(hash);\n}\n\nfunction cachedHashString(string) {\n var hashed = stringHashCache[string];\n if (hashed === undefined) {\n hashed = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hashed;\n }\n return hashed;\n}\n\n// http://jsperf.com/hashing-strings\nfunction hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hashed = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hashed = (31 * hashed + string.charCodeAt(ii)) | 0;\n }\n return smi(hashed);\n}\n\nfunction hashSymbol(sym) {\n var hashed = symbolMap[sym];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = nextHash();\n\n symbolMap[sym] = hashed;\n\n return hashed;\n}\n\nfunction hashJSObj(obj) {\n var hashed;\n if (usingWeakMap) {\n hashed = weakMap.get(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = obj[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n if (!canDefineProperty) {\n hashed = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = getIENodeHash(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = nextHash();\n\n if (usingWeakMap) {\n weakMap.set(obj, hashed);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: hashed,\n });\n } else if (\n obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable\n ) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function () {\n return this.constructor.prototype.propertyIsEnumerable.apply(\n this,\n arguments\n );\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hashed;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hashed;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hashed;\n}\n\n// Get references to ES5 object methods.\nvar isExtensible = Object.isExtensible;\n\n// True if Object.defineProperty works as expected. IE8 fails this test.\nvar canDefineProperty = (function () {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n})();\n\n// IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n// and avoid memory leaks from the IE cloneNode bug.\nfunction getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n}\n\nfunction valueOf(obj) {\n return obj.valueOf !== defaultValueOf && typeof obj.valueOf === 'function'\n ? obj.valueOf(obj)\n : obj;\n}\n\nfunction nextHash() {\n var nextHash = ++_objHashUID;\n if (_objHashUID & 0x40000000) {\n _objHashUID = 0;\n }\n return nextHash;\n}\n\n// If possible, use a WeakMap.\nvar usingWeakMap = typeof WeakMap === 'function';\nvar weakMap;\nif (usingWeakMap) {\n weakMap = new WeakMap();\n}\n\nvar symbolMap = Object.create(null);\n\nvar _objHashUID = 0;\n\nvar UID_HASH_KEY = '__immutablehash__';\nif (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n}\n\nvar STRING_HASH_CACHE_MIN_STRLEN = 16;\nvar STRING_HASH_CACHE_MAX_SIZE = 255;\nvar STRING_HASH_CACHE_SIZE = 0;\nvar stringHashCache = {};\n\nvar ToKeyedSequence = /*@__PURE__*/(function (KeyedSeq) {\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n if ( KeyedSeq ) ToKeyedSequence.__proto__ = KeyedSeq;\n ToKeyedSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ToKeyedSequence.prototype.constructor = ToKeyedSequence;\n\n ToKeyedSequence.prototype.get = function get (key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function has (key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function valueSeq () {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function reverse () {\n var this$1$1 = this;\n\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function () { return this$1$1._iter.toSeq().reverse(); };\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function () { return this$1$1._iter.toSeq().map(mapper, context); };\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v, k) { return fn(v, k, this$1$1); }, reverse);\n };\n\n ToKeyedSequence.prototype.__iterator = function __iterator (type, reverse) {\n return this._iter.__iterator(type, reverse);\n };\n\n return ToKeyedSequence;\n}(KeyedSeq));\nToKeyedSequence.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar ToIndexedSequence = /*@__PURE__*/(function (IndexedSeq) {\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( IndexedSeq ) ToIndexedSequence.__proto__ = IndexedSeq;\n ToIndexedSequence.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ToIndexedSequence.prototype.constructor = ToIndexedSequence;\n\n ToIndexedSequence.prototype.includes = function includes (value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(this);\n return this._iter.__iterate(\n function (v) { return fn(v, reverse ? this$1$1.size - ++i : i++, this$1$1); },\n reverse\n );\n };\n\n ToIndexedSequence.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var i = 0;\n reverse && ensureSize(this);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(\n type,\n reverse ? this$1$1.size - ++i : i++,\n step.value,\n step\n );\n });\n };\n\n return ToIndexedSequence;\n}(IndexedSeq));\n\nvar ToSetSequence = /*@__PURE__*/(function (SetSeq) {\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( SetSeq ) ToSetSequence.__proto__ = SetSeq;\n ToSetSequence.prototype = Object.create( SetSeq && SetSeq.prototype );\n ToSetSequence.prototype.constructor = ToSetSequence;\n\n ToSetSequence.prototype.has = function has (key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v) { return fn(v, v, this$1$1); }, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(type, step.value, step.value, step);\n });\n };\n\n return ToSetSequence;\n}(SetSeq));\n\nvar FromEntriesSequence = /*@__PURE__*/(function (KeyedSeq) {\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n if ( KeyedSeq ) FromEntriesSequence.__proto__ = KeyedSeq;\n FromEntriesSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n FromEntriesSequence.prototype.constructor = FromEntriesSequence;\n\n FromEntriesSequence.prototype.entrySeq = function entrySeq () {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (entry) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return fn(\n indexedCollection ? entry.get(1) : entry[1],\n indexedCollection ? entry.get(0) : entry[0],\n this$1$1\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return iteratorValue(\n type,\n indexedCollection ? entry.get(0) : entry[0],\n indexedCollection ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n return FromEntriesSequence;\n}(KeyedSeq));\n\nToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\nfunction flipFactory(collection) {\n var flipSequence = makeSequence(collection);\n flipSequence._iter = collection;\n flipSequence.size = collection.size;\n flipSequence.flip = function () { return collection; };\n flipSequence.reverse = function () {\n var reversedSequence = collection.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function () { return collection.reverse(); };\n return reversedSequence;\n };\n flipSequence.has = function (key) { return collection.includes(key); };\n flipSequence.includes = function (key) { return collection.has(key); };\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(function (v, k) { return fn(k, v, this$1$1) !== false; }, reverse);\n };\n flipSequence.__iteratorUncached = function (type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = collection.__iterator(type, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return collection.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n };\n return flipSequence;\n}\n\nfunction mapFactory(collection, mapper, context) {\n var mappedSequence = makeSequence(collection);\n mappedSequence.size = collection.size;\n mappedSequence.has = function (key) { return collection.has(key); };\n mappedSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v === NOT_SET\n ? notSetValue\n : mapper.call(context, v, key, collection);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(\n function (v, k, c) { return fn(mapper.call(context, v, k, c), k, this$1$1) !== false; },\n reverse\n );\n };\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, collection),\n step\n );\n });\n };\n return mappedSequence;\n}\n\nfunction reverseFactory(collection, useKeys) {\n var this$1$1 = this;\n\n var reversedSequence = makeSequence(collection);\n reversedSequence._iter = collection;\n reversedSequence.size = collection.size;\n reversedSequence.reverse = function () { return collection; };\n if (collection.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(collection);\n flipSequence.reverse = function () { return collection.flip(); };\n return flipSequence;\n };\n }\n reversedSequence.get = function (key, notSetValue) { return collection.get(useKeys ? key : -1 - key, notSetValue); };\n reversedSequence.has = function (key) { return collection.has(useKeys ? key : -1 - key); };\n reversedSequence.includes = function (value) { return collection.includes(value); };\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(collection);\n return collection.__iterate(\n function (v, k) { return fn(v, useKeys ? k : reverse ? this$1$1.size - ++i : i++, this$1$1); },\n !reverse\n );\n };\n reversedSequence.__iterator = function (type, reverse) {\n var i = 0;\n reverse && ensureSize(collection);\n var iterator = collection.__iterator(ITERATE_ENTRIES, !reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n return iteratorValue(\n type,\n useKeys ? entry[0] : reverse ? this$1$1.size - ++i : i++,\n entry[1],\n step\n );\n });\n };\n return reversedSequence;\n}\n\nfunction filterFactory(collection, predicate, context, useKeys) {\n var filterSequence = makeSequence(collection);\n if (useKeys) {\n filterSequence.has = function (key) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, collection);\n };\n filterSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, collection)\n ? v\n : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, collection)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n };\n return filterSequence;\n}\n\nfunction countByFactory(collection, grouper, context) {\n var groups = Map().asMutable();\n collection.__iterate(function (v, k) {\n groups.update(grouper.call(context, v, k, collection), 0, function (a) { return a + 1; });\n });\n return groups.asImmutable();\n}\n\nfunction groupByFactory(collection, grouper, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = (isOrdered(collection) ? OrderedMap() : Map()).asMutable();\n collection.__iterate(function (v, k) {\n groups.update(\n grouper.call(context, v, k, collection),\n function (a) { return ((a = a || []), a.push(isKeyedIter ? [k, v] : v), a); }\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); }).asImmutable();\n}\n\nfunction partitionFactory(collection, predicate, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = [[], []];\n collection.__iterate(function (v, k) {\n groups[predicate.call(context, v, k, collection) ? 1 : 0].push(\n isKeyedIter ? [k, v] : v\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); });\n}\n\nfunction sliceFactory(collection, begin, end, useKeys) {\n var originalSize = collection.size;\n\n if (wholeSlice(begin, end, originalSize)) {\n return collection;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this collection's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(collection);\n\n // If collection.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size =\n sliceSize === 0 ? sliceSize : (collection.size && sliceSize) || undefined;\n\n if (!useKeys && isSeq(collection) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize\n ? collection.get(index + resolvedBegin, notSetValue)\n : notSetValue;\n };\n }\n\n sliceSeq.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return (\n fn(v, useKeys ? k : iterations - 1, this$1$1) !== false &&\n iterations !== sliceSize\n );\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function (type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n if (sliceSize === 0) {\n return new Iterator(iteratorDone);\n }\n var iterator = collection.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function () {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES || step.done) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n }\n return iteratorValue(type, iterations - 1, step.value[1], step);\n });\n };\n\n return sliceSeq;\n}\n\nfunction takeWhileFactory(collection, predicate, context) {\n var takeSequence = makeSequence(collection);\n takeSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n collection.__iterate(\n function (v, k, c) { return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$1$1); }\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function () {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$1$1)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n}\n\nfunction skipWhileFactory(collection, predicate, context, useKeys) {\n var skipSequence = makeSequence(collection);\n skipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function () {\n var step;\n var k;\n var v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n }\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$1$1));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n}\n\nfunction concatFactory(collection, values) {\n var isKeyedCollection = isKeyed(collection);\n var iters = [collection]\n .concat(values)\n .map(function (v) {\n if (!isCollection(v)) {\n v = isKeyedCollection\n ? keyedSeqFromValue(v)\n : indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedCollection) {\n v = KeyedCollection(v);\n }\n return v;\n })\n .filter(function (v) { return v.size !== 0; });\n\n if (iters.length === 0) {\n return collection;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (\n singleton === collection ||\n (isKeyedCollection && isKeyed(singleton)) ||\n (isIndexed(collection) && isIndexed(singleton))\n ) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedCollection) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(collection)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(function (sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n }, 0);\n return concatSeq;\n}\n\nfunction flattenFactory(collection, depth, useKeys) {\n var flatSequence = makeSequence(collection);\n flatSequence.__iterateUncached = function (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {\n iter.__iterate(function (v, k) {\n if ((!depth || currentDepth < depth) && isCollection(v)) {\n flatDeep(v, currentDepth + 1);\n } else {\n iterations++;\n if (fn(v, useKeys ? k : iterations - 1, flatSequence) === false) {\n stopped = true;\n }\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(collection, 0);\n return iterations;\n };\n flatSequence.__iteratorUncached = function (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function () {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isCollection(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n };\n return flatSequence;\n}\n\nfunction flatMapFactory(collection, mapper, context) {\n var coerce = collectionClass(collection);\n return collection\n .toSeq()\n .map(function (v, k) { return coerce(mapper.call(context, v, k, collection)); })\n .flatten(true);\n}\n\nfunction interposeFactory(collection, separator) {\n var interposedSequence = makeSequence(collection);\n interposedSequence.size = collection.size && collection.size * 2 - 1;\n interposedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(\n function (v) { return (!iterations || fn(separator, iterations++, this$1$1) !== false) &&\n fn(v, iterations++, this$1$1) !== false; },\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function () {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2\n ? iteratorValue(type, iterations++, separator)\n : iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n}\n\nfunction sortFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedCollection = isKeyed(collection);\n var index = 0;\n var entries = collection\n .toSeq()\n .map(function (v, k) { return [k, v, index++, mapper ? mapper(v, k, collection) : v]; })\n .valueSeq()\n .toArray();\n entries\n .sort(function (a, b) { return comparator(a[3], b[3]) || a[2] - b[2]; })\n .forEach(\n isKeyedCollection\n ? function (v, i) {\n entries[i].length = 2;\n }\n : function (v, i) {\n entries[i] = v[1];\n }\n );\n return isKeyedCollection\n ? KeyedSeq(entries)\n : isIndexed(collection)\n ? IndexedSeq(entries)\n : SetSeq(entries);\n}\n\nfunction maxFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = collection\n .toSeq()\n .map(function (v, k) { return [v, mapper(v, k, collection)]; })\n .reduce(function (a, b) { return (maxCompare(comparator, a[1], b[1]) ? b : a); });\n return entry && entry[0];\n }\n return collection.reduce(function (a, b) { return (maxCompare(comparator, a, b) ? b : a); });\n}\n\nfunction maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (\n (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) ||\n comp > 0\n );\n}\n\nfunction zipWithFactory(keyIter, zipper, iters, zipAll) {\n var zipSequence = makeSequence(keyIter);\n var sizes = new ArraySeq(iters).map(function (i) { return i.size; });\n zipSequence.size = zipAll ? sizes.max() : sizes.min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function (fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function (type, reverse) {\n var iterators = iters.map(\n function (i) { return ((i = Collection(i)), getIterator(reverse ? i.reverse() : i)); }\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function () {\n var steps;\n if (!isDone) {\n steps = iterators.map(function (i) { return i.next(); });\n isDone = zipAll ? steps.every(function (s) { return s.done; }) : steps.some(function (s) { return s.done; });\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(\n null,\n steps.map(function (s) { return s.value; })\n )\n );\n });\n };\n return zipSequence;\n}\n\n// #pragma Helper Functions\n\nfunction reify(iter, seq) {\n return iter === seq ? iter : isSeq(iter) ? seq : iter.constructor(seq);\n}\n\nfunction validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n}\n\nfunction collectionClass(collection) {\n return isKeyed(collection)\n ? KeyedCollection\n : isIndexed(collection)\n ? IndexedCollection\n : SetCollection;\n}\n\nfunction makeSequence(collection) {\n return Object.create(\n (isKeyed(collection)\n ? KeyedSeq\n : isIndexed(collection)\n ? IndexedSeq\n : SetSeq\n ).prototype\n );\n}\n\nfunction cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n }\n return Seq.prototype.cacheResult.call(this);\n}\n\nfunction defaultComparator(a, b) {\n if (a === undefined && b === undefined) {\n return 0;\n }\n\n if (a === undefined) {\n return 1;\n }\n\n if (b === undefined) {\n return -1;\n }\n\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\nfunction arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n}\n\nfunction invariant(condition, error) {\n if (!condition) { throw new Error(error); }\n}\n\nfunction assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n}\n\nfunction coerceKeyPath(keyPath) {\n if (isArrayLike(keyPath) && typeof keyPath !== 'string') {\n return keyPath;\n }\n if (isOrdered(keyPath)) {\n return keyPath.toArray();\n }\n throw new TypeError(\n 'Invalid keyPath: expected Ordered Collection or Array: ' + keyPath\n );\n}\n\nvar toString = Object.prototype.toString;\n\nfunction isPlainObject(value) {\n // The base prototype's toString deals with Argument objects and native namespaces like Math\n if (\n !value ||\n typeof value !== 'object' ||\n toString.call(value) !== '[object Object]'\n ) {\n return false;\n }\n\n var proto = Object.getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n\n // Iteratively going up the prototype chain is needed for cross-realm environments (differing contexts, iframes, etc)\n var parentProto = proto;\n var nextProto = Object.getPrototypeOf(proto);\n while (nextProto !== null) {\n parentProto = nextProto;\n nextProto = Object.getPrototypeOf(parentProto);\n }\n return parentProto === proto;\n}\n\n/**\n * Returns true if the value is a potentially-persistent data structure, either\n * provided by Immutable.js or a plain Array or Object.\n */\nfunction isDataStructure(value) {\n return (\n typeof value === 'object' &&\n (isImmutable(value) || Array.isArray(value) || isPlainObject(value))\n );\n}\n\nfunction quoteString(value) {\n try {\n return typeof value === 'string' ? JSON.stringify(value) : String(value);\n } catch (_ignoreError) {\n return JSON.stringify(value);\n }\n}\n\nfunction has(collection, key) {\n return isImmutable(collection)\n ? collection.has(key)\n : isDataStructure(collection) && hasOwnProperty.call(collection, key);\n}\n\nfunction get(collection, key, notSetValue) {\n return isImmutable(collection)\n ? collection.get(key, notSetValue)\n : !has(collection, key)\n ? notSetValue\n : typeof collection.get === 'function'\n ? collection.get(key)\n : collection[key];\n}\n\nfunction shallowCopy(from) {\n if (Array.isArray(from)) {\n return arrCopy(from);\n }\n var to = {};\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n return to;\n}\n\nfunction remove(collection, key) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.remove) {\n throw new TypeError(\n 'Cannot update immutable value without .remove() method: ' + collection\n );\n }\n return collection.remove(key);\n }\n if (!hasOwnProperty.call(collection, key)) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n if (Array.isArray(collectionCopy)) {\n collectionCopy.splice(key, 1);\n } else {\n delete collectionCopy[key];\n }\n return collectionCopy;\n}\n\nfunction set(collection, key, value) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.set) {\n throw new TypeError(\n 'Cannot update immutable value without .set() method: ' + collection\n );\n }\n return collection.set(key, value);\n }\n if (hasOwnProperty.call(collection, key) && value === collection[key]) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n collectionCopy[key] = value;\n return collectionCopy;\n}\n\nfunction updateIn$1(collection, keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeeply(\n isImmutable(collection),\n collection,\n coerceKeyPath(keyPath),\n 0,\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? notSetValue : updatedValue;\n}\n\nfunction updateInDeeply(\n inImmutable,\n existing,\n keyPath,\n i,\n notSetValue,\n updater\n) {\n var wasNotSet = existing === NOT_SET;\n if (i === keyPath.length) {\n var existingValue = wasNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n if (!wasNotSet && !isDataStructure(existing)) {\n throw new TypeError(\n 'Cannot update within non-data-structure value in path [' +\n keyPath.slice(0, i).map(quoteString) +\n ']: ' +\n existing\n );\n }\n var key = keyPath[i];\n var nextExisting = wasNotSet ? NOT_SET : get(existing, key, NOT_SET);\n var nextUpdated = updateInDeeply(\n nextExisting === NOT_SET ? inImmutable : isImmutable(nextExisting),\n nextExisting,\n keyPath,\n i + 1,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting\n ? existing\n : nextUpdated === NOT_SET\n ? remove(existing, key)\n : set(\n wasNotSet ? (inImmutable ? emptyMap() : {}) : existing,\n key,\n nextUpdated\n );\n}\n\nfunction setIn$1(collection, keyPath, value) {\n return updateIn$1(collection, keyPath, NOT_SET, function () { return value; });\n}\n\nfunction setIn(keyPath, v) {\n return setIn$1(this, keyPath, v);\n}\n\nfunction removeIn(collection, keyPath) {\n return updateIn$1(collection, keyPath, function () { return NOT_SET; });\n}\n\nfunction deleteIn(keyPath) {\n return removeIn(this, keyPath);\n}\n\nfunction update$1(collection, key, notSetValue, updater) {\n return updateIn$1(collection, [key], notSetValue, updater);\n}\n\nfunction update(key, notSetValue, updater) {\n return arguments.length === 1\n ? key(this)\n : update$1(this, key, notSetValue, updater);\n}\n\nfunction updateIn(keyPath, notSetValue, updater) {\n return updateIn$1(this, keyPath, notSetValue, updater);\n}\n\nfunction merge$1() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeIntoKeyedWith(this, iters);\n}\n\nfunction mergeWith$1(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n if (typeof merger !== 'function') {\n throw new TypeError('Invalid merger function: ' + merger);\n }\n return mergeIntoKeyedWith(this, iters, merger);\n}\n\nfunction mergeIntoKeyedWith(collection, collections, merger) {\n var iters = [];\n for (var ii = 0; ii < collections.length; ii++) {\n var collection$1 = KeyedCollection(collections[ii]);\n if (collection$1.size !== 0) {\n iters.push(collection$1);\n }\n }\n if (iters.length === 0) {\n return collection;\n }\n if (\n collection.toSeq().size === 0 &&\n !collection.__ownerID &&\n iters.length === 1\n ) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function (collection) {\n var mergeIntoCollection = merger\n ? function (value, key) {\n update$1(collection, key, NOT_SET, function (oldVal) { return oldVal === NOT_SET ? value : merger(oldVal, value, key); }\n );\n }\n : function (value, key) {\n collection.set(key, value);\n };\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoCollection);\n }\n });\n}\n\nfunction merge(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeWithSources(collection, sources);\n}\n\nfunction mergeWith(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeWithSources(collection, sources, merger);\n}\n\nfunction mergeDeep$1(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(collection, sources);\n}\n\nfunction mergeDeepWith$1(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeDeepWithSources(collection, sources, merger);\n}\n\nfunction mergeDeepWithSources(collection, sources, merger) {\n return mergeWithSources(collection, sources, deepMergerWith(merger));\n}\n\nfunction mergeWithSources(collection, sources, merger) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot merge into non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n return typeof merger === 'function' && collection.mergeWith\n ? collection.mergeWith.apply(collection, [ merger ].concat( sources ))\n : collection.merge\n ? collection.merge.apply(collection, sources)\n : collection.concat.apply(collection, sources);\n }\n var isArray = Array.isArray(collection);\n var merged = collection;\n var Collection = isArray ? IndexedCollection : KeyedCollection;\n var mergeItem = isArray\n ? function (value) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged.push(value);\n }\n : function (value, key) {\n var hasVal = hasOwnProperty.call(merged, key);\n var nextVal =\n hasVal && merger ? merger(merged[key], value, key) : value;\n if (!hasVal || nextVal !== merged[key]) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged[key] = nextVal;\n }\n };\n for (var i = 0; i < sources.length; i++) {\n Collection(sources[i]).forEach(mergeItem);\n }\n return merged;\n}\n\nfunction deepMergerWith(merger) {\n function deepMerger(oldValue, newValue, key) {\n return isDataStructure(oldValue) &&\n isDataStructure(newValue) &&\n areMergeable(oldValue, newValue)\n ? mergeWithSources(oldValue, [newValue], deepMerger)\n : merger\n ? merger(oldValue, newValue, key)\n : newValue;\n }\n return deepMerger;\n}\n\n/**\n * It's unclear what the desired behavior is for merging two collections that\n * fall into separate categories between keyed, indexed, or set-like, so we only\n * consider them mergeable if they fall into the same category.\n */\nfunction areMergeable(oldDataStructure, newDataStructure) {\n var oldSeq = Seq(oldDataStructure);\n var newSeq = Seq(newDataStructure);\n // This logic assumes that a sequence can only fall into one of the three\n // categories mentioned above (since there's no `isSetLike()` method).\n return (\n isIndexed(oldSeq) === isIndexed(newSeq) &&\n isKeyed(oldSeq) === isKeyed(newSeq)\n );\n}\n\nfunction mergeDeep() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeDeepWithSources(this, iters);\n}\n\nfunction mergeDeepWith(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(this, iters, merger);\n}\n\nfunction mergeIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeWithSources(m, iters); });\n}\n\nfunction mergeDeepIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeDeepWithSources(m, iters); }\n );\n}\n\nfunction withMutations(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n}\n\nfunction asMutable() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n}\n\nfunction asImmutable() {\n return this.__ensureOwner();\n}\n\nfunction wasAltered() {\n return this.__altered;\n}\n\nvar Map = /*@__PURE__*/(function (KeyedCollection) {\n function Map(value) {\n return value === undefined || value === null\n ? emptyMap()\n : isMap(value) && !isOrdered(value)\n ? value\n : emptyMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( KeyedCollection ) Map.__proto__ = KeyedCollection;\n Map.prototype = Object.create( KeyedCollection && KeyedCollection.prototype );\n Map.prototype.constructor = Map;\n\n Map.of = function of () {\n var keyValues = [], len = arguments.length;\n while ( len-- ) keyValues[ len ] = arguments[ len ];\n\n return emptyMap().withMutations(function (map) {\n for (var i = 0; i < keyValues.length; i += 2) {\n if (i + 1 >= keyValues.length) {\n throw new Error('Missing value for key: ' + keyValues[i]);\n }\n map.set(keyValues[i], keyValues[i + 1]);\n }\n });\n };\n\n Map.prototype.toString = function toString () {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function get (k, notSetValue) {\n return this._root\n ? this._root.get(0, undefined, k, notSetValue)\n : notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function set (k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.remove = function remove (k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteAll = function deleteAll (keys) {\n var collection = Collection(keys);\n\n if (collection.size === 0) {\n return this;\n }\n\n return this.withMutations(function (map) {\n collection.forEach(function (key) { return map.remove(key); });\n });\n };\n\n Map.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n Map.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (map) {\n map.forEach(function (value, key) {\n map.set(key, mapper.call(context, value, key, this$1$1));\n });\n });\n };\n\n // @pragma Mutability\n\n Map.prototype.__iterator = function __iterator (type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n this._root &&\n this._root.iterate(function (entry) {\n iterations++;\n return fn(entry[1], entry[0], this$1$1);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n return Map;\n}(KeyedCollection));\n\nMap.isMap = isMap;\n\nvar MapPrototype = Map.prototype;\nMapPrototype[IS_MAP_SYMBOL] = true;\nMapPrototype[DELETE] = MapPrototype.remove;\nMapPrototype.removeAll = MapPrototype.deleteAll;\nMapPrototype.setIn = setIn;\nMapPrototype.removeIn = MapPrototype.deleteIn = deleteIn;\nMapPrototype.update = update;\nMapPrototype.updateIn = updateIn;\nMapPrototype.merge = MapPrototype.concat = merge$1;\nMapPrototype.mergeWith = mergeWith$1;\nMapPrototype.mergeDeep = mergeDeep;\nMapPrototype.mergeDeepWith = mergeDeepWith;\nMapPrototype.mergeIn = mergeIn;\nMapPrototype.mergeDeepIn = mergeDeepIn;\nMapPrototype.withMutations = withMutations;\nMapPrototype.wasAltered = wasAltered;\nMapPrototype.asImmutable = asImmutable;\nMapPrototype['@@transducer/init'] = MapPrototype.asMutable = asMutable;\nMapPrototype['@@transducer/step'] = function (result, arr) {\n return result.set(arr[0], arr[1]);\n};\nMapPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\n// #pragma Trie Nodes\n\nvar ArrayMapNode = function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n};\n\nArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n};\n\nvar BitmapIndexedNode = function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n};\n\nBitmapIndexedNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK);\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0\n ? notSetValue\n : this.nodes[popCount(bitmap & (bit - 1))].get(\n shift + SHIFT,\n keyHash,\n key,\n notSetValue\n );\n};\n\nBitmapIndexedNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (\n exists &&\n !newNode &&\n nodes.length === 2 &&\n isLeafNode(nodes[idx ^ 1])\n ) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? (newNode ? bitmap : bitmap ^ bit) : bitmap | bit;\n var newNodes = exists\n ? newNode\n ? setAt(nodes, idx, newNode, isEditable)\n : spliceOut(nodes, idx, isEditable)\n : spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n};\n\nvar HashArrayMapNode = function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n};\n\nHashArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node\n ? node.get(shift + SHIFT, keyHash, key, notSetValue)\n : notSetValue;\n};\n\nHashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setAt(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n};\n\nvar HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n};\n\nHashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nHashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n};\n\nvar ValueNode = function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n};\n\nValueNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n};\n\nValueNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n};\n\n// #pragma Iterators\n\nArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate =\n function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n };\n\nBitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate =\n function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n };\n\n// eslint-disable-next-line no-unused-vars\nValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n};\n\nvar MapIterator = /*@__PURE__*/(function (Iterator) {\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n if ( Iterator ) MapIterator.__proto__ = Iterator;\n MapIterator.prototype = Object.create( Iterator && Iterator.prototype );\n MapIterator.prototype.constructor = MapIterator;\n\n MapIterator.prototype.next = function next () {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex = (void 0);\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(\n type,\n node.entries[this._reverse ? maxIndex - index : index]\n );\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n return MapIterator;\n}(Iterator));\n\nfunction mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n}\n\nfunction mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev,\n };\n}\n\nfunction makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_MAP;\nfunction emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n}\n\nfunction updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef();\n var didAlter = MakeRef();\n newRoot = updateNode(\n map._root,\n map.__ownerID,\n 0,\n undefined,\n k,\n v,\n didChangeSize,\n didAlter\n );\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? (v === NOT_SET ? -1 : 1) : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n}\n\nfunction updateNode(\n node,\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n}\n\nfunction isLeafNode(node) {\n return (\n node.constructor === ValueNode || node.constructor === HashCollisionNode\n );\n}\n\nfunction mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes =\n idx1 === idx2\n ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)]\n : ((newNode = new ValueNode(ownerID, keyHash, entry)),\n idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n}\n\nfunction createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n}\n\nfunction packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n}\n\nfunction expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n}\n\nfunction popCount(x) {\n x -= (x >> 1) & 0x55555555;\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x += x >> 8;\n x += x >> 16;\n return x & 0x7f;\n}\n\nfunction setAt(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n}\n\nfunction spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n}\n\nfunction spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n}\n\nvar MAX_ARRAY_MAP_SIZE = SIZE / 4;\nvar MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\nvar MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\nvar IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';\n\nfunction isList(maybeList) {\n return Boolean(maybeList && maybeList[IS_LIST_SYMBOL]);\n}\n\nvar List = /*@__PURE__*/(function (IndexedCollection) {\n function List(value) {\n var empty = emptyList();\n if (value === undefined || value === null) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedCollection(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function (list) {\n list.setSize(size);\n iter.forEach(function (v, i) { return list.set(i, v); });\n });\n }\n\n if ( IndexedCollection ) List.__proto__ = IndexedCollection;\n List.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n List.prototype.constructor = List;\n\n List.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function toString () {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function get (index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function set (index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function remove (index) {\n return !this.has(index)\n ? this\n : index === 0\n ? this.shift()\n : index === this.size - 1\n ? this.pop()\n : this.splice(index, 1);\n };\n\n List.prototype.insert = function insert (index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function push (/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function (list) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function pop () {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function unshift (/*...values*/) {\n var values = arguments;\n return this.withMutations(function (list) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function shift () {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.concat = function concat (/*...collections*/) {\n var arguments$1 = arguments;\n\n var seqs = [];\n for (var i = 0; i < arguments.length; i++) {\n var argument = arguments$1[i];\n var seq = IndexedCollection(\n typeof argument !== 'string' && hasIterator(argument)\n ? argument\n : [argument]\n );\n if (seq.size !== 0) {\n seqs.push(seq);\n }\n }\n if (seqs.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && seqs.length === 1) {\n return this.constructor(seqs[0]);\n }\n return this.withMutations(function (list) {\n seqs.forEach(function (seq) { return seq.forEach(function (value) { return list.push(value); }); });\n });\n };\n\n List.prototype.setSize = function setSize (size) {\n return setListBounds(this, 0, size);\n };\n\n List.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (list) {\n for (var i = 0; i < this$1$1.size; i++) {\n list.set(i, mapper.call(context, list.get(i), i, this$1$1));\n }\n });\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function slice (begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function __iterator (type, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n return new Iterator(function () {\n var value = values();\n return value === DONE\n ? iteratorDone()\n : iteratorValue(type, reverse ? --index : index++, value);\n });\n };\n\n List.prototype.__iterate = function __iterate (fn, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, reverse ? --index : index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyList();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeList(\n this._origin,\n this._capacity,\n this._level,\n this._root,\n this._tail,\n ownerID,\n this.__hash\n );\n };\n\n return List;\n}(IndexedCollection));\n\nList.isList = isList;\n\nvar ListPrototype = List.prototype;\nListPrototype[IS_LIST_SYMBOL] = true;\nListPrototype[DELETE] = ListPrototype.remove;\nListPrototype.merge = ListPrototype.concat;\nListPrototype.setIn = setIn;\nListPrototype.deleteIn = ListPrototype.removeIn = deleteIn;\nListPrototype.update = update;\nListPrototype.updateIn = updateIn;\nListPrototype.mergeIn = mergeIn;\nListPrototype.mergeDeepIn = mergeDeepIn;\nListPrototype.withMutations = withMutations;\nListPrototype.wasAltered = wasAltered;\nListPrototype.asImmutable = asImmutable;\nListPrototype['@@transducer/init'] = ListPrototype.asMutable = asMutable;\nListPrototype['@@transducer/step'] = function (result, arr) {\n return result.push(arr);\n};\nListPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nvar VNode = function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n};\n\n// TODO: seems like these methods are very similar\n\nVNode.prototype.removeBefore = function removeBefore (ownerID, level, index) {\n if (index === level ? 1 << level : this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild =\n oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n};\n\nVNode.prototype.removeAfter = function removeAfter (ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild =\n oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n};\n\nvar DONE = {};\n\nfunction iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0\n ? iterateLeaf(node, offset)\n : iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n while (true) {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx],\n level - SHIFT,\n offset + (idx << level)\n );\n }\n };\n }\n}\n\nfunction makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n}\n\nvar EMPTY_LIST;\nfunction emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n}\n\nfunction updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function (list) {\n index < 0\n ? setListBounds(list, index).set(0, value)\n : setListBounds(list, 0, index + 1).set(index, value);\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef();\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(\n newRoot,\n list.__ownerID,\n list._level,\n index,\n value,\n didAlter\n );\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n}\n\nfunction updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(\n lowerNode,\n ownerID,\n level - SHIFT,\n index,\n value,\n didAlter\n );\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n if (didAlter) {\n SetRef(didAlter);\n }\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n}\n\nfunction editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n}\n\nfunction listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n}\n\nfunction setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin |= 0;\n }\n if (end !== undefined) {\n end |= 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity =\n end === undefined\n ? oldCapacity\n : end < 0\n ? oldCapacity + end\n : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [undefined, newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail =\n newTailOffset < oldTailOffset\n ? listNodeFor(list, newCapacity - 1)\n : newTailOffset > oldTailOffset\n ? new VNode([], owner)\n : oldTail;\n\n // Merge Tail into tree.\n if (\n oldTail &&\n newTailOffset > oldTailOffset &&\n newOrigin < oldCapacity &&\n oldTail.array.length\n ) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if ((beginIndex !== newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(\n owner,\n newLevel,\n newTailOffset - offsetShift\n );\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n}\n\nfunction getTailOffset(size) {\n return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT;\n}\n\nvar OrderedMap = /*@__PURE__*/(function (Map) {\n function OrderedMap(value) {\n return value === undefined || value === null\n ? emptyOrderedMap()\n : isOrderedMap(value)\n ? value\n : emptyOrderedMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( Map ) OrderedMap.__proto__ = Map;\n OrderedMap.prototype = Object.create( Map && Map.prototype );\n OrderedMap.prototype.constructor = OrderedMap;\n\n OrderedMap.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function toString () {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function get (k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n this.__altered = true;\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function set (k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function remove (k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._list.__iterate(\n function (entry) { return entry && fn(entry[1], entry[0], this$1$1); },\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function __iterator (type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return emptyOrderedMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n return OrderedMap;\n}(Map));\n\nOrderedMap.isOrderedMap = isOrderedMap;\n\nOrderedMap.prototype[IS_ORDERED_SYMBOL] = true;\nOrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\nfunction makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n omap.__altered = false;\n return omap;\n}\n\nvar EMPTY_ORDERED_MAP;\nfunction emptyOrderedMap() {\n return (\n EMPTY_ORDERED_MAP ||\n (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()))\n );\n}\n\nfunction updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) {\n // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function (entry, idx) { return entry !== undefined && i !== idx; });\n newMap = newList\n .toKeyedSeq()\n .map(function (entry) { return entry[0]; })\n .flip()\n .toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n omap.__altered = true;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n}\n\nvar IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@';\n\nfunction isStack(maybeStack) {\n return Boolean(maybeStack && maybeStack[IS_STACK_SYMBOL]);\n}\n\nvar Stack = /*@__PURE__*/(function (IndexedCollection) {\n function Stack(value) {\n return value === undefined || value === null\n ? emptyStack()\n : isStack(value)\n ? value\n : emptyStack().pushAll(value);\n }\n\n if ( IndexedCollection ) Stack.__proto__ = IndexedCollection;\n Stack.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n Stack.prototype.constructor = Stack;\n\n Stack.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function toString () {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function get (index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function peek () {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function push (/*...values*/) {\n var arguments$1 = arguments;\n\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments$1[ii],\n next: head,\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function pushAll (iter) {\n iter = IndexedCollection(iter);\n if (iter.size === 0) {\n return this;\n }\n if (this.size === 0 && isStack(iter)) {\n return iter;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.__iterate(function (value) {\n newSize++;\n head = {\n value: value,\n next: head,\n };\n }, /* reverse */ true);\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function pop () {\n return this.slice(1);\n };\n\n Stack.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyStack();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterate(\n function (v, k) { return fn(v, k, this$1$1); },\n reverse\n );\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function __iterator (type, reverse) {\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterator(type, reverse);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function () {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n return Stack;\n}(IndexedCollection));\n\nStack.isStack = isStack;\n\nvar StackPrototype = Stack.prototype;\nStackPrototype[IS_STACK_SYMBOL] = true;\nStackPrototype.shift = StackPrototype.pop;\nStackPrototype.unshift = StackPrototype.push;\nStackPrototype.unshiftAll = StackPrototype.pushAll;\nStackPrototype.withMutations = withMutations;\nStackPrototype.wasAltered = wasAltered;\nStackPrototype.asImmutable = asImmutable;\nStackPrototype['@@transducer/init'] = StackPrototype.asMutable = asMutable;\nStackPrototype['@@transducer/step'] = function (result, arr) {\n return result.unshift(arr);\n};\nStackPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nfunction makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_STACK;\nfunction emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n}\n\nvar IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@';\n\nfunction isSet(maybeSet) {\n return Boolean(maybeSet && maybeSet[IS_SET_SYMBOL]);\n}\n\nfunction isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n}\n\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isCollection(b) ||\n (a.size !== undefined && b.size !== undefined && a.size !== b.size) ||\n (a.__hash !== undefined &&\n b.__hash !== undefined &&\n a.__hash !== b.__hash) ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return (\n b.every(function (v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done\n );\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function (v, k) {\n if (\n notAssociative\n ? !a.has(v)\n : flipped\n ? !is(v, a.get(k, NOT_SET))\n : !is(a.get(k, NOT_SET), v)\n ) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n}\n\nfunction mixin(ctor, methods) {\n var keyCopier = function (key) {\n ctor.prototype[key] = methods[key];\n };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n}\n\nfunction toJS(value) {\n if (!value || typeof value !== 'object') {\n return value;\n }\n if (!isCollection(value)) {\n if (!isDataStructure(value)) {\n return value;\n }\n value = Seq(value);\n }\n if (isKeyed(value)) {\n var result$1 = {};\n value.__iterate(function (v, k) {\n result$1[k] = toJS(v);\n });\n return result$1;\n }\n var result = [];\n value.__iterate(function (v) {\n result.push(toJS(v));\n });\n return result;\n}\n\nvar Set = /*@__PURE__*/(function (SetCollection) {\n function Set(value) {\n return value === undefined || value === null\n ? emptySet()\n : isSet(value) && !isOrdered(value)\n ? value\n : emptySet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( SetCollection ) Set.__proto__ = SetCollection;\n Set.prototype = Object.create( SetCollection && SetCollection.prototype );\n Set.prototype.constructor = Set;\n\n Set.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n Set.intersect = function intersect (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.intersect.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.union = function union (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.union.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.prototype.toString = function toString () {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function has (value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function add (value) {\n return updateSet(this, this._map.set(value, value));\n };\n\n Set.prototype.remove = function remove (value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function clear () {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n // keep track if the set is altered by the map function\n var didChanges = false;\n\n var newMap = updateSet(\n this,\n this._map.mapEntries(function (ref) {\n var v = ref[1];\n\n var mapped = mapper.call(context, v, v, this$1$1);\n\n if (mapped !== v) {\n didChanges = true;\n }\n\n return [mapped, mapped];\n }, context)\n );\n\n return didChanges ? newMap : this;\n };\n\n Set.prototype.union = function union () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n iters = iters.filter(function (x) { return x.size !== 0; });\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function (set) {\n for (var ii = 0; ii < iters.length; ii++) {\n if (typeof iters[ii] === 'string') {\n set.add(iters[ii]);\n } else {\n SetCollection(iters[ii]).forEach(function (value) { return set.add(value); });\n }\n }\n });\n };\n\n Set.prototype.intersect = function intersect () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (!iters.every(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.subtract = function subtract () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (iters.some(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function wasAltered () {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._map.__iterate(function (k) { return fn(k, k, this$1$1); }, reverse);\n };\n\n Set.prototype.__iterator = function __iterator (type, reverse) {\n return this._map.__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return this.__empty();\n }\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n return Set;\n}(SetCollection));\n\nSet.isSet = isSet;\n\nvar SetPrototype = Set.prototype;\nSetPrototype[IS_SET_SYMBOL] = true;\nSetPrototype[DELETE] = SetPrototype.remove;\nSetPrototype.merge = SetPrototype.concat = SetPrototype.union;\nSetPrototype.withMutations = withMutations;\nSetPrototype.asImmutable = asImmutable;\nSetPrototype['@@transducer/init'] = SetPrototype.asMutable = asMutable;\nSetPrototype['@@transducer/step'] = function (result, arr) {\n return result.add(arr);\n};\nSetPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nSetPrototype.__empty = emptySet;\nSetPrototype.__make = makeSet;\n\nfunction updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map\n ? set\n : newMap.size === 0\n ? set.__empty()\n : set.__make(newMap);\n}\n\nfunction makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_SET;\nfunction emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n}\n\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1, and end to\n * infinity. When start is equal to end, returns empty list.\n */\nvar Range = /*@__PURE__*/(function (IndexedSeq) {\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n if ( IndexedSeq ) Range.__proto__ = IndexedSeq;\n Range.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Range.prototype.constructor = Range;\n\n Range.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Range []';\n }\n return (\n 'Range [ ' +\n this._start +\n '...' +\n this._end +\n (this._step !== 1 ? ' by ' + this._step : '') +\n ' ]'\n );\n };\n\n Range.prototype.get = function get (index, notSetValue) {\n return this.has(index)\n ? this._start + wrapIndex(this, index) * this._step\n : notSetValue;\n };\n\n Range.prototype.includes = function includes (searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return (\n possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex)\n );\n };\n\n Range.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(\n this.get(begin, this._end),\n this.get(end, this._end),\n this._step\n );\n };\n\n Range.prototype.indexOf = function indexOf (searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index;\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n while (i !== size) {\n if (fn(value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n value += reverse ? -step : step;\n }\n return i;\n };\n\n Range.prototype.__iterator = function __iterator (type, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var v = value;\n value += reverse ? -step : step;\n return iteratorValue(type, reverse ? size - ++i : i++, v);\n });\n };\n\n Range.prototype.equals = function equals (other) {\n return other instanceof Range\n ? this._start === other._start &&\n this._end === other._end &&\n this._step === other._step\n : deepEqual(this, other);\n };\n\n return Range;\n}(IndexedSeq));\n\nvar EMPTY_RANGE;\n\nfunction getIn$1(collection, searchKeyPath, notSetValue) {\n var keyPath = coerceKeyPath(searchKeyPath);\n var i = 0;\n while (i !== keyPath.length) {\n collection = get(collection, keyPath[i++], NOT_SET);\n if (collection === NOT_SET) {\n return notSetValue;\n }\n }\n return collection;\n}\n\nfunction getIn(searchKeyPath, notSetValue) {\n return getIn$1(this, searchKeyPath, notSetValue);\n}\n\nfunction hasIn$1(collection, keyPath) {\n return getIn$1(collection, keyPath, NOT_SET) !== NOT_SET;\n}\n\nfunction hasIn(searchKeyPath) {\n return hasIn$1(this, searchKeyPath);\n}\n\nfunction toObject() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function (v, k) {\n object[k] = v;\n });\n return object;\n}\n\n// Note: all of these methods are deprecated.\nCollection.isIterable = isCollection;\nCollection.isKeyed = isKeyed;\nCollection.isIndexed = isIndexed;\nCollection.isAssociative = isAssociative;\nCollection.isOrdered = isOrdered;\n\nCollection.Iterator = Iterator;\n\nmixin(Collection, {\n // ### Conversion to other types\n\n toArray: function toArray() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n var useTuples = isKeyed(this);\n var i = 0;\n this.__iterate(function (v, k) {\n // Keyed collections produce an array of tuples.\n array[i++] = useTuples ? [k, v] : v;\n });\n return array;\n },\n\n toIndexedSeq: function toIndexedSeq() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function toJS$1() {\n return toJS(this);\n },\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function toMap() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: toObject,\n\n toOrderedMap: function toOrderedMap() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function toOrderedSet() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function toSet() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function toSetSeq() {\n return new ToSetSequence(this);\n },\n\n toSeq: function toSeq() {\n return isIndexed(this)\n ? this.toIndexedSeq()\n : isKeyed(this)\n ? this.toKeyedSeq()\n : this.toSetSeq();\n },\n\n toStack: function toStack() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function toList() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n // ### Common JavaScript methods and properties\n\n toString: function toString() {\n return '[Collection]';\n },\n\n __toString: function __toString(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return (\n head +\n ' ' +\n this.toSeq().map(this.__toStringMapper).join(', ') +\n ' ' +\n tail\n );\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function concat() {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return reify(this, concatFactory(this, values));\n },\n\n includes: function includes(searchValue) {\n return this.some(function (value) { return is(value, searchValue); });\n },\n\n entries: function entries() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function every(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function (v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n partition: function partition(predicate, context) {\n return partitionFactory(this, predicate, context);\n },\n\n find: function find(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n forEach: function forEach(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function join(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function (v) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function keys() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function map(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function reduce$1(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n false\n );\n },\n\n reduceRight: function reduceRight(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n true\n );\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function some(predicate, context) {\n return !this.every(not(predicate), context);\n },\n\n sort: function sort(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function values() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n // ### More sequential methods\n\n butLast: function butLast() {\n return this.slice(0, -1);\n },\n\n isEmpty: function isEmpty() {\n return this.size !== undefined ? this.size === 0 : !this.some(function () { return true; });\n },\n\n count: function count(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function countBy(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function equals(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function entrySeq() {\n var collection = this;\n if (collection._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(collection._cache);\n }\n var entriesSequence = collection.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function () { return collection.toSeq(); };\n return entriesSequence;\n },\n\n filterNot: function filterNot(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findEntry: function findEntry(predicate, context, notSetValue) {\n var found = notSetValue;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findKey: function findKey(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLast: function findLast(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n findLastEntry: function findLastEntry(predicate, context, notSetValue) {\n return this.toKeyedSeq()\n .reverse()\n .findEntry(predicate, context, notSetValue);\n },\n\n findLastKey: function findLastKey(predicate, context) {\n return this.toKeyedSeq().reverse().findKey(predicate, context);\n },\n\n first: function first(notSetValue) {\n return this.find(returnTrue, null, notSetValue);\n },\n\n flatMap: function flatMap(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function fromEntrySeq() {\n return new FromEntriesSequence(this);\n },\n\n get: function get(searchKey, notSetValue) {\n return this.find(function (_, key) { return is(key, searchKey); }, undefined, notSetValue);\n },\n\n getIn: getIn,\n\n groupBy: function groupBy(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function has(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: hasIn,\n\n isSubset: function isSubset(iter) {\n iter = typeof iter.includes === 'function' ? iter : Collection(iter);\n return this.every(function (value) { return iter.includes(value); });\n },\n\n isSuperset: function isSuperset(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Collection(iter);\n return iter.isSubset(this);\n },\n\n keyOf: function keyOf(searchValue) {\n return this.findKey(function (value) { return is(value, searchValue); });\n },\n\n keySeq: function keySeq() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function last(notSetValue) {\n return this.toSeq().reverse().first(notSetValue);\n },\n\n lastKeyOf: function lastKeyOf(searchValue) {\n return this.toKeyedSeq().reverse().keyOf(searchValue);\n },\n\n max: function max(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function maxBy(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function min(comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator\n );\n },\n\n minBy: function minBy(mapper, comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator,\n mapper\n );\n },\n\n rest: function rest() {\n return this.slice(1);\n },\n\n skip: function skip(amount) {\n return amount === 0 ? this : this.slice(Math.max(0, amount));\n },\n\n skipLast: function skipLast(amount) {\n return amount === 0 ? this : this.slice(0, -Math.max(0, amount));\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function skipUntil(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function sortBy(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function take(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function takeLast(amount) {\n return this.slice(-Math.max(0, amount));\n },\n\n takeWhile: function takeWhile(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function takeUntil(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n update: function update(fn) {\n return fn(this);\n },\n\n valueSeq: function valueSeq() {\n return this.toIndexedSeq();\n },\n\n // ### Hashable Object\n\n hashCode: function hashCode() {\n return this.__hash || (this.__hash = hashCollection(this));\n },\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n});\n\nvar CollectionPrototype = Collection.prototype;\nCollectionPrototype[IS_COLLECTION_SYMBOL] = true;\nCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.values;\nCollectionPrototype.toJSON = CollectionPrototype.toArray;\nCollectionPrototype.__toStringMapper = quoteString;\nCollectionPrototype.inspect = CollectionPrototype.toSource = function () {\n return this.toString();\n};\nCollectionPrototype.chain = CollectionPrototype.flatMap;\nCollectionPrototype.contains = CollectionPrototype.includes;\n\nmixin(KeyedCollection, {\n // ### More sequential methods\n\n flip: function flip() {\n return reify(this, flipFactory(this));\n },\n\n mapEntries: function mapEntries(mapper, context) {\n var this$1$1 = this;\n\n var iterations = 0;\n return reify(\n this,\n this.toSeq()\n .map(function (v, k) { return mapper.call(context, [k, v], iterations++, this$1$1); })\n .fromEntrySeq()\n );\n },\n\n mapKeys: function mapKeys(mapper, context) {\n var this$1$1 = this;\n\n return reify(\n this,\n this.toSeq()\n .flip()\n .map(function (k, v) { return mapper.call(context, k, v, this$1$1); })\n .flip()\n );\n },\n});\n\nvar KeyedCollectionPrototype = KeyedCollection.prototype;\nKeyedCollectionPrototype[IS_KEYED_SYMBOL] = true;\nKeyedCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.entries;\nKeyedCollectionPrototype.toJSON = toObject;\nKeyedCollectionPrototype.__toStringMapper = function (v, k) { return quoteString(k) + ': ' + quoteString(v); };\n\nmixin(IndexedCollection, {\n // ### Conversion to other types\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, false);\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function findIndex(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function indexOf(searchValue) {\n var key = this.keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function lastIndexOf(searchValue) {\n var key = this.lastKeyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function splice(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum || 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1\n ? spliced\n : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n // ### More collection methods\n\n findLastIndex: function findLastIndex(predicate, context) {\n var entry = this.findLastEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n first: function first(notSetValue) {\n return this.get(0, notSetValue);\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function get(index, notSetValue) {\n index = wrapIndex(this, index);\n return index < 0 ||\n this.size === Infinity ||\n (this.size !== undefined && index > this.size)\n ? notSetValue\n : this.find(function (_, key) { return key === index; }, undefined, notSetValue);\n },\n\n has: function has(index) {\n index = wrapIndex(this, index);\n return (\n index >= 0 &&\n (this.size !== undefined\n ? this.size === Infinity || index < this.size\n : this.indexOf(index) !== -1)\n );\n },\n\n interpose: function interpose(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function interleave(/*...collections*/) {\n var collections = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, collections);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * collections.length;\n }\n return reify(this, interleaved);\n },\n\n keySeq: function keySeq() {\n return Range(0, this.size);\n },\n\n last: function last(notSetValue) {\n return this.get(-1, notSetValue);\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function zip(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections));\n },\n\n zipAll: function zipAll(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections, true));\n },\n\n zipWith: function zipWith(zipper /*, ...collections */) {\n var collections = arrCopy(arguments);\n collections[0] = this;\n return reify(this, zipWithFactory(this, zipper, collections));\n },\n});\n\nvar IndexedCollectionPrototype = IndexedCollection.prototype;\nIndexedCollectionPrototype[IS_INDEXED_SYMBOL] = true;\nIndexedCollectionPrototype[IS_ORDERED_SYMBOL] = true;\n\nmixin(SetCollection, {\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function get(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function includes(value) {\n return this.has(value);\n },\n\n // ### More sequential methods\n\n keySeq: function keySeq() {\n return this.valueSeq();\n },\n});\n\nvar SetCollectionPrototype = SetCollection.prototype;\nSetCollectionPrototype.has = CollectionPrototype.includes;\nSetCollectionPrototype.contains = SetCollectionPrototype.includes;\nSetCollectionPrototype.keys = SetCollectionPrototype.values;\n\n// Mixin subclasses\n\nmixin(KeyedSeq, KeyedCollectionPrototype);\nmixin(IndexedSeq, IndexedCollectionPrototype);\nmixin(SetSeq, SetCollectionPrototype);\n\n// #pragma Helper functions\n\nfunction reduce(collection, reducer, reduction, context, useFirst, reverse) {\n assertNotInfinite(collection.size);\n collection.__iterate(function (v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n }, reverse);\n return reduction;\n}\n\nfunction keyMapper(v, k) {\n return k;\n}\n\nfunction entryMapper(v, k) {\n return [k, v];\n}\n\nfunction not(predicate) {\n return function () {\n return !predicate.apply(this, arguments);\n };\n}\n\nfunction neg(predicate) {\n return function () {\n return -predicate.apply(this, arguments);\n };\n}\n\nfunction defaultZipper() {\n return arrCopy(arguments);\n}\n\nfunction defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n}\n\nfunction hashCollection(collection) {\n if (collection.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(collection);\n var keyed = isKeyed(collection);\n var h = ordered ? 1 : 0;\n var size = collection.__iterate(\n keyed\n ? ordered\n ? function (v, k) {\n h = (31 * h + hashMerge(hash(v), hash(k))) | 0;\n }\n : function (v, k) {\n h = (h + hashMerge(hash(v), hash(k))) | 0;\n }\n : ordered\n ? function (v) {\n h = (31 * h + hash(v)) | 0;\n }\n : function (v) {\n h = (h + hash(v)) | 0;\n }\n );\n return murmurHashOfSize(size, h);\n}\n\nfunction murmurHashOfSize(size, h) {\n h = imul(h, 0xcc9e2d51);\n h = imul((h << 15) | (h >>> -15), 0x1b873593);\n h = imul((h << 13) | (h >>> -13), 5);\n h = ((h + 0xe6546b64) | 0) ^ size;\n h = imul(h ^ (h >>> 16), 0x85ebca6b);\n h = imul(h ^ (h >>> 13), 0xc2b2ae35);\n h = smi(h ^ (h >>> 16));\n return h;\n}\n\nfunction hashMerge(a, b) {\n return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0; // int\n}\n\nvar OrderedSet = /*@__PURE__*/(function (Set) {\n function OrderedSet(value) {\n return value === undefined || value === null\n ? emptyOrderedSet()\n : isOrderedSet(value)\n ? value\n : emptyOrderedSet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( Set ) OrderedSet.__proto__ = Set;\n OrderedSet.prototype = Object.create( Set && Set.prototype );\n OrderedSet.prototype.constructor = OrderedSet;\n\n OrderedSet.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function toString () {\n return this.__toString('OrderedSet {', '}');\n };\n\n return OrderedSet;\n}(Set));\n\nOrderedSet.isOrderedSet = isOrderedSet;\n\nvar OrderedSetPrototype = OrderedSet.prototype;\nOrderedSetPrototype[IS_ORDERED_SYMBOL] = true;\nOrderedSetPrototype.zip = IndexedCollectionPrototype.zip;\nOrderedSetPrototype.zipWith = IndexedCollectionPrototype.zipWith;\nOrderedSetPrototype.zipAll = IndexedCollectionPrototype.zipAll;\n\nOrderedSetPrototype.__empty = emptyOrderedSet;\nOrderedSetPrototype.__make = makeOrderedSet;\n\nfunction makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_ORDERED_SET;\nfunction emptyOrderedSet() {\n return (\n EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()))\n );\n}\n\nfunction throwOnInvalidDefaultValues(defaultValues) {\n if (isRecord(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.'\n );\n }\n\n if (isImmutable(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.'\n );\n }\n\n if (defaultValues === null || typeof defaultValues !== 'object') {\n throw new Error(\n 'Can not call `Record` with a non-object as default values. Use a plain javascript object instead.'\n );\n }\n}\n\nvar Record = function Record(defaultValues, name) {\n var hasInitialized;\n\n throwOnInvalidDefaultValues(defaultValues);\n\n var RecordType = function Record(values) {\n var this$1$1 = this;\n\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n var indices = (RecordTypePrototype._indices = {});\n // Deprecated: left to attempt not to break any external code which\n // relies on a ._name property existing on record instances.\n // Use Record.getDescriptiveName() instead\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n for (var i = 0; i < keys.length; i++) {\n var propName = keys[i];\n indices[propName] = i;\n if (RecordTypePrototype[propName]) {\n /* eslint-disable no-console */\n typeof console === 'object' &&\n console.warn &&\n console.warn(\n 'Cannot define ' +\n recordName(this) +\n ' with property \"' +\n propName +\n '\" since that property name is part of the Record API.'\n );\n /* eslint-enable no-console */\n } else {\n setProp(RecordTypePrototype, propName);\n }\n }\n }\n this.__ownerID = undefined;\n this._values = List().withMutations(function (l) {\n l.setSize(this$1$1._keys.length);\n KeyedCollection(values).forEach(function (v, k) {\n l.set(this$1$1._indices[k], v === this$1$1._defaultValues[k] ? undefined : v);\n });\n });\n return this;\n };\n\n var RecordTypePrototype = (RecordType.prototype =\n Object.create(RecordPrototype));\n RecordTypePrototype.constructor = RecordType;\n\n if (name) {\n RecordType.displayName = name;\n }\n\n return RecordType;\n};\n\nRecord.prototype.toString = function toString () {\n var str = recordName(this) + ' { ';\n var keys = this._keys;\n var k;\n for (var i = 0, l = keys.length; i !== l; i++) {\n k = keys[i];\n str += (i ? ', ' : '') + k + ': ' + quoteString(this.get(k));\n }\n return str + ' }';\n};\n\nRecord.prototype.equals = function equals (other) {\n return (\n this === other ||\n (isRecord(other) && recordSeq(this).equals(recordSeq(other)))\n );\n};\n\nRecord.prototype.hashCode = function hashCode () {\n return recordSeq(this).hashCode();\n};\n\n// @pragma Access\n\nRecord.prototype.has = function has (k) {\n return this._indices.hasOwnProperty(k);\n};\n\nRecord.prototype.get = function get (k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var index = this._indices[k];\n var value = this._values.get(index);\n return value === undefined ? this._defaultValues[k] : value;\n};\n\n// @pragma Modification\n\nRecord.prototype.set = function set (k, v) {\n if (this.has(k)) {\n var newValues = this._values.set(\n this._indices[k],\n v === this._defaultValues[k] ? undefined : v\n );\n if (newValues !== this._values && !this.__ownerID) {\n return makeRecord(this, newValues);\n }\n }\n return this;\n};\n\nRecord.prototype.remove = function remove (k) {\n return this.set(k);\n};\n\nRecord.prototype.clear = function clear () {\n var newValues = this._values.clear().setSize(this._keys.length);\n\n return this.__ownerID ? this : makeRecord(this, newValues);\n};\n\nRecord.prototype.wasAltered = function wasAltered () {\n return this._values.wasAltered();\n};\n\nRecord.prototype.toSeq = function toSeq () {\n return recordSeq(this);\n};\n\nRecord.prototype.toJS = function toJS$1 () {\n return toJS(this);\n};\n\nRecord.prototype.entries = function entries () {\n return this.__iterator(ITERATE_ENTRIES);\n};\n\nRecord.prototype.__iterator = function __iterator (type, reverse) {\n return recordSeq(this).__iterator(type, reverse);\n};\n\nRecord.prototype.__iterate = function __iterate (fn, reverse) {\n return recordSeq(this).__iterate(fn, reverse);\n};\n\nRecord.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newValues = this._values.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._values = newValues;\n return this;\n }\n return makeRecord(this, newValues, ownerID);\n};\n\nRecord.isRecord = isRecord;\nRecord.getDescriptiveName = recordName;\nvar RecordPrototype = Record.prototype;\nRecordPrototype[IS_RECORD_SYMBOL] = true;\nRecordPrototype[DELETE] = RecordPrototype.remove;\nRecordPrototype.deleteIn = RecordPrototype.removeIn = deleteIn;\nRecordPrototype.getIn = getIn;\nRecordPrototype.hasIn = CollectionPrototype.hasIn;\nRecordPrototype.merge = merge$1;\nRecordPrototype.mergeWith = mergeWith$1;\nRecordPrototype.mergeIn = mergeIn;\nRecordPrototype.mergeDeep = mergeDeep;\nRecordPrototype.mergeDeepWith = mergeDeepWith;\nRecordPrototype.mergeDeepIn = mergeDeepIn;\nRecordPrototype.setIn = setIn;\nRecordPrototype.update = update;\nRecordPrototype.updateIn = updateIn;\nRecordPrototype.withMutations = withMutations;\nRecordPrototype.asMutable = asMutable;\nRecordPrototype.asImmutable = asImmutable;\nRecordPrototype[ITERATOR_SYMBOL] = RecordPrototype.entries;\nRecordPrototype.toJSON = RecordPrototype.toObject =\n CollectionPrototype.toObject;\nRecordPrototype.inspect = RecordPrototype.toSource = function () {\n return this.toString();\n};\n\nfunction makeRecord(likeRecord, values, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._values = values;\n record.__ownerID = ownerID;\n return record;\n}\n\nfunction recordName(record) {\n return record.constructor.displayName || record.constructor.name || 'Record';\n}\n\nfunction recordSeq(record) {\n return keyedSeqFromValue(record._keys.map(function (k) { return [k, record.get(k)]; }));\n}\n\nfunction setProp(prototype, name) {\n try {\n Object.defineProperty(prototype, name, {\n get: function () {\n return this.get(name);\n },\n set: function (value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n },\n });\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n}\n\n/**\n * Returns a lazy Seq of `value` repeated `times` times. When `times` is\n * undefined, returns an infinite sequence of `value`.\n */\nvar Repeat = /*@__PURE__*/(function (IndexedSeq) {\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n if ( IndexedSeq ) Repeat.__proto__ = IndexedSeq;\n Repeat.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Repeat.prototype.constructor = Repeat;\n\n Repeat.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function includes (searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function slice (begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size)\n ? this\n : new Repeat(\n this._value,\n resolveEnd(end, size) - resolveBegin(begin, size)\n );\n };\n\n Repeat.prototype.reverse = function reverse () {\n return this;\n };\n\n Repeat.prototype.indexOf = function indexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var i = 0;\n while (i !== size) {\n if (fn(this._value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n }\n return i;\n };\n\n Repeat.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var size = this.size;\n var i = 0;\n return new Iterator(function () { return i === size\n ? iteratorDone()\n : iteratorValue(type, reverse ? size - ++i : i++, this$1$1._value); }\n );\n };\n\n Repeat.prototype.equals = function equals (other) {\n return other instanceof Repeat\n ? is(this._value, other._value)\n : deepEqual(other);\n };\n\n return Repeat;\n}(IndexedSeq));\n\nvar EMPTY_REPEAT;\n\nfunction fromJS(value, converter) {\n return fromJSWith(\n [],\n converter || defaultConverter,\n value,\n '',\n converter && converter.length > 2 ? [] : undefined,\n { '': value }\n );\n}\n\nfunction fromJSWith(stack, converter, value, key, keyPath, parentValue) {\n if (\n typeof value !== 'string' &&\n !isImmutable(value) &&\n (isArrayLike(value) || hasIterator(value) || isPlainObject(value))\n ) {\n if (~stack.indexOf(value)) {\n throw new TypeError('Cannot convert circular structure to Immutable');\n }\n stack.push(value);\n keyPath && key !== '' && keyPath.push(key);\n var converted = converter.call(\n parentValue,\n key,\n Seq(value).map(function (v, k) { return fromJSWith(stack, converter, v, k, keyPath, value); }\n ),\n keyPath && keyPath.slice()\n );\n stack.pop();\n keyPath && keyPath.pop();\n return converted;\n }\n return value;\n}\n\nfunction defaultConverter(k, v) {\n // Effectively the opposite of \"Collection.toSeq()\"\n return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet();\n}\n\nvar version = \"4.2.4\";\n\nvar Immutable = {\n version: version,\n\n Collection: Collection,\n // Note: Iterable is deprecated\n Iterable: Collection,\n\n Seq: Seq,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS,\n hash: hash,\n\n isImmutable: isImmutable,\n isCollection: isCollection,\n isKeyed: isKeyed,\n isIndexed: isIndexed,\n isAssociative: isAssociative,\n isOrdered: isOrdered,\n isValueObject: isValueObject,\n isPlainObject: isPlainObject,\n isSeq: isSeq,\n isList: isList,\n isMap: isMap,\n isOrderedMap: isOrderedMap,\n isStack: isStack,\n isSet: isSet,\n isOrderedSet: isOrderedSet,\n isRecord: isRecord,\n\n get: get,\n getIn: getIn$1,\n has: has,\n hasIn: hasIn$1,\n merge: merge,\n mergeDeep: mergeDeep$1,\n mergeWith: mergeWith,\n mergeDeepWith: mergeDeepWith$1,\n remove: remove,\n removeIn: removeIn,\n set: set,\n setIn: setIn$1,\n update: update$1,\n updateIn: updateIn$1,\n};\n\n// Note: Iterable is deprecated\nvar Iterable = Collection;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Immutable);\n\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/immutable/dist/immutable.es.js?");
566
+ eval("/* unused harmony export Collection */\n/* unused harmony export Iterable */\n/* unused harmony export List */\n/* unused harmony export Map */\n/* unused harmony export OrderedMap */\n/* unused harmony export OrderedSet */\n/* unused harmony export Range */\n/* unused harmony export Record */\n/* unused harmony export Repeat */\n/* unused harmony export Seq */\n/* unused harmony export Set */\n/* unused harmony export Stack */\n/* unused harmony export fromJS */\n/* unused harmony export get */\n/* unused harmony export getIn */\n/* unused harmony export has */\n/* unused harmony export hasIn */\n/* unused harmony export hash */\n/* unused harmony export is */\n/* unused harmony export isAssociative */\n/* unused harmony export isCollection */\n/* unused harmony export isImmutable */\n/* unused harmony export isIndexed */\n/* unused harmony export isKeyed */\n/* unused harmony export isList */\n/* unused harmony export isMap */\n/* unused harmony export isOrdered */\n/* unused harmony export isOrderedMap */\n/* unused harmony export isOrderedSet */\n/* unused harmony export isPlainObject */\n/* unused harmony export isRecord */\n/* unused harmony export isSeq */\n/* unused harmony export isSet */\n/* unused harmony export isStack */\n/* unused harmony export isValueObject */\n/* unused harmony export merge */\n/* unused harmony export mergeDeep */\n/* unused harmony export mergeDeepWith */\n/* unused harmony export mergeWith */\n/* unused harmony export remove */\n/* unused harmony export removeIn */\n/* unused harmony export set */\n/* unused harmony export setIn */\n/* unused harmony export update */\n/* unused harmony export updateIn */\n/* unused harmony export version */\n/**\n * MIT License\n * \n * Copyright (c) 2014-present, Lee Byron and other contributors.\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar DELETE = 'delete';\n\n// Constants describing the size of trie nodes.\nvar SHIFT = 5; // Resulted in best performance after ______?\nvar SIZE = 1 << SHIFT;\nvar MASK = SIZE - 1;\n\n// A consistent shared value representing \"not set\" which equals nothing other\n// than itself, and nothing that could be provided externally.\nvar NOT_SET = {};\n\n// Boolean references, Rough equivalent of `bool &`.\nfunction MakeRef() {\n return { value: false };\n}\n\nfunction SetRef(ref) {\n if (ref) {\n ref.value = true;\n }\n}\n\n// A function which returns a value representing an \"owner\" for transient writes\n// to tries. The return value will only ever equal itself, and will not equal\n// the return of any subsequent call of this function.\nfunction OwnerID() {}\n\nfunction ensureSize(iter) {\n if (iter.size === undefined) {\n iter.size = iter.__iterate(returnTrue);\n }\n return iter.size;\n}\n\nfunction wrapIndex(iter, index) {\n // This implements \"is array index\" which the ECMAString spec defines as:\n //\n // A String property name P is an array index if and only if\n // ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal\n // to 2^32−1.\n //\n // http://www.ecma-international.org/ecma-262/6.0/#sec-array-exotic-objects\n if (typeof index !== 'number') {\n var uint32Index = index >>> 0; // N >>> 0 is shorthand for ToUint32\n if ('' + uint32Index !== index || uint32Index === 4294967295) {\n return NaN;\n }\n index = uint32Index;\n }\n return index < 0 ? ensureSize(iter) + index : index;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction wholeSlice(begin, end, size) {\n return (\n ((begin === 0 && !isNeg(begin)) ||\n (size !== undefined && begin <= -size)) &&\n (end === undefined || (size !== undefined && end >= size))\n );\n}\n\nfunction resolveBegin(begin, size) {\n return resolveIndex(begin, size, 0);\n}\n\nfunction resolveEnd(end, size) {\n return resolveIndex(end, size, size);\n}\n\nfunction resolveIndex(index, size, defaultIndex) {\n // Sanitize indices using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n return index === undefined\n ? defaultIndex\n : isNeg(index)\n ? size === Infinity\n ? size\n : Math.max(0, size + index) | 0\n : size === undefined || size === index\n ? index\n : Math.min(size, index) | 0;\n}\n\nfunction isNeg(value) {\n // Account for -0 which is negative, but not less than 0.\n return value < 0 || (value === 0 && 1 / value === -Infinity);\n}\n\nvar IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@';\n\nfunction isCollection(maybeCollection) {\n return Boolean(maybeCollection && maybeCollection[IS_COLLECTION_SYMBOL]);\n}\n\nvar IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@';\n\nfunction isKeyed(maybeKeyed) {\n return Boolean(maybeKeyed && maybeKeyed[IS_KEYED_SYMBOL]);\n}\n\nvar IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@';\n\nfunction isIndexed(maybeIndexed) {\n return Boolean(maybeIndexed && maybeIndexed[IS_INDEXED_SYMBOL]);\n}\n\nfunction isAssociative(maybeAssociative) {\n return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);\n}\n\nvar Collection = function Collection(value) {\n return isCollection(value) ? value : Seq(value);\n};\n\nvar KeyedCollection = /*@__PURE__*/(function (Collection) {\n function KeyedCollection(value) {\n return isKeyed(value) ? value : KeyedSeq(value);\n }\n\n if ( Collection ) KeyedCollection.__proto__ = Collection;\n KeyedCollection.prototype = Object.create( Collection && Collection.prototype );\n KeyedCollection.prototype.constructor = KeyedCollection;\n\n return KeyedCollection;\n}(Collection));\n\nvar IndexedCollection = /*@__PURE__*/(function (Collection) {\n function IndexedCollection(value) {\n return isIndexed(value) ? value : IndexedSeq(value);\n }\n\n if ( Collection ) IndexedCollection.__proto__ = Collection;\n IndexedCollection.prototype = Object.create( Collection && Collection.prototype );\n IndexedCollection.prototype.constructor = IndexedCollection;\n\n return IndexedCollection;\n}(Collection));\n\nvar SetCollection = /*@__PURE__*/(function (Collection) {\n function SetCollection(value) {\n return isCollection(value) && !isAssociative(value) ? value : SetSeq(value);\n }\n\n if ( Collection ) SetCollection.__proto__ = Collection;\n SetCollection.prototype = Object.create( Collection && Collection.prototype );\n SetCollection.prototype.constructor = SetCollection;\n\n return SetCollection;\n}(Collection));\n\nCollection.Keyed = KeyedCollection;\nCollection.Indexed = IndexedCollection;\nCollection.Set = SetCollection;\n\nvar IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@';\n\nfunction isSeq(maybeSeq) {\n return Boolean(maybeSeq && maybeSeq[IS_SEQ_SYMBOL]);\n}\n\nvar IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@';\n\nfunction isRecord(maybeRecord) {\n return Boolean(maybeRecord && maybeRecord[IS_RECORD_SYMBOL]);\n}\n\nfunction isImmutable(maybeImmutable) {\n return isCollection(maybeImmutable) || isRecord(maybeImmutable);\n}\n\nvar IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@';\n\nfunction isOrdered(maybeOrdered) {\n return Boolean(maybeOrdered && maybeOrdered[IS_ORDERED_SYMBOL]);\n}\n\nvar ITERATE_KEYS = 0;\nvar ITERATE_VALUES = 1;\nvar ITERATE_ENTRIES = 2;\n\nvar REAL_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\n\nvar ITERATOR_SYMBOL = REAL_ITERATOR_SYMBOL || FAUX_ITERATOR_SYMBOL;\n\nvar Iterator = function Iterator(next) {\n this.next = next;\n};\n\nIterator.prototype.toString = function toString () {\n return '[Iterator]';\n};\n\nIterator.KEYS = ITERATE_KEYS;\nIterator.VALUES = ITERATE_VALUES;\nIterator.ENTRIES = ITERATE_ENTRIES;\n\nIterator.prototype.inspect = Iterator.prototype.toSource = function () {\n return this.toString();\n};\nIterator.prototype[ITERATOR_SYMBOL] = function () {\n return this;\n};\n\nfunction iteratorValue(type, k, v, iteratorResult) {\n var value = type === 0 ? k : type === 1 ? v : [k, v];\n iteratorResult\n ? (iteratorResult.value = value)\n : (iteratorResult = {\n value: value,\n done: false,\n });\n return iteratorResult;\n}\n\nfunction iteratorDone() {\n return { value: undefined, done: true };\n}\n\nfunction hasIterator(maybeIterable) {\n if (Array.isArray(maybeIterable)) {\n // IE11 trick as it does not support `Symbol.iterator`\n return true;\n }\n\n return !!getIteratorFn(maybeIterable);\n}\n\nfunction isIterator(maybeIterator) {\n return maybeIterator && typeof maybeIterator.next === 'function';\n}\n\nfunction getIterator(iterable) {\n var iteratorFn = getIteratorFn(iterable);\n return iteratorFn && iteratorFn.call(iterable);\n}\n\nfunction getIteratorFn(iterable) {\n var iteratorFn =\n iterable &&\n ((REAL_ITERATOR_SYMBOL && iterable[REAL_ITERATOR_SYMBOL]) ||\n iterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nfunction isEntriesIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.entries;\n}\n\nfunction isKeysIterable(maybeIterable) {\n var iteratorFn = getIteratorFn(maybeIterable);\n return iteratorFn && iteratorFn === maybeIterable.keys;\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isArrayLike(value) {\n if (Array.isArray(value) || typeof value === 'string') {\n return true;\n }\n\n return (\n value &&\n typeof value === 'object' &&\n Number.isInteger(value.length) &&\n value.length >= 0 &&\n (value.length === 0\n ? // Only {length: 0} is considered Array-like.\n Object.keys(value).length === 1\n : // An object is only Array-like if it has a property where the last value\n // in the array-like may be found (which could be undefined).\n value.hasOwnProperty(value.length - 1))\n );\n}\n\nvar Seq = /*@__PURE__*/(function (Collection) {\n function Seq(value) {\n return value === undefined || value === null\n ? emptySequence()\n : isImmutable(value)\n ? value.toSeq()\n : seqFromValue(value);\n }\n\n if ( Collection ) Seq.__proto__ = Collection;\n Seq.prototype = Object.create( Collection && Collection.prototype );\n Seq.prototype.constructor = Seq;\n\n Seq.prototype.toSeq = function toSeq () {\n return this;\n };\n\n Seq.prototype.toString = function toString () {\n return this.__toString('Seq {', '}');\n };\n\n Seq.prototype.cacheResult = function cacheResult () {\n if (!this._cache && this.__iterateUncached) {\n this._cache = this.entrySeq().toArray();\n this.size = this._cache.length;\n }\n return this;\n };\n\n // abstract __iterateUncached(fn, reverse)\n\n Seq.prototype.__iterate = function __iterate (fn, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n while (i !== size) {\n var entry = cache[reverse ? size - ++i : i++];\n if (fn(entry[1], entry[0], this) === false) {\n break;\n }\n }\n return i;\n }\n return this.__iterateUncached(fn, reverse);\n };\n\n // abstract __iteratorUncached(type, reverse)\n\n Seq.prototype.__iterator = function __iterator (type, reverse) {\n var cache = this._cache;\n if (cache) {\n var size = cache.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var entry = cache[reverse ? size - ++i : i++];\n return iteratorValue(type, entry[0], entry[1]);\n });\n }\n return this.__iteratorUncached(type, reverse);\n };\n\n return Seq;\n}(Collection));\n\nvar KeyedSeq = /*@__PURE__*/(function (Seq) {\n function KeyedSeq(value) {\n return value === undefined || value === null\n ? emptySequence().toKeyedSeq()\n : isCollection(value)\n ? isKeyed(value)\n ? value.toSeq()\n : value.fromEntrySeq()\n : isRecord(value)\n ? value.toSeq()\n : keyedSeqFromValue(value);\n }\n\n if ( Seq ) KeyedSeq.__proto__ = Seq;\n KeyedSeq.prototype = Object.create( Seq && Seq.prototype );\n KeyedSeq.prototype.constructor = KeyedSeq;\n\n KeyedSeq.prototype.toKeyedSeq = function toKeyedSeq () {\n return this;\n };\n\n return KeyedSeq;\n}(Seq));\n\nvar IndexedSeq = /*@__PURE__*/(function (Seq) {\n function IndexedSeq(value) {\n return value === undefined || value === null\n ? emptySequence()\n : isCollection(value)\n ? isKeyed(value)\n ? value.entrySeq()\n : value.toIndexedSeq()\n : isRecord(value)\n ? value.toSeq().entrySeq()\n : indexedSeqFromValue(value);\n }\n\n if ( Seq ) IndexedSeq.__proto__ = Seq;\n IndexedSeq.prototype = Object.create( Seq && Seq.prototype );\n IndexedSeq.prototype.constructor = IndexedSeq;\n\n IndexedSeq.of = function of (/*...values*/) {\n return IndexedSeq(arguments);\n };\n\n IndexedSeq.prototype.toIndexedSeq = function toIndexedSeq () {\n return this;\n };\n\n IndexedSeq.prototype.toString = function toString () {\n return this.__toString('Seq [', ']');\n };\n\n return IndexedSeq;\n}(Seq));\n\nvar SetSeq = /*@__PURE__*/(function (Seq) {\n function SetSeq(value) {\n return (\n isCollection(value) && !isAssociative(value) ? value : IndexedSeq(value)\n ).toSetSeq();\n }\n\n if ( Seq ) SetSeq.__proto__ = Seq;\n SetSeq.prototype = Object.create( Seq && Seq.prototype );\n SetSeq.prototype.constructor = SetSeq;\n\n SetSeq.of = function of (/*...values*/) {\n return SetSeq(arguments);\n };\n\n SetSeq.prototype.toSetSeq = function toSetSeq () {\n return this;\n };\n\n return SetSeq;\n}(Seq));\n\nSeq.isSeq = isSeq;\nSeq.Keyed = KeyedSeq;\nSeq.Set = SetSeq;\nSeq.Indexed = IndexedSeq;\n\nSeq.prototype[IS_SEQ_SYMBOL] = true;\n\n// #pragma Root Sequences\n\nvar ArraySeq = /*@__PURE__*/(function (IndexedSeq) {\n function ArraySeq(array) {\n this._array = array;\n this.size = array.length;\n }\n\n if ( IndexedSeq ) ArraySeq.__proto__ = IndexedSeq;\n ArraySeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ArraySeq.prototype.constructor = ArraySeq;\n\n ArraySeq.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._array[wrapIndex(this, index)] : notSetValue;\n };\n\n ArraySeq.prototype.__iterate = function __iterate (fn, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n while (i !== size) {\n var ii = reverse ? size - ++i : i++;\n if (fn(array[ii], ii, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ArraySeq.prototype.__iterator = function __iterator (type, reverse) {\n var array = this._array;\n var size = array.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var ii = reverse ? size - ++i : i++;\n return iteratorValue(type, ii, array[ii]);\n });\n };\n\n return ArraySeq;\n}(IndexedSeq));\n\nvar ObjectSeq = /*@__PURE__*/(function (KeyedSeq) {\n function ObjectSeq(object) {\n var keys = Object.keys(object).concat(\n Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(object) : []\n );\n this._object = object;\n this._keys = keys;\n this.size = keys.length;\n }\n\n if ( KeyedSeq ) ObjectSeq.__proto__ = KeyedSeq;\n ObjectSeq.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ObjectSeq.prototype.constructor = ObjectSeq;\n\n ObjectSeq.prototype.get = function get (key, notSetValue) {\n if (notSetValue !== undefined && !this.has(key)) {\n return notSetValue;\n }\n return this._object[key];\n };\n\n ObjectSeq.prototype.has = function has (key) {\n return hasOwnProperty.call(this._object, key);\n };\n\n ObjectSeq.prototype.__iterate = function __iterate (fn, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n while (i !== size) {\n var key = keys[reverse ? size - ++i : i++];\n if (fn(object[key], key, this) === false) {\n break;\n }\n }\n return i;\n };\n\n ObjectSeq.prototype.__iterator = function __iterator (type, reverse) {\n var object = this._object;\n var keys = this._keys;\n var size = keys.length;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var key = keys[reverse ? size - ++i : i++];\n return iteratorValue(type, key, object[key]);\n });\n };\n\n return ObjectSeq;\n}(KeyedSeq));\nObjectSeq.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar CollectionSeq = /*@__PURE__*/(function (IndexedSeq) {\n function CollectionSeq(collection) {\n this._collection = collection;\n this.size = collection.length || collection.size;\n }\n\n if ( IndexedSeq ) CollectionSeq.__proto__ = IndexedSeq;\n CollectionSeq.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n CollectionSeq.prototype.constructor = CollectionSeq;\n\n CollectionSeq.prototype.__iterateUncached = function __iterateUncached (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n var iterations = 0;\n if (isIterator(iterator)) {\n var step;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n }\n return iterations;\n };\n\n CollectionSeq.prototype.__iteratorUncached = function __iteratorUncached (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var collection = this._collection;\n var iterator = getIterator(collection);\n if (!isIterator(iterator)) {\n return new Iterator(iteratorDone);\n }\n var iterations = 0;\n return new Iterator(function () {\n var step = iterator.next();\n return step.done ? step : iteratorValue(type, iterations++, step.value);\n });\n };\n\n return CollectionSeq;\n}(IndexedSeq));\n\n// # pragma Helper functions\n\nvar EMPTY_SEQ;\n\nfunction emptySequence() {\n return EMPTY_SEQ || (EMPTY_SEQ = new ArraySeq([]));\n}\n\nfunction keyedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq.fromEntrySeq();\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of [k, v] entries, or keyed object: ' +\n value\n );\n}\n\nfunction indexedSeqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return seq;\n }\n throw new TypeError(\n 'Expected Array or collection object of values: ' + value\n );\n}\n\nfunction seqFromValue(value) {\n var seq = maybeIndexedSeqFromValue(value);\n if (seq) {\n return isEntriesIterable(value)\n ? seq.fromEntrySeq()\n : isKeysIterable(value)\n ? seq.toSetSeq()\n : seq;\n }\n if (typeof value === 'object') {\n return new ObjectSeq(value);\n }\n throw new TypeError(\n 'Expected Array or collection object of values, or keyed object: ' + value\n );\n}\n\nfunction maybeIndexedSeqFromValue(value) {\n return isArrayLike(value)\n ? new ArraySeq(value)\n : hasIterator(value)\n ? new CollectionSeq(value)\n : undefined;\n}\n\nvar IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@';\n\nfunction isMap(maybeMap) {\n return Boolean(maybeMap && maybeMap[IS_MAP_SYMBOL]);\n}\n\nfunction isOrderedMap(maybeOrderedMap) {\n return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);\n}\n\nfunction isValueObject(maybeValue) {\n return Boolean(\n maybeValue &&\n typeof maybeValue.equals === 'function' &&\n typeof maybeValue.hashCode === 'function'\n );\n}\n\n/**\n * An extension of the \"same-value\" algorithm as [described for use by ES6 Map\n * and Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Key_equality)\n *\n * NaN is considered the same as NaN, however -0 and 0 are considered the same\n * value, which is different from the algorithm described by\n * [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).\n *\n * This is extended further to allow Objects to describe the values they\n * represent, by way of `valueOf` or `equals` (and `hashCode`).\n *\n * Note: because of this extension, the key equality of Immutable.Map and the\n * value equality of Immutable.Set will differ from ES6 Map and Set.\n *\n * ### Defining custom values\n *\n * The easiest way to describe the value an object represents is by implementing\n * `valueOf`. For example, `Date` represents a value by returning a unix\n * timestamp for `valueOf`:\n *\n * var date1 = new Date(1234567890000); // Fri Feb 13 2009 ...\n * var date2 = new Date(1234567890000);\n * date1.valueOf(); // 1234567890000\n * assert( date1 !== date2 );\n * assert( Immutable.is( date1, date2 ) );\n *\n * Note: overriding `valueOf` may have other implications if you use this object\n * where JavaScript expects a primitive, such as implicit string coercion.\n *\n * For more complex types, especially collections, implementing `valueOf` may\n * not be performant. An alternative is to implement `equals` and `hashCode`.\n *\n * `equals` takes another object, presumably of similar type, and returns true\n * if it is equal. Equality is symmetrical, so the same result should be\n * returned if this and the argument are flipped.\n *\n * assert( a.equals(b) === b.equals(a) );\n *\n * `hashCode` returns a 32bit integer number representing the object which will\n * be used to determine how to store the value object in a Map or Set. You must\n * provide both or neither methods, one must not exist without the other.\n *\n * Also, an important relationship between these methods must be upheld: if two\n * values are equal, they *must* return the same hashCode. If the values are not\n * equal, they might have the same hashCode; this is called a hash collision,\n * and while undesirable for performance reasons, it is acceptable.\n *\n * if (a.equals(b)) {\n * assert( a.hashCode() === b.hashCode() );\n * }\n *\n * All Immutable collections are Value Objects: they implement `equals()`\n * and `hashCode()`.\n */\nfunction is(valueA, valueB) {\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n if (\n typeof valueA.valueOf === 'function' &&\n typeof valueB.valueOf === 'function'\n ) {\n valueA = valueA.valueOf();\n valueB = valueB.valueOf();\n if (valueA === valueB || (valueA !== valueA && valueB !== valueB)) {\n return true;\n }\n if (!valueA || !valueB) {\n return false;\n }\n }\n return !!(\n isValueObject(valueA) &&\n isValueObject(valueB) &&\n valueA.equals(valueB)\n );\n}\n\nvar imul =\n typeof Math.imul === 'function' && Math.imul(0xffffffff, 2) === -2\n ? Math.imul\n : function imul(a, b) {\n a |= 0; // int\n b |= 0; // int\n var c = a & 0xffff;\n var d = b & 0xffff;\n // Shift by 0 fixes the sign on the high part.\n return (c * d + ((((a >>> 16) * d + c * (b >>> 16)) << 16) >>> 0)) | 0; // int\n };\n\n// v8 has an optimization for storing 31-bit signed numbers.\n// Values which have either 00 or 11 as the high order bits qualify.\n// This function drops the highest order bit in a signed number, maintaining\n// the sign bit.\nfunction smi(i32) {\n return ((i32 >>> 1) & 0x40000000) | (i32 & 0xbfffffff);\n}\n\nvar defaultValueOf = Object.prototype.valueOf;\n\nfunction hash(o) {\n if (o == null) {\n return hashNullish(o);\n }\n\n if (typeof o.hashCode === 'function') {\n // Drop any high bits from accidentally long hash codes.\n return smi(o.hashCode(o));\n }\n\n var v = valueOf(o);\n\n if (v == null) {\n return hashNullish(v);\n }\n\n switch (typeof v) {\n case 'boolean':\n // The hash values for built-in constants are a 1 value for each 5-byte\n // shift region expect for the first, which encodes the value. This\n // reduces the odds of a hash collision for these common values.\n return v ? 0x42108421 : 0x42108420;\n case 'number':\n return hashNumber(v);\n case 'string':\n return v.length > STRING_HASH_CACHE_MIN_STRLEN\n ? cachedHashString(v)\n : hashString(v);\n case 'object':\n case 'function':\n return hashJSObj(v);\n case 'symbol':\n return hashSymbol(v);\n default:\n if (typeof v.toString === 'function') {\n return hashString(v.toString());\n }\n throw new Error('Value type ' + typeof v + ' cannot be hashed.');\n }\n}\n\nfunction hashNullish(nullish) {\n return nullish === null ? 0x42108422 : /* undefined */ 0x42108423;\n}\n\n// Compress arbitrarily large numbers into smi hashes.\nfunction hashNumber(n) {\n if (n !== n || n === Infinity) {\n return 0;\n }\n var hash = n | 0;\n if (hash !== n) {\n hash ^= n * 0xffffffff;\n }\n while (n > 0xffffffff) {\n n /= 0xffffffff;\n hash ^= n;\n }\n return smi(hash);\n}\n\nfunction cachedHashString(string) {\n var hashed = stringHashCache[string];\n if (hashed === undefined) {\n hashed = hashString(string);\n if (STRING_HASH_CACHE_SIZE === STRING_HASH_CACHE_MAX_SIZE) {\n STRING_HASH_CACHE_SIZE = 0;\n stringHashCache = {};\n }\n STRING_HASH_CACHE_SIZE++;\n stringHashCache[string] = hashed;\n }\n return hashed;\n}\n\n// http://jsperf.com/hashing-strings\nfunction hashString(string) {\n // This is the hash from JVM\n // The hash code for a string is computed as\n // s[0] * 31 ^ (n - 1) + s[1] * 31 ^ (n - 2) + ... + s[n - 1],\n // where s[i] is the ith character of the string and n is the length of\n // the string. We \"mod\" the result to make it between 0 (inclusive) and 2^31\n // (exclusive) by dropping high bits.\n var hashed = 0;\n for (var ii = 0; ii < string.length; ii++) {\n hashed = (31 * hashed + string.charCodeAt(ii)) | 0;\n }\n return smi(hashed);\n}\n\nfunction hashSymbol(sym) {\n var hashed = symbolMap[sym];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = nextHash();\n\n symbolMap[sym] = hashed;\n\n return hashed;\n}\n\nfunction hashJSObj(obj) {\n var hashed;\n if (usingWeakMap) {\n hashed = weakMap.get(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = obj[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n if (!canDefineProperty) {\n hashed = obj.propertyIsEnumerable && obj.propertyIsEnumerable[UID_HASH_KEY];\n if (hashed !== undefined) {\n return hashed;\n }\n\n hashed = getIENodeHash(obj);\n if (hashed !== undefined) {\n return hashed;\n }\n }\n\n hashed = nextHash();\n\n if (usingWeakMap) {\n weakMap.set(obj, hashed);\n } else if (isExtensible !== undefined && isExtensible(obj) === false) {\n throw new Error('Non-extensible objects are not allowed as keys.');\n } else if (canDefineProperty) {\n Object.defineProperty(obj, UID_HASH_KEY, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: hashed,\n });\n } else if (\n obj.propertyIsEnumerable !== undefined &&\n obj.propertyIsEnumerable === obj.constructor.prototype.propertyIsEnumerable\n ) {\n // Since we can't define a non-enumerable property on the object\n // we'll hijack one of the less-used non-enumerable properties to\n // save our hash on it. Since this is a function it will not show up in\n // `JSON.stringify` which is what we want.\n obj.propertyIsEnumerable = function () {\n return this.constructor.prototype.propertyIsEnumerable.apply(\n this,\n arguments\n );\n };\n obj.propertyIsEnumerable[UID_HASH_KEY] = hashed;\n } else if (obj.nodeType !== undefined) {\n // At this point we couldn't get the IE `uniqueID` to use as a hash\n // and we couldn't use a non-enumerable property to exploit the\n // dontEnum bug so we simply add the `UID_HASH_KEY` on the node\n // itself.\n obj[UID_HASH_KEY] = hashed;\n } else {\n throw new Error('Unable to set a non-enumerable property on object.');\n }\n\n return hashed;\n}\n\n// Get references to ES5 object methods.\nvar isExtensible = Object.isExtensible;\n\n// True if Object.defineProperty works as expected. IE8 fails this test.\nvar canDefineProperty = (function () {\n try {\n Object.defineProperty({}, '@', {});\n return true;\n } catch (e) {\n return false;\n }\n})();\n\n// IE has a `uniqueID` property on DOM nodes. We can construct the hash from it\n// and avoid memory leaks from the IE cloneNode bug.\nfunction getIENodeHash(node) {\n if (node && node.nodeType > 0) {\n switch (node.nodeType) {\n case 1: // Element\n return node.uniqueID;\n case 9: // Document\n return node.documentElement && node.documentElement.uniqueID;\n }\n }\n}\n\nfunction valueOf(obj) {\n return obj.valueOf !== defaultValueOf && typeof obj.valueOf === 'function'\n ? obj.valueOf(obj)\n : obj;\n}\n\nfunction nextHash() {\n var nextHash = ++_objHashUID;\n if (_objHashUID & 0x40000000) {\n _objHashUID = 0;\n }\n return nextHash;\n}\n\n// If possible, use a WeakMap.\nvar usingWeakMap = typeof WeakMap === 'function';\nvar weakMap;\nif (usingWeakMap) {\n weakMap = new WeakMap();\n}\n\nvar symbolMap = Object.create(null);\n\nvar _objHashUID = 0;\n\nvar UID_HASH_KEY = '__immutablehash__';\nif (typeof Symbol === 'function') {\n UID_HASH_KEY = Symbol(UID_HASH_KEY);\n}\n\nvar STRING_HASH_CACHE_MIN_STRLEN = 16;\nvar STRING_HASH_CACHE_MAX_SIZE = 255;\nvar STRING_HASH_CACHE_SIZE = 0;\nvar stringHashCache = {};\n\nvar ToKeyedSequence = /*@__PURE__*/(function (KeyedSeq) {\n function ToKeyedSequence(indexed, useKeys) {\n this._iter = indexed;\n this._useKeys = useKeys;\n this.size = indexed.size;\n }\n\n if ( KeyedSeq ) ToKeyedSequence.__proto__ = KeyedSeq;\n ToKeyedSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n ToKeyedSequence.prototype.constructor = ToKeyedSequence;\n\n ToKeyedSequence.prototype.get = function get (key, notSetValue) {\n return this._iter.get(key, notSetValue);\n };\n\n ToKeyedSequence.prototype.has = function has (key) {\n return this._iter.has(key);\n };\n\n ToKeyedSequence.prototype.valueSeq = function valueSeq () {\n return this._iter.valueSeq();\n };\n\n ToKeyedSequence.prototype.reverse = function reverse () {\n var this$1$1 = this;\n\n var reversedSequence = reverseFactory(this, true);\n if (!this._useKeys) {\n reversedSequence.valueSeq = function () { return this$1$1._iter.toSeq().reverse(); };\n }\n return reversedSequence;\n };\n\n ToKeyedSequence.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n var mappedSequence = mapFactory(this, mapper, context);\n if (!this._useKeys) {\n mappedSequence.valueSeq = function () { return this$1$1._iter.toSeq().map(mapper, context); };\n }\n return mappedSequence;\n };\n\n ToKeyedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v, k) { return fn(v, k, this$1$1); }, reverse);\n };\n\n ToKeyedSequence.prototype.__iterator = function __iterator (type, reverse) {\n return this._iter.__iterator(type, reverse);\n };\n\n return ToKeyedSequence;\n}(KeyedSeq));\nToKeyedSequence.prototype[IS_ORDERED_SYMBOL] = true;\n\nvar ToIndexedSequence = /*@__PURE__*/(function (IndexedSeq) {\n function ToIndexedSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( IndexedSeq ) ToIndexedSequence.__proto__ = IndexedSeq;\n ToIndexedSequence.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n ToIndexedSequence.prototype.constructor = ToIndexedSequence;\n\n ToIndexedSequence.prototype.includes = function includes (value) {\n return this._iter.includes(value);\n };\n\n ToIndexedSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(this);\n return this._iter.__iterate(\n function (v) { return fn(v, reverse ? this$1$1.size - ++i : i++, this$1$1); },\n reverse\n );\n };\n\n ToIndexedSequence.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n var i = 0;\n reverse && ensureSize(this);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(\n type,\n reverse ? this$1$1.size - ++i : i++,\n step.value,\n step\n );\n });\n };\n\n return ToIndexedSequence;\n}(IndexedSeq));\n\nvar ToSetSequence = /*@__PURE__*/(function (SetSeq) {\n function ToSetSequence(iter) {\n this._iter = iter;\n this.size = iter.size;\n }\n\n if ( SetSeq ) ToSetSequence.__proto__ = SetSeq;\n ToSetSequence.prototype = Object.create( SetSeq && SetSeq.prototype );\n ToSetSequence.prototype.constructor = ToSetSequence;\n\n ToSetSequence.prototype.has = function has (key) {\n return this._iter.includes(key);\n };\n\n ToSetSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (v) { return fn(v, v, this$1$1); }, reverse);\n };\n\n ToSetSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n return step.done\n ? step\n : iteratorValue(type, step.value, step.value, step);\n });\n };\n\n return ToSetSequence;\n}(SetSeq));\n\nvar FromEntriesSequence = /*@__PURE__*/(function (KeyedSeq) {\n function FromEntriesSequence(entries) {\n this._iter = entries;\n this.size = entries.size;\n }\n\n if ( KeyedSeq ) FromEntriesSequence.__proto__ = KeyedSeq;\n FromEntriesSequence.prototype = Object.create( KeyedSeq && KeyedSeq.prototype );\n FromEntriesSequence.prototype.constructor = FromEntriesSequence;\n\n FromEntriesSequence.prototype.entrySeq = function entrySeq () {\n return this._iter.toSeq();\n };\n\n FromEntriesSequence.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._iter.__iterate(function (entry) {\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return fn(\n indexedCollection ? entry.get(1) : entry[1],\n indexedCollection ? entry.get(0) : entry[0],\n this$1$1\n );\n }\n }, reverse);\n };\n\n FromEntriesSequence.prototype.__iterator = function __iterator (type, reverse) {\n var iterator = this._iter.__iterator(ITERATE_VALUES, reverse);\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n // Check if entry exists first so array access doesn't throw for holes\n // in the parent iteration.\n if (entry) {\n validateEntry(entry);\n var indexedCollection = isCollection(entry);\n return iteratorValue(\n type,\n indexedCollection ? entry.get(0) : entry[0],\n indexedCollection ? entry.get(1) : entry[1],\n step\n );\n }\n }\n });\n };\n\n return FromEntriesSequence;\n}(KeyedSeq));\n\nToIndexedSequence.prototype.cacheResult =\n ToKeyedSequence.prototype.cacheResult =\n ToSetSequence.prototype.cacheResult =\n FromEntriesSequence.prototype.cacheResult =\n cacheResultThrough;\n\nfunction flipFactory(collection) {\n var flipSequence = makeSequence(collection);\n flipSequence._iter = collection;\n flipSequence.size = collection.size;\n flipSequence.flip = function () { return collection; };\n flipSequence.reverse = function () {\n var reversedSequence = collection.reverse.apply(this); // super.reverse()\n reversedSequence.flip = function () { return collection.reverse(); };\n return reversedSequence;\n };\n flipSequence.has = function (key) { return collection.includes(key); };\n flipSequence.includes = function (key) { return collection.has(key); };\n flipSequence.cacheResult = cacheResultThrough;\n flipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(function (v, k) { return fn(k, v, this$1$1) !== false; }, reverse);\n };\n flipSequence.__iteratorUncached = function (type, reverse) {\n if (type === ITERATE_ENTRIES) {\n var iterator = collection.__iterator(type, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (!step.done) {\n var k = step.value[0];\n step.value[0] = step.value[1];\n step.value[1] = k;\n }\n return step;\n });\n }\n return collection.__iterator(\n type === ITERATE_VALUES ? ITERATE_KEYS : ITERATE_VALUES,\n reverse\n );\n };\n return flipSequence;\n}\n\nfunction mapFactory(collection, mapper, context) {\n var mappedSequence = makeSequence(collection);\n mappedSequence.size = collection.size;\n mappedSequence.has = function (key) { return collection.has(key); };\n mappedSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v === NOT_SET\n ? notSetValue\n : mapper.call(context, v, key, collection);\n };\n mappedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n return collection.__iterate(\n function (v, k, c) { return fn(mapper.call(context, v, k, c), k, this$1$1) !== false; },\n reverse\n );\n };\n mappedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n return iteratorValue(\n type,\n key,\n mapper.call(context, entry[1], key, collection),\n step\n );\n });\n };\n return mappedSequence;\n}\n\nfunction reverseFactory(collection, useKeys) {\n var this$1$1 = this;\n\n var reversedSequence = makeSequence(collection);\n reversedSequence._iter = collection;\n reversedSequence.size = collection.size;\n reversedSequence.reverse = function () { return collection; };\n if (collection.flip) {\n reversedSequence.flip = function () {\n var flipSequence = flipFactory(collection);\n flipSequence.reverse = function () { return collection.flip(); };\n return flipSequence;\n };\n }\n reversedSequence.get = function (key, notSetValue) { return collection.get(useKeys ? key : -1 - key, notSetValue); };\n reversedSequence.has = function (key) { return collection.has(useKeys ? key : -1 - key); };\n reversedSequence.includes = function (value) { return collection.includes(value); };\n reversedSequence.cacheResult = cacheResultThrough;\n reversedSequence.__iterate = function (fn, reverse) {\n var this$1$1 = this;\n\n var i = 0;\n reverse && ensureSize(collection);\n return collection.__iterate(\n function (v, k) { return fn(v, useKeys ? k : reverse ? this$1$1.size - ++i : i++, this$1$1); },\n !reverse\n );\n };\n reversedSequence.__iterator = function (type, reverse) {\n var i = 0;\n reverse && ensureSize(collection);\n var iterator = collection.__iterator(ITERATE_ENTRIES, !reverse);\n return new Iterator(function () {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n return iteratorValue(\n type,\n useKeys ? entry[0] : reverse ? this$1$1.size - ++i : i++,\n entry[1],\n step\n );\n });\n };\n return reversedSequence;\n}\n\nfunction filterFactory(collection, predicate, context, useKeys) {\n var filterSequence = makeSequence(collection);\n if (useKeys) {\n filterSequence.has = function (key) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && !!predicate.call(context, v, key, collection);\n };\n filterSequence.get = function (key, notSetValue) {\n var v = collection.get(key, NOT_SET);\n return v !== NOT_SET && predicate.call(context, v, key, collection)\n ? v\n : notSetValue;\n };\n }\n filterSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n }, reverse);\n return iterations;\n };\n filterSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterations = 0;\n return new Iterator(function () {\n while (true) {\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var key = entry[0];\n var value = entry[1];\n if (predicate.call(context, value, key, collection)) {\n return iteratorValue(type, useKeys ? key : iterations++, value, step);\n }\n }\n });\n };\n return filterSequence;\n}\n\nfunction countByFactory(collection, grouper, context) {\n var groups = Map().asMutable();\n collection.__iterate(function (v, k) {\n groups.update(grouper.call(context, v, k, collection), 0, function (a) { return a + 1; });\n });\n return groups.asImmutable();\n}\n\nfunction groupByFactory(collection, grouper, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = (isOrdered(collection) ? OrderedMap() : Map()).asMutable();\n collection.__iterate(function (v, k) {\n groups.update(\n grouper.call(context, v, k, collection),\n function (a) { return ((a = a || []), a.push(isKeyedIter ? [k, v] : v), a); }\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); }).asImmutable();\n}\n\nfunction partitionFactory(collection, predicate, context) {\n var isKeyedIter = isKeyed(collection);\n var groups = [[], []];\n collection.__iterate(function (v, k) {\n groups[predicate.call(context, v, k, collection) ? 1 : 0].push(\n isKeyedIter ? [k, v] : v\n );\n });\n var coerce = collectionClass(collection);\n return groups.map(function (arr) { return reify(collection, coerce(arr)); });\n}\n\nfunction sliceFactory(collection, begin, end, useKeys) {\n var originalSize = collection.size;\n\n if (wholeSlice(begin, end, originalSize)) {\n return collection;\n }\n\n var resolvedBegin = resolveBegin(begin, originalSize);\n var resolvedEnd = resolveEnd(end, originalSize);\n\n // begin or end will be NaN if they were provided as negative numbers and\n // this collection's size is unknown. In that case, cache first so there is\n // a known size and these do not resolve to NaN.\n if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) {\n return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys);\n }\n\n // Note: resolvedEnd is undefined when the original sequence's length is\n // unknown and this slice did not supply an end and should contain all\n // elements after resolvedBegin.\n // In that case, resolvedSize will be NaN and sliceSize will remain undefined.\n var resolvedSize = resolvedEnd - resolvedBegin;\n var sliceSize;\n if (resolvedSize === resolvedSize) {\n sliceSize = resolvedSize < 0 ? 0 : resolvedSize;\n }\n\n var sliceSeq = makeSequence(collection);\n\n // If collection.size is undefined, the size of the realized sliceSeq is\n // unknown at this point unless the number of items to slice is 0\n sliceSeq.size =\n sliceSize === 0 ? sliceSize : (collection.size && sliceSize) || undefined;\n\n if (!useKeys && isSeq(collection) && sliceSize >= 0) {\n sliceSeq.get = function (index, notSetValue) {\n index = wrapIndex(this, index);\n return index >= 0 && index < sliceSize\n ? collection.get(index + resolvedBegin, notSetValue)\n : notSetValue;\n };\n }\n\n sliceSeq.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (sliceSize === 0) {\n return 0;\n }\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var skipped = 0;\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k) {\n if (!(isSkipping && (isSkipping = skipped++ < resolvedBegin))) {\n iterations++;\n return (\n fn(v, useKeys ? k : iterations - 1, this$1$1) !== false &&\n iterations !== sliceSize\n );\n }\n });\n return iterations;\n };\n\n sliceSeq.__iteratorUncached = function (type, reverse) {\n if (sliceSize !== 0 && reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n // Don't bother instantiating parent iterator if taking 0.\n if (sliceSize === 0) {\n return new Iterator(iteratorDone);\n }\n var iterator = collection.__iterator(type, reverse);\n var skipped = 0;\n var iterations = 0;\n return new Iterator(function () {\n while (skipped++ < resolvedBegin) {\n iterator.next();\n }\n if (++iterations > sliceSize) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (useKeys || type === ITERATE_VALUES || step.done) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations - 1, undefined, step);\n }\n return iteratorValue(type, iterations - 1, step.value[1], step);\n });\n };\n\n return sliceSeq;\n}\n\nfunction takeWhileFactory(collection, predicate, context) {\n var takeSequence = makeSequence(collection);\n takeSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n collection.__iterate(\n function (v, k, c) { return predicate.call(context, v, k, c) && ++iterations && fn(v, k, this$1$1); }\n );\n return iterations;\n };\n takeSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var iterating = true;\n return new Iterator(function () {\n if (!iterating) {\n return iteratorDone();\n }\n var step = iterator.next();\n if (step.done) {\n return step;\n }\n var entry = step.value;\n var k = entry[0];\n var v = entry[1];\n if (!predicate.call(context, v, k, this$1$1)) {\n iterating = false;\n return iteratorDone();\n }\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return takeSequence;\n}\n\nfunction skipWhileFactory(collection, predicate, context, useKeys) {\n var skipSequence = makeSequence(collection);\n skipSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var isSkipping = true;\n var iterations = 0;\n collection.__iterate(function (v, k, c) {\n if (!(isSkipping && (isSkipping = predicate.call(context, v, k, c)))) {\n iterations++;\n return fn(v, useKeys ? k : iterations - 1, this$1$1);\n }\n });\n return iterations;\n };\n skipSequence.__iteratorUncached = function (type, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(ITERATE_ENTRIES, reverse);\n var skipping = true;\n var iterations = 0;\n return new Iterator(function () {\n var step;\n var k;\n var v;\n do {\n step = iterator.next();\n if (step.done) {\n if (useKeys || type === ITERATE_VALUES) {\n return step;\n }\n if (type === ITERATE_KEYS) {\n return iteratorValue(type, iterations++, undefined, step);\n }\n return iteratorValue(type, iterations++, step.value[1], step);\n }\n var entry = step.value;\n k = entry[0];\n v = entry[1];\n skipping && (skipping = predicate.call(context, v, k, this$1$1));\n } while (skipping);\n return type === ITERATE_ENTRIES ? step : iteratorValue(type, k, v, step);\n });\n };\n return skipSequence;\n}\n\nfunction concatFactory(collection, values) {\n var isKeyedCollection = isKeyed(collection);\n var iters = [collection]\n .concat(values)\n .map(function (v) {\n if (!isCollection(v)) {\n v = isKeyedCollection\n ? keyedSeqFromValue(v)\n : indexedSeqFromValue(Array.isArray(v) ? v : [v]);\n } else if (isKeyedCollection) {\n v = KeyedCollection(v);\n }\n return v;\n })\n .filter(function (v) { return v.size !== 0; });\n\n if (iters.length === 0) {\n return collection;\n }\n\n if (iters.length === 1) {\n var singleton = iters[0];\n if (\n singleton === collection ||\n (isKeyedCollection && isKeyed(singleton)) ||\n (isIndexed(collection) && isIndexed(singleton))\n ) {\n return singleton;\n }\n }\n\n var concatSeq = new ArraySeq(iters);\n if (isKeyedCollection) {\n concatSeq = concatSeq.toKeyedSeq();\n } else if (!isIndexed(collection)) {\n concatSeq = concatSeq.toSetSeq();\n }\n concatSeq = concatSeq.flatten(true);\n concatSeq.size = iters.reduce(function (sum, seq) {\n if (sum !== undefined) {\n var size = seq.size;\n if (size !== undefined) {\n return sum + size;\n }\n }\n }, 0);\n return concatSeq;\n}\n\nfunction flattenFactory(collection, depth, useKeys) {\n var flatSequence = makeSequence(collection);\n flatSequence.__iterateUncached = function (fn, reverse) {\n if (reverse) {\n return this.cacheResult().__iterate(fn, reverse);\n }\n var iterations = 0;\n var stopped = false;\n function flatDeep(iter, currentDepth) {\n iter.__iterate(function (v, k) {\n if ((!depth || currentDepth < depth) && isCollection(v)) {\n flatDeep(v, currentDepth + 1);\n } else {\n iterations++;\n if (fn(v, useKeys ? k : iterations - 1, flatSequence) === false) {\n stopped = true;\n }\n }\n return !stopped;\n }, reverse);\n }\n flatDeep(collection, 0);\n return iterations;\n };\n flatSequence.__iteratorUncached = function (type, reverse) {\n if (reverse) {\n return this.cacheResult().__iterator(type, reverse);\n }\n var iterator = collection.__iterator(type, reverse);\n var stack = [];\n var iterations = 0;\n return new Iterator(function () {\n while (iterator) {\n var step = iterator.next();\n if (step.done !== false) {\n iterator = stack.pop();\n continue;\n }\n var v = step.value;\n if (type === ITERATE_ENTRIES) {\n v = v[1];\n }\n if ((!depth || stack.length < depth) && isCollection(v)) {\n stack.push(iterator);\n iterator = v.__iterator(type, reverse);\n } else {\n return useKeys ? step : iteratorValue(type, iterations++, v, step);\n }\n }\n return iteratorDone();\n });\n };\n return flatSequence;\n}\n\nfunction flatMapFactory(collection, mapper, context) {\n var coerce = collectionClass(collection);\n return collection\n .toSeq()\n .map(function (v, k) { return coerce(mapper.call(context, v, k, collection)); })\n .flatten(true);\n}\n\nfunction interposeFactory(collection, separator) {\n var interposedSequence = makeSequence(collection);\n interposedSequence.size = collection.size && collection.size * 2 - 1;\n interposedSequence.__iterateUncached = function (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n collection.__iterate(\n function (v) { return (!iterations || fn(separator, iterations++, this$1$1) !== false) &&\n fn(v, iterations++, this$1$1) !== false; },\n reverse\n );\n return iterations;\n };\n interposedSequence.__iteratorUncached = function (type, reverse) {\n var iterator = collection.__iterator(ITERATE_VALUES, reverse);\n var iterations = 0;\n var step;\n return new Iterator(function () {\n if (!step || iterations % 2) {\n step = iterator.next();\n if (step.done) {\n return step;\n }\n }\n return iterations % 2\n ? iteratorValue(type, iterations++, separator)\n : iteratorValue(type, iterations++, step.value, step);\n });\n };\n return interposedSequence;\n}\n\nfunction sortFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n var isKeyedCollection = isKeyed(collection);\n var index = 0;\n var entries = collection\n .toSeq()\n .map(function (v, k) { return [k, v, index++, mapper ? mapper(v, k, collection) : v]; })\n .valueSeq()\n .toArray();\n entries\n .sort(function (a, b) { return comparator(a[3], b[3]) || a[2] - b[2]; })\n .forEach(\n isKeyedCollection\n ? function (v, i) {\n entries[i].length = 2;\n }\n : function (v, i) {\n entries[i] = v[1];\n }\n );\n return isKeyedCollection\n ? KeyedSeq(entries)\n : isIndexed(collection)\n ? IndexedSeq(entries)\n : SetSeq(entries);\n}\n\nfunction maxFactory(collection, comparator, mapper) {\n if (!comparator) {\n comparator = defaultComparator;\n }\n if (mapper) {\n var entry = collection\n .toSeq()\n .map(function (v, k) { return [v, mapper(v, k, collection)]; })\n .reduce(function (a, b) { return (maxCompare(comparator, a[1], b[1]) ? b : a); });\n return entry && entry[0];\n }\n return collection.reduce(function (a, b) { return (maxCompare(comparator, a, b) ? b : a); });\n}\n\nfunction maxCompare(comparator, a, b) {\n var comp = comparator(b, a);\n // b is considered the new max if the comparator declares them equal, but\n // they are not equal and b is in fact a nullish value.\n return (\n (comp === 0 && b !== a && (b === undefined || b === null || b !== b)) ||\n comp > 0\n );\n}\n\nfunction zipWithFactory(keyIter, zipper, iters, zipAll) {\n var zipSequence = makeSequence(keyIter);\n var sizes = new ArraySeq(iters).map(function (i) { return i.size; });\n zipSequence.size = zipAll ? sizes.max() : sizes.min();\n // Note: this a generic base implementation of __iterate in terms of\n // __iterator which may be more generically useful in the future.\n zipSequence.__iterate = function (fn, reverse) {\n /* generic:\n var iterator = this.__iterator(ITERATE_ENTRIES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n iterations++;\n if (fn(step.value[1], step.value[0], this) === false) {\n break;\n }\n }\n return iterations;\n */\n // indexed:\n var iterator = this.__iterator(ITERATE_VALUES, reverse);\n var step;\n var iterations = 0;\n while (!(step = iterator.next()).done) {\n if (fn(step.value, iterations++, this) === false) {\n break;\n }\n }\n return iterations;\n };\n zipSequence.__iteratorUncached = function (type, reverse) {\n var iterators = iters.map(\n function (i) { return ((i = Collection(i)), getIterator(reverse ? i.reverse() : i)); }\n );\n var iterations = 0;\n var isDone = false;\n return new Iterator(function () {\n var steps;\n if (!isDone) {\n steps = iterators.map(function (i) { return i.next(); });\n isDone = zipAll ? steps.every(function (s) { return s.done; }) : steps.some(function (s) { return s.done; });\n }\n if (isDone) {\n return iteratorDone();\n }\n return iteratorValue(\n type,\n iterations++,\n zipper.apply(\n null,\n steps.map(function (s) { return s.value; })\n )\n );\n });\n };\n return zipSequence;\n}\n\n// #pragma Helper Functions\n\nfunction reify(iter, seq) {\n return iter === seq ? iter : isSeq(iter) ? seq : iter.constructor(seq);\n}\n\nfunction validateEntry(entry) {\n if (entry !== Object(entry)) {\n throw new TypeError('Expected [K, V] tuple: ' + entry);\n }\n}\n\nfunction collectionClass(collection) {\n return isKeyed(collection)\n ? KeyedCollection\n : isIndexed(collection)\n ? IndexedCollection\n : SetCollection;\n}\n\nfunction makeSequence(collection) {\n return Object.create(\n (isKeyed(collection)\n ? KeyedSeq\n : isIndexed(collection)\n ? IndexedSeq\n : SetSeq\n ).prototype\n );\n}\n\nfunction cacheResultThrough() {\n if (this._iter.cacheResult) {\n this._iter.cacheResult();\n this.size = this._iter.size;\n return this;\n }\n return Seq.prototype.cacheResult.call(this);\n}\n\nfunction defaultComparator(a, b) {\n if (a === undefined && b === undefined) {\n return 0;\n }\n\n if (a === undefined) {\n return 1;\n }\n\n if (b === undefined) {\n return -1;\n }\n\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\nfunction arrCopy(arr, offset) {\n offset = offset || 0;\n var len = Math.max(0, arr.length - offset);\n var newArr = new Array(len);\n for (var ii = 0; ii < len; ii++) {\n newArr[ii] = arr[ii + offset];\n }\n return newArr;\n}\n\nfunction invariant(condition, error) {\n if (!condition) { throw new Error(error); }\n}\n\nfunction assertNotInfinite(size) {\n invariant(\n size !== Infinity,\n 'Cannot perform this action with an infinite size.'\n );\n}\n\nfunction coerceKeyPath(keyPath) {\n if (isArrayLike(keyPath) && typeof keyPath !== 'string') {\n return keyPath;\n }\n if (isOrdered(keyPath)) {\n return keyPath.toArray();\n }\n throw new TypeError(\n 'Invalid keyPath: expected Ordered Collection or Array: ' + keyPath\n );\n}\n\nvar toString = Object.prototype.toString;\n\nfunction isPlainObject(value) {\n // The base prototype's toString deals with Argument objects and native namespaces like Math\n if (\n !value ||\n typeof value !== 'object' ||\n toString.call(value) !== '[object Object]'\n ) {\n return false;\n }\n\n var proto = Object.getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n\n // Iteratively going up the prototype chain is needed for cross-realm environments (differing contexts, iframes, etc)\n var parentProto = proto;\n var nextProto = Object.getPrototypeOf(proto);\n while (nextProto !== null) {\n parentProto = nextProto;\n nextProto = Object.getPrototypeOf(parentProto);\n }\n return parentProto === proto;\n}\n\n/**\n * Returns true if the value is a potentially-persistent data structure, either\n * provided by Immutable.js or a plain Array or Object.\n */\nfunction isDataStructure(value) {\n return (\n typeof value === 'object' &&\n (isImmutable(value) || Array.isArray(value) || isPlainObject(value))\n );\n}\n\nfunction quoteString(value) {\n try {\n return typeof value === 'string' ? JSON.stringify(value) : String(value);\n } catch (_ignoreError) {\n return JSON.stringify(value);\n }\n}\n\nfunction has(collection, key) {\n return isImmutable(collection)\n ? collection.has(key)\n : isDataStructure(collection) && hasOwnProperty.call(collection, key);\n}\n\nfunction get(collection, key, notSetValue) {\n return isImmutable(collection)\n ? collection.get(key, notSetValue)\n : !has(collection, key)\n ? notSetValue\n : typeof collection.get === 'function'\n ? collection.get(key)\n : collection[key];\n}\n\nfunction shallowCopy(from) {\n if (Array.isArray(from)) {\n return arrCopy(from);\n }\n var to = {};\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n return to;\n}\n\nfunction remove(collection, key) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.remove) {\n throw new TypeError(\n 'Cannot update immutable value without .remove() method: ' + collection\n );\n }\n return collection.remove(key);\n }\n if (!hasOwnProperty.call(collection, key)) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n if (Array.isArray(collectionCopy)) {\n collectionCopy.splice(key, 1);\n } else {\n delete collectionCopy[key];\n }\n return collectionCopy;\n}\n\nfunction set(collection, key, value) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot update non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n if (!collection.set) {\n throw new TypeError(\n 'Cannot update immutable value without .set() method: ' + collection\n );\n }\n return collection.set(key, value);\n }\n if (hasOwnProperty.call(collection, key) && value === collection[key]) {\n return collection;\n }\n var collectionCopy = shallowCopy(collection);\n collectionCopy[key] = value;\n return collectionCopy;\n}\n\nfunction updateIn$1(collection, keyPath, notSetValue, updater) {\n if (!updater) {\n updater = notSetValue;\n notSetValue = undefined;\n }\n var updatedValue = updateInDeeply(\n isImmutable(collection),\n collection,\n coerceKeyPath(keyPath),\n 0,\n notSetValue,\n updater\n );\n return updatedValue === NOT_SET ? notSetValue : updatedValue;\n}\n\nfunction updateInDeeply(\n inImmutable,\n existing,\n keyPath,\n i,\n notSetValue,\n updater\n) {\n var wasNotSet = existing === NOT_SET;\n if (i === keyPath.length) {\n var existingValue = wasNotSet ? notSetValue : existing;\n var newValue = updater(existingValue);\n return newValue === existingValue ? existing : newValue;\n }\n if (!wasNotSet && !isDataStructure(existing)) {\n throw new TypeError(\n 'Cannot update within non-data-structure value in path [' +\n keyPath.slice(0, i).map(quoteString) +\n ']: ' +\n existing\n );\n }\n var key = keyPath[i];\n var nextExisting = wasNotSet ? NOT_SET : get(existing, key, NOT_SET);\n var nextUpdated = updateInDeeply(\n nextExisting === NOT_SET ? inImmutable : isImmutable(nextExisting),\n nextExisting,\n keyPath,\n i + 1,\n notSetValue,\n updater\n );\n return nextUpdated === nextExisting\n ? existing\n : nextUpdated === NOT_SET\n ? remove(existing, key)\n : set(\n wasNotSet ? (inImmutable ? emptyMap() : {}) : existing,\n key,\n nextUpdated\n );\n}\n\nfunction setIn$1(collection, keyPath, value) {\n return updateIn$1(collection, keyPath, NOT_SET, function () { return value; });\n}\n\nfunction setIn(keyPath, v) {\n return setIn$1(this, keyPath, v);\n}\n\nfunction removeIn(collection, keyPath) {\n return updateIn$1(collection, keyPath, function () { return NOT_SET; });\n}\n\nfunction deleteIn(keyPath) {\n return removeIn(this, keyPath);\n}\n\nfunction update$1(collection, key, notSetValue, updater) {\n return updateIn$1(collection, [key], notSetValue, updater);\n}\n\nfunction update(key, notSetValue, updater) {\n return arguments.length === 1\n ? key(this)\n : update$1(this, key, notSetValue, updater);\n}\n\nfunction updateIn(keyPath, notSetValue, updater) {\n return updateIn$1(this, keyPath, notSetValue, updater);\n}\n\nfunction merge$1() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeIntoKeyedWith(this, iters);\n}\n\nfunction mergeWith$1(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n if (typeof merger !== 'function') {\n throw new TypeError('Invalid merger function: ' + merger);\n }\n return mergeIntoKeyedWith(this, iters, merger);\n}\n\nfunction mergeIntoKeyedWith(collection, collections, merger) {\n var iters = [];\n for (var ii = 0; ii < collections.length; ii++) {\n var collection$1 = KeyedCollection(collections[ii]);\n if (collection$1.size !== 0) {\n iters.push(collection$1);\n }\n }\n if (iters.length === 0) {\n return collection;\n }\n if (\n collection.toSeq().size === 0 &&\n !collection.__ownerID &&\n iters.length === 1\n ) {\n return collection.constructor(iters[0]);\n }\n return collection.withMutations(function (collection) {\n var mergeIntoCollection = merger\n ? function (value, key) {\n update$1(collection, key, NOT_SET, function (oldVal) { return oldVal === NOT_SET ? value : merger(oldVal, value, key); }\n );\n }\n : function (value, key) {\n collection.set(key, value);\n };\n for (var ii = 0; ii < iters.length; ii++) {\n iters[ii].forEach(mergeIntoCollection);\n }\n });\n}\n\nfunction merge(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeWithSources(collection, sources);\n}\n\nfunction mergeWith(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeWithSources(collection, sources, merger);\n}\n\nfunction mergeDeep$1(collection) {\n var sources = [], len = arguments.length - 1;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(collection, sources);\n}\n\nfunction mergeDeepWith$1(merger, collection) {\n var sources = [], len = arguments.length - 2;\n while ( len-- > 0 ) sources[ len ] = arguments[ len + 2 ];\n\n return mergeDeepWithSources(collection, sources, merger);\n}\n\nfunction mergeDeepWithSources(collection, sources, merger) {\n return mergeWithSources(collection, sources, deepMergerWith(merger));\n}\n\nfunction mergeWithSources(collection, sources, merger) {\n if (!isDataStructure(collection)) {\n throw new TypeError(\n 'Cannot merge into non-data-structure value: ' + collection\n );\n }\n if (isImmutable(collection)) {\n return typeof merger === 'function' && collection.mergeWith\n ? collection.mergeWith.apply(collection, [ merger ].concat( sources ))\n : collection.merge\n ? collection.merge.apply(collection, sources)\n : collection.concat.apply(collection, sources);\n }\n var isArray = Array.isArray(collection);\n var merged = collection;\n var Collection = isArray ? IndexedCollection : KeyedCollection;\n var mergeItem = isArray\n ? function (value) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged.push(value);\n }\n : function (value, key) {\n var hasVal = hasOwnProperty.call(merged, key);\n var nextVal =\n hasVal && merger ? merger(merged[key], value, key) : value;\n if (!hasVal || nextVal !== merged[key]) {\n // Copy on write\n if (merged === collection) {\n merged = shallowCopy(merged);\n }\n merged[key] = nextVal;\n }\n };\n for (var i = 0; i < sources.length; i++) {\n Collection(sources[i]).forEach(mergeItem);\n }\n return merged;\n}\n\nfunction deepMergerWith(merger) {\n function deepMerger(oldValue, newValue, key) {\n return isDataStructure(oldValue) &&\n isDataStructure(newValue) &&\n areMergeable(oldValue, newValue)\n ? mergeWithSources(oldValue, [newValue], deepMerger)\n : merger\n ? merger(oldValue, newValue, key)\n : newValue;\n }\n return deepMerger;\n}\n\n/**\n * It's unclear what the desired behavior is for merging two collections that\n * fall into separate categories between keyed, indexed, or set-like, so we only\n * consider them mergeable if they fall into the same category.\n */\nfunction areMergeable(oldDataStructure, newDataStructure) {\n var oldSeq = Seq(oldDataStructure);\n var newSeq = Seq(newDataStructure);\n // This logic assumes that a sequence can only fall into one of the three\n // categories mentioned above (since there's no `isSetLike()` method).\n return (\n isIndexed(oldSeq) === isIndexed(newSeq) &&\n isKeyed(oldSeq) === isKeyed(newSeq)\n );\n}\n\nfunction mergeDeep() {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n return mergeDeepWithSources(this, iters);\n}\n\nfunction mergeDeepWith(merger) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return mergeDeepWithSources(this, iters, merger);\n}\n\nfunction mergeIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeWithSources(m, iters); });\n}\n\nfunction mergeDeepIn(keyPath) {\n var iters = [], len = arguments.length - 1;\n while ( len-- > 0 ) iters[ len ] = arguments[ len + 1 ];\n\n return updateIn$1(this, keyPath, emptyMap(), function (m) { return mergeDeepWithSources(m, iters); }\n );\n}\n\nfunction withMutations(fn) {\n var mutable = this.asMutable();\n fn(mutable);\n return mutable.wasAltered() ? mutable.__ensureOwner(this.__ownerID) : this;\n}\n\nfunction asMutable() {\n return this.__ownerID ? this : this.__ensureOwner(new OwnerID());\n}\n\nfunction asImmutable() {\n return this.__ensureOwner();\n}\n\nfunction wasAltered() {\n return this.__altered;\n}\n\nvar Map = /*@__PURE__*/(function (KeyedCollection) {\n function Map(value) {\n return value === undefined || value === null\n ? emptyMap()\n : isMap(value) && !isOrdered(value)\n ? value\n : emptyMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( KeyedCollection ) Map.__proto__ = KeyedCollection;\n Map.prototype = Object.create( KeyedCollection && KeyedCollection.prototype );\n Map.prototype.constructor = Map;\n\n Map.of = function of () {\n var keyValues = [], len = arguments.length;\n while ( len-- ) keyValues[ len ] = arguments[ len ];\n\n return emptyMap().withMutations(function (map) {\n for (var i = 0; i < keyValues.length; i += 2) {\n if (i + 1 >= keyValues.length) {\n throw new Error('Missing value for key: ' + keyValues[i]);\n }\n map.set(keyValues[i], keyValues[i + 1]);\n }\n });\n };\n\n Map.prototype.toString = function toString () {\n return this.__toString('Map {', '}');\n };\n\n // @pragma Access\n\n Map.prototype.get = function get (k, notSetValue) {\n return this._root\n ? this._root.get(0, undefined, k, notSetValue)\n : notSetValue;\n };\n\n // @pragma Modification\n\n Map.prototype.set = function set (k, v) {\n return updateMap(this, k, v);\n };\n\n Map.prototype.remove = function remove (k) {\n return updateMap(this, k, NOT_SET);\n };\n\n Map.prototype.deleteAll = function deleteAll (keys) {\n var collection = Collection(keys);\n\n if (collection.size === 0) {\n return this;\n }\n\n return this.withMutations(function (map) {\n collection.forEach(function (key) { return map.remove(key); });\n });\n };\n\n Map.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._root = null;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyMap();\n };\n\n // @pragma Composition\n\n Map.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator));\n };\n\n Map.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedMap(sortFactory(this, comparator, mapper));\n };\n\n Map.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (map) {\n map.forEach(function (value, key) {\n map.set(key, mapper.call(context, value, key, this$1$1));\n });\n });\n };\n\n // @pragma Mutability\n\n Map.prototype.__iterator = function __iterator (type, reverse) {\n return new MapIterator(this, type, reverse);\n };\n\n Map.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n var iterations = 0;\n this._root &&\n this._root.iterate(function (entry) {\n iterations++;\n return fn(entry[1], entry[0], this$1$1);\n }, reverse);\n return iterations;\n };\n\n Map.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeMap(this.size, this._root, ownerID, this.__hash);\n };\n\n return Map;\n}(KeyedCollection));\n\nMap.isMap = isMap;\n\nvar MapPrototype = Map.prototype;\nMapPrototype[IS_MAP_SYMBOL] = true;\nMapPrototype[DELETE] = MapPrototype.remove;\nMapPrototype.removeAll = MapPrototype.deleteAll;\nMapPrototype.setIn = setIn;\nMapPrototype.removeIn = MapPrototype.deleteIn = deleteIn;\nMapPrototype.update = update;\nMapPrototype.updateIn = updateIn;\nMapPrototype.merge = MapPrototype.concat = merge$1;\nMapPrototype.mergeWith = mergeWith$1;\nMapPrototype.mergeDeep = mergeDeep;\nMapPrototype.mergeDeepWith = mergeDeepWith;\nMapPrototype.mergeIn = mergeIn;\nMapPrototype.mergeDeepIn = mergeDeepIn;\nMapPrototype.withMutations = withMutations;\nMapPrototype.wasAltered = wasAltered;\nMapPrototype.asImmutable = asImmutable;\nMapPrototype['@@transducer/init'] = MapPrototype.asMutable = asMutable;\nMapPrototype['@@transducer/step'] = function (result, arr) {\n return result.set(arr[0], arr[1]);\n};\nMapPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\n// #pragma Trie Nodes\n\nvar ArrayMapNode = function ArrayMapNode(ownerID, entries) {\n this.ownerID = ownerID;\n this.entries = entries;\n};\n\nArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && entries.length === 1) {\n return; // undefined\n }\n\n if (!exists && !removed && entries.length >= MAX_ARRAY_MAP_SIZE) {\n return createNodes(ownerID, entries, key, value);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new ArrayMapNode(ownerID, newEntries);\n};\n\nvar BitmapIndexedNode = function BitmapIndexedNode(ownerID, bitmap, nodes) {\n this.ownerID = ownerID;\n this.bitmap = bitmap;\n this.nodes = nodes;\n};\n\nBitmapIndexedNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var bit = 1 << ((shift === 0 ? keyHash : keyHash >>> shift) & MASK);\n var bitmap = this.bitmap;\n return (bitmap & bit) === 0\n ? notSetValue\n : this.nodes[popCount(bitmap & (bit - 1))].get(\n shift + SHIFT,\n keyHash,\n key,\n notSetValue\n );\n};\n\nBitmapIndexedNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var keyHashFrag = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var bit = 1 << keyHashFrag;\n var bitmap = this.bitmap;\n var exists = (bitmap & bit) !== 0;\n\n if (!exists && value === NOT_SET) {\n return this;\n }\n\n var idx = popCount(bitmap & (bit - 1));\n var nodes = this.nodes;\n var node = exists ? nodes[idx] : undefined;\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n\n if (newNode === node) {\n return this;\n }\n\n if (!exists && newNode && nodes.length >= MAX_BITMAP_INDEXED_SIZE) {\n return expandNodes(ownerID, nodes, bitmap, keyHashFrag, newNode);\n }\n\n if (\n exists &&\n !newNode &&\n nodes.length === 2 &&\n isLeafNode(nodes[idx ^ 1])\n ) {\n return nodes[idx ^ 1];\n }\n\n if (exists && newNode && nodes.length === 1 && isLeafNode(newNode)) {\n return newNode;\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newBitmap = exists ? (newNode ? bitmap : bitmap ^ bit) : bitmap | bit;\n var newNodes = exists\n ? newNode\n ? setAt(nodes, idx, newNode, isEditable)\n : spliceOut(nodes, idx, isEditable)\n : spliceIn(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.bitmap = newBitmap;\n this.nodes = newNodes;\n return this;\n }\n\n return new BitmapIndexedNode(ownerID, newBitmap, newNodes);\n};\n\nvar HashArrayMapNode = function HashArrayMapNode(ownerID, count, nodes) {\n this.ownerID = ownerID;\n this.count = count;\n this.nodes = nodes;\n};\n\nHashArrayMapNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var node = this.nodes[idx];\n return node\n ? node.get(shift + SHIFT, keyHash, key, notSetValue)\n : notSetValue;\n};\n\nHashArrayMapNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n var idx = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n var removed = value === NOT_SET;\n var nodes = this.nodes;\n var node = nodes[idx];\n\n if (removed && !node) {\n return this;\n }\n\n var newNode = updateNode(\n node,\n ownerID,\n shift + SHIFT,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n if (newNode === node) {\n return this;\n }\n\n var newCount = this.count;\n if (!node) {\n newCount++;\n } else if (!newNode) {\n newCount--;\n if (newCount < MIN_HASH_ARRAY_MAP_SIZE) {\n return packNodes(ownerID, nodes, newCount, idx);\n }\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newNodes = setAt(nodes, idx, newNode, isEditable);\n\n if (isEditable) {\n this.count = newCount;\n this.nodes = newNodes;\n return this;\n }\n\n return new HashArrayMapNode(ownerID, newCount, newNodes);\n};\n\nvar HashCollisionNode = function HashCollisionNode(ownerID, keyHash, entries) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entries = entries;\n};\n\nHashCollisionNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n var entries = this.entries;\n for (var ii = 0, len = entries.length; ii < len; ii++) {\n if (is(key, entries[ii][0])) {\n return entries[ii][1];\n }\n }\n return notSetValue;\n};\n\nHashCollisionNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n if (keyHash === undefined) {\n keyHash = hash(key);\n }\n\n var removed = value === NOT_SET;\n\n if (keyHash !== this.keyHash) {\n if (removed) {\n return this;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, keyHash, [key, value]);\n }\n\n var entries = this.entries;\n var idx = 0;\n var len = entries.length;\n for (; idx < len; idx++) {\n if (is(key, entries[idx][0])) {\n break;\n }\n }\n var exists = idx < len;\n\n if (exists ? entries[idx][1] === value : removed) {\n return this;\n }\n\n SetRef(didAlter);\n (removed || !exists) && SetRef(didChangeSize);\n\n if (removed && len === 2) {\n return new ValueNode(ownerID, this.keyHash, entries[idx ^ 1]);\n }\n\n var isEditable = ownerID && ownerID === this.ownerID;\n var newEntries = isEditable ? entries : arrCopy(entries);\n\n if (exists) {\n if (removed) {\n idx === len - 1\n ? newEntries.pop()\n : (newEntries[idx] = newEntries.pop());\n } else {\n newEntries[idx] = [key, value];\n }\n } else {\n newEntries.push([key, value]);\n }\n\n if (isEditable) {\n this.entries = newEntries;\n return this;\n }\n\n return new HashCollisionNode(ownerID, this.keyHash, newEntries);\n};\n\nvar ValueNode = function ValueNode(ownerID, keyHash, entry) {\n this.ownerID = ownerID;\n this.keyHash = keyHash;\n this.entry = entry;\n};\n\nValueNode.prototype.get = function get (shift, keyHash, key, notSetValue) {\n return is(key, this.entry[0]) ? this.entry[1] : notSetValue;\n};\n\nValueNode.prototype.update = function update (ownerID, shift, keyHash, key, value, didChangeSize, didAlter) {\n var removed = value === NOT_SET;\n var keyMatch = is(key, this.entry[0]);\n if (keyMatch ? value === this.entry[1] : removed) {\n return this;\n }\n\n SetRef(didAlter);\n\n if (removed) {\n SetRef(didChangeSize);\n return; // undefined\n }\n\n if (keyMatch) {\n if (ownerID && ownerID === this.ownerID) {\n this.entry[1] = value;\n return this;\n }\n return new ValueNode(ownerID, this.keyHash, [key, value]);\n }\n\n SetRef(didChangeSize);\n return mergeIntoNode(this, ownerID, shift, hash(key), [key, value]);\n};\n\n// #pragma Iterators\n\nArrayMapNode.prototype.iterate = HashCollisionNode.prototype.iterate =\n function (fn, reverse) {\n var entries = this.entries;\n for (var ii = 0, maxIndex = entries.length - 1; ii <= maxIndex; ii++) {\n if (fn(entries[reverse ? maxIndex - ii : ii]) === false) {\n return false;\n }\n }\n };\n\nBitmapIndexedNode.prototype.iterate = HashArrayMapNode.prototype.iterate =\n function (fn, reverse) {\n var nodes = this.nodes;\n for (var ii = 0, maxIndex = nodes.length - 1; ii <= maxIndex; ii++) {\n var node = nodes[reverse ? maxIndex - ii : ii];\n if (node && node.iterate(fn, reverse) === false) {\n return false;\n }\n }\n };\n\n// eslint-disable-next-line no-unused-vars\nValueNode.prototype.iterate = function (fn, reverse) {\n return fn(this.entry);\n};\n\nvar MapIterator = /*@__PURE__*/(function (Iterator) {\n function MapIterator(map, type, reverse) {\n this._type = type;\n this._reverse = reverse;\n this._stack = map._root && mapIteratorFrame(map._root);\n }\n\n if ( Iterator ) MapIterator.__proto__ = Iterator;\n MapIterator.prototype = Object.create( Iterator && Iterator.prototype );\n MapIterator.prototype.constructor = MapIterator;\n\n MapIterator.prototype.next = function next () {\n var type = this._type;\n var stack = this._stack;\n while (stack) {\n var node = stack.node;\n var index = stack.index++;\n var maxIndex = (void 0);\n if (node.entry) {\n if (index === 0) {\n return mapIteratorValue(type, node.entry);\n }\n } else if (node.entries) {\n maxIndex = node.entries.length - 1;\n if (index <= maxIndex) {\n return mapIteratorValue(\n type,\n node.entries[this._reverse ? maxIndex - index : index]\n );\n }\n } else {\n maxIndex = node.nodes.length - 1;\n if (index <= maxIndex) {\n var subNode = node.nodes[this._reverse ? maxIndex - index : index];\n if (subNode) {\n if (subNode.entry) {\n return mapIteratorValue(type, subNode.entry);\n }\n stack = this._stack = mapIteratorFrame(subNode, stack);\n }\n continue;\n }\n }\n stack = this._stack = this._stack.__prev;\n }\n return iteratorDone();\n };\n\n return MapIterator;\n}(Iterator));\n\nfunction mapIteratorValue(type, entry) {\n return iteratorValue(type, entry[0], entry[1]);\n}\n\nfunction mapIteratorFrame(node, prev) {\n return {\n node: node,\n index: 0,\n __prev: prev,\n };\n}\n\nfunction makeMap(size, root, ownerID, hash) {\n var map = Object.create(MapPrototype);\n map.size = size;\n map._root = root;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_MAP;\nfunction emptyMap() {\n return EMPTY_MAP || (EMPTY_MAP = makeMap(0));\n}\n\nfunction updateMap(map, k, v) {\n var newRoot;\n var newSize;\n if (!map._root) {\n if (v === NOT_SET) {\n return map;\n }\n newSize = 1;\n newRoot = new ArrayMapNode(map.__ownerID, [[k, v]]);\n } else {\n var didChangeSize = MakeRef();\n var didAlter = MakeRef();\n newRoot = updateNode(\n map._root,\n map.__ownerID,\n 0,\n undefined,\n k,\n v,\n didChangeSize,\n didAlter\n );\n if (!didAlter.value) {\n return map;\n }\n newSize = map.size + (didChangeSize.value ? (v === NOT_SET ? -1 : 1) : 0);\n }\n if (map.__ownerID) {\n map.size = newSize;\n map._root = newRoot;\n map.__hash = undefined;\n map.__altered = true;\n return map;\n }\n return newRoot ? makeMap(newSize, newRoot) : emptyMap();\n}\n\nfunction updateNode(\n node,\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n) {\n if (!node) {\n if (value === NOT_SET) {\n return node;\n }\n SetRef(didAlter);\n SetRef(didChangeSize);\n return new ValueNode(ownerID, keyHash, [key, value]);\n }\n return node.update(\n ownerID,\n shift,\n keyHash,\n key,\n value,\n didChangeSize,\n didAlter\n );\n}\n\nfunction isLeafNode(node) {\n return (\n node.constructor === ValueNode || node.constructor === HashCollisionNode\n );\n}\n\nfunction mergeIntoNode(node, ownerID, shift, keyHash, entry) {\n if (node.keyHash === keyHash) {\n return new HashCollisionNode(ownerID, keyHash, [node.entry, entry]);\n }\n\n var idx1 = (shift === 0 ? node.keyHash : node.keyHash >>> shift) & MASK;\n var idx2 = (shift === 0 ? keyHash : keyHash >>> shift) & MASK;\n\n var newNode;\n var nodes =\n idx1 === idx2\n ? [mergeIntoNode(node, ownerID, shift + SHIFT, keyHash, entry)]\n : ((newNode = new ValueNode(ownerID, keyHash, entry)),\n idx1 < idx2 ? [node, newNode] : [newNode, node]);\n\n return new BitmapIndexedNode(ownerID, (1 << idx1) | (1 << idx2), nodes);\n}\n\nfunction createNodes(ownerID, entries, key, value) {\n if (!ownerID) {\n ownerID = new OwnerID();\n }\n var node = new ValueNode(ownerID, hash(key), [key, value]);\n for (var ii = 0; ii < entries.length; ii++) {\n var entry = entries[ii];\n node = node.update(ownerID, 0, undefined, entry[0], entry[1]);\n }\n return node;\n}\n\nfunction packNodes(ownerID, nodes, count, excluding) {\n var bitmap = 0;\n var packedII = 0;\n var packedNodes = new Array(count);\n for (var ii = 0, bit = 1, len = nodes.length; ii < len; ii++, bit <<= 1) {\n var node = nodes[ii];\n if (node !== undefined && ii !== excluding) {\n bitmap |= bit;\n packedNodes[packedII++] = node;\n }\n }\n return new BitmapIndexedNode(ownerID, bitmap, packedNodes);\n}\n\nfunction expandNodes(ownerID, nodes, bitmap, including, node) {\n var count = 0;\n var expandedNodes = new Array(SIZE);\n for (var ii = 0; bitmap !== 0; ii++, bitmap >>>= 1) {\n expandedNodes[ii] = bitmap & 1 ? nodes[count++] : undefined;\n }\n expandedNodes[including] = node;\n return new HashArrayMapNode(ownerID, count + 1, expandedNodes);\n}\n\nfunction popCount(x) {\n x -= (x >> 1) & 0x55555555;\n x = (x & 0x33333333) + ((x >> 2) & 0x33333333);\n x = (x + (x >> 4)) & 0x0f0f0f0f;\n x += x >> 8;\n x += x >> 16;\n return x & 0x7f;\n}\n\nfunction setAt(array, idx, val, canEdit) {\n var newArray = canEdit ? array : arrCopy(array);\n newArray[idx] = val;\n return newArray;\n}\n\nfunction spliceIn(array, idx, val, canEdit) {\n var newLen = array.length + 1;\n if (canEdit && idx + 1 === newLen) {\n array[idx] = val;\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n newArray[ii] = val;\n after = -1;\n } else {\n newArray[ii] = array[ii + after];\n }\n }\n return newArray;\n}\n\nfunction spliceOut(array, idx, canEdit) {\n var newLen = array.length - 1;\n if (canEdit && idx === newLen) {\n array.pop();\n return array;\n }\n var newArray = new Array(newLen);\n var after = 0;\n for (var ii = 0; ii < newLen; ii++) {\n if (ii === idx) {\n after = 1;\n }\n newArray[ii] = array[ii + after];\n }\n return newArray;\n}\n\nvar MAX_ARRAY_MAP_SIZE = SIZE / 4;\nvar MAX_BITMAP_INDEXED_SIZE = SIZE / 2;\nvar MIN_HASH_ARRAY_MAP_SIZE = SIZE / 4;\n\nvar IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';\n\nfunction isList(maybeList) {\n return Boolean(maybeList && maybeList[IS_LIST_SYMBOL]);\n}\n\nvar List = /*@__PURE__*/(function (IndexedCollection) {\n function List(value) {\n var empty = emptyList();\n if (value === undefined || value === null) {\n return empty;\n }\n if (isList(value)) {\n return value;\n }\n var iter = IndexedCollection(value);\n var size = iter.size;\n if (size === 0) {\n return empty;\n }\n assertNotInfinite(size);\n if (size > 0 && size < SIZE) {\n return makeList(0, size, SHIFT, null, new VNode(iter.toArray()));\n }\n return empty.withMutations(function (list) {\n list.setSize(size);\n iter.forEach(function (v, i) { return list.set(i, v); });\n });\n }\n\n if ( IndexedCollection ) List.__proto__ = IndexedCollection;\n List.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n List.prototype.constructor = List;\n\n List.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n List.prototype.toString = function toString () {\n return this.__toString('List [', ']');\n };\n\n // @pragma Access\n\n List.prototype.get = function get (index, notSetValue) {\n index = wrapIndex(this, index);\n if (index >= 0 && index < this.size) {\n index += this._origin;\n var node = listNodeFor(this, index);\n return node && node.array[index & MASK];\n }\n return notSetValue;\n };\n\n // @pragma Modification\n\n List.prototype.set = function set (index, value) {\n return updateList(this, index, value);\n };\n\n List.prototype.remove = function remove (index) {\n return !this.has(index)\n ? this\n : index === 0\n ? this.shift()\n : index === this.size - 1\n ? this.pop()\n : this.splice(index, 1);\n };\n\n List.prototype.insert = function insert (index, value) {\n return this.splice(index, 0, value);\n };\n\n List.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = this._origin = this._capacity = 0;\n this._level = SHIFT;\n this._root = this._tail = this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyList();\n };\n\n List.prototype.push = function push (/*...values*/) {\n var values = arguments;\n var oldSize = this.size;\n return this.withMutations(function (list) {\n setListBounds(list, 0, oldSize + values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(oldSize + ii, values[ii]);\n }\n });\n };\n\n List.prototype.pop = function pop () {\n return setListBounds(this, 0, -1);\n };\n\n List.prototype.unshift = function unshift (/*...values*/) {\n var values = arguments;\n return this.withMutations(function (list) {\n setListBounds(list, -values.length);\n for (var ii = 0; ii < values.length; ii++) {\n list.set(ii, values[ii]);\n }\n });\n };\n\n List.prototype.shift = function shift () {\n return setListBounds(this, 1);\n };\n\n // @pragma Composition\n\n List.prototype.concat = function concat (/*...collections*/) {\n var arguments$1 = arguments;\n\n var seqs = [];\n for (var i = 0; i < arguments.length; i++) {\n var argument = arguments$1[i];\n var seq = IndexedCollection(\n typeof argument !== 'string' && hasIterator(argument)\n ? argument\n : [argument]\n );\n if (seq.size !== 0) {\n seqs.push(seq);\n }\n }\n if (seqs.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && seqs.length === 1) {\n return this.constructor(seqs[0]);\n }\n return this.withMutations(function (list) {\n seqs.forEach(function (seq) { return seq.forEach(function (value) { return list.push(value); }); });\n });\n };\n\n List.prototype.setSize = function setSize (size) {\n return setListBounds(this, 0, size);\n };\n\n List.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n return this.withMutations(function (list) {\n for (var i = 0; i < this$1$1.size; i++) {\n list.set(i, mapper.call(context, list.get(i), i, this$1$1));\n }\n });\n };\n\n // @pragma Iteration\n\n List.prototype.slice = function slice (begin, end) {\n var size = this.size;\n if (wholeSlice(begin, end, size)) {\n return this;\n }\n return setListBounds(\n this,\n resolveBegin(begin, size),\n resolveEnd(end, size)\n );\n };\n\n List.prototype.__iterator = function __iterator (type, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n return new Iterator(function () {\n var value = values();\n return value === DONE\n ? iteratorDone()\n : iteratorValue(type, reverse ? --index : index++, value);\n });\n };\n\n List.prototype.__iterate = function __iterate (fn, reverse) {\n var index = reverse ? this.size : 0;\n var values = iterateList(this, reverse);\n var value;\n while ((value = values()) !== DONE) {\n if (fn(value, reverse ? --index : index++, this) === false) {\n break;\n }\n }\n return index;\n };\n\n List.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyList();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeList(\n this._origin,\n this._capacity,\n this._level,\n this._root,\n this._tail,\n ownerID,\n this.__hash\n );\n };\n\n return List;\n}(IndexedCollection));\n\nList.isList = isList;\n\nvar ListPrototype = List.prototype;\nListPrototype[IS_LIST_SYMBOL] = true;\nListPrototype[DELETE] = ListPrototype.remove;\nListPrototype.merge = ListPrototype.concat;\nListPrototype.setIn = setIn;\nListPrototype.deleteIn = ListPrototype.removeIn = deleteIn;\nListPrototype.update = update;\nListPrototype.updateIn = updateIn;\nListPrototype.mergeIn = mergeIn;\nListPrototype.mergeDeepIn = mergeDeepIn;\nListPrototype.withMutations = withMutations;\nListPrototype.wasAltered = wasAltered;\nListPrototype.asImmutable = asImmutable;\nListPrototype['@@transducer/init'] = ListPrototype.asMutable = asMutable;\nListPrototype['@@transducer/step'] = function (result, arr) {\n return result.push(arr);\n};\nListPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nvar VNode = function VNode(array, ownerID) {\n this.array = array;\n this.ownerID = ownerID;\n};\n\n// TODO: seems like these methods are very similar\n\nVNode.prototype.removeBefore = function removeBefore (ownerID, level, index) {\n if (index === level ? 1 << level : this.array.length === 0) {\n return this;\n }\n var originIndex = (index >>> level) & MASK;\n if (originIndex >= this.array.length) {\n return new VNode([], ownerID);\n }\n var removingFirst = originIndex === 0;\n var newChild;\n if (level > 0) {\n var oldChild = this.array[originIndex];\n newChild =\n oldChild && oldChild.removeBefore(ownerID, level - SHIFT, index);\n if (newChild === oldChild && removingFirst) {\n return this;\n }\n }\n if (removingFirst && !newChild) {\n return this;\n }\n var editable = editableVNode(this, ownerID);\n if (!removingFirst) {\n for (var ii = 0; ii < originIndex; ii++) {\n editable.array[ii] = undefined;\n }\n }\n if (newChild) {\n editable.array[originIndex] = newChild;\n }\n return editable;\n};\n\nVNode.prototype.removeAfter = function removeAfter (ownerID, level, index) {\n if (index === (level ? 1 << level : 0) || this.array.length === 0) {\n return this;\n }\n var sizeIndex = ((index - 1) >>> level) & MASK;\n if (sizeIndex >= this.array.length) {\n return this;\n }\n\n var newChild;\n if (level > 0) {\n var oldChild = this.array[sizeIndex];\n newChild =\n oldChild && oldChild.removeAfter(ownerID, level - SHIFT, index);\n if (newChild === oldChild && sizeIndex === this.array.length - 1) {\n return this;\n }\n }\n\n var editable = editableVNode(this, ownerID);\n editable.array.splice(sizeIndex + 1);\n if (newChild) {\n editable.array[sizeIndex] = newChild;\n }\n return editable;\n};\n\nvar DONE = {};\n\nfunction iterateList(list, reverse) {\n var left = list._origin;\n var right = list._capacity;\n var tailPos = getTailOffset(right);\n var tail = list._tail;\n\n return iterateNodeOrLeaf(list._root, list._level, 0);\n\n function iterateNodeOrLeaf(node, level, offset) {\n return level === 0\n ? iterateLeaf(node, offset)\n : iterateNode(node, level, offset);\n }\n\n function iterateLeaf(node, offset) {\n var array = offset === tailPos ? tail && tail.array : node && node.array;\n var from = offset > left ? 0 : left - offset;\n var to = right - offset;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n return array && array[idx];\n };\n }\n\n function iterateNode(node, level, offset) {\n var values;\n var array = node && node.array;\n var from = offset > left ? 0 : (left - offset) >> level;\n var to = ((right - offset) >> level) + 1;\n if (to > SIZE) {\n to = SIZE;\n }\n return function () {\n while (true) {\n if (values) {\n var value = values();\n if (value !== DONE) {\n return value;\n }\n values = null;\n }\n if (from === to) {\n return DONE;\n }\n var idx = reverse ? --to : from++;\n values = iterateNodeOrLeaf(\n array && array[idx],\n level - SHIFT,\n offset + (idx << level)\n );\n }\n };\n }\n}\n\nfunction makeList(origin, capacity, level, root, tail, ownerID, hash) {\n var list = Object.create(ListPrototype);\n list.size = capacity - origin;\n list._origin = origin;\n list._capacity = capacity;\n list._level = level;\n list._root = root;\n list._tail = tail;\n list.__ownerID = ownerID;\n list.__hash = hash;\n list.__altered = false;\n return list;\n}\n\nvar EMPTY_LIST;\nfunction emptyList() {\n return EMPTY_LIST || (EMPTY_LIST = makeList(0, 0, SHIFT));\n}\n\nfunction updateList(list, index, value) {\n index = wrapIndex(list, index);\n\n if (index !== index) {\n return list;\n }\n\n if (index >= list.size || index < 0) {\n return list.withMutations(function (list) {\n index < 0\n ? setListBounds(list, index).set(0, value)\n : setListBounds(list, 0, index + 1).set(index, value);\n });\n }\n\n index += list._origin;\n\n var newTail = list._tail;\n var newRoot = list._root;\n var didAlter = MakeRef();\n if (index >= getTailOffset(list._capacity)) {\n newTail = updateVNode(newTail, list.__ownerID, 0, index, value, didAlter);\n } else {\n newRoot = updateVNode(\n newRoot,\n list.__ownerID,\n list._level,\n index,\n value,\n didAlter\n );\n }\n\n if (!didAlter.value) {\n return list;\n }\n\n if (list.__ownerID) {\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(list._origin, list._capacity, list._level, newRoot, newTail);\n}\n\nfunction updateVNode(node, ownerID, level, index, value, didAlter) {\n var idx = (index >>> level) & MASK;\n var nodeHas = node && idx < node.array.length;\n if (!nodeHas && value === undefined) {\n return node;\n }\n\n var newNode;\n\n if (level > 0) {\n var lowerNode = node && node.array[idx];\n var newLowerNode = updateVNode(\n lowerNode,\n ownerID,\n level - SHIFT,\n index,\n value,\n didAlter\n );\n if (newLowerNode === lowerNode) {\n return node;\n }\n newNode = editableVNode(node, ownerID);\n newNode.array[idx] = newLowerNode;\n return newNode;\n }\n\n if (nodeHas && node.array[idx] === value) {\n return node;\n }\n\n if (didAlter) {\n SetRef(didAlter);\n }\n\n newNode = editableVNode(node, ownerID);\n if (value === undefined && idx === newNode.array.length - 1) {\n newNode.array.pop();\n } else {\n newNode.array[idx] = value;\n }\n return newNode;\n}\n\nfunction editableVNode(node, ownerID) {\n if (ownerID && node && ownerID === node.ownerID) {\n return node;\n }\n return new VNode(node ? node.array.slice() : [], ownerID);\n}\n\nfunction listNodeFor(list, rawIndex) {\n if (rawIndex >= getTailOffset(list._capacity)) {\n return list._tail;\n }\n if (rawIndex < 1 << (list._level + SHIFT)) {\n var node = list._root;\n var level = list._level;\n while (node && level > 0) {\n node = node.array[(rawIndex >>> level) & MASK];\n level -= SHIFT;\n }\n return node;\n }\n}\n\nfunction setListBounds(list, begin, end) {\n // Sanitize begin & end using this shorthand for ToInt32(argument)\n // http://www.ecma-international.org/ecma-262/6.0/#sec-toint32\n if (begin !== undefined) {\n begin |= 0;\n }\n if (end !== undefined) {\n end |= 0;\n }\n var owner = list.__ownerID || new OwnerID();\n var oldOrigin = list._origin;\n var oldCapacity = list._capacity;\n var newOrigin = oldOrigin + begin;\n var newCapacity =\n end === undefined\n ? oldCapacity\n : end < 0\n ? oldCapacity + end\n : oldOrigin + end;\n if (newOrigin === oldOrigin && newCapacity === oldCapacity) {\n return list;\n }\n\n // If it's going to end after it starts, it's empty.\n if (newOrigin >= newCapacity) {\n return list.clear();\n }\n\n var newLevel = list._level;\n var newRoot = list._root;\n\n // New origin might need creating a higher root.\n var offsetShift = 0;\n while (newOrigin + offsetShift < 0) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [undefined, newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n offsetShift += 1 << newLevel;\n }\n if (offsetShift) {\n newOrigin += offsetShift;\n oldOrigin += offsetShift;\n newCapacity += offsetShift;\n oldCapacity += offsetShift;\n }\n\n var oldTailOffset = getTailOffset(oldCapacity);\n var newTailOffset = getTailOffset(newCapacity);\n\n // New size might need creating a higher root.\n while (newTailOffset >= 1 << (newLevel + SHIFT)) {\n newRoot = new VNode(\n newRoot && newRoot.array.length ? [newRoot] : [],\n owner\n );\n newLevel += SHIFT;\n }\n\n // Locate or create the new tail.\n var oldTail = list._tail;\n var newTail =\n newTailOffset < oldTailOffset\n ? listNodeFor(list, newCapacity - 1)\n : newTailOffset > oldTailOffset\n ? new VNode([], owner)\n : oldTail;\n\n // Merge Tail into tree.\n if (\n oldTail &&\n newTailOffset > oldTailOffset &&\n newOrigin < oldCapacity &&\n oldTail.array.length\n ) {\n newRoot = editableVNode(newRoot, owner);\n var node = newRoot;\n for (var level = newLevel; level > SHIFT; level -= SHIFT) {\n var idx = (oldTailOffset >>> level) & MASK;\n node = node.array[idx] = editableVNode(node.array[idx], owner);\n }\n node.array[(oldTailOffset >>> SHIFT) & MASK] = oldTail;\n }\n\n // If the size has been reduced, there's a chance the tail needs to be trimmed.\n if (newCapacity < oldCapacity) {\n newTail = newTail && newTail.removeAfter(owner, 0, newCapacity);\n }\n\n // If the new origin is within the tail, then we do not need a root.\n if (newOrigin >= newTailOffset) {\n newOrigin -= newTailOffset;\n newCapacity -= newTailOffset;\n newLevel = SHIFT;\n newRoot = null;\n newTail = newTail && newTail.removeBefore(owner, 0, newOrigin);\n\n // Otherwise, if the root has been trimmed, garbage collect.\n } else if (newOrigin > oldOrigin || newTailOffset < oldTailOffset) {\n offsetShift = 0;\n\n // Identify the new top root node of the subtree of the old root.\n while (newRoot) {\n var beginIndex = (newOrigin >>> newLevel) & MASK;\n if ((beginIndex !== newTailOffset >>> newLevel) & MASK) {\n break;\n }\n if (beginIndex) {\n offsetShift += (1 << newLevel) * beginIndex;\n }\n newLevel -= SHIFT;\n newRoot = newRoot.array[beginIndex];\n }\n\n // Trim the new sides of the new root.\n if (newRoot && newOrigin > oldOrigin) {\n newRoot = newRoot.removeBefore(owner, newLevel, newOrigin - offsetShift);\n }\n if (newRoot && newTailOffset < oldTailOffset) {\n newRoot = newRoot.removeAfter(\n owner,\n newLevel,\n newTailOffset - offsetShift\n );\n }\n if (offsetShift) {\n newOrigin -= offsetShift;\n newCapacity -= offsetShift;\n }\n }\n\n if (list.__ownerID) {\n list.size = newCapacity - newOrigin;\n list._origin = newOrigin;\n list._capacity = newCapacity;\n list._level = newLevel;\n list._root = newRoot;\n list._tail = newTail;\n list.__hash = undefined;\n list.__altered = true;\n return list;\n }\n return makeList(newOrigin, newCapacity, newLevel, newRoot, newTail);\n}\n\nfunction getTailOffset(size) {\n return size < SIZE ? 0 : ((size - 1) >>> SHIFT) << SHIFT;\n}\n\nvar OrderedMap = /*@__PURE__*/(function (Map) {\n function OrderedMap(value) {\n return value === undefined || value === null\n ? emptyOrderedMap()\n : isOrderedMap(value)\n ? value\n : emptyOrderedMap().withMutations(function (map) {\n var iter = KeyedCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v, k) { return map.set(k, v); });\n });\n }\n\n if ( Map ) OrderedMap.__proto__ = Map;\n OrderedMap.prototype = Object.create( Map && Map.prototype );\n OrderedMap.prototype.constructor = OrderedMap;\n\n OrderedMap.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedMap.prototype.toString = function toString () {\n return this.__toString('OrderedMap {', '}');\n };\n\n // @pragma Access\n\n OrderedMap.prototype.get = function get (k, notSetValue) {\n var index = this._map.get(k);\n return index !== undefined ? this._list.get(index)[1] : notSetValue;\n };\n\n // @pragma Modification\n\n OrderedMap.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._map.clear();\n this._list.clear();\n this.__altered = true;\n return this;\n }\n return emptyOrderedMap();\n };\n\n OrderedMap.prototype.set = function set (k, v) {\n return updateOrderedMap(this, k, v);\n };\n\n OrderedMap.prototype.remove = function remove (k) {\n return updateOrderedMap(this, k, NOT_SET);\n };\n\n OrderedMap.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._list.__iterate(\n function (entry) { return entry && fn(entry[1], entry[0], this$1$1); },\n reverse\n );\n };\n\n OrderedMap.prototype.__iterator = function __iterator (type, reverse) {\n return this._list.fromEntrySeq().__iterator(type, reverse);\n };\n\n OrderedMap.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n var newList = this._list.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return emptyOrderedMap();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n this._map = newMap;\n this._list = newList;\n return this;\n }\n return makeOrderedMap(newMap, newList, ownerID, this.__hash);\n };\n\n return OrderedMap;\n}(Map));\n\nOrderedMap.isOrderedMap = isOrderedMap;\n\nOrderedMap.prototype[IS_ORDERED_SYMBOL] = true;\nOrderedMap.prototype[DELETE] = OrderedMap.prototype.remove;\n\nfunction makeOrderedMap(map, list, ownerID, hash) {\n var omap = Object.create(OrderedMap.prototype);\n omap.size = map ? map.size : 0;\n omap._map = map;\n omap._list = list;\n omap.__ownerID = ownerID;\n omap.__hash = hash;\n omap.__altered = false;\n return omap;\n}\n\nvar EMPTY_ORDERED_MAP;\nfunction emptyOrderedMap() {\n return (\n EMPTY_ORDERED_MAP ||\n (EMPTY_ORDERED_MAP = makeOrderedMap(emptyMap(), emptyList()))\n );\n}\n\nfunction updateOrderedMap(omap, k, v) {\n var map = omap._map;\n var list = omap._list;\n var i = map.get(k);\n var has = i !== undefined;\n var newMap;\n var newList;\n if (v === NOT_SET) {\n // removed\n if (!has) {\n return omap;\n }\n if (list.size >= SIZE && list.size >= map.size * 2) {\n newList = list.filter(function (entry, idx) { return entry !== undefined && i !== idx; });\n newMap = newList\n .toKeyedSeq()\n .map(function (entry) { return entry[0]; })\n .flip()\n .toMap();\n if (omap.__ownerID) {\n newMap.__ownerID = newList.__ownerID = omap.__ownerID;\n }\n } else {\n newMap = map.remove(k);\n newList = i === list.size - 1 ? list.pop() : list.set(i, undefined);\n }\n } else if (has) {\n if (v === list.get(i)[1]) {\n return omap;\n }\n newMap = map;\n newList = list.set(i, [k, v]);\n } else {\n newMap = map.set(k, list.size);\n newList = list.set(list.size, [k, v]);\n }\n if (omap.__ownerID) {\n omap.size = newMap.size;\n omap._map = newMap;\n omap._list = newList;\n omap.__hash = undefined;\n omap.__altered = true;\n return omap;\n }\n return makeOrderedMap(newMap, newList);\n}\n\nvar IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@';\n\nfunction isStack(maybeStack) {\n return Boolean(maybeStack && maybeStack[IS_STACK_SYMBOL]);\n}\n\nvar Stack = /*@__PURE__*/(function (IndexedCollection) {\n function Stack(value) {\n return value === undefined || value === null\n ? emptyStack()\n : isStack(value)\n ? value\n : emptyStack().pushAll(value);\n }\n\n if ( IndexedCollection ) Stack.__proto__ = IndexedCollection;\n Stack.prototype = Object.create( IndexedCollection && IndexedCollection.prototype );\n Stack.prototype.constructor = Stack;\n\n Stack.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Stack.prototype.toString = function toString () {\n return this.__toString('Stack [', ']');\n };\n\n // @pragma Access\n\n Stack.prototype.get = function get (index, notSetValue) {\n var head = this._head;\n index = wrapIndex(this, index);\n while (head && index--) {\n head = head.next;\n }\n return head ? head.value : notSetValue;\n };\n\n Stack.prototype.peek = function peek () {\n return this._head && this._head.value;\n };\n\n // @pragma Modification\n\n Stack.prototype.push = function push (/*...values*/) {\n var arguments$1 = arguments;\n\n if (arguments.length === 0) {\n return this;\n }\n var newSize = this.size + arguments.length;\n var head = this._head;\n for (var ii = arguments.length - 1; ii >= 0; ii--) {\n head = {\n value: arguments$1[ii],\n next: head,\n };\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pushAll = function pushAll (iter) {\n iter = IndexedCollection(iter);\n if (iter.size === 0) {\n return this;\n }\n if (this.size === 0 && isStack(iter)) {\n return iter;\n }\n assertNotInfinite(iter.size);\n var newSize = this.size;\n var head = this._head;\n iter.__iterate(function (value) {\n newSize++;\n head = {\n value: value,\n next: head,\n };\n }, /* reverse */ true);\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n Stack.prototype.pop = function pop () {\n return this.slice(1);\n };\n\n Stack.prototype.clear = function clear () {\n if (this.size === 0) {\n return this;\n }\n if (this.__ownerID) {\n this.size = 0;\n this._head = undefined;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return emptyStack();\n };\n\n Stack.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n var resolvedBegin = resolveBegin(begin, this.size);\n var resolvedEnd = resolveEnd(end, this.size);\n if (resolvedEnd !== this.size) {\n // super.slice(begin, end);\n return IndexedCollection.prototype.slice.call(this, begin, end);\n }\n var newSize = this.size - resolvedBegin;\n var head = this._head;\n while (resolvedBegin--) {\n head = head.next;\n }\n if (this.__ownerID) {\n this.size = newSize;\n this._head = head;\n this.__hash = undefined;\n this.__altered = true;\n return this;\n }\n return makeStack(newSize, head);\n };\n\n // @pragma Mutability\n\n Stack.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n if (!ownerID) {\n if (this.size === 0) {\n return emptyStack();\n }\n this.__ownerID = ownerID;\n this.__altered = false;\n return this;\n }\n return makeStack(this.size, this._head, ownerID, this.__hash);\n };\n\n // @pragma Iteration\n\n Stack.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterate(\n function (v, k) { return fn(v, k, this$1$1); },\n reverse\n );\n }\n var iterations = 0;\n var node = this._head;\n while (node) {\n if (fn(node.value, iterations++, this) === false) {\n break;\n }\n node = node.next;\n }\n return iterations;\n };\n\n Stack.prototype.__iterator = function __iterator (type, reverse) {\n if (reverse) {\n return new ArraySeq(this.toArray()).__iterator(type, reverse);\n }\n var iterations = 0;\n var node = this._head;\n return new Iterator(function () {\n if (node) {\n var value = node.value;\n node = node.next;\n return iteratorValue(type, iterations++, value);\n }\n return iteratorDone();\n });\n };\n\n return Stack;\n}(IndexedCollection));\n\nStack.isStack = isStack;\n\nvar StackPrototype = Stack.prototype;\nStackPrototype[IS_STACK_SYMBOL] = true;\nStackPrototype.shift = StackPrototype.pop;\nStackPrototype.unshift = StackPrototype.push;\nStackPrototype.unshiftAll = StackPrototype.pushAll;\nStackPrototype.withMutations = withMutations;\nStackPrototype.wasAltered = wasAltered;\nStackPrototype.asImmutable = asImmutable;\nStackPrototype['@@transducer/init'] = StackPrototype.asMutable = asMutable;\nStackPrototype['@@transducer/step'] = function (result, arr) {\n return result.unshift(arr);\n};\nStackPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nfunction makeStack(size, head, ownerID, hash) {\n var map = Object.create(StackPrototype);\n map.size = size;\n map._head = head;\n map.__ownerID = ownerID;\n map.__hash = hash;\n map.__altered = false;\n return map;\n}\n\nvar EMPTY_STACK;\nfunction emptyStack() {\n return EMPTY_STACK || (EMPTY_STACK = makeStack(0));\n}\n\nvar IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@';\n\nfunction isSet(maybeSet) {\n return Boolean(maybeSet && maybeSet[IS_SET_SYMBOL]);\n}\n\nfunction isOrderedSet(maybeOrderedSet) {\n return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);\n}\n\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (\n !isCollection(b) ||\n (a.size !== undefined && b.size !== undefined && a.size !== b.size) ||\n (a.__hash !== undefined &&\n b.__hash !== undefined &&\n a.__hash !== b.__hash) ||\n isKeyed(a) !== isKeyed(b) ||\n isIndexed(a) !== isIndexed(b) ||\n isOrdered(a) !== isOrdered(b)\n ) {\n return false;\n }\n\n if (a.size === 0 && b.size === 0) {\n return true;\n }\n\n var notAssociative = !isAssociative(a);\n\n if (isOrdered(a)) {\n var entries = a.entries();\n return (\n b.every(function (v, k) {\n var entry = entries.next().value;\n return entry && is(entry[1], v) && (notAssociative || is(entry[0], k));\n }) && entries.next().done\n );\n }\n\n var flipped = false;\n\n if (a.size === undefined) {\n if (b.size === undefined) {\n if (typeof a.cacheResult === 'function') {\n a.cacheResult();\n }\n } else {\n flipped = true;\n var _ = a;\n a = b;\n b = _;\n }\n }\n\n var allEqual = true;\n var bSize = b.__iterate(function (v, k) {\n if (\n notAssociative\n ? !a.has(v)\n : flipped\n ? !is(v, a.get(k, NOT_SET))\n : !is(a.get(k, NOT_SET), v)\n ) {\n allEqual = false;\n return false;\n }\n });\n\n return allEqual && a.size === bSize;\n}\n\nfunction mixin(ctor, methods) {\n var keyCopier = function (key) {\n ctor.prototype[key] = methods[key];\n };\n Object.keys(methods).forEach(keyCopier);\n Object.getOwnPropertySymbols &&\n Object.getOwnPropertySymbols(methods).forEach(keyCopier);\n return ctor;\n}\n\nfunction toJS(value) {\n if (!value || typeof value !== 'object') {\n return value;\n }\n if (!isCollection(value)) {\n if (!isDataStructure(value)) {\n return value;\n }\n value = Seq(value);\n }\n if (isKeyed(value)) {\n var result$1 = {};\n value.__iterate(function (v, k) {\n result$1[k] = toJS(v);\n });\n return result$1;\n }\n var result = [];\n value.__iterate(function (v) {\n result.push(toJS(v));\n });\n return result;\n}\n\nvar Set = /*@__PURE__*/(function (SetCollection) {\n function Set(value) {\n return value === undefined || value === null\n ? emptySet()\n : isSet(value) && !isOrdered(value)\n ? value\n : emptySet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( SetCollection ) Set.__proto__ = SetCollection;\n Set.prototype = Object.create( SetCollection && SetCollection.prototype );\n Set.prototype.constructor = Set;\n\n Set.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n Set.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n Set.intersect = function intersect (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.intersect.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.union = function union (sets) {\n sets = Collection(sets).toArray();\n return sets.length\n ? SetPrototype.union.apply(Set(sets.pop()), sets)\n : emptySet();\n };\n\n Set.prototype.toString = function toString () {\n return this.__toString('Set {', '}');\n };\n\n // @pragma Access\n\n Set.prototype.has = function has (value) {\n return this._map.has(value);\n };\n\n // @pragma Modification\n\n Set.prototype.add = function add (value) {\n return updateSet(this, this._map.set(value, value));\n };\n\n Set.prototype.remove = function remove (value) {\n return updateSet(this, this._map.remove(value));\n };\n\n Set.prototype.clear = function clear () {\n return updateSet(this, this._map.clear());\n };\n\n // @pragma Composition\n\n Set.prototype.map = function map (mapper, context) {\n var this$1$1 = this;\n\n // keep track if the set is altered by the map function\n var didChanges = false;\n\n var newMap = updateSet(\n this,\n this._map.mapEntries(function (ref) {\n var v = ref[1];\n\n var mapped = mapper.call(context, v, v, this$1$1);\n\n if (mapped !== v) {\n didChanges = true;\n }\n\n return [mapped, mapped];\n }, context)\n );\n\n return didChanges ? newMap : this;\n };\n\n Set.prototype.union = function union () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n iters = iters.filter(function (x) { return x.size !== 0; });\n if (iters.length === 0) {\n return this;\n }\n if (this.size === 0 && !this.__ownerID && iters.length === 1) {\n return this.constructor(iters[0]);\n }\n return this.withMutations(function (set) {\n for (var ii = 0; ii < iters.length; ii++) {\n if (typeof iters[ii] === 'string') {\n set.add(iters[ii]);\n } else {\n SetCollection(iters[ii]).forEach(function (value) { return set.add(value); });\n }\n }\n });\n };\n\n Set.prototype.intersect = function intersect () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (!iters.every(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.subtract = function subtract () {\n var iters = [], len = arguments.length;\n while ( len-- ) iters[ len ] = arguments[ len ];\n\n if (iters.length === 0) {\n return this;\n }\n iters = iters.map(function (iter) { return SetCollection(iter); });\n var toRemove = [];\n this.forEach(function (value) {\n if (iters.some(function (iter) { return iter.includes(value); })) {\n toRemove.push(value);\n }\n });\n return this.withMutations(function (set) {\n toRemove.forEach(function (value) {\n set.remove(value);\n });\n });\n };\n\n Set.prototype.sort = function sort (comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator));\n };\n\n Set.prototype.sortBy = function sortBy (mapper, comparator) {\n // Late binding\n return OrderedSet(sortFactory(this, comparator, mapper));\n };\n\n Set.prototype.wasAltered = function wasAltered () {\n return this._map.wasAltered();\n };\n\n Set.prototype.__iterate = function __iterate (fn, reverse) {\n var this$1$1 = this;\n\n return this._map.__iterate(function (k) { return fn(k, k, this$1$1); }, reverse);\n };\n\n Set.prototype.__iterator = function __iterator (type, reverse) {\n return this._map.__iterator(type, reverse);\n };\n\n Set.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newMap = this._map.__ensureOwner(ownerID);\n if (!ownerID) {\n if (this.size === 0) {\n return this.__empty();\n }\n this.__ownerID = ownerID;\n this._map = newMap;\n return this;\n }\n return this.__make(newMap, ownerID);\n };\n\n return Set;\n}(SetCollection));\n\nSet.isSet = isSet;\n\nvar SetPrototype = Set.prototype;\nSetPrototype[IS_SET_SYMBOL] = true;\nSetPrototype[DELETE] = SetPrototype.remove;\nSetPrototype.merge = SetPrototype.concat = SetPrototype.union;\nSetPrototype.withMutations = withMutations;\nSetPrototype.asImmutable = asImmutable;\nSetPrototype['@@transducer/init'] = SetPrototype.asMutable = asMutable;\nSetPrototype['@@transducer/step'] = function (result, arr) {\n return result.add(arr);\n};\nSetPrototype['@@transducer/result'] = function (obj) {\n return obj.asImmutable();\n};\n\nSetPrototype.__empty = emptySet;\nSetPrototype.__make = makeSet;\n\nfunction updateSet(set, newMap) {\n if (set.__ownerID) {\n set.size = newMap.size;\n set._map = newMap;\n return set;\n }\n return newMap === set._map\n ? set\n : newMap.size === 0\n ? set.__empty()\n : set.__make(newMap);\n}\n\nfunction makeSet(map, ownerID) {\n var set = Object.create(SetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_SET;\nfunction emptySet() {\n return EMPTY_SET || (EMPTY_SET = makeSet(emptyMap()));\n}\n\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1, and end to\n * infinity. When start is equal to end, returns empty list.\n */\nvar Range = /*@__PURE__*/(function (IndexedSeq) {\n function Range(start, end, step) {\n if (!(this instanceof Range)) {\n return new Range(start, end, step);\n }\n invariant(step !== 0, 'Cannot step a Range by 0');\n start = start || 0;\n if (end === undefined) {\n end = Infinity;\n }\n step = step === undefined ? 1 : Math.abs(step);\n if (end < start) {\n step = -step;\n }\n this._start = start;\n this._end = end;\n this._step = step;\n this.size = Math.max(0, Math.ceil((end - start) / step - 1) + 1);\n if (this.size === 0) {\n if (EMPTY_RANGE) {\n return EMPTY_RANGE;\n }\n EMPTY_RANGE = this;\n }\n }\n\n if ( IndexedSeq ) Range.__proto__ = IndexedSeq;\n Range.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Range.prototype.constructor = Range;\n\n Range.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Range []';\n }\n return (\n 'Range [ ' +\n this._start +\n '...' +\n this._end +\n (this._step !== 1 ? ' by ' + this._step : '') +\n ' ]'\n );\n };\n\n Range.prototype.get = function get (index, notSetValue) {\n return this.has(index)\n ? this._start + wrapIndex(this, index) * this._step\n : notSetValue;\n };\n\n Range.prototype.includes = function includes (searchValue) {\n var possibleIndex = (searchValue - this._start) / this._step;\n return (\n possibleIndex >= 0 &&\n possibleIndex < this.size &&\n possibleIndex === Math.floor(possibleIndex)\n );\n };\n\n Range.prototype.slice = function slice (begin, end) {\n if (wholeSlice(begin, end, this.size)) {\n return this;\n }\n begin = resolveBegin(begin, this.size);\n end = resolveEnd(end, this.size);\n if (end <= begin) {\n return new Range(0, 0);\n }\n return new Range(\n this.get(begin, this._end),\n this.get(end, this._end),\n this._step\n );\n };\n\n Range.prototype.indexOf = function indexOf (searchValue) {\n var offsetValue = searchValue - this._start;\n if (offsetValue % this._step === 0) {\n var index = offsetValue / this._step;\n if (index >= 0 && index < this.size) {\n return index;\n }\n }\n return -1;\n };\n\n Range.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n return this.indexOf(searchValue);\n };\n\n Range.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n while (i !== size) {\n if (fn(value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n value += reverse ? -step : step;\n }\n return i;\n };\n\n Range.prototype.__iterator = function __iterator (type, reverse) {\n var size = this.size;\n var step = this._step;\n var value = reverse ? this._start + (size - 1) * step : this._start;\n var i = 0;\n return new Iterator(function () {\n if (i === size) {\n return iteratorDone();\n }\n var v = value;\n value += reverse ? -step : step;\n return iteratorValue(type, reverse ? size - ++i : i++, v);\n });\n };\n\n Range.prototype.equals = function equals (other) {\n return other instanceof Range\n ? this._start === other._start &&\n this._end === other._end &&\n this._step === other._step\n : deepEqual(this, other);\n };\n\n return Range;\n}(IndexedSeq));\n\nvar EMPTY_RANGE;\n\nfunction getIn$1(collection, searchKeyPath, notSetValue) {\n var keyPath = coerceKeyPath(searchKeyPath);\n var i = 0;\n while (i !== keyPath.length) {\n collection = get(collection, keyPath[i++], NOT_SET);\n if (collection === NOT_SET) {\n return notSetValue;\n }\n }\n return collection;\n}\n\nfunction getIn(searchKeyPath, notSetValue) {\n return getIn$1(this, searchKeyPath, notSetValue);\n}\n\nfunction hasIn$1(collection, keyPath) {\n return getIn$1(collection, keyPath, NOT_SET) !== NOT_SET;\n}\n\nfunction hasIn(searchKeyPath) {\n return hasIn$1(this, searchKeyPath);\n}\n\nfunction toObject() {\n assertNotInfinite(this.size);\n var object = {};\n this.__iterate(function (v, k) {\n object[k] = v;\n });\n return object;\n}\n\n// Note: all of these methods are deprecated.\nCollection.isIterable = isCollection;\nCollection.isKeyed = isKeyed;\nCollection.isIndexed = isIndexed;\nCollection.isAssociative = isAssociative;\nCollection.isOrdered = isOrdered;\n\nCollection.Iterator = Iterator;\n\nmixin(Collection, {\n // ### Conversion to other types\n\n toArray: function toArray() {\n assertNotInfinite(this.size);\n var array = new Array(this.size || 0);\n var useTuples = isKeyed(this);\n var i = 0;\n this.__iterate(function (v, k) {\n // Keyed collections produce an array of tuples.\n array[i++] = useTuples ? [k, v] : v;\n });\n return array;\n },\n\n toIndexedSeq: function toIndexedSeq() {\n return new ToIndexedSequence(this);\n },\n\n toJS: function toJS$1() {\n return toJS(this);\n },\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, true);\n },\n\n toMap: function toMap() {\n // Use Late Binding here to solve the circular dependency.\n return Map(this.toKeyedSeq());\n },\n\n toObject: toObject,\n\n toOrderedMap: function toOrderedMap() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedMap(this.toKeyedSeq());\n },\n\n toOrderedSet: function toOrderedSet() {\n // Use Late Binding here to solve the circular dependency.\n return OrderedSet(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSet: function toSet() {\n // Use Late Binding here to solve the circular dependency.\n return Set(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toSetSeq: function toSetSeq() {\n return new ToSetSequence(this);\n },\n\n toSeq: function toSeq() {\n return isIndexed(this)\n ? this.toIndexedSeq()\n : isKeyed(this)\n ? this.toKeyedSeq()\n : this.toSetSeq();\n },\n\n toStack: function toStack() {\n // Use Late Binding here to solve the circular dependency.\n return Stack(isKeyed(this) ? this.valueSeq() : this);\n },\n\n toList: function toList() {\n // Use Late Binding here to solve the circular dependency.\n return List(isKeyed(this) ? this.valueSeq() : this);\n },\n\n // ### Common JavaScript methods and properties\n\n toString: function toString() {\n return '[Collection]';\n },\n\n __toString: function __toString(head, tail) {\n if (this.size === 0) {\n return head + tail;\n }\n return (\n head +\n ' ' +\n this.toSeq().map(this.__toStringMapper).join(', ') +\n ' ' +\n tail\n );\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n concat: function concat() {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return reify(this, concatFactory(this, values));\n },\n\n includes: function includes(searchValue) {\n return this.some(function (value) { return is(value, searchValue); });\n },\n\n entries: function entries() {\n return this.__iterator(ITERATE_ENTRIES);\n },\n\n every: function every(predicate, context) {\n assertNotInfinite(this.size);\n var returnValue = true;\n this.__iterate(function (v, k, c) {\n if (!predicate.call(context, v, k, c)) {\n returnValue = false;\n return false;\n }\n });\n return returnValue;\n },\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, true));\n },\n\n partition: function partition(predicate, context) {\n return partitionFactory(this, predicate, context);\n },\n\n find: function find(predicate, context, notSetValue) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[1] : notSetValue;\n },\n\n forEach: function forEach(sideEffect, context) {\n assertNotInfinite(this.size);\n return this.__iterate(context ? sideEffect.bind(context) : sideEffect);\n },\n\n join: function join(separator) {\n assertNotInfinite(this.size);\n separator = separator !== undefined ? '' + separator : ',';\n var joined = '';\n var isFirst = true;\n this.__iterate(function (v) {\n isFirst ? (isFirst = false) : (joined += separator);\n joined += v !== null && v !== undefined ? v.toString() : '';\n });\n return joined;\n },\n\n keys: function keys() {\n return this.__iterator(ITERATE_KEYS);\n },\n\n map: function map(mapper, context) {\n return reify(this, mapFactory(this, mapper, context));\n },\n\n reduce: function reduce$1(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n false\n );\n },\n\n reduceRight: function reduceRight(reducer, initialReduction, context) {\n return reduce(\n this,\n reducer,\n initialReduction,\n context,\n arguments.length < 2,\n true\n );\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, true));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, true));\n },\n\n some: function some(predicate, context) {\n return !this.every(not(predicate), context);\n },\n\n sort: function sort(comparator) {\n return reify(this, sortFactory(this, comparator));\n },\n\n values: function values() {\n return this.__iterator(ITERATE_VALUES);\n },\n\n // ### More sequential methods\n\n butLast: function butLast() {\n return this.slice(0, -1);\n },\n\n isEmpty: function isEmpty() {\n return this.size !== undefined ? this.size === 0 : !this.some(function () { return true; });\n },\n\n count: function count(predicate, context) {\n return ensureSize(\n predicate ? this.toSeq().filter(predicate, context) : this\n );\n },\n\n countBy: function countBy(grouper, context) {\n return countByFactory(this, grouper, context);\n },\n\n equals: function equals(other) {\n return deepEqual(this, other);\n },\n\n entrySeq: function entrySeq() {\n var collection = this;\n if (collection._cache) {\n // We cache as an entries array, so we can just return the cache!\n return new ArraySeq(collection._cache);\n }\n var entriesSequence = collection.toSeq().map(entryMapper).toIndexedSeq();\n entriesSequence.fromEntrySeq = function () { return collection.toSeq(); };\n return entriesSequence;\n },\n\n filterNot: function filterNot(predicate, context) {\n return this.filter(not(predicate), context);\n },\n\n findEntry: function findEntry(predicate, context, notSetValue) {\n var found = notSetValue;\n this.__iterate(function (v, k, c) {\n if (predicate.call(context, v, k, c)) {\n found = [k, v];\n return false;\n }\n });\n return found;\n },\n\n findKey: function findKey(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry && entry[0];\n },\n\n findLast: function findLast(predicate, context, notSetValue) {\n return this.toKeyedSeq().reverse().find(predicate, context, notSetValue);\n },\n\n findLastEntry: function findLastEntry(predicate, context, notSetValue) {\n return this.toKeyedSeq()\n .reverse()\n .findEntry(predicate, context, notSetValue);\n },\n\n findLastKey: function findLastKey(predicate, context) {\n return this.toKeyedSeq().reverse().findKey(predicate, context);\n },\n\n first: function first(notSetValue) {\n return this.find(returnTrue, null, notSetValue);\n },\n\n flatMap: function flatMap(mapper, context) {\n return reify(this, flatMapFactory(this, mapper, context));\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, true));\n },\n\n fromEntrySeq: function fromEntrySeq() {\n return new FromEntriesSequence(this);\n },\n\n get: function get(searchKey, notSetValue) {\n return this.find(function (_, key) { return is(key, searchKey); }, undefined, notSetValue);\n },\n\n getIn: getIn,\n\n groupBy: function groupBy(grouper, context) {\n return groupByFactory(this, grouper, context);\n },\n\n has: function has(searchKey) {\n return this.get(searchKey, NOT_SET) !== NOT_SET;\n },\n\n hasIn: hasIn,\n\n isSubset: function isSubset(iter) {\n iter = typeof iter.includes === 'function' ? iter : Collection(iter);\n return this.every(function (value) { return iter.includes(value); });\n },\n\n isSuperset: function isSuperset(iter) {\n iter = typeof iter.isSubset === 'function' ? iter : Collection(iter);\n return iter.isSubset(this);\n },\n\n keyOf: function keyOf(searchValue) {\n return this.findKey(function (value) { return is(value, searchValue); });\n },\n\n keySeq: function keySeq() {\n return this.toSeq().map(keyMapper).toIndexedSeq();\n },\n\n last: function last(notSetValue) {\n return this.toSeq().reverse().first(notSetValue);\n },\n\n lastKeyOf: function lastKeyOf(searchValue) {\n return this.toKeyedSeq().reverse().keyOf(searchValue);\n },\n\n max: function max(comparator) {\n return maxFactory(this, comparator);\n },\n\n maxBy: function maxBy(mapper, comparator) {\n return maxFactory(this, comparator, mapper);\n },\n\n min: function min(comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator\n );\n },\n\n minBy: function minBy(mapper, comparator) {\n return maxFactory(\n this,\n comparator ? neg(comparator) : defaultNegComparator,\n mapper\n );\n },\n\n rest: function rest() {\n return this.slice(1);\n },\n\n skip: function skip(amount) {\n return amount === 0 ? this : this.slice(Math.max(0, amount));\n },\n\n skipLast: function skipLast(amount) {\n return amount === 0 ? this : this.slice(0, -Math.max(0, amount));\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, true));\n },\n\n skipUntil: function skipUntil(predicate, context) {\n return this.skipWhile(not(predicate), context);\n },\n\n sortBy: function sortBy(mapper, comparator) {\n return reify(this, sortFactory(this, comparator, mapper));\n },\n\n take: function take(amount) {\n return this.slice(0, Math.max(0, amount));\n },\n\n takeLast: function takeLast(amount) {\n return this.slice(-Math.max(0, amount));\n },\n\n takeWhile: function takeWhile(predicate, context) {\n return reify(this, takeWhileFactory(this, predicate, context));\n },\n\n takeUntil: function takeUntil(predicate, context) {\n return this.takeWhile(not(predicate), context);\n },\n\n update: function update(fn) {\n return fn(this);\n },\n\n valueSeq: function valueSeq() {\n return this.toIndexedSeq();\n },\n\n // ### Hashable Object\n\n hashCode: function hashCode() {\n return this.__hash || (this.__hash = hashCollection(this));\n },\n\n // ### Internal\n\n // abstract __iterate(fn, reverse)\n\n // abstract __iterator(type, reverse)\n});\n\nvar CollectionPrototype = Collection.prototype;\nCollectionPrototype[IS_COLLECTION_SYMBOL] = true;\nCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.values;\nCollectionPrototype.toJSON = CollectionPrototype.toArray;\nCollectionPrototype.__toStringMapper = quoteString;\nCollectionPrototype.inspect = CollectionPrototype.toSource = function () {\n return this.toString();\n};\nCollectionPrototype.chain = CollectionPrototype.flatMap;\nCollectionPrototype.contains = CollectionPrototype.includes;\n\nmixin(KeyedCollection, {\n // ### More sequential methods\n\n flip: function flip() {\n return reify(this, flipFactory(this));\n },\n\n mapEntries: function mapEntries(mapper, context) {\n var this$1$1 = this;\n\n var iterations = 0;\n return reify(\n this,\n this.toSeq()\n .map(function (v, k) { return mapper.call(context, [k, v], iterations++, this$1$1); })\n .fromEntrySeq()\n );\n },\n\n mapKeys: function mapKeys(mapper, context) {\n var this$1$1 = this;\n\n return reify(\n this,\n this.toSeq()\n .flip()\n .map(function (k, v) { return mapper.call(context, k, v, this$1$1); })\n .flip()\n );\n },\n});\n\nvar KeyedCollectionPrototype = KeyedCollection.prototype;\nKeyedCollectionPrototype[IS_KEYED_SYMBOL] = true;\nKeyedCollectionPrototype[ITERATOR_SYMBOL] = CollectionPrototype.entries;\nKeyedCollectionPrototype.toJSON = toObject;\nKeyedCollectionPrototype.__toStringMapper = function (v, k) { return quoteString(k) + ': ' + quoteString(v); };\n\nmixin(IndexedCollection, {\n // ### Conversion to other types\n\n toKeyedSeq: function toKeyedSeq() {\n return new ToKeyedSequence(this, false);\n },\n\n // ### ES6 Collection methods (ES6 Array and Map)\n\n filter: function filter(predicate, context) {\n return reify(this, filterFactory(this, predicate, context, false));\n },\n\n findIndex: function findIndex(predicate, context) {\n var entry = this.findEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n indexOf: function indexOf(searchValue) {\n var key = this.keyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n lastIndexOf: function lastIndexOf(searchValue) {\n var key = this.lastKeyOf(searchValue);\n return key === undefined ? -1 : key;\n },\n\n reverse: function reverse() {\n return reify(this, reverseFactory(this, false));\n },\n\n slice: function slice(begin, end) {\n return reify(this, sliceFactory(this, begin, end, false));\n },\n\n splice: function splice(index, removeNum /*, ...values*/) {\n var numArgs = arguments.length;\n removeNum = Math.max(removeNum || 0, 0);\n if (numArgs === 0 || (numArgs === 2 && !removeNum)) {\n return this;\n }\n // If index is negative, it should resolve relative to the size of the\n // collection. However size may be expensive to compute if not cached, so\n // only call count() if the number is in fact negative.\n index = resolveBegin(index, index < 0 ? this.count() : this.size);\n var spliced = this.slice(0, index);\n return reify(\n this,\n numArgs === 1\n ? spliced\n : spliced.concat(arrCopy(arguments, 2), this.slice(index + removeNum))\n );\n },\n\n // ### More collection methods\n\n findLastIndex: function findLastIndex(predicate, context) {\n var entry = this.findLastEntry(predicate, context);\n return entry ? entry[0] : -1;\n },\n\n first: function first(notSetValue) {\n return this.get(0, notSetValue);\n },\n\n flatten: function flatten(depth) {\n return reify(this, flattenFactory(this, depth, false));\n },\n\n get: function get(index, notSetValue) {\n index = wrapIndex(this, index);\n return index < 0 ||\n this.size === Infinity ||\n (this.size !== undefined && index > this.size)\n ? notSetValue\n : this.find(function (_, key) { return key === index; }, undefined, notSetValue);\n },\n\n has: function has(index) {\n index = wrapIndex(this, index);\n return (\n index >= 0 &&\n (this.size !== undefined\n ? this.size === Infinity || index < this.size\n : this.indexOf(index) !== -1)\n );\n },\n\n interpose: function interpose(separator) {\n return reify(this, interposeFactory(this, separator));\n },\n\n interleave: function interleave(/*...collections*/) {\n var collections = [this].concat(arrCopy(arguments));\n var zipped = zipWithFactory(this.toSeq(), IndexedSeq.of, collections);\n var interleaved = zipped.flatten(true);\n if (zipped.size) {\n interleaved.size = zipped.size * collections.length;\n }\n return reify(this, interleaved);\n },\n\n keySeq: function keySeq() {\n return Range(0, this.size);\n },\n\n last: function last(notSetValue) {\n return this.get(-1, notSetValue);\n },\n\n skipWhile: function skipWhile(predicate, context) {\n return reify(this, skipWhileFactory(this, predicate, context, false));\n },\n\n zip: function zip(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections));\n },\n\n zipAll: function zipAll(/*, ...collections */) {\n var collections = [this].concat(arrCopy(arguments));\n return reify(this, zipWithFactory(this, defaultZipper, collections, true));\n },\n\n zipWith: function zipWith(zipper /*, ...collections */) {\n var collections = arrCopy(arguments);\n collections[0] = this;\n return reify(this, zipWithFactory(this, zipper, collections));\n },\n});\n\nvar IndexedCollectionPrototype = IndexedCollection.prototype;\nIndexedCollectionPrototype[IS_INDEXED_SYMBOL] = true;\nIndexedCollectionPrototype[IS_ORDERED_SYMBOL] = true;\n\nmixin(SetCollection, {\n // ### ES6 Collection methods (ES6 Array and Map)\n\n get: function get(value, notSetValue) {\n return this.has(value) ? value : notSetValue;\n },\n\n includes: function includes(value) {\n return this.has(value);\n },\n\n // ### More sequential methods\n\n keySeq: function keySeq() {\n return this.valueSeq();\n },\n});\n\nvar SetCollectionPrototype = SetCollection.prototype;\nSetCollectionPrototype.has = CollectionPrototype.includes;\nSetCollectionPrototype.contains = SetCollectionPrototype.includes;\nSetCollectionPrototype.keys = SetCollectionPrototype.values;\n\n// Mixin subclasses\n\nmixin(KeyedSeq, KeyedCollectionPrototype);\nmixin(IndexedSeq, IndexedCollectionPrototype);\nmixin(SetSeq, SetCollectionPrototype);\n\n// #pragma Helper functions\n\nfunction reduce(collection, reducer, reduction, context, useFirst, reverse) {\n assertNotInfinite(collection.size);\n collection.__iterate(function (v, k, c) {\n if (useFirst) {\n useFirst = false;\n reduction = v;\n } else {\n reduction = reducer.call(context, reduction, v, k, c);\n }\n }, reverse);\n return reduction;\n}\n\nfunction keyMapper(v, k) {\n return k;\n}\n\nfunction entryMapper(v, k) {\n return [k, v];\n}\n\nfunction not(predicate) {\n return function () {\n return !predicate.apply(this, arguments);\n };\n}\n\nfunction neg(predicate) {\n return function () {\n return -predicate.apply(this, arguments);\n };\n}\n\nfunction defaultZipper() {\n return arrCopy(arguments);\n}\n\nfunction defaultNegComparator(a, b) {\n return a < b ? 1 : a > b ? -1 : 0;\n}\n\nfunction hashCollection(collection) {\n if (collection.size === Infinity) {\n return 0;\n }\n var ordered = isOrdered(collection);\n var keyed = isKeyed(collection);\n var h = ordered ? 1 : 0;\n var size = collection.__iterate(\n keyed\n ? ordered\n ? function (v, k) {\n h = (31 * h + hashMerge(hash(v), hash(k))) | 0;\n }\n : function (v, k) {\n h = (h + hashMerge(hash(v), hash(k))) | 0;\n }\n : ordered\n ? function (v) {\n h = (31 * h + hash(v)) | 0;\n }\n : function (v) {\n h = (h + hash(v)) | 0;\n }\n );\n return murmurHashOfSize(size, h);\n}\n\nfunction murmurHashOfSize(size, h) {\n h = imul(h, 0xcc9e2d51);\n h = imul((h << 15) | (h >>> -15), 0x1b873593);\n h = imul((h << 13) | (h >>> -13), 5);\n h = ((h + 0xe6546b64) | 0) ^ size;\n h = imul(h ^ (h >>> 16), 0x85ebca6b);\n h = imul(h ^ (h >>> 13), 0xc2b2ae35);\n h = smi(h ^ (h >>> 16));\n return h;\n}\n\nfunction hashMerge(a, b) {\n return (a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2))) | 0; // int\n}\n\nvar OrderedSet = /*@__PURE__*/(function (Set) {\n function OrderedSet(value) {\n return value === undefined || value === null\n ? emptyOrderedSet()\n : isOrderedSet(value)\n ? value\n : emptyOrderedSet().withMutations(function (set) {\n var iter = SetCollection(value);\n assertNotInfinite(iter.size);\n iter.forEach(function (v) { return set.add(v); });\n });\n }\n\n if ( Set ) OrderedSet.__proto__ = Set;\n OrderedSet.prototype = Object.create( Set && Set.prototype );\n OrderedSet.prototype.constructor = OrderedSet;\n\n OrderedSet.of = function of (/*...values*/) {\n return this(arguments);\n };\n\n OrderedSet.fromKeys = function fromKeys (value) {\n return this(KeyedCollection(value).keySeq());\n };\n\n OrderedSet.prototype.toString = function toString () {\n return this.__toString('OrderedSet {', '}');\n };\n\n return OrderedSet;\n}(Set));\n\nOrderedSet.isOrderedSet = isOrderedSet;\n\nvar OrderedSetPrototype = OrderedSet.prototype;\nOrderedSetPrototype[IS_ORDERED_SYMBOL] = true;\nOrderedSetPrototype.zip = IndexedCollectionPrototype.zip;\nOrderedSetPrototype.zipWith = IndexedCollectionPrototype.zipWith;\nOrderedSetPrototype.zipAll = IndexedCollectionPrototype.zipAll;\n\nOrderedSetPrototype.__empty = emptyOrderedSet;\nOrderedSetPrototype.__make = makeOrderedSet;\n\nfunction makeOrderedSet(map, ownerID) {\n var set = Object.create(OrderedSetPrototype);\n set.size = map ? map.size : 0;\n set._map = map;\n set.__ownerID = ownerID;\n return set;\n}\n\nvar EMPTY_ORDERED_SET;\nfunction emptyOrderedSet() {\n return (\n EMPTY_ORDERED_SET || (EMPTY_ORDERED_SET = makeOrderedSet(emptyOrderedMap()))\n );\n}\n\nfunction throwOnInvalidDefaultValues(defaultValues) {\n if (isRecord(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.'\n );\n }\n\n if (isImmutable(defaultValues)) {\n throw new Error(\n 'Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.'\n );\n }\n\n if (defaultValues === null || typeof defaultValues !== 'object') {\n throw new Error(\n 'Can not call `Record` with a non-object as default values. Use a plain javascript object instead.'\n );\n }\n}\n\nvar Record = function Record(defaultValues, name) {\n var hasInitialized;\n\n throwOnInvalidDefaultValues(defaultValues);\n\n var RecordType = function Record(values) {\n var this$1$1 = this;\n\n if (values instanceof RecordType) {\n return values;\n }\n if (!(this instanceof RecordType)) {\n return new RecordType(values);\n }\n if (!hasInitialized) {\n hasInitialized = true;\n var keys = Object.keys(defaultValues);\n var indices = (RecordTypePrototype._indices = {});\n // Deprecated: left to attempt not to break any external code which\n // relies on a ._name property existing on record instances.\n // Use Record.getDescriptiveName() instead\n RecordTypePrototype._name = name;\n RecordTypePrototype._keys = keys;\n RecordTypePrototype._defaultValues = defaultValues;\n for (var i = 0; i < keys.length; i++) {\n var propName = keys[i];\n indices[propName] = i;\n if (RecordTypePrototype[propName]) {\n /* eslint-disable no-console */\n typeof console === 'object' &&\n console.warn &&\n console.warn(\n 'Cannot define ' +\n recordName(this) +\n ' with property \"' +\n propName +\n '\" since that property name is part of the Record API.'\n );\n /* eslint-enable no-console */\n } else {\n setProp(RecordTypePrototype, propName);\n }\n }\n }\n this.__ownerID = undefined;\n this._values = List().withMutations(function (l) {\n l.setSize(this$1$1._keys.length);\n KeyedCollection(values).forEach(function (v, k) {\n l.set(this$1$1._indices[k], v === this$1$1._defaultValues[k] ? undefined : v);\n });\n });\n return this;\n };\n\n var RecordTypePrototype = (RecordType.prototype =\n Object.create(RecordPrototype));\n RecordTypePrototype.constructor = RecordType;\n\n if (name) {\n RecordType.displayName = name;\n }\n\n return RecordType;\n};\n\nRecord.prototype.toString = function toString () {\n var str = recordName(this) + ' { ';\n var keys = this._keys;\n var k;\n for (var i = 0, l = keys.length; i !== l; i++) {\n k = keys[i];\n str += (i ? ', ' : '') + k + ': ' + quoteString(this.get(k));\n }\n return str + ' }';\n};\n\nRecord.prototype.equals = function equals (other) {\n return (\n this === other ||\n (isRecord(other) && recordSeq(this).equals(recordSeq(other)))\n );\n};\n\nRecord.prototype.hashCode = function hashCode () {\n return recordSeq(this).hashCode();\n};\n\n// @pragma Access\n\nRecord.prototype.has = function has (k) {\n return this._indices.hasOwnProperty(k);\n};\n\nRecord.prototype.get = function get (k, notSetValue) {\n if (!this.has(k)) {\n return notSetValue;\n }\n var index = this._indices[k];\n var value = this._values.get(index);\n return value === undefined ? this._defaultValues[k] : value;\n};\n\n// @pragma Modification\n\nRecord.prototype.set = function set (k, v) {\n if (this.has(k)) {\n var newValues = this._values.set(\n this._indices[k],\n v === this._defaultValues[k] ? undefined : v\n );\n if (newValues !== this._values && !this.__ownerID) {\n return makeRecord(this, newValues);\n }\n }\n return this;\n};\n\nRecord.prototype.remove = function remove (k) {\n return this.set(k);\n};\n\nRecord.prototype.clear = function clear () {\n var newValues = this._values.clear().setSize(this._keys.length);\n\n return this.__ownerID ? this : makeRecord(this, newValues);\n};\n\nRecord.prototype.wasAltered = function wasAltered () {\n return this._values.wasAltered();\n};\n\nRecord.prototype.toSeq = function toSeq () {\n return recordSeq(this);\n};\n\nRecord.prototype.toJS = function toJS$1 () {\n return toJS(this);\n};\n\nRecord.prototype.entries = function entries () {\n return this.__iterator(ITERATE_ENTRIES);\n};\n\nRecord.prototype.__iterator = function __iterator (type, reverse) {\n return recordSeq(this).__iterator(type, reverse);\n};\n\nRecord.prototype.__iterate = function __iterate (fn, reverse) {\n return recordSeq(this).__iterate(fn, reverse);\n};\n\nRecord.prototype.__ensureOwner = function __ensureOwner (ownerID) {\n if (ownerID === this.__ownerID) {\n return this;\n }\n var newValues = this._values.__ensureOwner(ownerID);\n if (!ownerID) {\n this.__ownerID = ownerID;\n this._values = newValues;\n return this;\n }\n return makeRecord(this, newValues, ownerID);\n};\n\nRecord.isRecord = isRecord;\nRecord.getDescriptiveName = recordName;\nvar RecordPrototype = Record.prototype;\nRecordPrototype[IS_RECORD_SYMBOL] = true;\nRecordPrototype[DELETE] = RecordPrototype.remove;\nRecordPrototype.deleteIn = RecordPrototype.removeIn = deleteIn;\nRecordPrototype.getIn = getIn;\nRecordPrototype.hasIn = CollectionPrototype.hasIn;\nRecordPrototype.merge = merge$1;\nRecordPrototype.mergeWith = mergeWith$1;\nRecordPrototype.mergeIn = mergeIn;\nRecordPrototype.mergeDeep = mergeDeep;\nRecordPrototype.mergeDeepWith = mergeDeepWith;\nRecordPrototype.mergeDeepIn = mergeDeepIn;\nRecordPrototype.setIn = setIn;\nRecordPrototype.update = update;\nRecordPrototype.updateIn = updateIn;\nRecordPrototype.withMutations = withMutations;\nRecordPrototype.asMutable = asMutable;\nRecordPrototype.asImmutable = asImmutable;\nRecordPrototype[ITERATOR_SYMBOL] = RecordPrototype.entries;\nRecordPrototype.toJSON = RecordPrototype.toObject =\n CollectionPrototype.toObject;\nRecordPrototype.inspect = RecordPrototype.toSource = function () {\n return this.toString();\n};\n\nfunction makeRecord(likeRecord, values, ownerID) {\n var record = Object.create(Object.getPrototypeOf(likeRecord));\n record._values = values;\n record.__ownerID = ownerID;\n return record;\n}\n\nfunction recordName(record) {\n return record.constructor.displayName || record.constructor.name || 'Record';\n}\n\nfunction recordSeq(record) {\n return keyedSeqFromValue(record._keys.map(function (k) { return [k, record.get(k)]; }));\n}\n\nfunction setProp(prototype, name) {\n try {\n Object.defineProperty(prototype, name, {\n get: function () {\n return this.get(name);\n },\n set: function (value) {\n invariant(this.__ownerID, 'Cannot set on an immutable record.');\n this.set(name, value);\n },\n });\n } catch (error) {\n // Object.defineProperty failed. Probably IE8.\n }\n}\n\n/**\n * Returns a lazy Seq of `value` repeated `times` times. When `times` is\n * undefined, returns an infinite sequence of `value`.\n */\nvar Repeat = /*@__PURE__*/(function (IndexedSeq) {\n function Repeat(value, times) {\n if (!(this instanceof Repeat)) {\n return new Repeat(value, times);\n }\n this._value = value;\n this.size = times === undefined ? Infinity : Math.max(0, times);\n if (this.size === 0) {\n if (EMPTY_REPEAT) {\n return EMPTY_REPEAT;\n }\n EMPTY_REPEAT = this;\n }\n }\n\n if ( IndexedSeq ) Repeat.__proto__ = IndexedSeq;\n Repeat.prototype = Object.create( IndexedSeq && IndexedSeq.prototype );\n Repeat.prototype.constructor = Repeat;\n\n Repeat.prototype.toString = function toString () {\n if (this.size === 0) {\n return 'Repeat []';\n }\n return 'Repeat [ ' + this._value + ' ' + this.size + ' times ]';\n };\n\n Repeat.prototype.get = function get (index, notSetValue) {\n return this.has(index) ? this._value : notSetValue;\n };\n\n Repeat.prototype.includes = function includes (searchValue) {\n return is(this._value, searchValue);\n };\n\n Repeat.prototype.slice = function slice (begin, end) {\n var size = this.size;\n return wholeSlice(begin, end, size)\n ? this\n : new Repeat(\n this._value,\n resolveEnd(end, size) - resolveBegin(begin, size)\n );\n };\n\n Repeat.prototype.reverse = function reverse () {\n return this;\n };\n\n Repeat.prototype.indexOf = function indexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return 0;\n }\n return -1;\n };\n\n Repeat.prototype.lastIndexOf = function lastIndexOf (searchValue) {\n if (is(this._value, searchValue)) {\n return this.size;\n }\n return -1;\n };\n\n Repeat.prototype.__iterate = function __iterate (fn, reverse) {\n var size = this.size;\n var i = 0;\n while (i !== size) {\n if (fn(this._value, reverse ? size - ++i : i++, this) === false) {\n break;\n }\n }\n return i;\n };\n\n Repeat.prototype.__iterator = function __iterator (type, reverse) {\n var this$1$1 = this;\n\n var size = this.size;\n var i = 0;\n return new Iterator(function () { return i === size\n ? iteratorDone()\n : iteratorValue(type, reverse ? size - ++i : i++, this$1$1._value); }\n );\n };\n\n Repeat.prototype.equals = function equals (other) {\n return other instanceof Repeat\n ? is(this._value, other._value)\n : deepEqual(other);\n };\n\n return Repeat;\n}(IndexedSeq));\n\nvar EMPTY_REPEAT;\n\nfunction fromJS(value, converter) {\n return fromJSWith(\n [],\n converter || defaultConverter,\n value,\n '',\n converter && converter.length > 2 ? [] : undefined,\n { '': value }\n );\n}\n\nfunction fromJSWith(stack, converter, value, key, keyPath, parentValue) {\n if (\n typeof value !== 'string' &&\n !isImmutable(value) &&\n (isArrayLike(value) || hasIterator(value) || isPlainObject(value))\n ) {\n if (~stack.indexOf(value)) {\n throw new TypeError('Cannot convert circular structure to Immutable');\n }\n stack.push(value);\n keyPath && key !== '' && keyPath.push(key);\n var converted = converter.call(\n parentValue,\n key,\n Seq(value).map(function (v, k) { return fromJSWith(stack, converter, v, k, keyPath, value); }\n ),\n keyPath && keyPath.slice()\n );\n stack.pop();\n keyPath && keyPath.pop();\n return converted;\n }\n return value;\n}\n\nfunction defaultConverter(k, v) {\n // Effectively the opposite of \"Collection.toSeq()\"\n return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet();\n}\n\nvar version = \"4.2.4\";\n\nvar Immutable = {\n version: version,\n\n Collection: Collection,\n // Note: Iterable is deprecated\n Iterable: Collection,\n\n Seq: Seq,\n Map: Map,\n OrderedMap: OrderedMap,\n List: List,\n Stack: Stack,\n Set: Set,\n OrderedSet: OrderedSet,\n\n Record: Record,\n Range: Range,\n Repeat: Repeat,\n\n is: is,\n fromJS: fromJS,\n hash: hash,\n\n isImmutable: isImmutable,\n isCollection: isCollection,\n isKeyed: isKeyed,\n isIndexed: isIndexed,\n isAssociative: isAssociative,\n isOrdered: isOrdered,\n isValueObject: isValueObject,\n isPlainObject: isPlainObject,\n isSeq: isSeq,\n isList: isList,\n isMap: isMap,\n isOrderedMap: isOrderedMap,\n isStack: isStack,\n isSet: isSet,\n isOrderedSet: isOrderedSet,\n isRecord: isRecord,\n\n get: get,\n getIn: getIn$1,\n has: has,\n hasIn: hasIn$1,\n merge: merge,\n mergeDeep: mergeDeep$1,\n mergeWith: mergeWith,\n mergeDeepWith: mergeDeepWith$1,\n remove: remove,\n removeIn: removeIn,\n set: set,\n setIn: setIn$1,\n update: update$1,\n updateIn: updateIn$1,\n};\n\n// Note: Iterable is deprecated\nvar Iterable = Collection;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Immutable);\n\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/immutable/dist/immutable.es.js?");
567
567
 
568
568
  /***/ }),
569
569
 
570
570
  /***/ "../../../node_modules/mime-db/db.json":
571
- /*!***************************************************!*\
572
- !*** C:/gen2/restaf/node_modules/mime-db/db.json ***!
573
- \***************************************************/
571
+ /*!**********************************************************!*\
572
+ !*** C:/sassoftware/restaf/node_modules/mime-db/db.json ***!
573
+ \**********************************************************/
574
574
  /*! exports provided: application/1d-interleaved-parityfec, application/3gpdash-qoe-report+xml, application/3gpp-ims+xml, application/3gpphal+json, application/3gpphalforms+json, application/a2l, application/ace+cbor, application/activemessage, application/activity+json, application/alto-costmap+json, application/alto-costmapfilter+json, application/alto-directory+json, application/alto-endpointcost+json, application/alto-endpointcostparams+json, application/alto-endpointprop+json, application/alto-endpointpropparams+json, application/alto-error+json, application/alto-networkmap+json, application/alto-networkmapfilter+json, application/alto-updatestreamcontrol+json, application/alto-updatestreamparams+json, application/aml, application/andrew-inset, application/applefile, application/applixware, application/at+jwt, application/atf, application/atfx, application/atom+xml, application/atomcat+xml, application/atomdeleted+xml, application/atomicmail, application/atomsvc+xml, application/atsc-dwd+xml, application/atsc-dynamic-event-message, application/atsc-held+xml, application/atsc-rdt+json, application/atsc-rsat+xml, application/atxml, application/auth-policy+xml, application/bacnet-xdd+zip, application/batch-smtp, application/bdoc, application/beep+xml, application/calendar+json, application/calendar+xml, application/call-completion, application/cals-1840, application/captive+json, application/cbor, application/cbor-seq, application/cccex, application/ccmp+xml, application/ccxml+xml, application/cdfx+xml, application/cdmi-capability, application/cdmi-container, application/cdmi-domain, application/cdmi-object, application/cdmi-queue, application/cdni, application/cea, application/cea-2018+xml, application/cellml+xml, application/cfw, application/city+json, application/clr, application/clue+xml, application/clue_info+xml, application/cms, application/cnrp+xml, application/coap-group+json, application/coap-payload, application/commonground, application/conference-info+xml, application/cose, application/cose-key, application/cose-key-set, application/cpl+xml, application/csrattrs, application/csta+xml, application/cstadata+xml, application/csvm+json, application/cu-seeme, application/cwt, application/cybercash, application/dart, application/dash+xml, application/dash-patch+xml, application/dashdelta, application/davmount+xml, application/dca-rft, application/dcd, application/dec-dx, application/dialog-info+xml, application/dicom, application/dicom+json, application/dicom+xml, application/dii, application/dit, application/dns, application/dns+json, application/dns-message, application/docbook+xml, application/dots+cbor, application/dskpp+xml, application/dssc+der, application/dssc+xml, application/dvcs, application/ecmascript, application/edi-consent, application/edi-x12, application/edifact, application/efi, application/elm+json, application/elm+xml, application/emergencycalldata.cap+xml, application/emergencycalldata.comment+xml, application/emergencycalldata.control+xml, application/emergencycalldata.deviceinfo+xml, application/emergencycalldata.ecall.msd, application/emergencycalldata.providerinfo+xml, application/emergencycalldata.serviceinfo+xml, application/emergencycalldata.subscriberinfo+xml, application/emergencycalldata.veds+xml, application/emma+xml, application/emotionml+xml, application/encaprtp, application/epp+xml, application/epub+zip, application/eshop, application/exi, application/expect-ct-report+json, application/express, application/fastinfoset, application/fastsoap, application/fdt+xml, application/fhir+json, application/fhir+xml, application/fido.trusted-apps+json, application/fits, application/flexfec, application/font-sfnt, application/font-tdpfr, application/font-woff, application/framework-attributes+xml, application/geo+json, application/geo+json-seq, application/geopackage+sqlite3, application/geoxacml+xml, application/gltf-buffer, application/gml+xml, application/gpx+xml, application/gxf, application/gzip, application/h224, application/held+xml, application/hjson, application/http, application/hyperstudio, application/ibe-key-request+xml, application/ibe-pkg-reply+xml, application/ibe-pp-data, application/iges, application/im-iscomposing+xml, application/index, application/index.cmd, application/index.obj, application/index.response, application/index.vnd, application/inkml+xml, application/iotp, application/ipfix, application/ipp, application/isup, application/its+xml, application/java-archive, application/java-serialized-object, application/java-vm, application/javascript, application/jf2feed+json, application/jose, application/jose+json, application/jrd+json, application/jscalendar+json, application/json, application/json-patch+json, application/json-seq, application/json5, application/jsonml+json, application/jwk+json, application/jwk-set+json, application/jwt, application/kpml-request+xml, application/kpml-response+xml, application/ld+json, application/lgr+xml, application/link-format, application/load-control+xml, application/lost+xml, application/lostsync+xml, application/lpf+zip, application/lxf, application/mac-binhex40, application/mac-compactpro, application/macwriteii, application/mads+xml, application/manifest+json, application/marc, application/marcxml+xml, application/mathematica, application/mathml+xml, application/mathml-content+xml, application/mathml-presentation+xml, application/mbms-associated-procedure-description+xml, application/mbms-deregister+xml, application/mbms-envelope+xml, application/mbms-msk+xml, application/mbms-msk-response+xml, application/mbms-protection-description+xml, application/mbms-reception-report+xml, application/mbms-register+xml, application/mbms-register-response+xml, application/mbms-schedule+xml, application/mbms-user-service-description+xml, application/mbox, application/media-policy-dataset+xml, application/media_control+xml, application/mediaservercontrol+xml, application/merge-patch+json, application/metalink+xml, application/metalink4+xml, application/mets+xml, application/mf4, application/mikey, application/mipc, application/missing-blocks+cbor-seq, application/mmt-aei+xml, application/mmt-usd+xml, application/mods+xml, application/moss-keys, application/moss-signature, application/mosskey-data, application/mosskey-request, application/mp21, application/mp4, application/mpeg4-generic, application/mpeg4-iod, application/mpeg4-iod-xmt, application/mrb-consumer+xml, application/mrb-publish+xml, application/msc-ivr+xml, application/msc-mixer+xml, application/msword, application/mud+json, application/multipart-core, application/mxf, application/n-quads, application/n-triples, application/nasdata, application/news-checkgroups, application/news-groupinfo, application/news-transmission, application/nlsml+xml, application/node, application/nss, application/oauth-authz-req+jwt, application/oblivious-dns-message, application/ocsp-request, application/ocsp-response, application/octet-stream, application/oda, application/odm+xml, application/odx, application/oebps-package+xml, application/ogg, application/omdoc+xml, application/onenote, application/opc-nodeset+xml, application/oscore, application/oxps, application/p21, application/p21+zip, application/p2p-overlay+xml, application/parityfec, application/passport, application/patch-ops-error+xml, application/pdf, application/pdx, application/pem-certificate-chain, application/pgp-encrypted, application/pgp-keys, application/pgp-signature, application/pics-rules, application/pidf+xml, application/pidf-diff+xml, application/pkcs10, application/pkcs12, application/pkcs7-mime, application/pkcs7-signature, application/pkcs8, application/pkcs8-encrypted, application/pkix-attr-cert, application/pkix-cert, application/pkix-crl, application/pkix-pkipath, application/pkixcmp, application/pls+xml, application/poc-settings+xml, application/postscript, application/ppsp-tracker+json, application/problem+json, application/problem+xml, application/provenance+xml, application/prs.alvestrand.titrax-sheet, application/prs.cww, application/prs.cyn, application/prs.hpub+zip, application/prs.nprend, application/prs.plucker, application/prs.rdf-xml-crypt, application/prs.xsf+xml, application/pskc+xml, application/pvd+json, application/qsig, application/raml+yaml, application/raptorfec, application/rdap+json, application/rdf+xml, application/reginfo+xml, application/relax-ng-compact-syntax, application/remote-printing, application/reputon+json, application/resource-lists+xml, application/resource-lists-diff+xml, application/rfc+xml, application/riscos, application/rlmi+xml, application/rls-services+xml, application/route-apd+xml, application/route-s-tsid+xml, application/route-usd+xml, application/rpki-ghostbusters, application/rpki-manifest, application/rpki-publication, application/rpki-roa, application/rpki-updown, application/rsd+xml, application/rss+xml, application/rtf, application/rtploopback, application/rtx, application/samlassertion+xml, application/samlmetadata+xml, application/sarif+json, application/sarif-external-properties+json, application/sbe, application/sbml+xml, application/scaip+xml, application/scim+json, application/scvp-cv-request, application/scvp-cv-response, application/scvp-vp-request, application/scvp-vp-response, application/sdp, application/secevent+jwt, application/senml+cbor, application/senml+json, application/senml+xml, application/senml-etch+cbor, application/senml-etch+json, application/senml-exi, application/sensml+cbor, application/sensml+json, application/sensml+xml, application/sensml-exi, application/sep+xml, application/sep-exi, application/session-info, application/set-payment, application/set-payment-initiation, application/set-registration, application/set-registration-initiation, application/sgml, application/sgml-open-catalog, application/shf+xml, application/sieve, application/simple-filter+xml, application/simple-message-summary, application/simplesymbolcontainer, application/sipc, application/slate, application/smil, application/smil+xml, application/smpte336m, application/soap+fastinfoset, application/soap+xml, application/sparql-query, application/sparql-results+xml, application/spdx+json, application/spirits-event+xml, application/sql, application/srgs, application/srgs+xml, application/sru+xml, application/ssdl+xml, application/ssml+xml, application/stix+json, application/swid+xml, application/tamp-apex-update, application/tamp-apex-update-confirm, application/tamp-community-update, application/tamp-community-update-confirm, application/tamp-error, application/tamp-sequence-adjust, application/tamp-sequence-adjust-confirm, application/tamp-status-query, application/tamp-status-response, application/tamp-update, application/tamp-update-confirm, application/tar, application/taxii+json, application/td+json, application/tei+xml, application/tetra_isi, application/thraud+xml, application/timestamp-query, application/timestamp-reply, application/timestamped-data, application/tlsrpt+gzip, application/tlsrpt+json, application/tnauthlist, application/token-introspection+jwt, application/toml, application/trickle-ice-sdpfrag, application/trig, application/ttml+xml, application/tve-trigger, application/tzif, application/tzif-leap, application/ubjson, application/ulpfec, application/urc-grpsheet+xml, application/urc-ressheet+xml, application/urc-targetdesc+xml, application/urc-uisocketdesc+xml, application/vcard+json, application/vcard+xml, application/vemmi, application/vividence.scriptfile, application/vnd.1000minds.decision-model+xml, application/vnd.3gpp-prose+xml, application/vnd.3gpp-prose-pc3ch+xml, application/vnd.3gpp-v2x-local-service-information, application/vnd.3gpp.5gnas, application/vnd.3gpp.access-transfer-events+xml, application/vnd.3gpp.bsf+xml, application/vnd.3gpp.gmop+xml, application/vnd.3gpp.gtpc, application/vnd.3gpp.interworking-data, application/vnd.3gpp.lpp, application/vnd.3gpp.mc-signalling-ear, application/vnd.3gpp.mcdata-affiliation-command+xml, application/vnd.3gpp.mcdata-info+xml, application/vnd.3gpp.mcdata-payload, application/vnd.3gpp.mcdata-service-config+xml, application/vnd.3gpp.mcdata-signalling, application/vnd.3gpp.mcdata-ue-config+xml, application/vnd.3gpp.mcdata-user-profile+xml, application/vnd.3gpp.mcptt-affiliation-command+xml, application/vnd.3gpp.mcptt-floor-request+xml, application/vnd.3gpp.mcptt-info+xml, application/vnd.3gpp.mcptt-location-info+xml, application/vnd.3gpp.mcptt-mbms-usage-info+xml, application/vnd.3gpp.mcptt-service-config+xml, application/vnd.3gpp.mcptt-signed+xml, application/vnd.3gpp.mcptt-ue-config+xml, application/vnd.3gpp.mcptt-ue-init-config+xml, application/vnd.3gpp.mcptt-user-profile+xml, application/vnd.3gpp.mcvideo-affiliation-command+xml, application/vnd.3gpp.mcvideo-affiliation-info+xml, application/vnd.3gpp.mcvideo-info+xml, application/vnd.3gpp.mcvideo-location-info+xml, application/vnd.3gpp.mcvideo-mbms-usage-info+xml, application/vnd.3gpp.mcvideo-service-config+xml, application/vnd.3gpp.mcvideo-transmission-request+xml, application/vnd.3gpp.mcvideo-ue-config+xml, application/vnd.3gpp.mcvideo-user-profile+xml, application/vnd.3gpp.mid-call+xml, application/vnd.3gpp.ngap, application/vnd.3gpp.pfcp, application/vnd.3gpp.pic-bw-large, application/vnd.3gpp.pic-bw-small, application/vnd.3gpp.pic-bw-var, application/vnd.3gpp.s1ap, application/vnd.3gpp.sms, application/vnd.3gpp.sms+xml, application/vnd.3gpp.srvcc-ext+xml, application/vnd.3gpp.srvcc-info+xml, application/vnd.3gpp.state-and-event-info+xml, application/vnd.3gpp.ussd+xml, application/vnd.3gpp2.bcmcsinfo+xml, application/vnd.3gpp2.sms, application/vnd.3gpp2.tcap, application/vnd.3lightssoftware.imagescal, application/vnd.3m.post-it-notes, application/vnd.accpac.simply.aso, application/vnd.accpac.simply.imp, application/vnd.acucobol, application/vnd.acucorp, application/vnd.adobe.air-application-installer-package+zip, application/vnd.adobe.flash.movie, application/vnd.adobe.formscentral.fcdt, application/vnd.adobe.fxp, application/vnd.adobe.partial-upload, application/vnd.adobe.xdp+xml, application/vnd.adobe.xfdf, application/vnd.aether.imp, application/vnd.afpc.afplinedata, application/vnd.afpc.afplinedata-pagedef, application/vnd.afpc.cmoca-cmresource, application/vnd.afpc.foca-charset, application/vnd.afpc.foca-codedfont, application/vnd.afpc.foca-codepage, application/vnd.afpc.modca, application/vnd.afpc.modca-cmtable, application/vnd.afpc.modca-formdef, application/vnd.afpc.modca-mediummap, application/vnd.afpc.modca-objectcontainer, application/vnd.afpc.modca-overlay, application/vnd.afpc.modca-pagesegment, application/vnd.age, application/vnd.ah-barcode, application/vnd.ahead.space, application/vnd.airzip.filesecure.azf, application/vnd.airzip.filesecure.azs, application/vnd.amadeus+json, application/vnd.amazon.ebook, application/vnd.amazon.mobi8-ebook, application/vnd.americandynamics.acc, application/vnd.amiga.ami, application/vnd.amundsen.maze+xml, application/vnd.android.ota, application/vnd.android.package-archive, application/vnd.anki, application/vnd.anser-web-certificate-issue-initiation, application/vnd.anser-web-funds-transfer-initiation, application/vnd.antix.game-component, application/vnd.apache.arrow.file, application/vnd.apache.arrow.stream, application/vnd.apache.thrift.binary, application/vnd.apache.thrift.compact, application/vnd.apache.thrift.json, application/vnd.api+json, application/vnd.aplextor.warrp+json, application/vnd.apothekende.reservation+json, application/vnd.apple.installer+xml, application/vnd.apple.keynote, application/vnd.apple.mpegurl, application/vnd.apple.numbers, application/vnd.apple.pages, application/vnd.apple.pkpass, application/vnd.arastra.swi, application/vnd.aristanetworks.swi, application/vnd.artisan+json, application/vnd.artsquare, application/vnd.astraea-software.iota, application/vnd.audiograph, application/vnd.autopackage, application/vnd.avalon+json, application/vnd.avistar+xml, application/vnd.balsamiq.bmml+xml, application/vnd.balsamiq.bmpr, application/vnd.banana-accounting, application/vnd.bbf.usp.error, application/vnd.bbf.usp.msg, application/vnd.bbf.usp.msg+json, application/vnd.bekitzur-stech+json, application/vnd.bint.med-content, application/vnd.biopax.rdf+xml, application/vnd.blink-idb-value-wrapper, application/vnd.blueice.multipass, application/vnd.bluetooth.ep.oob, application/vnd.bluetooth.le.oob, application/vnd.bmi, application/vnd.bpf, application/vnd.bpf3, application/vnd.businessobjects, application/vnd.byu.uapi+json, application/vnd.cab-jscript, application/vnd.canon-cpdl, application/vnd.canon-lips, application/vnd.capasystems-pg+json, application/vnd.cendio.thinlinc.clientconf, application/vnd.century-systems.tcp_stream, application/vnd.chemdraw+xml, application/vnd.chess-pgn, application/vnd.chipnuts.karaoke-mmd, application/vnd.ciedi, application/vnd.cinderella, application/vnd.cirpack.isdn-ext, application/vnd.citationstyles.style+xml, application/vnd.claymore, application/vnd.cloanto.rp9, application/vnd.clonk.c4group, application/vnd.cluetrust.cartomobile-config, application/vnd.cluetrust.cartomobile-config-pkg, application/vnd.coffeescript, application/vnd.collabio.xodocuments.document, application/vnd.collabio.xodocuments.document-template, application/vnd.collabio.xodocuments.presentation, application/vnd.collabio.xodocuments.presentation-template, application/vnd.collabio.xodocuments.spreadsheet, application/vnd.collabio.xodocuments.spreadsheet-template, application/vnd.collection+json, application/vnd.collection.doc+json, application/vnd.collection.next+json, application/vnd.comicbook+zip, application/vnd.comicbook-rar, application/vnd.commerce-battelle, application/vnd.commonspace, application/vnd.contact.cmsg, application/vnd.coreos.ignition+json, application/vnd.cosmocaller, application/vnd.crick.clicker, application/vnd.crick.clicker.keyboard, application/vnd.crick.clicker.palette, application/vnd.crick.clicker.template, application/vnd.crick.clicker.wordbank, application/vnd.criticaltools.wbs+xml, application/vnd.cryptii.pipe+json, application/vnd.crypto-shade-file, application/vnd.cryptomator.encrypted, application/vnd.cryptomator.vault, application/vnd.ctc-posml, application/vnd.ctct.ws+xml, application/vnd.cups-pdf, application/vnd.cups-postscript, application/vnd.cups-ppd, application/vnd.cups-raster, application/vnd.cups-raw, application/vnd.curl, application/vnd.curl.car, application/vnd.curl.pcurl, application/vnd.cyan.dean.root+xml, application/vnd.cybank, application/vnd.cyclonedx+json, application/vnd.cyclonedx+xml, application/vnd.d2l.coursepackage1p0+zip, application/vnd.d3m-dataset, application/vnd.d3m-problem, application/vnd.dart, application/vnd.data-vision.rdz, application/vnd.datapackage+json, application/vnd.dataresource+json, application/vnd.dbf, application/vnd.debian.binary-package, application/vnd.dece.data, application/vnd.dece.ttml+xml, application/vnd.dece.unspecified, application/vnd.dece.zip, application/vnd.denovo.fcselayout-link, application/vnd.desmume.movie, application/vnd.dir-bi.plate-dl-nosuffix, application/vnd.dm.delegation+xml, application/vnd.dna, application/vnd.document+json, application/vnd.dolby.mlp, application/vnd.dolby.mobile.1, application/vnd.dolby.mobile.2, application/vnd.doremir.scorecloud-binary-document, application/vnd.dpgraph, application/vnd.dreamfactory, application/vnd.drive+json, application/vnd.ds-keypoint, application/vnd.dtg.local, application/vnd.dtg.local.flash, application/vnd.dtg.local.html, application/vnd.dvb.ait, application/vnd.dvb.dvbisl+xml, application/vnd.dvb.dvbj, application/vnd.dvb.esgcontainer, application/vnd.dvb.ipdcdftnotifaccess, application/vnd.dvb.ipdcesgaccess, application/vnd.dvb.ipdcesgaccess2, application/vnd.dvb.ipdcesgpdd, application/vnd.dvb.ipdcroaming, application/vnd.dvb.iptv.alfec-base, application/vnd.dvb.iptv.alfec-enhancement, application/vnd.dvb.notif-aggregate-root+xml, application/vnd.dvb.notif-container+xml, application/vnd.dvb.notif-generic+xml, application/vnd.dvb.notif-ia-msglist+xml, application/vnd.dvb.notif-ia-registration-request+xml, application/vnd.dvb.notif-ia-registration-response+xml, application/vnd.dvb.notif-init+xml, application/vnd.dvb.pfr, application/vnd.dvb.service, application/vnd.dxr, application/vnd.dynageo, application/vnd.dzr, application/vnd.easykaraoke.cdgdownload, application/vnd.ecdis-update, application/vnd.ecip.rlp, application/vnd.eclipse.ditto+json, application/vnd.ecowin.chart, application/vnd.ecowin.filerequest, application/vnd.ecowin.fileupdate, application/vnd.ecowin.series, application/vnd.ecowin.seriesrequest, application/vnd.ecowin.seriesupdate, application/vnd.efi.img, application/vnd.efi.iso, application/vnd.emclient.accessrequest+xml, application/vnd.enliven, application/vnd.enphase.envoy, application/vnd.eprints.data+xml, application/vnd.epson.esf, application/vnd.epson.msf, application/vnd.epson.quickanime, application/vnd.epson.salt, application/vnd.epson.ssf, application/vnd.ericsson.quickcall, application/vnd.espass-espass+zip, application/vnd.eszigno3+xml, application/vnd.etsi.aoc+xml, application/vnd.etsi.asic-e+zip, application/vnd.etsi.asic-s+zip, application/vnd.etsi.cug+xml, application/vnd.etsi.iptvcommand+xml, application/vnd.etsi.iptvdiscovery+xml, application/vnd.etsi.iptvprofile+xml, application/vnd.etsi.iptvsad-bc+xml, application/vnd.etsi.iptvsad-cod+xml, application/vnd.etsi.iptvsad-npvr+xml, application/vnd.etsi.iptvservice+xml, application/vnd.etsi.iptvsync+xml, application/vnd.etsi.iptvueprofile+xml, application/vnd.etsi.mcid+xml, application/vnd.etsi.mheg5, application/vnd.etsi.overload-control-policy-dataset+xml, application/vnd.etsi.pstn+xml, application/vnd.etsi.sci+xml, application/vnd.etsi.simservs+xml, application/vnd.etsi.timestamp-token, application/vnd.etsi.tsl+xml, application/vnd.etsi.tsl.der, application/vnd.eu.kasparian.car+json, application/vnd.eudora.data, application/vnd.evolv.ecig.profile, application/vnd.evolv.ecig.settings, application/vnd.evolv.ecig.theme, application/vnd.exstream-empower+zip, application/vnd.exstream-package, application/vnd.ezpix-album, application/vnd.ezpix-package, application/vnd.f-secure.mobile, application/vnd.familysearch.gedcom+zip, application/vnd.fastcopy-disk-image, application/vnd.fdf, application/vnd.fdsn.mseed, application/vnd.fdsn.seed, application/vnd.ffsns, application/vnd.ficlab.flb+zip, application/vnd.filmit.zfc, application/vnd.fints, application/vnd.firemonkeys.cloudcell, application/vnd.flographit, application/vnd.fluxtime.clip, application/vnd.font-fontforge-sfd, application/vnd.framemaker, application/vnd.frogans.fnc, application/vnd.frogans.ltf, application/vnd.fsc.weblaunch, application/vnd.fujifilm.fb.docuworks, application/vnd.fujifilm.fb.docuworks.binder, application/vnd.fujifilm.fb.docuworks.container, application/vnd.fujifilm.fb.jfi+xml, application/vnd.fujitsu.oasys, application/vnd.fujitsu.oasys2, application/vnd.fujitsu.oasys3, application/vnd.fujitsu.oasysgp, application/vnd.fujitsu.oasysprs, application/vnd.fujixerox.art-ex, application/vnd.fujixerox.art4, application/vnd.fujixerox.ddd, application/vnd.fujixerox.docuworks, application/vnd.fujixerox.docuworks.binder, application/vnd.fujixerox.docuworks.container, application/vnd.fujixerox.hbpl, application/vnd.fut-misnet, application/vnd.futoin+cbor, application/vnd.futoin+json, application/vnd.fuzzysheet, application/vnd.genomatix.tuxedo, application/vnd.gentics.grd+json, application/vnd.geo+json, application/vnd.geocube+xml, application/vnd.geogebra.file, application/vnd.geogebra.slides, application/vnd.geogebra.tool, application/vnd.geometry-explorer, application/vnd.geonext, application/vnd.geoplan, application/vnd.geospace, application/vnd.gerber, application/vnd.globalplatform.card-content-mgt, application/vnd.globalplatform.card-content-mgt-response, application/vnd.gmx, application/vnd.google-apps.document, application/vnd.google-apps.presentation, application/vnd.google-apps.spreadsheet, application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz, application/vnd.gov.sk.e-form+xml, application/vnd.gov.sk.e-form+zip, application/vnd.gov.sk.xmldatacontainer+xml, application/vnd.grafeq, application/vnd.gridmp, application/vnd.groove-account, application/vnd.groove-help, application/vnd.groove-identity-message, application/vnd.groove-injector, application/vnd.groove-tool-message, application/vnd.groove-tool-template, application/vnd.groove-vcard, application/vnd.hal+json, application/vnd.hal+xml, application/vnd.handheld-entertainment+xml, application/vnd.hbci, application/vnd.hc+json, application/vnd.hcl-bireports, application/vnd.hdt, application/vnd.heroku+json, application/vnd.hhe.lesson-player, application/vnd.hl7cda+xml, application/vnd.hl7v2+xml, application/vnd.hp-hpgl, application/vnd.hp-hpid, application/vnd.hp-hps, application/vnd.hp-jlyt, application/vnd.hp-pcl, application/vnd.hp-pclxl, application/vnd.httphone, application/vnd.hydrostatix.sof-data, application/vnd.hyper+json, application/vnd.hyper-item+json, application/vnd.hyperdrive+json, application/vnd.hzn-3d-crossword, application/vnd.ibm.afplinedata, application/vnd.ibm.electronic-media, application/vnd.ibm.minipay, application/vnd.ibm.modcap, application/vnd.ibm.rights-management, application/vnd.ibm.secure-container, application/vnd.iccprofile, application/vnd.ieee.1905, application/vnd.igloader, application/vnd.imagemeter.folder+zip, application/vnd.imagemeter.image+zip, application/vnd.immervision-ivp, application/vnd.immervision-ivu, application/vnd.ims.imsccv1p1, application/vnd.ims.imsccv1p2, application/vnd.ims.imsccv1p3, application/vnd.ims.lis.v2.result+json, application/vnd.ims.lti.v2.toolconsumerprofile+json, application/vnd.ims.lti.v2.toolproxy+json, application/vnd.ims.lti.v2.toolproxy.id+json, application/vnd.ims.lti.v2.toolsettings+json, application/vnd.ims.lti.v2.toolsettings.simple+json, application/vnd.informedcontrol.rms+xml, application/vnd.informix-visionary, application/vnd.infotech.project, application/vnd.infotech.project+xml, application/vnd.innopath.wamp.notification, application/vnd.insors.igm, application/vnd.intercon.formnet, application/vnd.intergeo, application/vnd.intertrust.digibox, application/vnd.intertrust.nncp, application/vnd.intu.qbo, application/vnd.intu.qfx, application/vnd.iptc.g2.catalogitem+xml, application/vnd.iptc.g2.conceptitem+xml, application/vnd.iptc.g2.knowledgeitem+xml, application/vnd.iptc.g2.newsitem+xml, application/vnd.iptc.g2.newsmessage+xml, application/vnd.iptc.g2.packageitem+xml, application/vnd.iptc.g2.planningitem+xml, application/vnd.ipunplugged.rcprofile, application/vnd.irepository.package+xml, application/vnd.is-xpr, application/vnd.isac.fcs, application/vnd.iso11783-10+zip, application/vnd.jam, application/vnd.japannet-directory-service, application/vnd.japannet-jpnstore-wakeup, application/vnd.japannet-payment-wakeup, application/vnd.japannet-registration, application/vnd.japannet-registration-wakeup, application/vnd.japannet-setstore-wakeup, application/vnd.japannet-verification, application/vnd.japannet-verification-wakeup, application/vnd.jcp.javame.midlet-rms, application/vnd.jisp, application/vnd.joost.joda-archive, application/vnd.jsk.isdn-ngn, application/vnd.kahootz, application/vnd.kde.karbon, application/vnd.kde.kchart, application/vnd.kde.kformula, application/vnd.kde.kivio, application/vnd.kde.kontour, application/vnd.kde.kpresenter, application/vnd.kde.kspread, application/vnd.kde.kword, application/vnd.kenameaapp, application/vnd.kidspiration, application/vnd.kinar, application/vnd.koan, application/vnd.kodak-descriptor, application/vnd.las, application/vnd.las.las+json, application/vnd.las.las+xml, application/vnd.laszip, application/vnd.leap+json, application/vnd.liberty-request+xml, application/vnd.llamagraphics.life-balance.desktop, application/vnd.llamagraphics.life-balance.exchange+xml, application/vnd.logipipe.circuit+zip, application/vnd.loom, application/vnd.lotus-1-2-3, application/vnd.lotus-approach, application/vnd.lotus-freelance, application/vnd.lotus-notes, application/vnd.lotus-organizer, application/vnd.lotus-screencam, application/vnd.lotus-wordpro, application/vnd.macports.portpkg, application/vnd.mapbox-vector-tile, application/vnd.marlin.drm.actiontoken+xml, application/vnd.marlin.drm.conftoken+xml, application/vnd.marlin.drm.license+xml, application/vnd.marlin.drm.mdcf, application/vnd.mason+json, application/vnd.maxar.archive.3tz+zip, application/vnd.maxmind.maxmind-db, application/vnd.mcd, application/vnd.medcalcdata, application/vnd.mediastation.cdkey, application/vnd.meridian-slingshot, application/vnd.mfer, application/vnd.mfmp, application/vnd.micro+json, application/vnd.micrografx.flo, application/vnd.micrografx.igx, application/vnd.microsoft.portable-executable, application/vnd.microsoft.windows.thumbnail-cache, application/vnd.miele+json, application/vnd.mif, application/vnd.minisoft-hp3000-save, application/vnd.mitsubishi.misty-guard.trustweb, application/vnd.mobius.daf, application/vnd.mobius.dis, application/vnd.mobius.mbk, application/vnd.mobius.mqy, application/vnd.mobius.msl, application/vnd.mobius.plc, application/vnd.mobius.txf, application/vnd.mophun.application, application/vnd.mophun.certificate, application/vnd.motorola.flexsuite, application/vnd.motorola.flexsuite.adsi, application/vnd.motorola.flexsuite.fis, application/vnd.motorola.flexsuite.gotap, application/vnd.motorola.flexsuite.kmr, application/vnd.motorola.flexsuite.ttc, application/vnd.motorola.flexsuite.wem, application/vnd.motorola.iprm, application/vnd.mozilla.xul+xml, application/vnd.ms-3mfdocument, application/vnd.ms-artgalry, application/vnd.ms-asf, application/vnd.ms-cab-compressed, application/vnd.ms-color.iccprofile, application/vnd.ms-excel, application/vnd.ms-excel.addin.macroenabled.12, application/vnd.ms-excel.sheet.binary.macroenabled.12, application/vnd.ms-excel.sheet.macroenabled.12, application/vnd.ms-excel.template.macroenabled.12, application/vnd.ms-fontobject, application/vnd.ms-htmlhelp, application/vnd.ms-ims, application/vnd.ms-lrm, application/vnd.ms-office.activex+xml, application/vnd.ms-officetheme, application/vnd.ms-opentype, application/vnd.ms-outlook, application/vnd.ms-package.obfuscated-opentype, application/vnd.ms-pki.seccat, application/vnd.ms-pki.stl, application/vnd.ms-playready.initiator+xml, application/vnd.ms-powerpoint, application/vnd.ms-powerpoint.addin.macroenabled.12, application/vnd.ms-powerpoint.presentation.macroenabled.12, application/vnd.ms-powerpoint.slide.macroenabled.12, application/vnd.ms-powerpoint.slideshow.macroenabled.12, application/vnd.ms-powerpoint.template.macroenabled.12, application/vnd.ms-printdevicecapabilities+xml, application/vnd.ms-printing.printticket+xml, application/vnd.ms-printschematicket+xml, application/vnd.ms-project, application/vnd.ms-tnef, application/vnd.ms-windows.devicepairing, application/vnd.ms-windows.nwprinting.oob, application/vnd.ms-windows.printerpairing, application/vnd.ms-windows.wsd.oob, application/vnd.ms-wmdrm.lic-chlg-req, application/vnd.ms-wmdrm.lic-resp, application/vnd.ms-wmdrm.meter-chlg-req, application/vnd.ms-wmdrm.meter-resp, application/vnd.ms-word.document.macroenabled.12, application/vnd.ms-word.template.macroenabled.12, application/vnd.ms-works, application/vnd.ms-wpl, application/vnd.ms-xpsdocument, application/vnd.msa-disk-image, application/vnd.mseq, application/vnd.msign, application/vnd.multiad.creator, application/vnd.multiad.creator.cif, application/vnd.music-niff, application/vnd.musician, application/vnd.muvee.style, application/vnd.mynfc, application/vnd.nacamar.ybrid+json, application/vnd.ncd.control, application/vnd.ncd.reference, application/vnd.nearst.inv+json, application/vnd.nebumind.line, application/vnd.nervana, application/vnd.netfpx, application/vnd.neurolanguage.nlu, application/vnd.nimn, application/vnd.nintendo.nitro.rom, application/vnd.nintendo.snes.rom, application/vnd.nitf, application/vnd.noblenet-directory, application/vnd.noblenet-sealer, application/vnd.noblenet-web, application/vnd.nokia.catalogs, application/vnd.nokia.conml+wbxml, application/vnd.nokia.conml+xml, application/vnd.nokia.iptv.config+xml, application/vnd.nokia.isds-radio-presets, application/vnd.nokia.landmark+wbxml, application/vnd.nokia.landmark+xml, application/vnd.nokia.landmarkcollection+xml, application/vnd.nokia.n-gage.ac+xml, application/vnd.nokia.n-gage.data, application/vnd.nokia.n-gage.symbian.install, application/vnd.nokia.ncd, application/vnd.nokia.pcd+wbxml, application/vnd.nokia.pcd+xml, application/vnd.nokia.radio-preset, application/vnd.nokia.radio-presets, application/vnd.novadigm.edm, application/vnd.novadigm.edx, application/vnd.novadigm.ext, application/vnd.ntt-local.content-share, application/vnd.ntt-local.file-transfer, application/vnd.ntt-local.ogw_remote-access, application/vnd.ntt-local.sip-ta_remote, application/vnd.ntt-local.sip-ta_tcp_stream, application/vnd.oasis.opendocument.chart, application/vnd.oasis.opendocument.chart-template, application/vnd.oasis.opendocument.database, application/vnd.oasis.opendocument.formula, application/vnd.oasis.opendocument.formula-template, application/vnd.oasis.opendocument.graphics, application/vnd.oasis.opendocument.graphics-template, application/vnd.oasis.opendocument.image, application/vnd.oasis.opendocument.image-template, application/vnd.oasis.opendocument.presentation, application/vnd.oasis.opendocument.presentation-template, application/vnd.oasis.opendocument.spreadsheet, application/vnd.oasis.opendocument.spreadsheet-template, application/vnd.oasis.opendocument.text, application/vnd.oasis.opendocument.text-master, application/vnd.oasis.opendocument.text-template, application/vnd.oasis.opendocument.text-web, application/vnd.obn, application/vnd.ocf+cbor, application/vnd.oci.image.manifest.v1+json, application/vnd.oftn.l10n+json, application/vnd.oipf.contentaccessdownload+xml, application/vnd.oipf.contentaccessstreaming+xml, application/vnd.oipf.cspg-hexbinary, application/vnd.oipf.dae.svg+xml, application/vnd.oipf.dae.xhtml+xml, application/vnd.oipf.mippvcontrolmessage+xml, application/vnd.oipf.pae.gem, application/vnd.oipf.spdiscovery+xml, application/vnd.oipf.spdlist+xml, application/vnd.oipf.ueprofile+xml, application/vnd.oipf.userprofile+xml, application/vnd.olpc-sugar, application/vnd.oma-scws-config, application/vnd.oma-scws-http-request, application/vnd.oma-scws-http-response, application/vnd.oma.bcast.associated-procedure-parameter+xml, application/vnd.oma.bcast.drm-trigger+xml, application/vnd.oma.bcast.imd+xml, application/vnd.oma.bcast.ltkm, application/vnd.oma.bcast.notification+xml, application/vnd.oma.bcast.provisioningtrigger, application/vnd.oma.bcast.sgboot, application/vnd.oma.bcast.sgdd+xml, application/vnd.oma.bcast.sgdu, application/vnd.oma.bcast.simple-symbol-container, application/vnd.oma.bcast.smartcard-trigger+xml, application/vnd.oma.bcast.sprov+xml, application/vnd.oma.bcast.stkm, application/vnd.oma.cab-address-book+xml, application/vnd.oma.cab-feature-handler+xml, application/vnd.oma.cab-pcc+xml, application/vnd.oma.cab-subs-invite+xml, application/vnd.oma.cab-user-prefs+xml, application/vnd.oma.dcd, application/vnd.oma.dcdc, application/vnd.oma.dd2+xml, application/vnd.oma.drm.risd+xml, application/vnd.oma.group-usage-list+xml, application/vnd.oma.lwm2m+cbor, application/vnd.oma.lwm2m+json, application/vnd.oma.lwm2m+tlv, application/vnd.oma.pal+xml, application/vnd.oma.poc.detailed-progress-report+xml, application/vnd.oma.poc.final-report+xml, application/vnd.oma.poc.groups+xml, application/vnd.oma.poc.invocation-descriptor+xml, application/vnd.oma.poc.optimized-progress-report+xml, application/vnd.oma.push, application/vnd.oma.scidm.messages+xml, application/vnd.oma.xcap-directory+xml, application/vnd.omads-email+xml, application/vnd.omads-file+xml, application/vnd.omads-folder+xml, application/vnd.omaloc-supl-init, application/vnd.onepager, application/vnd.onepagertamp, application/vnd.onepagertamx, application/vnd.onepagertat, application/vnd.onepagertatp, application/vnd.onepagertatx, application/vnd.openblox.game+xml, application/vnd.openblox.game-binary, application/vnd.openeye.oeb, application/vnd.openofficeorg.extension, application/vnd.openstreetmap.data+xml, application/vnd.opentimestamps.ots, application/vnd.openxmlformats-officedocument.custom-properties+xml, application/vnd.openxmlformats-officedocument.customxmlproperties+xml, application/vnd.openxmlformats-officedocument.drawing+xml, application/vnd.openxmlformats-officedocument.drawingml.chart+xml, application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml, application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml, application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml, application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml, application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml, application/vnd.openxmlformats-officedocument.extended-properties+xml, application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml, application/vnd.openxmlformats-officedocument.presentationml.comments+xml, application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml, application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml, application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml, application/vnd.openxmlformats-officedocument.presentationml.presprops+xml, application/vnd.openxmlformats-officedocument.presentationml.slide, application/vnd.openxmlformats-officedocument.presentationml.slide+xml, application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml, application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml, application/vnd.openxmlformats-officedocument.presentationml.slideshow, application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml, application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml, application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml, application/vnd.openxmlformats-officedocument.presentationml.tags+xml, application/vnd.openxmlformats-officedocument.presentationml.template, application/vnd.openxmlformats-officedocument.presentationml.template.main+xml, application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.template, application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml, application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml, application/vnd.openxmlformats-officedocument.theme+xml, application/vnd.openxmlformats-officedocument.themeoverride+xml, application/vnd.openxmlformats-officedocument.vmldrawing, application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.template, application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml, application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml, application/vnd.openxmlformats-package.core-properties+xml, application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml, application/vnd.openxmlformats-package.relationships+xml, application/vnd.oracle.resource+json, application/vnd.orange.indata, application/vnd.osa.netdeploy, application/vnd.osgeo.mapguide.package, application/vnd.osgi.bundle, application/vnd.osgi.dp, application/vnd.osgi.subsystem, application/vnd.otps.ct-kip+xml, application/vnd.oxli.countgraph, application/vnd.pagerduty+json, application/vnd.palm, application/vnd.panoply, application/vnd.paos.xml, application/vnd.patentdive, application/vnd.patientecommsdoc, application/vnd.pawaafile, application/vnd.pcos, application/vnd.pg.format, application/vnd.pg.osasli, application/vnd.piaccess.application-licence, application/vnd.picsel, application/vnd.pmi.widget, application/vnd.poc.group-advertisement+xml, application/vnd.pocketlearn, application/vnd.powerbuilder6, application/vnd.powerbuilder6-s, application/vnd.powerbuilder7, application/vnd.powerbuilder7-s, application/vnd.powerbuilder75, application/vnd.powerbuilder75-s, application/vnd.preminet, application/vnd.previewsystems.box, application/vnd.proteus.magazine, application/vnd.psfs, application/vnd.publishare-delta-tree, application/vnd.pvi.ptid1, application/vnd.pwg-multiplexed, application/vnd.pwg-xhtml-print+xml, application/vnd.qualcomm.brew-app-res, application/vnd.quarantainenet, application/vnd.quark.quarkxpress, application/vnd.quobject-quoxdocument, application/vnd.radisys.moml+xml, application/vnd.radisys.msml+xml, application/vnd.radisys.msml-audit+xml, application/vnd.radisys.msml-audit-conf+xml, application/vnd.radisys.msml-audit-conn+xml, application/vnd.radisys.msml-audit-dialog+xml, application/vnd.radisys.msml-audit-stream+xml, application/vnd.radisys.msml-conf+xml, application/vnd.radisys.msml-dialog+xml, application/vnd.radisys.msml-dialog-base+xml, application/vnd.radisys.msml-dialog-fax-detect+xml, application/vnd.radisys.msml-dialog-fax-sendrecv+xml, application/vnd.radisys.msml-dialog-group+xml, application/vnd.radisys.msml-dialog-speech+xml, application/vnd.radisys.msml-dialog-transform+xml, application/vnd.rainstor.data, application/vnd.rapid, application/vnd.rar, application/vnd.realvnc.bed, application/vnd.recordare.musicxml, application/vnd.recordare.musicxml+xml, application/vnd.renlearn.rlprint, application/vnd.resilient.logic, application/vnd.restful+json, application/vnd.rig.cryptonote, application/vnd.rim.cod, application/vnd.rn-realmedia, application/vnd.rn-realmedia-vbr, application/vnd.route66.link66+xml, application/vnd.rs-274x, application/vnd.ruckus.download, application/vnd.s3sms, application/vnd.sailingtracker.track, application/vnd.sar, application/vnd.sbm.cid, application/vnd.sbm.mid2, application/vnd.scribus, application/vnd.sealed.3df, application/vnd.sealed.csf, application/vnd.sealed.doc, application/vnd.sealed.eml, application/vnd.sealed.mht, application/vnd.sealed.net, application/vnd.sealed.ppt, application/vnd.sealed.tiff, application/vnd.sealed.xls, application/vnd.sealedmedia.softseal.html, application/vnd.sealedmedia.softseal.pdf, application/vnd.seemail, application/vnd.seis+json, application/vnd.sema, application/vnd.semd, application/vnd.semf, application/vnd.shade-save-file, application/vnd.shana.informed.formdata, application/vnd.shana.informed.formtemplate, application/vnd.shana.informed.interchange, application/vnd.shana.informed.package, application/vnd.shootproof+json, application/vnd.shopkick+json, application/vnd.shp, application/vnd.shx, application/vnd.sigrok.session, application/vnd.simtech-mindmapper, application/vnd.siren+json, application/vnd.smaf, application/vnd.smart.notebook, application/vnd.smart.teacher, application/vnd.snesdev-page-table, application/vnd.software602.filler.form+xml, application/vnd.software602.filler.form-xml-zip, application/vnd.solent.sdkm+xml, application/vnd.spotfire.dxp, application/vnd.spotfire.sfs, application/vnd.sqlite3, application/vnd.sss-cod, application/vnd.sss-dtf, application/vnd.sss-ntf, application/vnd.stardivision.calc, application/vnd.stardivision.draw, application/vnd.stardivision.impress, application/vnd.stardivision.math, application/vnd.stardivision.writer, application/vnd.stardivision.writer-global, application/vnd.stepmania.package, application/vnd.stepmania.stepchart, application/vnd.street-stream, application/vnd.sun.wadl+xml, application/vnd.sun.xml.calc, application/vnd.sun.xml.calc.template, application/vnd.sun.xml.draw, application/vnd.sun.xml.draw.template, application/vnd.sun.xml.impress, application/vnd.sun.xml.impress.template, application/vnd.sun.xml.math, application/vnd.sun.xml.writer, application/vnd.sun.xml.writer.global, application/vnd.sun.xml.writer.template, application/vnd.sus-calendar, application/vnd.svd, application/vnd.swiftview-ics, application/vnd.sycle+xml, application/vnd.syft+json, application/vnd.symbian.install, application/vnd.syncml+xml, application/vnd.syncml.dm+wbxml, application/vnd.syncml.dm+xml, application/vnd.syncml.dm.notification, application/vnd.syncml.dmddf+wbxml, application/vnd.syncml.dmddf+xml, application/vnd.syncml.dmtnds+wbxml, application/vnd.syncml.dmtnds+xml, application/vnd.syncml.ds.notification, application/vnd.tableschema+json, application/vnd.tao.intent-module-archive, application/vnd.tcpdump.pcap, application/vnd.think-cell.ppttc+json, application/vnd.tmd.mediaflex.api+xml, application/vnd.tml, application/vnd.tmobile-livetv, application/vnd.tri.onesource, application/vnd.trid.tpt, application/vnd.triscape.mxs, application/vnd.trueapp, application/vnd.truedoc, application/vnd.ubisoft.webplayer, application/vnd.ufdl, application/vnd.uiq.theme, application/vnd.umajin, application/vnd.unity, application/vnd.uoml+xml, application/vnd.uplanet.alert, application/vnd.uplanet.alert-wbxml, application/vnd.uplanet.bearer-choice, application/vnd.uplanet.bearer-choice-wbxml, application/vnd.uplanet.cacheop, application/vnd.uplanet.cacheop-wbxml, application/vnd.uplanet.channel, application/vnd.uplanet.channel-wbxml, application/vnd.uplanet.list, application/vnd.uplanet.list-wbxml, application/vnd.uplanet.listcmd, application/vnd.uplanet.listcmd-wbxml, application/vnd.uplanet.signal, application/vnd.uri-map, application/vnd.valve.source.material, application/vnd.vcx, application/vnd.vd-study, application/vnd.vectorworks, application/vnd.vel+json, application/vnd.verimatrix.vcas, application/vnd.veritone.aion+json, application/vnd.veryant.thin, application/vnd.ves.encrypted, application/vnd.vidsoft.vidconference, application/vnd.visio, application/vnd.visionary, application/vnd.vividence.scriptfile, application/vnd.vsf, application/vnd.wap.sic, application/vnd.wap.slc, application/vnd.wap.wbxml, application/vnd.wap.wmlc, application/vnd.wap.wmlscriptc, application/vnd.webturbo, application/vnd.wfa.dpp, application/vnd.wfa.p2p, application/vnd.wfa.wsc, application/vnd.windows.devicepairing, application/vnd.wmc, application/vnd.wmf.bootstrap, application/vnd.wolfram.mathematica, application/vnd.wolfram.mathematica.package, application/vnd.wolfram.player, application/vnd.wordperfect, application/vnd.wqd, application/vnd.wrq-hp3000-labelled, application/vnd.wt.stf, application/vnd.wv.csp+wbxml, application/vnd.wv.csp+xml, application/vnd.wv.ssp+xml, application/vnd.xacml+json, application/vnd.xara, application/vnd.xfdl, application/vnd.xfdl.webform, application/vnd.xmi+xml, application/vnd.xmpie.cpkg, application/vnd.xmpie.dpkg, application/vnd.xmpie.plan, application/vnd.xmpie.ppkg, application/vnd.xmpie.xlim, application/vnd.yamaha.hv-dic, application/vnd.yamaha.hv-script, application/vnd.yamaha.hv-voice, application/vnd.yamaha.openscoreformat, application/vnd.yamaha.openscoreformat.osfpvg+xml, application/vnd.yamaha.remote-setup, application/vnd.yamaha.smaf-audio, application/vnd.yamaha.smaf-phrase, application/vnd.yamaha.through-ngn, application/vnd.yamaha.tunnel-udpencap, application/vnd.yaoweme, application/vnd.yellowriver-custom-menu, application/vnd.youtube.yt, application/vnd.zul, application/vnd.zzazz.deck+xml, application/voicexml+xml, application/voucher-cms+json, application/vq-rtcpxr, application/wasm, application/watcherinfo+xml, application/webpush-options+json, application/whoispp-query, application/whoispp-response, application/widget, application/winhlp, application/wita, application/wordperfect5.1, application/wsdl+xml, application/wspolicy+xml, application/x-7z-compressed, application/x-abiword, application/x-ace-compressed, application/x-amf, application/x-apple-diskimage, application/x-arj, application/x-authorware-bin, application/x-authorware-map, application/x-authorware-seg, application/x-bcpio, application/x-bdoc, application/x-bittorrent, application/x-blorb, application/x-bzip, application/x-bzip2, application/x-cbr, application/x-cdlink, application/x-cfs-compressed, application/x-chat, application/x-chess-pgn, application/x-chrome-extension, application/x-cocoa, application/x-compress, application/x-conference, application/x-cpio, application/x-csh, application/x-deb, application/x-debian-package, application/x-dgc-compressed, application/x-director, application/x-doom, application/x-dtbncx+xml, application/x-dtbook+xml, application/x-dtbresource+xml, application/x-dvi, application/x-envoy, application/x-eva, application/x-font-bdf, application/x-font-dos, application/x-font-framemaker, application/x-font-ghostscript, application/x-font-libgrx, application/x-font-linux-psf, application/x-font-pcf, application/x-font-snf, application/x-font-speedo, application/x-font-sunos-news, application/x-font-type1, application/x-font-vfont, application/x-freearc, application/x-futuresplash, application/x-gca-compressed, application/x-glulx, application/x-gnumeric, application/x-gramps-xml, application/x-gtar, application/x-gzip, application/x-hdf, application/x-httpd-php, application/x-install-instructions, application/x-iso9660-image, application/x-iwork-keynote-sffkey, application/x-iwork-numbers-sffnumbers, application/x-iwork-pages-sffpages, application/x-java-archive-diff, application/x-java-jnlp-file, application/x-javascript, application/x-keepass2, application/x-latex, application/x-lua-bytecode, application/x-lzh-compressed, application/x-makeself, application/x-mie, application/x-mobipocket-ebook, application/x-mpegurl, application/x-ms-application, application/x-ms-shortcut, application/x-ms-wmd, application/x-ms-wmz, application/x-ms-xbap, application/x-msaccess, application/x-msbinder, application/x-mscardfile, application/x-msclip, application/x-msdos-program, application/x-msdownload, application/x-msmediaview, application/x-msmetafile, application/x-msmoney, application/x-mspublisher, application/x-msschedule, application/x-msterminal, application/x-mswrite, application/x-netcdf, application/x-ns-proxy-autoconfig, application/x-nzb, application/x-perl, application/x-pilot, application/x-pkcs12, application/x-pkcs7-certificates, application/x-pkcs7-certreqresp, application/x-pki-message, application/x-rar-compressed, application/x-redhat-package-manager, application/x-research-info-systems, application/x-sea, application/x-sh, application/x-shar, application/x-shockwave-flash, application/x-silverlight-app, application/x-sql, application/x-stuffit, application/x-stuffitx, application/x-subrip, application/x-sv4cpio, application/x-sv4crc, application/x-t3vm-image, application/x-tads, application/x-tar, application/x-tcl, application/x-tex, application/x-tex-tfm, application/x-texinfo, application/x-tgif, application/x-ustar, application/x-virtualbox-hdd, application/x-virtualbox-ova, application/x-virtualbox-ovf, application/x-virtualbox-vbox, application/x-virtualbox-vbox-extpack, application/x-virtualbox-vdi, application/x-virtualbox-vhd, application/x-virtualbox-vmdk, application/x-wais-source, application/x-web-app-manifest+json, application/x-www-form-urlencoded, application/x-x509-ca-cert, application/x-x509-ca-ra-cert, application/x-x509-next-ca-cert, application/x-xfig, application/x-xliff+xml, application/x-xpinstall, application/x-xz, application/x-zmachine, application/x400-bp, application/xacml+xml, application/xaml+xml, application/xcap-att+xml, application/xcap-caps+xml, application/xcap-diff+xml, application/xcap-el+xml, application/xcap-error+xml, application/xcap-ns+xml, application/xcon-conference-info+xml, application/xcon-conference-info-diff+xml, application/xenc+xml, application/xhtml+xml, application/xhtml-voice+xml, application/xliff+xml, application/xml, application/xml-dtd, application/xml-external-parsed-entity, application/xml-patch+xml, application/xmpp+xml, application/xop+xml, application/xproc+xml, application/xslt+xml, application/xspf+xml, application/xv+xml, application/yang, application/yang-data+json, application/yang-data+xml, application/yang-patch+json, application/yang-patch+xml, application/yin+xml, application/zip, application/zlib, application/zstd, audio/1d-interleaved-parityfec, audio/32kadpcm, audio/3gpp, audio/3gpp2, audio/aac, audio/ac3, audio/adpcm, audio/amr, audio/amr-wb, audio/amr-wb+, audio/aptx, audio/asc, audio/atrac-advanced-lossless, audio/atrac-x, audio/atrac3, audio/basic, audio/bv16, audio/bv32, audio/clearmode, audio/cn, audio/dat12, audio/dls, audio/dsr-es201108, audio/dsr-es202050, audio/dsr-es202211, audio/dsr-es202212, audio/dv, audio/dvi4, audio/eac3, audio/encaprtp, audio/evrc, audio/evrc-qcp, audio/evrc0, audio/evrc1, audio/evrcb, audio/evrcb0, audio/evrcb1, audio/evrcnw, audio/evrcnw0, audio/evrcnw1, audio/evrcwb, audio/evrcwb0, audio/evrcwb1, audio/evs, audio/flexfec, audio/fwdred, audio/g711-0, audio/g719, audio/g722, audio/g7221, audio/g723, audio/g726-16, audio/g726-24, audio/g726-32, audio/g726-40, audio/g728, audio/g729, audio/g7291, audio/g729d, audio/g729e, audio/gsm, audio/gsm-efr, audio/gsm-hr-08, audio/ilbc, audio/ip-mr_v2.5, audio/isac, audio/l16, audio/l20, audio/l24, audio/l8, audio/lpc, audio/melp, audio/melp1200, audio/melp2400, audio/melp600, audio/mhas, audio/midi, audio/mobile-xmf, audio/mp3, audio/mp4, audio/mp4a-latm, audio/mpa, audio/mpa-robust, audio/mpeg, audio/mpeg4-generic, audio/musepack, audio/ogg, audio/opus, audio/parityfec, audio/pcma, audio/pcma-wb, audio/pcmu, audio/pcmu-wb, audio/prs.sid, audio/qcelp, audio/raptorfec, audio/red, audio/rtp-enc-aescm128, audio/rtp-midi, audio/rtploopback, audio/rtx, audio/s3m, audio/scip, audio/silk, audio/smv, audio/smv-qcp, audio/smv0, audio/sofa, audio/sp-midi, audio/speex, audio/t140c, audio/t38, audio/telephone-event, audio/tetra_acelp, audio/tetra_acelp_bb, audio/tone, audio/tsvcis, audio/uemclip, audio/ulpfec, audio/usac, audio/vdvi, audio/vmr-wb, audio/vnd.3gpp.iufp, audio/vnd.4sb, audio/vnd.audiokoz, audio/vnd.celp, audio/vnd.cisco.nse, audio/vnd.cmles.radio-events, audio/vnd.cns.anp1, audio/vnd.cns.inf1, audio/vnd.dece.audio, audio/vnd.digital-winds, audio/vnd.dlna.adts, audio/vnd.dolby.heaac.1, audio/vnd.dolby.heaac.2, audio/vnd.dolby.mlp, audio/vnd.dolby.mps, audio/vnd.dolby.pl2, audio/vnd.dolby.pl2x, audio/vnd.dolby.pl2z, audio/vnd.dolby.pulse.1, audio/vnd.dra, audio/vnd.dts, audio/vnd.dts.hd, audio/vnd.dts.uhd, audio/vnd.dvb.file, audio/vnd.everad.plj, audio/vnd.hns.audio, audio/vnd.lucent.voice, audio/vnd.ms-playready.media.pya, audio/vnd.nokia.mobile-xmf, audio/vnd.nortel.vbk, audio/vnd.nuera.ecelp4800, audio/vnd.nuera.ecelp7470, audio/vnd.nuera.ecelp9600, audio/vnd.octel.sbc, audio/vnd.presonus.multitrack, audio/vnd.qcelp, audio/vnd.rhetorex.32kadpcm, audio/vnd.rip, audio/vnd.rn-realaudio, audio/vnd.sealedmedia.softseal.mpeg, audio/vnd.vmx.cvsd, audio/vnd.wave, audio/vorbis, audio/vorbis-config, audio/wav, audio/wave, audio/webm, audio/x-aac, audio/x-aiff, audio/x-caf, audio/x-flac, audio/x-m4a, audio/x-matroska, audio/x-mpegurl, audio/x-ms-wax, audio/x-ms-wma, audio/x-pn-realaudio, audio/x-pn-realaudio-plugin, audio/x-realaudio, audio/x-tta, audio/x-wav, audio/xm, chemical/x-cdx, chemical/x-cif, chemical/x-cmdf, chemical/x-cml, chemical/x-csml, chemical/x-pdb, chemical/x-xyz, font/collection, font/otf, font/sfnt, font/ttf, font/woff, font/woff2, image/aces, image/apng, image/avci, image/avcs, image/avif, image/bmp, image/cgm, image/dicom-rle, image/emf, image/fits, image/g3fax, image/gif, image/heic, image/heic-sequence, image/heif, image/heif-sequence, image/hej2k, image/hsj2, image/ief, image/jls, image/jp2, image/jpeg, image/jph, image/jphc, image/jpm, image/jpx, image/jxr, image/jxra, image/jxrs, image/jxs, image/jxsc, image/jxsi, image/jxss, image/ktx, image/ktx2, image/naplps, image/pjpeg, image/png, image/prs.btif, image/prs.pti, image/pwg-raster, image/sgi, image/svg+xml, image/t38, image/tiff, image/tiff-fx, image/vnd.adobe.photoshop, image/vnd.airzip.accelerator.azv, image/vnd.cns.inf2, image/vnd.dece.graphic, image/vnd.djvu, image/vnd.dvb.subtitle, image/vnd.dwg, image/vnd.dxf, image/vnd.fastbidsheet, image/vnd.fpx, image/vnd.fst, image/vnd.fujixerox.edmics-mmr, image/vnd.fujixerox.edmics-rlc, image/vnd.globalgraphics.pgb, image/vnd.microsoft.icon, image/vnd.mix, image/vnd.mozilla.apng, image/vnd.ms-dds, image/vnd.ms-modi, image/vnd.ms-photo, image/vnd.net-fpx, image/vnd.pco.b16, image/vnd.radiance, image/vnd.sealed.png, image/vnd.sealedmedia.softseal.gif, image/vnd.sealedmedia.softseal.jpg, image/vnd.svf, image/vnd.tencent.tap, image/vnd.valve.source.texture, image/vnd.wap.wbmp, image/vnd.xiff, image/vnd.zbrush.pcx, image/webp, image/wmf, image/x-3ds, image/x-cmu-raster, image/x-cmx, image/x-freehand, image/x-icon, image/x-jng, image/x-mrsid-image, image/x-ms-bmp, image/x-pcx, image/x-pict, image/x-portable-anymap, image/x-portable-bitmap, image/x-portable-graymap, image/x-portable-pixmap, image/x-rgb, image/x-tga, image/x-xbitmap, image/x-xcf, image/x-xpixmap, image/x-xwindowdump, message/cpim, message/delivery-status, message/disposition-notification, message/external-body, message/feedback-report, message/global, message/global-delivery-status, message/global-disposition-notification, message/global-headers, message/http, message/imdn+xml, message/news, message/partial, message/rfc822, message/s-http, message/sip, message/sipfrag, message/tracking-status, message/vnd.si.simp, message/vnd.wfa.wsc, model/3mf, model/e57, model/gltf+json, model/gltf-binary, model/iges, model/mesh, model/mtl, model/obj, model/step, model/step+xml, model/step+zip, model/step-xml+zip, model/stl, model/vnd.collada+xml, model/vnd.dwf, model/vnd.flatland.3dml, model/vnd.gdl, model/vnd.gs-gdl, model/vnd.gs.gdl, model/vnd.gtw, model/vnd.moml+xml, model/vnd.mts, model/vnd.opengex, model/vnd.parasolid.transmit.binary, model/vnd.parasolid.transmit.text, model/vnd.pytha.pyox, model/vnd.rosette.annotated-data-model, model/vnd.sap.vds, model/vnd.usdz+zip, model/vnd.valve.source.compiled-map, model/vnd.vtu, model/vrml, model/x3d+binary, model/x3d+fastinfoset, model/x3d+vrml, model/x3d+xml, model/x3d-vrml, multipart/alternative, multipart/appledouble, multipart/byteranges, multipart/digest, multipart/encrypted, multipart/form-data, multipart/header-set, multipart/mixed, multipart/multilingual, multipart/parallel, multipart/related, multipart/report, multipart/signed, multipart/vnd.bint.med-plus, multipart/voice-message, multipart/x-mixed-replace, text/1d-interleaved-parityfec, text/cache-manifest, text/calendar, text/calender, text/cmd, text/coffeescript, text/cql, text/cql-expression, text/cql-identifier, text/css, text/csv, text/csv-schema, text/directory, text/dns, text/ecmascript, text/encaprtp, text/enriched, text/fhirpath, text/flexfec, text/fwdred, text/gff3, text/grammar-ref-list, text/html, text/jade, text/javascript, text/jcr-cnd, text/jsx, text/less, text/markdown, text/mathml, text/mdx, text/mizar, text/n3, text/parameters, text/parityfec, text/plain, text/provenance-notation, text/prs.fallenstein.rst, text/prs.lines.tag, text/prs.prop.logic, text/raptorfec, text/red, text/rfc822-headers, text/richtext, text/rtf, text/rtp-enc-aescm128, text/rtploopback, text/rtx, text/sgml, text/shaclc, text/shex, text/slim, text/spdx, text/strings, text/stylus, text/t140, text/tab-separated-values, text/troff, text/turtle, text/ulpfec, text/uri-list, text/vcard, text/vnd.a, text/vnd.abc, text/vnd.ascii-art, text/vnd.curl, text/vnd.curl.dcurl, text/vnd.curl.mcurl, text/vnd.curl.scurl, text/vnd.debian.copyright, text/vnd.dmclientscript, text/vnd.dvb.subtitle, text/vnd.esmertec.theme-descriptor, text/vnd.familysearch.gedcom, text/vnd.ficlab.flt, text/vnd.fly, text/vnd.fmi.flexstor, text/vnd.gml, text/vnd.graphviz, text/vnd.hans, text/vnd.hgl, text/vnd.in3d.3dml, text/vnd.in3d.spot, text/vnd.iptc.newsml, text/vnd.iptc.nitf, text/vnd.latex-z, text/vnd.motorola.reflex, text/vnd.ms-mediapackage, text/vnd.net2phone.commcenter.command, text/vnd.radisys.msml-basic-layout, text/vnd.senx.warpscript, text/vnd.si.uricatalogue, text/vnd.sosi, text/vnd.sun.j2me.app-descriptor, text/vnd.trolltech.linguist, text/vnd.wap.si, text/vnd.wap.sl, text/vnd.wap.wml, text/vnd.wap.wmlscript, text/vtt, text/x-asm, text/x-c, text/x-component, text/x-fortran, text/x-gwt-rpc, text/x-handlebars-template, text/x-java-source, text/x-jquery-tmpl, text/x-lua, text/x-markdown, text/x-nfo, text/x-opml, text/x-org, text/x-pascal, text/x-processing, text/x-sass, text/x-scss, text/x-setext, text/x-sfv, text/x-suse-ymp, text/x-uuencode, text/x-vcalendar, text/x-vcard, text/xml, text/xml-external-parsed-entity, text/yaml, video/1d-interleaved-parityfec, video/3gpp, video/3gpp-tt, video/3gpp2, video/av1, video/bmpeg, video/bt656, video/celb, video/dv, video/encaprtp, video/ffv1, video/flexfec, video/h261, video/h263, video/h263-1998, video/h263-2000, video/h264, video/h264-rcdo, video/h264-svc, video/h265, video/iso.segment, video/jpeg, video/jpeg2000, video/jpm, video/jxsv, video/mj2, video/mp1s, video/mp2p, video/mp2t, video/mp4, video/mp4v-es, video/mpeg, video/mpeg4-generic, video/mpv, video/nv, video/ogg, video/parityfec, video/pointer, video/quicktime, video/raptorfec, video/raw, video/rtp-enc-aescm128, video/rtploopback, video/rtx, video/scip, video/smpte291, video/smpte292m, video/ulpfec, video/vc1, video/vc2, video/vnd.cctv, video/vnd.dece.hd, video/vnd.dece.mobile, video/vnd.dece.mp4, video/vnd.dece.pd, video/vnd.dece.sd, video/vnd.dece.video, video/vnd.directv.mpeg, video/vnd.directv.mpeg-tts, video/vnd.dlna.mpeg-tts, video/vnd.dvb.file, video/vnd.fvt, video/vnd.hns.video, video/vnd.iptvforum.1dparityfec-1010, video/vnd.iptvforum.1dparityfec-2005, video/vnd.iptvforum.2dparityfec-1010, video/vnd.iptvforum.2dparityfec-2005, video/vnd.iptvforum.ttsavc, video/vnd.iptvforum.ttsmpeg2, video/vnd.motorola.video, video/vnd.motorola.videop, video/vnd.mpegurl, video/vnd.ms-playready.media.pyv, video/vnd.nokia.interleaved-multimedia, video/vnd.nokia.mp4vr, video/vnd.nokia.videovoip, video/vnd.objectvideo, video/vnd.radgamettools.bink, video/vnd.radgamettools.smacker, video/vnd.sealed.mpeg1, video/vnd.sealed.mpeg4, video/vnd.sealed.swf, video/vnd.sealedmedia.softseal.mov, video/vnd.uvvu.mp4, video/vnd.vivo, video/vnd.youtube.yt, video/vp8, video/vp9, video/webm, video/x-f4v, video/x-fli, video/x-flv, video/x-m4v, video/x-matroska, video/x-mng, video/x-ms-asf, video/x-ms-vob, video/x-ms-wm, video/x-ms-wmv, video/x-ms-wmx, video/x-ms-wvx, video/x-msvideo, video/x-sgi-movie, video/x-smv, x-conference/x-cooltalk, x-shader/x-fragment, x-shader/x-vertex, default */
575
575
  /*! all exports used */
576
576
  /***/ (function(module) {
577
577
 
578
- eval("module.exports = JSON.parse(\"{\\\"application/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/3gpdash-qoe-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/3gpp-ims+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/3gpphal+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/3gpphalforms+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/a2l\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ace+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/activemessage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/activity+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-costmap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-costmapfilter+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-directory+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointcost+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointcostparams+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointprop+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointpropparams+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-error+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-networkmap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-networkmapfilter+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-updatestreamcontrol+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-updatestreamparams+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/aml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/andrew-inset\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ez\\\"]},\\\"application/applefile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/applixware\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aw\\\"]},\\\"application/at+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atfx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atom+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atom\\\"]},\\\"application/atomcat+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atomcat\\\"]},\\\"application/atomdeleted+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atomdeleted\\\"]},\\\"application/atomicmail\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atomsvc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atomsvc\\\"]},\\\"application/atsc-dwd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dwd\\\"]},\\\"application/atsc-dynamic-event-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atsc-held+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"held\\\"]},\\\"application/atsc-rdt+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/atsc-rsat+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rsat\\\"]},\\\"application/atxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/auth-policy+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/bacnet-xdd+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/batch-smtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/bdoc\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bdoc\\\"]},\\\"application/beep+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/calendar+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/calendar+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xcs\\\"]},\\\"application/call-completion\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cals-1840\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/captive+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cbor-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cccex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ccmp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ccxml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ccxml\\\"]},\\\"application/cdfx+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"cdfx\\\"]},\\\"application/cdmi-capability\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmia\\\"]},\\\"application/cdmi-container\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmic\\\"]},\\\"application/cdmi-domain\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmid\\\"]},\\\"application/cdmi-object\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmio\\\"]},\\\"application/cdmi-queue\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmiq\\\"]},\\\"application/cdni\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cea\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cea-2018+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cellml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cfw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/city+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/clr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/clue+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/clue_info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cnrp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/coap-group+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/coap-payload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/commonground\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/conference-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cose\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cose-key\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cose-key-set\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cpl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"cpl\\\"]},\\\"application/csrattrs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/csta+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cstadata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/csvm+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cu-seeme\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cu\\\"]},\\\"application/cwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cybercash\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dart\\\":{\\\"compressible\\\":true},\\\"application/dash+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpd\\\"]},\\\"application/dash-patch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpp\\\"]},\\\"application/dashdelta\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/davmount+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"davmount\\\"]},\\\"application/dca-rft\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dcd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dec-dx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dialog-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dicom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dicom+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dicom+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dii\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dit\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dns\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dns+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dns-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/docbook+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dbk\\\"]},\\\"application/dots+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dskpp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dssc+der\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dssc\\\"]},\\\"application/dssc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdssc\\\"]},\\\"application/dvcs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ecmascript\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"es\\\",\\\"ecma\\\"]},\\\"application/edi-consent\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/edi-x12\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/edifact\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/efi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/elm+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/elm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.cap+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.comment+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.control+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.deviceinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.ecall.msd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/emergencycalldata.providerinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.serviceinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.subscriberinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.veds+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emma+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"emma\\\"]},\\\"application/emotionml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"emotionml\\\"]},\\\"application/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/epp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/epub+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"epub\\\"]},\\\"application/eshop\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/exi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"exi\\\"]},\\\"application/expect-ct-report+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/express\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"exp\\\"]},\\\"application/fastinfoset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/fastsoap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/fdt+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"fdt\\\"]},\\\"application/fhir+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/fhir+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/fido.trusted-apps+json\\\":{\\\"compressible\\\":true},\\\"application/fits\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/font-sfnt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/font-tdpfr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pfr\\\"]},\\\"application/font-woff\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/framework-attributes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/geo+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"geojson\\\"]},\\\"application/geo+json-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/geopackage+sqlite3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/geoxacml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/gltf-buffer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/gml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"gml\\\"]},\\\"application/gpx+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"gpx\\\"]},\\\"application/gxf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gxf\\\"]},\\\"application/gzip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gz\\\"]},\\\"application/h224\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/held+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/hjson\\\":{\\\"extensions\\\":[\\\"hjson\\\"]},\\\"application/http\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/hyperstudio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"stk\\\"]},\\\"application/ibe-key-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ibe-pkg-reply+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ibe-pp-data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/iges\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/im-iscomposing+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/index\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.cmd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.obj\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.vnd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/inkml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ink\\\",\\\"inkml\\\"]},\\\"application/iotp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ipfix\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ipfix\\\"]},\\\"application/ipp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/isup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/its+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"its\\\"]},\\\"application/java-archive\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jar\\\",\\\"war\\\",\\\"ear\\\"]},\\\"application/java-serialized-object\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ser\\\"]},\\\"application/java-vm\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"class\\\"]},\\\"application/javascript\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"js\\\",\\\"mjs\\\"]},\\\"application/jf2feed+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jose\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/jose+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jrd+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jscalendar+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"json\\\",\\\"map\\\"]},\\\"application/json-patch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/json-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/json5\\\":{\\\"extensions\\\":[\\\"json5\\\"]},\\\"application/jsonml+json\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"jsonml\\\"]},\\\"application/jwk+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jwk-set+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/kpml-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/kpml-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ld+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"jsonld\\\"]},\\\"application/lgr+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lgr\\\"]},\\\"application/link-format\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/load-control+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/lost+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lostxml\\\"]},\\\"application/lostsync+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/lpf+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/lxf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mac-binhex40\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hqx\\\"]},\\\"application/mac-compactpro\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cpt\\\"]},\\\"application/macwriteii\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mads+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mads\\\"]},\\\"application/manifest+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"webmanifest\\\"]},\\\"application/marc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mrc\\\"]},\\\"application/marcxml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mrcx\\\"]},\\\"application/mathematica\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ma\\\",\\\"nb\\\",\\\"mb\\\"]},\\\"application/mathml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mathml\\\"]},\\\"application/mathml-content+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mathml-presentation+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-associated-procedure-description+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-deregister+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-envelope+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-msk+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-msk-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-protection-description+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-reception-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-register+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-register-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-schedule+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-user-service-description+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbox\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mbox\\\"]},\\\"application/media-policy-dataset+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpf\\\"]},\\\"application/media_control+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mediaservercontrol+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mscml\\\"]},\\\"application/merge-patch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/metalink+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"metalink\\\"]},\\\"application/metalink4+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"meta4\\\"]},\\\"application/mets+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mets\\\"]},\\\"application/mf4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mikey\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mipc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/missing-blocks+cbor-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mmt-aei+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"maei\\\"]},\\\"application/mmt-usd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"musd\\\"]},\\\"application/mods+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mods\\\"]},\\\"application/moss-keys\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/moss-signature\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mosskey-data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mosskey-request\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mp21\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"m21\\\",\\\"mp21\\\"]},\\\"application/mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mp4s\\\",\\\"m4p\\\"]},\\\"application/mpeg4-generic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mpeg4-iod\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mpeg4-iod-xmt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mrb-consumer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mrb-publish+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/msc-ivr+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/msc-mixer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/msword\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"doc\\\",\\\"dot\\\"]},\\\"application/mud+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/multipart-core\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mxf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxf\\\"]},\\\"application/n-quads\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nq\\\"]},\\\"application/n-triples\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nt\\\"]},\\\"application/nasdata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/news-checkgroups\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"US-ASCII\\\"},\\\"application/news-groupinfo\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"US-ASCII\\\"},\\\"application/news-transmission\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/nlsml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/node\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cjs\\\"]},\\\"application/nss\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oauth-authz-req+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oblivious-dns-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ocsp-request\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ocsp-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/octet-stream\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bin\\\",\\\"dms\\\",\\\"lrf\\\",\\\"mar\\\",\\\"so\\\",\\\"dist\\\",\\\"distz\\\",\\\"pkg\\\",\\\"bpk\\\",\\\"dump\\\",\\\"elc\\\",\\\"deploy\\\",\\\"exe\\\",\\\"dll\\\",\\\"deb\\\",\\\"dmg\\\",\\\"iso\\\",\\\"img\\\",\\\"msi\\\",\\\"msp\\\",\\\"msm\\\",\\\"buffer\\\"]},\\\"application/oda\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oda\\\"]},\\\"application/odm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/odx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oebps-package+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"opf\\\"]},\\\"application/ogg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ogx\\\"]},\\\"application/omdoc+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"omdoc\\\"]},\\\"application/onenote\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"onetoc\\\",\\\"onetoc2\\\",\\\"onetmp\\\",\\\"onepkg\\\"]},\\\"application/opc-nodeset+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/oscore\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oxps\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oxps\\\"]},\\\"application/p21\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/p21+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/p2p-overlay+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"relo\\\"]},\\\"application/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/passport\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/patch-ops-error+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xer\\\"]},\\\"application/pdf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pdf\\\"]},\\\"application/pdx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pem-certificate-chain\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pgp-encrypted\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pgp\\\"]},\\\"application/pgp-keys\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"asc\\\"]},\\\"application/pgp-signature\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"asc\\\",\\\"sig\\\"]},\\\"application/pics-rules\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"prf\\\"]},\\\"application/pidf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/pidf-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/pkcs10\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p10\\\"]},\\\"application/pkcs12\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pkcs7-mime\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p7m\\\",\\\"p7c\\\"]},\\\"application/pkcs7-signature\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p7s\\\"]},\\\"application/pkcs8\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p8\\\"]},\\\"application/pkcs8-encrypted\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pkix-attr-cert\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ac\\\"]},\\\"application/pkix-cert\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cer\\\"]},\\\"application/pkix-crl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"crl\\\"]},\\\"application/pkix-pkipath\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pkipath\\\"]},\\\"application/pkixcmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pki\\\"]},\\\"application/pls+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pls\\\"]},\\\"application/poc-settings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/postscript\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ai\\\",\\\"eps\\\",\\\"ps\\\"]},\\\"application/ppsp-tracker+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/problem+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/problem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/provenance+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"provx\\\"]},\\\"application/prs.alvestrand.titrax-sheet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.cww\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cww\\\"]},\\\"application/prs.cyn\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"7-BIT\\\"},\\\"application/prs.hpub+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/prs.nprend\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.plucker\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.rdf-xml-crypt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.xsf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/pskc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pskcxml\\\"]},\\\"application/pvd+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/qsig\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/raml+yaml\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"raml\\\"]},\\\"application/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rdap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/rdf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rdf\\\",\\\"owl\\\"]},\\\"application/reginfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rif\\\"]},\\\"application/relax-ng-compact-syntax\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rnc\\\"]},\\\"application/remote-printing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/reputon+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/resource-lists+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rl\\\"]},\\\"application/resource-lists-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rld\\\"]},\\\"application/rfc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/riscos\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rlmi+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/rls-services+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rs\\\"]},\\\"application/route-apd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rapd\\\"]},\\\"application/route-s-tsid+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sls\\\"]},\\\"application/route-usd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rusd\\\"]},\\\"application/rpki-ghostbusters\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gbr\\\"]},\\\"application/rpki-manifest\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mft\\\"]},\\\"application/rpki-publication\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rpki-roa\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"roa\\\"]},\\\"application/rpki-updown\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rsd+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rsd\\\"]},\\\"application/rss+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rss\\\"]},\\\"application/rtf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rtf\\\"]},\\\"application/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/samlassertion+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/samlmetadata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sarif+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sarif-external-properties+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sbe\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sbml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sbml\\\"]},\\\"application/scaip+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/scim+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/scvp-cv-request\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"scq\\\"]},\\\"application/scvp-cv-response\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"scs\\\"]},\\\"application/scvp-vp-request\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spq\\\"]},\\\"application/scvp-vp-response\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spp\\\"]},\\\"application/sdp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sdp\\\"]},\\\"application/secevent+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/senml+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/senml+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/senml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"senmlx\\\"]},\\\"application/senml-etch+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/senml-etch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/senml-exi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sensml+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sensml+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sensml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sensmlx\\\"]},\\\"application/sensml-exi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sep+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sep-exi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/session-info\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/set-payment\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/set-payment-initiation\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"setpay\\\"]},\\\"application/set-registration\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/set-registration-initiation\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"setreg\\\"]},\\\"application/sgml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sgml-open-catalog\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/shf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"shf\\\"]},\\\"application/sieve\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"siv\\\",\\\"sieve\\\"]},\\\"application/simple-filter+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/simple-message-summary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/simplesymbolcontainer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sipc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/slate\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/smil\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/smil+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"smi\\\",\\\"smil\\\"]},\\\"application/smpte336m\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/soap+fastinfoset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/soap+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sparql-query\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rq\\\"]},\\\"application/sparql-results+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"srx\\\"]},\\\"application/spdx+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/spirits-event+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sql\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/srgs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gram\\\"]},\\\"application/srgs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"grxml\\\"]},\\\"application/sru+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sru\\\"]},\\\"application/ssdl+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ssdl\\\"]},\\\"application/ssml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ssml\\\"]},\\\"application/stix+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/swid+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"swidtag\\\"]},\\\"application/tamp-apex-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-apex-update-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-community-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-community-update-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-error\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-sequence-adjust\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-sequence-adjust-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-status-query\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-status-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-update-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tar\\\":{\\\"compressible\\\":true},\\\"application/taxii+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/td+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/tei+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tei\\\",\\\"teicorpus\\\"]},\\\"application/tetra_isi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/thraud+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tfi\\\"]},\\\"application/timestamp-query\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/timestamp-reply\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/timestamped-data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tsd\\\"]},\\\"application/tlsrpt+gzip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tlsrpt+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/tnauthlist\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/token-introspection+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/toml\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"toml\\\"]},\\\"application/trickle-ice-sdpfrag\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/trig\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"trig\\\"]},\\\"application/ttml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ttml\\\"]},\\\"application/tve-trigger\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tzif\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tzif-leap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ubjson\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ubj\\\"]},\\\"application/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/urc-grpsheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/urc-ressheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rsheet\\\"]},\\\"application/urc-targetdesc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"td\\\"]},\\\"application/urc-uisocketdesc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vcard+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vcard+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vemmi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vividence.scriptfile\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/vnd.1000minds.decision-model+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"1km\\\"]},\\\"application/vnd.3gpp-prose+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp-prose-pc3ch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp-v2x-local-service-information\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.5gnas\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.access-transfer-events+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.bsf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.gmop+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.gtpc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.interworking-data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.lpp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mc-signalling-ear\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mcdata-affiliation-command+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-payload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mcdata-service-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-signalling\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mcdata-ue-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-user-profile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-affiliation-command+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-floor-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-location-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-mbms-usage-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-service-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-signed+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-ue-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-ue-init-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-user-profile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-affiliation-command+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-affiliation-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-location-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-service-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-transmission-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-ue-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-user-profile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mid-call+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.ngap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.pfcp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.pic-bw-large\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"plb\\\"]},\\\"application/vnd.3gpp.pic-bw-small\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"psb\\\"]},\\\"application/vnd.3gpp.pic-bw-var\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pvb\\\"]},\\\"application/vnd.3gpp.s1ap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.sms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.sms+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.srvcc-ext+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.srvcc-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.state-and-event-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.ussd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp2.bcmcsinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp2.sms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp2.tcap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tcap\\\"]},\\\"application/vnd.3lightssoftware.imagescal\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3m.post-it-notes\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pwn\\\"]},\\\"application/vnd.accpac.simply.aso\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"aso\\\"]},\\\"application/vnd.accpac.simply.imp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"imp\\\"]},\\\"application/vnd.acucobol\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"acu\\\"]},\\\"application/vnd.acucorp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"atc\\\",\\\"acutc\\\"]},\\\"application/vnd.adobe.air-application-installer-package+zip\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"air\\\"]},\\\"application/vnd.adobe.flash.movie\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.adobe.formscentral.fcdt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fcdt\\\"]},\\\"application/vnd.adobe.fxp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fxp\\\",\\\"fxpl\\\"]},\\\"application/vnd.adobe.partial-upload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.adobe.xdp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdp\\\"]},\\\"application/vnd.adobe.xfdf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xfdf\\\"]},\\\"application/vnd.aether.imp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.afplinedata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.afplinedata-pagedef\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.cmoca-cmresource\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.foca-charset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.foca-codedfont\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.foca-codepage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-cmtable\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-formdef\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-mediummap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-objectcontainer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-overlay\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-pagesegment\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.age\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"age\\\"]},\\\"application/vnd.ah-barcode\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ahead.space\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ahead\\\"]},\\\"application/vnd.airzip.filesecure.azf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"azf\\\"]},\\\"application/vnd.airzip.filesecure.azs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"azs\\\"]},\\\"application/vnd.amadeus+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.amazon.ebook\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"azw\\\"]},\\\"application/vnd.amazon.mobi8-ebook\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.americandynamics.acc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"acc\\\"]},\\\"application/vnd.amiga.ami\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ami\\\"]},\\\"application/vnd.amundsen.maze+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.android.ota\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.android.package-archive\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"apk\\\"]},\\\"application/vnd.anki\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.anser-web-certificate-issue-initiation\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cii\\\"]},\\\"application/vnd.anser-web-funds-transfer-initiation\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fti\\\"]},\\\"application/vnd.antix.game-component\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"atx\\\"]},\\\"application/vnd.apache.arrow.file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.arrow.stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.thrift.binary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.thrift.compact\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.thrift.json\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.api+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.aplextor.warrp+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.apothekende.reservation+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.apple.installer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpkg\\\"]},\\\"application/vnd.apple.keynote\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"key\\\"]},\\\"application/vnd.apple.mpegurl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"m3u8\\\"]},\\\"application/vnd.apple.numbers\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"numbers\\\"]},\\\"application/vnd.apple.pages\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pages\\\"]},\\\"application/vnd.apple.pkpass\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pkpass\\\"]},\\\"application/vnd.arastra.swi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.aristanetworks.swi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"swi\\\"]},\\\"application/vnd.artisan+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.artsquare\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.astraea-software.iota\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"iota\\\"]},\\\"application/vnd.audiograph\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"aep\\\"]},\\\"application/vnd.autopackage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.avalon+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.avistar+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.balsamiq.bmml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"bmml\\\"]},\\\"application/vnd.balsamiq.bmpr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.banana-accounting\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bbf.usp.error\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bbf.usp.msg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bbf.usp.msg+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.bekitzur-stech+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.bint.med-content\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.biopax.rdf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.blink-idb-value-wrapper\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.blueice.multipass\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpm\\\"]},\\\"application/vnd.bluetooth.ep.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bluetooth.le.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bmi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bmi\\\"]},\\\"application/vnd.bpf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bpf3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.businessobjects\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rep\\\"]},\\\"application/vnd.byu.uapi+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cab-jscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.canon-cpdl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.canon-lips\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.capasystems-pg+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cendio.thinlinc.clientconf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.century-systems.tcp_stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.chemdraw+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"cdxml\\\"]},\\\"application/vnd.chess-pgn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.chipnuts.karaoke-mmd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mmd\\\"]},\\\"application/vnd.ciedi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cinderella\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdy\\\"]},\\\"application/vnd.cirpack.isdn-ext\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.citationstyles.style+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"csl\\\"]},\\\"application/vnd.claymore\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cla\\\"]},\\\"application/vnd.cloanto.rp9\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rp9\\\"]},\\\"application/vnd.clonk.c4group\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"c4g\\\",\\\"c4d\\\",\\\"c4f\\\",\\\"c4p\\\",\\\"c4u\\\"]},\\\"application/vnd.cluetrust.cartomobile-config\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"c11amc\\\"]},\\\"application/vnd.cluetrust.cartomobile-config-pkg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"c11amz\\\"]},\\\"application/vnd.coffeescript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.document\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.document-template\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.presentation\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.presentation-template\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.spreadsheet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.spreadsheet-template\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collection+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.collection.doc+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.collection.next+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.comicbook+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.comicbook-rar\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.commerce-battelle\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.commonspace\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"csp\\\"]},\\\"application/vnd.contact.cmsg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdbcmsg\\\"]},\\\"application/vnd.coreos.ignition+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cosmocaller\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cmc\\\"]},\\\"application/vnd.crick.clicker\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkx\\\"]},\\\"application/vnd.crick.clicker.keyboard\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkk\\\"]},\\\"application/vnd.crick.clicker.palette\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkp\\\"]},\\\"application/vnd.crick.clicker.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkt\\\"]},\\\"application/vnd.crick.clicker.wordbank\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkw\\\"]},\\\"application/vnd.criticaltools.wbs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wbs\\\"]},\\\"application/vnd.cryptii.pipe+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.crypto-shade-file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cryptomator.encrypted\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cryptomator.vault\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ctc-posml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pml\\\"]},\\\"application/vnd.ctct.ws+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cups-pdf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cups-postscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cups-ppd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppd\\\"]},\\\"application/vnd.cups-raster\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cups-raw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.curl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.curl.car\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"car\\\"]},\\\"application/vnd.curl.pcurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pcurl\\\"]},\\\"application/vnd.cyan.dean.root+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cybank\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cyclonedx+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cyclonedx+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.d2l.coursepackage1p0+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.d3m-dataset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.d3m-problem\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dart\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dart\\\"]},\\\"application/vnd.data-vision.rdz\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rdz\\\"]},\\\"application/vnd.datapackage+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dataresource+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dbf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dbf\\\"]},\\\"application/vnd.debian.binary-package\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dece.data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvf\\\",\\\"uvvf\\\",\\\"uvd\\\",\\\"uvvd\\\"]},\\\"application/vnd.dece.ttml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"uvt\\\",\\\"uvvt\\\"]},\\\"application/vnd.dece.unspecified\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvx\\\",\\\"uvvx\\\"]},\\\"application/vnd.dece.zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvz\\\",\\\"uvvz\\\"]},\\\"application/vnd.denovo.fcselayout-link\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fe_launch\\\"]},\\\"application/vnd.desmume.movie\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dir-bi.plate-dl-nosuffix\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dm.delegation+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dna\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dna\\\"]},\\\"application/vnd.document+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dolby.mlp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mlp\\\"]},\\\"application/vnd.dolby.mobile.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dolby.mobile.2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.doremir.scorecloud-binary-document\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dpgraph\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dpg\\\"]},\\\"application/vnd.dreamfactory\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dfac\\\"]},\\\"application/vnd.drive+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ds-keypoint\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"kpxx\\\"]},\\\"application/vnd.dtg.local\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dtg.local.flash\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dtg.local.html\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ait\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ait\\\"]},\\\"application/vnd.dvb.dvbisl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.dvbj\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.esgcontainer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcdftnotifaccess\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcesgaccess\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcesgaccess2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcesgpdd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcroaming\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.iptv.alfec-base\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.iptv.alfec-enhancement\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.notif-aggregate-root+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-container+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-generic+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-ia-msglist+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-ia-registration-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-ia-registration-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-init+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.pfr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.service\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"svc\\\"]},\\\"application/vnd.dxr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dynageo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"geo\\\"]},\\\"application/vnd.dzr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.easykaraoke.cdgdownload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecdis-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecip.rlp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.eclipse.ditto+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ecowin.chart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mag\\\"]},\\\"application/vnd.ecowin.filerequest\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.fileupdate\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.series\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.seriesrequest\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.seriesupdate\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.efi.img\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.efi.iso\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.emclient.accessrequest+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.enliven\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nml\\\"]},\\\"application/vnd.enphase.envoy\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.eprints.data+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.epson.esf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"esf\\\"]},\\\"application/vnd.epson.msf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"msf\\\"]},\\\"application/vnd.epson.quickanime\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qam\\\"]},\\\"application/vnd.epson.salt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"slt\\\"]},\\\"application/vnd.epson.ssf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ssf\\\"]},\\\"application/vnd.ericsson.quickcall\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.espass-espass+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.eszigno3+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"es3\\\",\\\"et3\\\"]},\\\"application/vnd.etsi.aoc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.asic-e+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.etsi.asic-s+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.etsi.cug+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvcommand+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvdiscovery+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsad-bc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsad-cod+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsad-npvr+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvservice+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsync+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvueprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.mcid+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.mheg5\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.etsi.overload-control-policy-dataset+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.pstn+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.sci+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.simservs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.timestamp-token\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.etsi.tsl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.tsl.der\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.eu.kasparian.car+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.eudora.data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.evolv.ecig.profile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.evolv.ecig.settings\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.evolv.ecig.theme\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.exstream-empower+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.exstream-package\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ezpix-album\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ez2\\\"]},\\\"application/vnd.ezpix-package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ez3\\\"]},\\\"application/vnd.f-secure.mobile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.familysearch.gedcom+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.fastcopy-disk-image\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fdf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fdf\\\"]},\\\"application/vnd.fdsn.mseed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mseed\\\"]},\\\"application/vnd.fdsn.seed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"seed\\\",\\\"dataless\\\"]},\\\"application/vnd.ffsns\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ficlab.flb+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.filmit.zfc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fints\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.firemonkeys.cloudcell\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.flographit\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gph\\\"]},\\\"application/vnd.fluxtime.clip\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ftc\\\"]},\\\"application/vnd.font-fontforge-sfd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.framemaker\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fm\\\",\\\"frame\\\",\\\"maker\\\",\\\"book\\\"]},\\\"application/vnd.frogans.fnc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fnc\\\"]},\\\"application/vnd.frogans.ltf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ltf\\\"]},\\\"application/vnd.fsc.weblaunch\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fsc\\\"]},\\\"application/vnd.fujifilm.fb.docuworks\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujifilm.fb.docuworks.binder\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujifilm.fb.docuworks.container\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujifilm.fb.jfi+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.fujitsu.oasys\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oas\\\"]},\\\"application/vnd.fujitsu.oasys2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oa2\\\"]},\\\"application/vnd.fujitsu.oasys3\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oa3\\\"]},\\\"application/vnd.fujitsu.oasysgp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fg5\\\"]},\\\"application/vnd.fujitsu.oasysprs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bh2\\\"]},\\\"application/vnd.fujixerox.art-ex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujixerox.art4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujixerox.ddd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ddd\\\"]},\\\"application/vnd.fujixerox.docuworks\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xdw\\\"]},\\\"application/vnd.fujixerox.docuworks.binder\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xbd\\\"]},\\\"application/vnd.fujixerox.docuworks.container\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujixerox.hbpl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fut-misnet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.futoin+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.futoin+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.fuzzysheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fzs\\\"]},\\\"application/vnd.genomatix.tuxedo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"txd\\\"]},\\\"application/vnd.gentics.grd+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.geo+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.geocube+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.geogebra.file\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ggb\\\"]},\\\"application/vnd.geogebra.slides\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.geogebra.tool\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ggt\\\"]},\\\"application/vnd.geometry-explorer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gex\\\",\\\"gre\\\"]},\\\"application/vnd.geonext\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gxt\\\"]},\\\"application/vnd.geoplan\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"g2w\\\"]},\\\"application/vnd.geospace\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"g3w\\\"]},\\\"application/vnd.gerber\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.globalplatform.card-content-mgt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.globalplatform.card-content-mgt-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.gmx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gmx\\\"]},\\\"application/vnd.google-apps.document\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gdoc\\\"]},\\\"application/vnd.google-apps.presentation\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gslides\\\"]},\\\"application/vnd.google-apps.spreadsheet\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gsheet\\\"]},\\\"application/vnd.google-earth.kml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"kml\\\"]},\\\"application/vnd.google-earth.kmz\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"kmz\\\"]},\\\"application/vnd.gov.sk.e-form+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.gov.sk.e-form+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.gov.sk.xmldatacontainer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.grafeq\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gqf\\\",\\\"gqs\\\"]},\\\"application/vnd.gridmp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.groove-account\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gac\\\"]},\\\"application/vnd.groove-help\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ghf\\\"]},\\\"application/vnd.groove-identity-message\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gim\\\"]},\\\"application/vnd.groove-injector\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"grv\\\"]},\\\"application/vnd.groove-tool-message\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gtm\\\"]},\\\"application/vnd.groove-tool-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tpl\\\"]},\\\"application/vnd.groove-vcard\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vcg\\\"]},\\\"application/vnd.hal+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hal+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"hal\\\"]},\\\"application/vnd.handheld-entertainment+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"zmm\\\"]},\\\"application/vnd.hbci\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hbci\\\"]},\\\"application/vnd.hc+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hcl-bireports\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.hdt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.heroku+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hhe.lesson-player\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"les\\\"]},\\\"application/vnd.hl7cda+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.hl7v2+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.hp-hpgl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hpgl\\\"]},\\\"application/vnd.hp-hpid\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hpid\\\"]},\\\"application/vnd.hp-hps\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hps\\\"]},\\\"application/vnd.hp-jlyt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jlt\\\"]},\\\"application/vnd.hp-pcl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pcl\\\"]},\\\"application/vnd.hp-pclxl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pclxl\\\"]},\\\"application/vnd.httphone\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.hydrostatix.sof-data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sfd-hdstx\\\"]},\\\"application/vnd.hyper+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hyper-item+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hyperdrive+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hzn-3d-crossword\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ibm.afplinedata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ibm.electronic-media\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ibm.minipay\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpy\\\"]},\\\"application/vnd.ibm.modcap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"afp\\\",\\\"listafp\\\",\\\"list3820\\\"]},\\\"application/vnd.ibm.rights-management\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"irm\\\"]},\\\"application/vnd.ibm.secure-container\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sc\\\"]},\\\"application/vnd.iccprofile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"icc\\\",\\\"icm\\\"]},\\\"application/vnd.ieee.1905\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.igloader\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"igl\\\"]},\\\"application/vnd.imagemeter.folder+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.imagemeter.image+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.immervision-ivp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ivp\\\"]},\\\"application/vnd.immervision-ivu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ivu\\\"]},\\\"application/vnd.ims.imsccv1p1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ims.imsccv1p2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ims.imsccv1p3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ims.lis.v2.result+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolconsumerprofile+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolproxy+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolproxy.id+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolsettings+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolsettings.simple+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.informedcontrol.rms+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.informix-visionary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.infotech.project\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.infotech.project+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.innopath.wamp.notification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.insors.igm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"igm\\\"]},\\\"application/vnd.intercon.formnet\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xpw\\\",\\\"xpx\\\"]},\\\"application/vnd.intergeo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"i2g\\\"]},\\\"application/vnd.intertrust.digibox\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.intertrust.nncp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.intu.qbo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qbo\\\"]},\\\"application/vnd.intu.qfx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qfx\\\"]},\\\"application/vnd.iptc.g2.catalogitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.conceptitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.knowledgeitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.newsitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.newsmessage+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.packageitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.planningitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ipunplugged.rcprofile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rcprofile\\\"]},\\\"application/vnd.irepository.package+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"irp\\\"]},\\\"application/vnd.is-xpr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xpr\\\"]},\\\"application/vnd.isac.fcs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fcs\\\"]},\\\"application/vnd.iso11783-10+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.jam\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jam\\\"]},\\\"application/vnd.japannet-directory-service\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-jpnstore-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-payment-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-registration\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-registration-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-setstore-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-verification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-verification-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.jcp.javame.midlet-rms\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rms\\\"]},\\\"application/vnd.jisp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jisp\\\"]},\\\"application/vnd.joost.joda-archive\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"joda\\\"]},\\\"application/vnd.jsk.isdn-ngn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.kahootz\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ktz\\\",\\\"ktr\\\"]},\\\"application/vnd.kde.karbon\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"karbon\\\"]},\\\"application/vnd.kde.kchart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"chrt\\\"]},\\\"application/vnd.kde.kformula\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kfo\\\"]},\\\"application/vnd.kde.kivio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"flw\\\"]},\\\"application/vnd.kde.kontour\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kon\\\"]},\\\"application/vnd.kde.kpresenter\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kpr\\\",\\\"kpt\\\"]},\\\"application/vnd.kde.kspread\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ksp\\\"]},\\\"application/vnd.kde.kword\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kwd\\\",\\\"kwt\\\"]},\\\"application/vnd.kenameaapp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"htke\\\"]},\\\"application/vnd.kidspiration\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kia\\\"]},\\\"application/vnd.kinar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kne\\\",\\\"knp\\\"]},\\\"application/vnd.koan\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"skp\\\",\\\"skd\\\",\\\"skt\\\",\\\"skm\\\"]},\\\"application/vnd.kodak-descriptor\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sse\\\"]},\\\"application/vnd.las\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.las.las+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.las.las+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lasxml\\\"]},\\\"application/vnd.laszip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.leap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.liberty-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.llamagraphics.life-balance.desktop\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lbd\\\"]},\\\"application/vnd.llamagraphics.life-balance.exchange+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lbe\\\"]},\\\"application/vnd.logipipe.circuit+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.loom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.lotus-1-2-3\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"123\\\"]},\\\"application/vnd.lotus-approach\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"apr\\\"]},\\\"application/vnd.lotus-freelance\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pre\\\"]},\\\"application/vnd.lotus-notes\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nsf\\\"]},\\\"application/vnd.lotus-organizer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"org\\\"]},\\\"application/vnd.lotus-screencam\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"scm\\\"]},\\\"application/vnd.lotus-wordpro\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lwp\\\"]},\\\"application/vnd.macports.portpkg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"portpkg\\\"]},\\\"application/vnd.mapbox-vector-tile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mvt\\\"]},\\\"application/vnd.marlin.drm.actiontoken+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.marlin.drm.conftoken+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.marlin.drm.license+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.marlin.drm.mdcf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mason+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.maxar.archive.3tz+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.maxmind.maxmind-db\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mcd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mcd\\\"]},\\\"application/vnd.medcalcdata\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mc1\\\"]},\\\"application/vnd.mediastation.cdkey\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdkey\\\"]},\\\"application/vnd.meridian-slingshot\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mfer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mwf\\\"]},\\\"application/vnd.mfmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mfm\\\"]},\\\"application/vnd.micro+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.micrografx.flo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"flo\\\"]},\\\"application/vnd.micrografx.igx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"igx\\\"]},\\\"application/vnd.microsoft.portable-executable\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.microsoft.windows.thumbnail-cache\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.miele+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.mif\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mif\\\"]},\\\"application/vnd.minisoft-hp3000-save\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mitsubishi.misty-guard.trustweb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mobius.daf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"daf\\\"]},\\\"application/vnd.mobius.dis\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dis\\\"]},\\\"application/vnd.mobius.mbk\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mbk\\\"]},\\\"application/vnd.mobius.mqy\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mqy\\\"]},\\\"application/vnd.mobius.msl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"msl\\\"]},\\\"application/vnd.mobius.plc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"plc\\\"]},\\\"application/vnd.mobius.txf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"txf\\\"]},\\\"application/vnd.mophun.application\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpn\\\"]},\\\"application/vnd.mophun.certificate\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpc\\\"]},\\\"application/vnd.motorola.flexsuite\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.adsi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.fis\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.gotap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.kmr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.ttc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.wem\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.iprm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mozilla.xul+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xul\\\"]},\\\"application/vnd.ms-3mfdocument\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-artgalry\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cil\\\"]},\\\"application/vnd.ms-asf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-cab-compressed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cab\\\"]},\\\"application/vnd.ms-color.iccprofile\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/vnd.ms-excel\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xls\\\",\\\"xlm\\\",\\\"xla\\\",\\\"xlc\\\",\\\"xlt\\\",\\\"xlw\\\"]},\\\"application/vnd.ms-excel.addin.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xlam\\\"]},\\\"application/vnd.ms-excel.sheet.binary.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xlsb\\\"]},\\\"application/vnd.ms-excel.sheet.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xlsm\\\"]},\\\"application/vnd.ms-excel.template.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xltm\\\"]},\\\"application/vnd.ms-fontobject\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"eot\\\"]},\\\"application/vnd.ms-htmlhelp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"chm\\\"]},\\\"application/vnd.ms-ims\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ims\\\"]},\\\"application/vnd.ms-lrm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lrm\\\"]},\\\"application/vnd.ms-office.activex+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-officetheme\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"thmx\\\"]},\\\"application/vnd.ms-opentype\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-outlook\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"msg\\\"]},\\\"application/vnd.ms-package.obfuscated-opentype\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/vnd.ms-pki.seccat\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cat\\\"]},\\\"application/vnd.ms-pki.stl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"stl\\\"]},\\\"application/vnd.ms-playready.initiator+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-powerpoint\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ppt\\\",\\\"pps\\\",\\\"pot\\\"]},\\\"application/vnd.ms-powerpoint.addin.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppam\\\"]},\\\"application/vnd.ms-powerpoint.presentation.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pptm\\\"]},\\\"application/vnd.ms-powerpoint.slide.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sldm\\\"]},\\\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppsm\\\"]},\\\"application/vnd.ms-powerpoint.template.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"potm\\\"]},\\\"application/vnd.ms-printdevicecapabilities+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-printing.printticket+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-printschematicket+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-project\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpp\\\",\\\"mpt\\\"]},\\\"application/vnd.ms-tnef\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.devicepairing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.nwprinting.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.printerpairing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.wsd.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.lic-chlg-req\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.lic-resp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.meter-chlg-req\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.meter-resp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-word.document.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"docm\\\"]},\\\"application/vnd.ms-word.template.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dotm\\\"]},\\\"application/vnd.ms-works\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wps\\\",\\\"wks\\\",\\\"wcm\\\",\\\"wdb\\\"]},\\\"application/vnd.ms-wpl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wpl\\\"]},\\\"application/vnd.ms-xpsdocument\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xps\\\"]},\\\"application/vnd.msa-disk-image\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mseq\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mseq\\\"]},\\\"application/vnd.msign\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.multiad.creator\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.multiad.creator.cif\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.music-niff\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.musician\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mus\\\"]},\\\"application/vnd.muvee.style\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"msty\\\"]},\\\"application/vnd.mynfc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"taglet\\\"]},\\\"application/vnd.nacamar.ybrid+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ncd.control\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ncd.reference\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nearst.inv+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nebumind.line\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nervana\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.netfpx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.neurolanguage.nlu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nlu\\\"]},\\\"application/vnd.nimn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nintendo.nitro.rom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nintendo.snes.rom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nitf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ntf\\\",\\\"nitf\\\"]},\\\"application/vnd.noblenet-directory\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nnd\\\"]},\\\"application/vnd.noblenet-sealer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nns\\\"]},\\\"application/vnd.noblenet-web\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nnw\\\"]},\\\"application/vnd.nokia.catalogs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.conml+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.conml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.iptv.config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.isds-radio-presets\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.landmark+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.landmark+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.landmarkcollection+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.n-gage.ac+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ac\\\"]},\\\"application/vnd.nokia.n-gage.data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ngdat\\\"]},\\\"application/vnd.nokia.n-gage.symbian.install\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"n-gage\\\"]},\\\"application/vnd.nokia.ncd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.pcd+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.pcd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.radio-preset\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rpst\\\"]},\\\"application/vnd.nokia.radio-presets\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rpss\\\"]},\\\"application/vnd.novadigm.edm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"edm\\\"]},\\\"application/vnd.novadigm.edx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"edx\\\"]},\\\"application/vnd.novadigm.ext\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ext\\\"]},\\\"application/vnd.ntt-local.content-share\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.file-transfer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.ogw_remote-access\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.sip-ta_remote\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.sip-ta_tcp_stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oasis.opendocument.chart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odc\\\"]},\\\"application/vnd.oasis.opendocument.chart-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"otc\\\"]},\\\"application/vnd.oasis.opendocument.database\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odb\\\"]},\\\"application/vnd.oasis.opendocument.formula\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odf\\\"]},\\\"application/vnd.oasis.opendocument.formula-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odft\\\"]},\\\"application/vnd.oasis.opendocument.graphics\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"odg\\\"]},\\\"application/vnd.oasis.opendocument.graphics-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"otg\\\"]},\\\"application/vnd.oasis.opendocument.image\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odi\\\"]},\\\"application/vnd.oasis.opendocument.image-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oti\\\"]},\\\"application/vnd.oasis.opendocument.presentation\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"odp\\\"]},\\\"application/vnd.oasis.opendocument.presentation-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"otp\\\"]},\\\"application/vnd.oasis.opendocument.spreadsheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ods\\\"]},\\\"application/vnd.oasis.opendocument.spreadsheet-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ots\\\"]},\\\"application/vnd.oasis.opendocument.text\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"odt\\\"]},\\\"application/vnd.oasis.opendocument.text-master\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odm\\\"]},\\\"application/vnd.oasis.opendocument.text-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ott\\\"]},\\\"application/vnd.oasis.opendocument.text-web\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oth\\\"]},\\\"application/vnd.obn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ocf+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oci.image.manifest.v1+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oftn.l10n+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.contentaccessdownload+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.contentaccessstreaming+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.cspg-hexbinary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oipf.dae.svg+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.dae.xhtml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.mippvcontrolmessage+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.pae.gem\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oipf.spdiscovery+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.spdlist+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.ueprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.userprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.olpc-sugar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xo\\\"]},\\\"application/vnd.oma-scws-config\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma-scws-http-request\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma-scws-http-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.associated-procedure-parameter+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.drm-trigger+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.imd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.ltkm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.notification+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.provisioningtrigger\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.sgboot\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.sgdd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.sgdu\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.simple-symbol-container\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.smartcard-trigger+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.sprov+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.stkm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.cab-address-book+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-feature-handler+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-pcc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-subs-invite+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-user-prefs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.dcd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.dcdc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.dd2+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dd2\\\"]},\\\"application/vnd.oma.drm.risd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.group-usage-list+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.lwm2m+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.lwm2m+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.lwm2m+tlv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.pal+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.detailed-progress-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.final-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.groups+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.invocation-descriptor+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.optimized-progress-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.push\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.scidm.messages+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.xcap-directory+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.omads-email+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.omads-file+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.omads-folder+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.omaloc-supl-init\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepager\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertamp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertamx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertat\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertatp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertatx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openblox.game+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"obgx\\\"]},\\\"application/vnd.openblox.game-binary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openeye.oeb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openofficeorg.extension\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"oxt\\\"]},\\\"application/vnd.openstreetmap.data+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"osm\\\"]},\\\"application/vnd.opentimestamps.ots\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openxmlformats-officedocument.custom-properties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawing+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.extended-properties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.presentation\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pptx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slide\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sldx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppsx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"potx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xlsx\\\"]},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xltx\\\"]},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.theme+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.themeoverride+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.vmldrawing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"docx\\\"]},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dotx\\\"]},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-package.core-properties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-package.relationships+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oracle.resource+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.orange.indata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.osa.netdeploy\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.osgeo.mapguide.package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mgp\\\"]},\\\"application/vnd.osgi.bundle\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.osgi.dp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dp\\\"]},\\\"application/vnd.osgi.subsystem\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"esa\\\"]},\\\"application/vnd.otps.ct-kip+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oxli.countgraph\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pagerduty+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.palm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pdb\\\",\\\"pqa\\\",\\\"oprc\\\"]},\\\"application/vnd.panoply\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.paos.xml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.patentdive\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.patientecommsdoc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pawaafile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"paw\\\"]},\\\"application/vnd.pcos\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pg.format\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"str\\\"]},\\\"application/vnd.pg.osasli\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ei6\\\"]},\\\"application/vnd.piaccess.application-licence\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.picsel\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"efif\\\"]},\\\"application/vnd.pmi.widget\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wg\\\"]},\\\"application/vnd.poc.group-advertisement+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.pocketlearn\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"plf\\\"]},\\\"application/vnd.powerbuilder6\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pbd\\\"]},\\\"application/vnd.powerbuilder6-s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder7\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder7-s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder75\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder75-s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.preminet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.previewsystems.box\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"box\\\"]},\\\"application/vnd.proteus.magazine\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mgz\\\"]},\\\"application/vnd.psfs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.publishare-delta-tree\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qps\\\"]},\\\"application/vnd.pvi.ptid1\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ptid\\\"]},\\\"application/vnd.pwg-multiplexed\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pwg-xhtml-print+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.qualcomm.brew-app-res\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.quarantainenet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.quark.quarkxpress\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qxd\\\",\\\"qxt\\\",\\\"qwd\\\",\\\"qwt\\\",\\\"qxl\\\",\\\"qxb\\\"]},\\\"application/vnd.quobject-quoxdocument\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.radisys.moml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-conf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-conn+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-dialog+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-stream+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-conf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-base+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-fax-detect+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-group+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-speech+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-transform+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.rainstor.data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.rapid\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.rar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rar\\\"]},\\\"application/vnd.realvnc.bed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bed\\\"]},\\\"application/vnd.recordare.musicxml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxl\\\"]},\\\"application/vnd.recordare.musicxml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"musicxml\\\"]},\\\"application/vnd.renlearn.rlprint\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.resilient.logic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.restful+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.rig.cryptonote\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cryptonote\\\"]},\\\"application/vnd.rim.cod\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cod\\\"]},\\\"application/vnd.rn-realmedia\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rm\\\"]},\\\"application/vnd.rn-realmedia-vbr\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rmvb\\\"]},\\\"application/vnd.route66.link66+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"link66\\\"]},\\\"application/vnd.rs-274x\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ruckus.download\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.s3sms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sailingtracker.track\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"st\\\"]},\\\"application/vnd.sar\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sbm.cid\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sbm.mid2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.scribus\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.3df\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.csf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.doc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.eml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.mht\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.net\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.ppt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.tiff\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.xls\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealedmedia.softseal.html\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealedmedia.softseal.pdf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.seemail\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"see\\\"]},\\\"application/vnd.seis+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.sema\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sema\\\"]},\\\"application/vnd.semd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"semd\\\"]},\\\"application/vnd.semf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"semf\\\"]},\\\"application/vnd.shade-save-file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.shana.informed.formdata\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ifm\\\"]},\\\"application/vnd.shana.informed.formtemplate\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"itp\\\"]},\\\"application/vnd.shana.informed.interchange\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"iif\\\"]},\\\"application/vnd.shana.informed.package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ipk\\\"]},\\\"application/vnd.shootproof+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.shopkick+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.shp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.shx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sigrok.session\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.simtech-mindmapper\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"twd\\\",\\\"twds\\\"]},\\\"application/vnd.siren+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.smaf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mmf\\\"]},\\\"application/vnd.smart.notebook\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.smart.teacher\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"teacher\\\"]},\\\"application/vnd.snesdev-page-table\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.software602.filler.form+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"fo\\\"]},\\\"application/vnd.software602.filler.form-xml-zip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.solent.sdkm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sdkm\\\",\\\"sdkd\\\"]},\\\"application/vnd.spotfire.dxp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dxp\\\"]},\\\"application/vnd.spotfire.sfs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sfs\\\"]},\\\"application/vnd.sqlite3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sss-cod\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sss-dtf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sss-ntf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.stardivision.calc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sdc\\\"]},\\\"application/vnd.stardivision.draw\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sda\\\"]},\\\"application/vnd.stardivision.impress\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sdd\\\"]},\\\"application/vnd.stardivision.math\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"smf\\\"]},\\\"application/vnd.stardivision.writer\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sdw\\\",\\\"vor\\\"]},\\\"application/vnd.stardivision.writer-global\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sgl\\\"]},\\\"application/vnd.stepmania.package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"smzip\\\"]},\\\"application/vnd.stepmania.stepchart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sm\\\"]},\\\"application/vnd.street-stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sun.wadl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wadl\\\"]},\\\"application/vnd.sun.xml.calc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxc\\\"]},\\\"application/vnd.sun.xml.calc.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"stc\\\"]},\\\"application/vnd.sun.xml.draw\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxd\\\"]},\\\"application/vnd.sun.xml.draw.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"std\\\"]},\\\"application/vnd.sun.xml.impress\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxi\\\"]},\\\"application/vnd.sun.xml.impress.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sti\\\"]},\\\"application/vnd.sun.xml.math\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxm\\\"]},\\\"application/vnd.sun.xml.writer\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxw\\\"]},\\\"application/vnd.sun.xml.writer.global\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxg\\\"]},\\\"application/vnd.sun.xml.writer.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"stw\\\"]},\\\"application/vnd.sus-calendar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sus\\\",\\\"susp\\\"]},\\\"application/vnd.svd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"svd\\\"]},\\\"application/vnd.swiftview-ics\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sycle+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.syft+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.symbian.install\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sis\\\",\\\"sisx\\\"]},\\\"application/vnd.syncml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xsm\\\"]},\\\"application/vnd.syncml.dm+wbxml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"bdm\\\"]},\\\"application/vnd.syncml.dm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdm\\\"]},\\\"application/vnd.syncml.dm.notification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.syncml.dmddf+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.syncml.dmddf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ddf\\\"]},\\\"application/vnd.syncml.dmtnds+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.syncml.dmtnds+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.syncml.ds.notification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.tableschema+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.tao.intent-module-archive\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tao\\\"]},\\\"application/vnd.tcpdump.pcap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pcap\\\",\\\"cap\\\",\\\"dmp\\\"]},\\\"application/vnd.think-cell.ppttc+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.tmd.mediaflex.api+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.tml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.tmobile-livetv\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tmo\\\"]},\\\"application/vnd.tri.onesource\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.trid.tpt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tpt\\\"]},\\\"application/vnd.triscape.mxs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxs\\\"]},\\\"application/vnd.trueapp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tra\\\"]},\\\"application/vnd.truedoc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ubisoft.webplayer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ufdl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ufd\\\",\\\"ufdl\\\"]},\\\"application/vnd.uiq.theme\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"utz\\\"]},\\\"application/vnd.umajin\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"umj\\\"]},\\\"application/vnd.unity\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"unityweb\\\"]},\\\"application/vnd.uoml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"uoml\\\"]},\\\"application/vnd.uplanet.alert\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.alert-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.bearer-choice\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.bearer-choice-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.cacheop\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.cacheop-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.channel\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.channel-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.list\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.list-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.listcmd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.listcmd-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.signal\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uri-map\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.valve.source.material\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vcx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vcx\\\"]},\\\"application/vnd.vd-study\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vectorworks\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vel+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.verimatrix.vcas\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.veritone.aion+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.veryant.thin\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ves.encrypted\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vidsoft.vidconference\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.visio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vsd\\\",\\\"vst\\\",\\\"vss\\\",\\\"vsw\\\"]},\\\"application/vnd.visionary\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vis\\\"]},\\\"application/vnd.vividence.scriptfile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vsf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vsf\\\"]},\\\"application/vnd.wap.sic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wap.slc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wap.wbxml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"wbxml\\\"]},\\\"application/vnd.wap.wmlc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmlc\\\"]},\\\"application/vnd.wap.wmlscriptc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmlsc\\\"]},\\\"application/vnd.webturbo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wtb\\\"]},\\\"application/vnd.wfa.dpp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wfa.p2p\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wfa.wsc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.windows.devicepairing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wmc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wmf.bootstrap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wolfram.mathematica\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wolfram.mathematica.package\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wolfram.player\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nbp\\\"]},\\\"application/vnd.wordperfect\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wpd\\\"]},\\\"application/vnd.wqd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wqd\\\"]},\\\"application/vnd.wrq-hp3000-labelled\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wt.stf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"stf\\\"]},\\\"application/vnd.wv.csp+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wv.csp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.wv.ssp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.xacml+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.xara\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xar\\\"]},\\\"application/vnd.xfdl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xfdl\\\"]},\\\"application/vnd.xfdl.webform\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmi+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.xmpie.cpkg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.dpkg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.plan\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.ppkg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.xlim\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yamaha.hv-dic\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hvd\\\"]},\\\"application/vnd.yamaha.hv-script\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hvs\\\"]},\\\"application/vnd.yamaha.hv-voice\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hvp\\\"]},\\\"application/vnd.yamaha.openscoreformat\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"osf\\\"]},\\\"application/vnd.yamaha.openscoreformat.osfpvg+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"osfpvg\\\"]},\\\"application/vnd.yamaha.remote-setup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yamaha.smaf-audio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"saf\\\"]},\\\"application/vnd.yamaha.smaf-phrase\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spf\\\"]},\\\"application/vnd.yamaha.through-ngn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yamaha.tunnel-udpencap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yaoweme\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yellowriver-custom-menu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cmp\\\"]},\\\"application/vnd.youtube.yt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.zul\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"zir\\\",\\\"zirz\\\"]},\\\"application/vnd.zzazz.deck+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"zaz\\\"]},\\\"application/voicexml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vxml\\\"]},\\\"application/voucher-cms+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vq-rtcpxr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/wasm\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wasm\\\"]},\\\"application/watcherinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wif\\\"]},\\\"application/webpush-options+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/whoispp-query\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/whoispp-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/widget\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wgt\\\"]},\\\"application/winhlp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"hlp\\\"]},\\\"application/wita\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/wordperfect5.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/wsdl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wsdl\\\"]},\\\"application/wspolicy+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wspolicy\\\"]},\\\"application/x-7z-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"7z\\\"]},\\\"application/x-abiword\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"abw\\\"]},\\\"application/x-ace-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ace\\\"]},\\\"application/x-amf\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-apple-diskimage\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dmg\\\"]},\\\"application/x-arj\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"arj\\\"]},\\\"application/x-authorware-bin\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aab\\\",\\\"x32\\\",\\\"u32\\\",\\\"vox\\\"]},\\\"application/x-authorware-map\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aam\\\"]},\\\"application/x-authorware-seg\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aas\\\"]},\\\"application/x-bcpio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"bcpio\\\"]},\\\"application/x-bdoc\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bdoc\\\"]},\\\"application/x-bittorrent\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"torrent\\\"]},\\\"application/x-blorb\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"blb\\\",\\\"blorb\\\"]},\\\"application/x-bzip\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bz\\\"]},\\\"application/x-bzip2\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bz2\\\",\\\"boz\\\"]},\\\"application/x-cbr\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cbr\\\",\\\"cba\\\",\\\"cbt\\\",\\\"cbz\\\",\\\"cb7\\\"]},\\\"application/x-cdlink\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vcd\\\"]},\\\"application/x-cfs-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cfs\\\"]},\\\"application/x-chat\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"chat\\\"]},\\\"application/x-chess-pgn\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pgn\\\"]},\\\"application/x-chrome-extension\\\":{\\\"extensions\\\":[\\\"crx\\\"]},\\\"application/x-cocoa\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"cco\\\"]},\\\"application/x-compress\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-conference\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nsc\\\"]},\\\"application/x-cpio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cpio\\\"]},\\\"application/x-csh\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"csh\\\"]},\\\"application/x-deb\\\":{\\\"compressible\\\":false},\\\"application/x-debian-package\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"deb\\\",\\\"udeb\\\"]},\\\"application/x-dgc-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dgc\\\"]},\\\"application/x-director\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dir\\\",\\\"dcr\\\",\\\"dxr\\\",\\\"cst\\\",\\\"cct\\\",\\\"cxt\\\",\\\"w3d\\\",\\\"fgd\\\",\\\"swa\\\"]},\\\"application/x-doom\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wad\\\"]},\\\"application/x-dtbncx+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ncx\\\"]},\\\"application/x-dtbook+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dtb\\\"]},\\\"application/x-dtbresource+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"res\\\"]},\\\"application/x-dvi\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"dvi\\\"]},\\\"application/x-envoy\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"evy\\\"]},\\\"application/x-eva\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"eva\\\"]},\\\"application/x-font-bdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"bdf\\\"]},\\\"application/x-font-dos\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-framemaker\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-ghostscript\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gsf\\\"]},\\\"application/x-font-libgrx\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-linux-psf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"psf\\\"]},\\\"application/x-font-pcf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pcf\\\"]},\\\"application/x-font-snf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"snf\\\"]},\\\"application/x-font-speedo\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-sunos-news\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-type1\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pfa\\\",\\\"pfb\\\",\\\"pfm\\\",\\\"afm\\\"]},\\\"application/x-font-vfont\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-freearc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"arc\\\"]},\\\"application/x-futuresplash\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"spl\\\"]},\\\"application/x-gca-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gca\\\"]},\\\"application/x-glulx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ulx\\\"]},\\\"application/x-gnumeric\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gnumeric\\\"]},\\\"application/x-gramps-xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gramps\\\"]},\\\"application/x-gtar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gtar\\\"]},\\\"application/x-gzip\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-hdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"hdf\\\"]},\\\"application/x-httpd-php\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"php\\\"]},\\\"application/x-install-instructions\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"install\\\"]},\\\"application/x-iso9660-image\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"iso\\\"]},\\\"application/x-iwork-keynote-sffkey\\\":{\\\"extensions\\\":[\\\"key\\\"]},\\\"application/x-iwork-numbers-sffnumbers\\\":{\\\"extensions\\\":[\\\"numbers\\\"]},\\\"application/x-iwork-pages-sffpages\\\":{\\\"extensions\\\":[\\\"pages\\\"]},\\\"application/x-java-archive-diff\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"jardiff\\\"]},\\\"application/x-java-jnlp-file\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jnlp\\\"]},\\\"application/x-javascript\\\":{\\\"compressible\\\":true},\\\"application/x-keepass2\\\":{\\\"extensions\\\":[\\\"kdbx\\\"]},\\\"application/x-latex\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"latex\\\"]},\\\"application/x-lua-bytecode\\\":{\\\"extensions\\\":[\\\"luac\\\"]},\\\"application/x-lzh-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"lzh\\\",\\\"lha\\\"]},\\\"application/x-makeself\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"run\\\"]},\\\"application/x-mie\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mie\\\"]},\\\"application/x-mobipocket-ebook\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"prc\\\",\\\"mobi\\\"]},\\\"application/x-mpegurl\\\":{\\\"compressible\\\":false},\\\"application/x-ms-application\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"application\\\"]},\\\"application/x-ms-shortcut\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"lnk\\\"]},\\\"application/x-ms-wmd\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmd\\\"]},\\\"application/x-ms-wmz\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmz\\\"]},\\\"application/x-ms-xbap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xbap\\\"]},\\\"application/x-msaccess\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mdb\\\"]},\\\"application/x-msbinder\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"obd\\\"]},\\\"application/x-mscardfile\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"crd\\\"]},\\\"application/x-msclip\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"clp\\\"]},\\\"application/x-msdos-program\\\":{\\\"extensions\\\":[\\\"exe\\\"]},\\\"application/x-msdownload\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"exe\\\",\\\"dll\\\",\\\"com\\\",\\\"bat\\\",\\\"msi\\\"]},\\\"application/x-msmediaview\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mvb\\\",\\\"m13\\\",\\\"m14\\\"]},\\\"application/x-msmetafile\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmf\\\",\\\"wmz\\\",\\\"emf\\\",\\\"emz\\\"]},\\\"application/x-msmoney\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mny\\\"]},\\\"application/x-mspublisher\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pub\\\"]},\\\"application/x-msschedule\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"scd\\\"]},\\\"application/x-msterminal\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"trm\\\"]},\\\"application/x-mswrite\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wri\\\"]},\\\"application/x-netcdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nc\\\",\\\"cdf\\\"]},\\\"application/x-ns-proxy-autoconfig\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pac\\\"]},\\\"application/x-nzb\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nzb\\\"]},\\\"application/x-perl\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"pl\\\",\\\"pm\\\"]},\\\"application/x-pilot\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"prc\\\",\\\"pdb\\\"]},\\\"application/x-pkcs12\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"p12\\\",\\\"pfx\\\"]},\\\"application/x-pkcs7-certificates\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"p7b\\\",\\\"spc\\\"]},\\\"application/x-pkcs7-certreqresp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"p7r\\\"]},\\\"application/x-pki-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/x-rar-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"rar\\\"]},\\\"application/x-redhat-package-manager\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"rpm\\\"]},\\\"application/x-research-info-systems\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ris\\\"]},\\\"application/x-sea\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"sea\\\"]},\\\"application/x-sh\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sh\\\"]},\\\"application/x-shar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"shar\\\"]},\\\"application/x-shockwave-flash\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"swf\\\"]},\\\"application/x-silverlight-app\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xap\\\"]},\\\"application/x-sql\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sql\\\"]},\\\"application/x-stuffit\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"sit\\\"]},\\\"application/x-stuffitx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sitx\\\"]},\\\"application/x-subrip\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"srt\\\"]},\\\"application/x-sv4cpio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sv4cpio\\\"]},\\\"application/x-sv4crc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sv4crc\\\"]},\\\"application/x-t3vm-image\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"t3\\\"]},\\\"application/x-tads\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gam\\\"]},\\\"application/x-tar\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tar\\\"]},\\\"application/x-tcl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tcl\\\",\\\"tk\\\"]},\\\"application/x-tex\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tex\\\"]},\\\"application/x-tex-tfm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tfm\\\"]},\\\"application/x-texinfo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"texinfo\\\",\\\"texi\\\"]},\\\"application/x-tgif\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"obj\\\"]},\\\"application/x-ustar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ustar\\\"]},\\\"application/x-virtualbox-hdd\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"hdd\\\"]},\\\"application/x-virtualbox-ova\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ova\\\"]},\\\"application/x-virtualbox-ovf\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ovf\\\"]},\\\"application/x-virtualbox-vbox\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vbox\\\"]},\\\"application/x-virtualbox-vbox-extpack\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"vbox-extpack\\\"]},\\\"application/x-virtualbox-vdi\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vdi\\\"]},\\\"application/x-virtualbox-vhd\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vhd\\\"]},\\\"application/x-virtualbox-vmdk\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vmdk\\\"]},\\\"application/x-wais-source\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"src\\\"]},\\\"application/x-web-app-manifest+json\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"webapp\\\"]},\\\"application/x-www-form-urlencoded\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/x-x509-ca-cert\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"der\\\",\\\"crt\\\",\\\"pem\\\"]},\\\"application/x-x509-ca-ra-cert\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/x-x509-next-ca-cert\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/x-xfig\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fig\\\"]},\\\"application/x-xliff+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xlf\\\"]},\\\"application/x-xpinstall\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xpi\\\"]},\\\"application/x-xz\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xz\\\"]},\\\"application/x-zmachine\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"z1\\\",\\\"z2\\\",\\\"z3\\\",\\\"z4\\\",\\\"z5\\\",\\\"z6\\\",\\\"z7\\\",\\\"z8\\\"]},\\\"application/x400-bp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/xacml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xaml+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xaml\\\"]},\\\"application/xcap-att+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xav\\\"]},\\\"application/xcap-caps+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xca\\\"]},\\\"application/xcap-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdf\\\"]},\\\"application/xcap-el+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xel\\\"]},\\\"application/xcap-error+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xcap-ns+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xns\\\"]},\\\"application/xcon-conference-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xcon-conference-info-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xenc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xenc\\\"]},\\\"application/xhtml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xhtml\\\",\\\"xht\\\"]},\\\"application/xhtml-voice+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true},\\\"application/xliff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xlf\\\"]},\\\"application/xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xml\\\",\\\"xsl\\\",\\\"xsd\\\",\\\"rng\\\"]},\\\"application/xml-dtd\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dtd\\\"]},\\\"application/xml-external-parsed-entity\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/xml-patch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xmpp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xop+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xop\\\"]},\\\"application/xproc+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xpl\\\"]},\\\"application/xslt+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xsl\\\",\\\"xslt\\\"]},\\\"application/xspf+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xspf\\\"]},\\\"application/xv+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mxml\\\",\\\"xhvml\\\",\\\"xvml\\\",\\\"xvm\\\"]},\\\"application/yang\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"yang\\\"]},\\\"application/yang-data+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yang-data+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yang-patch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yang-patch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yin+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"yin\\\"]},\\\"application/zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"zip\\\"]},\\\"application/zlib\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/zstd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/32kadpcm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/3gpp\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"3gpp\\\"]},\\\"audio/3gpp2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/aac\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ac3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/adpcm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"adp\\\"]},\\\"audio/amr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"amr\\\"]},\\\"audio/amr-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/amr-wb+\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/aptx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/asc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/atrac-advanced-lossless\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/atrac-x\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/atrac3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/basic\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"au\\\",\\\"snd\\\"]},\\\"audio/bv16\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/bv32\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/clearmode\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/cn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dat12\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dls\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es201108\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es202050\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es202211\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es202212\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dvi4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/eac3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc-qcp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcb0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcb1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcnw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcnw0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcnw1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcwb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcwb0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcwb1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/fwdred\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g711-0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g719\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g722\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g7221\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g723\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-16\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-24\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-32\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-40\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g728\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g729\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g7291\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g729d\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g729e\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/gsm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/gsm-efr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/gsm-hr-08\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ilbc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ip-mr_v2.5\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/isac\\\":{\\\"source\\\":\\\"apache\\\"},\\\"audio/l16\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/l20\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/l24\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"audio/l8\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/lpc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp1200\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp2400\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp600\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mhas\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/midi\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mid\\\",\\\"midi\\\",\\\"kar\\\",\\\"rmi\\\"]},\\\"audio/mobile-xmf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxmf\\\"]},\\\"audio/mp3\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mp3\\\"]},\\\"audio/mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"m4a\\\",\\\"mp4a\\\"]},\\\"audio/mp4a-latm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mpa\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mpa-robust\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mpga\\\",\\\"mp2\\\",\\\"mp2a\\\",\\\"mp3\\\",\\\"m2a\\\",\\\"m3a\\\"]},\\\"audio/mpeg4-generic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/musepack\\\":{\\\"source\\\":\\\"apache\\\"},\\\"audio/ogg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"oga\\\",\\\"ogg\\\",\\\"spx\\\",\\\"opus\\\"]},\\\"audio/opus\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcma\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcma-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcmu\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcmu-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/prs.sid\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/qcelp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/red\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtp-enc-aescm128\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtp-midi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/s3m\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"s3m\\\"]},\\\"audio/scip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/silk\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sil\\\"]},\\\"audio/smv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/smv-qcp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/smv0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/sofa\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/sp-midi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/speex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/t140c\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/t38\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/telephone-event\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tetra_acelp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tetra_acelp_bb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tone\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tsvcis\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/uemclip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/usac\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vdvi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vmr-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.3gpp.iufp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.4sb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.audiokoz\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.celp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cisco.nse\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cmles.radio-events\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cns.anp1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cns.inf1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dece.audio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uva\\\",\\\"uvva\\\"]},\\\"audio/vnd.digital-winds\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"eol\\\"]},\\\"audio/vnd.dlna.adts\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.heaac.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.heaac.2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.mlp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.mps\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pl2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pl2x\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pl2z\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pulse.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dra\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dra\\\"]},\\\"audio/vnd.dts\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dts\\\"]},\\\"audio/vnd.dts.hd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dtshd\\\"]},\\\"audio/vnd.dts.uhd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dvb.file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.everad.plj\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.hns.audio\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.lucent.voice\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lvp\\\"]},\\\"audio/vnd.ms-playready.media.pya\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pya\\\"]},\\\"audio/vnd.nokia.mobile-xmf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.nortel.vbk\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.nuera.ecelp4800\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ecelp4800\\\"]},\\\"audio/vnd.nuera.ecelp7470\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ecelp7470\\\"]},\\\"audio/vnd.nuera.ecelp9600\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ecelp9600\\\"]},\\\"audio/vnd.octel.sbc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.presonus.multitrack\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.qcelp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.rhetorex.32kadpcm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.rip\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rip\\\"]},\\\"audio/vnd.rn-realaudio\\\":{\\\"compressible\\\":false},\\\"audio/vnd.sealedmedia.softseal.mpeg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.vmx.cvsd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.wave\\\":{\\\"compressible\\\":false},\\\"audio/vorbis\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"audio/vorbis-config\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/wav\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wav\\\"]},\\\"audio/wave\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wav\\\"]},\\\"audio/webm\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"weba\\\"]},\\\"audio/x-aac\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"aac\\\"]},\\\"audio/x-aiff\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aif\\\",\\\"aiff\\\",\\\"aifc\\\"]},\\\"audio/x-caf\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"caf\\\"]},\\\"audio/x-flac\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"flac\\\"]},\\\"audio/x-m4a\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"m4a\\\"]},\\\"audio/x-matroska\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mka\\\"]},\\\"audio/x-mpegurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"m3u\\\"]},\\\"audio/x-ms-wax\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wax\\\"]},\\\"audio/x-ms-wma\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wma\\\"]},\\\"audio/x-pn-realaudio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ram\\\",\\\"ra\\\"]},\\\"audio/x-pn-realaudio-plugin\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rmp\\\"]},\\\"audio/x-realaudio\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"ra\\\"]},\\\"audio/x-tta\\\":{\\\"source\\\":\\\"apache\\\"},\\\"audio/x-wav\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wav\\\"]},\\\"audio/xm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xm\\\"]},\\\"chemical/x-cdx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cdx\\\"]},\\\"chemical/x-cif\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cif\\\"]},\\\"chemical/x-cmdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cmdf\\\"]},\\\"chemical/x-cml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cml\\\"]},\\\"chemical/x-csml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"csml\\\"]},\\\"chemical/x-pdb\\\":{\\\"source\\\":\\\"apache\\\"},\\\"chemical/x-xyz\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xyz\\\"]},\\\"font/collection\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ttc\\\"]},\\\"font/otf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"otf\\\"]},\\\"font/sfnt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"font/ttf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ttf\\\"]},\\\"font/woff\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"woff\\\"]},\\\"font/woff2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"woff2\\\"]},\\\"image/aces\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"exr\\\"]},\\\"image/apng\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"apng\\\"]},\\\"image/avci\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"avci\\\"]},\\\"image/avcs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"avcs\\\"]},\\\"image/avif\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"avif\\\"]},\\\"image/bmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"bmp\\\"]},\\\"image/cgm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cgm\\\"]},\\\"image/dicom-rle\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"drle\\\"]},\\\"image/emf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"emf\\\"]},\\\"image/fits\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fits\\\"]},\\\"image/g3fax\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"g3\\\"]},\\\"image/gif\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gif\\\"]},\\\"image/heic\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heic\\\"]},\\\"image/heic-sequence\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heics\\\"]},\\\"image/heif\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heif\\\"]},\\\"image/heif-sequence\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heifs\\\"]},\\\"image/hej2k\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hej2\\\"]},\\\"image/hsj2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hsj2\\\"]},\\\"image/ief\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ief\\\"]},\\\"image/jls\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jls\\\"]},\\\"image/jp2\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jp2\\\",\\\"jpg2\\\"]},\\\"image/jpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jpeg\\\",\\\"jpg\\\",\\\"jpe\\\"]},\\\"image/jph\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jph\\\"]},\\\"image/jphc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jhc\\\"]},\\\"image/jpm\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jpm\\\"]},\\\"image/jpx\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jpx\\\",\\\"jpf\\\"]},\\\"image/jxr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxr\\\"]},\\\"image/jxra\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxra\\\"]},\\\"image/jxrs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxrs\\\"]},\\\"image/jxs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxs\\\"]},\\\"image/jxsc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxsc\\\"]},\\\"image/jxsi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxsi\\\"]},\\\"image/jxss\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxss\\\"]},\\\"image/ktx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ktx\\\"]},\\\"image/ktx2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ktx2\\\"]},\\\"image/naplps\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/pjpeg\\\":{\\\"compressible\\\":false},\\\"image/png\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"png\\\"]},\\\"image/prs.btif\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"btif\\\"]},\\\"image/prs.pti\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pti\\\"]},\\\"image/pwg-raster\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/sgi\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sgi\\\"]},\\\"image/svg+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"svg\\\",\\\"svgz\\\"]},\\\"image/t38\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"t38\\\"]},\\\"image/tiff\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"tif\\\",\\\"tiff\\\"]},\\\"image/tiff-fx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tfx\\\"]},\\\"image/vnd.adobe.photoshop\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"psd\\\"]},\\\"image/vnd.airzip.accelerator.azv\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"azv\\\"]},\\\"image/vnd.cns.inf2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.dece.graphic\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvi\\\",\\\"uvvi\\\",\\\"uvg\\\",\\\"uvvg\\\"]},\\\"image/vnd.djvu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"djvu\\\",\\\"djv\\\"]},\\\"image/vnd.dvb.subtitle\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sub\\\"]},\\\"image/vnd.dwg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dwg\\\"]},\\\"image/vnd.dxf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dxf\\\"]},\\\"image/vnd.fastbidsheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fbs\\\"]},\\\"image/vnd.fpx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fpx\\\"]},\\\"image/vnd.fst\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fst\\\"]},\\\"image/vnd.fujixerox.edmics-mmr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mmr\\\"]},\\\"image/vnd.fujixerox.edmics-rlc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rlc\\\"]},\\\"image/vnd.globalgraphics.pgb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.microsoft.icon\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ico\\\"]},\\\"image/vnd.mix\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.mozilla.apng\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.ms-dds\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dds\\\"]},\\\"image/vnd.ms-modi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mdi\\\"]},\\\"image/vnd.ms-photo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wdp\\\"]},\\\"image/vnd.net-fpx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"npx\\\"]},\\\"image/vnd.pco.b16\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"b16\\\"]},\\\"image/vnd.radiance\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.sealed.png\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.sealedmedia.softseal.gif\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.sealedmedia.softseal.jpg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.svf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.tencent.tap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tap\\\"]},\\\"image/vnd.valve.source.texture\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vtf\\\"]},\\\"image/vnd.wap.wbmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wbmp\\\"]},\\\"image/vnd.xiff\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xif\\\"]},\\\"image/vnd.zbrush.pcx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pcx\\\"]},\\\"image/webp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"webp\\\"]},\\\"image/wmf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmf\\\"]},\\\"image/x-3ds\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"3ds\\\"]},\\\"image/x-cmu-raster\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ras\\\"]},\\\"image/x-cmx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cmx\\\"]},\\\"image/x-freehand\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fh\\\",\\\"fhc\\\",\\\"fh4\\\",\\\"fh5\\\",\\\"fh7\\\"]},\\\"image/x-icon\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ico\\\"]},\\\"image/x-jng\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"jng\\\"]},\\\"image/x-mrsid-image\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sid\\\"]},\\\"image/x-ms-bmp\\\":{\\\"source\\\":\\\"nginx\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"bmp\\\"]},\\\"image/x-pcx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pcx\\\"]},\\\"image/x-pict\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pic\\\",\\\"pct\\\"]},\\\"image/x-portable-anymap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pnm\\\"]},\\\"image/x-portable-bitmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pbm\\\"]},\\\"image/x-portable-graymap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pgm\\\"]},\\\"image/x-portable-pixmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ppm\\\"]},\\\"image/x-rgb\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rgb\\\"]},\\\"image/x-tga\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tga\\\"]},\\\"image/x-xbitmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xbm\\\"]},\\\"image/x-xcf\\\":{\\\"compressible\\\":false},\\\"image/x-xpixmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xpm\\\"]},\\\"image/x-xwindowdump\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xwd\\\"]},\\\"message/cpim\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/delivery-status\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/disposition-notification\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"disposition-notification\\\"]},\\\"message/external-body\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/feedback-report\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/global\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8msg\\\"]},\\\"message/global-delivery-status\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8dsn\\\"]},\\\"message/global-disposition-notification\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8mdn\\\"]},\\\"message/global-headers\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8hdr\\\"]},\\\"message/http\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"message/imdn+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"message/news\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/partial\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"message/rfc822\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"eml\\\",\\\"mime\\\"]},\\\"message/s-http\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/sip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/sipfrag\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/tracking-status\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/vnd.si.simp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/vnd.wfa.wsc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wsc\\\"]},\\\"model/3mf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3mf\\\"]},\\\"model/e57\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/gltf+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"gltf\\\"]},\\\"model/gltf-binary\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"glb\\\"]},\\\"model/iges\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"igs\\\",\\\"iges\\\"]},\\\"model/mesh\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"msh\\\",\\\"mesh\\\",\\\"silo\\\"]},\\\"model/mtl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mtl\\\"]},\\\"model/obj\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"obj\\\"]},\\\"model/step\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/step+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"stpx\\\"]},\\\"model/step+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"stpz\\\"]},\\\"model/step-xml+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"stpxz\\\"]},\\\"model/stl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"stl\\\"]},\\\"model/vnd.collada+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dae\\\"]},\\\"model/vnd.dwf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dwf\\\"]},\\\"model/vnd.flatland.3dml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.gdl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gdl\\\"]},\\\"model/vnd.gs-gdl\\\":{\\\"source\\\":\\\"apache\\\"},\\\"model/vnd.gs.gdl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.gtw\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gtw\\\"]},\\\"model/vnd.moml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"model/vnd.mts\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mts\\\"]},\\\"model/vnd.opengex\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ogex\\\"]},\\\"model/vnd.parasolid.transmit.binary\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x_b\\\"]},\\\"model/vnd.parasolid.transmit.text\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x_t\\\"]},\\\"model/vnd.pytha.pyox\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.rosette.annotated-data-model\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.sap.vds\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vds\\\"]},\\\"model/vnd.usdz+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"usdz\\\"]},\\\"model/vnd.valve.source.compiled-map\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bsp\\\"]},\\\"model/vnd.vtu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vtu\\\"]},\\\"model/vrml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wrl\\\",\\\"vrml\\\"]},\\\"model/x3d+binary\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"x3db\\\",\\\"x3dbz\\\"]},\\\"model/x3d+fastinfoset\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x3db\\\"]},\\\"model/x3d+vrml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"x3dv\\\",\\\"x3dvz\\\"]},\\\"model/x3d+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"x3d\\\",\\\"x3dz\\\"]},\\\"model/x3d-vrml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x3dv\\\"]},\\\"multipart/alternative\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/appledouble\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/byteranges\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/digest\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/encrypted\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/form-data\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/header-set\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/mixed\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/multilingual\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/parallel\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/related\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/report\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/signed\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/vnd.bint.med-plus\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/voice-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/x-mixed-replace\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/cache-manifest\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"appcache\\\",\\\"manifest\\\"]},\\\"text/calendar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ics\\\",\\\"ifb\\\"]},\\\"text/calender\\\":{\\\"compressible\\\":true},\\\"text/cmd\\\":{\\\"compressible\\\":true},\\\"text/coffeescript\\\":{\\\"extensions\\\":[\\\"coffee\\\",\\\"litcoffee\\\"]},\\\"text/cql\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/cql-expression\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/cql-identifier\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/css\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"css\\\"]},\\\"text/csv\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"csv\\\"]},\\\"text/csv-schema\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/directory\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/dns\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/ecmascript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/enriched\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/fhirpath\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/fwdred\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/gff3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/grammar-ref-list\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/html\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"html\\\",\\\"htm\\\",\\\"shtml\\\"]},\\\"text/jade\\\":{\\\"extensions\\\":[\\\"jade\\\"]},\\\"text/javascript\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"text/jcr-cnd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/jsx\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"jsx\\\"]},\\\"text/less\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"less\\\"]},\\\"text/markdown\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"markdown\\\",\\\"md\\\"]},\\\"text/mathml\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"mml\\\"]},\\\"text/mdx\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mdx\\\"]},\\\"text/mizar\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/n3\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"n3\\\"]},\\\"text/parameters\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/plain\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"txt\\\",\\\"text\\\",\\\"conf\\\",\\\"def\\\",\\\"list\\\",\\\"log\\\",\\\"in\\\",\\\"ini\\\"]},\\\"text/provenance-notation\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/prs.fallenstein.rst\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/prs.lines.tag\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dsc\\\"]},\\\"text/prs.prop.logic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/red\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/rfc822-headers\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/richtext\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rtx\\\"]},\\\"text/rtf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rtf\\\"]},\\\"text/rtp-enc-aescm128\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/sgml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sgml\\\",\\\"sgm\\\"]},\\\"text/shaclc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/shex\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"shex\\\"]},\\\"text/slim\\\":{\\\"extensions\\\":[\\\"slim\\\",\\\"slm\\\"]},\\\"text/spdx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spdx\\\"]},\\\"text/strings\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/stylus\\\":{\\\"extensions\\\":[\\\"stylus\\\",\\\"styl\\\"]},\\\"text/t140\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/tab-separated-values\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tsv\\\"]},\\\"text/troff\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"t\\\",\\\"tr\\\",\\\"roff\\\",\\\"man\\\",\\\"me\\\",\\\"ms\\\"]},\\\"text/turtle\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"ttl\\\"]},\\\"text/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/uri-list\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"uri\\\",\\\"uris\\\",\\\"urls\\\"]},\\\"text/vcard\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vcard\\\"]},\\\"text/vnd.a\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.abc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.ascii-art\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.curl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"curl\\\"]},\\\"text/vnd.curl.dcurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dcurl\\\"]},\\\"text/vnd.curl.mcurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mcurl\\\"]},\\\"text/vnd.curl.scurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"scurl\\\"]},\\\"text/vnd.debian.copyright\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/vnd.dmclientscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.dvb.subtitle\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sub\\\"]},\\\"text/vnd.esmertec.theme-descriptor\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/vnd.familysearch.gedcom\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ged\\\"]},\\\"text/vnd.ficlab.flt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.fly\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fly\\\"]},\\\"text/vnd.fmi.flexstor\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"flx\\\"]},\\\"text/vnd.gml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.graphviz\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gv\\\"]},\\\"text/vnd.hans\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.hgl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.in3d.3dml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3dml\\\"]},\\\"text/vnd.in3d.spot\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spot\\\"]},\\\"text/vnd.iptc.newsml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.iptc.nitf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.latex-z\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.motorola.reflex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.ms-mediapackage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.net2phone.commcenter.command\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.radisys.msml-basic-layout\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.senx.warpscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.si.uricatalogue\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.sosi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.sun.j2me.app-descriptor\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"jad\\\"]},\\\"text/vnd.trolltech.linguist\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/vnd.wap.si\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.wap.sl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.wap.wml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wml\\\"]},\\\"text/vnd.wap.wmlscript\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmls\\\"]},\\\"text/vtt\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vtt\\\"]},\\\"text/x-asm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"s\\\",\\\"asm\\\"]},\\\"text/x-c\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"c\\\",\\\"cc\\\",\\\"cxx\\\",\\\"cpp\\\",\\\"h\\\",\\\"hh\\\",\\\"dic\\\"]},\\\"text/x-component\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"htc\\\"]},\\\"text/x-fortran\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"f\\\",\\\"for\\\",\\\"f77\\\",\\\"f90\\\"]},\\\"text/x-gwt-rpc\\\":{\\\"compressible\\\":true},\\\"text/x-handlebars-template\\\":{\\\"extensions\\\":[\\\"hbs\\\"]},\\\"text/x-java-source\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"java\\\"]},\\\"text/x-jquery-tmpl\\\":{\\\"compressible\\\":true},\\\"text/x-lua\\\":{\\\"extensions\\\":[\\\"lua\\\"]},\\\"text/x-markdown\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mkd\\\"]},\\\"text/x-nfo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nfo\\\"]},\\\"text/x-opml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"opml\\\"]},\\\"text/x-org\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"org\\\"]},\\\"text/x-pascal\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"p\\\",\\\"pas\\\"]},\\\"text/x-processing\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pde\\\"]},\\\"text/x-sass\\\":{\\\"extensions\\\":[\\\"sass\\\"]},\\\"text/x-scss\\\":{\\\"extensions\\\":[\\\"scss\\\"]},\\\"text/x-setext\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"etx\\\"]},\\\"text/x-sfv\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sfv\\\"]},\\\"text/x-suse-ymp\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ymp\\\"]},\\\"text/x-uuencode\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"uu\\\"]},\\\"text/x-vcalendar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vcs\\\"]},\\\"text/x-vcard\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vcf\\\"]},\\\"text/xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xml\\\"]},\\\"text/xml-external-parsed-entity\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/yaml\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"yaml\\\",\\\"yml\\\"]},\\\"video/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/3gpp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3gp\\\",\\\"3gpp\\\"]},\\\"video/3gpp-tt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/3gpp2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3g2\\\"]},\\\"video/av1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/bmpeg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/bt656\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/celb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/dv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/ffv1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h261\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"h261\\\"]},\\\"video/h263\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"h263\\\"]},\\\"video/h263-1998\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h263-2000\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h264\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"h264\\\"]},\\\"video/h264-rcdo\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h264-svc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h265\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/iso.segment\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"m4s\\\"]},\\\"video/jpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jpgv\\\"]},\\\"video/jpeg2000\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/jpm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"jpm\\\",\\\"jpgm\\\"]},\\\"video/jxsv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mj2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mj2\\\",\\\"mjp2\\\"]},\\\"video/mp1s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mp2p\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mp2t\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ts\\\"]},\\\"video/mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mp4\\\",\\\"mp4v\\\",\\\"mpg4\\\"]},\\\"video/mp4v-es\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mpeg\\\",\\\"mpg\\\",\\\"mpe\\\",\\\"m1v\\\",\\\"m2v\\\"]},\\\"video/mpeg4-generic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mpv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/nv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/ogg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ogv\\\"]},\\\"video/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/pointer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/quicktime\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"qt\\\",\\\"mov\\\"]},\\\"video/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/raw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/rtp-enc-aescm128\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/scip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/smpte291\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/smpte292m\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vc1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vc2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.cctv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dece.hd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvh\\\",\\\"uvvh\\\"]},\\\"video/vnd.dece.mobile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvm\\\",\\\"uvvm\\\"]},\\\"video/vnd.dece.mp4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dece.pd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvp\\\",\\\"uvvp\\\"]},\\\"video/vnd.dece.sd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvs\\\",\\\"uvvs\\\"]},\\\"video/vnd.dece.video\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvv\\\",\\\"uvvv\\\"]},\\\"video/vnd.directv.mpeg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.directv.mpeg-tts\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dlna.mpeg-tts\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dvb.file\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dvb\\\"]},\\\"video/vnd.fvt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fvt\\\"]},\\\"video/vnd.hns.video\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.1dparityfec-1010\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.1dparityfec-2005\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.2dparityfec-1010\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.2dparityfec-2005\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.ttsavc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.ttsmpeg2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.motorola.video\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.motorola.videop\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.mpegurl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxu\\\",\\\"m4u\\\"]},\\\"video/vnd.ms-playready.media.pyv\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pyv\\\"]},\\\"video/vnd.nokia.interleaved-multimedia\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.nokia.mp4vr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.nokia.videovoip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.objectvideo\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.radgamettools.bink\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.radgamettools.smacker\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealed.mpeg1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealed.mpeg4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealed.swf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealedmedia.softseal.mov\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.uvvu.mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvu\\\",\\\"uvvu\\\"]},\\\"video/vnd.vivo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"viv\\\"]},\\\"video/vnd.youtube.yt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vp8\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vp9\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/webm\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"webm\\\"]},\\\"video/x-f4v\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"f4v\\\"]},\\\"video/x-fli\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fli\\\"]},\\\"video/x-flv\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"flv\\\"]},\\\"video/x-m4v\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"m4v\\\"]},\\\"video/x-matroska\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mkv\\\",\\\"mk3d\\\",\\\"mks\\\"]},\\\"video/x-mng\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mng\\\"]},\\\"video/x-ms-asf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"asf\\\",\\\"asx\\\"]},\\\"video/x-ms-vob\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vob\\\"]},\\\"video/x-ms-wm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wm\\\"]},\\\"video/x-ms-wmv\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wmv\\\"]},\\\"video/x-ms-wmx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmx\\\"]},\\\"video/x-ms-wvx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wvx\\\"]},\\\"video/x-msvideo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"avi\\\"]},\\\"video/x-sgi-movie\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"movie\\\"]},\\\"video/x-smv\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"smv\\\"]},\\\"x-conference/x-cooltalk\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ice\\\"]},\\\"x-shader/x-fragment\\\":{\\\"compressible\\\":true},\\\"x-shader/x-vertex\\\":{\\\"compressible\\\":true}}\");\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/mime-db/db.json?");
578
+ eval("module.exports = JSON.parse(\"{\\\"application/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/3gpdash-qoe-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/3gpp-ims+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/3gpphal+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/3gpphalforms+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/a2l\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ace+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/activemessage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/activity+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-costmap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-costmapfilter+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-directory+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointcost+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointcostparams+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointprop+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-endpointpropparams+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-error+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-networkmap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-networkmapfilter+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-updatestreamcontrol+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/alto-updatestreamparams+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/aml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/andrew-inset\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ez\\\"]},\\\"application/applefile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/applixware\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aw\\\"]},\\\"application/at+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atfx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atom+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atom\\\"]},\\\"application/atomcat+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atomcat\\\"]},\\\"application/atomdeleted+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atomdeleted\\\"]},\\\"application/atomicmail\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atomsvc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"atomsvc\\\"]},\\\"application/atsc-dwd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dwd\\\"]},\\\"application/atsc-dynamic-event-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/atsc-held+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"held\\\"]},\\\"application/atsc-rdt+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/atsc-rsat+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rsat\\\"]},\\\"application/atxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/auth-policy+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/bacnet-xdd+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/batch-smtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/bdoc\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bdoc\\\"]},\\\"application/beep+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/calendar+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/calendar+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xcs\\\"]},\\\"application/call-completion\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cals-1840\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/captive+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cbor-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cccex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ccmp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ccxml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ccxml\\\"]},\\\"application/cdfx+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"cdfx\\\"]},\\\"application/cdmi-capability\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmia\\\"]},\\\"application/cdmi-container\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmic\\\"]},\\\"application/cdmi-domain\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmid\\\"]},\\\"application/cdmi-object\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmio\\\"]},\\\"application/cdmi-queue\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdmiq\\\"]},\\\"application/cdni\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cea\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cea-2018+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cellml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cfw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/city+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/clr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/clue+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/clue_info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cnrp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/coap-group+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/coap-payload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/commonground\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/conference-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cose\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cose-key\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cose-key-set\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cpl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"cpl\\\"]},\\\"application/csrattrs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/csta+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cstadata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/csvm+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/cu-seeme\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cu\\\"]},\\\"application/cwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/cybercash\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dart\\\":{\\\"compressible\\\":true},\\\"application/dash+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpd\\\"]},\\\"application/dash-patch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpp\\\"]},\\\"application/dashdelta\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/davmount+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"davmount\\\"]},\\\"application/dca-rft\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dcd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dec-dx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dialog-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dicom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dicom+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dicom+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dii\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dit\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dns\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dns+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dns-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/docbook+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dbk\\\"]},\\\"application/dots+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/dskpp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/dssc+der\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dssc\\\"]},\\\"application/dssc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdssc\\\"]},\\\"application/dvcs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ecmascript\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"es\\\",\\\"ecma\\\"]},\\\"application/edi-consent\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/edi-x12\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/edifact\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/efi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/elm+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/elm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.cap+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.comment+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.control+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.deviceinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.ecall.msd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/emergencycalldata.providerinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.serviceinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.subscriberinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emergencycalldata.veds+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/emma+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"emma\\\"]},\\\"application/emotionml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"emotionml\\\"]},\\\"application/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/epp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/epub+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"epub\\\"]},\\\"application/eshop\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/exi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"exi\\\"]},\\\"application/expect-ct-report+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/express\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"exp\\\"]},\\\"application/fastinfoset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/fastsoap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/fdt+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"fdt\\\"]},\\\"application/fhir+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/fhir+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/fido.trusted-apps+json\\\":{\\\"compressible\\\":true},\\\"application/fits\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/font-sfnt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/font-tdpfr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pfr\\\"]},\\\"application/font-woff\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/framework-attributes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/geo+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"geojson\\\"]},\\\"application/geo+json-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/geopackage+sqlite3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/geoxacml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/gltf-buffer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/gml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"gml\\\"]},\\\"application/gpx+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"gpx\\\"]},\\\"application/gxf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gxf\\\"]},\\\"application/gzip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gz\\\"]},\\\"application/h224\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/held+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/hjson\\\":{\\\"extensions\\\":[\\\"hjson\\\"]},\\\"application/http\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/hyperstudio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"stk\\\"]},\\\"application/ibe-key-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ibe-pkg-reply+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ibe-pp-data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/iges\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/im-iscomposing+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/index\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.cmd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.obj\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/index.vnd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/inkml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ink\\\",\\\"inkml\\\"]},\\\"application/iotp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ipfix\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ipfix\\\"]},\\\"application/ipp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/isup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/its+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"its\\\"]},\\\"application/java-archive\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jar\\\",\\\"war\\\",\\\"ear\\\"]},\\\"application/java-serialized-object\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ser\\\"]},\\\"application/java-vm\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"class\\\"]},\\\"application/javascript\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"js\\\",\\\"mjs\\\"]},\\\"application/jf2feed+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jose\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/jose+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jrd+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jscalendar+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"json\\\",\\\"map\\\"]},\\\"application/json-patch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/json-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/json5\\\":{\\\"extensions\\\":[\\\"json5\\\"]},\\\"application/jsonml+json\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"jsonml\\\"]},\\\"application/jwk+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jwk-set+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/kpml-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/kpml-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/ld+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"jsonld\\\"]},\\\"application/lgr+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lgr\\\"]},\\\"application/link-format\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/load-control+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/lost+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lostxml\\\"]},\\\"application/lostsync+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/lpf+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/lxf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mac-binhex40\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hqx\\\"]},\\\"application/mac-compactpro\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cpt\\\"]},\\\"application/macwriteii\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mads+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mads\\\"]},\\\"application/manifest+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"webmanifest\\\"]},\\\"application/marc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mrc\\\"]},\\\"application/marcxml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mrcx\\\"]},\\\"application/mathematica\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ma\\\",\\\"nb\\\",\\\"mb\\\"]},\\\"application/mathml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mathml\\\"]},\\\"application/mathml-content+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mathml-presentation+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-associated-procedure-description+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-deregister+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-envelope+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-msk+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-msk-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-protection-description+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-reception-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-register+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-register-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-schedule+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbms-user-service-description+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mbox\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mbox\\\"]},\\\"application/media-policy-dataset+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpf\\\"]},\\\"application/media_control+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mediaservercontrol+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mscml\\\"]},\\\"application/merge-patch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/metalink+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"metalink\\\"]},\\\"application/metalink4+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"meta4\\\"]},\\\"application/mets+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mets\\\"]},\\\"application/mf4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mikey\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mipc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/missing-blocks+cbor-seq\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mmt-aei+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"maei\\\"]},\\\"application/mmt-usd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"musd\\\"]},\\\"application/mods+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mods\\\"]},\\\"application/moss-keys\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/moss-signature\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mosskey-data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mosskey-request\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mp21\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"m21\\\",\\\"mp21\\\"]},\\\"application/mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mp4s\\\",\\\"m4p\\\"]},\\\"application/mpeg4-generic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mpeg4-iod\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mpeg4-iod-xmt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mrb-consumer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/mrb-publish+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/msc-ivr+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/msc-mixer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/msword\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"doc\\\",\\\"dot\\\"]},\\\"application/mud+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/multipart-core\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/mxf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxf\\\"]},\\\"application/n-quads\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nq\\\"]},\\\"application/n-triples\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nt\\\"]},\\\"application/nasdata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/news-checkgroups\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"US-ASCII\\\"},\\\"application/news-groupinfo\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"US-ASCII\\\"},\\\"application/news-transmission\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/nlsml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/node\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cjs\\\"]},\\\"application/nss\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oauth-authz-req+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oblivious-dns-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ocsp-request\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ocsp-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/octet-stream\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bin\\\",\\\"dms\\\",\\\"lrf\\\",\\\"mar\\\",\\\"so\\\",\\\"dist\\\",\\\"distz\\\",\\\"pkg\\\",\\\"bpk\\\",\\\"dump\\\",\\\"elc\\\",\\\"deploy\\\",\\\"exe\\\",\\\"dll\\\",\\\"deb\\\",\\\"dmg\\\",\\\"iso\\\",\\\"img\\\",\\\"msi\\\",\\\"msp\\\",\\\"msm\\\",\\\"buffer\\\"]},\\\"application/oda\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oda\\\"]},\\\"application/odm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/odx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oebps-package+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"opf\\\"]},\\\"application/ogg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ogx\\\"]},\\\"application/omdoc+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"omdoc\\\"]},\\\"application/onenote\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"onetoc\\\",\\\"onetoc2\\\",\\\"onetmp\\\",\\\"onepkg\\\"]},\\\"application/opc-nodeset+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/oscore\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/oxps\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oxps\\\"]},\\\"application/p21\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/p21+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/p2p-overlay+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"relo\\\"]},\\\"application/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/passport\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/patch-ops-error+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xer\\\"]},\\\"application/pdf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pdf\\\"]},\\\"application/pdx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pem-certificate-chain\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pgp-encrypted\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pgp\\\"]},\\\"application/pgp-keys\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"asc\\\"]},\\\"application/pgp-signature\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"asc\\\",\\\"sig\\\"]},\\\"application/pics-rules\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"prf\\\"]},\\\"application/pidf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/pidf-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/pkcs10\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p10\\\"]},\\\"application/pkcs12\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pkcs7-mime\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p7m\\\",\\\"p7c\\\"]},\\\"application/pkcs7-signature\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p7s\\\"]},\\\"application/pkcs8\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"p8\\\"]},\\\"application/pkcs8-encrypted\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/pkix-attr-cert\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ac\\\"]},\\\"application/pkix-cert\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cer\\\"]},\\\"application/pkix-crl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"crl\\\"]},\\\"application/pkix-pkipath\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pkipath\\\"]},\\\"application/pkixcmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pki\\\"]},\\\"application/pls+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pls\\\"]},\\\"application/poc-settings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/postscript\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ai\\\",\\\"eps\\\",\\\"ps\\\"]},\\\"application/ppsp-tracker+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/problem+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/problem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/provenance+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"provx\\\"]},\\\"application/prs.alvestrand.titrax-sheet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.cww\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cww\\\"]},\\\"application/prs.cyn\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"7-BIT\\\"},\\\"application/prs.hpub+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/prs.nprend\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.plucker\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.rdf-xml-crypt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/prs.xsf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/pskc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pskcxml\\\"]},\\\"application/pvd+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/qsig\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/raml+yaml\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"raml\\\"]},\\\"application/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rdap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/rdf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rdf\\\",\\\"owl\\\"]},\\\"application/reginfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rif\\\"]},\\\"application/relax-ng-compact-syntax\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rnc\\\"]},\\\"application/remote-printing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/reputon+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/resource-lists+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rl\\\"]},\\\"application/resource-lists-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rld\\\"]},\\\"application/rfc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/riscos\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rlmi+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/rls-services+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rs\\\"]},\\\"application/route-apd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rapd\\\"]},\\\"application/route-s-tsid+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sls\\\"]},\\\"application/route-usd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rusd\\\"]},\\\"application/rpki-ghostbusters\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gbr\\\"]},\\\"application/rpki-manifest\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mft\\\"]},\\\"application/rpki-publication\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rpki-roa\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"roa\\\"]},\\\"application/rpki-updown\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rsd+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rsd\\\"]},\\\"application/rss+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rss\\\"]},\\\"application/rtf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rtf\\\"]},\\\"application/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/samlassertion+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/samlmetadata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sarif+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sarif-external-properties+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sbe\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sbml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sbml\\\"]},\\\"application/scaip+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/scim+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/scvp-cv-request\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"scq\\\"]},\\\"application/scvp-cv-response\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"scs\\\"]},\\\"application/scvp-vp-request\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spq\\\"]},\\\"application/scvp-vp-response\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spp\\\"]},\\\"application/sdp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sdp\\\"]},\\\"application/secevent+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/senml+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/senml+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/senml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"senmlx\\\"]},\\\"application/senml-etch+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/senml-etch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/senml-exi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sensml+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sensml+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sensml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sensmlx\\\"]},\\\"application/sensml-exi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sep+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sep-exi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/session-info\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/set-payment\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/set-payment-initiation\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"setpay\\\"]},\\\"application/set-registration\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/set-registration-initiation\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"setreg\\\"]},\\\"application/sgml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sgml-open-catalog\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/shf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"shf\\\"]},\\\"application/sieve\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"siv\\\",\\\"sieve\\\"]},\\\"application/simple-filter+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/simple-message-summary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/simplesymbolcontainer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/sipc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/slate\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/smil\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/smil+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"smi\\\",\\\"smil\\\"]},\\\"application/smpte336m\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/soap+fastinfoset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/soap+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sparql-query\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rq\\\"]},\\\"application/sparql-results+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"srx\\\"]},\\\"application/spdx+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/spirits-event+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/sql\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/srgs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gram\\\"]},\\\"application/srgs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"grxml\\\"]},\\\"application/sru+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sru\\\"]},\\\"application/ssdl+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ssdl\\\"]},\\\"application/ssml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ssml\\\"]},\\\"application/stix+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/swid+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"swidtag\\\"]},\\\"application/tamp-apex-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-apex-update-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-community-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-community-update-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-error\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-sequence-adjust\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-sequence-adjust-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-status-query\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-status-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tamp-update-confirm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tar\\\":{\\\"compressible\\\":true},\\\"application/taxii+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/td+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/tei+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tei\\\",\\\"teicorpus\\\"]},\\\"application/tetra_isi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/thraud+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tfi\\\"]},\\\"application/timestamp-query\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/timestamp-reply\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/timestamped-data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tsd\\\"]},\\\"application/tlsrpt+gzip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tlsrpt+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/tnauthlist\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/token-introspection+jwt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/toml\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"toml\\\"]},\\\"application/trickle-ice-sdpfrag\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/trig\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"trig\\\"]},\\\"application/ttml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ttml\\\"]},\\\"application/tve-trigger\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tzif\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/tzif-leap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/ubjson\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ubj\\\"]},\\\"application/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/urc-grpsheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/urc-ressheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rsheet\\\"]},\\\"application/urc-targetdesc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"td\\\"]},\\\"application/urc-uisocketdesc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vcard+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vcard+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vemmi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vividence.scriptfile\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/vnd.1000minds.decision-model+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"1km\\\"]},\\\"application/vnd.3gpp-prose+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp-prose-pc3ch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp-v2x-local-service-information\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.5gnas\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.access-transfer-events+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.bsf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.gmop+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.gtpc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.interworking-data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.lpp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mc-signalling-ear\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mcdata-affiliation-command+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-payload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mcdata-service-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-signalling\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.mcdata-ue-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcdata-user-profile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-affiliation-command+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-floor-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-location-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-mbms-usage-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-service-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-signed+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-ue-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-ue-init-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcptt-user-profile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-affiliation-command+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-affiliation-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-location-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-service-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-transmission-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-ue-config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mcvideo-user-profile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.mid-call+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.ngap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.pfcp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.pic-bw-large\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"plb\\\"]},\\\"application/vnd.3gpp.pic-bw-small\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"psb\\\"]},\\\"application/vnd.3gpp.pic-bw-var\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pvb\\\"]},\\\"application/vnd.3gpp.s1ap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.sms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp.sms+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.srvcc-ext+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.srvcc-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.state-and-event-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp.ussd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp2.bcmcsinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.3gpp2.sms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3gpp2.tcap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tcap\\\"]},\\\"application/vnd.3lightssoftware.imagescal\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.3m.post-it-notes\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pwn\\\"]},\\\"application/vnd.accpac.simply.aso\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"aso\\\"]},\\\"application/vnd.accpac.simply.imp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"imp\\\"]},\\\"application/vnd.acucobol\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"acu\\\"]},\\\"application/vnd.acucorp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"atc\\\",\\\"acutc\\\"]},\\\"application/vnd.adobe.air-application-installer-package+zip\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"air\\\"]},\\\"application/vnd.adobe.flash.movie\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.adobe.formscentral.fcdt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fcdt\\\"]},\\\"application/vnd.adobe.fxp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fxp\\\",\\\"fxpl\\\"]},\\\"application/vnd.adobe.partial-upload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.adobe.xdp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdp\\\"]},\\\"application/vnd.adobe.xfdf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xfdf\\\"]},\\\"application/vnd.aether.imp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.afplinedata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.afplinedata-pagedef\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.cmoca-cmresource\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.foca-charset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.foca-codedfont\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.foca-codepage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-cmtable\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-formdef\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-mediummap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-objectcontainer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-overlay\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.afpc.modca-pagesegment\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.age\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"age\\\"]},\\\"application/vnd.ah-barcode\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ahead.space\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ahead\\\"]},\\\"application/vnd.airzip.filesecure.azf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"azf\\\"]},\\\"application/vnd.airzip.filesecure.azs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"azs\\\"]},\\\"application/vnd.amadeus+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.amazon.ebook\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"azw\\\"]},\\\"application/vnd.amazon.mobi8-ebook\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.americandynamics.acc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"acc\\\"]},\\\"application/vnd.amiga.ami\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ami\\\"]},\\\"application/vnd.amundsen.maze+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.android.ota\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.android.package-archive\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"apk\\\"]},\\\"application/vnd.anki\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.anser-web-certificate-issue-initiation\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cii\\\"]},\\\"application/vnd.anser-web-funds-transfer-initiation\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fti\\\"]},\\\"application/vnd.antix.game-component\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"atx\\\"]},\\\"application/vnd.apache.arrow.file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.arrow.stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.thrift.binary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.thrift.compact\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.apache.thrift.json\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.api+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.aplextor.warrp+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.apothekende.reservation+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.apple.installer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mpkg\\\"]},\\\"application/vnd.apple.keynote\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"key\\\"]},\\\"application/vnd.apple.mpegurl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"m3u8\\\"]},\\\"application/vnd.apple.numbers\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"numbers\\\"]},\\\"application/vnd.apple.pages\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pages\\\"]},\\\"application/vnd.apple.pkpass\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pkpass\\\"]},\\\"application/vnd.arastra.swi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.aristanetworks.swi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"swi\\\"]},\\\"application/vnd.artisan+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.artsquare\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.astraea-software.iota\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"iota\\\"]},\\\"application/vnd.audiograph\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"aep\\\"]},\\\"application/vnd.autopackage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.avalon+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.avistar+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.balsamiq.bmml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"bmml\\\"]},\\\"application/vnd.balsamiq.bmpr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.banana-accounting\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bbf.usp.error\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bbf.usp.msg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bbf.usp.msg+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.bekitzur-stech+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.bint.med-content\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.biopax.rdf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.blink-idb-value-wrapper\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.blueice.multipass\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpm\\\"]},\\\"application/vnd.bluetooth.ep.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bluetooth.le.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bmi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bmi\\\"]},\\\"application/vnd.bpf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.bpf3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.businessobjects\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rep\\\"]},\\\"application/vnd.byu.uapi+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cab-jscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.canon-cpdl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.canon-lips\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.capasystems-pg+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cendio.thinlinc.clientconf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.century-systems.tcp_stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.chemdraw+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"cdxml\\\"]},\\\"application/vnd.chess-pgn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.chipnuts.karaoke-mmd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mmd\\\"]},\\\"application/vnd.ciedi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cinderella\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdy\\\"]},\\\"application/vnd.cirpack.isdn-ext\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.citationstyles.style+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"csl\\\"]},\\\"application/vnd.claymore\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cla\\\"]},\\\"application/vnd.cloanto.rp9\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rp9\\\"]},\\\"application/vnd.clonk.c4group\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"c4g\\\",\\\"c4d\\\",\\\"c4f\\\",\\\"c4p\\\",\\\"c4u\\\"]},\\\"application/vnd.cluetrust.cartomobile-config\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"c11amc\\\"]},\\\"application/vnd.cluetrust.cartomobile-config-pkg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"c11amz\\\"]},\\\"application/vnd.coffeescript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.document\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.document-template\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.presentation\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.presentation-template\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.spreadsheet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collabio.xodocuments.spreadsheet-template\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.collection+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.collection.doc+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.collection.next+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.comicbook+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.comicbook-rar\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.commerce-battelle\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.commonspace\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"csp\\\"]},\\\"application/vnd.contact.cmsg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdbcmsg\\\"]},\\\"application/vnd.coreos.ignition+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cosmocaller\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cmc\\\"]},\\\"application/vnd.crick.clicker\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkx\\\"]},\\\"application/vnd.crick.clicker.keyboard\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkk\\\"]},\\\"application/vnd.crick.clicker.palette\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkp\\\"]},\\\"application/vnd.crick.clicker.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkt\\\"]},\\\"application/vnd.crick.clicker.wordbank\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"clkw\\\"]},\\\"application/vnd.criticaltools.wbs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wbs\\\"]},\\\"application/vnd.cryptii.pipe+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.crypto-shade-file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cryptomator.encrypted\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cryptomator.vault\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ctc-posml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pml\\\"]},\\\"application/vnd.ctct.ws+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cups-pdf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cups-postscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cups-ppd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppd\\\"]},\\\"application/vnd.cups-raster\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cups-raw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.curl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.curl.car\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"car\\\"]},\\\"application/vnd.curl.pcurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pcurl\\\"]},\\\"application/vnd.cyan.dean.root+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cybank\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.cyclonedx+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.cyclonedx+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.d2l.coursepackage1p0+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.d3m-dataset\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.d3m-problem\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dart\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dart\\\"]},\\\"application/vnd.data-vision.rdz\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rdz\\\"]},\\\"application/vnd.datapackage+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dataresource+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dbf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dbf\\\"]},\\\"application/vnd.debian.binary-package\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dece.data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvf\\\",\\\"uvvf\\\",\\\"uvd\\\",\\\"uvvd\\\"]},\\\"application/vnd.dece.ttml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"uvt\\\",\\\"uvvt\\\"]},\\\"application/vnd.dece.unspecified\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvx\\\",\\\"uvvx\\\"]},\\\"application/vnd.dece.zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvz\\\",\\\"uvvz\\\"]},\\\"application/vnd.denovo.fcselayout-link\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fe_launch\\\"]},\\\"application/vnd.desmume.movie\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dir-bi.plate-dl-nosuffix\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dm.delegation+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dna\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dna\\\"]},\\\"application/vnd.document+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dolby.mlp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mlp\\\"]},\\\"application/vnd.dolby.mobile.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dolby.mobile.2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.doremir.scorecloud-binary-document\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dpgraph\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dpg\\\"]},\\\"application/vnd.dreamfactory\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dfac\\\"]},\\\"application/vnd.drive+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ds-keypoint\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"kpxx\\\"]},\\\"application/vnd.dtg.local\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dtg.local.flash\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dtg.local.html\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ait\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ait\\\"]},\\\"application/vnd.dvb.dvbisl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.dvbj\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.esgcontainer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcdftnotifaccess\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcesgaccess\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcesgaccess2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcesgpdd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.ipdcroaming\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.iptv.alfec-base\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.iptv.alfec-enhancement\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.notif-aggregate-root+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-container+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-generic+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-ia-msglist+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-ia-registration-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-ia-registration-response+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.notif-init+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.dvb.pfr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dvb.service\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"svc\\\"]},\\\"application/vnd.dxr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.dynageo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"geo\\\"]},\\\"application/vnd.dzr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.easykaraoke.cdgdownload\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecdis-update\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecip.rlp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.eclipse.ditto+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ecowin.chart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mag\\\"]},\\\"application/vnd.ecowin.filerequest\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.fileupdate\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.series\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.seriesrequest\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ecowin.seriesupdate\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.efi.img\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.efi.iso\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.emclient.accessrequest+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.enliven\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nml\\\"]},\\\"application/vnd.enphase.envoy\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.eprints.data+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.epson.esf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"esf\\\"]},\\\"application/vnd.epson.msf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"msf\\\"]},\\\"application/vnd.epson.quickanime\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qam\\\"]},\\\"application/vnd.epson.salt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"slt\\\"]},\\\"application/vnd.epson.ssf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ssf\\\"]},\\\"application/vnd.ericsson.quickcall\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.espass-espass+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.eszigno3+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"es3\\\",\\\"et3\\\"]},\\\"application/vnd.etsi.aoc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.asic-e+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.etsi.asic-s+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.etsi.cug+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvcommand+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvdiscovery+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsad-bc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsad-cod+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsad-npvr+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvservice+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvsync+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.iptvueprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.mcid+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.mheg5\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.etsi.overload-control-policy-dataset+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.pstn+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.sci+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.simservs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.timestamp-token\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.etsi.tsl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.etsi.tsl.der\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.eu.kasparian.car+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.eudora.data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.evolv.ecig.profile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.evolv.ecig.settings\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.evolv.ecig.theme\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.exstream-empower+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.exstream-package\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ezpix-album\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ez2\\\"]},\\\"application/vnd.ezpix-package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ez3\\\"]},\\\"application/vnd.f-secure.mobile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.familysearch.gedcom+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.fastcopy-disk-image\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fdf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fdf\\\"]},\\\"application/vnd.fdsn.mseed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mseed\\\"]},\\\"application/vnd.fdsn.seed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"seed\\\",\\\"dataless\\\"]},\\\"application/vnd.ffsns\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ficlab.flb+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.filmit.zfc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fints\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.firemonkeys.cloudcell\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.flographit\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gph\\\"]},\\\"application/vnd.fluxtime.clip\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ftc\\\"]},\\\"application/vnd.font-fontforge-sfd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.framemaker\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fm\\\",\\\"frame\\\",\\\"maker\\\",\\\"book\\\"]},\\\"application/vnd.frogans.fnc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fnc\\\"]},\\\"application/vnd.frogans.ltf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ltf\\\"]},\\\"application/vnd.fsc.weblaunch\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fsc\\\"]},\\\"application/vnd.fujifilm.fb.docuworks\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujifilm.fb.docuworks.binder\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujifilm.fb.docuworks.container\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujifilm.fb.jfi+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.fujitsu.oasys\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oas\\\"]},\\\"application/vnd.fujitsu.oasys2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oa2\\\"]},\\\"application/vnd.fujitsu.oasys3\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oa3\\\"]},\\\"application/vnd.fujitsu.oasysgp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fg5\\\"]},\\\"application/vnd.fujitsu.oasysprs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bh2\\\"]},\\\"application/vnd.fujixerox.art-ex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujixerox.art4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujixerox.ddd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ddd\\\"]},\\\"application/vnd.fujixerox.docuworks\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xdw\\\"]},\\\"application/vnd.fujixerox.docuworks.binder\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xbd\\\"]},\\\"application/vnd.fujixerox.docuworks.container\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fujixerox.hbpl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.fut-misnet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.futoin+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.futoin+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.fuzzysheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fzs\\\"]},\\\"application/vnd.genomatix.tuxedo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"txd\\\"]},\\\"application/vnd.gentics.grd+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.geo+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.geocube+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.geogebra.file\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ggb\\\"]},\\\"application/vnd.geogebra.slides\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.geogebra.tool\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ggt\\\"]},\\\"application/vnd.geometry-explorer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gex\\\",\\\"gre\\\"]},\\\"application/vnd.geonext\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gxt\\\"]},\\\"application/vnd.geoplan\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"g2w\\\"]},\\\"application/vnd.geospace\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"g3w\\\"]},\\\"application/vnd.gerber\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.globalplatform.card-content-mgt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.globalplatform.card-content-mgt-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.gmx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gmx\\\"]},\\\"application/vnd.google-apps.document\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gdoc\\\"]},\\\"application/vnd.google-apps.presentation\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gslides\\\"]},\\\"application/vnd.google-apps.spreadsheet\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gsheet\\\"]},\\\"application/vnd.google-earth.kml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"kml\\\"]},\\\"application/vnd.google-earth.kmz\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"kmz\\\"]},\\\"application/vnd.gov.sk.e-form+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.gov.sk.e-form+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.gov.sk.xmldatacontainer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.grafeq\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gqf\\\",\\\"gqs\\\"]},\\\"application/vnd.gridmp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.groove-account\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gac\\\"]},\\\"application/vnd.groove-help\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ghf\\\"]},\\\"application/vnd.groove-identity-message\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gim\\\"]},\\\"application/vnd.groove-injector\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"grv\\\"]},\\\"application/vnd.groove-tool-message\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gtm\\\"]},\\\"application/vnd.groove-tool-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tpl\\\"]},\\\"application/vnd.groove-vcard\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vcg\\\"]},\\\"application/vnd.hal+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hal+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"hal\\\"]},\\\"application/vnd.handheld-entertainment+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"zmm\\\"]},\\\"application/vnd.hbci\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hbci\\\"]},\\\"application/vnd.hc+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hcl-bireports\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.hdt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.heroku+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hhe.lesson-player\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"les\\\"]},\\\"application/vnd.hl7cda+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.hl7v2+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.hp-hpgl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hpgl\\\"]},\\\"application/vnd.hp-hpid\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hpid\\\"]},\\\"application/vnd.hp-hps\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hps\\\"]},\\\"application/vnd.hp-jlyt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jlt\\\"]},\\\"application/vnd.hp-pcl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pcl\\\"]},\\\"application/vnd.hp-pclxl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pclxl\\\"]},\\\"application/vnd.httphone\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.hydrostatix.sof-data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sfd-hdstx\\\"]},\\\"application/vnd.hyper+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hyper-item+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hyperdrive+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.hzn-3d-crossword\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ibm.afplinedata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ibm.electronic-media\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ibm.minipay\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpy\\\"]},\\\"application/vnd.ibm.modcap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"afp\\\",\\\"listafp\\\",\\\"list3820\\\"]},\\\"application/vnd.ibm.rights-management\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"irm\\\"]},\\\"application/vnd.ibm.secure-container\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sc\\\"]},\\\"application/vnd.iccprofile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"icc\\\",\\\"icm\\\"]},\\\"application/vnd.ieee.1905\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.igloader\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"igl\\\"]},\\\"application/vnd.imagemeter.folder+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.imagemeter.image+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.immervision-ivp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ivp\\\"]},\\\"application/vnd.immervision-ivu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ivu\\\"]},\\\"application/vnd.ims.imsccv1p1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ims.imsccv1p2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ims.imsccv1p3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ims.lis.v2.result+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolconsumerprofile+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolproxy+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolproxy.id+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolsettings+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ims.lti.v2.toolsettings.simple+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.informedcontrol.rms+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.informix-visionary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.infotech.project\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.infotech.project+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.innopath.wamp.notification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.insors.igm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"igm\\\"]},\\\"application/vnd.intercon.formnet\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xpw\\\",\\\"xpx\\\"]},\\\"application/vnd.intergeo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"i2g\\\"]},\\\"application/vnd.intertrust.digibox\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.intertrust.nncp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.intu.qbo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qbo\\\"]},\\\"application/vnd.intu.qfx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qfx\\\"]},\\\"application/vnd.iptc.g2.catalogitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.conceptitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.knowledgeitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.newsitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.newsmessage+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.packageitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.iptc.g2.planningitem+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ipunplugged.rcprofile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rcprofile\\\"]},\\\"application/vnd.irepository.package+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"irp\\\"]},\\\"application/vnd.is-xpr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xpr\\\"]},\\\"application/vnd.isac.fcs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fcs\\\"]},\\\"application/vnd.iso11783-10+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.jam\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jam\\\"]},\\\"application/vnd.japannet-directory-service\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-jpnstore-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-payment-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-registration\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-registration-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-setstore-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-verification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.japannet-verification-wakeup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.jcp.javame.midlet-rms\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rms\\\"]},\\\"application/vnd.jisp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jisp\\\"]},\\\"application/vnd.joost.joda-archive\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"joda\\\"]},\\\"application/vnd.jsk.isdn-ngn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.kahootz\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ktz\\\",\\\"ktr\\\"]},\\\"application/vnd.kde.karbon\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"karbon\\\"]},\\\"application/vnd.kde.kchart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"chrt\\\"]},\\\"application/vnd.kde.kformula\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kfo\\\"]},\\\"application/vnd.kde.kivio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"flw\\\"]},\\\"application/vnd.kde.kontour\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kon\\\"]},\\\"application/vnd.kde.kpresenter\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kpr\\\",\\\"kpt\\\"]},\\\"application/vnd.kde.kspread\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ksp\\\"]},\\\"application/vnd.kde.kword\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kwd\\\",\\\"kwt\\\"]},\\\"application/vnd.kenameaapp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"htke\\\"]},\\\"application/vnd.kidspiration\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kia\\\"]},\\\"application/vnd.kinar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"kne\\\",\\\"knp\\\"]},\\\"application/vnd.koan\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"skp\\\",\\\"skd\\\",\\\"skt\\\",\\\"skm\\\"]},\\\"application/vnd.kodak-descriptor\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sse\\\"]},\\\"application/vnd.las\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.las.las+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.las.las+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lasxml\\\"]},\\\"application/vnd.laszip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.leap+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.liberty-request+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.llamagraphics.life-balance.desktop\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lbd\\\"]},\\\"application/vnd.llamagraphics.life-balance.exchange+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"lbe\\\"]},\\\"application/vnd.logipipe.circuit+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.loom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.lotus-1-2-3\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"123\\\"]},\\\"application/vnd.lotus-approach\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"apr\\\"]},\\\"application/vnd.lotus-freelance\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pre\\\"]},\\\"application/vnd.lotus-notes\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nsf\\\"]},\\\"application/vnd.lotus-organizer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"org\\\"]},\\\"application/vnd.lotus-screencam\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"scm\\\"]},\\\"application/vnd.lotus-wordpro\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lwp\\\"]},\\\"application/vnd.macports.portpkg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"portpkg\\\"]},\\\"application/vnd.mapbox-vector-tile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mvt\\\"]},\\\"application/vnd.marlin.drm.actiontoken+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.marlin.drm.conftoken+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.marlin.drm.license+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.marlin.drm.mdcf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mason+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.maxar.archive.3tz+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"application/vnd.maxmind.maxmind-db\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mcd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mcd\\\"]},\\\"application/vnd.medcalcdata\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mc1\\\"]},\\\"application/vnd.mediastation.cdkey\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cdkey\\\"]},\\\"application/vnd.meridian-slingshot\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mfer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mwf\\\"]},\\\"application/vnd.mfmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mfm\\\"]},\\\"application/vnd.micro+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.micrografx.flo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"flo\\\"]},\\\"application/vnd.micrografx.igx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"igx\\\"]},\\\"application/vnd.microsoft.portable-executable\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.microsoft.windows.thumbnail-cache\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.miele+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.mif\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mif\\\"]},\\\"application/vnd.minisoft-hp3000-save\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mitsubishi.misty-guard.trustweb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mobius.daf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"daf\\\"]},\\\"application/vnd.mobius.dis\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dis\\\"]},\\\"application/vnd.mobius.mbk\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mbk\\\"]},\\\"application/vnd.mobius.mqy\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mqy\\\"]},\\\"application/vnd.mobius.msl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"msl\\\"]},\\\"application/vnd.mobius.plc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"plc\\\"]},\\\"application/vnd.mobius.txf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"txf\\\"]},\\\"application/vnd.mophun.application\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpn\\\"]},\\\"application/vnd.mophun.certificate\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpc\\\"]},\\\"application/vnd.motorola.flexsuite\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.adsi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.fis\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.gotap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.kmr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.ttc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.flexsuite.wem\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.motorola.iprm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mozilla.xul+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xul\\\"]},\\\"application/vnd.ms-3mfdocument\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-artgalry\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cil\\\"]},\\\"application/vnd.ms-asf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-cab-compressed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cab\\\"]},\\\"application/vnd.ms-color.iccprofile\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/vnd.ms-excel\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xls\\\",\\\"xlm\\\",\\\"xla\\\",\\\"xlc\\\",\\\"xlt\\\",\\\"xlw\\\"]},\\\"application/vnd.ms-excel.addin.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xlam\\\"]},\\\"application/vnd.ms-excel.sheet.binary.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xlsb\\\"]},\\\"application/vnd.ms-excel.sheet.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xlsm\\\"]},\\\"application/vnd.ms-excel.template.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xltm\\\"]},\\\"application/vnd.ms-fontobject\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"eot\\\"]},\\\"application/vnd.ms-htmlhelp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"chm\\\"]},\\\"application/vnd.ms-ims\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ims\\\"]},\\\"application/vnd.ms-lrm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lrm\\\"]},\\\"application/vnd.ms-office.activex+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-officetheme\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"thmx\\\"]},\\\"application/vnd.ms-opentype\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-outlook\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"msg\\\"]},\\\"application/vnd.ms-package.obfuscated-opentype\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/vnd.ms-pki.seccat\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cat\\\"]},\\\"application/vnd.ms-pki.stl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"stl\\\"]},\\\"application/vnd.ms-playready.initiator+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-powerpoint\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ppt\\\",\\\"pps\\\",\\\"pot\\\"]},\\\"application/vnd.ms-powerpoint.addin.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppam\\\"]},\\\"application/vnd.ms-powerpoint.presentation.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pptm\\\"]},\\\"application/vnd.ms-powerpoint.slide.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sldm\\\"]},\\\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppsm\\\"]},\\\"application/vnd.ms-powerpoint.template.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"potm\\\"]},\\\"application/vnd.ms-printdevicecapabilities+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-printing.printticket+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-printschematicket+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ms-project\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mpp\\\",\\\"mpt\\\"]},\\\"application/vnd.ms-tnef\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.devicepairing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.nwprinting.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.printerpairing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-windows.wsd.oob\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.lic-chlg-req\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.lic-resp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.meter-chlg-req\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-wmdrm.meter-resp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ms-word.document.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"docm\\\"]},\\\"application/vnd.ms-word.template.macroenabled.12\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dotm\\\"]},\\\"application/vnd.ms-works\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wps\\\",\\\"wks\\\",\\\"wcm\\\",\\\"wdb\\\"]},\\\"application/vnd.ms-wpl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wpl\\\"]},\\\"application/vnd.ms-xpsdocument\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xps\\\"]},\\\"application/vnd.msa-disk-image\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.mseq\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mseq\\\"]},\\\"application/vnd.msign\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.multiad.creator\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.multiad.creator.cif\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.music-niff\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.musician\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mus\\\"]},\\\"application/vnd.muvee.style\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"msty\\\"]},\\\"application/vnd.mynfc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"taglet\\\"]},\\\"application/vnd.nacamar.ybrid+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.ncd.control\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ncd.reference\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nearst.inv+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nebumind.line\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nervana\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.netfpx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.neurolanguage.nlu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nlu\\\"]},\\\"application/vnd.nimn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nintendo.nitro.rom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nintendo.snes.rom\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nitf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ntf\\\",\\\"nitf\\\"]},\\\"application/vnd.noblenet-directory\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nnd\\\"]},\\\"application/vnd.noblenet-sealer\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nns\\\"]},\\\"application/vnd.noblenet-web\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nnw\\\"]},\\\"application/vnd.nokia.catalogs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.conml+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.conml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.iptv.config+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.isds-radio-presets\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.landmark+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.landmark+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.landmarkcollection+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.n-gage.ac+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ac\\\"]},\\\"application/vnd.nokia.n-gage.data\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ngdat\\\"]},\\\"application/vnd.nokia.n-gage.symbian.install\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"n-gage\\\"]},\\\"application/vnd.nokia.ncd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.pcd+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.nokia.pcd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.nokia.radio-preset\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rpst\\\"]},\\\"application/vnd.nokia.radio-presets\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rpss\\\"]},\\\"application/vnd.novadigm.edm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"edm\\\"]},\\\"application/vnd.novadigm.edx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"edx\\\"]},\\\"application/vnd.novadigm.ext\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ext\\\"]},\\\"application/vnd.ntt-local.content-share\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.file-transfer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.ogw_remote-access\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.sip-ta_remote\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ntt-local.sip-ta_tcp_stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oasis.opendocument.chart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odc\\\"]},\\\"application/vnd.oasis.opendocument.chart-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"otc\\\"]},\\\"application/vnd.oasis.opendocument.database\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odb\\\"]},\\\"application/vnd.oasis.opendocument.formula\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odf\\\"]},\\\"application/vnd.oasis.opendocument.formula-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odft\\\"]},\\\"application/vnd.oasis.opendocument.graphics\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"odg\\\"]},\\\"application/vnd.oasis.opendocument.graphics-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"otg\\\"]},\\\"application/vnd.oasis.opendocument.image\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odi\\\"]},\\\"application/vnd.oasis.opendocument.image-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oti\\\"]},\\\"application/vnd.oasis.opendocument.presentation\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"odp\\\"]},\\\"application/vnd.oasis.opendocument.presentation-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"otp\\\"]},\\\"application/vnd.oasis.opendocument.spreadsheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ods\\\"]},\\\"application/vnd.oasis.opendocument.spreadsheet-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ots\\\"]},\\\"application/vnd.oasis.opendocument.text\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"odt\\\"]},\\\"application/vnd.oasis.opendocument.text-master\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"odm\\\"]},\\\"application/vnd.oasis.opendocument.text-template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ott\\\"]},\\\"application/vnd.oasis.opendocument.text-web\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"oth\\\"]},\\\"application/vnd.obn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ocf+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oci.image.manifest.v1+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oftn.l10n+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.contentaccessdownload+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.contentaccessstreaming+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.cspg-hexbinary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oipf.dae.svg+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.dae.xhtml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.mippvcontrolmessage+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.pae.gem\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oipf.spdiscovery+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.spdlist+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.ueprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oipf.userprofile+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.olpc-sugar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xo\\\"]},\\\"application/vnd.oma-scws-config\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma-scws-http-request\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma-scws-http-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.associated-procedure-parameter+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.drm-trigger+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.imd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.ltkm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.notification+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.provisioningtrigger\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.sgboot\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.sgdd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.sgdu\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.simple-symbol-container\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.bcast.smartcard-trigger+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.sprov+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.bcast.stkm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.cab-address-book+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-feature-handler+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-pcc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-subs-invite+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.cab-user-prefs+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.dcd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.dcdc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.dd2+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dd2\\\"]},\\\"application/vnd.oma.drm.risd+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.group-usage-list+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.lwm2m+cbor\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.lwm2m+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.lwm2m+tlv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.pal+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.detailed-progress-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.final-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.groups+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.invocation-descriptor+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.poc.optimized-progress-report+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.push\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.oma.scidm.messages+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oma.xcap-directory+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.omads-email+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.omads-file+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.omads-folder+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.omaloc-supl-init\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepager\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertamp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertamx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertat\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertatp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.onepagertatx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openblox.game+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"obgx\\\"]},\\\"application/vnd.openblox.game-binary\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openeye.oeb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openofficeorg.extension\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"oxt\\\"]},\\\"application/vnd.openstreetmap.data+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"osm\\\"]},\\\"application/vnd.opentimestamps.ots\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openxmlformats-officedocument.custom-properties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawing+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.extended-properties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.presentation\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"pptx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slide\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sldx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ppsx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"potx\\\"]},\\\"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xlsx\\\"]},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xltx\\\"]},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.theme+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.themeoverride+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.vmldrawing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"docx\\\"]},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dotx\\\"]},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-package.core-properties+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.openxmlformats-package.relationships+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oracle.resource+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.orange.indata\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.osa.netdeploy\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.osgeo.mapguide.package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mgp\\\"]},\\\"application/vnd.osgi.bundle\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.osgi.dp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dp\\\"]},\\\"application/vnd.osgi.subsystem\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"esa\\\"]},\\\"application/vnd.otps.ct-kip+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.oxli.countgraph\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pagerduty+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.palm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pdb\\\",\\\"pqa\\\",\\\"oprc\\\"]},\\\"application/vnd.panoply\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.paos.xml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.patentdive\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.patientecommsdoc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pawaafile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"paw\\\"]},\\\"application/vnd.pcos\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pg.format\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"str\\\"]},\\\"application/vnd.pg.osasli\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ei6\\\"]},\\\"application/vnd.piaccess.application-licence\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.picsel\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"efif\\\"]},\\\"application/vnd.pmi.widget\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wg\\\"]},\\\"application/vnd.poc.group-advertisement+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.pocketlearn\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"plf\\\"]},\\\"application/vnd.powerbuilder6\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pbd\\\"]},\\\"application/vnd.powerbuilder6-s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder7\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder7-s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder75\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.powerbuilder75-s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.preminet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.previewsystems.box\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"box\\\"]},\\\"application/vnd.proteus.magazine\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mgz\\\"]},\\\"application/vnd.psfs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.publishare-delta-tree\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qps\\\"]},\\\"application/vnd.pvi.ptid1\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ptid\\\"]},\\\"application/vnd.pwg-multiplexed\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.pwg-xhtml-print+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.qualcomm.brew-app-res\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.quarantainenet\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.quark.quarkxpress\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"qxd\\\",\\\"qxt\\\",\\\"qwd\\\",\\\"qwt\\\",\\\"qxl\\\",\\\"qxb\\\"]},\\\"application/vnd.quobject-quoxdocument\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.radisys.moml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-conf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-conn+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-dialog+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-audit-stream+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-conf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-base+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-fax-detect+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-group+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-speech+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.radisys.msml-dialog-transform+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.rainstor.data\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.rapid\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.rar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rar\\\"]},\\\"application/vnd.realvnc.bed\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bed\\\"]},\\\"application/vnd.recordare.musicxml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxl\\\"]},\\\"application/vnd.recordare.musicxml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"musicxml\\\"]},\\\"application/vnd.renlearn.rlprint\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.resilient.logic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.restful+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.rig.cryptonote\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cryptonote\\\"]},\\\"application/vnd.rim.cod\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cod\\\"]},\\\"application/vnd.rn-realmedia\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rm\\\"]},\\\"application/vnd.rn-realmedia-vbr\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rmvb\\\"]},\\\"application/vnd.route66.link66+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"link66\\\"]},\\\"application/vnd.rs-274x\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ruckus.download\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.s3sms\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sailingtracker.track\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"st\\\"]},\\\"application/vnd.sar\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sbm.cid\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sbm.mid2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.scribus\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.3df\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.csf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.doc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.eml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.mht\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.net\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.ppt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.tiff\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealed.xls\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealedmedia.softseal.html\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sealedmedia.softseal.pdf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.seemail\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"see\\\"]},\\\"application/vnd.seis+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.sema\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sema\\\"]},\\\"application/vnd.semd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"semd\\\"]},\\\"application/vnd.semf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"semf\\\"]},\\\"application/vnd.shade-save-file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.shana.informed.formdata\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ifm\\\"]},\\\"application/vnd.shana.informed.formtemplate\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"itp\\\"]},\\\"application/vnd.shana.informed.interchange\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"iif\\\"]},\\\"application/vnd.shana.informed.package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ipk\\\"]},\\\"application/vnd.shootproof+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.shopkick+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.shp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.shx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sigrok.session\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.simtech-mindmapper\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"twd\\\",\\\"twds\\\"]},\\\"application/vnd.siren+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.smaf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mmf\\\"]},\\\"application/vnd.smart.notebook\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.smart.teacher\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"teacher\\\"]},\\\"application/vnd.snesdev-page-table\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.software602.filler.form+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"fo\\\"]},\\\"application/vnd.software602.filler.form-xml-zip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.solent.sdkm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sdkm\\\",\\\"sdkd\\\"]},\\\"application/vnd.spotfire.dxp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dxp\\\"]},\\\"application/vnd.spotfire.sfs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sfs\\\"]},\\\"application/vnd.sqlite3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sss-cod\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sss-dtf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sss-ntf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.stardivision.calc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sdc\\\"]},\\\"application/vnd.stardivision.draw\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sda\\\"]},\\\"application/vnd.stardivision.impress\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sdd\\\"]},\\\"application/vnd.stardivision.math\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"smf\\\"]},\\\"application/vnd.stardivision.writer\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sdw\\\",\\\"vor\\\"]},\\\"application/vnd.stardivision.writer-global\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sgl\\\"]},\\\"application/vnd.stepmania.package\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"smzip\\\"]},\\\"application/vnd.stepmania.stepchart\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sm\\\"]},\\\"application/vnd.street-stream\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sun.wadl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wadl\\\"]},\\\"application/vnd.sun.xml.calc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxc\\\"]},\\\"application/vnd.sun.xml.calc.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"stc\\\"]},\\\"application/vnd.sun.xml.draw\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxd\\\"]},\\\"application/vnd.sun.xml.draw.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"std\\\"]},\\\"application/vnd.sun.xml.impress\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxi\\\"]},\\\"application/vnd.sun.xml.impress.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sti\\\"]},\\\"application/vnd.sun.xml.math\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxm\\\"]},\\\"application/vnd.sun.xml.writer\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxw\\\"]},\\\"application/vnd.sun.xml.writer.global\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sxg\\\"]},\\\"application/vnd.sun.xml.writer.template\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"stw\\\"]},\\\"application/vnd.sus-calendar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sus\\\",\\\"susp\\\"]},\\\"application/vnd.svd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"svd\\\"]},\\\"application/vnd.swiftview-ics\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.sycle+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.syft+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.symbian.install\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sis\\\",\\\"sisx\\\"]},\\\"application/vnd.syncml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xsm\\\"]},\\\"application/vnd.syncml.dm+wbxml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"bdm\\\"]},\\\"application/vnd.syncml.dm+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdm\\\"]},\\\"application/vnd.syncml.dm.notification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.syncml.dmddf+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.syncml.dmddf+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ddf\\\"]},\\\"application/vnd.syncml.dmtnds+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.syncml.dmtnds+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true},\\\"application/vnd.syncml.ds.notification\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.tableschema+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.tao.intent-module-archive\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tao\\\"]},\\\"application/vnd.tcpdump.pcap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pcap\\\",\\\"cap\\\",\\\"dmp\\\"]},\\\"application/vnd.think-cell.ppttc+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.tmd.mediaflex.api+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.tml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.tmobile-livetv\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tmo\\\"]},\\\"application/vnd.tri.onesource\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.trid.tpt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tpt\\\"]},\\\"application/vnd.triscape.mxs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxs\\\"]},\\\"application/vnd.trueapp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tra\\\"]},\\\"application/vnd.truedoc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ubisoft.webplayer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ufdl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ufd\\\",\\\"ufdl\\\"]},\\\"application/vnd.uiq.theme\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"utz\\\"]},\\\"application/vnd.umajin\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"umj\\\"]},\\\"application/vnd.unity\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"unityweb\\\"]},\\\"application/vnd.uoml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"uoml\\\"]},\\\"application/vnd.uplanet.alert\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.alert-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.bearer-choice\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.bearer-choice-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.cacheop\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.cacheop-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.channel\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.channel-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.list\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.list-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.listcmd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.listcmd-wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uplanet.signal\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.uri-map\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.valve.source.material\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vcx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vcx\\\"]},\\\"application/vnd.vd-study\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vectorworks\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vel+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.verimatrix.vcas\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.veritone.aion+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.veryant.thin\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.ves.encrypted\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vidsoft.vidconference\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.visio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vsd\\\",\\\"vst\\\",\\\"vss\\\",\\\"vsw\\\"]},\\\"application/vnd.visionary\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vis\\\"]},\\\"application/vnd.vividence.scriptfile\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.vsf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vsf\\\"]},\\\"application/vnd.wap.sic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wap.slc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wap.wbxml\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"wbxml\\\"]},\\\"application/vnd.wap.wmlc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmlc\\\"]},\\\"application/vnd.wap.wmlscriptc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmlsc\\\"]},\\\"application/vnd.webturbo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wtb\\\"]},\\\"application/vnd.wfa.dpp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wfa.p2p\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wfa.wsc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.windows.devicepairing\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wmc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wmf.bootstrap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wolfram.mathematica\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wolfram.mathematica.package\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wolfram.player\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"nbp\\\"]},\\\"application/vnd.wordperfect\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wpd\\\"]},\\\"application/vnd.wqd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wqd\\\"]},\\\"application/vnd.wrq-hp3000-labelled\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wt.stf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"stf\\\"]},\\\"application/vnd.wv.csp+wbxml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.wv.csp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.wv.ssp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.xacml+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.xara\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xar\\\"]},\\\"application/vnd.xfdl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xfdl\\\"]},\\\"application/vnd.xfdl.webform\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmi+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vnd.xmpie.cpkg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.dpkg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.plan\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.ppkg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.xmpie.xlim\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yamaha.hv-dic\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hvd\\\"]},\\\"application/vnd.yamaha.hv-script\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hvs\\\"]},\\\"application/vnd.yamaha.hv-voice\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hvp\\\"]},\\\"application/vnd.yamaha.openscoreformat\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"osf\\\"]},\\\"application/vnd.yamaha.openscoreformat.osfpvg+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"osfpvg\\\"]},\\\"application/vnd.yamaha.remote-setup\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yamaha.smaf-audio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"saf\\\"]},\\\"application/vnd.yamaha.smaf-phrase\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spf\\\"]},\\\"application/vnd.yamaha.through-ngn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yamaha.tunnel-udpencap\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yaoweme\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.yellowriver-custom-menu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cmp\\\"]},\\\"application/vnd.youtube.yt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/vnd.zul\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"zir\\\",\\\"zirz\\\"]},\\\"application/vnd.zzazz.deck+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"zaz\\\"]},\\\"application/voicexml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vxml\\\"]},\\\"application/voucher-cms+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/vq-rtcpxr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/wasm\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wasm\\\"]},\\\"application/watcherinfo+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wif\\\"]},\\\"application/webpush-options+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/whoispp-query\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/whoispp-response\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/widget\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wgt\\\"]},\\\"application/winhlp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"hlp\\\"]},\\\"application/wita\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/wordperfect5.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/wsdl+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wsdl\\\"]},\\\"application/wspolicy+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"wspolicy\\\"]},\\\"application/x-7z-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"7z\\\"]},\\\"application/x-abiword\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"abw\\\"]},\\\"application/x-ace-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ace\\\"]},\\\"application/x-amf\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-apple-diskimage\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dmg\\\"]},\\\"application/x-arj\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"arj\\\"]},\\\"application/x-authorware-bin\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aab\\\",\\\"x32\\\",\\\"u32\\\",\\\"vox\\\"]},\\\"application/x-authorware-map\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aam\\\"]},\\\"application/x-authorware-seg\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aas\\\"]},\\\"application/x-bcpio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"bcpio\\\"]},\\\"application/x-bdoc\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bdoc\\\"]},\\\"application/x-bittorrent\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"torrent\\\"]},\\\"application/x-blorb\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"blb\\\",\\\"blorb\\\"]},\\\"application/x-bzip\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bz\\\"]},\\\"application/x-bzip2\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"bz2\\\",\\\"boz\\\"]},\\\"application/x-cbr\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cbr\\\",\\\"cba\\\",\\\"cbt\\\",\\\"cbz\\\",\\\"cb7\\\"]},\\\"application/x-cdlink\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vcd\\\"]},\\\"application/x-cfs-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cfs\\\"]},\\\"application/x-chat\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"chat\\\"]},\\\"application/x-chess-pgn\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pgn\\\"]},\\\"application/x-chrome-extension\\\":{\\\"extensions\\\":[\\\"crx\\\"]},\\\"application/x-cocoa\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"cco\\\"]},\\\"application/x-compress\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-conference\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nsc\\\"]},\\\"application/x-cpio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cpio\\\"]},\\\"application/x-csh\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"csh\\\"]},\\\"application/x-deb\\\":{\\\"compressible\\\":false},\\\"application/x-debian-package\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"deb\\\",\\\"udeb\\\"]},\\\"application/x-dgc-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dgc\\\"]},\\\"application/x-director\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dir\\\",\\\"dcr\\\",\\\"dxr\\\",\\\"cst\\\",\\\"cct\\\",\\\"cxt\\\",\\\"w3d\\\",\\\"fgd\\\",\\\"swa\\\"]},\\\"application/x-doom\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wad\\\"]},\\\"application/x-dtbncx+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ncx\\\"]},\\\"application/x-dtbook+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dtb\\\"]},\\\"application/x-dtbresource+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"res\\\"]},\\\"application/x-dvi\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"dvi\\\"]},\\\"application/x-envoy\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"evy\\\"]},\\\"application/x-eva\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"eva\\\"]},\\\"application/x-font-bdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"bdf\\\"]},\\\"application/x-font-dos\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-framemaker\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-ghostscript\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gsf\\\"]},\\\"application/x-font-libgrx\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-linux-psf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"psf\\\"]},\\\"application/x-font-pcf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pcf\\\"]},\\\"application/x-font-snf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"snf\\\"]},\\\"application/x-font-speedo\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-sunos-news\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-font-type1\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pfa\\\",\\\"pfb\\\",\\\"pfm\\\",\\\"afm\\\"]},\\\"application/x-font-vfont\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-freearc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"arc\\\"]},\\\"application/x-futuresplash\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"spl\\\"]},\\\"application/x-gca-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gca\\\"]},\\\"application/x-glulx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ulx\\\"]},\\\"application/x-gnumeric\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gnumeric\\\"]},\\\"application/x-gramps-xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gramps\\\"]},\\\"application/x-gtar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gtar\\\"]},\\\"application/x-gzip\\\":{\\\"source\\\":\\\"apache\\\"},\\\"application/x-hdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"hdf\\\"]},\\\"application/x-httpd-php\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"php\\\"]},\\\"application/x-install-instructions\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"install\\\"]},\\\"application/x-iso9660-image\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"iso\\\"]},\\\"application/x-iwork-keynote-sffkey\\\":{\\\"extensions\\\":[\\\"key\\\"]},\\\"application/x-iwork-numbers-sffnumbers\\\":{\\\"extensions\\\":[\\\"numbers\\\"]},\\\"application/x-iwork-pages-sffpages\\\":{\\\"extensions\\\":[\\\"pages\\\"]},\\\"application/x-java-archive-diff\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"jardiff\\\"]},\\\"application/x-java-jnlp-file\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jnlp\\\"]},\\\"application/x-javascript\\\":{\\\"compressible\\\":true},\\\"application/x-keepass2\\\":{\\\"extensions\\\":[\\\"kdbx\\\"]},\\\"application/x-latex\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"latex\\\"]},\\\"application/x-lua-bytecode\\\":{\\\"extensions\\\":[\\\"luac\\\"]},\\\"application/x-lzh-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"lzh\\\",\\\"lha\\\"]},\\\"application/x-makeself\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"run\\\"]},\\\"application/x-mie\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mie\\\"]},\\\"application/x-mobipocket-ebook\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"prc\\\",\\\"mobi\\\"]},\\\"application/x-mpegurl\\\":{\\\"compressible\\\":false},\\\"application/x-ms-application\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"application\\\"]},\\\"application/x-ms-shortcut\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"lnk\\\"]},\\\"application/x-ms-wmd\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmd\\\"]},\\\"application/x-ms-wmz\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmz\\\"]},\\\"application/x-ms-xbap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xbap\\\"]},\\\"application/x-msaccess\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mdb\\\"]},\\\"application/x-msbinder\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"obd\\\"]},\\\"application/x-mscardfile\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"crd\\\"]},\\\"application/x-msclip\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"clp\\\"]},\\\"application/x-msdos-program\\\":{\\\"extensions\\\":[\\\"exe\\\"]},\\\"application/x-msdownload\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"exe\\\",\\\"dll\\\",\\\"com\\\",\\\"bat\\\",\\\"msi\\\"]},\\\"application/x-msmediaview\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mvb\\\",\\\"m13\\\",\\\"m14\\\"]},\\\"application/x-msmetafile\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmf\\\",\\\"wmz\\\",\\\"emf\\\",\\\"emz\\\"]},\\\"application/x-msmoney\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mny\\\"]},\\\"application/x-mspublisher\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pub\\\"]},\\\"application/x-msschedule\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"scd\\\"]},\\\"application/x-msterminal\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"trm\\\"]},\\\"application/x-mswrite\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wri\\\"]},\\\"application/x-netcdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nc\\\",\\\"cdf\\\"]},\\\"application/x-ns-proxy-autoconfig\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pac\\\"]},\\\"application/x-nzb\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nzb\\\"]},\\\"application/x-perl\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"pl\\\",\\\"pm\\\"]},\\\"application/x-pilot\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"prc\\\",\\\"pdb\\\"]},\\\"application/x-pkcs12\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"p12\\\",\\\"pfx\\\"]},\\\"application/x-pkcs7-certificates\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"p7b\\\",\\\"spc\\\"]},\\\"application/x-pkcs7-certreqresp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"p7r\\\"]},\\\"application/x-pki-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/x-rar-compressed\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"rar\\\"]},\\\"application/x-redhat-package-manager\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"rpm\\\"]},\\\"application/x-research-info-systems\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ris\\\"]},\\\"application/x-sea\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"sea\\\"]},\\\"application/x-sh\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"sh\\\"]},\\\"application/x-shar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"shar\\\"]},\\\"application/x-shockwave-flash\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"swf\\\"]},\\\"application/x-silverlight-app\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xap\\\"]},\\\"application/x-sql\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sql\\\"]},\\\"application/x-stuffit\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"sit\\\"]},\\\"application/x-stuffitx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sitx\\\"]},\\\"application/x-subrip\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"srt\\\"]},\\\"application/x-sv4cpio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sv4cpio\\\"]},\\\"application/x-sv4crc\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sv4crc\\\"]},\\\"application/x-t3vm-image\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"t3\\\"]},\\\"application/x-tads\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"gam\\\"]},\\\"application/x-tar\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tar\\\"]},\\\"application/x-tcl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tcl\\\",\\\"tk\\\"]},\\\"application/x-tex\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tex\\\"]},\\\"application/x-tex-tfm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tfm\\\"]},\\\"application/x-texinfo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"texinfo\\\",\\\"texi\\\"]},\\\"application/x-tgif\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"obj\\\"]},\\\"application/x-ustar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ustar\\\"]},\\\"application/x-virtualbox-hdd\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"hdd\\\"]},\\\"application/x-virtualbox-ova\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ova\\\"]},\\\"application/x-virtualbox-ovf\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ovf\\\"]},\\\"application/x-virtualbox-vbox\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vbox\\\"]},\\\"application/x-virtualbox-vbox-extpack\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"vbox-extpack\\\"]},\\\"application/x-virtualbox-vdi\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vdi\\\"]},\\\"application/x-virtualbox-vhd\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vhd\\\"]},\\\"application/x-virtualbox-vmdk\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vmdk\\\"]},\\\"application/x-wais-source\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"src\\\"]},\\\"application/x-web-app-manifest+json\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"webapp\\\"]},\\\"application/x-www-form-urlencoded\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/x-x509-ca-cert\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"der\\\",\\\"crt\\\",\\\"pem\\\"]},\\\"application/x-x509-ca-ra-cert\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/x-x509-next-ca-cert\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/x-xfig\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fig\\\"]},\\\"application/x-xliff+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xlf\\\"]},\\\"application/x-xpinstall\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"xpi\\\"]},\\\"application/x-xz\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xz\\\"]},\\\"application/x-zmachine\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"z1\\\",\\\"z2\\\",\\\"z3\\\",\\\"z4\\\",\\\"z5\\\",\\\"z6\\\",\\\"z7\\\",\\\"z8\\\"]},\\\"application/x400-bp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/xacml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xaml+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xaml\\\"]},\\\"application/xcap-att+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xav\\\"]},\\\"application/xcap-caps+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xca\\\"]},\\\"application/xcap-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xdf\\\"]},\\\"application/xcap-el+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xel\\\"]},\\\"application/xcap-error+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xcap-ns+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xns\\\"]},\\\"application/xcon-conference-info+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xcon-conference-info-diff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xenc+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xenc\\\"]},\\\"application/xhtml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xhtml\\\",\\\"xht\\\"]},\\\"application/xhtml-voice+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true},\\\"application/xliff+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xlf\\\"]},\\\"application/xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xml\\\",\\\"xsl\\\",\\\"xsd\\\",\\\"rng\\\"]},\\\"application/xml-dtd\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dtd\\\"]},\\\"application/xml-external-parsed-entity\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/xml-patch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xmpp+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/xop+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xop\\\"]},\\\"application/xproc+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xpl\\\"]},\\\"application/xslt+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xsl\\\",\\\"xslt\\\"]},\\\"application/xspf+xml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xspf\\\"]},\\\"application/xv+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mxml\\\",\\\"xhvml\\\",\\\"xvml\\\",\\\"xvm\\\"]},\\\"application/yang\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"yang\\\"]},\\\"application/yang-data+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yang-data+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yang-patch+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yang-patch+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"application/yin+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"yin\\\"]},\\\"application/zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"zip\\\"]},\\\"application/zlib\\\":{\\\"source\\\":\\\"iana\\\"},\\\"application/zstd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/32kadpcm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/3gpp\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"3gpp\\\"]},\\\"audio/3gpp2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/aac\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ac3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/adpcm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"adp\\\"]},\\\"audio/amr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"amr\\\"]},\\\"audio/amr-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/amr-wb+\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/aptx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/asc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/atrac-advanced-lossless\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/atrac-x\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/atrac3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/basic\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"au\\\",\\\"snd\\\"]},\\\"audio/bv16\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/bv32\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/clearmode\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/cn\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dat12\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dls\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es201108\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es202050\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es202211\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dsr-es202212\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/dvi4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/eac3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc-qcp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrc1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcb0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcb1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcnw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcnw0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcnw1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcwb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcwb0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evrcwb1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/evs\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/fwdred\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g711-0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g719\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g722\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g7221\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g723\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-16\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-24\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-32\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g726-40\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g728\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g729\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g7291\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g729d\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/g729e\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/gsm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/gsm-efr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/gsm-hr-08\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ilbc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ip-mr_v2.5\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/isac\\\":{\\\"source\\\":\\\"apache\\\"},\\\"audio/l16\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/l20\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/l24\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"audio/l8\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/lpc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp1200\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp2400\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/melp600\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mhas\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/midi\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mid\\\",\\\"midi\\\",\\\"kar\\\",\\\"rmi\\\"]},\\\"audio/mobile-xmf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxmf\\\"]},\\\"audio/mp3\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mp3\\\"]},\\\"audio/mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"m4a\\\",\\\"mp4a\\\"]},\\\"audio/mp4a-latm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mpa\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mpa-robust\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/mpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mpga\\\",\\\"mp2\\\",\\\"mp2a\\\",\\\"mp3\\\",\\\"m2a\\\",\\\"m3a\\\"]},\\\"audio/mpeg4-generic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/musepack\\\":{\\\"source\\\":\\\"apache\\\"},\\\"audio/ogg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"oga\\\",\\\"ogg\\\",\\\"spx\\\",\\\"opus\\\"]},\\\"audio/opus\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcma\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcma-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcmu\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/pcmu-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/prs.sid\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/qcelp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/red\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtp-enc-aescm128\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtp-midi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/s3m\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"s3m\\\"]},\\\"audio/scip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/silk\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sil\\\"]},\\\"audio/smv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/smv-qcp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/smv0\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/sofa\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/sp-midi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/speex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/t140c\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/t38\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/telephone-event\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tetra_acelp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tetra_acelp_bb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tone\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/tsvcis\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/uemclip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/usac\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vdvi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vmr-wb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.3gpp.iufp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.4sb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.audiokoz\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.celp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cisco.nse\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cmles.radio-events\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cns.anp1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.cns.inf1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dece.audio\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uva\\\",\\\"uvva\\\"]},\\\"audio/vnd.digital-winds\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"eol\\\"]},\\\"audio/vnd.dlna.adts\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.heaac.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.heaac.2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.mlp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.mps\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pl2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pl2x\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pl2z\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dolby.pulse.1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dra\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dra\\\"]},\\\"audio/vnd.dts\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dts\\\"]},\\\"audio/vnd.dts.hd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dtshd\\\"]},\\\"audio/vnd.dts.uhd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.dvb.file\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.everad.plj\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.hns.audio\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.lucent.voice\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"lvp\\\"]},\\\"audio/vnd.ms-playready.media.pya\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pya\\\"]},\\\"audio/vnd.nokia.mobile-xmf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.nortel.vbk\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.nuera.ecelp4800\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ecelp4800\\\"]},\\\"audio/vnd.nuera.ecelp7470\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ecelp7470\\\"]},\\\"audio/vnd.nuera.ecelp9600\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ecelp9600\\\"]},\\\"audio/vnd.octel.sbc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.presonus.multitrack\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.qcelp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.rhetorex.32kadpcm\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.rip\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rip\\\"]},\\\"audio/vnd.rn-realaudio\\\":{\\\"compressible\\\":false},\\\"audio/vnd.sealedmedia.softseal.mpeg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.vmx.cvsd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/vnd.wave\\\":{\\\"compressible\\\":false},\\\"audio/vorbis\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"audio/vorbis-config\\\":{\\\"source\\\":\\\"iana\\\"},\\\"audio/wav\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wav\\\"]},\\\"audio/wave\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wav\\\"]},\\\"audio/webm\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"weba\\\"]},\\\"audio/x-aac\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"aac\\\"]},\\\"audio/x-aiff\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"aif\\\",\\\"aiff\\\",\\\"aifc\\\"]},\\\"audio/x-caf\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"caf\\\"]},\\\"audio/x-flac\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"flac\\\"]},\\\"audio/x-m4a\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"m4a\\\"]},\\\"audio/x-matroska\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mka\\\"]},\\\"audio/x-mpegurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"m3u\\\"]},\\\"audio/x-ms-wax\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wax\\\"]},\\\"audio/x-ms-wma\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wma\\\"]},\\\"audio/x-pn-realaudio\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ram\\\",\\\"ra\\\"]},\\\"audio/x-pn-realaudio-plugin\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rmp\\\"]},\\\"audio/x-realaudio\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"ra\\\"]},\\\"audio/x-tta\\\":{\\\"source\\\":\\\"apache\\\"},\\\"audio/x-wav\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wav\\\"]},\\\"audio/xm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xm\\\"]},\\\"chemical/x-cdx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cdx\\\"]},\\\"chemical/x-cif\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cif\\\"]},\\\"chemical/x-cmdf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cmdf\\\"]},\\\"chemical/x-cml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cml\\\"]},\\\"chemical/x-csml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"csml\\\"]},\\\"chemical/x-pdb\\\":{\\\"source\\\":\\\"apache\\\"},\\\"chemical/x-xyz\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xyz\\\"]},\\\"font/collection\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ttc\\\"]},\\\"font/otf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"otf\\\"]},\\\"font/sfnt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"font/ttf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ttf\\\"]},\\\"font/woff\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"woff\\\"]},\\\"font/woff2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"woff2\\\"]},\\\"image/aces\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"exr\\\"]},\\\"image/apng\\\":{\\\"compressible\\\":false,\\\"extensions\\\":[\\\"apng\\\"]},\\\"image/avci\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"avci\\\"]},\\\"image/avcs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"avcs\\\"]},\\\"image/avif\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"avif\\\"]},\\\"image/bmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"bmp\\\"]},\\\"image/cgm\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"cgm\\\"]},\\\"image/dicom-rle\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"drle\\\"]},\\\"image/emf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"emf\\\"]},\\\"image/fits\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fits\\\"]},\\\"image/g3fax\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"g3\\\"]},\\\"image/gif\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"gif\\\"]},\\\"image/heic\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heic\\\"]},\\\"image/heic-sequence\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heics\\\"]},\\\"image/heif\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heif\\\"]},\\\"image/heif-sequence\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"heifs\\\"]},\\\"image/hej2k\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hej2\\\"]},\\\"image/hsj2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"hsj2\\\"]},\\\"image/ief\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ief\\\"]},\\\"image/jls\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jls\\\"]},\\\"image/jp2\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jp2\\\",\\\"jpg2\\\"]},\\\"image/jpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jpeg\\\",\\\"jpg\\\",\\\"jpe\\\"]},\\\"image/jph\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jph\\\"]},\\\"image/jphc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jhc\\\"]},\\\"image/jpm\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jpm\\\"]},\\\"image/jpx\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"jpx\\\",\\\"jpf\\\"]},\\\"image/jxr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxr\\\"]},\\\"image/jxra\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxra\\\"]},\\\"image/jxrs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxrs\\\"]},\\\"image/jxs\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxs\\\"]},\\\"image/jxsc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxsc\\\"]},\\\"image/jxsi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxsi\\\"]},\\\"image/jxss\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jxss\\\"]},\\\"image/ktx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ktx\\\"]},\\\"image/ktx2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ktx2\\\"]},\\\"image/naplps\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/pjpeg\\\":{\\\"compressible\\\":false},\\\"image/png\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"png\\\"]},\\\"image/prs.btif\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"btif\\\"]},\\\"image/prs.pti\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pti\\\"]},\\\"image/pwg-raster\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/sgi\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sgi\\\"]},\\\"image/svg+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"svg\\\",\\\"svgz\\\"]},\\\"image/t38\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"t38\\\"]},\\\"image/tiff\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"tif\\\",\\\"tiff\\\"]},\\\"image/tiff-fx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tfx\\\"]},\\\"image/vnd.adobe.photoshop\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"psd\\\"]},\\\"image/vnd.airzip.accelerator.azv\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"azv\\\"]},\\\"image/vnd.cns.inf2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.dece.graphic\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvi\\\",\\\"uvvi\\\",\\\"uvg\\\",\\\"uvvg\\\"]},\\\"image/vnd.djvu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"djvu\\\",\\\"djv\\\"]},\\\"image/vnd.dvb.subtitle\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sub\\\"]},\\\"image/vnd.dwg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dwg\\\"]},\\\"image/vnd.dxf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dxf\\\"]},\\\"image/vnd.fastbidsheet\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fbs\\\"]},\\\"image/vnd.fpx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fpx\\\"]},\\\"image/vnd.fst\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fst\\\"]},\\\"image/vnd.fujixerox.edmics-mmr\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mmr\\\"]},\\\"image/vnd.fujixerox.edmics-rlc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"rlc\\\"]},\\\"image/vnd.globalgraphics.pgb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.microsoft.icon\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ico\\\"]},\\\"image/vnd.mix\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.mozilla.apng\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.ms-dds\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dds\\\"]},\\\"image/vnd.ms-modi\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mdi\\\"]},\\\"image/vnd.ms-photo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wdp\\\"]},\\\"image/vnd.net-fpx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"npx\\\"]},\\\"image/vnd.pco.b16\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"b16\\\"]},\\\"image/vnd.radiance\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.sealed.png\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.sealedmedia.softseal.gif\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.sealedmedia.softseal.jpg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.svf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"image/vnd.tencent.tap\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"tap\\\"]},\\\"image/vnd.valve.source.texture\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vtf\\\"]},\\\"image/vnd.wap.wbmp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wbmp\\\"]},\\\"image/vnd.xiff\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"xif\\\"]},\\\"image/vnd.zbrush.pcx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pcx\\\"]},\\\"image/webp\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"webp\\\"]},\\\"image/wmf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmf\\\"]},\\\"image/x-3ds\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"3ds\\\"]},\\\"image/x-cmu-raster\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ras\\\"]},\\\"image/x-cmx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"cmx\\\"]},\\\"image/x-freehand\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fh\\\",\\\"fhc\\\",\\\"fh4\\\",\\\"fh5\\\",\\\"fh7\\\"]},\\\"image/x-icon\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ico\\\"]},\\\"image/x-jng\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"jng\\\"]},\\\"image/x-mrsid-image\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sid\\\"]},\\\"image/x-ms-bmp\\\":{\\\"source\\\":\\\"nginx\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"bmp\\\"]},\\\"image/x-pcx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pcx\\\"]},\\\"image/x-pict\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pic\\\",\\\"pct\\\"]},\\\"image/x-portable-anymap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pnm\\\"]},\\\"image/x-portable-bitmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pbm\\\"]},\\\"image/x-portable-graymap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"pgm\\\"]},\\\"image/x-portable-pixmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ppm\\\"]},\\\"image/x-rgb\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"rgb\\\"]},\\\"image/x-tga\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"tga\\\"]},\\\"image/x-xbitmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xbm\\\"]},\\\"image/x-xcf\\\":{\\\"compressible\\\":false},\\\"image/x-xpixmap\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xpm\\\"]},\\\"image/x-xwindowdump\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"xwd\\\"]},\\\"message/cpim\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/delivery-status\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/disposition-notification\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"disposition-notification\\\"]},\\\"message/external-body\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/feedback-report\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/global\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8msg\\\"]},\\\"message/global-delivery-status\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8dsn\\\"]},\\\"message/global-disposition-notification\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8mdn\\\"]},\\\"message/global-headers\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"u8hdr\\\"]},\\\"message/http\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"message/imdn+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"message/news\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/partial\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"message/rfc822\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"eml\\\",\\\"mime\\\"]},\\\"message/s-http\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/sip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/sipfrag\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/tracking-status\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/vnd.si.simp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"message/vnd.wfa.wsc\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wsc\\\"]},\\\"model/3mf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3mf\\\"]},\\\"model/e57\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/gltf+json\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"gltf\\\"]},\\\"model/gltf-binary\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"glb\\\"]},\\\"model/iges\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"igs\\\",\\\"iges\\\"]},\\\"model/mesh\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"msh\\\",\\\"mesh\\\",\\\"silo\\\"]},\\\"model/mtl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mtl\\\"]},\\\"model/obj\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"obj\\\"]},\\\"model/step\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/step+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"stpx\\\"]},\\\"model/step+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"stpz\\\"]},\\\"model/step-xml+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"stpxz\\\"]},\\\"model/stl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"stl\\\"]},\\\"model/vnd.collada+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"dae\\\"]},\\\"model/vnd.dwf\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dwf\\\"]},\\\"model/vnd.flatland.3dml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.gdl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gdl\\\"]},\\\"model/vnd.gs-gdl\\\":{\\\"source\\\":\\\"apache\\\"},\\\"model/vnd.gs.gdl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.gtw\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gtw\\\"]},\\\"model/vnd.moml+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"model/vnd.mts\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mts\\\"]},\\\"model/vnd.opengex\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ogex\\\"]},\\\"model/vnd.parasolid.transmit.binary\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x_b\\\"]},\\\"model/vnd.parasolid.transmit.text\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x_t\\\"]},\\\"model/vnd.pytha.pyox\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.rosette.annotated-data-model\\\":{\\\"source\\\":\\\"iana\\\"},\\\"model/vnd.sap.vds\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vds\\\"]},\\\"model/vnd.usdz+zip\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"usdz\\\"]},\\\"model/vnd.valve.source.compiled-map\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"bsp\\\"]},\\\"model/vnd.vtu\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"vtu\\\"]},\\\"model/vrml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wrl\\\",\\\"vrml\\\"]},\\\"model/x3d+binary\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"x3db\\\",\\\"x3dbz\\\"]},\\\"model/x3d+fastinfoset\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x3db\\\"]},\\\"model/x3d+vrml\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"x3dv\\\",\\\"x3dvz\\\"]},\\\"model/x3d+xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"x3d\\\",\\\"x3dz\\\"]},\\\"model/x3d-vrml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"x3dv\\\"]},\\\"multipart/alternative\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/appledouble\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/byteranges\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/digest\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/encrypted\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/form-data\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/header-set\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/mixed\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/multilingual\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/parallel\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/related\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/report\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/signed\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false},\\\"multipart/vnd.bint.med-plus\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/voice-message\\\":{\\\"source\\\":\\\"iana\\\"},\\\"multipart/x-mixed-replace\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/cache-manifest\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"appcache\\\",\\\"manifest\\\"]},\\\"text/calendar\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ics\\\",\\\"ifb\\\"]},\\\"text/calender\\\":{\\\"compressible\\\":true},\\\"text/cmd\\\":{\\\"compressible\\\":true},\\\"text/coffeescript\\\":{\\\"extensions\\\":[\\\"coffee\\\",\\\"litcoffee\\\"]},\\\"text/cql\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/cql-expression\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/cql-identifier\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/css\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"css\\\"]},\\\"text/csv\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"csv\\\"]},\\\"text/csv-schema\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/directory\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/dns\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/ecmascript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/enriched\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/fhirpath\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/fwdred\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/gff3\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/grammar-ref-list\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/html\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"html\\\",\\\"htm\\\",\\\"shtml\\\"]},\\\"text/jade\\\":{\\\"extensions\\\":[\\\"jade\\\"]},\\\"text/javascript\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true},\\\"text/jcr-cnd\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/jsx\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"jsx\\\"]},\\\"text/less\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"less\\\"]},\\\"text/markdown\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"markdown\\\",\\\"md\\\"]},\\\"text/mathml\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"mml\\\"]},\\\"text/mdx\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mdx\\\"]},\\\"text/mizar\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/n3\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"n3\\\"]},\\\"text/parameters\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/plain\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"txt\\\",\\\"text\\\",\\\"conf\\\",\\\"def\\\",\\\"list\\\",\\\"log\\\",\\\"in\\\",\\\"ini\\\"]},\\\"text/provenance-notation\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/prs.fallenstein.rst\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/prs.lines.tag\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dsc\\\"]},\\\"text/prs.prop.logic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/red\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/rfc822-headers\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/richtext\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rtx\\\"]},\\\"text/rtf\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"rtf\\\"]},\\\"text/rtp-enc-aescm128\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/sgml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sgml\\\",\\\"sgm\\\"]},\\\"text/shaclc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/shex\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"shex\\\"]},\\\"text/slim\\\":{\\\"extensions\\\":[\\\"slim\\\",\\\"slm\\\"]},\\\"text/spdx\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spdx\\\"]},\\\"text/strings\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/stylus\\\":{\\\"extensions\\\":[\\\"stylus\\\",\\\"styl\\\"]},\\\"text/t140\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/tab-separated-values\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"tsv\\\"]},\\\"text/troff\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"t\\\",\\\"tr\\\",\\\"roff\\\",\\\"man\\\",\\\"me\\\",\\\"ms\\\"]},\\\"text/turtle\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"ttl\\\"]},\\\"text/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/uri-list\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"uri\\\",\\\"uris\\\",\\\"urls\\\"]},\\\"text/vcard\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vcard\\\"]},\\\"text/vnd.a\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.abc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.ascii-art\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.curl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"curl\\\"]},\\\"text/vnd.curl.dcurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"dcurl\\\"]},\\\"text/vnd.curl.mcurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mcurl\\\"]},\\\"text/vnd.curl.scurl\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"scurl\\\"]},\\\"text/vnd.debian.copyright\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/vnd.dmclientscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.dvb.subtitle\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"sub\\\"]},\\\"text/vnd.esmertec.theme-descriptor\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/vnd.familysearch.gedcom\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ged\\\"]},\\\"text/vnd.ficlab.flt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.fly\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fly\\\"]},\\\"text/vnd.fmi.flexstor\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"flx\\\"]},\\\"text/vnd.gml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.graphviz\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"gv\\\"]},\\\"text/vnd.hans\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.hgl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.in3d.3dml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3dml\\\"]},\\\"text/vnd.in3d.spot\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"spot\\\"]},\\\"text/vnd.iptc.newsml\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.iptc.nitf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.latex-z\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.motorola.reflex\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.ms-mediapackage\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.net2phone.commcenter.command\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.radisys.msml-basic-layout\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.senx.warpscript\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.si.uricatalogue\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.sosi\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.sun.j2me.app-descriptor\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"extensions\\\":[\\\"jad\\\"]},\\\"text/vnd.trolltech.linguist\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\"},\\\"text/vnd.wap.si\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.wap.sl\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/vnd.wap.wml\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wml\\\"]},\\\"text/vnd.wap.wmlscript\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"wmls\\\"]},\\\"text/vtt\\\":{\\\"source\\\":\\\"iana\\\",\\\"charset\\\":\\\"UTF-8\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"vtt\\\"]},\\\"text/x-asm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"s\\\",\\\"asm\\\"]},\\\"text/x-c\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"c\\\",\\\"cc\\\",\\\"cxx\\\",\\\"cpp\\\",\\\"h\\\",\\\"hh\\\",\\\"dic\\\"]},\\\"text/x-component\\\":{\\\"source\\\":\\\"nginx\\\",\\\"extensions\\\":[\\\"htc\\\"]},\\\"text/x-fortran\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"f\\\",\\\"for\\\",\\\"f77\\\",\\\"f90\\\"]},\\\"text/x-gwt-rpc\\\":{\\\"compressible\\\":true},\\\"text/x-handlebars-template\\\":{\\\"extensions\\\":[\\\"hbs\\\"]},\\\"text/x-java-source\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"java\\\"]},\\\"text/x-jquery-tmpl\\\":{\\\"compressible\\\":true},\\\"text/x-lua\\\":{\\\"extensions\\\":[\\\"lua\\\"]},\\\"text/x-markdown\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"mkd\\\"]},\\\"text/x-nfo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"nfo\\\"]},\\\"text/x-opml\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"opml\\\"]},\\\"text/x-org\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"org\\\"]},\\\"text/x-pascal\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"p\\\",\\\"pas\\\"]},\\\"text/x-processing\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"pde\\\"]},\\\"text/x-sass\\\":{\\\"extensions\\\":[\\\"sass\\\"]},\\\"text/x-scss\\\":{\\\"extensions\\\":[\\\"scss\\\"]},\\\"text/x-setext\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"etx\\\"]},\\\"text/x-sfv\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"sfv\\\"]},\\\"text/x-suse-ymp\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"ymp\\\"]},\\\"text/x-uuencode\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"uu\\\"]},\\\"text/x-vcalendar\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vcs\\\"]},\\\"text/x-vcard\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vcf\\\"]},\\\"text/xml\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":true,\\\"extensions\\\":[\\\"xml\\\"]},\\\"text/xml-external-parsed-entity\\\":{\\\"source\\\":\\\"iana\\\"},\\\"text/yaml\\\":{\\\"compressible\\\":true,\\\"extensions\\\":[\\\"yaml\\\",\\\"yml\\\"]},\\\"video/1d-interleaved-parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/3gpp\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3gp\\\",\\\"3gpp\\\"]},\\\"video/3gpp-tt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/3gpp2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"3g2\\\"]},\\\"video/av1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/bmpeg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/bt656\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/celb\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/dv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/encaprtp\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/ffv1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/flexfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h261\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"h261\\\"]},\\\"video/h263\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"h263\\\"]},\\\"video/h263-1998\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h263-2000\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h264\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"h264\\\"]},\\\"video/h264-rcdo\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h264-svc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/h265\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/iso.segment\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"m4s\\\"]},\\\"video/jpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"jpgv\\\"]},\\\"video/jpeg2000\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/jpm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"jpm\\\",\\\"jpgm\\\"]},\\\"video/jxsv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mj2\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mj2\\\",\\\"mjp2\\\"]},\\\"video/mp1s\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mp2p\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mp2t\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"ts\\\"]},\\\"video/mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mp4\\\",\\\"mp4v\\\",\\\"mpg4\\\"]},\\\"video/mp4v-es\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mpeg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mpeg\\\",\\\"mpg\\\",\\\"mpe\\\",\\\"m1v\\\",\\\"m2v\\\"]},\\\"video/mpeg4-generic\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/mpv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/nv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/ogg\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"ogv\\\"]},\\\"video/parityfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/pointer\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/quicktime\\\":{\\\"source\\\":\\\"iana\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"qt\\\",\\\"mov\\\"]},\\\"video/raptorfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/raw\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/rtp-enc-aescm128\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/rtploopback\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/rtx\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/scip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/smpte291\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/smpte292m\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/ulpfec\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vc1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vc2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.cctv\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dece.hd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvh\\\",\\\"uvvh\\\"]},\\\"video/vnd.dece.mobile\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvm\\\",\\\"uvvm\\\"]},\\\"video/vnd.dece.mp4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dece.pd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvp\\\",\\\"uvvp\\\"]},\\\"video/vnd.dece.sd\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvs\\\",\\\"uvvs\\\"]},\\\"video/vnd.dece.video\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvv\\\",\\\"uvvv\\\"]},\\\"video/vnd.directv.mpeg\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.directv.mpeg-tts\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dlna.mpeg-tts\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.dvb.file\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"dvb\\\"]},\\\"video/vnd.fvt\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"fvt\\\"]},\\\"video/vnd.hns.video\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.1dparityfec-1010\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.1dparityfec-2005\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.2dparityfec-1010\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.2dparityfec-2005\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.ttsavc\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.iptvforum.ttsmpeg2\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.motorola.video\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.motorola.videop\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.mpegurl\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"mxu\\\",\\\"m4u\\\"]},\\\"video/vnd.ms-playready.media.pyv\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"pyv\\\"]},\\\"video/vnd.nokia.interleaved-multimedia\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.nokia.mp4vr\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.nokia.videovoip\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.objectvideo\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.radgamettools.bink\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.radgamettools.smacker\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealed.mpeg1\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealed.mpeg4\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealed.swf\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.sealedmedia.softseal.mov\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vnd.uvvu.mp4\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"uvu\\\",\\\"uvvu\\\"]},\\\"video/vnd.vivo\\\":{\\\"source\\\":\\\"iana\\\",\\\"extensions\\\":[\\\"viv\\\"]},\\\"video/vnd.youtube.yt\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vp8\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/vp9\\\":{\\\"source\\\":\\\"iana\\\"},\\\"video/webm\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"webm\\\"]},\\\"video/x-f4v\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"f4v\\\"]},\\\"video/x-fli\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"fli\\\"]},\\\"video/x-flv\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"flv\\\"]},\\\"video/x-m4v\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"m4v\\\"]},\\\"video/x-matroska\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"mkv\\\",\\\"mk3d\\\",\\\"mks\\\"]},\\\"video/x-mng\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"mng\\\"]},\\\"video/x-ms-asf\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"asf\\\",\\\"asx\\\"]},\\\"video/x-ms-vob\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"vob\\\"]},\\\"video/x-ms-wm\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wm\\\"]},\\\"video/x-ms-wmv\\\":{\\\"source\\\":\\\"apache\\\",\\\"compressible\\\":false,\\\"extensions\\\":[\\\"wmv\\\"]},\\\"video/x-ms-wmx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wmx\\\"]},\\\"video/x-ms-wvx\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"wvx\\\"]},\\\"video/x-msvideo\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"avi\\\"]},\\\"video/x-sgi-movie\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"movie\\\"]},\\\"video/x-smv\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"smv\\\"]},\\\"x-conference/x-cooltalk\\\":{\\\"source\\\":\\\"apache\\\",\\\"extensions\\\":[\\\"ice\\\"]},\\\"x-shader/x-fragment\\\":{\\\"compressible\\\":true},\\\"x-shader/x-vertex\\\":{\\\"compressible\\\":true}}\");\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/mime-db/db.json?");
579
579
 
580
580
  /***/ }),
581
581
 
582
582
  /***/ "../../../node_modules/mime-db/index.js":
583
- /*!****************************************************!*\
584
- !*** C:/gen2/restaf/node_modules/mime-db/index.js ***!
585
- \****************************************************/
583
+ /*!***********************************************************!*\
584
+ !*** C:/sassoftware/restaf/node_modules/mime-db/index.js ***!
585
+ \***********************************************************/
586
586
  /*! no static exports found */
587
587
  /*! all exports used */
588
588
  /***/ (function(module, exports, __webpack_require__) {
589
589
 
590
- eval("/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = __webpack_require__(/*! ./db.json */ \"../../../node_modules/mime-db/db.json\")\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/mime-db/index.js?");
590
+ eval("/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = __webpack_require__(/*! ./db.json */ \"../../../node_modules/mime-db/db.json\")\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/mime-db/index.js?");
591
591
 
592
592
  /***/ }),
593
593
 
594
594
  /***/ "../../../node_modules/mime-types/index.js":
595
- /*!*******************************************************!*\
596
- !*** C:/gen2/restaf/node_modules/mime-types/index.js ***!
597
- \*******************************************************/
595
+ /*!**************************************************************!*\
596
+ !*** C:/sassoftware/restaf/node_modules/mime-types/index.js ***!
597
+ \**************************************************************/
598
598
  /*! no static exports found */
599
599
  /*! all exports used */
600
600
  /***/ (function(module, exports, __webpack_require__) {
601
601
 
602
602
  "use strict";
603
- eval("/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = __webpack_require__(/*! mime-db */ \"../../../node_modules/mime-db/index.js\")\nvar extname = __webpack_require__(/*! path */ \"path\").extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/mime-types/index.js?");
603
+ eval("/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = __webpack_require__(/*! mime-db */ \"../../../node_modules/mime-db/index.js\")\nvar extname = __webpack_require__(/*! path */ \"path\").extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/mime-types/index.js?");
604
604
 
605
605
  /***/ }),
606
606
 
607
607
  /***/ "../../../node_modules/prettyjson/lib/prettyjson.js":
608
- /*!****************************************************************!*\
609
- !*** C:/gen2/restaf/node_modules/prettyjson/lib/prettyjson.js ***!
610
- \****************************************************************/
608
+ /*!***********************************************************************!*\
609
+ !*** C:/sassoftware/restaf/node_modules/prettyjson/lib/prettyjson.js ***!
610
+ \***********************************************************************/
611
611
  /*! no static exports found */
612
612
  /*! exports used: default */
613
613
  /***/ (function(module, exports, __webpack_require__) {
614
614
 
615
615
  "use strict";
616
- eval("\n\n// ### Module dependencies\nvar colors = __webpack_require__(/*! colors/safe */ \"../../../node_modules/colors/safe.js\");\nvar Utils = __webpack_require__(/*! ./utils */ \"../../../node_modules/prettyjson/lib/utils.js\");\n\nvar conflictChars = /[^\\w\\s\\n\\r\\v\\t\\.,]/i;\n\nexports.version = __webpack_require__(/*! ../package.json */ \"../../../node_modules/prettyjson/package.json\").version;\n\n// Helper function to detect if an object should be printed or ignored\nvar isPrintable = function(input, options) {\n return input !== undefined || options.renderUndefined;\n};\n\n// Helper function to detect if an object can be directly serializable\nvar isSerializable = function(input, onlyPrimitives, options) {\n if (\n typeof input === 'boolean' ||\n typeof input === 'number' ||\n typeof input === 'function' ||\n input === null ||\n input === undefined ||\n input instanceof Date\n ) {\n return true;\n }\n if (typeof input === 'string' && input.indexOf('\\n') === -1) {\n return true;\n }\n\n if (options.inlineArrays && !onlyPrimitives) {\n if (Array.isArray(input) && isSerializable(input[0], true, options)) {\n return true;\n }\n }\n\n return false;\n};\n\nvar addColorToData = function(input, options) {\n if (options.noColor) {\n return input;\n }\n\n if (typeof input === 'string') {\n // Print strings in regular terminal color\n return options.stringColor ? colors[options.stringColor](input) : input;\n }\n\n var sInput = input + '';\n\n if (input === true) {\n return colors.green(sInput);\n }\n if (input === false) {\n return colors.red(sInput);\n }\n if (input === null || input === undefined) {\n return colors.grey(sInput);\n }\n if (typeof input === 'number') {\n if (input >= 0) {\n return colors[options.positiveNumberColor](sInput);\n } else {\n return colors[options.negativeNumberColor](sInput);\n }\n }\n if (typeof input === 'function') {\n return 'function() {}';\n }\n\n if (Array.isArray(input)) {\n return input.join(', ');\n }\n\n return sInput;\n};\n\nvar colorMultilineString = function(options, line) {\n if (options.multilineStringColor === null || options.noColor) {\n return line;\n } else {\n return colors[options.multilineStringColor](line);\n }\n};\n\nvar indentLines = function(string, spaces, options){\n var lines = string.split('\\n');\n lines = lines.map(function(line){\n return Utils.indent(spaces) + colorMultilineString(options, line);\n });\n return lines.join('\\n');\n};\n\nvar renderToArray = function(data, options, indentation) {\n\n if (typeof data === 'string' && data.match(conflictChars) &&\n options.escape) {\n data = JSON.stringify(data);\n }\n\n if (!isPrintable(data, options)) {\n return [];\n }\n\n if (isSerializable(data, false, options)) {\n return [Utils.indent(indentation) + addColorToData(data, options)];\n }\n\n // Unserializable string means it's multiline\n if (typeof data === 'string') {\n return [\n Utils.indent(indentation) + colorMultilineString(options, '\"\"\"'),\n indentLines(data, indentation + options.defaultIndentation, options),\n Utils.indent(indentation) + colorMultilineString(options, '\"\"\"')\n ];\n }\n\n if (Array.isArray(data)) {\n // If the array is empty, render the `emptyArrayMsg`\n if (data.length === 0) {\n return [Utils.indent(indentation) + options.emptyArrayMsg];\n }\n\n var outputArray = [];\n\n data.forEach(function(element) {\n if (!isPrintable(element, options)) {\n return;\n }\n\n // Prepend the dash at the begining of each array's element line\n var line = '- ';\n if (!options.noColor) {\n line = colors[options.dashColor](line);\n }\n line = Utils.indent(indentation) + line;\n\n // If the element of the array is a string, bool, number, or null\n // render it in the same line\n if (isSerializable(element, false, options)) {\n line += renderToArray(element, options, 0)[0];\n outputArray.push(line);\n\n // If the element is an array or object, render it in next line\n } else {\n outputArray.push(line);\n outputArray.push.apply(\n outputArray,\n renderToArray(\n element, options, indentation + options.defaultIndentation\n )\n );\n }\n });\n\n return outputArray;\n }\n\n if (data instanceof Error) {\n return renderToArray(\n {\n message: data.message,\n stack: data.stack.split('\\n')\n },\n options,\n indentation\n );\n }\n\n // If values alignment is enabled, get the size of the longest index\n // to align all the values\n var maxIndexLength = options.noAlign ? 0 : Utils.getMaxIndexLength(data);\n var key;\n var output = [];\n\n Object.getOwnPropertyNames(data).forEach(function(i) {\n if (!isPrintable(data[i], options)) {\n return;\n }\n\n // Prepend the index at the beginning of the line\n key = (i + ': ');\n if (!options.noColor) {\n key = colors[options.keysColor](key);\n }\n key = Utils.indent(indentation) + key;\n\n // If the value is serializable, render it in the same line\n if (isSerializable(data[i], false, options)) {\n var nextIndentation = options.noAlign ? 0 : maxIndexLength - i.length;\n key += renderToArray(data[i], options, nextIndentation)[0];\n output.push(key);\n\n // If the index is an array or object, render it in next line\n } else {\n output.push(key);\n output.push.apply(\n output,\n renderToArray(\n data[i],\n options,\n indentation + options.defaultIndentation\n )\n );\n }\n });\n return output;\n};\n\n// ### Render function\n// *Parameters:*\n//\n// * **`data`**: Data to render\n// * **`options`**: Hash with different options to configure the parser\n// * **`indentation`**: Base indentation of the parsed output\n//\n// *Example of options hash:*\n//\n// {\n// emptyArrayMsg: '(empty)', // Rendered message on empty strings\n// keysColor: 'blue', // Color for keys in hashes\n// dashColor: 'red', // Color for the dashes in arrays\n// stringColor: 'grey', // Color for strings\n// multilineStringColor: 'cyan' // Color for multiline strings\n// defaultIndentation: 2 // Indentation on nested objects\n// }\nexports.render = function render(data, options, indentation) {\n // Default values\n indentation = indentation || 0;\n options = options || {};\n options.emptyArrayMsg = options.emptyArrayMsg || '(empty array)';\n options.keysColor = options.keysColor || 'green';\n options.dashColor = options.dashColor || 'green';\n options.numberColor = options.numberColor || 'blue';\n options.positiveNumberColor = options.positiveNumberColor\n || options.numberColor;\n options.negativeNumberColor = options.negativeNumberColor\n || options.numberColor;\n options.defaultIndentation = options.defaultIndentation || 2;\n options.noColor = !!options.noColor;\n options.noAlign = !!options.noAlign;\n options.escape = !!options.escape;\n options.renderUndefined = !!options.renderUndefined;\n\n options.stringColor = options.stringColor || null;\n options.multilineStringColor = options.multilineStringColor || null;\n\n return renderToArray(data, options, indentation).join('\\n');\n};\n\n// ### Render from string function\n// *Parameters:*\n//\n// * **`data`**: Data to render as a string\n// * **`options`**: Hash with different options to configure the parser\n// * **`indentation`**: Base indentation of the parsed output\n//\n// *Example of options hash:*\n//\n// {\n// emptyArrayMsg: '(empty)', // Rendered message on empty strings\n// keysColor: 'blue', // Color for keys in hashes\n// dashColor: 'red', // Color for the dashes in arrays\n// defaultIndentation: 2 // Indentation on nested objects\n// }\nexports.renderString = function renderString(data, options, indentation) {\n\n var output = '';\n var parsedData;\n // If the input is not a string or if it's empty, just return an empty string\n if (typeof data !== 'string' || data === '') {\n return '';\n }\n\n // Remove non-JSON characters from the beginning string\n if (data[0] !== '{' && data[0] !== '[') {\n var beginingOfJson;\n if (data.indexOf('{') === -1) {\n beginingOfJson = data.indexOf('[');\n } else if (data.indexOf('[') === -1) {\n beginingOfJson = data.indexOf('{');\n } else if (data.indexOf('{') < data.indexOf('[')) {\n beginingOfJson = data.indexOf('{');\n } else {\n beginingOfJson = data.indexOf('[');\n }\n output += data.substr(0, beginingOfJson) + '\\n';\n data = data.substr(beginingOfJson);\n }\n\n try {\n parsedData = JSON.parse(data);\n } catch (e) {\n // Return an error in case of an invalid JSON\n return colors.red('Error:') + ' Not valid JSON!';\n }\n\n // Call the real render() method\n output += exports.render(parsedData, options, indentation);\n return output;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/prettyjson/lib/prettyjson.js?");
616
+ eval("\n\n// ### Module dependencies\nvar colors = __webpack_require__(/*! colors/safe */ \"../../../node_modules/colors/safe.js\");\nvar Utils = __webpack_require__(/*! ./utils */ \"../../../node_modules/prettyjson/lib/utils.js\");\n\nvar conflictChars = /[^\\w\\s\\n\\r\\v\\t\\.,]/i;\n\nexports.version = __webpack_require__(/*! ../package.json */ \"../../../node_modules/prettyjson/package.json\").version;\n\n// Helper function to detect if an object should be printed or ignored\nvar isPrintable = function(input, options) {\n return input !== undefined || options.renderUndefined;\n};\n\n// Helper function to detect if an object can be directly serializable\nvar isSerializable = function(input, onlyPrimitives, options) {\n if (\n typeof input === 'boolean' ||\n typeof input === 'number' ||\n typeof input === 'function' ||\n input === null ||\n input === undefined ||\n input instanceof Date\n ) {\n return true;\n }\n if (typeof input === 'string' && input.indexOf('\\n') === -1) {\n return true;\n }\n\n if (options.inlineArrays && !onlyPrimitives) {\n if (Array.isArray(input) && isSerializable(input[0], true, options)) {\n return true;\n }\n }\n\n return false;\n};\n\nvar addColorToData = function(input, options) {\n if (options.noColor) {\n return input;\n }\n\n if (typeof input === 'string') {\n // Print strings in regular terminal color\n return options.stringColor ? colors[options.stringColor](input) : input;\n }\n\n var sInput = input + '';\n\n if (input === true) {\n return colors.green(sInput);\n }\n if (input === false) {\n return colors.red(sInput);\n }\n if (input === null || input === undefined) {\n return colors.grey(sInput);\n }\n if (typeof input === 'number') {\n if (input >= 0) {\n return colors[options.positiveNumberColor](sInput);\n } else {\n return colors[options.negativeNumberColor](sInput);\n }\n }\n if (typeof input === 'function') {\n return 'function() {}';\n }\n\n if (Array.isArray(input)) {\n return input.join(', ');\n }\n\n return sInput;\n};\n\nvar colorMultilineString = function(options, line) {\n if (options.multilineStringColor === null || options.noColor) {\n return line;\n } else {\n return colors[options.multilineStringColor](line);\n }\n};\n\nvar indentLines = function(string, spaces, options){\n var lines = string.split('\\n');\n lines = lines.map(function(line){\n return Utils.indent(spaces) + colorMultilineString(options, line);\n });\n return lines.join('\\n');\n};\n\nvar renderToArray = function(data, options, indentation) {\n\n if (typeof data === 'string' && data.match(conflictChars) &&\n options.escape) {\n data = JSON.stringify(data);\n }\n\n if (!isPrintable(data, options)) {\n return [];\n }\n\n if (isSerializable(data, false, options)) {\n return [Utils.indent(indentation) + addColorToData(data, options)];\n }\n\n // Unserializable string means it's multiline\n if (typeof data === 'string') {\n return [\n Utils.indent(indentation) + colorMultilineString(options, '\"\"\"'),\n indentLines(data, indentation + options.defaultIndentation, options),\n Utils.indent(indentation) + colorMultilineString(options, '\"\"\"')\n ];\n }\n\n if (Array.isArray(data)) {\n // If the array is empty, render the `emptyArrayMsg`\n if (data.length === 0) {\n return [Utils.indent(indentation) + options.emptyArrayMsg];\n }\n\n var outputArray = [];\n\n data.forEach(function(element) {\n if (!isPrintable(element, options)) {\n return;\n }\n\n // Prepend the dash at the begining of each array's element line\n var line = '- ';\n if (!options.noColor) {\n line = colors[options.dashColor](line);\n }\n line = Utils.indent(indentation) + line;\n\n // If the element of the array is a string, bool, number, or null\n // render it in the same line\n if (isSerializable(element, false, options)) {\n line += renderToArray(element, options, 0)[0];\n outputArray.push(line);\n\n // If the element is an array or object, render it in next line\n } else {\n outputArray.push(line);\n outputArray.push.apply(\n outputArray,\n renderToArray(\n element, options, indentation + options.defaultIndentation\n )\n );\n }\n });\n\n return outputArray;\n }\n\n if (data instanceof Error) {\n return renderToArray(\n {\n message: data.message,\n stack: data.stack.split('\\n')\n },\n options,\n indentation\n );\n }\n\n // If values alignment is enabled, get the size of the longest index\n // to align all the values\n var maxIndexLength = options.noAlign ? 0 : Utils.getMaxIndexLength(data);\n var key;\n var output = [];\n\n Object.getOwnPropertyNames(data).forEach(function(i) {\n if (!isPrintable(data[i], options)) {\n return;\n }\n\n // Prepend the index at the beginning of the line\n key = (i + ': ');\n if (!options.noColor) {\n key = colors[options.keysColor](key);\n }\n key = Utils.indent(indentation) + key;\n\n // If the value is serializable, render it in the same line\n if (isSerializable(data[i], false, options)) {\n var nextIndentation = options.noAlign ? 0 : maxIndexLength - i.length;\n key += renderToArray(data[i], options, nextIndentation)[0];\n output.push(key);\n\n // If the index is an array or object, render it in next line\n } else {\n output.push(key);\n output.push.apply(\n output,\n renderToArray(\n data[i],\n options,\n indentation + options.defaultIndentation\n )\n );\n }\n });\n return output;\n};\n\n// ### Render function\n// *Parameters:*\n//\n// * **`data`**: Data to render\n// * **`options`**: Hash with different options to configure the parser\n// * **`indentation`**: Base indentation of the parsed output\n//\n// *Example of options hash:*\n//\n// {\n// emptyArrayMsg: '(empty)', // Rendered message on empty strings\n// keysColor: 'blue', // Color for keys in hashes\n// dashColor: 'red', // Color for the dashes in arrays\n// stringColor: 'grey', // Color for strings\n// multilineStringColor: 'cyan' // Color for multiline strings\n// defaultIndentation: 2 // Indentation on nested objects\n// }\nexports.render = function render(data, options, indentation) {\n // Default values\n indentation = indentation || 0;\n options = options || {};\n options.emptyArrayMsg = options.emptyArrayMsg || '(empty array)';\n options.keysColor = options.keysColor || 'green';\n options.dashColor = options.dashColor || 'green';\n options.numberColor = options.numberColor || 'blue';\n options.positiveNumberColor = options.positiveNumberColor\n || options.numberColor;\n options.negativeNumberColor = options.negativeNumberColor\n || options.numberColor;\n options.defaultIndentation = options.defaultIndentation || 2;\n options.noColor = !!options.noColor;\n options.noAlign = !!options.noAlign;\n options.escape = !!options.escape;\n options.renderUndefined = !!options.renderUndefined;\n\n options.stringColor = options.stringColor || null;\n options.multilineStringColor = options.multilineStringColor || null;\n\n return renderToArray(data, options, indentation).join('\\n');\n};\n\n// ### Render from string function\n// *Parameters:*\n//\n// * **`data`**: Data to render as a string\n// * **`options`**: Hash with different options to configure the parser\n// * **`indentation`**: Base indentation of the parsed output\n//\n// *Example of options hash:*\n//\n// {\n// emptyArrayMsg: '(empty)', // Rendered message on empty strings\n// keysColor: 'blue', // Color for keys in hashes\n// dashColor: 'red', // Color for the dashes in arrays\n// defaultIndentation: 2 // Indentation on nested objects\n// }\nexports.renderString = function renderString(data, options, indentation) {\n\n var output = '';\n var parsedData;\n // If the input is not a string or if it's empty, just return an empty string\n if (typeof data !== 'string' || data === '') {\n return '';\n }\n\n // Remove non-JSON characters from the beginning string\n if (data[0] !== '{' && data[0] !== '[') {\n var beginingOfJson;\n if (data.indexOf('{') === -1) {\n beginingOfJson = data.indexOf('[');\n } else if (data.indexOf('[') === -1) {\n beginingOfJson = data.indexOf('{');\n } else if (data.indexOf('{') < data.indexOf('[')) {\n beginingOfJson = data.indexOf('{');\n } else {\n beginingOfJson = data.indexOf('[');\n }\n output += data.substr(0, beginingOfJson) + '\\n';\n data = data.substr(beginingOfJson);\n }\n\n try {\n parsedData = JSON.parse(data);\n } catch (e) {\n // Return an error in case of an invalid JSON\n return colors.red('Error:') + ' Not valid JSON!';\n }\n\n // Call the real render() method\n output += exports.render(parsedData, options, indentation);\n return output;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/prettyjson/lib/prettyjson.js?");
617
617
 
618
618
  /***/ }),
619
619
 
620
620
  /***/ "../../../node_modules/prettyjson/lib/utils.js":
621
- /*!***********************************************************!*\
622
- !*** C:/gen2/restaf/node_modules/prettyjson/lib/utils.js ***!
623
- \***********************************************************/
621
+ /*!******************************************************************!*\
622
+ !*** C:/sassoftware/restaf/node_modules/prettyjson/lib/utils.js ***!
623
+ \******************************************************************/
624
624
  /*! no static exports found */
625
625
  /*! all exports used */
626
626
  /***/ (function(module, exports, __webpack_require__) {
627
627
 
628
628
  "use strict";
629
- eval("\n\n/**\n * Creates a string with the same length as `numSpaces` parameter\n **/\nexports.indent = function indent(numSpaces) {\n return new Array(numSpaces+1).join(' ');\n};\n\n/**\n * Gets the string length of the longer index in a hash\n **/\nexports.getMaxIndexLength = function(input) {\n var maxWidth = 0;\n\n Object.getOwnPropertyNames(input).forEach(function(key) {\n // Skip undefined values.\n if (input[key] === undefined) {\n return;\n }\n\n maxWidth = Math.max(maxWidth, key.length);\n });\n return maxWidth;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/prettyjson/lib/utils.js?");
629
+ eval("\n\n/**\n * Creates a string with the same length as `numSpaces` parameter\n **/\nexports.indent = function indent(numSpaces) {\n return new Array(numSpaces+1).join(' ');\n};\n\n/**\n * Gets the string length of the longer index in a hash\n **/\nexports.getMaxIndexLength = function(input) {\n var maxWidth = 0;\n\n Object.getOwnPropertyNames(input).forEach(function(key) {\n // Skip undefined values.\n if (input[key] === undefined) {\n return;\n }\n\n maxWidth = Math.max(maxWidth, key.length);\n });\n return maxWidth;\n};\n\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/prettyjson/lib/utils.js?");
630
630
 
631
631
  /***/ }),
632
632
 
633
633
  /***/ "../../../node_modules/prettyjson/package.json":
634
- /*!***********************************************************!*\
635
- !*** C:/gen2/restaf/node_modules/prettyjson/package.json ***!
636
- \***********************************************************/
634
+ /*!******************************************************************!*\
635
+ !*** C:/sassoftware/restaf/node_modules/prettyjson/package.json ***!
636
+ \******************************************************************/
637
637
  /*! exports provided: author, name, description, version, homepage, keywords, repository, bugs, main, files, license, scripts, bin, dependencies, devDependencies, default */
638
638
  /*! all exports used */
639
639
  /***/ (function(module) {
640
640
 
641
- eval("module.exports = JSON.parse(\"{\\\"author\\\":\\\"Rafael de Oleza <rafeca@gmail.com> (https://github.com/rafeca)\\\",\\\"name\\\":\\\"prettyjson\\\",\\\"description\\\":\\\"Package for formatting JSON data in a coloured YAML-style, perfect for CLI output\\\",\\\"version\\\":\\\"1.2.5\\\",\\\"homepage\\\":\\\"http://rafeca.com/prettyjson\\\",\\\"keywords\\\":[\\\"json\\\",\\\"cli\\\",\\\"formatting\\\",\\\"colors\\\"],\\\"repository\\\":{\\\"type\\\":\\\"git\\\",\\\"url\\\":\\\"https://github.com/rafeca/prettyjson.git\\\"},\\\"bugs\\\":{\\\"url\\\":\\\"https://github.com/rafeca/prettyjson/issues\\\"},\\\"main\\\":\\\"./lib/prettyjson\\\",\\\"files\\\":[\\\"bin/prettyjson\\\",\\\"lib/*.js\\\"],\\\"license\\\":\\\"MIT\\\",\\\"scripts\\\":{\\\"test\\\":\\\"npm run jshint && mocha --reporter spec\\\",\\\"testwin\\\":\\\"node ./node_modules/mocha/bin/mocha --reporter spec\\\",\\\"jshint\\\":\\\"jshint lib/*.js test/*.js\\\",\\\"coverage\\\":\\\"istanbul cover _mocha --report lcovonly -- -R spec\\\",\\\"coveralls\\\":\\\"npm run coverage && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage\\\",\\\"changelog\\\":\\\"git log $(git describe --tags --abbrev=0)..HEAD --pretty='* %s' --first-parent\\\"},\\\"bin\\\":{\\\"prettyjson\\\":\\\"./bin/prettyjson\\\"},\\\"dependencies\\\":{\\\"colors\\\":\\\"1.4.0\\\",\\\"minimist\\\":\\\"^1.2.0\\\"},\\\"devDependencies\\\":{\\\"coveralls\\\":\\\"^2.11.15\\\",\\\"istanbul\\\":\\\"^0.4.5\\\",\\\"jshint\\\":\\\"^2.9.4\\\",\\\"mocha\\\":\\\"^3.1.2\\\",\\\"mocha-lcov-reporter\\\":\\\"^1.2.0\\\",\\\"should\\\":\\\"^11.1.1\\\"}}\");\n\n//# sourceURL=webpack://restaflib/C:/gen2/restaf/node_modules/prettyjson/package.json?");
641
+ eval("module.exports = JSON.parse(\"{\\\"author\\\":\\\"Rafael de Oleza <rafeca@gmail.com> (https://github.com/rafeca)\\\",\\\"name\\\":\\\"prettyjson\\\",\\\"description\\\":\\\"Package for formatting JSON data in a coloured YAML-style, perfect for CLI output\\\",\\\"version\\\":\\\"1.2.5\\\",\\\"homepage\\\":\\\"http://rafeca.com/prettyjson\\\",\\\"keywords\\\":[\\\"json\\\",\\\"cli\\\",\\\"formatting\\\",\\\"colors\\\"],\\\"repository\\\":{\\\"type\\\":\\\"git\\\",\\\"url\\\":\\\"https://github.com/rafeca/prettyjson.git\\\"},\\\"bugs\\\":{\\\"url\\\":\\\"https://github.com/rafeca/prettyjson/issues\\\"},\\\"main\\\":\\\"./lib/prettyjson\\\",\\\"files\\\":[\\\"bin/prettyjson\\\",\\\"lib/*.js\\\"],\\\"license\\\":\\\"MIT\\\",\\\"scripts\\\":{\\\"test\\\":\\\"npm run jshint && mocha --reporter spec\\\",\\\"testwin\\\":\\\"node ./node_modules/mocha/bin/mocha --reporter spec\\\",\\\"jshint\\\":\\\"jshint lib/*.js test/*.js\\\",\\\"coverage\\\":\\\"istanbul cover _mocha --report lcovonly -- -R spec\\\",\\\"coveralls\\\":\\\"npm run coverage && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage\\\",\\\"changelog\\\":\\\"git log $(git describe --tags --abbrev=0)..HEAD --pretty='* %s' --first-parent\\\"},\\\"bin\\\":{\\\"prettyjson\\\":\\\"./bin/prettyjson\\\"},\\\"dependencies\\\":{\\\"colors\\\":\\\"1.4.0\\\",\\\"minimist\\\":\\\"^1.2.0\\\"},\\\"devDependencies\\\":{\\\"coveralls\\\":\\\"^2.11.15\\\",\\\"istanbul\\\":\\\"^0.4.5\\\",\\\"jshint\\\":\\\"^2.9.4\\\",\\\"mocha\\\":\\\"^3.1.2\\\",\\\"mocha-lcov-reporter\\\":\\\"^1.2.0\\\",\\\"should\\\":\\\"^11.1.1\\\"}}\");\n\n//# sourceURL=webpack://restaflib/C:/sassoftware/restaf/node_modules/prettyjson/package.json?");
642
642
 
643
643
  /***/ }),
644
644
 
@@ -911,7 +911,7 @@ eval("/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_
911
911
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
912
912
 
913
913
  "use strict";
914
- eval("/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"../../../node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/*\n* Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.\n* SPDX-License-Identifier: Apache-2.0\n*/\n\n\n/**\n * @description Setup access to compute service\n * @async\n * @module computeSetup\n * @category restaflib/compute\n * \n * @param {store} store - restaf store\n * @param {string=} contextName name of the context. If not specified defaults to Job Execution context\n * @param {logonPayload=} payload logon payload.If null assumes that logon was done earlier.\n * @param {sessionPayload=} sessionPayload for createSession call\n * @param {string=} sessionID id of a session to attach\n * @returns {promise} - returns a compute session\n */\n\n\n\nfunction computeSetup(_x, _x2, _x3, _x4, _x5) {\n return _computeSetup.apply(this, arguments);\n}\nfunction _computeSetup() {\n _computeSetup = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.mark(function _callee(store, contextName, payload, sessionPayload, sessionID) {\n var msg, _yield$store$addServi, compute, session, _p, sessionList, selfcmd, p, contexts, name, createSession;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(sessionID != null && _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(sessionID) === 'object')) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\", sessionID);\n case 2:\n if (!(payload != null)) {\n _context.next = 6;\n break;\n }\n _context.next = 5;\n return store.logon(payload);\n case 5:\n msg = _context.sent;\n case 6:\n _context.next = 8;\n return store.addServices('compute');\n case 8:\n _yield$store$addServi = _context.sent;\n compute = _yield$store$addServi.compute;\n // Not PUP\n session = null; // Use user specified session\n if (!(sessionID != null)) {\n _context.next = 23;\n break;\n }\n _p = {\n qs: {\n filter: \"eq( id,'\".concat(sessionID, \"')\")\n }\n };\n _context.next = 15;\n return store.apiCall(compute.links('sessions'), _p);\n case 15:\n sessionList = _context.sent;\n if (!(sessionList.items().size === 0)) {\n _context.next = 18;\n break;\n }\n throw \"ERROR: The sessionID \".concat(sessionID, \" was not found.\");\n case 18:\n selfcmd = sessionList.itemsCmd(sessionList.itemsList(0), \"self\");\n _context.next = 21;\n return store.apiCall(selfcmd);\n case 21:\n session = _context.sent;\n return _context.abrupt(\"return\", session);\n case 23:\n if (!(store.store.config.options.computeServerId != null)) {\n _context.next = 28;\n break;\n }\n _context.next = 26;\n return store.apiCall(compute.links('createSession'));\n case 26:\n session = _context.sent;\n return _context.abrupt(\"return\", session);\n case 28:\n // create a session - most common case\n\n if (contextName == null) {\n contextName = 'SAS Job Execution';\n }\n ;\n p = {\n qs: {\n filter: \"contains(name,'\".concat(contextName, \"')\")\n }\n };\n _context.next = 33;\n return store.apiCall(compute.links(\"contexts\"), p);\n case 33:\n contexts = _context.sent;\n if (!(contexts.itemsList().size === 0)) {\n _context.next = 36;\n break;\n }\n throw \"Context \".concat(contextName, \" not found\");\n case 36:\n name = contexts.itemsList(0);\n if (!(sessionID == null)) {\n _context.next = 43;\n break;\n }\n p = sessionPayload == null ? null : sessionPayload;\n createSession = contexts.itemsCmd(name, 'createSession');\n _context.next = 42;\n return store.apiCall(createSession, sessionPayload);\n case 42:\n session = _context.sent;\n case 43:\n return _context.abrupt(\"return\", session);\n case 44:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _computeSetup.apply(this, arguments);\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (computeSetup);\n\n//# sourceURL=webpack://restaflib/./computeSetup.js?");
914
+ eval("/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"../../../node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"../../../node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"../../../node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2__);\n/*\r\n* Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.\r\n* SPDX-License-Identifier: Apache-2.0\r\n*/\n\n\n/**\r\n * @description Setup access to compute service\r\n * @async\r\n * @module computeSetup\r\n * @category restaflib/compute\r\n * \r\n * @param {store} store - restaf store\r\n * @param {string=} contextName name of the context. If not specified defaults to Job Execution context\r\n * @param {logonPayload=} payload logon payload.If null assumes that logon was done earlier.\r\n * @param {sessionPayload=} sessionPayload for createSession call\r\n * @param {string=} sessionID id of a session to attach\r\n * @returns {promise} - returns a compute session\r\n */\n\n\n\nfunction computeSetup(_x, _x2, _x3, _x4, _x5) {\n return _computeSetup.apply(this, arguments);\n}\nfunction _computeSetup() {\n _computeSetup = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()( /*#__PURE__*/_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.mark(function _callee(store, contextName, payload, sessionPayload, sessionID) {\n var msg, _yield$store$addServi, compute, session, _p, sessionList, selfcmd, p, contexts, name, createSession;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_2___default.a.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(sessionID != null && _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(sessionID) === 'object')) {\n _context.next = 2;\n break;\n }\n return _context.abrupt(\"return\", sessionID);\n case 2:\n if (!(payload != null)) {\n _context.next = 6;\n break;\n }\n _context.next = 5;\n return store.logon(payload);\n case 5:\n msg = _context.sent;\n case 6:\n _context.next = 8;\n return store.addServices('compute');\n case 8:\n _yield$store$addServi = _context.sent;\n compute = _yield$store$addServi.compute;\n // Not PUP\n session = null; // Use user specified session\n if (!(sessionID != null)) {\n _context.next = 23;\n break;\n }\n _p = {\n qs: {\n filter: \"eq( id,'\".concat(sessionID, \"')\")\n }\n };\n _context.next = 15;\n return store.apiCall(compute.links('sessions'), _p);\n case 15:\n sessionList = _context.sent;\n if (!(sessionList.items().size === 0)) {\n _context.next = 18;\n break;\n }\n throw \"ERROR: The sessionID \".concat(sessionID, \" was not found.\");\n case 18:\n selfcmd = sessionList.itemsCmd(sessionList.itemsList(0), \"self\");\n _context.next = 21;\n return store.apiCall(selfcmd);\n case 21:\n session = _context.sent;\n return _context.abrupt(\"return\", session);\n case 23:\n if (!(store.store.config.options.computeServerId != null)) {\n _context.next = 28;\n break;\n }\n _context.next = 26;\n return store.apiCall(compute.links('createSession'));\n case 26:\n session = _context.sent;\n return _context.abrupt(\"return\", session);\n case 28:\n // create a session - most common case\n\n if (contextName == null) {\n contextName = 'SAS Job Execution';\n }\n ;\n p = {\n qs: {\n filter: \"contains(name,'\".concat(contextName, \"')\")\n }\n };\n _context.next = 33;\n return store.apiCall(compute.links(\"contexts\"), p);\n case 33:\n contexts = _context.sent;\n if (!(contexts.itemsList().size === 0)) {\n _context.next = 36;\n break;\n }\n throw \"Context \".concat(contextName, \" not found\");\n case 36:\n name = contexts.itemsList(0);\n if (!(sessionID == null)) {\n _context.next = 43;\n break;\n }\n p = sessionPayload == null ? null : sessionPayload;\n createSession = contexts.itemsCmd(name, 'createSession');\n _context.next = 42;\n return store.apiCall(createSession, sessionPayload);\n case 42:\n session = _context.sent;\n case 43:\n return _context.abrupt(\"return\", session);\n case 44:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return _computeSetup.apply(this, arguments);\n}\n/* harmony default export */ __webpack_exports__[\"a\"] = (computeSetup);\n\n//# sourceURL=webpack://restaflib/./computeSetup.js?");
915
915
 
916
916
  /***/ }),
917
917
 
@@ -1429,7 +1429,7 @@ eval("/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMP
1429
1429
  /*! all exports used */
1430
1430
  /***/ (function(module, exports, __webpack_require__) {
1431
1431
 
1432
- eval("module.exports = __webpack_require__(/*! C:\\gen2\\restaf\\packages\\restaflib\\src/index */\"./index.js\");\n\n\n//# sourceURL=webpack://restaflib/multi_./index?");
1432
+ eval("module.exports = __webpack_require__(/*! C:\\sassoftware\\restaf\\packages\\restaflib\\src/index */\"./index.js\");\n\n\n//# sourceURL=webpack://restaflib/multi_./index?");
1433
1433
 
1434
1434
  /***/ }),
1435
1435