openc3-tool-base 5.10.0 → 5.10.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1,460 @@
1
- {"version":3,"file":"import-map-overrides.js","sources":["../src/util/includes.js","../src/util/url-parameter.js","../src/api/js-api.js","../src/util/string-regex.js","../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../node_modules/.pnpm/preact@10.5.14/node_modules/preact/dist/preact.mjs","../src/ui/list/module-dialog.component.js","../src/ui/list/external-importmap-dialog.component.js","../src/ui/dev-lib-overrides.component.js","../src/ui/list/list.component.js","../src/ui/popup.component.js","../src/ui/full-ui.component.js","../src/ui/custom-elements.js"],"sourcesContent":["export function includes(obj, item) {\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; i++) {\n if (obj[i] === item) {\n return true;\n }\n }\n return false;\n } else if (typeof obj === \"string\") {\n return obj.indexOf(item) >= 0;\n } else {\n throw Error(`Can't call includes on ${typeof obj}`);\n }\n}\n","// https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript\nexport function getParameterByName(name, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n","import { escapeStringRegexp } from \"../util/string-regex\";\nimport { includes } from \"../util/includes.js\";\nimport { getParameterByName } from \"../util/url-parameter\";\n\nconst localStoragePrefix = \"import-map-override:\";\nconst disabledOverridesLocalStorageKey = \"import-map-overrides-disabled\";\nconst externalOverridesLocalStorageKey = \"import-map-overrides-external-maps\";\nconst overrideAttribute = \"data-is-importmap-override\";\nconst domainsMeta = \"import-map-overrides-domains\";\nconst allowListPrefix = \"allowlist:\";\nconst denyListPrefix = \"denylist:\";\nexport const queryParamOverridesName = \"imo\";\n\nconst importMapMetaElement = document.querySelector(\n 'meta[name=\"importmap-type\"]'\n);\n\nconst domainsElement = document.querySelector(`meta[name=\"${domainsMeta}\"]`);\n\nconst externalOverrideMapPromises = {};\n\nexport const importMapType = importMapMetaElement\n ? importMapMetaElement.getAttribute(\"content\")\n : \"importmap\";\n\nexport let isDisabled;\n\nif (domainsElement) {\n const content = domainsElement.getAttribute(\"content\");\n if (!content) {\n console.warn(`Invalid ${domainsMeta} meta element - content required.`);\n }\n\n const matchHostname = (domain) =>\n new RegExp(escapeStringRegexp(domain).replace(\"\\\\*\", \".+\")).test(\n window.location.hostname\n );\n\n if (content.indexOf(allowListPrefix) === 0) {\n const allowedDomains = content.slice(allowListPrefix.length).split(\",\");\n isDisabled = !allowedDomains.some(matchHostname);\n } else if (content.indexOf(denyListPrefix) === 0) {\n const deniedDomains = content.slice(denyListPrefix.length).split(\",\");\n isDisabled = deniedDomains.some(matchHostname);\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `Invalid ${domainsMeta} meta content attribute - must start with ${allowListPrefix} or ${denyListPrefix}`\n );\n }\n} else {\n isDisabled = false;\n}\n\nif (!canAccessLocalStorage()) {\n console.warn(\n \"Disabling import-map-overrides, since local storage is not readable\"\n );\n isDisabled = true;\n}\n\nif (!isDisabled) {\n init();\n}\n\nfunction init() {\n const serverOverrides = importMapMetaElement\n ? importMapMetaElement.hasAttribute(\"server-cookie\")\n : false;\n const serverOnly = importMapMetaElement\n ? importMapMetaElement.hasAttribute(\"server-only\")\n : false;\n\n let defaultMapPromise;\n\n window.importMapOverrides = {\n addOverride(moduleName, url) {\n const portRegex = /^\\d+$/g;\n if (portRegex.test(url)) {\n url = imo.getUrlFromPort(moduleName, url);\n }\n const key = localStoragePrefix + moduleName;\n localStorage.setItem(key, url);\n if (serverOverrides) {\n document.cookie = `${key}=${url}`;\n }\n fireChangedEvent();\n return imo.getOverrideMap();\n },\n getOverrideMap(includeDisabled = false) {\n const overrides = createEmptyImportMap();\n const disabledOverrides = imo.getDisabledOverrides();\n\n const setOverride = (moduleName, path) => {\n if (includeDisabled || !(disabledOverrides.indexOf(moduleName) >= 0)) {\n overrides.imports[moduleName] = path;\n }\n };\n\n // get from localstorage\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key.indexOf(localStoragePrefix) === 0) {\n setOverride(\n key.slice(localStoragePrefix.length),\n localStorage.getItem(key)\n );\n }\n }\n\n // get from url if query param exist\n const queryParam = getParameterByName(\n queryParamOverridesName,\n window.parent ? window.parent.location.href : window.location.href\n );\n\n if (queryParam) {\n let queryParamImportMap;\n try {\n queryParamImportMap = JSON.parse(queryParam);\n } catch (e) {\n throw Error(\n `Invalid importMap query param - text content must be json`\n );\n }\n Object.keys(queryParamImportMap.imports).forEach((moduleName) => {\n setOverride(moduleName, queryParamImportMap.imports[moduleName]);\n });\n }\n\n return overrides;\n },\n removeOverride(moduleName) {\n const key = localStoragePrefix + moduleName;\n const hasItem = localStorage.getItem(key) !== null;\n localStorage.removeItem(key);\n if (serverOverrides) {\n document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n }\n imo.enableOverride(moduleName);\n fireChangedEvent();\n return hasItem;\n },\n resetOverrides() {\n Object.keys(imo.getOverrideMap(true).imports).forEach((moduleName) => {\n imo.removeOverride(moduleName);\n });\n localStorage.removeItem(disabledOverridesLocalStorageKey);\n localStorage.removeItem(externalOverridesLocalStorageKey);\n fireChangedEvent();\n return imo.getOverrideMap();\n },\n hasOverrides() {\n return Object.keys(imo.getOverrideMap().imports).length > 0;\n },\n getUrlFromPort(moduleName, port) {\n const fileName = moduleName.replace(/@/g, \"\").replace(/\\//g, \"-\");\n return `//localhost:${port}/${fileName}.js`;\n },\n enableUI() {\n const customElementName = \"import-map-overrides-full\";\n const showWhenLocalStorage = \"show-when-local-storage\";\n let customElement = document.querySelector(customElementName);\n\n if (!customElement) {\n customElement = document.createElement(customElementName);\n customElement.setAttribute(showWhenLocalStorage, \"true\");\n document.body.appendChild(customElement);\n }\n\n const localStorageKey = customElement.getAttribute(showWhenLocalStorage);\n if (localStorageKey) {\n localStorage.setItem(localStorageKey, true);\n customElement.renderWithPreact();\n }\n },\n mergeImportMap(originalMap, newMap) {\n const outMap = createEmptyImportMap();\n for (let i in originalMap.imports) {\n outMap.imports[i] = originalMap.imports[i];\n }\n for (let i in newMap.imports) {\n outMap.imports[i] = newMap.imports[i];\n }\n for (let i in originalMap.scopes) {\n outMap.scopes[i] = originalMap.scopes[i];\n }\n for (let i in newMap.scopes) {\n outMap.scopes[i] = newMap.scopes[i];\n }\n return outMap;\n },\n getDefaultMap() {\n return (\n defaultMapPromise ||\n (defaultMapPromise = Array.prototype.reduce.call(\n document.querySelectorAll(\n `script[type=\"${importMapType}\"], script[type=\"overridable-importmap\"]`\n ),\n (promise, scriptEl) => {\n if (scriptEl.hasAttribute(overrideAttribute)) {\n return promise;\n } else {\n let nextPromise;\n if (scriptEl.src) {\n nextPromise = fetchExternalMap(scriptEl.src);\n } else {\n nextPromise = Promise.resolve(JSON.parse(scriptEl.textContent));\n }\n\n return Promise.all([\n promise,\n nextPromise,\n ]).then(([originalMap, newMap]) =>\n imo.mergeImportMap(originalMap, newMap)\n );\n }\n },\n Promise.resolve(createEmptyImportMap())\n ))\n );\n },\n getCurrentPageMap() {\n return Promise.all([\n imo.getDefaultMap(),\n imo.getExternalOverrideMap(imo.getCurrentPageExternalOverrides()),\n ]).then(([defaultMap, externalOverridesMap]) => {\n return imo.mergeImportMap(\n imo.mergeImportMap(defaultMap, externalOverridesMap),\n initialOverrideMap\n );\n });\n },\n getCurrentPageExternalOverrides() {\n const currentPageExternalOverrides = [];\n document\n .querySelectorAll(\n `[${overrideAttribute}]:not([id=\"import-map-overrides\"])`\n )\n .forEach((externalOverrideEl) => {\n currentPageExternalOverrides.push(externalOverrideEl.src);\n });\n return currentPageExternalOverrides;\n },\n getNextPageMap() {\n return Promise.all([\n imo.getDefaultMap(),\n imo.getExternalOverrideMap(),\n ]).then(([defaultMap, externalOverridesMap]) => {\n return imo.mergeImportMap(\n imo.mergeImportMap(defaultMap, externalOverridesMap),\n imo.getOverrideMap()\n );\n });\n },\n disableOverride(moduleName) {\n const disabledOverrides = imo.getDisabledOverrides();\n if (!includes(disabledOverrides, moduleName)) {\n localStorage.setItem(\n disabledOverridesLocalStorageKey,\n JSON.stringify(disabledOverrides.concat(moduleName))\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n enableOverride(moduleName) {\n const disabledOverrides = imo.getDisabledOverrides();\n const index = disabledOverrides.indexOf(moduleName);\n if (index >= 0) {\n disabledOverrides.splice(index, 1);\n localStorage.setItem(\n disabledOverridesLocalStorageKey,\n JSON.stringify(disabledOverrides)\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n getDisabledOverrides() {\n const disabledOverrides = localStorage.getItem(\n disabledOverridesLocalStorageKey\n );\n return disabledOverrides ? JSON.parse(disabledOverrides) : [];\n },\n isDisabled(moduleName) {\n return includes(imo.getDisabledOverrides(), moduleName);\n },\n getExternalOverrides() {\n let localStorageValue = localStorage.getItem(\n externalOverridesLocalStorageKey\n );\n return localStorageValue ? JSON.parse(localStorageValue).sort() : [];\n },\n addExternalOverride(url) {\n url = new URL(url, document.baseURI).href;\n const overrides = imo.getExternalOverrides();\n if (includes(overrides, url)) {\n return false;\n } else {\n localStorage.setItem(\n externalOverridesLocalStorageKey,\n JSON.stringify(overrides.concat(url))\n );\n fireChangedEvent();\n return true;\n }\n },\n removeExternalOverride(url) {\n const overrides = imo.getExternalOverrides();\n if (includes(overrides, url)) {\n localStorage.setItem(\n externalOverridesLocalStorageKey,\n JSON.stringify(overrides.filter((override) => override !== url))\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n getExternalOverrideMap(externalOverrides = imo.getExternalOverrides()) {\n return externalOverrides.reduce((result, externalOverride) => {\n const fetchPromise =\n externalOverrideMapPromises[externalOverride] ||\n (externalOverrideMapPromises[externalOverride] = fetchExternalMap(\n externalOverride\n ));\n return Promise.all([result, fetchPromise]).then(\n ([firstMap, secondMap]) => {\n return imo.mergeImportMap(firstMap, secondMap);\n }\n );\n }, Promise.resolve(createEmptyImportMap()));\n },\n isExternalMapValid(importMapUrl) {\n const promise =\n externalOverrideMapPromises[importMapUrl] ||\n (externalOverrideMapPromises[importMapUrl] = fetchExternalMap(\n importMapUrl\n ));\n return promise.then(() =>\n includes(imo.invalidExternalMaps, importMapUrl)\n );\n },\n invalidExternalMaps: [],\n };\n\n const imo = window.importMapOverrides;\n\n let canFireCustomEvents = true;\n try {\n if (CustomEvent) {\n new CustomEvent(\"a\");\n } else {\n canFireCustomEvents = false;\n }\n } catch (err) {\n canFireCustomEvents = false;\n }\n\n function fireChangedEvent() {\n fireEvent(\"change\");\n }\n\n function fireEvent(type) {\n // Set timeout so that event fires after the change has totally finished\n setTimeout(() => {\n const eventType = `import-map-overrides:${type}`;\n const event = canFireCustomEvents\n ? new CustomEvent(eventType)\n : document.createEvent(\"CustomEvent\");\n if (!canFireCustomEvents) {\n event.initCustomEvent(eventType, true, true, null);\n }\n window.dispatchEvent(event);\n });\n }\n\n const initialOverrideMap = imo.getOverrideMap();\n const initialExternalOverrideMaps = imo.getExternalOverrides();\n\n let referenceNode;\n\n if (!serverOnly) {\n const overridableImportMap = document.querySelector(\n 'script[type=\"overridable-importmap\"]'\n );\n\n referenceNode = overridableImportMap;\n\n if (!referenceNode) {\n const importMaps = document.querySelectorAll(\n `script[type=\"${importMapType}\"]`\n );\n referenceNode = importMaps ? importMaps[importMaps.length - 1] : null;\n }\n\n if (overridableImportMap) {\n if (overridableImportMap.src) {\n throw Error(\n `import-map-overrides: external import maps with type=\"overridable-importmap\" are not supported`\n );\n }\n let originalMap;\n try {\n originalMap = JSON.parse(overridableImportMap.textContent);\n } catch (e) {\n throw Error(\n `Invalid <script type=\"overridable-importmap\"> - text content must be json`\n );\n }\n\n referenceNode = insertOverrideMap(\n imo.mergeImportMap(originalMap, initialOverrideMap),\n `import-map-overrides`,\n referenceNode\n );\n insertAllExternalOverrideMaps();\n } else {\n insertAllExternalOverrideMaps();\n if (Object.keys(initialOverrideMap.imports).length > 0) {\n referenceNode = insertOverrideMap(\n initialOverrideMap,\n `import-map-overrides`,\n referenceNode\n );\n }\n }\n }\n\n fireEvent(\"init\");\n\n function insertOverrideMap(map, id, referenceNode) {\n const overrideMapElement = document.createElement(\"script\");\n overrideMapElement.type = importMapType;\n overrideMapElement.id = id; // for debugging and for UI to identify this import map as special\n overrideMapElement.setAttribute(overrideAttribute, \"\");\n if (typeof map === \"string\") {\n overrideMapElement.src = map;\n } else {\n overrideMapElement.textContent = JSON.stringify(map, null, 2);\n }\n\n if (referenceNode) {\n referenceNode.insertAdjacentElement(\"afterend\", overrideMapElement);\n } else {\n document.head.appendChild(overrideMapElement);\n }\n\n return overrideMapElement;\n }\n\n function fetchExternalMap(url) {\n return fetch(url).then(\n (r) => {\n if (r.ok) {\n return r.json().catch((err) => {\n console.warn(\n Error(\n `External override import map contained invalid json, at url ${r.url}. ${err}`\n )\n );\n imo.invalidExternalMaps.push(r.url);\n return createEmptyImportMap();\n });\n } else {\n console.warn(\n Error(\n `Unable to download external override import map from url ${r.url}. Server responded with status ${r.status}`\n )\n );\n imo.invalidExternalMaps.push(r.url);\n return createEmptyImportMap();\n }\n },\n () => {\n console.warn(\n Error(`Unable to download external import map at url '${url}'`)\n );\n imo.invalidExternalMaps.push(new URL(url, document.baseURI).href);\n return createEmptyImportMap();\n }\n );\n }\n\n function createEmptyImportMap() {\n return { imports: {}, scopes: {} };\n }\n\n function insertAllExternalOverrideMaps() {\n if (initialExternalOverrideMaps.length > 0) {\n initialExternalOverrideMaps.forEach((mapUrl, index) => {\n referenceNode = insertOverrideMap(\n mapUrl,\n `import-map-overrides-external-${index}`\n );\n });\n }\n }\n}\n\nfunction canAccessLocalStorage() {\n try {\n localStorage.getItem(\"test\");\n return true;\n } catch {\n return false;\n }\n}\n","// from https://github.com/sindresorhus/escape-string-regexp\nexport const escapeStringRegexp = (string) => {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n};\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return y(l,f,t,o,null)}function y(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?k(t):o,t.__h),z(u,t),t.__e!=o&&b(t)))})}function w(n,l,u,i,t,o,r,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,o,r,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&null!=_.__k&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?x(t,l,u):P(u,t,t,n.__k,t.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(o=!0),null!=r)for(;_<r.length;_++)if((s=r[_])&&(s===l||(d?s.localName==d:3==s.nodeType))){l=s,r[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,o&&\"foreignObject\"!==d,r,f,r?r[0]:i.__k&&k(i,0),c),null!=r)for(_=r.length;_--;)null!=r[_]&&h(r[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var o,r,f;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!o&&t||i).__k=v(d,null,[u]),r||e,e,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,f,!o&&t?t:r?r.__e:i.firstChild,o),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,o,r,f=a({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,o||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n","import { h, Component } from \"preact\";\n\nexport default class ModuleDialog extends Component {\n getInitialOverrideUrl = () => {\n const regex = new RegExp(`//localhost:([0-9]+)/`);\n const match = regex.exec(this.props.module.overrideUrl);\n if (\n match &&\n this.props.module.overrideUrl ===\n window.importMapOverrides.getUrlFromPort(\n this.props.module.moduleName,\n match[1]\n )\n ) {\n return match[1];\n } else if (this.props.module.overrideUrl) {\n return this.props.module.overrideUrl;\n } else {\n return \"\";\n }\n };\n state = {\n overrideUrl: this.getInitialOverrideUrl(),\n moduleName: \"\",\n };\n inputEl = null;\n moduleNameEl = null;\n componentDidMount() {\n this.focusFirstInput();\n this.dialogEl.addEventListener(\"keydown\", this.keyDown);\n }\n componentDidUpdate(prevProps, prevState) {\n if (this.props.module !== prevProps.module) {\n this.setState(\n { overrideUrl: this.props.module.overrideUrl || \"\" },\n () => {\n this.focusFirstInput();\n }\n );\n }\n }\n componentWillUnmount() {\n this.dialogEl.removeEventListener(\"keydown\", this.keyDown);\n }\n render({ module }) {\n return (\n <div className=\"imo-modal-container\">\n <div className=\"imo-modal\" />\n <dialog\n className={`imo-module-dialog ${\n this.state.overrideUrl.length > 0 ? \"imo-overridden\" : \"imo-default\"\n }`}\n open\n ref={this.dialogRef}\n >\n <form method=\"dialog\" onSubmit={this.handleSubmit}>\n <h3 style={{ marginTop: 0 }}>{module.moduleName}</h3>\n <table>\n <tbody>\n {!module.isNew && (\n <tr>\n <td>Default URL:</td>\n <td>{module.defaultUrl}</td>\n </tr>\n )}\n {module.isNew && (\n <tr>\n <td>\n <span id=\"module-name-label\">Module Name:</span>\n </td>\n <td style={{ position: \"relative\" }}>\n <input\n type=\"text\"\n tabIndex={1}\n value={this.state.moduleName}\n aria-labelledby=\"module-name-label\"\n onInput={(evt) =>\n this.setState({ moduleName: evt.target.value })\n }\n ref={this.handleModuleNameRef}\n required\n />\n <div\n role=\"button\"\n tabIndex={3}\n className=\"imo-clear-input\"\n onClick={this.clearModuleName}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <span id=\"override-url-label\">Override URL:</span>\n </td>\n <td style={{ position: \"relative\" }}>\n <input\n ref={this.handleInputRef}\n type=\"text\"\n value={this.state.overrideUrl}\n aria-labelledby=\"override-url-label\"\n tabIndex={2}\n onInput={(evt) =>\n this.setState({ overrideUrl: evt.target.value })\n }\n />\n <div\n role=\"button\"\n tabIndex={4}\n className=\"imo-clear-input\"\n onClick={this.clearInput}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </td>\n </tr>\n {portRegex.test(this.state.overrideUrl) && (\n <tr>\n <td>Derived url:</td>\n <td>{this.getDerivedUrl()}</td>\n </tr>\n )}\n </tbody>\n </table>\n <div className=\"imo-dialog-actions\">\n <button\n type=\"button\"\n tabIndex={5}\n onClick={this.props.cancel}\n style={{ marginRight: \"16px\" }}\n >\n Cancel\n </button>\n {this.props.module.overrideUrl && !this.props.module.disabled && (\n <button\n type=\"button\"\n onClick={() => {\n if (this.props.module.disabled) {\n window.importMapOverrides.enableOverride(\n this.props.module.moduleName\n );\n } else {\n window.importMapOverrides.disableOverride(\n this.props.module.moduleName\n );\n }\n this.props.cancel();\n }}\n tabIndex={6}\n style={{ marginRight: \"16px\" }}\n >\n {this.props.module.disabled ? \"Enable\" : \"Disable\"} Override\n </button>\n )}\n <button\n type=\"submit\"\n tabIndex={7}\n className={\n this.state.overrideUrl ? \"imo-overridden\" : \"imo-default\"\n }\n >\n {this.state.overrideUrl ? \"Apply override\" : \"Reset to default\"}\n </button>\n </div>\n </form>\n </dialog>\n </div>\n );\n }\n\n handleInputRef = (el) => {\n this.inputEl = el;\n };\n\n handleModuleNameRef = (el) => {\n this.moduleNameEl = el;\n };\n\n dialogRef = (el) => {\n this.dialogEl = el;\n };\n\n handleSubmit = (evt) => {\n evt.preventDefault();\n if (\n this.props.module.moduleName &&\n window.importMapOverrides.isDisabled(this.props.module.moduleName)\n ) {\n window.importMapOverrides.enableOverride(this.props.module.moduleName);\n }\n if (this.props.module.isNew) {\n this.props.addNewModule(this.state.moduleName, this.state.overrideUrl);\n } else {\n this.props.updateModuleUrl(this.state.overrideUrl);\n }\n };\n\n getDerivedUrl = () => {\n const moduleName = this.props.module.isNew\n ? this.state.moduleName\n : this.props.module.moduleName;\n return portRegex.test(this.state.overrideUrl)\n ? window.importMapOverrides.getUrlFromPort(\n moduleName,\n this.state.overrideUrl\n )\n : this.state.overrideUrl;\n };\n\n keyDown = (evt) => {\n if (evt.key === \"Escape\") {\n evt.stopPropagation();\n this.props.cancel();\n }\n };\n\n focusFirstInput = () => {\n const firstInput = this.moduleNameEl || this.inputEl;\n firstInput.select();\n };\n\n clearModuleName = () => {\n this.setState({ moduleName: \"\" }, () => {\n this.focusFirstInput();\n });\n };\n\n clearInput = () => {\n this.setState({ overrideUrl: \"\" }, () => {\n this.focusFirstInput();\n });\n };\n}\n\nconst portRegex = /^\\d+$/;\n","import { h, Component } from \"preact\";\n\nexport default class ExternalImportMap extends Component {\n state = {\n url: this.props.dialogExternalMap.isNew\n ? \"\"\n : this.props.dialogExternalMap.url,\n };\n inputEl = null;\n componentDidMount() {\n this.inputEl.focus();\n this.dialogEl.addEventListener(\"keydown\", this.keyDown);\n }\n componentWillUnmount() {\n this.dialogEl.removeEventListener(\"keydown\", this.keyDown);\n }\n render() {\n return (\n <div className=\"imo-modal-container\">\n <div className=\"imo-modal\" />\n <dialog\n className=\"imo-module-dialog\"\n open\n ref={(el) => (this.dialogEl = el)}\n >\n <form method=\"dialog\" onSubmit={this.handleSubmit}>\n <h3 style={{ marginTop: 0 }}>\n {this.props.dialogExternalMap.isNew\n ? \"Add External Import Map\"\n : \"Edit External Import Map\"}\n </h3>\n <div style={{ marginBottom: \"20px\" }}>\n <label htmlFor=\"external-importmap-url\">URL to import map:</label>\n <span style={{ position: \"relative\" }}>\n <input\n id=\"external-importmap-url\"\n type=\"text\"\n value={this.state.url}\n onInput={(evt) => this.setState({ url: evt.target.value })}\n ref={(el) => (this.inputEl = el)}\n required={this.props.dialogExternalMap.isNew}\n />\n <div\n role=\"button\"\n tabIndex={0}\n className=\"imo-clear-input\"\n onClick={() => this.setState({ url: \"\" })}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </span>\n </div>\n <div className=\"imo-dialog-actions\">\n <button\n type=\"button\"\n onClick={this.props.cancel}\n style={{ marginRight: \"16px\" }}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n className={this.state.url ? \"imo-overridden\" : \"imo-default\"}\n >\n {this.state.url || this.props.dialogExternalMap.isNew\n ? \"Apply override\"\n : \"Remove override\"}\n </button>\n </div>\n </form>\n </dialog>\n </div>\n );\n }\n handleSubmit = (evt) => {\n evt.preventDefault();\n\n if (!this.props.dialogExternalMap.isNew) {\n window.importMapOverrides.removeExternalOverride(\n this.props.dialogExternalMap.url\n );\n }\n\n if (this.state.url) {\n window.importMapOverrides.addExternalOverride(this.state.url);\n }\n\n this.props.cancel();\n };\n keyDown = (evt) => {\n if (evt.key === \"Escape\") {\n evt.stopPropagation();\n this.props.cancel();\n }\n };\n}\n","import { h, Component } from \"preact\";\n\nexport default class DevLibOverrides extends Component {\n componentDidMount() {\n window.importMapOverrides.getCurrentPageMap().then(addDevLibOverrides);\n }\n render() {\n return null;\n }\n}\n\nconst removeMin = (url) => url.replace(\".min.js\", \".js\");\n\nexport const devLibs = {\n react: (url) => url.replace(\"production.min\", \"development\"),\n \"react-dom\": (url) => url.replace(\"production.min\", \"development\"),\n \"single-spa\": (url) => url.replace(\"single-spa.min.js\", \"single-spa.dev.js\"),\n vue: removeMin,\n \"vue-router\": removeMin,\n \"@angular/core\": removeMin,\n \"@angular/common\": removeMin,\n \"@angular/router\": removeMin,\n \"@angular/platform-browser\": removeMin,\n};\n\nfunction addDevLibOverrides(notOverriddenMap) {\n Object.keys(notOverriddenMap.imports)\n .filter((libName) => devLibs[libName])\n .forEach((libName) => {\n window.importMapOverrides.addOverride(\n libName,\n devLibs[libName](notOverriddenMap.imports[libName])\n );\n });\n}\n\nexport function overridesBesidesDevLibs() {\n return (\n Object.keys(window.importMapOverrides.getOverrideMap().imports).filter(\n (k) => !devLibs[k]\n ).length > 0\n );\n}\n","import { h, Component, render } from \"preact\";\nimport { includes } from \"../../util/includes.js\";\nimport ModuleDialog from \"./module-dialog.component\";\nimport ExternalImportMap from \"./external-importmap-dialog.component\";\nimport { devLibs } from \"../dev-lib-overrides.component\";\n\nexport default class List extends Component {\n state = {\n notOverriddenMap: { imports: {} },\n currentPageMap: { imports: {} },\n nextPageMap: { imports: {} },\n dialogModule: null,\n dialogExternalMap: null,\n searchVal: \"\",\n };\n componentDidMount() {\n window.importMapOverrides.getDefaultMap().then((notOverriddenMap) => {\n this.setState({ notOverriddenMap });\n });\n window.importMapOverrides.getCurrentPageMap().then((currentPageMap) => {\n this.setState({ currentPageMap });\n });\n window.importMapOverrides.getNextPageMap().then((nextPageMap) => {\n this.setState({ nextPageMap });\n });\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n this.inputRef.focus();\n }\n componentWillUnmount() {\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentDidUpdate(prevProps, prevState) {\n if (!prevState.dialogModule && this.state.dialogModule) {\n this.dialogContainer = document.createElement(\"div\");\n document.body.appendChild(this.dialogContainer);\n render(\n <ModuleDialog\n module={this.state.dialogModule}\n cancel={this.cancel}\n updateModuleUrl={this.updateModuleUrl}\n addNewModule={this.addNewModule}\n />,\n this.dialogContainer\n );\n } else if (prevState.dialogModule && !this.state.dialogModule) {\n render(null, this.dialogContainer);\n this.dialogContainer.remove();\n delete this.dialogContainer;\n }\n\n if (!prevState.dialogExternalMap && this.state.dialogExternalMap) {\n this.dialogContainer = document.createElement(\"div\");\n document.body.appendChild(this.dialogContainer);\n render(\n <ExternalImportMap\n dialogExternalMap={this.state.dialogExternalMap}\n cancel={this.cancel}\n />,\n this.dialogContainer\n );\n } else if (prevState.dialogExternalMap && !this.state.dialogExternalMap) {\n render(null, this.dialogContainer);\n this.dialogContainer.remove();\n delete this.dialogContainer;\n }\n }\n render() {\n const overriddenModules = [],\n nextOverriddenModules = [],\n disabledOverrides = [],\n defaultModules = [],\n externalOverrideModules = [],\n pendingRefreshDefaultModules = [],\n devLibModules = [];\n\n const overrideMap = window.importMapOverrides.getOverrideMap(true).imports;\n\n const notOverriddenKeys = Object.keys(this.state.notOverriddenMap.imports);\n\n const disabledModules = window.importMapOverrides.getDisabledOverrides();\n\n notOverriddenKeys.filter(this.filterModuleNames).forEach((moduleName) => {\n const mod = {\n moduleName,\n defaultUrl: this.state.notOverriddenMap.imports[moduleName],\n overrideUrl: overrideMap[moduleName],\n disabled: includes(disabledModules, moduleName),\n };\n if (mod.disabled) {\n disabledOverrides.push(mod);\n } else if (overrideMap[moduleName]) {\n if (\n this.state.currentPageMap.imports[moduleName] ===\n overrideMap[moduleName]\n ) {\n if (\n devLibs[moduleName] &&\n devLibs[moduleName](\n this.state.currentPageMap.imports[moduleName]\n ) === overrideMap[moduleName]\n ) {\n devLibModules.push(mod);\n } else {\n overriddenModules.push(mod);\n }\n } else {\n nextOverriddenModules.push(mod);\n }\n } else if (\n this.state.notOverriddenMap.imports[moduleName] ===\n this.state.currentPageMap.imports[moduleName]\n ) {\n defaultModules.push(mod);\n } else if (\n this.state.notOverriddenMap.imports[moduleName] ===\n this.state.nextPageMap.imports[moduleName]\n ) {\n pendingRefreshDefaultModules.push(mod);\n } else {\n externalOverrideModules.push(mod);\n }\n });\n\n Object.keys(overrideMap)\n .filter(this.filterModuleNames)\n .forEach((moduleName) => {\n if (!includes(notOverriddenKeys, moduleName)) {\n const mod = {\n moduleName,\n defaultUrl: null,\n overrideUrl: overrideMap[moduleName],\n disabled: includes(disabledModules, moduleName),\n };\n\n if (mod.disabled) {\n disabledOverrides.push(mod);\n } else if (\n this.state.currentPageMap.imports[moduleName] ===\n overrideMap[moduleName]\n ) {\n overriddenModules.push(mod);\n } else {\n nextOverriddenModules.push(mod);\n }\n }\n });\n\n overriddenModules.sort(sorter);\n defaultModules.sort(sorter);\n nextOverriddenModules.sort(sorter);\n\n const {\n brokenMaps,\n workingCurrentPageMaps,\n workingNextPageMaps,\n } = getExternalMaps();\n\n return (\n <div className=\"imo-list-container\">\n <div className=\"imo-table-header-actions\">\n <input\n className=\"imo-list-search\"\n aria-label=\"Search modules\"\n placeholder=\"Search modules\"\n value={this.state.searchVal}\n onInput={(evt) => this.setState({ searchVal: evt.target.value })}\n ref={(ref) => (this.inputRef = ref)}\n />\n <div className=\"imo-add-new\">\n <button\n onClick={() =>\n this.setState({\n dialogModule: { moduleName: \"New module\", isNew: true },\n })\n }\n >\n Add new module\n </button>\n </div>\n <div className=\"imo-add-new\">\n <button\n onClick={() => {\n this.setState({\n dialogExternalMap: { url: \"\", isNew: true },\n });\n }}\n >\n Add import map\n </button>\n </div>\n <div className=\"imo-add-new\">\n <button onClick={() => window.importMapOverrides.resetOverrides()}>\n Reset all overrides\n </button>\n </div>\n </div>\n <table className=\"imo-overrides-table\">\n <thead>\n <tr>\n <th>Module Status</th>\n <th>Module Name</th>\n <th>Domain</th>\n <th>Filename</th>\n </tr>\n </thead>\n <tbody>\n {nextOverriddenModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td onClick={this.reload} role=\"button\" tabIndex={0}>\n <div className=\"imo-status imo-next-override\" />\n <div>Inline Override</div>\n <div className=\"imo-needs-refresh\" />\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {pendingRefreshDefaultModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td style={{ position: \"relative\" }}>\n <div className=\"imo-status imo-next-default\" />\n <div>Default</div>\n <div className=\"imo-needs-refresh\" />\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {disabledOverrides.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-disabled-override\" />\n <div>Override disabled</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {overriddenModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-current-override\" />\n <div>Inline Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {externalOverrideModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-external-override\" />\n <div>External Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {devLibModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n title=\"Automatically use dev version of certain npm libs\"\n >\n <td>\n <div className=\"imo-status imo-dev-lib-override\" />\n <div>Dev Lib Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {defaultModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-default-module\" />\n <div>Default</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n </tbody>\n </table>\n {(brokenMaps.length > 0 ||\n workingCurrentPageMaps.length > 0 ||\n workingNextPageMaps.length > 0) && (\n <table className=\"imo-overrides-table\">\n <thead>\n <th>Import Map Status</th>\n <th>URL</th>\n </thead>\n <tbody>\n {brokenMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-disabled-override\" />\n <div>Invalid</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n {workingNextPageMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-next-override\" />\n <div>Pending refresh</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n {workingCurrentPageMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-current-override\" />\n <div>Override</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n </tbody>\n </table>\n )}\n </div>\n );\n }\n\n reload = (evt) => {\n evt.stopPropagation();\n window.location.reload();\n };\n\n cancel = () => {\n this.setState({ dialogModule: null, dialogExternalMap: null });\n };\n\n updateModuleUrl = (newUrl) => {\n newUrl = newUrl || null;\n\n if (newUrl === null) {\n window.importMapOverrides.removeOverride(\n this.state.dialogModule.moduleName\n );\n } else {\n window.importMapOverrides.addOverride(\n this.state.dialogModule.moduleName,\n newUrl\n );\n }\n\n this.setState({ dialogModule: null });\n };\n\n doUpdate = () => {\n this.forceUpdate();\n window.importMapOverrides.getNextPageMap().then((nextPageMap) => {\n this.setState({ nextPageMap });\n });\n };\n\n addNewModule = (name, url) => {\n if (name && url) {\n window.importMapOverrides.addOverride(name, url);\n }\n this.setState({ dialogModule: null });\n };\n\n filterModuleNames = (moduleName) => {\n return this.state.searchVal.trim().length > 0\n ? includes(moduleName, this.state.searchVal)\n : true;\n };\n}\n\nfunction sorter(first, second) {\n return first.moduleName > second.moduleName;\n}\n\nconst currentBase =\n (document.querySelector(\"base\") && document.querySelector(\"base\").href) ||\n location.origin + \"/\";\n\nfunction toDomain(mod) {\n const urlStr = toUrlStr(mod);\n const url = toURL(urlStr);\n return url ? url.host : urlStr;\n}\n\nfunction toFileName(mod) {\n const urlStr = toUrlStr(mod);\n const url = toURL(urlStr);\n return url ? url.pathname.slice(url.pathname.lastIndexOf(\"/\") + 1) : urlStr;\n}\n\nfunction toUrlStr(mod) {\n return mod.overrideUrl || mod.defaultUrl;\n}\n\nfunction toURL(urlStr) {\n try {\n return new URL(urlStr, currentBase);\n } catch {\n return null;\n }\n}\n\nfunction getExternalMaps() {\n const allExternalMaps = window.importMapOverrides.getExternalOverrides();\n const allCurrentPageMaps = window.importMapOverrides.getCurrentPageExternalOverrides();\n const brokenMaps = [],\n workingCurrentPageMaps = [],\n workingNextPageMaps = [];\n\n for (let externalMap of allExternalMaps) {\n if (includes(window.importMapOverrides.invalidExternalMaps, externalMap)) {\n brokenMaps.push(externalMap);\n } else {\n if (includes(allCurrentPageMaps, externalMap)) {\n workingCurrentPageMaps.push(externalMap);\n } else {\n workingNextPageMaps.push(externalMap);\n }\n }\n }\n\n return {\n brokenMaps,\n workingCurrentPageMaps,\n workingNextPageMaps,\n };\n}\n","import { h, Component } from \"preact\";\nimport List from \"./list/list.component\";\n\nexport default class Popup extends Component {\n componentDidMount() {\n window.addEventListener(\"keydown\", this.keydownListener);\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.keydownListener);\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n doUpdate = () => this.forceUpdate();\n render(props) {\n return (\n <div className=\"imo-popup\">\n <div className=\"imo-header\">\n <div>\n <h1>Import Map Overrides</h1>\n <p>\n This developer tool allows you to view and override your import\n maps. Start by clicking on a module that you'd like to override.{\" \"}\n <a\n target=\"_blank\"\n href=\"https://github.com/joeldenning/import-map-overrides\"\n >\n See documentation for more info\n </a>\n .\n </p>\n </div>\n <button className=\"imo-unstyled\" onClick={props.close}>\n {\"\\u24E7\"}\n </button>\n </div>\n <List importMapChanged={this.props.importMapChanged} />\n </div>\n );\n }\n keydownListener = (evt) => {\n if (evt.key === \"Escape\" && this.props.close) {\n this.props.close();\n }\n };\n}\n","import { h, Component } from \"preact\";\nimport Popup from \"./popup.component\";\nimport DevLibOverrides, {\n overridesBesidesDevLibs,\n} from \"./dev-lib-overrides.component\";\n\nexport default class FullUI extends Component {\n state = {\n showingPopup: false,\n };\n componentDidMount() {\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentWillUnmount() {\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n doUpdate = () => this.forceUpdate();\n render(props, state) {\n const shouldShow =\n !props.customElement.hasAttribute(\"show-when-local-storage\") ||\n localStorage.getItem(\n props.customElement.getAttribute(\"show-when-local-storage\")\n ) === \"true\";\n\n if (!shouldShow) {\n return null;\n }\n\n return (\n <div>\n <button\n onClick={this.toggleTrigger}\n className={`imo-unstyled imo-trigger ${\n this.atLeastOneOverride() ? \"imo-current-override\" : \"\"\n }`}\n >\n {\"{\\u00B7\\u00B7\\u00B7}\"}\n </button>\n {this.useDevLibs() && <DevLibOverrides />}\n {state.showingPopup && (\n <Popup\n close={this.toggleTrigger}\n importMapChanged={this.importMapChanged}\n />\n )}\n </div>\n );\n }\n toggleTrigger = () => {\n this.setState((prevState) => ({\n showingPopup: !prevState.showingPopup,\n }));\n };\n importMapChanged = () => {\n this.forceUpdate();\n };\n useDevLibs = () => {\n const localStorageValue = localStorage.getItem(\n \"import-map-overrides-dev-libs\"\n );\n return localStorageValue\n ? localStorageValue === \"true\"\n : this.props.customElement.hasAttribute(\"dev-libs\");\n };\n atLeastOneOverride = () => {\n if (this.useDevLibs()) {\n return overridesBesidesDevLibs();\n } else {\n return (\n Object.keys(window.importMapOverrides.getOverrideMap().imports).length >\n 0\n );\n }\n };\n}\n","import \"./import-map-overrides.css\";\nimport { render, h } from \"preact\";\nimport FullUI from \"./full-ui.component\";\nimport Popup from \"./popup.component\";\nimport List from \"./list/list.component\";\nimport { isDisabled } from \"../api/js-api\";\n\nif (window.customElements && !isDisabled) {\n window.customElements.define(\n \"import-map-overrides-full\",\n preactCustomElement(FullUI, [\"show-when-local-storage\"])\n );\n window.customElements.define(\n \"import-map-overrides-popup\",\n preactCustomElement(Popup)\n );\n window.customElements.define(\n \"import-map-overrides-list\",\n preactCustomElement(List)\n );\n}\n\nfunction preactCustomElement(Comp, observedAttributes = []) {\n return class PreactCustomElement extends HTMLElement {\n connectedCallback() {\n this.renderWithPreact();\n }\n disconnectedCallback() {\n render(null, this);\n this.renderedEl = null;\n }\n static get observedAttributes() {\n return observedAttributes;\n }\n attributeChangedCallback() {\n this.renderWithPreact();\n }\n renderWithPreact() {\n this.renderedEl = render(\n h(Comp, { customElement: this }),\n this,\n this.renderedEl\n );\n }\n };\n}\n"],"names":["includes","obj","item","Array","isArray","i","length","indexOf","Error","getParameterByName","name","url","window","location","href","replace","regex","RegExp","results","exec","decodeURIComponent","isDisabled","localStoragePrefix","disabledOverridesLocalStorageKey","externalOverridesLocalStorageKey","overrideAttribute","domainsMeta","allowListPrefix","denyListPrefix","importMapMetaElement","document","querySelector","domainsElement","externalOverrideMapPromises","importMapType","getAttribute","content","console","warn","matchHostname","domain","string","TypeError","escapeStringRegexp","test","hostname","slice","split","some","log","localStorage","getItem","canAccessLocalStorage","defaultMapPromise","serverOverrides","hasAttribute","serverOnly","importMapOverrides","addOverride","moduleName","imo","getUrlFromPort","key","setItem","cookie","fireChangedEvent","getOverrideMap","includeDisabled","overrides","imports","scopes","disabledOverrides","getDisabledOverrides","setOverride","path","queryParam","parent","queryParamImportMap","JSON","parse","e","Object","keys","forEach","removeOverride","hasItem","removeItem","enableOverride","resetOverrides","hasOverrides","port","fileName","enableUI","customElementName","showWhenLocalStorage","customElement","createElement","setAttribute","body","appendChild","localStorageKey","renderWithPreact","mergeImportMap","originalMap","newMap","outMap","getDefaultMap","prototype","reduce","call","querySelectorAll","promise","scriptEl","nextPromise","src","fetchExternalMap","Promise","resolve","textContent","all","then","getCurrentPageMap","getExternalOverrideMap","getCurrentPageExternalOverrides","defaultMap","externalOverridesMap","initialOverrideMap","currentPageExternalOverrides","externalOverrideEl","push","getNextPageMap","disableOverride","stringify","concat","index","splice","getExternalOverrides","localStorageValue","sort","addExternalOverride","URL","baseURI","removeExternalOverride","filter","override","result","externalOverride","fetchPromise","firstMap","secondMap","isExternalMapValid","importMapUrl","invalidExternalMaps","canFireCustomEvents","CustomEvent","err","fireEvent","type","setTimeout","eventType","event","createEvent","initCustomEvent","dispatchEvent","referenceNode","initialExternalOverrideMaps","overridableImportMap","importMaps","insertOverrideMap","insertAllExternalOverrideMaps","map","id","overrideMapElement","insertAdjacentElement","head","fetch","r","ok","json","catch","status","mapUrl","init","css","ref","insertAt","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","n","l","u","t","o","c","s","a","h","parentNode","removeChild","v","f","arguments","children","defaultProps","y","props","__k","__","__b","__e","__d","__c","__h","constructor","__v","vnode","d","_","this","context","k","b","base","m","g","__r","debounceRendering","__P","j","__n","ownerSVGElement","z","w","p","A","x","P","value","N","M","nextSibling","$","setProperty","H","toLowerCase","addEventListener","T","I","removeEventListener","removeAttribute","contextType","__E","render","O","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","L","diffed","localName","nodeType","createElementNS","is","data","childNodes","dangerouslySetInnerHTML","attributes","__html","innerHTML","C","checked","current","unmount","componentWillUnmount","S","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","bind","ModuleDialog","match","_this","module","overrideUrl","getInitialOverrideUrl","el","inputEl","moduleNameEl","dialogEl","evt","preventDefault","isNew","addNewModule","updateModuleUrl","portRegex","stopPropagation","cancel","select","focusFirstInput","keyDown","prevProps","prevState","_this2","className","open","dialogRef","method","onSubmit","handleSubmit","marginTop","defaultUrl","position","tabIndex","onInput","_this3","target","handleModuleNameRef","required","role","onClick","clearModuleName","handleInputRef","clearInput","getDerivedUrl","marginRight","disabled","Component","ExternalImportMap","dialogExternalMap","focus","marginBottom","htmlFor","DevLibOverrides","addDevLibOverrides","removeMin","devLibs","react","vue","notOverriddenMap","libName","overridesBesidesDevLibs","List","currentPageMap","nextPageMap","dialogModule","searchVal","reload","newUrl","trim","doUpdate","inputRef","dialogContainer","remove","overriddenModules","nextOverriddenModules","defaultModules","externalOverrideModules","pendingRefreshDefaultModules","devLibModules","overrideMap","notOverriddenKeys","disabledModules","filterModuleNames","mod","sorter","allExternalMaps","allCurrentPageMaps","brokenMaps","workingCurrentPageMaps","workingNextPageMaps","externalMap","getExternalMaps","placeholder","toDomain","toFileName","title","first","second","currentBase","origin","urlStr","toUrlStr","toURL","host","pathname","lastIndexOf","Popup","close","keydownListener","importMapChanged","FullUI","showingPopup","useDevLibs","toggleTrigger","atLeastOneOverride","preactCustomElement","Comp","observedAttributes","renderedEl","HTMLElement","customElements","define"],"mappings":"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"}
1
+ {
2
+ "version": 3,
3
+ "file": "import-map-overrides.js",
4
+ "sources": [
5
+ "../src/util/includes.js",
6
+ "../src/util/url-parameter.js",
7
+ "../src/api/js-api.js",
8
+ "../src/util/string-regex.js",
9
+ "../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js",
10
+ "../node_modules/.pnpm/preact@10.5.14/node_modules/preact/dist/preact.mjs",
11
+ "../src/ui/list/module-dialog.component.js",
12
+ "../src/ui/list/external-importmap-dialog.component.js",
13
+ "../src/ui/dev-lib-overrides.component.js",
14
+ "../src/ui/list/list.component.js",
15
+ "../src/ui/popup.component.js",
16
+ "../src/ui/full-ui.component.js",
17
+ "../src/ui/custom-elements.js"
18
+ ],
19
+ "sourcesContent": [
20
+ "export function includes(obj, item) {\n if (Array.isArray(obj)) {\n for (let i = 0; i < obj.length; i++) {\n if (obj[i] === item) {\n return true;\n }\n }\n return false;\n } else if (typeof obj === \"string\") {\n return obj.indexOf(item) >= 0;\n } else {\n throw Error(`Can't call includes on ${typeof obj}`);\n }\n}\n",
21
+ "// https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript\nexport function getParameterByName(name, url = window.location.href) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n",
22
+ "import { escapeStringRegexp } from \"../util/string-regex\";\nimport { includes } from \"../util/includes.js\";\nimport { getParameterByName } from \"../util/url-parameter\";\n\nconst localStoragePrefix = \"import-map-override:\";\nconst disabledOverridesLocalStorageKey = \"import-map-overrides-disabled\";\nconst externalOverridesLocalStorageKey = \"import-map-overrides-external-maps\";\nconst overrideAttribute = \"data-is-importmap-override\";\nconst domainsMeta = \"import-map-overrides-domains\";\nconst allowListPrefix = \"allowlist:\";\nconst denyListPrefix = \"denylist:\";\nexport const queryParamOverridesName = \"imo\";\n\nconst importMapMetaElement = document.querySelector(\n 'meta[name=\"importmap-type\"]'\n);\n\nconst domainsElement = document.querySelector(`meta[name=\"${domainsMeta}\"]`);\n\nconst externalOverrideMapPromises = {};\n\nexport const importMapType = importMapMetaElement\n ? importMapMetaElement.getAttribute(\"content\")\n : \"importmap\";\n\nexport let isDisabled;\n\nif (domainsElement) {\n const content = domainsElement.getAttribute(\"content\");\n if (!content) {\n console.warn(`Invalid ${domainsMeta} meta element - content required.`);\n }\n\n const matchHostname = (domain) =>\n new RegExp(escapeStringRegexp(domain).replace(\"\\\\*\", \".+\")).test(\n window.location.hostname\n );\n\n if (content.indexOf(allowListPrefix) === 0) {\n const allowedDomains = content.slice(allowListPrefix.length).split(\",\");\n isDisabled = !allowedDomains.some(matchHostname);\n } else if (content.indexOf(denyListPrefix) === 0) {\n const deniedDomains = content.slice(denyListPrefix.length).split(\",\");\n isDisabled = deniedDomains.some(matchHostname);\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `Invalid ${domainsMeta} meta content attribute - must start with ${allowListPrefix} or ${denyListPrefix}`\n );\n }\n} else {\n isDisabled = false;\n}\n\nif (!canAccessLocalStorage()) {\n console.warn(\n \"Disabling import-map-overrides, since local storage is not readable\"\n );\n isDisabled = true;\n}\n\nif (!isDisabled) {\n init();\n}\n\nfunction init() {\n const serverOverrides = importMapMetaElement\n ? importMapMetaElement.hasAttribute(\"server-cookie\")\n : false;\n const serverOnly = importMapMetaElement\n ? importMapMetaElement.hasAttribute(\"server-only\")\n : false;\n\n let defaultMapPromise;\n\n window.importMapOverrides = {\n addOverride(moduleName, url) {\n const portRegex = /^\\d+$/g;\n if (portRegex.test(url)) {\n url = imo.getUrlFromPort(moduleName, url);\n }\n const key = localStoragePrefix + moduleName;\n localStorage.setItem(key, url);\n if (serverOverrides) {\n document.cookie = `${key}=${url}`;\n }\n fireChangedEvent();\n return imo.getOverrideMap();\n },\n getOverrideMap(includeDisabled = false) {\n const overrides = createEmptyImportMap();\n const disabledOverrides = imo.getDisabledOverrides();\n\n const setOverride = (moduleName, path) => {\n if (includeDisabled || !(disabledOverrides.indexOf(moduleName) >= 0)) {\n overrides.imports[moduleName] = path;\n }\n };\n\n // get from localstorage\n for (let i = 0; i < localStorage.length; i++) {\n const key = localStorage.key(i);\n if (key.indexOf(localStoragePrefix) === 0) {\n setOverride(\n key.slice(localStoragePrefix.length),\n localStorage.getItem(key)\n );\n }\n }\n\n // get from url if query param exist\n const queryParam = getParameterByName(\n queryParamOverridesName,\n window.location != window.parent.location\n ? document.referrer\n : window.location.href\n );\n\n if (queryParam) {\n let queryParamImportMap;\n try {\n queryParamImportMap = JSON.parse(queryParam);\n } catch (e) {\n throw Error(\n `Invalid importMap query param - text content must be json`\n );\n }\n Object.keys(queryParamImportMap.imports).forEach((moduleName) => {\n setOverride(moduleName, queryParamImportMap.imports[moduleName]);\n });\n }\n\n return overrides;\n },\n removeOverride(moduleName) {\n const key = localStoragePrefix + moduleName;\n const hasItem = localStorage.getItem(key) !== null;\n localStorage.removeItem(key);\n if (serverOverrides) {\n document.cookie = `${key}=; expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n }\n imo.enableOverride(moduleName);\n fireChangedEvent();\n return hasItem;\n },\n resetOverrides() {\n Object.keys(imo.getOverrideMap(true).imports).forEach((moduleName) => {\n imo.removeOverride(moduleName);\n });\n localStorage.removeItem(disabledOverridesLocalStorageKey);\n localStorage.removeItem(externalOverridesLocalStorageKey);\n fireChangedEvent();\n return imo.getOverrideMap();\n },\n hasOverrides() {\n return Object.keys(imo.getOverrideMap().imports).length > 0;\n },\n getUrlFromPort(moduleName, port) {\n const fileName = moduleName.replace(/@/g, \"\").replace(/\\//g, \"-\");\n return `//localhost:${port}/${fileName}.js`;\n },\n enableUI() {\n const customElementName = \"import-map-overrides-full\";\n const showWhenLocalStorage = \"show-when-local-storage\";\n let customElement = document.querySelector(customElementName);\n\n if (!customElement) {\n customElement = document.createElement(customElementName);\n customElement.setAttribute(showWhenLocalStorage, \"true\");\n document.body.appendChild(customElement);\n }\n\n const localStorageKey = customElement.getAttribute(showWhenLocalStorage);\n if (localStorageKey) {\n localStorage.setItem(localStorageKey, true);\n customElement.renderWithPreact();\n }\n },\n mergeImportMap(originalMap, newMap) {\n const outMap = createEmptyImportMap();\n for (let i in originalMap.imports) {\n outMap.imports[i] = originalMap.imports[i];\n }\n for (let i in newMap.imports) {\n outMap.imports[i] = newMap.imports[i];\n }\n for (let i in originalMap.scopes) {\n outMap.scopes[i] = originalMap.scopes[i];\n }\n for (let i in newMap.scopes) {\n outMap.scopes[i] = newMap.scopes[i];\n }\n return outMap;\n },\n getDefaultMap() {\n return (\n defaultMapPromise ||\n (defaultMapPromise = Array.prototype.reduce.call(\n document.querySelectorAll(\n `script[type=\"${importMapType}\"], script[type=\"overridable-importmap\"]`\n ),\n (promise, scriptEl) => {\n if (scriptEl.hasAttribute(overrideAttribute)) {\n return promise;\n } else {\n let nextPromise;\n if (scriptEl.src) {\n nextPromise = fetchExternalMap(scriptEl.src);\n } else {\n nextPromise = Promise.resolve(JSON.parse(scriptEl.textContent));\n }\n\n return Promise.all([\n promise,\n nextPromise,\n ]).then(([originalMap, newMap]) =>\n imo.mergeImportMap(originalMap, newMap)\n );\n }\n },\n Promise.resolve(createEmptyImportMap())\n ))\n );\n },\n getCurrentPageMap() {\n return Promise.all([\n imo.getDefaultMap(),\n imo.getExternalOverrideMap(imo.getCurrentPageExternalOverrides()),\n ]).then(([defaultMap, externalOverridesMap]) => {\n return imo.mergeImportMap(\n imo.mergeImportMap(defaultMap, externalOverridesMap),\n initialOverrideMap\n );\n });\n },\n getCurrentPageExternalOverrides() {\n const currentPageExternalOverrides = [];\n document\n .querySelectorAll(\n `[${overrideAttribute}]:not([id=\"import-map-overrides\"])`\n )\n .forEach((externalOverrideEl) => {\n currentPageExternalOverrides.push(externalOverrideEl.src);\n });\n return currentPageExternalOverrides;\n },\n getNextPageMap() {\n return Promise.all([\n imo.getDefaultMap(),\n imo.getExternalOverrideMap(),\n ]).then(([defaultMap, externalOverridesMap]) => {\n return imo.mergeImportMap(\n imo.mergeImportMap(defaultMap, externalOverridesMap),\n imo.getOverrideMap()\n );\n });\n },\n disableOverride(moduleName) {\n const disabledOverrides = imo.getDisabledOverrides();\n if (!includes(disabledOverrides, moduleName)) {\n localStorage.setItem(\n disabledOverridesLocalStorageKey,\n JSON.stringify(disabledOverrides.concat(moduleName))\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n enableOverride(moduleName) {\n const disabledOverrides = imo.getDisabledOverrides();\n const index = disabledOverrides.indexOf(moduleName);\n if (index >= 0) {\n disabledOverrides.splice(index, 1);\n localStorage.setItem(\n disabledOverridesLocalStorageKey,\n JSON.stringify(disabledOverrides)\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n getDisabledOverrides() {\n const disabledOverrides = localStorage.getItem(\n disabledOverridesLocalStorageKey\n );\n return disabledOverrides ? JSON.parse(disabledOverrides) : [];\n },\n isDisabled(moduleName) {\n return includes(imo.getDisabledOverrides(), moduleName);\n },\n getExternalOverrides() {\n let localStorageValue = localStorage.getItem(\n externalOverridesLocalStorageKey\n );\n return localStorageValue ? JSON.parse(localStorageValue).sort() : [];\n },\n addExternalOverride(url) {\n url = new URL(url, document.baseURI).href;\n const overrides = imo.getExternalOverrides();\n if (includes(overrides, url)) {\n return false;\n } else {\n localStorage.setItem(\n externalOverridesLocalStorageKey,\n JSON.stringify(overrides.concat(url))\n );\n fireChangedEvent();\n return true;\n }\n },\n removeExternalOverride(url) {\n const overrides = imo.getExternalOverrides();\n if (includes(overrides, url)) {\n localStorage.setItem(\n externalOverridesLocalStorageKey,\n JSON.stringify(overrides.filter((override) => override !== url))\n );\n fireChangedEvent();\n return true;\n } else {\n return false;\n }\n },\n getExternalOverrideMap(externalOverrides = imo.getExternalOverrides()) {\n return externalOverrides.reduce((result, externalOverride) => {\n const fetchPromise =\n externalOverrideMapPromises[externalOverride] ||\n (externalOverrideMapPromises[externalOverride] = fetchExternalMap(\n externalOverride\n ));\n return Promise.all([result, fetchPromise]).then(\n ([firstMap, secondMap]) => {\n return imo.mergeImportMap(firstMap, secondMap);\n }\n );\n }, Promise.resolve(createEmptyImportMap()));\n },\n isExternalMapValid(importMapUrl) {\n const promise =\n externalOverrideMapPromises[importMapUrl] ||\n (externalOverrideMapPromises[importMapUrl] = fetchExternalMap(\n importMapUrl\n ));\n return promise.then(() =>\n includes(imo.invalidExternalMaps, importMapUrl)\n );\n },\n invalidExternalMaps: [],\n };\n\n const imo = window.importMapOverrides;\n\n let canFireCustomEvents = true;\n try {\n if (CustomEvent) {\n new CustomEvent(\"a\");\n } else {\n canFireCustomEvents = false;\n }\n } catch (err) {\n canFireCustomEvents = false;\n }\n\n function fireChangedEvent() {\n fireEvent(\"change\");\n }\n\n function fireEvent(type) {\n // Set timeout so that event fires after the change has totally finished\n setTimeout(() => {\n const eventType = `import-map-overrides:${type}`;\n const event = canFireCustomEvents\n ? new CustomEvent(eventType)\n : document.createEvent(\"CustomEvent\");\n if (!canFireCustomEvents) {\n event.initCustomEvent(eventType, true, true, null);\n }\n window.dispatchEvent(event);\n });\n }\n\n const initialOverrideMap = imo.getOverrideMap();\n const initialExternalOverrideMaps = imo.getExternalOverrides();\n\n let referenceNode;\n\n if (!serverOnly) {\n const overridableImportMap = document.querySelector(\n 'script[type=\"overridable-importmap\"]'\n );\n\n referenceNode = overridableImportMap;\n\n if (!referenceNode) {\n const importMaps = document.querySelectorAll(\n `script[type=\"${importMapType}\"]`\n );\n referenceNode = importMaps ? importMaps[importMaps.length - 1] : null;\n }\n\n if (overridableImportMap) {\n if (overridableImportMap.src) {\n throw Error(\n `import-map-overrides: external import maps with type=\"overridable-importmap\" are not supported`\n );\n }\n let originalMap;\n try {\n originalMap = JSON.parse(overridableImportMap.textContent);\n } catch (e) {\n throw Error(\n `Invalid <script type=\"overridable-importmap\"> - text content must be json`\n );\n }\n\n referenceNode = insertOverrideMap(\n imo.mergeImportMap(originalMap, initialOverrideMap),\n `import-map-overrides`,\n referenceNode\n );\n insertAllExternalOverrideMaps();\n } else {\n insertAllExternalOverrideMaps();\n if (Object.keys(initialOverrideMap.imports).length > 0) {\n referenceNode = insertOverrideMap(\n initialOverrideMap,\n `import-map-overrides`,\n referenceNode\n );\n }\n }\n }\n\n fireEvent(\"init\");\n\n function insertOverrideMap(map, id, referenceNode) {\n const overrideMapElement = document.createElement(\"script\");\n overrideMapElement.type = importMapType;\n overrideMapElement.id = id; // for debugging and for UI to identify this import map as special\n overrideMapElement.setAttribute(overrideAttribute, \"\");\n if (typeof map === \"string\") {\n overrideMapElement.src = map;\n } else {\n overrideMapElement.textContent = JSON.stringify(map, null, 2);\n }\n\n if (referenceNode) {\n referenceNode.insertAdjacentElement(\"afterend\", overrideMapElement);\n } else {\n document.head.appendChild(overrideMapElement);\n }\n\n return overrideMapElement;\n }\n\n function fetchExternalMap(url) {\n return fetch(url).then(\n (r) => {\n if (r.ok) {\n return r.json().catch((err) => {\n console.warn(\n Error(\n `External override import map contained invalid json, at url ${r.url}. ${err}`\n )\n );\n imo.invalidExternalMaps.push(r.url);\n return createEmptyImportMap();\n });\n } else {\n console.warn(\n Error(\n `Unable to download external override import map from url ${r.url}. Server responded with status ${r.status}`\n )\n );\n imo.invalidExternalMaps.push(r.url);\n return createEmptyImportMap();\n }\n },\n () => {\n console.warn(\n Error(`Unable to download external import map at url '${url}'`)\n );\n imo.invalidExternalMaps.push(new URL(url, document.baseURI).href);\n return createEmptyImportMap();\n }\n );\n }\n\n function createEmptyImportMap() {\n return { imports: {}, scopes: {} };\n }\n\n function insertAllExternalOverrideMaps() {\n if (initialExternalOverrideMaps.length > 0) {\n initialExternalOverrideMaps.forEach((mapUrl, index) => {\n referenceNode = insertOverrideMap(\n mapUrl,\n `import-map-overrides-external-${index}`\n );\n });\n }\n }\n}\n\nfunction canAccessLocalStorage() {\n try {\n localStorage.getItem(\"test\");\n return true;\n } catch {\n return false;\n }\n}\n",
23
+ "// from https://github.com/sindresorhus/escape-string-regexp\nexport const escapeStringRegexp = (string) => {\n if (typeof string !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n\n // Escape characters with special meaning either inside or outside character sets.\n // Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n return string.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\n};\n",
24
+ "function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",
25
+ "var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,o,r,f={};for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),\"function\"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return y(l,f,t,o,null)}function y(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return\"function\"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?k(t):o,t.__h),z(u,t),t.__e!=o&&b(t)))})}function w(n,l,u,i,t,o,r,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||\"boolean\"==typeof _?null:\"string\"==typeof _||\"number\"==typeof _||\"bigint\"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,o,r,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),\"function\"==typeof _.type&&null!=_.__k&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),a||\"option\"!==u.type?\"function\"==typeof u.type&&(u.__d=s):n.value=\"\"):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&(\"function\"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){var i,t;for(i=0;i<n.__k.length;i++)(t=n.__k[i])&&(t.__=n,l=\"function\"==typeof t.type?x(t,l,u):P(u,t,t,n.__k,t.__e,l));return l}function A(n,l){return l=l||[],null==n||\"boolean\"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)\"children\"===o||\"key\"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&\"function\"!=typeof l[o]||\"children\"===o||\"key\"===o||\"value\"===o||\"checked\"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){\"-\"===l[0]?n.setProperty(l,u):n[l]=null==u?\"\":\"number\"!=typeof u||s.test(l)?u:u+\"px\"}function H(n,l,u,i,t){var o;n:if(\"style\"===l)if(\"string\"==typeof u)n.style.cssText=u;else{if(\"string\"==typeof i&&(n.style.cssText=i=\"\"),i)for(l in i)u&&l in u||$(n.style,l,\"\");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if(\"o\"===l[0]&&\"n\"===l[1])o=l!==(l=l.replace(/Capture$/,\"\")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if(\"dangerouslySetInnerHTML\"!==l){if(t)l=l.replace(/xlink[H:h]/,\"h\").replace(/sName$/,\"s\");else if(\"href\"!==l&&\"list\"!==l&&\"form\"!==l&&\"tabIndex\"!==l&&\"download\"!==l&&l in n)try{n[l]=null==u?\"\":u;break n}catch(n){}\"function\"==typeof u||(null!=u&&(!1!==u||\"a\"===l[0]&&\"r\"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if(\"function\"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:(\"prototype\"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if(\"svg\"===d&&(o=!0),null!=r)for(;_<r.length;_++)if((s=r[_])&&(s===l||(d?s.localName==d:3==s.nodeType))){l=s,r[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS(\"http://www.w3.org/2000/svg\",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||\"\"))}if(C(l,p,y,o,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,o&&\"foreignObject\"!==d,r,f,r?r[0]:i.__k&&k(i,0),c),null!=r)for(_=r.length;_--;)null!=r[_]&&h(r[_]);c||(\"value\"in p&&void 0!==(_=p.value)&&(_!==l.value||\"progress\"===d&&!_)&&H(l,\"value\",_,y.value,!1),\"checked\"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,\"checked\",_,y.checked,!1))}return l}function M(n,u,i){try{\"function\"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,\"function\"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var o,r,f;l.__&&l.__(u,i),r=(o=\"function\"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!o&&t||i).__k=v(d,null,[u]),r||e,e,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,f,!o&&t?t:r?r.__e:i.firstChild,o),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,o,r,f=a({},l.props);for(r in u)\"key\"==r?t=u[r]:\"ref\"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,o||l.ref,null)}function D(n,l){var u={__c:l=\"__cC\"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),\"function\"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;export{S as render,q as hydrate,v as createElement,v as h,d as Fragment,p as createRef,i as isValidElement,_ as Component,B as cloneElement,D as createContext,A as toChildArray,l as options};\n//# sourceMappingURL=preact.module.js.map\n",
26
+ "import { h, Component } from \"preact\";\n\nexport default class ModuleDialog extends Component {\n getInitialOverrideUrl = () => {\n const regex = new RegExp(`//localhost:([0-9]+)/`);\n const match = regex.exec(this.props.module.overrideUrl);\n if (\n match &&\n this.props.module.overrideUrl ===\n window.importMapOverrides.getUrlFromPort(\n this.props.module.moduleName,\n match[1]\n )\n ) {\n return match[1];\n } else if (this.props.module.overrideUrl) {\n return this.props.module.overrideUrl;\n } else {\n return \"\";\n }\n };\n state = {\n overrideUrl: this.getInitialOverrideUrl(),\n moduleName: \"\",\n };\n inputEl = null;\n moduleNameEl = null;\n componentDidMount() {\n this.focusFirstInput();\n this.dialogEl.addEventListener(\"keydown\", this.keyDown);\n }\n componentDidUpdate(prevProps, prevState) {\n if (this.props.module !== prevProps.module) {\n this.setState(\n { overrideUrl: this.props.module.overrideUrl || \"\" },\n () => {\n this.focusFirstInput();\n }\n );\n }\n }\n componentWillUnmount() {\n this.dialogEl.removeEventListener(\"keydown\", this.keyDown);\n }\n render({ module }) {\n return (\n <div className=\"imo-modal-container\">\n <div className=\"imo-modal\" />\n <dialog\n className={`imo-module-dialog ${\n this.state.overrideUrl.length > 0 ? \"imo-overridden\" : \"imo-default\"\n }`}\n open\n ref={this.dialogRef}\n >\n <form method=\"dialog\" onSubmit={this.handleSubmit}>\n <h3 style={{ marginTop: 0 }}>{module.moduleName}</h3>\n <table>\n <tbody>\n {!module.isNew && (\n <tr>\n <td>Default URL:</td>\n <td>{module.defaultUrl}</td>\n </tr>\n )}\n {module.isNew && (\n <tr>\n <td>\n <span id=\"module-name-label\">Module Name:</span>\n </td>\n <td style={{ position: \"relative\" }}>\n <input\n type=\"text\"\n tabIndex={1}\n value={this.state.moduleName}\n aria-labelledby=\"module-name-label\"\n onInput={(evt) =>\n this.setState({ moduleName: evt.target.value })\n }\n ref={this.handleModuleNameRef}\n required\n />\n <div\n role=\"button\"\n tabIndex={3}\n className=\"imo-clear-input\"\n onClick={this.clearModuleName}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </td>\n </tr>\n )}\n <tr>\n <td>\n <span id=\"override-url-label\">Override URL:</span>\n </td>\n <td style={{ position: \"relative\" }}>\n <input\n ref={this.handleInputRef}\n type=\"text\"\n value={this.state.overrideUrl}\n aria-labelledby=\"override-url-label\"\n tabIndex={2}\n onInput={(evt) =>\n this.setState({ overrideUrl: evt.target.value })\n }\n />\n <div\n role=\"button\"\n tabIndex={4}\n className=\"imo-clear-input\"\n onClick={this.clearInput}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </td>\n </tr>\n {portRegex.test(this.state.overrideUrl) && (\n <tr>\n <td>Derived url:</td>\n <td>{this.getDerivedUrl()}</td>\n </tr>\n )}\n </tbody>\n </table>\n <div className=\"imo-dialog-actions\">\n <button\n type=\"button\"\n tabIndex={5}\n onClick={this.props.cancel}\n style={{ marginRight: \"16px\" }}\n >\n Cancel\n </button>\n {this.props.module.overrideUrl && !this.props.module.disabled && (\n <button\n type=\"button\"\n onClick={() => {\n if (this.props.module.disabled) {\n window.importMapOverrides.enableOverride(\n this.props.module.moduleName\n );\n } else {\n window.importMapOverrides.disableOverride(\n this.props.module.moduleName\n );\n }\n this.props.cancel();\n }}\n tabIndex={6}\n style={{ marginRight: \"16px\" }}\n >\n {this.props.module.disabled ? \"Enable\" : \"Disable\"} Override\n </button>\n )}\n <button\n type=\"submit\"\n tabIndex={7}\n className={\n this.state.overrideUrl ? \"imo-overridden\" : \"imo-default\"\n }\n >\n {this.state.overrideUrl ? \"Apply override\" : \"Reset to default\"}\n </button>\n </div>\n </form>\n </dialog>\n </div>\n );\n }\n\n handleInputRef = (el) => {\n this.inputEl = el;\n };\n\n handleModuleNameRef = (el) => {\n this.moduleNameEl = el;\n };\n\n dialogRef = (el) => {\n this.dialogEl = el;\n };\n\n handleSubmit = (evt) => {\n evt.preventDefault();\n if (\n this.props.module.moduleName &&\n window.importMapOverrides.isDisabled(this.props.module.moduleName)\n ) {\n window.importMapOverrides.enableOverride(this.props.module.moduleName);\n }\n if (this.props.module.isNew) {\n this.props.addNewModule(this.state.moduleName, this.state.overrideUrl);\n } else {\n this.props.updateModuleUrl(this.state.overrideUrl);\n }\n };\n\n getDerivedUrl = () => {\n const moduleName = this.props.module.isNew\n ? this.state.moduleName\n : this.props.module.moduleName;\n return portRegex.test(this.state.overrideUrl)\n ? window.importMapOverrides.getUrlFromPort(\n moduleName,\n this.state.overrideUrl\n )\n : this.state.overrideUrl;\n };\n\n keyDown = (evt) => {\n if (evt.key === \"Escape\") {\n evt.stopPropagation();\n this.props.cancel();\n }\n };\n\n focusFirstInput = () => {\n const firstInput = this.moduleNameEl || this.inputEl;\n firstInput.select();\n };\n\n clearModuleName = () => {\n this.setState({ moduleName: \"\" }, () => {\n this.focusFirstInput();\n });\n };\n\n clearInput = () => {\n this.setState({ overrideUrl: \"\" }, () => {\n this.focusFirstInput();\n });\n };\n}\n\nconst portRegex = /^\\d+$/;\n",
27
+ "import { h, Component } from \"preact\";\n\nexport default class ExternalImportMap extends Component {\n state = {\n url: this.props.dialogExternalMap.isNew\n ? \"\"\n : this.props.dialogExternalMap.url,\n };\n inputEl = null;\n componentDidMount() {\n this.inputEl.focus();\n this.dialogEl.addEventListener(\"keydown\", this.keyDown);\n }\n componentWillUnmount() {\n this.dialogEl.removeEventListener(\"keydown\", this.keyDown);\n }\n render() {\n return (\n <div className=\"imo-modal-container\">\n <div className=\"imo-modal\" />\n <dialog\n className=\"imo-module-dialog\"\n open\n ref={(el) => (this.dialogEl = el)}\n >\n <form method=\"dialog\" onSubmit={this.handleSubmit}>\n <h3 style={{ marginTop: 0 }}>\n {this.props.dialogExternalMap.isNew\n ? \"Add External Import Map\"\n : \"Edit External Import Map\"}\n </h3>\n <div style={{ marginBottom: \"20px\" }}>\n <label htmlFor=\"external-importmap-url\">URL to import map:</label>\n <span style={{ position: \"relative\" }}>\n <input\n id=\"external-importmap-url\"\n type=\"text\"\n value={this.state.url}\n onInput={(evt) => this.setState({ url: evt.target.value })}\n ref={(el) => (this.inputEl = el)}\n required={this.props.dialogExternalMap.isNew}\n />\n <div\n role=\"button\"\n tabIndex={0}\n className=\"imo-clear-input\"\n onClick={() => this.setState({ url: \"\" })}\n >\n <div>{\"\\u24E7\"}</div>\n </div>\n </span>\n </div>\n <div className=\"imo-dialog-actions\">\n <button\n type=\"button\"\n onClick={this.props.cancel}\n style={{ marginRight: \"16px\" }}\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n className={this.state.url ? \"imo-overridden\" : \"imo-default\"}\n >\n {this.state.url || this.props.dialogExternalMap.isNew\n ? \"Apply override\"\n : \"Remove override\"}\n </button>\n </div>\n </form>\n </dialog>\n </div>\n );\n }\n handleSubmit = (evt) => {\n evt.preventDefault();\n\n if (!this.props.dialogExternalMap.isNew) {\n window.importMapOverrides.removeExternalOverride(\n this.props.dialogExternalMap.url\n );\n }\n\n if (this.state.url) {\n window.importMapOverrides.addExternalOverride(this.state.url);\n }\n\n this.props.cancel();\n };\n keyDown = (evt) => {\n if (evt.key === \"Escape\") {\n evt.stopPropagation();\n this.props.cancel();\n }\n };\n}\n",
28
+ "import { h, Component } from \"preact\";\n\nexport default class DevLibOverrides extends Component {\n componentDidMount() {\n window.importMapOverrides.getCurrentPageMap().then(addDevLibOverrides);\n }\n render() {\n return null;\n }\n}\n\nconst removeMin = (url) => url.replace(\".min.js\", \".js\");\n\nexport const devLibs = {\n react: (url) => url.replace(\"production.min\", \"development\"),\n \"react-dom\": (url) => url.replace(\"production.min\", \"development\"),\n \"single-spa\": (url) => url.replace(\"single-spa.min.js\", \"single-spa.dev.js\"),\n vue: removeMin,\n \"vue-router\": removeMin,\n \"@angular/core\": removeMin,\n \"@angular/common\": removeMin,\n \"@angular/router\": removeMin,\n \"@angular/platform-browser\": removeMin,\n};\n\nfunction addDevLibOverrides(notOverriddenMap) {\n Object.keys(notOverriddenMap.imports)\n .filter((libName) => devLibs[libName])\n .forEach((libName) => {\n window.importMapOverrides.addOverride(\n libName,\n devLibs[libName](notOverriddenMap.imports[libName])\n );\n });\n}\n\nexport function overridesBesidesDevLibs() {\n return (\n Object.keys(window.importMapOverrides.getOverrideMap().imports).filter(\n (k) => !devLibs[k]\n ).length > 0\n );\n}\n",
29
+ "import { h, Component, render } from \"preact\";\nimport { includes } from \"../../util/includes.js\";\nimport ModuleDialog from \"./module-dialog.component\";\nimport ExternalImportMap from \"./external-importmap-dialog.component\";\nimport { devLibs } from \"../dev-lib-overrides.component\";\n\nexport default class List extends Component {\n state = {\n notOverriddenMap: { imports: {} },\n currentPageMap: { imports: {} },\n nextPageMap: { imports: {} },\n dialogModule: null,\n dialogExternalMap: null,\n searchVal: \"\",\n };\n componentDidMount() {\n window.importMapOverrides.getDefaultMap().then((notOverriddenMap) => {\n this.setState({ notOverriddenMap });\n });\n window.importMapOverrides.getCurrentPageMap().then((currentPageMap) => {\n this.setState({ currentPageMap });\n });\n window.importMapOverrides.getNextPageMap().then((nextPageMap) => {\n this.setState({ nextPageMap });\n });\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n this.inputRef.focus();\n }\n componentWillUnmount() {\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentDidUpdate(prevProps, prevState) {\n if (!prevState.dialogModule && this.state.dialogModule) {\n this.dialogContainer = document.createElement(\"div\");\n document.body.appendChild(this.dialogContainer);\n render(\n <ModuleDialog\n module={this.state.dialogModule}\n cancel={this.cancel}\n updateModuleUrl={this.updateModuleUrl}\n addNewModule={this.addNewModule}\n />,\n this.dialogContainer\n );\n } else if (prevState.dialogModule && !this.state.dialogModule) {\n render(null, this.dialogContainer);\n this.dialogContainer.remove();\n delete this.dialogContainer;\n }\n\n if (!prevState.dialogExternalMap && this.state.dialogExternalMap) {\n this.dialogContainer = document.createElement(\"div\");\n document.body.appendChild(this.dialogContainer);\n render(\n <ExternalImportMap\n dialogExternalMap={this.state.dialogExternalMap}\n cancel={this.cancel}\n />,\n this.dialogContainer\n );\n } else if (prevState.dialogExternalMap && !this.state.dialogExternalMap) {\n render(null, this.dialogContainer);\n this.dialogContainer.remove();\n delete this.dialogContainer;\n }\n }\n render() {\n const overriddenModules = [],\n nextOverriddenModules = [],\n disabledOverrides = [],\n defaultModules = [],\n externalOverrideModules = [],\n pendingRefreshDefaultModules = [],\n devLibModules = [];\n\n const overrideMap = window.importMapOverrides.getOverrideMap(true).imports;\n\n const notOverriddenKeys = Object.keys(this.state.notOverriddenMap.imports);\n\n const disabledModules = window.importMapOverrides.getDisabledOverrides();\n\n notOverriddenKeys.filter(this.filterModuleNames).forEach((moduleName) => {\n const mod = {\n moduleName,\n defaultUrl: this.state.notOverriddenMap.imports[moduleName],\n overrideUrl: overrideMap[moduleName],\n disabled: includes(disabledModules, moduleName),\n };\n if (mod.disabled) {\n disabledOverrides.push(mod);\n } else if (overrideMap[moduleName]) {\n if (\n this.state.currentPageMap.imports[moduleName] ===\n overrideMap[moduleName]\n ) {\n if (\n devLibs[moduleName] &&\n devLibs[moduleName](\n this.state.currentPageMap.imports[moduleName]\n ) === overrideMap[moduleName]\n ) {\n devLibModules.push(mod);\n } else {\n overriddenModules.push(mod);\n }\n } else {\n nextOverriddenModules.push(mod);\n }\n } else if (\n this.state.notOverriddenMap.imports[moduleName] ===\n this.state.currentPageMap.imports[moduleName]\n ) {\n defaultModules.push(mod);\n } else if (\n this.state.notOverriddenMap.imports[moduleName] ===\n this.state.nextPageMap.imports[moduleName]\n ) {\n pendingRefreshDefaultModules.push(mod);\n } else {\n externalOverrideModules.push(mod);\n }\n });\n\n Object.keys(overrideMap)\n .filter(this.filterModuleNames)\n .forEach((moduleName) => {\n if (!includes(notOverriddenKeys, moduleName)) {\n const mod = {\n moduleName,\n defaultUrl: null,\n overrideUrl: overrideMap[moduleName],\n disabled: includes(disabledModules, moduleName),\n };\n\n if (mod.disabled) {\n disabledOverrides.push(mod);\n } else if (\n this.state.currentPageMap.imports[moduleName] ===\n overrideMap[moduleName]\n ) {\n overriddenModules.push(mod);\n } else {\n nextOverriddenModules.push(mod);\n }\n }\n });\n\n overriddenModules.sort(sorter);\n defaultModules.sort(sorter);\n nextOverriddenModules.sort(sorter);\n\n const {\n brokenMaps,\n workingCurrentPageMaps,\n workingNextPageMaps,\n } = getExternalMaps();\n\n return (\n <div className=\"imo-list-container\">\n <div className=\"imo-table-header-actions\">\n <input\n className=\"imo-list-search\"\n aria-label=\"Search modules\"\n placeholder=\"Search modules\"\n value={this.state.searchVal}\n onInput={(evt) => this.setState({ searchVal: evt.target.value })}\n ref={(ref) => (this.inputRef = ref)}\n />\n <div className=\"imo-add-new\">\n <button\n onClick={() =>\n this.setState({\n dialogModule: { moduleName: \"New module\", isNew: true },\n })\n }\n >\n Add new module\n </button>\n </div>\n <div className=\"imo-add-new\">\n <button\n onClick={() => {\n this.setState({\n dialogExternalMap: { url: \"\", isNew: true },\n });\n }}\n >\n Add import map\n </button>\n </div>\n <div className=\"imo-add-new\">\n <button onClick={() => window.importMapOverrides.resetOverrides()}>\n Reset all overrides\n </button>\n </div>\n </div>\n <table className=\"imo-overrides-table\">\n <thead>\n <tr>\n <th>Module Status</th>\n <th>Module Name</th>\n <th>Domain</th>\n <th>Filename</th>\n </tr>\n </thead>\n <tbody>\n {nextOverriddenModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td onClick={this.reload} role=\"button\" tabIndex={0}>\n <div className=\"imo-status imo-next-override\" />\n <div>Inline Override</div>\n <div className=\"imo-needs-refresh\" />\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {pendingRefreshDefaultModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td style={{ position: \"relative\" }}>\n <div className=\"imo-status imo-next-default\" />\n <div>Default</div>\n <div className=\"imo-needs-refresh\" />\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {disabledOverrides.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-disabled-override\" />\n <div>Override disabled</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {overriddenModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-current-override\" />\n <div>Inline Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {externalOverrideModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-external-override\" />\n <div>External Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {devLibModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n title=\"Automatically use dev version of certain npm libs\"\n >\n <td>\n <div className=\"imo-status imo-dev-lib-override\" />\n <div>Dev Lib Override</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n {defaultModules.map((mod) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() => this.setState({ dialogModule: mod })}\n key={mod.moduleName}\n >\n <td>\n <div className=\"imo-status imo-default-module\" />\n <div>Default</div>\n </td>\n <td>{mod.moduleName}</td>\n <td>{toDomain(mod)}</td>\n <td>{toFileName(mod)}</td>\n </tr>\n ))}\n </tbody>\n </table>\n {(brokenMaps.length > 0 ||\n workingCurrentPageMaps.length > 0 ||\n workingNextPageMaps.length > 0) && (\n <table className=\"imo-overrides-table\">\n <thead>\n <th>Import Map Status</th>\n <th>URL</th>\n </thead>\n <tbody>\n {brokenMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-disabled-override\" />\n <div>Invalid</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n {workingNextPageMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-next-override\" />\n <div>Pending refresh</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n {workingCurrentPageMaps.map((url) => (\n <tr\n role=\"button\"\n tabIndex={0}\n onClick={() =>\n this.setState({ dialogExternalMap: { isNew: false, url } })\n }\n key={url}\n >\n <td>\n <div className=\"imo-status imo-current-override\" />\n <div>Override</div>\n </td>\n <td>{url}</td>\n </tr>\n ))}\n </tbody>\n </table>\n )}\n </div>\n );\n }\n\n reload = (evt) => {\n evt.stopPropagation();\n window.location.reload();\n };\n\n cancel = () => {\n this.setState({ dialogModule: null, dialogExternalMap: null });\n };\n\n updateModuleUrl = (newUrl) => {\n newUrl = newUrl || null;\n\n if (newUrl === null) {\n window.importMapOverrides.removeOverride(\n this.state.dialogModule.moduleName\n );\n } else {\n window.importMapOverrides.addOverride(\n this.state.dialogModule.moduleName,\n newUrl\n );\n }\n\n this.setState({ dialogModule: null });\n };\n\n doUpdate = () => {\n this.forceUpdate();\n window.importMapOverrides.getNextPageMap().then((nextPageMap) => {\n this.setState({ nextPageMap });\n });\n };\n\n addNewModule = (name, url) => {\n if (name && url) {\n window.importMapOverrides.addOverride(name, url);\n }\n this.setState({ dialogModule: null });\n };\n\n filterModuleNames = (moduleName) => {\n return this.state.searchVal.trim().length > 0\n ? includes(moduleName, this.state.searchVal)\n : true;\n };\n}\n\nfunction sorter(first, second) {\n return first.moduleName > second.moduleName;\n}\n\nconst currentBase =\n (document.querySelector(\"base\") && document.querySelector(\"base\").href) ||\n location.origin + \"/\";\n\nfunction toDomain(mod) {\n const urlStr = toUrlStr(mod);\n const url = toURL(urlStr);\n return url ? url.host : urlStr;\n}\n\nfunction toFileName(mod) {\n const urlStr = toUrlStr(mod);\n const url = toURL(urlStr);\n return url ? url.pathname.slice(url.pathname.lastIndexOf(\"/\") + 1) : urlStr;\n}\n\nfunction toUrlStr(mod) {\n return mod.overrideUrl || mod.defaultUrl;\n}\n\nfunction toURL(urlStr) {\n try {\n return new URL(urlStr, currentBase);\n } catch {\n return null;\n }\n}\n\nfunction getExternalMaps() {\n const allExternalMaps = window.importMapOverrides.getExternalOverrides();\n const allCurrentPageMaps = window.importMapOverrides.getCurrentPageExternalOverrides();\n const brokenMaps = [],\n workingCurrentPageMaps = [],\n workingNextPageMaps = [];\n\n for (let externalMap of allExternalMaps) {\n if (includes(window.importMapOverrides.invalidExternalMaps, externalMap)) {\n brokenMaps.push(externalMap);\n } else {\n if (includes(allCurrentPageMaps, externalMap)) {\n workingCurrentPageMaps.push(externalMap);\n } else {\n workingNextPageMaps.push(externalMap);\n }\n }\n }\n\n return {\n brokenMaps,\n workingCurrentPageMaps,\n workingNextPageMaps,\n };\n}\n",
30
+ "import { h, Component } from \"preact\";\nimport List from \"./list/list.component\";\n\nexport default class Popup extends Component {\n componentDidMount() {\n window.addEventListener(\"keydown\", this.keydownListener);\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentWillUnmount() {\n window.removeEventListener(\"keydown\", this.keydownListener);\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n doUpdate = () => this.forceUpdate();\n render(props) {\n return (\n <div className=\"imo-popup\">\n <div className=\"imo-header\">\n <div>\n <h1>Import Map Overrides</h1>\n <p>\n This developer tool allows you to view and override your import\n maps. Start by clicking on a module that you'd like to override.{\" \"}\n <a\n target=\"_blank\"\n href=\"https://github.com/joeldenning/import-map-overrides\"\n >\n See documentation for more info\n </a>\n .\n </p>\n </div>\n <button className=\"imo-unstyled\" onClick={props.close}>\n {\"\\u24E7\"}\n </button>\n </div>\n <List importMapChanged={this.props.importMapChanged} />\n </div>\n );\n }\n keydownListener = (evt) => {\n if (evt.key === \"Escape\" && this.props.close) {\n this.props.close();\n }\n };\n}\n",
31
+ "import { h, Component } from \"preact\";\nimport Popup from \"./popup.component\";\nimport DevLibOverrides, {\n overridesBesidesDevLibs,\n} from \"./dev-lib-overrides.component\";\n\nexport default class FullUI extends Component {\n state = {\n showingPopup: false,\n };\n componentDidMount() {\n window.addEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n componentWillUnmount() {\n window.removeEventListener(\"import-map-overrides:change\", this.doUpdate);\n }\n doUpdate = () => this.forceUpdate();\n render(props, state) {\n const shouldShow =\n !props.customElement.hasAttribute(\"show-when-local-storage\") ||\n localStorage.getItem(\n props.customElement.getAttribute(\"show-when-local-storage\")\n ) === \"true\";\n\n if (!shouldShow) {\n return null;\n }\n\n return (\n <div>\n <button\n onClick={this.toggleTrigger}\n className={`imo-unstyled imo-trigger ${\n this.atLeastOneOverride() ? \"imo-current-override\" : \"\"\n }`}\n >\n {\"{\\u00B7\\u00B7\\u00B7}\"}\n </button>\n {this.useDevLibs() && <DevLibOverrides />}\n {state.showingPopup && (\n <Popup\n close={this.toggleTrigger}\n importMapChanged={this.importMapChanged}\n />\n )}\n </div>\n );\n }\n toggleTrigger = () => {\n this.setState((prevState) => ({\n showingPopup: !prevState.showingPopup,\n }));\n };\n importMapChanged = () => {\n this.forceUpdate();\n };\n useDevLibs = () => {\n const localStorageValue = localStorage.getItem(\n \"import-map-overrides-dev-libs\"\n );\n return localStorageValue\n ? localStorageValue === \"true\"\n : this.props.customElement.hasAttribute(\"dev-libs\");\n };\n atLeastOneOverride = () => {\n if (this.useDevLibs()) {\n return overridesBesidesDevLibs();\n } else {\n return (\n Object.keys(window.importMapOverrides.getOverrideMap().imports).length >\n 0\n );\n }\n };\n}\n",
32
+ "import styles from \"./import-map-overrides.css\";\nimport { render, h } from \"preact\";\nimport FullUI from \"./full-ui.component\";\nimport Popup from \"./popup.component\";\nimport List from \"./list/list.component\";\nimport { isDisabled } from \"../api/js-api\";\n\nif (window.customElements && !isDisabled) {\n window.customElements.define(\n \"import-map-overrides-full\",\n preactCustomElement(FullUI, [\"show-when-local-storage\"])\n );\n window.customElements.define(\n \"import-map-overrides-popup\",\n preactCustomElement(Popup)\n );\n window.customElements.define(\n \"import-map-overrides-list\",\n preactCustomElement(List)\n );\n}\n\nfunction preactCustomElement(Comp, observedAttributes = []) {\n return class PreactCustomElement extends HTMLElement {\n connectedCallback() {\n this.renderWithPreact();\n }\n disconnectedCallback() {\n render(null, this);\n this.renderedEl = null;\n }\n static get observedAttributes() {\n return observedAttributes;\n }\n attributeChangedCallback() {\n this.renderWithPreact();\n }\n renderWithPreact() {\n this.shadow = this.attachShadow({ mode: \"open\" });\n this.renderedEl = render(\n h(Comp, { customElement: this }),\n this.shadow,\n this.renderedEl\n );\n const style = document.createElement(\"style\");\n style.textContent = styles.toString();\n this.shadow.appendChild(style);\n }\n };\n}\n"
33
+ ],
34
+ "names": [
35
+ "includes",
36
+ "obj",
37
+ "item",
38
+ "Array",
39
+ "isArray",
40
+ "i",
41
+ "length",
42
+ "indexOf",
43
+ "Error",
44
+ "getParameterByName",
45
+ "name",
46
+ "url",
47
+ "window",
48
+ "location",
49
+ "href",
50
+ "replace",
51
+ "regex",
52
+ "RegExp",
53
+ "results",
54
+ "exec",
55
+ "decodeURIComponent",
56
+ "isDisabled",
57
+ "localStoragePrefix",
58
+ "disabledOverridesLocalStorageKey",
59
+ "externalOverridesLocalStorageKey",
60
+ "overrideAttribute",
61
+ "domainsMeta",
62
+ "allowListPrefix",
63
+ "denyListPrefix",
64
+ "importMapMetaElement",
65
+ "document",
66
+ "querySelector",
67
+ "domainsElement",
68
+ "externalOverrideMapPromises",
69
+ "importMapType",
70
+ "getAttribute",
71
+ "content",
72
+ "console",
73
+ "warn",
74
+ "matchHostname",
75
+ "domain",
76
+ "string",
77
+ "TypeError",
78
+ "escapeStringRegexp",
79
+ "test",
80
+ "hostname",
81
+ "slice",
82
+ "split",
83
+ "some",
84
+ "log",
85
+ "localStorage",
86
+ "getItem",
87
+ "canAccessLocalStorage",
88
+ "defaultMapPromise",
89
+ "serverOverrides",
90
+ "hasAttribute",
91
+ "serverOnly",
92
+ "importMapOverrides",
93
+ "addOverride",
94
+ "moduleName",
95
+ "imo",
96
+ "getUrlFromPort",
97
+ "key",
98
+ "setItem",
99
+ "cookie",
100
+ "fireChangedEvent",
101
+ "getOverrideMap",
102
+ "includeDisabled",
103
+ "overrides",
104
+ "imports",
105
+ "scopes",
106
+ "disabledOverrides",
107
+ "getDisabledOverrides",
108
+ "setOverride",
109
+ "path",
110
+ "queryParam",
111
+ "parent",
112
+ "referrer",
113
+ "queryParamImportMap",
114
+ "JSON",
115
+ "parse",
116
+ "e",
117
+ "Object",
118
+ "keys",
119
+ "forEach",
120
+ "removeOverride",
121
+ "hasItem",
122
+ "removeItem",
123
+ "enableOverride",
124
+ "resetOverrides",
125
+ "hasOverrides",
126
+ "port",
127
+ "fileName",
128
+ "enableUI",
129
+ "customElementName",
130
+ "showWhenLocalStorage",
131
+ "customElement",
132
+ "createElement",
133
+ "setAttribute",
134
+ "body",
135
+ "appendChild",
136
+ "localStorageKey",
137
+ "renderWithPreact",
138
+ "mergeImportMap",
139
+ "originalMap",
140
+ "newMap",
141
+ "outMap",
142
+ "getDefaultMap",
143
+ "prototype",
144
+ "reduce",
145
+ "call",
146
+ "querySelectorAll",
147
+ "promise",
148
+ "scriptEl",
149
+ "nextPromise",
150
+ "src",
151
+ "fetchExternalMap",
152
+ "Promise",
153
+ "resolve",
154
+ "textContent",
155
+ "all",
156
+ "then",
157
+ "getCurrentPageMap",
158
+ "getExternalOverrideMap",
159
+ "getCurrentPageExternalOverrides",
160
+ "defaultMap",
161
+ "externalOverridesMap",
162
+ "initialOverrideMap",
163
+ "currentPageExternalOverrides",
164
+ "externalOverrideEl",
165
+ "push",
166
+ "getNextPageMap",
167
+ "disableOverride",
168
+ "stringify",
169
+ "concat",
170
+ "index",
171
+ "splice",
172
+ "getExternalOverrides",
173
+ "localStorageValue",
174
+ "sort",
175
+ "addExternalOverride",
176
+ "URL",
177
+ "baseURI",
178
+ "removeExternalOverride",
179
+ "filter",
180
+ "override",
181
+ "result",
182
+ "externalOverride",
183
+ "fetchPromise",
184
+ "firstMap",
185
+ "secondMap",
186
+ "isExternalMapValid",
187
+ "importMapUrl",
188
+ "invalidExternalMaps",
189
+ "canFireCustomEvents",
190
+ "CustomEvent",
191
+ "err",
192
+ "fireEvent",
193
+ "type",
194
+ "setTimeout",
195
+ "eventType",
196
+ "event",
197
+ "createEvent",
198
+ "initCustomEvent",
199
+ "dispatchEvent",
200
+ "referenceNode",
201
+ "initialExternalOverrideMaps",
202
+ "overridableImportMap",
203
+ "importMaps",
204
+ "insertOverrideMap",
205
+ "insertAllExternalOverrideMaps",
206
+ "map",
207
+ "id",
208
+ "overrideMapElement",
209
+ "insertAdjacentElement",
210
+ "head",
211
+ "fetch",
212
+ "r",
213
+ "ok",
214
+ "json",
215
+ "catch",
216
+ "status",
217
+ "mapUrl",
218
+ "init",
219
+ "css",
220
+ "ref",
221
+ "insertAt",
222
+ "getElementsByTagName",
223
+ "style",
224
+ "firstChild",
225
+ "insertBefore",
226
+ "styleSheet",
227
+ "cssText",
228
+ "createTextNode",
229
+ "n",
230
+ "l",
231
+ "u",
232
+ "t",
233
+ "o",
234
+ "c",
235
+ "s",
236
+ "a",
237
+ "h",
238
+ "parentNode",
239
+ "removeChild",
240
+ "v",
241
+ "f",
242
+ "arguments",
243
+ "children",
244
+ "defaultProps",
245
+ "y",
246
+ "props",
247
+ "__k",
248
+ "__",
249
+ "__b",
250
+ "__e",
251
+ "__d",
252
+ "__c",
253
+ "__h",
254
+ "constructor",
255
+ "__v",
256
+ "vnode",
257
+ "d",
258
+ "_",
259
+ "this",
260
+ "context",
261
+ "k",
262
+ "b",
263
+ "base",
264
+ "m",
265
+ "g",
266
+ "__r",
267
+ "debounceRendering",
268
+ "__P",
269
+ "j",
270
+ "__n",
271
+ "ownerSVGElement",
272
+ "z",
273
+ "w",
274
+ "p",
275
+ "A",
276
+ "x",
277
+ "P",
278
+ "value",
279
+ "N",
280
+ "M",
281
+ "nextSibling",
282
+ "$",
283
+ "setProperty",
284
+ "H",
285
+ "toLowerCase",
286
+ "addEventListener",
287
+ "T",
288
+ "I",
289
+ "removeEventListener",
290
+ "removeAttribute",
291
+ "contextType",
292
+ "__E",
293
+ "render",
294
+ "O",
295
+ "sub",
296
+ "state",
297
+ "__s",
298
+ "getDerivedStateFromProps",
299
+ "componentWillMount",
300
+ "componentDidMount",
301
+ "componentWillReceiveProps",
302
+ "shouldComponentUpdate",
303
+ "componentWillUpdate",
304
+ "componentDidUpdate",
305
+ "getChildContext",
306
+ "getSnapshotBeforeUpdate",
307
+ "L",
308
+ "diffed",
309
+ "localName",
310
+ "nodeType",
311
+ "createElementNS",
312
+ "is",
313
+ "data",
314
+ "childNodes",
315
+ "dangerouslySetInnerHTML",
316
+ "attributes",
317
+ "__html",
318
+ "innerHTML",
319
+ "C",
320
+ "checked",
321
+ "current",
322
+ "unmount",
323
+ "componentWillUnmount",
324
+ "S",
325
+ "getDerivedStateFromError",
326
+ "setState",
327
+ "componentDidCatch",
328
+ "forceUpdate",
329
+ "bind",
330
+ "ModuleDialog",
331
+ "match",
332
+ "_this",
333
+ "module",
334
+ "overrideUrl",
335
+ "getInitialOverrideUrl",
336
+ "el",
337
+ "inputEl",
338
+ "moduleNameEl",
339
+ "dialogEl",
340
+ "evt",
341
+ "preventDefault",
342
+ "isNew",
343
+ "addNewModule",
344
+ "updateModuleUrl",
345
+ "portRegex",
346
+ "stopPropagation",
347
+ "cancel",
348
+ "select",
349
+ "focusFirstInput",
350
+ "keyDown",
351
+ "prevProps",
352
+ "prevState",
353
+ "_this2",
354
+ "className",
355
+ "open",
356
+ "dialogRef",
357
+ "method",
358
+ "onSubmit",
359
+ "handleSubmit",
360
+ "marginTop",
361
+ "defaultUrl",
362
+ "position",
363
+ "tabIndex",
364
+ "onInput",
365
+ "_this3",
366
+ "target",
367
+ "handleModuleNameRef",
368
+ "required",
369
+ "role",
370
+ "onClick",
371
+ "clearModuleName",
372
+ "handleInputRef",
373
+ "clearInput",
374
+ "getDerivedUrl",
375
+ "marginRight",
376
+ "disabled",
377
+ "Component",
378
+ "ExternalImportMap",
379
+ "dialogExternalMap",
380
+ "focus",
381
+ "marginBottom",
382
+ "htmlFor",
383
+ "DevLibOverrides",
384
+ "addDevLibOverrides",
385
+ "removeMin",
386
+ "devLibs",
387
+ "react",
388
+ "vue",
389
+ "notOverriddenMap",
390
+ "libName",
391
+ "overridesBesidesDevLibs",
392
+ "List",
393
+ "currentPageMap",
394
+ "nextPageMap",
395
+ "dialogModule",
396
+ "searchVal",
397
+ "reload",
398
+ "newUrl",
399
+ "trim",
400
+ "doUpdate",
401
+ "inputRef",
402
+ "dialogContainer",
403
+ "remove",
404
+ "overriddenModules",
405
+ "nextOverriddenModules",
406
+ "defaultModules",
407
+ "externalOverrideModules",
408
+ "pendingRefreshDefaultModules",
409
+ "devLibModules",
410
+ "overrideMap",
411
+ "notOverriddenKeys",
412
+ "disabledModules",
413
+ "filterModuleNames",
414
+ "mod",
415
+ "sorter",
416
+ "allExternalMaps",
417
+ "allCurrentPageMaps",
418
+ "brokenMaps",
419
+ "workingCurrentPageMaps",
420
+ "workingNextPageMaps",
421
+ "externalMap",
422
+ "getExternalMaps",
423
+ "placeholder",
424
+ "toDomain",
425
+ "toFileName",
426
+ "title",
427
+ "first",
428
+ "second",
429
+ "currentBase",
430
+ "origin",
431
+ "urlStr",
432
+ "toUrlStr",
433
+ "toURL",
434
+ "host",
435
+ "pathname",
436
+ "lastIndexOf",
437
+ "Popup",
438
+ "close",
439
+ "keydownListener",
440
+ "importMapChanged",
441
+ "FullUI",
442
+ "showingPopup",
443
+ "useDevLibs",
444
+ "toggleTrigger",
445
+ "atLeastOneOverride",
446
+ "preactCustomElement",
447
+ "Comp",
448
+ "observedAttributes",
449
+ "renderedEl",
450
+ "shadow",
451
+ "attachShadow",
452
+ "mode",
453
+ "styles",
454
+ "toString",
455
+ "HTMLElement",
456
+ "customElements",
457
+ "define"
458
+ ],
459
+ "mappings": ";i1GAAO,SAASA,EAASC,EAAKC,MACxBC,MAAMC,QAAQH,GAAM,KACjB,IAAII,EAAI,EAAGA,EAAIJ,EAAIK,OAAQD,OAC1BJ,EAAII,KAAOH,SACN,SAGJ,EACF,GAAmB,iBAARD,SACTA,EAAIM,QAAQL,IAAS,QAEtBM,yCAAuCP,KCV1C,SAASQ,EAAmBC,OAAMC,yDAAMC,OAAOC,SAASC,KAC7DJ,EAAOA,EAAKK,QAAQ,UAAW,YAC3BC,EAAQ,IAAIC,OAAO,OAASP,EAAO,qBACrCQ,EAAUF,EAAMG,KAAKR,UAClBO,EACAA,EAAQ,GACNE,mBAAmBF,EAAQ,GAAGH,QAAQ,MAAO,MAD5B,GADH,KCDvB,IAqBWM,EArBLC,EAAqB,uBACrBC,EAAmC,gCACnCC,EAAmC,qCACnCC,EAAoB,6BACpBC,EAAc,+BACdC,EAAkB,aAClBC,EAAiB,YAGjBC,EAAuBC,SAASC,cACpC,+BAGIC,EAAiBF,SAASC,mCAA4BL,SAEtDO,EAA8B,GAEvBC,EAAgBL,EACzBA,EAAqBM,aAAa,WAClC,YAIJ,GAAIH,EAAgB,KACZI,EAAUJ,EAAeG,aAAa,WACvCC,GACHC,QAAQC,uBAAgBZ,4CAGpBa,EAAgB,SAACC,UACrB,IAAIvB,OCjC0B,SAACwB,MACX,iBAAXA,QACH,IAAIC,UAAU,4BAKfD,EAAO1B,QAAQ,sBAAuB,QAAQA,QAAQ,KAAM,SD0BtD4B,CAAmBH,GAAQzB,QAAQ,MAAO,OAAO6B,KAC1DhC,OAAOC,SAASgC,WAGqB,IAArCT,EAAQ7B,QAAQoB,GAElBN,GADuBe,EAAQU,MAAMnB,EAAgBrB,QAAQyC,MAAM,KACtCC,KAAKT,GACW,IAApCH,EAAQ7B,QAAQqB,GAEzBP,EADsBe,EAAQU,MAAMlB,EAAetB,QAAQyC,MAAM,KACtCC,KAAKT,GAGhCF,QAAQY,sBACKvB,uDAAwDC,iBAAsBC,SAI7FP,GAAa,GAycf,sBAEI6B,aAAaC,QAAQ,SACd,EACP,gBACO,IA3cNC,KACHf,QAAQC,KACN,uEAEFjB,GAAa,GAGVA,GAIL,eAQMgC,EAPEC,IAAkBzB,GACpBA,EAAqB0B,aAAa,iBAEhCC,IAAa3B,GACfA,EAAqB0B,aAAa,eAKtC3C,OAAO6C,mBAAqB,CAC1BC,qBAAYC,EAAYhD,GACJ,SACJiC,KAAKjC,KACjBA,EAAMiD,EAAIC,eAAeF,EAAYhD,QAEjCmD,EAAMxC,EAAqBqC,SACjCT,aAAaa,QAAQD,EAAKnD,GACtB2C,IACFxB,SAASkC,iBAAYF,cAAOnD,IAE9BsD,IACOL,EAAIM,kBAEbA,kCAAeC,0DACPC,EAmZD,CAAEC,QAAS,GAAIC,OAAQ,IAlZtBC,EAAoBX,EAAIY,uBAExBC,EAAc,SAACd,EAAYe,IAC3BP,GAAqBI,EAAkBhE,QAAQoD,IAAe,IAChES,EAAUC,QAAQV,GAAce,IAK3BrE,EAAI,EAAGA,EAAI6C,aAAa5C,OAAQD,IAAK,KACtCyD,EAAMZ,aAAaY,IAAIzD,GACW,IAApCyD,EAAIvD,QAAQe,IACdmD,EACEX,EAAIhB,MAAMxB,EAAmBhB,QAC7B4C,aAAaC,QAAQW,QAMrBa,EAAalE,EApGc,MAsG/BG,OAAOC,UAAYD,OAAOgE,OAAO/D,SAC7BiB,SAAS+C,SACTjE,OAAOC,SAASC,SAGlB6D,EAAY,KACVG,MAEFA,EAAsBC,KAAKC,MAAML,GACjC,MAAOM,SACDzE,mEAIR0E,OAAOC,KAAKL,EAAoBT,SAASe,SAAQ,SAACzB,GAChDc,EAAYd,EAAYmB,EAAoBT,QAAQV,cAIjDS,GAETiB,wBAAe1B,OACPG,EAAMxC,EAAqBqC,EAC3B2B,EAAwC,OAA9BpC,aAAaC,QAAQW,UACrCZ,aAAaqC,WAAWzB,GACpBR,IACFxB,SAASkC,iBAAYF,gDAEvBF,EAAI4B,eAAe7B,GACnBM,IACOqB,GAETG,iCACEP,OAAOC,KAAKvB,EAAIM,gBAAe,GAAMG,SAASe,SAAQ,SAACzB,GACrDC,EAAIyB,eAAe1B,MAErBT,aAAaqC,WAAWhE,GACxB2B,aAAaqC,WAAW/D,GACxByC,IACOL,EAAIM,kBAEbwB,+BACSR,OAAOC,KAAKvB,EAAIM,iBAAiBG,SAAS/D,OAAS,GAE5DuD,wBAAeF,EAAYgC,OACnBC,EAAWjC,EAAW5C,QAAQ,KAAM,IAAIA,QAAQ,MAAO,iCACvC4E,cAAQC,UAEhCC,wBACQC,EAAoB,4BACpBC,EAAuB,0BACzBC,EAAgBlE,SAASC,cAAc+D,GAEtCE,KACHA,EAAgBlE,SAASmE,cAAcH,IACzBI,aAAaH,EAAsB,QACjDjE,SAASqE,KAAKC,YAAYJ,QAGtBK,EAAkBL,EAAc7D,aAAa4D,GAC/CM,IACFnD,aAAaa,QAAQsC,GAAiB,GACtCL,EAAcM,qBAGlBC,wBAAeC,EAAaC,OACpBC,EA0TD,CAAErC,QAAS,GAAIC,OAAQ,QAzTvB,IAAIjE,KAAKmG,EAAYnC,QACxBqC,EAAOrC,QAAQhE,GAAKmG,EAAYnC,QAAQhE,OAErC,IAAIA,KAAKoG,EAAOpC,QACnBqC,EAAOrC,QAAQhE,GAAKoG,EAAOpC,QAAQhE,OAEhC,IAAIA,KAAKmG,EAAYlC,OACxBoC,EAAOpC,OAAOjE,GAAKmG,EAAYlC,OAAOjE,OAEnC,IAAIA,KAAKoG,EAAOnC,OACnBoC,EAAOpC,OAAOjE,GAAKoG,EAAOnC,OAAOjE,UAE5BqG,GAETC,gCAEItD,IACCA,EAAoBlD,MAAMyG,UAAUC,OAAOC,KAC1ChF,SAASiF,wCACS7E,gDAElB,SAAC8E,EAASC,UACJA,EAAS1D,aAAa9B,GACjBuF,GAILE,EADED,EAASE,IACGC,EAAiBH,EAASE,KAE1BE,QAAQC,QAAQvC,KAAKC,MAAMiC,EAASM,cAG7CF,QAAQG,IAAI,CACjBR,EACAE,IACCO,MAAK,yBAAEjB,OAAaC,cACrB7C,EAAI2C,eAAeC,EAAaC,WAX9BS,IAeRG,QAAQC,QAiRP,CAAEjD,QAAS,GAAIC,OAAQ,QA7Q9BoD,oCACSL,QAAQG,IAAI,CACjB5D,EAAI+C,gBACJ/C,EAAI+D,uBAAuB/D,EAAIgE,qCAC9BH,MAAK,yBAAEI,OAAYC,cACblE,EAAI2C,eACT3C,EAAI2C,eAAesB,EAAYC,GAC/BC,OAINH,+CACQI,EAA+B,UACrClG,SACGiF,4BACKtF,yCAEL2D,SAAQ,SAAC6C,GACRD,EAA6BE,KAAKD,EAAmBd,QAElDa,GAETG,iCACSd,QAAQG,IAAI,CACjB5D,EAAI+C,gBACJ/C,EAAI+D,2BACHF,MAAK,yBAAEI,OAAYC,cACblE,EAAI2C,eACT3C,EAAI2C,eAAesB,EAAYC,GAC/BlE,EAAIM,sBAIVkE,yBAAgBzE,OACRY,EAAoBX,EAAIY,8BACzBxE,EAASuE,EAAmBZ,KAC/BT,aAAaa,QACXxC,EACAwD,KAAKsD,UAAU9D,EAAkB+D,OAAO3E,KAE1CM,KACO,IAKXuB,wBAAe7B,OACPY,EAAoBX,EAAIY,uBACxB+D,EAAQhE,EAAkBhE,QAAQoD,UACpC4E,GAAS,IACXhE,EAAkBiE,OAAOD,EAAO,GAChCrF,aAAaa,QACXxC,EACAwD,KAAKsD,UAAU9D,IAEjBN,KACO,IAKXO,oCACQD,EAAoBrB,aAAaC,QACrC5B,UAEKgD,EAAoBQ,KAAKC,MAAMT,GAAqB,IAE7DlD,oBAAWsC,UACF3D,EAAS4D,EAAIY,uBAAwBb,IAE9C8E,oCACMC,EAAoBxF,aAAaC,QACnC3B,UAEKkH,EAAoB3D,KAAKC,MAAM0D,GAAmBC,OAAS,IAEpEC,6BAAoBjI,GAClBA,EAAM,IAAIkI,IAAIlI,EAAKmB,SAASgH,SAAShI,SAC/BsD,EAAYR,EAAI6E,8BAClBzI,EAASoE,EAAWzD,KAGtBuC,aAAaa,QACXvC,EACAuD,KAAKsD,UAAUjE,EAAUkE,OAAO3H,KAElCsD,KACO,IAGX8E,gCAAuBpI,OACfyD,EAAYR,EAAI6E,+BAClBzI,EAASoE,EAAWzD,KACtBuC,aAAaa,QACXvC,EACAuD,KAAKsD,UAAUjE,EAAU4E,QAAO,SAACC,UAAaA,IAAatI,OAE7DsD,KACO,IAKX0D,gGAA2C/D,EAAI6E,wBACpB5B,QAAO,SAACqC,EAAQC,OACjCC,EACJnH,EAA4BkH,KAC3BlH,EAA4BkH,GAAoB/B,EAC/C+B,WAEG9B,QAAQG,IAAI,CAAC0B,EAAQE,IAAe3B,MACzC,yBAAE4B,OAAUC,cACH1F,EAAI2C,eAAe8C,EAAUC,QAGvCjC,QAAQC,QA0JN,CAAEjD,QAAS,GAAIC,OAAQ,OAxJ9BiF,4BAAmBC,UAEfvH,EAA4BuH,KAC3BvH,EAA4BuH,GAAgBpC,EAC3CoC,KAEW/B,MAAK,kBAClBzH,EAAS4D,EAAI6F,oBAAqBD,OAGtCC,oBAAqB,QAGjB7F,EAAMhD,OAAO6C,mBAEfiG,GAAsB,MAEpBC,gBACEA,YAAY,KAEhBD,GAAsB,EAExB,MAAOE,GACPF,GAAsB,WAGfzF,IACP4F,EAAU,mBAGHA,EAAUC,GAEjBC,YAAW,eACHC,iCAAoCF,GACpCG,EAAQP,EACV,IAAIC,YAAYK,GAChBlI,SAASoI,YAAY,eACpBR,GACHO,EAAME,gBAAgBH,GAAW,GAAM,EAAM,MAE/CpJ,OAAOwJ,cAAcH,UAOrBI,EAHEtC,EAAqBnE,EAAIM,iBACzBoG,EAA8B1G,EAAI6E,2BAInCjF,EAAY,KACT+G,EAAuBzI,SAASC,cACpC,6CAGFsI,EAAgBE,GAEI,KACZC,EAAa1I,SAASiF,wCACV7E,SAElBmI,EAAgBG,EAAaA,EAAWA,EAAWlK,OAAS,GAAK,QAG/DiK,EAAsB,IACpBA,EAAqBpD,UACjB3G,4GAIJgG,MAEFA,EAAczB,KAAKC,MAAMuF,EAAqBhD,aAC9C,MAAOtC,SACDzE,mFAKR6J,EAAgBI,EACd7G,EAAI2C,eAAeC,EAAauB,0BAEhCsC,GAEFK,SAEAA,IACIxF,OAAOC,KAAK4C,EAAmB1D,SAAS/D,OAAS,IACnD+J,EAAgBI,EACd1C,yBAEAsC,aAQCI,EAAkBE,EAAKC,EAAIP,OAC5BQ,EAAqB/I,SAASmE,cAAc,iBAClD4E,EAAmBf,KAAO5H,EAC1B2I,EAAmBD,GAAKA,EACxBC,EAAmB3E,aAAazE,EAAmB,IAChC,iBAARkJ,EACTE,EAAmB1D,IAAMwD,EAEzBE,EAAmBtD,YAAcxC,KAAKsD,UAAUsC,EAAK,KAAM,GAGzDN,EACFA,EAAcS,sBAAsB,WAAYD,GAEhD/I,SAASiJ,KAAK3E,YAAYyE,GAGrBA,WAGAzD,EAAiBzG,UACjBqK,MAAMrK,GAAK8G,MAChB,SAACwD,UACKA,EAAEC,GACGD,EAAEE,OAAOC,OAAM,SAACxB,UACrBvH,QAAQC,KACN9B,4EACiEyK,EAAEtK,iBAAQiJ,KAG7EhG,EAAI6F,oBAAoBvB,KAAK+C,EAAEtK,KAwBhC,CAAE0D,QAAS,GAAIC,OAAQ,QApBxBjC,QAAQC,KACN9B,yEAC8DyK,EAAEtK,8CAAqCsK,EAAEI,UAGzGzH,EAAI6F,oBAAoBvB,KAAK+C,EAAEtK,KAe9B,CAAE0D,QAAS,GAAIC,OAAQ,QAX5B,kBACEjC,QAAQC,KACN9B,+DAAwDG,SAE1DiD,EAAI6F,oBAAoBvB,KAAK,IAAIW,IAAIlI,EAAKmB,SAASgH,SAAShI,MAOzD,CAAEuD,QAAS,GAAIC,OAAQ,gBAGvBoG,IACHJ,EAA4BhK,OAAS,GACvCgK,EAA4BlF,SAAQ,SAACkG,EAAQ/C,GAC3C8B,EAAgBI,EACda,0CACiC/C,OAhEzCsB,EAAU,QAvXV0B,ynKE9DF,SAAqBC,EAAKC,QACX,IAARA,IAAiBA,EAAM,IAC5B,IAAIC,EAAWD,EAAIC,SAEnB,GAAgC,oBAAb5J,SAAnB,CAEA,IAAIiJ,EAAOjJ,SAASiJ,MAAQjJ,SAAS6J,qBAAqB,QAAQ,GAC9DC,EAAQ9J,SAASmE,cAAc,SACnC2F,EAAM9B,KAAO,WAEI,QAAb4B,GACEX,EAAKc,WACPd,EAAKe,aAAaF,EAAOb,EAAKc,YAKhCd,EAAK3E,YAAYwF,GAGfA,EAAMG,WACRH,EAAMG,WAAWC,QAAUR,EAE3BI,EAAMxF,YAAYtE,SAASmK,eAAeT,aCvB1CU,EAAEC,EAAEC,EAAIC,EAAEC,EAAErB,EAAIhG,EAAE,GAAGsH,EAAE,GAAGC,EAAE,oEAAoE,SAASC,EAAEP,EAAEC,GAAG,IAAI,IAAIC,KAAKD,EAAED,EAAEE,GAAGD,EAAEC,GAAG,OAAOF,EAAE,SAASQ,EAAER,GAAG,IAAIC,EAAED,EAAES,WAAWR,GAAGA,EAAES,YAAYV,GAAG,SAASW,EAAEV,EAAEC,EAAE/L,GAAG,IAAIgM,EAAEC,EAAErB,EAAE6B,EAAE,GAAG,IAAI7B,KAAKmB,EAAE,OAAOnB,EAAEoB,EAAED,EAAEnB,GAAG,OAAOA,EAAEqB,EAAEF,EAAEnB,GAAG6B,EAAE7B,GAAGmB,EAAEnB,GAAG,GAAG8B,UAAUzM,OAAO,IAAIwM,EAAEE,SAASD,UAAUzM,OAAO,EAAE4L,EAAEpF,KAAKiG,UAAU,GAAG1M,GAAG,mBAAmB8L,GAAG,MAAMA,EAAEc,aAAa,IAAIhC,KAAKkB,EAAEc,kBAAa,IAASH,EAAE7B,KAAK6B,EAAE7B,GAAGkB,EAAEc,aAAahC,IAAI,OAAOiC,EAAEf,EAAEW,EAAET,EAAEC,EAAE,MAAM,SAASY,EAAEhB,EAAE7L,EAAEgM,EAAEC,EAAErB,GAAG,IAAI6B,EAAE,CAAChD,KAAKoC,EAAEiB,MAAM9M,EAAEyD,IAAIuI,EAAEZ,IAAIa,EAAEc,IAAI,KAAKC,GAAG,KAAKC,IAAI,EAAEC,IAAI,KAAKC,SAAI,EAAOC,IAAI,KAAKC,IAAI,KAAKC,iBAAY,EAAOC,IAAI,MAAM3C,IAAImB,EAAEnB,GAAG,OAAO,MAAMkB,EAAE0B,OAAO1B,EAAE0B,MAAMf,GAAGA,EAAoC,SAASgB,EAAE5B,GAAG,OAAOA,EAAEc,SAAS,SAASe,EAAE7B,EAAEC,GAAG6B,KAAKb,MAAMjB,EAAE8B,KAAKC,QAAQ9B,EAAE,SAAS+B,EAAEhC,EAAEC,GAAG,GAAG,MAAMA,EAAE,OAAOD,EAAEmB,GAAGa,EAAEhC,EAAEmB,GAAGnB,EAAEmB,GAAGD,IAAI7M,QAAQ2L,GAAG,GAAG,KAAK,IAAI,IAAIE,EAAED,EAAED,EAAEkB,IAAI9M,OAAO6L,IAAI,GAAG,OAAOC,EAAEF,EAAEkB,IAAIjB,KAAK,MAAMC,EAAEmB,IAAI,OAAOnB,EAAEmB,IAAI,MAAM,mBAAmBrB,EAAEpC,KAAKoE,EAAEhC,GAAG,KAAK,SAASiC,EAAEjC,GAAG,IAAIC,EAAEC,EAAE,GAAG,OAAOF,EAAEA,EAAEmB,KAAK,MAAMnB,EAAEuB,IAAI,CAAC,IAAIvB,EAAEqB,IAAIrB,EAAEuB,IAAIW,KAAK,KAAKjC,EAAE,EAAEA,EAAED,EAAEkB,IAAI9M,OAAO6L,IAAI,GAAG,OAAOC,EAAEF,EAAEkB,IAAIjB,KAAK,MAAMC,EAAEmB,IAAI,CAACrB,EAAEqB,IAAIrB,EAAEuB,IAAIW,KAAKhC,EAAEmB,IAAI,MAAM,OAAOY,EAAEjC,IAAI,SAASmC,EAAEnC,KAAKA,EAAEsB,MAAMtB,EAAEsB,KAAI,IAAKnB,EAAEnE,KAAKgE,KAAKoC,EAAEC,OAAOtD,IAAIkB,EAAEqC,sBAAsBvD,EAAEkB,EAAEqC,oBAAoBlC,GAAGgC,GAAG,SAASA,IAAI,IAAI,IAAIpC,EAAEoC,EAAEC,IAAIlC,EAAE/L,QAAQ4L,EAAEG,EAAE1D,MAAK,SAASuD,EAAEC,GAAG,OAAOD,EAAE0B,IAAIN,IAAInB,EAAEyB,IAAIN,OAAMjB,EAAE,GAAGH,EAAElJ,MAAK,SAASkJ,GAAG,IAAIC,EAAEC,EAAE/L,EAAEgM,EAAEC,EAAErB,EAAEiB,EAAEsB,MAAMlB,GAAGD,GAAGF,EAAED,GAAG0B,KAAKL,KAAKtC,EAAEkB,EAAEsC,OAAOrC,EAAE,IAAI/L,EAAEoM,EAAE,GAAGJ,IAAIuB,IAAIvB,EAAEuB,IAAI,EAAEc,GAAEzD,EAAEoB,EAAEhM,EAAE8L,EAAEwC,SAAI,IAAS1D,EAAE2D,gBAAgB,MAAMvC,EAAEqB,IAAI,CAACpB,GAAG,KAAKF,EAAE,MAAME,EAAE4B,EAAE7B,GAAGC,EAAED,EAAEqB,KAAKmB,GAAEzC,EAAEC,GAAGA,EAAEkB,KAAKjB,GAAG6B,EAAE9B,QAAO,SAASyC,EAAE5C,EAAEC,EAAEC,EAAE/L,EAAEgM,EAAEC,EAAErB,EAAE6B,EAAEN,EAAEC,GAAG,IAAIC,EAAEG,EAAEkC,EAAEhB,EAAEI,EAAEE,EAAEC,EAAEQ,EAAEzO,GAAGA,EAAE+M,KAAKb,EAAEyC,EAAEF,EAAExO,OAAO,IAAI8L,EAAEgB,IAAI,GAAGV,EAAE,EAAEA,EAAEP,EAAE7L,OAAOoM,IAAI,GAAG,OAAOqB,EAAE3B,EAAEgB,IAAIV,GAAG,OAAOqB,EAAE5B,EAAEO,KAAK,kBAAkBqB,EAAE,KAAK,iBAAiBA,GAAG,iBAAiBA,GAAG,iBAAiBA,EAAEb,EAAE,KAAKa,EAAE,KAAK,KAAKA,GAAG5N,MAAMC,QAAQ2N,GAAGb,EAAEY,EAAE,CAACd,SAASe,GAAG,KAAK,KAAK,MAAMA,EAAET,IAAI,EAAEJ,EAAEa,EAAEjE,KAAKiE,EAAEZ,MAAMY,EAAEjK,IAAI,KAAKiK,EAAEH,KAAKG,GAAG,CAAC,GAAGA,EAAEV,GAAGjB,EAAE2B,EAAET,IAAIlB,EAAEkB,IAAI,EAAE,QAAQyB,EAAED,EAAEpC,KAAKqC,GAAGhB,EAAEjK,KAAKiL,EAAEjL,KAAKiK,EAAEjE,OAAOiF,EAAEjF,KAAKgF,EAAEpC,QAAG,OAAY,IAAIG,EAAE,EAAEA,EAAEmC,EAAEnC,IAAI,CAAC,IAAIkC,EAAED,EAAEjC,KAAKkB,EAAEjK,KAAKiL,EAAEjL,KAAKiK,EAAEjE,OAAOiF,EAAEjF,KAAK,CAACgF,EAAEjC,QAAG,EAAO,MAAMkC,EAAE,KAAKL,GAAExC,EAAE6B,EAAEgB,EAAEA,GAAG9J,EAAEoH,EAAEC,EAAErB,EAAE6B,EAAEN,EAAEC,GAAG0B,EAAEJ,EAAER,KAAKV,EAAEkB,EAAEtC,MAAMsD,EAAEtD,KAAKoB,IAAIyB,IAAIA,EAAE,IAAIS,EAAEtD,KAAK6C,EAAEpG,KAAK6G,EAAEtD,IAAI,KAAKsC,GAAGO,EAAEpG,KAAK2E,EAAEkB,EAAEN,KAAKU,EAAEJ,IAAI,MAAMI,GAAG,MAAME,IAAIA,EAAEF,GAAG,mBAAmBJ,EAAEjE,MAAM,MAAMiE,EAAEX,KAAKW,EAAEX,MAAM2B,EAAE3B,IAAIW,EAAEP,IAAIhB,EAAEyC,GAAElB,EAAEvB,EAAEN,GAAGM,EAAE0C,GAAEhD,EAAE6B,EAAEgB,EAAED,EAAEX,EAAE3B,GAAGC,GAAG,WAAWL,EAAEtC,KAAK,mBAAmBsC,EAAEtC,OAAOsC,EAAEoB,IAAIhB,GAAGN,EAAEiD,MAAM,IAAI3C,GAAGuC,EAAExB,KAAKf,GAAGA,EAAEG,YAAYT,IAAIM,EAAE0B,EAAEa,IAAI,IAAI3C,EAAEmB,IAAIc,EAAE3B,EAAEsC,EAAEtC,KAAK,MAAMoC,EAAEpC,KAAK,mBAAmBN,EAAEtC,MAAM,MAAMgF,EAAEpC,GAAGa,KAAKuB,EAAEpC,GAAGa,KAAKnB,EAAEoB,MAAMpB,EAAEoB,IAAIU,EAAE7N,EAAEqM,EAAE,IAAI0C,GAAEN,EAAEpC,GAAGoC,EAAEpC,KAAK,GAAG4B,EAAE,IAAI5B,EAAE,EAAEA,EAAE4B,EAAEhO,OAAOoM,IAAI2C,GAAEf,EAAE5B,GAAG4B,IAAI5B,GAAG4B,IAAI5B,IAAI,SAASuC,GAAE/C,EAAEC,EAAEC,GAAG,IAAI/L,EAAEgM,EAAE,IAAIhM,EAAE,EAAEA,EAAE6L,EAAEkB,IAAI9M,OAAOD,KAAKgM,EAAEH,EAAEkB,IAAI/M,MAAMgM,EAAEgB,GAAGnB,EAAEC,EAAE,mBAAmBE,EAAEvC,KAAKmF,GAAE5C,EAAEF,EAAEC,GAAG8C,GAAE9C,EAAEC,EAAEA,EAAEH,EAAEkB,IAAIf,EAAEkB,IAAIpB,IAAI,OAAOA,EAA0H,SAAS+C,GAAEhD,EAAEC,EAAEC,EAAE/L,EAAEgM,EAAEC,GAAG,IAAIrB,EAAE6B,EAAE7H,EAAE,QAAG,IAASkH,EAAEqB,IAAIvC,EAAEkB,EAAEqB,IAAIrB,EAAEqB,SAAI,OAAY,GAAG,MAAMpB,GAAGC,GAAGC,GAAG,MAAMD,EAAEM,WAAWT,EAAE,GAAG,MAAMI,GAAGA,EAAEK,aAAaT,EAAEA,EAAE9F,YAAYiG,GAAGpB,EAAE,SAAS,CAAC,IAAI6B,EAAER,EAAErH,EAAE,GAAG6H,EAAEA,EAAEwC,cAAcrK,EAAE5E,EAAEC,OAAO2E,GAAG,EAAE,GAAG6H,GAAGT,EAAE,MAAMH,EAAEA,EAAEJ,aAAaO,EAAEC,GAAGrB,EAAEqB,EAAE,YAAO,IAASrB,EAAEA,EAAEoB,EAAEiD,YAAuO,SAASC,GAAErD,EAAEC,EAAEC,GAAG,MAAMD,EAAE,GAAGD,EAAEsD,YAAYrD,EAAEC,GAAGF,EAAEC,GAAG,MAAMC,EAAE,GAAG,iBAAiBA,GAAGI,EAAE5J,KAAKuJ,GAAGC,EAAEA,EAAE,KAAK,SAASqD,GAAEvD,EAAEC,EAAEC,EAAE/L,EAAEgM,GAAG,IAAIC,EAAEJ,EAAE,GAAG,UAAUC,EAAE,GAAG,iBAAiBC,EAAEF,EAAEN,MAAMI,QAAQI,MAAM,CAAC,GAAG,iBAAiB/L,IAAI6L,EAAEN,MAAMI,QAAQ3L,EAAE,IAAIA,EAAE,IAAI8L,KAAK9L,EAAE+L,GAAGD,KAAKC,GAAGmD,GAAErD,EAAEN,MAAMO,EAAE,IAAI,GAAGC,EAAE,IAAID,KAAKC,EAAE/L,GAAG+L,EAAED,KAAK9L,EAAE8L,IAAIoD,GAAErD,EAAEN,MAAMO,EAAEC,EAAED,SAAS,GAAG,MAAMA,EAAE,IAAI,MAAMA,EAAE,GAAGG,EAAEH,KAAKA,EAAEA,EAAEpL,QAAQ,WAAW,KAAKoL,EAAEA,EAAEuD,gBAAgBxD,EAAEC,EAAEuD,cAAc5M,MAAM,GAAGqJ,EAAErJ,MAAM,GAAGoJ,EAAEC,IAAID,EAAEC,EAAE,IAAID,EAAEC,EAAEA,EAAEG,GAAGF,EAAEA,EAAE/L,GAAG6L,EAAEyD,iBAAiBxD,EAAEG,EAAEsD,GAAEC,GAAEvD,GAAGJ,EAAE4D,oBAAoB3D,EAAEG,EAAEsD,GAAEC,GAAEvD,QAAQ,GAAG,4BAA4BH,EAAE,CAAC,GAAGE,EAAEF,EAAEA,EAAEpL,QAAQ,aAAa,KAAKA,QAAQ,SAAS,UAAU,GAAG,SAASoL,GAAG,SAASA,GAAG,SAASA,GAAG,aAAaA,GAAG,aAAaA,GAAGA,KAAKD,EAAE,IAAIA,EAAEC,GAAG,MAAMC,EAAE,GAAGA,EAAE,MAAMF,EAAE,MAAMA,IAAI,mBAAmBE,IAAI,MAAMA,KAAI,IAAKA,GAAG,MAAMD,EAAE,IAAI,MAAMA,EAAE,IAAID,EAAEhG,aAAaiG,EAAEC,GAAGF,EAAE6D,gBAAgB5D,KAAK,SAAS0D,GAAE3D,GAAG8B,KAAK7B,EAAED,EAAEpC,MAAK,GAAIqC,EAAElC,MAAMkC,EAAElC,MAAMiC,GAAGA,GAAG,SAAS0D,GAAE1D,GAAG8B,KAAK7B,EAAED,EAAEpC,MAAK,GAAIqC,EAAElC,MAAMkC,EAAElC,MAAMiC,GAAGA,GAAG,SAASwC,GAAExC,EAAEE,EAAE/L,EAAEgM,EAAEC,EAAErB,EAAE6B,EAAE7H,EAAEsH,GAAG,IAAIC,EAAEE,EAAEG,EAAEK,EAAE6B,EAAEb,EAAEC,EAAEE,EAAEC,EAAEW,EAAED,EAAEE,EAAE9C,EAAEtC,KAAK,QAAG,IAASsC,EAAEuB,YAAY,OAAO,KAAK,MAAMtN,EAAEqN,MAAMnB,EAAElM,EAAEqN,IAAIzI,EAAEmH,EAAEmB,IAAIlN,EAAEkN,IAAInB,EAAEsB,IAAI,KAAKzC,EAAE,CAAChG,KAAKuH,EAAEL,EAAEmB,MAAMd,EAAEJ,GAAG,IAAIF,EAAE,GAAG,mBAAmBgD,EAAE,CAAC,GAAGb,EAAEjC,EAAEe,MAAMmB,GAAG9B,EAAE0C,EAAEc,cAAc3D,EAAEG,EAAEiB,KAAKwB,EAAEzC,EAAE8B,EAAEA,EAAEnB,MAAMgC,MAAM3C,EAAEa,GAAGhB,EAAEhM,EAAEoN,IAAIU,GAAGzB,EAAEN,EAAEqB,IAAIpN,EAAEoN,KAAKJ,GAAGX,EAAEuD,KAAK,cAAcf,GAAGA,EAAEtI,UAAUsJ,OAAO9D,EAAEqB,IAAIf,EAAE,IAAIwC,EAAEb,EAAEY,IAAI7C,EAAEqB,IAAIf,EAAE,IAAIqB,EAAEM,EAAEY,GAAGvC,EAAEiB,YAAYuB,EAAExC,EAAEwD,OAAOC,IAAG7B,GAAGA,EAAE8B,IAAI1D,GAAGA,EAAES,MAAMkB,EAAE3B,EAAE2D,QAAQ3D,EAAE2D,MAAM,IAAI3D,EAAEuB,QAAQgB,EAAEvC,EAAEiC,IAAItC,EAAEQ,EAAEH,EAAEc,KAAI,EAAGd,EAAEgB,IAAI,IAAI,MAAMhB,EAAE4D,MAAM5D,EAAE4D,IAAI5D,EAAE2D,OAAO,MAAMnB,EAAEqB,2BAA2B7D,EAAE4D,KAAK5D,EAAE2D,QAAQ3D,EAAE4D,IAAI7D,EAAE,GAAGC,EAAE4D,MAAM7D,EAAEC,EAAE4D,IAAIpB,EAAEqB,yBAAyBlC,EAAE3B,EAAE4D,OAAOpD,EAAER,EAAES,MAAM4B,EAAErC,EAAE2D,MAAMxD,EAAE,MAAMqC,EAAEqB,0BAA0B,MAAM7D,EAAE8D,oBAAoB9D,EAAE8D,qBAAqB,MAAM9D,EAAE+D,mBAAmB/D,EAAEgB,IAAIxF,KAAKwE,EAAE+D,uBAAuB,CAAC,GAAG,MAAMvB,EAAEqB,0BAA0BlC,IAAInB,GAAG,MAAMR,EAAEgE,2BAA2BhE,EAAEgE,0BAA0BrC,EAAEY,IAAIvC,EAAEa,KAAK,MAAMb,EAAEiE,wBAAuB,IAAKjE,EAAEiE,sBAAsBtC,EAAE3B,EAAE4D,IAAIrB,IAAI7C,EAAEwB,MAAMvN,EAAEuN,IAAI,CAAClB,EAAES,MAAMkB,EAAE3B,EAAE2D,MAAM3D,EAAE4D,IAAIlE,EAAEwB,MAAMvN,EAAEuN,MAAMlB,EAAEc,KAAI,GAAId,EAAEkB,IAAIxB,EAAEA,EAAEmB,IAAIlN,EAAEkN,IAAInB,EAAEgB,IAAI/M,EAAE+M,IAAIhB,EAAEgB,IAAIhI,SAAQ,SAAS8G,GAAGA,IAAIA,EAAEmB,GAAGjB,MAAKM,EAAEgB,IAAIpN,QAAQwM,EAAE5E,KAAKwE,GAAG,MAAMR,EAAE,MAAMQ,EAAEkE,qBAAqBlE,EAAEkE,oBAAoBvC,EAAE3B,EAAE4D,IAAIrB,GAAG,MAAMvC,EAAEmE,oBAAoBnE,EAAEgB,IAAIxF,MAAK,WAAWwE,EAAEmE,mBAAmB3D,EAAE6B,EAAEb,MAAKxB,EAAEuB,QAAQgB,EAAEvC,EAAES,MAAMkB,EAAE3B,EAAE2D,MAAM3D,EAAE4D,KAAK9D,EAAEL,EAAEoC,MAAM/B,EAAEJ,GAAGM,EAAEc,KAAI,EAAGd,EAAEkB,IAAIxB,EAAEM,EAAE+B,IAAIvC,EAAEM,EAAEE,EAAEwD,OAAOxD,EAAES,MAAMT,EAAE2D,MAAM3D,EAAEuB,SAASvB,EAAE2D,MAAM3D,EAAE4D,IAAI,MAAM5D,EAAEoE,kBAAkBzE,EAAEI,EAAEA,EAAE,GAAGJ,GAAGK,EAAEoE,oBAAoBjE,GAAG,MAAMH,EAAEqE,0BAA0B7C,EAAExB,EAAEqE,wBAAwB7D,EAAE6B,IAAIC,EAAE,MAAMxC,GAAGA,EAAE1C,OAAOgE,GAAG,MAAMtB,EAAE1I,IAAI0I,EAAEW,MAAMH,SAASR,EAAEsC,EAAE5C,EAAE/L,MAAMC,QAAQ4O,GAAGA,EAAE,CAACA,GAAG5C,EAAE/L,EAAEgM,EAAEC,EAAErB,EAAE6B,EAAE7H,EAAEsH,GAAGG,EAAE0B,KAAKhC,EAAEmB,IAAInB,EAAEsB,IAAI,KAAKhB,EAAEgB,IAAIpN,QAAQwM,EAAE5E,KAAKwE,GAAGyB,IAAIzB,EAAEuD,IAAIvD,EAAEW,GAAG,MAAMX,EAAEa,KAAI,OAAQ,MAAMtC,GAAGmB,EAAEwB,MAAMvN,EAAEuN,KAAKxB,EAAEgB,IAAI/M,EAAE+M,IAAIhB,EAAEmB,IAAIlN,EAAEkN,KAAKnB,EAAEmB,IAAIyD,GAAE3Q,EAAEkN,IAAInB,EAAE/L,EAAEgM,EAAEC,EAAErB,EAAE6B,EAAEP,IAAIC,EAAEL,EAAE8E,SAASzE,EAAEJ,GAAG,MAAMF,GAAGE,EAAEwB,IAAI,MAAMrB,GAAG,MAAMtB,KAAKmB,EAAEmB,IAAItI,EAAEmH,EAAEsB,MAAMnB,EAAEtB,EAAEA,EAAE1K,QAAQ0E,IAAI,MAAMkH,EAAEoB,IAAIrB,EAAEE,EAAE/L,IAAI,SAASwO,GAAE3C,EAAEE,GAAGD,EAAEsB,KAAKtB,EAAEsB,IAAIrB,EAAEF,GAAGA,EAAElJ,MAAK,SAASoJ,GAAG,IAAIF,EAAEE,EAAEsB,IAAItB,EAAEsB,IAAI,GAAGxB,EAAElJ,MAAK,SAASkJ,GAAGA,EAAEpF,KAAKsF,MAAK,MAAMF,GAAGC,EAAEoB,IAAIrB,EAAEE,EAAEwB,SAAQ,SAASoD,GAAE7E,EAAEC,EAAE/L,EAAEgM,EAAEC,EAAErB,EAAE6B,EAAEP,GAAG,IAAIC,EAAEC,EAAEI,EAAEK,EAAE7M,EAAE8M,MAAM4B,EAAE3C,EAAEe,MAAMW,EAAE1B,EAAEtC,KAAKiE,EAAE,EAAE,GAAG,QAAQD,IAAIxB,GAAE,GAAI,MAAMrB,EAAE,KAAK8C,EAAE9C,EAAE3K,OAAOyN,IAAI,IAAIvB,EAAEvB,EAAE8C,MAAMvB,IAAIL,IAAI2B,EAAEtB,EAAE0E,WAAWpD,EAAE,GAAGtB,EAAE2E,WAAW,CAAChF,EAAEK,EAAEvB,EAAE8C,GAAG,KAAK,MAAM,GAAG,MAAM5B,EAAE,CAAC,GAAG,OAAO2B,EAAE,OAAOhM,SAASmK,eAAe8C,GAAG5C,EAAEG,EAAExK,SAASsP,gBAAgB,6BAA6BtD,GAAGhM,SAASmE,cAAc6H,EAAEiB,EAAEsC,IAAItC,GAAG9D,EAAE,KAAKsB,GAAE,EAAG,GAAG,OAAOuB,EAAEZ,IAAI6B,GAAGxC,GAAGJ,EAAEmF,OAAOvC,IAAI5C,EAAEmF,KAAKvC,OAAO,CAAC,GAAG9D,EAAEA,GAAGiB,EAAEpF,KAAKqF,EAAEoF,YAAY9E,GAAGS,EAAE7M,EAAE8M,OAAOlI,GAAGuM,wBAAwB3E,EAAEkC,EAAEyC,yBAAyBjF,EAAE,CAAC,GAAG,MAAMtB,EAAE,IAAIiC,EAAE,GAAGa,EAAE,EAAEA,EAAE5B,EAAEsF,WAAWnR,OAAOyN,IAAIb,EAAEf,EAAEsF,WAAW1D,GAAGrN,MAAMyL,EAAEsF,WAAW1D,GAAGoB,OAAOtC,GAAGJ,KAAKI,IAAIJ,GAAGI,EAAE6E,QAAQjF,EAAEiF,QAAQ7E,EAAE6E,SAASvF,EAAEwF,aAAaxF,EAAEwF,UAAU9E,GAAGA,EAAE6E,QAAQ,KAAK,GAAx4H,SAAWxF,EAAEC,EAAEC,EAAE/L,EAAEgM,GAAG,IAAIC,EAAE,IAAIA,KAAKF,EAAE,aAAaE,GAAG,QAAQA,GAAGA,KAAKH,GAAGsD,GAAEvD,EAAEI,EAAE,KAAKF,EAAEE,GAAGjM,GAAG,IAAIiM,KAAKH,EAAEE,GAAG,mBAAmBF,EAAEG,IAAI,aAAaA,GAAG,QAAQA,GAAG,UAAUA,GAAG,YAAYA,GAAGF,EAAEE,KAAKH,EAAEG,IAAImD,GAAEvD,EAAEI,EAAEH,EAAEG,GAAGF,EAAEE,GAAGjM,GAAmrHuR,CAAEzF,EAAE4C,EAAE7B,EAAEZ,EAAEC,GAAGM,EAAET,EAAEgB,IAAI,QAAQ,GAAGW,EAAE3B,EAAEe,MAAMH,SAAS8B,EAAE3C,EAAEhM,MAAMC,QAAQ2N,GAAGA,EAAE,CAACA,GAAG3B,EAAE/L,EAAEgM,EAAEC,GAAG,kBAAkBwB,EAAE7C,EAAE6B,EAAE7B,EAAEA,EAAE,GAAG5K,EAAE+M,KAAKc,EAAE7N,EAAE,GAAGkM,GAAG,MAAMtB,EAAE,IAAI8C,EAAE9C,EAAE3K,OAAOyN,KAAK,MAAM9C,EAAE8C,IAAIrB,EAAEzB,EAAE8C,IAAIxB,IAAI,UAAUwC,QAAG,KAAUhB,EAAEgB,EAAEI,SAASpB,IAAI5B,EAAEgD,OAAO,aAAarB,IAAIC,IAAI0B,GAAEtD,EAAE,QAAQ4B,EAAEb,EAAEiC,OAAM,GAAI,YAAYJ,QAAG,KAAUhB,EAAEgB,EAAE8C,UAAU9D,IAAI5B,EAAE0F,SAASpC,GAAEtD,EAAE,UAAU4B,EAAEb,EAAE2E,SAAQ,IAAK,OAAO1F,EAAE,SAASkD,GAAEnD,EAAEE,EAAE/L,GAAG,IAAI,mBAAmB6L,EAAEA,EAAEE,GAAGF,EAAE4F,QAAQ1F,EAAE,MAAMF,GAAGC,EAAEoB,IAAIrB,EAAE7L,IAAI,SAAS+O,GAAElD,EAAEE,EAAE/L,GAAG,IAAIgM,EAAEC,EAAE,GAAGH,EAAE4F,SAAS5F,EAAE4F,QAAQ7F,IAAIG,EAAEH,EAAET,OAAOY,EAAEyF,SAASzF,EAAEyF,UAAU5F,EAAEqB,KAAK8B,GAAEhD,EAAE,KAAKD,IAAI,OAAOC,EAAEH,EAAEuB,KAAK,CAAC,GAAGpB,EAAE2F,qBAAqB,IAAI3F,EAAE2F,uBAAuB,MAAM9F,GAAGC,EAAEoB,IAAIrB,EAAEE,GAAGC,EAAE+B,KAAK/B,EAAEoC,IAAI,KAAK,GAAGpC,EAAEH,EAAEkB,IAAI,IAAId,EAAE,EAAEA,EAAED,EAAE/L,OAAOgM,IAAID,EAAEC,IAAI8C,GAAE/C,EAAEC,GAAGF,EAAE,mBAAmBF,EAAEpC,MAAMzJ,GAAG,MAAM6L,EAAEqB,KAAKb,EAAER,EAAEqB,KAAKrB,EAAEqB,IAAIrB,EAAEsB,SAAI,EAAO,SAAS2C,GAAEjE,EAAEC,EAAEC,GAAG,OAAO4B,KAAKL,YAAYzB,EAAEE,GAAG,SAAS6F,GAAE7F,EAAE/L,EAAEgM,GAAG,IAAIC,EAAErB,EAAE6B,EAAEX,EAAEkB,IAAIlB,EAAEkB,GAAGjB,EAAE/L,GAAG4K,GAAGqB,EAAE,mBAAmBD,GAAG,KAAKA,GAAGA,EAAEe,KAAK/M,EAAE+M,IAAIN,EAAE,GAAG4B,GAAErO,EAAE+L,IAAIE,GAAGD,GAAGhM,GAAG+M,IAAIP,EAAEiB,EAAE,KAAK,CAAC1B,IAAInB,GAAGhG,EAAEA,OAAE,IAAS5E,EAAEuO,iBAAiBtC,GAAGD,EAAE,CAACA,GAAGpB,EAAE,KAAK5K,EAAEwL,WAAWK,EAAEpF,KAAKzG,EAAEkR,YAAY,KAAKzE,GAAGR,GAAGD,EAAEA,EAAEpB,EAAEA,EAAEsC,IAAIlN,EAAEwL,WAAWS,GAAGuC,GAAE/B,EAAEV,GAAotBF,EAAEK,EAAEzJ,MAAMqJ,EAAE,CAACoB,IAAI,SAASrB,EAAEC,GAAG,IAAI,IAAIC,EAAE/L,EAAEgM,EAAEF,EAAEA,EAAEkB,IAAI,IAAIjB,EAAED,EAAEsB,OAAOrB,EAAEiB,GAAG,IAAI,IAAIhN,EAAE+L,EAAEuB,cAAc,MAAMtN,EAAE6R,2BAA2B9F,EAAE+F,SAAS9R,EAAE6R,yBAAyBhG,IAAIG,EAAED,EAAEoB,KAAK,MAAMpB,EAAEgG,oBAAoBhG,EAAEgG,kBAAkBlG,GAAGG,EAAED,EAAEoB,KAAKnB,EAAE,OAAOD,EAAE6D,IAAI7D,EAAE,MAAMD,GAAGD,EAAEC,EAAE,MAAMD,IAAIE,EAAE,EAAwD2B,EAAEnH,UAAUuL,SAAS,SAASjG,EAAEC,GAAG,IAAIC,EAAEA,EAAE,MAAM4B,KAAKsC,KAAKtC,KAAKsC,MAAMtC,KAAKqC,MAAMrC,KAAKsC,IAAItC,KAAKsC,IAAI7D,EAAE,GAAGuB,KAAKqC,OAAO,mBAAmBnE,IAAIA,EAAEA,EAAEO,EAAE,GAAGL,GAAG4B,KAAKb,QAAQjB,GAAGO,EAAEL,EAAEF,GAAG,MAAMA,GAAG8B,KAAKJ,MAAMzB,GAAG6B,KAAKN,IAAIxF,KAAKiE,GAAGkC,EAAEL,QAAQD,EAAEnH,UAAUyL,YAAY,SAASnG,GAAG8B,KAAKJ,MAAMI,KAAKT,KAAI,EAAGrB,GAAG8B,KAAKN,IAAIxF,KAAKgE,GAAGmC,EAAEL,QAAQD,EAAEnH,UAAUsJ,OAAOpC,EAAEzB,EAAE,GAAGC,EAAE,mBAAmBjF,QAAQA,QAAQT,UAAUa,KAAK6K,KAAKjL,QAAQC,WAAWyC,WAAWuE,EAAEC,IAAI,MCEzhTgE,8MACK,eAEhBC,EADQ,IAAIvR,gCACEE,KAAKsR,EAAKtF,MAAMuF,OAAOC,oBAEzCH,GACAC,EAAKtF,MAAMuF,OAAOC,cAChB/R,OAAO6C,mBAAmBI,eACxB4O,EAAKtF,MAAMuF,OAAO/O,WAClB6O,EAAM,IAGHA,EAAM,GACJC,EAAKtF,MAAMuF,OAAOC,YACpBF,EAAKtF,MAAMuF,OAAOC,YAElB,qBAGH,CACNA,YAAaF,EAAKG,wBAClBjP,WAAY,sBAEJ,4BACK,+BAkJE,SAACkP,KACXC,QAAUD,mCAGK,SAACA,KAChBE,aAAeF,yBAGV,SAACA,KACNG,SAAWH,4BAGH,SAACI,GACdA,EAAIC,iBAEFT,EAAKtF,MAAMuF,OAAO/O,YAClB/C,OAAO6C,mBAAmBpC,WAAWoR,EAAKtF,MAAMuF,OAAO/O,aAEvD/C,OAAO6C,mBAAmB+B,eAAeiN,EAAKtF,MAAMuF,OAAO/O,YAEzD8O,EAAKtF,MAAMuF,OAAOS,QACfhG,MAAMiG,aAAaX,EAAKpC,MAAM1M,WAAY8O,EAAKpC,MAAMsC,eAErDxF,MAAMkG,gBAAgBZ,EAAKpC,MAAMsC,wCAI1B,eACRhP,EAAa8O,EAAKtF,MAAMuF,OAAOS,MACjCV,EAAKpC,MAAM1M,WACX8O,EAAKtF,MAAMuF,OAAO/O,kBACf2P,GAAU1Q,KAAK6P,EAAKpC,MAAMsC,aAC7B/R,OAAO6C,mBAAmBI,eACxBF,EACA8O,EAAKpC,MAAMsC,aAEbF,EAAKpC,MAAMsC,iCAGP,SAACM,GACO,WAAZA,EAAInP,MACNmP,EAAIM,oBACCpG,MAAMqG,uCAIG,YACGf,EAAKM,cAAgBN,EAAKK,SAClCW,sCAGK,aACXtB,SAAS,CAAExO,WAAY,KAAM,aAC3B+P,6CAII,aACNvB,SAAS,CAAEQ,YAAa,KAAM,aAC5Be,qEA5MT,gBACOA,uBACAV,SAASrD,iBAAiB,UAAW3B,KAAK2F,2CAEjD,SAAmBC,EAAWC,cACxB7F,KAAKb,MAAMuF,SAAWkB,EAAUlB,aAC7BP,SACH,CAAEQ,YAAa3E,KAAKb,MAAMuF,OAAOC,aAAe,KAChD,WACEmB,EAAKJ,yDAKb,gBACOV,SAASlD,oBAAoB,UAAW9B,KAAK2F,+BAEpD,uBAASjB,IAAAA,cAELhG,SAAKqH,UAAU,uBACbrH,SAAKqH,UAAU,cACfrH,YACEqH,sCACE/F,KAAKqC,MAAMsC,YAAYrS,OAAS,EAAI,iBAAmB,eAEzD0T,QACAvI,IAAKuC,KAAKiG,WAEVvH,UAAMwH,OAAO,SAASC,SAAUnG,KAAKoG,cACnC1H,QAAId,MAAO,CAAEyI,UAAW,IAAM3B,EAAO/O,YACrC+I,eACEA,gBACIgG,EAAOS,OACPzG,YACEA,4BACAA,YAAKgG,EAAO4B,aAGf5B,EAAOS,OACNzG,YACEA,YACEA,UAAM9B,GAAG,sCAEX8B,QAAId,MAAO,CAAE2I,SAAU,aACrB7H,WACE5C,KAAK,OACL0K,SAAU,EACVrF,MAAOnB,KAAKqC,MAAM1M,6BACF,oBAChB8Q,QAAS,SAACxB,UACRyB,EAAKvC,SAAS,CAAExO,WAAYsP,EAAI0B,OAAOxF,SAEzC1D,IAAKuC,KAAK4G,oBACVC,cAEFnI,SACEoI,KAAK,SACLN,SAAU,EACVT,UAAU,kBACVgB,QAAS/G,KAAKgH,iBAEdtI,aAAM,QAKdA,YACEA,YACEA,UAAM9B,GAAG,wCAEX8B,QAAId,MAAO,CAAE2I,SAAU,aACrB7H,WACEjB,IAAKuC,KAAKiH,eACVnL,KAAK,OACLqF,MAAOnB,KAAKqC,MAAMsC,8BACF,qBAChB6B,SAAU,EACVC,QAAS,SAACxB,UACRyB,EAAKvC,SAAS,CAAEQ,YAAaM,EAAI0B,OAAOxF,WAG5CzC,SACEoI,KAAK,SACLN,SAAU,EACVT,UAAU,kBACVgB,QAAS/G,KAAKkH,YAEdxI,aAAM,QAIX4G,GAAU1Q,KAAKoL,KAAKqC,MAAMsC,cACzBjG,YACEA,4BACAA,YAAKsB,KAAKmH,oBAKlBzI,SAAKqH,UAAU,sBACbrH,YACE5C,KAAK,SACL0K,SAAU,EACVO,QAAS/G,KAAKb,MAAMqG,OACpB5H,MAAO,CAAEwJ,YAAa,mBAIvBpH,KAAKb,MAAMuF,OAAOC,cAAgB3E,KAAKb,MAAMuF,OAAO2C,UACnD3I,YACE5C,KAAK,SACLiL,QAAS,WACHL,EAAKvH,MAAMuF,OAAO2C,SACpBzU,OAAO6C,mBAAmB+B,eACxBkP,EAAKvH,MAAMuF,OAAO/O,YAGpB/C,OAAO6C,mBAAmB2E,gBACxBsM,EAAKvH,MAAMuF,OAAO/O,YAGtB+Q,EAAKvH,MAAMqG,UAEbgB,SAAU,EACV5I,MAAO,CAAEwJ,YAAa,SAErBpH,KAAKb,MAAMuF,OAAO2C,SAAW,SAAW,uBAG7C3I,YACE5C,KAAK,SACL0K,SAAU,EACVT,UACE/F,KAAKqC,MAAMsC,YAAc,iBAAmB,eAG7C3E,KAAKqC,MAAMsC,YAAc,iBAAmB,+BAjKnB2C,GA0OpChC,GAAY,QC1OGiC,6LACX,CACN5U,IAAK8R,EAAKtF,MAAMqI,kBAAkBrC,MAC9B,GACAV,EAAKtF,MAAMqI,kBAAkB7U,uBAEzB,6BAkEK,SAACsS,GACdA,EAAIC,iBAECT,EAAKtF,MAAMqI,kBAAkBrC,OAChCvS,OAAO6C,mBAAmBsF,uBACxB0J,EAAKtF,MAAMqI,kBAAkB7U,KAI7B8R,EAAKpC,MAAM1P,KACbC,OAAO6C,mBAAmBmF,oBAAoB6J,EAAKpC,MAAM1P,OAGtDwM,MAAMqG,8BAEH,SAACP,GACO,WAAZA,EAAInP,MACNmP,EAAIM,oBACCpG,MAAMqG,0DAnFf,gBACOV,QAAQ2C,aACRzC,SAASrD,iBAAiB,UAAW3B,KAAK2F,6CAEjD,gBACOX,SAASlD,oBAAoB,UAAW9B,KAAK2F,+BAEpD,6BAEIjH,SAAKqH,UAAU,uBACbrH,SAAKqH,UAAU,cACfrH,YACEqH,UAAU,oBACVC,QACAvI,IAAK,SAACoH,UAAQiB,EAAKd,SAAWH,IAE9BnG,UAAMwH,OAAO,SAASC,SAAUnG,KAAKoG,cACnC1H,QAAId,MAAO,CAAEyI,UAAW,IACrBrG,KAAKb,MAAMqI,kBAAkBrC,MAC1B,0BACA,4BAENzG,SAAKd,MAAO,CAAE8J,aAAc,SAC1BhJ,WAAOiJ,QAAQ,gDACfjJ,UAAMd,MAAO,CAAE2I,SAAU,aACvB7H,WACE9B,GAAG,yBACHd,KAAK,OACLqF,MAAOnB,KAAKqC,MAAM1P,IAClB8T,QAAS,SAACxB,UAAQa,EAAK3B,SAAS,CAAExR,IAAKsS,EAAI0B,OAAOxF,SAClD1D,IAAK,SAACoH,UAAQiB,EAAKhB,QAAUD,GAC7BgC,SAAU7G,KAAKb,MAAMqI,kBAAkBrC,QAEzCzG,SACEoI,KAAK,SACLN,SAAU,EACVT,UAAU,kBACVgB,QAAS,kBAAMjB,EAAK3B,SAAS,CAAExR,IAAK,OAEpC+L,aAAM,QAIZA,SAAKqH,UAAU,sBACbrH,YACE5C,KAAK,SACLiL,QAAS/G,KAAKb,MAAMqG,OACpB5H,MAAO,CAAEwJ,YAAa,mBAIxB1I,YACE5C,KAAK,SACLiK,UAAW/F,KAAKqC,MAAM1P,IAAM,iBAAmB,eAE9CqN,KAAKqC,MAAM1P,KAAOqN,KAAKb,MAAMqI,kBAAkBrC,MAC5C,iBACA,8BAhE2BmC,GCA1BM,kIACnB,WACEhV,OAAO6C,mBAAmBiE,oBAAoBD,KAAKoO,0BAErD,kBACS,YALkCP,GASvCQ,GAAY,SAACnV,UAAQA,EAAII,QAAQ,UAAW,QAErCgV,GAAU,CACrBC,MAAO,SAACrV,UAAQA,EAAII,QAAQ,iBAAkB,4BACjC,SAACJ,UAAQA,EAAII,QAAQ,iBAAkB,6BACtC,SAACJ,UAAQA,EAAII,QAAQ,oBAAqB,sBACxDkV,IAAKH,gBACSA,mBACGA,qBACEA,qBACAA,+BACUA,IAG/B,SAASD,GAAmBK,GAC1BhR,OAAOC,KAAK+Q,EAAiB7R,SAC1B2E,QAAO,SAACmN,UAAYJ,GAAQI,MAC5B/Q,SAAQ,SAAC+Q,GACRvV,OAAO6C,mBAAmBC,YACxByS,EACAJ,GAAQI,GAASD,EAAiB7R,QAAQ8R,QAK3C,SAASC,YAEZlR,OAAOC,KAAKvE,OAAO6C,mBAAmBS,iBAAiBG,SAAS2E,QAC9D,SAACkF,UAAO6H,GAAQ7H,MAChB5N,OAAS,MClCM+V,6LACX,CACNH,iBAAkB,CAAE7R,QAAS,IAC7BiS,eAAgB,CAAEjS,QAAS,IAC3BkS,YAAa,CAAElS,QAAS,IACxBmS,aAAc,KACdhB,kBAAmB,KACnBiB,UAAW,sBAsXJ,SAACxD,GACRA,EAAIM,kBACJ3S,OAAOC,SAAS6V,6BAGT,aACFvE,SAAS,CAAEqE,aAAc,KAAMhB,kBAAmB,oCAGvC,SAACmB,GAGF,QAFfA,EAASA,GAAU,MAGjB/V,OAAO6C,mBAAmB4B,eACxBoN,EAAKpC,MAAMmG,aAAa7S,YAG1B/C,OAAO6C,mBAAmBC,YACxB+O,EAAKpC,MAAMmG,aAAa7S,WACxBgT,KAICxE,SAAS,CAAEqE,aAAc,6BAGrB,aACJnE,cACLzR,OAAO6C,mBAAmB0E,iBAAiBV,MAAK,SAAC8O,KAC1CpE,SAAS,CAAEoE,YAAAA,iCAIL,SAAC7V,EAAMC,GAChBD,GAAQC,GACVC,OAAO6C,mBAAmBC,YAAYhD,EAAMC,KAEzCwR,SAAS,CAAEqE,aAAc,sCAGZ,SAAC7S,WACZ8O,EAAKpC,MAAMoG,UAAUG,OAAOtW,OAAS,IACxCN,EAAS2D,EAAY8O,EAAKpC,MAAMoG,2DA9ZtC,sBACE7V,OAAO6C,mBAAmBkD,gBAAgBc,MAAK,SAACyO,GAC9CpC,EAAK3B,SAAS,CAAE+D,iBAAAA,OAElBtV,OAAO6C,mBAAmBiE,oBAAoBD,MAAK,SAAC6O,GAClDxC,EAAK3B,SAAS,CAAEmE,eAAAA,OAElB1V,OAAO6C,mBAAmB0E,iBAAiBV,MAAK,SAAC8O,GAC/CzC,EAAK3B,SAAS,CAAEoE,YAAAA,OAElB3V,OAAO+O,iBAAiB,8BAA+B3B,KAAK6I,eACvDC,SAASrB,4CAEhB,WACE7U,OAAOkP,oBAAoB,8BAA+B9B,KAAK6I,4CAEjE,SAAmBjD,EAAWC,IACvBA,EAAU2C,cAAgBxI,KAAKqC,MAAMmG,mBACnCO,gBAAkBjV,SAASmE,cAAc,OAC9CnE,SAASqE,KAAKC,YAAY4H,KAAK+I,iBAC/B7G,GACExD,EAAC6F,IACCG,OAAQ1E,KAAKqC,MAAMmG,aACnBhD,OAAQxF,KAAKwF,OACbH,gBAAiBrF,KAAKqF,gBACtBD,aAAcpF,KAAKoF,eAErBpF,KAAK+I,kBAEElD,EAAU2C,eAAiBxI,KAAKqC,MAAMmG,eAC/CtG,GAAO,KAAMlC,KAAK+I,sBACbA,gBAAgBC,gBACdhJ,KAAK+I,kBAGTlD,EAAU2B,mBAAqBxH,KAAKqC,MAAMmF,wBACxCuB,gBAAkBjV,SAASmE,cAAc,OAC9CnE,SAASqE,KAAKC,YAAY4H,KAAK+I,iBAC/B7G,GACExD,EAAC6I,IACCC,kBAAmBxH,KAAKqC,MAAMmF,kBAC9BhC,OAAQxF,KAAKwF,SAEfxF,KAAK+I,kBAEElD,EAAU2B,oBAAsBxH,KAAKqC,MAAMmF,oBACpDtF,GAAO,KAAMlC,KAAK+I,sBACbA,gBAAgBC,gBACdhJ,KAAK+I,uCAGhB,sBACQE,EAAoB,GACxBC,EAAwB,GACxB3S,EAAoB,GACpB4S,EAAiB,GACjBC,EAA0B,GAC1BC,EAA+B,GAC/BC,EAAgB,GAEZC,EAAc3W,OAAO6C,mBAAmBS,gBAAe,GAAMG,QAE7DmT,EAAoBtS,OAAOC,KAAK6I,KAAKqC,MAAM6F,iBAAiB7R,SAE5DoT,EAAkB7W,OAAO6C,mBAAmBe,uBAElDgT,EAAkBxO,OAAOgF,KAAK0J,mBAAmBtS,SAAQ,SAACzB,OAClDgU,EAAM,CACVhU,WAAAA,EACA2Q,WAAYI,EAAKrE,MAAM6F,iBAAiB7R,QAAQV,GAChDgP,YAAa4E,EAAY5T,GACzB0R,SAAUrV,EAASyX,EAAiB9T,IAElCgU,EAAItC,SACN9Q,EAAkB2D,KAAKyP,GACdJ,EAAY5T,GAEnB+Q,EAAKrE,MAAMiG,eAAejS,QAAQV,KAClC4T,EAAY5T,GAGVoS,GAAQpS,IACRoS,GAAQpS,GACN+Q,EAAKrE,MAAMiG,eAAejS,QAAQV,MAC9B4T,EAAY5T,GAElB2T,EAAcpP,KAAKyP,GAEnBV,EAAkB/O,KAAKyP,GAGzBT,EAAsBhP,KAAKyP,GAG7BjD,EAAKrE,MAAM6F,iBAAiB7R,QAAQV,KACpC+Q,EAAKrE,MAAMiG,eAAejS,QAAQV,GAElCwT,EAAejP,KAAKyP,GAEpBjD,EAAKrE,MAAM6F,iBAAiB7R,QAAQV,KACpC+Q,EAAKrE,MAAMkG,YAAYlS,QAAQV,GAE/B0T,EAA6BnP,KAAKyP,GAElCP,EAAwBlP,KAAKyP,MAIjCzS,OAAOC,KAAKoS,GACTvO,OAAOgF,KAAK0J,mBACZtS,SAAQ,SAACzB,OACH3D,EAASwX,EAAmB7T,GAAa,KACtCgU,EAAM,CACVhU,WAAAA,EACA2Q,WAAY,KACZ3B,YAAa4E,EAAY5T,GACzB0R,SAAUrV,EAASyX,EAAiB9T,IAGlCgU,EAAItC,SACN9Q,EAAkB2D,KAAKyP,GAEvBjD,EAAKrE,MAAMiG,eAAejS,QAAQV,KAClC4T,EAAY5T,GAEZsT,EAAkB/O,KAAKyP,GAEvBT,EAAsBhP,KAAKyP,OAKnCV,EAAkBtO,KAAKiP,IACvBT,EAAexO,KAAKiP,IACpBV,EAAsBvO,KAAKiP,UA6T/B,iBACQC,EAAkBjX,OAAO6C,mBAAmBgF,uBAC5CqP,EAAqBlX,OAAO6C,mBAAmBmE,kCAC/CmQ,EAAa,GACjBC,EAAyB,GACzBC,EAAsB,qmBAEAJ,kCAAiB,KAAhCK,UACHlY,EAASY,OAAO6C,mBAAmBgG,oBAAqByO,GAC1DH,EAAW7P,KAAKgQ,GAEZlY,EAAS8X,EAAoBI,GAC/BF,EAAuB9P,KAAKgQ,GAE5BD,EAAoB/P,KAAKgQ,wCAKxB,CACLH,WAAAA,EACAC,uBAAAA,EACAC,oBAAAA,GA7UIE,GAHFJ,IAAAA,WACAC,IAAAA,uBACAC,IAAAA,2BAIAvL,SAAKqH,UAAU,sBACbrH,SAAKqH,UAAU,4BACbrH,WACEqH,UAAU,+BACC,iBACXqE,YAAY,iBACZjJ,MAAOnB,KAAKqC,MAAMoG,UAClBhC,QAAS,SAACxB,UAAQyB,EAAKvC,SAAS,CAAEsE,UAAWxD,EAAI0B,OAAOxF,SACxD1D,IAAK,SAACA,UAASiJ,EAAKoC,SAAWrL,KAEjCiB,SAAKqH,UAAU,eACbrH,YACEqI,QAAS,kBACPL,EAAKvC,SAAS,CACZqE,aAAc,CAAE7S,WAAY,aAAcwP,OAAO,0BAOzDzG,SAAKqH,UAAU,eACbrH,YACEqI,QAAS,WACPL,EAAKvC,SAAS,CACZqD,kBAAmB,CAAE7U,IAAK,GAAIwS,OAAO,0BAO7CzG,SAAKqH,UAAU,eACbrH,YAAQqI,QAAS,kBAAMnU,OAAO6C,mBAAmBgC,4CAKrDiH,WAAOqH,UAAU,uBACfrH,eACEA,YACEA,6BACAA,2BACAA,sBACAA,0BAGJA,eACGwK,EAAsBvM,KAAI,SAACgN,UAC1BjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,YAET+I,QAAIqI,QAASL,EAAKgC,OAAQ5B,KAAK,SAASN,SAAU,GAChD9H,SAAKqH,UAAU,iCACfrH,gCACAA,SAAKqH,UAAU,uBAEjBrH,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,QAGnBN,EAA6B1M,KAAI,SAACgN,UACjCjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,YAET+I,QAAId,MAAO,CAAE2I,SAAU,aACrB7H,SAAKqH,UAAU,gCACfrH,wBACAA,SAAKqH,UAAU,uBAEjBrH,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,QAGnBpT,EAAkBoG,KAAI,SAACgN,UACtBjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,YAET+I,YACEA,SAAKqH,UAAU,qCACfrH,mCAEFA,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,QAGnBV,EAAkBtM,KAAI,SAACgN,UACtBjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,YAET+I,YACEA,SAAKqH,UAAU,oCACfrH,iCAEFA,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,QAGnBP,EAAwBzM,KAAI,SAACgN,UAC5BjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,YAET+I,YACEA,SAAKqH,UAAU,qCACfrH,mCAEFA,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,QAGnBL,EAAc3M,KAAI,SAACgN,UAClBjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,WACT4U,MAAM,qDAEN7L,YACEA,SAAKqH,UAAU,oCACfrH,kCAEFA,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,QAGnBR,EAAexM,KAAI,SAACgN,UACnBjL,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBAAML,EAAKvC,SAAS,CAAEqE,aAAcmB,KAC7C7T,IAAK6T,EAAIhU,YAET+I,YACEA,SAAKqH,UAAU,kCACfrH,yBAEFA,YAAKiL,EAAIhU,YACT+I,YAAK2L,GAASV,IACdjL,YAAK4L,GAAWX,WAKtBI,EAAWzX,OAAS,GACpB0X,EAAuB1X,OAAS,GAChC2X,EAAoB3X,OAAS,IAC7BoM,WAAOqH,UAAU,uBACfrH,eACEA,iCACAA,oBAEFA,eACGqL,EAAWpN,KAAI,SAAChK,UACf+L,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBACPL,EAAKvC,SAAS,CAAEqD,kBAAmB,CAAErC,OAAO,EAAOxS,IAAAA,MAErDmD,IAAKnD,GAEL+L,YACEA,SAAKqH,UAAU,qCACfrH,yBAEFA,YAAK/L,OAGRsX,EAAoBtN,KAAI,SAAChK,UACxB+L,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBACPL,EAAKvC,SAAS,CAAEqD,kBAAmB,CAAErC,OAAO,EAAOxS,IAAAA,MAErDmD,IAAKnD,GAEL+L,YACEA,SAAKqH,UAAU,iCACfrH,iCAEFA,YAAK/L,OAGRqX,EAAuBrN,KAAI,SAAChK,UAC3B+L,QACEoI,KAAK,SACLN,SAAU,EACVO,QAAS,kBACPL,EAAKvC,SAAS,CAAEqD,kBAAmB,CAAErC,OAAO,EAAOxS,IAAAA,MAErDmD,IAAKnD,GAEL+L,YACEA,SAAKqH,UAAU,oCACfrH,0BAEFA,YAAK/L,iBAnXW2U,GA4alC,SAASsC,GAAOY,EAAOC,UACdD,EAAM7U,WAAa8U,EAAO9U,WAGnC,IAAM+U,GACH5W,SAASC,cAAc,SAAWD,SAASC,cAAc,QAAQjB,MAClED,SAAS8X,OAAS,IAEpB,SAASN,GAASV,OACViB,EAASC,GAASlB,GAClBhX,EAAMmY,GAAMF,UACXjY,EAAMA,EAAIoY,KAAOH,EAG1B,SAASN,GAAWX,OACZiB,EAASC,GAASlB,GAClBhX,EAAMmY,GAAMF,UACXjY,EAAMA,EAAIqY,SAASlW,MAAMnC,EAAIqY,SAASC,YAAY,KAAO,GAAKL,EAGvE,SAASC,GAASlB,UACTA,EAAIhF,aAAegF,EAAIrD,WAGhC,SAASwE,GAAMF,cAEJ,IAAI/P,IAAI+P,EAAQF,IACvB,gBACO,UC3cUQ,iMASR,kBAAMzG,EAAKJ,2CA2BJ,SAACY,GACD,WAAZA,EAAInP,KAAoB2O,EAAKtF,MAAMgM,SAChChM,MAAMgM,wDArCf,WACEvY,OAAO+O,iBAAiB,UAAW3B,KAAKoL,iBACxCxY,OAAO+O,iBAAiB,8BAA+B3B,KAAK6I,8CAE9D,WACEjW,OAAOkP,oBAAoB,UAAW9B,KAAKoL,iBAC3CxY,OAAOkP,oBAAoB,8BAA+B9B,KAAK6I,gCAGjE,SAAO1J,UAEHT,SAAKqH,UAAU,aACbrH,SAAKqH,UAAU,cACbrH,aACEA,oCACAA,8IAEmE,IACjEA,OACEiI,OAAO,SACP7T,KAAK,gGAOX4L,YAAQqH,UAAU,eAAegB,QAAS5H,EAAMgM,OAC7C,MAGLzM,EAAC2J,IAAKgD,iBAAkBrL,KAAKb,MAAMkM,2BAhCR/D,GCGdgE,6LACX,CACNC,cAAc,uBAQL,kBAAM9G,EAAKJ,yCAgCN,aACTF,UAAS,SAAC0B,SAAe,CAC5B0F,cAAe1F,EAAU0F,+CAGV,aACZlH,sCAEM,eACL3J,EAAoBxF,aAAaC,QACrC,wCAEKuF,EACmB,SAAtBA,EACA+J,EAAKtF,MAAMnH,cAAczC,aAAa,4CAEvB,kBACfkP,EAAK+G,aACApD,KAGLlR,OAAOC,KAAKvE,OAAO6C,mBAAmBS,iBAAiBG,SAAS/D,OAChE,kDA5DN,WACEM,OAAO+O,iBAAiB,8BAA+B3B,KAAK6I,8CAE9D,WACEjW,OAAOkP,oBAAoB,8BAA+B9B,KAAK6I,gCAGjE,SAAO1J,EAAOkD,UAETlD,EAAMnH,cAAczC,aAAa,4BAG5B,SAFNL,aAAaC,QACXgK,EAAMnH,cAAc7D,aAAa,4BAI5B,KAIPuK,aACEA,YACEqI,QAAS/G,KAAKyL,cACd1F,6CACE/F,KAAK0L,qBAAuB,uBAAyB,KAGtD,SAEF1L,KAAKwL,cAAgB9M,EAACkJ,SACtBvF,EAAMkJ,cACL7M,EAACwM,IACCC,MAAOnL,KAAKyL,cACZJ,iBAAkBrL,KAAKqL,2BApCC/D,GCgBpC,SAASqE,GAAoBC,OAAMC,yDAAqB,yIAEpD,gBACOvT,uDAEP,WACE4J,GAAO,KAAMlC,WACR8L,WAAa,6CAKpB,gBACOxT,mDAEP,gBACOyT,OAAS/L,KAAKgM,aAAa,CAAEC,KAAM,cACnCH,WAAa5J,GAChBxD,EAAEkN,EAAM,CAAE5T,cAAegI,OACzBA,KAAK+L,OACL/L,KAAK8L,gBAEDlO,EAAQ9J,SAASmE,cAAc,SACrC2F,EAAMrE,YAAc2S,EAAOC,gBACtBJ,OAAO3T,YAAYwF,qCAf1B,kBACSiO,WAT8BO,cAhBvCxZ,OAAOyZ,iBAAmBhZ,IAC5BT,OAAOyZ,eAAeC,OACpB,4BACAX,GAAoBL,GAAQ,CAAC,6BAE/B1Y,OAAOyZ,eAAeC,OACpB,6BACAX,GAAoBT,KAEtBtY,OAAOyZ,eAAeC,OACpB,4BACAX,GAAoBtD"
460
+ }