solid-ui 3.0.0 → 3.0.1-0dd33a6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/solid-ui.js CHANGED
@@ -11,8 +11,8 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 49:
15
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14
+ /***/ 49
15
+ (__unused_webpack_module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
18
  /*!
@@ -62,7 +62,7 @@ populateMaps(exports.extensions, exports.types)
62
62
  * Get the default charset for a MIME type.
63
63
  *
64
64
  * @param {string} type
65
- * @return {boolean|string}
65
+ * @return {false|string}
66
66
  */
67
67
 
68
68
  function charset (type) {
@@ -90,7 +90,7 @@ function charset (type) {
90
90
  * Create a full Content-Type header given a MIME type or extension.
91
91
  *
92
92
  * @param {string} str
93
- * @return {boolean|string}
93
+ * @return {false|string}
94
94
  */
95
95
 
96
96
  function contentType (str) {
@@ -118,7 +118,7 @@ function contentType (str) {
118
118
  * Get the default extension for a MIME type.
119
119
  *
120
120
  * @param {string} type
121
- * @return {boolean|string}
121
+ * @return {false|string}
122
122
  */
123
123
 
124
124
  function extension (type) {
@@ -143,7 +143,7 @@ function extension (type) {
143
143
  * Lookup the MIME type for a file path/extension.
144
144
  *
145
145
  * @param {string} path
146
- * @return {boolean|string}
146
+ * @return {false|string}
147
147
  */
148
148
 
149
149
  function lookup (path) {
@@ -228,28 +228,28 @@ function _preferredTypeLegacy (ext, type0, type1) {
228
228
  }
229
229
 
230
230
 
231
- /***/ }),
231
+ /***/ },
232
232
 
233
- /***/ 172:
234
- /***/ ((module) => {
233
+ /***/ 172
234
+ (module) {
235
235
 
236
236
  function _OverloadYield(e, d) {
237
237
  this.v = e, this.k = d;
238
238
  }
239
239
  module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
240
240
 
241
- /***/ }),
241
+ /***/ },
242
242
 
243
- /***/ 264:
244
- /***/ ((module) => {
243
+ /***/ 264
244
+ (module) {
245
245
 
246
246
  "use strict";
247
247
  module.exports = __WEBPACK_EXTERNAL_MODULE__264__;
248
248
 
249
- /***/ }),
249
+ /***/ },
250
250
 
251
- /***/ 373:
252
- /***/ ((module) => {
251
+ /***/ 373
252
+ (module) {
253
253
 
254
254
  function _regeneratorKeys(e) {
255
255
  var n = Object(e),
@@ -262,10 +262,10 @@ function _regeneratorKeys(e) {
262
262
  }
263
263
  module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
264
264
 
265
- /***/ }),
265
+ /***/ },
266
266
 
267
- /***/ 378:
268
- /***/ ((module, __webpack_exports__, __webpack_require__) => {
267
+ /***/ 378
268
+ (module, __webpack_exports__, __webpack_require__) {
269
269
 
270
270
  "use strict";
271
271
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -313,10 +313,10 @@ var icons = module.scriptURI // Firefox extension
313
313
  var iconBase = icons.iconBase;
314
314
  var originalIconBase = icons.originalIconBase;
315
315
 
316
- /***/ }),
316
+ /***/ },
317
317
 
318
- /***/ 386:
319
- /***/ ((module) => {
318
+ /***/ 386
319
+ (module) {
320
320
 
321
321
  /**
322
322
  * Provides a way to access commonly used namespaces
@@ -402,10 +402,10 @@ function vocab (rdf = { namedNode: u => u }) {
402
402
  module.exports = vocab
403
403
 
404
404
 
405
- /***/ }),
405
+ /***/ },
406
406
 
407
- /***/ 423:
408
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
407
+ /***/ 423
408
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
409
409
 
410
410
  "use strict";
411
411
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
@@ -431,17 +431,17 @@ function trace() {
431
431
  (_console4 = console).trace.apply(_console4, arguments);
432
432
  }
433
433
 
434
- /***/ }),
434
+ /***/ },
435
435
 
436
- /***/ 466:
437
- /***/ (() => {
436
+ /***/ 466
437
+ () {
438
438
 
439
439
  /* (ignored) */
440
440
 
441
- /***/ }),
441
+ /***/ },
442
442
 
443
- /***/ 546:
444
- /***/ ((module) => {
443
+ /***/ 546
444
+ (module) {
445
445
 
446
446
  function _regeneratorDefine(e, r, n, t) {
447
447
  var i = Object.defineProperty;
@@ -466,10 +466,10 @@ function _regeneratorDefine(e, r, n, t) {
466
466
  }
467
467
  module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
468
468
 
469
- /***/ }),
469
+ /***/ },
470
470
 
471
- /***/ 579:
472
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
471
+ /***/ 579
472
+ (module, __unused_webpack_exports, __webpack_require__) {
473
473
 
474
474
  var _typeof = (__webpack_require__(738)["default"]);
475
475
  function _regeneratorValues(e) {
@@ -491,10 +491,10 @@ function _regeneratorValues(e) {
491
491
  }
492
492
  module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
493
493
 
494
- /***/ }),
494
+ /***/ },
495
495
 
496
- /***/ 580:
497
- /***/ ((module) => {
496
+ /***/ 580
497
+ (module) {
498
498
 
499
499
  "use strict";
500
500
  /*!
@@ -577,10 +577,10 @@ function escapeHtml(string) {
577
577
  }
578
578
 
579
579
 
580
- /***/ }),
580
+ /***/ },
581
581
 
582
- /***/ 598:
583
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
582
+ /***/ 598
583
+ (module, __unused_webpack_exports, __webpack_require__) {
584
584
 
585
585
  /*!
586
586
  * mime-db
@@ -596,10 +596,10 @@ function escapeHtml(string) {
596
596
  module.exports = __webpack_require__(813)
597
597
 
598
598
 
599
- /***/ }),
599
+ /***/ },
600
600
 
601
- /***/ 633:
602
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
601
+ /***/ 633
602
+ (module, __unused_webpack_exports, __webpack_require__) {
603
603
 
604
604
  var OverloadYield = __webpack_require__(172);
605
605
  var regenerator = __webpack_require__(993);
@@ -679,18 +679,18 @@ function _regeneratorRuntime() {
679
679
  }
680
680
  module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
681
681
 
682
- /***/ }),
682
+ /***/ },
683
683
 
684
- /***/ 663:
685
- /***/ ((module) => {
684
+ /***/ 663
685
+ (module) {
686
686
 
687
687
  "use strict";
688
688
  module.exports = __WEBPACK_EXTERNAL_MODULE__663__;
689
689
 
690
- /***/ }),
690
+ /***/ },
691
691
 
692
- /***/ 738:
693
- /***/ ((module) => {
692
+ /***/ 738
693
+ (module) {
694
694
 
695
695
  function _typeof(o) {
696
696
  "@babel/helpers - typeof";
@@ -703,10 +703,10 @@ function _typeof(o) {
703
703
  }
704
704
  module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
705
705
 
706
- /***/ }),
706
+ /***/ },
707
707
 
708
- /***/ 756:
709
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
708
+ /***/ 756
709
+ (module, __unused_webpack_exports, __webpack_require__) {
710
710
 
711
711
  // TODO(Babel 8): Remove this file.
712
712
 
@@ -725,10 +725,10 @@ try {
725
725
  }
726
726
 
727
727
 
728
- /***/ }),
728
+ /***/ },
729
729
 
730
- /***/ 791:
731
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
730
+ /***/ 791
731
+ (module, __unused_webpack_exports, __webpack_require__) {
732
732
 
733
733
  var OverloadYield = __webpack_require__(172);
734
734
  var regeneratorDefine = __webpack_require__(546);
@@ -764,18 +764,18 @@ function AsyncIterator(t, e) {
764
764
  }
765
765
  module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
766
766
 
767
- /***/ }),
767
+ /***/ },
768
768
 
769
- /***/ 813:
770
- /***/ ((module) => {
769
+ /***/ 813
770
+ (module) {
771
771
 
772
772
  "use strict";
773
773
  module.exports = /*#__PURE__*/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/ace+json":{"source":"iana","compressible":true},"application/ace-groupcomm+cbor":{"source":"iana"},"application/ace-trl+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/aif+cbor":{"source":"iana"},"application/aif+json":{"source":"iana","compressible":true},"application/alto-cdni+json":{"source":"iana","compressible":true},"application/alto-cdnifilter+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-propmap+json":{"source":"iana","compressible":true},"application/alto-propmapparams+json":{"source":"iana","compressible":true},"application/alto-tips+json":{"source":"iana","compressible":true},"application/alto-tipsparams+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/appinstaller":{"compressible":false,"extensions":["appinstaller"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/appx":{"compressible":false,"extensions":["appx"]},"application/appxbundle":{"compressible":false,"extensions":["appxbundle"]},"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/automationml-aml+xml":{"source":"iana","compressible":true,"extensions":["aml"]},"application/automationml-amlx+zip":{"source":"iana","compressible":false,"extensions":["amlx"]},"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/bufr":{"source":"iana"},"application/c2pa":{"source":"iana"},"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/cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"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/ce+cbor":{"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/cid-edhoc+cbor-seq":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/city+json-seq":{"source":"iana"},"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-eap":{"source":"iana"},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/concise-problem-details+cbor":{"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/cose-x509":{"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/cwl":{"source":"iana","extensions":["cwl"]},"application/cwl+json":{"source":"iana","compressible":true},"application/cwl+yaml":{"source":"iana"},"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","extensions":["dcm"]},"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/dpop+jwt":{"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/eat+cwt":{"source":"iana"},"application/eat+jwt":{"source":"iana"},"application/eat-bun+cbor":{"source":"iana"},"application/eat-bun+json":{"source":"iana","compressible":true},"application/eat-ucs+cbor":{"source":"iana"},"application/eat-ucs+json":{"source":"iana","compressible":true},"application/ecmascript":{"source":"apache","compressible":true,"extensions":["ecma"]},"application/edhoc+cbor-seq":{"source":"iana"},"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.legacyesn+json":{"source":"iana","compressible":true},"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/entity-statement+jwt":{"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/fdf":{"source":"iana","extensions":["fdf"]},"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/geopose+json":{"source":"iana","compressible":true},"application/geoxacml+json":{"source":"iana","compressible":true},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gnap-binding-jws":{"source":"iana"},"application/gnap-binding-jwsd":{"source":"iana"},"application/gnap-binding-rotation-jws":{"source":"iana"},"application/gnap-binding-rotation-jwsd":{"source":"iana"},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/grib":{"source":"iana"},"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/hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"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":"iana","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":"apache","charset":"UTF-8","compressible":true,"extensions":["js"]},"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/jscontact+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/jsonpath":{"source":"iana"},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwk-set+jwt":{"source":"iana"},"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/linkset":{"source":"iana"},"application/linkset+json":{"source":"iana","compressible":true},"application/load-control+xml":{"source":"iana","compressible":true},"application/logout+jwt":{"source":"iana"},"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":["mp4","mpg4","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/msix":{"compressible":false,"extensions":["msix"]},"application/msixbundle":{"compressible":false,"extensions":["msixbundle"]},"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":true,"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/ohttp-keys":{"source":"iana"},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg","one","onea"]},"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":["sig","asc"]},"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/private-token-issuer-directory":{"source":"iana"},"application/private-token-request":{"source":"iana"},"application/private-token-response":{"source":"iana"},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/provided-claims+jwt":{"source":"iana"},"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.implied-document+xml":{"source":"iana","compressible":true},"application/prs.implied-executable":{"source":"iana"},"application/prs.implied-object+json":{"source":"iana","compressible":true},"application/prs.implied-object+json-seq":{"source":"iana"},"application/prs.implied-object+yaml":{"source":"iana"},"application/prs.implied-structure":{"source":"iana"},"application/prs.mayfile":{"source":"iana"},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.vcfbzip2":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true,"extensions":["xsf"]},"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":"apache"},"application/reputon+json":{"source":"iana","compressible":true},"application/resolve-response+jwt":{"source":"iana"},"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-checklist":{"source":"iana"},"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-signed-tal":{"source":"iana"},"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":"apache"},"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","extensions":["sql"]},"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/sslkeylogfile":{"source":"iana"},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/st2110-41":{"source":"iana"},"application/stix+json":{"source":"iana","compressible":true},"application/stratum":{"source":"iana"},"application/swid+cbor":{"source":"iana"},"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/tm+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/toc+cbor":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"source":"iana","compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/trust-chain+json":{"source":"iana","compressible":true},"application/trust-mark+jwt":{"source":"iana"},"application/trust-mark-delegation+jwt":{"source":"iana"},"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/uccs+cbor":{"source":"iana"},"application/ujcs+json":{"source":"iana","compressible":true},"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/vc":{"source":"iana"},"application/vc+cose":{"source":"iana"},"application/vc+jwt":{"source":"iana"},"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.1ob":{"source":"iana"},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3a+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ach+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc8+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.5gsa2x":{"source":"iana"},"application/vnd.3gpp.5gsa2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gsv2x":{"source":"iana"},"application/vnd.3gpp.5gsv2x-local-service-information":{"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.crs+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.current-location-discovery+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-msgstore-ctrl-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-regroup+xml":{"source":"iana","compressible":true},"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-regroup+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-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-regroup+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.pinapp-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.seal-group-doc+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-network-qos-management-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-ue-config-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-unicast-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.seal-user-profile-info+xml":{"source":"iana","compressible":true},"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.3gpp.v2x":{"source":"iana"},"application/vnd.3gpp.vae-info+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.acm.addressxfer+json":{"source":"iana","compressible":true},"application/vnd.acm.chatbot+json":{"source":"iana","compressible":true},"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":"apache","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":"apache"},"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.parquet":{"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.apexlang":{"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":"apache"},"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.autodesk.fbx":{"extensions":["fbx"]},"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.belightsoft.lhzd+zip":{"source":"iana","compressible":false},"application/vnd.belightsoft.lhzl+zip":{"source":"iana","compressible":false},"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.bzip3":{"source":"iana"},"application/vnd.c3voc.schedule+xml":{"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.cncf.helm.chart.content.v1.tar+gzip":{"source":"iana"},"application/vnd.cncf.helm.chart.provenance.v1.prov":{"source":"iana"},"application/vnd.cncf.helm.config.v1+json":{"source":"iana","compressible":true},"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.datalog":{"source":"iana"},"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.dcmp+xml":{"source":"iana","compressible":true,"extensions":["dcmp"]},"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.eln+zip":{"source":"iana","compressible":false},"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.erofs":{"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":"apache","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.fdsn.stationxml+xml":{"source":"iana","charset":"XML-BASED","compressible":true},"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.freelog.comic":{"source":"iana"},"application/vnd.frogans.fnc":{"source":"apache","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"apache","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.ga4gh.passport+jwt":{"source":"iana"},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.genozip":{"source":"iana"},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.gentoo.catmetadata+xml":{"source":"iana","compressible":true},"application/vnd.gentoo.ebuild":{"source":"iana"},"application/vnd.gentoo.eclass":{"source":"iana"},"application/vnd.gentoo.gpkg":{"source":"iana"},"application/vnd.gentoo.manifest":{"source":"iana"},"application/vnd.gentoo.pkgmetadata+xml":{"source":"iana","compressible":true},"application/vnd.gentoo.xpak":{"source":"iana"},"application/vnd.geo+json":{"source":"apache","compressible":true},"application/vnd.geocube+xml":{"source":"apache","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.pinboard":{"source":"iana"},"application/vnd.geogebra.slides":{"source":"iana","extensions":["ggs"]},"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.gnu.taler.exchange+json":{"source":"iana","compressible":true},"application/vnd.gnu.taler.merchant+json":{"source":"iana","compressible":true},"application/vnd.google-apps.audio":{},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.drawing":{"compressible":false,"extensions":["gdraw"]},"application/vnd.google-apps.drive-sdk":{"compressible":false},"application/vnd.google-apps.file":{},"application/vnd.google-apps.folder":{"compressible":false},"application/vnd.google-apps.form":{"compressible":false,"extensions":["gform"]},"application/vnd.google-apps.fusiontable":{},"application/vnd.google-apps.jam":{"compressible":false,"extensions":["gjam"]},"application/vnd.google-apps.mail-layout":{},"application/vnd.google-apps.map":{"compressible":false,"extensions":["gmap"]},"application/vnd.google-apps.photo":{},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.script":{"compressible":false,"extensions":["gscript"]},"application/vnd.google-apps.shortcut":{},"application/vnd.google-apps.site":{"compressible":false,"extensions":["gsite"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-apps.unknown":{},"application/vnd.google-apps.video":{},"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":"apache","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true,"extensions":["xdcf"]},"application/vnd.gpxsee.map+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.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.hsl":{"source":"iana"},"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":"apache"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"apache","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":"apache"},"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.ipfs.ipns-record":{"source":"iana"},"application/vnd.ipld.car":{"source":"iana"},"application/vnd.ipld.dag-cbor":{"source":"iana"},"application/vnd.ipld.dag-json":{"source":"iana"},"application/vnd.ipld.raw":{"source":"iana"},"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.kdl":{"source":"iana"},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.keyman.kmp+zip":{"source":"iana","compressible":false},"application/vnd.keyman.kmx":{"source":"iana"},"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.ldev.productlicensing":{"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.mdl":{"source":"iana"},"application/vnd.mdl-mbsdf":{"source":"iana"},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.medicalholodeck.recordxr":{"source":"iana"},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mermaid":{"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.modl":{"source":"iana"},"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-visio.viewer":{"extensions":["vdx"]},"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.msgpack":{"source":"iana"},"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.nato.bindingdataobject+cbor":{"source":"iana"},"application/vnd.nato.bindingdataobject+json":{"source":"iana","compressible":true},"application/vnd.nato.bindingdataobject+xml":{"source":"iana","compressible":true,"extensions":["bdo"]},"application/vnd.nato.openxmlformats-package.iepd+zip":{"source":"iana","compressible":false},"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":"apache","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.oai.workflows":{"source":"iana"},"application/vnd.oai.workflows+json":{"source":"iana","compressible":true},"application/vnd.oai.workflows+yaml":{"source":"iana"},"application/vnd.oasis.opendocument.base":{"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":"apache","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-master-template":{"source":"iana"},"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":"apache","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":"apache","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.onvif.metadata":{"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.openvpi.dspx+json":{"source":"iana","compressible":true},"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.procrate.brushset":{"extensions":["brushset"]},"application/vnd.procreate.brush":{"extensions":["brush"]},"application/vnd.procreate.dream":{"extensions":["drm"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.pt.mundusmundi":{"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,"extensions":["xhtm"]},"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.relpipe":{"source":"iana"},"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.sketchometry":{"source":"iana"},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.smintio.portals.archive":{"source":"iana"},"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.sybyl.mol2":{"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.uic.osdm+json":{"source":"iana","compressible":true},"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","uo"]},"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.veraison.tsm-report+cbor":{"source":"iana"},"application/vnd.veraison.tsm-report+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","vsdx","vtx"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vocalshaper.vsp4":{"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.wasmflow.wafl":{"source":"iana"},"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.wordlift":{"source":"iana"},"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.xarin.cpj":{"source":"iana"},"application/vnd.xecrets-encrypted":{"source":"iana"},"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.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/voucher-jws+json":{"source":"iana","compressible":true},"application/vp":{"source":"iana"},"application/vp+cose":{"source":"iana"},"application/vp+jwt":{"source":"iana"},"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-blender":{"extensions":["blend"]},"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-compressed":{"extensions":["rar"]},"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-ipynb+json":{"compressible":true,"extensions":["ipynb"]},"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-zip-compressed":{"extensions":["zip"]},"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/xfdf":{"source":"iana","extensions":["xfdf"]},"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/yaml":{"source":"iana"},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+cbor":{"source":"iana"},"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/yang-sid+json":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zip+dotlottie":{"extensions":["lottie"]},"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","extensions":["adts","aac"]},"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/flac":{"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/matroska":{"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/midi-clip":{"source":"iana"},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a","m4b"]},"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":"apache"},"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":{"source":"iana","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","dib"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/dpx":{"source":"iana","extensions":["dpx"]},"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/ief":{"source":"iana","extensions":["ief"]},"image/j2c":{"source":"iana"},"image/jaii":{"source":"iana","extensions":["jaii"]},"image/jais":{"source":"iana","extensions":["jais"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpg","jpeg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm","jpgm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxl":{"source":"iana","extensions":["jxl"]},"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,"extensions":["jfif"]},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif","btf"]},"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.clip":{"source":"iana"},"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":"iana","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-adobe-dng":{"extensions":["dng"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-emf":{"source":"iana"},"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-wmf":{"source":"iana"},"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/bhttp":{"source":"iana"},"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/mls":{"source":"iana"},"message/news":{"source":"apache"},"message/ohttp-req":{"source":"iana"},"message/ohttp-res":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime","mht","mhtml"]},"message/s-http":{"source":"apache"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"apache"},"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/jt":{"source":"iana","extensions":["jt"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/prc":{"source":"iana","extensions":["prc"]},"model/step":{"source":"iana","extensions":["step","stp","stpnc","p21","210"]},"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/u3d":{"source":"iana","extensions":["u3d"]},"model/vnd.bary":{"source":"iana","extensions":["bary"]},"model/vnd.cld":{"source":"iana","extensions":["cld"]},"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","extensions":["pyo","pyox"]},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usda":{"source":"iana","extensions":["usda"]},"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":"apache"},"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/hl7v2":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["md","markdown"]},"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/prs.texi":{"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.exchangeable":{"source":"iana"},"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":"apache"},"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.vcf":{"source":"iana"},"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/vnd.zoo.kcl":{"source":"iana"},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/wgsl":{"source":"iana","extensions":["wgsl"]},"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/evc":{"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/h266":{"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/lottie+json":{"source":"iana","compressible":true},"video/matroska":{"source":"iana"},"video/matroska-3d":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts","m2t","m2ts","mts"]},"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.planar":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"apache"},"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}}');
774
774
 
775
- /***/ }),
775
+ /***/ },
776
776
 
777
- /***/ 869:
778
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
777
+ /***/ 869
778
+ (module, __unused_webpack_exports, __webpack_require__) {
779
779
 
780
780
  var regeneratorAsyncGen = __webpack_require__(887);
781
781
  function _regeneratorAsync(n, e, r, t, o) {
@@ -786,10 +786,10 @@ function _regeneratorAsync(n, e, r, t, o) {
786
786
  }
787
787
  module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
788
788
 
789
- /***/ }),
789
+ /***/ },
790
790
 
791
- /***/ 887:
792
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
791
+ /***/ 887
792
+ (module, __unused_webpack_exports, __webpack_require__) {
793
793
 
794
794
  var regenerator = __webpack_require__(993);
795
795
  var regeneratorAsyncIterator = __webpack_require__(791);
@@ -798,10 +798,10 @@ function _regeneratorAsyncGen(r, e, t, o, n) {
798
798
  }
799
799
  module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
800
800
 
801
- /***/ }),
801
+ /***/ },
802
802
 
803
- /***/ 983:
804
- /***/ ((module) => {
803
+ /***/ 983
804
+ (module) {
805
805
 
806
806
  // 'mime-score' back-ported to CommonJS
807
807
 
@@ -830,6 +830,11 @@ var TYPE_SCORES = {
830
830
  // prefer font/woff over application/font-woff
831
831
  font: 2,
832
832
 
833
+ // prefer video/mp4 over audio/mp4 over application/mp4
834
+ // See https://www.rfc-editor.org/rfc/rfc4337.html#section-2
835
+ audio: 2,
836
+ video: 3,
837
+
833
838
  default: 0
834
839
  }
835
840
 
@@ -857,10 +862,10 @@ module.exports = function mimeScore (mimeType, source = 'default') {
857
862
  }
858
863
 
859
864
 
860
- /***/ }),
865
+ /***/ },
861
866
 
862
- /***/ 993:
863
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
867
+ /***/ 993
868
+ (module, __unused_webpack_exports, __webpack_require__) {
864
869
 
865
870
  var regeneratorDefine = __webpack_require__(546);
866
871
  function _regenerator() {
@@ -952,7 +957,7 @@ function _regenerator() {
952
957
  }
953
958
  module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
954
959
 
955
- /***/ })
960
+ /***/ }
956
961
 
957
962
  /******/ });
958
963
  /************************************************************************/
@@ -1071,6 +1076,7 @@ __webpack_require__.d(__webpack_exports__, {
1071
1076
  style: () => (/* reexport */ style),
1072
1077
  table: () => (/* reexport */ renderTableViewPane),
1073
1078
  tabs: () => (/* reexport */ tabs_namespaceObject),
1079
+ themeLoader: () => (/* reexport */ themeLoader),
1074
1080
  utils: () => (/* reexport */ utils_namespaceObject),
1075
1081
  widgets: () => (/* reexport */ widgets_namespaceObject)
1076
1082
  });
@@ -2302,144 +2308,138 @@ var mime_types = __webpack_require__(49);
2302
2308
  // to avoid using style sheets which are document-global
2303
2309
  // and make programmable style toggling with selection, drag over, etc easier
2304
2310
  // These must all end with semicolon so they can be appended to.
2311
+ //
2312
+ // PHASE 1: Hybrid mode - CSS variables with fallbacks
2313
+ // CSS variables (--sui-*) are provided by themes/foundation/variables.css
2314
+ // Fallback values preserve original appearance when themes aren't loaded
2305
2315
 
2306
2316
 
2307
2317
  var style = {
2308
2318
  // styleModule
2309
2319
 
2310
- checkboxStyle: 'color: black; font-size: 100%; padding-left: 0.5 em; padding-right: 0.5 em;',
2311
- checkboxInputStyle: 'font-size: 150%; height: 1.2em; width: 1.2em; background-color: #eef; border-radius:0.2em; margin: 0.1em;',
2312
- fieldLabelStyle: 'color: #3B5998; text-decoration: none;',
2313
- formSelectStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
2314
- textInputStyle: 'background-color: #eef; padding: 0.5em; border: .05em solid #88c; border-radius:0.2em; font-size: 100%; margin:0.4em;',
2320
+ checkboxStyle: 'color: var(--sui-text, black); font-size: 100%; padding-left: 0.5em; padding-right: 0.5em;',
2321
+ checkboxInputStyle: 'font-size: 100%; height: 1em; width: 1em; background-color: var(--sui-bg-input, #eef); border-radius: var(--sui-border-radius-sm, 0.2em); margin: 0.1em;',
2322
+ fieldLabelStyle: 'color: var(--sui-text-link, #3B5998); text-decoration: none;',
2323
+ formSelectStyle: 'background-color: var(--sui-bg-input, #eef); padding: var(--sui-input-padding, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-form-border-color, #88c); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-input-margin, 0.4em);',
2324
+ textInputStyle: 'background-color: var(--sui-bg-input, #eef); padding: var(--sui-input-padding, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-form-border-color, #88c); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-input-margin, 0.4em);',
2315
2325
  textInputStyleUneditable:
2316
2326
  // Color difference only
2317
- 'background-color: white; padding: 0.5em; border: .05em solid white; border-radius:0.2em; font-size: 100%; margin:0.4em;',
2318
- buttonStyle: 'background-color: #fff; padding: 0.7em; border: .01em solid white; border-radius:0.2em; font-size: 100%; margin: 0.3em;',
2319
- // 'background-color: #eef;
2320
- commentStyle: 'padding: 0.7em; border: none; font-size: 100%; white-space: pre-wrap;',
2321
- iconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 1em;',
2322
- smallButtonStyle: 'margin: 0.2em; width: 1em; height:1em;',
2323
- classIconStyle: 'width: 3em; height: 3em; margin: 0.1em; border-radius: 0.2em; border: 0.1em solid green; padding: 0.2em; background-color: #efe;',
2324
- // combine with buttonStyle
2325
- confirmPopupStyle: 'padding: 0.7em; border-radius: 0.2em; border: 0.1em solid orange; background-color: white; box-shadow: 0.5em 0.9em #888;',
2326
- messageBodyStyle: 'white-space: pre-wrap; width: 99%; font-size:100%; border: 0.07em solid #eee; border-radius:0.2em; padding: .3em 0.5em; margin: 0.1em;',
2327
- pendingeditModifier: 'color: #bbb;',
2327
+ 'background-color: var(--sui-bg-panel, white); padding: var(--sui-input-padding, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-bg-panel, white); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-input-margin, 0.4em);',
2328
+ buttonStyle: 'background-color: var(--sui-bg-button, #fff); padding: var(--sui-button-padding, 0.7em); border: 0.01em solid var(--sui-border-color, white); border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%; margin: var(--sui-button-margin, 0.3em);',
2329
+ commentStyle: 'padding: var(--sui-button-padding, 0.7em); border: none; font-size: 100%; white-space: pre-wrap;',
2330
+ iconStyle: 'width: var(--sui-icon-size, 1.5em); height: var(--sui-icon-size, 1.5em); margin: 0.1em; border-radius: var(--sui-border-radius-lg, 1em);',
2331
+ smallButtonStyle: 'margin: 0.2em; width: 1em; height: 1em;',
2332
+ classIconStyle: 'width: var(--sui-icon-class-size, 3em); height: var(--sui-icon-class-size, 3em); margin: 0.1em; border-radius: var(--sui-border-radius-sm, 0.2em); border: 0.1em solid var(--sui-group-1, green); padding: 0.2em; background-color: #efe;',
2333
+ confirmPopupStyle: 'padding: var(--sui-button-padding, 0.7em); border-radius: var(--sui-border-radius-sm, 0.2em); border: 0.1em solid var(--sui-warning, orange); background-color: var(--sui-bg-panel, white); box-shadow: var(--sui-shadow, 0.5em 0.9em #888);',
2334
+ messageBodyStyle: 'white-space: pre-wrap; width: 99%; font-size: 100%; border: 0.07em solid var(--sui-border-color, #eee); border-radius: var(--sui-border-radius-sm, 0.2em); padding: 0.3em 0.5em; margin: 0.1em;',
2335
+ pendingeditModifier: 'color: var(--sui-text-muted, #bbb);',
2328
2336
  // Contacts
2329
- personaBarStyle: 'width: 100%; height: 4em; background-color: #eee; vertical-align: middle;',
2330
- searchInputStyle: 'border: 0.1em solid #444; border-radius: 0.2em; width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin 0.2em;',
2331
- autocompleteRowStyle: 'border: 0.2em solid straw;',
2337
+ personaBarStyle: 'width: 100%; height: 4em; background-color: var(--sui-bg-hover, #eee); vertical-align: middle;',
2338
+ searchInputStyle: 'border: 0.1em solid var(--sui-border-color-dark, #444); border-radius: var(--sui-border-radius-sm, 0.2em); width: 100%; font-size: 100%; padding: 0.1em 0.6em; margin: 0.2em;',
2339
+ autocompleteRowStyle: 'border: 0.2em solid var(--sui-warning, straw);',
2332
2340
  // Login buttons
2333
- signInAndUpButtonStyle: 'padding: 1em; border-radius:0.2em; font-size: 100%;',
2334
- // was 0.5em radius
2335
- headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: 0.5em !important;',
2336
- signUpBackground: 'background-color: #eef;',
2337
- signInBackground: 'background-color: #efe;',
2341
+ signInAndUpButtonStyle: 'padding: 1em; border-radius: var(--sui-border-radius-sm, 0.2em); font-size: 100%;',
2342
+ headerBannerLoginInput: 'margin: 0.75em 0 0.75em 0.5em !important; padding: var(--sui-input-padding, 0.5em) !important;',
2343
+ signUpBackground: 'background-color: var(--sui-bg-input, #eef);',
2344
+ signInBackground: 'background-color: var(--sui-bg-active, #efe);',
2338
2345
  // Forms
2339
- heading1Style: 'font-size: 180%; font-weight: bold; color: #888888; padding: 0.5em; margin: 0.7em 0.0m;',
2340
- // originally was brown; now grey
2341
- heading2Style: 'font-size: 130%; font-weight: bold; color: #888888; padding: 0.4em; margin: 0.7em 0.0em;',
2342
- // originally was brown; now grey
2343
- heading3Style: 'font-size: 120%; font-weight: bold; color: #888888; padding: 0.3em; margin: 0.7em 0.0em;',
2344
- // For example, in large forms or before a small form
2345
- heading4Style: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
2346
- // Lowest level used by default in small things
2347
-
2348
- formHeadingStyle: 'font-size: 110%; font-weight: bold; color: #888888; padding: 0.2em; margin: 0.7em 0.0em;',
2349
- // originally was brown; now grey
2346
+ heading1Style: 'font-size: 180%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: var(--sui-space-sm, 0.5em); margin: 0.7em 0;',
2347
+ heading2Style: 'font-size: 130%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.4em; margin: 0.7em 0;',
2348
+ heading3Style: 'font-size: 120%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.3em; margin: 0.7em 0;',
2349
+ heading4Style: 'font-size: 110%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.2em; margin: 0.7em 0;',
2350
+ formHeadingStyle: 'font-size: 110%; font-weight: bold; color: var(--sui-primary, #7C4DFF); padding: 0.2em; margin: 0.7em 0;',
2350
2351
  formTextInput: 'font-size: 100%; margin: 0.1em; padding: 0.1em;',
2351
- // originally used this
2352
- formGroupStyle: ["padding-left: 0em; border: 0.0em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;"), // weight 0
2353
- "padding-left: 2em; border: 0.05em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.1em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;"), "padding-left: 2em; border: 0.2em solid ".concat(styleConstants.formBorderColor, "; border-radius: 0.2em;") // @@ pink
2354
- ],
2355
- formFieldLabelStyle: "color: ".concat(styleConstants.lowProfileLinkColor, "; text-decoration: none;"),
2356
- formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width:".concat(styleConstants.formFieldNameBoxWidth, ";"),
2357
- multilineTextInputStyle: 'font-size:100%; white-space: pre-wrap; background-color: #eef;' + ' border: 0.07em solid gray; padding: 1em 0.5em; margin: 1em 1em;',
2352
+ formGroupStyle: ["padding-left: 0; border: 0 solid var(--sui-form-border-color, ".concat(styleConstants.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: var(--sui-border-width, 0.05em) solid var(--sui-form-border-color, ".concat(styleConstants.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: 0.1em solid var(--sui-form-border-color, ".concat(styleConstants.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);"), "padding-left: 2em; border: 0.2em solid var(--sui-form-border-color, ".concat(styleConstants.formBorderColor, "); border-radius: var(--sui-border-radius-sm, 0.2em);")],
2353
+ formFieldLabelStyle: "color: var(--sui-text-link, ".concat(styleConstants.lowProfileLinkColor, "); text-decoration: none;"),
2354
+ formFieldNameBoxStyle: "padding: 0.3em; vertical-align: middle; width: ".concat(styleConstants.formFieldNameBoxWidth, ";"),
2355
+ multilineTextInputStyle: 'font-size: 100%; white-space: pre-wrap; background-color: var(--sui-bg-input, #eef); border: 0.07em solid var(--sui-border-color-dark, gray); padding: 1em 0.5em; margin: 1em;',
2356
+ // Panes
2357
+ folderPaneStyle: 'border-top: solid 1px var(--sui-border-color, #777); border-bottom: solid 1px var(--sui-border-color, #777); margin-top: var(--sui-space-md, 0.5em); margin-bottom: var(--sui-space-md, 0.5em); background-color: var(--sui-bg-panel, white); color: var(--sui-text, black); font-family: var(--sui-font-family, sans-serif);',
2358
+ sidebarComponentStyle: 'padding: var(--sui-space-md, 0.5em); width: 100%; background-color: var(--sui-bg-panel, white); color: var(--sui-text, black); font-family: var(--sui-font-family, sans-serif);',
2359
+ sidebarStyle: 'overflow-x: auto; overflow-y: auto; border-radius: var(--sui-border-radius, 0.5em); border: 0.1em solid var(--sui-border-color, white); background-color: var(--sui-bg-panel, white);',
2360
+ sourcePaneStyle: 'font-family: var(--sui-font-family-mono, monospace); font-size: 100%; width: 100%; max-width: 60em; margin: 1em 0.2em 1em 0.2em; padding: var(--sui-space-lg, 1em); border: 0.1em solid var(--sui-border-color, #888); border-radius: var(--sui-border-radius, 0.5em); background-color: var(--sui-bg-panel, white); color: var(--sui-text, black);',
2358
2361
  // Buttons
2359
- renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: 2.5em; padding: 1em;',
2360
- imageDivStyle: 'width:2.5em; padding:0.5em; height: 2.5em;',
2361
- linkDivStyle: 'width:2em; padding:0.5em; height: 4em;',
2362
+ renderAsDivStyle: 'display: flex; align-items: center; justify-content: space-between; height: var(--sui-avatar-size, 2.5em); padding: 1em;',
2363
+ imageDivStyle: 'width: var(--sui-avatar-size, 2.5em); padding: 0.5em; height: var(--sui-avatar-size, 2.5em);',
2364
+ linkDivStyle: 'width: var(--sui-icon-size, 2em); padding: 0.5em; height: 4em;',
2362
2365
  // ACL
2363
2366
  aclControlBoxContainer: 'margin: 1em;',
2364
2367
  aclControlBoxHeader: 'font-size: 120%; margin: 0 0 1rem;',
2365
2368
  aclControlBoxStatus: 'display: none; margin: 1rem 0;',
2366
2369
  aclControlBoxStatusRevealed: 'display: block;',
2367
2370
  aclGroupContent: 'maxWidth: 650;',
2368
- accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: 1em; width: 100%;',
2371
+ accessGroupList: 'display: grid; grid-template-columns: 1fr; margin: var(--sui-space-md, 1em); width: 100%;',
2369
2372
  accessGroupListItem: 'display: grid; grid-template-columns: 100px auto 30%;',
2370
2373
  defaultsController: 'display: flex;',
2371
- defaultsControllerNotice: 'color: #888; flexGrow: 1; fontSize: 80%;',
2372
- bigButton: 'background-color: white; border: 0.1em solid #888; border-radius: 0.3em; max-width: 50%; padding-bottom: 1em; padding-top: 1em;',
2373
- group: 'color: #888;',
2374
- group1: 'color: green;',
2375
- group2: 'color: #cc0;',
2376
- group3: 'color: orange;',
2377
- group5: 'color: red;',
2378
- group9: 'color: blue;',
2379
- group13: 'color: purple;',
2380
- trustedAppAddApplicationsTable: 'background-color: #eee;',
2374
+ defaultsControllerNotice: 'color: var(--sui-text-muted, #888); flexGrow: 1; fontSize: 80%;',
2375
+ bigButton: 'background-color: var(--sui-bg-panel, white); border: 0.1em solid var(--sui-border-color-dark, #888); border-radius: var(--sui-border-radius, 0.3em); max-width: 50%; padding-bottom: var(--sui-space-md, 1em); padding-top: var(--sui-space-md, 1em);',
2376
+ group: 'color: var(--sui-group-default, #888);',
2377
+ group1: 'color: var(--sui-group-1, green);',
2378
+ group2: 'color: var(--sui-group-2, #cc0);',
2379
+ group3: 'color: var(--sui-group-3, orange);',
2380
+ group5: 'color: var(--sui-group-5, red);',
2381
+ group9: 'color: var(--sui-group-9, blue);',
2382
+ group13: 'color: var(--sui-group-13, purple);',
2383
+ trustedAppAddApplicationsTable: 'background-color: var(--sui-bg-panel, #eee);',
2381
2384
  trustedAppCancelButton: 'float: right;',
2382
- trustedAppControllerI: 'border-color: orange; border-radius: 1em; border-width: 0.1em;',
2383
- temporaryStatusInit: 'background: green;',
2385
+ trustedAppControllerI: 'border-color: var(--sui-warning, orange); border-radius: var(--sui-border-radius-lg, 1em); border-width: 0.1em;',
2386
+ temporaryStatusInit: 'background: var(--sui-success, green);',
2384
2387
  temporaryStatusEnd: 'background: transparent; transition: background 5s linear;',
2385
2388
  // header
2386
- headerUserMenuLink: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%; text-decoration: none;',
2387
- headerUserMenuLinkHover: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%; text-decoration: none; background-image: linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%);',
2388
- headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: 60px; height: 60px;',
2389
- headerUserMenuTriggerImg: 'border-radius: 50%; height: 56px; width: 28px !important;',
2390
- headerUserMenuButton: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%;',
2391
- headerUserMenuButtonHover: 'background: none; border: 0; color: black; cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: 1em; width: 100%; background-image: linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%);',
2389
+ headerUserMenuLink: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%; text-decoration: none;',
2390
+ headerUserMenuLinkHover: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%; text-decoration: none; background-image: var(--sui-header-gradient, linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%));',
2391
+ headerUserMenuTrigger: 'background: none; border: 0; cursor: pointer; width: var(--sui-header-height, 60px); height: var(--sui-header-height, 60px);',
2392
+ headerUserMenuTriggerImg: 'border-radius: var(--sui-border-radius-full, 50%); height: 56px; width: 28px !important;',
2393
+ headerUserMenuButton: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%;',
2394
+ headerUserMenuButtonHover: 'background: none; border: 0; color: var(--sui-text, black); cursor: pointer; display: block; font-family: Arial; font-size: 1em; text-align: left; padding: var(--sui-space-md, 1em); width: 100%; background-image: var(--sui-header-gradient, linear-gradient(to right, #7C4DFF 0%, #18A9E6 50%, #01C9EA 100%));',
2392
2395
  headerUserMenuList: 'list-style: none; margin: 0; padding: 0;',
2393
2396
  headerUserMenuListDisplay: 'list-style: none; margin: 0; padding: 0; display:true;',
2394
- headerUserMenuNavigationMenu: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: true;',
2395
- headerUserMenuNavigationMenuNotDisplayed: 'background: white; border: solid 1px #000000; border-right: 0; position: absolute; right: 0; top: 60px; width: 200px; z-index: 1; display: none;',
2396
- headerUserMenuListItem: 'border-bottom: solid 1px #000000;',
2397
- headerUserMenuPhoto: 'border-radius: 50%; background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px;',
2398
- headerBanner: 'box-shadow: 0px 1px 4px #000000; display: flex; justify-content: space-between; padding: 0 1.5em; margin-bottom: 4px;',
2399
- headerBannerLink: 'display: block;',
2397
+ headerUserMenuNavigationMenu: 'background: var(--sui-bg-panel, white); border: solid 1px var(--sui-text, #000000); border-right: 0; position: absolute; right: 0; top: var(--sui-header-height, 60px); width: 200px; z-index: var(--sui-z-dropdown, 1); display: true;',
2398
+ headerUserMenuNavigationMenuNotDisplayed: 'background: var(--sui-bg-panel, white); border: solid 1px var(--sui-text, #000000); border-right: 0; position: absolute; right: 0; top: var(--sui-header-height, 60px); width: 200px; z-index: var(--sui-z-dropdown, 1); display: none;',
2399
+ headerUserMenuListItem: 'border-bottom: solid 1px var(--sui-text, #000000);',
2400
+ headerUserMenuPhoto: 'border-radius: var(--sui-border-radius-full, 50%); background-position: center; background-repeat: no-repeat; background-size: cover; height: 50px; width: 50px;',
2401
+ headerBanner: 'background: var(--sui-bg-header, white); box-shadow: var(--sui-header-shadow, 0px 1px 4px #000000); display: flex; justify-content: space-between; padding: 0 var(--sui-space-lg, 1.5em);',
2400
2402
  headerBannerRightMenu: 'display: flex;',
2401
2403
  headerBannerLogin: 'margin-left: auto;',
2402
- allChildrenVisible: 'display:true;',
2403
- headerBannerUserMenu: 'border-left: solid 1px #000000; margin-left: auto;',
2404
- headerBannerHelpMenu: 'border-left: solid 1px #000000; margin-left: auto;',
2405
- headerBannerIcon: 'background-size: 65px 60px !important; height: 60px !important; width: 65px !important;',
2406
- // may just be 65px round($icon-size * 352 / 322);
2407
-
2404
+ allChildrenVisible: 'display: true;',
2405
+ headerBannerUserMenu: 'border-left: solid 1px var(--sui-text, #000000); margin-left: auto;',
2406
+ headerBannerHelpMenu: 'border-left: solid 1px var(--sui-text, #000000); margin-left: auto;',
2407
+ headerBannerIcon: 'background-size: 65px var(--sui-header-height, 60px) !important; height: var(--sui-header-height, 60px) !important; width: 65px !important;',
2408
2408
  // footer
2409
- footer: 'border-top: solid 1px $divider-color; font-size: 0.9em; padding: 0.5em 1.5em;',
2409
+ footer: 'border-top: solid 1px var(--sui-border-color, #ccc); font-size: 0.9em; padding: var(--sui-space-sm, 0.5em) var(--sui-space-lg, 1.5em);',
2410
2410
  // buttons
2411
- primaryButton: 'background-color: #7c4dff; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
2412
- primaryButtonHover: 'background-color: #9f7dff; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
2413
- primaryButtonNoBorder: 'background-color: #ffffff; color: #7c4dff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
2414
- primaryButtonNoBorderHover: 'background-color: #7c4dff; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
2415
- secondaryButton: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
2416
- secondaryButtonHover: 'background-color: #37cde6; color: #ffffff; font-family: Raleway, Roboto, sans-serif;border-radius: 0.25em; border-color: #7c4dff; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
2417
- secondaryButtonNoBorder: 'background-color: #ffffff; color: #01c9ea; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none;',
2418
- secondaryButtonNoBorderHover: 'background-color: #01c9ea; color: #ffffff; font-family: Raleway, Roboto, sans-serif; border-radius: 0.25em; border-color: #01c9ea; border: 1px solid; cursor: pointer; font-size: .8em; text-decoration: none; padding: 0.5em 4em; transition: 0.25s all ease-in-out; outline: none; transition: 0.25s all ease-in-out;',
2411
+ primaryButton: 'background-color: var(--sui-primary-light, #7c4dff); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2412
+ primaryButtonHover: 'background-color: var(--sui-primary, #9f7dff); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2413
+ primaryButtonNoBorder: 'background-color: var(--sui-bg-panel, #ffffff); color: var(--sui-primary-light, #7c4dff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2414
+ primaryButtonNoBorderHover: 'background-color: var(--sui-primary-light, #7c4dff); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2415
+ secondaryButton: 'background-color: var(--sui-accent, #01c9ea); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-accent, #01c9ea); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2416
+ secondaryButtonHover: 'background-color: var(--sui-info, #37cde6); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-primary-light, #7c4dff); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2417
+ secondaryButtonNoBorder: 'background-color: var(--sui-bg-panel, #ffffff); color: var(--sui-accent, #01c9ea); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-accent, #01c9ea); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2418
+ secondaryButtonNoBorderHover: 'background-color: var(--sui-accent, #01c9ea); color: var(--sui-text-on-primary, #ffffff); font-family: var(--sui-font-family, Raleway, Roboto, sans-serif); border-radius: var(--sui-border-radius, 0.25em); border-color: var(--sui-accent, #01c9ea); border: 1px solid; cursor: pointer; font-size: 0.8em; text-decoration: none; padding: var(--sui-button-padding-sm, 0.5em 4em); transition: var(--sui-transition, 0.25s all ease-in-out); outline: none;',
2419
2419
  // media
2420
- controlStyle: "border-radius: 0.5em; margin: 0.8em; width:".concat(styleConstants.mediaModuleCanvasWidth, "; height:").concat(styleConstants.mediaModuleCanvasHeight, ";"),
2420
+ controlStyle: "border-radius: var(--sui-border-radius, 0.5em); margin: 0.8em; width: ".concat(styleConstants.mediaModuleCanvasWidth, "; height: ").concat(styleConstants.mediaModuleCanvasHeight, ";"),
2421
2421
  // dragAndDrop
2422
- dragEvent: 'background-color: #ccc; border: 0.25em dashed black; border-radius: 0.3em;',
2423
- dropEvent: 'background-color: white; border: 0em solid black;',
2424
- restoreStyle: 'background-color: white;',
2422
+ dragEvent: 'background-color: var(--sui-bg-hover, #ccc); border: 0.25em dashed var(--sui-text, black); border-radius: var(--sui-border-radius, 0.3em);',
2423
+ dropEvent: 'background-color: var(--sui-bg-panel, white); border: 0 solid var(--sui-text, black);',
2424
+ restoreStyle: 'background-color: var(--sui-bg-panel, white);',
2425
2425
  // errors
2426
- errorCancelButton: 'width: 2em; height: 2em; align: right;',
2427
- errorMessageBlockStyle: 'margin: 0.1em; padding: 0.5em; border: 0.05em solid gray; color:black;',
2426
+ errorCancelButton: 'width: var(--sui-icon-size, 2em); height: var(--sui-icon-size, 2em); align: right;',
2427
+ errorMessageBlockStyle: 'margin: 0.1em; padding: var(--sui-space-sm, 0.5em); border: var(--sui-border-width, 0.05em) solid var(--sui-border-color-dark, gray); color: var(--sui-text, black);',
2428
2428
  // pad
2429
- notepadStyle: 'padding: 1em; overflow: auto; resize: horizontal; min-width: 40em;',
2429
+ notepadStyle: 'padding: var(--sui-space-md, 1em); overflow: auto; resize: horizontal; min-width: 40em;',
2430
2430
  upstreamStatus: 'width: 50%;',
2431
2431
  downstreamStatus: 'width: 50%;',
2432
- baseStyle: 'font-size: 100%; font-family: monospace; width: 100%; border: none; white-space: pre-wrap;',
2433
- headingCore: 'font-family: sans-serif; font-weight: bold; border: none;',
2434
- headingStyle: ['font-size: 110%; padding-top: 0.5em; padding-bottom: 0.5em; width: 100%;', 'font-size: 120%; padding-top: 1em; padding-bottom: 1em; width: 100%;', 'font-size: 150%; padding-top: 1em; padding-bottom: 1em; width: 100%;'],
2432
+ baseStyle: 'font-size: 100%; font-family: var(--sui-font-family-mono, monospace); width: 100%; border: none; white-space: pre-wrap;',
2433
+ headingCore: 'font-family: var(--sui-font-family, sans-serif); font-weight: bold; border: none;',
2434
+ headingStyle: ['font-size: 110%; padding-top: var(--sui-space-sm, 0.5em); padding-bottom: var(--sui-space-sm, 0.5em); width: 100%;', 'font-size: 120%; padding-top: var(--sui-space-md, 1em); padding-bottom: var(--sui-space-md, 1em); width: 100%;', 'font-size: 150%; padding-top: var(--sui-space-md, 1em); padding-bottom: var(--sui-space-md, 1em); width: 100%;'],
2435
2435
  // participation
2436
2436
  participantsStyle: 'margin: 0.8em;',
2437
- participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border 0.01em solid #888;',
2437
+ participantsBlock: 'height: 1.5em; width: 1.5em; margin: 0.3em; border: 0.01em solid var(--sui-border-color-dark, #888);',
2438
2438
  personTableTD: 'vertical-align: middle;',
2439
2439
  // tabs
2440
2440
  tabsNavElement: 'margin: 0;',
2441
2441
  tabsRootElement: 'display: flex; height: 100%; width: 100%;',
2442
- tabsMainElement: 'margin: 0; width:100%; height: 100%;',
2442
+ tabsMainElement: 'margin: 0; width: 100%; height: 100%;',
2443
2443
  tabContainer: 'list-style-type: none; display: flex; height: 100%; width: 100%; margin: 0; padding: 0;',
2444
2444
  makeNewSlot: 'background: none; border: none; font: inherit; cursor: pointer;',
2445
2445
  ellipsis: 'position: absolute; right: 0; bottom: 0; width: 20%; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit;'
@@ -3265,7 +3265,7 @@ var createLinkForURI = function createLinkForURI(dom, linkDiv, obj) {
3265
3265
  linkDiv.appendChild(dom.createElement('br'));
3266
3266
  };
3267
3267
  ;// ./src/widgets/buttons.ts
3268
- /* Buttons
3268
+ /* Buttons
3269
3269
  */
3270
3270
 
3271
3271
 
@@ -3280,9 +3280,9 @@ var createLinkForURI = function createLinkForURI(dom, linkDiv, obj) {
3280
3280
 
3281
3281
 
3282
3282
 
3283
- /**
3284
- * UI Widgets such as buttons
3285
- * @packageDocumentation
3283
+ /**
3284
+ * UI Widgets such as buttons
3285
+ * @packageDocumentation
3286
3286
  */
3287
3287
 
3288
3288
  /* global alert */
@@ -3310,8 +3310,8 @@ function getStatusArea(context) {
3310
3310
  return null;
3311
3311
  }
3312
3312
 
3313
- /**
3314
- * Display an error message block
3313
+ /**
3314
+ * Display an error message block
3315
3315
  */
3316
3316
  function complain(context, err) {
3317
3317
  if (!err) return; // only if error
@@ -3320,8 +3320,8 @@ function complain(context, err) {
3320
3320
  if (ele) ele.appendChild(errorMessageBlock(context && context.dom || document, err));else alert(err);
3321
3321
  }
3322
3322
 
3323
- /**
3324
- * Remove all the children of an HTML element
3323
+ /**
3324
+ * Remove all the children of an HTML element
3325
3325
  */
3326
3326
  function clearElement(ele) {
3327
3327
  while (ele.firstChild) {
@@ -3330,8 +3330,8 @@ function clearElement(ele) {
3330
3330
  return ele;
3331
3331
  }
3332
3332
 
3333
- /**
3334
- * To figure out the log URI from the full URI used to invoke the reasoner
3333
+ /**
3334
+ * To figure out the log URI from the full URI used to invoke the reasoner
3335
3335
  */
3336
3336
  function extractLogURI(fullURI) {
3337
3337
  var logPos = fullURI.search(/logFile=/);
@@ -3339,11 +3339,11 @@ function extractLogURI(fullURI) {
3339
3339
  return fullURI.substring(logPos + 8, rulPos);
3340
3340
  }
3341
3341
 
3342
- /**
3343
- * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'
3344
- * if today is 19 Feb 2020, and to 'Feb 19' if not.
3345
- * @@@ TODO This needs to be changed to local time
3346
- * @param noTime Return a string like 'Feb 19' even if it's today.
3342
+ /**
3343
+ * By default, converts e.g. '2020-02-19T19:35:28.557Z' to '19:35'
3344
+ * if today is 19 Feb 2020, and to 'Feb 19' if not.
3345
+ * @@@ TODO This needs to be changed to local time
3346
+ * @param noTime Return a string like 'Feb 19' even if it's today.
3347
3347
  */
3348
3348
  function shortDate(str, noTime) {
3349
3349
  if (!str) return '???';
@@ -3364,11 +3364,11 @@ function shortDate(str, noTime) {
3364
3364
  }
3365
3365
  }
3366
3366
 
3367
- /**
3368
- * Format a date and time
3369
- * @param date for instance `new Date()`
3370
- * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'
3371
- * @returns for instance '2000-01-15T23:14:23.002'
3367
+ /**
3368
+ * Format a date and time
3369
+ * @param date for instance `new Date()`
3370
+ * @param format for instance '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}'
3371
+ * @returns for instance '2000-01-15T23:14:23.002'
3372
3372
  */
3373
3373
  function formatDateTime(date, format) {
3374
3374
  return format.split('{').map(function (s) {
@@ -3384,17 +3384,17 @@ function formatDateTime(date, format) {
3384
3384
  }).join('');
3385
3385
  }
3386
3386
 
3387
- /**
3388
- * Get a string representation of the current time
3389
- * @returns for instance '2000-01-15T23:14:23.002'
3387
+ /**
3388
+ * Get a string representation of the current time
3389
+ * @returns for instance '2000-01-15T23:14:23.002'
3390
3390
  */
3391
3391
  function timestamp() {
3392
3392
  return formatDateTime(new Date(), '{FullYear}-{Month}-{Date}T{Hours}:{Minutes}:{Seconds}.{Milliseconds}');
3393
3393
  }
3394
3394
 
3395
- /**
3396
- * Get a short string representation of the current time
3397
- * @returns for instance '23:14:23.002'
3395
+ /**
3396
+ * Get a short string representation of the current time
3397
+ * @returns for instance '23:14:23.002'
3398
3398
  */
3399
3399
  function shortTime() {
3400
3400
  return formatDateTime(new Date(), '{Hours}:{Minutes}:{Seconds}.{Milliseconds}');
@@ -3402,8 +3402,8 @@ function shortTime() {
3402
3402
 
3403
3403
  // ///////////////////// Handy UX widgets
3404
3404
 
3405
- /**
3406
- * Sets the best name we have and looks up a better one
3405
+ /**
3406
+ * Sets the best name we have and looks up a better one
3407
3407
  */
3408
3408
  function setName(element, x) {
3409
3409
  var kb = external_SolidLogic_.store;
@@ -3424,29 +3424,29 @@ function setName(element, x) {
3424
3424
  }
3425
3425
  }
3426
3426
 
3427
- /**
3428
- * Set of suitable images
3429
- * See also [[findImage]]
3430
- * @param x The thing for which we want to find an image
3431
- * @param kb The RDF store to look in
3432
- * @returns It goes looking for triples in `kb`,
3433
- * `(subject: x), (predicate: see list below) (object: image-url)`
3434
- * to find any image linked from the thing with one of the following
3435
- * predicates (in order):
3436
- * * ns.sioc('avatar')
3437
- * * ns.foaf('img')
3438
- * * ns.vcard('logo')
3439
- * * ns.vcard('hasPhoto')
3440
- * * ns.vcard('photo')
3441
- * * ns.foaf('depiction')
3442
-
3427
+ /**
3428
+ * Set of suitable images
3429
+ * See also [[findImage]]
3430
+ * @param x The thing for which we want to find an image
3431
+ * @param kb The RDF store to look in
3432
+ * @returns It goes looking for triples in `kb`,
3433
+ * `(subject: x), (predicate: see list below) (object: image-url)`
3434
+ * to find any image linked from the thing with one of the following
3435
+ * predicates (in order):
3436
+ * * ns.sioc('avatar')
3437
+ * * ns.foaf('img')
3438
+ * * ns.vcard('logo')
3439
+ * * ns.vcard('hasPhoto')
3440
+ * * ns.vcard('photo')
3441
+ * * ns.foaf('depiction')
3442
+
3443
3443
  */
3444
3444
  function imagesOf(x, kb) {
3445
3445
  return kb.each(x, src_ns.sioc('avatar')).concat(kb.each(x, src_ns.foaf('img'))).concat(kb.each(x, src_ns.vcard('logo'))).concat(kb.each(x, src_ns.vcard('hasPhoto'))).concat(kb.each(x, src_ns.vcard('photo'))).concat(kb.each(x, src_ns.foaf('depiction')));
3446
3446
  }
3447
3447
 
3448
- /**
3449
- * Best logo or avatar or photo etc to represent someone or some group etc
3448
+ /**
3449
+ * Best logo or avatar or photo etc to represent someone or some group etc
3450
3450
  */
3451
3451
  var iconForClass = {
3452
3452
  // Potentially extendable by other apps, panes, etc
@@ -3481,8 +3481,8 @@ var iconForClass = {
3481
3481
  'wf:Closed': 'noun_17020.svg'
3482
3482
  };
3483
3483
 
3484
- /**
3485
- * Returns the origin of the URI of a NamedNode
3484
+ /**
3485
+ * Returns the origin of the URI of a NamedNode
3486
3486
  */
3487
3487
  function tempSite(x) {
3488
3488
  // use only while one in rdflib fails with origins 2019
@@ -3498,8 +3498,8 @@ function tempSite(x) {
3498
3498
  }
3499
3499
  }
3500
3500
 
3501
- /**
3502
- * Find an image for this thing as a class
3501
+ /**
3502
+ * Find an image for this thing as a class
3503
3503
  */
3504
3504
  function findImageFromURI(x) {
3505
3505
  var iconDir = buttons_iconBase;
@@ -3529,22 +3529,22 @@ function findImageFromURI(x) {
3529
3529
  return iconDir + 'noun_10636_grey.svg'; // Grey Circle - some thing
3530
3530
  }
3531
3531
 
3532
- /**
3533
- * Find something we have as explicit image data for the thing
3534
- * See also [[imagesOf]]
3535
- * @param thing The thing for which we want to find an image
3536
- * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`
3537
- * or `ns.rdf('Resource')`. Otherwise, it goes looking for
3538
- * triples in `store`,
3539
- * `(subject: thing), (predicate: see list below) (object: image-url)`
3540
- * to find any image linked from the thing with one of the following
3541
- * predicates (in order):
3542
- * * ns.sioc('avatar')
3543
- * * ns.foaf('img')
3544
- * * ns.vcard('logo')
3545
- * * ns.vcard('hasPhoto')
3546
- * * ns.vcard('photo')
3547
- * * ns.foaf('depiction')
3532
+ /**
3533
+ * Find something we have as explicit image data for the thing
3534
+ * See also [[imagesOf]]
3535
+ * @param thing The thing for which we want to find an image
3536
+ * @returns The URL of a globe icon if thing equals `ns.foaf('Agent')`
3537
+ * or `ns.rdf('Resource')`. Otherwise, it goes looking for
3538
+ * triples in `store`,
3539
+ * `(subject: thing), (predicate: see list below) (object: image-url)`
3540
+ * to find any image linked from the thing with one of the following
3541
+ * predicates (in order):
3542
+ * * ns.sioc('avatar')
3543
+ * * ns.foaf('img')
3544
+ * * ns.vcard('logo')
3545
+ * * ns.vcard('hasPhoto')
3546
+ * * ns.vcard('photo')
3547
+ * * ns.foaf('depiction')
3548
3548
  */
3549
3549
  function findImage(thing) {
3550
3550
  var kb = external_SolidLogic_.store;
@@ -3556,11 +3556,11 @@ function findImage(thing) {
3556
3556
  return image ? image.uri : null;
3557
3557
  }
3558
3558
 
3559
- /**
3560
- * Do the best you can with the data available
3561
- *
3562
- * @return {Boolean} Are we happy with this icon?
3563
- * Sets src AND STYLE of the image.
3559
+ /**
3560
+ * Do the best you can with the data available
3561
+ *
3562
+ * @return {Boolean} Are we happy with this icon?
3563
+ * Sets src AND STYLE of the image.
3564
3564
  */
3565
3565
  function trySetImage(element, thing, iconForClassMap) {
3566
3566
  var kb = external_SolidLogic_.store;
@@ -3596,8 +3596,8 @@ function trySetImage(element, thing, iconForClassMap) {
3596
3596
  return false; // we can do better
3597
3597
  }
3598
3598
 
3599
- /**
3600
- * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,
3599
+ /**
3600
+ * ToDo: Also add icons for *properties* like home, work, email, range, domain, comment,
3601
3601
  */
3602
3602
  function setImage(element, thing) {
3603
3603
  // 20191230a
@@ -3646,7 +3646,7 @@ function faviconOrDefault(dom, x) {
3646
3646
  }
3647
3647
  }
3648
3648
 
3649
- /* Two-option dialog pop-up
3649
+ /* Two-option dialog pop-up
3650
3650
  */
3651
3651
 
3652
3652
  function renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunction) {
@@ -3697,9 +3697,9 @@ function renderDeleteConfirmPopup(dom, refererenceElement, prompt, deleteFunctio
3697
3697
  cancelPrompt.addEventListener('click', removePopup);
3698
3698
  return popup;
3699
3699
  }
3700
- /**
3701
- * Delete button with a check you really mean it
3702
- * @@ Supress check if command key held down?
3700
+ /**
3701
+ * Delete button with a check you really mean it
3702
+ * @@ Supress check if command key held down?
3703
3703
  */
3704
3704
  function deleteButtonWithCheck(dom, container, noun, deleteFunction) {
3705
3705
  function createPopup() {
@@ -3725,14 +3725,14 @@ function deleteButtonWithCheck(dom, container, noun, deleteFunction) {
3725
3725
  return deleteButton; // or button div? caller may change size of image
3726
3726
  }
3727
3727
 
3728
- /* Make a button
3729
- *
3730
- * @param dom - the DOM document object
3731
- * @Param iconURI - the URI of the icon to use (if any)
3732
- * @param text - the tooltip text or possibly button contents text
3733
- * @param handler <function> - A handler to called when button is clicked
3734
- *
3735
- * @returns <dDomElement> - the button
3728
+ /* Make a button
3729
+ *
3730
+ * @param dom - the DOM document object
3731
+ * @Param iconURI - the URI of the icon to use (if any)
3732
+ * @param text - the tooltip text or possibly button contents text
3733
+ * @param handler <function> - A handler to called when button is clicked
3734
+ *
3735
+ * @returns <dDomElement> - the button
3736
3736
  */
3737
3737
  function buttons_button(dom, iconURI, text, handler) {
3738
3738
  var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {
@@ -3745,7 +3745,7 @@ function buttons_button(dom, iconURI, text, handler) {
3745
3745
  if (iconURI) {
3746
3746
  var img = button.appendChild(dom.createElement('img'));
3747
3747
  img.setAttribute('src', iconURI);
3748
- img.setAttribute('style', 'width: 2em; height: 2em;'); // trial and error. 2em disappears
3748
+ img.setAttribute('style', style.iconStyle);
3749
3749
  img.title = text;
3750
3750
  button.setAttribute('style', style.buttonStyle);
3751
3751
  } else {
@@ -3800,12 +3800,12 @@ function buttons_button(dom, iconURI, text, handler) {
3800
3800
  return button;
3801
3801
  }
3802
3802
 
3803
- /* Make a cancel button
3804
- *
3805
- * @param dom - the DOM document object
3806
- * @param handler <function> - A handler to called when button is clicked
3807
- *
3808
- * @returns <dDomElement> - the button
3803
+ /* Make a cancel button
3804
+ *
3805
+ * @param dom - the DOM document object
3806
+ * @param handler <function> - A handler to called when button is clicked
3807
+ *
3808
+ * @returns <dDomElement> - the button
3809
3809
  */
3810
3810
  function buttons_cancelButton(dom, handler) {
3811
3811
  var b = buttons_button(dom, cancelIconURI, 'Cancel', handler);
@@ -3816,22 +3816,22 @@ function buttons_cancelButton(dom, handler) {
3816
3816
  return b;
3817
3817
  }
3818
3818
 
3819
- /* Make a continue button
3820
- *
3821
- * @param dom - the DOM document object
3822
- * @param handler <function> - A handler to called when button is clicked
3823
- *
3824
- * @returns <dDomElement> - the button
3819
+ /* Make a continue button
3820
+ *
3821
+ * @param dom - the DOM document object
3822
+ * @param handler <function> - A handler to called when button is clicked
3823
+ *
3824
+ * @returns <dDomElement> - the button
3825
3825
  */
3826
3826
  function continueButton(dom, handler) {
3827
3827
  return buttons_button(dom, checkIconURI, 'Continue', handler);
3828
3828
  }
3829
3829
 
3830
- /* Grab a name for a new thing
3831
- *
3832
- * Form to get the name of a new thing before we create it
3833
- * @params theClass Misspelt to avoid clashing with the JavaScript keyword
3834
- * @returns: a promise of (a name or null if cancelled)
3830
+ /* Grab a name for a new thing
3831
+ *
3832
+ * Form to get the name of a new thing before we create it
3833
+ * @params theClass Misspelt to avoid clashing with the JavaScript keyword
3834
+ * @returns: a promise of (a name or null if cancelled)
3835
3835
  */
3836
3836
  function askName(dom, kb, container, predicate, theClass, noun) {
3837
3837
  return new Promise(function (resolve, _reject) {
@@ -3873,10 +3873,10 @@ function askName(dom, kb, container, predicate, theClass, noun) {
3873
3873
  }); // Promise
3874
3874
  }
3875
3875
 
3876
- /**
3877
- * A TR to represent a draggable person, etc in a list
3878
- *
3879
- * pred is unused param at the moment
3876
+ /**
3877
+ * A TR to represent a draggable person, etc in a list
3878
+ *
3879
+ * pred is unused param at the moment
3880
3880
  */
3881
3881
  var personTR = renderAsRow; // The legacy name is used in a lot of places
3882
3882
 
@@ -3890,9 +3890,9 @@ function renderAsRow(dom, pred, obj, options) {
3890
3890
 
3891
3891
  // const image = td1.appendChild(dom.createElement('img'))
3892
3892
  var image = options.image || faviconOrDefault(dom, obj);
3893
- td1.setAttribute('style', 'vertical-align: middle; width:2.5em; padding:0.5em; height: 2.5em;');
3893
+ td1.setAttribute('style', 'vertical-align: middle; width: var(--sui-avatar-size, 2.5em); padding: 0.5em; height: var(--sui-avatar-size, 2.5em);');
3894
3894
  td2.setAttribute('style', 'vertical-align: middle; text-align:left;');
3895
- td3.setAttribute('style', 'vertical-align: middle; width:2em; padding:0.5em; height: 4em;');
3895
+ td3.setAttribute('style', 'vertical-align: middle; width: var(--sui-icon-size, 2em); padding: 0.5em; height: 4em;');
3896
3896
  td1.appendChild(image);
3897
3897
  if (options.title) {
3898
3898
  td2.textContent = options.title;
@@ -3920,11 +3920,11 @@ function renderAsRow(dom, pred, obj, options) {
3920
3920
  return tr;
3921
3921
  }
3922
3922
 
3923
- /* A helper function for renderAsDiv
3924
- * creates the NameDiv for the person
3925
- * Note: could not move it to the helper file because they call exported functions
3926
- * from buttons
3927
- * @internal exporting this only for unit tests
3923
+ /* A helper function for renderAsDiv
3924
+ * creates the NameDiv for the person
3925
+ * Note: could not move it to the helper file because they call exported functions
3926
+ * from buttons
3927
+ * @internal exporting this only for unit tests
3928
3928
  */
3929
3929
  function createNameDiv(dom, div, title, obj) {
3930
3930
  var nameDiv = div.appendChild(dom.createElement('div'));
@@ -3934,11 +3934,11 @@ function createNameDiv(dom, div, title, obj) {
3934
3934
  setName(nameDiv, obj); // This is async
3935
3935
  }
3936
3936
  }
3937
- /* A helper function for renderAsDiv
3938
- * creates the linkDiv for the person
3939
- * Note: could not move it to the helper file because they call exported functions
3940
- * from buttons
3941
- * @internal exporting this only for unit tests
3937
+ /* A helper function for renderAsDiv
3938
+ * creates the linkDiv for the person
3939
+ * Note: could not move it to the helper file because they call exported functions
3940
+ * from buttons
3941
+ * @internal exporting this only for unit tests
3942
3942
  */
3943
3943
  function createLinkDiv(dom, div, obj, options) {
3944
3944
  var linkDiv = div.appendChild(dom.createElement('div'));
@@ -3954,9 +3954,9 @@ function createLinkDiv(dom, div, obj, options) {
3954
3954
  makeDraggable(div, obj);
3955
3955
  }
3956
3956
  }
3957
- /**
3958
- * A Div to represent a draggable person, etc in a list
3959
- * configurable to add an onClick listener
3957
+ /**
3958
+ * A Div to represent a draggable person, etc in a list
3959
+ * configurable to add an onClick listener
3960
3960
  */
3961
3961
  function renderAsDiv(dom, obj, options) {
3962
3962
  var div = dom.createElement('div');
@@ -3978,8 +3978,8 @@ function renderAsDiv(dom, obj, options) {
3978
3978
  return div;
3979
3979
  }
3980
3980
 
3981
- /**
3982
- * Refresh a DOM tree recursively
3981
+ /**
3982
+ * Refresh a DOM tree recursively
3983
3983
  */
3984
3984
  function refreshTree(root) {
3985
3985
  if (root.refresh) {
@@ -3991,15 +3991,15 @@ function refreshTree(root) {
3991
3991
  }
3992
3992
  }
3993
3993
 
3994
- /**
3995
- * Options argument for [[attachmentList]] function
3994
+ /**
3995
+ * Options argument for [[attachmentList]] function
3996
3996
  */
3997
3997
 
3998
- /**
3999
- * Component that displays a list of resources, for instance
4000
- * the attachments of a message, or the various documents related
4001
- * to a meeting.
4002
- * Accepts dropping URLs onto it to add attachments to it.
3998
+ /**
3999
+ * Component that displays a list of resources, for instance
4000
+ * the attachments of a message, or the various documents related
4001
+ * to a meeting.
4002
+ * Accepts dropping URLs onto it to add attachments to it.
4003
4003
  */
4004
4004
  function attachmentList(dom, subject, div) {
4005
4005
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -4112,11 +4112,11 @@ function attachmentList(dom, subject, div) {
4112
4112
 
4113
4113
  // /////////////////////////////////////////////////////////////////////////////
4114
4114
 
4115
- /**
4116
- * Event Handler for links within solid apps.
4117
- *
4118
- * Note that native links have constraints in Firefox, they
4119
- * don't work with local files for instance (2011)
4115
+ /**
4116
+ * Event Handler for links within solid apps.
4117
+ *
4118
+ * Note that native links have constraints in Firefox, they
4119
+ * don't work with local files for instance (2011)
4120
4120
  */
4121
4121
  function openHrefInOutlineMode(e) {
4122
4122
  e.preventDefault();
@@ -4140,10 +4140,10 @@ function openHrefInOutlineMode(e) {
4140
4140
  // dom.outlineManager.GotoSubject(store.sym(uri), true, undefined, true, undefined)
4141
4141
  }
4142
4142
 
4143
- /**
4144
- * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.
4145
- *
4146
- * @@ Todo: make it a personal preference.
4143
+ /**
4144
+ * Make a URI in the Tabulator.org annotation store out of the URI of the thing to be annotated.
4145
+ *
4146
+ * @@ Todo: make it a personal preference.
4147
4147
  */
4148
4148
  function defaultAnnotationStore(subject) {
4149
4149
  if (subject.uri === undefined) return undefined;
@@ -4161,10 +4161,10 @@ function defaultAnnotationStore(subject) {
4161
4161
  return external_SolidLogic_.store.sym('http://tabulator.org/wiki/annnotation/' + s);
4162
4162
  }
4163
4163
 
4164
- /**
4165
- * Retrieve all RDF class URIs from solid-ui's RDF store
4166
- * @returns an object `ret` such that `Object.keys(ret)` is
4167
- * the list of all class URIs.
4164
+ /**
4165
+ * Retrieve all RDF class URIs from solid-ui's RDF store
4166
+ * @returns an object `ret` such that `Object.keys(ret)` is
4167
+ * the list of all class URIs.
4168
4168
  */
4169
4169
  function allClassURIs() {
4170
4170
  var set = {};
@@ -4181,16 +4181,16 @@ function allClassURIs() {
4181
4181
  return set;
4182
4182
  }
4183
4183
 
4184
- /**
4185
- * Figuring which properties we know about
4186
- *
4187
- * When the user inputs an RDF property, like for a form field
4188
- * or when specifying the relationship between two arbitrary things,
4189
- * then er can prompt them with properties the session knows about
4190
- *
4191
- * TODO: Look again by catching this somewhere. (On the kb?)
4192
- * TODO: move to diff module? Not really a button.
4193
- * @param {Store} kb The quadstore to be searched.
4184
+ /**
4185
+ * Figuring which properties we know about
4186
+ *
4187
+ * When the user inputs an RDF property, like for a form field
4188
+ * or when specifying the relationship between two arbitrary things,
4189
+ * then er can prompt them with properties the session knows about
4190
+ *
4191
+ * TODO: Look again by catching this somewhere. (On the kb?)
4192
+ * TODO: move to diff module? Not really a button.
4193
+ * @param {Store} kb The quadstore to be searched.
4194
4194
  */
4195
4195
 
4196
4196
  function propertyTriage(kb) {
@@ -4228,12 +4228,12 @@ function propertyTriage(kb) {
4228
4228
  return possibleProperties;
4229
4229
  }
4230
4230
 
4231
- /**
4232
- * General purpose widgets
4231
+ /**
4232
+ * General purpose widgets
4233
4233
  */
4234
4234
 
4235
- /**
4236
- * A button for jumping
4235
+ /**
4236
+ * A button for jumping
4237
4237
  */
4238
4238
  function linkButton(dom, object) {
4239
4239
  var b = dom.createElement('button');
@@ -4248,8 +4248,8 @@ function linkButton(dom, object) {
4248
4248
  return b;
4249
4249
  }
4250
4250
 
4251
- /**
4252
- * A button to remove some other element from the page
4251
+ /**
4252
+ * A button to remove some other element from the page
4253
4253
  */
4254
4254
  function removeButton(dom, element) {
4255
4255
  var b = dom.createElement('button');
@@ -4279,17 +4279,17 @@ function removeButton(dom, element) {
4279
4279
  //
4280
4280
  // These are for selecting different modes, sources,styles, etc.
4281
4281
  //
4282
- /*
4283
- buttons.headerButtons = function (dom, kb, name, words) {
4284
- const box = dom.createElement('table')
4285
- var i, word, s = '<tr>'
4286
- box.setAttribute('style', 'width: 90%; height: 1.5em')
4287
- for (i=0; i<words.length; i++) {
4288
- s += '<td><input type="radio" name="' + name + '" id="' + words[i] + '" value='
4289
- }
4290
- box.innerHTML = s + '</tr>'
4291
-
4292
- }
4282
+ /*
4283
+ buttons.headerButtons = function (dom, kb, name, words) {
4284
+ const box = dom.createElement('table')
4285
+ var i, word, s = '<tr>'
4286
+ box.setAttribute('style', 'width: 90%; height: 1.5em')
4287
+ for (i=0; i<words.length; i++) {
4288
+ s += '<td><input type="radio" name="' + name + '" id="' + words[i] + '" value='
4289
+ }
4290
+ box.innerHTML = s + '</tr>'
4291
+
4292
+ }
4293
4293
  */
4294
4294
  // ////////////////////////////////////////////////////////////
4295
4295
  //
@@ -4379,9 +4379,9 @@ function twoLineDefault(dom, x) {
4379
4379
  return box;
4380
4380
  }
4381
4381
 
4382
- /**
4383
- * Find a function that can create a widget for a given class
4384
- * @param c The RDF class for which we want a widget generator function
4382
+ /**
4383
+ * Find a function that can create a widget for a given class
4384
+ * @param c The RDF class for which we want a widget generator function
4385
4385
  */
4386
4386
  function twoLineWidgetForClass(c) {
4387
4387
  var widget = index.twoLine[c.uri];
@@ -4395,12 +4395,12 @@ function twoLineWidgetForClass(c) {
4395
4395
  return index.twoLine[''];
4396
4396
  }
4397
4397
 
4398
- /**
4399
- * Display a transaction
4400
- * @param x Should have attributes through triples in store:
4401
- * * ns.qu('payee') -> a named node
4402
- * * ns.qu('date) -> a literal
4403
- * * ns.qu('amount') -> a literal
4398
+ /**
4399
+ * Display a transaction
4400
+ * @param x Should have attributes through triples in store:
4401
+ * * ns.qu('payee') -> a named node
4402
+ * * ns.qu('date) -> a literal
4403
+ * * ns.qu('amount') -> a literal
4404
4404
  */
4405
4405
  function twoLineTransaction(dom, x) {
4406
4406
  var failed = '';
@@ -4417,12 +4417,12 @@ function twoLineTransaction(dom, x) {
4417
4417
  return box;
4418
4418
  }
4419
4419
 
4420
- /**
4421
- * Display a trip
4422
- * @param x Should have attributes through triples in store:
4423
- * * ns.dc('title') -> a literal
4424
- * * ns.cal('dtstart') -> a literal
4425
- * * ns.cal('dtend') -> a literal
4420
+ /**
4421
+ * Display a trip
4422
+ * @param x Should have attributes through triples in store:
4423
+ * * ns.dc('title') -> a literal
4424
+ * * ns.cal('dtstart') -> a literal
4425
+ * * ns.cal('dtend') -> a literal
4426
4426
  */
4427
4427
  function twoLineTrip(dom, x) {
4428
4428
  var enc = function enc(p) {
@@ -4434,8 +4434,8 @@ function twoLineTrip(dom, x) {
4434
4434
  return box;
4435
4435
  }
4436
4436
 
4437
- /**
4438
- * Stick a stylesheet link the document if not already there
4437
+ /**
4438
+ * Stick a stylesheet link the document if not already there
4439
4439
  */
4440
4440
  function addStyleSheet(dom, href) {
4441
4441
  var links = dom.querySelectorAll('link');
@@ -4459,8 +4459,8 @@ function isAudio(file) {
4459
4459
  function isVideo(file) {
4460
4460
  return isImage(file, 'video');
4461
4461
  }
4462
- /**
4463
- *
4462
+ /**
4463
+ *
4464
4464
  */
4465
4465
  function isImage(file, kind) {
4466
4466
  var dcCLasses = {
@@ -4482,12 +4482,12 @@ function isImage(file, kind) {
4482
4482
  return false;
4483
4483
  }
4484
4484
 
4485
- /**
4486
- * File upload button
4487
- * @param dom The DOM aka document
4488
- * @param droppedFileHandler Same handler function as drop, takes array of file objects
4489
- * @returns {Element} - a div with a button and a inout in it
4490
- * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.
4485
+ /**
4486
+ * File upload button
4487
+ * @param dom The DOM aka document
4488
+ * @param droppedFileHandler Same handler function as drop, takes array of file objects
4489
+ * @returns {Element} - a div with a button and a inout in it
4490
+ * The input is hidden, as it is uglky - the user clicks on the nice icons and fires the input.
4491
4491
  */
4492
4492
  // See https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications
4493
4493
  function fileUploadButtonDiv(dom, droppedFileHandler) {
@@ -22766,6 +22766,337 @@ function getPreferencesForClass(subject, theClass, predicates, context) {
22766
22766
  }
22767
22767
 
22768
22768
  // ends
22769
+ ;// ./src/themeLoader.js
22770
+
22771
+
22772
+
22773
+ function themeLoader_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = themeLoader_unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
22774
+ function themeLoader_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return themeLoader_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? themeLoader_arrayLikeToArray(r, a) : void 0; } }
22775
+ function themeLoader_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22776
+
22777
+ /**
22778
+ * Theme Loader for Solid-UI
22779
+ * Handles dynamic theme loading and switching
22780
+ */
22781
+
22782
+ var STORAGE_KEY = 'solid-ui-theme';
22783
+ var DEFAULT_THEME = 'classic';
22784
+ var ThemeLoader = /*#__PURE__*/function () {
22785
+ function ThemeLoader() {
22786
+ classCallCheck_classCallCheck(this, ThemeLoader);
22787
+ this.themes = {
22788
+ classic: 'theme-classic.css',
22789
+ "default": 'theme-default.css',
22790
+ wave: 'theme-wave.css',
22791
+ telegram: 'theme-telegram.css',
22792
+ signal: 'theme-signal.css'
22793
+ };
22794
+ this.currentTheme = this.getSavedTheme();
22795
+ this.linkElements = {};
22796
+ this.initialized = false;
22797
+ }
22798
+
22799
+ /**
22800
+ * Initialize the theme system
22801
+ * Loads foundation CSS and current theme
22802
+ */
22803
+ return createClass_createClass(ThemeLoader, [{
22804
+ key: "init",
22805
+ value: (function () {
22806
+ var _init = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee() {
22807
+ var _t;
22808
+ return regenerator_default().wrap(function (_context) {
22809
+ while (1) switch (_context.prev = _context.next) {
22810
+ case 0:
22811
+ if (!this.initialized) {
22812
+ _context.next = 1;
22813
+ break;
22814
+ }
22815
+ return _context.abrupt("return");
22816
+ case 1:
22817
+ _context.prev = 1;
22818
+ _context.next = 2;
22819
+ return this.loadFoundation();
22820
+ case 2:
22821
+ _context.next = 3;
22822
+ return this.loadTheme(this.currentTheme);
22823
+ case 3:
22824
+ this.initialized = true;
22825
+ _context.next = 5;
22826
+ break;
22827
+ case 4:
22828
+ _context.prev = 4;
22829
+ _t = _context["catch"](1);
22830
+ // eslint-disable-next-line no-console
22831
+ console.error('Failed to initialize theme system:', _t);
22832
+ // Continue without themes - use inline styles as fallback
22833
+ case 5:
22834
+ case "end":
22835
+ return _context.stop();
22836
+ }
22837
+ }, _callee, this, [[1, 4]]);
22838
+ }));
22839
+ function init() {
22840
+ return _init.apply(this, arguments);
22841
+ }
22842
+ return init;
22843
+ }()
22844
+ /**
22845
+ * Load foundation CSS (variables + accessibility)
22846
+ */
22847
+ )
22848
+ }, {
22849
+ key: "loadFoundation",
22850
+ value: (function () {
22851
+ var _loadFoundation = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee2() {
22852
+ var variablesLink, a11yLink;
22853
+ return regenerator_default().wrap(function (_context2) {
22854
+ while (1) switch (_context2.prev = _context2.next) {
22855
+ case 0:
22856
+ // Variables
22857
+ variablesLink = this.createLinkElement('solid-ui-variables', 'theme-variables.css');
22858
+ document.head.insertBefore(variablesLink, document.head.firstChild);
22859
+ this.linkElements.variables = variablesLink;
22860
+
22861
+ // Accessibility
22862
+ a11yLink = this.createLinkElement('solid-ui-accessibility', 'theme-accessibility.css');
22863
+ document.head.insertBefore(a11yLink, document.head.firstChild);
22864
+ this.linkElements.accessibility = a11yLink;
22865
+
22866
+ // Wait for CSS to load
22867
+ _context2.next = 1;
22868
+ return Promise.all([this.waitForStylesheet(variablesLink), this.waitForStylesheet(a11yLink)]);
22869
+ case 1:
22870
+ case "end":
22871
+ return _context2.stop();
22872
+ }
22873
+ }, _callee2, this);
22874
+ }));
22875
+ function loadFoundation() {
22876
+ return _loadFoundation.apply(this, arguments);
22877
+ }
22878
+ return loadFoundation;
22879
+ }()
22880
+ /**
22881
+ * Load a theme by name
22882
+ * @param {string} themeName - Name of theme to load
22883
+ */
22884
+ )
22885
+ }, {
22886
+ key: "loadTheme",
22887
+ value: (function () {
22888
+ var _loadTheme = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee3(themeName) {
22889
+ var themeFile, themeLink, _t2;
22890
+ return regenerator_default().wrap(function (_context3) {
22891
+ while (1) switch (_context3.prev = _context3.next) {
22892
+ case 0:
22893
+ themeFile = this.themes[themeName] || this.themes[DEFAULT_THEME];
22894
+ _context3.prev = 1;
22895
+ // Create or update theme link
22896
+ themeLink = this.linkElements.theme;
22897
+ if (!themeLink) {
22898
+ themeLink = this.createLinkElement('solid-ui-theme', themeFile);
22899
+ document.head.appendChild(themeLink);
22900
+ this.linkElements.theme = themeLink;
22901
+ } else {
22902
+ themeLink.href = this.resolveThemePath(themeFile);
22903
+ }
22904
+
22905
+ // Wait for theme to load
22906
+ _context3.next = 2;
22907
+ return this.waitForStylesheet(themeLink);
22908
+ case 2:
22909
+ // Update state
22910
+ this.currentTheme = themeName;
22911
+ this.saveTheme(themeName);
22912
+
22913
+ // Emit event for listeners
22914
+ this.emitThemeChange(themeName);
22915
+ _context3.next = 4;
22916
+ break;
22917
+ case 3:
22918
+ _context3.prev = 3;
22919
+ _t2 = _context3["catch"](1);
22920
+ // eslint-disable-next-line no-console
22921
+ console.error("Failed to load theme \"".concat(themeName, "\":"), _t2);
22922
+ throw _t2;
22923
+ case 4:
22924
+ case "end":
22925
+ return _context3.stop();
22926
+ }
22927
+ }, _callee3, this, [[1, 3]]);
22928
+ }));
22929
+ function loadTheme(_x) {
22930
+ return _loadTheme.apply(this, arguments);
22931
+ }
22932
+ return loadTheme;
22933
+ }()
22934
+ /**
22935
+ * Get list of available themes
22936
+ * @returns {Array<{name: string, label: string}>}
22937
+ */
22938
+ )
22939
+ }, {
22940
+ key: "getAvailableThemes",
22941
+ value: function getAvailableThemes() {
22942
+ var _this = this;
22943
+ return Object.keys(this.themes).map(function (name) {
22944
+ return {
22945
+ name: name,
22946
+ label: _this.formatThemeName(name)
22947
+ };
22948
+ });
22949
+ }
22950
+
22951
+ /**
22952
+ * Get currently active theme
22953
+ * @returns {string}
22954
+ */
22955
+ }, {
22956
+ key: "getCurrentTheme",
22957
+ value: function getCurrentTheme() {
22958
+ return this.currentTheme;
22959
+ }
22960
+
22961
+ /**
22962
+ * Create a link element for CSS
22963
+ * @private
22964
+ */
22965
+ }, {
22966
+ key: "createLinkElement",
22967
+ value: function createLinkElement(id, href) {
22968
+ var link = document.createElement('link');
22969
+ link.id = id;
22970
+ link.rel = 'stylesheet';
22971
+ link.href = this.resolveThemePath(href);
22972
+ return link;
22973
+ }
22974
+
22975
+ /**
22976
+ * Resolve theme path relative to solid-ui
22977
+ * @private
22978
+ */
22979
+ }, {
22980
+ key: "resolveThemePath",
22981
+ value: function resolveThemePath(path) {
22982
+ // Use global base path if set by mashlib
22983
+ if (typeof window !== 'undefined' && window.solid && window.solid.basePath) {
22984
+ var resolvedPath = window.solid.basePath + path;
22985
+ // eslint-disable-next-line no-console
22986
+ console.log('🎨 resolveThemePath (basePath):', resolvedPath, 'from', window.solid.basePath);
22987
+ return resolvedPath;
22988
+ }
22989
+
22990
+ // Fallback: find mashlib or solid-ui base path from script tags
22991
+ var scripts = document.getElementsByTagName('script');
22992
+ var _iterator = themeLoader_createForOfIteratorHelper(scripts),
22993
+ _step;
22994
+ try {
22995
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
22996
+ var script = _step.value;
22997
+ if (script.src && (script.src.includes('mashlib') || script.src.includes('solid-ui'))) {
22998
+ var baseUrl = script.src.substring(0, script.src.lastIndexOf('/') + 1);
22999
+ var _resolvedPath = baseUrl + path;
23000
+ // eslint-disable-next-line no-console
23001
+ console.log('🎨 resolveThemePath (script tag):', _resolvedPath, 'from', script.src);
23002
+ return _resolvedPath;
23003
+ }
23004
+ }
23005
+
23006
+ // Should not reach here if mashlib initialized properly
23007
+ // eslint-disable-next-line no-console
23008
+ } catch (err) {
23009
+ _iterator.e(err);
23010
+ } finally {
23011
+ _iterator.f();
23012
+ }
23013
+ console.error('🎨 resolveThemePath failed: no basePath set and no mashlib/solid-ui script found');
23014
+ return path;
23015
+ }
23016
+
23017
+ /**
23018
+ * Wait for stylesheet to load
23019
+ * @private
23020
+ */
23021
+ }, {
23022
+ key: "waitForStylesheet",
23023
+ value: function waitForStylesheet(link) {
23024
+ return new Promise(function (resolve, reject) {
23025
+ link.onload = function () {
23026
+ return resolve();
23027
+ };
23028
+ link.onerror = function () {
23029
+ return reject(new Error("Failed to load: ".concat(link.href)));
23030
+ };
23031
+
23032
+ // Timeout after 10 seconds
23033
+ setTimeout(function () {
23034
+ return reject(new Error('Theme load timeout'));
23035
+ }, 10000);
23036
+ });
23037
+ }
23038
+
23039
+ /**
23040
+ * Get saved theme from localStorage
23041
+ * @private
23042
+ */
23043
+ }, {
23044
+ key: "getSavedTheme",
23045
+ value: function getSavedTheme() {
23046
+ try {
23047
+ return localStorage.getItem(STORAGE_KEY) || DEFAULT_THEME;
23048
+ } catch (error) {
23049
+ return DEFAULT_THEME;
23050
+ }
23051
+ }
23052
+
23053
+ /**
23054
+ * Save theme to localStorage
23055
+ * @private
23056
+ */
23057
+ }, {
23058
+ key: "saveTheme",
23059
+ value: function saveTheme(themeName) {
23060
+ try {
23061
+ localStorage.setItem(STORAGE_KEY, themeName);
23062
+ } catch (error) {
23063
+ // eslint-disable-next-line no-console
23064
+ console.warn('Failed to save theme preference:', error);
23065
+ }
23066
+ }
23067
+
23068
+ /**
23069
+ * Format theme name for display
23070
+ * @private
23071
+ */
23072
+ }, {
23073
+ key: "formatThemeName",
23074
+ value: function formatThemeName(name) {
23075
+ return name.charAt(0).toUpperCase() + name.slice(1);
23076
+ }
23077
+
23078
+ /**
23079
+ * Emit theme change event
23080
+ * @private
23081
+ */
23082
+ }, {
23083
+ key: "emitThemeChange",
23084
+ value: function emitThemeChange(themeName) {
23085
+ var event = new CustomEvent('solid-ui-theme-change', {
23086
+ detail: {
23087
+ theme: themeName
23088
+ }
23089
+ });
23090
+ window.dispatchEvent(event);
23091
+ }
23092
+ }]);
23093
+ }(); // Create singleton instance
23094
+ var themeLoader = new ThemeLoader();
23095
+
23096
+ // Note: Auto-initialization is disabled to allow mashlib to set basePath first
23097
+ // Mashlib will call themeLoader.init() after setting window.solid.basePath
23098
+
23099
+ /* harmony default export */ const src_themeLoader = ((/* unused pure expression or super */ null && (themeLoader)));
22769
23100
  ;// ./src/table.js
22770
23101
  // Table Widget: Format an array of RDF statements as an HTML table.
22771
23102
  //
@@ -25010,9 +25341,9 @@ function throttle(func, wait) {
25010
25341
 
25011
25342
 
25012
25343
  /* global EventListenerOrEventListenerObject */
25013
- /*
25014
- This file was copied from mashlib/src/global/header.ts file. It is modified to
25015
- work in solid-ui by adjusting where imported functions are found.
25344
+ /*
25345
+ This file was copied from mashlib/src/global/header.ts file. It is modified to
25346
+ work in solid-ui by adjusting where imported functions are found.
25016
25347
  */
25017
25348
 
25018
25349
 
@@ -25024,42 +25355,42 @@ function throttle(func, wait) {
25024
25355
 
25025
25356
 
25026
25357
 
25027
- /**
25028
- * menu icons
25358
+ /**
25359
+ * menu icons
25029
25360
  */
25030
25361
  var DEFAULT_HELP_MENU_ICON = iconBase/* icons */.Pt.iconBase + 'noun_help.svg';
25031
25362
  var DEFAUL_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg';
25032
25363
 
25033
- /*
25034
- HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
25035
- is solid. Menulist will always show a link to logout and to the users profile.
25364
+ /*
25365
+ HeaderOptions allow for customizing the logo and menu list. If a logo is not provided the default
25366
+ is solid. Menulist will always show a link to logout and to the users profile.
25036
25367
  */
25037
25368
 
25038
- /**
25039
- * Initialize header component, the header object returned depends on whether the user is authenticated.
25040
- * @param store the data store
25041
- * @param userMenuList a list of menu items when the user is logged in
25042
- * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.
25043
- * @returns a header for an authenticated user with menu items given or a login screen
25369
+ /**
25370
+ * Initialize header component, the header object returned depends on whether the user is authenticated.
25371
+ * @param store the data store
25372
+ * @param userMenuList a list of menu items when the user is logged in
25373
+ * @param options allow the header to be customized with a personalized logo, help icon and a help menu list of links or buttons.
25374
+ * @returns a header for an authenticated user with menu items given or a login screen
25044
25375
  */
25045
25376
  function initHeader(_x, _x2, _x3) {
25046
25377
  return _initHeader.apply(this, arguments);
25047
25378
  }
25048
- /**
25049
- * @ignore exporting this only for the unit test
25379
+ /**
25380
+ * @ignore exporting this only for the unit test
25050
25381
  */
25051
25382
  function _initHeader() {
25052
- _initHeader = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee2(store, userMenuList, options) {
25383
+ _initHeader = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee3(store, userMenuList, options) {
25053
25384
  var header, pod;
25054
- return regenerator_default().wrap(function (_context2) {
25055
- while (1) switch (_context2.prev = _context2.next) {
25385
+ return regenerator_default().wrap(function (_context3) {
25386
+ while (1) switch (_context3.prev = _context3.next) {
25056
25387
  case 0:
25057
25388
  header = document.getElementById('PageHeader');
25058
25389
  if (header) {
25059
- _context2.next = 1;
25390
+ _context3.next = 1;
25060
25391
  break;
25061
25392
  }
25062
- return _context2.abrupt("return");
25393
+ return _context3.abrupt("return");
25063
25394
  case 1:
25064
25395
  pod = getPod();
25065
25396
  rebuildHeader(header, store, pod, userMenuList, options)();
@@ -25067,9 +25398,9 @@ function _initHeader() {
25067
25398
  external_SolidLogic_.authSession.events.on('login', rebuildHeader(header, store, pod, userMenuList, options));
25068
25399
  case 2:
25069
25400
  case "end":
25070
- return _context2.stop();
25401
+ return _context3.stop();
25071
25402
  }
25072
- }, _callee2);
25403
+ }, _callee3);
25073
25404
  }));
25074
25405
  return _initHeader.apply(this, arguments);
25075
25406
  }
@@ -25093,20 +25424,20 @@ function rebuildHeader(header, store, pod, userMenuList, options) {
25093
25424
  }, _callee);
25094
25425
  }));
25095
25426
  }
25096
- /**
25097
- * @ignore exporting this only for the unit test
25427
+ /**
25428
+ * @ignore exporting this only for the unit test
25098
25429
  */
25099
25430
  function createBanner(_x4, _x5, _x6, _x7, _x8) {
25100
25431
  return _createBanner.apply(this, arguments);
25101
25432
  }
25102
- /**
25103
- * @ignore exporting this only for the unit test
25433
+ /**
25434
+ * @ignore exporting this only for the unit test
25104
25435
  */
25105
25436
  function _createBanner() {
25106
- _createBanner = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee3(store, pod, user, userMenuList, options) {
25107
- var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu, _t2;
25108
- return regenerator_default().wrap(function (_context3) {
25109
- while (1) switch (_context3.prev = _context3.next) {
25437
+ _createBanner = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee4(store, pod, user, userMenuList, options) {
25438
+ var podLink, image, userMenu, banner, leftSideOfHeader, helpMenu, _t3;
25439
+ return regenerator_default().wrap(function (_context4) {
25440
+ while (1) switch (_context4.prev = _context4.next) {
25110
25441
  case 0:
25111
25442
  podLink = document.createElement('a');
25112
25443
  podLink.href = pod.uri;
@@ -25118,19 +25449,19 @@ function _createBanner() {
25118
25449
  image.setAttribute('style', style.headerBannerIcon);
25119
25450
  podLink.appendChild(image);
25120
25451
  if (!user) {
25121
- _context3.next = 2;
25452
+ _context4.next = 2;
25122
25453
  break;
25123
25454
  }
25124
- _context3.next = 1;
25455
+ _context4.next = 1;
25125
25456
  return createUserMenu(store, user, userMenuList);
25126
25457
  case 1:
25127
- _t2 = _context3.sent;
25128
- _context3.next = 3;
25458
+ _t3 = _context4.sent;
25459
+ _context4.next = 3;
25129
25460
  break;
25130
25461
  case 2:
25131
- _t2 = createLoginSignUpButtons();
25462
+ _t3 = createLoginSignUpButtons();
25132
25463
  case 3:
25133
- userMenu = _t2;
25464
+ userMenu = _t3;
25134
25465
  banner = document.createElement('div');
25135
25466
  banner.setAttribute('style', style.headerBanner);
25136
25467
  banner.appendChild(podLink);
@@ -25142,12 +25473,12 @@ function _createBanner() {
25142
25473
  leftSideOfHeader.appendChild(helpMenu);
25143
25474
  }
25144
25475
  banner.appendChild(leftSideOfHeader);
25145
- return _context3.abrupt("return", banner);
25476
+ return _context4.abrupt("return", banner);
25146
25477
  case 4:
25147
25478
  case "end":
25148
- return _context3.stop();
25479
+ return _context4.stop();
25149
25480
  }
25150
- }, _callee3);
25481
+ }, _callee4);
25151
25482
  }));
25152
25483
  return _createBanner.apply(this, arguments);
25153
25484
  }
@@ -25155,6 +25486,88 @@ function createHelpMenu(options, helpMenuItems) {
25155
25486
  if (!helpMenuItems) return;
25156
25487
  var helpMenuList = document.createElement('ul');
25157
25488
  helpMenuList.setAttribute('style', style.headerUserMenuList);
25489
+
25490
+ // Add theme selector submenu at the top
25491
+ try {
25492
+ var _UI, _UI2;
25493
+ var themeLoader = ((_UI = globalThis.UI) === null || _UI === void 0 ? void 0 : _UI.themeLoader) || ((_UI2 = window.UI) === null || _UI2 === void 0 ? void 0 : _UI2.themeLoader);
25494
+ if (themeLoader) {
25495
+ // Add theme label
25496
+ var themeLabel = document.createElement('li');
25497
+ themeLabel.setAttribute('style', style.headerUserMenuItem + ' font-weight: bold; padding: 0.5em 1em; color: #666; font-size: 0.9em;');
25498
+ themeLabel.textContent = '🎨 Themes';
25499
+ helpMenuList.appendChild(themeLabel);
25500
+
25501
+ // Add theme options
25502
+ var themes = [{
25503
+ name: 'classic',
25504
+ label: '📘 Classic',
25505
+ icon: '📘'
25506
+ }, {
25507
+ name: 'default',
25508
+ label: '💜 Default',
25509
+ icon: '💜'
25510
+ }, {
25511
+ name: 'wave',
25512
+ label: '💚 Wave',
25513
+ icon: '💚'
25514
+ }, {
25515
+ name: 'telegram',
25516
+ label: '💙 Telegram',
25517
+ icon: '💙'
25518
+ }, {
25519
+ name: 'signal',
25520
+ label: '🔵 Signal',
25521
+ icon: '🔵'
25522
+ }];
25523
+ var currentTheme = themeLoader.getCurrentTheme();
25524
+ themes.forEach(function (theme) {
25525
+ var themeButton = createUserMenuButton(theme.label + (theme.name === currentTheme ? ' ✓' : ''), /*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee2() {
25526
+ var _t2;
25527
+ return regenerator_default().wrap(function (_context2) {
25528
+ while (1) switch (_context2.prev = _context2.next) {
25529
+ case 0:
25530
+ _context2.prev = 0;
25531
+ _context2.next = 1;
25532
+ return themeLoader.loadTheme(theme.name);
25533
+ case 1:
25534
+ console.log("Theme switched to: ".concat(theme.label));
25535
+ // Update checkmarks in all theme buttons
25536
+ setTimeout(function () {
25537
+ var newCurrentTheme = themeLoader.getCurrentTheme();
25538
+ helpMenuList.querySelectorAll('button').forEach(function (btn, idx) {
25539
+ // Theme buttons are first 5 buttons (after the label)
25540
+ if (idx < themes.length) {
25541
+ var themeInfo = themes[idx];
25542
+ btn.textContent = themeInfo.label + (themeInfo.name === newCurrentTheme ? ' ✓' : '');
25543
+ }
25544
+ });
25545
+ }, 100);
25546
+ _context2.next = 3;
25547
+ break;
25548
+ case 2:
25549
+ _context2.prev = 2;
25550
+ _t2 = _context2["catch"](0);
25551
+ console.error('Failed to switch theme:', _t2);
25552
+ case 3:
25553
+ case "end":
25554
+ return _context2.stop();
25555
+ }
25556
+ }, _callee2, null, [[0, 2]]);
25557
+ })));
25558
+ helpMenuList.appendChild(createUserMenuItem(themeButton));
25559
+ });
25560
+
25561
+ // Add separator
25562
+ var separator = document.createElement('li');
25563
+ separator.setAttribute('style', 'border-top: 1px solid #ddd; margin: 0.5em 0;');
25564
+ helpMenuList.appendChild(separator);
25565
+ }
25566
+ } catch (error) {
25567
+ console.warn('Theme loader not available', error);
25568
+ }
25569
+
25570
+ // Add regular help menu items
25158
25571
  helpMenuItems.forEach(function (menuItem) {
25159
25572
  var menuItemType = menuItem.url ? 'url' : 'onclick';
25160
25573
  if (menuItemType === 'url') {
@@ -25201,8 +25614,8 @@ function createHelpMenu(options, helpMenuItems) {
25201
25614
  });
25202
25615
  return helpMenuContainer;
25203
25616
  }
25204
- /**
25205
- * @ignore exporting this only for the unit test
25617
+ /**
25618
+ * @ignore exporting this only for the unit test
25206
25619
  */
25207
25620
  function createLoginSignUpButtons() {
25208
25621
  var profileLoginButtonPre = document.createElement('div');
@@ -25210,8 +25623,8 @@ function createLoginSignUpButtons() {
25210
25623
  profileLoginButtonPre.appendChild(loginStatusBox(document, null, {}));
25211
25624
  return profileLoginButtonPre;
25212
25625
  }
25213
- /**
25214
- * @ignore exporting this only for the unit test
25626
+ /**
25627
+ * @ignore exporting this only for the unit test
25215
25628
  */
25216
25629
  function createUserMenuButton(label, onClick) {
25217
25630
  var button = document.createElement('button');
@@ -25226,8 +25639,8 @@ function createUserMenuButton(label, onClick) {
25226
25639
  button.innerText = label;
25227
25640
  return button;
25228
25641
  }
25229
- /**
25230
- * @ignore exporting this only for the unit test
25642
+ /**
25643
+ * @ignore exporting this only for the unit test
25231
25644
  */
25232
25645
  function createUserMenuLink(label, href, target) {
25233
25646
  var link = document.createElement('a');
@@ -25244,28 +25657,28 @@ function createUserMenuLink(label, href, target) {
25244
25657
  return link;
25245
25658
  }
25246
25659
 
25247
- /**
25248
- * @ignore exporting this only for the unit test
25660
+ /**
25661
+ * @ignore exporting this only for the unit test
25249
25662
  */
25250
25663
  function createUserMenu(_x9, _x0, _x1) {
25251
25664
  return _createUserMenu.apply(this, arguments);
25252
25665
  }
25253
25666
 
25254
- /**
25255
- * @ignore exporting this only for the unit test
25667
+ /**
25668
+ * @ignore exporting this only for the unit test
25256
25669
  */
25257
25670
  function _createUserMenu() {
25258
- _createUserMenu = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee4(store, user, userMenuList) {
25671
+ _createUserMenu = asyncToGenerator_asyncToGenerator(/*#__PURE__*/regenerator_default().mark(function _callee5(store, user, userMenuList) {
25259
25672
  var fetcher, loggedInMenuList, loggedInMenu, loggedInMenuTrigger, profileImg, loggedInMenuContainer, throttledMenuToggle, timer;
25260
- return regenerator_default().wrap(function (_context4) {
25261
- while (1) switch (_context4.prev = _context4.next) {
25673
+ return regenerator_default().wrap(function (_context5) {
25674
+ while (1) switch (_context5.prev = _context5.next) {
25262
25675
  case 0:
25263
25676
  fetcher = store.fetcher;
25264
25677
  if (!fetcher) {
25265
- _context4.next = 1;
25678
+ _context5.next = 1;
25266
25679
  break;
25267
25680
  }
25268
- _context4.next = 1;
25681
+ _context5.next = 1;
25269
25682
  return fetcher.load(user);
25270
25683
  case 1:
25271
25684
  loggedInMenuList = document.createElement('ul');
@@ -25318,12 +25731,12 @@ function _createUserMenu() {
25318
25731
  var nav = document.getElementById('loggedInNav');
25319
25732
  nav === null || nav === void 0 || nav.setAttribute('style', style.headerUserMenuNavigationMenuNotDisplayed);
25320
25733
  });
25321
- return _context4.abrupt("return", loggedInMenuContainer);
25734
+ return _context5.abrupt("return", loggedInMenuContainer);
25322
25735
  case 2:
25323
25736
  case "end":
25324
- return _context4.stop();
25737
+ return _context5.stop();
25325
25738
  }
25326
- }, _callee4);
25739
+ }, _callee5);
25327
25740
  }));
25328
25741
  return _createUserMenu.apply(this, arguments);
25329
25742
  }
@@ -25333,8 +25746,8 @@ function createUserMenuItem(child) {
25333
25746
  menuProfileItem.appendChild(child);
25334
25747
  return menuProfileItem;
25335
25748
  }
25336
- /**
25337
- * @ignore exporting this only for the unit test
25749
+ /**
25750
+ * @ignore exporting this only for the unit test
25338
25751
  */
25339
25752
  function getProfileImg(store, user) {
25340
25753
  var profileUrl = null;
@@ -25352,8 +25765,8 @@ function getProfileImg(store, user) {
25352
25765
  return profileImage;
25353
25766
  }
25354
25767
 
25355
- /**
25356
- * @internal
25768
+ /**
25769
+ * @internal
25357
25770
  */
25358
25771
  function toggleMenu(event, trigger, menu) {
25359
25772
  var isExpanded = trigger.getAttribute('aria-expanded') === 'true';
@@ -25481,43 +25894,43 @@ function createControllerInfoBlock(store, user, pod, podOwner, options) {
25481
25894
  ;// ./src/create/types.ts
25482
25895
 
25483
25896
  ;// ./src/index.ts
25484
- /*
25485
- The MIT License (MIT)
25486
-
25487
- Copyright (c) 2015-2016 Solid
25488
-
25489
- Permission is hereby granted, free of charge, to any person obtaining a copy
25490
- of this software and associated documentation files (the "Software"), to deal
25491
- in the Software without restriction, including without limitation the rights
25492
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25493
- copies of the Software, and to permit persons to whom the Software is
25494
- furnished to do so, subject to the following conditions:
25495
-
25496
- The above copyright notice and this permission notice shall be included in all
25497
- copies or substantial portions of the Software.
25498
-
25499
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25500
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25501
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25502
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25503
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25504
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25505
- SOFTWARE.
25506
-
25507
- If you would like to know more about the solid Solid project, please see
25508
- https://github.com/solidos/solid
25897
+ /*
25898
+ The MIT License (MIT)
25899
+
25900
+ Copyright (c) 2015-2016 Solid
25901
+
25902
+ Permission is hereby granted, free of charge, to any person obtaining a copy
25903
+ of this software and associated documentation files (the "Software"), to deal
25904
+ in the Software without restriction, including without limitation the rights
25905
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25906
+ copies of the Software, and to permit persons to whom the Software is
25907
+ furnished to do so, subject to the following conditions:
25908
+
25909
+ The above copyright notice and this permission notice shall be included in all
25910
+ copies or substantial portions of the Software.
25911
+
25912
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25913
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25914
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25915
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25916
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25917
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25918
+ SOFTWARE.
25919
+
25920
+ If you would like to know more about the solid Solid project, please see
25921
+ https://github.com/solidos/solid
25509
25922
  */
25510
25923
 
25511
25924
 
25512
- /**
25513
- * Provides a Solid client helper object (which exposes various static modules).
25514
- * @module UI.js
25515
- * @main UI.js
25925
+ /**
25926
+ * Provides a Solid client helper object (which exposes various static modules).
25927
+ * @module UI.js
25928
+ * @main UI.js
25516
25929
  */
25517
25930
 
25518
- /**
25519
- * @class UI
25520
- * @static
25931
+ /**
25932
+ * @class UI
25933
+ * @static
25521
25934
  */
25522
25935
 
25523
25936
  // REMOVE @ts-ignore as you migrate files to TypeScript
@@ -25545,6 +25958,8 @@ https://github.com/solidos/solid
25545
25958
 
25546
25959
  // @ts-ignore
25547
25960
 
25961
+ // @ts-ignore
25962
+
25548
25963
 
25549
25964
  // @ts-ignore
25550
25965
 
@@ -25576,6 +25991,7 @@ if (typeof window !== 'undefined') {
25576
25991
  participation: participation_namespaceObject,
25577
25992
  preferences: preferences_namespaceObject,
25578
25993
  style: style,
25994
+ themeLoader: themeLoader,
25579
25995
  table: renderTableViewPane,
25580
25996
  tabs: tabs_namespaceObject,
25581
25997
  utils: utils_namespaceObject,