dotnet.js diff - Local <> SWA
6 removals
776 lines
11 additions
782 lines
//! Licensed to the .NET Foundation under one or more agreements.
//! Licensed to the .NET Foundation under one or more agreements.
//! The .NET Foundation licenses this file to you under the MIT license.
//! The .NET Foundation licenses this file to you under the MIT license.
const e = async()=>WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 8, 1, 6, 0, 6, 64, 25, 11, 11]))
const e = async()=>WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 8, 1, 6, 0, 6, 64, 25, 11, 11]))
, t = async()=>WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]))
, t = async()=>WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11]))
, o = Symbol.for("wasm promise_control");
, o = Symbol.for("wasm promise_control");
function n(e, t) {
function n(e, t) {
let n = null;
let n = null;
const r = new Promise((function(o, r) {
const r = new Promise((function(o, r) {
n = {
n = {
isDone: !1,
isDone: !1,
promise: null,
promise: null,
resolve: t=>{
resolve: t=>{
n.isDone || (n.isDone = !0,
n.isDone || (n.isDone = !0,
o(t),
o(t),
e && e())
e && e())
}
}
,
,
reject: e=>{
reject: e=>{
n.isDone || (n.isDone = !0,
n.isDone || (n.isDone = !0,
r(e),
r(e),
t && t())
t && t())
}
}
}
}
}
}
));
));
n.promise = r;
n.promise = r;
const s = r;
const s = r;
return s[o] = n,
return s[o] = n,
{
{
promise: s,
promise: s,
promise_control: n
promise_control: n
}
}
}
}
function r(e) {
function r(e) {
return e[o]
return e[o]
}
}
function s(e) {
function s(e) {
(function(e) {
(function(e) {
return void 0 !== e[o]
return void 0 !== e[o]
}
}
)(e) || De(!1, "Promise is not controllable")
)(e) || De(!1, "Promise is not controllable")
}
}
const i = "MONO_WASM: ";
const i = "MONO_WASM: ";
function a(e, ...t) {
function a(e, ...t) {
Re.diagnosticTracing && console.debug(i + e, ...t)
Re.diagnosticTracing && console.debug(i + e, ...t)
}
}
function l(e, ...t) {
function l(e, ...t) {
console.info(e, ...t)
console.info(e, ...t)
}
}
function c(e, ...t) {
function c(e, ...t) {
console.warn(i + e, ...t)
console.warn(i + e, ...t)
}
}
function u(e, ...t) {
function u(e, ...t) {
t && t.length > 0 && t[0] && "object" == typeof t[0] && t[0].silent || console.error(i + e, ...t)
t && t.length > 0 && t[0] && "object" == typeof t[0] && t[0].silent || console.error(i + e, ...t)
}
}
let d;
let d;
function f(e, t, o) {
function f(e, t, o) {
const n = {
const n = {
log: t.log,
log: t.log,
error: t.error
error: t.error
}
}
, r = t;
, r = t;
function s(t, o, r) {
function s(t, o, r) {
return function(...s) {
return function(...s) {
try {
try {
let n = s[0];
let n = s[0];
if (void 0 === n)
if (void 0 === n)
n = "undefined";
n = "undefined";
else if (null === n)
else if (null === n)
n = "null";
n = "null";
else if ("function" == typeof n)
else if ("function" == typeof n)
n = n.toString();
n = n.toString();
else if ("string" != typeof n)
else if ("string" != typeof n)
try {
try {
n = JSON.stringify(n)
n = JSON.stringify(n)
} catch (e) {
} catch (e) {
n = n.toString()
n = n.toString()
}
}
if ("string" == typeof n)
if ("string" == typeof n)
if ("[" == n[0]) {
if ("[" == n[0]) {
const t = (new Date).toISOString();
const t = (new Date).toISOString();
n = "main" !== e ? `[${e}][${t}] ${n}` : `[${t}] ${n}`
n = "main" !== e ? `[${e}][${t}] ${n}` : `[${t}] ${n}`
} else
} else
"main" !== e && (n = `[${e}] ${n}`);
"main" !== e && (n = `[${e}] ${n}`);
o(r ? JSON.stringify({
o(r ? JSON.stringify({
method: t,
method: t,
payload: n,
payload: n,
arguments: s
arguments: s
}) : [t + n, ...s.slice(1)])
}) : [t + n, ...s.slice(1)])
} catch (e) {
} catch (e) {
n.error(`proxyConsole failed: ${e}`)
n.error(`proxyConsole failed: ${e}`)
}
}
}
}
}
}
const i = ["debug", "trace", "warn", "info", "error"];
const i = ["debug", "trace", "warn", "info", "error"];
for (const e of i)
for (const e of i)
"function" != typeof r[e] && (r[e] = s(`console.${e}: `, t.log, !1));
"function" != typeof r[e] && (r[e] = s(`console.${e}: `, t.log, !1));
const a = `${o}/console`.replace("https://", "wss://").replace("http://", "ws://");
const a = `${o}/console`.replace("https://", "wss://").replace("http://", "ws://");
d = new WebSocket(a),
d = new WebSocket(a),
d.addEventListener("open", (()=>{
d.addEventListener("open", (()=>{
n.log(`browser: [${e}] Console websocket connected.`)
n.log(`browser: [${e}] Console websocket connected.`)
}
}
)),
)),
d.addEventListener("error", (t=>{
d.addEventListener("error", (t=>{
n.error(`[${e}] websocket error: ${t}`, t)
n.error(`[${e}] websocket error: ${t}`, t)
}
}
)),
)),
d.addEventListener("close", (t=>{
d.addEventListener("close", (t=>{
n.error(`[${e}] websocket closed: ${t}`, t)
n.error(`[${e}] websocket closed: ${t}`, t)
}
}
));
));
const l = e=>{
const l = e=>{
d.readyState === WebSocket.OPEN ? d.send(e) : n.log(e)
d.readyState === WebSocket.OPEN ? d.send(e) : n.log(e)
}
}
;
;
for (const e of ["log", ...i])
for (const e of ["log", ...i])
r[e] = s(`console.${e}`, l, !0)
r[e] = s(`console.${e}`, l, !0)
}
}
const m = {}
const m = {}
, h = {}
, h = {}
, g = {};
, g = {};
let p, b, w;
let p, b, w;
function y() {
function y() {
const e = Object.values(g)
const e = Object.values(g)
, t = Object.values(h)
, t = Object.values(h)
, o = E(e)
, o = E(e)
, n = E(t)
, n = E(t)
, r = o + n;
, r = o + n;
if (0 === r)
if (0 === r)
return;
return;
const s = ve ? "%c" : ""
const s = ve ? "%c" : ""
, i = ve ? ["background: purple; color: white; padding: 1px 3px; border-radius: 3px;", "font-weight: bold;", "font-weight: normal;"] : []
, i = ve ? ["background: purple; color: white; padding: 1px 3px; border-radius: 3px;", "font-weight: bold;", "font-weight: normal;"] : []
, a = Re.config.linkerEnabled ? "" : "\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";
, a = Re.config.linkerEnabled ? "" : "\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";
console.groupCollapsed(`${s}dotnet${s} Loaded ${R(r)} resources${s}${a}`, ...i),
console.groupCollapsed(`${s}dotnet${s} Loaded ${R(r)} resources${s}${a}`, ...i),
e.length && (console.groupCollapsed(`Loaded ${R(o)} resources from cache`),
e.length && (console.groupCollapsed(`Loaded ${R(o)} resources from cache`),
console.table(g),
console.table(g),
console.groupEnd()),
console.groupEnd()),
t.length && (console.groupCollapsed(`Loaded ${R(n)} resources from network`),
t.length && (console.groupCollapsed(`Loaded ${R(n)} resources from network`),
console.table(h),
console.table(h),
console.groupEnd()),
console.groupEnd()),
console.groupEnd()
console.groupEnd()
}
}
async function v() {
async function v() {
const e = p;
const e = p;
if (e) {
if (e) {
const t = (await e.keys()).map((async t=>{
const t = (await e.keys()).map((async t=>{
t.url in m || await e.delete(t)
t.url in m || await e.delete(t)
}
}
));
));
await Promise.all(t)
await Promise.all(t)
}
}
}
}
function _(e) {
function _(e) {
return `${e.resolvedUrl}.${e.hash}`
return `${e.resolvedUrl}.${e.hash}`
}
}
function E(e) {
function E(e) {
return e.reduce(((e,t)=>e + (t.responseBytes || 0)), 0)
return e.reduce(((e,t)=>e + (t.responseBytes || 0)), 0)
}
}
function R(e) {
function R(e) {
return `${(e / 1048576).toFixed(2)} MB`
return `${(e / 1048576).toFixed(2)} MB`
}
}
function j(e) {
function j(e) {
var t;
var t;
if ((null === (t = e.resources) || void 0 === t ? void 0 : t.icu) && "invariant" != e.globalizationMode) {
if ((null === (t = e.resources) || void 0 === t ? void 0 : t.icu) && "invariant" != e.globalizationMode) {
const t = e.applicationCulture || (ve ? navigator.languages && navigator.languages[0] : Intl.DateTimeFormat().resolvedOptions().locale)
const t = e.applicationCulture || (ve ? navigator.languages && navigator.languages[0] : Intl.DateTimeFormat().resolvedOptions().locale)
, o = Object.keys(e.resources.icu);
, o = Object.keys(e.resources.icu);
let n = null;
let n = null;
if ("custom" === e.globalizationMode ? 1 === o.length && (n = o[0]) : "hybrid" === e.globalizationMode ? n = "icudt_hybrid.dat" : t && "all" !== e.globalizationMode ? "sharded" === e.globalizationMode && (n = function(e) {
if ("custom" === e.globalizationMode ? 1 === o.length && (n = o[0]) : "hybrid" === e.globalizationMode ? n = "icudt_hybrid.dat" : t && "all" !== e.globalizationMode ? "sharded" === e.globalizationMode && (n = function(e) {
const t = e.split("-")[0];
const t = e.split("-")[0];
return "en" === t || ["fr", "fr-FR", "it", "it-IT", "de", "de-DE", "es", "es-ES"].includes(e) ? "icudt_EFIGS.dat" : ["zh", "ko", "ja"].includes(t) ? "icudt_CJK.dat" : "icudt_no_CJK.dat"
return "en" === t || ["fr", "fr-FR", "it", "it-IT", "de", "de-DE", "es", "es-ES"].includes(e) ? "icudt_EFIGS.dat" : ["zh", "ko", "ja"].includes(t) ? "icudt_CJK.dat" : "icudt_no_CJK.dat"
}(t)) : n = "icudt.dat",
}(t)) : n = "icudt.dat",
n && o.includes(n))
n && o.includes(n))
return n
return n
}
}
return e.globalizationMode = "invariant",
return e.globalizationMode = "invariant",
null
null
}
}
const x = class {
const x = class {
constructor(e) {
constructor(e) {
this.url = e
this.url = e
}
}
toString() {
toString() {
return this.url
return this.url
}
}
}
}
;
;
async function S(e, t) {
async function S(e, t) {
try {
try {
const o = "function" == typeof globalThis.fetch;
const o = "function" == typeof globalThis.fetch;
if (we) {
if (we) {
const n = e.startsWith("file://");
const n = e.startsWith("file://");
if (!n && o)
if (!n && o)
return globalThis.fetch(e, t || {
return globalThis.fetch(e, t || {
credentials: "same-origin"
credentials: "same-origin"
});
});
b || (w = xe.require("url"),
b || (w = xe.require("url"),
b = xe.require("fs")),
b = xe.require("fs")),
n && (e = w.fileURLToPath(e));
n && (e = w.fileURLToPath(e));
const r = await b.promises.readFile(e);
const r = await b.promises.readFile(e);
return {
return {
ok: !0,
ok: !0,
headers: {
headers: {
length: 0,
length: 0,
get: ()=>null
get: ()=>null
},
},
url: e,
url: e,
arrayBuffer: ()=>r,
arrayBuffer: ()=>r,
json: ()=>JSON.parse(r),
json: ()=>JSON.parse(r),
text: ()=>{
text: ()=>{
throw new Error("NotImplementedException")
throw new Error("NotImplementedException")
}
}
}
}
}
}
if (o)
if (o)
return globalThis.fetch(e, t || {
return globalThis.fetch(e, t || {
credentials: "same-origin"
credentials: "same-origin"
});
});
if ("function" == typeof read)
if ("function" == typeof read)
return {
return {
ok: !0,
ok: !0,
url: e,
url: e,
headers: {
headers: {
length: 0,
length: 0,
get: ()=>null
get: ()=>null
},
},
arrayBuffer: ()=>new Uint8Array(read(e, "binary")),
arrayBuffer: ()=>new Uint8Array(read(e, "binary")),
json: ()=>JSON.parse(read(e, "utf8")),
json: ()=>JSON.parse(read(e, "utf8")),
text: ()=>read(e, "utf8")
text: ()=>read(e, "utf8")
}
}
} catch (t) {
} catch (t) {
return {
return {
ok: !1,
ok: !1,
url: e,
url: e,
status: 500,
status: 500,
headers: {
headers: {
length: 0,
length: 0,
get: ()=>null
get: ()=>null
},
},
statusText: "ERR28: " + t,
statusText: "ERR28: " + t,
arrayBuffer: ()=>{
arrayBuffer: ()=>{
throw t
throw t
}
}
,
,
json: ()=>{
json: ()=>{
throw t
throw t
}
}
,
,
text: ()=>{
text: ()=>{
throw t
throw t
}
}
}
}
}
}
throw new Error("No fetch implementation available")
throw new Error("No fetch implementation available")
}
}
function A(e) {
function A(e) {
return "string" != typeof e && De(!1, "url must be a string"),
return "string" != typeof e && De(!1, "url must be a string"),
!T(e) && 0 !== e.indexOf("./") && 0 !== e.indexOf("../") && globalThis.URL && globalThis.document && globalThis.document.baseURI && (e = new URL(e,globalThis.document.baseURI).toString()),
!T(e) && 0 !== e.indexOf("./") && 0 !== e.indexOf("../") && globalThis.URL && globalThis.document && globalThis.document.baseURI && (e = new URL(e,globalThis.document.baseURI).toString()),
e
e
}
}
const D = /^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//
const D = /^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//
, C = /[a-zA-Z]:[\\/]/;
, C = /[a-zA-Z]:[\\/]/;
function T(e) {
function T(e) {
return we || _e ? e.startsWith("/") || e.startsWith("\\") || -1 !== e.indexOf("///") || C.test(e) : D.test(e)
return we || _e ? e.startsWith("/") || e.startsWith("\\") || -1 !== e.indexOf("///") || C.test(e) : D.test(e)
}
}
let O, k = 0;
let O, k = 0;
const M = []
const M = []
, $ = []
, $ = []
, L = new Map
, L = new Map
, I = {
, I = {
"js-module-threads": !0,
"js-module-threads": !0,
"js-module-runtime": !0,
"js-module-runtime": !0,
"js-module-dotnet": !0,
"js-module-dotnet": !0,
"js-module-native": !0
"js-module-native": !0
}
}
, U = {
, U = {
...I,
...I,
"js-module-library-initializer": !0
"js-module-library-initializer": !0
}
}
, N = {
, N = {
...I,
...I,
dotnetwasm: !0,
dotnetwasm: !0,
heap: !0,
heap: !0,
manifest: !0
manifest: !0
}
}
, P = {
, P = {
...U,
...U,
manifest: !0
manifest: !0
}
}
, z = {
, z = {
...U,
...U,
dotnetwasm: !0
dotnetwasm: !0
}
}
, F = {
, F = {
dotnetwasm: !0,
dotnetwasm: !0,
symbols: !0
symbols: !0
}
}
, W = {
, W = {
resource: !0,
resource: !0,
assembly: !0,
assembly: !0,
pdb: !0,
pdb: !0,
heap: !0,
heap: !0,
icu: !0
icu: !0
}
}
, B = {
, B = {
...U,
...U,
dotnetwasm: !0,
dotnetwasm: !0,
symbols: !0
symbols: !0
};
};
function V(e) {
function V(e) {
return !("icu" == e.behavior && e.name != Re.preferredIcuAsset)
return !("icu" == e.behavior && e.name != Re.preferredIcuAsset)
}
}
function q(e, t, o) {
function q(e, t, o) {
const n = Object.keys(t || {});
const n = Object.keys(t || {});
De(1 == n.length, `Expect to have one ${o} asset in resources`);
De(1 == n.length, `Expect to have one ${o} asset in resources`);
const r = n[0]
const r = n[0]
, s = {
, s = {
name: r,
name: r,
hash: t[r],
hash: t[r],
behavior: o
behavior: o
};
};
return J(s),
return J(s),
e.push(s),
e.push(s),
s
s
}
}
function J(e) {
function J(e) {
N[e.behavior] && L.set(e.behavior, e)
N[e.behavior] && L.set(e.behavior, e)
}
}
function H(e) {
function H(e) {
const t = function(e) {
const t = function(e) {
De(N[e], `Unknown single asset behavior ${e}`);
De(N[e], `Unknown single asset behavior ${e}`);
const t = L.get(e);
const t = L.get(e);
return De(t, `Single asset for ${e} not found`),
return De(t, `Single asset for ${e} not found`),
t
t
}(e);
}(e);
if (t.resolvedUrl = Re.locateFile(t.name),
if (t.resolvedUrl = Re.locateFile(t.name),
I[t.behavior]) {
I[t.behavior]) {
const e = re(t);
const e = re(t);
e ? ("string" != typeof e && De(!1, "loadBootResource response for 'dotnetjs' type should be a URL string"),
e ? ("string" != typeof e && De(!1, "loadBootResource response for 'dotnetjs' type should be a URL string"),
t.resolvedUrl = e) : t.resolvedUrl = X(t.resolvedUrl, t.behavior)
t.resolvedUrl = e) : t.resolvedUrl = X(t.resolvedUrl, t.behavior)
} else if ("dotnetwasm" !== t.behavior)
} else if ("dotnetwasm" !== t.behavior)
throw new Error(`Unknown single asset behavior ${e}`);
throw new Error(`Unknown single asset behavior ${e}`);
return t
return t
}
}
async function Q() {
async function Q() {
a("mono_download_assets"),
a("mono_download_assets");
Re.maxParallelDownloads = Re.config.maxParallelDownloads || Re.maxParallelDownloads,
Re.enableDownloadRetry = Re.config.enableDownloadRetry || Re.enableDownloadRetry;
try {
try {
const e = []
const e = []
, t = t=>{
, t = t=>{
!B[t.behavior] && V(t) && Re.expected_instantiated_assets_count++,
!B[t.behavior] && V(t) && Re.expected_instantiated_assets_count++,
!z[t.behavior] && V(t) && (Re.expected_downloaded_assets_count++,
!z[t.behavior] && V(t) && (Re.expected_downloaded_assets_count++,
e.push(G(t)))
e.push(G(t)))
}
}
;
;
for (const e of $)
for (const e of $)
t(e);
t(e);
await Re.memorySnapshotSkippedOrDone.promise;
await Re.memorySnapshotSkippedOrDone.promise;
for (const e of M)
for (const e of M)
if (Ee.loadedMemorySnapshotSize) {
if (Ee.loadedMemorySnapshotSize) {
if (se(e),
if (se(e),
"resource" == e.behavior || "assembly" == e.behavior || "pdb" == e.behavior) {
"resource" == e.behavior || "assembly" == e.behavior || "pdb" == e.behavior) {
const t = K(e, "")
const t = K(e, "")
, o = "string" == typeof e.virtualPath ? e.virtualPath : e.name;
, o = "string" == typeof e.virtualPath ? e.virtualPath : e.name;
Re._loaded_files.push({
Re._loaded_files.push({
url: t,
url: t,
file: o
file: o
})
})
}
}
} else
} else
t(e);
t(e);
Re.allDownloadsQueued.promise_control.resolve(),
Re.allDownloadsQueued.promise_control.resolve(),
await Re.runtimeModuleLoaded.promise;
await Re.runtimeModuleLoaded.promise;
const o = [];
const o = [];
for (const t of e)
for (const t of e)
o.push((async()=>{
o.push((async()=>{
const e = await t;
const e = await t;
if (e.buffer) {
if (e.buffer) {
if (!B[e.behavior]) {
if (!B[e.behavior]) {
e.buffer && "object" == typeof e.buffer || De(!1, "asset buffer must be array-like or buffer-like or promise of these"),
e.buffer && "object" == typeof e.buffer || De(!1, "asset buffer must be array-like or buffer-like or promise of these"),
"string" != typeof e.resolvedUrl && De(!1, "resolvedUrl must be string");
"string" != typeof e.resolvedUrl && De(!1, "resolvedUrl must be string");
const t = e.resolvedUrl
const t = e.resolvedUrl
, o = await e.buffer
, o = await e.buffer
, n = new Uint8Array(o);
, n = new Uint8Array(o);
se(e),
se(e),
await Ee.beforeOnRuntimeInitialized.promise,
await Ee.beforeOnRuntimeInitialized.promise,
Ee.instantiate_asset(e, t, n)
Ee.instantiate_asset(e, t, n)
}
}
} else
} else
F[e.behavior] ? ("symbols" === e.behavior && (await Ee.instantiate_symbols_asset(e),
F[e.behavior] ? ("symbols" === e.behavior && (await Ee.instantiate_symbols_asset(e),
se(e)),
se(e)),
F[e.behavior] && ++Re.actual_downloaded_assets_count) : (e.isOptional || De(!1, "Expected asset to have the downloaded buffer"),
F[e.behavior] && ++Re.actual_downloaded_assets_count) : (e.isOptional || De(!1, "Expected asset to have the downloaded buffer"),
!z[e.behavior] && V(e) && Re.expected_downloaded_assets_count--,
!z[e.behavior] && V(e) && Re.expected_downloaded_assets_count--,
!B[e.behavior] && V(e) && Re.expected_instantiated_assets_count--)
!B[e.behavior] && V(e) && Re.expected_instantiated_assets_count--)
}
}
)());
)());
Promise.all(o).then((()=>{
Promise.all(o).then((()=>{
Ee.allAssetsInMemory.promise_control.resolve()
Ee.allAssetsInMemory.promise_control.resolve()
}
}
)).catch((e=>{
)).catch((e=>{
throw Re.err("Error in mono_download_assets: " + e),
throw Re.err("Error in mono_download_assets: " + e),
ke(1, e),
ke(1, e),
e
e
}
}
))
))
} catch (e) {
} catch (e) {
throw Re.err("Error in mono_download_assets: " + e),
throw Re.err("Error in mono_download_assets: " + e),
e
e
}
}
}
}
async function Z(e) {
async function Z(e) {
const t = await G(e);
const t = await G(e);
return await t.pendingDownloadInternal.response,
return await t.pendingDownloadInternal.response,
t.buffer
t.buffer
}
}
async function G(e) {
async function G(e) {
try {
try {
return await Y(e)
return await Y(e)
} catch (t) {
} catch (t) {
if (!Re.enableDownloadRetry)
if (!Re.enableDownloadRetry)
throw t;
throw t;
if (_e || we)
if (_e || we)
throw t;
throw t;
if (e.pendingDownload && e.pendingDownloadInternal == e.pendingDownload)
if (e.pendingDownload && e.pendingDownloadInternal == e.pendingDownload)
throw t;
throw t;
if (e.resolvedUrl && -1 != e.resolvedUrl.indexOf("file://"))
if (e.resolvedUrl && -1 != e.resolvedUrl.indexOf("file://"))
throw t;
throw t;
if (t && 404 == t.status)
if (t && 404 == t.status)
throw t;
throw t;
e.pendingDownloadInternal = void 0,
e.pendingDownloadInternal = void 0,
await Re.allDownloadsQueued.promise;
await Re.allDownloadsQueued.promise;
try {
try {
return a(`Retrying download '${e.name}'`),
return a(`Retrying download '${e.name}'`),
await Y(e)
await Y(e)
} catch (t) {
} catch (t) {
return e.pendingDownloadInternal = void 0,
return e.pendingDownloadInternal = void 0,
await (100,
await (100,
new Promise((e=>globalThis.setTimeout(e, 100)))),
new Promise((e=>globalThis.setTimeout(e, 100)))),
a(`Retrying download (2) '${e.name}' after delay`),
a(`Retrying download (2) '${e.name}' after delay`),
await Y(e)
await Y(e)
}
}
}
}
}
}
async function Y(e) {
async function Y(e) {
for (; O; )
for (; O; )
await O.promise;
await O.promise;
try {
try {
++k,
++k,
k == Re.maxParallelDownloads && (a("Throttling further parallel downloads"),
k == Re.maxParallelDownloads && (a("Throttling further parallel downloads"),
O = n());
O = n());
const t = await async function(e) {
const t = await async function(e) {
if (e.pendingDownload && (e.pendingDownloadInternal = e.pendingDownload),
if (e.pendingDownload && (e.pendingDownloadInternal = e.pendingDownload),
e.pendingDownloadInternal && e.pendingDownloadInternal.response)
e.pendingDownloadInternal && e.pendingDownloadInternal.response)
return e.pendingDownloadInternal.response;
return e.pendingDownloadInternal.response;
if (e.buffer) {
if (e.buffer) {
const t = await e.buffer;
const t = await e.buffer;
return e.resolvedUrl || (e.resolvedUrl = "undefined://" + e.name),
return e.resolvedUrl || (e.resolvedUrl = "undefined://" + e.name),
e.pendingDownloadInternal = {
e.pendingDownloadInternal = {
url: e.resolvedUrl,
url: e.resolvedUrl,
name: e.name,
name: e.name,
response: Promise.resolve({
response: Promise.resolve({
ok: !0,
ok: !0,
arrayBuffer: ()=>t,
arrayBuffer: ()=>t,
json: ()=>JSON.parse(new TextDecoder("utf-8").decode(t)),
json: ()=>JSON.parse(new TextDecoder("utf-8").decode(t)),
text: ()=>{
text: ()=>{
throw new Error("NotImplementedException")
throw new Error("NotImplementedException")
}
}
,
,
headers: {
headers: {
get: ()=>{}
get: ()=>{}
}
}
})
})
},
},
e.pendingDownloadInternal.response
e.pendingDownloadInternal.response
}
}
const t = e.loadRemote && Re.config.remoteSources ? Re.config.remoteSources : [""];
const t = e.loadRemote && Re.config.remoteSources ? Re.config.remoteSources : [""];
let o;
let o;
for (let n of t) {
for (let n of t) {
n = n.trim(),
n = n.trim(),
"./" === n && (n = "");
"./" === n && (n = "");
const t = K(e, n);
const t = K(e, n);
e.name === t ? a(`Attempting to download '${t}'`) : a(`Attempting to download '${t}' for ${e.name}`);
e.name === t ? a(`Attempting to download '${t}'`) : a(`Attempting to download '${t}' for ${e.name}`);
try {
try {
e.resolvedUrl = t;
e.resolvedUrl = t;
const n = oe(e);
const n = oe(e);
if (e.pendingDownloadInternal = n,
if (e.pendingDownloadInternal = n,
o = await n.response,
o = await n.response,
!o || !o.ok)
!o || !o.ok)
continue;
continue;
return o
return o
} catch (e) {
} catch (e) {
o || (o = {
o || (o = {
ok: !1,
ok: !1,
url: t,
url: t,
status: 0,
status: 0,
statusText: "" + e
statusText: "" + e
});
});
continue
continue
}
}
}
}
const n = e.isOptional || e.name.match(/\.pdb$/) && Re.config.ignorePdbLoadErrors;
const n = e.isOptional || e.name.match(/\.pdb$/) && Re.config.ignorePdbLoadErrors;
if (o || De(!1, `Response undefined ${e.name}`),
if (o || De(!1, `Response undefined ${e.name}`),
!n) {
!n) {
const t = new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);
const t = new Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);
throw t.status = o.status,
throw t.status = o.status,
t
t
}
}
Re.out(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)
Re.out(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)
}(e);
}(e);
return t ? (F[e.behavior] || (e.buffer = await t.arrayBuffer(),
return t ? (F[e.behavior] || (e.buffer = await t.arrayBuffer(),
++Re.actual_downloaded_assets_count),
++Re.actual_downloaded_assets_count),
e) : e
e) : e
} finally {
} finally {
if (--k,
if (--k,
O && k == Re.maxParallelDownloads - 1) {
O && k == Re.maxParallelDownloads - 1) {
a("Resuming more parallel downloads");
a("Resuming more parallel downloads");
const e = O;
const e = O;
O = void 0,
O = void 0,
e.promise_control.resolve()
e.promise_control.resolve()
}
}
}
}
}
}
function K(e, t) {
function K(e, t) {
let o;
let o;
return null == t && De(!1, `sourcePrefix must be provided for ${e.name}`),
return null == t && De(!1, `sourcePrefix must be provided for ${e.name}`),
e.resolvedUrl ? o = e.resolvedUrl : (o = "" === t ? "assembly" === e.behavior || "pdb" === e.behavior ? e.name : "resource" === e.behavior && e.culture && "" !== e.culture ? `${e.culture}/${e.name}` : e.name : t + e.name,
e.resolvedUrl ? o = e.resolvedUrl : (o = "" === t ? "assembly" === e.behavior || "pdb" === e.behavior ? e.name : "resource" === e.behavior && e.culture && "" !== e.culture ? `${e.culture}/${e.name}` : e.name : t + e.name,
o = X(Re.locateFile(o), e.behavior)),
o = X(Re.locateFile(o), e.behavior)),
o && "string" == typeof o || De(!1, "attemptUrl need to be path or url string"),
o && "string" == typeof o || De(!1, "attemptUrl need to be path or url string"),
o
o
}
}
function X(e, t) {
function X(e, t) {
return Re.modulesUniqueQuery && P[t] && (e += Re.modulesUniqueQuery),
return Re.modulesUniqueQuery && P[t] && (e += Re.modulesUniqueQuery),
e
e
}
}
let ee = 0;
let ee = 0;
const te = new Set;
const te = new Set;
function oe(e) {
function oe(e) {
try {
try {
e.resolvedUrl || De(!1, "Request's resolvedUrl must be set");
e.resolvedUrl || De(!1, "Request's resolvedUrl must be set");
const t = async function(e) {
const t = async function(e) {
let t = await async function(e) {
let t = await async function(e) {
const t = p;
const t = p;
if (!t || e.noCache || !e.hash || 0 === e.hash.length)
if (!t || e.noCache || !e.hash || 0 === e.hash.length)
return;
return;
const o = _(e);
const o = _(e);
let n;
let n;
m[o] = !0;
m[o] = !0;
try {
try {
n = await t.match(o)
n = await t.match(o)
} catch (e) {}
} catch (e) {}
if (!n)
if (!n)
return;
return;
const r = parseInt(n.headers.get("content-length") || "0");
const r = parseInt(n.headers.get("content-length") || "0");
return g[e.name] = {
return g[e.name] = {
responseBytes: r
responseBytes: r
},
},
n
n
}(e);
}(e);
return t || (t = await function(e) {
return t || (t = await function(e) {
let t = e.resolvedUrl;
let t = e.resolvedUrl;
if (Re.loadBootResource) {
if (Re.loadBootResource) {
const o = re(e);
const o = re(e);
if (o instanceof Promise)
if (o instanceof Promise)
return o;
return o;
"string" == typeof o && (t = o)
"string" == typeof o && (t = o)
}
}
const o = {};
const o = {};
return Re.config.disableNoCacheFetch || (o.cache = "no-cache"),
return Re.config.disableNoCacheFetch || (o.cache = "no-cache"),
e.useCredentials ? o.credentials = "include" : !Re.config.disableIntegrityCheck && e.hash && (o.integrity = e.hash),
e.useCredentials ? o.credentials = "include" : !Re.config.disableIntegrityCheck && e.hash && (o.integrity = e.hash),
Re.fetch_like(t, o)
Re.fetch_like(t, o)
}(e),
}(e),
function(e, t) {
function(e, t) {
const o = p;
const o = p;
if (!o || e.noCache || !e.hash || 0 === e.hash.length)
if (!o || e.noCache || !e.hash || 0 === e.hash.length)
return;
return;
const n = t.clone();
const n = t.clone();
setTimeout((()=>{
setTimeout((()=>{
const t = _(e);
const t = _(e);
!async function(e, t, o, n) {
!async function(e, t, o, n) {
const r = await n.arrayBuffer()
const r = await n.arrayBuffer()
, s = function(e) {
, s = function(e) {
if ("undefined" != typeof performance)
if ("undefined" != typeof performance)
return performance.getEntriesByName(e)[0]
return performance.getEntriesByName(e)[0]
}(n.url)
}(n.url)
, i = s && s.encodedBodySize || void 0;
, i = s && s.encodedBodySize || void 0;
h[t] = {
h[t] = {
responseBytes: i
responseBytes: i
};
};
const a = new Response(r,{
const a = new Response(r,{
headers: {
headers: {
"content-type": n.headers.get("content-type") || "",
"content-type": n.headers.get("content-type") || "",
"content-length": (i || n.headers.get("content-length") || "").toString()
"content-length": (i || n.headers.get("content-length") || "").toString()
}
}
});
});
try {
try {
await e.put(o, a)
await e.put(o, a)
} catch (e) {}
} catch (e) {}
}(o, e.name, t, n)
}(o, e.name, t, n)
}
}
), 0)
), 0)
}(e, t)),
}(e, t)),
t
t
}(e)
}(e)
, o = {
, o = {
name: e.name,
name: e.name,
url: e.resolvedUrl,
url: e.resolvedUrl,
response: t
response: t
};
};
return te.add(e.name),
return te.add(e.name),
o.response.then((()=>{
o.response.then((()=>{
"assembly" == e.behavior && Re.loadedAssemblies.push(e.resolvedUrl),
"assembly" == e.behavior && Re.loadedAssemblies.push(e.name),
ee++,
ee++,
Re.onDownloadResourceProgress && Re.onDownloadResourceProgress(ee, te.size)
Re.onDownloadResourceProgress && Re.onDownloadResourceProgress(ee, te.size)
}
}
)),
)),
o
o
} catch (t) {
} catch (t) {
const o = {
const o = {
ok: !1,
ok: !1,
url: e.resolvedUrl,
url: e.resolvedUrl,
status: 500,
status: 500,
statusText: "ERR29: " + t,
statusText: "ERR29: " + t,
arrayBuffer: ()=>{
arrayBuffer: ()=>{
throw t
throw t
}
}
,
,
json: ()=>{
json: ()=>{
throw t
throw t
}
}
};
};
return {
return {
name: e.name,
name: e.name,
url: e.resolvedUrl,
url: e.resolvedUrl,
response: Promise.resolve(o)
response: Promise.resolve(o)
}
}
}
}
}
}
const ne = {
const ne = {
resource: "assembly",
resource: "assembly",
assembly: "assembly",
assembly: "assembly",
pdb: "pdb",
pdb: "pdb",
icu: "globalization",
icu: "globalization",
vfs: "configuration",
vfs: "configuration",
manifest: "manifest",
manifest: "manifest",
dotnetwasm: "dotnetwasm",
dotnetwasm: "dotnetwasm",
"js-module-dotnet": "dotnetjs",
"js-module-dotnet": "dotnetjs",
"js-module-native": "dotnetjs",
"js-module-native": "dotnetjs",
"js-module-runtime": "dotnetjs",
"js-module-runtime": "dotnetjs",
"js-module-threads": "dotnetjs"
"js-module-threads": "dotnetjs"
};
};
function re(e) {
function re(e) {
var t;
var t;
if (Re.loadBootResource) {
if (Re.loadBootResource) {
const o = null !== (t = e.hash) && void 0 !== t ? t : ""
const o = null !== (t = e.hash) && void 0 !== t ? t : ""
, n = e.resolvedUrl
, n = e.resolvedUrl
, r = ne[e.behavior];
, r = ne[e.behavior];
if (r) {
if (r) {
const t = Re.loadBootResource(r, e.name, n, o, e.behavior);
const t = Re.loadBootResource(r, e.name, n, o, e.behavior);
return "string" == typeof t ? A(t) : t
return "string" == typeof t ? A(t) : t
}
}
}
}
}
}
function se(e) {
function se(e) {
e.pendingDownloadInternal = null,
e.pendingDownloadInternal = null,
e.pendingDownload = null,
e.pendingDownload = null,
e.buffer = null,
e.buffer = null,
e.moduleExports = null
e.moduleExports = null
}
}
function ie(e) {
function ie(e) {
let t = e.lastIndexOf("/");
let t = e.lastIndexOf("/");
return t >= 0 && t++,
return t >= 0 && t++,
e.substring(t)
e.substring(t)
}
}
async function ae(e) {
async function ae(e) {
if (!e)
if (!e)
return;
return;
const t = Object.keys(e);
const t = Object.keys(e);
await Promise.all(t.map((e=>async function(e) {
await Promise.all(t.map((e=>async function(e) {
try {
try {
const t = X(Re.locateFile(e), "js-module-library-initializer");
const t = X(Re.locateFile(e), "js-module-library-initializer");
a(`Attempting to import '${t}' for ${e}`);
a(`Attempting to import '${t}' for ${e}`);
const o = await import(t);
const o = await import(t);
Re.libraryInitializers.push({
Re.libraryInitializers.push({
scriptName: e,
scriptName: e,
exports: o
exports: o
})
})
} catch (t) {
} catch (t) {
c(`Failed to import library initializer '${e}': ${t}`)
c(`Failed to import library initializer '${e}': ${t}`)
}
}
}(e))))
}(e))))
}
}
async function le(e, t) {
async function le(e, t) {
if (!Re.libraryInitializers)
if (!Re.libraryInitializers)
return;
return;
const o = [];
const o = [];
for (let n = 0; n < Re.libraryInitializers.length; n++) {
for (let n = 0; n < Re.libraryInitializers.length; n++) {
const r = Re.libraryInitializers[n];
const r = Re.libraryInitializers[n];
r.exports[e] && o.push(ce(r.scriptName, e, (()=>r.exports[e](...t))))
r.exports[e] && o.push(ce(r.scriptName, e, (()=>r.exports[e](...t))))
}
}
await Promise.all(o)
await Promise.all(o)
}
}
async function ce(e, t, o) {
async function ce(e, t, o) {
try {
try {
await o()
await o()
} catch (o) {
} catch (o) {
throw c(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),
throw c(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),
ke(1, o),
ke(1, o),
o
o
}
}
}
}
var ue = "Release";
var ue = "Release";
function de(e, t) {
function de(e, t) {
if (e === t)
if (e === t)
return e;
return e;
const o = {
const o = {
...t
...t
};
};
return void 0 !== o.assets && o.assets !== e.assets && (o.assets = [...e.assets || [], ...o.assets || []]),
return void 0 !== o.assets && o.assets !== e.assets && (o.assets = [...e.assets || [], ...o.assets || []]),
void 0 !== o.resources && (o.resources = me(e.resources || {
void 0 !== o.resources && (o.resources = me(e.resources || {
assembly: {},
assembly: {},
jsModuleNative: {},
jsModuleNative: {},
jsModuleRuntime: {},
jsModuleRuntime: {},
wasmNative: {}
wasmNative: {}
}, o.resources)),
}, o.resources)),
void 0 !== o.environmentVariables && (o.environmentVariables = {
void 0 !== o.environmentVariables && (o.environmentVariables = {
...e.environmentVariables || {},
...e.environmentVariables || {},
...o.environmentVariables || {}
...o.environmentVariables || {}
}),
}),
void 0 !== o.runtimeOptions && o.runtimeOptions !== e.runtimeOptions && (o.runtimeOptions = [...e.runtimeOptions || [], ...o.runtimeOptions || []]),
void 0 !== o.runtimeOptions && o.runtimeOptions !== e.runtimeOptions && (o.runtimeOptions = [...e.runtimeOptions || [], ...o.runtimeOptions || []]),
Object.assign(e, o)
Object.assign(e, o)
}
}
function fe(e, t) {
function fe(e, t) {
if (e === t)
if (e === t)
return e;
return e;
const o = {
const o = {
...t
...t
};
};
return o.config && (e.config || (e.config = {}),
return o.config && (e.config || (e.config = {}),
o.config = de(e.config, o.config)),
o.config = de(e.config, o.config)),
Object.assign(e, o)
Object.assign(e, o)
}
}
function me(e, t) {
function me(e, t) {
if (e === t)
if (e === t)
return e;
return e;
const o = {
const o = {
...t
...t
};
};
return void 0 !== o.assembly && (o.assembly = {
return void 0 !== o.assembly && (o.assembly = {
...e.assembly || {},
...e.assembly || {},
...o.assembly || {}
...o.assembly || {}
}),
}),
void 0 !== o.lazyAssembly && (o.lazyAssembly = {
void 0 !== o.lazyAssembly && (o.lazyAssembly = {
...e.lazyAssembly || {},
...e.lazyAssembly || {},
...o.lazyAssembly || {}
...o.lazyAssembly || {}
}),
}),
void 0 !== o.pdb && (o.pdb = {
void 0 !== o.pdb && (o.pdb = {
...e.pdb || {},
...e.pdb || {},
...o.pdb || {}
...o.pdb || {}
}),
}),
void 0 !== o.jsModuleWorker && (o.jsModuleWorker = {
void 0 !== o.jsModuleWorker && (o.jsModuleWorker = {
...e.jsModuleWorker || {},
...e.jsModuleWorker || {},
...o.jsModuleWorker || {}
...o.jsModuleWorker || {}
}),
}),
void 0 !== o.jsModuleNative && (o.jsModuleNative = {
void 0 !== o.jsModuleNative && (o.jsModuleNative = {
...e.jsModuleNative || {},
...e.jsModuleNative || {},
...o.jsModuleNative || {}
...o.jsModuleNative || {}
}),
}),
void 0 !== o.jsModuleRuntime && (o.jsModuleRuntime = {
void 0 !== o.jsModuleRuntime && (o.jsModuleRuntime = {
...e.jsModuleRuntime || {},
...e.jsModuleRuntime || {},
...o.jsModuleRuntime || {}
...o.jsModuleRuntime || {}
}),
}),
void 0 !== o.wasmSymbols && (o.wasmSymbols = {
void 0 !== o.wasmSymbols && (o.wasmSymbols = {
...e.wasmSymbols || {},
...e.wasmSymbols || {},
...o.wasmSymbols || {}
...o.wasmSymbols || {}
}),
}),
void 0 !== o.wasmNative && (o.wa
void 0 !== o.wasmNative && (o.wasmNative = {
...e.wasmNative || {},
...o.wasmNative || {}
}),
void 0 !== o.icu && (o.icu = {
...e.icu || {},
...o.icu || {}
}),
void 0