@softarc/native-federation-runtime 3.4.1 → 3.4.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softarc-native-federation-runtime.mjs","sources":["../tmp-esm2022/lib/get-shared.js","../tmp-esm2022/lib/model/global-cache.js","../tmp-esm2022/lib/model/externals.js","../tmp-esm2022/lib/model/import-map.js","../tmp-esm2022/lib/model/remotes.js","../tmp-esm2022/lib/utils/add-import-map.js","../tmp-esm2022/lib/utils/path-utils.js","../tmp-esm2022/lib/model/build-notifications-options.js","../tmp-esm2022/lib/watch-federation-build.js","../tmp-esm2022/lib/init-federation.js","../tmp-esm2022/lib/load-remote-module.js","../tmp-esm2022/softarc-native-federation-runtime.js"],"sourcesContent":["const defaultShareOptions = {\n singleton: false,\n requiredVersionPrefix: '',\n};\nexport function getShared(options = defaultShareOptions) {\n const nfc = window;\n const externals = nfc.__NATIVE_FEDERATION__.externals;\n const shared = {};\n const allKeys = [...externals.keys()];\n const keys = allKeys\n .filter((k) => !k.startsWith('/@id/') &&\n !k.startsWith('@angular-architects/module-federation') &&\n !k.endsWith('@'))\n .sort();\n for (const key of keys) {\n const idx = key.lastIndexOf('@');\n const pkgName = key.substring(0, idx);\n const version = key.substring(idx + 1);\n const path = externals.get(key) ?? '';\n const shareObj = {\n version,\n get: async () => {\n const lib = await window.importShim(path);\n return () => lib;\n },\n shareConfig: {\n singleton: options.singleton,\n requiredVersion: options.requiredVersionPrefix + version,\n },\n };\n if (!shared[pkgName]) {\n shared[pkgName] = [];\n }\n shared[pkgName].push(shareObj);\n }\n return shared;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL2dldC1zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJBLE1BQU0sbUJBQW1CLEdBQWlCO0lBQ3hDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLHFCQUFxQixFQUFFLEVBQUU7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBTyxHQUFHLG1CQUFtQjtJQUNyRCxNQUFNLEdBQUcsR0FBRyxNQUE4QyxDQUFDO0lBQzNELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEMsTUFBTSxJQUFJLEdBQUcsT0FBTztTQUNqQixNQUFNLENBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLHVDQUF1QyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDbkI7U0FDQSxJQUFJLEVBQUUsQ0FBQztJQUVWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFFBQVEsR0FBZ0I7WUFDNUIsT0FBTztZQUNQLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDZCxNQUFNLEdBQUcsR0FBRyxNQUFPLE1BQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ25CLENBQUM7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO2dCQUM1QixlQUFlLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixHQUFHLE9BQU87YUFDekQ7U0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFR5cGU8VD4gPSBuZXcgKCkgPT4gVDtcblxudHlwZSBOYXRpdmVGZWRlcmF0aW9uQ29udGFpbmVyID0ge1xuICBfX05BVElWRV9GRURFUkFUSU9OX186IHtcbiAgICBiYXNlVXJsVG9SZW1vdGVOYW1lczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBleHRlcm5hbHM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBTaGFyZU9iamVjdCA9IHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbiAgZ2V0OiAoKSA9PiBQcm9taXNlPCgpID0+IFR5cGU8dW5rbm93bj4+O1xuICBzaGFyZUNvbmZpZz86IHtcbiAgICBzaW5nbGV0b24/OiBib29sZWFuO1xuICAgIHJlcXVpcmVkVmVyc2lvbjogc3RyaW5nO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgU2hhcmVDb25maWcgPSB7XG4gIFtwa2dOYW1lOiBzdHJpbmddOiBBcnJheTxTaGFyZU9iamVjdD47XG59O1xuXG5leHBvcnQgdHlwZSBTaGFyZU9wdGlvbnMgPSB7XG4gIHNpbmdsZXRvbjogYm9vbGVhbjtcbiAgcmVxdWlyZWRWZXJzaW9uUHJlZml4OiAnXicgfCAnficgfCAnPicgfCAnPj0nIHwgJyc7XG59O1xuXG5jb25zdCBkZWZhdWx0U2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMgPSB7XG4gIHNpbmdsZXRvbjogZmFsc2UsXG4gIHJlcXVpcmVkVmVyc2lvblByZWZpeDogJycsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkKG9wdGlvbnMgPSBkZWZhdWx0U2hhcmVPcHRpb25zKSB7XG4gIGNvbnN0IG5mYyA9IHdpbmRvdyBhcyB1bmtub3duIGFzIE5hdGl2ZUZlZGVyYXRpb25Db250YWluZXI7XG4gIGNvbnN0IGV4dGVybmFscyA9IG5mYy5fX05BVElWRV9GRURFUkFUSU9OX18uZXh0ZXJuYWxzO1xuICBjb25zdCBzaGFyZWQ6IFNoYXJlQ29uZmlnID0ge307XG5cbiAgY29uc3QgYWxsS2V5cyA9IFsuLi5leHRlcm5hbHMua2V5cygpXTtcbiAgY29uc3Qga2V5cyA9IGFsbEtleXNcbiAgICAuZmlsdGVyKFxuICAgICAgKGspID0+XG4gICAgICAgICFrLnN0YXJ0c1dpdGgoJy9AaWQvJykgJiZcbiAgICAgICAgIWsuc3RhcnRzV2l0aCgnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbicpICYmXG4gICAgICAgICFrLmVuZHNXaXRoKCdAJyksXG4gICAgKVxuICAgIC5zb3J0KCk7XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGNvbnN0IGlkeCA9IGtleS5sYXN0SW5kZXhPZignQCcpO1xuICAgIGNvbnN0IHBrZ05hbWUgPSBrZXkuc3Vic3RyaW5nKDAsIGlkeCk7XG4gICAgY29uc3QgdmVyc2lvbiA9IGtleS5zdWJzdHJpbmcoaWR4ICsgMSk7XG4gICAgY29uc3QgcGF0aCA9IGV4dGVybmFscy5nZXQoa2V5KSA/PyAnJztcblxuICAgIGNvbnN0IHNoYXJlT2JqOiBTaGFyZU9iamVjdCA9IHtcbiAgICAgIHZlcnNpb24sXG4gICAgICBnZXQ6IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbGliID0gYXdhaXQgKHdpbmRvdyBhcyBhbnkpLmltcG9ydFNoaW0ocGF0aCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBsaWI7XG4gICAgICB9LFxuICAgICAgc2hhcmVDb25maWc6IHtcbiAgICAgICAgc2luZ2xldG9uOiBvcHRpb25zLnNpbmdsZXRvbixcbiAgICAgICAgcmVxdWlyZWRWZXJzaW9uOiBvcHRpb25zLnJlcXVpcmVkVmVyc2lvblByZWZpeCArIHZlcnNpb24sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAoIXNoYXJlZFtwa2dOYW1lXSkge1xuICAgICAgc2hhcmVkW3BrZ05hbWVdID0gW107XG4gICAgfVxuXG4gICAgc2hhcmVkW3BrZ05hbWVdLnB1c2goc2hhcmVPYmopO1xuICB9XG4gIHJldHVybiBzaGFyZWQ7XG59XG4iXX0=","export const nfNamespace = '__NATIVE_FEDERATION__';\nconst global = globalThis;\nglobal[nfNamespace] ??= {\n externals: new Map(),\n remoteNamesToRemote: new Map(),\n baseUrlToRemoteNames: new Map(),\n};\nexport const globalCache = global[nfNamespace];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbW9kZWwvZ2xvYmFsLWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQVluRCxNQUFNLE1BQU0sR0FBRyxVQUErQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSztJQUN0QixTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQWtCO0lBQ3BDLG1CQUFtQixFQUFFLElBQUksR0FBRyxFQUFrQjtJQUM5QyxvQkFBb0IsRUFBRSxJQUFJLEdBQUcsRUFBa0I7Q0FDaEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdGUgfSBmcm9tICcuL3JlbW90ZXMnO1xuXG5leHBvcnQgY29uc3QgbmZOYW1lc3BhY2UgPSAnX19OQVRJVkVfRkVERVJBVElPTl9fJztcblxuZXhwb3J0IHR5cGUgTmZDYWNoZSA9IHtcbiAgZXh0ZXJuYWxzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICByZW1vdGVOYW1lc1RvUmVtb3RlOiBNYXA8c3RyaW5nLCBSZW1vdGU+O1xuICBiYXNlVXJsVG9SZW1vdGVOYW1lczogTWFwPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbmV4cG9ydCB0eXBlIEdsb2JhbCA9IHtcbiAgW25mTmFtZXNwYWNlXTogTmZDYWNoZTtcbn07XG5cbmNvbnN0IGdsb2JhbCA9IGdsb2JhbFRoaXMgYXMgdW5rbm93biBhcyBHbG9iYWw7XG5cbmdsb2JhbFtuZk5hbWVzcGFjZV0gPz89IHtcbiAgZXh0ZXJuYWxzOiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpLFxuICByZW1vdGVOYW1lc1RvUmVtb3RlOiBuZXcgTWFwPHN0cmluZywgUmVtb3RlPigpLFxuICBiYXNlVXJsVG9SZW1vdGVOYW1lczogbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbn07XG5cbmV4cG9ydCBjb25zdCBnbG9iYWxDYWNoZSA9IGdsb2JhbFtuZk5hbWVzcGFjZV07XG4iXX0=","import { globalCache } from './global-cache';\nconst externals = globalCache.externals;\nfunction getExternalKey(shared) {\n return `${shared.packageName}@${shared.version}`;\n}\nexport function getExternalUrl(shared) {\n const packageKey = getExternalKey(shared);\n return externals.get(packageKey);\n}\nexport function setExternalUrl(shared, url) {\n const packageKey = getExternalKey(shared);\n externals.set(packageKey, url);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbW9kZWwvZXh0ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0FBRXhDLFNBQVMsY0FBYyxDQUFDLE1BQWtCO0lBQ3hDLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWtCLEVBQUUsR0FBVztJQUM1RCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoYXJlZEluZm8gfSBmcm9tICcuL2ZlZGVyYXRpb24taW5mbyc7XG5pbXBvcnQgeyBnbG9iYWxDYWNoZSB9IGZyb20gJy4vZ2xvYmFsLWNhY2hlJztcblxuY29uc3QgZXh0ZXJuYWxzID0gZ2xvYmFsQ2FjaGUuZXh0ZXJuYWxzO1xuXG5mdW5jdGlvbiBnZXRFeHRlcm5hbEtleShzaGFyZWQ6IFNoYXJlZEluZm8pIHtcbiAgcmV0dXJuIGAke3NoYXJlZC5wYWNrYWdlTmFtZX1AJHtzaGFyZWQudmVyc2lvbn1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZXJuYWxVcmwoc2hhcmVkOiBTaGFyZWRJbmZvKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgcGFja2FnZUtleSA9IGdldEV4dGVybmFsS2V5KHNoYXJlZCk7XG4gIHJldHVybiBleHRlcm5hbHMuZ2V0KHBhY2thZ2VLZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RXh0ZXJuYWxVcmwoc2hhcmVkOiBTaGFyZWRJbmZvLCB1cmw6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwYWNrYWdlS2V5ID0gZ2V0RXh0ZXJuYWxLZXkoc2hhcmVkKTtcbiAgZXh0ZXJuYWxzLnNldChwYWNrYWdlS2V5LCB1cmwpO1xufVxuIl19","export function mergeImportMaps(map1, map2) {\n return {\n imports: { ...map1.imports, ...map2.imports },\n scopes: { ...map1.scopes, ...map2.scopes },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL21vZGVsL2ltcG9ydC1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFlLEVBQUUsSUFBZTtJQUM5RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUM3QyxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO0tBQzNDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSW1wb3J0cyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIFNjb3BlcyA9IFJlY29yZDxzdHJpbmcsIEltcG9ydHM+O1xuXG5leHBvcnQgdHlwZSBJbXBvcnRNYXAgPSB7XG4gIGltcG9ydHM6IEltcG9ydHM7XG4gIHNjb3BlczogU2NvcGVzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlSW1wb3J0TWFwcyhtYXAxOiBJbXBvcnRNYXAsIG1hcDI6IEltcG9ydE1hcCk6IEltcG9ydE1hcCB7XG4gIHJldHVybiB7XG4gICAgaW1wb3J0czogeyAuLi5tYXAxLmltcG9ydHMsIC4uLm1hcDIuaW1wb3J0cyB9LFxuICAgIHNjb3BlczogeyAuLi5tYXAxLnNjb3BlcywgLi4ubWFwMi5zY29wZXMgfSxcbiAgfTtcbn1cbiJdfQ==","import { globalCache } from './global-cache';\nconst remoteNamesToRemote = globalCache.remoteNamesToRemote;\nconst baseUrlToRemoteNames = globalCache.baseUrlToRemoteNames;\nexport function addRemote(remoteName, remote) {\n remoteNamesToRemote.set(remoteName, remote);\n baseUrlToRemoteNames.set(remote.baseUrl, remoteName);\n}\nexport function getRemoteNameByBaseUrl(baseUrl) {\n return baseUrlToRemoteNames.get(baseUrl);\n}\nexport function isRemoteInitialized(baseUrl) {\n return baseUrlToRemoteNames.has(baseUrl);\n}\nexport function getRemote(remoteName) {\n return remoteNamesToRemote.get(remoteName);\n}\nexport function hasRemote(remoteName) {\n return remoteNamesToRemote.has(remoteName);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL21vZGVsL3JlbW90ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTdDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDO0FBRTlELE1BQU0sVUFBVSxTQUFTLENBQUMsVUFBa0IsRUFBRSxNQUFjO0lBQzFELG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFlO0lBQ3BELE9BQU8sb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBZTtJQUNqRCxPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxVQUFrQjtJQUMxQyxPQUFPLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxVQUFrQjtJQUMxQyxPQUFPLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVkZXJhdGlvbkluZm8gfSBmcm9tICcuL2ZlZGVyYXRpb24taW5mbyc7XG5pbXBvcnQgeyBnbG9iYWxDYWNoZSB9IGZyb20gJy4vZ2xvYmFsLWNhY2hlJztcblxuZXhwb3J0IHR5cGUgUmVtb3RlID0gRmVkZXJhdGlvbkluZm8gJiB7XG4gIGJhc2VVcmw6IHN0cmluZztcbn07XG5cbmNvbnN0IHJlbW90ZU5hbWVzVG9SZW1vdGUgPSBnbG9iYWxDYWNoZS5yZW1vdGVOYW1lc1RvUmVtb3RlO1xuY29uc3QgYmFzZVVybFRvUmVtb3RlTmFtZXMgPSBnbG9iYWxDYWNoZS5iYXNlVXJsVG9SZW1vdGVOYW1lcztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlbW90ZShyZW1vdGVOYW1lOiBzdHJpbmcsIHJlbW90ZTogUmVtb3RlKTogdm9pZCB7XG4gIHJlbW90ZU5hbWVzVG9SZW1vdGUuc2V0KHJlbW90ZU5hbWUsIHJlbW90ZSk7XG4gIGJhc2VVcmxUb1JlbW90ZU5hbWVzLnNldChyZW1vdGUuYmFzZVVybCwgcmVtb3RlTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYW1lQnlCYXNlVXJsKGJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBiYXNlVXJsVG9SZW1vdGVOYW1lcy5nZXQoYmFzZVVybCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlbW90ZUluaXRpYWxpemVkKGJhc2VVcmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gYmFzZVVybFRvUmVtb3RlTmFtZXMuaGFzKGJhc2VVcmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlKHJlbW90ZU5hbWU6IHN0cmluZyk6IFJlbW90ZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiByZW1vdGVOYW1lc1RvUmVtb3RlLmdldChyZW1vdGVOYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlbW90ZShyZW1vdGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHJlbW90ZU5hbWVzVG9SZW1vdGUuaGFzKHJlbW90ZU5hbWUpO1xufVxuIl19","export function appendImportMap(importMap) {\n document.head.appendChild(Object.assign(document.createElement('script'), {\n type: 'importmap-shim',\n innerHTML: JSON.stringify(importMap),\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWltcG9ydC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25hdGl2ZS1mZWRlcmF0aW9uLXJ1bnRpbWUvc3JjL2xpYi91dGlscy9hZGQtaW1wb3J0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQW9CO0lBQ2xELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDOUMsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7S0FDckMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1wb3J0TWFwIH0gZnJvbSAnLi4vbW9kZWwvaW1wb3J0LW1hcCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRJbXBvcnRNYXAoaW1wb3J0TWFwOiBJbXBvcnRNYXApIHtcbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChcbiAgICBPYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLCB7XG4gICAgICB0eXBlOiAnaW1wb3J0bWFwLXNoaW0nLFxuICAgICAgaW5uZXJIVE1MOiBKU09OLnN0cmluZ2lmeShpbXBvcnRNYXApLFxuICAgIH0pLFxuICApO1xufVxuIl19","export function getDirectory(url) {\n const parts = url.split('/');\n parts.pop();\n return parts.join('/');\n}\nexport function joinPaths(path1, path2) {\n while (path1.endsWith('/')) {\n path1 = path1.substring(0, path1.length - 1);\n }\n if (path2.startsWith('./')) {\n path2 = path2.substring(2, path2.length);\n }\n return `${path1}/${path2}`;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL3V0aWxzL3BhdGgtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ1osT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQ3BELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0RGlyZWN0b3J5KHVybDogc3RyaW5nKSB7XG4gIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJyk7XG4gIHBhcnRzLnBvcCgpO1xuICByZXR1cm4gcGFydHMuam9pbignLycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pblBhdGhzKHBhdGgxOiBzdHJpbmcsIHBhdGgyOiBzdHJpbmcpOiBzdHJpbmcge1xuICB3aGlsZSAocGF0aDEuZW5kc1dpdGgoJy8nKSkge1xuICAgIHBhdGgxID0gcGF0aDEuc3Vic3RyaW5nKDAsIHBhdGgxLmxlbmd0aCAtIDEpO1xuICB9XG4gIGlmIChwYXRoMi5zdGFydHNXaXRoKCcuLycpKSB7XG4gICAgcGF0aDIgPSBwYXRoMi5zdWJzdHJpbmcoMiwgcGF0aDIubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBgJHtwYXRoMX0vJHtwYXRoMn1gO1xufVxuIl19","export const BUILD_NOTIFICATIONS_ENDPOINT = '/@angular-architects/native-federation:build-notifications';\nexport var BuildNotificationType;\n(function (BuildNotificationType) {\n BuildNotificationType[\"COMPLETED\"] = \"federation-rebuild-complete\";\n BuildNotificationType[\"ERROR\"] = \"federation-rebuild-error\";\n BuildNotificationType[\"CANCELLED\"] = \"federation-rebuild-cancelled\";\n})(BuildNotificationType || (BuildNotificationType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtbm90aWZpY2F0aW9ucy1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbW9kZWwvYnVpbGQtbm90aWZpY2F0aW9ucy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUN2Qyw0REFBNEQsQ0FBQztBQUUvRCxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLGtFQUF5QyxDQUFBO0lBQ3pDLDJEQUFrQyxDQUFBO0lBQ2xDLG1FQUEwQyxDQUFBO0FBQzVDLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCdWlsZE5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICBlbmFibGU6IGJvb2xlYW47XG4gIGVuZHBvaW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBCVUlMRF9OT1RJRklDQVRJT05TX0VORFBPSU5UID1cbiAgJy9AYW5ndWxhci1hcmNoaXRlY3RzL25hdGl2ZS1mZWRlcmF0aW9uOmJ1aWxkLW5vdGlmaWNhdGlvbnMnO1xuXG5leHBvcnQgZW51bSBCdWlsZE5vdGlmaWNhdGlvblR5cGUge1xuICBDT01QTEVURUQgPSAnZmVkZXJhdGlvbi1yZWJ1aWxkLWNvbXBsZXRlJyxcbiAgRVJST1IgPSAnZmVkZXJhdGlvbi1yZWJ1aWxkLWVycm9yJyxcbiAgQ0FOQ0VMTEVEID0gJ2ZlZGVyYXRpb24tcmVidWlsZC1jYW5jZWxsZWQnLFxufVxuIl19","import { BuildNotificationType } from './model/build-notifications-options';\n/**\n * Watches for federation build completion events and automatically reloads the page.\n *\n * This function establishes a Server-Sent Events (SSE) connection to listen for\n * 'federation-rebuild-complete' notifications. When a build completes successfully,\n * it triggers a page reload to reflect the latest changes.\n * @param endpoint - The SSE endpoint URL to watch for build notifications.\n */\nexport function watchFederationBuildCompletion(endpoint) {\n const eventSource = new EventSource(endpoint);\n eventSource.onmessage = function (event) {\n const data = JSON.parse(event.data);\n if (data.type === BuildNotificationType.COMPLETED) {\n console.log('[Federation] Rebuild completed, reloading...');\n window.location.reload();\n }\n };\n eventSource.onerror = function (event) {\n console.warn('[Federation] SSE connection error:', event);\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2gtZmVkZXJhdGlvbi1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL3dhdGNoLWZlZGVyYXRpb24tYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFNUU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxRQUFnQjtJQUM3RCxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5QyxXQUFXLENBQUMsU0FBUyxHQUFHLFVBQVUsS0FBSztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLFdBQVcsQ0FBQyxPQUFPLEdBQUcsVUFBVSxLQUFLO1FBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4vbW9kZWwvYnVpbGQtbm90aWZpY2F0aW9ucy1vcHRpb25zJztcblxuLyoqXG4gKiBXYXRjaGVzIGZvciBmZWRlcmF0aW9uIGJ1aWxkIGNvbXBsZXRpb24gZXZlbnRzIGFuZCBhdXRvbWF0aWNhbGx5IHJlbG9hZHMgdGhlIHBhZ2UuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBlc3RhYmxpc2hlcyBhIFNlcnZlci1TZW50IEV2ZW50cyAoU1NFKSBjb25uZWN0aW9uIHRvIGxpc3RlbiBmb3JcbiAqICdmZWRlcmF0aW9uLXJlYnVpbGQtY29tcGxldGUnIG5vdGlmaWNhdGlvbnMuIFdoZW4gYSBidWlsZCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LFxuICogaXQgdHJpZ2dlcnMgYSBwYWdlIHJlbG9hZCB0byByZWZsZWN0IHRoZSBsYXRlc3QgY2hhbmdlcy5cbiAqIEBwYXJhbSBlbmRwb2ludCAtIFRoZSBTU0UgZW5kcG9pbnQgVVJMIHRvIHdhdGNoIGZvciBidWlsZCBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2F0Y2hGZWRlcmF0aW9uQnVpbGRDb21wbGV0aW9uKGVuZHBvaW50OiBzdHJpbmcpIHtcbiAgY29uc3QgZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoZW5kcG9pbnQpO1xuXG4gIGV2ZW50U291cmNlLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xuICAgIGlmIChkYXRhLnR5cGUgPT09IEJ1aWxkTm90aWZpY2F0aW9uVHlwZS5DT01QTEVURUQpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdbRmVkZXJhdGlvbl0gUmVidWlsZCBjb21wbGV0ZWQsIHJlbG9hZGluZy4uLicpO1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfTtcblxuICBldmVudFNvdXJjZS5vbmVycm9yID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgY29uc29sZS53YXJuKCdbRmVkZXJhdGlvbl0gU1NFIGNvbm5lY3Rpb24gZXJyb3I6JywgZXZlbnQpO1xuICB9O1xufVxuIl19","import { getExternalUrl, setExternalUrl } from './model/externals';\nimport { mergeImportMaps, } from './model/import-map';\nimport { addRemote } from './model/remotes';\nimport { appendImportMap } from './utils/add-import-map';\nimport { getDirectory, joinPaths } from './utils/path-utils';\nimport { watchFederationBuildCompletion } from './watch-federation-build';\n/**\n * Initialize the federation runtime\n * @param remotesOrManifestUrl\n * @param options The cacheTag allows you to invalidate the cache of the remoteEntry.json files, pass a new value with every release (f.ex. the version number)\n */\nexport async function initFederation(remotesOrManifestUrl = {}, options) {\n const cacheOption = options?.cacheTag ? `?t=${options.cacheTag}` : '';\n const remotes = typeof remotesOrManifestUrl === 'string'\n ? await loadManifest(remotesOrManifestUrl + cacheOption)\n : remotesOrManifestUrl;\n const url = './remoteEntry.json' + cacheOption;\n const hostInfo = await loadFederationInfo(url);\n const hostImportMap = await processHostInfo(hostInfo);\n const remotesImportMap = await processRemoteInfos(remotes, {\n throwIfRemoteNotFound: false,\n ...options,\n });\n const importMap = mergeImportMaps(hostImportMap, remotesImportMap);\n appendImportMap(importMap);\n return importMap;\n}\nasync function loadManifest(remotes) {\n return (await fetch(remotes).then((r) => r.json()));\n}\nexport async function processRemoteInfos(remotes, options = { throwIfRemoteNotFound: false }) {\n const processRemoteInfoPromises = Object.keys(remotes).map(async (remoteName) => {\n try {\n let url = remotes[remoteName];\n if (options.cacheTag) {\n const addAppend = remotes[remoteName].includes('?') ? '&' : '?';\n url += `${addAppend}t=${options.cacheTag}`;\n }\n return await processRemoteInfo(url, remoteName);\n }\n catch (e) {\n const error = `Error loading remote entry for ${remoteName} from file ${remotes[remoteName]}`;\n if (options.throwIfRemoteNotFound) {\n throw new Error(error);\n }\n console.error(error);\n return null;\n }\n });\n const remoteImportMaps = await Promise.all(processRemoteInfoPromises);\n const importMap = remoteImportMaps.reduce((acc, remoteImportMap) => remoteImportMap ? mergeImportMaps(acc, remoteImportMap) : acc, { imports: {}, scopes: {} });\n return importMap;\n}\nexport async function processRemoteInfo(federationInfoUrl, remoteName) {\n const baseUrl = getDirectory(federationInfoUrl);\n const remoteInfo = await loadFederationInfo(federationInfoUrl);\n if (!remoteName) {\n remoteName = remoteInfo.name;\n }\n if (remoteInfo.buildNotificationsEndpoint) {\n watchFederationBuildCompletion(baseUrl + remoteInfo.buildNotificationsEndpoint);\n }\n const importMap = createRemoteImportMap(remoteInfo, remoteName, baseUrl);\n addRemote(remoteName, { ...remoteInfo, baseUrl });\n return importMap;\n}\nfunction createRemoteImportMap(remoteInfo, remoteName, baseUrl) {\n const imports = processExposed(remoteInfo, remoteName, baseUrl);\n const scopes = processRemoteImports(remoteInfo, baseUrl);\n return { imports, scopes };\n}\nasync function loadFederationInfo(url) {\n const info = (await fetch(url).then((r) => r.json()));\n return info;\n}\nfunction processRemoteImports(remoteInfo, baseUrl) {\n const scopes = {};\n const scopedImports = {};\n for (const shared of remoteInfo.shared) {\n const outFileName = getExternalUrl(shared) ?? joinPaths(baseUrl, shared.outFileName);\n setExternalUrl(shared, outFileName);\n scopedImports[shared.packageName] = outFileName;\n }\n scopes[baseUrl + '/'] = scopedImports;\n return scopes;\n}\nfunction processExposed(remoteInfo, remoteName, baseUrl) {\n const imports = {};\n for (const exposed of remoteInfo.exposes) {\n const key = joinPaths(remoteName, exposed.key);\n const value = joinPaths(baseUrl, exposed.outFileName);\n imports[key] = value;\n }\n return imports;\n}\nexport async function processHostInfo(hostInfo, relBundlesPath = './') {\n const imports = hostInfo.shared.reduce((acc, cur) => ({\n ...acc,\n [cur.packageName]: relBundlesPath + cur.outFileName,\n }), {});\n for (const shared of hostInfo.shared) {\n setExternalUrl(shared, relBundlesPath + shared.outFileName);\n }\n return { imports, scopes: {} };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1mZWRlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvaW5pdC1mZWRlcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNbkUsT0FBTyxFQUdMLGVBQWUsR0FFaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyx1QkFBd0QsRUFBRSxFQUMxRCxPQUErQjtJQUUvQixNQUFNLFdBQVcsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RFLE1BQU0sT0FBTyxHQUNYLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtRQUN0QyxDQUFDLENBQUMsTUFBTSxZQUFZLENBQUMsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztJQUUzQixNQUFNLEdBQUcsR0FBRyxvQkFBb0IsR0FBRyxXQUFXLENBQUM7SUFDL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxN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QUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRFeHRlcm5hbFVybCwgc2V0RXh0ZXJuYWxVcmwgfSBmcm9tICcuL21vZGVsL2V4dGVybmFscyc7XG5pbXBvcnQge1xuICBGZWRlcmF0aW9uSW5mbyxcbiAgSW5pdEZlZGVyYXRpb25PcHRpb25zLFxuICBQcm9jZXNzUmVtb3RlSW5mb09wdGlvbnMsXG59IGZyb20gJy4vbW9kZWwvZmVkZXJhdGlvbi1pbmZvJztcbmltcG9ydCB7XG4gIEltcG9ydE1hcCxcbiAgSW1wb3J0cyxcbiAgbWVyZ2VJbXBvcnRNYXBzLFxuICBTY29wZXMsXG59IGZyb20gJy4vbW9kZWwvaW1wb3J0LW1hcCc7XG5pbXBvcnQgeyBhZGRSZW1vdGUgfSBmcm9tICcuL21vZGVsL3JlbW90ZXMnO1xuaW1wb3J0IHsgYXBwZW5kSW1wb3J0TWFwIH0gZnJvbSAnLi91dGlscy9hZGQtaW1wb3J0LW1hcCc7XG5pbXBvcnQgeyBnZXREaXJlY3RvcnksIGpvaW5QYXRocyB9IGZyb20gJy4vdXRpbHMvcGF0aC11dGlscyc7XG5pbXBvcnQgeyB3YXRjaEZlZGVyYXRpb25CdWlsZENvbXBsZXRpb24gfSBmcm9tICcuL3dhdGNoLWZlZGVyYXRpb24tYnVpbGQnO1xuXG4vKipcbiAqIEluaXRpYWxpemUgdGhlIGZlZGVyYXRpb24gcnVudGltZVxuICogQHBhcmFtIHJlbW90ZXNPck1hbmlmZXN0VXJsXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgY2FjaGVUYWcgYWxsb3dzIHlvdSB0byBpbnZhbGlkYXRlIHRoZSBjYWNoZSBvZiB0aGUgcmVtb3RlRW50cnkuanNvbiBmaWxlcywgcGFzcyBhIG5ldyB2YWx1ZSB3aXRoIGV2ZXJ5IHJlbGVhc2UgKGYuZXguIHRoZSB2ZXJzaW9uIG51bWJlcilcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXRGZWRlcmF0aW9uKFxuICByZW1vdGVzT3JNYW5pZmVzdFVybDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZyA9IHt9LFxuICBvcHRpb25zPzogSW5pdEZlZGVyYXRpb25PcHRpb25zLFxuKTogUHJvbWlzZTxJbXBvcnRNYXA+IHtcbiAgY29uc3QgY2FjaGVPcHRpb24gPSBvcHRpb25zPy5jYWNoZVRhZyA/IGA/dD0ke29wdGlvbnMuY2FjaGVUYWd9YCA6ICcnO1xuICBjb25zdCByZW1vdGVzID1cbiAgICB0eXBlb2YgcmVtb3Rlc09yTWFuaWZlc3RVcmwgPT09ICdzdHJpbmcnXG4gICAgICA/IGF3YWl0IGxvYWRNYW5pZmVzdChyZW1vdGVzT3JNYW5pZmVzdFVybCArIGNhY2hlT3B0aW9uKVxuICAgICAgOiByZW1vdGVzT3JNYW5pZmVzdFVybDtcblxuICBjb25zdCB1cmwgPSAnLi9yZW1vdGVFbnRyeS5qc29uJyArIGNhY2hlT3B0aW9uO1xuICBjb25zdCBob3N0SW5mbyA9IGF3YWl0IGxvYWRGZWRlcmF0aW9uSW5mbyh1cmwpO1xuICBjb25zdCBob3N0SW1wb3J0TWFwID0gYXdhaXQgcHJvY2Vzc0hvc3RJbmZvKGhvc3RJbmZvKTtcbiAgY29uc3QgcmVtb3Rlc0ltcG9ydE1hcCA9IGF3YWl0IHByb2Nlc3NSZW1vdGVJbmZvcyhyZW1vdGVzLCB7XG4gICAgdGhyb3dJZlJlbW90ZU5vdEZvdW5kOiBmYWxzZSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcblxuICBjb25zdCBpbXBvcnRNYXAgPSBtZXJnZUltcG9ydE1hcHMoaG9zdEltcG9ydE1hcCwgcmVtb3Rlc0ltcG9ydE1hcCk7XG4gIGFwcGVuZEltcG9ydE1hcChpbXBvcnRNYXApO1xuXG4gIHJldHVybiBpbXBvcnRNYXA7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWRNYW5pZmVzdChyZW1vdGVzOiBzdHJpbmcpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgcmV0dXJuIChhd2FpdCBmZXRjaChyZW1vdGVzKS50aGVuKChyKSA9PiByLmpzb24oKSkpIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzUmVtb3RlSW5mb3MoXG4gIHJlbW90ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG9wdGlvbnM6IFByb2Nlc3NSZW1vdGVJbmZvT3B0aW9ucyA9IHsgdGhyb3dJZlJlbW90ZU5vdEZvdW5kOiBmYWxzZSB9LFxuKTogUHJvbWlzZTxJbXBvcnRNYXA+IHtcbiAgY29uc3QgcHJvY2Vzc1JlbW90ZUluZm9Qcm9taXNlcyA9IE9iamVjdC5rZXlzKHJlbW90ZXMpLm1hcChcbiAgICBhc3luYyAocmVtb3RlTmFtZSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbGV0IHVybCA9IHJlbW90ZXNbcmVtb3RlTmFtZV07XG4gICAgICAgIGlmIChvcHRpb25zLmNhY2hlVGFnKSB7XG4gICAgICAgICAgY29uc3QgYWRkQXBwZW5kID0gcmVtb3Rlc1tyZW1vdGVOYW1lXS5pbmNsdWRlcygnPycpID8gJyYnIDogJz8nO1xuICAgICAgICAgIHVybCArPSBgJHthZGRBcHBlbmR9dD0ke29wdGlvbnMuY2FjaGVUYWd9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhd2FpdCBwcm9jZXNzUmVtb3RlSW5mbyh1cmwsIHJlbW90ZU5hbWUpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBlcnJvciA9IGBFcnJvciBsb2FkaW5nIHJlbW90ZSBlbnRyeSBmb3IgJHtyZW1vdGVOYW1lfSBmcm9tIGZpbGUgJHtyZW1vdGVzW3JlbW90ZU5hbWVdfWA7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMudGhyb3dJZlJlbW90ZU5vdEZvdW5kKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9LFxuICApO1xuXG4gIGNvbnN0IHJlbW90ZUltcG9ydE1hcHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9jZXNzUmVtb3RlSW5mb1Byb21pc2VzKTtcblxuICBjb25zdCBpbXBvcnRNYXAgPSByZW1vdGVJbXBvcnRNYXBzLnJlZHVjZTxJbXBvcnRNYXA+KFxuICAgIChhY2MsIHJlbW90ZUltcG9ydE1hcCkgPT5cbiAgICAgIHJlbW90ZUltcG9ydE1hcCA/IG1lcmdlSW1wb3J0TWFwcyhhY2MsIHJlbW90ZUltcG9ydE1hcCkgOiBhY2MsXG4gICAgeyBpbXBvcnRzOiB7fSwgc2NvcGVzOiB7fSB9LFxuICApO1xuXG4gIHJldHVybiBpbXBvcnRNYXA7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzUmVtb3RlSW5mbyhcbiAgZmVkZXJhdGlvbkluZm9Vcmw6IHN0cmluZyxcbiAgcmVtb3RlTmFtZT86IHN0cmluZyxcbik6IFByb21pc2U8SW1wb3J0TWFwPiB7XG4gIGNvbnN0IGJhc2VVcmwgPSBnZXREaXJlY3RvcnkoZmVkZXJhdGlvbkluZm9VcmwpO1xuICBjb25zdCByZW1vdGVJbmZvID0gYXdhaXQgbG9hZEZlZGVyYXRpb25JbmZvKGZlZGVyYXRpb25JbmZvVXJsKTtcblxuICBpZiAoIXJlbW90ZU5hbWUpIHtcbiAgICByZW1vdGVOYW1lID0gcmVtb3RlSW5mby5uYW1lO1xuICB9XG5cbiAgaWYgKHJlbW90ZUluZm8uYnVpbGROb3RpZmljYXRpb25zRW5kcG9pbnQpIHtcbiAgICB3YXRjaEZlZGVyYXRpb25CdWlsZENvbXBsZXRpb24oXG4gICAgICBiYXNlVXJsICsgcmVtb3RlSW5mby5idWlsZE5vdGlmaWNhdGlvbnNFbmRwb2ludCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgaW1wb3J0TWFwID0gY3JlYXRlUmVtb3RlSW1wb3J0TWFwKHJlbW90ZUluZm8sIHJlbW90ZU5hbWUsIGJhc2VVcmwpO1xuICBhZGRSZW1vdGUocmVtb3RlTmFtZSwgeyAuLi5yZW1vdGVJbmZvLCBiYXNlVXJsIH0pO1xuXG4gIHJldHVybiBpbXBvcnRNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlbW90ZUltcG9ydE1hcChcbiAgcmVtb3RlSW5mbzogRmVkZXJhdGlvbkluZm8sXG4gIHJlbW90ZU5hbWU6IHN0cmluZyxcbiAgYmFzZVVybDogc3RyaW5nLFxuKTogSW1wb3J0TWFwIHtcbiAgY29uc3QgaW1wb3J0cyA9IHByb2Nlc3NFeHBvc2VkKHJlbW90ZUluZm8sIHJlbW90ZU5hbWUsIGJhc2VVcmwpO1xuICBjb25zdCBzY29wZXMgPSBwcm9jZXNzUmVtb3RlSW1wb3J0cyhyZW1vdGVJbmZvLCBiYXNlVXJsKTtcbiAgcmV0dXJuIHsgaW1wb3J0cywgc2NvcGVzIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWRGZWRlcmF0aW9uSW5mbyh1cmw6IHN0cmluZyk6IFByb21pc2U8RmVkZXJhdGlvbkluZm8+IHtcbiAgY29uc3QgaW5mbyA9IChhd2FpdCBmZXRjaCh1cmwpLnRoZW4oKHIpID0+IHIuanNvbigpKSkgYXMgRmVkZXJhdGlvbkluZm87XG4gIHJldHVybiBpbmZvO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmVtb3RlSW1wb3J0cyhcbiAgcmVtb3RlSW5mbzogRmVkZXJhdGlvbkluZm8sXG4gIGJhc2VVcmw6IHN0cmluZyxcbik6IFNjb3BlcyB7XG4gIGNvbnN0IHNjb3BlczogU2NvcGVzID0ge307XG4gIGNvbnN0IHNjb3BlZEltcG9ydHM6IEltcG9ydHMgPSB7fTtcblxuICBmb3IgKGNvbnN0IHNoYXJlZCBvZiByZW1vdGVJbmZvLnNoYXJlZCkge1xuICAgIGNvbnN0IG91dEZpbGVOYW1lID1cbiAgICAgIGdldEV4dGVybmFsVXJsKHNoYXJlZCkgPz8gam9pblBhdGhzKGJhc2VVcmwsIHNoYXJlZC5vdXRGaWxlTmFtZSk7XG4gICAgc2V0RXh0ZXJuYWxVcmwoc2hhcmVkLCBvdXRGaWxlTmFtZSk7XG4gICAgc2NvcGVkSW1wb3J0c1tzaGFyZWQucGFja2FnZU5hbWVdID0gb3V0RmlsZU5hbWU7XG4gIH1cblxuICBzY29wZXNbYmFzZVVybCArICcvJ10gPSBzY29wZWRJbXBvcnRzO1xuICByZXR1cm4gc2NvcGVzO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzRXhwb3NlZChcbiAgcmVtb3RlSW5mbzogRmVkZXJhdGlvbkluZm8sXG4gIHJlbW90ZU5hbWU6IHN0cmluZyxcbiAgYmFzZVVybDogc3RyaW5nLFxuKTogSW1wb3J0cyB7XG4gIGNvbnN0IGltcG9ydHM6IEltcG9ydHMgPSB7fTtcblxuICBmb3IgKGNvbnN0IGV4cG9zZWQgb2YgcmVtb3RlSW5mby5leHBvc2VzKSB7XG4gICAgY29uc3Qga2V5ID0gam9pblBhdGhzKHJlbW90ZU5hbWUsIGV4cG9zZWQua2V5KTtcbiAgICBjb25zdCB2YWx1ZSA9IGpvaW5QYXRocyhiYXNlVXJsLCBleHBvc2VkLm91dEZpbGVOYW1lKTtcbiAgICBpbXBvcnRzW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBpbXBvcnRzO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0hvc3RJbmZvKFxuICBob3N0SW5mbzogRmVkZXJhdGlvbkluZm8sXG4gIHJlbEJ1bmRsZXNQYXRoID0gJy4vJyxcbik6IFByb21pc2U8SW1wb3J0TWFwPiB7XG4gIGNvbnN0IGltcG9ydHMgPSBob3N0SW5mby5zaGFyZWQucmVkdWNlKFxuICAgIChhY2MsIGN1cikgPT4gKHtcbiAgICAgIC4uLmFjYyxcbiAgICAgIFtjdXIucGFja2FnZU5hbWVdOiByZWxCdW5kbGVzUGF0aCArIGN1ci5vdXRGaWxlTmFtZSxcbiAgICB9KSxcbiAgICB7fSxcbiAgKSBhcyBJbXBvcnRzO1xuXG4gIGZvciAoY29uc3Qgc2hhcmVkIG9mIGhvc3RJbmZvLnNoYXJlZCkge1xuICAgIHNldEV4dGVybmFsVXJsKHNoYXJlZCwgcmVsQnVuZGxlc1BhdGggKyBzaGFyZWQub3V0RmlsZU5hbWUpO1xuICB9XG4gIHJldHVybiB7IGltcG9ydHMsIHNjb3Blczoge30gfTtcbn1cbiJdfQ==","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { appendImportMap } from './utils/add-import-map';\nimport { processRemoteInfo } from './init-federation';\nimport { getRemote, getRemoteNameByBaseUrl, isRemoteInitialized, } from './model/remotes';\nimport { getDirectory, joinPaths } from './utils/path-utils';\nexport async function loadRemoteModule(optionsOrRemoteName, exposedModule) {\n const options = normalizeOptions(optionsOrRemoteName, exposedModule);\n await ensureRemoteInitialized(options);\n const remoteName = getRemoteNameByOptions(options);\n const remote = getRemote(remoteName);\n const fallback = options.fallback;\n const remoteError = !remote ? 'unknown remote ' + remoteName : '';\n if (!remote && !fallback) {\n throw new Error(remoteError);\n }\n else if (!remote) {\n logClientError(remoteError);\n return Promise.resolve(fallback);\n }\n const exposed = remote.exposes.find((e) => e.key === options.exposedModule);\n const exposedError = !exposed\n ? `Unknown exposed module ${options.exposedModule} in remote ${remoteName}`\n : '';\n if (!exposed && !fallback) {\n throw new Error(exposedError);\n }\n else if (!exposed) {\n logClientError(exposedError);\n return Promise.resolve(fallback);\n }\n const url = joinPaths(remote.baseUrl, exposed.outFileName);\n try {\n const module = _import(url);\n return module;\n }\n catch (e) {\n if (fallback) {\n console.error('error loading remote module', e);\n return fallback;\n }\n throw e;\n }\n}\nfunction _import(url) {\n return typeof importShim !== 'undefined'\n ? importShim(url)\n : import(/* @vite-ignore */ url);\n}\nfunction getRemoteNameByOptions(options) {\n let remoteName;\n if (options.remoteName) {\n remoteName = options.remoteName;\n }\n else if (options.remoteEntry) {\n const baseUrl = getDirectory(options.remoteEntry);\n remoteName = getRemoteNameByBaseUrl(baseUrl);\n }\n else {\n throw new Error('unexpected arguments: Please pass remoteName or remoteEntry');\n }\n if (!remoteName) {\n throw new Error('unknown remoteName ' + remoteName);\n }\n return remoteName;\n}\nasync function ensureRemoteInitialized(options) {\n if (options.remoteEntry &&\n !isRemoteInitialized(getDirectory(options.remoteEntry))) {\n const importMap = await processRemoteInfo(options.remoteEntry);\n appendImportMap(importMap);\n }\n}\nfunction normalizeOptions(optionsOrRemoteName, exposedModule) {\n let options;\n if (typeof optionsOrRemoteName === 'string' && exposedModule) {\n options = {\n remoteName: optionsOrRemoteName,\n exposedModule,\n };\n }\n else if (typeof optionsOrRemoteName === 'object' && !exposedModule) {\n options = optionsOrRemoteName;\n }\n else {\n throw new Error('unexpected arguments: please pass options or a remoteName/exposedModule-pair');\n }\n return options;\n}\nfunction logClientError(error) {\n if (typeof window !== 'undefined') {\n console.error(error);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1yZW1vdGUtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbG9hZC1yZW1vdGUtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWtCN0QsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsbUJBQXdELEVBQ3hELGFBQXNCO0lBRXRCLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdkMsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFFbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRWxFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7U0FBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENB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Q0FBQztJQUVyQyxJQUFJLE9BQU8sbUJBQW1CLEtBQUssUUFBUSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzdELE9BQU8sR0FBRztZQUNSLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsYUFBYTtTQUNkLENBQUM7SUFDSixDQUFDO1NBQU0sSUFBSSxPQUFPLG1CQUFtQixLQUFLLFFBQVEsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztJQUNoQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEVBQThFLENBQy9FLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLEtBQWE7SUFDbkMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgYXBwZW5kSW1wb3J0TWFwIH0gZnJvbSAnLi91dGlscy9hZGQtaW1wb3J0LW1hcCc7XG5pbXBvcnQgeyBwcm9jZXNzUmVtb3RlSW5mbyB9IGZyb20gJy4vaW5pdC1mZWRlcmF0aW9uJztcbmltcG9ydCB7XG4gIGdldFJlbW90ZSxcbiAgZ2V0UmVtb3RlTmFtZUJ5QmFzZVVybCxcbiAgaXNSZW1vdGVJbml0aWFsaXplZCxcbn0gZnJvbSAnLi9tb2RlbC9yZW1vdGVzJztcbmltcG9ydCB7IGdldERpcmVjdG9yeSwgam9pblBhdGhzIH0gZnJvbSAnLi91dGlscy9wYXRoLXV0aWxzJztcblxuZGVjbGFyZSBmdW5jdGlvbiBpbXBvcnRTaGltPFQ+KHVybDogc3RyaW5nKTogVDtcblxuZXhwb3J0IHR5cGUgTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnM8VCA9IGFueT4gPSB7XG4gIHJlbW90ZUVudHJ5Pzogc3RyaW5nO1xuICByZW1vdGVOYW1lPzogc3RyaW5nO1xuICBleHBvc2VkTW9kdWxlOiBzdHJpbmc7XG4gIGZhbGxiYWNrPzogVDtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkUmVtb3RlTW9kdWxlPFQgPSBhbnk+KFxuICBvcHRpb25zOiBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyxcbik6IFByb21pc2U8VD47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFJlbW90ZU1vZHVsZTxUID0gYW55PihcbiAgcmVtb3RlTmFtZTogc3RyaW5nLFxuICBleHBvc2VkTW9kdWxlOiBzdHJpbmcsXG4pOiBQcm9taXNlPFQ+O1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRSZW1vdGVNb2R1bGU8VCA9IGFueT4oXG4gIG9wdGlvbnNPclJlbW90ZU5hbWU6IExvYWRSZW1vdGVNb2R1bGVPcHRpb25zPFQ+IHwgc3RyaW5nLFxuICBleHBvc2VkTW9kdWxlPzogc3RyaW5nLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBub3JtYWxpemVPcHRpb25zKG9wdGlvbnNPclJlbW90ZU5hbWUsIGV4cG9zZWRNb2R1bGUpO1xuXG4gIGF3YWl0IGVuc3VyZVJlbW90ZUluaXRpYWxpemVkKG9wdGlvbnMpO1xuXG4gIGNvbnN0IHJlbW90ZU5hbWUgPSBnZXRSZW1vdGVOYW1lQnlPcHRpb25zKG9wdGlvbnMpO1xuICBjb25zdCByZW1vdGUgPSBnZXRSZW1vdGUocmVtb3RlTmFtZSk7XG4gIGNvbnN0IGZhbGxiYWNrID0gb3B0aW9ucy5mYWxsYmFjaztcblxuICBjb25zdCByZW1vdGVFcnJvciA9ICFyZW1vdGUgPyAndW5rbm93biByZW1vdGUgJyArIHJlbW90ZU5hbWUgOiAnJztcblxuICBpZiAoIXJlbW90ZSAmJiAhZmFsbGJhY2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IocmVtb3RlRXJyb3IpO1xuICB9IGVsc2UgaWYgKCFyZW1vdGUpIHtcbiAgICBsb2dDbGllbnRFcnJvcihyZW1vdGVFcnJvcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxsYmFjayk7XG4gIH1cblxuICBjb25zdCBleHBvc2VkID0gcmVtb3RlLmV4cG9zZXMuZmluZCgoZSkgPT4gZS5rZXkgPT09IG9wdGlvbnMuZXhwb3NlZE1vZHVsZSk7XG5cbiAgY29uc3QgZXhwb3NlZEVycm9yID0gIWV4cG9zZWRcbiAgICA/IGBVbmtub3duIGV4cG9zZWQgbW9kdWxlICR7b3B0aW9ucy5leHBvc2VkTW9kdWxlfSBpbiByZW1vdGUgJHtyZW1vdGVOYW1lfWBcbiAgICA6ICcnO1xuXG4gIGlmICghZXhwb3NlZCAmJiAhZmFsbGJhY2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXhwb3NlZEVycm9yKTtcbiAgfSBlbHNlIGlmICghZXhwb3NlZCkge1xuICAgIGxvZ0NsaWVudEVycm9yKGV4cG9zZWRFcnJvcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxsYmFjayk7XG4gIH1cblxuICBjb25zdCB1cmwgPSBqb2luUGF0aHMocmVtb3RlLmJhc2VVcmwsIGV4cG9zZWQub3V0RmlsZU5hbWUpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgbW9kdWxlID0gX2ltcG9ydDxUPih1cmwpO1xuICAgIHJldHVybiBtb2R1bGU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIGxvYWRpbmcgcmVtb3RlIG1vZHVsZScsIGUpO1xuICAgICAgcmV0dXJuIGZhbGxiYWNrO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9pbXBvcnQ8VCA9IGFueT4odXJsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBpbXBvcnRTaGltICE9PSAndW5kZWZpbmVkJ1xuICAgID8gaW1wb3J0U2hpbTxUPih1cmwpXG4gICAgOiAoaW1wb3J0KC8qIEB2aXRlLWlnbm9yZSAqLyB1cmwpIGFzIFQpO1xufVxuXG5mdW5jdGlvbiBnZXRSZW1vdGVOYW1lQnlPcHRpb25zKG9wdGlvbnM6IExvYWRSZW1vdGVNb2R1bGVPcHRpb25zKSB7XG4gIGxldCByZW1vdGVOYW1lO1xuXG4gIGlmIChvcHRpb25zLnJlbW90ZU5hbWUpIHtcbiAgICByZW1vdGVOYW1lID0gb3B0aW9ucy5yZW1vdGVOYW1lO1xuICB9IGVsc2UgaWYgKG9wdGlvbnMucmVtb3RlRW50cnkpIHtcbiAgICBjb25zdCBiYXNlVXJsID0gZ2V0RGlyZWN0b3J5KG9wdGlvbnMucmVtb3RlRW50cnkpO1xuICAgIHJlbW90ZU5hbWUgPSBnZXRSZW1vdGVOYW1lQnlCYXNlVXJsKGJhc2VVcmwpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICd1bmV4cGVjdGVkIGFyZ3VtZW50czogUGxlYXNlIHBhc3MgcmVtb3RlTmFtZSBvciByZW1vdGVFbnRyeScsXG4gICAgKTtcbiAgfVxuXG4gIGlmICghcmVtb3RlTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biByZW1vdGVOYW1lICcgKyByZW1vdGVOYW1lKTtcbiAgfVxuICByZXR1cm4gcmVtb3RlTmFtZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZW5zdXJlUmVtb3RlSW5pdGlhbGl6ZWQoXG4gIG9wdGlvbnM6IExvYWRSZW1vdGVNb2R1bGVPcHRpb25zLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChcbiAgICBvcHRpb25zLnJlbW90ZUVudHJ5ICYmXG4gICAgIWlzUmVtb3RlSW5pdGlhbGl6ZWQoZ2V0RGlyZWN0b3J5KG9wdGlvbnMucmVtb3RlRW50cnkpKVxuICApIHtcbiAgICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCBwcm9jZXNzUmVtb3RlSW5mbyhvcHRpb25zLnJlbW90ZUVudHJ5KTtcbiAgICBhcHBlbmRJbXBvcnRNYXAoaW1wb3J0TWFwKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVPcHRpb25zKFxuICBvcHRpb25zT3JSZW1vdGVOYW1lOiBzdHJpbmcgfCBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyxcbiAgZXhwb3NlZE1vZHVsZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnMge1xuICBsZXQgb3B0aW9uczogTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnM7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zT3JSZW1vdGVOYW1lID09PSAnc3RyaW5nJyAmJiBleHBvc2VkTW9kdWxlKSB7XG4gICAgb3B0aW9ucyA9IHtcbiAgICAgIHJlbW90ZU5hbWU6IG9wdGlvbnNPclJlbW90ZU5hbWUsXG4gICAgICBleHBvc2VkTW9kdWxlLFxuICAgIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnNPclJlbW90ZU5hbWUgPT09ICdvYmplY3QnICYmICFleHBvc2VkTW9kdWxlKSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnNPclJlbW90ZU5hbWU7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ3VuZXhwZWN0ZWQgYXJndW1lbnRzOiBwbGVhc2UgcGFzcyBvcHRpb25zIG9yIGEgcmVtb3RlTmFtZS9leHBvc2VkTW9kdWxlLXBhaXInLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIGxvZ0NsaWVudEVycm9yKGVycm9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdGFyYy1uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9zb2Z0YXJjLW5hdGl2ZS1mZWRlcmF0aW9uLXJ1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"softarc-native-federation-runtime.mjs","sources":["../tmp-esm2022/lib/get-shared.js","../tmp-esm2022/lib/model/global-cache.js","../tmp-esm2022/lib/model/externals.js","../tmp-esm2022/lib/model/import-map.js","../tmp-esm2022/lib/model/remotes.js","../tmp-esm2022/lib/utils/add-import-map.js","../tmp-esm2022/lib/utils/path-utils.js","../tmp-esm2022/lib/model/build-notifications-options.js","../tmp-esm2022/lib/watch-federation-build.js","../tmp-esm2022/lib/init-federation.js","../tmp-esm2022/lib/load-remote-module.js","../tmp-esm2022/softarc-native-federation-runtime.js"],"sourcesContent":["const defaultShareOptions = {\n singleton: false,\n requiredVersionPrefix: '',\n};\nexport function getShared(options = defaultShareOptions) {\n const nfc = window;\n const externals = nfc.__NATIVE_FEDERATION__.externals;\n const shared = {};\n const allKeys = [...externals.keys()];\n const keys = allKeys\n .filter((k) => !k.startsWith('/@id/') &&\n !k.startsWith('@angular-architects/module-federation') &&\n !k.endsWith('@'))\n .sort();\n for (const key of keys) {\n const idx = key.lastIndexOf('@');\n const pkgName = key.substring(0, idx);\n const version = key.substring(idx + 1);\n const path = externals.get(key) ?? '';\n const shareObj = {\n version,\n get: async () => {\n const lib = await window.importShim(path);\n return () => lib;\n },\n shareConfig: {\n singleton: options.singleton,\n requiredVersion: options.requiredVersionPrefix + version,\n },\n };\n if (!shared[pkgName]) {\n shared[pkgName] = [];\n }\n shared[pkgName].push(shareObj);\n }\n return shared;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL2dldC1zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJBLE1BQU0sbUJBQW1CLEdBQWlCO0lBQ3hDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLHFCQUFxQixFQUFFLEVBQUU7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBTyxHQUFHLG1CQUFtQjtJQUNyRCxNQUFNLEdBQUcsR0FBRyxNQUE4QyxDQUFDO0lBQzNELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7SUFDdEQsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEMsTUFBTSxJQUFJLEdBQUcsT0FBTztTQUNqQixNQUFNLENBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLHVDQUF1QyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDbkI7U0FDQSxJQUFJLEVBQUUsQ0FBQztJQUVWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFFBQVEsR0FBZ0I7WUFDNUIsT0FBTztZQUNQLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDZCxNQUFNLEdBQUcsR0FBRyxNQUFPLE1BQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ25CLENBQUM7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO2dCQUM1QixlQUFlLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixHQUFHLE9BQU87YUFDekQ7U0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFR5cGU8VD4gPSBuZXcgKCkgPT4gVDtcblxudHlwZSBOYXRpdmVGZWRlcmF0aW9uQ29udGFpbmVyID0ge1xuICBfX05BVElWRV9GRURFUkFUSU9OX186IHtcbiAgICBiYXNlVXJsVG9SZW1vdGVOYW1lczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBleHRlcm5hbHM6IE1hcDxzdHJpbmcsIHN0cmluZz47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBTaGFyZU9iamVjdCA9IHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbiAgZ2V0OiAoKSA9PiBQcm9taXNlPCgpID0+IFR5cGU8dW5rbm93bj4+O1xuICBzaGFyZUNvbmZpZz86IHtcbiAgICBzaW5nbGV0b24/OiBib29sZWFuO1xuICAgIHJlcXVpcmVkVmVyc2lvbjogc3RyaW5nO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgU2hhcmVDb25maWcgPSB7XG4gIFtwa2dOYW1lOiBzdHJpbmddOiBBcnJheTxTaGFyZU9iamVjdD47XG59O1xuXG5leHBvcnQgdHlwZSBTaGFyZU9wdGlvbnMgPSB7XG4gIHNpbmdsZXRvbjogYm9vbGVhbjtcbiAgcmVxdWlyZWRWZXJzaW9uUHJlZml4OiAnXicgfCAnficgfCAnPicgfCAnPj0nIHwgJyc7XG59O1xuXG5jb25zdCBkZWZhdWx0U2hhcmVPcHRpb25zOiBTaGFyZU9wdGlvbnMgPSB7XG4gIHNpbmdsZXRvbjogZmFsc2UsXG4gIHJlcXVpcmVkVmVyc2lvblByZWZpeDogJycsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkKG9wdGlvbnMgPSBkZWZhdWx0U2hhcmVPcHRpb25zKSB7XG4gIGNvbnN0IG5mYyA9IHdpbmRvdyBhcyB1bmtub3duIGFzIE5hdGl2ZUZlZGVyYXRpb25Db250YWluZXI7XG4gIGNvbnN0IGV4dGVybmFscyA9IG5mYy5fX05BVElWRV9GRURFUkFUSU9OX18uZXh0ZXJuYWxzO1xuICBjb25zdCBzaGFyZWQ6IFNoYXJlQ29uZmlnID0ge307XG5cbiAgY29uc3QgYWxsS2V5cyA9IFsuLi5leHRlcm5hbHMua2V5cygpXTtcbiAgY29uc3Qga2V5cyA9IGFsbEtleXNcbiAgICAuZmlsdGVyKFxuICAgICAgKGspID0+XG4gICAgICAgICFrLnN0YXJ0c1dpdGgoJy9AaWQvJykgJiZcbiAgICAgICAgIWsuc3RhcnRzV2l0aCgnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbicpICYmXG4gICAgICAgICFrLmVuZHNXaXRoKCdAJyksXG4gICAgKVxuICAgIC5zb3J0KCk7XG5cbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGNvbnN0IGlkeCA9IGtleS5sYXN0SW5kZXhPZignQCcpO1xuICAgIGNvbnN0IHBrZ05hbWUgPSBrZXkuc3Vic3RyaW5nKDAsIGlkeCk7XG4gICAgY29uc3QgdmVyc2lvbiA9IGtleS5zdWJzdHJpbmcoaWR4ICsgMSk7XG4gICAgY29uc3QgcGF0aCA9IGV4dGVybmFscy5nZXQoa2V5KSA/PyAnJztcblxuICAgIGNvbnN0IHNoYXJlT2JqOiBTaGFyZU9iamVjdCA9IHtcbiAgICAgIHZlcnNpb24sXG4gICAgICBnZXQ6IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbGliID0gYXdhaXQgKHdpbmRvdyBhcyBhbnkpLmltcG9ydFNoaW0ocGF0aCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBsaWI7XG4gICAgICB9LFxuICAgICAgc2hhcmVDb25maWc6IHtcbiAgICAgICAgc2luZ2xldG9uOiBvcHRpb25zLnNpbmdsZXRvbixcbiAgICAgICAgcmVxdWlyZWRWZXJzaW9uOiBvcHRpb25zLnJlcXVpcmVkVmVyc2lvblByZWZpeCArIHZlcnNpb24sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAoIXNoYXJlZFtwa2dOYW1lXSkge1xuICAgICAgc2hhcmVkW3BrZ05hbWVdID0gW107XG4gICAgfVxuXG4gICAgc2hhcmVkW3BrZ05hbWVdLnB1c2goc2hhcmVPYmopO1xuICB9XG4gIHJldHVybiBzaGFyZWQ7XG59XG4iXX0=","export const nfNamespace = '__NATIVE_FEDERATION__';\nconst global = globalThis;\nglobal[nfNamespace] ??= {\n externals: new Map(),\n remoteNamesToRemote: new Map(),\n baseUrlToRemoteNames: new Map(),\n};\nexport const globalCache = global[nfNamespace];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbW9kZWwvZ2xvYmFsLWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQVluRCxNQUFNLE1BQU0sR0FBRyxVQUErQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSztJQUN0QixTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQWtCO0lBQ3BDLG1CQUFtQixFQUFFLElBQUksR0FBRyxFQUFrQjtJQUM5QyxvQkFBb0IsRUFBRSxJQUFJLEdBQUcsRUFBa0I7Q0FDaEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdGUgfSBmcm9tICcuL3JlbW90ZXMnO1xuXG5leHBvcnQgY29uc3QgbmZOYW1lc3BhY2UgPSAnX19OQVRJVkVfRkVERVJBVElPTl9fJztcblxuZXhwb3J0IHR5cGUgTmZDYWNoZSA9IHtcbiAgZXh0ZXJuYWxzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICByZW1vdGVOYW1lc1RvUmVtb3RlOiBNYXA8c3RyaW5nLCBSZW1vdGU+O1xuICBiYXNlVXJsVG9SZW1vdGVOYW1lczogTWFwPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbmV4cG9ydCB0eXBlIEdsb2JhbCA9IHtcbiAgW25mTmFtZXNwYWNlXTogTmZDYWNoZTtcbn07XG5cbmNvbnN0IGdsb2JhbCA9IGdsb2JhbFRoaXMgYXMgdW5rbm93biBhcyBHbG9iYWw7XG5cbmdsb2JhbFtuZk5hbWVzcGFjZV0gPz89IHtcbiAgZXh0ZXJuYWxzOiBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpLFxuICByZW1vdGVOYW1lc1RvUmVtb3RlOiBuZXcgTWFwPHN0cmluZywgUmVtb3RlPigpLFxuICBiYXNlVXJsVG9SZW1vdGVOYW1lczogbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKSxcbn07XG5cbmV4cG9ydCBjb25zdCBnbG9iYWxDYWNoZSA9IGdsb2JhbFtuZk5hbWVzcGFjZV07XG4iXX0=","import { globalCache } from './global-cache';\nconst externals = globalCache.externals;\nfunction getExternalKey(shared) {\n return `${shared.packageName}@${shared.version}`;\n}\nexport function getExternalUrl(shared) {\n const packageKey = getExternalKey(shared);\n return externals.get(packageKey);\n}\nexport function setExternalUrl(shared, url) {\n const packageKey = getExternalKey(shared);\n externals.set(packageKey, url);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbW9kZWwvZXh0ZXJuYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO0FBRXhDLFNBQVMsY0FBYyxDQUFDLE1BQWtCO0lBQ3hDLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFrQjtJQUMvQyxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWtCLEVBQUUsR0FBVztJQUM1RCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoYXJlZEluZm8gfSBmcm9tICcuL2ZlZGVyYXRpb24taW5mbyc7XG5pbXBvcnQgeyBnbG9iYWxDYWNoZSB9IGZyb20gJy4vZ2xvYmFsLWNhY2hlJztcblxuY29uc3QgZXh0ZXJuYWxzID0gZ2xvYmFsQ2FjaGUuZXh0ZXJuYWxzO1xuXG5mdW5jdGlvbiBnZXRFeHRlcm5hbEtleShzaGFyZWQ6IFNoYXJlZEluZm8pIHtcbiAgcmV0dXJuIGAke3NoYXJlZC5wYWNrYWdlTmFtZX1AJHtzaGFyZWQudmVyc2lvbn1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXh0ZXJuYWxVcmwoc2hhcmVkOiBTaGFyZWRJbmZvKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgcGFja2FnZUtleSA9IGdldEV4dGVybmFsS2V5KHNoYXJlZCk7XG4gIHJldHVybiBleHRlcm5hbHMuZ2V0KHBhY2thZ2VLZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RXh0ZXJuYWxVcmwoc2hhcmVkOiBTaGFyZWRJbmZvLCB1cmw6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBwYWNrYWdlS2V5ID0gZ2V0RXh0ZXJuYWxLZXkoc2hhcmVkKTtcbiAgZXh0ZXJuYWxzLnNldChwYWNrYWdlS2V5LCB1cmwpO1xufVxuIl19","export function mergeImportMaps(map1, map2) {\n return {\n imports: { ...map1.imports, ...map2.imports },\n scopes: { ...map1.scopes, ...map2.scopes },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LW1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL21vZGVsL2ltcG9ydC1tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFlLEVBQUUsSUFBZTtJQUM5RCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUM3QyxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFO0tBQzNDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSW1wb3J0cyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIFNjb3BlcyA9IFJlY29yZDxzdHJpbmcsIEltcG9ydHM+O1xuXG5leHBvcnQgdHlwZSBJbXBvcnRNYXAgPSB7XG4gIGltcG9ydHM6IEltcG9ydHM7XG4gIHNjb3BlczogU2NvcGVzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlSW1wb3J0TWFwcyhtYXAxOiBJbXBvcnRNYXAsIG1hcDI6IEltcG9ydE1hcCk6IEltcG9ydE1hcCB7XG4gIHJldHVybiB7XG4gICAgaW1wb3J0czogeyAuLi5tYXAxLmltcG9ydHMsIC4uLm1hcDIuaW1wb3J0cyB9LFxuICAgIHNjb3BlczogeyAuLi5tYXAxLnNjb3BlcywgLi4ubWFwMi5zY29wZXMgfSxcbiAgfTtcbn1cbiJdfQ==","import { globalCache } from './global-cache';\nconst remoteNamesToRemote = globalCache.remoteNamesToRemote;\nconst baseUrlToRemoteNames = globalCache.baseUrlToRemoteNames;\nexport function addRemote(remoteName, remote) {\n remoteNamesToRemote.set(remoteName, remote);\n baseUrlToRemoteNames.set(remote.baseUrl, remoteName);\n}\nexport function getRemoteNameByBaseUrl(baseUrl) {\n return baseUrlToRemoteNames.get(baseUrl);\n}\nexport function isRemoteInitialized(baseUrl) {\n return baseUrlToRemoteNames.has(baseUrl);\n}\nexport function getRemote(remoteName) {\n return remoteNamesToRemote.get(remoteName);\n}\nexport function hasRemote(remoteName) {\n return remoteNamesToRemote.has(remoteName);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL21vZGVsL3JlbW90ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTdDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDO0FBRTlELE1BQU0sVUFBVSxTQUFTLENBQUMsVUFBa0IsRUFBRSxNQUFjO0lBQzFELG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUFlO0lBQ3BELE9BQU8sb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBZTtJQUNqRCxPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxVQUFrQjtJQUMxQyxPQUFPLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxVQUFrQjtJQUMxQyxPQUFPLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVkZXJhdGlvbkluZm8gfSBmcm9tICcuL2ZlZGVyYXRpb24taW5mbyc7XG5pbXBvcnQgeyBnbG9iYWxDYWNoZSB9IGZyb20gJy4vZ2xvYmFsLWNhY2hlJztcblxuZXhwb3J0IHR5cGUgUmVtb3RlID0gRmVkZXJhdGlvbkluZm8gJiB7XG4gIGJhc2VVcmw6IHN0cmluZztcbn07XG5cbmNvbnN0IHJlbW90ZU5hbWVzVG9SZW1vdGUgPSBnbG9iYWxDYWNoZS5yZW1vdGVOYW1lc1RvUmVtb3RlO1xuY29uc3QgYmFzZVVybFRvUmVtb3RlTmFtZXMgPSBnbG9iYWxDYWNoZS5iYXNlVXJsVG9SZW1vdGVOYW1lcztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlbW90ZShyZW1vdGVOYW1lOiBzdHJpbmcsIHJlbW90ZTogUmVtb3RlKTogdm9pZCB7XG4gIHJlbW90ZU5hbWVzVG9SZW1vdGUuc2V0KHJlbW90ZU5hbWUsIHJlbW90ZSk7XG4gIGJhc2VVcmxUb1JlbW90ZU5hbWVzLnNldChyZW1vdGUuYmFzZVVybCwgcmVtb3RlTmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVOYW1lQnlCYXNlVXJsKGJhc2VVcmw6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBiYXNlVXJsVG9SZW1vdGVOYW1lcy5nZXQoYmFzZVVybCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlbW90ZUluaXRpYWxpemVkKGJhc2VVcmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gYmFzZVVybFRvUmVtb3RlTmFtZXMuaGFzKGJhc2VVcmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3RlKHJlbW90ZU5hbWU6IHN0cmluZyk6IFJlbW90ZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiByZW1vdGVOYW1lc1RvUmVtb3RlLmdldChyZW1vdGVOYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1JlbW90ZShyZW1vdGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHJlbW90ZU5hbWVzVG9SZW1vdGUuaGFzKHJlbW90ZU5hbWUpO1xufVxuIl19","export function appendImportMap(importMap) {\n document.head.appendChild(Object.assign(document.createElement('script'), {\n type: 'importmap-shim',\n innerHTML: JSON.stringify(importMap),\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWltcG9ydC1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25hdGl2ZS1mZWRlcmF0aW9uLXJ1bnRpbWUvc3JjL2xpYi91dGlscy9hZGQtaW1wb3J0LW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQW9CO0lBQ2xELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDOUMsSUFBSSxFQUFFLGdCQUFnQjtRQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7S0FDckMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1wb3J0TWFwIH0gZnJvbSAnLi4vbW9kZWwvaW1wb3J0LW1hcCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRJbXBvcnRNYXAoaW1wb3J0TWFwOiBJbXBvcnRNYXApIHtcbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChcbiAgICBPYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpLCB7XG4gICAgICB0eXBlOiAnaW1wb3J0bWFwLXNoaW0nLFxuICAgICAgaW5uZXJIVE1MOiBKU09OLnN0cmluZ2lmeShpbXBvcnRNYXApLFxuICAgIH0pLFxuICApO1xufVxuIl19","export function getDirectory(url) {\n const parts = url.split('/');\n parts.pop();\n return parts.join('/');\n}\nexport function joinPaths(path1, path2) {\n while (path1.endsWith('/')) {\n path1 = path1.substring(0, path1.length - 1);\n }\n if (path2.startsWith('./')) {\n path2 = path2.substring(2, path2.length);\n }\n return `${path1}/${path2}`;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL3V0aWxzL3BhdGgtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ1osT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQ3BELE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0RGlyZWN0b3J5KHVybDogc3RyaW5nKSB7XG4gIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJyk7XG4gIHBhcnRzLnBvcCgpO1xuICByZXR1cm4gcGFydHMuam9pbignLycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gam9pblBhdGhzKHBhdGgxOiBzdHJpbmcsIHBhdGgyOiBzdHJpbmcpOiBzdHJpbmcge1xuICB3aGlsZSAocGF0aDEuZW5kc1dpdGgoJy8nKSkge1xuICAgIHBhdGgxID0gcGF0aDEuc3Vic3RyaW5nKDAsIHBhdGgxLmxlbmd0aCAtIDEpO1xuICB9XG4gIGlmIChwYXRoMi5zdGFydHNXaXRoKCcuLycpKSB7XG4gICAgcGF0aDIgPSBwYXRoMi5zdWJzdHJpbmcoMiwgcGF0aDIubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBgJHtwYXRoMX0vJHtwYXRoMn1gO1xufVxuIl19","export const BUILD_NOTIFICATIONS_ENDPOINT = '/@angular-architects/native-federation:build-notifications';\nexport var BuildNotificationType;\n(function (BuildNotificationType) {\n BuildNotificationType[\"COMPLETED\"] = \"federation-rebuild-complete\";\n BuildNotificationType[\"ERROR\"] = \"federation-rebuild-error\";\n BuildNotificationType[\"CANCELLED\"] = \"federation-rebuild-cancelled\";\n})(BuildNotificationType || (BuildNotificationType = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtbm90aWZpY2F0aW9ucy1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbW9kZWwvYnVpbGQtbm90aWZpY2F0aW9ucy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUN2Qyw0REFBNEQsQ0FBQztBQUUvRCxNQUFNLENBQU4sSUFBWSxxQkFJWDtBQUpELFdBQVkscUJBQXFCO0lBQy9CLGtFQUF5QyxDQUFBO0lBQ3pDLDJEQUFrQyxDQUFBO0lBQ2xDLG1FQUEwQyxDQUFBO0FBQzVDLENBQUMsRUFKVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBSWhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCdWlsZE5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICBlbmFibGU6IGJvb2xlYW47XG4gIGVuZHBvaW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBCVUlMRF9OT1RJRklDQVRJT05TX0VORFBPSU5UID1cbiAgJy9AYW5ndWxhci1hcmNoaXRlY3RzL25hdGl2ZS1mZWRlcmF0aW9uOmJ1aWxkLW5vdGlmaWNhdGlvbnMnO1xuXG5leHBvcnQgZW51bSBCdWlsZE5vdGlmaWNhdGlvblR5cGUge1xuICBDT01QTEVURUQgPSAnZmVkZXJhdGlvbi1yZWJ1aWxkLWNvbXBsZXRlJyxcbiAgRVJST1IgPSAnZmVkZXJhdGlvbi1yZWJ1aWxkLWVycm9yJyxcbiAgQ0FOQ0VMTEVEID0gJ2ZlZGVyYXRpb24tcmVidWlsZC1jYW5jZWxsZWQnLFxufVxuIl19","import { BuildNotificationType } from './model/build-notifications-options';\n/**\n * Watches for federation build completion events and automatically reloads the page.\n *\n * This function establishes a Server-Sent Events (SSE) connection to listen for\n * 'federation-rebuild-complete' notifications. When a build completes successfully,\n * it triggers a page reload to reflect the latest changes.\n * @param endpoint - The SSE endpoint URL to watch for build notifications.\n */\nexport function watchFederationBuildCompletion(endpoint) {\n const eventSource = new EventSource(endpoint);\n eventSource.onmessage = function (event) {\n const data = JSON.parse(event.data);\n if (data.type === BuildNotificationType.COMPLETED) {\n console.log('[Federation] Rebuild completed, reloading...');\n window.location.reload();\n }\n };\n eventSource.onerror = function (event) {\n console.warn('[Federation] SSE connection error:', event);\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2gtZmVkZXJhdGlvbi1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmF0aXZlLWZlZGVyYXRpb24tcnVudGltZS9zcmMvbGliL3dhdGNoLWZlZGVyYXRpb24tYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFNUU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxRQUFnQjtJQUM3RCxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5QyxXQUFXLENBQUMsU0FBUyxHQUFHLFVBQVUsS0FBSztRQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLFdBQVcsQ0FBQyxPQUFPLEdBQUcsVUFBVSxLQUFLO1FBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1aWxkTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4vbW9kZWwvYnVpbGQtbm90aWZpY2F0aW9ucy1vcHRpb25zJztcblxuLyoqXG4gKiBXYXRjaGVzIGZvciBmZWRlcmF0aW9uIGJ1aWxkIGNvbXBsZXRpb24gZXZlbnRzIGFuZCBhdXRvbWF0aWNhbGx5IHJlbG9hZHMgdGhlIHBhZ2UuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBlc3RhYmxpc2hlcyBhIFNlcnZlci1TZW50IEV2ZW50cyAoU1NFKSBjb25uZWN0aW9uIHRvIGxpc3RlbiBmb3JcbiAqICdmZWRlcmF0aW9uLXJlYnVpbGQtY29tcGxldGUnIG5vdGlmaWNhdGlvbnMuIFdoZW4gYSBidWlsZCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LFxuICogaXQgdHJpZ2dlcnMgYSBwYWdlIHJlbG9hZCB0byByZWZsZWN0IHRoZSBsYXRlc3QgY2hhbmdlcy5cbiAqIEBwYXJhbSBlbmRwb2ludCAtIFRoZSBTU0UgZW5kcG9pbnQgVVJMIHRvIHdhdGNoIGZvciBidWlsZCBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2F0Y2hGZWRlcmF0aW9uQnVpbGRDb21wbGV0aW9uKGVuZHBvaW50OiBzdHJpbmcpIHtcbiAgY29uc3QgZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoZW5kcG9pbnQpO1xuXG4gIGV2ZW50U291cmNlLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xuICAgIGlmIChkYXRhLnR5cGUgPT09IEJ1aWxkTm90aWZpY2F0aW9uVHlwZS5DT01QTEVURUQpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdbRmVkZXJhdGlvbl0gUmVidWlsZCBjb21wbGV0ZWQsIHJlbG9hZGluZy4uLicpO1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfTtcblxuICBldmVudFNvdXJjZS5vbmVycm9yID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgY29uc29sZS53YXJuKCdbRmVkZXJhdGlvbl0gU1NFIGNvbm5lY3Rpb24gZXJyb3I6JywgZXZlbnQpO1xuICB9O1xufVxuIl19","import { getExternalUrl, setExternalUrl } from './model/externals';\nimport { mergeImportMaps, } from './model/import-map';\nimport { addRemote } from './model/remotes';\nimport { appendImportMap } from './utils/add-import-map';\nimport { getDirectory, joinPaths } from './utils/path-utils';\nimport { watchFederationBuildCompletion } from './watch-federation-build';\n/**\n * Initialize the federation runtime\n * @param remotesOrManifestUrl\n * @param options The cacheTag allows you to invalidate the cache of the remoteEntry.json files, pass a new value with every release (f.ex. the version number)\n */\nexport async function initFederation(remotesOrManifestUrl = {}, options) {\n const cacheOption = options?.cacheTag ? `?t=${options.cacheTag}` : '';\n const remotes = typeof remotesOrManifestUrl === 'string'\n ? await loadManifest(remotesOrManifestUrl + cacheOption)\n : remotesOrManifestUrl;\n const url = './remoteEntry.json' + cacheOption;\n const hostInfo = await loadFederationInfo(url);\n const hostImportMap = await processHostInfo(hostInfo);\n const remotesImportMap = await processRemoteInfos(remotes, {\n throwIfRemoteNotFound: false,\n ...options,\n });\n const importMap = mergeImportMaps(hostImportMap, remotesImportMap);\n appendImportMap(importMap);\n return importMap;\n}\nasync function loadManifest(remotes) {\n return (await fetch(remotes).then((r) => r.json()));\n}\nexport async function processRemoteInfos(remotes, options = { throwIfRemoteNotFound: false }) {\n const processRemoteInfoPromises = Object.keys(remotes).map(async (remoteName) => {\n try {\n let url = remotes[remoteName];\n if (options.cacheTag) {\n const addAppend = remotes[remoteName].includes('?') ? '&' : '?';\n url += `${addAppend}t=${options.cacheTag}`;\n }\n return await processRemoteInfo(url, remoteName);\n }\n catch (e) {\n const error = `Error loading remote entry for ${remoteName} from file ${remotes[remoteName]}`;\n if (options.throwIfRemoteNotFound) {\n throw new Error(error);\n }\n console.error(error);\n return null;\n }\n });\n const remoteImportMaps = await Promise.all(processRemoteInfoPromises);\n const importMap = remoteImportMaps.reduce((acc, remoteImportMap) => remoteImportMap ? mergeImportMaps(acc, remoteImportMap) : acc, { imports: {}, scopes: {} });\n return importMap;\n}\nexport async function processRemoteInfo(federationInfoUrl, remoteName) {\n const baseUrl = getDirectory(federationInfoUrl);\n const remoteInfo = await loadFederationInfo(federationInfoUrl);\n if (!remoteName) {\n remoteName = remoteInfo.name;\n }\n if (remoteInfo.buildNotificationsEndpoint) {\n watchFederationBuildCompletion(baseUrl + remoteInfo.buildNotificationsEndpoint);\n }\n const importMap = createRemoteImportMap(remoteInfo, remoteName, baseUrl);\n addRemote(remoteName, { ...remoteInfo, baseUrl });\n return importMap;\n}\nfunction createRemoteImportMap(remoteInfo, remoteName, baseUrl) {\n const imports = processExposed(remoteInfo, remoteName, baseUrl);\n const scopes = processRemoteImports(remoteInfo, baseUrl);\n return { imports, scopes };\n}\nasync function loadFederationInfo(url) {\n const info = (await fetch(url).then((r) => r.json()));\n return info;\n}\nfunction processRemoteImports(remoteInfo, baseUrl) {\n const scopes = {};\n const scopedImports = {};\n for (const shared of remoteInfo.shared) {\n const outFileName = getExternalUrl(shared) ?? joinPaths(baseUrl, shared.outFileName);\n setExternalUrl(shared, outFileName);\n scopedImports[shared.packageName] = outFileName;\n }\n scopes[baseUrl + '/'] = scopedImports;\n return scopes;\n}\nfunction processExposed(remoteInfo, remoteName, baseUrl) {\n const imports = {};\n for (const exposed of remoteInfo.exposes) {\n const key = joinPaths(remoteName, exposed.key);\n const value = joinPaths(baseUrl, exposed.outFileName);\n imports[key] = value;\n }\n return imports;\n}\nexport async function processHostInfo(hostInfo, relBundlesPath = './') {\n const imports = hostInfo.shared.reduce((acc, cur) => ({\n ...acc,\n [cur.packageName]: relBundlesPath + cur.outFileName,\n }), {});\n for (const shared of hostInfo.shared) {\n setExternalUrl(shared, relBundlesPath + shared.outFileName);\n }\n return { imports, scopes: {} };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1mZWRlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvaW5pdC1mZWRlcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNbkUsT0FBTyxFQUdMLGVBQWUsR0FFaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyx1QkFBd0QsRUFBRSxFQUMxRCxPQUErQjtJQUUvQixNQUFNLFdBQVcsR0FBRyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RFLE1BQU0sT0FBTyxHQUNYLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtRQUN0QyxDQUFDLENBQUMsTUFBTSxZQUFZLENBQUMsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztJQUUzQixNQUFNLEdBQUcsR0FBRyxvQkFBb0IsR0FBRyxXQUFXLENBQUM7SUFDL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxN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QUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRFeHRlcm5hbFVybCwgc2V0RXh0ZXJuYWxVcmwgfSBmcm9tICcuL21vZGVsL2V4dGVybmFscyc7XG5pbXBvcnQge1xuICBGZWRlcmF0aW9uSW5mbyxcbiAgSW5pdEZlZGVyYXRpb25PcHRpb25zLFxuICBQcm9jZXNzUmVtb3RlSW5mb09wdGlvbnMsXG59IGZyb20gJy4vbW9kZWwvZmVkZXJhdGlvbi1pbmZvJztcbmltcG9ydCB7XG4gIEltcG9ydE1hcCxcbiAgSW1wb3J0cyxcbiAgbWVyZ2VJbXBvcnRNYXBzLFxuICBTY29wZXMsXG59IGZyb20gJy4vbW9kZWwvaW1wb3J0LW1hcCc7XG5pbXBvcnQgeyBhZGRSZW1vdGUgfSBmcm9tICcuL21vZGVsL3JlbW90ZXMnO1xuaW1wb3J0IHsgYXBwZW5kSW1wb3J0TWFwIH0gZnJvbSAnLi91dGlscy9hZGQtaW1wb3J0LW1hcCc7XG5pbXBvcnQgeyBnZXREaXJlY3RvcnksIGpvaW5QYXRocyB9IGZyb20gJy4vdXRpbHMvcGF0aC11dGlscyc7XG5pbXBvcnQgeyB3YXRjaEZlZGVyYXRpb25CdWlsZENvbXBsZXRpb24gfSBmcm9tICcuL3dhdGNoLWZlZGVyYXRpb24tYnVpbGQnO1xuXG4vKipcbiAqIEluaXRpYWxpemUgdGhlIGZlZGVyYXRpb24gcnVudGltZVxuICogQHBhcmFtIHJlbW90ZXNPck1hbmlmZXN0VXJsXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgY2FjaGVUYWcgYWxsb3dzIHlvdSB0byBpbnZhbGlkYXRlIHRoZSBjYWNoZSBvZiB0aGUgcmVtb3RlRW50cnkuanNvbiBmaWxlcywgcGFzcyBhIG5ldyB2YWx1ZSB3aXRoIGV2ZXJ5IHJlbGVhc2UgKGYuZXguIHRoZSB2ZXJzaW9uIG51bWJlcilcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluaXRGZWRlcmF0aW9uKFxuICByZW1vdGVzT3JNYW5pZmVzdFVybDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHN0cmluZyA9IHt9LFxuICBvcHRpb25zPzogSW5pdEZlZGVyYXRpb25PcHRpb25zXG4pOiBQcm9taXNlPEltcG9ydE1hcD4ge1xuICBjb25zdCBjYWNoZU9wdGlvbiA9IG9wdGlvbnM/LmNhY2hlVGFnID8gYD90PSR7b3B0aW9ucy5jYWNoZVRhZ31gIDogJyc7XG4gIGNvbnN0IHJlbW90ZXMgPVxuICAgIHR5cGVvZiByZW1vdGVzT3JNYW5pZmVzdFVybCA9PT0gJ3N0cmluZydcbiAgICAgID8gYXdhaXQgbG9hZE1hbmlmZXN0KHJlbW90ZXNPck1hbmlmZXN0VXJsICsgY2FjaGVPcHRpb24pXG4gICAgICA6IHJlbW90ZXNPck1hbmlmZXN0VXJsO1xuXG4gIGNvbnN0IHVybCA9ICcuL3JlbW90ZUVudHJ5Lmpzb24nICsgY2FjaGVPcHRpb247XG4gIGNvbnN0IGhvc3RJbmZvID0gYXdhaXQgbG9hZEZlZGVyYXRpb25JbmZvKHVybCk7XG4gIGNvbnN0IGhvc3RJbXBvcnRNYXAgPSBhd2FpdCBwcm9jZXNzSG9zdEluZm8oaG9zdEluZm8pO1xuICBjb25zdCByZW1vdGVzSW1wb3J0TWFwID0gYXdhaXQgcHJvY2Vzc1JlbW90ZUluZm9zKHJlbW90ZXMsIHtcbiAgICB0aHJvd0lmUmVtb3RlTm90Rm91bmQ6IGZhbHNlLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xuXG4gIGNvbnN0IGltcG9ydE1hcCA9IG1lcmdlSW1wb3J0TWFwcyhob3N0SW1wb3J0TWFwLCByZW1vdGVzSW1wb3J0TWFwKTtcbiAgYXBwZW5kSW1wb3J0TWFwKGltcG9ydE1hcCk7XG5cbiAgcmV0dXJuIGltcG9ydE1hcDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZE1hbmlmZXN0KHJlbW90ZXM6IHN0cmluZyk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuICByZXR1cm4gKGF3YWl0IGZldGNoKHJlbW90ZXMpLnRoZW4oKHIpID0+IHIuanNvbigpKSkgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NSZW1vdGVJbmZvcyhcbiAgcmVtb3RlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgb3B0aW9uczogUHJvY2Vzc1JlbW90ZUluZm9PcHRpb25zID0geyB0aHJvd0lmUmVtb3RlTm90Rm91bmQ6IGZhbHNlIH1cbik6IFByb21pc2U8SW1wb3J0TWFwPiB7XG4gIGNvbnN0IHByb2Nlc3NSZW1vdGVJbmZvUHJvbWlzZXMgPSBPYmplY3Qua2V5cyhyZW1vdGVzKS5tYXAoXG4gICAgYXN5bmMgKHJlbW90ZU5hbWUpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGxldCB1cmwgPSByZW1vdGVzW3JlbW90ZU5hbWVdO1xuICAgICAgICBpZiAob3B0aW9ucy5jYWNoZVRhZykge1xuICAgICAgICAgIGNvbnN0IGFkZEFwcGVuZCA9IHJlbW90ZXNbcmVtb3RlTmFtZV0uaW5jbHVkZXMoJz8nKSA/ICcmJyA6ICc/JztcbiAgICAgICAgICB1cmwgKz0gYCR7YWRkQXBwZW5kfXQ9JHtvcHRpb25zLmNhY2hlVGFnfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXdhaXQgcHJvY2Vzc1JlbW90ZUluZm8odXJsLCByZW1vdGVOYW1lKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBgRXJyb3IgbG9hZGluZyByZW1vdGUgZW50cnkgZm9yICR7cmVtb3RlTmFtZX0gZnJvbSBmaWxlICR7cmVtb3Rlc1tyZW1vdGVOYW1lXX1gO1xuXG4gICAgICAgIGlmIChvcHRpb25zLnRocm93SWZSZW1vdGVOb3RGb3VuZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICApO1xuXG4gIGNvbnN0IHJlbW90ZUltcG9ydE1hcHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9jZXNzUmVtb3RlSW5mb1Byb21pc2VzKTtcblxuICBjb25zdCBpbXBvcnRNYXAgPSByZW1vdGVJbXBvcnRNYXBzLnJlZHVjZTxJbXBvcnRNYXA+KFxuICAgIChhY2MsIHJlbW90ZUltcG9ydE1hcCkgPT5cbiAgICAgIHJlbW90ZUltcG9ydE1hcCA/IG1lcmdlSW1wb3J0TWFwcyhhY2MsIHJlbW90ZUltcG9ydE1hcCkgOiBhY2MsXG4gICAgeyBpbXBvcnRzOiB7fSwgc2NvcGVzOiB7fSB9XG4gICk7XG5cbiAgcmV0dXJuIGltcG9ydE1hcDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NSZW1vdGVJbmZvKFxuICBmZWRlcmF0aW9uSW5mb1VybDogc3RyaW5nLFxuICByZW1vdGVOYW1lPzogc3RyaW5nXG4pOiBQcm9taXNlPEltcG9ydE1hcD4ge1xuICBjb25zdCBiYXNlVXJsID0gZ2V0RGlyZWN0b3J5KGZlZGVyYXRpb25JbmZvVXJsKTtcbiAgY29uc3QgcmVtb3RlSW5mbyA9IGF3YWl0IGxvYWRGZWRlcmF0aW9uSW5mbyhmZWRlcmF0aW9uSW5mb1VybCk7XG5cbiAgaWYgKCFyZW1vdGVOYW1lKSB7XG4gICAgcmVtb3RlTmFtZSA9IHJlbW90ZUluZm8ubmFtZTtcbiAgfVxuXG4gIGlmIChyZW1vdGVJbmZvLmJ1aWxkTm90aWZpY2F0aW9uc0VuZHBvaW50KSB7XG4gICAgd2F0Y2hGZWRlcmF0aW9uQnVpbGRDb21wbGV0aW9uKFxuICAgICAgYmFzZVVybCArIHJlbW90ZUluZm8uYnVpbGROb3RpZmljYXRpb25zRW5kcG9pbnRcbiAgICApO1xuICB9XG5cbiAgY29uc3QgaW1wb3J0TWFwID0gY3JlYXRlUmVtb3RlSW1wb3J0TWFwKHJlbW90ZUluZm8sIHJlbW90ZU5hbWUsIGJhc2VVcmwpO1xuICBhZGRSZW1vdGUocmVtb3RlTmFtZSwgeyAuLi5yZW1vdGVJbmZvLCBiYXNlVXJsIH0pO1xuXG4gIHJldHVybiBpbXBvcnRNYXA7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlbW90ZUltcG9ydE1hcChcbiAgcmVtb3RlSW5mbzogRmVkZXJhdGlvbkluZm8sXG4gIHJlbW90ZU5hbWU6IHN0cmluZyxcbiAgYmFzZVVybDogc3RyaW5nXG4pOiBJbXBvcnRNYXAge1xuICBjb25zdCBpbXBvcnRzID0gcHJvY2Vzc0V4cG9zZWQocmVtb3RlSW5mbywgcmVtb3RlTmFtZSwgYmFzZVVybCk7XG4gIGNvbnN0IHNjb3BlcyA9IHByb2Nlc3NSZW1vdGVJbXBvcnRzKHJlbW90ZUluZm8sIGJhc2VVcmwpO1xuICByZXR1cm4geyBpbXBvcnRzLCBzY29wZXMgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gbG9hZEZlZGVyYXRpb25JbmZvKHVybDogc3RyaW5nKTogUHJvbWlzZTxGZWRlcmF0aW9uSW5mbz4ge1xuICBjb25zdCBpbmZvID0gKGF3YWl0IGZldGNoKHVybCkudGhlbigocikgPT4gci5qc29uKCkpKSBhcyBGZWRlcmF0aW9uSW5mbztcbiAgcmV0dXJuIGluZm87XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NSZW1vdGVJbXBvcnRzKFxuICByZW1vdGVJbmZvOiBGZWRlcmF0aW9uSW5mbyxcbiAgYmFzZVVybDogc3RyaW5nXG4pOiBTY29wZXMge1xuICBjb25zdCBzY29wZXM6IFNjb3BlcyA9IHt9O1xuICBjb25zdCBzY29wZWRJbXBvcnRzOiBJbXBvcnRzID0ge307XG5cbiAgZm9yIChjb25zdCBzaGFyZWQgb2YgcmVtb3RlSW5mby5zaGFyZWQpIHtcbiAgICBjb25zdCBvdXRGaWxlTmFtZSA9XG4gICAgICBnZXRFeHRlcm5hbFVybChzaGFyZWQpID8/IGpvaW5QYXRocyhiYXNlVXJsLCBzaGFyZWQub3V0RmlsZU5hbWUpO1xuICAgIHNldEV4dGVybmFsVXJsKHNoYXJlZCwgb3V0RmlsZU5hbWUpO1xuICAgIHNjb3BlZEltcG9ydHNbc2hhcmVkLnBhY2thZ2VOYW1lXSA9IG91dEZpbGVOYW1lO1xuICB9XG5cbiAgc2NvcGVzW2Jhc2VVcmwgKyAnLyddID0gc2NvcGVkSW1wb3J0cztcbiAgcmV0dXJuIHNjb3Blcztcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0V4cG9zZWQoXG4gIHJlbW90ZUluZm86IEZlZGVyYXRpb25JbmZvLFxuICByZW1vdGVOYW1lOiBzdHJpbmcsXG4gIGJhc2VVcmw6IHN0cmluZ1xuKTogSW1wb3J0cyB7XG4gIGNvbnN0IGltcG9ydHM6IEltcG9ydHMgPSB7fTtcblxuICBmb3IgKGNvbnN0IGV4cG9zZWQgb2YgcmVtb3RlSW5mby5leHBvc2VzKSB7XG4gICAgY29uc3Qga2V5ID0gam9pblBhdGhzKHJlbW90ZU5hbWUsIGV4cG9zZWQua2V5KTtcbiAgICBjb25zdCB2YWx1ZSA9IGpvaW5QYXRocyhiYXNlVXJsLCBleHBvc2VkLm91dEZpbGVOYW1lKTtcbiAgICBpbXBvcnRzW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJldHVybiBpbXBvcnRzO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvY2Vzc0hvc3RJbmZvKFxuICBob3N0SW5mbzogRmVkZXJhdGlvbkluZm8sXG4gIHJlbEJ1bmRsZXNQYXRoID0gJy4vJ1xuKTogUHJvbWlzZTxJbXBvcnRNYXA+IHtcbiAgY29uc3QgaW1wb3J0cyA9IGhvc3RJbmZvLnNoYXJlZC5yZWR1Y2UoXG4gICAgKGFjYywgY3VyKSA9PiAoe1xuICAgICAgLi4uYWNjLFxuICAgICAgW2N1ci5wYWNrYWdlTmFtZV06IHJlbEJ1bmRsZXNQYXRoICsgY3VyLm91dEZpbGVOYW1lLFxuICAgIH0pLFxuICAgIHt9XG4gICkgYXMgSW1wb3J0cztcblxuICBmb3IgKGNvbnN0IHNoYXJlZCBvZiBob3N0SW5mby5zaGFyZWQpIHtcbiAgICBzZXRFeHRlcm5hbFVybChzaGFyZWQsIHJlbEJ1bmRsZXNQYXRoICsgc2hhcmVkLm91dEZpbGVOYW1lKTtcbiAgfVxuICByZXR1cm4geyBpbXBvcnRzLCBzY29wZXM6IHt9IH07XG59XG4iXX0=","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { appendImportMap } from './utils/add-import-map';\nimport { processRemoteInfo } from './init-federation';\nimport { getRemote, getRemoteNameByBaseUrl, isRemoteInitialized, } from './model/remotes';\nimport { getDirectory, joinPaths } from './utils/path-utils';\nexport async function loadRemoteModule(optionsOrRemoteName, exposedModule) {\n const options = normalizeOptions(optionsOrRemoteName, exposedModule);\n await ensureRemoteInitialized(options);\n const remoteName = getRemoteNameByOptions(options);\n const remote = getRemote(remoteName);\n const fallback = options.fallback;\n const remoteError = !remote ? 'unknown remote ' + remoteName : '';\n if (!remote && !fallback) {\n throw new Error(remoteError);\n }\n else if (!remote) {\n logClientError(remoteError);\n return Promise.resolve(fallback);\n }\n const exposed = remote.exposes.find((e) => e.key === options.exposedModule);\n const exposedError = !exposed\n ? `Unknown exposed module ${options.exposedModule} in remote ${remoteName}`\n : '';\n if (!exposed && !fallback) {\n throw new Error(exposedError);\n }\n else if (!exposed) {\n logClientError(exposedError);\n return Promise.resolve(fallback);\n }\n const url = joinPaths(remote.baseUrl, exposed.outFileName);\n try {\n const module = _import(url);\n return module;\n }\n catch (e) {\n if (fallback) {\n console.error('error loading remote module', e);\n return fallback;\n }\n throw e;\n }\n}\nfunction _import(url) {\n return typeof importShim !== 'undefined'\n ? importShim(url)\n : import(/* @vite-ignore */ url);\n}\nfunction getRemoteNameByOptions(options) {\n let remoteName;\n if (options.remoteName) {\n remoteName = options.remoteName;\n }\n else if (options.remoteEntry) {\n const baseUrl = getDirectory(options.remoteEntry);\n remoteName = getRemoteNameByBaseUrl(baseUrl);\n }\n else {\n throw new Error('unexpected arguments: Please pass remoteName or remoteEntry');\n }\n if (!remoteName) {\n throw new Error('unknown remoteName ' + remoteName);\n }\n return remoteName;\n}\nasync function ensureRemoteInitialized(options) {\n if (options.remoteEntry &&\n !isRemoteInitialized(getDirectory(options.remoteEntry))) {\n const importMap = await processRemoteInfo(options.remoteEntry);\n appendImportMap(importMap);\n }\n}\nfunction normalizeOptions(optionsOrRemoteName, exposedModule) {\n let options;\n if (typeof optionsOrRemoteName === 'string' && exposedModule) {\n options = {\n remoteName: optionsOrRemoteName,\n exposedModule,\n };\n }\n else if (typeof optionsOrRemoteName === 'object' && !exposedModule) {\n options = optionsOrRemoteName;\n }\n else {\n throw new Error('unexpected arguments: please pass options or a remoteName/exposedModule-pair');\n }\n return options;\n}\nfunction logClientError(error) {\n if (typeof window !== 'undefined') {\n console.error(error);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1yZW1vdGUtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9saWIvbG9hZC1yZW1vdGUtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWtCN0QsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsbUJBQXdELEVBQ3hELGFBQXNCO0lBRXRCLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdkMsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFFbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRWxFLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7U0FBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENB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Q0FBQztJQUVyQyxJQUFJLE9BQU8sbUJBQW1CLEtBQUssUUFBUSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzdELE9BQU8sR0FBRztZQUNSLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsYUFBYTtTQUNkLENBQUM7SUFDSixDQUFDO1NBQU0sSUFBSSxPQUFPLG1CQUFtQixLQUFLLFFBQVEsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JFLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztJQUNoQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEVBQThFLENBQy9FLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLEtBQWE7SUFDbkMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgYXBwZW5kSW1wb3J0TWFwIH0gZnJvbSAnLi91dGlscy9hZGQtaW1wb3J0LW1hcCc7XG5pbXBvcnQgeyBwcm9jZXNzUmVtb3RlSW5mbyB9IGZyb20gJy4vaW5pdC1mZWRlcmF0aW9uJztcbmltcG9ydCB7XG4gIGdldFJlbW90ZSxcbiAgZ2V0UmVtb3RlTmFtZUJ5QmFzZVVybCxcbiAgaXNSZW1vdGVJbml0aWFsaXplZCxcbn0gZnJvbSAnLi9tb2RlbC9yZW1vdGVzJztcbmltcG9ydCB7IGdldERpcmVjdG9yeSwgam9pblBhdGhzIH0gZnJvbSAnLi91dGlscy9wYXRoLXV0aWxzJztcblxuZGVjbGFyZSBmdW5jdGlvbiBpbXBvcnRTaGltPFQ+KHVybDogc3RyaW5nKTogVDtcblxuZXhwb3J0IHR5cGUgTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnM8VCA9IGFueT4gPSB7XG4gIHJlbW90ZUVudHJ5Pzogc3RyaW5nO1xuICByZW1vdGVOYW1lPzogc3RyaW5nO1xuICBleHBvc2VkTW9kdWxlOiBzdHJpbmc7XG4gIGZhbGxiYWNrPzogVDtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkUmVtb3RlTW9kdWxlPFQgPSBhbnk+KFxuICBvcHRpb25zOiBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyxcbik6IFByb21pc2U8VD47XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZFJlbW90ZU1vZHVsZTxUID0gYW55PihcbiAgcmVtb3RlTmFtZTogc3RyaW5nLFxuICBleHBvc2VkTW9kdWxlOiBzdHJpbmcsXG4pOiBQcm9taXNlPFQ+O1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRSZW1vdGVNb2R1bGU8VCA9IGFueT4oXG4gIG9wdGlvbnNPclJlbW90ZU5hbWU6IExvYWRSZW1vdGVNb2R1bGVPcHRpb25zPFQ+IHwgc3RyaW5nLFxuICBleHBvc2VkTW9kdWxlPzogc3RyaW5nLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBub3JtYWxpemVPcHRpb25zKG9wdGlvbnNPclJlbW90ZU5hbWUsIGV4cG9zZWRNb2R1bGUpO1xuXG4gIGF3YWl0IGVuc3VyZVJlbW90ZUluaXRpYWxpemVkKG9wdGlvbnMpO1xuXG4gIGNvbnN0IHJlbW90ZU5hbWUgPSBnZXRSZW1vdGVOYW1lQnlPcHRpb25zKG9wdGlvbnMpO1xuICBjb25zdCByZW1vdGUgPSBnZXRSZW1vdGUocmVtb3RlTmFtZSk7XG4gIGNvbnN0IGZhbGxiYWNrID0gb3B0aW9ucy5mYWxsYmFjaztcblxuICBjb25zdCByZW1vdGVFcnJvciA9ICFyZW1vdGUgPyAndW5rbm93biByZW1vdGUgJyArIHJlbW90ZU5hbWUgOiAnJztcblxuICBpZiAoIXJlbW90ZSAmJiAhZmFsbGJhY2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IocmVtb3RlRXJyb3IpO1xuICB9IGVsc2UgaWYgKCFyZW1vdGUpIHtcbiAgICBsb2dDbGllbnRFcnJvcihyZW1vdGVFcnJvcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxsYmFjayk7XG4gIH1cblxuICBjb25zdCBleHBvc2VkID0gcmVtb3RlLmV4cG9zZXMuZmluZCgoZSkgPT4gZS5rZXkgPT09IG9wdGlvbnMuZXhwb3NlZE1vZHVsZSk7XG5cbiAgY29uc3QgZXhwb3NlZEVycm9yID0gIWV4cG9zZWRcbiAgICA/IGBVbmtub3duIGV4cG9zZWQgbW9kdWxlICR7b3B0aW9ucy5leHBvc2VkTW9kdWxlfSBpbiByZW1vdGUgJHtyZW1vdGVOYW1lfWBcbiAgICA6ICcnO1xuXG4gIGlmICghZXhwb3NlZCAmJiAhZmFsbGJhY2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXhwb3NlZEVycm9yKTtcbiAgfSBlbHNlIGlmICghZXhwb3NlZCkge1xuICAgIGxvZ0NsaWVudEVycm9yKGV4cG9zZWRFcnJvcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxsYmFjayk7XG4gIH1cblxuICBjb25zdCB1cmwgPSBqb2luUGF0aHMocmVtb3RlLmJhc2VVcmwsIGV4cG9zZWQub3V0RmlsZU5hbWUpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgbW9kdWxlID0gX2ltcG9ydDxUPih1cmwpO1xuICAgIHJldHVybiBtb2R1bGU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIGxvYWRpbmcgcmVtb3RlIG1vZHVsZScsIGUpO1xuICAgICAgcmV0dXJuIGZhbGxiYWNrO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9pbXBvcnQ8VCA9IGFueT4odXJsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBpbXBvcnRTaGltICE9PSAndW5kZWZpbmVkJ1xuICAgID8gaW1wb3J0U2hpbTxUPih1cmwpXG4gICAgOiAoaW1wb3J0KC8qIEB2aXRlLWlnbm9yZSAqLyB1cmwpIGFzIFQpO1xufVxuXG5mdW5jdGlvbiBnZXRSZW1vdGVOYW1lQnlPcHRpb25zKG9wdGlvbnM6IExvYWRSZW1vdGVNb2R1bGVPcHRpb25zKSB7XG4gIGxldCByZW1vdGVOYW1lO1xuXG4gIGlmIChvcHRpb25zLnJlbW90ZU5hbWUpIHtcbiAgICByZW1vdGVOYW1lID0gb3B0aW9ucy5yZW1vdGVOYW1lO1xuICB9IGVsc2UgaWYgKG9wdGlvbnMucmVtb3RlRW50cnkpIHtcbiAgICBjb25zdCBiYXNlVXJsID0gZ2V0RGlyZWN0b3J5KG9wdGlvbnMucmVtb3RlRW50cnkpO1xuICAgIHJlbW90ZU5hbWUgPSBnZXRSZW1vdGVOYW1lQnlCYXNlVXJsKGJhc2VVcmwpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICd1bmV4cGVjdGVkIGFyZ3VtZW50czogUGxlYXNlIHBhc3MgcmVtb3RlTmFtZSBvciByZW1vdGVFbnRyeScsXG4gICAgKTtcbiAgfVxuXG4gIGlmICghcmVtb3RlTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biByZW1vdGVOYW1lICcgKyByZW1vdGVOYW1lKTtcbiAgfVxuICByZXR1cm4gcmVtb3RlTmFtZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZW5zdXJlUmVtb3RlSW5pdGlhbGl6ZWQoXG4gIG9wdGlvbnM6IExvYWRSZW1vdGVNb2R1bGVPcHRpb25zLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChcbiAgICBvcHRpb25zLnJlbW90ZUVudHJ5ICYmXG4gICAgIWlzUmVtb3RlSW5pdGlhbGl6ZWQoZ2V0RGlyZWN0b3J5KG9wdGlvbnMucmVtb3RlRW50cnkpKVxuICApIHtcbiAgICBjb25zdCBpbXBvcnRNYXAgPSBhd2FpdCBwcm9jZXNzUmVtb3RlSW5mbyhvcHRpb25zLnJlbW90ZUVudHJ5KTtcbiAgICBhcHBlbmRJbXBvcnRNYXAoaW1wb3J0TWFwKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVPcHRpb25zKFxuICBvcHRpb25zT3JSZW1vdGVOYW1lOiBzdHJpbmcgfCBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyxcbiAgZXhwb3NlZE1vZHVsZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnMge1xuICBsZXQgb3B0aW9uczogTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnM7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zT3JSZW1vdGVOYW1lID09PSAnc3RyaW5nJyAmJiBleHBvc2VkTW9kdWxlKSB7XG4gICAgb3B0aW9ucyA9IHtcbiAgICAgIHJlbW90ZU5hbWU6IG9wdGlvbnNPclJlbW90ZU5hbWUsXG4gICAgICBleHBvc2VkTW9kdWxlLFxuICAgIH07XG4gIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnNPclJlbW90ZU5hbWUgPT09ICdvYmplY3QnICYmICFleHBvc2VkTW9kdWxlKSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnNPclJlbW90ZU5hbWU7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ3VuZXhwZWN0ZWQgYXJndW1lbnRzOiBwbGVhc2UgcGFzcyBvcHRpb25zIG9yIGEgcmVtb3RlTmFtZS9leHBvc2VkTW9kdWxlLXBhaXInLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIGxvZ0NsaWVudEVycm9yKGVycm9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdGFyYy1uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9uYXRpdmUtZmVkZXJhdGlvbi1ydW50aW1lL3NyYy9zb2Z0YXJjLW5hdGl2ZS1mZWRlcmF0aW9uLXJ1bnRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|