@hot-updater/console 0.28.0 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/.output/nitro.json +17 -0
  2. package/.output/public/apple-touch-icon.png +0 -0
  3. package/.output/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  4. package/.output/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  5. package/.output/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  6. package/.output/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  7. package/.output/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  8. package/.output/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  9. package/.output/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  10. package/.output/public/assets/main-Dlx8-qN-.js +61 -0
  11. package/.output/public/assets/routes-DB0tWmiJ.js +10 -0
  12. package/.output/public/assets/styles-Bfxg4M1x.css +2 -0
  13. package/.output/public/favicon-16x16.png +0 -0
  14. package/.output/public/favicon-32x32.png +0 -0
  15. package/.output/public/favicon.ico +0 -0
  16. package/.output/public/logo.svg +1 -0
  17. package/.output/public/manifest.json +30 -0
  18. package/.output/public/robots.txt +3 -0
  19. package/.output/server/_chunks/ssr-renderer.mjs +15 -0
  20. package/.output/server/_libs/@floating-ui/core+[...].mjs +698 -0
  21. package/.output/server/_libs/@floating-ui/dom+[...].mjs +644 -0
  22. package/.output/server/_libs/@floating-ui/react-dom+[...].mjs +839 -0
  23. package/.output/server/_libs/@radix-ui/react-alert-dialog+[...].mjs +2093 -0
  24. package/.output/server/_libs/@radix-ui/react-popper+[...].mjs +287 -0
  25. package/.output/server/_libs/@radix-ui/react-select+[...].mjs +1003 -0
  26. package/.output/server/_libs/@tanstack/devtools-event-client+[...].mjs +196 -0
  27. package/.output/server/_libs/@tanstack/form-core+[...].mjs +2396 -0
  28. package/.output/server/_libs/@tanstack/react-form+[...].mjs +298 -0
  29. package/.output/server/_libs/@tanstack/react-router+[...].mjs +13068 -0
  30. package/.output/server/_libs/@tanstack/react-table+[...].mjs +2372 -0
  31. package/.output/server/_libs/chownr.mjs +60 -0
  32. package/.output/server/_libs/class-variance-authority+clsx.mjs +69 -0
  33. package/.output/server/_libs/core-util-is.mjs +67 -0
  34. package/.output/server/_libs/dayjs.mjs +408 -0
  35. package/.output/server/_libs/h3+rou3+srvx.mjs +1158 -0
  36. package/.output/server/_libs/hookable.mjs +41 -0
  37. package/.output/server/_libs/immediate.mjs +57 -0
  38. package/.output/server/_libs/inherits.mjs +39 -0
  39. package/.output/server/_libs/isaacs__fs-minipass+minipass.mjs +1120 -0
  40. package/.output/server/_libs/isarray.mjs +10 -0
  41. package/.output/server/_libs/jszip+[...].mjs +8311 -0
  42. package/.output/server/_libs/lucide-react.mjs +371 -0
  43. package/.output/server/_libs/minizlib.mjs +345 -0
  44. package/.output/server/_libs/next-themes.mjs +49 -0
  45. package/.output/server/_libs/radix-ui__number.mjs +6 -0
  46. package/.output/server/_libs/radix-ui__primitive.mjs +9 -0
  47. package/.output/server/_libs/radix-ui__react-arrow.mjs +23 -0
  48. package/.output/server/_libs/radix-ui__react-collection.mjs +78 -0
  49. package/.output/server/_libs/radix-ui__react-direction.mjs +11 -0
  50. package/.output/server/_libs/radix-ui__react-label.mjs +22 -0
  51. package/.output/server/_libs/radix-ui__react-separator.mjs +31 -0
  52. package/.output/server/_libs/radix-ui__react-slider.mjs +451 -0
  53. package/.output/server/_libs/radix-ui__react-switch.mjs +118 -0
  54. package/.output/server/_libs/radix-ui__react-tooltip.mjs +491 -0
  55. package/.output/server/_libs/semver.mjs +1339 -0
  56. package/.output/server/_libs/sonner.mjs +908 -0
  57. package/.output/server/_libs/tailwind-merge.mjs +1962 -0
  58. package/.output/server/_libs/tanstack__history.mjs +322 -0
  59. package/.output/server/_libs/tanstack__query-core.mjs +2073 -0
  60. package/.output/server/_libs/tanstack__react-query.mjs +146 -0
  61. package/.output/server/_libs/tanstack__router-core.mjs +6 -0
  62. package/.output/server/_libs/tar.mjs +1996 -0
  63. package/.output/server/_libs/ufo.mjs +64 -0
  64. package/.output/server/_runtime.mjs +26 -0
  65. package/.output/server/_ssr/api-rpc-D3ZehMIN.mjs +217 -0
  66. package/.output/server/_ssr/config.server-JUYQ7UbI.mjs +26 -0
  67. package/.output/server/_ssr/deleteBundle-DWUxu9-K.mjs +22 -0
  68. package/.output/server/_ssr/extract-timestamp-from-uuidv7-B90UBADU.mjs +24 -0
  69. package/.output/server/_ssr/promoteBundle-DtMHuubR.mjs +1571 -0
  70. package/.output/server/_ssr/router-pgc7NX76.mjs +250 -0
  71. package/.output/server/_ssr/routes-PqTTQSoI.mjs +1833 -0
  72. package/.output/server/_ssr/sidebar-DXng0IOP.mjs +439 -0
  73. package/.output/server/_ssr/ssr.mjs +5050 -0
  74. package/.output/server/_ssr/start-DQK0r85G.mjs +4 -0
  75. package/.output/server/_tanstack-start-manifest_v-DTbQVOpU.mjs +17 -0
  76. package/.output/server/index.mjs +417 -0
  77. package/.output/server/node_modules/tslib/modules/index.js +70 -0
  78. package/.output/server/node_modules/tslib/modules/package.json +3 -0
  79. package/.output/server/node_modules/tslib/package.json +47 -0
  80. package/.output/server/node_modules/tslib/tslib.js +484 -0
  81. package/.output/server/package.json +9 -0
  82. package/README.md +191 -2
  83. package/package.json +77 -50
  84. package/dist/.gitkeep +0 -0
  85. package/dist/assets/favicon-BkwcEHsj.ico +0 -0
  86. package/dist/assets/index-DUlKsori.css +0 -1
  87. package/dist/assets/index-ijmIcyn1.js +0 -27
  88. package/dist/assets/logo-BYNFyja1.png +0 -0
  89. package/dist/index.cjs +0 -2129
  90. package/dist/index.d.cts +0 -218
  91. package/dist/index.d.ts +0 -218
  92. package/dist/index.html +0 -14
  93. package/dist/index.js +0 -2125
@@ -0,0 +1,1571 @@
1
+ import { r as __toESM } from "../_runtime.mjs";
2
+ import { t as createUUIDv7 } from "./extract-timestamp-from-uuidv7-B90UBADU.mjs";
3
+ import { t as require_lib } from "../_libs/jszip+[...].mjs";
4
+ import { t as extract } from "../_libs/tar.mjs";
5
+ import crypto from "node:crypto";
6
+ import path from "node:path";
7
+ import { createTarBrTargetFiles, createTarGzTargetFiles, createZipTargetFiles } from "@hot-updater/cli-tools";
8
+ import fs from "node:fs/promises";
9
+ import os from "node:os";
10
+ import { brotliDecompressSync } from "node:zlib";
11
+ //#region node_modules/.nitro/vite/services/ssr/assets/promoteBundle-DtMHuubR.js
12
+ var import_lib = /* @__PURE__ */ __toESM(require_lib());
13
+ var types$1 = {
14
+ "application/prs.cww": ["cww"],
15
+ "application/prs.xsf+xml": ["xsf"],
16
+ "application/vnd.1000minds.decision-model+xml": ["1km"],
17
+ "application/vnd.3gpp.pic-bw-large": ["plb"],
18
+ "application/vnd.3gpp.pic-bw-small": ["psb"],
19
+ "application/vnd.3gpp.pic-bw-var": ["pvb"],
20
+ "application/vnd.3gpp2.tcap": ["tcap"],
21
+ "application/vnd.3m.post-it-notes": ["pwn"],
22
+ "application/vnd.accpac.simply.aso": ["aso"],
23
+ "application/vnd.accpac.simply.imp": ["imp"],
24
+ "application/vnd.acucobol": ["acu"],
25
+ "application/vnd.acucorp": ["atc", "acutc"],
26
+ "application/vnd.adobe.air-application-installer-package+zip": ["air"],
27
+ "application/vnd.adobe.formscentral.fcdt": ["fcdt"],
28
+ "application/vnd.adobe.fxp": ["fxp", "fxpl"],
29
+ "application/vnd.adobe.xdp+xml": ["xdp"],
30
+ "application/vnd.adobe.xfdf": ["*xfdf"],
31
+ "application/vnd.age": ["age"],
32
+ "application/vnd.ahead.space": ["ahead"],
33
+ "application/vnd.airzip.filesecure.azf": ["azf"],
34
+ "application/vnd.airzip.filesecure.azs": ["azs"],
35
+ "application/vnd.amazon.ebook": ["azw"],
36
+ "application/vnd.americandynamics.acc": ["acc"],
37
+ "application/vnd.amiga.ami": ["ami"],
38
+ "application/vnd.android.package-archive": ["apk"],
39
+ "application/vnd.anser-web-certificate-issue-initiation": ["cii"],
40
+ "application/vnd.anser-web-funds-transfer-initiation": ["fti"],
41
+ "application/vnd.antix.game-component": ["atx"],
42
+ "application/vnd.apple.installer+xml": ["mpkg"],
43
+ "application/vnd.apple.keynote": ["key"],
44
+ "application/vnd.apple.mpegurl": ["m3u8"],
45
+ "application/vnd.apple.numbers": ["numbers"],
46
+ "application/vnd.apple.pages": ["pages"],
47
+ "application/vnd.apple.pkpass": ["pkpass"],
48
+ "application/vnd.aristanetworks.swi": ["swi"],
49
+ "application/vnd.astraea-software.iota": ["iota"],
50
+ "application/vnd.audiograph": ["aep"],
51
+ "application/vnd.balsamiq.bmml+xml": ["bmml"],
52
+ "application/vnd.blueice.multipass": ["mpm"],
53
+ "application/vnd.bmi": ["bmi"],
54
+ "application/vnd.businessobjects": ["rep"],
55
+ "application/vnd.chemdraw+xml": ["cdxml"],
56
+ "application/vnd.chipnuts.karaoke-mmd": ["mmd"],
57
+ "application/vnd.cinderella": ["cdy"],
58
+ "application/vnd.citationstyles.style+xml": ["csl"],
59
+ "application/vnd.claymore": ["cla"],
60
+ "application/vnd.cloanto.rp9": ["rp9"],
61
+ "application/vnd.clonk.c4group": [
62
+ "c4g",
63
+ "c4d",
64
+ "c4f",
65
+ "c4p",
66
+ "c4u"
67
+ ],
68
+ "application/vnd.cluetrust.cartomobile-config": ["c11amc"],
69
+ "application/vnd.cluetrust.cartomobile-config-pkg": ["c11amz"],
70
+ "application/vnd.commonspace": ["csp"],
71
+ "application/vnd.contact.cmsg": ["cdbcmsg"],
72
+ "application/vnd.cosmocaller": ["cmc"],
73
+ "application/vnd.crick.clicker": ["clkx"],
74
+ "application/vnd.crick.clicker.keyboard": ["clkk"],
75
+ "application/vnd.crick.clicker.palette": ["clkp"],
76
+ "application/vnd.crick.clicker.template": ["clkt"],
77
+ "application/vnd.crick.clicker.wordbank": ["clkw"],
78
+ "application/vnd.criticaltools.wbs+xml": ["wbs"],
79
+ "application/vnd.ctc-posml": ["pml"],
80
+ "application/vnd.cups-ppd": ["ppd"],
81
+ "application/vnd.curl.car": ["car"],
82
+ "application/vnd.curl.pcurl": ["pcurl"],
83
+ "application/vnd.dart": ["dart"],
84
+ "application/vnd.data-vision.rdz": ["rdz"],
85
+ "application/vnd.dbf": ["dbf"],
86
+ "application/vnd.dece.data": [
87
+ "uvf",
88
+ "uvvf",
89
+ "uvd",
90
+ "uvvd"
91
+ ],
92
+ "application/vnd.dece.ttml+xml": ["uvt", "uvvt"],
93
+ "application/vnd.dece.unspecified": ["uvx", "uvvx"],
94
+ "application/vnd.dece.zip": ["uvz", "uvvz"],
95
+ "application/vnd.denovo.fcselayout-link": ["fe_launch"],
96
+ "application/vnd.dna": ["dna"],
97
+ "application/vnd.dolby.mlp": ["mlp"],
98
+ "application/vnd.dpgraph": ["dpg"],
99
+ "application/vnd.dreamfactory": ["dfac"],
100
+ "application/vnd.ds-keypoint": ["kpxx"],
101
+ "application/vnd.dvb.ait": ["ait"],
102
+ "application/vnd.dvb.service": ["svc"],
103
+ "application/vnd.dynageo": ["geo"],
104
+ "application/vnd.ecowin.chart": ["mag"],
105
+ "application/vnd.enliven": ["nml"],
106
+ "application/vnd.epson.esf": ["esf"],
107
+ "application/vnd.epson.msf": ["msf"],
108
+ "application/vnd.epson.quickanime": ["qam"],
109
+ "application/vnd.epson.salt": ["slt"],
110
+ "application/vnd.epson.ssf": ["ssf"],
111
+ "application/vnd.eszigno3+xml": ["es3", "et3"],
112
+ "application/vnd.ezpix-album": ["ez2"],
113
+ "application/vnd.ezpix-package": ["ez3"],
114
+ "application/vnd.fdf": ["*fdf"],
115
+ "application/vnd.fdsn.mseed": ["mseed"],
116
+ "application/vnd.fdsn.seed": ["seed", "dataless"],
117
+ "application/vnd.flographit": ["gph"],
118
+ "application/vnd.fluxtime.clip": ["ftc"],
119
+ "application/vnd.framemaker": [
120
+ "fm",
121
+ "frame",
122
+ "maker",
123
+ "book"
124
+ ],
125
+ "application/vnd.frogans.fnc": ["fnc"],
126
+ "application/vnd.frogans.ltf": ["ltf"],
127
+ "application/vnd.fsc.weblaunch": ["fsc"],
128
+ "application/vnd.fujitsu.oasys": ["oas"],
129
+ "application/vnd.fujitsu.oasys2": ["oa2"],
130
+ "application/vnd.fujitsu.oasys3": ["oa3"],
131
+ "application/vnd.fujitsu.oasysgp": ["fg5"],
132
+ "application/vnd.fujitsu.oasysprs": ["bh2"],
133
+ "application/vnd.fujixerox.ddd": ["ddd"],
134
+ "application/vnd.fujixerox.docuworks": ["xdw"],
135
+ "application/vnd.fujixerox.docuworks.binder": ["xbd"],
136
+ "application/vnd.fuzzysheet": ["fzs"],
137
+ "application/vnd.genomatix.tuxedo": ["txd"],
138
+ "application/vnd.geogebra.file": ["ggb"],
139
+ "application/vnd.geogebra.tool": ["ggt"],
140
+ "application/vnd.geometry-explorer": ["gex", "gre"],
141
+ "application/vnd.geonext": ["gxt"],
142
+ "application/vnd.geoplan": ["g2w"],
143
+ "application/vnd.geospace": ["g3w"],
144
+ "application/vnd.gmx": ["gmx"],
145
+ "application/vnd.google-apps.document": ["gdoc"],
146
+ "application/vnd.google-apps.presentation": ["gslides"],
147
+ "application/vnd.google-apps.spreadsheet": ["gsheet"],
148
+ "application/vnd.google-earth.kml+xml": ["kml"],
149
+ "application/vnd.google-earth.kmz": ["kmz"],
150
+ "application/vnd.grafeq": ["gqf", "gqs"],
151
+ "application/vnd.groove-account": ["gac"],
152
+ "application/vnd.groove-help": ["ghf"],
153
+ "application/vnd.groove-identity-message": ["gim"],
154
+ "application/vnd.groove-injector": ["grv"],
155
+ "application/vnd.groove-tool-message": ["gtm"],
156
+ "application/vnd.groove-tool-template": ["tpl"],
157
+ "application/vnd.groove-vcard": ["vcg"],
158
+ "application/vnd.hal+xml": ["hal"],
159
+ "application/vnd.handheld-entertainment+xml": ["zmm"],
160
+ "application/vnd.hbci": ["hbci"],
161
+ "application/vnd.hhe.lesson-player": ["les"],
162
+ "application/vnd.hp-hpgl": ["hpgl"],
163
+ "application/vnd.hp-hpid": ["hpid"],
164
+ "application/vnd.hp-hps": ["hps"],
165
+ "application/vnd.hp-jlyt": ["jlt"],
166
+ "application/vnd.hp-pcl": ["pcl"],
167
+ "application/vnd.hp-pclxl": ["pclxl"],
168
+ "application/vnd.hydrostatix.sof-data": ["sfd-hdstx"],
169
+ "application/vnd.ibm.minipay": ["mpy"],
170
+ "application/vnd.ibm.modcap": [
171
+ "afp",
172
+ "listafp",
173
+ "list3820"
174
+ ],
175
+ "application/vnd.ibm.rights-management": ["irm"],
176
+ "application/vnd.ibm.secure-container": ["sc"],
177
+ "application/vnd.iccprofile": ["icc", "icm"],
178
+ "application/vnd.igloader": ["igl"],
179
+ "application/vnd.immervision-ivp": ["ivp"],
180
+ "application/vnd.immervision-ivu": ["ivu"],
181
+ "application/vnd.insors.igm": ["igm"],
182
+ "application/vnd.intercon.formnet": ["xpw", "xpx"],
183
+ "application/vnd.intergeo": ["i2g"],
184
+ "application/vnd.intu.qbo": ["qbo"],
185
+ "application/vnd.intu.qfx": ["qfx"],
186
+ "application/vnd.ipunplugged.rcprofile": ["rcprofile"],
187
+ "application/vnd.irepository.package+xml": ["irp"],
188
+ "application/vnd.is-xpr": ["xpr"],
189
+ "application/vnd.isac.fcs": ["fcs"],
190
+ "application/vnd.jam": ["jam"],
191
+ "application/vnd.jcp.javame.midlet-rms": ["rms"],
192
+ "application/vnd.jisp": ["jisp"],
193
+ "application/vnd.joost.joda-archive": ["joda"],
194
+ "application/vnd.kahootz": ["ktz", "ktr"],
195
+ "application/vnd.kde.karbon": ["karbon"],
196
+ "application/vnd.kde.kchart": ["chrt"],
197
+ "application/vnd.kde.kformula": ["kfo"],
198
+ "application/vnd.kde.kivio": ["flw"],
199
+ "application/vnd.kde.kontour": ["kon"],
200
+ "application/vnd.kde.kpresenter": ["kpr", "kpt"],
201
+ "application/vnd.kde.kspread": ["ksp"],
202
+ "application/vnd.kde.kword": ["kwd", "kwt"],
203
+ "application/vnd.kenameaapp": ["htke"],
204
+ "application/vnd.kidspiration": ["kia"],
205
+ "application/vnd.kinar": ["kne", "knp"],
206
+ "application/vnd.koan": [
207
+ "skp",
208
+ "skd",
209
+ "skt",
210
+ "skm"
211
+ ],
212
+ "application/vnd.kodak-descriptor": ["sse"],
213
+ "application/vnd.las.las+xml": ["lasxml"],
214
+ "application/vnd.llamagraphics.life-balance.desktop": ["lbd"],
215
+ "application/vnd.llamagraphics.life-balance.exchange+xml": ["lbe"],
216
+ "application/vnd.lotus-1-2-3": ["123"],
217
+ "application/vnd.lotus-approach": ["apr"],
218
+ "application/vnd.lotus-freelance": ["pre"],
219
+ "application/vnd.lotus-notes": ["nsf"],
220
+ "application/vnd.lotus-organizer": ["org"],
221
+ "application/vnd.lotus-screencam": ["scm"],
222
+ "application/vnd.lotus-wordpro": ["lwp"],
223
+ "application/vnd.macports.portpkg": ["portpkg"],
224
+ "application/vnd.mapbox-vector-tile": ["mvt"],
225
+ "application/vnd.mcd": ["mcd"],
226
+ "application/vnd.medcalcdata": ["mc1"],
227
+ "application/vnd.mediastation.cdkey": ["cdkey"],
228
+ "application/vnd.mfer": ["mwf"],
229
+ "application/vnd.mfmp": ["mfm"],
230
+ "application/vnd.micrografx.flo": ["flo"],
231
+ "application/vnd.micrografx.igx": ["igx"],
232
+ "application/vnd.mif": ["mif"],
233
+ "application/vnd.mobius.daf": ["daf"],
234
+ "application/vnd.mobius.dis": ["dis"],
235
+ "application/vnd.mobius.mbk": ["mbk"],
236
+ "application/vnd.mobius.mqy": ["mqy"],
237
+ "application/vnd.mobius.msl": ["msl"],
238
+ "application/vnd.mobius.plc": ["plc"],
239
+ "application/vnd.mobius.txf": ["txf"],
240
+ "application/vnd.mophun.application": ["mpn"],
241
+ "application/vnd.mophun.certificate": ["mpc"],
242
+ "application/vnd.mozilla.xul+xml": ["xul"],
243
+ "application/vnd.ms-artgalry": ["cil"],
244
+ "application/vnd.ms-cab-compressed": ["cab"],
245
+ "application/vnd.ms-excel": [
246
+ "xls",
247
+ "xlm",
248
+ "xla",
249
+ "xlc",
250
+ "xlt",
251
+ "xlw"
252
+ ],
253
+ "application/vnd.ms-excel.addin.macroenabled.12": ["xlam"],
254
+ "application/vnd.ms-excel.sheet.binary.macroenabled.12": ["xlsb"],
255
+ "application/vnd.ms-excel.sheet.macroenabled.12": ["xlsm"],
256
+ "application/vnd.ms-excel.template.macroenabled.12": ["xltm"],
257
+ "application/vnd.ms-fontobject": ["eot"],
258
+ "application/vnd.ms-htmlhelp": ["chm"],
259
+ "application/vnd.ms-ims": ["ims"],
260
+ "application/vnd.ms-lrm": ["lrm"],
261
+ "application/vnd.ms-officetheme": ["thmx"],
262
+ "application/vnd.ms-outlook": ["msg"],
263
+ "application/vnd.ms-pki.seccat": ["cat"],
264
+ "application/vnd.ms-pki.stl": ["*stl"],
265
+ "application/vnd.ms-powerpoint": [
266
+ "ppt",
267
+ "pps",
268
+ "pot"
269
+ ],
270
+ "application/vnd.ms-powerpoint.addin.macroenabled.12": ["ppam"],
271
+ "application/vnd.ms-powerpoint.presentation.macroenabled.12": ["pptm"],
272
+ "application/vnd.ms-powerpoint.slide.macroenabled.12": ["sldm"],
273
+ "application/vnd.ms-powerpoint.slideshow.macroenabled.12": ["ppsm"],
274
+ "application/vnd.ms-powerpoint.template.macroenabled.12": ["potm"],
275
+ "application/vnd.ms-project": ["*mpp", "mpt"],
276
+ "application/vnd.ms-word.document.macroenabled.12": ["docm"],
277
+ "application/vnd.ms-word.template.macroenabled.12": ["dotm"],
278
+ "application/vnd.ms-works": [
279
+ "wps",
280
+ "wks",
281
+ "wcm",
282
+ "wdb"
283
+ ],
284
+ "application/vnd.ms-wpl": ["wpl"],
285
+ "application/vnd.ms-xpsdocument": ["xps"],
286
+ "application/vnd.mseq": ["mseq"],
287
+ "application/vnd.musician": ["mus"],
288
+ "application/vnd.muvee.style": ["msty"],
289
+ "application/vnd.mynfc": ["taglet"],
290
+ "application/vnd.neurolanguage.nlu": ["nlu"],
291
+ "application/vnd.nitf": ["ntf", "nitf"],
292
+ "application/vnd.noblenet-directory": ["nnd"],
293
+ "application/vnd.noblenet-sealer": ["nns"],
294
+ "application/vnd.noblenet-web": ["nnw"],
295
+ "application/vnd.nokia.n-gage.ac+xml": ["*ac"],
296
+ "application/vnd.nokia.n-gage.data": ["ngdat"],
297
+ "application/vnd.nokia.n-gage.symbian.install": ["n-gage"],
298
+ "application/vnd.nokia.radio-preset": ["rpst"],
299
+ "application/vnd.nokia.radio-presets": ["rpss"],
300
+ "application/vnd.novadigm.edm": ["edm"],
301
+ "application/vnd.novadigm.edx": ["edx"],
302
+ "application/vnd.novadigm.ext": ["ext"],
303
+ "application/vnd.oasis.opendocument.chart": ["odc"],
304
+ "application/vnd.oasis.opendocument.chart-template": ["otc"],
305
+ "application/vnd.oasis.opendocument.database": ["odb"],
306
+ "application/vnd.oasis.opendocument.formula": ["odf"],
307
+ "application/vnd.oasis.opendocument.formula-template": ["odft"],
308
+ "application/vnd.oasis.opendocument.graphics": ["odg"],
309
+ "application/vnd.oasis.opendocument.graphics-template": ["otg"],
310
+ "application/vnd.oasis.opendocument.image": ["odi"],
311
+ "application/vnd.oasis.opendocument.image-template": ["oti"],
312
+ "application/vnd.oasis.opendocument.presentation": ["odp"],
313
+ "application/vnd.oasis.opendocument.presentation-template": ["otp"],
314
+ "application/vnd.oasis.opendocument.spreadsheet": ["ods"],
315
+ "application/vnd.oasis.opendocument.spreadsheet-template": ["ots"],
316
+ "application/vnd.oasis.opendocument.text": ["odt"],
317
+ "application/vnd.oasis.opendocument.text-master": ["odm"],
318
+ "application/vnd.oasis.opendocument.text-template": ["ott"],
319
+ "application/vnd.oasis.opendocument.text-web": ["oth"],
320
+ "application/vnd.olpc-sugar": ["xo"],
321
+ "application/vnd.oma.dd2+xml": ["dd2"],
322
+ "application/vnd.openblox.game+xml": ["obgx"],
323
+ "application/vnd.openofficeorg.extension": ["oxt"],
324
+ "application/vnd.openstreetmap.data+xml": ["osm"],
325
+ "application/vnd.openxmlformats-officedocument.presentationml.presentation": ["pptx"],
326
+ "application/vnd.openxmlformats-officedocument.presentationml.slide": ["sldx"],
327
+ "application/vnd.openxmlformats-officedocument.presentationml.slideshow": ["ppsx"],
328
+ "application/vnd.openxmlformats-officedocument.presentationml.template": ["potx"],
329
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": ["xlsx"],
330
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.template": ["xltx"],
331
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": ["docx"],
332
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.template": ["dotx"],
333
+ "application/vnd.osgeo.mapguide.package": ["mgp"],
334
+ "application/vnd.osgi.dp": ["dp"],
335
+ "application/vnd.osgi.subsystem": ["esa"],
336
+ "application/vnd.palm": [
337
+ "pdb",
338
+ "pqa",
339
+ "oprc"
340
+ ],
341
+ "application/vnd.pawaafile": ["paw"],
342
+ "application/vnd.pg.format": ["str"],
343
+ "application/vnd.pg.osasli": ["ei6"],
344
+ "application/vnd.picsel": ["efif"],
345
+ "application/vnd.pmi.widget": ["wg"],
346
+ "application/vnd.pocketlearn": ["plf"],
347
+ "application/vnd.powerbuilder6": ["pbd"],
348
+ "application/vnd.previewsystems.box": ["box"],
349
+ "application/vnd.proteus.magazine": ["mgz"],
350
+ "application/vnd.publishare-delta-tree": ["qps"],
351
+ "application/vnd.pvi.ptid1": ["ptid"],
352
+ "application/vnd.pwg-xhtml-print+xml": ["xhtm"],
353
+ "application/vnd.quark.quarkxpress": [
354
+ "qxd",
355
+ "qxt",
356
+ "qwd",
357
+ "qwt",
358
+ "qxl",
359
+ "qxb"
360
+ ],
361
+ "application/vnd.rar": ["rar"],
362
+ "application/vnd.realvnc.bed": ["bed"],
363
+ "application/vnd.recordare.musicxml": ["mxl"],
364
+ "application/vnd.recordare.musicxml+xml": ["musicxml"],
365
+ "application/vnd.rig.cryptonote": ["cryptonote"],
366
+ "application/vnd.rim.cod": ["cod"],
367
+ "application/vnd.rn-realmedia": ["rm"],
368
+ "application/vnd.rn-realmedia-vbr": ["rmvb"],
369
+ "application/vnd.route66.link66+xml": ["link66"],
370
+ "application/vnd.sailingtracker.track": ["st"],
371
+ "application/vnd.seemail": ["see"],
372
+ "application/vnd.sema": ["sema"],
373
+ "application/vnd.semd": ["semd"],
374
+ "application/vnd.semf": ["semf"],
375
+ "application/vnd.shana.informed.formdata": ["ifm"],
376
+ "application/vnd.shana.informed.formtemplate": ["itp"],
377
+ "application/vnd.shana.informed.interchange": ["iif"],
378
+ "application/vnd.shana.informed.package": ["ipk"],
379
+ "application/vnd.simtech-mindmapper": ["twd", "twds"],
380
+ "application/vnd.smaf": ["mmf"],
381
+ "application/vnd.smart.teacher": ["teacher"],
382
+ "application/vnd.software602.filler.form+xml": ["fo"],
383
+ "application/vnd.solent.sdkm+xml": ["sdkm", "sdkd"],
384
+ "application/vnd.spotfire.dxp": ["dxp"],
385
+ "application/vnd.spotfire.sfs": ["sfs"],
386
+ "application/vnd.stardivision.calc": ["sdc"],
387
+ "application/vnd.stardivision.draw": ["sda"],
388
+ "application/vnd.stardivision.impress": ["sdd"],
389
+ "application/vnd.stardivision.math": ["smf"],
390
+ "application/vnd.stardivision.writer": ["sdw", "vor"],
391
+ "application/vnd.stardivision.writer-global": ["sgl"],
392
+ "application/vnd.stepmania.package": ["smzip"],
393
+ "application/vnd.stepmania.stepchart": ["sm"],
394
+ "application/vnd.sun.wadl+xml": ["wadl"],
395
+ "application/vnd.sun.xml.calc": ["sxc"],
396
+ "application/vnd.sun.xml.calc.template": ["stc"],
397
+ "application/vnd.sun.xml.draw": ["sxd"],
398
+ "application/vnd.sun.xml.draw.template": ["std"],
399
+ "application/vnd.sun.xml.impress": ["sxi"],
400
+ "application/vnd.sun.xml.impress.template": ["sti"],
401
+ "application/vnd.sun.xml.math": ["sxm"],
402
+ "application/vnd.sun.xml.writer": ["sxw"],
403
+ "application/vnd.sun.xml.writer.global": ["sxg"],
404
+ "application/vnd.sun.xml.writer.template": ["stw"],
405
+ "application/vnd.sus-calendar": ["sus", "susp"],
406
+ "application/vnd.svd": ["svd"],
407
+ "application/vnd.symbian.install": ["sis", "sisx"],
408
+ "application/vnd.syncml+xml": ["xsm"],
409
+ "application/vnd.syncml.dm+wbxml": ["bdm"],
410
+ "application/vnd.syncml.dm+xml": ["xdm"],
411
+ "application/vnd.syncml.dmddf+xml": ["ddf"],
412
+ "application/vnd.tao.intent-module-archive": ["tao"],
413
+ "application/vnd.tcpdump.pcap": [
414
+ "pcap",
415
+ "cap",
416
+ "dmp"
417
+ ],
418
+ "application/vnd.tmobile-livetv": ["tmo"],
419
+ "application/vnd.trid.tpt": ["tpt"],
420
+ "application/vnd.triscape.mxs": ["mxs"],
421
+ "application/vnd.trueapp": ["tra"],
422
+ "application/vnd.ufdl": ["ufd", "ufdl"],
423
+ "application/vnd.uiq.theme": ["utz"],
424
+ "application/vnd.umajin": ["umj"],
425
+ "application/vnd.unity": ["unityweb"],
426
+ "application/vnd.uoml+xml": ["uoml", "uo"],
427
+ "application/vnd.vcx": ["vcx"],
428
+ "application/vnd.visio": [
429
+ "vsd",
430
+ "vst",
431
+ "vss",
432
+ "vsw"
433
+ ],
434
+ "application/vnd.visionary": ["vis"],
435
+ "application/vnd.vsf": ["vsf"],
436
+ "application/vnd.wap.wbxml": ["wbxml"],
437
+ "application/vnd.wap.wmlc": ["wmlc"],
438
+ "application/vnd.wap.wmlscriptc": ["wmlsc"],
439
+ "application/vnd.webturbo": ["wtb"],
440
+ "application/vnd.wolfram.player": ["nbp"],
441
+ "application/vnd.wordperfect": ["wpd"],
442
+ "application/vnd.wqd": ["wqd"],
443
+ "application/vnd.wt.stf": ["stf"],
444
+ "application/vnd.xara": ["xar"],
445
+ "application/vnd.xfdl": ["xfdl"],
446
+ "application/vnd.yamaha.hv-dic": ["hvd"],
447
+ "application/vnd.yamaha.hv-script": ["hvs"],
448
+ "application/vnd.yamaha.hv-voice": ["hvp"],
449
+ "application/vnd.yamaha.openscoreformat": ["osf"],
450
+ "application/vnd.yamaha.openscoreformat.osfpvg+xml": ["osfpvg"],
451
+ "application/vnd.yamaha.smaf-audio": ["saf"],
452
+ "application/vnd.yamaha.smaf-phrase": ["spf"],
453
+ "application/vnd.yellowriver-custom-menu": ["cmp"],
454
+ "application/vnd.zul": ["zir", "zirz"],
455
+ "application/vnd.zzazz.deck+xml": ["zaz"],
456
+ "application/x-7z-compressed": ["7z"],
457
+ "application/x-abiword": ["abw"],
458
+ "application/x-ace-compressed": ["ace"],
459
+ "application/x-apple-diskimage": ["*dmg"],
460
+ "application/x-arj": ["arj"],
461
+ "application/x-authorware-bin": [
462
+ "aab",
463
+ "x32",
464
+ "u32",
465
+ "vox"
466
+ ],
467
+ "application/x-authorware-map": ["aam"],
468
+ "application/x-authorware-seg": ["aas"],
469
+ "application/x-bcpio": ["bcpio"],
470
+ "application/x-bdoc": ["*bdoc"],
471
+ "application/x-bittorrent": ["torrent"],
472
+ "application/x-blorb": ["blb", "blorb"],
473
+ "application/x-bzip": ["bz"],
474
+ "application/x-bzip2": ["bz2", "boz"],
475
+ "application/x-cbr": [
476
+ "cbr",
477
+ "cba",
478
+ "cbt",
479
+ "cbz",
480
+ "cb7"
481
+ ],
482
+ "application/x-cdlink": ["vcd"],
483
+ "application/x-cfs-compressed": ["cfs"],
484
+ "application/x-chat": ["chat"],
485
+ "application/x-chess-pgn": ["pgn"],
486
+ "application/x-chrome-extension": ["crx"],
487
+ "application/x-cocoa": ["cco"],
488
+ "application/x-conference": ["nsc"],
489
+ "application/x-cpio": ["cpio"],
490
+ "application/x-csh": ["csh"],
491
+ "application/x-debian-package": ["*deb", "udeb"],
492
+ "application/x-dgc-compressed": ["dgc"],
493
+ "application/x-director": [
494
+ "dir",
495
+ "dcr",
496
+ "dxr",
497
+ "cst",
498
+ "cct",
499
+ "cxt",
500
+ "w3d",
501
+ "fgd",
502
+ "swa"
503
+ ],
504
+ "application/x-doom": ["wad"],
505
+ "application/x-dtbncx+xml": ["ncx"],
506
+ "application/x-dtbook+xml": ["dtb"],
507
+ "application/x-dtbresource+xml": ["res"],
508
+ "application/x-dvi": ["dvi"],
509
+ "application/x-envoy": ["evy"],
510
+ "application/x-eva": ["eva"],
511
+ "application/x-font-bdf": ["bdf"],
512
+ "application/x-font-ghostscript": ["gsf"],
513
+ "application/x-font-linux-psf": ["psf"],
514
+ "application/x-font-pcf": ["pcf"],
515
+ "application/x-font-snf": ["snf"],
516
+ "application/x-font-type1": [
517
+ "pfa",
518
+ "pfb",
519
+ "pfm",
520
+ "afm"
521
+ ],
522
+ "application/x-freearc": ["arc"],
523
+ "application/x-futuresplash": ["spl"],
524
+ "application/x-gca-compressed": ["gca"],
525
+ "application/x-glulx": ["ulx"],
526
+ "application/x-gnumeric": ["gnumeric"],
527
+ "application/x-gramps-xml": ["gramps"],
528
+ "application/x-gtar": ["gtar"],
529
+ "application/x-hdf": ["hdf"],
530
+ "application/x-httpd-php": ["php"],
531
+ "application/x-install-instructions": ["install"],
532
+ "application/x-iso9660-image": ["*iso"],
533
+ "application/x-iwork-keynote-sffkey": ["*key"],
534
+ "application/x-iwork-numbers-sffnumbers": ["*numbers"],
535
+ "application/x-iwork-pages-sffpages": ["*pages"],
536
+ "application/x-java-archive-diff": ["jardiff"],
537
+ "application/x-java-jnlp-file": ["jnlp"],
538
+ "application/x-keepass2": ["kdbx"],
539
+ "application/x-latex": ["latex"],
540
+ "application/x-lua-bytecode": ["luac"],
541
+ "application/x-lzh-compressed": ["lzh", "lha"],
542
+ "application/x-makeself": ["run"],
543
+ "application/x-mie": ["mie"],
544
+ "application/x-mobipocket-ebook": ["*prc", "mobi"],
545
+ "application/x-ms-application": ["application"],
546
+ "application/x-ms-shortcut": ["lnk"],
547
+ "application/x-ms-wmd": ["wmd"],
548
+ "application/x-ms-wmz": ["wmz"],
549
+ "application/x-ms-xbap": ["xbap"],
550
+ "application/x-msaccess": ["mdb"],
551
+ "application/x-msbinder": ["obd"],
552
+ "application/x-mscardfile": ["crd"],
553
+ "application/x-msclip": ["clp"],
554
+ "application/x-msdos-program": ["*exe"],
555
+ "application/x-msdownload": [
556
+ "*exe",
557
+ "*dll",
558
+ "com",
559
+ "bat",
560
+ "*msi"
561
+ ],
562
+ "application/x-msmediaview": [
563
+ "mvb",
564
+ "m13",
565
+ "m14"
566
+ ],
567
+ "application/x-msmetafile": [
568
+ "*wmf",
569
+ "*wmz",
570
+ "*emf",
571
+ "emz"
572
+ ],
573
+ "application/x-msmoney": ["mny"],
574
+ "application/x-mspublisher": ["pub"],
575
+ "application/x-msschedule": ["scd"],
576
+ "application/x-msterminal": ["trm"],
577
+ "application/x-mswrite": ["wri"],
578
+ "application/x-netcdf": ["nc", "cdf"],
579
+ "application/x-ns-proxy-autoconfig": ["pac"],
580
+ "application/x-nzb": ["nzb"],
581
+ "application/x-perl": ["pl", "pm"],
582
+ "application/x-pilot": ["*prc", "*pdb"],
583
+ "application/x-pkcs12": ["p12", "pfx"],
584
+ "application/x-pkcs7-certificates": ["p7b", "spc"],
585
+ "application/x-pkcs7-certreqresp": ["p7r"],
586
+ "application/x-rar-compressed": ["*rar"],
587
+ "application/x-redhat-package-manager": ["rpm"],
588
+ "application/x-research-info-systems": ["ris"],
589
+ "application/x-sea": ["sea"],
590
+ "application/x-sh": ["sh"],
591
+ "application/x-shar": ["shar"],
592
+ "application/x-shockwave-flash": ["swf"],
593
+ "application/x-silverlight-app": ["xap"],
594
+ "application/x-sql": ["*sql"],
595
+ "application/x-stuffit": ["sit"],
596
+ "application/x-stuffitx": ["sitx"],
597
+ "application/x-subrip": ["srt"],
598
+ "application/x-sv4cpio": ["sv4cpio"],
599
+ "application/x-sv4crc": ["sv4crc"],
600
+ "application/x-t3vm-image": ["t3"],
601
+ "application/x-tads": ["gam"],
602
+ "application/x-tar": ["tar"],
603
+ "application/x-tcl": ["tcl", "tk"],
604
+ "application/x-tex": ["tex"],
605
+ "application/x-tex-tfm": ["tfm"],
606
+ "application/x-texinfo": ["texinfo", "texi"],
607
+ "application/x-tgif": ["*obj"],
608
+ "application/x-ustar": ["ustar"],
609
+ "application/x-virtualbox-hdd": ["hdd"],
610
+ "application/x-virtualbox-ova": ["ova"],
611
+ "application/x-virtualbox-ovf": ["ovf"],
612
+ "application/x-virtualbox-vbox": ["vbox"],
613
+ "application/x-virtualbox-vbox-extpack": ["vbox-extpack"],
614
+ "application/x-virtualbox-vdi": ["vdi"],
615
+ "application/x-virtualbox-vhd": ["vhd"],
616
+ "application/x-virtualbox-vmdk": ["vmdk"],
617
+ "application/x-wais-source": ["src"],
618
+ "application/x-web-app-manifest+json": ["webapp"],
619
+ "application/x-x509-ca-cert": [
620
+ "der",
621
+ "crt",
622
+ "pem"
623
+ ],
624
+ "application/x-xfig": ["fig"],
625
+ "application/x-xliff+xml": ["*xlf"],
626
+ "application/x-xpinstall": ["xpi"],
627
+ "application/x-xz": ["xz"],
628
+ "application/x-zmachine": [
629
+ "z1",
630
+ "z2",
631
+ "z3",
632
+ "z4",
633
+ "z5",
634
+ "z6",
635
+ "z7",
636
+ "z8"
637
+ ],
638
+ "audio/vnd.dece.audio": ["uva", "uvva"],
639
+ "audio/vnd.digital-winds": ["eol"],
640
+ "audio/vnd.dra": ["dra"],
641
+ "audio/vnd.dts": ["dts"],
642
+ "audio/vnd.dts.hd": ["dtshd"],
643
+ "audio/vnd.lucent.voice": ["lvp"],
644
+ "audio/vnd.ms-playready.media.pya": ["pya"],
645
+ "audio/vnd.nuera.ecelp4800": ["ecelp4800"],
646
+ "audio/vnd.nuera.ecelp7470": ["ecelp7470"],
647
+ "audio/vnd.nuera.ecelp9600": ["ecelp9600"],
648
+ "audio/vnd.rip": ["rip"],
649
+ "audio/x-aac": ["*aac"],
650
+ "audio/x-aiff": [
651
+ "aif",
652
+ "aiff",
653
+ "aifc"
654
+ ],
655
+ "audio/x-caf": ["caf"],
656
+ "audio/x-flac": ["flac"],
657
+ "audio/x-m4a": ["*m4a"],
658
+ "audio/x-matroska": ["mka"],
659
+ "audio/x-mpegurl": ["m3u"],
660
+ "audio/x-ms-wax": ["wax"],
661
+ "audio/x-ms-wma": ["wma"],
662
+ "audio/x-pn-realaudio": ["ram", "ra"],
663
+ "audio/x-pn-realaudio-plugin": ["rmp"],
664
+ "audio/x-realaudio": ["*ra"],
665
+ "audio/x-wav": ["*wav"],
666
+ "chemical/x-cdx": ["cdx"],
667
+ "chemical/x-cif": ["cif"],
668
+ "chemical/x-cmdf": ["cmdf"],
669
+ "chemical/x-cml": ["cml"],
670
+ "chemical/x-csml": ["csml"],
671
+ "chemical/x-xyz": ["xyz"],
672
+ "image/prs.btif": ["btif", "btf"],
673
+ "image/prs.pti": ["pti"],
674
+ "image/vnd.adobe.photoshop": ["psd"],
675
+ "image/vnd.airzip.accelerator.azv": ["azv"],
676
+ "image/vnd.dece.graphic": [
677
+ "uvi",
678
+ "uvvi",
679
+ "uvg",
680
+ "uvvg"
681
+ ],
682
+ "image/vnd.djvu": ["djvu", "djv"],
683
+ "image/vnd.dvb.subtitle": ["*sub"],
684
+ "image/vnd.dwg": ["dwg"],
685
+ "image/vnd.dxf": ["dxf"],
686
+ "image/vnd.fastbidsheet": ["fbs"],
687
+ "image/vnd.fpx": ["fpx"],
688
+ "image/vnd.fst": ["fst"],
689
+ "image/vnd.fujixerox.edmics-mmr": ["mmr"],
690
+ "image/vnd.fujixerox.edmics-rlc": ["rlc"],
691
+ "image/vnd.microsoft.icon": ["ico"],
692
+ "image/vnd.ms-dds": ["dds"],
693
+ "image/vnd.ms-modi": ["mdi"],
694
+ "image/vnd.ms-photo": ["wdp"],
695
+ "image/vnd.net-fpx": ["npx"],
696
+ "image/vnd.pco.b16": ["b16"],
697
+ "image/vnd.tencent.tap": ["tap"],
698
+ "image/vnd.valve.source.texture": ["vtf"],
699
+ "image/vnd.wap.wbmp": ["wbmp"],
700
+ "image/vnd.xiff": ["xif"],
701
+ "image/vnd.zbrush.pcx": ["pcx"],
702
+ "image/x-3ds": ["3ds"],
703
+ "image/x-cmu-raster": ["ras"],
704
+ "image/x-cmx": ["cmx"],
705
+ "image/x-freehand": [
706
+ "fh",
707
+ "fhc",
708
+ "fh4",
709
+ "fh5",
710
+ "fh7"
711
+ ],
712
+ "image/x-icon": ["*ico"],
713
+ "image/x-jng": ["jng"],
714
+ "image/x-mrsid-image": ["sid"],
715
+ "image/x-ms-bmp": ["*bmp"],
716
+ "image/x-pcx": ["*pcx"],
717
+ "image/x-pict": ["pic", "pct"],
718
+ "image/x-portable-anymap": ["pnm"],
719
+ "image/x-portable-bitmap": ["pbm"],
720
+ "image/x-portable-graymap": ["pgm"],
721
+ "image/x-portable-pixmap": ["ppm"],
722
+ "image/x-rgb": ["rgb"],
723
+ "image/x-tga": ["tga"],
724
+ "image/x-xbitmap": ["xbm"],
725
+ "image/x-xpixmap": ["xpm"],
726
+ "image/x-xwindowdump": ["xwd"],
727
+ "message/vnd.wfa.wsc": ["wsc"],
728
+ "model/vnd.cld": ["cld"],
729
+ "model/vnd.collada+xml": ["dae"],
730
+ "model/vnd.dwf": ["dwf"],
731
+ "model/vnd.gdl": ["gdl"],
732
+ "model/vnd.gtw": ["gtw"],
733
+ "model/vnd.mts": ["mts"],
734
+ "model/vnd.opengex": ["ogex"],
735
+ "model/vnd.parasolid.transmit.binary": ["x_b"],
736
+ "model/vnd.parasolid.transmit.text": ["x_t"],
737
+ "model/vnd.pytha.pyox": ["pyo", "pyox"],
738
+ "model/vnd.sap.vds": ["vds"],
739
+ "model/vnd.usda": ["usda"],
740
+ "model/vnd.usdz+zip": ["usdz"],
741
+ "model/vnd.valve.source.compiled-map": ["bsp"],
742
+ "model/vnd.vtu": ["vtu"],
743
+ "text/prs.lines.tag": ["dsc"],
744
+ "text/vnd.curl": ["curl"],
745
+ "text/vnd.curl.dcurl": ["dcurl"],
746
+ "text/vnd.curl.mcurl": ["mcurl"],
747
+ "text/vnd.curl.scurl": ["scurl"],
748
+ "text/vnd.dvb.subtitle": ["sub"],
749
+ "text/vnd.familysearch.gedcom": ["ged"],
750
+ "text/vnd.fly": ["fly"],
751
+ "text/vnd.fmi.flexstor": ["flx"],
752
+ "text/vnd.graphviz": ["gv"],
753
+ "text/vnd.in3d.3dml": ["3dml"],
754
+ "text/vnd.in3d.spot": ["spot"],
755
+ "text/vnd.sun.j2me.app-descriptor": ["jad"],
756
+ "text/vnd.wap.wml": ["wml"],
757
+ "text/vnd.wap.wmlscript": ["wmls"],
758
+ "text/x-asm": ["s", "asm"],
759
+ "text/x-c": [
760
+ "c",
761
+ "cc",
762
+ "cxx",
763
+ "cpp",
764
+ "h",
765
+ "hh",
766
+ "dic"
767
+ ],
768
+ "text/x-component": ["htc"],
769
+ "text/x-fortran": [
770
+ "f",
771
+ "for",
772
+ "f77",
773
+ "f90"
774
+ ],
775
+ "text/x-handlebars-template": ["hbs"],
776
+ "text/x-java-source": ["java"],
777
+ "text/x-lua": ["lua"],
778
+ "text/x-markdown": ["mkd"],
779
+ "text/x-nfo": ["nfo"],
780
+ "text/x-opml": ["opml"],
781
+ "text/x-org": ["*org"],
782
+ "text/x-pascal": ["p", "pas"],
783
+ "text/x-processing": ["pde"],
784
+ "text/x-sass": ["sass"],
785
+ "text/x-scss": ["scss"],
786
+ "text/x-setext": ["etx"],
787
+ "text/x-sfv": ["sfv"],
788
+ "text/x-suse-ymp": ["ymp"],
789
+ "text/x-uuencode": ["uu"],
790
+ "text/x-vcalendar": ["vcs"],
791
+ "text/x-vcard": ["vcf"],
792
+ "video/vnd.dece.hd": ["uvh", "uvvh"],
793
+ "video/vnd.dece.mobile": ["uvm", "uvvm"],
794
+ "video/vnd.dece.pd": ["uvp", "uvvp"],
795
+ "video/vnd.dece.sd": ["uvs", "uvvs"],
796
+ "video/vnd.dece.video": ["uvv", "uvvv"],
797
+ "video/vnd.dvb.file": ["dvb"],
798
+ "video/vnd.fvt": ["fvt"],
799
+ "video/vnd.mpegurl": ["mxu", "m4u"],
800
+ "video/vnd.ms-playready.media.pyv": ["pyv"],
801
+ "video/vnd.uvvu.mp4": ["uvu", "uvvu"],
802
+ "video/vnd.vivo": ["viv"],
803
+ "video/x-f4v": ["f4v"],
804
+ "video/x-fli": ["fli"],
805
+ "video/x-flv": ["flv"],
806
+ "video/x-m4v": ["m4v"],
807
+ "video/x-matroska": [
808
+ "mkv",
809
+ "mk3d",
810
+ "mks"
811
+ ],
812
+ "video/x-mng": ["mng"],
813
+ "video/x-ms-asf": ["asf", "asx"],
814
+ "video/x-ms-vob": ["vob"],
815
+ "video/x-ms-wm": ["wm"],
816
+ "video/x-ms-wmv": ["wmv"],
817
+ "video/x-ms-wmx": ["wmx"],
818
+ "video/x-ms-wvx": ["wvx"],
819
+ "video/x-msvideo": ["avi"],
820
+ "video/x-sgi-movie": ["movie"],
821
+ "video/x-smv": ["smv"],
822
+ "x-conference/x-cooltalk": ["ice"]
823
+ };
824
+ Object.freeze(types$1);
825
+ var types = {
826
+ "application/andrew-inset": ["ez"],
827
+ "application/appinstaller": ["appinstaller"],
828
+ "application/applixware": ["aw"],
829
+ "application/appx": ["appx"],
830
+ "application/appxbundle": ["appxbundle"],
831
+ "application/atom+xml": ["atom"],
832
+ "application/atomcat+xml": ["atomcat"],
833
+ "application/atomdeleted+xml": ["atomdeleted"],
834
+ "application/atomsvc+xml": ["atomsvc"],
835
+ "application/atsc-dwd+xml": ["dwd"],
836
+ "application/atsc-held+xml": ["held"],
837
+ "application/atsc-rsat+xml": ["rsat"],
838
+ "application/automationml-aml+xml": ["aml"],
839
+ "application/automationml-amlx+zip": ["amlx"],
840
+ "application/bdoc": ["bdoc"],
841
+ "application/calendar+xml": ["xcs"],
842
+ "application/ccxml+xml": ["ccxml"],
843
+ "application/cdfx+xml": ["cdfx"],
844
+ "application/cdmi-capability": ["cdmia"],
845
+ "application/cdmi-container": ["cdmic"],
846
+ "application/cdmi-domain": ["cdmid"],
847
+ "application/cdmi-object": ["cdmio"],
848
+ "application/cdmi-queue": ["cdmiq"],
849
+ "application/cpl+xml": ["cpl"],
850
+ "application/cu-seeme": ["cu"],
851
+ "application/cwl": ["cwl"],
852
+ "application/dash+xml": ["mpd"],
853
+ "application/dash-patch+xml": ["mpp"],
854
+ "application/davmount+xml": ["davmount"],
855
+ "application/docbook+xml": ["dbk"],
856
+ "application/dssc+der": ["dssc"],
857
+ "application/dssc+xml": ["xdssc"],
858
+ "application/ecmascript": ["ecma"],
859
+ "application/emma+xml": ["emma"],
860
+ "application/emotionml+xml": ["emotionml"],
861
+ "application/epub+zip": ["epub"],
862
+ "application/exi": ["exi"],
863
+ "application/express": ["exp"],
864
+ "application/fdf": ["fdf"],
865
+ "application/fdt+xml": ["fdt"],
866
+ "application/font-tdpfr": ["pfr"],
867
+ "application/geo+json": ["geojson"],
868
+ "application/gml+xml": ["gml"],
869
+ "application/gpx+xml": ["gpx"],
870
+ "application/gxf": ["gxf"],
871
+ "application/gzip": ["gz"],
872
+ "application/hjson": ["hjson"],
873
+ "application/hyperstudio": ["stk"],
874
+ "application/inkml+xml": ["ink", "inkml"],
875
+ "application/ipfix": ["ipfix"],
876
+ "application/its+xml": ["its"],
877
+ "application/java-archive": [
878
+ "jar",
879
+ "war",
880
+ "ear"
881
+ ],
882
+ "application/java-serialized-object": ["ser"],
883
+ "application/java-vm": ["class"],
884
+ "application/javascript": ["*js"],
885
+ "application/json": ["json", "map"],
886
+ "application/json5": ["json5"],
887
+ "application/jsonml+json": ["jsonml"],
888
+ "application/ld+json": ["jsonld"],
889
+ "application/lgr+xml": ["lgr"],
890
+ "application/lost+xml": ["lostxml"],
891
+ "application/mac-binhex40": ["hqx"],
892
+ "application/mac-compactpro": ["cpt"],
893
+ "application/mads+xml": ["mads"],
894
+ "application/manifest+json": ["webmanifest"],
895
+ "application/marc": ["mrc"],
896
+ "application/marcxml+xml": ["mrcx"],
897
+ "application/mathematica": [
898
+ "ma",
899
+ "nb",
900
+ "mb"
901
+ ],
902
+ "application/mathml+xml": ["mathml"],
903
+ "application/mbox": ["mbox"],
904
+ "application/media-policy-dataset+xml": ["mpf"],
905
+ "application/mediaservercontrol+xml": ["mscml"],
906
+ "application/metalink+xml": ["metalink"],
907
+ "application/metalink4+xml": ["meta4"],
908
+ "application/mets+xml": ["mets"],
909
+ "application/mmt-aei+xml": ["maei"],
910
+ "application/mmt-usd+xml": ["musd"],
911
+ "application/mods+xml": ["mods"],
912
+ "application/mp21": ["m21", "mp21"],
913
+ "application/mp4": [
914
+ "*mp4",
915
+ "*mpg4",
916
+ "mp4s",
917
+ "m4p"
918
+ ],
919
+ "application/msix": ["msix"],
920
+ "application/msixbundle": ["msixbundle"],
921
+ "application/msword": ["doc", "dot"],
922
+ "application/mxf": ["mxf"],
923
+ "application/n-quads": ["nq"],
924
+ "application/n-triples": ["nt"],
925
+ "application/node": ["cjs"],
926
+ "application/octet-stream": [
927
+ "bin",
928
+ "dms",
929
+ "lrf",
930
+ "mar",
931
+ "so",
932
+ "dist",
933
+ "distz",
934
+ "pkg",
935
+ "bpk",
936
+ "dump",
937
+ "elc",
938
+ "deploy",
939
+ "exe",
940
+ "dll",
941
+ "deb",
942
+ "dmg",
943
+ "iso",
944
+ "img",
945
+ "msi",
946
+ "msp",
947
+ "msm",
948
+ "buffer"
949
+ ],
950
+ "application/oda": ["oda"],
951
+ "application/oebps-package+xml": ["opf"],
952
+ "application/ogg": ["ogx"],
953
+ "application/omdoc+xml": ["omdoc"],
954
+ "application/onenote": [
955
+ "onetoc",
956
+ "onetoc2",
957
+ "onetmp",
958
+ "onepkg"
959
+ ],
960
+ "application/oxps": ["oxps"],
961
+ "application/p2p-overlay+xml": ["relo"],
962
+ "application/patch-ops-error+xml": ["xer"],
963
+ "application/pdf": ["pdf"],
964
+ "application/pgp-encrypted": ["pgp"],
965
+ "application/pgp-keys": ["asc"],
966
+ "application/pgp-signature": ["sig", "*asc"],
967
+ "application/pics-rules": ["prf"],
968
+ "application/pkcs10": ["p10"],
969
+ "application/pkcs7-mime": ["p7m", "p7c"],
970
+ "application/pkcs7-signature": ["p7s"],
971
+ "application/pkcs8": ["p8"],
972
+ "application/pkix-attr-cert": ["ac"],
973
+ "application/pkix-cert": ["cer"],
974
+ "application/pkix-crl": ["crl"],
975
+ "application/pkix-pkipath": ["pkipath"],
976
+ "application/pkixcmp": ["pki"],
977
+ "application/pls+xml": ["pls"],
978
+ "application/postscript": [
979
+ "ai",
980
+ "eps",
981
+ "ps"
982
+ ],
983
+ "application/provenance+xml": ["provx"],
984
+ "application/pskc+xml": ["pskcxml"],
985
+ "application/raml+yaml": ["raml"],
986
+ "application/rdf+xml": ["rdf", "owl"],
987
+ "application/reginfo+xml": ["rif"],
988
+ "application/relax-ng-compact-syntax": ["rnc"],
989
+ "application/resource-lists+xml": ["rl"],
990
+ "application/resource-lists-diff+xml": ["rld"],
991
+ "application/rls-services+xml": ["rs"],
992
+ "application/route-apd+xml": ["rapd"],
993
+ "application/route-s-tsid+xml": ["sls"],
994
+ "application/route-usd+xml": ["rusd"],
995
+ "application/rpki-ghostbusters": ["gbr"],
996
+ "application/rpki-manifest": ["mft"],
997
+ "application/rpki-roa": ["roa"],
998
+ "application/rsd+xml": ["rsd"],
999
+ "application/rss+xml": ["rss"],
1000
+ "application/rtf": ["rtf"],
1001
+ "application/sbml+xml": ["sbml"],
1002
+ "application/scvp-cv-request": ["scq"],
1003
+ "application/scvp-cv-response": ["scs"],
1004
+ "application/scvp-vp-request": ["spq"],
1005
+ "application/scvp-vp-response": ["spp"],
1006
+ "application/sdp": ["sdp"],
1007
+ "application/senml+xml": ["senmlx"],
1008
+ "application/sensml+xml": ["sensmlx"],
1009
+ "application/set-payment-initiation": ["setpay"],
1010
+ "application/set-registration-initiation": ["setreg"],
1011
+ "application/shf+xml": ["shf"],
1012
+ "application/sieve": ["siv", "sieve"],
1013
+ "application/smil+xml": ["smi", "smil"],
1014
+ "application/sparql-query": ["rq"],
1015
+ "application/sparql-results+xml": ["srx"],
1016
+ "application/sql": ["sql"],
1017
+ "application/srgs": ["gram"],
1018
+ "application/srgs+xml": ["grxml"],
1019
+ "application/sru+xml": ["sru"],
1020
+ "application/ssdl+xml": ["ssdl"],
1021
+ "application/ssml+xml": ["ssml"],
1022
+ "application/swid+xml": ["swidtag"],
1023
+ "application/tei+xml": ["tei", "teicorpus"],
1024
+ "application/thraud+xml": ["tfi"],
1025
+ "application/timestamped-data": ["tsd"],
1026
+ "application/toml": ["toml"],
1027
+ "application/trig": ["trig"],
1028
+ "application/ttml+xml": ["ttml"],
1029
+ "application/ubjson": ["ubj"],
1030
+ "application/urc-ressheet+xml": ["rsheet"],
1031
+ "application/urc-targetdesc+xml": ["td"],
1032
+ "application/voicexml+xml": ["vxml"],
1033
+ "application/wasm": ["wasm"],
1034
+ "application/watcherinfo+xml": ["wif"],
1035
+ "application/widget": ["wgt"],
1036
+ "application/winhlp": ["hlp"],
1037
+ "application/wsdl+xml": ["wsdl"],
1038
+ "application/wspolicy+xml": ["wspolicy"],
1039
+ "application/xaml+xml": ["xaml"],
1040
+ "application/xcap-att+xml": ["xav"],
1041
+ "application/xcap-caps+xml": ["xca"],
1042
+ "application/xcap-diff+xml": ["xdf"],
1043
+ "application/xcap-el+xml": ["xel"],
1044
+ "application/xcap-ns+xml": ["xns"],
1045
+ "application/xenc+xml": ["xenc"],
1046
+ "application/xfdf": ["xfdf"],
1047
+ "application/xhtml+xml": ["xhtml", "xht"],
1048
+ "application/xliff+xml": ["xlf"],
1049
+ "application/xml": [
1050
+ "xml",
1051
+ "xsl",
1052
+ "xsd",
1053
+ "rng"
1054
+ ],
1055
+ "application/xml-dtd": ["dtd"],
1056
+ "application/xop+xml": ["xop"],
1057
+ "application/xproc+xml": ["xpl"],
1058
+ "application/xslt+xml": ["*xsl", "xslt"],
1059
+ "application/xspf+xml": ["xspf"],
1060
+ "application/xv+xml": [
1061
+ "mxml",
1062
+ "xhvml",
1063
+ "xvml",
1064
+ "xvm"
1065
+ ],
1066
+ "application/yang": ["yang"],
1067
+ "application/yin+xml": ["yin"],
1068
+ "application/zip": ["zip"],
1069
+ "audio/3gpp": ["*3gpp"],
1070
+ "audio/aac": ["adts", "aac"],
1071
+ "audio/adpcm": ["adp"],
1072
+ "audio/amr": ["amr"],
1073
+ "audio/basic": ["au", "snd"],
1074
+ "audio/midi": [
1075
+ "mid",
1076
+ "midi",
1077
+ "kar",
1078
+ "rmi"
1079
+ ],
1080
+ "audio/mobile-xmf": ["mxmf"],
1081
+ "audio/mp3": ["*mp3"],
1082
+ "audio/mp4": ["m4a", "mp4a"],
1083
+ "audio/mpeg": [
1084
+ "mpga",
1085
+ "mp2",
1086
+ "mp2a",
1087
+ "mp3",
1088
+ "m2a",
1089
+ "m3a"
1090
+ ],
1091
+ "audio/ogg": [
1092
+ "oga",
1093
+ "ogg",
1094
+ "spx",
1095
+ "opus"
1096
+ ],
1097
+ "audio/s3m": ["s3m"],
1098
+ "audio/silk": ["sil"],
1099
+ "audio/wav": ["wav"],
1100
+ "audio/wave": ["*wav"],
1101
+ "audio/webm": ["weba"],
1102
+ "audio/xm": ["xm"],
1103
+ "font/collection": ["ttc"],
1104
+ "font/otf": ["otf"],
1105
+ "font/ttf": ["ttf"],
1106
+ "font/woff": ["woff"],
1107
+ "font/woff2": ["woff2"],
1108
+ "image/aces": ["exr"],
1109
+ "image/apng": ["apng"],
1110
+ "image/avci": ["avci"],
1111
+ "image/avcs": ["avcs"],
1112
+ "image/avif": ["avif"],
1113
+ "image/bmp": ["bmp", "dib"],
1114
+ "image/cgm": ["cgm"],
1115
+ "image/dicom-rle": ["drle"],
1116
+ "image/dpx": ["dpx"],
1117
+ "image/emf": ["emf"],
1118
+ "image/fits": ["fits"],
1119
+ "image/g3fax": ["g3"],
1120
+ "image/gif": ["gif"],
1121
+ "image/heic": ["heic"],
1122
+ "image/heic-sequence": ["heics"],
1123
+ "image/heif": ["heif"],
1124
+ "image/heif-sequence": ["heifs"],
1125
+ "image/hej2k": ["hej2"],
1126
+ "image/hsj2": ["hsj2"],
1127
+ "image/ief": ["ief"],
1128
+ "image/jls": ["jls"],
1129
+ "image/jp2": ["jp2", "jpg2"],
1130
+ "image/jpeg": [
1131
+ "jpeg",
1132
+ "jpg",
1133
+ "jpe"
1134
+ ],
1135
+ "image/jph": ["jph"],
1136
+ "image/jphc": ["jhc"],
1137
+ "image/jpm": ["jpm", "jpgm"],
1138
+ "image/jpx": ["jpx", "jpf"],
1139
+ "image/jxr": ["jxr"],
1140
+ "image/jxra": ["jxra"],
1141
+ "image/jxrs": ["jxrs"],
1142
+ "image/jxs": ["jxs"],
1143
+ "image/jxsc": ["jxsc"],
1144
+ "image/jxsi": ["jxsi"],
1145
+ "image/jxss": ["jxss"],
1146
+ "image/ktx": ["ktx"],
1147
+ "image/ktx2": ["ktx2"],
1148
+ "image/png": ["png"],
1149
+ "image/sgi": ["sgi"],
1150
+ "image/svg+xml": ["svg", "svgz"],
1151
+ "image/t38": ["t38"],
1152
+ "image/tiff": ["tif", "tiff"],
1153
+ "image/tiff-fx": ["tfx"],
1154
+ "image/webp": ["webp"],
1155
+ "image/wmf": ["wmf"],
1156
+ "message/disposition-notification": ["disposition-notification"],
1157
+ "message/global": ["u8msg"],
1158
+ "message/global-delivery-status": ["u8dsn"],
1159
+ "message/global-disposition-notification": ["u8mdn"],
1160
+ "message/global-headers": ["u8hdr"],
1161
+ "message/rfc822": ["eml", "mime"],
1162
+ "model/3mf": ["3mf"],
1163
+ "model/gltf+json": ["gltf"],
1164
+ "model/gltf-binary": ["glb"],
1165
+ "model/iges": ["igs", "iges"],
1166
+ "model/jt": ["jt"],
1167
+ "model/mesh": [
1168
+ "msh",
1169
+ "mesh",
1170
+ "silo"
1171
+ ],
1172
+ "model/mtl": ["mtl"],
1173
+ "model/obj": ["obj"],
1174
+ "model/prc": ["prc"],
1175
+ "model/step+xml": ["stpx"],
1176
+ "model/step+zip": ["stpz"],
1177
+ "model/step-xml+zip": ["stpxz"],
1178
+ "model/stl": ["stl"],
1179
+ "model/u3d": ["u3d"],
1180
+ "model/vrml": ["wrl", "vrml"],
1181
+ "model/x3d+binary": ["*x3db", "x3dbz"],
1182
+ "model/x3d+fastinfoset": ["x3db"],
1183
+ "model/x3d+vrml": ["*x3dv", "x3dvz"],
1184
+ "model/x3d+xml": ["x3d", "x3dz"],
1185
+ "model/x3d-vrml": ["x3dv"],
1186
+ "text/cache-manifest": ["appcache", "manifest"],
1187
+ "text/calendar": ["ics", "ifb"],
1188
+ "text/coffeescript": ["coffee", "litcoffee"],
1189
+ "text/css": ["css"],
1190
+ "text/csv": ["csv"],
1191
+ "text/html": [
1192
+ "html",
1193
+ "htm",
1194
+ "shtml"
1195
+ ],
1196
+ "text/jade": ["jade"],
1197
+ "text/javascript": ["js", "mjs"],
1198
+ "text/jsx": ["jsx"],
1199
+ "text/less": ["less"],
1200
+ "text/markdown": ["md", "markdown"],
1201
+ "text/mathml": ["mml"],
1202
+ "text/mdx": ["mdx"],
1203
+ "text/n3": ["n3"],
1204
+ "text/plain": [
1205
+ "txt",
1206
+ "text",
1207
+ "conf",
1208
+ "def",
1209
+ "list",
1210
+ "log",
1211
+ "in",
1212
+ "ini"
1213
+ ],
1214
+ "text/richtext": ["rtx"],
1215
+ "text/rtf": ["*rtf"],
1216
+ "text/sgml": ["sgml", "sgm"],
1217
+ "text/shex": ["shex"],
1218
+ "text/slim": ["slim", "slm"],
1219
+ "text/spdx": ["spdx"],
1220
+ "text/stylus": ["stylus", "styl"],
1221
+ "text/tab-separated-values": ["tsv"],
1222
+ "text/troff": [
1223
+ "t",
1224
+ "tr",
1225
+ "roff",
1226
+ "man",
1227
+ "me",
1228
+ "ms"
1229
+ ],
1230
+ "text/turtle": ["ttl"],
1231
+ "text/uri-list": [
1232
+ "uri",
1233
+ "uris",
1234
+ "urls"
1235
+ ],
1236
+ "text/vcard": ["vcard"],
1237
+ "text/vtt": ["vtt"],
1238
+ "text/wgsl": ["wgsl"],
1239
+ "text/xml": ["*xml"],
1240
+ "text/yaml": ["yaml", "yml"],
1241
+ "video/3gpp": ["3gp", "3gpp"],
1242
+ "video/3gpp2": ["3g2"],
1243
+ "video/h261": ["h261"],
1244
+ "video/h263": ["h263"],
1245
+ "video/h264": ["h264"],
1246
+ "video/iso.segment": ["m4s"],
1247
+ "video/jpeg": ["jpgv"],
1248
+ "video/jpm": ["*jpm", "*jpgm"],
1249
+ "video/mj2": ["mj2", "mjp2"],
1250
+ "video/mp2t": ["ts"],
1251
+ "video/mp4": [
1252
+ "mp4",
1253
+ "mp4v",
1254
+ "mpg4"
1255
+ ],
1256
+ "video/mpeg": [
1257
+ "mpeg",
1258
+ "mpg",
1259
+ "mpe",
1260
+ "m1v",
1261
+ "m2v"
1262
+ ],
1263
+ "video/ogg": ["ogv"],
1264
+ "video/quicktime": ["qt", "mov"],
1265
+ "video/webm": ["webm"]
1266
+ };
1267
+ Object.freeze(types);
1268
+ var __classPrivateFieldGet = function(receiver, state, kind, f) {
1269
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
1270
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
1271
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
1272
+ };
1273
+ var _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;
1274
+ var Mime = class {
1275
+ constructor(...args) {
1276
+ _Mime_extensionToType.set(this, /* @__PURE__ */ new Map());
1277
+ _Mime_typeToExtension.set(this, /* @__PURE__ */ new Map());
1278
+ _Mime_typeToExtensions.set(this, /* @__PURE__ */ new Map());
1279
+ for (const arg of args) this.define(arg);
1280
+ }
1281
+ define(typeMap, force = false) {
1282
+ for (let [type, extensions] of Object.entries(typeMap)) {
1283
+ type = type.toLowerCase();
1284
+ extensions = extensions.map((ext) => ext.toLowerCase());
1285
+ if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, "f").has(type)) __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").set(type, /* @__PURE__ */ new Set());
1286
+ const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").get(type);
1287
+ let first = true;
1288
+ for (let extension of extensions) {
1289
+ const starred = extension.startsWith("*");
1290
+ extension = starred ? extension.slice(1) : extension;
1291
+ allExtensions?.add(extension);
1292
+ if (first) __classPrivateFieldGet(this, _Mime_typeToExtension, "f").set(type, extension);
1293
+ first = false;
1294
+ if (starred) continue;
1295
+ const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, "f").get(extension);
1296
+ if (currentType && currentType != type && !force) throw new Error(`"${type} -> ${extension}" conflicts with "${currentType} -> ${extension}". Pass \`force=true\` to override this definition.`);
1297
+ __classPrivateFieldGet(this, _Mime_extensionToType, "f").set(extension, type);
1298
+ }
1299
+ }
1300
+ return this;
1301
+ }
1302
+ getType(path) {
1303
+ if (typeof path !== "string") return null;
1304
+ const last = path.replace(/^.*[/\\]/, "").toLowerCase();
1305
+ const ext = last.replace(/^.*\./, "").toLowerCase();
1306
+ const hasPath = last.length < path.length;
1307
+ if (!(ext.length < last.length - 1) && hasPath) return null;
1308
+ return __classPrivateFieldGet(this, _Mime_extensionToType, "f").get(ext) ?? null;
1309
+ }
1310
+ getExtension(type) {
1311
+ if (typeof type !== "string") return null;
1312
+ type = type?.split?.(";")[0];
1313
+ return (type && __classPrivateFieldGet(this, _Mime_typeToExtension, "f").get(type.trim().toLowerCase())) ?? null;
1314
+ }
1315
+ getAllExtensions(type) {
1316
+ if (typeof type !== "string") return null;
1317
+ return __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").get(type.toLowerCase()) ?? null;
1318
+ }
1319
+ _freeze() {
1320
+ this.define = () => {
1321
+ throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances");
1322
+ };
1323
+ Object.freeze(this);
1324
+ for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, "f").values()) Object.freeze(extensions);
1325
+ return this;
1326
+ }
1327
+ _getTestState() {
1328
+ return {
1329
+ types: __classPrivateFieldGet(this, _Mime_extensionToType, "f"),
1330
+ extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, "f")
1331
+ };
1332
+ }
1333
+ };
1334
+ _Mime_extensionToType = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtension = /* @__PURE__ */ new WeakMap(), _Mime_typeToExtensions = /* @__PURE__ */ new WeakMap();
1335
+ new Mime(types, types$1)._freeze();
1336
+ /**
1337
+ * Compression formats registry
1338
+ * Add new formats here to support additional compression types
1339
+ */
1340
+ var COMPRESSION_FORMATS = {
1341
+ zip: {
1342
+ format: "zip",
1343
+ fileExtension: ".zip",
1344
+ mimeType: "application/zip"
1345
+ },
1346
+ "tar.br": {
1347
+ format: "tar.br",
1348
+ fileExtension: ".tar.br",
1349
+ mimeType: "application/x-tar"
1350
+ },
1351
+ "tar.gz": {
1352
+ format: "tar.gz",
1353
+ fileExtension: ".tar.gz",
1354
+ mimeType: "application/x-tar"
1355
+ }
1356
+ };
1357
+ /**
1358
+ * Detects compression format from filename
1359
+ * @param filename The filename to detect format from
1360
+ * @returns Compression format information
1361
+ */
1362
+ function detectCompressionFormat(filename) {
1363
+ for (const info of Object.values(COMPRESSION_FORMATS)) if (filename.endsWith(info.fileExtension)) return info;
1364
+ return COMPRESSION_FORMATS.zip;
1365
+ }
1366
+ var LEGACY_BUNDLE_ERROR = "This OTA bundle was created by a version that does not support manifest.json. Copy bundle is not available.";
1367
+ var SIGNED_HASH_PREFIX = "sig:";
1368
+ function isSignedFileHash(fileHash) {
1369
+ return fileHash.startsWith(SIGNED_HASH_PREFIX);
1370
+ }
1371
+ async function getFileHash(filepath) {
1372
+ const file = await fs.readFile(filepath);
1373
+ return crypto.createHash("sha256").update(file).digest("hex");
1374
+ }
1375
+ async function signFileHash(fileHash, privateKeyPath) {
1376
+ const privateKeyPEM = await fs.readFile(privateKeyPath, "utf8");
1377
+ const sign = crypto.createSign("RSA-SHA256");
1378
+ sign.update(Buffer.from(fileHash, "hex"));
1379
+ sign.end();
1380
+ return `${SIGNED_HASH_PREFIX}${sign.sign(privateKeyPEM).toString("base64")}`;
1381
+ }
1382
+ function getArchiveFilename(storageUri) {
1383
+ const { pathname } = new URL(storageUri);
1384
+ return path.basename(pathname) || "bundle.zip";
1385
+ }
1386
+ function resolveExtractedPath(rootDir, entryName) {
1387
+ const normalizedEntryName = entryName.replaceAll("\\", "/");
1388
+ const entryPath = path.resolve(rootDir, normalizedEntryName);
1389
+ const relativePath = path.relative(rootDir, entryPath);
1390
+ if (relativePath.startsWith("..") || path.isAbsolute(relativePath) || normalizedEntryName.startsWith("/")) throw new Error(`Invalid archive entry path: ${entryName}`);
1391
+ return entryPath;
1392
+ }
1393
+ async function downloadArchive(fileUrl, archivePath) {
1394
+ const response = await fetch(fileUrl);
1395
+ if (!response.ok) throw new Error(`Failed to download bundle archive: ${response.statusText}`);
1396
+ const archiveBuffer = Buffer.from(await response.arrayBuffer());
1397
+ await fs.writeFile(archivePath, archiveBuffer);
1398
+ }
1399
+ async function extractZipArchive(archivePath, extractDir) {
1400
+ const zip = await import_lib.default.loadAsync(await fs.readFile(archivePath));
1401
+ const entries = Object.values(zip.files).sort((left, right) => left.name.localeCompare(right.name));
1402
+ for (const entry of entries) {
1403
+ const outputPath = resolveExtractedPath(extractDir, entry.name);
1404
+ if (entry.dir) {
1405
+ await fs.mkdir(outputPath, { recursive: true });
1406
+ continue;
1407
+ }
1408
+ await fs.mkdir(path.dirname(outputPath), { recursive: true });
1409
+ await fs.writeFile(outputPath, await entry.async("nodebuffer"));
1410
+ }
1411
+ }
1412
+ async function extractTarBrArchive(archivePath, extractDir) {
1413
+ const tarPath = path.join(extractDir, "bundle.tar");
1414
+ const tarBuffer = brotliDecompressSync(await fs.readFile(archivePath));
1415
+ await fs.writeFile(tarPath, tarBuffer);
1416
+ try {
1417
+ await extract({
1418
+ file: tarPath,
1419
+ cwd: extractDir,
1420
+ gzip: false,
1421
+ strict: true
1422
+ });
1423
+ } finally {
1424
+ await fs.rm(tarPath, { force: true });
1425
+ }
1426
+ }
1427
+ async function extractArchive(archivePath, extractDir) {
1428
+ const { format } = detectCompressionFormat(path.basename(archivePath));
1429
+ switch (format) {
1430
+ case "zip":
1431
+ await extractZipArchive(archivePath, extractDir);
1432
+ return format;
1433
+ case "tar.gz":
1434
+ await extract({
1435
+ file: archivePath,
1436
+ cwd: extractDir,
1437
+ gzip: true,
1438
+ strict: true
1439
+ });
1440
+ return format;
1441
+ case "tar.br":
1442
+ await extractTarBrArchive(archivePath, extractDir);
1443
+ return format;
1444
+ }
1445
+ }
1446
+ async function getArchiveTargetFiles(bundleDir) {
1447
+ const entries = await fs.readdir(bundleDir, { withFileTypes: true });
1448
+ entries.sort((left, right) => left.name.localeCompare(right.name));
1449
+ return entries.map((entry) => ({
1450
+ path: path.join(bundleDir, entry.name),
1451
+ name: entry.name
1452
+ }));
1453
+ }
1454
+ async function createArchiveFromDirectory(sourceDir, archivePath, format) {
1455
+ const targetFiles = await getArchiveTargetFiles(sourceDir);
1456
+ switch (format) {
1457
+ case "zip":
1458
+ await createZipTargetFiles({
1459
+ outfile: archivePath,
1460
+ targetFiles
1461
+ });
1462
+ return;
1463
+ case "tar.gz":
1464
+ await createTarGzTargetFiles({
1465
+ outfile: archivePath,
1466
+ targetFiles
1467
+ });
1468
+ return;
1469
+ case "tar.br":
1470
+ await createTarBrTargetFiles({
1471
+ outfile: archivePath,
1472
+ targetFiles
1473
+ });
1474
+ return;
1475
+ }
1476
+ }
1477
+ async function rewriteManifestBundleId(extractDir, nextBundleId) {
1478
+ const manifestPath = path.join(extractDir, "manifest.json");
1479
+ try {
1480
+ await fs.access(manifestPath);
1481
+ } catch {
1482
+ throw new Error(LEGACY_BUNDLE_ERROR);
1483
+ }
1484
+ const manifest = JSON.parse(await fs.readFile(manifestPath, "utf8"));
1485
+ manifest.bundleId = nextBundleId;
1486
+ await fs.writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`);
1487
+ }
1488
+ async function resolveBundleDownloadUrl(storageUri, storagePlugin) {
1489
+ const protocol = new URL(storageUri).protocol.replace(":", "");
1490
+ if (protocol === "http" || protocol === "https") return storageUri;
1491
+ if (!storagePlugin) throw new Error("Storage plugin is not configured");
1492
+ if (storagePlugin.supportedProtocol !== protocol) throw new Error(`No storage plugin for protocol: ${protocol}`);
1493
+ const { fileUrl } = await storagePlugin.getDownloadUrl(storageUri);
1494
+ if (!fileUrl) throw new Error("Storage plugin returned empty fileUrl");
1495
+ return fileUrl;
1496
+ }
1497
+ async function createCopiedBundleArchive({ bundle, config, nextBundleId, storagePlugin, targetChannel }) {
1498
+ const downloadUrl = await resolveBundleDownloadUrl(bundle.storageUri, storagePlugin);
1499
+ const archiveFilename = getArchiveFilename(bundle.storageUri);
1500
+ const workDir = await fs.mkdtemp(path.join(os.tmpdir(), "hot-updater-console-promote-"));
1501
+ const sourceArchivePath = path.join(workDir, archiveFilename);
1502
+ const extractDir = path.join(workDir, "bundle");
1503
+ const outputArchivePath = path.join(workDir, archiveFilename);
1504
+ await fs.mkdir(extractDir, { recursive: true });
1505
+ try {
1506
+ await downloadArchive(downloadUrl, sourceArchivePath);
1507
+ const format = await extractArchive(sourceArchivePath, extractDir);
1508
+ await rewriteManifestBundleId(extractDir, nextBundleId);
1509
+ await fs.rm(sourceArchivePath, { force: true });
1510
+ await createArchiveFromDirectory(extractDir, outputArchivePath, format);
1511
+ const fileHash = await getFileHash(outputArchivePath);
1512
+ if (isSignedFileHash(bundle.fileHash) && !config.signing?.enabled) throw new Error("Cannot copy a signed bundle without signing.privateKeyPath in hot-updater.config.ts");
1513
+ const nextFileHash = config.signing?.enabled && config.signing.privateKeyPath ? await signFileHash(fileHash, config.signing.privateKeyPath) : fileHash;
1514
+ const { storageUri } = await storagePlugin.upload(nextBundleId, outputArchivePath);
1515
+ return {
1516
+ ...bundle,
1517
+ id: nextBundleId,
1518
+ channel: targetChannel,
1519
+ storageUri,
1520
+ fileHash: nextFileHash
1521
+ };
1522
+ } finally {
1523
+ await fs.rm(workDir, {
1524
+ recursive: true,
1525
+ force: true
1526
+ });
1527
+ }
1528
+ }
1529
+ async function deleteUploadedCopy(storagePlugin, storageUri) {
1530
+ if (!storageUri) return;
1531
+ try {
1532
+ await storagePlugin.delete(storageUri);
1533
+ } catch (error) {
1534
+ console.error("Failed to delete uploaded bundle copy:", error);
1535
+ }
1536
+ }
1537
+ async function promoteBundle({ action, bundleId, nextBundleId, targetChannel }, deps) {
1538
+ const normalizedTargetChannel = targetChannel.trim();
1539
+ if (!normalizedTargetChannel) throw new Error("Target channel is required");
1540
+ const bundle = await deps.databasePlugin.getBundleById(bundleId);
1541
+ if (!bundle) throw new Error("Bundle not found");
1542
+ if (bundle.channel === normalizedTargetChannel) throw new Error("Target channel must be different from the current channel");
1543
+ if (action === "move") {
1544
+ await deps.databasePlugin.updateBundle(bundleId, { channel: normalizedTargetChannel });
1545
+ await deps.databasePlugin.commitBundle();
1546
+ const updatedBundle = await deps.databasePlugin.getBundleById(bundleId);
1547
+ if (!updatedBundle) throw new Error("Promoted bundle not found");
1548
+ return updatedBundle;
1549
+ }
1550
+ if (!deps.storagePlugin) throw new Error("Storage plugin is not configured");
1551
+ const resolvedNextBundleId = nextBundleId?.trim() || createUUIDv7();
1552
+ const copiedBundle = await createCopiedBundleArchive({
1553
+ bundle,
1554
+ config: deps.config,
1555
+ nextBundleId: resolvedNextBundleId,
1556
+ storagePlugin: deps.storagePlugin,
1557
+ targetChannel: normalizedTargetChannel
1558
+ });
1559
+ let uploadedStorageUri = copiedBundle.storageUri;
1560
+ try {
1561
+ await deps.databasePlugin.appendBundle(copiedBundle);
1562
+ await deps.databasePlugin.commitBundle();
1563
+ uploadedStorageUri = null;
1564
+ return copiedBundle;
1565
+ } catch (error) {
1566
+ await deleteUploadedCopy(deps.storagePlugin, uploadedStorageUri);
1567
+ throw error;
1568
+ }
1569
+ }
1570
+ //#endregion
1571
+ export { promoteBundle };