From 2d40444a3779d4e7f60fe0abcffed45c6767adaa Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Tue, 23 Jan 2018 13:38:03 +0200 Subject: [PATCH] 0.21.0 --- dist/system-production.js | 4 +- dist/system-production.js.map | 2 +- dist/system-production.src.js | 441 +++++++++++++++++++++--------- dist/system-production.src.js.map | 2 +- dist/system.js | 4 +- dist/system.js.map | 2 +- dist/system.src.js | 27 +- dist/system.src.js.map | 2 +- package.json | 2 +- 9 files changed, 324 insertions(+), 162 deletions(-) diff --git a/dist/system-production.js b/dist/system-production.js index 3e8927c4..7adaf38f 100644 --- a/dist/system-production.js +++ b/dist/system-production.js @@ -1,4 +1,4 @@ /* - * SystemJS v0.20.19 Production + * SystemJS v0.21.0 Production */ -!function(){"use strict";function e(e){return G?Symbol():"@@"+e}function t(e,t){z||(t=t.replace(F?/file:\/\/\//g:/file:\/\//g,""));var r,n=(e.message||e)+"\n "+t;r=Q&&e.fileName?new Error(n,e.fileName,e.lineNumber):new Error(n);var o=e.originalErr?e.originalErr.stack:e.stack;return r.stack=B?n+"\n "+o:o,r.originalErr=e.originalErr||e,r}function r(e,t){throw new RangeError('Unable to resolve "'+e+'" to '+t)}function n(e,t){e=e.trim();var n=t&&t.substr(0,t.indexOf(":")+1),o=e[0],i=e[1];if("/"===o&&"/"===i)return n||r(e,t),n+e;if("."===o&&("/"===i||"."===i&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===o){var s,a=!n||"/"!==t[n.length];if(a?(void 0===t&&r(e,t),s=t):s="/"===t[n.length+1]?"file:"!==n?(s=t.substr(n.length+2)).substr(s.indexOf("/")+1):t.substr(8):t.substr(n.length+1),"/"===o){if(!a)return t.substr(0,t.length-s.length-1)+e;r(e,t)}for(var u=s.substr(0,s.lastIndexOf("/")+1)+e,c=[],l=-1,f=0;f1&&h(e,r,i))})).then(function(t){if(void 0!==t){if(!(t instanceof c))throw new TypeError("Instantiate did not return a valid Module object.");return delete i.records[r.key],e.trace&&m(e,r,n),o[r.key]=t}var s=r.registration;if(r.registration=void 0,!s)throw new TypeError("Module instantiation did not call an anonymous or correctly named System.register.");return n.dependencies=s[0],r.importerSetters=[],n.moduleObj={},s[2]?(n.moduleObj.default=n.moduleObj.__useDefault={},n.executingRequire=s[1],n.execute=s[2]):g(e,r,n,s[1]),r}).catch(function(e){throw r.linkRecord=void 0,r.loadError=r.loadError||t(e,"Instantiating "+r.key)}))}function y(e,t,r,n,o,i){return e.resolve(t,r).then(function(r){i&&(i[t]=r);var s=o.records[r],a=n[r];if(a&&(!s||s.module&&a!==s.module))return a;if(s&&s.loadError)throw s.loadError;(!s||!a&&s.module)&&(s=d(o,r,s&&s.registration));var u=s.linkRecord;return u?v(e,s,u,n,o):s})}function m(e,t,r){e.loads=e.loads||{},e.loads[t.key]={key:t.key,deps:r.dependencies,dynamicDeps:[],depMap:r.depMap||{}}}function g(e,t,r,n){var o=r.moduleObj,i=t.importerSetters,s=!1,a=n.call(J,function(e,t){if("object"==typeof e){var r=!1;for(var n in e)t=e[n],"__useDefault"===n||n in o&&o[n]===t||(r=!0,o[n]=t);if(!1===r)return t}else{if((s||e in o)&&o[e]===t)return t;o[e]=t}for(var a=0;athis.len&&(this.match=e,this.len=r)}}function T(e,t){if(Object.hasOwnProperty.call(e,t))return t;var r={name:t,match:void 0,len:0};return Object.keys(e).forEach(M,r),r.match}function C(){f.call(this),this[ae]={baseURL:q,paths:{},map:{},submap:{},bundles:{},depCache:{},wasm:!1},this.registry.set("@empty",se)}function N(e,t){var r=this[ae];if(t){var o=T(r.submap,t),i=r.submap[o];if(a=i&&T(i,e))return n(u=i[a]+e.substr(a.length),o)||u}var s=r.map,a=T(s,e);if(a){var u=s[a]+e.substr(a.length);return n(u,t||r.baseURL)||u}}function A(e,t){return new Promise(function(r,n){return U(e,"anonymous",void 0,function(){t(),r()},n)})}function W(e,t){var r=this[ae],n=r.wasm,o=r.bundles[e];if(o){var i=(c=this).resolveSync(o,void 0);if(c.registry.has(i))return;return ye[i]||(ye[i]=A(i,t).then(function(){c.registry.has(i)||c.registry.set(i,c.newModule({})),delete ye[i]}))}var s=r.depCache[e];if(s)for(var a=n?fetch:_,u=0;u1&&h(e,r,i))})).then(function(t){if(void 0!==t){if(!(t instanceof c))throw new TypeError("Instantiate did not return a valid Module object.");return delete i.records[r.key],e.trace&&m(e,r,n),o[r.key]=t}var s=r.registration;if(r.registration=void 0,!s)throw new TypeError("Module instantiation did not call an anonymous or correctly named System.register.");return n.dependencies=s[0],r.importerSetters=[],n.moduleObj={},s[2]?(n.moduleObj.default=n.moduleObj.__useDefault={},n.executingRequire=s[1],n.execute=s[2]):g(e,r,n,s[1]),r}).catch(function(e){throw r.linkRecord=void 0,r.loadError=r.loadError||t(e,"Instantiating "+r.key)}))}function y(e,t,r,n,o,i){return e.resolve(t,r).then(function(r){i&&(i[t]=r);var s=o.records[r],a=n[r];if(a&&(!s||s.module&&a!==s.module))return a;if(s&&s.loadError)throw s.loadError;(!s||!a&&s.module)&&(s=d(o,r,s&&s.registration));var u=s.linkRecord;return u?v(e,s,u,n,o):s})}function m(e,t,r){e.loads=e.loads||{},e.loads[t.key]={key:t.key,deps:r.dependencies,dynamicDeps:[],depMap:r.depMap||{}}}function g(e,t,r,n){var o=r.moduleObj,i=t.importerSetters,s=!1,a=n.call(Z,function(e,t){if("object"==typeof e){var r=!1;for(var n in e)t=e[n],"__useDefault"===n||n in o&&o[n]===t||(r=!0,o[n]=t);if(!1===r)return t}else{if((s||e in o)&&o[e]===t)return t;o[e]=t}for(var a=0;athis.len&&(this.match=e,this.len=r)}}function M(e,t){if(Object.hasOwnProperty.call(e,t))return t;var r={name:t,match:void 0,len:0};return Object.keys(e).forEach(U,r),r.match}function T(e){function t(r,n,o,i){if("object"==typeof r&&!(r instanceof Array))return t.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if("string"==typeof r&&"function"==typeof n&&(r=[r]),!(r instanceof Array)){if("string"==typeof r){var s=e.decanonicalize(r,i),a=e.get(s);if(!a)throw new Error('Module not already loaded loading "'+r+'" as '+s+(i?' from "'+i+'".':"."));return"__useDefault"in a?a.__useDefault:a}throw new TypeError("Invalid require")}for(var u=[],c=0;c skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\n\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\n\nexport var resolvedPromise = Promise.resolve();\nexport function noop () {};\n\nexport var emptyModule = new ModuleNamespace({});\n\nexport function protectedCreateNamespace (bindings) {\n if (bindings instanceof ModuleNamespace)\n return bindings;\n\n if (bindings && bindings.__esModule)\n return new ModuleNamespace(bindings);\n\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\n}\n\nvar hasStringTag;\nexport function isModule (m) {\n if (hasStringTag === undefined)\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\n}\n\nexport var CONFIG = createSymbol('loader-config');\nexport var METADATA = createSymbol('metadata');\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\n\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\n\nexport function warn (msg, force) {\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\n console.warn(msg);\n}\n\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\n var bytes = new Uint8Array(wasmBuffer);\n\n // detect by leading bytes\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\n return WebAssembly.compile(wasmBuffer).then(function (m) {\n var deps = [];\n var setters = [];\n var importObj = {};\n\n // we can only set imports if supported (eg Safari doesnt support)\n if (WebAssembly.Module.imports)\n WebAssembly.Module.imports(m).forEach(function (i) {\n var key = i.module;\n setters.push(function (m) {\n importObj[key] = m;\n });\n if (deps.indexOf(key) === -1)\n deps.push(key);\n });\n loader.register(deps, function (_export) {\n return {\n setters: setters,\n execute: function () {\n _export(new WebAssembly.Instance(m, importObj).exports);\n }\n };\n });\n processAnonRegister();\n\n return true;\n });\n }\n\n return Promise.resolve(false);\n}\n\nvar parentModuleContext;\nexport function loadNodeModule (key, baseURL) {\n if (key[0] === '.')\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\n\n if (!parentModuleContext) {\n var Module = this._nodeRequire('module');\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\n parentModuleContext = new Module(base);\n parentModuleContext.paths = Module._nodeModulePaths(base);\n }\n return parentModuleContext.require(key);\n}\n\nexport function extend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n a[p] = b[p];\n }\n return a;\n}\n\nexport function prepend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n if (a[p] === undefined)\n a[p] = b[p];\n }\n return a;\n}\n\n// meta first-level extends where:\n// array + array appends\n// object + object extends\n// other properties replace\nexport function extendMeta (a, b, _prepend) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n var val = b[p];\n if (a[p] === undefined)\n a[p] = val;\n else if (val instanceof Array && a[p] instanceof Array)\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\n else if (!_prepend)\n a[p] = val;\n }\n}\n\nvar supportsPreload = false, supportsPrefetch = false;\nif (isBrowser)\n (function () {\n var relList = document.createElement('link').relList;\n if (relList && relList.supports) {\n supportsPrefetch = true;\n try {\n supportsPreload = relList.supports('preload');\n }\n catch (e) {}\n }\n })();\n\nexport function preloadScript (url) {\n // fallback to old fashioned image technique which still works in safari\n if (!supportsPreload && !supportsPrefetch) {\n var preloadImage = new Image();\n preloadImage.src = url;\n return;\n }\n\n var link = document.createElement('link');\n if (supportsPreload) {\n link.rel = 'preload';\n link.as = 'script';\n }\n else {\n // this works for all except Safari (detected by relList.supports lacking)\n link.rel = 'prefetch';\n }\n link.href = url;\n document.head.appendChild(link);\n}\n\nfunction workerImport (src, resolve, reject) {\n try {\n importScripts(src);\n }\n catch (e) {\n reject(e);\n }\n resolve();\n}\n\nif (isBrowser) {\n var loadingScripts = [];\n var onerror = window.onerror;\n window.onerror = function globalOnerror (msg, src) {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].src !== src)\n continue;\n loadingScripts[i].err(msg);\n return;\n }\n if (onerror)\n onerror.apply(this, arguments);\n };\n}\n\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\n // percent encode just \"#\" for HTTP requests\n src = src.replace(/#/g, '%23');\n\n // subresource integrity is not supported in web workers\n if (isWorker)\n return workerImport(src, resolve, reject);\n\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.charset = 'utf-8';\n script.async = true;\n\n if (crossOrigin)\n script.crossOrigin = crossOrigin;\n if (integrity)\n script.integrity = integrity;\n\n script.addEventListener('load', load, false);\n script.addEventListener('error', error, false);\n\n script.src = src;\n document.head.appendChild(script);\n\n function load () {\n resolve();\n cleanup();\n }\n\n // note this does not catch execution errors\n function error (err) {\n cleanup();\n reject(new Error('Fetching ' + src));\n }\n\n function cleanup () {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].err === error) {\n loadingScripts.splice(i, 1);\n break;\n }\n }\n script.removeEventListener('load', load, false);\n script.removeEventListener('error', error, false);\n document.head.removeChild(script);\n }\n}\n\nexport function readMemberExpression (p, value) {\n var pParts = p.split('.');\n while (pParts.length)\n value = value[pParts.shift()];\n return value;\n}\n\n// separate out paths cache as a baseURL lock process\nexport function applyPaths (baseURL, paths, key) {\n var mapMatch = getMapMatch(paths, key);\n if (mapMatch) {\n var target = paths[mapMatch] + key.substr(mapMatch.length);\n\n var resolved = resolveIfNotPlain(target, baseURI);\n if (resolved !== undefined)\n return resolved;\n\n return baseURL + target;\n }\n else if (key.indexOf(':') !== -1) {\n return key;\n }\n else {\n return baseURL + key;\n }\n}\n\nfunction checkMap (p) {\n var name = this.name;\n // can add ':' here if we want paths to match the behaviour of map\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\n var curLen = p.split('/').length;\n if (curLen > this.len) {\n this.match = p;\n this.len = curLen;\n }\n }\n}\n\nexport function getMapMatch (map, name) {\n if (Object.hasOwnProperty.call(map, name))\n return name;\n\n var bestMatch = {\n name: name,\n match: undefined,\n len: 0\n };\n\n Object.keys(map).forEach(checkMap, bestMatch);\n\n return bestMatch.match;\n}\n\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\n","import { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { global, baseURI, CONFIG, PLAIN_RESOLVE, PLAIN_RESOLVE_SYNC, resolveIfNotPlain, resolvedPromise,\n extend, emptyModule, applyPaths, scriptLoad, protectedCreateNamespace, getMapMatch, noop, preloadScript, isModule, isNode, checkInstantiateWasm } from './common.js';\n\nexport { ModuleNamespace }\n\nexport default SystemJSProductionLoader;\n\nfunction SystemJSProductionLoader () {\n RegisterLoader.call(this);\n\n // internal configuration\n this[CONFIG] = {\n baseURL: baseURI,\n paths: {},\n map: {},\n submap: {},\n bundles: {},\n depCache: {},\n wasm: false\n };\n\n // support the empty module, as a concept\n this.registry.set('@empty', emptyModule);\n}\n\nSystemJSProductionLoader.plainResolve = PLAIN_RESOLVE;\nSystemJSProductionLoader.plainResolveSync = PLAIN_RESOLVE_SYNC;\n\nvar systemJSPrototype = SystemJSProductionLoader.prototype = Object.create(RegisterLoader.prototype);\n\nsystemJSPrototype.constructor = SystemJSProductionLoader;\n\nsystemJSPrototype[SystemJSProductionLoader.resolve = RegisterLoader.resolve] = function (key, parentKey) {\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\n if (resolved !== undefined)\n return Promise.resolve(resolved);\n\n // plain resolution\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[PLAIN_RESOLVE](key, parentKey);\n })\n .then(function (resolved) {\n resolved = resolved || key;\n // if in the registry then we are done\n if (loader.registry.has(resolved))\n return resolved;\n\n // then apply paths\n // baseURL is fallback\n var config = loader[CONFIG];\n return applyPaths(config.baseURL, config.paths, resolved);\n });\n};\n\nsystemJSPrototype.newModule = function (bindings) {\n return new ModuleNamespace(bindings);\n};\n\nsystemJSPrototype.isModule = isModule;\n\nsystemJSPrototype.resolveSync = function (key, parentKey) {\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\n if (resolved !== undefined)\n return resolved;\n\n // plain resolution\n resolved = this[PLAIN_RESOLVE_SYNC](key, parentKey) || key;\n\n if (this.registry.has(resolved))\n return resolved;\n\n // then apply paths\n var config = this[CONFIG];\n return applyPaths(config.baseURL, config.paths, resolved);\n};\n\nsystemJSPrototype.import = function () {\n return RegisterLoader.prototype.import.apply(this, arguments)\n .then(function (m) {\n return '__useDefault' in m ? m.__useDefault : m;\n });\n};\n\nsystemJSPrototype[PLAIN_RESOLVE] = systemJSPrototype[PLAIN_RESOLVE_SYNC] = plainResolve;\n\nsystemJSPrototype[SystemJSProductionLoader.instantiate = RegisterLoader.instantiate] = coreInstantiate;\n\nsystemJSPrototype.config = function (cfg) {\n var config = this[CONFIG];\n\n if (cfg.baseURL) {\n config.baseURL = resolveIfNotPlain(cfg.baseURL, baseURI) || resolveIfNotPlain('./' + cfg.baseURL, baseURI);\n if (config.baseURL[config.baseURL.length - 1] !== '/')\n config.baseURL += '/';\n }\n\n if (cfg.paths)\n extend(config.paths, cfg.paths);\n\n if (cfg.map) {\n var val = cfg.map;\n for (var p in val) {\n if (!Object.hasOwnProperty.call(val, p))\n continue;\n\n var v = val[p];\n\n if (typeof v === 'string') {\n config.map[p] = v;\n }\n\n // object submap\n else {\n // normalize parent with URL and paths only\n var resolvedParent = resolveIfNotPlain(p, baseURI) || applyPaths(config.baseURL, config.paths, p);\n extend(config.submap[resolvedParent] || (config.submap[resolvedParent] = {}), v);\n }\n }\n }\n\n for (var p in cfg) {\n if (!Object.hasOwnProperty.call(cfg, p))\n continue;\n\n var val = cfg[p];\n\n switch (p) {\n case 'baseURL':\n case 'paths':\n case 'map':\n break;\n\n case 'bundles':\n for (var p in val) {\n if (!Object.hasOwnProperty.call(val, p))\n continue;\n var v = val[p];\n for (var i = 0; i < v.length; i++)\n config.bundles[this.resolveSync(v[i], undefined)] = p;\n }\n break;\n\n case 'depCache':\n for (var p in val) {\n if (!Object.hasOwnProperty.call(val, p))\n continue;\n var resolvedParent = this.resolveSync(p, undefined);\n config.depCache[resolvedParent] = (config.depCache[resolvedParent] || []).concat(val[p]);\n }\n break;\n\n case 'wasm':\n config.wasm = typeof WebAssembly !== 'undefined' && !!val;\n break;\n\n default:\n throw new TypeError('The SystemJS production build does not support the \"' + p + '\" configuration option.');\n }\n }\n};\n\n// getConfig configuration cloning\nsystemJSPrototype.getConfig = function (name) {\n var config = this[CONFIG];\n\n var map = {};\n extend(map, config.map);\n for (var p in config.submap) {\n if (!Object.hasOwnProperty.call(config.submap, p))\n continue;\n map[p] = extend({}, config.submap[p]);\n }\n\n var depCache = {};\n for (var p in config.depCache) {\n if (!Object.hasOwnProperty.call(config.depCache, p))\n continue;\n depCache[p] = [].concat(config.depCache[p]);\n }\n\n var bundles = {};\n for (var p in config.bundles) {\n if (!Object.hasOwnProperty.call(config.bundles, p))\n continue;\n bundles[p] = [].concat(config.bundles[p]);\n }\n\n return {\n baseURL: config.baseURL,\n paths: extend({}, config.paths),\n depCache: depCache,\n bundles: bundles,\n map: map,\n wasm: config.wasm\n };\n};\n\n// ensure System.register and System.registerDynamic decanonicalize\nsystemJSPrototype.register = function (key, deps, declare) {\n if (typeof key === 'string')\n key = this.resolveSync(key, undefined);\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\n};\n\nsystemJSPrototype.registerDynamic = function (key, deps, executingRequire, execute) {\n if (typeof key === 'string')\n key = this.resolveSync(key, undefined);\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\n};\n\nfunction plainResolve (key, parentKey) {\n var config = this[CONFIG];\n\n // Apply contextual submap\n if (parentKey) {\n var parent = getMapMatch(config.submap, parentKey);\n var submap = config.submap[parent];\n var mapMatch = submap && getMapMatch(submap, key);\n\n if (mapMatch) {\n var target = submap[mapMatch] + key.substr(mapMatch.length);\n return resolveIfNotPlain(target, parent) || target;\n }\n }\n\n // Apply global map\n var map = config.map;\n var mapMatch = getMapMatch(map, key);\n\n if (mapMatch) {\n var target = map[mapMatch] + key.substr(mapMatch.length);\n return resolveIfNotPlain(target, parentKey || config.baseURL) || target;\n }\n}\n\nfunction doScriptLoad (url, processAnonRegister) {\n return new Promise(function (resolve, reject) {\n return scriptLoad(url, 'anonymous', undefined, function () {\n processAnonRegister();\n resolve();\n }, reject);\n });\n}\n\nvar loadedBundles = {};\nfunction coreInstantiate (key, processAnonRegister) {\n var config = this[CONFIG];\n\n var wasm = config.wasm;\n\n var bundle = config.bundles[key];\n if (bundle) {\n var loader = this;\n var bundleUrl = loader.resolveSync(bundle, undefined);\n if (loader.registry.has(bundleUrl))\n return;\n return loadedBundles[bundleUrl] || (loadedBundles[bundleUrl] = doScriptLoad(bundleUrl, processAnonRegister).then(function () {\n // bundle treated itself as an empty module\n // this means we can reload bundles by deleting from the registry\n if (!loader.registry.has(bundleUrl))\n loader.registry.set(bundleUrl, loader.newModule({}));\n delete loadedBundles[bundleUrl];\n }));\n }\n\n var depCache = config.depCache[key];\n if (depCache) {\n var preloadFn = wasm ? fetch : preloadScript;\n for (var i = 0; i < depCache.length; i++)\n this.resolve(depCache[i], key).then(preloadFn);\n }\n\n if (wasm) {\n var loader = this;\n return fetch(key)\n .then(function(res) {\n if (res.ok)\n return res.arrayBuffer();\n else\n throw new Error('Fetch error: ' + res.status + ' ' + res.statusText);\n })\n .then(function (fetched) {\n return checkInstantiateWasm(loader, fetched, processAnonRegister)\n .then(function (wasmInstantiated) {\n if (wasmInstantiated)\n return;\n // not wasm -> convert buffer into utf-8 string to execute as a module\n // TextDecoder compatibility matches WASM currently. Need to keep checking this.\n // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder\n var source = new TextDecoder('utf-8').decode(new Uint8Array(fetched));\n (0, eval)(source + '\\n//# sourceURL=' + key);\n processAnonRegister();\n });\n });\n }\n\n return doScriptLoad(key, processAnonRegister);\n}\n","import { global, isBrowser, isWorker } from './common.js';\nimport SystemJSProductionLoader from './systemjs-production-loader.js';\n\nSystemJSProductionLoader.prototype.version = VERSION;\n\nvar System = new SystemJSProductionLoader();\n\n// only set the global System on the global in browsers\nif (isBrowser || isWorker) {\n global.SystemJS = System;\n\n // dont override an existing System global\n if (!global.System) {\n global.System = System;\n }\n // rather just extend or set a System.register on the existing System global\n else {\n var register = global.System.register;\n global.System.register = function () {\n if (register)\n register.apply(this, arguments);\n System.register.apply(System, arguments);\n };\n }\n}\n\nif (typeof module !== 'undefined' && module.exports)\n module.exports = System;\n"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/es-module-loader/core/common.js","../node_modules/es-module-loader/core/resolve.js","../node_modules/es-module-loader/core/loader-polyfill.js","../node_modules/es-module-loader/core/register-loader.js","../src/common.js","../src/format-helpers.js","../src/systemjs-production-loader.js","../src/system-production.js"],"names":["createSymbol","name","hasSymbol","Symbol","LoaderError__Check_error_message_for_loader_stack","childErr","newMessage","isBrowser","replace","isWindows","err","message","errArgs","fileName","Error","lineNumber","stack","originalErr","isNode","throwResolveError","relUrl","parentUrl","RangeError","resolveIfNotPlain","trim","parentProtocol","substr","indexOf","firstChar","secondChar","length","pathname","parentIsPlain","undefined","segmented","lastIndexOf","output","segmentIndex","i","pop","push","substring","join","match","arrayValues","arr","values","iterator","iterable","keys","Object","keyIndex","next","value","done","Loader","this","registry","Registry","ensureInstantiated","module","ModuleNamespace","TypeError","ensureResolution","resolvedKey","REGISTRY","baseObject","defineProperty","BASE_OBJECT","forEach","extendNamespace","key","enumerable","get","RegisterLoader","call","registryDelete","delete","deleted","records","hasOwnProperty","linkRecord","REGISTER_INTERNAL","lastRegister","trace","createLoadRecord","state","registration","importerSetters","loadError","evalError","instantiatePromise","dependencies","execute","executingRequire","moduleObj","setters","depsInstantiatePromise","dependencyInstantiations","resolveInstantiate","loader","parentKey","Promise","resolve","load","reject","instantiate","then","link","createProcessAnonRegister","INSTANTIATE","instantiation","traceLoad","default","__useDefault","registerDeclarative","catch","addToError","resolveInstantiateDep","traceDepMap","loads","deps","dynamicDeps","depMap","declare","definedExports","declared","global","changed","p","ContextualLoader","exports","instantiateDeps","depsInstantiatePromises","Array","all","setter","deepInstantiateDeps","queueLoad","seen","loadCnt","processLoad","depLoad","id","meta","url","ensureEvaluate","doEvaluate","makeDynamicRequire","depLink","declarativeExecute","configurable","set","require","dynamicExecute","moduleDefault","__esModule","nullContext","e","noop","extend","a","b","preloadScript","supportsPreload","supportsPrefetch","document","createElement","rel","as","href","head","appendChild","Image","src","workerImport","importScripts","scriptLoad","crossOrigin","integrity","cleanup","error","script","removeEventListener","removeChild","isWorker","type","charset","async","addEventListener","applyPaths","baseURL","paths","mapMatch","getMapMatch","target","resolved","baseURI","checkMap","curLen","split","len","map","bestMatch","setAmdHelper","names","callback","errback","referer","apply","prototype","splice","arguments","normalized","decanonicalize","dynamicRequires","import","modules","define","factory","req","depValues","uri","config","moduleIndex","exportsIndex","requireIndex","contextualRequire","toUrl","normalizeSync","curRequire","curMetaDeps","concat","amdGetCJSDeps","toString","registerDynamic","lastNamedDefine","multipleNamedDefines","curEsModule","wrapEsModuleExecute","amd","amdDefine","amdRequire","globalIterator","globalName","ignoredGlobalProps","source","requireAlias","commentRegEx","fnBracketRegEx","wsRegEx","requireRegEx","requireRegExs","RegExp","cjsRequirePre","cjsRequirePost","lastIndex","exec","registerLastDefine","SystemJSProductionLoader","CONFIG","submap","depCache","doScriptLoad","processAnonRegister","globalSnapshot","registered","retrieveGlobal","singleGlobal","globalValue","multipleExports","window","process","versions","node","platform","envGlobal","self","getElementsByTagName","bases","location","slashIndex","cwd","resolvedPromise","constructor","parent","RESOLVE_INSTANTIATE","RESOLVE","iteratorSupport","entries","namespace","has","create","toStringTag","instantiated","register","freeze","hasStringTag","PLAIN_RESOLVE","PLAIN_RESOLVE_SYNC","relList","supports","onerror","msg","protocol","hostname","port","plainResolve","plainResolveSync","systemJSPrototype","newModule","bindings","isModule","m","resolveSync","cfg","val","v","resolvedParent","getConfig","version","System","SystemJS"],"mappings":";;;yBAcA,SAAgBA,EAAcC,GAC5B,OAAOC,EAAYC,SAAW,KAAOF,EA0DvC,SAASG,EAAmDC,EAAUC,GAE/DC,IACHD,EAAaA,EAAWE,QAAQC,EAAY,eAAiB,aAAc,KAE7E,IAEIC,EAFAC,GAAWN,EAASM,SAAWN,GAAY,OAASC,EAItDI,EADEE,GAAWP,EAASQ,SAChB,IAAIC,MAAMH,EAASN,EAASQ,SAAUR,EAASU,YAE/C,IAAID,MAAMH,GAGlB,IAAIK,EAAQX,EAASY,YAAcZ,EAASY,YAAYD,MAAQX,EAASW,MAUzE,OANEN,EAAIM,MAFFE,EAEUP,EAAU,OAASK,EAEnBA,EAEdN,EAAIO,YAAcZ,EAASY,aAAeZ,EAEnCK,EC5FT,SAASS,EAAmBC,EAAQC,GAClC,MAAM,IAAIC,WAAW,sBAAwBF,EAAS,QAAUC,GAElE,SAAgBE,EAAmBH,EAAQC,GACzCD,EAASA,EAAOI,OAChB,IAAIC,EAAiBJ,GAAaA,EAAUK,OAAO,EAAGL,EAAUM,QAAQ,KAAO,GAE3EC,EAAYR,EAAO,GACnBS,EAAaT,EAAO,GAGxB,GAAkB,MAAdQ,GAAoC,MAAfC,EAGvB,OAFKJ,GACHN,EAAkBC,EAAQC,GACrBI,EAAiBL,EAGrB,GAAkB,MAAdQ,IAAqC,MAAfC,GAAqC,MAAfA,IAAqC,MAAdT,EAAO,IAAgC,IAAlBA,EAAOU,SAAiBV,GAAU,OAC7G,IAAlBA,EAAOU,SAAkBV,GAAU,OACrB,MAAdQ,EAAmB,CACrB,IAIIG,EAJAC,GAAiBP,GAAuD,MAArCJ,EAAUI,EAAeK,QA0BhE,GArBIE,QAEgBC,IAAdZ,GACFF,EAAkBC,EAAQC,GAC5BU,EAAWV,GAMTU,EAJ8C,MAAzCV,EAAUI,EAAeK,OAAS,GAElB,UAAnBL,GACFM,EAAWV,EAAUK,OAAOD,EAAeK,OAAS,IAChCJ,OAAOK,EAASJ,QAAQ,KAAO,GAGxCN,EAAUK,OAAO,GAKnBL,EAAUK,OAAOD,EAAeK,OAAS,GAGpC,MAAdF,EAAmB,CACrB,IAAII,EAGF,OAAOX,EAAUK,OAAO,EAAGL,EAAUS,OAASC,EAASD,OAAS,GAAKV,EAFrED,EAAkBC,EAAQC,GAa9B,IAAK,IALDa,EAAYH,EAASL,OAAO,EAAGK,EAASI,YAAY,KAAO,GAAKf,EAEhEgB,KACAC,GAAgB,EAEXC,EAAI,EAAGA,EAAIJ,EAAUJ,OAAQQ,IAEpC,IAAsB,IAAlBD,EASJ,GAAqB,MAAjBH,EAAUI,GAwBdD,EAAeC,MAxBf,CAEE,GAAyB,MAArBJ,EAAUI,EAAI,IAAoC,MAArBJ,EAAUI,EAAI,IAAcA,EAAI,IAAMJ,EAAUJ,OAK5E,CAAA,GAAyB,MAArBI,EAAUI,EAAI,IAAcA,EAAI,IAAMJ,EAAUJ,OAGpD,CAEHO,EAAeC,EACf,SALAA,GAAK,OALLF,EAAOG,MACPD,GAAK,EAaHN,GAAmC,IAAlBI,EAAON,QAC1BX,EAAkBC,EAAQC,OA1BP,MAAjBa,EAAUI,KACZF,EAAOI,KAAKN,EAAUO,UAAUJ,EAAcC,EAAI,IAClDD,GAAgB,GAoCtB,OAHsB,IAAlBA,GACFD,EAAOI,KAAKN,EAAUR,OAAOW,IAExBhB,EAAUK,OAAO,EAAGL,EAAUS,OAASC,EAASD,QAAUM,EAAOM,KAAK,IAM/E,OAAuB,IADHtB,EAAOO,QAAQ,KAE7BT,GAEgB,MAAdE,EAAO,IAA4B,OAAdA,EAAO,IAAeA,EAAO,GAAGuB,MAAM,UACtD,WAAavB,EAAOZ,QAAQ,MAAO,KAEvCY,OANT,ECxGF,SAASwB,EAAaC,GACpB,GAAIA,EAAIC,OACN,OAAOD,EAAIC,SAEb,GAAsB,oBAAX3C,SAA2BA,OAAO4C,SAC3C,MAAM,IAAIjC,MAAM,iDAElB,IAAIkC,KAmBJ,OAlBAA,EAAS7C,OAAO4C,UAAY,WAC1B,IAAIE,EAAOC,OAAOD,KAAKJ,GACnBM,EAAW,EACf,OACEC,KAAM,WACJ,OAAID,EAAWF,EAAKnB,QAEhBuB,MAAOR,EAAII,EAAKE,MAChBG,MAAM,IAIND,WAAOpB,EACPqB,MAAM,MAKTN,EAST,SAASO,IACPC,KAAKC,SAAW,IAAIC,EAKtB,SAASC,EAAoBC,GAC3B,KAAMA,aAAkBC,GACtB,MAAM,IAAIC,UAAU,iEACtB,OAAOF,EA2CT,SAASG,EAAkBC,GACzB,QAAoB/B,IAAhB+B,EACF,MAAM,IAAI1C,WAAW,wBACvB,OAAO0C,EAqCT,SAASN,IACPF,KAAKS,OAwEP,SAASJ,EAAiBK,GACxBhB,OAAOiB,eAAeX,KAAMY,IAC1Bf,MAAOa,IAYPhB,OAAOD,KAAKiB,GAAYG,QAAQC,EAAiBd,MAWrD,SAASc,EAAiBC,GACxBrB,OAAOiB,eAAeX,KAAMe,GAC1BC,YAAY,EACZC,IAAK,WACH,OAAOjB,KAAKY,IAAaG,MC3N/B,SAASG,IACPnB,EAAOoB,KAAKnB,MAEZ,IAAIoB,EAAiBpB,KAAKC,SAASoB,OACnCrB,KAAKC,SAASoB,OAAS,SAAUN,GAC/B,IAAIO,EAAUF,EAAeD,KAAKnB,KAAMe,GAQxC,OALIQ,EAAQC,eAAeT,KAASQ,EAAQR,GAAKU,oBACxCF,EAAQR,GACfO,GAAU,GAGLA,GAGT,IAAIC,KAEJvB,KAAK0B,KAEHC,kBAAclD,EAEd8C,QAASA,GAIXvB,KAAK4B,OAAQ,EAkBf,SAASC,EAAkBC,EAAOf,EAAKgB,GACrC,OAAOD,EAAMP,QAAQR,IACnBA,IAAKA,EAGLgB,aAAcA,EAGd3B,YAAQ3B,EAKRuD,qBAAiBvD,EAEjBwD,eAAWxD,EACXyD,eAAWzD,EAGXgD,YAEEU,wBAAoB1D,EACpB2D,kBAAc3D,EACd4D,aAAS5D,EACT6D,kBAAkB,EAGlBC,eAAW9D,EAGX+D,aAAS/D,EAGTgE,4BAAwBhE,EAExBiE,8BAA0BjE,IAuChC,SAASkE,EAAoBC,EAAQ7B,EAAK8B,EAAW5C,EAAU6B,GAG7D,IAAI1B,EAASH,EAASc,GACtB,GAAIX,EACF,OAAO0C,QAAQC,QAAQ3C,GAEzB,IAAI4C,EAAOlB,EAAMP,QAAQR,GAGzB,OAAIiC,IAASA,EAAK5C,OACZ4C,EAAKf,UACAa,QAAQG,OAAOD,EAAKf,WACtBiB,EAAYN,EAAQI,EAAMA,EAAKvB,WAAYxB,EAAU6B,GAGvDc,EAAOG,QAAQhC,EAAK8B,GAC1BM,KAAK,SAAU3C,GAGd,GADAJ,EAASH,EAASO,GAEhB,OAAOJ,EAWT,IATA4C,EAAOlB,EAAMP,QAAQf,MAMRwC,EAAK5C,SAChB4C,EAAOnB,EAAiBC,EAAOtB,EAAawC,GAAQA,EAAKjB,eAEvDiB,EAAKf,UACP,OAAOa,QAAQG,OAAOD,EAAKf,WAE7B,IAAImB,EAAOJ,EAAKvB,WAChB,OAAK2B,EAGEF,EAAYN,EAAQI,EAAMI,EAAMnD,EAAU6B,GAFxCkB,IAMb,SAASK,EAA2BT,EAAQI,EAAMlB,GAChD,OAAO,WACL,IAAIH,EAAeG,EAAMH,aAEzB,OAAKA,GAGLG,EAAMH,kBAAelD,EACrBuE,EAAKjB,aAAeJ,GAEb,KALIqB,EAAKjB,cASpB,SAASmB,EAAaN,EAAQI,EAAMI,EAAMnD,EAAU6B,GAClD,OAAOsB,EAAKjB,qBAAuBiB,EAAKjB,oBAEvCa,EAAKjB,aAAee,QAAQC,UAAYD,QAAQC,UAAUI,KAAK,WAE9D,OADArB,EAAMH,kBAAelD,EACdmE,EAAOU,IAAaN,EAAKjC,IAAK6B,EAAOU,IAAahF,OAAS,GAAK+E,EAA0BT,EAAQI,EAAMlB,OAEhHqB,KAAK,SAAUI,GAEd,QAAsB9E,IAAlB8E,EAA6B,CAC/B,KAAMA,aAAyBlD,GAC7B,MAAM,IAAIC,UAAU,qDAKtB,cAHOwB,EAAMP,QAAQyB,EAAKjC,KACtB6B,EAAOhB,OACT4B,EAAUZ,EAAQI,EAAMI,GACnBnD,EAAS+C,EAAKjC,KAAOwC,EAI9B,IAAIxB,EAAeiB,EAAKjB,aAGxB,GADAiB,EAAKjB,kBAAetD,GACfsD,EACH,MAAM,IAAIzB,UAAU,sFAoBtB,OAlBA8C,EAAKhB,aAAeL,EAAa,GAEjCiB,EAAKhB,mBAELoB,EAAKb,aAGDR,EAAa,IACfqB,EAAKb,UAAUkB,QAAUL,EAAKb,UAAUmB,gBACxCN,EAAKd,iBAAmBP,EAAa,GACrCqB,EAAKf,QAAUN,EAAa,IAK5B4B,EAAoBf,EAAQI,EAAMI,EAAMrB,EAAa,IAGhDiB,IAERY,MAAM,SAAU1G,GAEf,MADA8F,EAAKvB,gBAAahD,EACZuE,EAAKf,UAAYe,EAAKf,WAAa4B,EAAW3G,EAAK,iBAAmB8F,EAAKjC,QAKrF,SAAS+C,EAAuBlB,EAAQ7B,EAAK8B,EAAW5C,EAAU6B,EAAOiC,GAwBvE,OAAOnB,EAAOG,QAAQhC,EAAK8B,GAC1BM,KAAK,SAAU3C,GACVuD,IACFA,EAAYhD,GAAOP,GAGrB,IAAIwC,EAAOlB,EAAMP,QAAQf,GACrBJ,EAASH,EAASO,GAGtB,GAAIJ,KAAY4C,GAAQA,EAAK5C,QAAUA,IAAW4C,EAAK5C,QACrD,OAAOA,EAET,GAAI4C,GAAQA,EAAKf,UACf,MAAMe,EAAKf,YAMRe,IAAS5C,GAAU4C,EAAK5C,UAC3B4C,EAAOnB,EAAiBC,EAAOtB,EAAawC,GAAQA,EAAKjB,eAE3D,IAAIqB,EAAOJ,EAAKvB,WAChB,OAAK2B,EAGEF,EAAYN,EAAQI,EAAMI,EAAMnD,EAAU6B,GAFxCkB,IAMb,SAASQ,EAAWZ,EAAQI,EAAMI,GAChCR,EAAOoB,MAAQpB,EAAOoB,UACtBpB,EAAOoB,MAAMhB,EAAKjC,MAChBA,IAAKiC,EAAKjC,IACVkD,KAAMb,EAAKhB,aACX8B,eACAC,OAAQf,EAAKe,YAWjB,SAASR,EAAqBf,EAAQI,EAAMI,EAAMgB,GAChD,IAAI7B,EAAYa,EAAKb,UACjBP,EAAkBgB,EAAKhB,gBAEvBqC,GAAiB,EAGjBC,EAAWF,EAAQjD,KAAKoD,EAAQ,SAAU9H,EAAMoD,GAClD,GAAoB,iBAATpD,EAAmB,CAC5B,IAAI+H,GAAU,EACd,IAAK,IAAIC,KAAKhI,EACZoD,EAAQpD,EAAKgI,GACH,iBAANA,GAA2BA,KAAKlC,GAAcA,EAAUkC,KAAO5E,IACjE2E,GAAU,EACVjC,EAAUkC,GAAK5E,GAGnB,IAAgB,IAAZ2E,EACF,OAAO3E,MAEN,CACH,IAAKwE,GAAkB5H,KAAQ8F,IAAcA,EAAU9F,KAAUoD,EAC/D,OAAOA,EACT0C,EAAU9F,GAAQoD,EAGpB,IAAK,IAAIf,EAAI,EAAGA,EAAIkD,EAAgB1D,OAAQQ,IAC1CkD,EAAgBlD,GAAGyD,GAErB,OAAO1C,GACN,IAAI6E,EAAiB9B,EAAQI,EAAKjC,MAErCqC,EAAKZ,QAAU8B,EAAS9B,QACxBY,EAAKf,QAAUiC,EAASjC,QACpBiC,EAASK,UACXvB,EAAKb,UAAYA,EAAY+B,EAASK,QACtCN,GAAiB,GAIrB,SAASO,EAAiBhC,EAAQI,EAAMI,EAAMnD,EAAU6B,GACtD,GAAIsB,EAAKX,uBACP,OAAOW,EAAKX,uBAId,IAAK,IAFDoC,EAA0BC,MAAM1B,EAAKhB,aAAa9D,QAE7CQ,EAAI,EAAGA,EAAIsE,EAAKhB,aAAa9D,OAAQQ,IAC5C+F,EAAwB/F,GAAKgF,EAAsBlB,EAAQQ,EAAKhB,aAAatD,GAAIkE,EAAKjC,IAAKd,EAAU6B,EAAOc,EAAOhB,OAASwB,EAAKe,SAAWf,EAAKe,YAEnJ,IAAI1B,EAAyBK,QAAQiC,IAAIF,GACxC1B,KAAK,SAAUT,GAId,GAHAU,EAAKV,yBAA2BA,EAG5BU,EAAKZ,QACP,IAAK,IAAI1D,EAAI,EAAGA,EAAI4D,EAAyBpE,OAAQQ,IAAK,CACxD,IAAIkG,EAAS5B,EAAKZ,QAAQ1D,GAC1B,GAAIkG,EAAQ,CACV,IAAIzB,EAAgBb,EAAyB5D,GAE7C,GAAIyE,aAAyBlD,EAC3B2E,EAAOzB,OAEJ,CACH,GAAIA,EAActB,UAChB,MAAMsB,EAActB,UACtB+C,EAAOzB,EAAcnD,QAAUmD,EAAc9B,WAAWc,WAEpDgB,EAAcvB,iBAChBuB,EAAcvB,gBAAgBhD,KAAKgG,KAM7C,OAAOhC,IAiBT,OAdIJ,EAAOhB,QACTa,EAAyBA,EAAuBU,KAAK,WAEnD,OADAK,EAAUZ,EAAQI,EAAMI,GACjBJ,MAGXP,EAAyBA,EAAuBmB,MAAM,SAAU1G,GAG9D,MADAkG,EAAKX,4BAAyBhE,EACxBoF,EAAW3G,EAAK,WAAa8F,EAAKjC,QAGnB6C,MAAM,cAEtBR,EAAKX,uBAAyBA,EAGvC,SAASwC,EAAqBrC,EAAQI,EAAMI,EAAMnD,EAAU6B,GAC1D,OAAO,IAAIgB,QAAQ,SAAUC,EAASE,GAGpC,SAASiC,EAAWlC,GAClB,IAAII,EAAOJ,EAAKvB,WACX2B,IAGuB,IAAxB+B,EAAKhH,QAAQ6E,KAEjBmC,EAAKnG,KAAKgE,GAEVoC,IACAR,EAAgBhC,EAAQI,EAAMI,EAAMnD,EAAU6B,GAC7CqB,KAAKkC,EAAapC,IAErB,SAASoC,EAAarC,GACpBoC,IACA,IAAIhC,EAAOJ,EAAKvB,WAChB,GAAI2B,EACF,IAAK,IAAItE,EAAI,EAAGA,EAAIsE,EAAKhB,aAAa9D,OAAQQ,IAAK,CACjD,IAAIwG,EAAUlC,EAAKV,yBAAyB5D,GACtCwG,aAAmBjF,GACvB6E,EAAUI,GAGA,IAAZF,GACFrC,IA1BJ,IAAIoC,KACAC,EAAU,EA2BdF,EAAUlC,KA0Cd,SAAS0B,EAAkB9B,EAAQ7B,GACjCf,KAAK4C,OAASA,EACd5C,KAAKe,IAAMf,KAAKuF,GAAKxE,EACrBf,KAAKwF,MACHC,IAAK1E,GAiBT,SAAS2E,EAAgB9C,EAAQI,EAAMI,EAAMnD,EAAU6B,EAAOqD,GAC5D,GAAInC,EAAK5C,OACP,OAAO4C,EAAK5C,OAEd,GAAI4C,EAAKd,UACP,MAAMc,EAAKd,UAEb,GAAIiD,IAAgC,IAAxBA,EAAKhH,QAAQ6E,GACvB,OAAOA,EAAKvB,WAAWc,UAIzB,IAAIrF,EAAMyI,EAAW/C,EAAQI,EAAMI,EAAMnD,EAAU6B,EAAOsB,EAAKZ,WAAe2C,OAC9E,GAAIjI,EACF,MAAMA,EAER,OAAO8F,EAAK5C,OAGd,SAASwF,EAAoBhD,EAAQ7B,EAAKqB,EAAcM,EAA0BzC,EAAU6B,EAAOqD,GAEjG,OAAO,SAAU1I,GACf,IAAK,IAAIqC,EAAI,EAAGA,EAAIsD,EAAa9D,OAAQQ,IACvC,GAAIsD,EAAatD,KAAOrC,EAAM,CAC5B,IACI2D,EADAkF,EAAU5C,EAAyB5D,GAQvC,MAAO,iBAJLsB,EADEkF,aAAmBjF,EACZiF,EAEAI,EAAe9C,EAAQ0C,EAASA,EAAQ7D,WAAYxB,EAAU6B,EAAOqD,IAE9C/E,EAAOsD,aAAetD,EAG5D,MAAM,IAAI9C,MAAM,UAAYb,EAAO,2DAA6DsE,IAMpG,SAAS4E,EAAY/C,EAAQI,EAAMI,EAAMnD,EAAU6B,EAAOqD,GACxDA,EAAKnG,KAAKgE,GAEV,IAAI9F,EAIJ,GAAIkG,EAAKZ,QAEP,IAAK,IADD8C,EAASO,EACJ/G,EAAI,EAAGA,EAAIsE,EAAKhB,aAAa9D,OAAQQ,IAG5C,MAFAwG,EAAUlC,EAAKV,yBAAyB5D,cAEjBuB,MAIvBwF,EAAUP,EAAQ7D,cACwB,IAA3B0D,EAAKhH,QAAQmH,KAExBpI,EADEoI,EAAQpD,UACJoD,EAAQpD,UAIRyD,EAAW/C,EAAQ0C,EAASO,EAAS5F,EAAU6B,EAAO+D,EAAQrD,QAAU2C,OAG9EjI,GAGF,OAFA8F,EAAKvB,gBAAahD,EAClBuE,EAAKd,UAAY2B,EAAW3G,EAAK,cAAgB8F,EAAKjC,KAC/CiC,EAAKd,UAMlB,GAAIkB,EAAKf,QAGP,GAAIe,EAAKZ,QACPtF,EAAM4I,EAAmB1C,EAAKf,aAI3B,CACH,IAAIjC,GAAWmF,GAAIvC,EAAKjC,KACpBwB,EAAYa,EAAKb,UACrB7C,OAAOiB,eAAeP,EAAQ,WAC5B2F,cAAc,EACdC,IAAK,SAAUrB,GACbpC,EAAUkB,QAAUlB,EAAUmB,aAAeiB,GAE/C1D,IAAK,WACH,OAAOsB,EAAUmB,gBAIrB,IAAIuC,EAAUL,EAAmBhD,EAAQI,EAAKjC,IAAKqC,EAAKhB,aAAcgB,EAAKV,yBAA0BzC,EAAU6B,EAAOqD,GAGtH,IAAK/B,EAAKd,iBACR,IAASxD,EAAI,EAAGA,EAAIsE,EAAKhB,aAAa9D,OAAQQ,IAC5CmH,EAAQ7C,EAAKhB,aAAatD,IAE9B5B,EAAMgJ,EAAe9C,EAAKf,QAAS4D,EAAS1D,EAAUkB,QAASrD,GAG3DA,EAAOuE,UAAYpC,EAAUmB,eAC/BnB,EAAUkB,QAAUlB,EAAUmB,aAAetD,EAAOuE,SAEtD,IAAIwB,EAAgB5D,EAAUkB,QAG9B,GAAI0C,GAAiBA,EAAcC,WACjC,IAAK,IAAI3B,KAAK0B,EACRzG,OAAO8B,eAAeL,KAAKgF,EAAe1B,KAC5ClC,EAAUkC,GAAK0B,EAAc1B,IASvC,GAFAzB,EAAKvB,gBAAahD,EAEdvB,EACF,OAAO8F,EAAKd,UAAY2B,EAAW3G,EAAK,cAAgB8F,EAAKjC,KAO/D,GALAd,EAAS+C,EAAKjC,KAAOiC,EAAK5C,OAAS,IAAIC,EAAgB+C,EAAKb,YAKvDa,EAAKZ,QAAS,CACjB,GAAIQ,EAAKhB,gBACP,IAASlD,EAAI,EAAGA,EAAIkE,EAAKhB,gBAAgB1D,OAAQQ,IAC/CkE,EAAKhB,gBAAgBlD,GAAGkE,EAAK5C,QACjC4C,EAAKhB,qBAAkBvD,GAS3B,SAASqH,EAAoBzD,GAC3B,IACEA,EAAQlB,KAAKkF,IAEf,MAAOC,GACL,OAAOA,GAIX,SAASJ,EAAgB7D,EAAS4D,EAAStB,EAASvE,GAClD,IACE,IAAIxB,EAASyD,EAAQlB,KAAKoD,EAAQ0B,EAAStB,EAASvE,QACrC3B,IAAXG,IACFwB,EAAOuE,QAAU/F,GAErB,MAAO0H,GACL,OAAOA,GCrpBX,SAAgBC,KAqFhB,SAAgBC,EAAQC,EAAGC,GACzB,IAAK,IAAIjC,KAAKiC,EACPhH,OAAO8B,eAAeL,KAAKuF,EAAGjC,KAEnCgC,EAAEhC,GAAKiC,EAAEjC,IAEX,OAAOgC,EA8CT,SAAgBE,EAAelB,GAE7B,GAAKmB,IAAoBC,GAAzB,CAMA,IAAIzD,EAAO0D,SAASC,cAAc,QAC9BH,IACFxD,EAAK4D,IAAM,UACX5D,EAAK6D,GAAK,UAIV7D,EAAK4D,IAAM,WAEb5D,EAAK8D,KAAOzB,EACZqB,SAASK,KAAKC,YAAYhE,QAfL,IAAIiE,OACVC,IAAM7B,EAiBvB,SAAS8B,EAAcD,EAAKvE,EAASE,GACnC,IACEuE,cAAcF,GAEhB,MAAOhB,GACLrD,EAAOqD,GAETvD,IAWF,SAAgB0E,EAAYH,EAAKI,EAAaC,EAAW5E,EAASE,GAwBhE,SAASD,IACPD,IACA6E,IAIF,SAASC,EAAO3K,GACd0K,IACA3E,EAAO,IAAI3F,MAAM,YAAcgK,IAGjC,SAASM,IACPE,EAAOC,oBAAoB,OAAQ/E,GAAM,GACzC8E,EAAOC,oBAAoB,QAASF,GAAO,GAC3Cf,SAASK,KAAKa,YAAYF,GAjC5B,GAHAR,EAAMA,EAAItK,QAAQ,KAAM,OAGpBiL,GACF,OAAOV,EAAaD,EAAKvE,EAASE,GAEpC,IAAI6E,EAAShB,SAASC,cAAc,UACpCe,EAAOI,KAAO,kBACdJ,EAAOK,QAAU,QACjBL,EAAOM,OAAQ,EAEXV,IACFI,EAAOJ,YAAcA,GACnBC,IACFG,EAAOH,UAAYA,GAErBG,EAAOO,iBAAiB,OAAQrF,GAAM,GACtC8E,EAAOO,iBAAiB,QAASR,GAAO,GAExCC,EAAOR,IAAMA,EACbR,SAASK,KAAKC,YAAYU,GA4B5B,SAAgBQ,EAAYC,EAASC,EAAOzH,GAC1C,IAAI0H,EAAWC,EAAYF,EAAOzH,GAClC,GAAI0H,EAAU,CACZ,IAAIE,EAASH,EAAMC,GAAY1H,EAAI7C,OAAOuK,EAASnK,QAE/CsK,EAAW7K,EAAkB4K,EAAQE,GACzC,YAAiBpK,IAAbmK,EACKA,EAEFL,EAAUI,EAEd,OAA0B,IAAtB5H,EAAI5C,QAAQ,KACZ4C,EAGAwH,EAAUxH,EAIrB,SAAS+H,EAAUrE,GACjB,IAAIhI,EAAOuD,KAAKvD,KAEhB,GAAIA,EAAKyB,OAAO,EAAGuG,EAAEnG,UAAYmG,IAAMhI,EAAK6B,SAAWmG,EAAEnG,QAA6B,MAAnB7B,EAAKgI,EAAEnG,SAAuC,MAApBmG,EAAEA,EAAEnG,OAAS,IAAkC,MAApBmG,EAAEA,EAAEnG,OAAS,IAAa,CAChJ,IAAIyK,EAAStE,EAAEuE,MAAM,KAAK1K,OACtByK,EAAS/I,KAAKiJ,MAChBjJ,KAAKb,MAAQsF,EACbzE,KAAKiJ,IAAMF,IAKjB,SAAgBL,EAAaQ,EAAKzM,GAChC,GAAIiD,OAAO8B,eAAeL,KAAK+H,EAAKzM,GAClC,OAAOA,EAET,IAAI0M,GACF1M,KAAMA,EACN0C,WAAOV,EACPwK,IAAK,GAKP,OAFAvJ,OAAOD,KAAKyJ,GAAKrI,QAAQiI,EAAUK,GAE5BA,EAAUhK,MCvQZ,SAASiK,EAAcxG,GAM5B,SAASqD,EAASoD,EAAOC,EAAUC,EAASC,GAE1C,GAAqB,iBAAVH,KAAwBA,aAAiBvE,OAClD,OAAOmB,EAAQwD,MAAM,KAAM3E,MAAM4E,UAAUC,OAAOxI,KAAKyI,UAAW,EAAGA,UAAUtL,OAAS,IAK1F,GAFqB,iBAAV+K,GAA0C,mBAAbC,IACtCD,GAASA,MACPA,aAAiBvE,OAWhB,CAAA,GAAqB,iBAAVuE,EAAoB,CAClC,IAAIQ,EAAajH,EAAOkH,eAAeT,EAAOG,GAC1CpJ,EAASwC,EAAO3B,IAAI4I,GACxB,IAAKzJ,EACH,MAAM,IAAI9C,MAAM,sCAAwC+L,EAAQ,QAAUQ,GAAcL,EAAU,UAAYA,EAAU,KAAO,MACjI,MAAO,iBAAkBpJ,EAASA,EAAOsD,aAAetD,EAIxD,MAAM,IAAIE,UAAU,mBAlBpB,IAAK,IADDyJ,KACKjL,EAAI,EAAGA,EAAIuK,EAAM/K,OAAQQ,IAChCiL,EAAgB/K,KAAK4D,EAAOoH,OAAOX,EAAMvK,GAAI0K,IAC/C1G,QAAQiC,IAAIgF,GAAiB5G,KAAK,SAAU8G,GACtCX,GACFA,EAASG,MAAM,KAAMQ,IACtBV,GAgBP,SAASW,EAAQzN,EAAMwH,EAAMkG,GA2C3B,SAAS9H,EAAS+H,EAAKzF,EAASvE,GAE9B,IAAK,IADDiK,KACKvL,EAAI,EAAGA,EAAImF,EAAK3F,OAAQQ,IAC/BuL,EAAUrL,KAAKoL,EAAInG,EAAKnF,KAa1B,GAXAsB,EAAOkK,IAAMlK,EAAOmF,GAEpBnF,EAAOmK,OAAShE,GAGK,IAAjBiE,GACFH,EAAUV,OAAOa,EAAa,EAAGpK,IAEb,IAAlBqK,GACFJ,EAAUV,OAAOc,EAAc,EAAG9F,IAEd,IAAlB+F,EAAqB,CACvB,IAAIC,EAAoB,SAAUtB,EAAOC,EAAUC,GACjD,MAAqB,iBAAVF,GAA0C,mBAAbC,EAC/Bc,EAAIf,GACNpD,EAAQ9E,KAAKyB,EAAQyG,EAAOC,EAAUC,EAASnJ,EAAOmF,KAE/DoF,EAAkBC,MAAQ,SAAUnO,GAClC,OAAOmG,EAAOiI,cAAcpO,EAAM2D,EAAOmF,KAE3C8E,EAAUV,OAAOe,EAAc,EAAGC,GAIpC,IAAIG,EAAavG,EAAO0B,QACxB1B,EAAO0B,QAAUA,EAEjB,IAAIrH,EAASuL,EAAQV,OAAwB,IAAlBgB,EAAsBlG,EAASI,EAAS0F,GAEnE9F,EAAO0B,QAAU6E,OAEK,IAAXlM,IACTwB,EAAOuE,QAAU/F,GA/ED,iBAATnC,IACT0N,EAAUlG,EACVA,EAAOxH,EACPA,EAAO,MAGHwH,aAAgBa,QAEpBb,GAAQ,UAAW,UAAW,UAAU0F,OAAO,GAD/CQ,EAAUlG,GACgD3F,SAGrC,mBAAZ6L,IACTA,EAAU,SAAWA,GACnB,OAAO,WAAa,OAAOA,GADnB,CAEPA,IAEA1N,GACCsO,KACF9G,EAAOA,EAAK+G,OAAOD,IACnBA,QAActM,GAKlB,IAAIiM,EAAcD,EAAcD,GAEkB,KAA7CE,EAAezG,EAAK9F,QAAQ,cAE/B8F,EAAK0F,OAAOe,EAAc,GAIrBjO,IACHwH,EAAOA,EAAK+G,OAAOC,EAAcd,EAAQe,WAAYR,OAGP,KAA7CD,EAAexG,EAAK9F,QAAQ,aAC/B8F,EAAK0F,OAAOc,EAAc,IAEoB,KAA3CD,EAAcvG,EAAK9F,QAAQ,YAC9B8F,EAAK0F,OAAOa,EAAa,GA2CtB/N,GAIHmG,EAAOuI,gBAAgB1O,EAAMwH,GAAM,EAAO5B,GAStC+I,IACFA,QAAkB3M,EAClB4M,IAAuB,GAEfA,KACRD,IAAmBnH,EAAM5B,KAjB3BO,EAAOuI,gBAAgBlH,GAAM,EAAOqH,GAAcC,EAAoBlJ,GAAWA,GAqBrF6H,EAAOsB,OAEP5I,EAAO6I,UAAYvB,EACnBtH,EAAO8I,WAAazF,EAkGtB,SACgB0F,EAAgBC,GAC9B,IAAgD,IAA5CC,GAAmB1N,QAAQyN,GAA/B,CAEA,IACE,IAAI/L,EAAQ0E,EAAOqH,GAErB,MAAOtF,GACLuF,GAAmB7M,KAAK4M,GAE1B5L,KAAK4L,EAAY/L,IA6FnB,SAASoL,EAAca,EAAQpB,GAM7B,IACIqB,IAJJD,EAASA,EAAO9O,QAAQgP,GAAc,KAGlB7M,MAAM8M,IACC,GAAGjD,MAAM,KAAK0B,IAAiB,WAAW1N,QAAQkP,GAAS,IAGlFC,EAAeC,GAAcL,KAAkBK,GAAcL,GAAgB,IAAIM,OAAOC,GAAgBP,EAAeQ,GAAgB,MAE3IJ,EAAaK,UAAY,EAKzB,IAHA,IAEIrN,EAFA8E,KAGG9E,EAAQgN,EAAaM,KAAKX,IAC/B7H,EAAKjF,KAAKG,EAAM,IAAMA,EAAM,IAE9B,OAAO8E,EAGT,SAASsH,EAAqBlJ,GAC5B,OAAO,SAAU4D,EAAStB,EAASvE,GACjCiC,EAAQ4D,EAAStB,EAASvE,GAEF,iBADxBuE,EAAUvE,EAAOuE,UACsC,mBAAZA,GAA6B,eAAgBA,GACtFjF,OAAOiB,eAAeP,EAAOuE,QAAS,cACpC9E,OAAO,KAgBf,SAAgB6M,EAAoB9J,GAC9BwI,GACFxI,EAAOuI,gBAAgBJ,GAAcK,GAAgB,GAAGJ,OAAOD,IAAeK,GAAgB,IAC1F,EAAOE,GAAcC,EAAoBH,GAAgB,IAAMA,GAAgB,IAG5EC,IACPzI,EAAOuI,oBAAoB,EAAO5E,GCnZtC,SAASoG,IACPzL,EAAeC,KAAKnB,MAGpBA,KAAK4M,KACHrE,QAASM,EACTL,SACAU,OACA2D,UACAC,aAGF1D,EAAapJ,MACTjD,IACFwH,EAAO2F,OAASlK,KAAKyL,WAyLzB,SAASsB,EAAcnK,EAAQ6C,EAAKuH,GAQlC,OALAC,MACAvN,OAAOD,KAAK8E,GAAQ1D,QAAQ8K,EAAgB,SAAUlP,EAAMoD,GAC1DoN,GAAexQ,GAAQoD,IAGlB,IAAIiD,QAAQ,SAAUC,EAASE,GACpC,OAAOwE,EAAWhC,EAAK,iBAAahH,EAAW,WAG7C,IAAIyO,EAAaF,IACZE,IAEHR,EAAmB9J,IACnBsK,EAAaF,OAIXpK,EAAOuI,oBAAoB,EAAO,WAChC,OAAOgC,MAETH,MAIJjK,KACCE,KAKP,SAASkK,IACP,IACIC,EADAC,GAAgBjH,YAAY,GAE5BkH,GAAkB,EAsBtB,OApBA5N,OAAOD,KAAK8E,GAAQ1D,QAAQ8K,EAAgB,SAAUlP,EAAMoD,GACtDoN,GAAexQ,KAAUoD,QAEfpB,IAAVoB,IAGJwN,EAAY5Q,GAAQoD,OAECpB,IAAjB2O,EACGE,GAAmBF,IAAiBvN,IACvCyN,GAAkB,GAGpBF,EAAevN,KAKnBoN,QAAiBxO,EAEV6O,EAAkBD,EAAcD,ENxQzC,IA+BWvE,EA/BA9L,EAA8B,oBAAXwQ,QAA8C,oBAAbzG,SACpDpJ,EAA4B,oBAAZ8P,SAA2BA,QAAQC,UAAYD,QAAQC,SAASC,KAChFzQ,EAA+B,oBAAZuQ,SAAuD,iBAArBA,QAAQG,UAAyBH,QAAQG,SAASxO,MAAM,QAEpHyO,EAA4B,oBAATC,KAAuBA,KAAOtJ,OAMjD7H,EAA8B,oBAAXC,OAwBvB,GAAuB,oBAAZmK,UAA2BA,SAASgH,sBAG7C,KAFAjF,EAAU/B,SAAS+B,SAEL,CACZ,IAAIkF,EAAQjH,SAASgH,qBAAqB,QAC1CjF,EAAUkF,EAAM,IAAMA,EAAM,GAAG7G,MAAQqG,OAAOS,SAAS9G,UAG/B,oBAAZ8G,WACdnF,EAAUmF,SAAS9G,MAIrB,GAAI2B,EAAS,CAEX,IAAIoF,GADJpF,EAAUA,EAAQG,MAAM,KAAK,GAAGA,MAAM,KAAK,IAClBrK,YAAY,MACjB,IAAhBsP,IACFpF,EAAUA,EAAQ3K,OAAO,EAAG+P,EAAa,QAExC,CAAA,GAAuB,oBAAZT,UAA2BA,QAAQU,IAMjD,MAAM,IAAI5N,UAAU,0BALpBuI,EAAU,WAAa5L,EAAY,IAAM,IAAMuQ,QAAQU,MACnDjR,IACF4L,EAAUA,EAAQ7L,QAAQ,MAAO,MAOD,MAAhC6L,EAAQA,EAAQvK,OAAS,KAC3BuK,GAAW,KAKb,IAAIzL,EAAwC,KAA9B,IAAIE,MAAM,EAAG,KAAKD,SEpE5B8Q,EAAkBrL,QAAQC,UA4C9BhD,EAAO2J,UAAU0E,YAAcrO,EAS/BA,EAAO2J,UAAUM,OAAS,SAAUjJ,EAAKsN,GACvC,GAAmB,iBAARtN,EACT,MAAM,IAAIT,UAAU,2DAEtB,IAAIsC,EAAS5C,KACb,OAAOmO,EACNhL,KAAK,WACJ,OAAOP,EAAO0L,IAAqBvN,EAAKsN,KAEzClL,KAAKhD,GAELyD,MAAM,SAAU1G,GACf,MAAM2G,EAAW3G,EAAK,WAAa6D,GAAOsN,EAAS,SAAWA,EAAS,QAI3E,IAAIE,EAAUxO,EAAOgD,QAAUvG,EAAa,WAWxC8R,GAAsBvO,EAAO4C,mBAAqBnG,EAAa,sBAInEuD,EAAO2J,UAAU4E,IAAuB,SAAUvN,EAAKsN,GACrD,IAAIzL,EAAS5C,KACb,OAAO4C,EAAOG,QAAQhC,EAAKsN,GAC1BlL,KAAK,SAAUyF,GACd,OAAOhG,EAAO3C,SAASgB,IAAI2H,MAU/B7I,EAAO2J,UAAU3G,QAAU,SAAUhC,EAAKsN,GACxC,IAAIzL,EAAS5C,KACb,OAAOmO,EACNhL,KAAK,WACJ,OAAOP,EAAO2L,GAASxN,EAAKsN,KAE7BlL,KAAK5C,GACLqD,MAAM,SAAU1G,GACf,MAAM2G,EAAW3G,EAAK,aAAe6D,GAAOsN,EAAS,OAASA,EAAS,QAwB3E,IAAIG,GAAoC,oBAAX7R,QAA0BA,OAAO4C,SAC1DkB,GAAWjE,EAAa,YAKxBgS,KAEFtO,EAASwJ,UAAU/M,OAAO4C,UAAY,WACpC,OAAOS,KAAKyO,UAAU9R,OAAO4C,aAI/BW,EAASwJ,UAAU+E,QAAU,WAC3B,IAAIxO,EAAWD,KAAKS,IACpB,OAAOrB,EAAYM,OAAOD,KAAKQ,GAAUiJ,IAAI,SAAUnI,GACrD,OAAQA,EAAKd,EAASc,SAM5Bb,EAASwJ,UAAUjK,KAAO,WACxB,OAAOL,EAAYM,OAAOD,KAAKO,KAAKS,OAGtCP,EAASwJ,UAAUpK,OAAS,WAC1B,IAAIW,EAAWD,KAAKS,IACpB,OAAOrB,EAAYM,OAAOD,KAAKQ,GAAUiJ,IAAI,SAAUnI,GACrD,OAAOd,EAASc,OAIpBb,EAASwJ,UAAUzI,IAAM,SAAUF,GACjC,OAAOf,KAAKS,IAAUM,IAGxBb,EAASwJ,UAAU1D,IAAM,SAAUjF,EAAK2N,GACtC,KAAMA,aAAqBrO,GACzB,MAAM,IAAI/C,MAAM,6DAElB,OADA0C,KAAKS,IAAUM,GAAO2N,EACf1O,MAGTE,EAASwJ,UAAUiF,IAAM,SAAU5N,GACjC,OAAOrB,OAAO8B,eAAeL,KAAKnB,KAAKS,IAAWM,IAGpDb,EAASwJ,UAAUrI,OAAS,SAAUN,GACpC,QAAIrB,OAAO8B,eAAeL,KAAKnB,KAAKS,IAAWM,YACtCf,KAAKS,IAAUM,IACf,IAUX,IAAIH,GAAcpE,EAAa,cAgC/B6D,EAAgBqJ,UAAYhK,OAAOkP,OAAO,MAEpB,oBAAXjS,QAA0BA,OAAOkS,aAC1CnP,OAAOiB,eAAeN,EAAgBqJ,UAAW/M,OAAOkS,aACtDhP,MAAO,WCtNX,IAAI6B,GAAoBlF,EAAa,qBA+BrC0E,EAAewI,UAAYhK,OAAOkP,OAAO7O,EAAO2J,WAChDxI,EAAewI,UAAU0E,YAAclN,EAEvC,IAAIoC,GAAcpC,EAAegC,YAAc1G,EAAa,eAG5D0E,EAAewI,UAAUxI,EAAe6B,QAAUhD,EAAOgD,SAAW,SAAUhC,EAAK8B,GACjF,OAAO9E,EAAkBgD,EAAK8B,GAAagG,IAG7C3H,EAAewI,UAAUpG,IAAe,SAAUvC,EAAKiM,KAoDvD9L,EAAewI,UAAU3J,EAAO4C,oBAAsB,SAAU5B,EAAK8B,GACnE,IAAID,EAAS5C,KACT8B,EAAQ9B,KAAK0B,IACbzB,EAAWD,KAAKC,SAASQ,IAE7B,OAAOkC,EAAmBC,EAAQ7B,EAAK8B,EAAW5C,EAAU6B,GAC3DqB,KAAK,SAAU2L,GACd,GAAIA,aAAwBzO,EAC1B,OAAOyO,EAGT,IAAI1L,EAAO0L,EAAarN,WAGxB,IAAK2B,EAAM,CACT,GAAI0L,EAAa1O,OACf,OAAO0O,EAAa1O,OACtB,MAAM0O,EAAa5M,UAGrB,OAAO+C,EAAoBrC,EAAQkM,EAAc1L,EAAMnD,EAAU6B,GAChEqB,KAAK,WACJ,OAAOuC,EAAe9C,EAAQkM,EAAc1L,EAAMnD,EAAU6B,OAAOrD,QA+TzEyC,EAAewI,UAAUqF,SAAW,SAAUhO,EAAKkD,EAAMG,GACvD,IAAItC,EAAQ9B,KAAK0B,SAGDjD,IAAZ2F,EACFtC,EAAMH,cAAgBZ,EAAKkD,OAAMxF,IAKtBqD,EAAMP,QAAQR,IAAQc,EAAiBC,EAAOf,OAAKtC,IACzDsD,cAAgBkC,EAAMG,OAAS3F,IAOxCyC,EAAewI,UAAUyB,gBAAkB,SAAUpK,EAAKkD,EAAM3B,EAAkBD,GAChF,IAAIP,EAAQ9B,KAAK0B,IAGE,iBAARX,EACTe,EAAMH,cAAgBZ,EAAKkD,EAAM3B,IAKtBR,EAAMP,QAAQR,IAAQc,EAAiBC,EAAOf,OAAKtC,IACzDsD,cAAgBkC,EAAM3B,EAAkBD,IAiBjDqC,EAAiBgF,UAAUM,OAAS,SAAUjJ,GAG5C,OAFIf,KAAK4C,OAAOhB,OACd5B,KAAK4C,OAAOoB,MAAMhE,KAAKe,KAAKmD,YAAYlF,KAAK+B,GACxCf,KAAK4C,OAAOoH,OAAOjJ,EAAKf,KAAKe,MAqJtC,IAAIsF,MACA3G,OAAOsP,QACTtP,OAAOsP,OAAO3I,ICpoBT,IAeH4I,GAfOd,GAAkBrL,QAAQC,UAsB1B6J,IAnBc,IAAIvM,MAmBT7D,EAAa,kBAEtB0S,GAAgB1S,EAAa,iBAC7B2S,GAAqB3S,EAAa,sBAElCyL,GAA6B,oBAAXsF,QAA0C,oBAATM,MAAiD,oBAAlBrG,cAkGzFZ,IAAkB,EAAOC,IAAmB,EA4ChD,GA3CI9J,GACF,WACE,IAAIqS,EAAUtI,SAASC,cAAc,QAAQqI,QAC7C,GAAIA,GAAWA,EAAQC,SAAU,CAC/BxI,IAAmB,EACnB,IACED,GAAkBwI,EAAQC,SAAS,WAErC,MAAO/I,MAPX,GA0CEvJ,EAAW,CACb,IAAIuS,GAAU/B,OAAO+B,QACrB/B,OAAO+B,QAAU,SAAwBC,EAAKjI,GACxCgI,IACFA,GAAQ7F,MAAMzJ,KAAM4J,YCfJ,oBAAX2D,QAA8C,oBAAbzG,UAA4ByG,OAAOS,WAC9DA,SAASwB,SAAkBxB,SAASyB,SAAYzB,SAAS0B,MAAa1B,SAAS0B,MAmChG,IAoMItE,GACAL,GArMAiB,GAAe,oDAsDfH,IAAsB,KAAM,iBAAkB,eAAgB,gBAAiB,SAAU,eAAgB,WAC3G,wBAAyB,oBAAqB,kBAAmB,kBAAmB,mBAkGlFS,GAAgB,kCAChBC,GAAiB,6CACjBN,GAAiB,eACjBC,GAAU,aAEVE,MAqCAf,IAAuB,EAGvBC,IAAc,ECpXlBqB,EAAyBgD,aAAeT,GACxCvC,EAAyBiD,iBAAmBT,GAE5C,IAAIU,GAAoBlD,EAAyBjD,UAAYhK,OAAOkP,OAAO1N,EAAewI,WAE1FmG,GAAkBzB,YAAczB,EAEhCkD,GAAkBlD,EAAyB5J,QAAU7B,EAAe6B,SAAW,SAAUhC,EAAK8B,GAC5F,IAAI+F,EAAW7K,EAAkBgD,EAAK8B,GAAagG,GACnD,QAAiBpK,IAAbmK,EACF,OAAO9F,QAAQC,QAAQ6F,GAGzB,IAAIhG,EAAS5C,KACb,OAAOmO,GACNhL,KAAK,WACJ,OAAOP,EAAOsM,IAAenO,EAAK8B,KAEnCM,KAAK,SAAUyF,GAGd,GAFAA,EAAWA,GAAY7H,EAEnB6B,EAAO3C,SAAS0O,IAAI/F,GACtB,OAAOA,EAIT,IAAI2B,EAAS3H,EAAOgK,IACpB,OAAOtE,EAAWiC,EAAOhC,QAASgC,EAAO/B,MAAOI,MAIpDiH,GAAkBC,UAAY,SAAUC,GACtC,OAAO,IAAI1P,EAAgB0P,IAG7BF,GAAkBG,SFvClB,SAA0BC,GAGxB,YAFqBxR,IAAjBwQ,KACFA,GAAiC,oBAAXtS,UAA4BA,OAAOkS,aACpDoB,aAAa5P,GAAmB4O,IAAqD,mBAArCvP,OAAOgK,UAAUwB,SAAS/J,KAAK8O,IEsCxFJ,GAAkBK,YAAc,SAAUnP,EAAK8B,GAC7C,IAAI+F,EAAW7K,EAAkBgD,EAAK8B,GAAagG,GACnD,QAAiBpK,IAAbmK,EACF,OAAOA,EAKT,GAFAA,EAAW5I,KAAKmP,IAAoBpO,EAAK8B,IAAc9B,EAEnDf,KAAKC,SAAS0O,IAAI/F,GACpB,OAAOA,EAGT,IAAI2B,EAASvK,KAAK4M,IAClB,OAAOtE,EAAWiC,EAAOhC,QAASgC,EAAO/B,MAAOI,IAGlDiH,GAAkBX,IAAiBW,GAAkBV,IAwGrD,SAAuBpO,EAAK8B,GAC1B,IAAI0H,EAASvK,KAAK4M,IAGlB,GAAI/J,EAAW,CACb,IAAIwL,EAAS3F,EAAY6B,EAAOsC,OAAQhK,GACpCgK,EAAStC,EAAOsC,OAAOwB,GAG3B,GAFI5F,EAAWoE,GAAUnE,EAAYmE,EAAQ9L,GAI3C,OAAOhD,EADH4K,EAASkE,EAAOpE,GAAY1H,EAAI7C,OAAOuK,EAASnK,QACnB+P,IAAW1F,EAKhD,IAAIO,EAAMqB,EAAOrB,IACbT,EAAWC,EAAYQ,EAAKnI,GAEhC,GAAI0H,EAAU,CACZ,IAAIE,EAASO,EAAIT,GAAY1H,EAAI7C,OAAOuK,EAASnK,QACjD,OAAOP,EAAkB4K,EAAQ9F,GAAa0H,EAAOhC,UAAYI,IA3HrEkH,GAAkBlD,EAAyBzJ,YAAchC,EAAegC,aA4LxE,SAA0BnC,EAAKiM,GAC7B,IAEIF,EAFS9M,KAAK4M,IAEIE,SAAS/L,GAC/B,GAAI+L,EACF,IAAK,IAAIhO,EAAI,EAAGA,EAAIgO,EAASxO,OAAQQ,IACnCkB,KAAK+C,QAAQ+J,EAAShO,GAAIiC,GAAKoC,KAAKwD,GAGxC,OAAOoG,EAAa/M,KAAMe,EAAKiM,IAnMjC6C,GAAkBtF,OAAS,SAAU4F,GACnC,IAAI5F,EAASvK,KAAK4M,IAWlB,GATIuD,EAAI5H,UACNgC,EAAOhC,QAAUxK,EAAkBoS,EAAI5H,QAASM,IAAY9K,EAAkB,KAAOoS,EAAI5H,QAASM,GAChD,MAA9C0B,EAAOhC,QAAQgC,EAAOhC,QAAQjK,OAAS,KACzCiM,EAAOhC,SAAW,MAGlB4H,EAAI3H,OACNhC,EAAO+D,EAAO/B,MAAO2H,EAAI3H,OAEvB2H,EAAIjH,IAAK,CACPkH,EAAMD,EAAIjH,IACd,IAAK,IAAIzE,KAAK2L,EACZ,GAAK1Q,OAAO8B,eAAeL,KAAKiP,EAAK3L,GAArC,CAGA,IAAI4L,EAAID,EAAI3L,GAEZ,GAAiB,iBAAN4L,EACT9F,EAAOrB,IAAIzE,GAAK4L,MAIb,CAECC,EAAiBvS,EAAkB0G,EAAGoE,IAAYP,EAAWiC,EAAOhC,QAASgC,EAAO/B,MAAO/D,GAC/F+B,EAAO+D,EAAOsC,OAAOyD,KAAoB/F,EAAOsC,OAAOyD,OAAuBD,KAKpF,IAAK,IAAI5L,KAAK0L,EACZ,GAAKzQ,OAAO8B,eAAeL,KAAKgP,EAAK1L,GAArC,CAGA,IAAI2L,EAAMD,EAAI1L,GAEd,OAAQA,GACN,IAAK,UACL,IAAK,QACL,IAAK,MACL,MAEA,IAAK,WACH,IAAK,IAAIA,KAAK2L,EACZ,GAAK1Q,OAAO8B,eAAeL,KAAKiP,EAAK3L,GAArC,CAEA,IAAI6L,EAAiBtQ,KAAKkQ,YAAYzL,OAAGhG,GACzC8L,EAAOuC,SAASwD,IAAmB/F,EAAOuC,SAASwD,QAAuBtF,OAAOoF,EAAI3L,IAEzF,MAEA,QACE,MAAM,IAAInE,UAAU,uDAAyDmE,EAAI,8BAMzFoL,GAAkBU,UAAY,SAAU9T,GACtC,IAAI8N,EAASvK,KAAK4M,IAEd1D,KACJ1C,EAAO0C,EAAKqB,EAAOrB,KACnB,IAAK,IAAIzE,KAAK8F,EAAOsC,OACdnN,OAAO8B,eAAeL,KAAKoJ,EAAOsC,OAAQpI,KAE/CyE,EAAIzE,GAAK+B,KAAW+D,EAAOsC,OAAOpI,KAGpC,IAAIqI,KACJ,IAAK,IAAIrI,KAAK8F,EAAOuC,SACdpN,OAAO8B,eAAeL,KAAKoJ,EAAOuC,SAAUrI,KAEjDqI,EAASrI,MAAQuG,OAAOT,EAAOuC,SAASrI,KAG1C,OACE8D,QAASgC,EAAOhC,QAChBC,MAAOhC,KAAW+D,EAAO/B,OACzBsE,SAAUA,EACV5D,IAAKA,IAKT2G,GAAkBd,SAAW,SAAUhO,EAAKkD,EAAMG,GAGhD,MAFmB,iBAARrD,IACTA,EAAMf,KAAKkQ,YAAYnP,OAAKtC,IACvByC,EAAewI,UAAUqF,SAAS5N,KAAKnB,KAAMe,EAAKkD,EAAMG,IAGjEyL,GAAkB1E,gBAAkB,SAAUpK,EAAKkD,EAAM3B,EAAkBD,GAGzE,MAFmB,iBAARtB,IACTA,EAAMf,KAAKkQ,YAAYnP,OAAKtC,IACvByC,EAAewI,UAAUyB,gBAAgBhK,KAAKnB,KAAMe,EAAKkD,EAAM3B,EAAkBD,IA4D1F,IAAI4K,GC9OJN,EAAyBjD,UAAU8G,QAAU,oBAE7C,IAAIC,GAAS,IAAI9D,EAGjB,GAAI5P,GAAakL,GAIf,GAHA1D,EAAOmM,SAAWD,GAGblM,EAAOkM,OAIP,CACH,IAAI1B,GAAWxK,EAAOkM,OAAO1B,SAC7BxK,EAAOkM,OAAO1B,SAAW,WACnBA,IACFA,GAAStF,MAAMzJ,KAAM4J,WACvB6G,GAAO1B,SAAStF,MAAMgH,GAAQ7G,iBARhCrF,EAAOkM,OAASA,GAaE,oBAAXrQ,QAA0BA,OAAOuE,UAC1CvE,OAAOuE,QAAU8L","sourcesContent":["/*\n * Environment\n */\nexport var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nexport var isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nexport var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);\n\nvar envGlobal = typeof self !== 'undefined' ? self : global;\nexport { envGlobal as global }\n\n/*\n * Simple Symbol() shim\n */\nvar hasSymbol = typeof Symbol !== 'undefined';\nexport function createSymbol (name) {\n return hasSymbol ? Symbol() : '@@' + name;\n}\n\nexport function pathToFileUrl (filePath) {\n return 'file://' + (isWindows ? '/' : '') + (isWindows ? filePath.replace(/\\\\/g, '/') : filePath);\n}\n\nexport function fileUrlToPath (fileUrl) {\n if (fileUrl.substr(0, 7) !== 'file://')\n throw new RangeError(fileUrl + ' is not a valid file url');\n if (isWindows)\n return fileUrl.substr(8).replace(/\\\\/g, '/');\n else\n return fileUrl.substr(7);\n}\n\n/*\n * Environment baseURI\n */\nexport var baseURI;\n\n// environent baseURI detection\nif (typeof document != 'undefined' && document.getElementsByTagName) {\n baseURI = document.baseURI;\n\n if (!baseURI) {\n var bases = document.getElementsByTagName('base');\n baseURI = bases[0] && bases[0].href || window.location.href;\n }\n}\nelse if (typeof location != 'undefined') {\n baseURI = location.href;\n}\n\n// sanitize out the hash and querystring\nif (baseURI) {\n baseURI = baseURI.split('#')[0].split('?')[0];\n var slashIndex = baseURI.lastIndexOf('/');\n if (slashIndex !== -1)\n baseURI = baseURI.substr(0, slashIndex + 1);\n}\nelse if (typeof process !== 'undefined' && process.cwd) {\n baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd();\n if (isWindows)\n baseURI = baseURI.replace(/\\\\/g, '/');\n}\nelse {\n throw new TypeError('No environment baseURI');\n}\n\n// ensure baseURI has trailing \"/\"\nif (baseURI[baseURI.length - 1] !== '/')\n baseURI += '/';\n\n/*\n * LoaderError with chaining for loader stacks\n */\nvar errArgs = new Error(0, '_').fileName == '_';\nfunction LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) {\n // Convert file:/// URLs to paths in Node\n if (!isBrowser)\n newMessage = newMessage.replace(isWindows ? /file:\\/\\/\\//g : /file:\\/\\//g, '');\n\n var message = (childErr.message || childErr) + '\\n ' + newMessage;\n\n var err;\n if (errArgs && childErr.fileName)\n err = new Error(message, childErr.fileName, childErr.lineNumber);\n else\n err = new Error(message);\n\n\n var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack;\n\n if (isNode)\n // node doesn't show the message otherwise\n err.stack = message + '\\n ' + stack;\n else\n err.stack = stack;\n\n err.originalErr = childErr.originalErr || childErr;\n\n return err;\n}\nexport { LoaderError__Check_error_message_for_loader_stack as addToError }\n","import { isNode } from './common.js';\n\n/*\n * Optimized URL normalization assuming a syntax-valid URL parent\n */\nfunction throwResolveError (relUrl, parentUrl) {\n throw new RangeError('Unable to resolve \"' + relUrl + '\" to ' + parentUrl);\n}\nexport function resolveIfNotPlain (relUrl, parentUrl) {\n relUrl = relUrl.trim();\n var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1);\n\n var firstChar = relUrl[0];\n var secondChar = relUrl[1];\n\n // protocol-relative\n if (firstChar === '/' && secondChar === '/') {\n if (!parentProtocol)\n throwResolveError(relUrl, parentUrl);\n return parentProtocol + relUrl;\n }\n // relative-url\n else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n firstChar === '/') {\n var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/';\n\n // read pathname from parent if a URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentIsPlain) {\n // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\r\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\r\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\r\n\r\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\r\n\r\nexport var resolvedPromise = Promise.resolve();\r\nexport function noop () {};\r\n\r\nexport var emptyModule = new ModuleNamespace({});\r\n\r\nexport function protectedCreateNamespace (bindings) {\r\n if (bindings instanceof ModuleNamespace)\r\n return bindings;\r\n\r\n if (bindings && bindings.__esModule)\r\n return new ModuleNamespace(bindings);\r\n\r\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\r\n}\r\n\r\nvar hasStringTag;\r\nexport function isModule (m) {\r\n if (hasStringTag === undefined)\r\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\r\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\r\n}\r\n\r\nexport var CONFIG = createSymbol('loader-config');\r\nexport var METADATA = createSymbol('metadata');\r\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\r\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\r\n\r\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\r\n\r\nexport function warn (msg, force) {\r\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\r\n console.warn(msg);\r\n}\r\n\r\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\r\n var bytes = new Uint8Array(wasmBuffer);\r\n\r\n // detect by leading bytes\r\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\r\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\r\n return WebAssembly.compile(wasmBuffer).then(function (m) {\r\n var deps = [];\r\n var setters = [];\r\n var importObj = {};\r\n\r\n // we can only set imports if supported (eg Safari doesnt support)\r\n if (WebAssembly.Module.imports)\r\n WebAssembly.Module.imports(m).forEach(function (i) {\r\n var key = i.module;\r\n setters.push(function (m) {\r\n importObj[key] = m;\r\n });\r\n if (deps.indexOf(key) === -1)\r\n deps.push(key);\r\n });\r\n loader.register(deps, function (_export) {\r\n return {\r\n setters: setters,\r\n execute: function () {\r\n _export(new WebAssembly.Instance(m, importObj).exports);\r\n }\r\n };\r\n });\r\n processAnonRegister();\r\n\r\n return true;\r\n });\r\n }\r\n\r\n return Promise.resolve(false);\r\n}\r\n\r\nvar parentModuleContext;\r\nexport function loadNodeModule (key, baseURL) {\r\n if (key[0] === '.')\r\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\r\n\r\n if (!parentModuleContext) {\r\n var Module = this._nodeRequire('module');\r\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\r\n parentModuleContext = new Module(base);\r\n parentModuleContext.paths = Module._nodeModulePaths(base);\r\n }\r\n return parentModuleContext.require(key);\r\n}\r\n\r\nexport function extend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\nexport function prepend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n if (a[p] === undefined)\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\n// meta first-level extends where:\r\n// array + array appends\r\n// object + object extends\r\n// other properties replace\r\nexport function extendMeta (a, b, _prepend) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n var val = b[p];\r\n if (a[p] === undefined)\r\n a[p] = val;\r\n else if (val instanceof Array && a[p] instanceof Array)\r\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\r\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\r\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\r\n else if (!_prepend)\r\n a[p] = val;\r\n }\r\n}\r\n\r\nvar supportsPreload = false, supportsPrefetch = false;\r\nif (isBrowser)\r\n (function () {\r\n var relList = document.createElement('link').relList;\r\n if (relList && relList.supports) {\r\n supportsPrefetch = true;\r\n try {\r\n supportsPreload = relList.supports('preload');\r\n }\r\n catch (e) {}\r\n }\r\n })();\r\n\r\nexport function preloadScript (url) {\r\n // fallback to old fashioned image technique which still works in safari\r\n if (!supportsPreload && !supportsPrefetch) {\r\n var preloadImage = new Image();\r\n preloadImage.src = url;\r\n return;\r\n }\r\n\r\n var link = document.createElement('link');\r\n if (supportsPreload) {\r\n link.rel = 'preload';\r\n link.as = 'script';\r\n }\r\n else {\r\n // this works for all except Safari (detected by relList.supports lacking)\r\n link.rel = 'prefetch';\r\n }\r\n link.href = url;\r\n document.head.appendChild(link);\r\n}\r\n\r\nfunction workerImport (src, resolve, reject) {\r\n try {\r\n importScripts(src);\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n resolve();\r\n}\r\n\r\nif (isBrowser) {\r\n var onerror = window.onerror;\r\n window.onerror = function globalOnerror (msg, src) {\r\n if (onerror)\r\n onerror.apply(this, arguments);\r\n };\r\n}\r\n\r\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\r\n // percent encode just \"#\" for HTTP requests\r\n src = src.replace(/#/g, '%23');\r\n\r\n // subresource integrity is not supported in web workers\r\n if (isWorker)\r\n return workerImport(src, resolve, reject);\r\n\r\n var script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.charset = 'utf-8';\r\n script.async = true;\r\n\r\n if (crossOrigin)\r\n script.crossOrigin = crossOrigin;\r\n if (integrity)\r\n script.integrity = integrity;\r\n\r\n script.addEventListener('load', load, false);\r\n script.addEventListener('error', error, false);\r\n\r\n script.src = src;\r\n document.head.appendChild(script);\r\n\r\n function load () {\r\n resolve();\r\n cleanup();\r\n }\r\n\r\n // note this does not catch execution errors\r\n function error (err) {\r\n cleanup();\r\n reject(new Error('Fetching ' + src));\r\n }\r\n\r\n function cleanup () {\r\n script.removeEventListener('load', load, false);\r\n script.removeEventListener('error', error, false);\r\n document.head.removeChild(script);\r\n }\r\n}\r\n\r\nexport function readMemberExpression (p, value) {\r\n var pParts = p.split('.');\r\n while (pParts.length)\r\n value = value[pParts.shift()];\r\n return value;\r\n}\r\n\r\n// separate out paths cache as a baseURL lock process\r\nexport function applyPaths (baseURL, paths, key) {\r\n var mapMatch = getMapMatch(paths, key);\r\n if (mapMatch) {\r\n var target = paths[mapMatch] + key.substr(mapMatch.length);\r\n\r\n var resolved = resolveIfNotPlain(target, baseURI);\r\n if (resolved !== undefined)\r\n return resolved;\r\n\r\n return baseURL + target;\r\n }\r\n else if (key.indexOf(':') !== -1) {\r\n return key;\r\n }\r\n else {\r\n return baseURL + key;\r\n }\r\n}\r\n\r\nfunction checkMap (p) {\r\n var name = this.name;\r\n // can add ':' here if we want paths to match the behaviour of map\r\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\r\n var curLen = p.split('/').length;\r\n if (curLen > this.len) {\r\n this.match = p;\r\n this.len = curLen;\r\n }\r\n }\r\n}\r\n\r\nexport function getMapMatch (map, name) {\r\n if (Object.hasOwnProperty.call(map, name))\r\n return name;\r\n\r\n var bestMatch = {\r\n name: name,\r\n match: undefined,\r\n len: 0\r\n };\r\n\r\n Object.keys(map).forEach(checkMap, bestMatch);\r\n\r\n return bestMatch.match;\r\n}\r\n\r\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\r\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\r\n","\r\nimport { isWindows, global, readMemberExpression, cjsRequireRegEx, noop } from './common.js';\r\n\r\nexport function setHelpers (loader) {\r\n loader.set('@@cjs-helpers', loader.newModule({\r\n requireResolve: requireResolve.bind(loader),\r\n getPathVars: getPathVars\r\n }));\r\n\r\n loader.set('@@global-helpers', loader.newModule({\r\n prepareGlobal: prepareGlobal\r\n }));\r\n}\r\n\r\nexport function setAmdHelper (loader) {\r\n\r\n /*\r\n AMD-compatible require\r\n To copy RequireJS, set window.require = window.requirejs = loader.amdRequire\r\n */\r\n function require (names, callback, errback, referer) {\r\n // in amd, first arg can be a config object... we just ignore\r\n if (typeof names === 'object' && !(names instanceof Array))\r\n return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1));\r\n\r\n // amd require\r\n if (typeof names === 'string' && typeof callback === 'function')\r\n names = [names];\r\n if (names instanceof Array) {\r\n var dynamicRequires = [];\r\n for (var i = 0; i < names.length; i++)\r\n dynamicRequires.push(loader.import(names[i], referer));\r\n Promise.all(dynamicRequires).then(function (modules) {\r\n if (callback)\r\n callback.apply(null, modules);\r\n }, errback);\r\n }\r\n\r\n // commonjs require\r\n else if (typeof names === 'string') {\r\n var normalized = loader.decanonicalize(names, referer);\r\n var module = loader.get(normalized);\r\n if (!module)\r\n throw new Error('Module not already loaded loading \"' + names + '\" as ' + normalized + (referer ? ' from \"' + referer + '\".' : '.'));\r\n return '__useDefault' in module ? module.__useDefault : module;\r\n }\r\n\r\n else\r\n throw new TypeError('Invalid require');\r\n }\r\n\r\n function define (name, deps, factory) {\r\n if (typeof name !== 'string') {\r\n factory = deps;\r\n deps = name;\r\n name = null;\r\n }\r\n\r\n if (!(deps instanceof Array)) {\r\n factory = deps;\r\n deps = ['require', 'exports', 'module'].splice(0, factory.length);\r\n }\r\n\r\n if (typeof factory !== 'function')\r\n factory = (function (factory) {\r\n return function() { return factory; }\r\n })(factory);\r\n\r\n if (!name) {\r\n if (curMetaDeps) {\r\n deps = deps.concat(curMetaDeps);\r\n curMetaDeps = undefined;\r\n }\r\n }\r\n\r\n // remove system dependencies\r\n var requireIndex, exportsIndex, moduleIndex;\r\n\r\n if ((requireIndex = deps.indexOf('require')) !== -1) {\r\n\r\n deps.splice(requireIndex, 1);\r\n\r\n // only trace cjs requires for non-named\r\n // named defines assume the trace has already been done\r\n if (!name)\r\n deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex));\r\n }\r\n\r\n if ((exportsIndex = deps.indexOf('exports')) !== -1)\r\n deps.splice(exportsIndex, 1);\r\n\r\n if ((moduleIndex = deps.indexOf('module')) !== -1)\r\n deps.splice(moduleIndex, 1);\r\n\r\n function execute (req, exports, module) {\r\n var depValues = [];\r\n for (var i = 0; i < deps.length; i++)\r\n depValues.push(req(deps[i]));\r\n\r\n module.uri = module.id;\r\n\r\n module.config = noop;\r\n\r\n // add back in system dependencies\r\n if (moduleIndex !== -1)\r\n depValues.splice(moduleIndex, 0, module);\r\n\r\n if (exportsIndex !== -1)\r\n depValues.splice(exportsIndex, 0, exports);\r\n\r\n if (requireIndex !== -1) {\r\n var contextualRequire = function (names, callback, errback) {\r\n if (typeof names === 'string' && typeof callback !== 'function')\r\n return req(names);\r\n return require.call(loader, names, callback, errback, module.id);\r\n };\r\n contextualRequire.toUrl = function (name) {\r\n return loader.normalizeSync(name, module.id);\r\n };\r\n depValues.splice(requireIndex, 0, contextualRequire);\r\n }\r\n\r\n // set global require to AMD require\r\n var curRequire = global.require;\r\n global.require = require;\r\n\r\n var output = factory.apply(exportsIndex === -1 ? global : exports, depValues);\r\n\r\n global.require = curRequire;\r\n\r\n if (typeof output !== 'undefined')\r\n module.exports = output;\r\n }\r\n\r\n // anonymous define\r\n if (!name) {\r\n loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute);\r\n }\r\n else {\r\n loader.registerDynamic(name, deps, false, execute);\r\n\r\n // if we don't have any other defines,\r\n // then let this be an anonymous define\r\n // this is just to support single modules of the form:\r\n // define('jquery')\r\n // still loading anonymously\r\n // because it is done widely enough to be useful\r\n // as soon as there is more than one define, this gets removed though\r\n if (lastNamedDefine) {\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = true;\r\n }\r\n else if (!multipleNamedDefines) {\r\n lastNamedDefine = [deps, execute];\r\n }\r\n }\r\n }\r\n define.amd = {};\r\n\r\n loader.amdDefine = define;\r\n loader.amdRequire = require;\r\n}\r\n\r\n// CJS\r\nvar windowOrigin;\r\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location)\r\n windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');\r\n\r\nfunction stripOrigin(path) {\r\n if (path.substr(0, 8) === 'file:///')\r\n return path.substr(7 + !!isWindows);\r\n\r\n if (windowOrigin && path.substr(0, windowOrigin.length) === windowOrigin)\r\n return path.substr(windowOrigin.length);\r\n\r\n return path;\r\n}\r\n\r\nexport function requireResolve (request, parentId) {\r\n return stripOrigin(this.normalizeSync(request, parentId));\r\n}\r\n\r\nexport function getPathVars (moduleId) {\r\n // remove any plugin syntax\r\n var pluginIndex = moduleId.lastIndexOf('!');\r\n var filename;\r\n if (pluginIndex !== -1)\r\n filename = moduleId.substr(0, pluginIndex);\r\n else\r\n filename = moduleId;\r\n\r\n var dirname = filename.split('/');\r\n dirname.pop();\r\n dirname = dirname.join('/');\r\n\r\n return {\r\n filename: stripOrigin(filename),\r\n dirname: stripOrigin(dirname)\r\n };\r\n}\r\n\r\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\r\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\r\n\r\n// used to support leading #!/usr/bin/env in scripts as supported in Node\r\nvar hashBangRegEx = /^\\#\\!.*/;\r\n\r\n// extract CJS dependencies from source text via regex static analysis\r\n// read require('x') statements not in comments or strings\r\nexport function getCJSDeps (source) {\r\n cjsRequireRegEx.lastIndex = commentRegEx.lastIndex = stringRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n\r\n // track string and comment locations for unminified source\r\n var stringLocations = [], commentLocations = [];\r\n\r\n function inLocation (locations, match) {\r\n for (var i = 0; i < locations.length; i++)\r\n if (locations[i][0] < match.index && locations[i][1] > match.index)\r\n return true;\r\n return false;\r\n }\r\n\r\n if (source.length / source.split('\\n').length < 200) {\r\n while (match = stringRegEx.exec(source))\r\n stringLocations.push([match.index, match.index + match[0].length]);\r\n\r\n // TODO: track template literals here before comments\r\n\r\n while (match = commentRegEx.exec(source)) {\r\n // only track comments not starting in strings\r\n if (!inLocation(stringLocations, match))\r\n commentLocations.push([match.index + match[1].length, match.index + match[0].length - 1]);\r\n }\r\n }\r\n\r\n while (match = cjsRequireRegEx.exec(source)) {\r\n // ensure we're not within a string or comment location\r\n if (!inLocation(stringLocations, match) && !inLocation(commentLocations, match)) {\r\n var dep = match[1].substr(1, match[1].length - 2);\r\n // skip cases like require('\" + file + \"')\r\n if (dep.match(/\"|'/))\r\n continue;\r\n deps.push(dep);\r\n }\r\n }\r\n\r\n return deps;\r\n}\r\n\r\n// Global\r\n// bare minimum ignores\r\nvar ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external',\r\n 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX'];\r\n\r\nvar globalSnapshot;\r\nexport function globalIterator (globalName) {\r\n if (ignoredGlobalProps.indexOf(globalName) !== -1)\r\n return;\r\n try {\r\n var value = global[globalName];\r\n }\r\n catch (e) {\r\n ignoredGlobalProps.push(globalName);\r\n }\r\n this(globalName, value);\r\n}\r\n\r\nexport function getGlobalValue (exports) {\r\n if (typeof exports === 'string')\r\n return readMemberExpression(exports, global);\r\n\r\n if (!(exports instanceof Array))\r\n throw new Error('Global exports must be a string or array.');\r\n\r\n var globalValue = {};\r\n for (var i = 0; i < exports.length; i++)\r\n globalValue[exports[i].split('.').pop()] = readMemberExpression(exports[i], global);\r\n return globalValue;\r\n}\r\n\r\nexport function prepareGlobal (moduleName, exports, globals, encapsulate) {\r\n // disable module detection\r\n var curDefine = global.define;\r\n\r\n global.define = undefined;\r\n\r\n // set globals\r\n var oldGlobals;\r\n if (globals) {\r\n oldGlobals = {};\r\n for (var g in globals) {\r\n oldGlobals[g] = global[g];\r\n global[g] = globals[g];\r\n }\r\n }\r\n\r\n // store a complete copy of the global object in order to detect changes\r\n if (!exports) {\r\n globalSnapshot = {};\r\n\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n globalSnapshot[name] = value;\r\n });\r\n }\r\n\r\n // return function to retrieve global\r\n return function () {\r\n var globalValue = exports ? getGlobalValue(exports) : {};\r\n\r\n var singleGlobal;\r\n var multipleExports = !!exports;\r\n\r\n if (!exports || encapsulate)\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n if (globalSnapshot[name] === value)\r\n return;\r\n if (value === undefined)\r\n return;\r\n\r\n // allow global encapsulation where globals are removed\r\n if (encapsulate)\r\n global[name] = undefined;\r\n\r\n if (!exports) {\r\n globalValue[name] = value;\r\n\r\n if (singleGlobal !== undefined) {\r\n if (!multipleExports && singleGlobal !== value)\r\n multipleExports = true;\r\n }\r\n else {\r\n singleGlobal = value;\r\n }\r\n }\r\n });\r\n\r\n globalValue = multipleExports ? globalValue : singleGlobal;\r\n\r\n // revert globals\r\n if (oldGlobals) {\r\n for (var g in oldGlobals)\r\n global[g] = oldGlobals[g];\r\n }\r\n global.define = curDefine;\r\n\r\n return globalValue;\r\n };\r\n}\r\n\r\n// AMD\r\nvar cjsRequirePre = \"(?:^|[^$_a-zA-Z\\\\xA0-\\\\uFFFF.])\";\r\nvar cjsRequirePost = \"\\\\s*\\\\(\\\\s*(\\\"([^\\\"]+)\\\"|'([^']+)')\\\\s*\\\\)\";\r\nvar fnBracketRegEx = /\\(([^\\)]*)\\)/;\r\nvar wsRegEx = /^\\s+|\\s+$/g;\r\n\r\nvar requireRegExs = {};\r\n\r\nfunction amdGetCJSDeps(source, requireIndex) {\r\n\r\n // remove comments\r\n source = source.replace(commentRegEx, '');\r\n\r\n // determine the require alias\r\n var params = source.match(fnBracketRegEx);\r\n var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, '');\r\n\r\n // find or generate the regex for this requireAlias\r\n var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g'));\r\n\r\n requireRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n while (match = requireRegEx.exec(source))\r\n deps.push(match[2] || match[3]);\r\n\r\n return deps;\r\n}\r\n\r\nfunction wrapEsModuleExecute (execute) {\r\n return function (require, exports, module) {\r\n execute(require, exports, module);\r\n exports = module.exports;\r\n if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports))\r\n Object.defineProperty(module.exports, '__esModule', {\r\n value: true\r\n });\r\n };\r\n}\r\n\r\n// generate anonymous define from singular named define\r\nvar multipleNamedDefines = false;\r\nvar lastNamedDefine;\r\nvar curMetaDeps;\r\nvar curEsModule = false;\r\nexport function clearLastDefine (metaDeps, esModule) {\r\n curMetaDeps = metaDeps;\r\n curEsModule = esModule;\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = false;\r\n}\r\nexport function registerLastDefine (loader) {\r\n if (lastNamedDefine)\r\n loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0],\r\n false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]);\r\n\r\n // bundles are an empty module\r\n else if (multipleNamedDefines)\r\n loader.registerDynamic([], false, noop);\r\n}\r\n","import { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\r\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { global, baseURI, CONFIG, PLAIN_RESOLVE, PLAIN_RESOLVE_SYNC, resolveIfNotPlain, resolvedPromise,\r\n extend, emptyModule, applyPaths, scriptLoad, getMapMatch, noop, preloadScript, isModule, isNode, isBrowser } from './common.js';\r\nimport { registerLastDefine, globalIterator, setAmdHelper } from './format-helpers.js';\r\n\r\nexport { ModuleNamespace }\r\n\r\nexport default SystemJSProductionLoader;\r\n\r\nfunction SystemJSProductionLoader () {\r\n RegisterLoader.call(this);\r\n\r\n // internal configuration\r\n this[CONFIG] = {\r\n baseURL: baseURI,\r\n paths: {},\r\n map: {},\r\n submap: {},\r\n depCache: {}\r\n };\r\n\r\n setAmdHelper(this);\r\n if (isBrowser)\r\n global.define = this.amdDefine;\r\n}\r\n\r\nSystemJSProductionLoader.plainResolve = PLAIN_RESOLVE;\r\nSystemJSProductionLoader.plainResolveSync = PLAIN_RESOLVE_SYNC;\r\n\r\nvar systemJSPrototype = SystemJSProductionLoader.prototype = Object.create(RegisterLoader.prototype);\r\n\r\nsystemJSPrototype.constructor = SystemJSProductionLoader;\r\n\r\nsystemJSPrototype[SystemJSProductionLoader.resolve = RegisterLoader.resolve] = function (key, parentKey) {\r\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\r\n if (resolved !== undefined)\r\n return Promise.resolve(resolved);\r\n\r\n // plain resolution\r\n var loader = this;\r\n return resolvedPromise\r\n .then(function () {\r\n return loader[PLAIN_RESOLVE](key, parentKey);\r\n })\r\n .then(function (resolved) {\r\n resolved = resolved || key;\r\n // if in the registry then we are done\r\n if (loader.registry.has(resolved))\r\n return resolved;\r\n\r\n // then apply paths\r\n // baseURL is fallback\r\n var config = loader[CONFIG];\r\n return applyPaths(config.baseURL, config.paths, resolved);\r\n });\r\n};\r\n\r\nsystemJSPrototype.newModule = function (bindings) {\r\n return new ModuleNamespace(bindings);\r\n};\r\n\r\nsystemJSPrototype.isModule = isModule;\r\n\r\nsystemJSPrototype.resolveSync = function (key, parentKey) {\r\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\r\n if (resolved !== undefined)\r\n return resolved;\r\n\r\n // plain resolution\r\n resolved = this[PLAIN_RESOLVE_SYNC](key, parentKey) || key;\r\n\r\n if (this.registry.has(resolved))\r\n return resolved;\r\n\r\n // then apply paths\r\n var config = this[CONFIG];\r\n return applyPaths(config.baseURL, config.paths, resolved);\r\n};\r\n\r\nsystemJSPrototype[PLAIN_RESOLVE] = systemJSPrototype[PLAIN_RESOLVE_SYNC] = plainResolve;\r\n\r\nsystemJSPrototype[SystemJSProductionLoader.instantiate = RegisterLoader.instantiate] = coreInstantiate;\r\n\r\nsystemJSPrototype.config = function (cfg) {\r\n var config = this[CONFIG];\r\n\r\n if (cfg.baseURL) {\r\n config.baseURL = resolveIfNotPlain(cfg.baseURL, baseURI) || resolveIfNotPlain('./' + cfg.baseURL, baseURI);\r\n if (config.baseURL[config.baseURL.length - 1] !== '/')\r\n config.baseURL += '/';\r\n }\r\n\r\n if (cfg.paths)\r\n extend(config.paths, cfg.paths);\r\n\r\n if (cfg.map) {\r\n var val = cfg.map;\r\n for (var p in val) {\r\n if (!Object.hasOwnProperty.call(val, p))\r\n continue;\r\n\r\n var v = val[p];\r\n\r\n if (typeof v === 'string') {\r\n config.map[p] = v;\r\n }\r\n\r\n // object submap\r\n else {\r\n // normalize parent with URL and paths only\r\n var resolvedParent = resolveIfNotPlain(p, baseURI) || applyPaths(config.baseURL, config.paths, p);\r\n extend(config.submap[resolvedParent] || (config.submap[resolvedParent] = {}), v);\r\n }\r\n }\r\n }\r\n\r\n for (var p in cfg) {\r\n if (!Object.hasOwnProperty.call(cfg, p))\r\n continue;\r\n\r\n var val = cfg[p];\r\n\r\n switch (p) {\r\n case 'baseURL':\r\n case 'paths':\r\n case 'map':\r\n break;\r\n\r\n case 'depCache':\r\n for (var p in val) {\r\n if (!Object.hasOwnProperty.call(val, p))\r\n continue;\r\n var resolvedParent = this.resolveSync(p, undefined);\r\n config.depCache[resolvedParent] = (config.depCache[resolvedParent] || []).concat(val[p]);\r\n }\r\n break;\r\n\r\n default:\r\n throw new TypeError('The SystemJS production build does not support the \"' + p + '\" configuration option.');\r\n }\r\n }\r\n};\r\n\r\n// getConfig configuration cloning\r\nsystemJSPrototype.getConfig = function (name) {\r\n var config = this[CONFIG];\r\n\r\n var map = {};\r\n extend(map, config.map);\r\n for (var p in config.submap) {\r\n if (!Object.hasOwnProperty.call(config.submap, p))\r\n continue;\r\n map[p] = extend({}, config.submap[p]);\r\n }\r\n\r\n var depCache = {};\r\n for (var p in config.depCache) {\r\n if (!Object.hasOwnProperty.call(config.depCache, p))\r\n continue;\r\n depCache[p] = [].concat(config.depCache[p]);\r\n }\r\n\r\n return {\r\n baseURL: config.baseURL,\r\n paths: extend({}, config.paths),\r\n depCache: depCache,\r\n map: map\r\n };\r\n};\r\n\r\n// ensure System.register and System.registerDynamic decanonicalize\r\nsystemJSPrototype.register = function (key, deps, declare) {\r\n if (typeof key === 'string')\r\n key = this.resolveSync(key, undefined);\r\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\r\n};\r\n\r\nsystemJSPrototype.registerDynamic = function (key, deps, executingRequire, execute) {\r\n if (typeof key === 'string')\r\n key = this.resolveSync(key, undefined);\r\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\r\n};\r\n\r\nfunction plainResolve (key, parentKey) {\r\n var config = this[CONFIG];\r\n\r\n // Apply contextual submap\r\n if (parentKey) {\r\n var parent = getMapMatch(config.submap, parentKey);\r\n var submap = config.submap[parent];\r\n var mapMatch = submap && getMapMatch(submap, key);\r\n\r\n if (mapMatch) {\r\n var target = submap[mapMatch] + key.substr(mapMatch.length);\r\n return resolveIfNotPlain(target, parent) || target;\r\n }\r\n }\r\n\r\n // Apply global map\r\n var map = config.map;\r\n var mapMatch = getMapMatch(map, key);\r\n\r\n if (mapMatch) {\r\n var target = map[mapMatch] + key.substr(mapMatch.length);\r\n return resolveIfNotPlain(target, parentKey || config.baseURL) || target;\r\n }\r\n}\r\n\r\nfunction doScriptLoad (loader, url, processAnonRegister) {\r\n\r\n // store a global snapshot in case it turns out to be global\r\n globalSnapshot = {};\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n globalSnapshot[name] = value;\r\n });\r\n\r\n return new Promise(function (resolve, reject) {\r\n return scriptLoad(url, 'anonymous', undefined, function () {\r\n\r\n // check for System.register call\r\n var registered = processAnonRegister();\r\n if (!registered) {\r\n // no System.register -> support named AMD as anonymous\r\n registerLastDefine(loader);\r\n registered = processAnonRegister();\r\n\r\n // still no registration -> attempt a global detection\r\n if (!registered) {\r\n loader.registerDynamic([], false, function () {\r\n return retrieveGlobal();\r\n });\r\n processAnonRegister();\r\n }\r\n }\r\n\r\n resolve();\r\n }, reject);\r\n });\r\n}\r\n\r\nvar globalSnapshot;\r\nfunction retrieveGlobal () {\r\n var globalValue = { __esModule: true };\r\n var singleGlobal;\r\n var multipleExports = false;\r\n\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n if (globalSnapshot[name] === value)\r\n return;\r\n if (value === undefined)\r\n return;\r\n\r\n globalValue[name] = value;\r\n\r\n if (singleGlobal !== undefined) {\r\n if (!multipleExports && singleGlobal !== value)\r\n multipleExports = true;\r\n }\r\n else {\r\n singleGlobal = value;\r\n }\r\n });\r\n\r\n // clear global snapshot\r\n globalSnapshot = undefined;\r\n\r\n return multipleExports ? globalValue : singleGlobal;\r\n}\r\n\r\nfunction coreInstantiate (key, processAnonRegister) {\r\n var config = this[CONFIG];\r\n\r\n var depCache = config.depCache[key];\r\n if (depCache) {\r\n for (var i = 0; i < depCache.length; i++)\r\n this.resolve(depCache[i], key).then(preloadScript);\r\n }\r\n\r\n return doScriptLoad(this, key, processAnonRegister);\r\n}\r\n","import { global, isBrowser, isWorker } from './common.js';\r\nimport SystemJSProductionLoader from './systemjs-production-loader.js';\r\n\r\nSystemJSProductionLoader.prototype.version = VERSION;\r\n\r\nvar System = new SystemJSProductionLoader();\r\n\r\n// only set the global System on the global in browsers\r\nif (isBrowser || isWorker) {\r\n global.SystemJS = System;\r\n\r\n // dont override an existing System global\r\n if (!global.System) {\r\n global.System = System;\r\n }\r\n // rather just extend or set a System.register on the existing System global\r\n else {\r\n var register = global.System.register;\r\n global.System.register = function () {\r\n if (register)\r\n register.apply(this, arguments);\r\n System.register.apply(System, arguments);\r\n };\r\n }\r\n}\r\n\r\nif (typeof module !== 'undefined' && module.exports)\r\n module.exports = System;\r\n"]} \ No newline at end of file diff --git a/dist/system-production.src.js b/dist/system-production.src.js index 1b83bfd8..8b707989 100644 --- a/dist/system-production.src.js +++ b/dist/system-production.src.js @@ -1,5 +1,5 @@ /* - * SystemJS v0.20.19 Production + * SystemJS v0.21.0 Production */ (function () { 'use strict'; @@ -1149,7 +1149,7 @@ function dynamicExecute (execute, require, exports, module) { } var resolvedPromise = Promise.resolve(); - +function noop () {} var emptyModule = new ModuleNamespace({}); @@ -1171,43 +1171,7 @@ var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && t -function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) { - var bytes = new Uint8Array(wasmBuffer); - // detect by leading bytes - // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node - if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) { - return WebAssembly.compile(wasmBuffer).then(function (m) { - var deps = []; - var setters = []; - var importObj = {}; - - // we can only set imports if supported (eg Safari doesnt support) - if (WebAssembly.Module.imports) - WebAssembly.Module.imports(m).forEach(function (i) { - var key = i.module; - setters.push(function (m) { - importObj[key] = m; - }); - if (deps.indexOf(key) === -1) - deps.push(key); - }); - loader.register(deps, function (_export) { - return { - setters: setters, - execute: function () { - _export(new WebAssembly.Instance(m, importObj).exports); - } - }; - }); - processAnonRegister(); - - return true; - }); - } - - return Promise.resolve(false); -} @@ -1274,15 +1238,8 @@ function workerImport (src, resolve, reject) { } if (isBrowser) { - var loadingScripts = []; var onerror = window.onerror; window.onerror = function globalOnerror (msg, src) { - for (var i = 0; i < loadingScripts.length; i++) { - if (loadingScripts[i].src !== src) - continue; - loadingScripts[i].err(msg); - return; - } if (onerror) onerror.apply(this, arguments); }; @@ -1324,12 +1281,6 @@ function scriptLoad (src, crossOrigin, integrity, resolve, reject) { } function cleanup () { - for (var i = 0; i < loadingScripts.length; i++) { - if (loadingScripts[i].err === error) { - loadingScripts.splice(i, 1); - break; - } - } script.removeEventListener('load', load, false); script.removeEventListener('error', error, false); document.head.removeChild(script); @@ -1387,6 +1338,248 @@ function getMapMatch (map, name) { // RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339 +function setAmdHelper (loader) { + + /* + AMD-compatible require + To copy RequireJS, set window.require = window.requirejs = loader.amdRequire + */ + function require (names, callback, errback, referer) { + // in amd, first arg can be a config object... we just ignore + if (typeof names === 'object' && !(names instanceof Array)) + return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1)); + + // amd require + if (typeof names === 'string' && typeof callback === 'function') + names = [names]; + if (names instanceof Array) { + var dynamicRequires = []; + for (var i = 0; i < names.length; i++) + dynamicRequires.push(loader.import(names[i], referer)); + Promise.all(dynamicRequires).then(function (modules) { + if (callback) + callback.apply(null, modules); + }, errback); + } + + // commonjs require + else if (typeof names === 'string') { + var normalized = loader.decanonicalize(names, referer); + var module = loader.get(normalized); + if (!module) + throw new Error('Module not already loaded loading "' + names + '" as ' + normalized + (referer ? ' from "' + referer + '".' : '.')); + return '__useDefault' in module ? module.__useDefault : module; + } + + else + throw new TypeError('Invalid require'); + } + + function define (name, deps, factory) { + if (typeof name !== 'string') { + factory = deps; + deps = name; + name = null; + } + + if (!(deps instanceof Array)) { + factory = deps; + deps = ['require', 'exports', 'module'].splice(0, factory.length); + } + + if (typeof factory !== 'function') + factory = (function (factory) { + return function() { return factory; } + })(factory); + + if (!name) { + if (curMetaDeps) { + deps = deps.concat(curMetaDeps); + curMetaDeps = undefined; + } + } + + // remove system dependencies + var requireIndex, exportsIndex, moduleIndex; + + if ((requireIndex = deps.indexOf('require')) !== -1) { + + deps.splice(requireIndex, 1); + + // only trace cjs requires for non-named + // named defines assume the trace has already been done + if (!name) + deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex)); + } + + if ((exportsIndex = deps.indexOf('exports')) !== -1) + deps.splice(exportsIndex, 1); + + if ((moduleIndex = deps.indexOf('module')) !== -1) + deps.splice(moduleIndex, 1); + + function execute (req, exports, module) { + var depValues = []; + for (var i = 0; i < deps.length; i++) + depValues.push(req(deps[i])); + + module.uri = module.id; + + module.config = noop; + + // add back in system dependencies + if (moduleIndex !== -1) + depValues.splice(moduleIndex, 0, module); + + if (exportsIndex !== -1) + depValues.splice(exportsIndex, 0, exports); + + if (requireIndex !== -1) { + var contextualRequire = function (names, callback, errback) { + if (typeof names === 'string' && typeof callback !== 'function') + return req(names); + return require.call(loader, names, callback, errback, module.id); + }; + contextualRequire.toUrl = function (name) { + return loader.normalizeSync(name, module.id); + }; + depValues.splice(requireIndex, 0, contextualRequire); + } + + // set global require to AMD require + var curRequire = envGlobal.require; + envGlobal.require = require; + + var output = factory.apply(exportsIndex === -1 ? envGlobal : exports, depValues); + + envGlobal.require = curRequire; + + if (typeof output !== 'undefined') + module.exports = output; + } + + // anonymous define + if (!name) { + loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute); + } + else { + loader.registerDynamic(name, deps, false, execute); + + // if we don't have any other defines, + // then let this be an anonymous define + // this is just to support single modules of the form: + // define('jquery') + // still loading anonymously + // because it is done widely enough to be useful + // as soon as there is more than one define, this gets removed though + if (lastNamedDefine) { + lastNamedDefine = undefined; + multipleNamedDefines = true; + } + else if (!multipleNamedDefines) { + lastNamedDefine = [deps, execute]; + } + } + } + define.amd = {}; + + loader.amdDefine = define; + loader.amdRequire = require; +} + +// CJS +var windowOrigin; +if (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location) + windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : ''); + + + + + +var commentRegEx = /(^|[^\\])(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg; +// extract CJS dependencies from source text via regex static analysis +// read require('x') statements not in comments or strings + + +// Global +// bare minimum ignores +var ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external', + 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX']; + +function globalIterator (globalName) { + if (ignoredGlobalProps.indexOf(globalName) !== -1) + return; + try { + var value = envGlobal[globalName]; + } + catch (e) { + ignoredGlobalProps.push(globalName); + } + this(globalName, value); +} + + + + + +// AMD +var cjsRequirePre = "(?:^|[^$_a-zA-Z\\xA0-\\uFFFF.])"; +var cjsRequirePost = "\\s*\\(\\s*(\"([^\"]+)\"|'([^']+)')\\s*\\)"; +var fnBracketRegEx = /\(([^\)]*)\)/; +var wsRegEx = /^\s+|\s+$/g; + +var requireRegExs = {}; + +function amdGetCJSDeps(source, requireIndex) { + + // remove comments + source = source.replace(commentRegEx, ''); + + // determine the require alias + var params = source.match(fnBracketRegEx); + var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, ''); + + // find or generate the regex for this requireAlias + var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g')); + + requireRegEx.lastIndex = 0; + + var deps = []; + + var match; + while (match = requireRegEx.exec(source)) + deps.push(match[2] || match[3]); + + return deps; +} + +function wrapEsModuleExecute (execute) { + return function (require, exports, module) { + execute(require, exports, module); + exports = module.exports; + if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports)) + Object.defineProperty(module.exports, '__esModule', { + value: true + }); + }; +} + +// generate anonymous define from singular named define +var multipleNamedDefines = false; +var lastNamedDefine; +var curMetaDeps; +var curEsModule = false; + +function registerLastDefine (loader) { + if (lastNamedDefine) + loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0], + false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]); + + // bundles are an empty module + else if (multipleNamedDefines) + loader.registerDynamic([], false, noop); +} + function SystemJSProductionLoader$1 () { RegisterLoader$1.call(this); @@ -1396,13 +1589,12 @@ function SystemJSProductionLoader$1 () { paths: {}, map: {}, submap: {}, - bundles: {}, - depCache: {}, - wasm: false + depCache: {} }; - // support the empty module, as a concept - this.registry.set('@empty', emptyModule); + setAmdHelper(this); + if (isBrowser) + envGlobal.define = this.amdDefine; } SystemJSProductionLoader$1.plainResolve = PLAIN_RESOLVE; @@ -1458,13 +1650,6 @@ systemJSPrototype.resolveSync = function (key, parentKey) { return applyPaths(config.baseURL, config.paths, resolved); }; -systemJSPrototype.import = function () { - return RegisterLoader$1.prototype.import.apply(this, arguments) - .then(function (m) { - return '__useDefault' in m ? m.__useDefault : m; - }); -}; - systemJSPrototype[PLAIN_RESOLVE] = systemJSPrototype[PLAIN_RESOLVE_SYNC] = plainResolve; systemJSPrototype[SystemJSProductionLoader$1.instantiate = RegisterLoader$1.instantiate] = coreInstantiate; @@ -1514,16 +1699,6 @@ systemJSPrototype.config = function (cfg) { case 'map': break; - case 'bundles': - for (var p in val) { - if (!Object.hasOwnProperty.call(val, p)) - continue; - var v = val[p]; - for (var i = 0; i < v.length; i++) - config.bundles[this.resolveSync(v[i], undefined)] = p; - } - break; - case 'depCache': for (var p in val) { if (!Object.hasOwnProperty.call(val, p)) @@ -1533,10 +1708,6 @@ systemJSPrototype.config = function (cfg) { } break; - case 'wasm': - config.wasm = typeof WebAssembly !== 'undefined' && !!val; - break; - default: throw new TypeError('The SystemJS production build does not support the "' + p + '" configuration option.'); } @@ -1562,20 +1733,11 @@ systemJSPrototype.getConfig = function (name) { depCache[p] = [].concat(config.depCache[p]); } - var bundles = {}; - for (var p in config.bundles) { - if (!Object.hasOwnProperty.call(config.bundles, p)) - continue; - bundles[p] = [].concat(config.bundles[p]); - } - return { baseURL: config.baseURL, paths: extend({}, config.paths), depCache: depCache, - bundles: bundles, - map: map, - wasm: config.wasm + map: map }; }; @@ -1617,71 +1779,80 @@ function plainResolve (key, parentKey) { } } -function doScriptLoad (url, processAnonRegister) { +function doScriptLoad (loader, url, processAnonRegister) { + + // store a global snapshot in case it turns out to be global + globalSnapshot = {}; + Object.keys(envGlobal).forEach(globalIterator, function (name, value) { + globalSnapshot[name] = value; + }); + return new Promise(function (resolve, reject) { return scriptLoad(url, 'anonymous', undefined, function () { - processAnonRegister(); + + // check for System.register call + var registered = processAnonRegister(); + if (!registered) { + // no System.register -> support named AMD as anonymous + registerLastDefine(loader); + registered = processAnonRegister(); + + // still no registration -> attempt a global detection + if (!registered) { + loader.registerDynamic([], false, function () { + return retrieveGlobal(); + }); + processAnonRegister(); + } + } + resolve(); }, reject); }); } -var loadedBundles = {}; +var globalSnapshot; +function retrieveGlobal () { + var globalValue = { __esModule: true }; + var singleGlobal; + var multipleExports = false; + + Object.keys(envGlobal).forEach(globalIterator, function (name, value) { + if (globalSnapshot[name] === value) + return; + if (value === undefined) + return; + + globalValue[name] = value; + + if (singleGlobal !== undefined) { + if (!multipleExports && singleGlobal !== value) + multipleExports = true; + } + else { + singleGlobal = value; + } + }); + + // clear global snapshot + globalSnapshot = undefined; + + return multipleExports ? globalValue : singleGlobal; +} + function coreInstantiate (key, processAnonRegister) { var config = this[CONFIG]; - var wasm = config.wasm; - - var bundle = config.bundles[key]; - if (bundle) { - var loader = this; - var bundleUrl = loader.resolveSync(bundle, undefined); - if (loader.registry.has(bundleUrl)) - return; - return loadedBundles[bundleUrl] || (loadedBundles[bundleUrl] = doScriptLoad(bundleUrl, processAnonRegister).then(function () { - // bundle treated itself as an empty module - // this means we can reload bundles by deleting from the registry - if (!loader.registry.has(bundleUrl)) - loader.registry.set(bundleUrl, loader.newModule({})); - delete loadedBundles[bundleUrl]; - })); - } - var depCache = config.depCache[key]; if (depCache) { - var preloadFn = wasm ? fetch : preloadScript; for (var i = 0; i < depCache.length; i++) - this.resolve(depCache[i], key).then(preloadFn); + this.resolve(depCache[i], key).then(preloadScript); } - if (wasm) { - var loader = this; - return fetch(key) - .then(function(res) { - if (res.ok) - return res.arrayBuffer(); - else - throw new Error('Fetch error: ' + res.status + ' ' + res.statusText); - }) - .then(function (fetched) { - return checkInstantiateWasm(loader, fetched, processAnonRegister) - .then(function (wasmInstantiated) { - if (wasmInstantiated) - return; - // not wasm -> convert buffer into utf-8 string to execute as a module - // TextDecoder compatibility matches WASM currently. Need to keep checking this. - // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder - var source = new TextDecoder('utf-8').decode(new Uint8Array(fetched)); - (0, eval)(source + '\n//# sourceURL=' + key); - processAnonRegister(); - }); - }); - } - - return doScriptLoad(key, processAnonRegister); + return doScriptLoad(this, key, processAnonRegister); } -SystemJSProductionLoader$1.prototype.version = "0.20.19 Production"; +SystemJSProductionLoader$1.prototype.version = "0.21.0 Production"; var System = new SystemJSProductionLoader$1(); diff --git a/dist/system-production.src.js.map b/dist/system-production.src.js.map index 35a237c7..86ec50be 100644 --- a/dist/system-production.src.js.map +++ b/dist/system-production.src.js.map @@ -1 +1 @@ -{"version":3,"file":"system-production.js.map","sources":["../node_modules/es-module-loader/core/common.js","../node_modules/es-module-loader/core/resolve.js","../node_modules/es-module-loader/core/loader-polyfill.js","../node_modules/es-module-loader/core/register-loader.js","../src/common.js","../src/systemjs-production-loader.js","../src/system-production.js"],"sourcesContent":["/*\n * Environment\n */\nexport var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nexport var isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nexport var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);\n\nvar envGlobal = typeof self !== 'undefined' ? self : global;\nexport { envGlobal as global }\n\n/*\n * Simple Symbol() shim\n */\nvar hasSymbol = typeof Symbol !== 'undefined';\nexport function createSymbol (name) {\n return hasSymbol ? Symbol() : '@@' + name;\n}\n\nexport function pathToFileUrl (filePath) {\n return 'file://' + (isWindows ? '/' : '') + (isWindows ? filePath.replace(/\\\\/g, '/') : filePath);\n}\n\nexport function fileUrlToPath (fileUrl) {\n if (fileUrl.substr(0, 7) !== 'file://')\n throw new RangeError(fileUrl + ' is not a valid file url');\n if (isWindows)\n return fileUrl.substr(8).replace(/\\\\/g, '/');\n else\n return fileUrl.substr(7);\n}\n\n/*\n * Environment baseURI\n */\nexport var baseURI;\n\n// environent baseURI detection\nif (typeof document != 'undefined' && document.getElementsByTagName) {\n baseURI = document.baseURI;\n\n if (!baseURI) {\n var bases = document.getElementsByTagName('base');\n baseURI = bases[0] && bases[0].href || window.location.href;\n }\n}\nelse if (typeof location != 'undefined') {\n baseURI = location.href;\n}\n\n// sanitize out the hash and querystring\nif (baseURI) {\n baseURI = baseURI.split('#')[0].split('?')[0];\n var slashIndex = baseURI.lastIndexOf('/');\n if (slashIndex !== -1)\n baseURI = baseURI.substr(0, slashIndex + 1);\n}\nelse if (typeof process !== 'undefined' && process.cwd) {\n baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd();\n if (isWindows)\n baseURI = baseURI.replace(/\\\\/g, '/');\n}\nelse {\n throw new TypeError('No environment baseURI');\n}\n\n// ensure baseURI has trailing \"/\"\nif (baseURI[baseURI.length - 1] !== '/')\n baseURI += '/';\n\n/*\n * LoaderError with chaining for loader stacks\n */\nvar errArgs = new Error(0, '_').fileName == '_';\nfunction LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) {\n // Convert file:/// URLs to paths in Node\n if (!isBrowser)\n newMessage = newMessage.replace(isWindows ? /file:\\/\\/\\//g : /file:\\/\\//g, '');\n\n var message = (childErr.message || childErr) + '\\n ' + newMessage;\n\n var err;\n if (errArgs && childErr.fileName)\n err = new Error(message, childErr.fileName, childErr.lineNumber);\n else\n err = new Error(message);\n\n\n var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack;\n\n if (isNode)\n // node doesn't show the message otherwise\n err.stack = message + '\\n ' + stack;\n else\n err.stack = stack;\n\n err.originalErr = childErr.originalErr || childErr;\n\n return err;\n}\nexport { LoaderError__Check_error_message_for_loader_stack as addToError }\n","import { isNode } from './common.js';\n\n/*\n * Optimized URL normalization assuming a syntax-valid URL parent\n */\nfunction throwResolveError (relUrl, parentUrl) {\n throw new RangeError('Unable to resolve \"' + relUrl + '\" to ' + parentUrl);\n}\nexport function resolveIfNotPlain (relUrl, parentUrl) {\n relUrl = relUrl.trim();\n var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1);\n\n var firstChar = relUrl[0];\n var secondChar = relUrl[1];\n\n // protocol-relative\n if (firstChar === '/' && secondChar === '/') {\n if (!parentProtocol)\n throwResolveError(relUrl, parentUrl);\n return parentProtocol + relUrl;\n }\n // relative-url\n else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n firstChar === '/') {\n var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/';\n\n // read pathname from parent if a URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentIsPlain) {\n // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\n\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\n\nexport var resolvedPromise = Promise.resolve();\nexport function noop () {};\n\nexport var emptyModule = new ModuleNamespace({});\n\nexport function protectedCreateNamespace (bindings) {\n if (bindings instanceof ModuleNamespace)\n return bindings;\n\n if (bindings && bindings.__esModule)\n return new ModuleNamespace(bindings);\n\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\n}\n\nvar hasStringTag;\nexport function isModule (m) {\n if (hasStringTag === undefined)\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\n}\n\nexport var CONFIG = createSymbol('loader-config');\nexport var METADATA = createSymbol('metadata');\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\n\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\n\nexport function warn (msg, force) {\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\n console.warn(msg);\n}\n\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\n var bytes = new Uint8Array(wasmBuffer);\n\n // detect by leading bytes\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\n return WebAssembly.compile(wasmBuffer).then(function (m) {\n var deps = [];\n var setters = [];\n var importObj = {};\n\n // we can only set imports if supported (eg Safari doesnt support)\n if (WebAssembly.Module.imports)\n WebAssembly.Module.imports(m).forEach(function (i) {\n var key = i.module;\n setters.push(function (m) {\n importObj[key] = m;\n });\n if (deps.indexOf(key) === -1)\n deps.push(key);\n });\n loader.register(deps, function (_export) {\n return {\n setters: setters,\n execute: function () {\n _export(new WebAssembly.Instance(m, importObj).exports);\n }\n };\n });\n processAnonRegister();\n\n return true;\n });\n }\n\n return Promise.resolve(false);\n}\n\nvar parentModuleContext;\nexport function loadNodeModule (key, baseURL) {\n if (key[0] === '.')\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\n\n if (!parentModuleContext) {\n var Module = this._nodeRequire('module');\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\n parentModuleContext = new Module(base);\n parentModuleContext.paths = Module._nodeModulePaths(base);\n }\n return parentModuleContext.require(key);\n}\n\nexport function extend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n a[p] = b[p];\n }\n return a;\n}\n\nexport function prepend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n if (a[p] === undefined)\n a[p] = b[p];\n }\n return a;\n}\n\n// meta first-level extends where:\n// array + array appends\n// object + object extends\n// other properties replace\nexport function extendMeta (a, b, _prepend) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n var val = b[p];\n if (a[p] === undefined)\n a[p] = val;\n else if (val instanceof Array && a[p] instanceof Array)\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\n else if (!_prepend)\n a[p] = val;\n }\n}\n\nvar supportsPreload = false, supportsPrefetch = false;\nif (isBrowser)\n (function () {\n var relList = document.createElement('link').relList;\n if (relList && relList.supports) {\n supportsPrefetch = true;\n try {\n supportsPreload = relList.supports('preload');\n }\n catch (e) {}\n }\n })();\n\nexport function preloadScript (url) {\n // fallback to old fashioned image technique which still works in safari\n if (!supportsPreload && !supportsPrefetch) {\n var preloadImage = new Image();\n preloadImage.src = url;\n return;\n }\n\n var link = document.createElement('link');\n if (supportsPreload) {\n link.rel = 'preload';\n link.as = 'script';\n }\n else {\n // this works for all except Safari (detected by relList.supports lacking)\n link.rel = 'prefetch';\n }\n link.href = url;\n document.head.appendChild(link);\n}\n\nfunction workerImport (src, resolve, reject) {\n try {\n importScripts(src);\n }\n catch (e) {\n reject(e);\n }\n resolve();\n}\n\nif (isBrowser) {\n var loadingScripts = [];\n var onerror = window.onerror;\n window.onerror = function globalOnerror (msg, src) {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].src !== src)\n continue;\n loadingScripts[i].err(msg);\n return;\n }\n if (onerror)\n onerror.apply(this, arguments);\n };\n}\n\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\n // percent encode just \"#\" for HTTP requests\n src = src.replace(/#/g, '%23');\n\n // subresource integrity is not supported in web workers\n if (isWorker)\n return workerImport(src, resolve, reject);\n\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.charset = 'utf-8';\n script.async = true;\n\n if (crossOrigin)\n script.crossOrigin = crossOrigin;\n if (integrity)\n script.integrity = integrity;\n\n script.addEventListener('load', load, false);\n script.addEventListener('error', error, false);\n\n script.src = src;\n document.head.appendChild(script);\n\n function load () {\n resolve();\n cleanup();\n }\n\n // note this does not catch execution errors\n function error (err) {\n cleanup();\n reject(new Error('Fetching ' + src));\n }\n\n function cleanup () {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].err === error) {\n loadingScripts.splice(i, 1);\n break;\n }\n }\n script.removeEventListener('load', load, false);\n script.removeEventListener('error', error, false);\n document.head.removeChild(script);\n }\n}\n\nexport function readMemberExpression (p, value) {\n var pParts = p.split('.');\n while (pParts.length)\n value = value[pParts.shift()];\n return value;\n}\n\n// separate out paths cache as a baseURL lock process\nexport function applyPaths (baseURL, paths, key) {\n var mapMatch = getMapMatch(paths, key);\n if (mapMatch) {\n var target = paths[mapMatch] + key.substr(mapMatch.length);\n\n var resolved = resolveIfNotPlain(target, baseURI);\n if (resolved !== undefined)\n return resolved;\n\n return baseURL + target;\n }\n else if (key.indexOf(':') !== -1) {\n return key;\n }\n else {\n return baseURL + key;\n }\n}\n\nfunction checkMap (p) {\n var name = this.name;\n // can add ':' here if we want paths to match the behaviour of map\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\n var curLen = p.split('/').length;\n if (curLen > this.len) {\n this.match = p;\n this.len = curLen;\n }\n }\n}\n\nexport function getMapMatch (map, name) {\n if (Object.hasOwnProperty.call(map, name))\n return name;\n\n var bestMatch = {\n name: name,\n match: undefined,\n len: 0\n };\n\n Object.keys(map).forEach(checkMap, bestMatch);\n\n return bestMatch.match;\n}\n\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\n","import { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { global, baseURI, CONFIG, PLAIN_RESOLVE, PLAIN_RESOLVE_SYNC, resolveIfNotPlain, resolvedPromise,\n extend, emptyModule, applyPaths, scriptLoad, protectedCreateNamespace, getMapMatch, noop, preloadScript, isModule, isNode, checkInstantiateWasm } from './common.js';\n\nexport { ModuleNamespace }\n\nexport default SystemJSProductionLoader;\n\nfunction SystemJSProductionLoader () {\n RegisterLoader.call(this);\n\n // internal configuration\n this[CONFIG] = {\n baseURL: baseURI,\n paths: {},\n map: {},\n submap: {},\n bundles: {},\n depCache: {},\n wasm: false\n };\n\n // support the empty module, as a concept\n this.registry.set('@empty', emptyModule);\n}\n\nSystemJSProductionLoader.plainResolve = PLAIN_RESOLVE;\nSystemJSProductionLoader.plainResolveSync = PLAIN_RESOLVE_SYNC;\n\nvar systemJSPrototype = SystemJSProductionLoader.prototype = Object.create(RegisterLoader.prototype);\n\nsystemJSPrototype.constructor = SystemJSProductionLoader;\n\nsystemJSPrototype[SystemJSProductionLoader.resolve = RegisterLoader.resolve] = function (key, parentKey) {\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\n if (resolved !== undefined)\n return Promise.resolve(resolved);\n\n // plain resolution\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[PLAIN_RESOLVE](key, parentKey);\n })\n .then(function (resolved) {\n resolved = resolved || key;\n // if in the registry then we are done\n if (loader.registry.has(resolved))\n return resolved;\n\n // then apply paths\n // baseURL is fallback\n var config = loader[CONFIG];\n return applyPaths(config.baseURL, config.paths, resolved);\n });\n};\n\nsystemJSPrototype.newModule = function (bindings) {\n return new ModuleNamespace(bindings);\n};\n\nsystemJSPrototype.isModule = isModule;\n\nsystemJSPrototype.resolveSync = function (key, parentKey) {\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\n if (resolved !== undefined)\n return resolved;\n\n // plain resolution\n resolved = this[PLAIN_RESOLVE_SYNC](key, parentKey) || key;\n\n if (this.registry.has(resolved))\n return resolved;\n\n // then apply paths\n var config = this[CONFIG];\n return applyPaths(config.baseURL, config.paths, resolved);\n};\n\nsystemJSPrototype.import = function () {\n return RegisterLoader.prototype.import.apply(this, arguments)\n .then(function (m) {\n return '__useDefault' in m ? m.__useDefault : m;\n });\n};\n\nsystemJSPrototype[PLAIN_RESOLVE] = systemJSPrototype[PLAIN_RESOLVE_SYNC] = plainResolve;\n\nsystemJSPrototype[SystemJSProductionLoader.instantiate = RegisterLoader.instantiate] = coreInstantiate;\n\nsystemJSPrototype.config = function (cfg) {\n var config = this[CONFIG];\n\n if (cfg.baseURL) {\n config.baseURL = resolveIfNotPlain(cfg.baseURL, baseURI) || resolveIfNotPlain('./' + cfg.baseURL, baseURI);\n if (config.baseURL[config.baseURL.length - 1] !== '/')\n config.baseURL += '/';\n }\n\n if (cfg.paths)\n extend(config.paths, cfg.paths);\n\n if (cfg.map) {\n var val = cfg.map;\n for (var p in val) {\n if (!Object.hasOwnProperty.call(val, p))\n continue;\n\n var v = val[p];\n\n if (typeof v === 'string') {\n config.map[p] = v;\n }\n\n // object submap\n else {\n // normalize parent with URL and paths only\n var resolvedParent = resolveIfNotPlain(p, baseURI) || applyPaths(config.baseURL, config.paths, p);\n extend(config.submap[resolvedParent] || (config.submap[resolvedParent] = {}), v);\n }\n }\n }\n\n for (var p in cfg) {\n if (!Object.hasOwnProperty.call(cfg, p))\n continue;\n\n var val = cfg[p];\n\n switch (p) {\n case 'baseURL':\n case 'paths':\n case 'map':\n break;\n\n case 'bundles':\n for (var p in val) {\n if (!Object.hasOwnProperty.call(val, p))\n continue;\n var v = val[p];\n for (var i = 0; i < v.length; i++)\n config.bundles[this.resolveSync(v[i], undefined)] = p;\n }\n break;\n\n case 'depCache':\n for (var p in val) {\n if (!Object.hasOwnProperty.call(val, p))\n continue;\n var resolvedParent = this.resolveSync(p, undefined);\n config.depCache[resolvedParent] = (config.depCache[resolvedParent] || []).concat(val[p]);\n }\n break;\n\n case 'wasm':\n config.wasm = typeof WebAssembly !== 'undefined' && !!val;\n break;\n\n default:\n throw new TypeError('The SystemJS production build does not support the \"' + p + '\" configuration option.');\n }\n }\n};\n\n// getConfig configuration cloning\nsystemJSPrototype.getConfig = function (name) {\n var config = this[CONFIG];\n\n var map = {};\n extend(map, config.map);\n for (var p in config.submap) {\n if (!Object.hasOwnProperty.call(config.submap, p))\n continue;\n map[p] = extend({}, config.submap[p]);\n }\n\n var depCache = {};\n for (var p in config.depCache) {\n if (!Object.hasOwnProperty.call(config.depCache, p))\n continue;\n depCache[p] = [].concat(config.depCache[p]);\n }\n\n var bundles = {};\n for (var p in config.bundles) {\n if (!Object.hasOwnProperty.call(config.bundles, p))\n continue;\n bundles[p] = [].concat(config.bundles[p]);\n }\n\n return {\n baseURL: config.baseURL,\n paths: extend({}, config.paths),\n depCache: depCache,\n bundles: bundles,\n map: map,\n wasm: config.wasm\n };\n};\n\n// ensure System.register and System.registerDynamic decanonicalize\nsystemJSPrototype.register = function (key, deps, declare) {\n if (typeof key === 'string')\n key = this.resolveSync(key, undefined);\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\n};\n\nsystemJSPrototype.registerDynamic = function (key, deps, executingRequire, execute) {\n if (typeof key === 'string')\n key = this.resolveSync(key, undefined);\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\n};\n\nfunction plainResolve (key, parentKey) {\n var config = this[CONFIG];\n\n // Apply contextual submap\n if (parentKey) {\n var parent = getMapMatch(config.submap, parentKey);\n var submap = config.submap[parent];\n var mapMatch = submap && getMapMatch(submap, key);\n\n if (mapMatch) {\n var target = submap[mapMatch] + key.substr(mapMatch.length);\n return resolveIfNotPlain(target, parent) || target;\n }\n }\n\n // Apply global map\n var map = config.map;\n var mapMatch = getMapMatch(map, key);\n\n if (mapMatch) {\n var target = map[mapMatch] + key.substr(mapMatch.length);\n return resolveIfNotPlain(target, parentKey || config.baseURL) || target;\n }\n}\n\nfunction doScriptLoad (url, processAnonRegister) {\n return new Promise(function (resolve, reject) {\n return scriptLoad(url, 'anonymous', undefined, function () {\n processAnonRegister();\n resolve();\n }, reject);\n });\n}\n\nvar loadedBundles = {};\nfunction coreInstantiate (key, processAnonRegister) {\n var config = this[CONFIG];\n\n var wasm = config.wasm;\n\n var bundle = config.bundles[key];\n if (bundle) {\n var loader = this;\n var bundleUrl = loader.resolveSync(bundle, undefined);\n if (loader.registry.has(bundleUrl))\n return;\n return loadedBundles[bundleUrl] || (loadedBundles[bundleUrl] = doScriptLoad(bundleUrl, processAnonRegister).then(function () {\n // bundle treated itself as an empty module\n // this means we can reload bundles by deleting from the registry\n if (!loader.registry.has(bundleUrl))\n loader.registry.set(bundleUrl, loader.newModule({}));\n delete loadedBundles[bundleUrl];\n }));\n }\n\n var depCache = config.depCache[key];\n if (depCache) {\n var preloadFn = wasm ? fetch : preloadScript;\n for (var i = 0; i < depCache.length; i++)\n this.resolve(depCache[i], key).then(preloadFn);\n }\n\n if (wasm) {\n var loader = this;\n return fetch(key)\n .then(function(res) {\n if (res.ok)\n return res.arrayBuffer();\n else\n throw new Error('Fetch error: ' + res.status + ' ' + res.statusText);\n })\n .then(function (fetched) {\n return checkInstantiateWasm(loader, fetched, processAnonRegister)\n .then(function (wasmInstantiated) {\n if (wasmInstantiated)\n return;\n // not wasm -> convert buffer into utf-8 string to execute as a module\n // TextDecoder compatibility matches WASM currently. Need to keep checking this.\n // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder\n var source = new TextDecoder('utf-8').decode(new Uint8Array(fetched));\n (0, eval)(source + '\\n//# sourceURL=' + key);\n processAnonRegister();\n });\n });\n }\n\n return doScriptLoad(key, processAnonRegister);\n}\n","import { global, isBrowser, isWorker } from './common.js';\nimport SystemJSProductionLoader from './systemjs-production-loader.js';\n\nSystemJSProductionLoader.prototype.version = VERSION;\n\nvar System = new SystemJSProductionLoader();\n\n// only set the global System on the global in browsers\nif (isBrowser || isWorker) {\n global.SystemJS = System;\n\n // dont override an existing System global\n if (!global.System) {\n global.System = System;\n }\n // rather just extend or set a System.register on the existing System global\n else {\n var register = global.System.register;\n global.System.register = function () {\n if (register)\n register.apply(this, arguments);\n System.register.apply(System, arguments);\n };\n }\n}\n\nif (typeof module !== 'undefined' && module.exports)\n module.exports = System;\n"],"names":["resolvedPromise","addToError","RegisterLoader","global","SystemJSProductionLoader"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"system-production.js.map","sources":["../node_modules/es-module-loader/core/common.js","../node_modules/es-module-loader/core/resolve.js","../node_modules/es-module-loader/core/loader-polyfill.js","../node_modules/es-module-loader/core/register-loader.js","../src/common.js","../src/format-helpers.js","../src/systemjs-production-loader.js","../src/system-production.js"],"sourcesContent":["/*\n * Environment\n */\nexport var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nexport var isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nexport var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);\n\nvar envGlobal = typeof self !== 'undefined' ? self : global;\nexport { envGlobal as global }\n\n/*\n * Simple Symbol() shim\n */\nvar hasSymbol = typeof Symbol !== 'undefined';\nexport function createSymbol (name) {\n return hasSymbol ? Symbol() : '@@' + name;\n}\n\nexport function pathToFileUrl (filePath) {\n return 'file://' + (isWindows ? '/' : '') + (isWindows ? filePath.replace(/\\\\/g, '/') : filePath);\n}\n\nexport function fileUrlToPath (fileUrl) {\n if (fileUrl.substr(0, 7) !== 'file://')\n throw new RangeError(fileUrl + ' is not a valid file url');\n if (isWindows)\n return fileUrl.substr(8).replace(/\\\\/g, '/');\n else\n return fileUrl.substr(7);\n}\n\n/*\n * Environment baseURI\n */\nexport var baseURI;\n\n// environent baseURI detection\nif (typeof document != 'undefined' && document.getElementsByTagName) {\n baseURI = document.baseURI;\n\n if (!baseURI) {\n var bases = document.getElementsByTagName('base');\n baseURI = bases[0] && bases[0].href || window.location.href;\n }\n}\nelse if (typeof location != 'undefined') {\n baseURI = location.href;\n}\n\n// sanitize out the hash and querystring\nif (baseURI) {\n baseURI = baseURI.split('#')[0].split('?')[0];\n var slashIndex = baseURI.lastIndexOf('/');\n if (slashIndex !== -1)\n baseURI = baseURI.substr(0, slashIndex + 1);\n}\nelse if (typeof process !== 'undefined' && process.cwd) {\n baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd();\n if (isWindows)\n baseURI = baseURI.replace(/\\\\/g, '/');\n}\nelse {\n throw new TypeError('No environment baseURI');\n}\n\n// ensure baseURI has trailing \"/\"\nif (baseURI[baseURI.length - 1] !== '/')\n baseURI += '/';\n\n/*\n * LoaderError with chaining for loader stacks\n */\nvar errArgs = new Error(0, '_').fileName == '_';\nfunction LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) {\n // Convert file:/// URLs to paths in Node\n if (!isBrowser)\n newMessage = newMessage.replace(isWindows ? /file:\\/\\/\\//g : /file:\\/\\//g, '');\n\n var message = (childErr.message || childErr) + '\\n ' + newMessage;\n\n var err;\n if (errArgs && childErr.fileName)\n err = new Error(message, childErr.fileName, childErr.lineNumber);\n else\n err = new Error(message);\n\n\n var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack;\n\n if (isNode)\n // node doesn't show the message otherwise\n err.stack = message + '\\n ' + stack;\n else\n err.stack = stack;\n\n err.originalErr = childErr.originalErr || childErr;\n\n return err;\n}\nexport { LoaderError__Check_error_message_for_loader_stack as addToError }\n","import { isNode } from './common.js';\n\n/*\n * Optimized URL normalization assuming a syntax-valid URL parent\n */\nfunction throwResolveError (relUrl, parentUrl) {\n throw new RangeError('Unable to resolve \"' + relUrl + '\" to ' + parentUrl);\n}\nexport function resolveIfNotPlain (relUrl, parentUrl) {\n relUrl = relUrl.trim();\n var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1);\n\n var firstChar = relUrl[0];\n var secondChar = relUrl[1];\n\n // protocol-relative\n if (firstChar === '/' && secondChar === '/') {\n if (!parentProtocol)\n throwResolveError(relUrl, parentUrl);\n return parentProtocol + relUrl;\n }\n // relative-url\n else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n firstChar === '/') {\n var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/';\n\n // read pathname from parent if a URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentIsPlain) {\n // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\r\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\r\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\r\n\r\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\r\n\r\nexport var resolvedPromise = Promise.resolve();\r\nexport function noop () {};\r\n\r\nexport var emptyModule = new ModuleNamespace({});\r\n\r\nexport function protectedCreateNamespace (bindings) {\r\n if (bindings instanceof ModuleNamespace)\r\n return bindings;\r\n\r\n if (bindings && bindings.__esModule)\r\n return new ModuleNamespace(bindings);\r\n\r\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\r\n}\r\n\r\nvar hasStringTag;\r\nexport function isModule (m) {\r\n if (hasStringTag === undefined)\r\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\r\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\r\n}\r\n\r\nexport var CONFIG = createSymbol('loader-config');\r\nexport var METADATA = createSymbol('metadata');\r\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\r\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\r\n\r\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\r\n\r\nexport function warn (msg, force) {\r\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\r\n console.warn(msg);\r\n}\r\n\r\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\r\n var bytes = new Uint8Array(wasmBuffer);\r\n\r\n // detect by leading bytes\r\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\r\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\r\n return WebAssembly.compile(wasmBuffer).then(function (m) {\r\n var deps = [];\r\n var setters = [];\r\n var importObj = {};\r\n\r\n // we can only set imports if supported (eg Safari doesnt support)\r\n if (WebAssembly.Module.imports)\r\n WebAssembly.Module.imports(m).forEach(function (i) {\r\n var key = i.module;\r\n setters.push(function (m) {\r\n importObj[key] = m;\r\n });\r\n if (deps.indexOf(key) === -1)\r\n deps.push(key);\r\n });\r\n loader.register(deps, function (_export) {\r\n return {\r\n setters: setters,\r\n execute: function () {\r\n _export(new WebAssembly.Instance(m, importObj).exports);\r\n }\r\n };\r\n });\r\n processAnonRegister();\r\n\r\n return true;\r\n });\r\n }\r\n\r\n return Promise.resolve(false);\r\n}\r\n\r\nvar parentModuleContext;\r\nexport function loadNodeModule (key, baseURL) {\r\n if (key[0] === '.')\r\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\r\n\r\n if (!parentModuleContext) {\r\n var Module = this._nodeRequire('module');\r\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\r\n parentModuleContext = new Module(base);\r\n parentModuleContext.paths = Module._nodeModulePaths(base);\r\n }\r\n return parentModuleContext.require(key);\r\n}\r\n\r\nexport function extend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\nexport function prepend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n if (a[p] === undefined)\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\n// meta first-level extends where:\r\n// array + array appends\r\n// object + object extends\r\n// other properties replace\r\nexport function extendMeta (a, b, _prepend) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n var val = b[p];\r\n if (a[p] === undefined)\r\n a[p] = val;\r\n else if (val instanceof Array && a[p] instanceof Array)\r\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\r\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\r\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\r\n else if (!_prepend)\r\n a[p] = val;\r\n }\r\n}\r\n\r\nvar supportsPreload = false, supportsPrefetch = false;\r\nif (isBrowser)\r\n (function () {\r\n var relList = document.createElement('link').relList;\r\n if (relList && relList.supports) {\r\n supportsPrefetch = true;\r\n try {\r\n supportsPreload = relList.supports('preload');\r\n }\r\n catch (e) {}\r\n }\r\n })();\r\n\r\nexport function preloadScript (url) {\r\n // fallback to old fashioned image technique which still works in safari\r\n if (!supportsPreload && !supportsPrefetch) {\r\n var preloadImage = new Image();\r\n preloadImage.src = url;\r\n return;\r\n }\r\n\r\n var link = document.createElement('link');\r\n if (supportsPreload) {\r\n link.rel = 'preload';\r\n link.as = 'script';\r\n }\r\n else {\r\n // this works for all except Safari (detected by relList.supports lacking)\r\n link.rel = 'prefetch';\r\n }\r\n link.href = url;\r\n document.head.appendChild(link);\r\n}\r\n\r\nfunction workerImport (src, resolve, reject) {\r\n try {\r\n importScripts(src);\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n resolve();\r\n}\r\n\r\nif (isBrowser) {\r\n var onerror = window.onerror;\r\n window.onerror = function globalOnerror (msg, src) {\r\n if (onerror)\r\n onerror.apply(this, arguments);\r\n };\r\n}\r\n\r\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\r\n // percent encode just \"#\" for HTTP requests\r\n src = src.replace(/#/g, '%23');\r\n\r\n // subresource integrity is not supported in web workers\r\n if (isWorker)\r\n return workerImport(src, resolve, reject);\r\n\r\n var script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.charset = 'utf-8';\r\n script.async = true;\r\n\r\n if (crossOrigin)\r\n script.crossOrigin = crossOrigin;\r\n if (integrity)\r\n script.integrity = integrity;\r\n\r\n script.addEventListener('load', load, false);\r\n script.addEventListener('error', error, false);\r\n\r\n script.src = src;\r\n document.head.appendChild(script);\r\n\r\n function load () {\r\n resolve();\r\n cleanup();\r\n }\r\n\r\n // note this does not catch execution errors\r\n function error (err) {\r\n cleanup();\r\n reject(new Error('Fetching ' + src));\r\n }\r\n\r\n function cleanup () {\r\n script.removeEventListener('load', load, false);\r\n script.removeEventListener('error', error, false);\r\n document.head.removeChild(script);\r\n }\r\n}\r\n\r\nexport function readMemberExpression (p, value) {\r\n var pParts = p.split('.');\r\n while (pParts.length)\r\n value = value[pParts.shift()];\r\n return value;\r\n}\r\n\r\n// separate out paths cache as a baseURL lock process\r\nexport function applyPaths (baseURL, paths, key) {\r\n var mapMatch = getMapMatch(paths, key);\r\n if (mapMatch) {\r\n var target = paths[mapMatch] + key.substr(mapMatch.length);\r\n\r\n var resolved = resolveIfNotPlain(target, baseURI);\r\n if (resolved !== undefined)\r\n return resolved;\r\n\r\n return baseURL + target;\r\n }\r\n else if (key.indexOf(':') !== -1) {\r\n return key;\r\n }\r\n else {\r\n return baseURL + key;\r\n }\r\n}\r\n\r\nfunction checkMap (p) {\r\n var name = this.name;\r\n // can add ':' here if we want paths to match the behaviour of map\r\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\r\n var curLen = p.split('/').length;\r\n if (curLen > this.len) {\r\n this.match = p;\r\n this.len = curLen;\r\n }\r\n }\r\n}\r\n\r\nexport function getMapMatch (map, name) {\r\n if (Object.hasOwnProperty.call(map, name))\r\n return name;\r\n\r\n var bestMatch = {\r\n name: name,\r\n match: undefined,\r\n len: 0\r\n };\r\n\r\n Object.keys(map).forEach(checkMap, bestMatch);\r\n\r\n return bestMatch.match;\r\n}\r\n\r\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\r\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\r\n","\r\nimport { isWindows, global, readMemberExpression, cjsRequireRegEx, noop } from './common.js';\r\n\r\nexport function setHelpers (loader) {\r\n loader.set('@@cjs-helpers', loader.newModule({\r\n requireResolve: requireResolve.bind(loader),\r\n getPathVars: getPathVars\r\n }));\r\n\r\n loader.set('@@global-helpers', loader.newModule({\r\n prepareGlobal: prepareGlobal\r\n }));\r\n}\r\n\r\nexport function setAmdHelper (loader) {\r\n\r\n /*\r\n AMD-compatible require\r\n To copy RequireJS, set window.require = window.requirejs = loader.amdRequire\r\n */\r\n function require (names, callback, errback, referer) {\r\n // in amd, first arg can be a config object... we just ignore\r\n if (typeof names === 'object' && !(names instanceof Array))\r\n return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1));\r\n\r\n // amd require\r\n if (typeof names === 'string' && typeof callback === 'function')\r\n names = [names];\r\n if (names instanceof Array) {\r\n var dynamicRequires = [];\r\n for (var i = 0; i < names.length; i++)\r\n dynamicRequires.push(loader.import(names[i], referer));\r\n Promise.all(dynamicRequires).then(function (modules) {\r\n if (callback)\r\n callback.apply(null, modules);\r\n }, errback);\r\n }\r\n\r\n // commonjs require\r\n else if (typeof names === 'string') {\r\n var normalized = loader.decanonicalize(names, referer);\r\n var module = loader.get(normalized);\r\n if (!module)\r\n throw new Error('Module not already loaded loading \"' + names + '\" as ' + normalized + (referer ? ' from \"' + referer + '\".' : '.'));\r\n return '__useDefault' in module ? module.__useDefault : module;\r\n }\r\n\r\n else\r\n throw new TypeError('Invalid require');\r\n }\r\n\r\n function define (name, deps, factory) {\r\n if (typeof name !== 'string') {\r\n factory = deps;\r\n deps = name;\r\n name = null;\r\n }\r\n\r\n if (!(deps instanceof Array)) {\r\n factory = deps;\r\n deps = ['require', 'exports', 'module'].splice(0, factory.length);\r\n }\r\n\r\n if (typeof factory !== 'function')\r\n factory = (function (factory) {\r\n return function() { return factory; }\r\n })(factory);\r\n\r\n if (!name) {\r\n if (curMetaDeps) {\r\n deps = deps.concat(curMetaDeps);\r\n curMetaDeps = undefined;\r\n }\r\n }\r\n\r\n // remove system dependencies\r\n var requireIndex, exportsIndex, moduleIndex;\r\n\r\n if ((requireIndex = deps.indexOf('require')) !== -1) {\r\n\r\n deps.splice(requireIndex, 1);\r\n\r\n // only trace cjs requires for non-named\r\n // named defines assume the trace has already been done\r\n if (!name)\r\n deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex));\r\n }\r\n\r\n if ((exportsIndex = deps.indexOf('exports')) !== -1)\r\n deps.splice(exportsIndex, 1);\r\n\r\n if ((moduleIndex = deps.indexOf('module')) !== -1)\r\n deps.splice(moduleIndex, 1);\r\n\r\n function execute (req, exports, module) {\r\n var depValues = [];\r\n for (var i = 0; i < deps.length; i++)\r\n depValues.push(req(deps[i]));\r\n\r\n module.uri = module.id;\r\n\r\n module.config = noop;\r\n\r\n // add back in system dependencies\r\n if (moduleIndex !== -1)\r\n depValues.splice(moduleIndex, 0, module);\r\n\r\n if (exportsIndex !== -1)\r\n depValues.splice(exportsIndex, 0, exports);\r\n\r\n if (requireIndex !== -1) {\r\n var contextualRequire = function (names, callback, errback) {\r\n if (typeof names === 'string' && typeof callback !== 'function')\r\n return req(names);\r\n return require.call(loader, names, callback, errback, module.id);\r\n };\r\n contextualRequire.toUrl = function (name) {\r\n return loader.normalizeSync(name, module.id);\r\n };\r\n depValues.splice(requireIndex, 0, contextualRequire);\r\n }\r\n\r\n // set global require to AMD require\r\n var curRequire = global.require;\r\n global.require = require;\r\n\r\n var output = factory.apply(exportsIndex === -1 ? global : exports, depValues);\r\n\r\n global.require = curRequire;\r\n\r\n if (typeof output !== 'undefined')\r\n module.exports = output;\r\n }\r\n\r\n // anonymous define\r\n if (!name) {\r\n loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute);\r\n }\r\n else {\r\n loader.registerDynamic(name, deps, false, execute);\r\n\r\n // if we don't have any other defines,\r\n // then let this be an anonymous define\r\n // this is just to support single modules of the form:\r\n // define('jquery')\r\n // still loading anonymously\r\n // because it is done widely enough to be useful\r\n // as soon as there is more than one define, this gets removed though\r\n if (lastNamedDefine) {\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = true;\r\n }\r\n else if (!multipleNamedDefines) {\r\n lastNamedDefine = [deps, execute];\r\n }\r\n }\r\n }\r\n define.amd = {};\r\n\r\n loader.amdDefine = define;\r\n loader.amdRequire = require;\r\n}\r\n\r\n// CJS\r\nvar windowOrigin;\r\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location)\r\n windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');\r\n\r\nfunction stripOrigin(path) {\r\n if (path.substr(0, 8) === 'file:///')\r\n return path.substr(7 + !!isWindows);\r\n\r\n if (windowOrigin && path.substr(0, windowOrigin.length) === windowOrigin)\r\n return path.substr(windowOrigin.length);\r\n\r\n return path;\r\n}\r\n\r\nexport function requireResolve (request, parentId) {\r\n return stripOrigin(this.normalizeSync(request, parentId));\r\n}\r\n\r\nexport function getPathVars (moduleId) {\r\n // remove any plugin syntax\r\n var pluginIndex = moduleId.lastIndexOf('!');\r\n var filename;\r\n if (pluginIndex !== -1)\r\n filename = moduleId.substr(0, pluginIndex);\r\n else\r\n filename = moduleId;\r\n\r\n var dirname = filename.split('/');\r\n dirname.pop();\r\n dirname = dirname.join('/');\r\n\r\n return {\r\n filename: stripOrigin(filename),\r\n dirname: stripOrigin(dirname)\r\n };\r\n}\r\n\r\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\r\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\r\n\r\n// used to support leading #!/usr/bin/env in scripts as supported in Node\r\nvar hashBangRegEx = /^\\#\\!.*/;\r\n\r\n// extract CJS dependencies from source text via regex static analysis\r\n// read require('x') statements not in comments or strings\r\nexport function getCJSDeps (source) {\r\n cjsRequireRegEx.lastIndex = commentRegEx.lastIndex = stringRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n\r\n // track string and comment locations for unminified source\r\n var stringLocations = [], commentLocations = [];\r\n\r\n function inLocation (locations, match) {\r\n for (var i = 0; i < locations.length; i++)\r\n if (locations[i][0] < match.index && locations[i][1] > match.index)\r\n return true;\r\n return false;\r\n }\r\n\r\n if (source.length / source.split('\\n').length < 200) {\r\n while (match = stringRegEx.exec(source))\r\n stringLocations.push([match.index, match.index + match[0].length]);\r\n\r\n // TODO: track template literals here before comments\r\n\r\n while (match = commentRegEx.exec(source)) {\r\n // only track comments not starting in strings\r\n if (!inLocation(stringLocations, match))\r\n commentLocations.push([match.index + match[1].length, match.index + match[0].length - 1]);\r\n }\r\n }\r\n\r\n while (match = cjsRequireRegEx.exec(source)) {\r\n // ensure we're not within a string or comment location\r\n if (!inLocation(stringLocations, match) && !inLocation(commentLocations, match)) {\r\n var dep = match[1].substr(1, match[1].length - 2);\r\n // skip cases like require('\" + file + \"')\r\n if (dep.match(/\"|'/))\r\n continue;\r\n deps.push(dep);\r\n }\r\n }\r\n\r\n return deps;\r\n}\r\n\r\n// Global\r\n// bare minimum ignores\r\nvar ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external',\r\n 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX'];\r\n\r\nvar globalSnapshot;\r\nexport function globalIterator (globalName) {\r\n if (ignoredGlobalProps.indexOf(globalName) !== -1)\r\n return;\r\n try {\r\n var value = global[globalName];\r\n }\r\n catch (e) {\r\n ignoredGlobalProps.push(globalName);\r\n }\r\n this(globalName, value);\r\n}\r\n\r\nexport function getGlobalValue (exports) {\r\n if (typeof exports === 'string')\r\n return readMemberExpression(exports, global);\r\n\r\n if (!(exports instanceof Array))\r\n throw new Error('Global exports must be a string or array.');\r\n\r\n var globalValue = {};\r\n for (var i = 0; i < exports.length; i++)\r\n globalValue[exports[i].split('.').pop()] = readMemberExpression(exports[i], global);\r\n return globalValue;\r\n}\r\n\r\nexport function prepareGlobal (moduleName, exports, globals, encapsulate) {\r\n // disable module detection\r\n var curDefine = global.define;\r\n\r\n global.define = undefined;\r\n\r\n // set globals\r\n var oldGlobals;\r\n if (globals) {\r\n oldGlobals = {};\r\n for (var g in globals) {\r\n oldGlobals[g] = global[g];\r\n global[g] = globals[g];\r\n }\r\n }\r\n\r\n // store a complete copy of the global object in order to detect changes\r\n if (!exports) {\r\n globalSnapshot = {};\r\n\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n globalSnapshot[name] = value;\r\n });\r\n }\r\n\r\n // return function to retrieve global\r\n return function () {\r\n var globalValue = exports ? getGlobalValue(exports) : {};\r\n\r\n var singleGlobal;\r\n var multipleExports = !!exports;\r\n\r\n if (!exports || encapsulate)\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n if (globalSnapshot[name] === value)\r\n return;\r\n if (value === undefined)\r\n return;\r\n\r\n // allow global encapsulation where globals are removed\r\n if (encapsulate)\r\n global[name] = undefined;\r\n\r\n if (!exports) {\r\n globalValue[name] = value;\r\n\r\n if (singleGlobal !== undefined) {\r\n if (!multipleExports && singleGlobal !== value)\r\n multipleExports = true;\r\n }\r\n else {\r\n singleGlobal = value;\r\n }\r\n }\r\n });\r\n\r\n globalValue = multipleExports ? globalValue : singleGlobal;\r\n\r\n // revert globals\r\n if (oldGlobals) {\r\n for (var g in oldGlobals)\r\n global[g] = oldGlobals[g];\r\n }\r\n global.define = curDefine;\r\n\r\n return globalValue;\r\n };\r\n}\r\n\r\n// AMD\r\nvar cjsRequirePre = \"(?:^|[^$_a-zA-Z\\\\xA0-\\\\uFFFF.])\";\r\nvar cjsRequirePost = \"\\\\s*\\\\(\\\\s*(\\\"([^\\\"]+)\\\"|'([^']+)')\\\\s*\\\\)\";\r\nvar fnBracketRegEx = /\\(([^\\)]*)\\)/;\r\nvar wsRegEx = /^\\s+|\\s+$/g;\r\n\r\nvar requireRegExs = {};\r\n\r\nfunction amdGetCJSDeps(source, requireIndex) {\r\n\r\n // remove comments\r\n source = source.replace(commentRegEx, '');\r\n\r\n // determine the require alias\r\n var params = source.match(fnBracketRegEx);\r\n var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, '');\r\n\r\n // find or generate the regex for this requireAlias\r\n var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g'));\r\n\r\n requireRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n while (match = requireRegEx.exec(source))\r\n deps.push(match[2] || match[3]);\r\n\r\n return deps;\r\n}\r\n\r\nfunction wrapEsModuleExecute (execute) {\r\n return function (require, exports, module) {\r\n execute(require, exports, module);\r\n exports = module.exports;\r\n if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports))\r\n Object.defineProperty(module.exports, '__esModule', {\r\n value: true\r\n });\r\n };\r\n}\r\n\r\n// generate anonymous define from singular named define\r\nvar multipleNamedDefines = false;\r\nvar lastNamedDefine;\r\nvar curMetaDeps;\r\nvar curEsModule = false;\r\nexport function clearLastDefine (metaDeps, esModule) {\r\n curMetaDeps = metaDeps;\r\n curEsModule = esModule;\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = false;\r\n}\r\nexport function registerLastDefine (loader) {\r\n if (lastNamedDefine)\r\n loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0],\r\n false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]);\r\n\r\n // bundles are an empty module\r\n else if (multipleNamedDefines)\r\n loader.registerDynamic([], false, noop);\r\n}\r\n","import { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\r\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { global, baseURI, CONFIG, PLAIN_RESOLVE, PLAIN_RESOLVE_SYNC, resolveIfNotPlain, resolvedPromise,\r\n extend, emptyModule, applyPaths, scriptLoad, getMapMatch, noop, preloadScript, isModule, isNode, isBrowser } from './common.js';\r\nimport { registerLastDefine, globalIterator, setAmdHelper } from './format-helpers.js';\r\n\r\nexport { ModuleNamespace }\r\n\r\nexport default SystemJSProductionLoader;\r\n\r\nfunction SystemJSProductionLoader () {\r\n RegisterLoader.call(this);\r\n\r\n // internal configuration\r\n this[CONFIG] = {\r\n baseURL: baseURI,\r\n paths: {},\r\n map: {},\r\n submap: {},\r\n depCache: {}\r\n };\r\n\r\n setAmdHelper(this);\r\n if (isBrowser)\r\n global.define = this.amdDefine;\r\n}\r\n\r\nSystemJSProductionLoader.plainResolve = PLAIN_RESOLVE;\r\nSystemJSProductionLoader.plainResolveSync = PLAIN_RESOLVE_SYNC;\r\n\r\nvar systemJSPrototype = SystemJSProductionLoader.prototype = Object.create(RegisterLoader.prototype);\r\n\r\nsystemJSPrototype.constructor = SystemJSProductionLoader;\r\n\r\nsystemJSPrototype[SystemJSProductionLoader.resolve = RegisterLoader.resolve] = function (key, parentKey) {\r\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\r\n if (resolved !== undefined)\r\n return Promise.resolve(resolved);\r\n\r\n // plain resolution\r\n var loader = this;\r\n return resolvedPromise\r\n .then(function () {\r\n return loader[PLAIN_RESOLVE](key, parentKey);\r\n })\r\n .then(function (resolved) {\r\n resolved = resolved || key;\r\n // if in the registry then we are done\r\n if (loader.registry.has(resolved))\r\n return resolved;\r\n\r\n // then apply paths\r\n // baseURL is fallback\r\n var config = loader[CONFIG];\r\n return applyPaths(config.baseURL, config.paths, resolved);\r\n });\r\n};\r\n\r\nsystemJSPrototype.newModule = function (bindings) {\r\n return new ModuleNamespace(bindings);\r\n};\r\n\r\nsystemJSPrototype.isModule = isModule;\r\n\r\nsystemJSPrototype.resolveSync = function (key, parentKey) {\r\n var resolved = resolveIfNotPlain(key, parentKey || baseURI);\r\n if (resolved !== undefined)\r\n return resolved;\r\n\r\n // plain resolution\r\n resolved = this[PLAIN_RESOLVE_SYNC](key, parentKey) || key;\r\n\r\n if (this.registry.has(resolved))\r\n return resolved;\r\n\r\n // then apply paths\r\n var config = this[CONFIG];\r\n return applyPaths(config.baseURL, config.paths, resolved);\r\n};\r\n\r\nsystemJSPrototype[PLAIN_RESOLVE] = systemJSPrototype[PLAIN_RESOLVE_SYNC] = plainResolve;\r\n\r\nsystemJSPrototype[SystemJSProductionLoader.instantiate = RegisterLoader.instantiate] = coreInstantiate;\r\n\r\nsystemJSPrototype.config = function (cfg) {\r\n var config = this[CONFIG];\r\n\r\n if (cfg.baseURL) {\r\n config.baseURL = resolveIfNotPlain(cfg.baseURL, baseURI) || resolveIfNotPlain('./' + cfg.baseURL, baseURI);\r\n if (config.baseURL[config.baseURL.length - 1] !== '/')\r\n config.baseURL += '/';\r\n }\r\n\r\n if (cfg.paths)\r\n extend(config.paths, cfg.paths);\r\n\r\n if (cfg.map) {\r\n var val = cfg.map;\r\n for (var p in val) {\r\n if (!Object.hasOwnProperty.call(val, p))\r\n continue;\r\n\r\n var v = val[p];\r\n\r\n if (typeof v === 'string') {\r\n config.map[p] = v;\r\n }\r\n\r\n // object submap\r\n else {\r\n // normalize parent with URL and paths only\r\n var resolvedParent = resolveIfNotPlain(p, baseURI) || applyPaths(config.baseURL, config.paths, p);\r\n extend(config.submap[resolvedParent] || (config.submap[resolvedParent] = {}), v);\r\n }\r\n }\r\n }\r\n\r\n for (var p in cfg) {\r\n if (!Object.hasOwnProperty.call(cfg, p))\r\n continue;\r\n\r\n var val = cfg[p];\r\n\r\n switch (p) {\r\n case 'baseURL':\r\n case 'paths':\r\n case 'map':\r\n break;\r\n\r\n case 'depCache':\r\n for (var p in val) {\r\n if (!Object.hasOwnProperty.call(val, p))\r\n continue;\r\n var resolvedParent = this.resolveSync(p, undefined);\r\n config.depCache[resolvedParent] = (config.depCache[resolvedParent] || []).concat(val[p]);\r\n }\r\n break;\r\n\r\n default:\r\n throw new TypeError('The SystemJS production build does not support the \"' + p + '\" configuration option.');\r\n }\r\n }\r\n};\r\n\r\n// getConfig configuration cloning\r\nsystemJSPrototype.getConfig = function (name) {\r\n var config = this[CONFIG];\r\n\r\n var map = {};\r\n extend(map, config.map);\r\n for (var p in config.submap) {\r\n if (!Object.hasOwnProperty.call(config.submap, p))\r\n continue;\r\n map[p] = extend({}, config.submap[p]);\r\n }\r\n\r\n var depCache = {};\r\n for (var p in config.depCache) {\r\n if (!Object.hasOwnProperty.call(config.depCache, p))\r\n continue;\r\n depCache[p] = [].concat(config.depCache[p]);\r\n }\r\n\r\n return {\r\n baseURL: config.baseURL,\r\n paths: extend({}, config.paths),\r\n depCache: depCache,\r\n map: map\r\n };\r\n};\r\n\r\n// ensure System.register and System.registerDynamic decanonicalize\r\nsystemJSPrototype.register = function (key, deps, declare) {\r\n if (typeof key === 'string')\r\n key = this.resolveSync(key, undefined);\r\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\r\n};\r\n\r\nsystemJSPrototype.registerDynamic = function (key, deps, executingRequire, execute) {\r\n if (typeof key === 'string')\r\n key = this.resolveSync(key, undefined);\r\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\r\n};\r\n\r\nfunction plainResolve (key, parentKey) {\r\n var config = this[CONFIG];\r\n\r\n // Apply contextual submap\r\n if (parentKey) {\r\n var parent = getMapMatch(config.submap, parentKey);\r\n var submap = config.submap[parent];\r\n var mapMatch = submap && getMapMatch(submap, key);\r\n\r\n if (mapMatch) {\r\n var target = submap[mapMatch] + key.substr(mapMatch.length);\r\n return resolveIfNotPlain(target, parent) || target;\r\n }\r\n }\r\n\r\n // Apply global map\r\n var map = config.map;\r\n var mapMatch = getMapMatch(map, key);\r\n\r\n if (mapMatch) {\r\n var target = map[mapMatch] + key.substr(mapMatch.length);\r\n return resolveIfNotPlain(target, parentKey || config.baseURL) || target;\r\n }\r\n}\r\n\r\nfunction doScriptLoad (loader, url, processAnonRegister) {\r\n\r\n // store a global snapshot in case it turns out to be global\r\n globalSnapshot = {};\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n globalSnapshot[name] = value;\r\n });\r\n\r\n return new Promise(function (resolve, reject) {\r\n return scriptLoad(url, 'anonymous', undefined, function () {\r\n\r\n // check for System.register call\r\n var registered = processAnonRegister();\r\n if (!registered) {\r\n // no System.register -> support named AMD as anonymous\r\n registerLastDefine(loader);\r\n registered = processAnonRegister();\r\n\r\n // still no registration -> attempt a global detection\r\n if (!registered) {\r\n loader.registerDynamic([], false, function () {\r\n return retrieveGlobal();\r\n });\r\n processAnonRegister();\r\n }\r\n }\r\n\r\n resolve();\r\n }, reject);\r\n });\r\n}\r\n\r\nvar globalSnapshot;\r\nfunction retrieveGlobal () {\r\n var globalValue = { __esModule: true };\r\n var singleGlobal;\r\n var multipleExports = false;\r\n\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n if (globalSnapshot[name] === value)\r\n return;\r\n if (value === undefined)\r\n return;\r\n\r\n globalValue[name] = value;\r\n\r\n if (singleGlobal !== undefined) {\r\n if (!multipleExports && singleGlobal !== value)\r\n multipleExports = true;\r\n }\r\n else {\r\n singleGlobal = value;\r\n }\r\n });\r\n\r\n // clear global snapshot\r\n globalSnapshot = undefined;\r\n\r\n return multipleExports ? globalValue : singleGlobal;\r\n}\r\n\r\nfunction coreInstantiate (key, processAnonRegister) {\r\n var config = this[CONFIG];\r\n\r\n var depCache = config.depCache[key];\r\n if (depCache) {\r\n for (var i = 0; i < depCache.length; i++)\r\n this.resolve(depCache[i], key).then(preloadScript);\r\n }\r\n\r\n return doScriptLoad(this, key, processAnonRegister);\r\n}\r\n","import { global, isBrowser, isWorker } from './common.js';\r\nimport SystemJSProductionLoader from './systemjs-production-loader.js';\r\n\r\nSystemJSProductionLoader.prototype.version = VERSION;\r\n\r\nvar System = new SystemJSProductionLoader();\r\n\r\n// only set the global System on the global in browsers\r\nif (isBrowser || isWorker) {\r\n global.SystemJS = System;\r\n\r\n // dont override an existing System global\r\n if (!global.System) {\r\n global.System = System;\r\n }\r\n // rather just extend or set a System.register on the existing System global\r\n else {\r\n var register = global.System.register;\r\n global.System.register = function () {\r\n if (register)\r\n register.apply(this, arguments);\r\n System.register.apply(System, arguments);\r\n };\r\n }\r\n}\r\n\r\nif (typeof module !== 'undefined' && module.exports)\r\n module.exports = System;\r\n"],"names":["resolvedPromise","addToError","RegisterLoader","global","SystemJSProductionLoader"],"mappings":"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"} \ No newline at end of file diff --git a/dist/system.js b/dist/system.js index 94d55bc5..eb8a92a0 100644 --- a/dist/system.js +++ b/dist/system.js @@ -1,4 +1,4 @@ /* - * SystemJS v0.20.19 Dev + * SystemJS v0.21.0 Dev */ -!function(){"use strict";function e(e){return ut?Symbol():"@@"+e}function t(e,t){ot||(t=t.replace(at?/file:\/\/\//g:/file:\/\//g,""));var r,n=(e.message||e)+"\n "+t;r=ft&&e.fileName?new Error(n,e.fileName,e.lineNumber):new Error(n);var o=e.originalErr?e.originalErr.stack:e.stack;return r.stack=it?n+"\n "+o:o,r.originalErr=e.originalErr||e,r}function r(e,t){throw new RangeError('Unable to resolve "'+e+'" to '+t)}function n(e,t){e=e.trim();var n=t&&t.substr(0,t.indexOf(":")+1),o=e[0],i=e[1];if("/"===o&&"/"===i)return n||r(e,t),n+e;if("."===o&&("/"===i||"."===i&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===o){var a,s=!n||"/"!==t[n.length];if(s?(void 0===t&&r(e,t),a=t):a="/"===t[n.length+1]?"file:"!==n?(a=t.substr(n.length+2)).substr(a.indexOf("/")+1):t.substr(8):t.substr(n.length+1),"/"===o){if(!s)return t.substr(0,t.length-a.length-1)+e;r(e,t)}for(var u=a.substr(0,a.lastIndexOf("/")+1)+e,l=[],c=-1,f=0;f1&&g(e,r,i))})).then(function(t){if(void 0!==t){if(!(t instanceof l))throw new TypeError("Instantiate did not return a valid Module object.");return delete i.records[r.key],e.trace&&v(e,r,n),o[r.key]=t}var a=r.registration;if(r.registration=void 0,!a)throw new TypeError("Module instantiation did not call an anonymous or correctly named System.register.");return n.dependencies=a[0],r.importerSetters=[],n.moduleObj={},a[2]?(n.moduleObj.default=n.moduleObj.__useDefault={},n.executingRequire=a[1],n.execute=a[2]):y(e,r,n,a[1]),r}).catch(function(e){throw r.linkRecord=void 0,r.loadError=r.loadError||t(e,"Instantiating "+r.key)}))}function m(e,t,r,n,o,i){return e.resolve(t,r).then(function(r){i&&(i[t]=r);var a=o.records[r],s=n[r];if(s&&(!a||a.module&&s!==a.module))return s;if(a&&a.loadError)throw a.loadError;(!a||!s&&a.module)&&(a=d(o,r,a&&a.registration));var u=a.linkRecord;return u?h(e,a,u,n,o):a})}function v(e,t,r){e.loads=e.loads||{},e.loads[t.key]={key:t.key,deps:r.dependencies,dynamicDeps:[],depMap:r.depMap||{}}}function y(e,t,r,n){var o=r.moduleObj,i=t.importerSetters,a=!1,s=n.call(st,function(e,t){if("object"==typeof e){var r=!1;for(var n in e)t=e[n],"__useDefault"===n||n in o&&o[n]===t||(r=!0,o[n]=t);if(!1===r)return t}else{if((a||e in o)&&o[e]===t)return t;o[e]=t}for(var s=0;sthis.len&&(this.match=e,this.len=r)}}function N(e,t){if(Object.hasOwnProperty.call(e,t))return t;var r={name:t,match:void 0,len:0};return Object.keys(e).forEach(z,r),r.match}function J(e,t,r,n){if("file:///"===e.substr(0,8)){if(Ft)return $(e,t,r,n);throw new Error("Unable to fetch file URLs in this environment.")}e=e.replace(/#/g,"%23");var o={headers:{Accept:"application/x-es-module, */*"}};return r&&(o.integrity=r),t&&("string"==typeof t&&(o.headers.Authorization=t),o.credentials="include"),fetch(e,o).then(function(e){if(e.ok)return n?e.arrayBuffer():e.text();throw new Error("Fetch error: "+e.status+" "+e.statusText)})}function $(e,t,r,n){return new Promise(function(r,o){function i(){r(n?s.response:s.responseText)}function a(){o(new Error("XHR error: "+(s.status?" ("+s.status+(s.statusText?" "+s.statusText:"")+")":"")+" loading "+e))}e=e.replace(/#/g,"%23");var s=new XMLHttpRequest;n&&(s.responseType="arraybuffer"),s.onreadystatechange=function(){4===s.readyState&&(0==s.status?s.response?i():(s.addEventListener("error",a),s.addEventListener("load",i)):200===s.status?i():a())},s.open("GET",e,!0),s.setRequestHeader&&(s.setRequestHeader("Accept","application/x-es-module, */*"),t&&("string"==typeof t&&s.setRequestHeader("Authorization",t),s.withCredentials=!0)),s.send(null)})}function B(e,t,r,n){return"file:///"!=e.substr(0,8)?Promise.reject(new Error('Unable to fetch "'+e+'". Only file URLs of the form file:/// supported running in Node.')):(Lt=Lt||require("fs"),e=at?e.replace(/\//g,"\\").substr(8):e.substr(7),new Promise(function(t,r){Lt.readFile(e,function(e,o){if(e)return r(e);if(n)t(o);else{var i=o+"";"\ufeff"===i[0]&&(i=i.substr(1)),t(i)}})}))}function W(){throw new Error("No fetch method is defined for this environment.")}function G(){return{pluginKey:void 0,pluginArgument:void 0,pluginModule:void 0,packageKey:void 0,packageConfig:void 0,load:void 0}}function H(e,t,r){var n=G();if(r){var o;t.pluginFirst?-1!==(o=r.lastIndexOf("!"))&&(n.pluginArgument=n.pluginKey=r.substr(0,o)):-1!==(o=r.indexOf("!"))&&(n.pluginArgument=n.pluginKey=r.substr(o+1)),n.packageKey=N(t.packages,r),n.packageKey&&(n.packageConfig=t.packages[n.packageKey])}return n}function Z(e,t){var r=this[St],n=G(),o=H(this,r,t),i=this;return Promise.resolve().then(function(){var r=e.lastIndexOf("#?");if(-1===r)return Promise.resolve(e);var n=he.call(i,e.substr(r+2));return me.call(i,n,t,!0).then(function(t){return t?e.substr(0,r):"@empty"})}).then(function(e){var a=ne(r.pluginFirst,e);return a?(n.pluginKey=a.plugin,Promise.all([ee.call(i,r,a.argument,o&&o.pluginArgument||t,n,o,!0),i.resolve(a.plugin,t)]).then(function(e){if(n.pluginArgument=e[0],n.pluginKey=e[1],n.pluginArgument===n.pluginKey)throw new Error("Plugin "+n.pluginArgument+" cannot load itself, make sure it is excluded from any wildcard meta configuration via a custom loader: false rule.");return oe(r.pluginFirst,e[0],e[1])})):ee.call(i,r,e,o&&o.pluginArgument||t,n,o,!1)}).then(function(e){return ve.call(i,e,t,o)}).then(function(e){return re.call(i,r,e,n),n.pluginKey||!n.load.loader?e:i.resolve(n.load.loader,e).then(function(t){return n.pluginKey=t,n.pluginArgument=e,e})}).then(function(e){return i[jt][e]=n,e})}function X(e,t){var r=ne(e.pluginFirst,t);if(r){var n=X.call(this,e,r.plugin);return oe(e.pluginFirst,Q.call(this,e,r.argument,void 0,!1,!1),n)}return Q.call(this,e,t,void 0,!1,!1)}function Y(e,t){var r=this[St],n=G(),o=o||H(this,r,t),i=ne(r.pluginFirst,e);return i?(n.pluginKey=Y.call(this,i.plugin,t),oe(r.pluginFirst,V.call(this,r,i.argument,o.pluginArgument||t,n,o,!!n.pluginKey),n.pluginKey)):V.call(this,r,e,o.pluginArgument||t,n,o,!!n.pluginKey)}function Q(e,t,r,o,i){var a=n(t,r||nt);if(a)return T(e.baseURL,e.paths,a);if(o){var s=N(e.map,t);if(s&&(t=e.map[s]+t.substr(s.length),a=n(t,nt)))return T(e.baseURL,e.paths,a)}if(this.registry.has(t))return t;if("@node/"===t.substr(0,6))return t;var u=i&&"/"!==t[t.length-1],l=T(e.baseURL,e.paths,u?t+"/":t);return u?l.substr(0,l.length-1):l}function V(e,t,r,n,o,i){if(o&&o.packageConfig&&"."!==t[0]){var a=o.packageConfig.map,s=a&&N(a,t);if(s&&"string"==typeof a[s]){var u=ue(this,e,o.packageConfig,o.packageKey,s,t,n,i);if(u)return u}}var l=Q.call(this,e,t,r,!0,!0),c=de(e,l);if(n.packageKey=c&&c.packageKey||N(e.packages,l),!n.packageKey)return l;if(-1!==e.packageConfigKeys.indexOf(l))return n.packageKey=void 0,l;n.packageConfig=e.packages[n.packageKey]||(e.packages[n.packageKey]=Ee());var f=l.substr(n.packageKey.length+1);return ae(this,e,n.packageConfig,n.packageKey,f,n,i)}function ee(e,t,r,n,o,i){var a=this;return Et.then(function(){if(o&&o.packageConfig&&"./"!==t.substr(0,2)){var r=o.packageConfig.map,s=r&&N(r,t);if(s)return ce(a,e,o.packageConfig,o.packageKey,s,t,n,i)}return Et}).then(function(o){if(o)return o;var s=Q.call(a,e,t,r,!0,!0),u=de(e,s);return n.packageKey=u&&u.packageKey||N(e.packages,s),n.packageKey?-1!==e.packageConfigKeys.indexOf(s)?(n.packageKey=void 0,n.load=te(),n.load.format="json",n.load.loader="",Promise.resolve(s)):(n.packageConfig=e.packages[n.packageKey]||(e.packages[n.packageKey]=Ee()),(u&&!n.packageConfig.configured?pe(a,e,u.configPath,n):Et).then(function(){var t=s.substr(n.packageKey.length+1);return le(a,e,n.packageConfig,n.packageKey,t,n,i)})):Promise.resolve(s)})}function te(){return{extension:"",deps:void 0,format:void 0,loader:void 0,scriptLoad:void 0,globals:void 0,nonce:void 0,integrity:void 0,sourceMap:void 0,exports:void 0,encapsulateGlobal:!1,crossOrigin:void 0,cjsRequireDetection:!0,cjsDeferDepsExecute:!1,esModule:!1}}function re(e,t,r){r.load=r.load||te();var n,o=0;for(var i in e.meta)if(-1!==(n=i.indexOf("*"))&&i.substr(0,n)===t.substr(0,n)&&i.substr(n+1)===t.substr(t.length-i.length+n+1)){var a=i.split("/").length;a>o&&(o=a),F(r.load,e.meta[i],o!==a)}if(e.meta[t]&&F(r.load,e.meta[t],!1),r.packageKey){var s=t.substr(r.packageKey.length+1),u={};if(r.packageConfig.meta){o=0;ge(r.packageConfig.meta,s,function(e,t,r){r>o&&(o=r),F(u,t,r&&o>r)}),F(r.load,u,!1)}!r.packageConfig.format||r.pluginKey||r.load.loader||(r.load.format=r.load.format||r.packageConfig.format)}}function ne(e,t){var r,n,o=e?t.indexOf("!"):t.lastIndexOf("!");if(-1!==o)return e?(r=t.substr(o+1),n=t.substr(0,o)):(r=t.substr(0,o),n=t.substr(o+1)||r.substr(r.lastIndexOf(".")+1)),{argument:r,plugin:n}}function oe(e,t,r){return e?r+"!"+t:t+"!"+r}function ie(e,t,r,n,o){if(!n||!t.defaultExtension||"/"===n[n.length-1]||o)return n;var i=!1;if(t.meta&&ge(t.meta,n,function(e,t,r){if(0===r||e.lastIndexOf("*")!==e.length-1)return i=!0}),!i&&e.meta&&ge(e.meta,r+"/"+n,function(e,t,r){if(0===r||e.lastIndexOf("*")!==e.length-1)return i=!0}),i)return n;var a="."+t.defaultExtension;return n.substr(n.length-a.length)!==a?n+a:n}function ae(e,t,r,n,o,i,a){if(!o){if(!r.main)return n;o="./"===r.main.substr(0,2)?r.main.substr(2):r.main}if(r.map){var s="./"+o,u=N(r.map,s);if(u||(s="./"+ie(t,r,n,o,a))!=="./"+o&&(u=N(r.map,s)),u){var l=ue(e,t,r,n,u,s,i,a);if(l)return l}}return n+"/"+ie(t,r,n,o,a)}function se(e,t,r){return!(t.substr(0,e.length)===e&&r.length>e.length)}function ue(e,t,r,n,o,i,a,s){"/"===i[i.length-1]&&(i=i.substr(0,i.length-1));var u=r.map[o];if("object"==typeof u)throw new Error("Synchronous conditional normalization not supported sync normalizing "+o+" in "+n);if(se(o,u,i)&&"string"==typeof u)return V.call(e,t,u+i.substr(o.length),n+"/",a,a,s)}function le(e,t,r,n,o,i,a){if(!o){if(!r.main)return Promise.resolve(n);o="./"===r.main.substr(0,2)?r.main.substr(2):r.main}var s,u;return r.map&&(s="./"+o,(u=N(r.map,s))||(s="./"+ie(t,r,n,o,a))!=="./"+o&&(u=N(r.map,s))),(u?ce(e,t,r,n,u,s,i,a):Et).then(function(e){return e?Promise.resolve(e):Promise.resolve(n+"/"+ie(t,r,n,o,a))})}function ce(e,t,r,n,o,i,a,s){"/"===i[i.length-1]&&(i=i.substr(0,i.length-1));var u=r.map[o];if("string"==typeof u)return se(o,u,i)?ee.call(e,t,u+i.substr(o.length),n+"/",a,a,s).then(function(t){return ve.call(e,t,n+"/",a)}):Et;var l=[],c=[];for(var d in u){var p=he(d);c.push({condition:p,map:u[d]}),l.push(f.prototype.import.call(e,p.module,n))}return Promise.all(l).then(function(e){for(var t=0;t1?o instanceof Array?r[n]=[].concat(o):"object"==typeof o?r[n]=be(o,t-1):"packageConfig"!==n&&(r[n]=o):r[n]=o}return r}function we(e,t){var r=e[t];return r instanceof Array?e[t].concat([]):"object"==typeof r?be(r,3):e[t]}function xe(e){if(e){if(-1!==Or.indexOf(e))return we(this[St],e);throw new Error('"'+e+'" is not a valid configuration name. Must be one of '+Or.join(", ")+".")}for(var t={},r=0;r "+o.paths[a]+" is no longer supported as wildcards are deprecated."),delete o.paths[a])}if(e.defaultJSExtensions&&R.call(o,"The defaultJSExtensions configuration option is deprecated.\n Use packages defaultExtension instead.",!0),"boolean"==typeof e.pluginFirst&&(o.pluginFirst=e.pluginFirst),e.map)for(var a in e.map){var s=e.map[a];if("string"==typeof s){var u=Q.call(r,o,s,void 0,!1,!1);"/"===u[u.length-1]&&":"!==a[a.length-1]&&"/"!==a[a.length-1]&&(u=u.substr(0,u.length-1)),o.map[a]=u}else{m=(m=Q.call(r,o,"/"!==a[a.length-1]?a+"/":a,void 0,!0,!0)).substr(0,m.length-1);var l=o.packages[m];l||((l=o.packages[m]=Ee()).defaultExtension=""),Oe(l,{map:s},m,!1,o)}}if(e.packageConfigPaths){for(var c=[],f=0;ft.index)return!0;return!1}It.lastIndex=tr.lastIndex=rr.lastIndex=0;var r,n=[],o=[],i=[];if(e.length/e.split("\n").length<200){for(;r=rr.exec(e);)o.push([r.index,r.index+r[0].length]);for(;r=tr.exec(e);)t(o,r)||i.push([r.index+r[1].length,r.index+r[0].length-1])}for(;r=It.exec(e);)if(!t(o,r)&&!t(i,r)){var a=r[1].substr(1,r[1].length-2);if(a.match(/"|'/))continue;n.push(a)}return n}function Fe(e){if(-1===nr.indexOf(e)){try{var t=st[e]}catch(t){nr.push(e)}this(e,t)}}function Ke(e){if("string"==typeof e)return q(e,st);if(!(e instanceof Array))throw new Error("Global exports must be a string or array.");for(var t={},r=0;r1;)e=e[n=o.shift()]=e[n]||{};void 0===e[n=o.shift()]&&(e[n]=r)}function Ve(e,t){var r=e.match(br);if(r)for(var n=r[0].match(wr),o=0;o1&&g(e,r,i))})).then(function(t){if(void 0!==t){if(!(t instanceof l))throw new TypeError("Instantiate did not return a valid Module object.");return delete i.records[r.key],e.trace&&v(e,r,n),o[r.key]=t}var a=r.registration;if(r.registration=void 0,!a)throw new TypeError("Module instantiation did not call an anonymous or correctly named System.register.");return n.dependencies=a[0],r.importerSetters=[],n.moduleObj={},a[2]?(n.moduleObj.default=n.moduleObj.__useDefault={},n.executingRequire=a[1],n.execute=a[2]):y(e,r,n,a[1]),r}).catch(function(e){throw r.linkRecord=void 0,r.loadError=r.loadError||t(e,"Instantiating "+r.key)}))}function m(e,t,r,n,o,i){return e.resolve(t,r).then(function(r){i&&(i[t]=r);var a=o.records[r],s=n[r];if(s&&(!a||a.module&&s!==a.module))return s;if(a&&a.loadError)throw a.loadError;(!a||!s&&a.module)&&(a=d(o,r,a&&a.registration));var u=a.linkRecord;return u?h(e,a,u,n,o):a})}function v(e,t,r){e.loads=e.loads||{},e.loads[t.key]={key:t.key,deps:r.dependencies,dynamicDeps:[],depMap:r.depMap||{}}}function y(e,t,r,n){var o=r.moduleObj,i=t.importerSetters,a=!1,s=n.call(tt,function(e,t){if("object"==typeof e){var r=!1;for(var n in e)t=e[n],"__useDefault"===n||n in o&&o[n]===t||(r=!0,o[n]=t);if(!1===r)return t}else{if((a||e in o)&&o[e]===t)return t;o[e]=t}for(var s=0;sthis.len&&(this.match=e,this.len=r)}}function z(e,t){if(Object.hasOwnProperty.call(e,t))return t;var r={name:t,match:void 0,len:0};return Object.keys(e).forEach(T,r),r.match}function N(e,t,r,n){return new Promise(function(r,o){function i(){r(n?s.response:s.responseText)}function a(){o(new Error("XHR error: "+(s.status?" ("+s.status+(s.statusText?" "+s.statusText:"")+")":"")+" loading "+e))}e=e.replace(/#/g,"%23");var s=new XMLHttpRequest;n&&(s.responseType="arraybuffer"),s.onreadystatechange=function(){4===s.readyState&&(0==s.status?s.response?i():(s.addEventListener("error",a),s.addEventListener("load",i)):200===s.status?i():a())},s.open("GET",e,!0),s.setRequestHeader&&(s.setRequestHeader("Accept","application/x-es-module, */*"),t&&("string"==typeof t&&s.setRequestHeader("Authorization",t),s.withCredentials=!0)),s.send(null)})}function J(){return{pluginKey:void 0,pluginArgument:void 0,pluginModule:void 0,packageKey:void 0,packageConfig:void 0,load:void 0}}function $(e,t,r){var n=J();if(r){var o;t.pluginFirst?-1!==(o=r.lastIndexOf("!"))&&(n.pluginArgument=n.pluginKey=r.substr(0,o)):-1!==(o=r.indexOf("!"))&&(n.pluginArgument=n.pluginKey=r.substr(o+1)),n.packageKey=z(t.packages,r),n.packageKey&&(n.packageConfig=t.packages[n.packageKey])}return n}function B(e,t){var r=Q(e.pluginFirst,t);if(r){var n=B.call(this,e,r.plugin);return V(e.pluginFirst,G.call(this,e,r.argument,void 0,!1,!1),n)}return G.call(this,e,t,void 0,!1,!1)}function W(e,t){var r=this[bt],n=J(),o=o||$(this,r,t),i=Q(r.pluginFirst,e);return i?(n.pluginKey=W.call(this,i.plugin,t),V(r.pluginFirst,H.call(this,r,i.argument,o.pluginArgument||t,n,o,!!n.pluginKey),n.pluginKey)):H.call(this,r,e,o.pluginArgument||t,n,o,!!n.pluginKey)}function G(e,t,r,o,i){var a=n(t,r||Ye);if(a)return q(e.baseURL,e.paths,a);if(o){var s=z(e.map,t);if(s&&(t=e.map[s]+t.substr(s.length),a=n(t,Ye)))return q(e.baseURL,e.paths,a)}if(this.registry.has(t))return t;if("@node/"===t.substr(0,6))return t;var u=i&&"/"!==t[t.length-1],l=q(e.baseURL,e.paths,u?t+"/":t);return u?l.substr(0,l.length-1):l}function H(e,t,r,n,o,i){if(o&&o.packageConfig&&"."!==t[0]){var a=o.packageConfig.map,s=a&&z(a,t);if(s&&"string"==typeof a[s]){var u=ne(this,e,o.packageConfig,o.packageKey,s,t,n,i);if(u)return u}}var l=G.call(this,e,t,r,!0,!0),c=se(e,l);if(n.packageKey=c&&c.packageKey||z(e.packages,l),!n.packageKey)return l;if(-1!==e.packageConfigKeys.indexOf(l))return n.packageKey=void 0,l;n.packageConfig=e.packages[n.packageKey]||(e.packages[n.packageKey]=me());var f=l.substr(n.packageKey.length+1);return te(this,e,n.packageConfig,n.packageKey,f,n,i)}function Z(e,t,r,n,o,i){var a=this;return vt.then(function(){if(o&&o.packageConfig&&"./"!==t.substr(0,2)){var r=o.packageConfig.map,s=r&&z(r,t);if(s)return ie(a,e,o.packageConfig,o.packageKey,s,t,n,i)}return vt}).then(function(o){if(o)return o;var s=G.call(a,e,t,r,!0,!0),u=se(e,s);return n.packageKey=u&&u.packageKey||z(e.packages,s),n.packageKey?-1!==e.packageConfigKeys.indexOf(s)?(n.packageKey=void 0,n.load=X(),n.load.format="json",n.load.loader="",Promise.resolve(s)):(n.packageConfig=e.packages[n.packageKey]||(e.packages[n.packageKey]=me()),(u&&!n.packageConfig.configured?ue(a,e,u.configPath,n):vt).then(function(){var t=s.substr(n.packageKey.length+1);return oe(a,e,n.packageConfig,n.packageKey,t,n,i)})):Promise.resolve(s)})}function X(){return{extension:"",deps:void 0,format:void 0,loader:void 0,scriptLoad:void 0,globals:void 0,nonce:void 0,integrity:void 0,sourceMap:void 0,exports:void 0,encapsulateGlobal:!1,crossOrigin:void 0,cjsRequireDetection:!0,cjsDeferDepsExecute:!1,esModule:!1}}function Y(e,t,r){r.load=r.load||X();var n,o=0;for(var i in e.meta)if(-1!==(n=i.indexOf("*"))&&i.substr(0,n)===t.substr(0,n)&&i.substr(n+1)===t.substr(t.length-i.length+n+1)){var a=i.split("/").length;a>o&&(o=a),I(r.load,e.meta[i],o!==a)}if(e.meta[t]&&I(r.load,e.meta[t],!1),r.packageKey){var s=t.substr(r.packageKey.length+1),u={};if(r.packageConfig.meta){o=0;le(r.packageConfig.meta,s,function(e,t,r){r>o&&(o=r),I(u,t,r&&o>r)}),I(r.load,u,!1)}!r.packageConfig.format||r.pluginKey||r.load.loader||(r.load.format=r.load.format||r.packageConfig.format)}}function Q(e,t){var r,n,o=e?t.indexOf("!"):t.lastIndexOf("!");if(-1!==o)return e?(r=t.substr(o+1),n=t.substr(0,o)):(r=t.substr(0,o),n=t.substr(o+1)||r.substr(r.lastIndexOf(".")+1)),{argument:r,plugin:n}}function V(e,t,r){return e?r+"!"+t:t+"!"+r}function ee(e,t,r,n,o){if(!n||!t.defaultExtension||"/"===n[n.length-1]||o)return n;var i=!1;if(t.meta&&le(t.meta,n,function(e,t,r){if(0===r||e.lastIndexOf("*")!==e.length-1)return i=!0}),!i&&e.meta&&le(e.meta,r+"/"+n,function(e,t,r){if(0===r||e.lastIndexOf("*")!==e.length-1)return i=!0}),i)return n;var a="."+t.defaultExtension;return n.substr(n.length-a.length)!==a?n+a:n}function te(e,t,r,n,o,i,a){if(!o){if(!r.main)return n;o="./"===r.main.substr(0,2)?r.main.substr(2):r.main}if(r.map){var s="./"+o,u=z(r.map,s);if(u||(s="./"+ee(t,r,n,o,a))!=="./"+o&&(u=z(r.map,s)),u){var l=ne(e,t,r,n,u,s,i,a);if(l)return l}}return n+"/"+ee(t,r,n,o,a)}function re(e,t,r){return!(t.substr(0,e.length)===e&&r.length>e.length)}function ne(e,t,r,n,o,i,a,s){"/"===i[i.length-1]&&(i=i.substr(0,i.length-1));var u=r.map[o];if("object"==typeof u)throw new Error("Synchronous conditional normalization not supported sync normalizing "+o+" in "+n);if(re(o,u,i)&&"string"==typeof u)return H.call(e,t,u+i.substr(o.length),n+"/",a,a,s)}function oe(e,t,r,n,o,i,a){if(!o){if(!r.main)return Promise.resolve(n);o="./"===r.main.substr(0,2)?r.main.substr(2):r.main}var s,u;return r.map&&(s="./"+o,(u=z(r.map,s))||(s="./"+ee(t,r,n,o,a))!=="./"+o&&(u=z(r.map,s))),(u?ie(e,t,r,n,u,s,i,a):vt).then(function(e){return e?Promise.resolve(e):Promise.resolve(n+"/"+ee(t,r,n,o,a))})}function ie(e,t,r,n,o,i,a,s){"/"===i[i.length-1]&&(i=i.substr(0,i.length-1));var u=r.map[o];if("string"==typeof u)return re(o,u,i)?Z.call(e,t,u+i.substr(o.length),n+"/",a,a,s).then(function(t){return de.call(e,t,n+"/",a)}):vt;var l=[],c=[];for(var d in u){var p=ce(d);c.push({condition:p,map:u[d]}),l.push(f.prototype.import.call(e,p.module,n))}return Promise.all(l).then(function(e){for(var t=0;t1?o instanceof Array?r[n]=[].concat(o):"object"==typeof o?r[n]=ge(o,t-1):"packageConfig"!==n&&(r[n]=o):r[n]=o}return r}function he(e,t){var r=e[t];return r instanceof Array?e[t].concat([]):"object"==typeof r?ge(r,3):e[t]}function me(){return{defaultExtension:void 0,main:void 0,format:void 0,meta:void 0,map:void 0,packageConfig:void 0,configured:!1}}function ve(e,t,r,n,o){for(var i in t)"main"===i||"format"===i||"defaultExtension"===i||"configured"===i?n&&void 0!==e[i]||(e[i]=t[i]):"map"===i?(n?A:L)(e.map=e.map||{},t.map):"meta"===i?(n?A:L)(e.meta=e.meta||{},t.meta):Object.hasOwnProperty.call(t,i)&&M.call(o,'"'+i+'" is not a valid package configuration option in package '+r);return void 0===e.defaultExtension&&(e.defaultExtension="js"),void 0===e.main&&e.map&&e.map["."]?(e.main=e.map["."],delete e.map["."]):"object"==typeof e.main&&(e.map=e.map||{},e.map["./@main"]=e.main,e.main.default=e.main.default||"./",e.main="@main"),e}function ye(e){return It?qt+new Buffer(e).toString("base64"):"undefined"!=typeof btoa?qt+btoa(unescape(encodeURIComponent(e))):""}function be(e,t,r,n){var o=e.lastIndexOf("\n");if(t){if("object"!=typeof t)throw new TypeError("load.metadata.sourceMap must be set to an object.");t=JSON.stringify(t)}return(n?"(function(System, SystemJS) {":"")+e+(n?"\n})(System, System);":"")+("\n//# sourceURL="!=e.substr(o,15)?"\n//# sourceURL="+r+(t?"!transpiled":""):"")+(t&&ye(t)||"")}function we(e,t,r,n,o){Ft||(Ft=document.head||document.body||document.documentElement);var i=document.createElement("script");i.text=be(t,r,n,!1);var a,s=window.onerror;if(window.onerror=function(e){a=addToError(e,"Evaluating "+n),s&&s.apply(this,arguments)},xe(e),o&&i.setAttribute("nonce",o),Ft.appendChild(i),Ft.removeChild(i),ke(),window.onerror=s,a)return a}function xe(e){0==Tt++&&(Ut=tt.System),tt.System=tt.SystemJS=e}function ke(){0==--Tt&&(tt.System=tt.SystemJS=Ut)}function Ee(e,t,r,n,o,i,a){if(t){if(i&&zt)return we(e,t,r,n,i);try{xe(e),!Kt&&e._nodeRequire&&(Kt=e._nodeRequire("vm"),Dt=Kt.runInThisContext("typeof System !== 'undefined' && System")===e),Dt?Kt.runInThisContext(be(t,r,n,!a),{filename:n+(r?"!transpiled":"")}):(0,eval)(be(t,r,n,!a)),ke()}catch(e){return ke(),e}}}function Oe(e){e.set("@@cjs-helpers",e.newModule({requireResolve:_e.bind(e),getPathVars:Pe})),e.set("@@global-helpers",e.newModule({prepareGlobal:Le}))}function Se(e){function t(r,n,o,i){if("object"==typeof r&&!(r instanceof Array))return t.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if("string"==typeof r&&"function"==typeof n&&(r=[r]),!(r instanceof Array)){if("string"==typeof r){var a=e.decanonicalize(r,i),s=e.get(a);if(!s)throw new Error('Module not already loaded loading "'+r+'" as '+a+(i?' from "'+i+'".':"."));return"__useDefault"in s?s.__useDefault:s}throw new TypeError("Invalid require")}for(var u=[],l=0;lt.index)return!0;return!1}_t.lastIndex=Gt.lastIndex=Ht.lastIndex=0;var r,n=[],o=[],i=[];if(e.length/e.split("\n").length<200){for(;r=Ht.exec(e);)o.push([r.index,r.index+r[0].length]);for(;r=Gt.exec(e);)t(o,r)||i.push([r.index+r[1].length,r.index+r[0].length-1])}for(;r=_t.exec(e);)if(!t(o,r)&&!t(i,r)){var a=r[1].substr(1,r[1].length-2);if(a.match(/"|'/))continue;n.push(a)}return n}function Re(e){if(-1===Zt.indexOf(e)){try{var t=tt[e]}catch(t){Zt.push(e)}this(e,t)}}function Ce(e){if("string"==typeof e)return U(e,tt);if(!(e instanceof Array))throw new Error("Global exports must be a string or array.");for(var t={},r=0;r1;)e=e[n=o.shift()]=e[n]||{};void 0===e[n=o.shift()]&&(e[n]=r)}function Ge(e,t){var r=e.match(fr);if(r)for(var n=r[0].match(dr),o=0;o "+o.paths[a]+" is no longer supported as wildcards are deprecated."),delete o.paths[a])}if(e.defaultJSExtensions&&M.call(o,"The defaultJSExtensions configuration option is deprecated.\n Use packages defaultExtension instead.",!0),"boolean"==typeof e.pluginFirst&&(o.pluginFirst=e.pluginFirst),e.map)for(var a in e.map){var s=e.map[a];if("string"==typeof s){var u=G.call(r,o,s,void 0,!1,!1);"/"===u[u.length-1]&&":"!==a[a.length-1]&&"/"!==a[a.length-1]&&(u=u.substr(0,u.length-1)),o.map[a]=u}else{m=(m=G.call(r,o,"/"!==a[a.length-1]?a+"/":a,void 0,!0,!0)).substr(0,m.length-1);var l=o.packages[m];l||((l=o.packages[m]={defaultExtension:void 0,main:void 0,format:void 0,meta:void 0,map:void 0,packageConfig:void 0,configured:!1}).defaultExtension=""),ve(l,{map:s},m,!1,o)}}if(e.packageConfigPaths){for(var c=[],f=0;f skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\n\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\n\nexport var resolvedPromise = Promise.resolve();\nexport function noop () {};\n\nexport var emptyModule = new ModuleNamespace({});\n\nexport function protectedCreateNamespace (bindings) {\n if (bindings instanceof ModuleNamespace)\n return bindings;\n\n if (bindings && bindings.__esModule)\n return new ModuleNamespace(bindings);\n\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\n}\n\nvar hasStringTag;\nexport function isModule (m) {\n if (hasStringTag === undefined)\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\n}\n\nexport var CONFIG = createSymbol('loader-config');\nexport var METADATA = createSymbol('metadata');\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\n\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\n\nexport function warn (msg, force) {\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\n console.warn(msg);\n}\n\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\n var bytes = new Uint8Array(wasmBuffer);\n\n // detect by leading bytes\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\n return WebAssembly.compile(wasmBuffer).then(function (m) {\n var deps = [];\n var setters = [];\n var importObj = {};\n\n // we can only set imports if supported (eg Safari doesnt support)\n if (WebAssembly.Module.imports)\n WebAssembly.Module.imports(m).forEach(function (i) {\n var key = i.module;\n setters.push(function (m) {\n importObj[key] = m;\n });\n if (deps.indexOf(key) === -1)\n deps.push(key);\n });\n loader.register(deps, function (_export) {\n return {\n setters: setters,\n execute: function () {\n _export(new WebAssembly.Instance(m, importObj).exports);\n }\n };\n });\n processAnonRegister();\n\n return true;\n });\n }\n\n return Promise.resolve(false);\n}\n\nvar parentModuleContext;\nexport function loadNodeModule (key, baseURL) {\n if (key[0] === '.')\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\n\n if (!parentModuleContext) {\n var Module = this._nodeRequire('module');\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\n parentModuleContext = new Module(base);\n parentModuleContext.paths = Module._nodeModulePaths(base);\n }\n return parentModuleContext.require(key);\n}\n\nexport function extend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n a[p] = b[p];\n }\n return a;\n}\n\nexport function prepend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n if (a[p] === undefined)\n a[p] = b[p];\n }\n return a;\n}\n\n// meta first-level extends where:\n// array + array appends\n// object + object extends\n// other properties replace\nexport function extendMeta (a, b, _prepend) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n var val = b[p];\n if (a[p] === undefined)\n a[p] = val;\n else if (val instanceof Array && a[p] instanceof Array)\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\n else if (!_prepend)\n a[p] = val;\n }\n}\n\nvar supportsPreload = false, supportsPrefetch = false;\nif (isBrowser)\n (function () {\n var relList = document.createElement('link').relList;\n if (relList && relList.supports) {\n supportsPrefetch = true;\n try {\n supportsPreload = relList.supports('preload');\n }\n catch (e) {}\n }\n })();\n\nexport function preloadScript (url) {\n // fallback to old fashioned image technique which still works in safari\n if (!supportsPreload && !supportsPrefetch) {\n var preloadImage = new Image();\n preloadImage.src = url;\n return;\n }\n\n var link = document.createElement('link');\n if (supportsPreload) {\n link.rel = 'preload';\n link.as = 'script';\n }\n else {\n // this works for all except Safari (detected by relList.supports lacking)\n link.rel = 'prefetch';\n }\n link.href = url;\n document.head.appendChild(link);\n}\n\nfunction workerImport (src, resolve, reject) {\n try {\n importScripts(src);\n }\n catch (e) {\n reject(e);\n }\n resolve();\n}\n\nif (isBrowser) {\n var loadingScripts = [];\n var onerror = window.onerror;\n window.onerror = function globalOnerror (msg, src) {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].src !== src)\n continue;\n loadingScripts[i].err(msg);\n return;\n }\n if (onerror)\n onerror.apply(this, arguments);\n };\n}\n\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\n // percent encode just \"#\" for HTTP requests\n src = src.replace(/#/g, '%23');\n\n // subresource integrity is not supported in web workers\n if (isWorker)\n return workerImport(src, resolve, reject);\n\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.charset = 'utf-8';\n script.async = true;\n\n if (crossOrigin)\n script.crossOrigin = crossOrigin;\n if (integrity)\n script.integrity = integrity;\n\n script.addEventListener('load', load, false);\n script.addEventListener('error', error, false);\n\n script.src = src;\n document.head.appendChild(script);\n\n function load () {\n resolve();\n cleanup();\n }\n\n // note this does not catch execution errors\n function error (err) {\n cleanup();\n reject(new Error('Fetching ' + src));\n }\n\n function cleanup () {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].err === error) {\n loadingScripts.splice(i, 1);\n break;\n }\n }\n script.removeEventListener('load', load, false);\n script.removeEventListener('error', error, false);\n document.head.removeChild(script);\n }\n}\n\nexport function readMemberExpression (p, value) {\n var pParts = p.split('.');\n while (pParts.length)\n value = value[pParts.shift()];\n return value;\n}\n\n// separate out paths cache as a baseURL lock process\nexport function applyPaths (baseURL, paths, key) {\n var mapMatch = getMapMatch(paths, key);\n if (mapMatch) {\n var target = paths[mapMatch] + key.substr(mapMatch.length);\n\n var resolved = resolveIfNotPlain(target, baseURI);\n if (resolved !== undefined)\n return resolved;\n\n return baseURL + target;\n }\n else if (key.indexOf(':') !== -1) {\n return key;\n }\n else {\n return baseURL + key;\n }\n}\n\nfunction checkMap (p) {\n var name = this.name;\n // can add ':' here if we want paths to match the behaviour of map\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\n var curLen = p.split('/').length;\n if (curLen > this.len) {\n this.match = p;\n this.len = curLen;\n }\n }\n}\n\nexport function getMapMatch (map, name) {\n if (Object.hasOwnProperty.call(map, name))\n return name;\n\n var bestMatch = {\n name: name,\n match: undefined,\n len: 0\n };\n\n Object.keys(map).forEach(checkMap, bestMatch);\n\n return bestMatch.match;\n}\n\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\n","import { isWindows } from './common.js';\n\n/*\n * Source loading\n */\nfunction fetchFetch (url, authorization, integrity, asBuffer) {\n // fetch doesn't support file:/// urls\n if (url.substr(0, 8) === 'file:///') {\n if (hasXhr)\n return xhrFetch(url, authorization, integrity, asBuffer);\n else\n throw new Error('Unable to fetch file URLs in this environment.');\n }\n\n // percent encode just \"#\" for HTTP requests\n url = url.replace(/#/g, '%23');\n\n var opts = {\n // NB deprecate\n headers: { Accept: 'application/x-es-module, */*' }\n };\n\n if (integrity)\n opts.integrity = integrity;\n\n if (authorization) {\n if (typeof authorization == 'string')\n opts.headers['Authorization'] = authorization;\n opts.credentials = 'include';\n }\n\n return fetch(url, opts)\n .then(function(res) {\n if (res.ok)\n return asBuffer ? res.arrayBuffer() : res.text();\n else\n throw new Error('Fetch error: ' + res.status + ' ' + res.statusText);\n });\n}\n\nfunction xhrFetch (url, authorization, integrity, asBuffer) {\n return new Promise(function (resolve, reject) {\n // percent encode just \"#\" for HTTP requests\n url = url.replace(/#/g, '%23');\n\n var xhr = new XMLHttpRequest();\n if (asBuffer)\n xhr.responseType = 'arraybuffer';\n function load() {\n resolve(asBuffer ? xhr.response : xhr.responseText);\n }\n function error() {\n reject(new Error('XHR error: ' + (xhr.status ? ' (' + xhr.status + (xhr.statusText ? ' ' + xhr.statusText : '') + ')' : '') + ' loading ' + url));\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n // in Chrome on file:/// URLs, status is 0\n if (xhr.status == 0) {\n if (xhr.response) {\n load();\n }\n else {\n // when responseText is empty, wait for load or error event\n // to inform if it is a 404 or empty file\n xhr.addEventListener('error', error);\n xhr.addEventListener('load', load);\n }\n }\n else if (xhr.status === 200) {\n load();\n }\n else {\n error();\n }\n }\n };\n xhr.open(\"GET\", url, true);\n\n if (xhr.setRequestHeader) {\n xhr.setRequestHeader('Accept', 'application/x-es-module, */*');\n // can set \"authorization: true\" to enable withCredentials only\n if (authorization) {\n if (typeof authorization == 'string')\n xhr.setRequestHeader('Authorization', authorization);\n xhr.withCredentials = true;\n }\n }\n\n xhr.send(null);\n });\n}\n\nvar fs;\nfunction nodeFetch (url, authorization, integrity, asBuffer) {\n if (url.substr(0, 8) != 'file:///')\n return Promise.reject(new Error('Unable to fetch \"' + url + '\". Only file URLs of the form file:/// supported running in Node.'));\n\n fs = fs || require('fs');\n if (isWindows)\n url = url.replace(/\\//g, '\\\\').substr(8);\n else\n url = url.substr(7);\n\n return new Promise(function (resolve, reject) {\n fs.readFile(url, function(err, data) {\n if (err) {\n return reject(err);\n }\n else {\n if (asBuffer) {\n resolve(data);\n }\n else {\n // Strip Byte Order Mark out if it's the leading char\n var dataString = data + '';\n if (dataString[0] === '\\ufeff')\n dataString = dataString.substr(1);\n\n resolve(dataString);\n }\n }\n });\n });\n}\n\nfunction noFetch () {\n throw new Error('No fetch method is defined for this environment.');\n}\n\nvar fetchFunction;\n\nvar hasXhr = typeof XMLHttpRequest !== 'undefined';\n\nif (typeof self !== 'undefined' && typeof self.fetch !== 'undefined')\n fetchFunction = fetchFetch;\nelse if (hasXhr)\n fetchFunction = xhrFetch;\nelse if (typeof require !== 'undefined' && typeof process !== 'undefined')\n fetchFunction = nodeFetch;\nelse\n fetchFunction = noFetch;\n\nexport default fetchFunction;\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { getMapMatch, readMemberExpression, extendMeta, addToError, resolveIfNotPlain,\n baseURI, CONFIG, METADATA, applyPaths, resolvedPromise, getPackage } from './common.js';\nimport { setPkgConfig, createPackage } from './config.js';\nimport fetch from './fetch.js';\n\nexport function createMetadata () {\n return {\n pluginKey: undefined,\n pluginArgument: undefined,\n pluginModule: undefined,\n packageKey: undefined,\n packageConfig: undefined,\n load: undefined\n };\n}\n\nfunction getCoreParentMetadata (loader, config, parentKey) {\n var parentMetadata = createMetadata();\n\n if (parentKey) {\n // detect parent plugin\n // we just need pluginKey to be truthy for package configurations\n // so we duplicate it as pluginArgument - although not correct its not used\n var parentPluginIndex;\n if (config.pluginFirst) {\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\n }\n else {\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\n }\n }\n\n return parentMetadata;\n}\n\nfunction getParentMetadata (loader, config, parentKey) {\n var parentMetadata = createMetadata();\n\n if (parentKey) {\n // detect parent plugin\n // we just need pluginKey to be truthy for package configurations\n // so we duplicate it as pluginArgument - although not correct its not used\n var parentPluginIndex;\n if (config.pluginFirst) {\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\n }\n else {\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\n }\n\n // detect parent package\n parentMetadata.packageKey = getMapMatch(config.packages, parentKey);\n if (parentMetadata.packageKey)\n parentMetadata.packageConfig = config.packages[parentMetadata.packageKey];\n }\n\n return parentMetadata;\n}\n\nexport function normalize (key, parentKey) {\n var config = this[CONFIG];\n\n var metadata = createMetadata();\n var parentMetadata = getParentMetadata(this, config, parentKey);\n\n var loader = this;\n\n return Promise.resolve()\n\n // boolean conditional\n .then(function () {\n // first we normalize the conditional\n var booleanIndex = key.lastIndexOf('#?');\n\n if (booleanIndex === -1)\n return Promise.resolve(key);\n\n var conditionObj = parseCondition.call(loader, key.substr(booleanIndex + 2));\n\n // in builds, return normalized conditional\n /*if (this.builder)\n return this.resolve(conditionObj.module, parentKey)\n .then(function (conditionModule) {\n conditionObj.module = conditionModule;\n return key.substr(0, booleanIndex) + '#?' + serializeCondition(conditionObj);\n });*/\n\n return resolveCondition.call(loader, conditionObj, parentKey, true)\n .then(function (conditionValue) {\n return conditionValue ? key.substr(0, booleanIndex) : '@empty';\n });\n })\n\n // plugin\n .then(function (key) {\n var parsed = parsePlugin(config.pluginFirst, key);\n\n if (!parsed)\n return packageResolve.call(loader, config, key, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, false);\n\n metadata.pluginKey = parsed.plugin;\n\n return Promise.all([\n packageResolve.call(loader, config, parsed.argument, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, true),\n loader.resolve(parsed.plugin, parentKey)\n ])\n .then(function (normalized) {\n metadata.pluginArgument = normalized[0];\n metadata.pluginKey = normalized[1];\n\n // don't allow a plugin to load itself\n if (metadata.pluginArgument === metadata.pluginKey)\n throw new Error('Plugin ' + metadata.pluginArgument + ' cannot load itself, make sure it is excluded from any wildcard meta configuration via a custom loader: false rule.');\n\n return combinePluginParts(config.pluginFirst, normalized[0], normalized[1]);\n });\n })\n .then(function (normalized) {\n return interpolateConditional.call(loader, normalized, parentKey, parentMetadata);\n })\n .then(function (normalized) {\n setMeta.call(loader, config, normalized, metadata);\n\n if (metadata.pluginKey || !metadata.load.loader)\n return normalized;\n\n // loader by configuration\n // normalizes to parent to support package loaders\n return loader.resolve(metadata.load.loader, normalized)\n .then(function (pluginKey) {\n metadata.pluginKey = pluginKey;\n metadata.pluginArgument = normalized;\n return normalized;\n });\n })\n .then(function (normalized) {\n loader[METADATA][normalized] = metadata;\n return normalized;\n });\n}\n\n// normalization function used for registry keys\n// just does coreResolve without map\nexport function decanonicalize (config, key) {\n var parsed = parsePlugin(config.pluginFirst, key);\n\n // plugin\n if (parsed) {\n var pluginKey = decanonicalize.call(this, config, parsed.plugin);\n return combinePluginParts(config.pluginFirst, coreResolve.call(this, config, parsed.argument, undefined, false, false), pluginKey);\n }\n\n return coreResolve.call(this, config, key, undefined, false, false);\n}\n\nexport function normalizeSync (key, parentKey) {\n var config = this[CONFIG];\n\n // normalizeSync is metadataless, so create metadata\n var metadata = createMetadata();\n var parentMetadata = parentMetadata || getParentMetadata(this, config, parentKey);\n\n var parsed = parsePlugin(config.pluginFirst, key);\n\n // plugin\n if (parsed) {\n metadata.pluginKey = normalizeSync.call(this, parsed.plugin, parentKey);\n return combinePluginParts(config.pluginFirst,\n packageResolveSync.call(this, config, parsed.argument, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey),\n metadata.pluginKey);\n }\n\n return packageResolveSync.call(this, config, key, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey);\n}\n\nexport function coreResolve (config, key, parentKey, doMap, packageName) {\n var relativeResolved = resolveIfNotPlain(key, parentKey || baseURI);\n\n // standard URL resolution\n if (relativeResolved)\n return applyPaths(config.baseURL, config.paths, relativeResolved);\n\n // plain keys not starting with './', 'x://' and '/' go through custom resolution\n if (doMap) {\n var mapMatch = getMapMatch(config.map, key);\n\n if (mapMatch) {\n key = config.map[mapMatch] + key.substr(mapMatch.length);\n\n relativeResolved = resolveIfNotPlain(key, baseURI);\n if (relativeResolved)\n return applyPaths(config.baseURL, config.paths, relativeResolved);\n }\n }\n\n if (this.registry.has(key))\n return key;\n\n if (key.substr(0, 6) === '@node/')\n return key;\n\n var trailingSlash = packageName && key[key.length - 1] !== '/';\n var resolved = applyPaths(config.baseURL, config.paths, trailingSlash ? key + '/' : key);\n if (trailingSlash)\n return resolved.substr(0, resolved.length - 1);\n return resolved;\n}\n\nfunction packageResolveSync (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\n // ignore . since internal maps handled by standard package resolution\n if (parentMetadata && parentMetadata.packageConfig && key[0] !== '.') {\n var parentMap = parentMetadata.packageConfig.map;\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\n\n if (parentMapMatch && typeof parentMap[parentMapMatch] === 'string') {\n var mapped = doMapSync(this, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\n if (mapped)\n return mapped;\n }\n }\n\n var normalized = coreResolve.call(this, config, key, parentKey, true, true);\n\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\n\n if (!metadata.packageKey)\n return normalized;\n\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\n metadata.packageKey = undefined;\n return normalized;\n }\n\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\n\n var subPath = normalized.substr(metadata.packageKey.length + 1);\n\n return applyPackageConfigSync(this, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\n}\n\nfunction packageResolve (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\n var loader = this;\n\n return resolvedPromise\n .then(function () {\n // ignore . since internal maps handled by standard package resolution\n if (parentMetadata && parentMetadata.packageConfig && key.substr(0, 2) !== './') {\n var parentMap = parentMetadata.packageConfig.map;\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\n\n if (parentMapMatch)\n return doMap(loader, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\n }\n\n return resolvedPromise;\n })\n .then(function (mapped) {\n if (mapped)\n return mapped;\n\n // apply map, core, paths, contextual package map\n var normalized = coreResolve.call(loader, config, key, parentKey, true, true);\n\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\n\n if (!metadata.packageKey)\n return Promise.resolve(normalized);\n\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\n metadata.packageKey = undefined;\n metadata.load = createMeta();\n metadata.load.format = 'json';\n // ensure no loader\n metadata.load.loader = '';\n return Promise.resolve(normalized);\n }\n\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\n\n // load configuration when it matches packageConfigPaths, not already configured, and not the config itself\n var loadConfig = pkgConfigMatch && !metadata.packageConfig.configured;\n\n return (loadConfig ? loadPackageConfigPath(loader, config, pkgConfigMatch.configPath, metadata) : resolvedPromise)\n .then(function () {\n var subPath = normalized.substr(metadata.packageKey.length + 1);\n\n return applyPackageConfig(loader, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\n });\n });\n}\n\nfunction createMeta () {\n return {\n extension: '',\n deps: undefined,\n format: undefined,\n loader: undefined,\n scriptLoad: undefined,\n globals: undefined,\n nonce: undefined,\n integrity: undefined,\n sourceMap: undefined,\n exports: undefined,\n encapsulateGlobal: false,\n crossOrigin: undefined,\n cjsRequireDetection: true,\n cjsDeferDepsExecute: false,\n esModule: false\n };\n}\n\nfunction setMeta (config, key, metadata) {\n metadata.load = metadata.load || createMeta();\n\n // apply wildcard metas\n var bestDepth = 0;\n var wildcardIndex;\n for (var module in config.meta) {\n wildcardIndex = module.indexOf('*');\n if (wildcardIndex === -1)\n continue;\n if (module.substr(0, wildcardIndex) === key.substr(0, wildcardIndex)\n && module.substr(wildcardIndex + 1) === key.substr(key.length - module.length + wildcardIndex + 1)) {\n var depth = module.split('/').length;\n if (depth > bestDepth)\n bestDepth = depth;\n extendMeta(metadata.load, config.meta[module], bestDepth !== depth);\n }\n }\n\n // apply exact meta\n if (config.meta[key])\n extendMeta(metadata.load, config.meta[key], false);\n\n // apply package meta\n if (metadata.packageKey) {\n var subPath = key.substr(metadata.packageKey.length + 1);\n\n var meta = {};\n if (metadata.packageConfig.meta) {\n var bestDepth = 0;\n getMetaMatches(metadata.packageConfig.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\n if (matchDepth > bestDepth)\n bestDepth = matchDepth;\n extendMeta(meta, matchMeta, matchDepth && bestDepth > matchDepth);\n });\n\n extendMeta(metadata.load, meta, false);\n }\n\n // format\n if (metadata.packageConfig.format && !metadata.pluginKey && !metadata.load.loader)\n metadata.load.format = metadata.load.format || metadata.packageConfig.format;\n }\n}\n\nfunction parsePlugin (pluginFirst, key) {\n var argumentKey;\n var pluginKey;\n\n var pluginIndex = pluginFirst ? key.indexOf('!') : key.lastIndexOf('!');\n\n if (pluginIndex === -1)\n return;\n\n if (pluginFirst) {\n argumentKey = key.substr(pluginIndex + 1);\n pluginKey = key.substr(0, pluginIndex);\n }\n else {\n argumentKey = key.substr(0, pluginIndex);\n pluginKey = key.substr(pluginIndex + 1) || argumentKey.substr(argumentKey.lastIndexOf('.') + 1);\n }\n\n return {\n argument: argumentKey,\n plugin: pluginKey\n };\n}\n\n// put key back together after parts have been normalized\nfunction combinePluginParts (pluginFirst, argumentKey, pluginKey) {\n if (pluginFirst)\n return pluginKey + '!' + argumentKey;\n else\n return argumentKey + '!' + pluginKey;\n}\n\n/*\n * Package Configuration Extension\n *\n * Example:\n *\n * SystemJS.packages = {\n * jquery: {\n * main: 'index.js', // when not set, package key is requested directly\n * format: 'amd',\n * defaultExtension: 'ts', // defaults to 'js', can be set to false\n * modules: {\n * '*.ts': {\n * loader: 'typescript'\n * },\n * 'vendor/sizzle.js': {\n * format: 'global'\n * }\n * },\n * map: {\n * // map internal require('sizzle') to local require('./vendor/sizzle')\n * sizzle: './vendor/sizzle.js',\n * // map any internal or external require of 'jquery/vendor/another' to 'another/index.js'\n * './vendor/another.js': './another/index.js',\n * // test.js / test -> lib/test.js\n * './test.js': './lib/test.js',\n *\n * // environment-specific map configurations\n * './index.js': {\n * '~browser': './index-node.js',\n * './custom-condition.js|~export': './index-custom.js'\n * }\n * },\n * // allows for setting package-prefixed depCache\n * // keys are normalized module keys relative to the package itself\n * depCache: {\n * // import 'package/index.js' loads in parallel package/lib/test.js,package/vendor/sizzle.js\n * './index.js': ['./test'],\n * './test.js': ['external-dep'],\n * 'external-dep/path.js': ['./another.js']\n * }\n * }\n * };\n *\n * Then:\n * import 'jquery' -> jquery/index.js\n * import 'jquery/submodule' -> jquery/submodule.js\n * import 'jquery/submodule.ts' -> jquery/submodule.ts loaded as typescript\n * import 'jquery/vendor/another' -> another/index.js\n *\n * Detailed Behaviours\n * - main can have a leading \"./\" can be added optionally\n * - map and defaultExtension are applied to the main\n * - defaultExtension adds the extension only if the exact extension is not present\n\n * - if a meta value is available for a module, map and defaultExtension are skipped\n * - like global map, package map also applies to subpaths (sizzle/x, ./vendor/another/sub)\n * - condition module map is '@env' module in package or '@system-env' globally\n * - map targets support conditional interpolation ('./x': './x.#{|env}.js')\n * - internal package map targets cannot use boolean conditionals\n *\n * Package Configuration Loading\n *\n * Not all packages may already have their configuration present in the System config\n * For these cases, a list of packageConfigPaths can be provided, which when matched against\n * a request, will first request a \".json\" file by the package key to derive the package\n * configuration from. This allows dynamic loading of non-predetermined code, a key use\n * case in SystemJS.\n *\n * Example:\n *\n * SystemJS.packageConfigPaths = ['packages/test/package.json', 'packages/*.json'];\n *\n * // will first request 'packages/new-package/package.json' for the package config\n * // before completing the package request to 'packages/new-package/path'\n * SystemJS.import('packages/new-package/path');\n *\n * // will first request 'packages/test/package.json' before the main\n * SystemJS.import('packages/test');\n *\n * When a package matches packageConfigPaths, it will always send a config request for\n * the package configuration.\n * The package key itself is taken to be the match up to and including the last wildcard\n * or trailing slash.\n * The most specific package config path will be used.\n * Any existing package configurations for the package will deeply merge with the\n * package config, with the existing package configurations taking preference.\n * To opt-out of the package configuration request for a package that matches\n * packageConfigPaths, use the { configured: true } package config option.\n *\n */\n\nfunction addDefaultExtension (config, pkg, pkgKey, subPath, skipExtensions) {\n // don't apply extensions to folders or if defaultExtension = false\n if (!subPath || !pkg.defaultExtension || subPath[subPath.length - 1] === '/' || skipExtensions)\n return subPath;\n\n var metaMatch = false;\n\n // exact meta or meta with any content after the last wildcard skips extension\n if (pkg.meta)\n getMetaMatches(pkg.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\n return metaMatch = true;\n });\n\n // exact global meta or meta with any content after the last wildcard skips extension\n if (!metaMatch && config.meta)\n getMetaMatches(config.meta, pkgKey + '/' + subPath, function (metaPattern, matchMeta, matchDepth) {\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\n return metaMatch = true;\n });\n\n if (metaMatch)\n return subPath;\n\n // work out what the defaultExtension is and add if not there already\n var defaultExtension = '.' + pkg.defaultExtension;\n if (subPath.substr(subPath.length - defaultExtension.length) !== defaultExtension)\n return subPath + defaultExtension;\n else\n return subPath;\n}\n\nfunction applyPackageConfigSync (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\n // main\n if (!subPath) {\n if (pkg.main)\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\n else\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\n // NB can add a default package main convention here\n // if it becomes internal to the package then it would no longer be an exit path\n return pkgKey;\n }\n\n // map config checking without then with extensions\n if (pkg.map) {\n var mapPath = './' + subPath;\n\n var mapMatch = getMapMatch(pkg.map, mapPath);\n\n // we then check map with the default extension adding\n if (!mapMatch) {\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\n if (mapPath !== './' + subPath)\n mapMatch = getMapMatch(pkg.map, mapPath);\n }\n if (mapMatch) {\n var mapped = doMapSync(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions);\n if (mapped)\n return mapped;\n }\n }\n\n // normal package resolution\n return pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\n}\n\nfunction validMapping (mapMatch, mapped, path) {\n // allow internal ./x -> ./x/y or ./x/ -> ./x/y recursive maps\n // but only if the path is exactly ./x and not ./x/z\n if (mapped.substr(0, mapMatch.length) === mapMatch && path.length > mapMatch.length)\n return false;\n\n return true;\n}\n\nfunction doMapSync (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\n if (path[path.length - 1] === '/')\n path = path.substr(0, path.length - 1);\n var mapped = pkg.map[mapMatch];\n\n if (typeof mapped === 'object')\n throw new Error('Synchronous conditional normalization not supported sync normalizing ' + mapMatch + ' in ' + pkgKey);\n\n if (!validMapping(mapMatch, mapped, path) || typeof mapped !== 'string')\n return;\n\n return packageResolveSync.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions);\n}\n\nfunction applyPackageConfig (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\n // main\n if (!subPath) {\n if (pkg.main)\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\n else\n // NB can add a default package main convention here\n // if it becomes internal to the package then it would no longer be an exit path\n return Promise.resolve(pkgKey);\n }\n\n // map config checking without then with extensions\n var mapPath, mapMatch;\n\n if (pkg.map) {\n mapPath = './' + subPath;\n mapMatch = getMapMatch(pkg.map, mapPath);\n\n // we then check map with the default extension adding\n if (!mapMatch) {\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\n if (mapPath !== './' + subPath)\n mapMatch = getMapMatch(pkg.map, mapPath);\n }\n }\n\n return (mapMatch ? doMap(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions) : resolvedPromise)\n .then(function (mapped) {\n if (mapped)\n return Promise.resolve(mapped);\n\n // normal package resolution / fallback resolution for no conditional match\n return Promise.resolve(pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions));\n });\n}\n\nfunction doMap (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\n if (path[path.length - 1] === '/')\n path = path.substr(0, path.length - 1);\n\n var mapped = pkg.map[mapMatch];\n\n if (typeof mapped === 'string') {\n if (!validMapping(mapMatch, mapped, path))\n return resolvedPromise;\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\n .then(function (normalized) {\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\n });\n }\n\n // we use a special conditional syntax to allow the builder to handle conditional branch points further\n /*if (loader.builder)\n return Promise.resolve(pkgKey + '/#:' + path);*/\n\n // we load all conditions upfront\n var conditionPromises = [];\n var conditions = [];\n for (var e in mapped) {\n var c = parseCondition(e);\n conditions.push({\n condition: c,\n map: mapped[e]\n });\n conditionPromises.push(RegisterLoader.prototype.import.call(loader, c.module, pkgKey));\n }\n\n // map object -> conditional map\n return Promise.all(conditionPromises)\n .then(function (conditionValues) {\n // first map condition to match is used\n for (var i = 0; i < conditions.length; i++) {\n var c = conditions[i].condition;\n var value = readMemberExpression(c.prop, '__useDefault' in conditionValues[i] ? conditionValues[i].__useDefault : conditionValues[i]);\n if (!c.negate && value || c.negate && !value)\n return conditions[i].map;\n }\n })\n .then(function (mapped) {\n if (mapped) {\n if (!validMapping(mapMatch, mapped, path))\n return resolvedPromise;\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\n .then(function (normalized) {\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\n });\n }\n\n // no environment match -> fallback to original subPath by returning undefined\n });\n}\n\n// check if the given normalized key matches a packageConfigPath\n// if so, loads the config\nvar packageConfigPaths = {};\n\n// data object for quick checks against package paths\nfunction createPkgConfigPathObj (path) {\n var lastWildcard = path.lastIndexOf('*');\n var length = Math.max(lastWildcard + 1, path.lastIndexOf('/'));\n return {\n length: length,\n regEx: new RegExp('^(' + path.substr(0, length).replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&').replace(/\\*/g, '[^\\\\/]+') + ')(\\\\/|$)'),\n wildcard: lastWildcard !== -1\n };\n}\n\n// most specific match wins\nfunction getPackageConfigMatch (config, normalized) {\n var pkgKey, exactMatch = false, configPath;\n for (var i = 0; i < config.packageConfigPaths.length; i++) {\n var packageConfigPath = config.packageConfigPaths[i];\n var p = packageConfigPaths[packageConfigPath] || (packageConfigPaths[packageConfigPath] = createPkgConfigPathObj(packageConfigPath));\n if (normalized.length < p.length)\n continue;\n var match = normalized.match(p.regEx);\n if (match && (!pkgKey || (!(exactMatch && p.wildcard) && pkgKey.length < match[1].length))) {\n pkgKey = match[1];\n exactMatch = !p.wildcard;\n configPath = pkgKey + packageConfigPath.substr(p.length);\n }\n }\n\n if (!pkgKey)\n return;\n\n return {\n packageKey: pkgKey,\n configPath: configPath\n };\n}\n\nfunction loadPackageConfigPath (loader, config, pkgConfigPath, metadata, normalized) {\n var configLoader = loader.pluginLoader || loader;\n\n // ensure we note this is a package config file path\n // it will then be skipped from getting other normalizations itself to ensure idempotency\n if (config.packageConfigKeys.indexOf(pkgConfigPath) === -1)\n config.packageConfigKeys.push(pkgConfigPath);\n\n return configLoader.import(pkgConfigPath)\n .then(function (pkgConfig) {\n setPkgConfig(metadata.packageConfig, pkgConfig, metadata.packageKey, true, config);\n metadata.packageConfig.configured = true;\n })\n .catch(function (err) {\n throw addToError(err, 'Unable to fetch package configuration file ' + pkgConfigPath);\n });\n}\n\nfunction getMetaMatches (pkgMeta, subPath, matchFn) {\n // wildcard meta\n var wildcardIndex;\n for (var module in pkgMeta) {\n // allow meta to start with ./ for flexibility\n var dotRel = module.substr(0, 2) === './' ? './' : '';\n if (dotRel)\n module = module.substr(2);\n\n wildcardIndex = module.indexOf('*');\n if (wildcardIndex === -1)\n continue;\n\n if (module.substr(0, wildcardIndex) === subPath.substr(0, wildcardIndex)\n && module.substr(wildcardIndex + 1) === subPath.substr(subPath.length - module.length + wildcardIndex + 1)) {\n // alow match function to return true for an exit path\n if (matchFn(module, pkgMeta[dotRel + module], module.split('/').length))\n return;\n }\n }\n // exact meta\n var exactMeta = pkgMeta[subPath] && Object.hasOwnProperty.call(pkgMeta, subPath) ? pkgMeta[subPath] : pkgMeta['./' + subPath];\n if (exactMeta)\n matchFn(exactMeta, exactMeta, 0);\n}\n\n\n/*\n * Conditions Extension\n *\n * Allows a condition module to alter the resolution of an import via syntax:\n *\n * import $ from 'jquery/#{browser}';\n *\n * Will first load the module 'browser' via `SystemJS.import('browser')` and\n * take the default export of that module.\n * If the default export is not a string, an error is thrown.\n *\n * We then substitute the string into the require to get the conditional resolution\n * enabling environment-specific variations like:\n *\n * import $ from 'jquery/ie'\n * import $ from 'jquery/firefox'\n * import $ from 'jquery/chrome'\n * import $ from 'jquery/safari'\n *\n * It can be useful for a condition module to define multiple conditions.\n * This can be done via the `|` modifier to specify an export member expression:\n *\n * import 'jquery/#{./browser.js|grade.version}'\n *\n * Where the `grade` export `version` member in the `browser.js` module is substituted.\n *\n *\n * Boolean Conditionals\n *\n * For polyfill modules, that are used as imports but have no module value,\n * a binary conditional allows a module not to be loaded at all if not needed:\n *\n * import 'es5-shim#?./conditions.js|needs-es5shim'\n *\n * These conditions can also be negated via:\n *\n * import 'es5-shim#?./conditions.js|~es6'\n *\n */\n\nvar sysConditions = ['browser', 'node', 'dev', 'build', 'production', 'default'];\n\nfunction parseCondition (condition) {\n var conditionExport, conditionModule, negation;\n\n var negation;\n var conditionExportIndex = condition.lastIndexOf('|');\n if (conditionExportIndex !== -1) {\n conditionExport = condition.substr(conditionExportIndex + 1);\n conditionModule = condition.substr(0, conditionExportIndex);\n\n if (conditionExport[0] === '~') {\n negation = true;\n conditionExport = conditionExport.substr(1);\n }\n }\n else {\n negation = condition[0] === '~';\n conditionExport = 'default';\n conditionModule = condition.substr(negation);\n if (sysConditions.indexOf(conditionModule) !== -1) {\n conditionExport = conditionModule;\n conditionModule = null;\n }\n }\n\n return {\n module: conditionModule || '@system-env',\n prop: conditionExport,\n negate: negation\n };\n}\n\nfunction resolveCondition (conditionObj, parentKey, bool) {\n // import without __useDefault handling here\n return RegisterLoader.prototype.import.call(this, conditionObj.module, parentKey)\n .then(function (condition) {\n var m = readMemberExpression(conditionObj.prop, condition);\n\n if (bool && typeof m !== 'boolean')\n throw new TypeError('Condition did not resolve to a boolean.');\n\n return conditionObj.negate ? !m : m;\n });\n}\n\nvar interpolationRegEx = /#\\{[^\\}]+\\}/;\nfunction interpolateConditional (key, parentKey, parentMetadata) {\n // first we normalize the conditional\n var conditionalMatch = key.match(interpolationRegEx);\n\n if (!conditionalMatch)\n return Promise.resolve(key);\n\n var conditionObj = parseCondition.call(this, conditionalMatch[0].substr(2, conditionalMatch[0].length - 3));\n\n // in builds, return normalized conditional\n /*if (this.builder)\n return this.normalize(conditionObj.module, parentKey, createMetadata(), parentMetadata)\n .then(function (conditionModule) {\n conditionObj.module = conditionModule;\n return key.replace(interpolationRegEx, '#{' + serializeCondition(conditionObj) + '}');\n });*/\n\n return resolveCondition.call(this, conditionObj, parentKey, false)\n .then(function (conditionValue) {\n if (typeof conditionValue !== 'string')\n throw new TypeError('The condition value for ' + key + ' doesn\\'t resolve to a string.');\n\n if (conditionValue.indexOf('/') !== -1)\n throw new TypeError('Unabled to interpolate conditional ' + key + (parentKey ? ' in ' + parentKey : '') + '\\n\\tThe condition value ' + conditionValue + ' cannot contain a \"/\" separator.');\n\n return key.replace(interpolationRegEx, conditionValue);\n });\n}\n","import { envModule, setProduction, configNames } from './systemjs-loader.js';\nimport { extend, prepend, warn, resolveIfNotPlain, baseURI, CONFIG } from './common.js';\nimport { coreResolve } from './resolve.js';\n\n/*\n Extend config merging one deep only\n\n loader.config({\n some: 'random',\n config: 'here',\n deep: {\n config: { too: 'too' }\n }\n });\n\n <=>\n\n loader.some = 'random';\n loader.config = 'here'\n loader.deep = loader.deep || {};\n loader.deep.config = { too: 'too' };\n\n\n Normalizes meta and package configs allowing for:\n\n SystemJS.config({\n meta: {\n './index.js': {}\n }\n });\n\n To become\n\n SystemJS.meta['https://thissite.com/index.js'] = {};\n\n For easy normalization canonicalization with latest URL support.\n\n*/\nvar envConfigNames = ['browserConfig', 'nodeConfig', 'devConfig', 'buildConfig', 'productionConfig'];\nfunction envSet(loader, cfg, envCallback) {\n for (var i = 0; i < envConfigNames.length; i++) {\n var envConfig = envConfigNames[i];\n if (cfg[envConfig] && envModule[envConfig.substr(0, envConfig.length - 6)])\n envCallback(cfg[envConfig]);\n }\n}\n\nfunction cloneObj (obj, maxDepth) {\n var clone = {};\n for (var p in obj) {\n var prop = obj[p];\n if (maxDepth > 1) {\n if (prop instanceof Array)\n clone[p] = [].concat(prop);\n else if (typeof prop === 'object')\n clone[p] = cloneObj(prop, maxDepth - 1);\n else if (p !== 'packageConfig')\n clone[p] = prop;\n }\n else {\n clone[p] = prop;\n }\n }\n return clone;\n}\n\nexport function getConfigItem (config, p) {\n var cfgItem = config[p];\n\n // getConfig must return an unmodifiable clone of the configuration\n if (cfgItem instanceof Array)\n return config[p].concat([]);\n else if (typeof cfgItem === 'object')\n return cloneObj(cfgItem, 3)\n else\n return config[p];\n}\n\nexport function getConfig (configName) {\n if (configName) {\n if (configNames.indexOf(configName) !== -1)\n return getConfigItem(this[CONFIG], configName);\n throw new Error('\"' + configName + '\" is not a valid configuration name. Must be one of ' + configNames.join(', ') + '.');\n }\n\n var cfg = {};\n for (var i = 0; i < configNames.length; i++) {\n var p = configNames[i];\n var configItem = getConfigItem(this[CONFIG], p);\n if (configItem !== undefined)\n cfg[p] = configItem;\n }\n return cfg;\n}\n\nexport function setConfig (cfg, isEnvConfig) {\n var loader = this;\n var config = this[CONFIG];\n\n if ('warnings' in cfg)\n config.warnings = cfg.warnings;\n\n if ('wasm' in cfg)\n config.wasm = typeof WebAssembly !== 'undefined' && cfg.wasm;\n\n if ('production' in cfg || 'build' in cfg)\n setProduction.call(loader, !!cfg.production, !!(cfg.build || envModule && envModule.build));\n\n if (!isEnvConfig) {\n // if using nodeConfig / browserConfig / productionConfig, take baseURL from there\n // these exceptions will be unnecessary when we can properly implement config queuings\n var baseURL;\n envSet(loader, cfg, function(cfg) {\n baseURL = baseURL || cfg.baseURL;\n });\n baseURL = baseURL || cfg.baseURL;\n\n // always configure baseURL first\n if (baseURL) {\n config.baseURL = resolveIfNotPlain(baseURL, baseURI) || resolveIfNotPlain('./' + baseURL, baseURI);\n if (config.baseURL[config.baseURL.length - 1] !== '/')\n config.baseURL += '/';\n }\n\n if (cfg.paths)\n extend(config.paths, cfg.paths);\n\n envSet(loader, cfg, function(cfg) {\n if (cfg.paths)\n extend(config.paths, cfg.paths);\n });\n\n for (var p in config.paths) {\n if (config.paths[p].indexOf('*') === -1)\n continue;\n warn.call(config, 'Path config ' + p + ' -> ' + config.paths[p] + ' is no longer supported as wildcards are deprecated.');\n delete config.paths[p];\n }\n }\n\n if (cfg.defaultJSExtensions)\n warn.call(config, 'The defaultJSExtensions configuration option is deprecated.\\n Use packages defaultExtension instead.', true);\n\n if (typeof cfg.pluginFirst === 'boolean')\n config.pluginFirst = cfg.pluginFirst;\n\n if (cfg.map) {\n for (var p in cfg.map) {\n var v = cfg.map[p];\n\n if (typeof v === 'string') {\n var mapped = coreResolve.call(loader, config, v, undefined, false, false);\n if (mapped[mapped.length -1] === '/' && p[p.length - 1] !== ':' && p[p.length - 1] !== '/')\n mapped = mapped.substr(0, mapped.length - 1);\n config.map[p] = mapped;\n }\n\n // object map\n else {\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\n pkgName = pkgName.substr(0, pkgName.length - 1);\n\n var pkg = config.packages[pkgName];\n if (!pkg) {\n pkg = config.packages[pkgName] = createPackage();\n // use '' instead of false to keep type consistent\n pkg.defaultExtension = '';\n }\n setPkgConfig(pkg, { map: v }, pkgName, false, config);\n }\n }\n }\n\n if (cfg.packageConfigPaths) {\n var packageConfigPaths = [];\n for (var i = 0; i < cfg.packageConfigPaths.length; i++) {\n var path = cfg.packageConfigPaths[i];\n var packageLength = Math.max(path.lastIndexOf('*') + 1, path.lastIndexOf('/'));\n var normalized = coreResolve.call(loader, config, path.substr(0, packageLength), undefined, false, false);\n packageConfigPaths[i] = normalized + path.substr(packageLength);\n }\n config.packageConfigPaths = packageConfigPaths;\n }\n\n if (cfg.bundles) {\n for (var p in cfg.bundles) {\n var bundle = [];\n for (var i = 0; i < cfg.bundles[p].length; i++)\n bundle.push(loader.normalizeSync(cfg.bundles[p][i]));\n config.bundles[p] = bundle;\n }\n }\n\n if (cfg.packages) {\n for (var p in cfg.packages) {\n if (p.match(/^([^\\/]+:)?\\/\\/$/))\n throw new TypeError('\"' + p + '\" is not a valid package name.');\n\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\n pkgName = pkgName.substr(0, pkgName.length - 1);\n\n setPkgConfig(config.packages[pkgName] = config.packages[pkgName] || createPackage(), cfg.packages[p], pkgName, false, config);\n }\n }\n\n if (cfg.depCache) {\n for (var p in cfg.depCache)\n config.depCache[loader.normalizeSync(p)] = [].concat(cfg.depCache[p]);\n }\n\n if (cfg.meta) {\n for (var p in cfg.meta) {\n // base wildcard stays base\n if (p[0] === '*') {\n extend(config.meta[p] = config.meta[p] || {}, cfg.meta[p]);\n }\n else {\n var resolved = coreResolve.call(loader, config, p, undefined, true, true);\n extend(config.meta[resolved] = config.meta[resolved] || {}, cfg.meta[p]);\n }\n }\n }\n\n if ('transpiler' in cfg)\n config.transpiler = cfg.transpiler;\n\n\n // copy any remaining non-standard configuration properties\n for (var c in cfg) {\n if (configNames.indexOf(c) !== -1)\n continue;\n if (envConfigNames.indexOf(c) !== -1)\n continue;\n\n // warn.call(config, 'Setting custom config option `System.config({ ' + c + ': ... })` is deprecated. Avoid custom config options or set SystemJS.' + c + ' = ... directly.');\n loader[c] = cfg[c];\n }\n\n envSet(loader, cfg, function(cfg) {\n loader.config(cfg, true);\n });\n}\n\nexport function createPackage () {\n return {\n defaultExtension: undefined,\n main: undefined,\n format: undefined,\n meta: undefined,\n map: undefined,\n packageConfig: undefined,\n configured: false\n };\n}\n\n// deeply-merge (to first level) config with any existing package config\nexport function setPkgConfig (pkg, cfg, pkgName, prependConfig, config) {\n for (var prop in cfg) {\n if (prop === 'main' || prop === 'format' || prop === 'defaultExtension' || prop === 'configured') {\n if (!prependConfig || pkg[prop] === undefined)\n pkg[prop] = cfg[prop];\n }\n else if (prop === 'map') {\n (prependConfig ? prepend : extend)(pkg.map = pkg.map || {}, cfg.map);\n }\n else if (prop === 'meta') {\n (prependConfig ? prepend : extend)(pkg.meta = pkg.meta || {}, cfg.meta);\n }\n else if (Object.hasOwnProperty.call(cfg, prop)) {\n warn.call(config, '\"' + prop + '\" is not a valid package configuration option in package ' + pkgName);\n }\n }\n\n // default defaultExtension for packages only\n if (pkg.defaultExtension === undefined)\n pkg.defaultExtension = 'js';\n\n if (pkg.main === undefined && pkg.map && pkg.map['.']) {\n pkg.main = pkg.map['.'];\n delete pkg.map['.'];\n }\n // main object becomes main map\n else if (typeof pkg.main === 'object') {\n pkg.map = pkg.map || {};\n pkg.map['./@main'] = pkg.main;\n pkg.main['default'] = pkg.main['default'] || './';\n pkg.main = '@main';\n }\n\n return pkg;\n}\n","import { isBrowser, global } from './common.js';\n\nvar hasBuffer = typeof Buffer !== 'undefined';\ntry {\n if (hasBuffer && new Buffer('a').toString('base64') !== 'YQ==')\n hasBuffer = false;\n}\ncatch (e) {\n hasBuffer = false;\n}\n\nvar sourceMapPrefix = '\\n//# sourceMapping' + 'URL=data:application/json;base64,';\nfunction inlineSourceMap (sourceMapString) {\n if (hasBuffer)\n return sourceMapPrefix + new Buffer(sourceMapString).toString('base64');\n else if (typeof btoa !== 'undefined')\n return sourceMapPrefix + btoa(unescape(encodeURIComponent(sourceMapString)));\n else\n return '';\n}\n\nfunction getSource(source, sourceMap, address, wrap) {\n var lastLineIndex = source.lastIndexOf('\\n');\n\n if (sourceMap) {\n if (typeof sourceMap != 'object')\n throw new TypeError('load.metadata.sourceMap must be set to an object.');\n\n sourceMap = JSON.stringify(sourceMap);\n }\n\n return (wrap ? '(function(System, SystemJS) {' : '') + source + (wrap ? '\\n})(System, System);' : '')\n // adds the sourceURL comment if not already present\n + (source.substr(lastLineIndex, 15) != '\\n//# sourceURL='\n ? '\\n//# sourceURL=' + address + (sourceMap ? '!transpiled' : '') : '')\n // add sourceMappingURL if load.metadata.sourceMap is set\n + (sourceMap && inlineSourceMap(sourceMap) || '');\n}\n\n// script execution via injecting a script tag into the page\n// this allows CSP nonce to be set for CSP environments\nvar head;\nfunction scriptExec(loader, source, sourceMap, address, nonce) {\n if (!head)\n head = document.head || document.body || document.documentElement;\n\n var script = document.createElement('script');\n script.text = getSource(source, sourceMap, address, false);\n var onerror = window.onerror;\n var e;\n window.onerror = function(_e) {\n e = addToError(_e, 'Evaluating ' + address);\n if (onerror)\n onerror.apply(this, arguments);\n }\n preExec(loader);\n\n if (nonce)\n script.setAttribute('nonce', nonce);\n\n head.appendChild(script);\n head.removeChild(script);\n postExec();\n window.onerror = onerror;\n if (e)\n return e;\n}\n\nvar vm;\nvar useVm;\n\nvar curSystem;\n\nvar callCounter = 0;\nfunction preExec (loader) {\n if (callCounter++ == 0)\n curSystem = global.System;\n global.System = global.SystemJS = loader;\n}\nfunction postExec () {\n if (--callCounter == 0)\n global.System = global.SystemJS = curSystem;\n}\n\nvar supportsScriptExec = false;\nif (isBrowser && typeof document != 'undefined' && document.getElementsByTagName) {\n if (!(window.chrome && window.chrome.extension || navigator.userAgent.match(/^Node\\.js/)))\n supportsScriptExec = true;\n}\n\nexport function evaluate (loader, source, sourceMap, address, integrity, nonce, noWrap) {\n if (!source)\n return;\n if (nonce && supportsScriptExec)\n return scriptExec(loader, source, sourceMap, address, nonce);\n try {\n preExec(loader);\n // global scoped eval for node (avoids require scope leak)\n if (!vm && loader._nodeRequire) {\n vm = loader._nodeRequire('vm');\n useVm = vm.runInThisContext(\"typeof System !== 'undefined' && System\") === loader;\n }\n if (useVm)\n vm.runInThisContext(getSource(source, sourceMap, address, !noWrap), { filename: address + (sourceMap ? '!transpiled' : '') });\n else\n (0, eval)(getSource(source, sourceMap, address, !noWrap));\n postExec();\n }\n catch (e) {\n postExec();\n return e;\n }\n}\n","\nimport { isWindows, global, readMemberExpression, cjsRequireRegEx, noop } from './common.js';\n\nexport default function (loader) {\n loader.set('@@cjs-helpers', loader.newModule({\n requireResolve: requireResolve.bind(loader),\n getPathVars: getPathVars\n }));\n\n loader.set('@@global-helpers', loader.newModule({\n prepareGlobal: prepareGlobal\n }));\n\n /*\n AMD-compatible require\n To copy RequireJS, set window.require = window.requirejs = loader.amdRequire\n */\n function require (names, callback, errback, referer) {\n // in amd, first arg can be a config object... we just ignore\n if (typeof names === 'object' && !(names instanceof Array))\n return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1));\n\n // amd require\n if (typeof names === 'string' && typeof callback === 'function')\n names = [names];\n if (names instanceof Array) {\n var dynamicRequires = [];\n for (var i = 0; i < names.length; i++)\n dynamicRequires.push(loader.import(names[i], referer));\n Promise.all(dynamicRequires).then(function (modules) {\n if (callback)\n callback.apply(null, modules);\n }, errback);\n }\n\n // commonjs require\n else if (typeof names === 'string') {\n var normalized = loader.decanonicalize(names, referer);\n var module = loader.get(normalized);\n if (!module)\n throw new Error('Module not already loaded loading \"' + names + '\" as ' + normalized + (referer ? ' from \"' + referer + '\".' : '.'));\n return '__useDefault' in module ? module.__useDefault : module;\n }\n\n else\n throw new TypeError('Invalid require');\n }\n\n function define (name, deps, factory) {\n if (typeof name !== 'string') {\n factory = deps;\n deps = name;\n name = null;\n }\n\n if (!(deps instanceof Array)) {\n factory = deps;\n deps = ['require', 'exports', 'module'].splice(0, factory.length);\n }\n\n if (typeof factory !== 'function')\n factory = (function (factory) {\n return function() { return factory; }\n })(factory);\n\n if (!name) {\n if (curMetaDeps) {\n deps = deps.concat(curMetaDeps);\n curMetaDeps = undefined;\n }\n }\n\n // remove system dependencies\n var requireIndex, exportsIndex, moduleIndex;\n\n if ((requireIndex = deps.indexOf('require')) !== -1) {\n\n deps.splice(requireIndex, 1);\n\n // only trace cjs requires for non-named\n // named defines assume the trace has already been done\n if (!name)\n deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex));\n }\n\n if ((exportsIndex = deps.indexOf('exports')) !== -1)\n deps.splice(exportsIndex, 1);\n\n if ((moduleIndex = deps.indexOf('module')) !== -1)\n deps.splice(moduleIndex, 1);\n\n function execute (req, exports, module) {\n var depValues = [];\n for (var i = 0; i < deps.length; i++)\n depValues.push(req(deps[i]));\n\n module.uri = module.id;\n\n module.config = noop;\n\n // add back in system dependencies\n if (moduleIndex !== -1)\n depValues.splice(moduleIndex, 0, module);\n\n if (exportsIndex !== -1)\n depValues.splice(exportsIndex, 0, exports);\n\n if (requireIndex !== -1) {\n var contextualRequire = function (names, callback, errback) {\n if (typeof names === 'string' && typeof callback !== 'function')\n return req(names);\n return require.call(loader, names, callback, errback, module.id);\n };\n contextualRequire.toUrl = function (name) {\n return loader.normalizeSync(name, module.id);\n };\n depValues.splice(requireIndex, 0, contextualRequire);\n }\n\n // set global require to AMD require\n var curRequire = global.require;\n global.require = require;\n\n var output = factory.apply(exportsIndex === -1 ? global : exports, depValues);\n\n global.require = curRequire;\n\n if (typeof output !== 'undefined')\n module.exports = output;\n }\n\n // anonymous define\n if (!name) {\n loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute);\n }\n else {\n loader.registerDynamic(name, deps, false, execute);\n\n // if we don't have any other defines,\n // then let this be an anonymous define\n // this is just to support single modules of the form:\n // define('jquery')\n // still loading anonymously\n // because it is done widely enough to be useful\n // as soon as there is more than one define, this gets removed though\n if (lastNamedDefine) {\n lastNamedDefine = undefined;\n multipleNamedDefines = true;\n }\n else if (!multipleNamedDefines) {\n lastNamedDefine = [deps, execute];\n }\n }\n }\n define.amd = {};\n\n loader.amdDefine = define;\n loader.amdRequire = require;\n}\n\n// CJS\nvar windowOrigin;\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location)\n windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');\n\nfunction stripOrigin(path) {\n if (path.substr(0, 8) === 'file:///')\n return path.substr(7 + !!isWindows);\n\n if (windowOrigin && path.substr(0, windowOrigin.length) === windowOrigin)\n return path.substr(windowOrigin.length);\n\n return path;\n}\n\nexport function requireResolve (request, parentId) {\n return stripOrigin(this.normalizeSync(request, parentId));\n}\n\nexport function getPathVars (moduleId) {\n // remove any plugin syntax\n var pluginIndex = moduleId.lastIndexOf('!');\n var filename;\n if (pluginIndex !== -1)\n filename = moduleId.substr(0, pluginIndex);\n else\n filename = moduleId;\n\n var dirname = filename.split('/');\n dirname.pop();\n dirname = dirname.join('/');\n\n return {\n filename: stripOrigin(filename),\n dirname: stripOrigin(dirname)\n };\n}\n\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\n\n// used to support leading #!/usr/bin/env in scripts as supported in Node\nvar hashBangRegEx = /^\\#\\!.*/;\n\n// extract CJS dependencies from source text via regex static analysis\n// read require('x') statements not in comments or strings\nexport function getCJSDeps (source) {\n cjsRequireRegEx.lastIndex = commentRegEx.lastIndex = stringRegEx.lastIndex = 0;\n\n var deps = [];\n\n var match;\n\n // track string and comment locations for unminified source\n var stringLocations = [], commentLocations = [];\n\n function inLocation (locations, match) {\n for (var i = 0; i < locations.length; i++)\n if (locations[i][0] < match.index && locations[i][1] > match.index)\n return true;\n return false;\n }\n\n if (source.length / source.split('\\n').length < 200) {\n while (match = stringRegEx.exec(source))\n stringLocations.push([match.index, match.index + match[0].length]);\n\n // TODO: track template literals here before comments\n\n while (match = commentRegEx.exec(source)) {\n // only track comments not starting in strings\n if (!inLocation(stringLocations, match))\n commentLocations.push([match.index + match[1].length, match.index + match[0].length - 1]);\n }\n }\n\n while (match = cjsRequireRegEx.exec(source)) {\n // ensure we're not within a string or comment location\n if (!inLocation(stringLocations, match) && !inLocation(commentLocations, match)) {\n var dep = match[1].substr(1, match[1].length - 2);\n // skip cases like require('\" + file + \"')\n if (dep.match(/\"|'/))\n continue;\n deps.push(dep);\n }\n }\n\n return deps;\n}\n\n// Global\n// bare minimum ignores\nvar ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external',\n 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX'];\n\nvar globalSnapshot;\nfunction globalIterator (globalName) {\n if (ignoredGlobalProps.indexOf(globalName) !== -1)\n return;\n try {\n var value = global[globalName];\n }\n catch (e) {\n ignoredGlobalProps.push(globalName);\n }\n this(globalName, value);\n}\n\nexport function getGlobalValue (exports) {\n if (typeof exports === 'string')\n return readMemberExpression(exports, global);\n\n if (!(exports instanceof Array))\n throw new Error('Global exports must be a string or array.');\n\n var globalValue = {};\n for (var i = 0; i < exports.length; i++)\n globalValue[exports[i].split('.').pop()] = readMemberExpression(exports[i], global);\n return globalValue;\n}\n\nexport function prepareGlobal (moduleName, exports, globals, encapsulate) {\n // disable module detection\n var curDefine = global.define;\n\n global.define = undefined;\n\n // set globals\n var oldGlobals;\n if (globals) {\n oldGlobals = {};\n for (var g in globals) {\n oldGlobals[g] = global[g];\n global[g] = globals[g];\n }\n }\n\n // store a complete copy of the global object in order to detect changes\n if (!exports) {\n globalSnapshot = {};\n\n Object.keys(global).forEach(globalIterator, function (name, value) {\n globalSnapshot[name] = value;\n });\n }\n\n // return function to retrieve global\n return function () {\n var globalValue = exports ? getGlobalValue(exports) : {};\n\n var singleGlobal;\n var multipleExports = !!exports;\n\n if (!exports || encapsulate)\n Object.keys(global).forEach(globalIterator, function (name, value) {\n if (globalSnapshot[name] === value)\n return;\n if (value === undefined)\n return;\n\n // allow global encapsulation where globals are removed\n if (encapsulate)\n global[name] = undefined;\n\n if (!exports) {\n globalValue[name] = value;\n\n if (singleGlobal !== undefined) {\n if (!multipleExports && singleGlobal !== value)\n multipleExports = true;\n }\n else {\n singleGlobal = value;\n }\n }\n });\n\n globalValue = multipleExports ? globalValue : singleGlobal;\n\n // revert globals\n if (oldGlobals) {\n for (var g in oldGlobals)\n global[g] = oldGlobals[g];\n }\n global.define = curDefine;\n\n return globalValue;\n };\n}\n\n// AMD\nvar cjsRequirePre = \"(?:^|[^$_a-zA-Z\\\\xA0-\\\\uFFFF.])\";\nvar cjsRequirePost = \"\\\\s*\\\\(\\\\s*(\\\"([^\\\"]+)\\\"|'([^']+)')\\\\s*\\\\)\";\nvar fnBracketRegEx = /\\(([^\\)]*)\\)/;\nvar wsRegEx = /^\\s+|\\s+$/g;\n\nvar requireRegExs = {};\n\nfunction amdGetCJSDeps(source, requireIndex) {\n\n // remove comments\n source = source.replace(commentRegEx, '');\n\n // determine the require alias\n var params = source.match(fnBracketRegEx);\n var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, '');\n\n // find or generate the regex for this requireAlias\n var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g'));\n\n requireRegEx.lastIndex = 0;\n\n var deps = [];\n\n var match;\n while (match = requireRegEx.exec(source))\n deps.push(match[2] || match[3]);\n\n return deps;\n}\n\nfunction wrapEsModuleExecute (execute) {\n return function (require, exports, module) {\n execute(require, exports, module);\n exports = module.exports;\n if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports))\n Object.defineProperty(module.exports, '__esModule', {\n value: true\n });\n };\n}\n\n// generate anonymous define from singular named define\nvar multipleNamedDefines = false;\nvar lastNamedDefine;\nvar curMetaDeps;\nvar curEsModule = false;\nexport function clearLastDefine (metaDeps, esModule) {\n curMetaDeps = metaDeps;\n curEsModule = esModule;\n lastNamedDefine = undefined;\n multipleNamedDefines = false;\n}\nexport function registerLastDefine (loader) {\n if (lastNamedDefine)\n loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0],\n false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]);\n\n // bundles are an empty module\n else if (multipleNamedDefines)\n loader.registerDynamic([], false, noop);\n}\n","import { scriptLoad, isBrowser, isWorker, global, cjsRequireRegEx, addToError, loadNodeModule,\n warn, CONFIG, METADATA, emptyModule, protectedCreateNamespace, resolvedPromise, preloadScript, checkInstantiateWasm } from './common.js';\nimport { evaluate } from './evaluate.js';\nimport fetch from './fetch.js';\nimport { getGlobalValue, getCJSDeps, requireResolve, getPathVars, prepareGlobal, clearLastDefine, registerLastDefine } from './format-helpers.js';\n\nvar supportsScriptLoad = (isBrowser || isWorker) && typeof navigator !== 'undefined' && navigator.userAgent && !navigator.userAgent.match(/MSIE (9|10).0/);\n\n// include the node require since we're overriding it\nexport var nodeRequire;\nif (typeof require !== 'undefined' && typeof process !== 'undefined' && !process.browser)\n nodeRequire = require;\n\nfunction setMetaEsModule (metadata, moduleValue) {\n if (metadata.load.esModule && (typeof moduleValue === 'object' || typeof moduleValue === 'function') &&\n !('__esModule' in moduleValue))\n Object.defineProperty(moduleValue, '__esModule', {\n value: true\n });\n}\n\nexport function instantiate (key, processAnonRegister) {\n var loader = this;\n var config = this[CONFIG];\n // first do bundles and depCache\n return (loadBundlesAndDepCache(config, this, key) || resolvedPromise)\n .then(function () {\n if (processAnonRegister())\n return;\n\n var metadata = loader[METADATA][key];\n\n // node module loading\n if (key.substr(0, 6) === '@node/') {\n if (!loader._nodeRequire)\n throw new TypeError('Error loading ' + key + '. Can only load node core modules in Node.');\n loader.registerDynamic([], false, function () {\n return loadNodeModule.call(loader, key.substr(6), loader.baseURL);\n });\n processAnonRegister();\n return;\n }\n\n if (metadata.load.scriptLoad ) {\n if (metadata.load.pluginKey || !supportsScriptLoad) {\n metadata.load.scriptLoad = false;\n warn.call(config, 'scriptLoad not supported for \"' + key + '\"');\n }\n }\n else if (metadata.load.scriptLoad !== false && !metadata.load.pluginKey && supportsScriptLoad) {\n // auto script load AMD, global without deps\n if (!metadata.load.deps && !metadata.load.globals &&\n (metadata.load.format === 'system' || metadata.load.format === 'register' || metadata.load.format === 'global' && metadata.load.exports))\n metadata.load.scriptLoad = true;\n }\n\n // fetch / translate / instantiate pipeline\n if (!metadata.load.scriptLoad)\n return initializePlugin(loader, key, metadata)\n .then(function () {\n return runFetchPipeline(loader, key, metadata, processAnonRegister, config.wasm);\n })\n\n // just script loading\n return new Promise(function (resolve, reject) {\n if (metadata.load.format === 'amd' && global.define !== loader.amdDefine)\n throw new Error('Loading AMD with scriptLoad requires setting the global `' + globalName + '.define = SystemJS.amdDefine`');\n\n scriptLoad(key, metadata.load.crossOrigin, metadata.load.integrity, function () {\n if (!processAnonRegister()) {\n metadata.load.format = 'global';\n var globalValue = metadata.load.exports && getGlobalValue(metadata.load.exports);\n loader.registerDynamic([], false, function () {\n setMetaEsModule(metadata, globalValue);\n return globalValue;\n });\n processAnonRegister();\n }\n\n resolve();\n }, reject);\n });\n })\n .then(function (instantiated) {\n delete loader[METADATA][key];\n return instantiated;\n });\n};\n\nfunction initializePlugin (loader, key, metadata) {\n if (!metadata.pluginKey)\n return resolvedPromise;\n\n return loader.import(metadata.pluginKey).then(function (plugin) {\n metadata.pluginModule = plugin;\n metadata.pluginLoad = {\n name: key,\n address: metadata.pluginArgument,\n source: undefined,\n metadata: metadata.load\n };\n metadata.load.deps = metadata.load.deps || [];\n });\n}\n\nfunction loadBundlesAndDepCache (config, loader, key) {\n // load direct deps, in turn will pick up their trace trees\n var deps = config.depCache[key];\n if (deps) {\n for (var i = 0; i < deps.length; i++)\n loader.normalize(deps[i], key).then(preloadScript);\n }\n else {\n var matched = false;\n for (var b in config.bundles) {\n for (var i = 0; i < config.bundles[b].length; i++) {\n var curModule = config.bundles[b][i];\n\n if (curModule === key) {\n matched = true;\n break;\n }\n\n // wildcard in bundles includes / boundaries\n if (curModule.indexOf('*') !== -1) {\n var parts = curModule.split('*');\n if (parts.length !== 2) {\n config.bundles[b].splice(i--, 1);\n continue;\n }\n\n if (key.substr(0, parts[0].length) === parts[0] &&\n key.substr(key.length - parts[1].length, parts[1].length) === parts[1]) {\n matched = true;\n break;\n }\n }\n }\n\n if (matched)\n return loader.import(b);\n }\n }\n}\n\nfunction runFetchPipeline (loader, key, metadata, processAnonRegister, wasm) {\n if (metadata.load.exports && !metadata.load.format)\n metadata.load.format = 'global';\n\n return resolvedPromise\n\n // locate\n .then(function () {\n if (!metadata.pluginModule || !metadata.pluginModule.locate)\n return;\n\n return Promise.resolve(metadata.pluginModule.locate.call(loader, metadata.pluginLoad))\n .then(function (address) {\n if (address)\n metadata.pluginLoad.address = address;\n });\n })\n\n // fetch\n .then(function () {\n if (!metadata.pluginModule)\n return fetch(key, metadata.load.authorization, metadata.load.integrity, wasm);\n\n wasm = false;\n\n if (!metadata.pluginModule.fetch)\n return fetch(metadata.pluginLoad.address, metadata.load.authorization, metadata.load.integrity, false);\n\n return metadata.pluginModule.fetch.call(loader, metadata.pluginLoad, function (load) {\n return fetch(load.address, metadata.load.authorization, metadata.load.integrity, false);\n });\n })\n\n .then(function (fetched) {\n // fetch is already a utf-8 string if not doing wasm detection\n if (!wasm || typeof fetched === 'string')\n return translateAndInstantiate(loader, key, fetched, metadata, processAnonRegister);\n\n return checkInstantiateWasm(loader, fetched, processAnonRegister)\n .then(function (wasmInstantiated) {\n if (wasmInstantiated)\n return;\n\n // not wasm -> convert buffer into utf-8 string to execute as a module\n // TextDecoder compatibility matches WASM currently. Need to keep checking this.\n // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder\n var stringSource = isBrowser ? new TextDecoder('utf-8').decode(new Uint8Array(fetched)) : fetched.toString();\n return translateAndInstantiate(loader, key, stringSource, metadata, processAnonRegister);\n });\n });\n}\n\nfunction translateAndInstantiate (loader, key, source, metadata, processAnonRegister) {\n return Promise.resolve(source)\n // translate\n .then(function (source) {\n if (metadata.load.format === 'detect')\n metadata.load.format = undefined;\n\n readMetaSyntax(source, metadata);\n\n if (!metadata.pluginModule)\n return source;\n\n metadata.pluginLoad.source = source;\n\n if (!metadata.pluginModule.translate)\n return source;\n\n return Promise.resolve(metadata.pluginModule.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\n .then(function (translated) {\n if (metadata.load.sourceMap) {\n if (typeof metadata.load.sourceMap !== 'object')\n throw new Error('metadata.load.sourceMap must be set to an object.');\n sanitizeSourceMap(metadata.pluginLoad.address, metadata.load.sourceMap);\n }\n\n if (typeof translated === 'string')\n return translated;\n else\n return metadata.pluginLoad.source;\n });\n })\n .then(function (source) {\n if (!metadata.load.format && source.substring(0, 8) === '\"bundle\"') {\n metadata.load.format = 'system';\n return source;\n }\n\n if (metadata.load.format === 'register' || !metadata.load.format && detectRegisterFormat(source)) {\n metadata.load.format = 'register';\n return source;\n }\n\n if (metadata.load.format !== 'esm' && (metadata.load.format || !source.match(esmRegEx))) {\n return source;\n }\n\n metadata.load.format = 'esm';\n return transpile(loader, source, key, metadata, processAnonRegister);\n })\n\n // instantiate\n .then(function (translated) {\n if (typeof translated !== 'string' || !metadata.pluginModule || !metadata.pluginModule.instantiate)\n return translated;\n\n var calledInstantiate = false;\n metadata.pluginLoad.source = translated;\n return Promise.resolve(metadata.pluginModule.instantiate.call(loader, metadata.pluginLoad, function (load) {\n translated = load.source;\n metadata.load = load.metadata;\n if (calledInstantiate)\n throw new Error('Instantiate must only be called once.');\n calledInstantiate = true;\n }))\n .then(function (result) {\n if (calledInstantiate)\n return translated;\n return protectedCreateNamespace(result);\n });\n })\n .then(function (source) {\n // plugin instantiate result case\n if (typeof source !== 'string')\n return source;\n\n if (!metadata.load.format)\n metadata.load.format = detectLegacyFormat(source);\n\n var registered = false;\n\n switch (metadata.load.format) {\n case 'esm':\n case 'register':\n case 'system':\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\n if (err)\n throw err;\n if (!processAnonRegister())\n return emptyModule;\n return;\n break;\n\n case 'json':\n // warn.call(config, '\"json\" module format is deprecated.');\n var parsed = JSON.parse(source);\n return loader.newModule({ default: parsed, __useDefault: parsed });\n\n case 'amd':\n var curDefine = global.define;\n global.define = loader.amdDefine;\n\n clearLastDefine(metadata.load.deps, metadata.load.esModule);\n\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\n\n // if didn't register anonymously, use the last named define if only one\n registered = processAnonRegister();\n if (!registered) {\n registerLastDefine(loader);\n registered = processAnonRegister();\n }\n\n global.define = curDefine;\n\n if (err)\n throw err;\n break;\n\n case 'cjs':\n var metaDeps = metadata.load.deps;\n var deps = (metadata.load.deps || []).concat(metadata.load.cjsRequireDetection ? getCJSDeps(source) : []);\n\n for (var g in metadata.load.globals)\n if (metadata.load.globals[g])\n deps.push(metadata.load.globals[g]);\n\n loader.registerDynamic(deps, true, function (require, exports, module) {\n require.resolve = function (key) {\n return requireResolve.call(loader, key, module.id);\n };\n // support module.paths ish\n module.paths = [];\n module.require = require;\n\n // ensure meta deps execute first\n if (!metadata.load.cjsDeferDepsExecute && metaDeps)\n for (var i = 0; i < metaDeps.length; i++)\n require(metaDeps[i]);\n\n var pathVars = getPathVars(module.id);\n var __cjsWrapper = {\n exports: exports,\n args: [require, exports, module, pathVars.filename, pathVars.dirname, global, global]\n };\n\n var cjsWrapper = \"(function (require, exports, module, __filename, __dirname, global, GLOBAL\";\n\n // add metadata.globals to the wrapper arguments\n if (metadata.load.globals)\n for (var g in metadata.load.globals) {\n __cjsWrapper.args.push(require(metadata.load.globals[g]));\n cjsWrapper += \", \" + g;\n }\n\n // disable AMD detection\n var define = global.define;\n global.define = undefined;\n global.__cjsWrapper = __cjsWrapper;\n\n source = cjsWrapper + \") {\" + source.replace(hashBangRegEx, '') + \"\\n}).apply(__cjsWrapper.exports, __cjsWrapper.args);\";\n\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\n if (err)\n throw err;\n\n setMetaEsModule(metadata, exports);\n\n global.__cjsWrapper = undefined;\n global.define = define;\n });\n registered = processAnonRegister();\n break;\n\n case 'global':\n var deps = metadata.load.deps || [];\n for (var g in metadata.load.globals) {\n var gl = metadata.load.globals[g];\n if (gl)\n deps.push(gl);\n }\n\n loader.registerDynamic(deps, false, function (require, exports, module) {\n var globals;\n if (metadata.load.globals) {\n globals = {};\n for (var g in metadata.load.globals)\n if (metadata.load.globals[g])\n globals[g] = require(metadata.load.globals[g]);\n }\n\n var exportName = metadata.load.exports;\n\n if (exportName)\n source += '\\n' + globalName + '[\"' + exportName + '\"] = ' + exportName + ';';\n\n var retrieveGlobal = prepareGlobal(module.id, exportName, globals, metadata.load.encapsulateGlobal);\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, true);\n\n if (err)\n throw err;\n\n var output = retrieveGlobal();\n setMetaEsModule(metadata, output);\n return output;\n });\n registered = processAnonRegister();\n break;\n\n default:\n throw new TypeError('Unknown module format \"' + metadata.load.format + '\" for \"' + key + '\".' + (metadata.load.format === 'es6' ? ' Use \"esm\" instead here.' : ''));\n }\n\n if (!registered)\n throw new Error('Module ' + key + ' detected as ' + metadata.load.format + ' but didn\\'t execute correctly.');\n });\n}\n\nvar globalName = typeof self != 'undefined' ? 'self' : 'global';\n\n// good enough ES6 module detection regex - format detections not designed to be accurate, but to handle the 99% use case\nexport var esmRegEx = /(^\\s*|[}\\);\\n]\\s*)(import\\s*(['\"]|(\\*\\s+as\\s+)?(?!type)([^\"'\\(\\)\\n; ]+)\\s*from\\s*['\"]|\\{)|export\\s+\\*\\s+from\\s+[\"']|export\\s*(\\{|default|function|class|var|const|let|async\\s+function))/;\n\nvar leadingCommentAndMetaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)*\\s*/;\nexport function detectRegisterFormat(source) {\n var leadingCommentAndMeta = source.match(leadingCommentAndMetaRegEx);\n return leadingCommentAndMeta && source.substr(leadingCommentAndMeta[0].length, 15) === 'System.register';\n}\n\n// AMD Module Format Detection RegEx\n// define([.., .., ..], ...)\n// define(varName); || define(function(require, exports) {}); || define({})\nvar amdRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])define\\s*\\(\\s*(\"[^\"]+\"\\s*,\\s*|'[^']+'\\s*,\\s*)?\\s*(\\[(\\s*((\"[^\"]+\"|'[^']+')\\s*,|\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*(\\s*(\"[^\"]+\"|'[^']+')\\s*,?)?(\\s*(\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*\\s*\\]|function\\s*|{|[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*\\))/;\n\n/// require('...') || exports[''] = ... || exports.asd = ... || module.exports = ...\nvar cjsExportsRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])(exports\\s*(\\[['\"]|\\.)|module(\\.exports|\\['exports'\\]|\\[\"exports\"\\])\\s*(\\[['\"]|[=,\\.]))/;\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\n\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\n\n// used to support leading #!/usr/bin/env in scripts as supported in Node\nvar hashBangRegEx = /^\\#\\!.*/;\n\nexport function detectLegacyFormat (source) {\n if (source.match(amdRegEx))\n return 'amd';\n\n cjsExportsRegEx.lastIndex = 0;\n cjsRequireRegEx.lastIndex = 0;\n if (cjsRequireRegEx.exec(source) || cjsExportsRegEx.exec(source))\n return 'cjs';\n\n // global is the fallback format\n return 'global';\n}\n\nfunction sanitizeSourceMap (address, sourceMap) {\n var originalName = address.split('!')[0];\n\n // force set the filename of the original file\n if (!sourceMap.file || sourceMap.file == address)\n sourceMap.file = originalName + '!transpiled';\n\n // force set the sources list if only one source\n if (!sourceMap.sources || sourceMap.sources.length <= 1 && (!sourceMap.sources[0] || sourceMap.sources[0] === address))\n sourceMap.sources = [originalName];\n}\n\nfunction transpile (loader, source, key, metadata, processAnonRegister) {\n if (!loader.transpiler)\n throw new TypeError('Unable to dynamically transpile ES module\\n A loader plugin needs to be configured via `SystemJS.config({ transpiler: \\'transpiler-module\\' })`.');\n\n // deps support for es transpile\n if (metadata.load.deps) {\n var depsPrefix = '';\n for (var i = 0; i < metadata.load.deps.length; i++)\n depsPrefix += 'import \"' + metadata.load.deps[i] + '\"; ';\n source = depsPrefix + source;\n }\n\n // do transpilation\n return loader.import.call(loader, loader.transpiler)\n .then(function (transpiler) {\n transpiler = transpiler.__useDefault || transpiler;\n\n // translate hooks means this is a transpiler plugin instead of a raw implementation\n if (!transpiler.translate)\n throw new Error(loader.transpiler + ' is not a valid transpiler plugin.');\n\n // if transpiler is the same as the plugin loader, then don't run twice\n if (transpiler === metadata.pluginModule)\n return source;\n\n // convert the source map into an object for transpilation chaining\n if (typeof metadata.load.sourceMap === 'string')\n metadata.load.sourceMap = JSON.parse(metadata.load.sourceMap);\n\n metadata.pluginLoad = metadata.pluginLoad || {\n name: key,\n address: key,\n source: source,\n metadata: metadata.load\n };\n metadata.load.deps = metadata.load.deps || [];\n\n return Promise.resolve(transpiler.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\n .then(function (source) {\n // sanitize sourceMap if an object not a JSON string\n var sourceMap = metadata.load.sourceMap;\n if (sourceMap && typeof sourceMap === 'object')\n sanitizeSourceMap(key, sourceMap);\n\n if (metadata.load.format === 'esm' && detectRegisterFormat(source))\n metadata.load.format = 'register';\n\n return source;\n });\n }, function (err) {\n throw addToError(err, 'Unable to load transpiler to transpile ' + key);\n });\n}\n\n// detect any meta header syntax\n// only set if not already set\nvar metaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)+/;\nvar metaPartRegEx = /\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\/\\/[^\\n]*|\"[^\"]+\"\\s*;?|'[^']+'\\s*;?/g;\n\nfunction setMetaProperty(target, p, value) {\n var pParts = p.split('.');\n var curPart;\n while (pParts.length > 1) {\n curPart = pParts.shift();\n target = target[curPart] = target[curPart] || {};\n }\n curPart = pParts.shift();\n if (target[curPart] === undefined)\n target[curPart] = value;\n}\n\nfunction readMetaSyntax (source, metadata) {\n var meta = source.match(metaRegEx);\n if (!meta)\n return;\n\n var metaParts = meta[0].match(metaPartRegEx);\n\n for (var i = 0; i < metaParts.length; i++) {\n var curPart = metaParts[i];\n var len = curPart.length;\n\n var firstChar = curPart.substr(0, 1);\n if (curPart.substr(len - 1, 1) == ';')\n len--;\n\n if (firstChar != '\"' && firstChar != \"'\")\n continue;\n\n var metaString = curPart.substr(1, curPart.length - 3);\n var metaName = metaString.substr(0, metaString.indexOf(' '));\n\n if (metaName) {\n var metaValue = metaString.substr(metaName.length + 1, metaString.length - metaName.length - 1);\n\n if (metaName === 'deps')\n metaName = 'deps[]';\n\n if (metaName.substr(metaName.length - 2, 2) === '[]') {\n metaName = metaName.substr(0, metaName.length - 2);\n metadata.load[metaName] = metadata.load[metaName] || [];\n metadata.load[metaName].push(metaValue);\n }\n // \"use strict\" is not meta\n else if (metaName !== 'use') {\n setMetaProperty(metadata.load, metaName, metaValue);\n }\n }\n else {\n metadata.load[metaString] = true;\n }\n }\n}\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { warn, isBrowser, global, baseURI, CONFIG, METADATA, ModuleNamespace, emptyModule, isModule } from './common.js';\n\nimport { getConfig, getConfigItem, setConfig } from './config.js';\nimport { decanonicalize, normalize, normalizeSync } from './resolve.js';\nimport { instantiate, nodeRequire } from './instantiate.js';\nimport formatHelpers from './format-helpers.js';\n\nexport default SystemJSLoader;\n\nvar scriptSrc;\n\n// Promise detection and error message\nif (typeof Promise === 'undefined')\n throw new Error('SystemJS needs a Promise polyfill.');\n\nif (typeof document !== 'undefined') {\n var scripts = document.getElementsByTagName('script');\n var curScript = scripts[scripts.length - 1];\n if (document.currentScript && (curScript.defer || curScript.async))\n curScript = document.currentScript;\n\n scriptSrc = curScript && curScript.src;\n}\n// worker\nelse if (typeof importScripts !== 'undefined') {\n try {\n throw new Error('_');\n }\n catch (e) {\n e.stack.replace(/(?:at|@).*(http.+):[\\d]+:[\\d]+/, function(m, url) {\n scriptSrc = url;\n });\n }\n}\n// node\nelse if (typeof __filename !== 'undefined') {\n scriptSrc = __filename;\n}\n\nfunction SystemJSLoader () {\n RegisterLoader.call(this);\n\n // NB deprecate\n this._loader = {};\n\n // internal metadata store\n this[METADATA] = {};\n\n // internal configuration\n this[CONFIG] = {\n baseURL: baseURI,\n paths: {},\n\n packageConfigPaths: [],\n packageConfigKeys: [],\n map: {},\n packages: {},\n depCache: {},\n meta: {},\n bundles: {},\n\n production: false,\n\n transpiler: undefined,\n loadedBundles: {},\n\n // global behaviour flags\n warnings: false,\n pluginFirst: false,\n\n // enable wasm loading and detection when supported\n wasm: false\n };\n\n // make the location of the system.js script accessible (if any)\n this.scriptSrc = scriptSrc;\n\n this._nodeRequire = nodeRequire;\n\n // support the empty module, as a concept\n this.registry.set('@empty', emptyModule);\n\n setProduction.call(this, false, false);\n\n // add module format helpers\n formatHelpers(this);\n}\n\nexport var envModule;\nexport function setProduction (isProduction, isBuilder) {\n this[CONFIG].production = isProduction;\n this.registry.set('@system-env', envModule = this.newModule({\n browser: isBrowser,\n node: !!this._nodeRequire,\n production: !isBuilder && isProduction,\n dev: isBuilder || !isProduction,\n build: isBuilder,\n 'default': true\n }));\n}\n\nSystemJSLoader.prototype = Object.create(RegisterLoader.prototype);\n\nSystemJSLoader.prototype.constructor = SystemJSLoader;\n\n// NB deprecate normalize\nSystemJSLoader.prototype[SystemJSLoader.resolve = RegisterLoader.resolve] = SystemJSLoader.prototype.normalize = normalize;\n\nSystemJSLoader.prototype.load = function (key, parentKey) {\n warn.call(this[CONFIG], 'System.load is deprecated.');\n return this.import(key, parentKey);\n};\n\n// NB deprecate decanonicalize, normalizeSync\nSystemJSLoader.prototype.decanonicalize = SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.resolveSync = normalizeSync;\n\nSystemJSLoader.prototype[SystemJSLoader.instantiate = RegisterLoader.instantiate] = instantiate;\n\nSystemJSLoader.prototype.config = setConfig;\nSystemJSLoader.prototype.getConfig = getConfig;\n\nSystemJSLoader.prototype.global = global;\n\nSystemJSLoader.prototype.import = function () {\n return RegisterLoader.prototype.import.apply(this, arguments)\n .then(function (m) {\n return '__useDefault' in m ? m.__useDefault : m;\n });\n};\n\nexport var configNames = ['baseURL', 'map', 'paths', 'packages', 'packageConfigPaths', 'depCache', 'meta', 'bundles', 'transpiler', 'warnings', 'pluginFirst', 'production', 'wasm'];\n\nvar hasProxy = typeof Proxy !== 'undefined';\nfor (var i = 0; i < configNames.length; i++) (function (configName) {\n Object.defineProperty(SystemJSLoader.prototype, configName, {\n get: function () {\n var cfg = getConfigItem(this[CONFIG], configName);\n\n if (hasProxy && typeof cfg === 'object')\n cfg = new Proxy(cfg, {\n set: function (target, option) {\n throw new Error('Cannot set SystemJS.' + configName + '[\"' + option + '\"] directly. Use SystemJS.config({ ' + configName + ': { \"' + option + '\": ... } }) rather.');\n }\n });\n\n //if (typeof cfg === 'object')\n // warn.call(this[CONFIG], 'Referencing `SystemJS.' + configName + '` is deprecated. Use the config getter `SystemJS.getConfig(\\'' + configName + '\\')`');\n return cfg;\n },\n set: function (name) {\n throw new Error('Setting `SystemJS.' + configName + '` directly is no longer supported. Use `SystemJS.config({ ' + configName + ': ... })`.');\n }\n });\n})(configNames[i]);\n\n/*\n * Backwards-compatible registry API, to be deprecated\n */\nfunction registryWarn(loader, method) {\n warn.call(loader[CONFIG], 'SystemJS.' + method + ' is deprecated for SystemJS.registry.' + method);\n}\nSystemJSLoader.prototype.delete = function (key) {\n registryWarn(this, 'delete');\n return this.registry.delete(key);\n};\nSystemJSLoader.prototype.get = function (key) {\n registryWarn(this, 'get');\n return this.registry.get(key);\n};\nSystemJSLoader.prototype.has = function (key) {\n registryWarn(this, 'has');\n return this.registry.has(key);\n};\nSystemJSLoader.prototype.set = function (key, module) {\n registryWarn(this, 'set');\n return this.registry.set(key, module);\n};\nSystemJSLoader.prototype.newModule = function (bindings) {\n return new ModuleNamespace(bindings);\n};\nSystemJSLoader.prototype.isModule = isModule;\n\n// ensure System.register and System.registerDynamic decanonicalize\nSystemJSLoader.prototype.register = function (key, deps, declare) {\n if (typeof key === 'string')\n key = decanonicalize.call(this, this[CONFIG], key);\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\n};\n\nSystemJSLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n if (typeof key === 'string')\n key = decanonicalize.call(this, this[CONFIG], key);\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\n};\n","import { global, isBrowser, isWorker } from './common.js';\nimport SystemJSLoader from './systemjs-loader.js';\n\nSystemJSLoader.prototype.version = VERSION;\n\nvar System = new SystemJSLoader();\n\n// only set the global System on the global in browsers\nif (isBrowser || isWorker)\n global.SystemJS = global.System = System;\n\nif (typeof module !== 'undefined' && module.exports)\n module.exports = System;\n"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/es-module-loader/core/common.js","../node_modules/es-module-loader/core/resolve.js","../node_modules/es-module-loader/core/loader-polyfill.js","../node_modules/es-module-loader/core/register-loader.js","../src/common.js","../src/fetch.js","../src/resolve.js","../src/config.js","../src/evaluate.js","../src/format-helpers.js","../src/instantiate.js","../src/systemjs-loader.js","../src/system.js"],"names":["createSymbol","name","hasSymbol","Symbol","LoaderError__Check_error_message_for_loader_stack","childErr","newMessage","isBrowser","replace","isWindows","err","message","errArgs","fileName","Error","lineNumber","stack","originalErr","isNode","throwResolveError","relUrl","parentUrl","RangeError","resolveIfNotPlain","trim","parentProtocol","substr","indexOf","firstChar","secondChar","length","pathname","parentIsPlain","undefined","segmented","lastIndexOf","output","segmentIndex","i","pop","push","substring","join","match","arrayValues","arr","values","iterator","iterable","keys","Object","keyIndex","next","value","done","Loader","this","registry","Registry","ensureInstantiated","module","ModuleNamespace","TypeError","ensureResolution","resolvedKey","REGISTRY","baseObject","defineProperty","BASE_OBJECT","forEach","extendNamespace","key","enumerable","get","RegisterLoader","call","registryDelete","delete","deleted","records","hasOwnProperty","linkRecord","REGISTER_INTERNAL","lastRegister","trace","createLoadRecord","state","registration","importerSetters","loadError","evalError","instantiatePromise","dependencies","execute","executingRequire","moduleObj","setters","depsInstantiatePromise","dependencyInstantiations","resolveInstantiate","loader","parentKey","Promise","resolve","load","reject","instantiate","then","link","createProcessAnonRegister","INSTANTIATE","instantiation","traceLoad","default","__useDefault","registerDeclarative","catch","addToError","resolveInstantiateDep","traceDepMap","loads","deps","dynamicDeps","depMap","declare","definedExports","declared","global","changed","p","ContextualLoader","exports","instantiateDeps","depsInstantiatePromises","Array","all","setter","deepInstantiateDeps","queueLoad","seen","loadCnt","processLoad","depLoad","id","meta","url","ensureEvaluate","doEvaluate","makeDynamicRequire","depLink","declarativeExecute","configurable","set","require","dynamicExecute","moduleDefault","__esModule","nullContext","e","noop","protectedCreateNamespace","bindings","warn","msg","force","warnings","console","checkInstantiateWasm","wasmBuffer","processAnonRegister","bytes","Uint8Array","WebAssembly","compile","m","importObj","Module","imports","register","_export","Instance","loadNodeModule","baseURL","parentModuleContext","_nodeRequire","base","decodeURI","paths","_nodeModulePaths","extend","a","b","prepend","extendMeta","_prepend","val","concat","preloadScript","supportsPreload","supportsPrefetch","document","createElement","rel","as","href","head","appendChild","Image","src","workerImport","importScripts","scriptLoad","crossOrigin","integrity","cleanup","error","script","removeEventListener","removeChild","isWorker","type","charset","async","addEventListener","readMemberExpression","pParts","split","shift","applyPaths","mapMatch","getMapMatch","target","resolved","baseURI","checkMap","curLen","len","map","bestMatch","xhrFetch","authorization","asBuffer","xhr","response","responseText","status","statusText","XMLHttpRequest","responseType","onreadystatechange","readyState","open","setRequestHeader","withCredentials","send","createMetadata","pluginKey","pluginArgument","pluginModule","packageKey","packageConfig","getParentMetadata","config","parentMetadata","parentPluginIndex","pluginFirst","packages","decanonicalize","parsed","parsePlugin","plugin","combinePluginParts","coreResolve","argument","normalizeSync","CONFIG","metadata","packageResolveSync","doMap","packageName","relativeResolved","has","trailingSlash","skipExtensions","parentMap","parentMapMatch","mapped","doMapSync","normalized","pkgConfigMatch","getPackageConfigMatch","packageConfigKeys","createPackage","subPath","applyPackageConfigSync","packageResolve","resolvedPromise","createMeta","format","configured","loadPackageConfigPath","configPath","applyPackageConfig","extension","globals","nonce","sourceMap","encapsulateGlobal","cjsRequireDetection","cjsDeferDepsExecute","esModule","setMeta","wildcardIndex","bestDepth","depth","getMetaMatches","metaPattern","matchMeta","matchDepth","argumentKey","pluginIndex","addDefaultExtension","pkg","pkgKey","defaultExtension","metaMatch","main","mapPath","validMapping","path","interpolateConditional","conditionPromises","conditions","c","parseCondition","condition","prototype","import","conditionValues","prop","negate","createPkgConfigPathObj","lastWildcard","Math","max","regEx","RegExp","wildcard","exactMatch","packageConfigPaths","packageConfigPath","pkgConfigPath","configLoader","pluginLoader","pkgConfig","setPkgConfig","pkgMeta","matchFn","dotRel","exactMeta","conditionExport","conditionModule","negation","conditionExportIndex","sysConditions","resolveCondition","conditionObj","bool","conditionalMatch","interpolationRegEx","conditionValue","envSet","cfg","envCallback","envConfigNames","envConfig","envModule","cloneObj","obj","maxDepth","clone","getConfigItem","cfgItem","pkgName","prependConfig","inlineSourceMap","sourceMapString","hasBuffer","sourceMapPrefix","Buffer","toString","btoa","unescape","encodeURIComponent","getSource","source","address","wrap","lastLineIndex","JSON","stringify","scriptExec","body","documentElement","text","onerror","window","_e","apply","arguments","preExec","setAttribute","postExec","callCounter","curSystem","System","SystemJS","evaluate","noWrap","supportsScriptExec","vm","useVm","runInThisContext","filename","eval","setHelpers","newModule","requireResolve","bind","getPathVars","prepareGlobal","setAmdHelper","names","callback","errback","referer","splice","dynamicRequires","modules","define","factory","req","depValues","uri","moduleIndex","exportsIndex","requireIndex","contextualRequire","toUrl","curRequire","curMetaDeps","amdGetCJSDeps","registerDynamic","lastNamedDefine","multipleNamedDefines","curEsModule","wrapEsModuleExecute","amd","amdDefine","amdRequire","stripOrigin","windowOrigin","request","parentId","moduleId","dirname","getCJSDeps","inLocation","locations","index","cjsRequireRegEx","lastIndex","commentRegEx","stringRegEx","stringLocations","commentLocations","exec","dep","globalIterator","globalName","ignoredGlobalProps","getGlobalValue","globalValue","moduleName","encapsulate","curDefine","oldGlobals","g","globalSnapshot","singleGlobal","multipleExports","requireAlias","fnBracketRegEx","wsRegEx","requireRegEx","requireRegExs","cjsRequirePre","cjsRequirePost","clearLastDefine","metaDeps","registerLastDefine","setMetaEsModule","moduleValue","initializePlugin","pluginLoad","loadBundlesAndDepCache","depCache","normalize","matched","bundles","curModule","parts","runFetchPipeline","wasm","locate","fetch","fetched","wasmInstantiated","stringSource","TextDecoder","decode","translateAndInstantiate","readMetaSyntax","translate","traceOpts","translated","sanitizeSourceMap","detectRegisterFormat","esmRegEx","transpile","calledInstantiate","result","detectLegacyFormat","registered","emptyModule","parse","pathVars","__cjsWrapper","args","cjsWrapper","hashBangRegEx","gl","exportName","retrieveGlobal","leadingCommentAndMeta","leadingCommentAndMetaRegEx","amdRegEx","cjsExportsRegEx","originalName","file","sources","transpiler","depsPrefix","setMetaProperty","curPart","metaRegEx","metaParts","metaPartRegEx","metaString","metaName","metaValue","SystemJSLoader","_loader","METADATA","production","loadedBundles","scriptSrc","nodeRequire","setProduction","isProduction","isBuilder","browser","node","dev","build","registryWarn","method","process","versions","platform","envGlobal","self","getElementsByTagName","bases","location","slashIndex","cwd","constructor","parent","RESOLVE_INSTANTIATE","RESOLVE","iteratorSupport","entries","namespace","create","toStringTag","instantiated","freeze","hasStringTag","relList","supports","fs","fetchFunction","hasXhr","fetch$1","opts","headers","Accept","credentials","res","ok","arrayBuffer","readFile","data","dataString","chrome","navigator","userAgent","protocol","hostname","port","supportsScriptLoad","scripts","curScript","currentScript","defer","__filename","booleanIndex","resolveSync","isEnvConfig","defaultJSExtensions","v","packageLength","bundle","configNames","getConfig","configName","configItem","hasProxy","Proxy","option","isModule","version"],"mappings":"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","sourcesContent":["/*\n * Environment\n */\nexport var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nexport var isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nexport var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);\n\nvar envGlobal = typeof self !== 'undefined' ? self : global;\nexport { envGlobal as global }\n\n/*\n * Simple Symbol() shim\n */\nvar hasSymbol = typeof Symbol !== 'undefined';\nexport function createSymbol (name) {\n return hasSymbol ? Symbol() : '@@' + name;\n}\n\nexport function pathToFileUrl (filePath) {\n return 'file://' + (isWindows ? '/' : '') + (isWindows ? filePath.replace(/\\\\/g, '/') : filePath);\n}\n\nexport function fileUrlToPath (fileUrl) {\n if (fileUrl.substr(0, 7) !== 'file://')\n throw new RangeError(fileUrl + ' is not a valid file url');\n if (isWindows)\n return fileUrl.substr(8).replace(/\\\\/g, '/');\n else\n return fileUrl.substr(7);\n}\n\n/*\n * Environment baseURI\n */\nexport var baseURI;\n\n// environent baseURI detection\nif (typeof document != 'undefined' && document.getElementsByTagName) {\n baseURI = document.baseURI;\n\n if (!baseURI) {\n var bases = document.getElementsByTagName('base');\n baseURI = bases[0] && bases[0].href || window.location.href;\n }\n}\nelse if (typeof location != 'undefined') {\n baseURI = location.href;\n}\n\n// sanitize out the hash and querystring\nif (baseURI) {\n baseURI = baseURI.split('#')[0].split('?')[0];\n var slashIndex = baseURI.lastIndexOf('/');\n if (slashIndex !== -1)\n baseURI = baseURI.substr(0, slashIndex + 1);\n}\nelse if (typeof process !== 'undefined' && process.cwd) {\n baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd();\n if (isWindows)\n baseURI = baseURI.replace(/\\\\/g, '/');\n}\nelse {\n throw new TypeError('No environment baseURI');\n}\n\n// ensure baseURI has trailing \"/\"\nif (baseURI[baseURI.length - 1] !== '/')\n baseURI += '/';\n\n/*\n * LoaderError with chaining for loader stacks\n */\nvar errArgs = new Error(0, '_').fileName == '_';\nfunction LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) {\n // Convert file:/// URLs to paths in Node\n if (!isBrowser)\n newMessage = newMessage.replace(isWindows ? /file:\\/\\/\\//g : /file:\\/\\//g, '');\n\n var message = (childErr.message || childErr) + '\\n ' + newMessage;\n\n var err;\n if (errArgs && childErr.fileName)\n err = new Error(message, childErr.fileName, childErr.lineNumber);\n else\n err = new Error(message);\n\n\n var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack;\n\n if (isNode)\n // node doesn't show the message otherwise\n err.stack = message + '\\n ' + stack;\n else\n err.stack = stack;\n\n err.originalErr = childErr.originalErr || childErr;\n\n return err;\n}\nexport { LoaderError__Check_error_message_for_loader_stack as addToError }\n","import { isNode } from './common.js';\n\n/*\n * Optimized URL normalization assuming a syntax-valid URL parent\n */\nfunction throwResolveError (relUrl, parentUrl) {\n throw new RangeError('Unable to resolve \"' + relUrl + '\" to ' + parentUrl);\n}\nexport function resolveIfNotPlain (relUrl, parentUrl) {\n relUrl = relUrl.trim();\n var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1);\n\n var firstChar = relUrl[0];\n var secondChar = relUrl[1];\n\n // protocol-relative\n if (firstChar === '/' && secondChar === '/') {\n if (!parentProtocol)\n throwResolveError(relUrl, parentUrl);\n return parentProtocol + relUrl;\n }\n // relative-url\n else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n firstChar === '/') {\n var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/';\n\n // read pathname from parent if a URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentIsPlain) {\n // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\r\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\r\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\r\n\r\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\r\n\r\nexport var resolvedPromise = Promise.resolve();\r\nexport function noop () {};\r\n\r\nexport var emptyModule = new ModuleNamespace({});\r\n\r\nexport function protectedCreateNamespace (bindings) {\r\n if (bindings instanceof ModuleNamespace)\r\n return bindings;\r\n\r\n if (bindings && bindings.__esModule)\r\n return new ModuleNamespace(bindings);\r\n\r\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\r\n}\r\n\r\nvar hasStringTag;\r\nexport function isModule (m) {\r\n if (hasStringTag === undefined)\r\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\r\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\r\n}\r\n\r\nexport var CONFIG = createSymbol('loader-config');\r\nexport var METADATA = createSymbol('metadata');\r\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\r\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\r\n\r\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\r\n\r\nexport function warn (msg, force) {\r\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\r\n console.warn(msg);\r\n}\r\n\r\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\r\n var bytes = new Uint8Array(wasmBuffer);\r\n\r\n // detect by leading bytes\r\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\r\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\r\n return WebAssembly.compile(wasmBuffer).then(function (m) {\r\n var deps = [];\r\n var setters = [];\r\n var importObj = {};\r\n\r\n // we can only set imports if supported (eg Safari doesnt support)\r\n if (WebAssembly.Module.imports)\r\n WebAssembly.Module.imports(m).forEach(function (i) {\r\n var key = i.module;\r\n setters.push(function (m) {\r\n importObj[key] = m;\r\n });\r\n if (deps.indexOf(key) === -1)\r\n deps.push(key);\r\n });\r\n loader.register(deps, function (_export) {\r\n return {\r\n setters: setters,\r\n execute: function () {\r\n _export(new WebAssembly.Instance(m, importObj).exports);\r\n }\r\n };\r\n });\r\n processAnonRegister();\r\n\r\n return true;\r\n });\r\n }\r\n\r\n return Promise.resolve(false);\r\n}\r\n\r\nvar parentModuleContext;\r\nexport function loadNodeModule (key, baseURL) {\r\n if (key[0] === '.')\r\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\r\n\r\n if (!parentModuleContext) {\r\n var Module = this._nodeRequire('module');\r\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\r\n parentModuleContext = new Module(base);\r\n parentModuleContext.paths = Module._nodeModulePaths(base);\r\n }\r\n return parentModuleContext.require(key);\r\n}\r\n\r\nexport function extend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\nexport function prepend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n if (a[p] === undefined)\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\n// meta first-level extends where:\r\n// array + array appends\r\n// object + object extends\r\n// other properties replace\r\nexport function extendMeta (a, b, _prepend) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n var val = b[p];\r\n if (a[p] === undefined)\r\n a[p] = val;\r\n else if (val instanceof Array && a[p] instanceof Array)\r\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\r\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\r\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\r\n else if (!_prepend)\r\n a[p] = val;\r\n }\r\n}\r\n\r\nvar supportsPreload = false, supportsPrefetch = false;\r\nif (isBrowser)\r\n (function () {\r\n var relList = document.createElement('link').relList;\r\n if (relList && relList.supports) {\r\n supportsPrefetch = true;\r\n try {\r\n supportsPreload = relList.supports('preload');\r\n }\r\n catch (e) {}\r\n }\r\n })();\r\n\r\nexport function preloadScript (url) {\r\n // fallback to old fashioned image technique which still works in safari\r\n if (!supportsPreload && !supportsPrefetch) {\r\n var preloadImage = new Image();\r\n preloadImage.src = url;\r\n return;\r\n }\r\n\r\n var link = document.createElement('link');\r\n if (supportsPreload) {\r\n link.rel = 'preload';\r\n link.as = 'script';\r\n }\r\n else {\r\n // this works for all except Safari (detected by relList.supports lacking)\r\n link.rel = 'prefetch';\r\n }\r\n link.href = url;\r\n document.head.appendChild(link);\r\n}\r\n\r\nfunction workerImport (src, resolve, reject) {\r\n try {\r\n importScripts(src);\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n resolve();\r\n}\r\n\r\nif (isBrowser) {\r\n var onerror = window.onerror;\r\n window.onerror = function globalOnerror (msg, src) {\r\n if (onerror)\r\n onerror.apply(this, arguments);\r\n };\r\n}\r\n\r\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\r\n // percent encode just \"#\" for HTTP requests\r\n src = src.replace(/#/g, '%23');\r\n\r\n // subresource integrity is not supported in web workers\r\n if (isWorker)\r\n return workerImport(src, resolve, reject);\r\n\r\n var script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.charset = 'utf-8';\r\n script.async = true;\r\n\r\n if (crossOrigin)\r\n script.crossOrigin = crossOrigin;\r\n if (integrity)\r\n script.integrity = integrity;\r\n\r\n script.addEventListener('load', load, false);\r\n script.addEventListener('error', error, false);\r\n\r\n script.src = src;\r\n document.head.appendChild(script);\r\n\r\n function load () {\r\n resolve();\r\n cleanup();\r\n }\r\n\r\n // note this does not catch execution errors\r\n function error (err) {\r\n cleanup();\r\n reject(new Error('Fetching ' + src));\r\n }\r\n\r\n function cleanup () {\r\n script.removeEventListener('load', load, false);\r\n script.removeEventListener('error', error, false);\r\n document.head.removeChild(script);\r\n }\r\n}\r\n\r\nexport function readMemberExpression (p, value) {\r\n var pParts = p.split('.');\r\n while (pParts.length)\r\n value = value[pParts.shift()];\r\n return value;\r\n}\r\n\r\n// separate out paths cache as a baseURL lock process\r\nexport function applyPaths (baseURL, paths, key) {\r\n var mapMatch = getMapMatch(paths, key);\r\n if (mapMatch) {\r\n var target = paths[mapMatch] + key.substr(mapMatch.length);\r\n\r\n var resolved = resolveIfNotPlain(target, baseURI);\r\n if (resolved !== undefined)\r\n return resolved;\r\n\r\n return baseURL + target;\r\n }\r\n else if (key.indexOf(':') !== -1) {\r\n return key;\r\n }\r\n else {\r\n return baseURL + key;\r\n }\r\n}\r\n\r\nfunction checkMap (p) {\r\n var name = this.name;\r\n // can add ':' here if we want paths to match the behaviour of map\r\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\r\n var curLen = p.split('/').length;\r\n if (curLen > this.len) {\r\n this.match = p;\r\n this.len = curLen;\r\n }\r\n }\r\n}\r\n\r\nexport function getMapMatch (map, name) {\r\n if (Object.hasOwnProperty.call(map, name))\r\n return name;\r\n\r\n var bestMatch = {\r\n name: name,\r\n match: undefined,\r\n len: 0\r\n };\r\n\r\n Object.keys(map).forEach(checkMap, bestMatch);\r\n\r\n return bestMatch.match;\r\n}\r\n\r\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\r\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\r\n","import { isWindows } from './common.js';\r\n\r\n/*\r\n * Source loading\r\n */\r\nfunction fetchFetch (url, authorization, integrity, asBuffer) {\r\n // fetch doesn't support file:/// urls\r\n if (url.substr(0, 8) === 'file:///') {\r\n if (hasXhr)\r\n return xhrFetch(url, authorization, integrity, asBuffer);\r\n else\r\n throw new Error('Unable to fetch file URLs in this environment.');\r\n }\r\n\r\n // percent encode just \"#\" for HTTP requests\r\n url = url.replace(/#/g, '%23');\r\n\r\n var opts = {\r\n // NB deprecate\r\n headers: { Accept: 'application/x-es-module, */*' }\r\n };\r\n\r\n if (integrity)\r\n opts.integrity = integrity;\r\n\r\n if (authorization) {\r\n if (typeof authorization == 'string')\r\n opts.headers['Authorization'] = authorization;\r\n opts.credentials = 'include';\r\n }\r\n\r\n return fetch(url, opts)\r\n .then(function(res) {\r\n if (res.ok)\r\n return asBuffer ? res.arrayBuffer() : res.text();\r\n else\r\n throw new Error('Fetch error: ' + res.status + ' ' + res.statusText);\r\n });\r\n}\r\n\r\nfunction xhrFetch (url, authorization, integrity, asBuffer) {\r\n return new Promise(function (resolve, reject) {\r\n // percent encode just \"#\" for HTTP requests\r\n url = url.replace(/#/g, '%23');\r\n\r\n var xhr = new XMLHttpRequest();\r\n if (asBuffer)\r\n xhr.responseType = 'arraybuffer';\r\n function load() {\r\n resolve(asBuffer ? xhr.response : xhr.responseText);\r\n }\r\n function error() {\r\n reject(new Error('XHR error: ' + (xhr.status ? ' (' + xhr.status + (xhr.statusText ? ' ' + xhr.statusText : '') + ')' : '') + ' loading ' + url));\r\n }\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n // in Chrome on file:/// URLs, status is 0\r\n if (xhr.status == 0) {\r\n if (xhr.response) {\r\n load();\r\n }\r\n else {\r\n // when responseText is empty, wait for load or error event\r\n // to inform if it is a 404 or empty file\r\n xhr.addEventListener('error', error);\r\n xhr.addEventListener('load', load);\r\n }\r\n }\r\n else if (xhr.status === 200) {\r\n load();\r\n }\r\n else {\r\n error();\r\n }\r\n }\r\n };\r\n xhr.open(\"GET\", url, true);\r\n\r\n if (xhr.setRequestHeader) {\r\n xhr.setRequestHeader('Accept', 'application/x-es-module, */*');\r\n // can set \"authorization: true\" to enable withCredentials only\r\n if (authorization) {\r\n if (typeof authorization == 'string')\r\n xhr.setRequestHeader('Authorization', authorization);\r\n xhr.withCredentials = true;\r\n }\r\n }\r\n\r\n xhr.send(null);\r\n });\r\n}\r\n\r\nvar fs;\r\nfunction nodeFetch (url, authorization, integrity, asBuffer) {\r\n if (url.substr(0, 8) != 'file:///')\r\n return Promise.reject(new Error('Unable to fetch \"' + url + '\". Only file URLs of the form file:/// supported running in Node.'));\r\n\r\n fs = fs || require('fs');\r\n if (isWindows)\r\n url = url.replace(/\\//g, '\\\\').substr(8);\r\n else\r\n url = url.substr(7);\r\n\r\n return new Promise(function (resolve, reject) {\r\n fs.readFile(url, function(err, data) {\r\n if (err) {\r\n return reject(err);\r\n }\r\n else {\r\n if (asBuffer) {\r\n resolve(data);\r\n }\r\n else {\r\n // Strip Byte Order Mark out if it's the leading char\r\n var dataString = data + '';\r\n if (dataString[0] === '\\ufeff')\r\n dataString = dataString.substr(1);\r\n\r\n resolve(dataString);\r\n }\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction noFetch () {\r\n throw new Error('No fetch method is defined for this environment.');\r\n}\r\n\r\nvar fetchFunction;\r\n\r\nvar hasXhr = typeof XMLHttpRequest !== 'undefined';\r\n\r\nif (typeof self !== 'undefined' && typeof self.fetch !== 'undefined')\r\n fetchFunction = fetchFetch;\r\nelse if (hasXhr)\r\n fetchFunction = xhrFetch;\r\nelse if (typeof require !== 'undefined' && typeof process !== 'undefined')\r\n fetchFunction = nodeFetch;\r\nelse\r\n fetchFunction = noFetch;\r\n\r\nexport default fetchFunction;\r\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { getMapMatch, readMemberExpression, extendMeta, addToError, resolveIfNotPlain,\r\n baseURI, CONFIG, METADATA, applyPaths, resolvedPromise, getPackage } from './common.js';\r\nimport { setPkgConfig, createPackage } from './config.js';\r\nimport fetch from './fetch.js';\r\n\r\nexport function createMetadata () {\r\n return {\r\n pluginKey: undefined,\r\n pluginArgument: undefined,\r\n pluginModule: undefined,\r\n packageKey: undefined,\r\n packageConfig: undefined,\r\n load: undefined\r\n };\r\n}\r\n\r\nfunction getCoreParentMetadata (loader, config, parentKey) {\r\n var parentMetadata = createMetadata();\r\n\r\n if (parentKey) {\r\n // detect parent plugin\r\n // we just need pluginKey to be truthy for package configurations\r\n // so we duplicate it as pluginArgument - although not correct its not used\r\n var parentPluginIndex;\r\n if (config.pluginFirst) {\r\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\r\n }\r\n else {\r\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\r\n }\r\n }\r\n\r\n return parentMetadata;\r\n}\r\n\r\nfunction getParentMetadata (loader, config, parentKey) {\r\n var parentMetadata = createMetadata();\r\n\r\n if (parentKey) {\r\n // detect parent plugin\r\n // we just need pluginKey to be truthy for package configurations\r\n // so we duplicate it as pluginArgument - although not correct its not used\r\n var parentPluginIndex;\r\n if (config.pluginFirst) {\r\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\r\n }\r\n else {\r\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\r\n }\r\n\r\n // detect parent package\r\n parentMetadata.packageKey = getMapMatch(config.packages, parentKey);\r\n if (parentMetadata.packageKey)\r\n parentMetadata.packageConfig = config.packages[parentMetadata.packageKey];\r\n }\r\n\r\n return parentMetadata;\r\n}\r\n\r\nexport function normalize (key, parentKey) {\r\n var config = this[CONFIG];\r\n\r\n var metadata = createMetadata();\r\n var parentMetadata = getParentMetadata(this, config, parentKey);\r\n\r\n var loader = this;\r\n\r\n return Promise.resolve()\r\n\r\n // boolean conditional\r\n .then(function () {\r\n // first we normalize the conditional\r\n var booleanIndex = key.lastIndexOf('#?');\r\n\r\n if (booleanIndex === -1)\r\n return Promise.resolve(key);\r\n\r\n var conditionObj = parseCondition.call(loader, key.substr(booleanIndex + 2));\r\n\r\n // in builds, return normalized conditional\r\n /*if (this.builder)\r\n return this.resolve(conditionObj.module, parentKey)\r\n .then(function (conditionModule) {\r\n conditionObj.module = conditionModule;\r\n return key.substr(0, booleanIndex) + '#?' + serializeCondition(conditionObj);\r\n });*/\r\n\r\n return resolveCondition.call(loader, conditionObj, parentKey, true)\r\n .then(function (conditionValue) {\r\n return conditionValue ? key.substr(0, booleanIndex) : '@empty';\r\n });\r\n })\r\n\r\n // plugin\r\n .then(function (key) {\r\n var parsed = parsePlugin(config.pluginFirst, key);\r\n\r\n if (!parsed)\r\n return packageResolve.call(loader, config, key, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, false);\r\n\r\n metadata.pluginKey = parsed.plugin;\r\n\r\n return Promise.all([\r\n packageResolve.call(loader, config, parsed.argument, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, true),\r\n loader.resolve(parsed.plugin, parentKey)\r\n ])\r\n .then(function (normalized) {\r\n metadata.pluginArgument = normalized[0];\r\n metadata.pluginKey = normalized[1];\r\n\r\n // don't allow a plugin to load itself\r\n if (metadata.pluginArgument === metadata.pluginKey)\r\n throw new Error('Plugin ' + metadata.pluginArgument + ' cannot load itself, make sure it is excluded from any wildcard meta configuration via a custom loader: false rule.');\r\n\r\n return combinePluginParts(config.pluginFirst, normalized[0], normalized[1]);\r\n });\r\n })\r\n .then(function (normalized) {\r\n return interpolateConditional.call(loader, normalized, parentKey, parentMetadata);\r\n })\r\n .then(function (normalized) {\r\n setMeta.call(loader, config, normalized, metadata);\r\n\r\n if (metadata.pluginKey || !metadata.load.loader)\r\n return normalized;\r\n\r\n // loader by configuration\r\n // normalizes to parent to support package loaders\r\n return loader.resolve(metadata.load.loader, normalized)\r\n .then(function (pluginKey) {\r\n metadata.pluginKey = pluginKey;\r\n metadata.pluginArgument = normalized;\r\n return normalized;\r\n });\r\n })\r\n .then(function (normalized) {\r\n loader[METADATA][normalized] = metadata;\r\n return normalized;\r\n });\r\n}\r\n\r\n// normalization function used for registry keys\r\n// just does coreResolve without map\r\nexport function decanonicalize (config, key) {\r\n var parsed = parsePlugin(config.pluginFirst, key);\r\n\r\n // plugin\r\n if (parsed) {\r\n var pluginKey = decanonicalize.call(this, config, parsed.plugin);\r\n return combinePluginParts(config.pluginFirst, coreResolve.call(this, config, parsed.argument, undefined, false, false), pluginKey);\r\n }\r\n\r\n return coreResolve.call(this, config, key, undefined, false, false);\r\n}\r\n\r\nexport function normalizeSync (key, parentKey) {\r\n var config = this[CONFIG];\r\n\r\n // normalizeSync is metadataless, so create metadata\r\n var metadata = createMetadata();\r\n var parentMetadata = parentMetadata || getParentMetadata(this, config, parentKey);\r\n\r\n var parsed = parsePlugin(config.pluginFirst, key);\r\n\r\n // plugin\r\n if (parsed) {\r\n metadata.pluginKey = normalizeSync.call(this, parsed.plugin, parentKey);\r\n return combinePluginParts(config.pluginFirst,\r\n packageResolveSync.call(this, config, parsed.argument, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey),\r\n metadata.pluginKey);\r\n }\r\n\r\n return packageResolveSync.call(this, config, key, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey);\r\n}\r\n\r\nexport function coreResolve (config, key, parentKey, doMap, packageName) {\r\n var relativeResolved = resolveIfNotPlain(key, parentKey || baseURI);\r\n\r\n // standard URL resolution\r\n if (relativeResolved)\r\n return applyPaths(config.baseURL, config.paths, relativeResolved);\r\n\r\n // plain keys not starting with './', 'x://' and '/' go through custom resolution\r\n if (doMap) {\r\n var mapMatch = getMapMatch(config.map, key);\r\n\r\n if (mapMatch) {\r\n key = config.map[mapMatch] + key.substr(mapMatch.length);\r\n\r\n relativeResolved = resolveIfNotPlain(key, baseURI);\r\n if (relativeResolved)\r\n return applyPaths(config.baseURL, config.paths, relativeResolved);\r\n }\r\n }\r\n\r\n if (this.registry.has(key))\r\n return key;\r\n\r\n if (key.substr(0, 6) === '@node/')\r\n return key;\r\n\r\n var trailingSlash = packageName && key[key.length - 1] !== '/';\r\n var resolved = applyPaths(config.baseURL, config.paths, trailingSlash ? key + '/' : key);\r\n if (trailingSlash)\r\n return resolved.substr(0, resolved.length - 1);\r\n return resolved;\r\n}\r\n\r\nfunction packageResolveSync (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\r\n // ignore . since internal maps handled by standard package resolution\r\n if (parentMetadata && parentMetadata.packageConfig && key[0] !== '.') {\r\n var parentMap = parentMetadata.packageConfig.map;\r\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\r\n\r\n if (parentMapMatch && typeof parentMap[parentMapMatch] === 'string') {\r\n var mapped = doMapSync(this, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\r\n if (mapped)\r\n return mapped;\r\n }\r\n }\r\n\r\n var normalized = coreResolve.call(this, config, key, parentKey, true, true);\r\n\r\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\r\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\r\n\r\n if (!metadata.packageKey)\r\n return normalized;\r\n\r\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\r\n metadata.packageKey = undefined;\r\n return normalized;\r\n }\r\n\r\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\r\n\r\n var subPath = normalized.substr(metadata.packageKey.length + 1);\r\n\r\n return applyPackageConfigSync(this, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\r\n}\r\n\r\nfunction packageResolve (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\r\n var loader = this;\r\n\r\n return resolvedPromise\r\n .then(function () {\r\n // ignore . since internal maps handled by standard package resolution\r\n if (parentMetadata && parentMetadata.packageConfig && key.substr(0, 2) !== './') {\r\n var parentMap = parentMetadata.packageConfig.map;\r\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\r\n\r\n if (parentMapMatch)\r\n return doMap(loader, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\r\n }\r\n\r\n return resolvedPromise;\r\n })\r\n .then(function (mapped) {\r\n if (mapped)\r\n return mapped;\r\n\r\n // apply map, core, paths, contextual package map\r\n var normalized = coreResolve.call(loader, config, key, parentKey, true, true);\r\n\r\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\r\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\r\n\r\n if (!metadata.packageKey)\r\n return Promise.resolve(normalized);\r\n\r\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\r\n metadata.packageKey = undefined;\r\n metadata.load = createMeta();\r\n metadata.load.format = 'json';\r\n // ensure no loader\r\n metadata.load.loader = '';\r\n return Promise.resolve(normalized);\r\n }\r\n\r\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\r\n\r\n // load configuration when it matches packageConfigPaths, not already configured, and not the config itself\r\n var loadConfig = pkgConfigMatch && !metadata.packageConfig.configured;\r\n\r\n return (loadConfig ? loadPackageConfigPath(loader, config, pkgConfigMatch.configPath, metadata) : resolvedPromise)\r\n .then(function () {\r\n var subPath = normalized.substr(metadata.packageKey.length + 1);\r\n\r\n return applyPackageConfig(loader, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\r\n });\r\n });\r\n}\r\n\r\nfunction createMeta () {\r\n return {\r\n extension: '',\r\n deps: undefined,\r\n format: undefined,\r\n loader: undefined,\r\n scriptLoad: undefined,\r\n globals: undefined,\r\n nonce: undefined,\r\n integrity: undefined,\r\n sourceMap: undefined,\r\n exports: undefined,\r\n encapsulateGlobal: false,\r\n crossOrigin: undefined,\r\n cjsRequireDetection: true,\r\n cjsDeferDepsExecute: false,\r\n esModule: false\r\n };\r\n}\r\n\r\nfunction setMeta (config, key, metadata) {\r\n metadata.load = metadata.load || createMeta();\r\n\r\n // apply wildcard metas\r\n var bestDepth = 0;\r\n var wildcardIndex;\r\n for (var module in config.meta) {\r\n wildcardIndex = module.indexOf('*');\r\n if (wildcardIndex === -1)\r\n continue;\r\n if (module.substr(0, wildcardIndex) === key.substr(0, wildcardIndex)\r\n && module.substr(wildcardIndex + 1) === key.substr(key.length - module.length + wildcardIndex + 1)) {\r\n var depth = module.split('/').length;\r\n if (depth > bestDepth)\r\n bestDepth = depth;\r\n extendMeta(metadata.load, config.meta[module], bestDepth !== depth);\r\n }\r\n }\r\n\r\n // apply exact meta\r\n if (config.meta[key])\r\n extendMeta(metadata.load, config.meta[key], false);\r\n\r\n // apply package meta\r\n if (metadata.packageKey) {\r\n var subPath = key.substr(metadata.packageKey.length + 1);\r\n\r\n var meta = {};\r\n if (metadata.packageConfig.meta) {\r\n var bestDepth = 0;\r\n getMetaMatches(metadata.packageConfig.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\r\n if (matchDepth > bestDepth)\r\n bestDepth = matchDepth;\r\n extendMeta(meta, matchMeta, matchDepth && bestDepth > matchDepth);\r\n });\r\n\r\n extendMeta(metadata.load, meta, false);\r\n }\r\n\r\n // format\r\n if (metadata.packageConfig.format && !metadata.pluginKey && !metadata.load.loader)\r\n metadata.load.format = metadata.load.format || metadata.packageConfig.format;\r\n }\r\n}\r\n\r\nfunction parsePlugin (pluginFirst, key) {\r\n var argumentKey;\r\n var pluginKey;\r\n\r\n var pluginIndex = pluginFirst ? key.indexOf('!') : key.lastIndexOf('!');\r\n\r\n if (pluginIndex === -1)\r\n return;\r\n\r\n if (pluginFirst) {\r\n argumentKey = key.substr(pluginIndex + 1);\r\n pluginKey = key.substr(0, pluginIndex);\r\n }\r\n else {\r\n argumentKey = key.substr(0, pluginIndex);\r\n pluginKey = key.substr(pluginIndex + 1) || argumentKey.substr(argumentKey.lastIndexOf('.') + 1);\r\n }\r\n\r\n return {\r\n argument: argumentKey,\r\n plugin: pluginKey\r\n };\r\n}\r\n\r\n// put key back together after parts have been normalized\r\nfunction combinePluginParts (pluginFirst, argumentKey, pluginKey) {\r\n if (pluginFirst)\r\n return pluginKey + '!' + argumentKey;\r\n else\r\n return argumentKey + '!' + pluginKey;\r\n}\r\n\r\n/*\r\n * Package Configuration Extension\r\n *\r\n * Example:\r\n *\r\n * SystemJS.packages = {\r\n * jquery: {\r\n * main: 'index.js', // when not set, package key is requested directly\r\n * format: 'amd',\r\n * defaultExtension: 'ts', // defaults to 'js', can be set to false\r\n * modules: {\r\n * '*.ts': {\r\n * loader: 'typescript'\r\n * },\r\n * 'vendor/sizzle.js': {\r\n * format: 'global'\r\n * }\r\n * },\r\n * map: {\r\n * // map internal require('sizzle') to local require('./vendor/sizzle')\r\n * sizzle: './vendor/sizzle.js',\r\n * // map any internal or external require of 'jquery/vendor/another' to 'another/index.js'\r\n * './vendor/another.js': './another/index.js',\r\n * // test.js / test -> lib/test.js\r\n * './test.js': './lib/test.js',\r\n *\r\n * // environment-specific map configurations\r\n * './index.js': {\r\n * '~browser': './index-node.js',\r\n * './custom-condition.js|~export': './index-custom.js'\r\n * }\r\n * },\r\n * // allows for setting package-prefixed depCache\r\n * // keys are normalized module keys relative to the package itself\r\n * depCache: {\r\n * // import 'package/index.js' loads in parallel package/lib/test.js,package/vendor/sizzle.js\r\n * './index.js': ['./test'],\r\n * './test.js': ['external-dep'],\r\n * 'external-dep/path.js': ['./another.js']\r\n * }\r\n * }\r\n * };\r\n *\r\n * Then:\r\n * import 'jquery' -> jquery/index.js\r\n * import 'jquery/submodule' -> jquery/submodule.js\r\n * import 'jquery/submodule.ts' -> jquery/submodule.ts loaded as typescript\r\n * import 'jquery/vendor/another' -> another/index.js\r\n *\r\n * Detailed Behaviours\r\n * - main can have a leading \"./\" can be added optionally\r\n * - map and defaultExtension are applied to the main\r\n * - defaultExtension adds the extension only if the exact extension is not present\r\n\r\n * - if a meta value is available for a module, map and defaultExtension are skipped\r\n * - like global map, package map also applies to subpaths (sizzle/x, ./vendor/another/sub)\r\n * - condition module map is '@env' module in package or '@system-env' globally\r\n * - map targets support conditional interpolation ('./x': './x.#{|env}.js')\r\n * - internal package map targets cannot use boolean conditionals\r\n *\r\n * Package Configuration Loading\r\n *\r\n * Not all packages may already have their configuration present in the System config\r\n * For these cases, a list of packageConfigPaths can be provided, which when matched against\r\n * a request, will first request a \".json\" file by the package key to derive the package\r\n * configuration from. This allows dynamic loading of non-predetermined code, a key use\r\n * case in SystemJS.\r\n *\r\n * Example:\r\n *\r\n * SystemJS.packageConfigPaths = ['packages/test/package.json', 'packages/*.json'];\r\n *\r\n * // will first request 'packages/new-package/package.json' for the package config\r\n * // before completing the package request to 'packages/new-package/path'\r\n * SystemJS.import('packages/new-package/path');\r\n *\r\n * // will first request 'packages/test/package.json' before the main\r\n * SystemJS.import('packages/test');\r\n *\r\n * When a package matches packageConfigPaths, it will always send a config request for\r\n * the package configuration.\r\n * The package key itself is taken to be the match up to and including the last wildcard\r\n * or trailing slash.\r\n * The most specific package config path will be used.\r\n * Any existing package configurations for the package will deeply merge with the\r\n * package config, with the existing package configurations taking preference.\r\n * To opt-out of the package configuration request for a package that matches\r\n * packageConfigPaths, use the { configured: true } package config option.\r\n *\r\n */\r\n\r\nfunction addDefaultExtension (config, pkg, pkgKey, subPath, skipExtensions) {\r\n // don't apply extensions to folders or if defaultExtension = false\r\n if (!subPath || !pkg.defaultExtension || subPath[subPath.length - 1] === '/' || skipExtensions)\r\n return subPath;\r\n\r\n var metaMatch = false;\r\n\r\n // exact meta or meta with any content after the last wildcard skips extension\r\n if (pkg.meta)\r\n getMetaMatches(pkg.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\r\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\r\n return metaMatch = true;\r\n });\r\n\r\n // exact global meta or meta with any content after the last wildcard skips extension\r\n if (!metaMatch && config.meta)\r\n getMetaMatches(config.meta, pkgKey + '/' + subPath, function (metaPattern, matchMeta, matchDepth) {\r\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\r\n return metaMatch = true;\r\n });\r\n\r\n if (metaMatch)\r\n return subPath;\r\n\r\n // work out what the defaultExtension is and add if not there already\r\n var defaultExtension = '.' + pkg.defaultExtension;\r\n if (subPath.substr(subPath.length - defaultExtension.length) !== defaultExtension)\r\n return subPath + defaultExtension;\r\n else\r\n return subPath;\r\n}\r\n\r\nfunction applyPackageConfigSync (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\r\n // main\r\n if (!subPath) {\r\n if (pkg.main)\r\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\r\n else\r\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\r\n // NB can add a default package main convention here\r\n // if it becomes internal to the package then it would no longer be an exit path\r\n return pkgKey;\r\n }\r\n\r\n // map config checking without then with extensions\r\n if (pkg.map) {\r\n var mapPath = './' + subPath;\r\n\r\n var mapMatch = getMapMatch(pkg.map, mapPath);\r\n\r\n // we then check map with the default extension adding\r\n if (!mapMatch) {\r\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\r\n if (mapPath !== './' + subPath)\r\n mapMatch = getMapMatch(pkg.map, mapPath);\r\n }\r\n if (mapMatch) {\r\n var mapped = doMapSync(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions);\r\n if (mapped)\r\n return mapped;\r\n }\r\n }\r\n\r\n // normal package resolution\r\n return pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\r\n}\r\n\r\nfunction validMapping (mapMatch, mapped, path) {\r\n // allow internal ./x -> ./x/y or ./x/ -> ./x/y recursive maps\r\n // but only if the path is exactly ./x and not ./x/z\r\n if (mapped.substr(0, mapMatch.length) === mapMatch && path.length > mapMatch.length)\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\nfunction doMapSync (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\r\n if (path[path.length - 1] === '/')\r\n path = path.substr(0, path.length - 1);\r\n var mapped = pkg.map[mapMatch];\r\n\r\n if (typeof mapped === 'object')\r\n throw new Error('Synchronous conditional normalization not supported sync normalizing ' + mapMatch + ' in ' + pkgKey);\r\n\r\n if (!validMapping(mapMatch, mapped, path) || typeof mapped !== 'string')\r\n return;\r\n\r\n return packageResolveSync.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions);\r\n}\r\n\r\nfunction applyPackageConfig (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\r\n // main\r\n if (!subPath) {\r\n if (pkg.main)\r\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\r\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\r\n else\r\n // NB can add a default package main convention here\r\n // if it becomes internal to the package then it would no longer be an exit path\r\n return Promise.resolve(pkgKey);\r\n }\r\n\r\n // map config checking without then with extensions\r\n var mapPath, mapMatch;\r\n\r\n if (pkg.map) {\r\n mapPath = './' + subPath;\r\n mapMatch = getMapMatch(pkg.map, mapPath);\r\n\r\n // we then check map with the default extension adding\r\n if (!mapMatch) {\r\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\r\n if (mapPath !== './' + subPath)\r\n mapMatch = getMapMatch(pkg.map, mapPath);\r\n }\r\n }\r\n\r\n return (mapMatch ? doMap(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions) : resolvedPromise)\r\n .then(function (mapped) {\r\n if (mapped)\r\n return Promise.resolve(mapped);\r\n\r\n // normal package resolution / fallback resolution for no conditional match\r\n return Promise.resolve(pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions));\r\n });\r\n}\r\n\r\nfunction doMap (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\r\n if (path[path.length - 1] === '/')\r\n path = path.substr(0, path.length - 1);\r\n\r\n var mapped = pkg.map[mapMatch];\r\n\r\n if (typeof mapped === 'string') {\r\n if (!validMapping(mapMatch, mapped, path))\r\n return resolvedPromise;\r\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\r\n .then(function (normalized) {\r\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\r\n });\r\n }\r\n\r\n // we use a special conditional syntax to allow the builder to handle conditional branch points further\r\n /*if (loader.builder)\r\n return Promise.resolve(pkgKey + '/#:' + path);*/\r\n\r\n // we load all conditions upfront\r\n var conditionPromises = [];\r\n var conditions = [];\r\n for (var e in mapped) {\r\n var c = parseCondition(e);\r\n conditions.push({\r\n condition: c,\r\n map: mapped[e]\r\n });\r\n conditionPromises.push(RegisterLoader.prototype.import.call(loader, c.module, pkgKey));\r\n }\r\n\r\n // map object -> conditional map\r\n return Promise.all(conditionPromises)\r\n .then(function (conditionValues) {\r\n // first map condition to match is used\r\n for (var i = 0; i < conditions.length; i++) {\r\n var c = conditions[i].condition;\r\n var value = readMemberExpression(c.prop, '__useDefault' in conditionValues[i] ? conditionValues[i].__useDefault : conditionValues[i]);\r\n if (!c.negate && value || c.negate && !value)\r\n return conditions[i].map;\r\n }\r\n })\r\n .then(function (mapped) {\r\n if (mapped) {\r\n if (!validMapping(mapMatch, mapped, path))\r\n return resolvedPromise;\r\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\r\n .then(function (normalized) {\r\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\r\n });\r\n }\r\n\r\n // no environment match -> fallback to original subPath by returning undefined\r\n });\r\n}\r\n\r\n// check if the given normalized key matches a packageConfigPath\r\n// if so, loads the config\r\nvar packageConfigPaths = {};\r\n\r\n// data object for quick checks against package paths\r\nfunction createPkgConfigPathObj (path) {\r\n var lastWildcard = path.lastIndexOf('*');\r\n var length = Math.max(lastWildcard + 1, path.lastIndexOf('/'));\r\n return {\r\n length: length,\r\n regEx: new RegExp('^(' + path.substr(0, length).replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&').replace(/\\*/g, '[^\\\\/]+') + ')(\\\\/|$)'),\r\n wildcard: lastWildcard !== -1\r\n };\r\n}\r\n\r\n// most specific match wins\r\nfunction getPackageConfigMatch (config, normalized) {\r\n var pkgKey, exactMatch = false, configPath;\r\n for (var i = 0; i < config.packageConfigPaths.length; i++) {\r\n var packageConfigPath = config.packageConfigPaths[i];\r\n var p = packageConfigPaths[packageConfigPath] || (packageConfigPaths[packageConfigPath] = createPkgConfigPathObj(packageConfigPath));\r\n if (normalized.length < p.length)\r\n continue;\r\n var match = normalized.match(p.regEx);\r\n if (match && (!pkgKey || (!(exactMatch && p.wildcard) && pkgKey.length < match[1].length))) {\r\n pkgKey = match[1];\r\n exactMatch = !p.wildcard;\r\n configPath = pkgKey + packageConfigPath.substr(p.length);\r\n }\r\n }\r\n\r\n if (!pkgKey)\r\n return;\r\n\r\n return {\r\n packageKey: pkgKey,\r\n configPath: configPath\r\n };\r\n}\r\n\r\nfunction loadPackageConfigPath (loader, config, pkgConfigPath, metadata, normalized) {\r\n var configLoader = loader.pluginLoader || loader;\r\n\r\n // ensure we note this is a package config file path\r\n // it will then be skipped from getting other normalizations itself to ensure idempotency\r\n if (config.packageConfigKeys.indexOf(pkgConfigPath) === -1)\r\n config.packageConfigKeys.push(pkgConfigPath);\r\n\r\n return configLoader.import(pkgConfigPath)\r\n .then(function (pkgConfig) {\r\n setPkgConfig(metadata.packageConfig, pkgConfig, metadata.packageKey, true, config);\r\n metadata.packageConfig.configured = true;\r\n })\r\n .catch(function (err) {\r\n throw addToError(err, 'Unable to fetch package configuration file ' + pkgConfigPath);\r\n });\r\n}\r\n\r\nfunction getMetaMatches (pkgMeta, subPath, matchFn) {\r\n // wildcard meta\r\n var wildcardIndex;\r\n for (var module in pkgMeta) {\r\n // allow meta to start with ./ for flexibility\r\n var dotRel = module.substr(0, 2) === './' ? './' : '';\r\n if (dotRel)\r\n module = module.substr(2);\r\n\r\n wildcardIndex = module.indexOf('*');\r\n if (wildcardIndex === -1)\r\n continue;\r\n\r\n if (module.substr(0, wildcardIndex) === subPath.substr(0, wildcardIndex)\r\n && module.substr(wildcardIndex + 1) === subPath.substr(subPath.length - module.length + wildcardIndex + 1)) {\r\n // alow match function to return true for an exit path\r\n if (matchFn(module, pkgMeta[dotRel + module], module.split('/').length))\r\n return;\r\n }\r\n }\r\n // exact meta\r\n var exactMeta = pkgMeta[subPath] && Object.hasOwnProperty.call(pkgMeta, subPath) ? pkgMeta[subPath] : pkgMeta['./' + subPath];\r\n if (exactMeta)\r\n matchFn(exactMeta, exactMeta, 0);\r\n}\r\n\r\n\r\n/*\r\n * Conditions Extension\r\n *\r\n * Allows a condition module to alter the resolution of an import via syntax:\r\n *\r\n * import $ from 'jquery/#{browser}';\r\n *\r\n * Will first load the module 'browser' via `SystemJS.import('browser')` and\r\n * take the default export of that module.\r\n * If the default export is not a string, an error is thrown.\r\n *\r\n * We then substitute the string into the require to get the conditional resolution\r\n * enabling environment-specific variations like:\r\n *\r\n * import $ from 'jquery/ie'\r\n * import $ from 'jquery/firefox'\r\n * import $ from 'jquery/chrome'\r\n * import $ from 'jquery/safari'\r\n *\r\n * It can be useful for a condition module to define multiple conditions.\r\n * This can be done via the `|` modifier to specify an export member expression:\r\n *\r\n * import 'jquery/#{./browser.js|grade.version}'\r\n *\r\n * Where the `grade` export `version` member in the `browser.js` module is substituted.\r\n *\r\n *\r\n * Boolean Conditionals\r\n *\r\n * For polyfill modules, that are used as imports but have no module value,\r\n * a binary conditional allows a module not to be loaded at all if not needed:\r\n *\r\n * import 'es5-shim#?./conditions.js|needs-es5shim'\r\n *\r\n * These conditions can also be negated via:\r\n *\r\n * import 'es5-shim#?./conditions.js|~es6'\r\n *\r\n */\r\n\r\nvar sysConditions = ['browser', 'node', 'dev', 'build', 'production', 'default'];\r\n\r\nfunction parseCondition (condition) {\r\n var conditionExport, conditionModule, negation;\r\n\r\n var negation;\r\n var conditionExportIndex = condition.lastIndexOf('|');\r\n if (conditionExportIndex !== -1) {\r\n conditionExport = condition.substr(conditionExportIndex + 1);\r\n conditionModule = condition.substr(0, conditionExportIndex);\r\n\r\n if (conditionExport[0] === '~') {\r\n negation = true;\r\n conditionExport = conditionExport.substr(1);\r\n }\r\n }\r\n else {\r\n negation = condition[0] === '~';\r\n conditionExport = 'default';\r\n conditionModule = condition.substr(negation);\r\n if (sysConditions.indexOf(conditionModule) !== -1) {\r\n conditionExport = conditionModule;\r\n conditionModule = null;\r\n }\r\n }\r\n\r\n return {\r\n module: conditionModule || '@system-env',\r\n prop: conditionExport,\r\n negate: negation\r\n };\r\n}\r\n\r\nfunction resolveCondition (conditionObj, parentKey, bool) {\r\n // import without __useDefault handling here\r\n return RegisterLoader.prototype.import.call(this, conditionObj.module, parentKey)\r\n .then(function (condition) {\r\n var m = readMemberExpression(conditionObj.prop, condition);\r\n\r\n if (bool && typeof m !== 'boolean')\r\n throw new TypeError('Condition did not resolve to a boolean.');\r\n\r\n return conditionObj.negate ? !m : m;\r\n });\r\n}\r\n\r\nvar interpolationRegEx = /#\\{[^\\}]+\\}/;\r\nfunction interpolateConditional (key, parentKey, parentMetadata) {\r\n // first we normalize the conditional\r\n var conditionalMatch = key.match(interpolationRegEx);\r\n\r\n if (!conditionalMatch)\r\n return Promise.resolve(key);\r\n\r\n var conditionObj = parseCondition.call(this, conditionalMatch[0].substr(2, conditionalMatch[0].length - 3));\r\n\r\n // in builds, return normalized conditional\r\n /*if (this.builder)\r\n return this.normalize(conditionObj.module, parentKey, createMetadata(), parentMetadata)\r\n .then(function (conditionModule) {\r\n conditionObj.module = conditionModule;\r\n return key.replace(interpolationRegEx, '#{' + serializeCondition(conditionObj) + '}');\r\n });*/\r\n\r\n return resolveCondition.call(this, conditionObj, parentKey, false)\r\n .then(function (conditionValue) {\r\n if (typeof conditionValue !== 'string')\r\n throw new TypeError('The condition value for ' + key + ' doesn\\'t resolve to a string.');\r\n\r\n if (conditionValue.indexOf('/') !== -1)\r\n throw new TypeError('Unabled to interpolate conditional ' + key + (parentKey ? ' in ' + parentKey : '') + '\\n\\tThe condition value ' + conditionValue + ' cannot contain a \"/\" separator.');\r\n\r\n return key.replace(interpolationRegEx, conditionValue);\r\n });\r\n}\r\n","import { envModule, setProduction, configNames } from './systemjs-loader.js';\r\nimport { extend, prepend, warn, resolveIfNotPlain, baseURI, CONFIG } from './common.js';\r\nimport { coreResolve } from './resolve.js';\r\n\r\n/*\r\n Extend config merging one deep only\r\n\r\n loader.config({\r\n some: 'random',\r\n config: 'here',\r\n deep: {\r\n config: { too: 'too' }\r\n }\r\n });\r\n\r\n <=>\r\n\r\n loader.some = 'random';\r\n loader.config = 'here'\r\n loader.deep = loader.deep || {};\r\n loader.deep.config = { too: 'too' };\r\n\r\n\r\n Normalizes meta and package configs allowing for:\r\n\r\n SystemJS.config({\r\n meta: {\r\n './index.js': {}\r\n }\r\n });\r\n\r\n To become\r\n\r\n SystemJS.meta['https://thissite.com/index.js'] = {};\r\n\r\n For easy normalization canonicalization with latest URL support.\r\n\r\n*/\r\nvar envConfigNames = ['browserConfig', 'nodeConfig', 'devConfig', 'buildConfig', 'productionConfig'];\r\nfunction envSet(loader, cfg, envCallback) {\r\n for (var i = 0; i < envConfigNames.length; i++) {\r\n var envConfig = envConfigNames[i];\r\n if (cfg[envConfig] && envModule[envConfig.substr(0, envConfig.length - 6)])\r\n envCallback(cfg[envConfig]);\r\n }\r\n}\r\n\r\nfunction cloneObj (obj, maxDepth) {\r\n var clone = {};\r\n for (var p in obj) {\r\n var prop = obj[p];\r\n if (maxDepth > 1) {\r\n if (prop instanceof Array)\r\n clone[p] = [].concat(prop);\r\n else if (typeof prop === 'object')\r\n clone[p] = cloneObj(prop, maxDepth - 1);\r\n else if (p !== 'packageConfig')\r\n clone[p] = prop;\r\n }\r\n else {\r\n clone[p] = prop;\r\n }\r\n }\r\n return clone;\r\n}\r\n\r\nexport function getConfigItem (config, p) {\r\n var cfgItem = config[p];\r\n\r\n // getConfig must return an unmodifiable clone of the configuration\r\n if (cfgItem instanceof Array)\r\n return config[p].concat([]);\r\n else if (typeof cfgItem === 'object')\r\n return cloneObj(cfgItem, 3)\r\n else\r\n return config[p];\r\n}\r\n\r\nexport function getConfig (configName) {\r\n if (configName) {\r\n if (configNames.indexOf(configName) !== -1)\r\n return getConfigItem(this[CONFIG], configName);\r\n throw new Error('\"' + configName + '\" is not a valid configuration name. Must be one of ' + configNames.join(', ') + '.');\r\n }\r\n\r\n var cfg = {};\r\n for (var i = 0; i < configNames.length; i++) {\r\n var p = configNames[i];\r\n var configItem = getConfigItem(this[CONFIG], p);\r\n if (configItem !== undefined)\r\n cfg[p] = configItem;\r\n }\r\n return cfg;\r\n}\r\n\r\nexport function setConfig (cfg, isEnvConfig) {\r\n var loader = this;\r\n var config = this[CONFIG];\r\n\r\n if ('warnings' in cfg)\r\n config.warnings = cfg.warnings;\r\n\r\n if ('wasm' in cfg)\r\n config.wasm = typeof WebAssembly !== 'undefined' && cfg.wasm;\r\n\r\n if ('production' in cfg || 'build' in cfg)\r\n setProduction.call(loader, !!cfg.production, !!(cfg.build || envModule && envModule.build));\r\n\r\n if (!isEnvConfig) {\r\n // if using nodeConfig / browserConfig / productionConfig, take baseURL from there\r\n // these exceptions will be unnecessary when we can properly implement config queuings\r\n var baseURL;\r\n envSet(loader, cfg, function(cfg) {\r\n baseURL = baseURL || cfg.baseURL;\r\n });\r\n baseURL = baseURL || cfg.baseURL;\r\n\r\n // always configure baseURL first\r\n if (baseURL) {\r\n config.baseURL = resolveIfNotPlain(baseURL, baseURI) || resolveIfNotPlain('./' + baseURL, baseURI);\r\n if (config.baseURL[config.baseURL.length - 1] !== '/')\r\n config.baseURL += '/';\r\n }\r\n\r\n if (cfg.paths)\r\n extend(config.paths, cfg.paths);\r\n\r\n envSet(loader, cfg, function(cfg) {\r\n if (cfg.paths)\r\n extend(config.paths, cfg.paths);\r\n });\r\n\r\n for (var p in config.paths) {\r\n if (config.paths[p].indexOf('*') === -1)\r\n continue;\r\n warn.call(config, 'Path config ' + p + ' -> ' + config.paths[p] + ' is no longer supported as wildcards are deprecated.');\r\n delete config.paths[p];\r\n }\r\n }\r\n\r\n if (cfg.defaultJSExtensions)\r\n warn.call(config, 'The defaultJSExtensions configuration option is deprecated.\\n Use packages defaultExtension instead.', true);\r\n\r\n if (typeof cfg.pluginFirst === 'boolean')\r\n config.pluginFirst = cfg.pluginFirst;\r\n\r\n if (cfg.map) {\r\n for (var p in cfg.map) {\r\n var v = cfg.map[p];\r\n\r\n if (typeof v === 'string') {\r\n var mapped = coreResolve.call(loader, config, v, undefined, false, false);\r\n if (mapped[mapped.length -1] === '/' && p[p.length - 1] !== ':' && p[p.length - 1] !== '/')\r\n mapped = mapped.substr(0, mapped.length - 1);\r\n config.map[p] = mapped;\r\n }\r\n\r\n // object map\r\n else {\r\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\r\n pkgName = pkgName.substr(0, pkgName.length - 1);\r\n\r\n var pkg = config.packages[pkgName];\r\n if (!pkg) {\r\n pkg = config.packages[pkgName] = createPackage();\r\n // use '' instead of false to keep type consistent\r\n pkg.defaultExtension = '';\r\n }\r\n setPkgConfig(pkg, { map: v }, pkgName, false, config);\r\n }\r\n }\r\n }\r\n\r\n if (cfg.packageConfigPaths) {\r\n var packageConfigPaths = [];\r\n for (var i = 0; i < cfg.packageConfigPaths.length; i++) {\r\n var path = cfg.packageConfigPaths[i];\r\n var packageLength = Math.max(path.lastIndexOf('*') + 1, path.lastIndexOf('/'));\r\n var normalized = coreResolve.call(loader, config, path.substr(0, packageLength), undefined, false, false);\r\n packageConfigPaths[i] = normalized + path.substr(packageLength);\r\n }\r\n config.packageConfigPaths = packageConfigPaths;\r\n }\r\n\r\n if (cfg.bundles) {\r\n for (var p in cfg.bundles) {\r\n var bundle = [];\r\n for (var i = 0; i < cfg.bundles[p].length; i++)\r\n bundle.push(loader.normalizeSync(cfg.bundles[p][i]));\r\n config.bundles[p] = bundle;\r\n }\r\n }\r\n\r\n if (cfg.packages) {\r\n for (var p in cfg.packages) {\r\n if (p.match(/^([^\\/]+:)?\\/\\/$/))\r\n throw new TypeError('\"' + p + '\" is not a valid package name.');\r\n\r\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\r\n pkgName = pkgName.substr(0, pkgName.length - 1);\r\n\r\n setPkgConfig(config.packages[pkgName] = config.packages[pkgName] || createPackage(), cfg.packages[p], pkgName, false, config);\r\n }\r\n }\r\n\r\n if (cfg.depCache) {\r\n for (var p in cfg.depCache)\r\n config.depCache[loader.normalizeSync(p)] = [].concat(cfg.depCache[p]);\r\n }\r\n\r\n if (cfg.meta) {\r\n for (var p in cfg.meta) {\r\n // base wildcard stays base\r\n if (p[0] === '*') {\r\n extend(config.meta[p] = config.meta[p] || {}, cfg.meta[p]);\r\n }\r\n else {\r\n var resolved = coreResolve.call(loader, config, p, undefined, true, true);\r\n extend(config.meta[resolved] = config.meta[resolved] || {}, cfg.meta[p]);\r\n }\r\n }\r\n }\r\n\r\n if ('transpiler' in cfg)\r\n config.transpiler = cfg.transpiler;\r\n\r\n\r\n // copy any remaining non-standard configuration properties\r\n for (var c in cfg) {\r\n if (configNames.indexOf(c) !== -1)\r\n continue;\r\n if (envConfigNames.indexOf(c) !== -1)\r\n continue;\r\n\r\n // warn.call(config, 'Setting custom config option `System.config({ ' + c + ': ... })` is deprecated. Avoid custom config options or set SystemJS.' + c + ' = ... directly.');\r\n loader[c] = cfg[c];\r\n }\r\n\r\n envSet(loader, cfg, function(cfg) {\r\n loader.config(cfg, true);\r\n });\r\n}\r\n\r\nexport function createPackage () {\r\n return {\r\n defaultExtension: undefined,\r\n main: undefined,\r\n format: undefined,\r\n meta: undefined,\r\n map: undefined,\r\n packageConfig: undefined,\r\n configured: false\r\n };\r\n}\r\n\r\n// deeply-merge (to first level) config with any existing package config\r\nexport function setPkgConfig (pkg, cfg, pkgName, prependConfig, config) {\r\n for (var prop in cfg) {\r\n if (prop === 'main' || prop === 'format' || prop === 'defaultExtension' || prop === 'configured') {\r\n if (!prependConfig || pkg[prop] === undefined)\r\n pkg[prop] = cfg[prop];\r\n }\r\n else if (prop === 'map') {\r\n (prependConfig ? prepend : extend)(pkg.map = pkg.map || {}, cfg.map);\r\n }\r\n else if (prop === 'meta') {\r\n (prependConfig ? prepend : extend)(pkg.meta = pkg.meta || {}, cfg.meta);\r\n }\r\n else if (Object.hasOwnProperty.call(cfg, prop)) {\r\n warn.call(config, '\"' + prop + '\" is not a valid package configuration option in package ' + pkgName);\r\n }\r\n }\r\n\r\n // default defaultExtension for packages only\r\n if (pkg.defaultExtension === undefined)\r\n pkg.defaultExtension = 'js';\r\n\r\n if (pkg.main === undefined && pkg.map && pkg.map['.']) {\r\n pkg.main = pkg.map['.'];\r\n delete pkg.map['.'];\r\n }\r\n // main object becomes main map\r\n else if (typeof pkg.main === 'object') {\r\n pkg.map = pkg.map || {};\r\n pkg.map['./@main'] = pkg.main;\r\n pkg.main['default'] = pkg.main['default'] || './';\r\n pkg.main = '@main';\r\n }\r\n\r\n return pkg;\r\n}\r\n","import { isBrowser, global } from './common.js';\r\n\r\nvar hasBuffer = typeof Buffer !== 'undefined';\r\ntry {\r\n if (hasBuffer && new Buffer('a').toString('base64') !== 'YQ==')\r\n hasBuffer = false;\r\n}\r\ncatch (e) {\r\n hasBuffer = false;\r\n}\r\n\r\nvar sourceMapPrefix = '\\n//# sourceMapping' + 'URL=data:application/json;base64,';\r\nfunction inlineSourceMap (sourceMapString) {\r\n if (hasBuffer)\r\n return sourceMapPrefix + new Buffer(sourceMapString).toString('base64');\r\n else if (typeof btoa !== 'undefined')\r\n return sourceMapPrefix + btoa(unescape(encodeURIComponent(sourceMapString)));\r\n else\r\n return '';\r\n}\r\n\r\nfunction getSource(source, sourceMap, address, wrap) {\r\n var lastLineIndex = source.lastIndexOf('\\n');\r\n\r\n if (sourceMap) {\r\n if (typeof sourceMap != 'object')\r\n throw new TypeError('load.metadata.sourceMap must be set to an object.');\r\n\r\n sourceMap = JSON.stringify(sourceMap);\r\n }\r\n\r\n return (wrap ? '(function(System, SystemJS) {' : '') + source + (wrap ? '\\n})(System, System);' : '')\r\n // adds the sourceURL comment if not already present\r\n + (source.substr(lastLineIndex, 15) != '\\n//# sourceURL='\r\n ? '\\n//# sourceURL=' + address + (sourceMap ? '!transpiled' : '') : '')\r\n // add sourceMappingURL if load.metadata.sourceMap is set\r\n + (sourceMap && inlineSourceMap(sourceMap) || '');\r\n}\r\n\r\n// script execution via injecting a script tag into the page\r\n// this allows CSP nonce to be set for CSP environments\r\nvar head;\r\nfunction scriptExec(loader, source, sourceMap, address, nonce) {\r\n if (!head)\r\n head = document.head || document.body || document.documentElement;\r\n\r\n var script = document.createElement('script');\r\n script.text = getSource(source, sourceMap, address, false);\r\n var onerror = window.onerror;\r\n var e;\r\n window.onerror = function(_e) {\r\n e = addToError(_e, 'Evaluating ' + address);\r\n if (onerror)\r\n onerror.apply(this, arguments);\r\n }\r\n preExec(loader);\r\n\r\n if (nonce)\r\n script.setAttribute('nonce', nonce);\r\n\r\n head.appendChild(script);\r\n head.removeChild(script);\r\n postExec();\r\n window.onerror = onerror;\r\n if (e)\r\n return e;\r\n}\r\n\r\nvar vm;\r\nvar useVm;\r\n\r\nvar curSystem;\r\n\r\nvar callCounter = 0;\r\nfunction preExec (loader) {\r\n if (callCounter++ == 0)\r\n curSystem = global.System;\r\n global.System = global.SystemJS = loader;\r\n}\r\nfunction postExec () {\r\n if (--callCounter == 0)\r\n global.System = global.SystemJS = curSystem;\r\n}\r\n\r\nvar supportsScriptExec = false;\r\nif (isBrowser && typeof document != 'undefined' && document.getElementsByTagName) {\r\n if (!(window.chrome && window.chrome.extension || navigator.userAgent.match(/^Node\\.js/)))\r\n supportsScriptExec = true;\r\n}\r\n\r\nexport function evaluate (loader, source, sourceMap, address, integrity, nonce, noWrap) {\r\n if (!source)\r\n return;\r\n if (nonce && supportsScriptExec)\r\n return scriptExec(loader, source, sourceMap, address, nonce);\r\n try {\r\n preExec(loader);\r\n // global scoped eval for node (avoids require scope leak)\r\n if (!vm && loader._nodeRequire) {\r\n vm = loader._nodeRequire('vm');\r\n useVm = vm.runInThisContext(\"typeof System !== 'undefined' && System\") === loader;\r\n }\r\n if (useVm)\r\n vm.runInThisContext(getSource(source, sourceMap, address, !noWrap), { filename: address + (sourceMap ? '!transpiled' : '') });\r\n else\r\n (0, eval)(getSource(source, sourceMap, address, !noWrap));\r\n postExec();\r\n }\r\n catch (e) {\r\n postExec();\r\n return e;\r\n }\r\n}\r\n","\r\nimport { isWindows, global, readMemberExpression, cjsRequireRegEx, noop } from './common.js';\r\n\r\nexport function setHelpers (loader) {\r\n loader.set('@@cjs-helpers', loader.newModule({\r\n requireResolve: requireResolve.bind(loader),\r\n getPathVars: getPathVars\r\n }));\r\n\r\n loader.set('@@global-helpers', loader.newModule({\r\n prepareGlobal: prepareGlobal\r\n }));\r\n}\r\n\r\nexport function setAmdHelper (loader) {\r\n\r\n /*\r\n AMD-compatible require\r\n To copy RequireJS, set window.require = window.requirejs = loader.amdRequire\r\n */\r\n function require (names, callback, errback, referer) {\r\n // in amd, first arg can be a config object... we just ignore\r\n if (typeof names === 'object' && !(names instanceof Array))\r\n return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1));\r\n\r\n // amd require\r\n if (typeof names === 'string' && typeof callback === 'function')\r\n names = [names];\r\n if (names instanceof Array) {\r\n var dynamicRequires = [];\r\n for (var i = 0; i < names.length; i++)\r\n dynamicRequires.push(loader.import(names[i], referer));\r\n Promise.all(dynamicRequires).then(function (modules) {\r\n if (callback)\r\n callback.apply(null, modules);\r\n }, errback);\r\n }\r\n\r\n // commonjs require\r\n else if (typeof names === 'string') {\r\n var normalized = loader.decanonicalize(names, referer);\r\n var module = loader.get(normalized);\r\n if (!module)\r\n throw new Error('Module not already loaded loading \"' + names + '\" as ' + normalized + (referer ? ' from \"' + referer + '\".' : '.'));\r\n return '__useDefault' in module ? module.__useDefault : module;\r\n }\r\n\r\n else\r\n throw new TypeError('Invalid require');\r\n }\r\n\r\n function define (name, deps, factory) {\r\n if (typeof name !== 'string') {\r\n factory = deps;\r\n deps = name;\r\n name = null;\r\n }\r\n\r\n if (!(deps instanceof Array)) {\r\n factory = deps;\r\n deps = ['require', 'exports', 'module'].splice(0, factory.length);\r\n }\r\n\r\n if (typeof factory !== 'function')\r\n factory = (function (factory) {\r\n return function() { return factory; }\r\n })(factory);\r\n\r\n if (!name) {\r\n if (curMetaDeps) {\r\n deps = deps.concat(curMetaDeps);\r\n curMetaDeps = undefined;\r\n }\r\n }\r\n\r\n // remove system dependencies\r\n var requireIndex, exportsIndex, moduleIndex;\r\n\r\n if ((requireIndex = deps.indexOf('require')) !== -1) {\r\n\r\n deps.splice(requireIndex, 1);\r\n\r\n // only trace cjs requires for non-named\r\n // named defines assume the trace has already been done\r\n if (!name)\r\n deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex));\r\n }\r\n\r\n if ((exportsIndex = deps.indexOf('exports')) !== -1)\r\n deps.splice(exportsIndex, 1);\r\n\r\n if ((moduleIndex = deps.indexOf('module')) !== -1)\r\n deps.splice(moduleIndex, 1);\r\n\r\n function execute (req, exports, module) {\r\n var depValues = [];\r\n for (var i = 0; i < deps.length; i++)\r\n depValues.push(req(deps[i]));\r\n\r\n module.uri = module.id;\r\n\r\n module.config = noop;\r\n\r\n // add back in system dependencies\r\n if (moduleIndex !== -1)\r\n depValues.splice(moduleIndex, 0, module);\r\n\r\n if (exportsIndex !== -1)\r\n depValues.splice(exportsIndex, 0, exports);\r\n\r\n if (requireIndex !== -1) {\r\n var contextualRequire = function (names, callback, errback) {\r\n if (typeof names === 'string' && typeof callback !== 'function')\r\n return req(names);\r\n return require.call(loader, names, callback, errback, module.id);\r\n };\r\n contextualRequire.toUrl = function (name) {\r\n return loader.normalizeSync(name, module.id);\r\n };\r\n depValues.splice(requireIndex, 0, contextualRequire);\r\n }\r\n\r\n // set global require to AMD require\r\n var curRequire = global.require;\r\n global.require = require;\r\n\r\n var output = factory.apply(exportsIndex === -1 ? global : exports, depValues);\r\n\r\n global.require = curRequire;\r\n\r\n if (typeof output !== 'undefined')\r\n module.exports = output;\r\n }\r\n\r\n // anonymous define\r\n if (!name) {\r\n loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute);\r\n }\r\n else {\r\n loader.registerDynamic(name, deps, false, execute);\r\n\r\n // if we don't have any other defines,\r\n // then let this be an anonymous define\r\n // this is just to support single modules of the form:\r\n // define('jquery')\r\n // still loading anonymously\r\n // because it is done widely enough to be useful\r\n // as soon as there is more than one define, this gets removed though\r\n if (lastNamedDefine) {\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = true;\r\n }\r\n else if (!multipleNamedDefines) {\r\n lastNamedDefine = [deps, execute];\r\n }\r\n }\r\n }\r\n define.amd = {};\r\n\r\n loader.amdDefine = define;\r\n loader.amdRequire = require;\r\n}\r\n\r\n// CJS\r\nvar windowOrigin;\r\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location)\r\n windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');\r\n\r\nfunction stripOrigin(path) {\r\n if (path.substr(0, 8) === 'file:///')\r\n return path.substr(7 + !!isWindows);\r\n\r\n if (windowOrigin && path.substr(0, windowOrigin.length) === windowOrigin)\r\n return path.substr(windowOrigin.length);\r\n\r\n return path;\r\n}\r\n\r\nexport function requireResolve (request, parentId) {\r\n return stripOrigin(this.normalizeSync(request, parentId));\r\n}\r\n\r\nexport function getPathVars (moduleId) {\r\n // remove any plugin syntax\r\n var pluginIndex = moduleId.lastIndexOf('!');\r\n var filename;\r\n if (pluginIndex !== -1)\r\n filename = moduleId.substr(0, pluginIndex);\r\n else\r\n filename = moduleId;\r\n\r\n var dirname = filename.split('/');\r\n dirname.pop();\r\n dirname = dirname.join('/');\r\n\r\n return {\r\n filename: stripOrigin(filename),\r\n dirname: stripOrigin(dirname)\r\n };\r\n}\r\n\r\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\r\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\r\n\r\n// used to support leading #!/usr/bin/env in scripts as supported in Node\r\nvar hashBangRegEx = /^\\#\\!.*/;\r\n\r\n// extract CJS dependencies from source text via regex static analysis\r\n// read require('x') statements not in comments or strings\r\nexport function getCJSDeps (source) {\r\n cjsRequireRegEx.lastIndex = commentRegEx.lastIndex = stringRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n\r\n // track string and comment locations for unminified source\r\n var stringLocations = [], commentLocations = [];\r\n\r\n function inLocation (locations, match) {\r\n for (var i = 0; i < locations.length; i++)\r\n if (locations[i][0] < match.index && locations[i][1] > match.index)\r\n return true;\r\n return false;\r\n }\r\n\r\n if (source.length / source.split('\\n').length < 200) {\r\n while (match = stringRegEx.exec(source))\r\n stringLocations.push([match.index, match.index + match[0].length]);\r\n\r\n // TODO: track template literals here before comments\r\n\r\n while (match = commentRegEx.exec(source)) {\r\n // only track comments not starting in strings\r\n if (!inLocation(stringLocations, match))\r\n commentLocations.push([match.index + match[1].length, match.index + match[0].length - 1]);\r\n }\r\n }\r\n\r\n while (match = cjsRequireRegEx.exec(source)) {\r\n // ensure we're not within a string or comment location\r\n if (!inLocation(stringLocations, match) && !inLocation(commentLocations, match)) {\r\n var dep = match[1].substr(1, match[1].length - 2);\r\n // skip cases like require('\" + file + \"')\r\n if (dep.match(/\"|'/))\r\n continue;\r\n deps.push(dep);\r\n }\r\n }\r\n\r\n return deps;\r\n}\r\n\r\n// Global\r\n// bare minimum ignores\r\nvar ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external',\r\n 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX'];\r\n\r\nvar globalSnapshot;\r\nexport function globalIterator (globalName) {\r\n if (ignoredGlobalProps.indexOf(globalName) !== -1)\r\n return;\r\n try {\r\n var value = global[globalName];\r\n }\r\n catch (e) {\r\n ignoredGlobalProps.push(globalName);\r\n }\r\n this(globalName, value);\r\n}\r\n\r\nexport function getGlobalValue (exports) {\r\n if (typeof exports === 'string')\r\n return readMemberExpression(exports, global);\r\n\r\n if (!(exports instanceof Array))\r\n throw new Error('Global exports must be a string or array.');\r\n\r\n var globalValue = {};\r\n for (var i = 0; i < exports.length; i++)\r\n globalValue[exports[i].split('.').pop()] = readMemberExpression(exports[i], global);\r\n return globalValue;\r\n}\r\n\r\nexport function prepareGlobal (moduleName, exports, globals, encapsulate) {\r\n // disable module detection\r\n var curDefine = global.define;\r\n\r\n global.define = undefined;\r\n\r\n // set globals\r\n var oldGlobals;\r\n if (globals) {\r\n oldGlobals = {};\r\n for (var g in globals) {\r\n oldGlobals[g] = global[g];\r\n global[g] = globals[g];\r\n }\r\n }\r\n\r\n // store a complete copy of the global object in order to detect changes\r\n if (!exports) {\r\n globalSnapshot = {};\r\n\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n globalSnapshot[name] = value;\r\n });\r\n }\r\n\r\n // return function to retrieve global\r\n return function () {\r\n var globalValue = exports ? getGlobalValue(exports) : {};\r\n\r\n var singleGlobal;\r\n var multipleExports = !!exports;\r\n\r\n if (!exports || encapsulate)\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n if (globalSnapshot[name] === value)\r\n return;\r\n if (value === undefined)\r\n return;\r\n\r\n // allow global encapsulation where globals are removed\r\n if (encapsulate)\r\n global[name] = undefined;\r\n\r\n if (!exports) {\r\n globalValue[name] = value;\r\n\r\n if (singleGlobal !== undefined) {\r\n if (!multipleExports && singleGlobal !== value)\r\n multipleExports = true;\r\n }\r\n else {\r\n singleGlobal = value;\r\n }\r\n }\r\n });\r\n\r\n globalValue = multipleExports ? globalValue : singleGlobal;\r\n\r\n // revert globals\r\n if (oldGlobals) {\r\n for (var g in oldGlobals)\r\n global[g] = oldGlobals[g];\r\n }\r\n global.define = curDefine;\r\n\r\n return globalValue;\r\n };\r\n}\r\n\r\n// AMD\r\nvar cjsRequirePre = \"(?:^|[^$_a-zA-Z\\\\xA0-\\\\uFFFF.])\";\r\nvar cjsRequirePost = \"\\\\s*\\\\(\\\\s*(\\\"([^\\\"]+)\\\"|'([^']+)')\\\\s*\\\\)\";\r\nvar fnBracketRegEx = /\\(([^\\)]*)\\)/;\r\nvar wsRegEx = /^\\s+|\\s+$/g;\r\n\r\nvar requireRegExs = {};\r\n\r\nfunction amdGetCJSDeps(source, requireIndex) {\r\n\r\n // remove comments\r\n source = source.replace(commentRegEx, '');\r\n\r\n // determine the require alias\r\n var params = source.match(fnBracketRegEx);\r\n var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, '');\r\n\r\n // find or generate the regex for this requireAlias\r\n var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g'));\r\n\r\n requireRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n while (match = requireRegEx.exec(source))\r\n deps.push(match[2] || match[3]);\r\n\r\n return deps;\r\n}\r\n\r\nfunction wrapEsModuleExecute (execute) {\r\n return function (require, exports, module) {\r\n execute(require, exports, module);\r\n exports = module.exports;\r\n if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports))\r\n Object.defineProperty(module.exports, '__esModule', {\r\n value: true\r\n });\r\n };\r\n}\r\n\r\n// generate anonymous define from singular named define\r\nvar multipleNamedDefines = false;\r\nvar lastNamedDefine;\r\nvar curMetaDeps;\r\nvar curEsModule = false;\r\nexport function clearLastDefine (metaDeps, esModule) {\r\n curMetaDeps = metaDeps;\r\n curEsModule = esModule;\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = false;\r\n}\r\nexport function registerLastDefine (loader) {\r\n if (lastNamedDefine)\r\n loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0],\r\n false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]);\r\n\r\n // bundles are an empty module\r\n else if (multipleNamedDefines)\r\n loader.registerDynamic([], false, noop);\r\n}\r\n","import { scriptLoad, isBrowser, isWorker, global, cjsRequireRegEx, addToError, loadNodeModule,\r\n warn, CONFIG, METADATA, emptyModule, protectedCreateNamespace, resolvedPromise, preloadScript, checkInstantiateWasm } from './common.js';\r\nimport { evaluate } from './evaluate.js';\r\nimport fetch from './fetch.js';\r\nimport { getGlobalValue, getCJSDeps, requireResolve, getPathVars, prepareGlobal, clearLastDefine, registerLastDefine } from './format-helpers.js';\r\n\r\nvar supportsScriptLoad = (isBrowser || isWorker) && typeof navigator !== 'undefined' && navigator.userAgent && !navigator.userAgent.match(/MSIE (9|10).0/);\r\n\r\n// include the node require since we're overriding it\r\nexport var nodeRequire;\r\nif (typeof require !== 'undefined' && typeof process !== 'undefined' && !process.browser)\r\n nodeRequire = require;\r\n\r\nfunction setMetaEsModule (metadata, moduleValue) {\r\n if (metadata.load.esModule && (typeof moduleValue === 'object' || typeof moduleValue === 'function') &&\r\n !('__esModule' in moduleValue))\r\n Object.defineProperty(moduleValue, '__esModule', {\r\n value: true\r\n });\r\n}\r\n\r\nexport function instantiate (key, processAnonRegister) {\r\n var loader = this;\r\n var config = this[CONFIG];\r\n // first do bundles and depCache\r\n return (loadBundlesAndDepCache(config, this, key) || resolvedPromise)\r\n .then(function () {\r\n if (processAnonRegister())\r\n return;\r\n\r\n var metadata = loader[METADATA][key];\r\n\r\n // node module loading\r\n if (key.substr(0, 6) === '@node/') {\r\n if (!loader._nodeRequire)\r\n throw new TypeError('Error loading ' + key + '. Can only load node core modules in Node.');\r\n loader.registerDynamic([], false, function () {\r\n return loadNodeModule.call(loader, key.substr(6), loader.baseURL);\r\n });\r\n processAnonRegister();\r\n return;\r\n }\r\n\r\n if (metadata.load.scriptLoad ) {\r\n if (metadata.load.pluginKey || !supportsScriptLoad) {\r\n metadata.load.scriptLoad = false;\r\n warn.call(config, 'scriptLoad not supported for \"' + key + '\"');\r\n }\r\n }\r\n else if (metadata.load.scriptLoad !== false && !metadata.load.pluginKey && supportsScriptLoad) {\r\n // auto script load AMD, global without deps\r\n if (!metadata.load.deps && !metadata.load.globals &&\r\n (metadata.load.format === 'system' || metadata.load.format === 'register' || metadata.load.format === 'global' && metadata.load.exports))\r\n metadata.load.scriptLoad = true;\r\n }\r\n\r\n // fetch / translate / instantiate pipeline\r\n if (!metadata.load.scriptLoad)\r\n return initializePlugin(loader, key, metadata)\r\n .then(function () {\r\n return runFetchPipeline(loader, key, metadata, processAnonRegister, config.wasm);\r\n })\r\n\r\n // just script loading\r\n return new Promise(function (resolve, reject) {\r\n if (metadata.load.format === 'amd' && global.define !== loader.amdDefine)\r\n throw new Error('Loading AMD with scriptLoad requires setting the global `' + globalName + '.define = SystemJS.amdDefine`');\r\n\r\n scriptLoad(key, metadata.load.crossOrigin, metadata.load.integrity, function () {\r\n if (!processAnonRegister()) {\r\n metadata.load.format = 'global';\r\n var globalValue = metadata.load.exports && getGlobalValue(metadata.load.exports);\r\n loader.registerDynamic([], false, function () {\r\n setMetaEsModule(metadata, globalValue);\r\n return globalValue;\r\n });\r\n processAnonRegister();\r\n }\r\n\r\n resolve();\r\n }, reject);\r\n });\r\n })\r\n .then(function (instantiated) {\r\n delete loader[METADATA][key];\r\n return instantiated;\r\n });\r\n};\r\n\r\nfunction initializePlugin (loader, key, metadata) {\r\n if (!metadata.pluginKey)\r\n return resolvedPromise;\r\n\r\n return loader.import(metadata.pluginKey).then(function (plugin) {\r\n metadata.pluginModule = plugin;\r\n metadata.pluginLoad = {\r\n name: key,\r\n address: metadata.pluginArgument,\r\n source: undefined,\r\n metadata: metadata.load\r\n };\r\n metadata.load.deps = metadata.load.deps || [];\r\n });\r\n}\r\n\r\nfunction loadBundlesAndDepCache (config, loader, key) {\r\n // load direct deps, in turn will pick up their trace trees\r\n var deps = config.depCache[key];\r\n if (deps) {\r\n for (var i = 0; i < deps.length; i++)\r\n loader.normalize(deps[i], key).then(preloadScript);\r\n }\r\n else {\r\n var matched = false;\r\n for (var b in config.bundles) {\r\n for (var i = 0; i < config.bundles[b].length; i++) {\r\n var curModule = config.bundles[b][i];\r\n\r\n if (curModule === key) {\r\n matched = true;\r\n break;\r\n }\r\n\r\n // wildcard in bundles includes / boundaries\r\n if (curModule.indexOf('*') !== -1) {\r\n var parts = curModule.split('*');\r\n if (parts.length !== 2) {\r\n config.bundles[b].splice(i--, 1);\r\n continue;\r\n }\r\n\r\n if (key.substr(0, parts[0].length) === parts[0] &&\r\n key.substr(key.length - parts[1].length, parts[1].length) === parts[1]) {\r\n matched = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (matched)\r\n return loader.import(b);\r\n }\r\n }\r\n}\r\n\r\nfunction runFetchPipeline (loader, key, metadata, processAnonRegister, wasm) {\r\n if (metadata.load.exports && !metadata.load.format)\r\n metadata.load.format = 'global';\r\n\r\n return resolvedPromise\r\n\r\n // locate\r\n .then(function () {\r\n if (!metadata.pluginModule || !metadata.pluginModule.locate)\r\n return;\r\n\r\n return Promise.resolve(metadata.pluginModule.locate.call(loader, metadata.pluginLoad))\r\n .then(function (address) {\r\n if (address)\r\n metadata.pluginLoad.address = address;\r\n });\r\n })\r\n\r\n // fetch\r\n .then(function () {\r\n if (!metadata.pluginModule)\r\n return fetch(key, metadata.load.authorization, metadata.load.integrity, wasm);\r\n\r\n wasm = false;\r\n\r\n if (!metadata.pluginModule.fetch)\r\n return fetch(metadata.pluginLoad.address, metadata.load.authorization, metadata.load.integrity, false);\r\n\r\n return metadata.pluginModule.fetch.call(loader, metadata.pluginLoad, function (load) {\r\n return fetch(load.address, metadata.load.authorization, metadata.load.integrity, false);\r\n });\r\n })\r\n\r\n .then(function (fetched) {\r\n // fetch is already a utf-8 string if not doing wasm detection\r\n if (!wasm || typeof fetched === 'string')\r\n return translateAndInstantiate(loader, key, fetched, metadata, processAnonRegister);\r\n\r\n return checkInstantiateWasm(loader, fetched, processAnonRegister)\r\n .then(function (wasmInstantiated) {\r\n if (wasmInstantiated)\r\n return;\r\n\r\n // not wasm -> convert buffer into utf-8 string to execute as a module\r\n // TextDecoder compatibility matches WASM currently. Need to keep checking this.\r\n // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder\r\n var stringSource = isBrowser ? new TextDecoder('utf-8').decode(new Uint8Array(fetched)) : fetched.toString();\r\n return translateAndInstantiate(loader, key, stringSource, metadata, processAnonRegister);\r\n });\r\n });\r\n}\r\n\r\nfunction translateAndInstantiate (loader, key, source, metadata, processAnonRegister) {\r\n return Promise.resolve(source)\r\n // translate\r\n .then(function (source) {\r\n if (metadata.load.format === 'detect')\r\n metadata.load.format = undefined;\r\n\r\n readMetaSyntax(source, metadata);\r\n\r\n if (!metadata.pluginModule)\r\n return source;\r\n\r\n metadata.pluginLoad.source = source;\r\n\r\n if (!metadata.pluginModule.translate)\r\n return source;\r\n\r\n return Promise.resolve(metadata.pluginModule.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\r\n .then(function (translated) {\r\n if (metadata.load.sourceMap) {\r\n if (typeof metadata.load.sourceMap !== 'object')\r\n throw new Error('metadata.load.sourceMap must be set to an object.');\r\n sanitizeSourceMap(metadata.pluginLoad.address, metadata.load.sourceMap);\r\n }\r\n\r\n if (typeof translated === 'string')\r\n return translated;\r\n else\r\n return metadata.pluginLoad.source;\r\n });\r\n })\r\n .then(function (source) {\r\n if (!metadata.load.format && source.substring(0, 8) === '\"bundle\"') {\r\n metadata.load.format = 'system';\r\n return source;\r\n }\r\n\r\n if (metadata.load.format === 'register' || !metadata.load.format && detectRegisterFormat(source)) {\r\n metadata.load.format = 'register';\r\n return source;\r\n }\r\n\r\n if (metadata.load.format !== 'esm' && (metadata.load.format || !source.match(esmRegEx))) {\r\n return source;\r\n }\r\n\r\n metadata.load.format = 'esm';\r\n return transpile(loader, source, key, metadata, processAnonRegister);\r\n })\r\n\r\n // instantiate\r\n .then(function (translated) {\r\n if (typeof translated !== 'string' || !metadata.pluginModule || !metadata.pluginModule.instantiate)\r\n return translated;\r\n\r\n var calledInstantiate = false;\r\n metadata.pluginLoad.source = translated;\r\n return Promise.resolve(metadata.pluginModule.instantiate.call(loader, metadata.pluginLoad, function (load) {\r\n translated = load.source;\r\n metadata.load = load.metadata;\r\n if (calledInstantiate)\r\n throw new Error('Instantiate must only be called once.');\r\n calledInstantiate = true;\r\n }))\r\n .then(function (result) {\r\n if (calledInstantiate)\r\n return translated;\r\n return protectedCreateNamespace(result);\r\n });\r\n })\r\n .then(function (source) {\r\n // plugin instantiate result case\r\n if (typeof source !== 'string')\r\n return source;\r\n\r\n if (!metadata.load.format)\r\n metadata.load.format = detectLegacyFormat(source);\r\n\r\n var registered = false;\r\n\r\n switch (metadata.load.format) {\r\n case 'esm':\r\n case 'register':\r\n case 'system':\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\r\n if (err)\r\n throw err;\r\n if (!processAnonRegister())\r\n return emptyModule;\r\n return;\r\n break;\r\n\r\n case 'json':\r\n // warn.call(config, '\"json\" module format is deprecated.');\r\n var parsed = JSON.parse(source);\r\n return loader.newModule({ default: parsed, __useDefault: parsed });\r\n\r\n case 'amd':\r\n var curDefine = global.define;\r\n global.define = loader.amdDefine;\r\n\r\n clearLastDefine(metadata.load.deps, metadata.load.esModule);\r\n\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\r\n\r\n // if didn't register anonymously, use the last named define if only one\r\n registered = processAnonRegister();\r\n if (!registered) {\r\n registerLastDefine(loader);\r\n registered = processAnonRegister();\r\n }\r\n\r\n global.define = curDefine;\r\n\r\n if (err)\r\n throw err;\r\n break;\r\n\r\n case 'cjs':\r\n var metaDeps = metadata.load.deps;\r\n var deps = (metadata.load.deps || []).concat(metadata.load.cjsRequireDetection ? getCJSDeps(source) : []);\r\n\r\n for (var g in metadata.load.globals)\r\n if (metadata.load.globals[g])\r\n deps.push(metadata.load.globals[g]);\r\n\r\n loader.registerDynamic(deps, true, function (require, exports, module) {\r\n require.resolve = function (key) {\r\n return requireResolve.call(loader, key, module.id);\r\n };\r\n // support module.paths ish\r\n module.paths = [];\r\n module.require = require;\r\n\r\n // ensure meta deps execute first\r\n if (!metadata.load.cjsDeferDepsExecute && metaDeps)\r\n for (var i = 0; i < metaDeps.length; i++)\r\n require(metaDeps[i]);\r\n\r\n var pathVars = getPathVars(module.id);\r\n var __cjsWrapper = {\r\n exports: exports,\r\n args: [require, exports, module, pathVars.filename, pathVars.dirname, global, global]\r\n };\r\n\r\n var cjsWrapper = \"(function (require, exports, module, __filename, __dirname, global, GLOBAL\";\r\n\r\n // add metadata.globals to the wrapper arguments\r\n if (metadata.load.globals)\r\n for (var g in metadata.load.globals) {\r\n __cjsWrapper.args.push(require(metadata.load.globals[g]));\r\n cjsWrapper += \", \" + g;\r\n }\r\n\r\n // disable AMD detection\r\n var define = global.define;\r\n global.define = undefined;\r\n global.__cjsWrapper = __cjsWrapper;\r\n\r\n source = cjsWrapper + \") {\" + source.replace(hashBangRegEx, '') + \"\\n}).apply(__cjsWrapper.exports, __cjsWrapper.args);\";\r\n\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\r\n if (err)\r\n throw err;\r\n\r\n setMetaEsModule(metadata, exports);\r\n\r\n global.__cjsWrapper = undefined;\r\n global.define = define;\r\n });\r\n registered = processAnonRegister();\r\n break;\r\n\r\n case 'global':\r\n var deps = metadata.load.deps || [];\r\n for (var g in metadata.load.globals) {\r\n var gl = metadata.load.globals[g];\r\n if (gl)\r\n deps.push(gl);\r\n }\r\n\r\n loader.registerDynamic(deps, false, function (require, exports, module) {\r\n var globals;\r\n if (metadata.load.globals) {\r\n globals = {};\r\n for (var g in metadata.load.globals)\r\n if (metadata.load.globals[g])\r\n globals[g] = require(metadata.load.globals[g]);\r\n }\r\n\r\n var exportName = metadata.load.exports;\r\n\r\n if (exportName)\r\n source += '\\n' + globalName + '[\"' + exportName + '\"] = ' + exportName + ';';\r\n\r\n var retrieveGlobal = prepareGlobal(module.id, exportName, globals, metadata.load.encapsulateGlobal);\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, true);\r\n\r\n if (err)\r\n throw err;\r\n\r\n var output = retrieveGlobal();\r\n setMetaEsModule(metadata, output);\r\n return output;\r\n });\r\n registered = processAnonRegister();\r\n break;\r\n\r\n default:\r\n throw new TypeError('Unknown module format \"' + metadata.load.format + '\" for \"' + key + '\".' + (metadata.load.format === 'es6' ? ' Use \"esm\" instead here.' : ''));\r\n }\r\n\r\n if (!registered)\r\n throw new Error('Module ' + key + ' detected as ' + metadata.load.format + ' but didn\\'t execute correctly.');\r\n });\r\n}\r\n\r\nvar globalName = typeof self != 'undefined' ? 'self' : 'global';\r\n\r\n// good enough ES6 module detection regex - format detections not designed to be accurate, but to handle the 99% use case\r\nexport var esmRegEx = /(^\\s*|[}\\);\\n]\\s*)(import\\s*(['\"]|(\\*\\s+as\\s+)?(?!type)([^\"'\\(\\)\\n; ]+)\\s*from\\s*['\"]|\\{)|export\\s+\\*\\s+from\\s+[\"']|export\\s*(\\{|default|function|class|var|const|let|async\\s+function))/;\r\n\r\nvar leadingCommentAndMetaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)*\\s*/;\r\nexport function detectRegisterFormat(source) {\r\n var leadingCommentAndMeta = source.match(leadingCommentAndMetaRegEx);\r\n return leadingCommentAndMeta && source.substr(leadingCommentAndMeta[0].length, 15) === 'System.register';\r\n}\r\n\r\n// AMD Module Format Detection RegEx\r\n// define([.., .., ..], ...)\r\n// define(varName); || define(function(require, exports) {}); || define({})\r\nvar amdRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])define\\s*\\(\\s*(\"[^\"]+\"\\s*,\\s*|'[^']+'\\s*,\\s*)?\\s*(\\[(\\s*((\"[^\"]+\"|'[^']+')\\s*,|\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*(\\s*(\"[^\"]+\"|'[^']+')\\s*,?)?(\\s*(\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*\\s*\\]|function\\s*|{|[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*\\))/;\r\n\r\n/// require('...') || exports[''] = ... || exports.asd = ... || module.exports = ...\r\nvar cjsExportsRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])(exports\\s*(\\[['\"]|\\.)|module(\\.exports|\\['exports'\\]|\\[\"exports\"\\])\\s*(\\[['\"]|[=,\\.]))/;\r\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\r\n\r\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\r\n\r\n// used to support leading #!/usr/bin/env in scripts as supported in Node\r\nvar hashBangRegEx = /^\\#\\!.*/;\r\n\r\nexport function detectLegacyFormat (source) {\r\n if (source.match(amdRegEx))\r\n return 'amd';\r\n\r\n cjsExportsRegEx.lastIndex = 0;\r\n cjsRequireRegEx.lastIndex = 0;\r\n if (cjsRequireRegEx.exec(source) || cjsExportsRegEx.exec(source))\r\n return 'cjs';\r\n\r\n // global is the fallback format\r\n return 'global';\r\n}\r\n\r\nfunction sanitizeSourceMap (address, sourceMap) {\r\n var originalName = address.split('!')[0];\r\n\r\n // force set the filename of the original file\r\n if (!sourceMap.file || sourceMap.file == address)\r\n sourceMap.file = originalName + '!transpiled';\r\n\r\n // force set the sources list if only one source\r\n if (!sourceMap.sources || sourceMap.sources.length <= 1 && (!sourceMap.sources[0] || sourceMap.sources[0] === address))\r\n sourceMap.sources = [originalName];\r\n}\r\n\r\nfunction transpile (loader, source, key, metadata, processAnonRegister) {\r\n if (!loader.transpiler)\r\n throw new TypeError('Unable to dynamically transpile ES module\\n A loader plugin needs to be configured via `SystemJS.config({ transpiler: \\'transpiler-module\\' })`.');\r\n\r\n // deps support for es transpile\r\n if (metadata.load.deps) {\r\n var depsPrefix = '';\r\n for (var i = 0; i < metadata.load.deps.length; i++)\r\n depsPrefix += 'import \"' + metadata.load.deps[i] + '\"; ';\r\n source = depsPrefix + source;\r\n }\r\n\r\n // do transpilation\r\n return loader.import.call(loader, loader.transpiler)\r\n .then(function (transpiler) {\r\n transpiler = transpiler.__useDefault || transpiler;\r\n\r\n // translate hooks means this is a transpiler plugin instead of a raw implementation\r\n if (!transpiler.translate)\r\n throw new Error(loader.transpiler + ' is not a valid transpiler plugin.');\r\n\r\n // if transpiler is the same as the plugin loader, then don't run twice\r\n if (transpiler === metadata.pluginModule)\r\n return source;\r\n\r\n // convert the source map into an object for transpilation chaining\r\n if (typeof metadata.load.sourceMap === 'string')\r\n metadata.load.sourceMap = JSON.parse(metadata.load.sourceMap);\r\n\r\n metadata.pluginLoad = metadata.pluginLoad || {\r\n name: key,\r\n address: key,\r\n source: source,\r\n metadata: metadata.load\r\n };\r\n metadata.load.deps = metadata.load.deps || [];\r\n\r\n return Promise.resolve(transpiler.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\r\n .then(function (source) {\r\n // sanitize sourceMap if an object not a JSON string\r\n var sourceMap = metadata.load.sourceMap;\r\n if (sourceMap && typeof sourceMap === 'object')\r\n sanitizeSourceMap(key, sourceMap);\r\n\r\n if (metadata.load.format === 'esm' && detectRegisterFormat(source))\r\n metadata.load.format = 'register';\r\n\r\n return source;\r\n });\r\n }, function (err) {\r\n throw addToError(err, 'Unable to load transpiler to transpile ' + key);\r\n });\r\n}\r\n\r\n// detect any meta header syntax\r\n// only set if not already set\r\nvar metaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)+/;\r\nvar metaPartRegEx = /\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\/\\/[^\\n]*|\"[^\"]+\"\\s*;?|'[^']+'\\s*;?/g;\r\n\r\nfunction setMetaProperty(target, p, value) {\r\n var pParts = p.split('.');\r\n var curPart;\r\n while (pParts.length > 1) {\r\n curPart = pParts.shift();\r\n target = target[curPart] = target[curPart] || {};\r\n }\r\n curPart = pParts.shift();\r\n if (target[curPart] === undefined)\r\n target[curPart] = value;\r\n}\r\n\r\nfunction readMetaSyntax (source, metadata) {\r\n var meta = source.match(metaRegEx);\r\n if (!meta)\r\n return;\r\n\r\n var metaParts = meta[0].match(metaPartRegEx);\r\n\r\n for (var i = 0; i < metaParts.length; i++) {\r\n var curPart = metaParts[i];\r\n var len = curPart.length;\r\n\r\n var firstChar = curPart.substr(0, 1);\r\n if (curPart.substr(len - 1, 1) == ';')\r\n len--;\r\n\r\n if (firstChar != '\"' && firstChar != \"'\")\r\n continue;\r\n\r\n var metaString = curPart.substr(1, curPart.length - 3);\r\n var metaName = metaString.substr(0, metaString.indexOf(' '));\r\n\r\n if (metaName) {\r\n var metaValue = metaString.substr(metaName.length + 1, metaString.length - metaName.length - 1);\r\n\r\n if (metaName === 'deps')\r\n metaName = 'deps[]';\r\n\r\n if (metaName.substr(metaName.length - 2, 2) === '[]') {\r\n metaName = metaName.substr(0, metaName.length - 2);\r\n metadata.load[metaName] = metadata.load[metaName] || [];\r\n metadata.load[metaName].push(metaValue);\r\n }\r\n // \"use strict\" is not meta\r\n else if (metaName !== 'use') {\r\n setMetaProperty(metadata.load, metaName, metaValue);\r\n }\r\n }\r\n else {\r\n metadata.load[metaString] = true;\r\n }\r\n }\r\n}\r\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { warn, isBrowser, global, baseURI, CONFIG, METADATA, ModuleNamespace, emptyModule, isModule } from './common.js';\r\n\r\nimport { getConfig, getConfigItem, setConfig } from './config.js';\r\nimport { decanonicalize, normalize, normalizeSync } from './resolve.js';\r\nimport { instantiate, nodeRequire } from './instantiate.js';\r\nimport { setHelpers, setAmdHelper } from './format-helpers.js';\r\n\r\nexport default SystemJSLoader;\r\n\r\nvar scriptSrc;\r\n\r\n// Promise detection and error message\r\nif (typeof Promise === 'undefined')\r\n throw new Error('SystemJS needs a Promise polyfill.');\r\n\r\nif (typeof document !== 'undefined') {\r\n var scripts = document.getElementsByTagName('script');\r\n var curScript = scripts[scripts.length - 1];\r\n if (document.currentScript && (curScript.defer || curScript.async))\r\n curScript = document.currentScript;\r\n\r\n scriptSrc = curScript && curScript.src;\r\n}\r\n// worker\r\nelse if (typeof importScripts !== 'undefined') {\r\n try {\r\n throw new Error('_');\r\n }\r\n catch (e) {\r\n e.stack.replace(/(?:at|@).*(http.+):[\\d]+:[\\d]+/, function(m, url) {\r\n scriptSrc = url;\r\n });\r\n }\r\n}\r\n// node\r\nelse if (typeof __filename !== 'undefined') {\r\n scriptSrc = __filename;\r\n}\r\n\r\nfunction SystemJSLoader () {\r\n RegisterLoader.call(this);\r\n\r\n // NB deprecate\r\n this._loader = {};\r\n\r\n // internal metadata store\r\n this[METADATA] = {};\r\n\r\n // internal configuration\r\n this[CONFIG] = {\r\n baseURL: baseURI,\r\n paths: {},\r\n\r\n packageConfigPaths: [],\r\n packageConfigKeys: [],\r\n map: {},\r\n packages: {},\r\n depCache: {},\r\n meta: {},\r\n bundles: {},\r\n\r\n production: false,\r\n\r\n transpiler: undefined,\r\n loadedBundles: {},\r\n\r\n // global behaviour flags\r\n warnings: false,\r\n pluginFirst: false,\r\n\r\n // enable wasm loading and detection when supported\r\n wasm: false\r\n };\r\n\r\n // make the location of the system.js script accessible (if any)\r\n this.scriptSrc = scriptSrc;\r\n\r\n this._nodeRequire = nodeRequire;\r\n\r\n // support the empty module, as a concept\r\n this.registry.set('@empty', emptyModule);\r\n\r\n setProduction.call(this, false, false);\r\n\r\n // add module format helpers\r\n setHelpers(this);\r\n setAmdHelper(this);\r\n}\r\n\r\nexport var envModule;\r\nexport function setProduction (isProduction, isBuilder) {\r\n this[CONFIG].production = isProduction;\r\n this.registry.set('@system-env', envModule = this.newModule({\r\n browser: isBrowser,\r\n node: !!this._nodeRequire,\r\n production: !isBuilder && isProduction,\r\n dev: isBuilder || !isProduction,\r\n build: isBuilder,\r\n 'default': true\r\n }));\r\n}\r\n\r\nSystemJSLoader.prototype = Object.create(RegisterLoader.prototype);\r\n\r\nSystemJSLoader.prototype.constructor = SystemJSLoader;\r\n\r\n// NB deprecate normalize\r\nSystemJSLoader.prototype[SystemJSLoader.resolve = RegisterLoader.resolve] = SystemJSLoader.prototype.normalize = normalize;\r\n\r\nSystemJSLoader.prototype.load = function (key, parentKey) {\r\n warn.call(this[CONFIG], 'System.load is deprecated.');\r\n return this.import(key, parentKey);\r\n};\r\n\r\n// NB deprecate decanonicalize, normalizeSync\r\nSystemJSLoader.prototype.decanonicalize = SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.resolveSync = normalizeSync;\r\n\r\nSystemJSLoader.prototype[SystemJSLoader.instantiate = RegisterLoader.instantiate] = instantiate;\r\n\r\nSystemJSLoader.prototype.config = setConfig;\r\nSystemJSLoader.prototype.getConfig = getConfig;\r\n\r\nSystemJSLoader.prototype.global = global;\r\n\r\nSystemJSLoader.prototype.import = function () {\r\n return RegisterLoader.prototype.import.apply(this, arguments)\r\n .then(function (m) {\r\n return '__useDefault' in m ? m.__useDefault : m;\r\n });\r\n};\r\n\r\nexport var configNames = ['baseURL', 'map', 'paths', 'packages', 'packageConfigPaths', 'depCache', 'meta', 'bundles', 'transpiler', 'warnings', 'pluginFirst', 'production', 'wasm'];\r\n\r\nvar hasProxy = typeof Proxy !== 'undefined';\r\nfor (var i = 0; i < configNames.length; i++) (function (configName) {\r\n Object.defineProperty(SystemJSLoader.prototype, configName, {\r\n get: function () {\r\n var cfg = getConfigItem(this[CONFIG], configName);\r\n\r\n if (hasProxy && typeof cfg === 'object')\r\n cfg = new Proxy(cfg, {\r\n set: function (target, option) {\r\n throw new Error('Cannot set SystemJS.' + configName + '[\"' + option + '\"] directly. Use SystemJS.config({ ' + configName + ': { \"' + option + '\": ... } }) rather.');\r\n }\r\n });\r\n\r\n //if (typeof cfg === 'object')\r\n // warn.call(this[CONFIG], 'Referencing `SystemJS.' + configName + '` is deprecated. Use the config getter `SystemJS.getConfig(\\'' + configName + '\\')`');\r\n return cfg;\r\n },\r\n set: function (name) {\r\n throw new Error('Setting `SystemJS.' + configName + '` directly is no longer supported. Use `SystemJS.config({ ' + configName + ': ... })`.');\r\n }\r\n });\r\n})(configNames[i]);\r\n\r\n/*\r\n * Backwards-compatible registry API, to be deprecated\r\n */\r\nfunction registryWarn(loader, method) {\r\n warn.call(loader[CONFIG], 'SystemJS.' + method + ' is deprecated for SystemJS.registry.' + method);\r\n}\r\nSystemJSLoader.prototype.delete = function (key) {\r\n registryWarn(this, 'delete');\r\n return this.registry.delete(key);\r\n};\r\nSystemJSLoader.prototype.get = function (key) {\r\n registryWarn(this, 'get');\r\n return this.registry.get(key);\r\n};\r\nSystemJSLoader.prototype.has = function (key) {\r\n registryWarn(this, 'has');\r\n return this.registry.has(key);\r\n};\r\nSystemJSLoader.prototype.set = function (key, module) {\r\n registryWarn(this, 'set');\r\n return this.registry.set(key, module);\r\n};\r\nSystemJSLoader.prototype.newModule = function (bindings) {\r\n return new ModuleNamespace(bindings);\r\n};\r\nSystemJSLoader.prototype.isModule = isModule;\r\n\r\n// ensure System.register and System.registerDynamic decanonicalize\r\nSystemJSLoader.prototype.register = function (key, deps, declare) {\r\n if (typeof key === 'string')\r\n key = decanonicalize.call(this, this[CONFIG], key);\r\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\r\n};\r\n\r\nSystemJSLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\r\n if (typeof key === 'string')\r\n key = decanonicalize.call(this, this[CONFIG], key);\r\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\r\n};\r\n","import { global, isBrowser, isWorker } from './common.js';\r\nimport SystemJSLoader from './systemjs-loader.js';\r\n\r\nSystemJSLoader.prototype.version = VERSION;\r\n\r\nvar System = new SystemJSLoader();\r\n\r\n// only set the global System on the global in browsers\r\nif (isBrowser || isWorker)\r\n global.SystemJS = global.System = System;\r\n\r\nif (typeof module !== 'undefined' && module.exports)\r\n module.exports = System;\r\n"]} \ No newline at end of file diff --git a/dist/system.src.js b/dist/system.src.js index 2f902bbe..5c1f5ed3 100644 --- a/dist/system.src.js +++ b/dist/system.src.js @@ -1,5 +1,5 @@ /* - * SystemJS v0.20.19 Dev + * SystemJS v0.21.0 Dev */ (function () { 'use strict'; @@ -1319,15 +1319,8 @@ function workerImport (src, resolve, reject) { } if (isBrowser) { - var loadingScripts = []; var onerror = window.onerror; window.onerror = function globalOnerror (msg, src) { - for (var i = 0; i < loadingScripts.length; i++) { - if (loadingScripts[i].src !== src) - continue; - loadingScripts[i].err(msg); - return; - } if (onerror) onerror.apply(this, arguments); }; @@ -1369,12 +1362,6 @@ function scriptLoad (src, crossOrigin, integrity, resolve, reject) { } function cleanup () { - for (var i = 0; i < loadingScripts.length; i++) { - if (loadingScripts[i].err === error) { - loadingScripts.splice(i, 1); - break; - } - } script.removeEventListener('load', load, false); script.removeEventListener('error', error, false); document.head.removeChild(script); @@ -2824,7 +2811,7 @@ function evaluate (loader, source, sourceMap, address, integrity, nonce, noWrap) } } -var formatHelpers = function (loader) { +function setHelpers (loader) { loader.set('@@cjs-helpers', loader.newModule({ requireResolve: requireResolve.bind(loader), getPathVars: getPathVars @@ -2833,6 +2820,9 @@ var formatHelpers = function (loader) { loader.set('@@global-helpers', loader.newModule({ prepareGlobal: prepareGlobal })); +} + +function setAmdHelper (loader) { /* AMD-compatible require @@ -2979,7 +2969,7 @@ var formatHelpers = function (loader) { loader.amdDefine = define; loader.amdRequire = require; -}; +} // CJS var windowOrigin; @@ -3875,7 +3865,8 @@ function SystemJSLoader$1 () { setProduction.call(this, false, false); // add module format helpers - formatHelpers(this); + setHelpers(this); + setAmdHelper(this); } var envModule; @@ -3985,7 +3976,7 @@ SystemJSLoader$1.prototype.registerDynamic = function (key, deps, executingRequi return RegisterLoader$1.prototype.registerDynamic.call(this, key, deps, executingRequire, execute); }; -SystemJSLoader$1.prototype.version = "0.20.19 Dev"; +SystemJSLoader$1.prototype.version = "0.21.0 Dev"; var System = new SystemJSLoader$1(); diff --git a/dist/system.src.js.map b/dist/system.src.js.map index 87d1534e..59ac23c2 100644 --- a/dist/system.src.js.map +++ b/dist/system.src.js.map @@ -1 +1 @@ -{"version":3,"file":"system.js.map","sources":["../node_modules/es-module-loader/core/common.js","../node_modules/es-module-loader/core/resolve.js","../node_modules/es-module-loader/core/loader-polyfill.js","../node_modules/es-module-loader/core/register-loader.js","../src/common.js","../src/fetch.js","../src/resolve.js","../src/config.js","../src/evaluate.js","../src/format-helpers.js","../src/instantiate.js","../src/systemjs-loader.js","../src/system.js"],"sourcesContent":["/*\n * Environment\n */\nexport var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nexport var isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nexport var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);\n\nvar envGlobal = typeof self !== 'undefined' ? self : global;\nexport { envGlobal as global }\n\n/*\n * Simple Symbol() shim\n */\nvar hasSymbol = typeof Symbol !== 'undefined';\nexport function createSymbol (name) {\n return hasSymbol ? Symbol() : '@@' + name;\n}\n\nexport function pathToFileUrl (filePath) {\n return 'file://' + (isWindows ? '/' : '') + (isWindows ? filePath.replace(/\\\\/g, '/') : filePath);\n}\n\nexport function fileUrlToPath (fileUrl) {\n if (fileUrl.substr(0, 7) !== 'file://')\n throw new RangeError(fileUrl + ' is not a valid file url');\n if (isWindows)\n return fileUrl.substr(8).replace(/\\\\/g, '/');\n else\n return fileUrl.substr(7);\n}\n\n/*\n * Environment baseURI\n */\nexport var baseURI;\n\n// environent baseURI detection\nif (typeof document != 'undefined' && document.getElementsByTagName) {\n baseURI = document.baseURI;\n\n if (!baseURI) {\n var bases = document.getElementsByTagName('base');\n baseURI = bases[0] && bases[0].href || window.location.href;\n }\n}\nelse if (typeof location != 'undefined') {\n baseURI = location.href;\n}\n\n// sanitize out the hash and querystring\nif (baseURI) {\n baseURI = baseURI.split('#')[0].split('?')[0];\n var slashIndex = baseURI.lastIndexOf('/');\n if (slashIndex !== -1)\n baseURI = baseURI.substr(0, slashIndex + 1);\n}\nelse if (typeof process !== 'undefined' && process.cwd) {\n baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd();\n if (isWindows)\n baseURI = baseURI.replace(/\\\\/g, '/');\n}\nelse {\n throw new TypeError('No environment baseURI');\n}\n\n// ensure baseURI has trailing \"/\"\nif (baseURI[baseURI.length - 1] !== '/')\n baseURI += '/';\n\n/*\n * LoaderError with chaining for loader stacks\n */\nvar errArgs = new Error(0, '_').fileName == '_';\nfunction LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) {\n // Convert file:/// URLs to paths in Node\n if (!isBrowser)\n newMessage = newMessage.replace(isWindows ? /file:\\/\\/\\//g : /file:\\/\\//g, '');\n\n var message = (childErr.message || childErr) + '\\n ' + newMessage;\n\n var err;\n if (errArgs && childErr.fileName)\n err = new Error(message, childErr.fileName, childErr.lineNumber);\n else\n err = new Error(message);\n\n\n var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack;\n\n if (isNode)\n // node doesn't show the message otherwise\n err.stack = message + '\\n ' + stack;\n else\n err.stack = stack;\n\n err.originalErr = childErr.originalErr || childErr;\n\n return err;\n}\nexport { LoaderError__Check_error_message_for_loader_stack as addToError }\n","import { isNode } from './common.js';\n\n/*\n * Optimized URL normalization assuming a syntax-valid URL parent\n */\nfunction throwResolveError (relUrl, parentUrl) {\n throw new RangeError('Unable to resolve \"' + relUrl + '\" to ' + parentUrl);\n}\nexport function resolveIfNotPlain (relUrl, parentUrl) {\n relUrl = relUrl.trim();\n var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1);\n\n var firstChar = relUrl[0];\n var secondChar = relUrl[1];\n\n // protocol-relative\n if (firstChar === '/' && secondChar === '/') {\n if (!parentProtocol)\n throwResolveError(relUrl, parentUrl);\n return parentProtocol + relUrl;\n }\n // relative-url\n else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n firstChar === '/') {\n var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/';\n\n // read pathname from parent if a URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentIsPlain) {\n // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\n\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\n\nexport var resolvedPromise = Promise.resolve();\nexport function noop () {};\n\nexport var emptyModule = new ModuleNamespace({});\n\nexport function protectedCreateNamespace (bindings) {\n if (bindings instanceof ModuleNamespace)\n return bindings;\n\n if (bindings && bindings.__esModule)\n return new ModuleNamespace(bindings);\n\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\n}\n\nvar hasStringTag;\nexport function isModule (m) {\n if (hasStringTag === undefined)\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\n}\n\nexport var CONFIG = createSymbol('loader-config');\nexport var METADATA = createSymbol('metadata');\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\n\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\n\nexport function warn (msg, force) {\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\n console.warn(msg);\n}\n\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\n var bytes = new Uint8Array(wasmBuffer);\n\n // detect by leading bytes\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\n return WebAssembly.compile(wasmBuffer).then(function (m) {\n var deps = [];\n var setters = [];\n var importObj = {};\n\n // we can only set imports if supported (eg Safari doesnt support)\n if (WebAssembly.Module.imports)\n WebAssembly.Module.imports(m).forEach(function (i) {\n var key = i.module;\n setters.push(function (m) {\n importObj[key] = m;\n });\n if (deps.indexOf(key) === -1)\n deps.push(key);\n });\n loader.register(deps, function (_export) {\n return {\n setters: setters,\n execute: function () {\n _export(new WebAssembly.Instance(m, importObj).exports);\n }\n };\n });\n processAnonRegister();\n\n return true;\n });\n }\n\n return Promise.resolve(false);\n}\n\nvar parentModuleContext;\nexport function loadNodeModule (key, baseURL) {\n if (key[0] === '.')\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\n\n if (!parentModuleContext) {\n var Module = this._nodeRequire('module');\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\n parentModuleContext = new Module(base);\n parentModuleContext.paths = Module._nodeModulePaths(base);\n }\n return parentModuleContext.require(key);\n}\n\nexport function extend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n a[p] = b[p];\n }\n return a;\n}\n\nexport function prepend (a, b) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n if (a[p] === undefined)\n a[p] = b[p];\n }\n return a;\n}\n\n// meta first-level extends where:\n// array + array appends\n// object + object extends\n// other properties replace\nexport function extendMeta (a, b, _prepend) {\n for (var p in b) {\n if (!Object.hasOwnProperty.call(b, p))\n continue;\n var val = b[p];\n if (a[p] === undefined)\n a[p] = val;\n else if (val instanceof Array && a[p] instanceof Array)\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\n else if (!_prepend)\n a[p] = val;\n }\n}\n\nvar supportsPreload = false, supportsPrefetch = false;\nif (isBrowser)\n (function () {\n var relList = document.createElement('link').relList;\n if (relList && relList.supports) {\n supportsPrefetch = true;\n try {\n supportsPreload = relList.supports('preload');\n }\n catch (e) {}\n }\n })();\n\nexport function preloadScript (url) {\n // fallback to old fashioned image technique which still works in safari\n if (!supportsPreload && !supportsPrefetch) {\n var preloadImage = new Image();\n preloadImage.src = url;\n return;\n }\n\n var link = document.createElement('link');\n if (supportsPreload) {\n link.rel = 'preload';\n link.as = 'script';\n }\n else {\n // this works for all except Safari (detected by relList.supports lacking)\n link.rel = 'prefetch';\n }\n link.href = url;\n document.head.appendChild(link);\n}\n\nfunction workerImport (src, resolve, reject) {\n try {\n importScripts(src);\n }\n catch (e) {\n reject(e);\n }\n resolve();\n}\n\nif (isBrowser) {\n var loadingScripts = [];\n var onerror = window.onerror;\n window.onerror = function globalOnerror (msg, src) {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].src !== src)\n continue;\n loadingScripts[i].err(msg);\n return;\n }\n if (onerror)\n onerror.apply(this, arguments);\n };\n}\n\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\n // percent encode just \"#\" for HTTP requests\n src = src.replace(/#/g, '%23');\n\n // subresource integrity is not supported in web workers\n if (isWorker)\n return workerImport(src, resolve, reject);\n\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.charset = 'utf-8';\n script.async = true;\n\n if (crossOrigin)\n script.crossOrigin = crossOrigin;\n if (integrity)\n script.integrity = integrity;\n\n script.addEventListener('load', load, false);\n script.addEventListener('error', error, false);\n\n script.src = src;\n document.head.appendChild(script);\n\n function load () {\n resolve();\n cleanup();\n }\n\n // note this does not catch execution errors\n function error (err) {\n cleanup();\n reject(new Error('Fetching ' + src));\n }\n\n function cleanup () {\n for (var i = 0; i < loadingScripts.length; i++) {\n if (loadingScripts[i].err === error) {\n loadingScripts.splice(i, 1);\n break;\n }\n }\n script.removeEventListener('load', load, false);\n script.removeEventListener('error', error, false);\n document.head.removeChild(script);\n }\n}\n\nexport function readMemberExpression (p, value) {\n var pParts = p.split('.');\n while (pParts.length)\n value = value[pParts.shift()];\n return value;\n}\n\n// separate out paths cache as a baseURL lock process\nexport function applyPaths (baseURL, paths, key) {\n var mapMatch = getMapMatch(paths, key);\n if (mapMatch) {\n var target = paths[mapMatch] + key.substr(mapMatch.length);\n\n var resolved = resolveIfNotPlain(target, baseURI);\n if (resolved !== undefined)\n return resolved;\n\n return baseURL + target;\n }\n else if (key.indexOf(':') !== -1) {\n return key;\n }\n else {\n return baseURL + key;\n }\n}\n\nfunction checkMap (p) {\n var name = this.name;\n // can add ':' here if we want paths to match the behaviour of map\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\n var curLen = p.split('/').length;\n if (curLen > this.len) {\n this.match = p;\n this.len = curLen;\n }\n }\n}\n\nexport function getMapMatch (map, name) {\n if (Object.hasOwnProperty.call(map, name))\n return name;\n\n var bestMatch = {\n name: name,\n match: undefined,\n len: 0\n };\n\n Object.keys(map).forEach(checkMap, bestMatch);\n\n return bestMatch.match;\n}\n\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\n","import { isWindows } from './common.js';\n\n/*\n * Source loading\n */\nfunction fetchFetch (url, authorization, integrity, asBuffer) {\n // fetch doesn't support file:/// urls\n if (url.substr(0, 8) === 'file:///') {\n if (hasXhr)\n return xhrFetch(url, authorization, integrity, asBuffer);\n else\n throw new Error('Unable to fetch file URLs in this environment.');\n }\n\n // percent encode just \"#\" for HTTP requests\n url = url.replace(/#/g, '%23');\n\n var opts = {\n // NB deprecate\n headers: { Accept: 'application/x-es-module, */*' }\n };\n\n if (integrity)\n opts.integrity = integrity;\n\n if (authorization) {\n if (typeof authorization == 'string')\n opts.headers['Authorization'] = authorization;\n opts.credentials = 'include';\n }\n\n return fetch(url, opts)\n .then(function(res) {\n if (res.ok)\n return asBuffer ? res.arrayBuffer() : res.text();\n else\n throw new Error('Fetch error: ' + res.status + ' ' + res.statusText);\n });\n}\n\nfunction xhrFetch (url, authorization, integrity, asBuffer) {\n return new Promise(function (resolve, reject) {\n // percent encode just \"#\" for HTTP requests\n url = url.replace(/#/g, '%23');\n\n var xhr = new XMLHttpRequest();\n if (asBuffer)\n xhr.responseType = 'arraybuffer';\n function load() {\n resolve(asBuffer ? xhr.response : xhr.responseText);\n }\n function error() {\n reject(new Error('XHR error: ' + (xhr.status ? ' (' + xhr.status + (xhr.statusText ? ' ' + xhr.statusText : '') + ')' : '') + ' loading ' + url));\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n // in Chrome on file:/// URLs, status is 0\n if (xhr.status == 0) {\n if (xhr.response) {\n load();\n }\n else {\n // when responseText is empty, wait for load or error event\n // to inform if it is a 404 or empty file\n xhr.addEventListener('error', error);\n xhr.addEventListener('load', load);\n }\n }\n else if (xhr.status === 200) {\n load();\n }\n else {\n error();\n }\n }\n };\n xhr.open(\"GET\", url, true);\n\n if (xhr.setRequestHeader) {\n xhr.setRequestHeader('Accept', 'application/x-es-module, */*');\n // can set \"authorization: true\" to enable withCredentials only\n if (authorization) {\n if (typeof authorization == 'string')\n xhr.setRequestHeader('Authorization', authorization);\n xhr.withCredentials = true;\n }\n }\n\n xhr.send(null);\n });\n}\n\nvar fs;\nfunction nodeFetch (url, authorization, integrity, asBuffer) {\n if (url.substr(0, 8) != 'file:///')\n return Promise.reject(new Error('Unable to fetch \"' + url + '\". Only file URLs of the form file:/// supported running in Node.'));\n\n fs = fs || require('fs');\n if (isWindows)\n url = url.replace(/\\//g, '\\\\').substr(8);\n else\n url = url.substr(7);\n\n return new Promise(function (resolve, reject) {\n fs.readFile(url, function(err, data) {\n if (err) {\n return reject(err);\n }\n else {\n if (asBuffer) {\n resolve(data);\n }\n else {\n // Strip Byte Order Mark out if it's the leading char\n var dataString = data + '';\n if (dataString[0] === '\\ufeff')\n dataString = dataString.substr(1);\n\n resolve(dataString);\n }\n }\n });\n });\n}\n\nfunction noFetch () {\n throw new Error('No fetch method is defined for this environment.');\n}\n\nvar fetchFunction;\n\nvar hasXhr = typeof XMLHttpRequest !== 'undefined';\n\nif (typeof self !== 'undefined' && typeof self.fetch !== 'undefined')\n fetchFunction = fetchFetch;\nelse if (hasXhr)\n fetchFunction = xhrFetch;\nelse if (typeof require !== 'undefined' && typeof process !== 'undefined')\n fetchFunction = nodeFetch;\nelse\n fetchFunction = noFetch;\n\nexport default fetchFunction;\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { getMapMatch, readMemberExpression, extendMeta, addToError, resolveIfNotPlain,\n baseURI, CONFIG, METADATA, applyPaths, resolvedPromise, getPackage } from './common.js';\nimport { setPkgConfig, createPackage } from './config.js';\nimport fetch from './fetch.js';\n\nexport function createMetadata () {\n return {\n pluginKey: undefined,\n pluginArgument: undefined,\n pluginModule: undefined,\n packageKey: undefined,\n packageConfig: undefined,\n load: undefined\n };\n}\n\nfunction getCoreParentMetadata (loader, config, parentKey) {\n var parentMetadata = createMetadata();\n\n if (parentKey) {\n // detect parent plugin\n // we just need pluginKey to be truthy for package configurations\n // so we duplicate it as pluginArgument - although not correct its not used\n var parentPluginIndex;\n if (config.pluginFirst) {\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\n }\n else {\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\n }\n }\n\n return parentMetadata;\n}\n\nfunction getParentMetadata (loader, config, parentKey) {\n var parentMetadata = createMetadata();\n\n if (parentKey) {\n // detect parent plugin\n // we just need pluginKey to be truthy for package configurations\n // so we duplicate it as pluginArgument - although not correct its not used\n var parentPluginIndex;\n if (config.pluginFirst) {\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\n }\n else {\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\n }\n\n // detect parent package\n parentMetadata.packageKey = getMapMatch(config.packages, parentKey);\n if (parentMetadata.packageKey)\n parentMetadata.packageConfig = config.packages[parentMetadata.packageKey];\n }\n\n return parentMetadata;\n}\n\nexport function normalize (key, parentKey) {\n var config = this[CONFIG];\n\n var metadata = createMetadata();\n var parentMetadata = getParentMetadata(this, config, parentKey);\n\n var loader = this;\n\n return Promise.resolve()\n\n // boolean conditional\n .then(function () {\n // first we normalize the conditional\n var booleanIndex = key.lastIndexOf('#?');\n\n if (booleanIndex === -1)\n return Promise.resolve(key);\n\n var conditionObj = parseCondition.call(loader, key.substr(booleanIndex + 2));\n\n // in builds, return normalized conditional\n /*if (this.builder)\n return this.resolve(conditionObj.module, parentKey)\n .then(function (conditionModule) {\n conditionObj.module = conditionModule;\n return key.substr(0, booleanIndex) + '#?' + serializeCondition(conditionObj);\n });*/\n\n return resolveCondition.call(loader, conditionObj, parentKey, true)\n .then(function (conditionValue) {\n return conditionValue ? key.substr(0, booleanIndex) : '@empty';\n });\n })\n\n // plugin\n .then(function (key) {\n var parsed = parsePlugin(config.pluginFirst, key);\n\n if (!parsed)\n return packageResolve.call(loader, config, key, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, false);\n\n metadata.pluginKey = parsed.plugin;\n\n return Promise.all([\n packageResolve.call(loader, config, parsed.argument, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, true),\n loader.resolve(parsed.plugin, parentKey)\n ])\n .then(function (normalized) {\n metadata.pluginArgument = normalized[0];\n metadata.pluginKey = normalized[1];\n\n // don't allow a plugin to load itself\n if (metadata.pluginArgument === metadata.pluginKey)\n throw new Error('Plugin ' + metadata.pluginArgument + ' cannot load itself, make sure it is excluded from any wildcard meta configuration via a custom loader: false rule.');\n\n return combinePluginParts(config.pluginFirst, normalized[0], normalized[1]);\n });\n })\n .then(function (normalized) {\n return interpolateConditional.call(loader, normalized, parentKey, parentMetadata);\n })\n .then(function (normalized) {\n setMeta.call(loader, config, normalized, metadata);\n\n if (metadata.pluginKey || !metadata.load.loader)\n return normalized;\n\n // loader by configuration\n // normalizes to parent to support package loaders\n return loader.resolve(metadata.load.loader, normalized)\n .then(function (pluginKey) {\n metadata.pluginKey = pluginKey;\n metadata.pluginArgument = normalized;\n return normalized;\n });\n })\n .then(function (normalized) {\n loader[METADATA][normalized] = metadata;\n return normalized;\n });\n}\n\n// normalization function used for registry keys\n// just does coreResolve without map\nexport function decanonicalize (config, key) {\n var parsed = parsePlugin(config.pluginFirst, key);\n\n // plugin\n if (parsed) {\n var pluginKey = decanonicalize.call(this, config, parsed.plugin);\n return combinePluginParts(config.pluginFirst, coreResolve.call(this, config, parsed.argument, undefined, false, false), pluginKey);\n }\n\n return coreResolve.call(this, config, key, undefined, false, false);\n}\n\nexport function normalizeSync (key, parentKey) {\n var config = this[CONFIG];\n\n // normalizeSync is metadataless, so create metadata\n var metadata = createMetadata();\n var parentMetadata = parentMetadata || getParentMetadata(this, config, parentKey);\n\n var parsed = parsePlugin(config.pluginFirst, key);\n\n // plugin\n if (parsed) {\n metadata.pluginKey = normalizeSync.call(this, parsed.plugin, parentKey);\n return combinePluginParts(config.pluginFirst,\n packageResolveSync.call(this, config, parsed.argument, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey),\n metadata.pluginKey);\n }\n\n return packageResolveSync.call(this, config, key, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey);\n}\n\nexport function coreResolve (config, key, parentKey, doMap, packageName) {\n var relativeResolved = resolveIfNotPlain(key, parentKey || baseURI);\n\n // standard URL resolution\n if (relativeResolved)\n return applyPaths(config.baseURL, config.paths, relativeResolved);\n\n // plain keys not starting with './', 'x://' and '/' go through custom resolution\n if (doMap) {\n var mapMatch = getMapMatch(config.map, key);\n\n if (mapMatch) {\n key = config.map[mapMatch] + key.substr(mapMatch.length);\n\n relativeResolved = resolveIfNotPlain(key, baseURI);\n if (relativeResolved)\n return applyPaths(config.baseURL, config.paths, relativeResolved);\n }\n }\n\n if (this.registry.has(key))\n return key;\n\n if (key.substr(0, 6) === '@node/')\n return key;\n\n var trailingSlash = packageName && key[key.length - 1] !== '/';\n var resolved = applyPaths(config.baseURL, config.paths, trailingSlash ? key + '/' : key);\n if (trailingSlash)\n return resolved.substr(0, resolved.length - 1);\n return resolved;\n}\n\nfunction packageResolveSync (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\n // ignore . since internal maps handled by standard package resolution\n if (parentMetadata && parentMetadata.packageConfig && key[0] !== '.') {\n var parentMap = parentMetadata.packageConfig.map;\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\n\n if (parentMapMatch && typeof parentMap[parentMapMatch] === 'string') {\n var mapped = doMapSync(this, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\n if (mapped)\n return mapped;\n }\n }\n\n var normalized = coreResolve.call(this, config, key, parentKey, true, true);\n\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\n\n if (!metadata.packageKey)\n return normalized;\n\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\n metadata.packageKey = undefined;\n return normalized;\n }\n\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\n\n var subPath = normalized.substr(metadata.packageKey.length + 1);\n\n return applyPackageConfigSync(this, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\n}\n\nfunction packageResolve (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\n var loader = this;\n\n return resolvedPromise\n .then(function () {\n // ignore . since internal maps handled by standard package resolution\n if (parentMetadata && parentMetadata.packageConfig && key.substr(0, 2) !== './') {\n var parentMap = parentMetadata.packageConfig.map;\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\n\n if (parentMapMatch)\n return doMap(loader, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\n }\n\n return resolvedPromise;\n })\n .then(function (mapped) {\n if (mapped)\n return mapped;\n\n // apply map, core, paths, contextual package map\n var normalized = coreResolve.call(loader, config, key, parentKey, true, true);\n\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\n\n if (!metadata.packageKey)\n return Promise.resolve(normalized);\n\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\n metadata.packageKey = undefined;\n metadata.load = createMeta();\n metadata.load.format = 'json';\n // ensure no loader\n metadata.load.loader = '';\n return Promise.resolve(normalized);\n }\n\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\n\n // load configuration when it matches packageConfigPaths, not already configured, and not the config itself\n var loadConfig = pkgConfigMatch && !metadata.packageConfig.configured;\n\n return (loadConfig ? loadPackageConfigPath(loader, config, pkgConfigMatch.configPath, metadata) : resolvedPromise)\n .then(function () {\n var subPath = normalized.substr(metadata.packageKey.length + 1);\n\n return applyPackageConfig(loader, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\n });\n });\n}\n\nfunction createMeta () {\n return {\n extension: '',\n deps: undefined,\n format: undefined,\n loader: undefined,\n scriptLoad: undefined,\n globals: undefined,\n nonce: undefined,\n integrity: undefined,\n sourceMap: undefined,\n exports: undefined,\n encapsulateGlobal: false,\n crossOrigin: undefined,\n cjsRequireDetection: true,\n cjsDeferDepsExecute: false,\n esModule: false\n };\n}\n\nfunction setMeta (config, key, metadata) {\n metadata.load = metadata.load || createMeta();\n\n // apply wildcard metas\n var bestDepth = 0;\n var wildcardIndex;\n for (var module in config.meta) {\n wildcardIndex = module.indexOf('*');\n if (wildcardIndex === -1)\n continue;\n if (module.substr(0, wildcardIndex) === key.substr(0, wildcardIndex)\n && module.substr(wildcardIndex + 1) === key.substr(key.length - module.length + wildcardIndex + 1)) {\n var depth = module.split('/').length;\n if (depth > bestDepth)\n bestDepth = depth;\n extendMeta(metadata.load, config.meta[module], bestDepth !== depth);\n }\n }\n\n // apply exact meta\n if (config.meta[key])\n extendMeta(metadata.load, config.meta[key], false);\n\n // apply package meta\n if (metadata.packageKey) {\n var subPath = key.substr(metadata.packageKey.length + 1);\n\n var meta = {};\n if (metadata.packageConfig.meta) {\n var bestDepth = 0;\n getMetaMatches(metadata.packageConfig.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\n if (matchDepth > bestDepth)\n bestDepth = matchDepth;\n extendMeta(meta, matchMeta, matchDepth && bestDepth > matchDepth);\n });\n\n extendMeta(metadata.load, meta, false);\n }\n\n // format\n if (metadata.packageConfig.format && !metadata.pluginKey && !metadata.load.loader)\n metadata.load.format = metadata.load.format || metadata.packageConfig.format;\n }\n}\n\nfunction parsePlugin (pluginFirst, key) {\n var argumentKey;\n var pluginKey;\n\n var pluginIndex = pluginFirst ? key.indexOf('!') : key.lastIndexOf('!');\n\n if (pluginIndex === -1)\n return;\n\n if (pluginFirst) {\n argumentKey = key.substr(pluginIndex + 1);\n pluginKey = key.substr(0, pluginIndex);\n }\n else {\n argumentKey = key.substr(0, pluginIndex);\n pluginKey = key.substr(pluginIndex + 1) || argumentKey.substr(argumentKey.lastIndexOf('.') + 1);\n }\n\n return {\n argument: argumentKey,\n plugin: pluginKey\n };\n}\n\n// put key back together after parts have been normalized\nfunction combinePluginParts (pluginFirst, argumentKey, pluginKey) {\n if (pluginFirst)\n return pluginKey + '!' + argumentKey;\n else\n return argumentKey + '!' + pluginKey;\n}\n\n/*\n * Package Configuration Extension\n *\n * Example:\n *\n * SystemJS.packages = {\n * jquery: {\n * main: 'index.js', // when not set, package key is requested directly\n * format: 'amd',\n * defaultExtension: 'ts', // defaults to 'js', can be set to false\n * modules: {\n * '*.ts': {\n * loader: 'typescript'\n * },\n * 'vendor/sizzle.js': {\n * format: 'global'\n * }\n * },\n * map: {\n * // map internal require('sizzle') to local require('./vendor/sizzle')\n * sizzle: './vendor/sizzle.js',\n * // map any internal or external require of 'jquery/vendor/another' to 'another/index.js'\n * './vendor/another.js': './another/index.js',\n * // test.js / test -> lib/test.js\n * './test.js': './lib/test.js',\n *\n * // environment-specific map configurations\n * './index.js': {\n * '~browser': './index-node.js',\n * './custom-condition.js|~export': './index-custom.js'\n * }\n * },\n * // allows for setting package-prefixed depCache\n * // keys are normalized module keys relative to the package itself\n * depCache: {\n * // import 'package/index.js' loads in parallel package/lib/test.js,package/vendor/sizzle.js\n * './index.js': ['./test'],\n * './test.js': ['external-dep'],\n * 'external-dep/path.js': ['./another.js']\n * }\n * }\n * };\n *\n * Then:\n * import 'jquery' -> jquery/index.js\n * import 'jquery/submodule' -> jquery/submodule.js\n * import 'jquery/submodule.ts' -> jquery/submodule.ts loaded as typescript\n * import 'jquery/vendor/another' -> another/index.js\n *\n * Detailed Behaviours\n * - main can have a leading \"./\" can be added optionally\n * - map and defaultExtension are applied to the main\n * - defaultExtension adds the extension only if the exact extension is not present\n\n * - if a meta value is available for a module, map and defaultExtension are skipped\n * - like global map, package map also applies to subpaths (sizzle/x, ./vendor/another/sub)\n * - condition module map is '@env' module in package or '@system-env' globally\n * - map targets support conditional interpolation ('./x': './x.#{|env}.js')\n * - internal package map targets cannot use boolean conditionals\n *\n * Package Configuration Loading\n *\n * Not all packages may already have their configuration present in the System config\n * For these cases, a list of packageConfigPaths can be provided, which when matched against\n * a request, will first request a \".json\" file by the package key to derive the package\n * configuration from. This allows dynamic loading of non-predetermined code, a key use\n * case in SystemJS.\n *\n * Example:\n *\n * SystemJS.packageConfigPaths = ['packages/test/package.json', 'packages/*.json'];\n *\n * // will first request 'packages/new-package/package.json' for the package config\n * // before completing the package request to 'packages/new-package/path'\n * SystemJS.import('packages/new-package/path');\n *\n * // will first request 'packages/test/package.json' before the main\n * SystemJS.import('packages/test');\n *\n * When a package matches packageConfigPaths, it will always send a config request for\n * the package configuration.\n * The package key itself is taken to be the match up to and including the last wildcard\n * or trailing slash.\n * The most specific package config path will be used.\n * Any existing package configurations for the package will deeply merge with the\n * package config, with the existing package configurations taking preference.\n * To opt-out of the package configuration request for a package that matches\n * packageConfigPaths, use the { configured: true } package config option.\n *\n */\n\nfunction addDefaultExtension (config, pkg, pkgKey, subPath, skipExtensions) {\n // don't apply extensions to folders or if defaultExtension = false\n if (!subPath || !pkg.defaultExtension || subPath[subPath.length - 1] === '/' || skipExtensions)\n return subPath;\n\n var metaMatch = false;\n\n // exact meta or meta with any content after the last wildcard skips extension\n if (pkg.meta)\n getMetaMatches(pkg.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\n return metaMatch = true;\n });\n\n // exact global meta or meta with any content after the last wildcard skips extension\n if (!metaMatch && config.meta)\n getMetaMatches(config.meta, pkgKey + '/' + subPath, function (metaPattern, matchMeta, matchDepth) {\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\n return metaMatch = true;\n });\n\n if (metaMatch)\n return subPath;\n\n // work out what the defaultExtension is and add if not there already\n var defaultExtension = '.' + pkg.defaultExtension;\n if (subPath.substr(subPath.length - defaultExtension.length) !== defaultExtension)\n return subPath + defaultExtension;\n else\n return subPath;\n}\n\nfunction applyPackageConfigSync (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\n // main\n if (!subPath) {\n if (pkg.main)\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\n else\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\n // NB can add a default package main convention here\n // if it becomes internal to the package then it would no longer be an exit path\n return pkgKey;\n }\n\n // map config checking without then with extensions\n if (pkg.map) {\n var mapPath = './' + subPath;\n\n var mapMatch = getMapMatch(pkg.map, mapPath);\n\n // we then check map with the default extension adding\n if (!mapMatch) {\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\n if (mapPath !== './' + subPath)\n mapMatch = getMapMatch(pkg.map, mapPath);\n }\n if (mapMatch) {\n var mapped = doMapSync(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions);\n if (mapped)\n return mapped;\n }\n }\n\n // normal package resolution\n return pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\n}\n\nfunction validMapping (mapMatch, mapped, path) {\n // allow internal ./x -> ./x/y or ./x/ -> ./x/y recursive maps\n // but only if the path is exactly ./x and not ./x/z\n if (mapped.substr(0, mapMatch.length) === mapMatch && path.length > mapMatch.length)\n return false;\n\n return true;\n}\n\nfunction doMapSync (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\n if (path[path.length - 1] === '/')\n path = path.substr(0, path.length - 1);\n var mapped = pkg.map[mapMatch];\n\n if (typeof mapped === 'object')\n throw new Error('Synchronous conditional normalization not supported sync normalizing ' + mapMatch + ' in ' + pkgKey);\n\n if (!validMapping(mapMatch, mapped, path) || typeof mapped !== 'string')\n return;\n\n return packageResolveSync.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions);\n}\n\nfunction applyPackageConfig (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\n // main\n if (!subPath) {\n if (pkg.main)\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\n else\n // NB can add a default package main convention here\n // if it becomes internal to the package then it would no longer be an exit path\n return Promise.resolve(pkgKey);\n }\n\n // map config checking without then with extensions\n var mapPath, mapMatch;\n\n if (pkg.map) {\n mapPath = './' + subPath;\n mapMatch = getMapMatch(pkg.map, mapPath);\n\n // we then check map with the default extension adding\n if (!mapMatch) {\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\n if (mapPath !== './' + subPath)\n mapMatch = getMapMatch(pkg.map, mapPath);\n }\n }\n\n return (mapMatch ? doMap(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions) : resolvedPromise)\n .then(function (mapped) {\n if (mapped)\n return Promise.resolve(mapped);\n\n // normal package resolution / fallback resolution for no conditional match\n return Promise.resolve(pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions));\n });\n}\n\nfunction doMap (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\n if (path[path.length - 1] === '/')\n path = path.substr(0, path.length - 1);\n\n var mapped = pkg.map[mapMatch];\n\n if (typeof mapped === 'string') {\n if (!validMapping(mapMatch, mapped, path))\n return resolvedPromise;\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\n .then(function (normalized) {\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\n });\n }\n\n // we use a special conditional syntax to allow the builder to handle conditional branch points further\n /*if (loader.builder)\n return Promise.resolve(pkgKey + '/#:' + path);*/\n\n // we load all conditions upfront\n var conditionPromises = [];\n var conditions = [];\n for (var e in mapped) {\n var c = parseCondition(e);\n conditions.push({\n condition: c,\n map: mapped[e]\n });\n conditionPromises.push(RegisterLoader.prototype.import.call(loader, c.module, pkgKey));\n }\n\n // map object -> conditional map\n return Promise.all(conditionPromises)\n .then(function (conditionValues) {\n // first map condition to match is used\n for (var i = 0; i < conditions.length; i++) {\n var c = conditions[i].condition;\n var value = readMemberExpression(c.prop, '__useDefault' in conditionValues[i] ? conditionValues[i].__useDefault : conditionValues[i]);\n if (!c.negate && value || c.negate && !value)\n return conditions[i].map;\n }\n })\n .then(function (mapped) {\n if (mapped) {\n if (!validMapping(mapMatch, mapped, path))\n return resolvedPromise;\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\n .then(function (normalized) {\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\n });\n }\n\n // no environment match -> fallback to original subPath by returning undefined\n });\n}\n\n// check if the given normalized key matches a packageConfigPath\n// if so, loads the config\nvar packageConfigPaths = {};\n\n// data object for quick checks against package paths\nfunction createPkgConfigPathObj (path) {\n var lastWildcard = path.lastIndexOf('*');\n var length = Math.max(lastWildcard + 1, path.lastIndexOf('/'));\n return {\n length: length,\n regEx: new RegExp('^(' + path.substr(0, length).replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&').replace(/\\*/g, '[^\\\\/]+') + ')(\\\\/|$)'),\n wildcard: lastWildcard !== -1\n };\n}\n\n// most specific match wins\nfunction getPackageConfigMatch (config, normalized) {\n var pkgKey, exactMatch = false, configPath;\n for (var i = 0; i < config.packageConfigPaths.length; i++) {\n var packageConfigPath = config.packageConfigPaths[i];\n var p = packageConfigPaths[packageConfigPath] || (packageConfigPaths[packageConfigPath] = createPkgConfigPathObj(packageConfigPath));\n if (normalized.length < p.length)\n continue;\n var match = normalized.match(p.regEx);\n if (match && (!pkgKey || (!(exactMatch && p.wildcard) && pkgKey.length < match[1].length))) {\n pkgKey = match[1];\n exactMatch = !p.wildcard;\n configPath = pkgKey + packageConfigPath.substr(p.length);\n }\n }\n\n if (!pkgKey)\n return;\n\n return {\n packageKey: pkgKey,\n configPath: configPath\n };\n}\n\nfunction loadPackageConfigPath (loader, config, pkgConfigPath, metadata, normalized) {\n var configLoader = loader.pluginLoader || loader;\n\n // ensure we note this is a package config file path\n // it will then be skipped from getting other normalizations itself to ensure idempotency\n if (config.packageConfigKeys.indexOf(pkgConfigPath) === -1)\n config.packageConfigKeys.push(pkgConfigPath);\n\n return configLoader.import(pkgConfigPath)\n .then(function (pkgConfig) {\n setPkgConfig(metadata.packageConfig, pkgConfig, metadata.packageKey, true, config);\n metadata.packageConfig.configured = true;\n })\n .catch(function (err) {\n throw addToError(err, 'Unable to fetch package configuration file ' + pkgConfigPath);\n });\n}\n\nfunction getMetaMatches (pkgMeta, subPath, matchFn) {\n // wildcard meta\n var wildcardIndex;\n for (var module in pkgMeta) {\n // allow meta to start with ./ for flexibility\n var dotRel = module.substr(0, 2) === './' ? './' : '';\n if (dotRel)\n module = module.substr(2);\n\n wildcardIndex = module.indexOf('*');\n if (wildcardIndex === -1)\n continue;\n\n if (module.substr(0, wildcardIndex) === subPath.substr(0, wildcardIndex)\n && module.substr(wildcardIndex + 1) === subPath.substr(subPath.length - module.length + wildcardIndex + 1)) {\n // alow match function to return true for an exit path\n if (matchFn(module, pkgMeta[dotRel + module], module.split('/').length))\n return;\n }\n }\n // exact meta\n var exactMeta = pkgMeta[subPath] && Object.hasOwnProperty.call(pkgMeta, subPath) ? pkgMeta[subPath] : pkgMeta['./' + subPath];\n if (exactMeta)\n matchFn(exactMeta, exactMeta, 0);\n}\n\n\n/*\n * Conditions Extension\n *\n * Allows a condition module to alter the resolution of an import via syntax:\n *\n * import $ from 'jquery/#{browser}';\n *\n * Will first load the module 'browser' via `SystemJS.import('browser')` and\n * take the default export of that module.\n * If the default export is not a string, an error is thrown.\n *\n * We then substitute the string into the require to get the conditional resolution\n * enabling environment-specific variations like:\n *\n * import $ from 'jquery/ie'\n * import $ from 'jquery/firefox'\n * import $ from 'jquery/chrome'\n * import $ from 'jquery/safari'\n *\n * It can be useful for a condition module to define multiple conditions.\n * This can be done via the `|` modifier to specify an export member expression:\n *\n * import 'jquery/#{./browser.js|grade.version}'\n *\n * Where the `grade` export `version` member in the `browser.js` module is substituted.\n *\n *\n * Boolean Conditionals\n *\n * For polyfill modules, that are used as imports but have no module value,\n * a binary conditional allows a module not to be loaded at all if not needed:\n *\n * import 'es5-shim#?./conditions.js|needs-es5shim'\n *\n * These conditions can also be negated via:\n *\n * import 'es5-shim#?./conditions.js|~es6'\n *\n */\n\nvar sysConditions = ['browser', 'node', 'dev', 'build', 'production', 'default'];\n\nfunction parseCondition (condition) {\n var conditionExport, conditionModule, negation;\n\n var negation;\n var conditionExportIndex = condition.lastIndexOf('|');\n if (conditionExportIndex !== -1) {\n conditionExport = condition.substr(conditionExportIndex + 1);\n conditionModule = condition.substr(0, conditionExportIndex);\n\n if (conditionExport[0] === '~') {\n negation = true;\n conditionExport = conditionExport.substr(1);\n }\n }\n else {\n negation = condition[0] === '~';\n conditionExport = 'default';\n conditionModule = condition.substr(negation);\n if (sysConditions.indexOf(conditionModule) !== -1) {\n conditionExport = conditionModule;\n conditionModule = null;\n }\n }\n\n return {\n module: conditionModule || '@system-env',\n prop: conditionExport,\n negate: negation\n };\n}\n\nfunction resolveCondition (conditionObj, parentKey, bool) {\n // import without __useDefault handling here\n return RegisterLoader.prototype.import.call(this, conditionObj.module, parentKey)\n .then(function (condition) {\n var m = readMemberExpression(conditionObj.prop, condition);\n\n if (bool && typeof m !== 'boolean')\n throw new TypeError('Condition did not resolve to a boolean.');\n\n return conditionObj.negate ? !m : m;\n });\n}\n\nvar interpolationRegEx = /#\\{[^\\}]+\\}/;\nfunction interpolateConditional (key, parentKey, parentMetadata) {\n // first we normalize the conditional\n var conditionalMatch = key.match(interpolationRegEx);\n\n if (!conditionalMatch)\n return Promise.resolve(key);\n\n var conditionObj = parseCondition.call(this, conditionalMatch[0].substr(2, conditionalMatch[0].length - 3));\n\n // in builds, return normalized conditional\n /*if (this.builder)\n return this.normalize(conditionObj.module, parentKey, createMetadata(), parentMetadata)\n .then(function (conditionModule) {\n conditionObj.module = conditionModule;\n return key.replace(interpolationRegEx, '#{' + serializeCondition(conditionObj) + '}');\n });*/\n\n return resolveCondition.call(this, conditionObj, parentKey, false)\n .then(function (conditionValue) {\n if (typeof conditionValue !== 'string')\n throw new TypeError('The condition value for ' + key + ' doesn\\'t resolve to a string.');\n\n if (conditionValue.indexOf('/') !== -1)\n throw new TypeError('Unabled to interpolate conditional ' + key + (parentKey ? ' in ' + parentKey : '') + '\\n\\tThe condition value ' + conditionValue + ' cannot contain a \"/\" separator.');\n\n return key.replace(interpolationRegEx, conditionValue);\n });\n}\n","import { envModule, setProduction, configNames } from './systemjs-loader.js';\nimport { extend, prepend, warn, resolveIfNotPlain, baseURI, CONFIG } from './common.js';\nimport { coreResolve } from './resolve.js';\n\n/*\n Extend config merging one deep only\n\n loader.config({\n some: 'random',\n config: 'here',\n deep: {\n config: { too: 'too' }\n }\n });\n\n <=>\n\n loader.some = 'random';\n loader.config = 'here'\n loader.deep = loader.deep || {};\n loader.deep.config = { too: 'too' };\n\n\n Normalizes meta and package configs allowing for:\n\n SystemJS.config({\n meta: {\n './index.js': {}\n }\n });\n\n To become\n\n SystemJS.meta['https://thissite.com/index.js'] = {};\n\n For easy normalization canonicalization with latest URL support.\n\n*/\nvar envConfigNames = ['browserConfig', 'nodeConfig', 'devConfig', 'buildConfig', 'productionConfig'];\nfunction envSet(loader, cfg, envCallback) {\n for (var i = 0; i < envConfigNames.length; i++) {\n var envConfig = envConfigNames[i];\n if (cfg[envConfig] && envModule[envConfig.substr(0, envConfig.length - 6)])\n envCallback(cfg[envConfig]);\n }\n}\n\nfunction cloneObj (obj, maxDepth) {\n var clone = {};\n for (var p in obj) {\n var prop = obj[p];\n if (maxDepth > 1) {\n if (prop instanceof Array)\n clone[p] = [].concat(prop);\n else if (typeof prop === 'object')\n clone[p] = cloneObj(prop, maxDepth - 1);\n else if (p !== 'packageConfig')\n clone[p] = prop;\n }\n else {\n clone[p] = prop;\n }\n }\n return clone;\n}\n\nexport function getConfigItem (config, p) {\n var cfgItem = config[p];\n\n // getConfig must return an unmodifiable clone of the configuration\n if (cfgItem instanceof Array)\n return config[p].concat([]);\n else if (typeof cfgItem === 'object')\n return cloneObj(cfgItem, 3)\n else\n return config[p];\n}\n\nexport function getConfig (configName) {\n if (configName) {\n if (configNames.indexOf(configName) !== -1)\n return getConfigItem(this[CONFIG], configName);\n throw new Error('\"' + configName + '\" is not a valid configuration name. Must be one of ' + configNames.join(', ') + '.');\n }\n\n var cfg = {};\n for (var i = 0; i < configNames.length; i++) {\n var p = configNames[i];\n var configItem = getConfigItem(this[CONFIG], p);\n if (configItem !== undefined)\n cfg[p] = configItem;\n }\n return cfg;\n}\n\nexport function setConfig (cfg, isEnvConfig) {\n var loader = this;\n var config = this[CONFIG];\n\n if ('warnings' in cfg)\n config.warnings = cfg.warnings;\n\n if ('wasm' in cfg)\n config.wasm = typeof WebAssembly !== 'undefined' && cfg.wasm;\n\n if ('production' in cfg || 'build' in cfg)\n setProduction.call(loader, !!cfg.production, !!(cfg.build || envModule && envModule.build));\n\n if (!isEnvConfig) {\n // if using nodeConfig / browserConfig / productionConfig, take baseURL from there\n // these exceptions will be unnecessary when we can properly implement config queuings\n var baseURL;\n envSet(loader, cfg, function(cfg) {\n baseURL = baseURL || cfg.baseURL;\n });\n baseURL = baseURL || cfg.baseURL;\n\n // always configure baseURL first\n if (baseURL) {\n config.baseURL = resolveIfNotPlain(baseURL, baseURI) || resolveIfNotPlain('./' + baseURL, baseURI);\n if (config.baseURL[config.baseURL.length - 1] !== '/')\n config.baseURL += '/';\n }\n\n if (cfg.paths)\n extend(config.paths, cfg.paths);\n\n envSet(loader, cfg, function(cfg) {\n if (cfg.paths)\n extend(config.paths, cfg.paths);\n });\n\n for (var p in config.paths) {\n if (config.paths[p].indexOf('*') === -1)\n continue;\n warn.call(config, 'Path config ' + p + ' -> ' + config.paths[p] + ' is no longer supported as wildcards are deprecated.');\n delete config.paths[p];\n }\n }\n\n if (cfg.defaultJSExtensions)\n warn.call(config, 'The defaultJSExtensions configuration option is deprecated.\\n Use packages defaultExtension instead.', true);\n\n if (typeof cfg.pluginFirst === 'boolean')\n config.pluginFirst = cfg.pluginFirst;\n\n if (cfg.map) {\n for (var p in cfg.map) {\n var v = cfg.map[p];\n\n if (typeof v === 'string') {\n var mapped = coreResolve.call(loader, config, v, undefined, false, false);\n if (mapped[mapped.length -1] === '/' && p[p.length - 1] !== ':' && p[p.length - 1] !== '/')\n mapped = mapped.substr(0, mapped.length - 1);\n config.map[p] = mapped;\n }\n\n // object map\n else {\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\n pkgName = pkgName.substr(0, pkgName.length - 1);\n\n var pkg = config.packages[pkgName];\n if (!pkg) {\n pkg = config.packages[pkgName] = createPackage();\n // use '' instead of false to keep type consistent\n pkg.defaultExtension = '';\n }\n setPkgConfig(pkg, { map: v }, pkgName, false, config);\n }\n }\n }\n\n if (cfg.packageConfigPaths) {\n var packageConfigPaths = [];\n for (var i = 0; i < cfg.packageConfigPaths.length; i++) {\n var path = cfg.packageConfigPaths[i];\n var packageLength = Math.max(path.lastIndexOf('*') + 1, path.lastIndexOf('/'));\n var normalized = coreResolve.call(loader, config, path.substr(0, packageLength), undefined, false, false);\n packageConfigPaths[i] = normalized + path.substr(packageLength);\n }\n config.packageConfigPaths = packageConfigPaths;\n }\n\n if (cfg.bundles) {\n for (var p in cfg.bundles) {\n var bundle = [];\n for (var i = 0; i < cfg.bundles[p].length; i++)\n bundle.push(loader.normalizeSync(cfg.bundles[p][i]));\n config.bundles[p] = bundle;\n }\n }\n\n if (cfg.packages) {\n for (var p in cfg.packages) {\n if (p.match(/^([^\\/]+:)?\\/\\/$/))\n throw new TypeError('\"' + p + '\" is not a valid package name.');\n\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\n pkgName = pkgName.substr(0, pkgName.length - 1);\n\n setPkgConfig(config.packages[pkgName] = config.packages[pkgName] || createPackage(), cfg.packages[p], pkgName, false, config);\n }\n }\n\n if (cfg.depCache) {\n for (var p in cfg.depCache)\n config.depCache[loader.normalizeSync(p)] = [].concat(cfg.depCache[p]);\n }\n\n if (cfg.meta) {\n for (var p in cfg.meta) {\n // base wildcard stays base\n if (p[0] === '*') {\n extend(config.meta[p] = config.meta[p] || {}, cfg.meta[p]);\n }\n else {\n var resolved = coreResolve.call(loader, config, p, undefined, true, true);\n extend(config.meta[resolved] = config.meta[resolved] || {}, cfg.meta[p]);\n }\n }\n }\n\n if ('transpiler' in cfg)\n config.transpiler = cfg.transpiler;\n\n\n // copy any remaining non-standard configuration properties\n for (var c in cfg) {\n if (configNames.indexOf(c) !== -1)\n continue;\n if (envConfigNames.indexOf(c) !== -1)\n continue;\n\n // warn.call(config, 'Setting custom config option `System.config({ ' + c + ': ... })` is deprecated. Avoid custom config options or set SystemJS.' + c + ' = ... directly.');\n loader[c] = cfg[c];\n }\n\n envSet(loader, cfg, function(cfg) {\n loader.config(cfg, true);\n });\n}\n\nexport function createPackage () {\n return {\n defaultExtension: undefined,\n main: undefined,\n format: undefined,\n meta: undefined,\n map: undefined,\n packageConfig: undefined,\n configured: false\n };\n}\n\n// deeply-merge (to first level) config with any existing package config\nexport function setPkgConfig (pkg, cfg, pkgName, prependConfig, config) {\n for (var prop in cfg) {\n if (prop === 'main' || prop === 'format' || prop === 'defaultExtension' || prop === 'configured') {\n if (!prependConfig || pkg[prop] === undefined)\n pkg[prop] = cfg[prop];\n }\n else if (prop === 'map') {\n (prependConfig ? prepend : extend)(pkg.map = pkg.map || {}, cfg.map);\n }\n else if (prop === 'meta') {\n (prependConfig ? prepend : extend)(pkg.meta = pkg.meta || {}, cfg.meta);\n }\n else if (Object.hasOwnProperty.call(cfg, prop)) {\n warn.call(config, '\"' + prop + '\" is not a valid package configuration option in package ' + pkgName);\n }\n }\n\n // default defaultExtension for packages only\n if (pkg.defaultExtension === undefined)\n pkg.defaultExtension = 'js';\n\n if (pkg.main === undefined && pkg.map && pkg.map['.']) {\n pkg.main = pkg.map['.'];\n delete pkg.map['.'];\n }\n // main object becomes main map\n else if (typeof pkg.main === 'object') {\n pkg.map = pkg.map || {};\n pkg.map['./@main'] = pkg.main;\n pkg.main['default'] = pkg.main['default'] || './';\n pkg.main = '@main';\n }\n\n return pkg;\n}\n","import { isBrowser, global } from './common.js';\n\nvar hasBuffer = typeof Buffer !== 'undefined';\ntry {\n if (hasBuffer && new Buffer('a').toString('base64') !== 'YQ==')\n hasBuffer = false;\n}\ncatch (e) {\n hasBuffer = false;\n}\n\nvar sourceMapPrefix = '\\n//# sourceMapping' + 'URL=data:application/json;base64,';\nfunction inlineSourceMap (sourceMapString) {\n if (hasBuffer)\n return sourceMapPrefix + new Buffer(sourceMapString).toString('base64');\n else if (typeof btoa !== 'undefined')\n return sourceMapPrefix + btoa(unescape(encodeURIComponent(sourceMapString)));\n else\n return '';\n}\n\nfunction getSource(source, sourceMap, address, wrap) {\n var lastLineIndex = source.lastIndexOf('\\n');\n\n if (sourceMap) {\n if (typeof sourceMap != 'object')\n throw new TypeError('load.metadata.sourceMap must be set to an object.');\n\n sourceMap = JSON.stringify(sourceMap);\n }\n\n return (wrap ? '(function(System, SystemJS) {' : '') + source + (wrap ? '\\n})(System, System);' : '')\n // adds the sourceURL comment if not already present\n + (source.substr(lastLineIndex, 15) != '\\n//# sourceURL='\n ? '\\n//# sourceURL=' + address + (sourceMap ? '!transpiled' : '') : '')\n // add sourceMappingURL if load.metadata.sourceMap is set\n + (sourceMap && inlineSourceMap(sourceMap) || '');\n}\n\n// script execution via injecting a script tag into the page\n// this allows CSP nonce to be set for CSP environments\nvar head;\nfunction scriptExec(loader, source, sourceMap, address, nonce) {\n if (!head)\n head = document.head || document.body || document.documentElement;\n\n var script = document.createElement('script');\n script.text = getSource(source, sourceMap, address, false);\n var onerror = window.onerror;\n var e;\n window.onerror = function(_e) {\n e = addToError(_e, 'Evaluating ' + address);\n if (onerror)\n onerror.apply(this, arguments);\n }\n preExec(loader);\n\n if (nonce)\n script.setAttribute('nonce', nonce);\n\n head.appendChild(script);\n head.removeChild(script);\n postExec();\n window.onerror = onerror;\n if (e)\n return e;\n}\n\nvar vm;\nvar useVm;\n\nvar curSystem;\n\nvar callCounter = 0;\nfunction preExec (loader) {\n if (callCounter++ == 0)\n curSystem = global.System;\n global.System = global.SystemJS = loader;\n}\nfunction postExec () {\n if (--callCounter == 0)\n global.System = global.SystemJS = curSystem;\n}\n\nvar supportsScriptExec = false;\nif (isBrowser && typeof document != 'undefined' && document.getElementsByTagName) {\n if (!(window.chrome && window.chrome.extension || navigator.userAgent.match(/^Node\\.js/)))\n supportsScriptExec = true;\n}\n\nexport function evaluate (loader, source, sourceMap, address, integrity, nonce, noWrap) {\n if (!source)\n return;\n if (nonce && supportsScriptExec)\n return scriptExec(loader, source, sourceMap, address, nonce);\n try {\n preExec(loader);\n // global scoped eval for node (avoids require scope leak)\n if (!vm && loader._nodeRequire) {\n vm = loader._nodeRequire('vm');\n useVm = vm.runInThisContext(\"typeof System !== 'undefined' && System\") === loader;\n }\n if (useVm)\n vm.runInThisContext(getSource(source, sourceMap, address, !noWrap), { filename: address + (sourceMap ? '!transpiled' : '') });\n else\n (0, eval)(getSource(source, sourceMap, address, !noWrap));\n postExec();\n }\n catch (e) {\n postExec();\n return e;\n }\n}\n","\nimport { isWindows, global, readMemberExpression, cjsRequireRegEx, noop } from './common.js';\n\nexport default function (loader) {\n loader.set('@@cjs-helpers', loader.newModule({\n requireResolve: requireResolve.bind(loader),\n getPathVars: getPathVars\n }));\n\n loader.set('@@global-helpers', loader.newModule({\n prepareGlobal: prepareGlobal\n }));\n\n /*\n AMD-compatible require\n To copy RequireJS, set window.require = window.requirejs = loader.amdRequire\n */\n function require (names, callback, errback, referer) {\n // in amd, first arg can be a config object... we just ignore\n if (typeof names === 'object' && !(names instanceof Array))\n return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1));\n\n // amd require\n if (typeof names === 'string' && typeof callback === 'function')\n names = [names];\n if (names instanceof Array) {\n var dynamicRequires = [];\n for (var i = 0; i < names.length; i++)\n dynamicRequires.push(loader.import(names[i], referer));\n Promise.all(dynamicRequires).then(function (modules) {\n if (callback)\n callback.apply(null, modules);\n }, errback);\n }\n\n // commonjs require\n else if (typeof names === 'string') {\n var normalized = loader.decanonicalize(names, referer);\n var module = loader.get(normalized);\n if (!module)\n throw new Error('Module not already loaded loading \"' + names + '\" as ' + normalized + (referer ? ' from \"' + referer + '\".' : '.'));\n return '__useDefault' in module ? module.__useDefault : module;\n }\n\n else\n throw new TypeError('Invalid require');\n }\n\n function define (name, deps, factory) {\n if (typeof name !== 'string') {\n factory = deps;\n deps = name;\n name = null;\n }\n\n if (!(deps instanceof Array)) {\n factory = deps;\n deps = ['require', 'exports', 'module'].splice(0, factory.length);\n }\n\n if (typeof factory !== 'function')\n factory = (function (factory) {\n return function() { return factory; }\n })(factory);\n\n if (!name) {\n if (curMetaDeps) {\n deps = deps.concat(curMetaDeps);\n curMetaDeps = undefined;\n }\n }\n\n // remove system dependencies\n var requireIndex, exportsIndex, moduleIndex;\n\n if ((requireIndex = deps.indexOf('require')) !== -1) {\n\n deps.splice(requireIndex, 1);\n\n // only trace cjs requires for non-named\n // named defines assume the trace has already been done\n if (!name)\n deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex));\n }\n\n if ((exportsIndex = deps.indexOf('exports')) !== -1)\n deps.splice(exportsIndex, 1);\n\n if ((moduleIndex = deps.indexOf('module')) !== -1)\n deps.splice(moduleIndex, 1);\n\n function execute (req, exports, module) {\n var depValues = [];\n for (var i = 0; i < deps.length; i++)\n depValues.push(req(deps[i]));\n\n module.uri = module.id;\n\n module.config = noop;\n\n // add back in system dependencies\n if (moduleIndex !== -1)\n depValues.splice(moduleIndex, 0, module);\n\n if (exportsIndex !== -1)\n depValues.splice(exportsIndex, 0, exports);\n\n if (requireIndex !== -1) {\n var contextualRequire = function (names, callback, errback) {\n if (typeof names === 'string' && typeof callback !== 'function')\n return req(names);\n return require.call(loader, names, callback, errback, module.id);\n };\n contextualRequire.toUrl = function (name) {\n return loader.normalizeSync(name, module.id);\n };\n depValues.splice(requireIndex, 0, contextualRequire);\n }\n\n // set global require to AMD require\n var curRequire = global.require;\n global.require = require;\n\n var output = factory.apply(exportsIndex === -1 ? global : exports, depValues);\n\n global.require = curRequire;\n\n if (typeof output !== 'undefined')\n module.exports = output;\n }\n\n // anonymous define\n if (!name) {\n loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute);\n }\n else {\n loader.registerDynamic(name, deps, false, execute);\n\n // if we don't have any other defines,\n // then let this be an anonymous define\n // this is just to support single modules of the form:\n // define('jquery')\n // still loading anonymously\n // because it is done widely enough to be useful\n // as soon as there is more than one define, this gets removed though\n if (lastNamedDefine) {\n lastNamedDefine = undefined;\n multipleNamedDefines = true;\n }\n else if (!multipleNamedDefines) {\n lastNamedDefine = [deps, execute];\n }\n }\n }\n define.amd = {};\n\n loader.amdDefine = define;\n loader.amdRequire = require;\n}\n\n// CJS\nvar windowOrigin;\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location)\n windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');\n\nfunction stripOrigin(path) {\n if (path.substr(0, 8) === 'file:///')\n return path.substr(7 + !!isWindows);\n\n if (windowOrigin && path.substr(0, windowOrigin.length) === windowOrigin)\n return path.substr(windowOrigin.length);\n\n return path;\n}\n\nexport function requireResolve (request, parentId) {\n return stripOrigin(this.normalizeSync(request, parentId));\n}\n\nexport function getPathVars (moduleId) {\n // remove any plugin syntax\n var pluginIndex = moduleId.lastIndexOf('!');\n var filename;\n if (pluginIndex !== -1)\n filename = moduleId.substr(0, pluginIndex);\n else\n filename = moduleId;\n\n var dirname = filename.split('/');\n dirname.pop();\n dirname = dirname.join('/');\n\n return {\n filename: stripOrigin(filename),\n dirname: stripOrigin(dirname)\n };\n}\n\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\n\n// used to support leading #!/usr/bin/env in scripts as supported in Node\nvar hashBangRegEx = /^\\#\\!.*/;\n\n// extract CJS dependencies from source text via regex static analysis\n// read require('x') statements not in comments or strings\nexport function getCJSDeps (source) {\n cjsRequireRegEx.lastIndex = commentRegEx.lastIndex = stringRegEx.lastIndex = 0;\n\n var deps = [];\n\n var match;\n\n // track string and comment locations for unminified source\n var stringLocations = [], commentLocations = [];\n\n function inLocation (locations, match) {\n for (var i = 0; i < locations.length; i++)\n if (locations[i][0] < match.index && locations[i][1] > match.index)\n return true;\n return false;\n }\n\n if (source.length / source.split('\\n').length < 200) {\n while (match = stringRegEx.exec(source))\n stringLocations.push([match.index, match.index + match[0].length]);\n\n // TODO: track template literals here before comments\n\n while (match = commentRegEx.exec(source)) {\n // only track comments not starting in strings\n if (!inLocation(stringLocations, match))\n commentLocations.push([match.index + match[1].length, match.index + match[0].length - 1]);\n }\n }\n\n while (match = cjsRequireRegEx.exec(source)) {\n // ensure we're not within a string or comment location\n if (!inLocation(stringLocations, match) && !inLocation(commentLocations, match)) {\n var dep = match[1].substr(1, match[1].length - 2);\n // skip cases like require('\" + file + \"')\n if (dep.match(/\"|'/))\n continue;\n deps.push(dep);\n }\n }\n\n return deps;\n}\n\n// Global\n// bare minimum ignores\nvar ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external',\n 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX'];\n\nvar globalSnapshot;\nfunction globalIterator (globalName) {\n if (ignoredGlobalProps.indexOf(globalName) !== -1)\n return;\n try {\n var value = global[globalName];\n }\n catch (e) {\n ignoredGlobalProps.push(globalName);\n }\n this(globalName, value);\n}\n\nexport function getGlobalValue (exports) {\n if (typeof exports === 'string')\n return readMemberExpression(exports, global);\n\n if (!(exports instanceof Array))\n throw new Error('Global exports must be a string or array.');\n\n var globalValue = {};\n for (var i = 0; i < exports.length; i++)\n globalValue[exports[i].split('.').pop()] = readMemberExpression(exports[i], global);\n return globalValue;\n}\n\nexport function prepareGlobal (moduleName, exports, globals, encapsulate) {\n // disable module detection\n var curDefine = global.define;\n\n global.define = undefined;\n\n // set globals\n var oldGlobals;\n if (globals) {\n oldGlobals = {};\n for (var g in globals) {\n oldGlobals[g] = global[g];\n global[g] = globals[g];\n }\n }\n\n // store a complete copy of the global object in order to detect changes\n if (!exports) {\n globalSnapshot = {};\n\n Object.keys(global).forEach(globalIterator, function (name, value) {\n globalSnapshot[name] = value;\n });\n }\n\n // return function to retrieve global\n return function () {\n var globalValue = exports ? getGlobalValue(exports) : {};\n\n var singleGlobal;\n var multipleExports = !!exports;\n\n if (!exports || encapsulate)\n Object.keys(global).forEach(globalIterator, function (name, value) {\n if (globalSnapshot[name] === value)\n return;\n if (value === undefined)\n return;\n\n // allow global encapsulation where globals are removed\n if (encapsulate)\n global[name] = undefined;\n\n if (!exports) {\n globalValue[name] = value;\n\n if (singleGlobal !== undefined) {\n if (!multipleExports && singleGlobal !== value)\n multipleExports = true;\n }\n else {\n singleGlobal = value;\n }\n }\n });\n\n globalValue = multipleExports ? globalValue : singleGlobal;\n\n // revert globals\n if (oldGlobals) {\n for (var g in oldGlobals)\n global[g] = oldGlobals[g];\n }\n global.define = curDefine;\n\n return globalValue;\n };\n}\n\n// AMD\nvar cjsRequirePre = \"(?:^|[^$_a-zA-Z\\\\xA0-\\\\uFFFF.])\";\nvar cjsRequirePost = \"\\\\s*\\\\(\\\\s*(\\\"([^\\\"]+)\\\"|'([^']+)')\\\\s*\\\\)\";\nvar fnBracketRegEx = /\\(([^\\)]*)\\)/;\nvar wsRegEx = /^\\s+|\\s+$/g;\n\nvar requireRegExs = {};\n\nfunction amdGetCJSDeps(source, requireIndex) {\n\n // remove comments\n source = source.replace(commentRegEx, '');\n\n // determine the require alias\n var params = source.match(fnBracketRegEx);\n var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, '');\n\n // find or generate the regex for this requireAlias\n var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g'));\n\n requireRegEx.lastIndex = 0;\n\n var deps = [];\n\n var match;\n while (match = requireRegEx.exec(source))\n deps.push(match[2] || match[3]);\n\n return deps;\n}\n\nfunction wrapEsModuleExecute (execute) {\n return function (require, exports, module) {\n execute(require, exports, module);\n exports = module.exports;\n if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports))\n Object.defineProperty(module.exports, '__esModule', {\n value: true\n });\n };\n}\n\n// generate anonymous define from singular named define\nvar multipleNamedDefines = false;\nvar lastNamedDefine;\nvar curMetaDeps;\nvar curEsModule = false;\nexport function clearLastDefine (metaDeps, esModule) {\n curMetaDeps = metaDeps;\n curEsModule = esModule;\n lastNamedDefine = undefined;\n multipleNamedDefines = false;\n}\nexport function registerLastDefine (loader) {\n if (lastNamedDefine)\n loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0],\n false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]);\n\n // bundles are an empty module\n else if (multipleNamedDefines)\n loader.registerDynamic([], false, noop);\n}\n","import { scriptLoad, isBrowser, isWorker, global, cjsRequireRegEx, addToError, loadNodeModule,\n warn, CONFIG, METADATA, emptyModule, protectedCreateNamespace, resolvedPromise, preloadScript, checkInstantiateWasm } from './common.js';\nimport { evaluate } from './evaluate.js';\nimport fetch from './fetch.js';\nimport { getGlobalValue, getCJSDeps, requireResolve, getPathVars, prepareGlobal, clearLastDefine, registerLastDefine } from './format-helpers.js';\n\nvar supportsScriptLoad = (isBrowser || isWorker) && typeof navigator !== 'undefined' && navigator.userAgent && !navigator.userAgent.match(/MSIE (9|10).0/);\n\n// include the node require since we're overriding it\nexport var nodeRequire;\nif (typeof require !== 'undefined' && typeof process !== 'undefined' && !process.browser)\n nodeRequire = require;\n\nfunction setMetaEsModule (metadata, moduleValue) {\n if (metadata.load.esModule && (typeof moduleValue === 'object' || typeof moduleValue === 'function') &&\n !('__esModule' in moduleValue))\n Object.defineProperty(moduleValue, '__esModule', {\n value: true\n });\n}\n\nexport function instantiate (key, processAnonRegister) {\n var loader = this;\n var config = this[CONFIG];\n // first do bundles and depCache\n return (loadBundlesAndDepCache(config, this, key) || resolvedPromise)\n .then(function () {\n if (processAnonRegister())\n return;\n\n var metadata = loader[METADATA][key];\n\n // node module loading\n if (key.substr(0, 6) === '@node/') {\n if (!loader._nodeRequire)\n throw new TypeError('Error loading ' + key + '. Can only load node core modules in Node.');\n loader.registerDynamic([], false, function () {\n return loadNodeModule.call(loader, key.substr(6), loader.baseURL);\n });\n processAnonRegister();\n return;\n }\n\n if (metadata.load.scriptLoad ) {\n if (metadata.load.pluginKey || !supportsScriptLoad) {\n metadata.load.scriptLoad = false;\n warn.call(config, 'scriptLoad not supported for \"' + key + '\"');\n }\n }\n else if (metadata.load.scriptLoad !== false && !metadata.load.pluginKey && supportsScriptLoad) {\n // auto script load AMD, global without deps\n if (!metadata.load.deps && !metadata.load.globals &&\n (metadata.load.format === 'system' || metadata.load.format === 'register' || metadata.load.format === 'global' && metadata.load.exports))\n metadata.load.scriptLoad = true;\n }\n\n // fetch / translate / instantiate pipeline\n if (!metadata.load.scriptLoad)\n return initializePlugin(loader, key, metadata)\n .then(function () {\n return runFetchPipeline(loader, key, metadata, processAnonRegister, config.wasm);\n })\n\n // just script loading\n return new Promise(function (resolve, reject) {\n if (metadata.load.format === 'amd' && global.define !== loader.amdDefine)\n throw new Error('Loading AMD with scriptLoad requires setting the global `' + globalName + '.define = SystemJS.amdDefine`');\n\n scriptLoad(key, metadata.load.crossOrigin, metadata.load.integrity, function () {\n if (!processAnonRegister()) {\n metadata.load.format = 'global';\n var globalValue = metadata.load.exports && getGlobalValue(metadata.load.exports);\n loader.registerDynamic([], false, function () {\n setMetaEsModule(metadata, globalValue);\n return globalValue;\n });\n processAnonRegister();\n }\n\n resolve();\n }, reject);\n });\n })\n .then(function (instantiated) {\n delete loader[METADATA][key];\n return instantiated;\n });\n};\n\nfunction initializePlugin (loader, key, metadata) {\n if (!metadata.pluginKey)\n return resolvedPromise;\n\n return loader.import(metadata.pluginKey).then(function (plugin) {\n metadata.pluginModule = plugin;\n metadata.pluginLoad = {\n name: key,\n address: metadata.pluginArgument,\n source: undefined,\n metadata: metadata.load\n };\n metadata.load.deps = metadata.load.deps || [];\n });\n}\n\nfunction loadBundlesAndDepCache (config, loader, key) {\n // load direct deps, in turn will pick up their trace trees\n var deps = config.depCache[key];\n if (deps) {\n for (var i = 0; i < deps.length; i++)\n loader.normalize(deps[i], key).then(preloadScript);\n }\n else {\n var matched = false;\n for (var b in config.bundles) {\n for (var i = 0; i < config.bundles[b].length; i++) {\n var curModule = config.bundles[b][i];\n\n if (curModule === key) {\n matched = true;\n break;\n }\n\n // wildcard in bundles includes / boundaries\n if (curModule.indexOf('*') !== -1) {\n var parts = curModule.split('*');\n if (parts.length !== 2) {\n config.bundles[b].splice(i--, 1);\n continue;\n }\n\n if (key.substr(0, parts[0].length) === parts[0] &&\n key.substr(key.length - parts[1].length, parts[1].length) === parts[1]) {\n matched = true;\n break;\n }\n }\n }\n\n if (matched)\n return loader.import(b);\n }\n }\n}\n\nfunction runFetchPipeline (loader, key, metadata, processAnonRegister, wasm) {\n if (metadata.load.exports && !metadata.load.format)\n metadata.load.format = 'global';\n\n return resolvedPromise\n\n // locate\n .then(function () {\n if (!metadata.pluginModule || !metadata.pluginModule.locate)\n return;\n\n return Promise.resolve(metadata.pluginModule.locate.call(loader, metadata.pluginLoad))\n .then(function (address) {\n if (address)\n metadata.pluginLoad.address = address;\n });\n })\n\n // fetch\n .then(function () {\n if (!metadata.pluginModule)\n return fetch(key, metadata.load.authorization, metadata.load.integrity, wasm);\n\n wasm = false;\n\n if (!metadata.pluginModule.fetch)\n return fetch(metadata.pluginLoad.address, metadata.load.authorization, metadata.load.integrity, false);\n\n return metadata.pluginModule.fetch.call(loader, metadata.pluginLoad, function (load) {\n return fetch(load.address, metadata.load.authorization, metadata.load.integrity, false);\n });\n })\n\n .then(function (fetched) {\n // fetch is already a utf-8 string if not doing wasm detection\n if (!wasm || typeof fetched === 'string')\n return translateAndInstantiate(loader, key, fetched, metadata, processAnonRegister);\n\n return checkInstantiateWasm(loader, fetched, processAnonRegister)\n .then(function (wasmInstantiated) {\n if (wasmInstantiated)\n return;\n\n // not wasm -> convert buffer into utf-8 string to execute as a module\n // TextDecoder compatibility matches WASM currently. Need to keep checking this.\n // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder\n var stringSource = isBrowser ? new TextDecoder('utf-8').decode(new Uint8Array(fetched)) : fetched.toString();\n return translateAndInstantiate(loader, key, stringSource, metadata, processAnonRegister);\n });\n });\n}\n\nfunction translateAndInstantiate (loader, key, source, metadata, processAnonRegister) {\n return Promise.resolve(source)\n // translate\n .then(function (source) {\n if (metadata.load.format === 'detect')\n metadata.load.format = undefined;\n\n readMetaSyntax(source, metadata);\n\n if (!metadata.pluginModule)\n return source;\n\n metadata.pluginLoad.source = source;\n\n if (!metadata.pluginModule.translate)\n return source;\n\n return Promise.resolve(metadata.pluginModule.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\n .then(function (translated) {\n if (metadata.load.sourceMap) {\n if (typeof metadata.load.sourceMap !== 'object')\n throw new Error('metadata.load.sourceMap must be set to an object.');\n sanitizeSourceMap(metadata.pluginLoad.address, metadata.load.sourceMap);\n }\n\n if (typeof translated === 'string')\n return translated;\n else\n return metadata.pluginLoad.source;\n });\n })\n .then(function (source) {\n if (!metadata.load.format && source.substring(0, 8) === '\"bundle\"') {\n metadata.load.format = 'system';\n return source;\n }\n\n if (metadata.load.format === 'register' || !metadata.load.format && detectRegisterFormat(source)) {\n metadata.load.format = 'register';\n return source;\n }\n\n if (metadata.load.format !== 'esm' && (metadata.load.format || !source.match(esmRegEx))) {\n return source;\n }\n\n metadata.load.format = 'esm';\n return transpile(loader, source, key, metadata, processAnonRegister);\n })\n\n // instantiate\n .then(function (translated) {\n if (typeof translated !== 'string' || !metadata.pluginModule || !metadata.pluginModule.instantiate)\n return translated;\n\n var calledInstantiate = false;\n metadata.pluginLoad.source = translated;\n return Promise.resolve(metadata.pluginModule.instantiate.call(loader, metadata.pluginLoad, function (load) {\n translated = load.source;\n metadata.load = load.metadata;\n if (calledInstantiate)\n throw new Error('Instantiate must only be called once.');\n calledInstantiate = true;\n }))\n .then(function (result) {\n if (calledInstantiate)\n return translated;\n return protectedCreateNamespace(result);\n });\n })\n .then(function (source) {\n // plugin instantiate result case\n if (typeof source !== 'string')\n return source;\n\n if (!metadata.load.format)\n metadata.load.format = detectLegacyFormat(source);\n\n var registered = false;\n\n switch (metadata.load.format) {\n case 'esm':\n case 'register':\n case 'system':\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\n if (err)\n throw err;\n if (!processAnonRegister())\n return emptyModule;\n return;\n break;\n\n case 'json':\n // warn.call(config, '\"json\" module format is deprecated.');\n var parsed = JSON.parse(source);\n return loader.newModule({ default: parsed, __useDefault: parsed });\n\n case 'amd':\n var curDefine = global.define;\n global.define = loader.amdDefine;\n\n clearLastDefine(metadata.load.deps, metadata.load.esModule);\n\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\n\n // if didn't register anonymously, use the last named define if only one\n registered = processAnonRegister();\n if (!registered) {\n registerLastDefine(loader);\n registered = processAnonRegister();\n }\n\n global.define = curDefine;\n\n if (err)\n throw err;\n break;\n\n case 'cjs':\n var metaDeps = metadata.load.deps;\n var deps = (metadata.load.deps || []).concat(metadata.load.cjsRequireDetection ? getCJSDeps(source) : []);\n\n for (var g in metadata.load.globals)\n if (metadata.load.globals[g])\n deps.push(metadata.load.globals[g]);\n\n loader.registerDynamic(deps, true, function (require, exports, module) {\n require.resolve = function (key) {\n return requireResolve.call(loader, key, module.id);\n };\n // support module.paths ish\n module.paths = [];\n module.require = require;\n\n // ensure meta deps execute first\n if (!metadata.load.cjsDeferDepsExecute && metaDeps)\n for (var i = 0; i < metaDeps.length; i++)\n require(metaDeps[i]);\n\n var pathVars = getPathVars(module.id);\n var __cjsWrapper = {\n exports: exports,\n args: [require, exports, module, pathVars.filename, pathVars.dirname, global, global]\n };\n\n var cjsWrapper = \"(function (require, exports, module, __filename, __dirname, global, GLOBAL\";\n\n // add metadata.globals to the wrapper arguments\n if (metadata.load.globals)\n for (var g in metadata.load.globals) {\n __cjsWrapper.args.push(require(metadata.load.globals[g]));\n cjsWrapper += \", \" + g;\n }\n\n // disable AMD detection\n var define = global.define;\n global.define = undefined;\n global.__cjsWrapper = __cjsWrapper;\n\n source = cjsWrapper + \") {\" + source.replace(hashBangRegEx, '') + \"\\n}).apply(__cjsWrapper.exports, __cjsWrapper.args);\";\n\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\n if (err)\n throw err;\n\n setMetaEsModule(metadata, exports);\n\n global.__cjsWrapper = undefined;\n global.define = define;\n });\n registered = processAnonRegister();\n break;\n\n case 'global':\n var deps = metadata.load.deps || [];\n for (var g in metadata.load.globals) {\n var gl = metadata.load.globals[g];\n if (gl)\n deps.push(gl);\n }\n\n loader.registerDynamic(deps, false, function (require, exports, module) {\n var globals;\n if (metadata.load.globals) {\n globals = {};\n for (var g in metadata.load.globals)\n if (metadata.load.globals[g])\n globals[g] = require(metadata.load.globals[g]);\n }\n\n var exportName = metadata.load.exports;\n\n if (exportName)\n source += '\\n' + globalName + '[\"' + exportName + '\"] = ' + exportName + ';';\n\n var retrieveGlobal = prepareGlobal(module.id, exportName, globals, metadata.load.encapsulateGlobal);\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, true);\n\n if (err)\n throw err;\n\n var output = retrieveGlobal();\n setMetaEsModule(metadata, output);\n return output;\n });\n registered = processAnonRegister();\n break;\n\n default:\n throw new TypeError('Unknown module format \"' + metadata.load.format + '\" for \"' + key + '\".' + (metadata.load.format === 'es6' ? ' Use \"esm\" instead here.' : ''));\n }\n\n if (!registered)\n throw new Error('Module ' + key + ' detected as ' + metadata.load.format + ' but didn\\'t execute correctly.');\n });\n}\n\nvar globalName = typeof self != 'undefined' ? 'self' : 'global';\n\n// good enough ES6 module detection regex - format detections not designed to be accurate, but to handle the 99% use case\nexport var esmRegEx = /(^\\s*|[}\\);\\n]\\s*)(import\\s*(['\"]|(\\*\\s+as\\s+)?(?!type)([^\"'\\(\\)\\n; ]+)\\s*from\\s*['\"]|\\{)|export\\s+\\*\\s+from\\s+[\"']|export\\s*(\\{|default|function|class|var|const|let|async\\s+function))/;\n\nvar leadingCommentAndMetaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)*\\s*/;\nexport function detectRegisterFormat(source) {\n var leadingCommentAndMeta = source.match(leadingCommentAndMetaRegEx);\n return leadingCommentAndMeta && source.substr(leadingCommentAndMeta[0].length, 15) === 'System.register';\n}\n\n// AMD Module Format Detection RegEx\n// define([.., .., ..], ...)\n// define(varName); || define(function(require, exports) {}); || define({})\nvar amdRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])define\\s*\\(\\s*(\"[^\"]+\"\\s*,\\s*|'[^']+'\\s*,\\s*)?\\s*(\\[(\\s*((\"[^\"]+\"|'[^']+')\\s*,|\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*(\\s*(\"[^\"]+\"|'[^']+')\\s*,?)?(\\s*(\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*\\s*\\]|function\\s*|{|[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*\\))/;\n\n/// require('...') || exports[''] = ... || exports.asd = ... || module.exports = ...\nvar cjsExportsRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])(exports\\s*(\\[['\"]|\\.)|module(\\.exports|\\['exports'\\]|\\[\"exports\"\\])\\s*(\\[['\"]|[=,\\.]))/;\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\n\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\n\n// used to support leading #!/usr/bin/env in scripts as supported in Node\nvar hashBangRegEx = /^\\#\\!.*/;\n\nexport function detectLegacyFormat (source) {\n if (source.match(amdRegEx))\n return 'amd';\n\n cjsExportsRegEx.lastIndex = 0;\n cjsRequireRegEx.lastIndex = 0;\n if (cjsRequireRegEx.exec(source) || cjsExportsRegEx.exec(source))\n return 'cjs';\n\n // global is the fallback format\n return 'global';\n}\n\nfunction sanitizeSourceMap (address, sourceMap) {\n var originalName = address.split('!')[0];\n\n // force set the filename of the original file\n if (!sourceMap.file || sourceMap.file == address)\n sourceMap.file = originalName + '!transpiled';\n\n // force set the sources list if only one source\n if (!sourceMap.sources || sourceMap.sources.length <= 1 && (!sourceMap.sources[0] || sourceMap.sources[0] === address))\n sourceMap.sources = [originalName];\n}\n\nfunction transpile (loader, source, key, metadata, processAnonRegister) {\n if (!loader.transpiler)\n throw new TypeError('Unable to dynamically transpile ES module\\n A loader plugin needs to be configured via `SystemJS.config({ transpiler: \\'transpiler-module\\' })`.');\n\n // deps support for es transpile\n if (metadata.load.deps) {\n var depsPrefix = '';\n for (var i = 0; i < metadata.load.deps.length; i++)\n depsPrefix += 'import \"' + metadata.load.deps[i] + '\"; ';\n source = depsPrefix + source;\n }\n\n // do transpilation\n return loader.import.call(loader, loader.transpiler)\n .then(function (transpiler) {\n transpiler = transpiler.__useDefault || transpiler;\n\n // translate hooks means this is a transpiler plugin instead of a raw implementation\n if (!transpiler.translate)\n throw new Error(loader.transpiler + ' is not a valid transpiler plugin.');\n\n // if transpiler is the same as the plugin loader, then don't run twice\n if (transpiler === metadata.pluginModule)\n return source;\n\n // convert the source map into an object for transpilation chaining\n if (typeof metadata.load.sourceMap === 'string')\n metadata.load.sourceMap = JSON.parse(metadata.load.sourceMap);\n\n metadata.pluginLoad = metadata.pluginLoad || {\n name: key,\n address: key,\n source: source,\n metadata: metadata.load\n };\n metadata.load.deps = metadata.load.deps || [];\n\n return Promise.resolve(transpiler.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\n .then(function (source) {\n // sanitize sourceMap if an object not a JSON string\n var sourceMap = metadata.load.sourceMap;\n if (sourceMap && typeof sourceMap === 'object')\n sanitizeSourceMap(key, sourceMap);\n\n if (metadata.load.format === 'esm' && detectRegisterFormat(source))\n metadata.load.format = 'register';\n\n return source;\n });\n }, function (err) {\n throw addToError(err, 'Unable to load transpiler to transpile ' + key);\n });\n}\n\n// detect any meta header syntax\n// only set if not already set\nvar metaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)+/;\nvar metaPartRegEx = /\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\/\\/[^\\n]*|\"[^\"]+\"\\s*;?|'[^']+'\\s*;?/g;\n\nfunction setMetaProperty(target, p, value) {\n var pParts = p.split('.');\n var curPart;\n while (pParts.length > 1) {\n curPart = pParts.shift();\n target = target[curPart] = target[curPart] || {};\n }\n curPart = pParts.shift();\n if (target[curPart] === undefined)\n target[curPart] = value;\n}\n\nfunction readMetaSyntax (source, metadata) {\n var meta = source.match(metaRegEx);\n if (!meta)\n return;\n\n var metaParts = meta[0].match(metaPartRegEx);\n\n for (var i = 0; i < metaParts.length; i++) {\n var curPart = metaParts[i];\n var len = curPart.length;\n\n var firstChar = curPart.substr(0, 1);\n if (curPart.substr(len - 1, 1) == ';')\n len--;\n\n if (firstChar != '\"' && firstChar != \"'\")\n continue;\n\n var metaString = curPart.substr(1, curPart.length - 3);\n var metaName = metaString.substr(0, metaString.indexOf(' '));\n\n if (metaName) {\n var metaValue = metaString.substr(metaName.length + 1, metaString.length - metaName.length - 1);\n\n if (metaName === 'deps')\n metaName = 'deps[]';\n\n if (metaName.substr(metaName.length - 2, 2) === '[]') {\n metaName = metaName.substr(0, metaName.length - 2);\n metadata.load[metaName] = metadata.load[metaName] || [];\n metadata.load[metaName].push(metaValue);\n }\n // \"use strict\" is not meta\n else if (metaName !== 'use') {\n setMetaProperty(metadata.load, metaName, metaValue);\n }\n }\n else {\n metadata.load[metaString] = true;\n }\n }\n}\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\nimport { warn, isBrowser, global, baseURI, CONFIG, METADATA, ModuleNamespace, emptyModule, isModule } from './common.js';\n\nimport { getConfig, getConfigItem, setConfig } from './config.js';\nimport { decanonicalize, normalize, normalizeSync } from './resolve.js';\nimport { instantiate, nodeRequire } from './instantiate.js';\nimport formatHelpers from './format-helpers.js';\n\nexport default SystemJSLoader;\n\nvar scriptSrc;\n\n// Promise detection and error message\nif (typeof Promise === 'undefined')\n throw new Error('SystemJS needs a Promise polyfill.');\n\nif (typeof document !== 'undefined') {\n var scripts = document.getElementsByTagName('script');\n var curScript = scripts[scripts.length - 1];\n if (document.currentScript && (curScript.defer || curScript.async))\n curScript = document.currentScript;\n\n scriptSrc = curScript && curScript.src;\n}\n// worker\nelse if (typeof importScripts !== 'undefined') {\n try {\n throw new Error('_');\n }\n catch (e) {\n e.stack.replace(/(?:at|@).*(http.+):[\\d]+:[\\d]+/, function(m, url) {\n scriptSrc = url;\n });\n }\n}\n// node\nelse if (typeof __filename !== 'undefined') {\n scriptSrc = __filename;\n}\n\nfunction SystemJSLoader () {\n RegisterLoader.call(this);\n\n // NB deprecate\n this._loader = {};\n\n // internal metadata store\n this[METADATA] = {};\n\n // internal configuration\n this[CONFIG] = {\n baseURL: baseURI,\n paths: {},\n\n packageConfigPaths: [],\n packageConfigKeys: [],\n map: {},\n packages: {},\n depCache: {},\n meta: {},\n bundles: {},\n\n production: false,\n\n transpiler: undefined,\n loadedBundles: {},\n\n // global behaviour flags\n warnings: false,\n pluginFirst: false,\n\n // enable wasm loading and detection when supported\n wasm: false\n };\n\n // make the location of the system.js script accessible (if any)\n this.scriptSrc = scriptSrc;\n\n this._nodeRequire = nodeRequire;\n\n // support the empty module, as a concept\n this.registry.set('@empty', emptyModule);\n\n setProduction.call(this, false, false);\n\n // add module format helpers\n formatHelpers(this);\n}\n\nexport var envModule;\nexport function setProduction (isProduction, isBuilder) {\n this[CONFIG].production = isProduction;\n this.registry.set('@system-env', envModule = this.newModule({\n browser: isBrowser,\n node: !!this._nodeRequire,\n production: !isBuilder && isProduction,\n dev: isBuilder || !isProduction,\n build: isBuilder,\n 'default': true\n }));\n}\n\nSystemJSLoader.prototype = Object.create(RegisterLoader.prototype);\n\nSystemJSLoader.prototype.constructor = SystemJSLoader;\n\n// NB deprecate normalize\nSystemJSLoader.prototype[SystemJSLoader.resolve = RegisterLoader.resolve] = SystemJSLoader.prototype.normalize = normalize;\n\nSystemJSLoader.prototype.load = function (key, parentKey) {\n warn.call(this[CONFIG], 'System.load is deprecated.');\n return this.import(key, parentKey);\n};\n\n// NB deprecate decanonicalize, normalizeSync\nSystemJSLoader.prototype.decanonicalize = SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.resolveSync = normalizeSync;\n\nSystemJSLoader.prototype[SystemJSLoader.instantiate = RegisterLoader.instantiate] = instantiate;\n\nSystemJSLoader.prototype.config = setConfig;\nSystemJSLoader.prototype.getConfig = getConfig;\n\nSystemJSLoader.prototype.global = global;\n\nSystemJSLoader.prototype.import = function () {\n return RegisterLoader.prototype.import.apply(this, arguments)\n .then(function (m) {\n return '__useDefault' in m ? m.__useDefault : m;\n });\n};\n\nexport var configNames = ['baseURL', 'map', 'paths', 'packages', 'packageConfigPaths', 'depCache', 'meta', 'bundles', 'transpiler', 'warnings', 'pluginFirst', 'production', 'wasm'];\n\nvar hasProxy = typeof Proxy !== 'undefined';\nfor (var i = 0; i < configNames.length; i++) (function (configName) {\n Object.defineProperty(SystemJSLoader.prototype, configName, {\n get: function () {\n var cfg = getConfigItem(this[CONFIG], configName);\n\n if (hasProxy && typeof cfg === 'object')\n cfg = new Proxy(cfg, {\n set: function (target, option) {\n throw new Error('Cannot set SystemJS.' + configName + '[\"' + option + '\"] directly. Use SystemJS.config({ ' + configName + ': { \"' + option + '\": ... } }) rather.');\n }\n });\n\n //if (typeof cfg === 'object')\n // warn.call(this[CONFIG], 'Referencing `SystemJS.' + configName + '` is deprecated. Use the config getter `SystemJS.getConfig(\\'' + configName + '\\')`');\n return cfg;\n },\n set: function (name) {\n throw new Error('Setting `SystemJS.' + configName + '` directly is no longer supported. Use `SystemJS.config({ ' + configName + ': ... })`.');\n }\n });\n})(configNames[i]);\n\n/*\n * Backwards-compatible registry API, to be deprecated\n */\nfunction registryWarn(loader, method) {\n warn.call(loader[CONFIG], 'SystemJS.' + method + ' is deprecated for SystemJS.registry.' + method);\n}\nSystemJSLoader.prototype.delete = function (key) {\n registryWarn(this, 'delete');\n return this.registry.delete(key);\n};\nSystemJSLoader.prototype.get = function (key) {\n registryWarn(this, 'get');\n return this.registry.get(key);\n};\nSystemJSLoader.prototype.has = function (key) {\n registryWarn(this, 'has');\n return this.registry.has(key);\n};\nSystemJSLoader.prototype.set = function (key, module) {\n registryWarn(this, 'set');\n return this.registry.set(key, module);\n};\nSystemJSLoader.prototype.newModule = function (bindings) {\n return new ModuleNamespace(bindings);\n};\nSystemJSLoader.prototype.isModule = isModule;\n\n// ensure System.register and System.registerDynamic decanonicalize\nSystemJSLoader.prototype.register = function (key, deps, declare) {\n if (typeof key === 'string')\n key = decanonicalize.call(this, this[CONFIG], key);\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\n};\n\nSystemJSLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n if (typeof key === 'string')\n key = decanonicalize.call(this, this[CONFIG], key);\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\n};\n","import { global, isBrowser, isWorker } from './common.js';\nimport SystemJSLoader from './systemjs-loader.js';\n\nSystemJSLoader.prototype.version = VERSION;\n\nvar System = new SystemJSLoader();\n\n// only set the global System on the global in browsers\nif (isBrowser || isWorker)\n global.SystemJS = global.System = System;\n\nif (typeof module !== 'undefined' && module.exports)\n module.exports = System;\n"],"names":["resolvedPromise","addToError","RegisterLoader","global","commentRegEx","stringRegEx","instantiate","fetch","SystemJSLoader"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"system.js.map","sources":["../node_modules/es-module-loader/core/common.js","../node_modules/es-module-loader/core/resolve.js","../node_modules/es-module-loader/core/loader-polyfill.js","../node_modules/es-module-loader/core/register-loader.js","../src/common.js","../src/fetch.js","../src/resolve.js","../src/config.js","../src/evaluate.js","../src/format-helpers.js","../src/instantiate.js","../src/systemjs-loader.js","../src/system.js"],"sourcesContent":["/*\n * Environment\n */\nexport var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nexport var isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nexport var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/);\n\nvar envGlobal = typeof self !== 'undefined' ? self : global;\nexport { envGlobal as global }\n\n/*\n * Simple Symbol() shim\n */\nvar hasSymbol = typeof Symbol !== 'undefined';\nexport function createSymbol (name) {\n return hasSymbol ? Symbol() : '@@' + name;\n}\n\nexport function pathToFileUrl (filePath) {\n return 'file://' + (isWindows ? '/' : '') + (isWindows ? filePath.replace(/\\\\/g, '/') : filePath);\n}\n\nexport function fileUrlToPath (fileUrl) {\n if (fileUrl.substr(0, 7) !== 'file://')\n throw new RangeError(fileUrl + ' is not a valid file url');\n if (isWindows)\n return fileUrl.substr(8).replace(/\\\\/g, '/');\n else\n return fileUrl.substr(7);\n}\n\n/*\n * Environment baseURI\n */\nexport var baseURI;\n\n// environent baseURI detection\nif (typeof document != 'undefined' && document.getElementsByTagName) {\n baseURI = document.baseURI;\n\n if (!baseURI) {\n var bases = document.getElementsByTagName('base');\n baseURI = bases[0] && bases[0].href || window.location.href;\n }\n}\nelse if (typeof location != 'undefined') {\n baseURI = location.href;\n}\n\n// sanitize out the hash and querystring\nif (baseURI) {\n baseURI = baseURI.split('#')[0].split('?')[0];\n var slashIndex = baseURI.lastIndexOf('/');\n if (slashIndex !== -1)\n baseURI = baseURI.substr(0, slashIndex + 1);\n}\nelse if (typeof process !== 'undefined' && process.cwd) {\n baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd();\n if (isWindows)\n baseURI = baseURI.replace(/\\\\/g, '/');\n}\nelse {\n throw new TypeError('No environment baseURI');\n}\n\n// ensure baseURI has trailing \"/\"\nif (baseURI[baseURI.length - 1] !== '/')\n baseURI += '/';\n\n/*\n * LoaderError with chaining for loader stacks\n */\nvar errArgs = new Error(0, '_').fileName == '_';\nfunction LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) {\n // Convert file:/// URLs to paths in Node\n if (!isBrowser)\n newMessage = newMessage.replace(isWindows ? /file:\\/\\/\\//g : /file:\\/\\//g, '');\n\n var message = (childErr.message || childErr) + '\\n ' + newMessage;\n\n var err;\n if (errArgs && childErr.fileName)\n err = new Error(message, childErr.fileName, childErr.lineNumber);\n else\n err = new Error(message);\n\n\n var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack;\n\n if (isNode)\n // node doesn't show the message otherwise\n err.stack = message + '\\n ' + stack;\n else\n err.stack = stack;\n\n err.originalErr = childErr.originalErr || childErr;\n\n return err;\n}\nexport { LoaderError__Check_error_message_for_loader_stack as addToError }\n","import { isNode } from './common.js';\n\n/*\n * Optimized URL normalization assuming a syntax-valid URL parent\n */\nfunction throwResolveError (relUrl, parentUrl) {\n throw new RangeError('Unable to resolve \"' + relUrl + '\" to ' + parentUrl);\n}\nexport function resolveIfNotPlain (relUrl, parentUrl) {\n relUrl = relUrl.trim();\n var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1);\n\n var firstChar = relUrl[0];\n var secondChar = relUrl[1];\n\n // protocol-relative\n if (firstChar === '/' && secondChar === '/') {\n if (!parentProtocol)\n throwResolveError(relUrl, parentUrl);\n return parentProtocol + relUrl;\n }\n // relative-url\n else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) ||\n relUrl.length === 1 && (relUrl += '/')) ||\n firstChar === '/') {\n var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/';\n\n // read pathname from parent if a URL\n // pathname taken to be part after leading \"/\"\n var pathname;\n if (parentIsPlain) {\n // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname\n if (parentUrl === undefined)\n throwResolveError(relUrl, parentUrl);\n pathname = parentUrl;\n }\n else if (parentUrl[parentProtocol.length + 1] === '/') {\n // resolving to a :// so we need to read out the auth and host\n if (parentProtocol !== 'file:') {\n pathname = parentUrl.substr(parentProtocol.length + 2);\n pathname = pathname.substr(pathname.indexOf('/') + 1);\n }\n else {\n pathname = parentUrl.substr(8);\n }\n }\n else {\n // resolving to :/ so pathname is the /... part\n pathname = parentUrl.substr(parentProtocol.length + 1);\n }\n\n if (firstChar === '/') {\n if (parentIsPlain)\n throwResolveError(relUrl, parentUrl);\n else\n return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl;\n }\n\n // join together and split for removal of .. and . segments\n // looping the string instead of anything fancy for perf reasons\n // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain\n var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl;\n\n var output = [];\n var segmentIndex = -1;\n\n for (var i = 0; i < segmented.length; i++) {\n // busy reading a segment - only terminate on '/'\n if (segmentIndex !== -1) {\n if (segmented[i] === '/') {\n output.push(segmented.substring(segmentIndex, i + 1));\n segmentIndex = -1;\n }\n continue;\n }\n\n // new segment - check if it is relative\n if (segmented[i] === '.') {\n // ../ segment\n if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) {\n output.pop();\n i += 2;\n }\n // ./ segment\n else if (segmented[i + 1] === '/' || i + 1 === segmented.length) {\n i += 1;\n }\n else {\n // the start of a new segment as below\n segmentIndex = i;\n continue;\n }\n\n // this is the plain URI backtracking error (../, package:x -> error)\n if (parentIsPlain && output.length === 0)\n throwResolveError(relUrl, parentUrl);\n\n continue;\n }\n\n // it is the start of a new segment\n segmentIndex = i;\n }\n // finish reading out the last segment\n if (segmentIndex !== -1)\n output.push(segmented.substr(segmentIndex));\n\n return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join('');\n }\n\n // sanitizes and verifies (by returning undefined if not a valid URL-like form)\n // Windows filepath compatibility is an added convenience here\n var protocolIndex = relUrl.indexOf(':');\n if (protocolIndex !== -1) {\n if (isNode) {\n // C:\\x becomes file:///c:/x (we don't support C|\\x)\n if (relUrl[1] === ':' && relUrl[2] === '\\\\' && relUrl[0].match(/[a-z]/i))\n return 'file:///' + relUrl.replace(/\\\\/g, '/');\n }\n return relUrl;\n }\n}\n","import { addToError, createSymbol } from './common.js';\n\nexport { Loader, ModuleNamespace, REGISTRY }\n\nvar resolvedPromise = Promise.resolve();\n\n/*\n * Simple Array values shim\n */\nfunction arrayValues (arr) {\n if (arr.values)\n return arr.values();\n\n if (typeof Symbol === 'undefined' || !Symbol.iterator)\n throw new Error('Symbol.iterator not supported in this browser');\n\n var iterable = {};\n iterable[Symbol.iterator] = function () {\n var keys = Object.keys(arr);\n var keyIndex = 0;\n return {\n next: function () {\n if (keyIndex < keys.length)\n return {\n value: arr[keys[keyIndex++]],\n done: false\n };\n else\n return {\n value: undefined,\n done: true\n };\n }\n };\n };\n return iterable;\n}\n\n/*\n * 3. Reflect.Loader\n *\n * We skip the entire native internal pipeline, just providing the bare API\n */\n// 3.1.1\nfunction Loader () {\n this.registry = new Registry();\n}\n// 3.3.1\nLoader.prototype.constructor = Loader;\n\nfunction ensureInstantiated (module) {\n if (!(module instanceof ModuleNamespace))\n throw new TypeError('Module instantiation did not return a valid namespace object.');\n return module;\n}\n\n// 3.3.2\nLoader.prototype.import = function (key, parent) {\n if (typeof key !== 'string')\n throw new TypeError('Loader import method must be passed a module key string');\n // custom resolveInstantiate combined hook for better perf\n var loader = this;\n return resolvedPromise\n .then(function () {\n return loader[RESOLVE_INSTANTIATE](key, parent);\n })\n .then(ensureInstantiated)\n //.then(Module.evaluate)\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n};\n// 3.3.3\nvar RESOLVE = Loader.resolve = createSymbol('resolve');\n\n/*\n * Combined resolve / instantiate hook\n *\n * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described\n * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted.\n *\n * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid\n * the need for double registry lookups as a performance optimization.\n */\nvar RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate');\n\n// default resolveInstantiate is just to call resolve and then get from the registry\n// this provides compatibility for the resolveInstantiate optimization\nLoader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) {\n var loader = this;\n return loader.resolve(key, parent)\n .then(function (resolved) {\n return loader.registry.get(resolved);\n });\n};\n\nfunction ensureResolution (resolvedKey) {\n if (resolvedKey === undefined)\n throw new RangeError('No resolution found.');\n return resolvedKey;\n}\n\nLoader.prototype.resolve = function (key, parent) {\n var loader = this;\n return resolvedPromise\n .then(function() {\n return loader[RESOLVE](key, parent);\n })\n .then(ensureResolution)\n .catch(function (err) {\n throw addToError(err, 'Resolving ' + key + (parent ? ' to ' + parent : ''));\n });\n};\n\n// 3.3.4 (import without evaluate)\n// this is not documented because the use of deferred evaluation as in Module.evaluate is not\n// documented, as it is not considered a stable feature to be encouraged\n// Loader.prototype.load may well be deprecated if this stays disabled\n/* Loader.prototype.load = function (key, parent) {\n return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key))\n .catch(function (err) {\n throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : ''));\n });\n}; */\n\n/*\n * 4. Registry\n *\n * Instead of structuring through a Map, just use a dictionary object\n * We throw for construction attempts so this doesn't affect the public API\n *\n * Registry has been adjusted to use Namespace objects over ModuleStatus objects\n * as part of simplifying loader API implementation\n */\nvar iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator;\nvar REGISTRY = createSymbol('registry');\nfunction Registry() {\n this[REGISTRY] = {};\n}\n// 4.4.1\nif (iteratorSupport) {\n // 4.4.2\n Registry.prototype[Symbol.iterator] = function () {\n return this.entries()[Symbol.iterator]();\n };\n\n // 4.4.3\n Registry.prototype.entries = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return [key, registry[key]];\n }));\n };\n}\n\n// 4.4.4\nRegistry.prototype.keys = function () {\n return arrayValues(Object.keys(this[REGISTRY]));\n};\n// 4.4.5\nRegistry.prototype.values = function () {\n var registry = this[REGISTRY];\n return arrayValues(Object.keys(registry).map(function (key) {\n return registry[key];\n }));\n};\n// 4.4.6\nRegistry.prototype.get = function (key) {\n return this[REGISTRY][key];\n};\n// 4.4.7\nRegistry.prototype.set = function (key, namespace) {\n if (!(namespace instanceof ModuleNamespace))\n throw new Error('Registry must be set with an instance of Module Namespace');\n this[REGISTRY][key] = namespace;\n return this;\n};\n// 4.4.8\nRegistry.prototype.has = function (key) {\n return Object.hasOwnProperty.call(this[REGISTRY], key);\n};\n// 4.4.9\nRegistry.prototype.delete = function (key) {\n if (Object.hasOwnProperty.call(this[REGISTRY], key)) {\n delete this[REGISTRY][key];\n return true;\n }\n return false;\n};\n\n/*\n * Simple ModuleNamespace Exotic object based on a baseObject\n * We export this for allowing a fast-path for module namespace creation over Module descriptors\n */\n// var EVALUATE = createSymbol('evaluate');\nvar BASE_OBJECT = createSymbol('baseObject');\n\n// 8.3.1 Reflect.Module\n/*\n * Best-effort simplified non-spec implementation based on\n * a baseObject referenced via getters.\n *\n * Allows:\n *\n * loader.registry.set('x', new Module({ default: 'x' }));\n *\n * Optional evaluation function provides experimental Module.evaluate\n * support for non-executed modules in registry.\n */\nfunction ModuleNamespace (baseObject/*, evaluate*/) {\n Object.defineProperty(this, BASE_OBJECT, {\n value: baseObject\n });\n\n // evaluate defers namespace population\n /* if (evaluate) {\n Object.defineProperty(this, EVALUATE, {\n value: evaluate,\n configurable: true,\n writable: true\n });\n }\n else { */\n Object.keys(baseObject).forEach(extendNamespace, this);\n //}\n};\n// 8.4.2\nModuleNamespace.prototype = Object.create(null);\n\nif (typeof Symbol !== 'undefined' && Symbol.toStringTag)\n Object.defineProperty(ModuleNamespace.prototype, Symbol.toStringTag, {\n value: 'Module'\n });\n\nfunction extendNamespace (key) {\n Object.defineProperty(this, key, {\n enumerable: true,\n get: function () {\n return this[BASE_OBJECT][key];\n }\n });\n}\n\n/* function doEvaluate (evaluate, context) {\n try {\n evaluate.call(context);\n }\n catch (e) {\n return e;\n }\n}\n\n// 8.4.1 Module.evaluate... not documented or used because this is potentially unstable\nModule.evaluate = function (ns) {\n var evaluate = ns[EVALUATE];\n if (evaluate) {\n ns[EVALUATE] = undefined;\n var err = doEvaluate(evaluate);\n if (err) {\n // cache the error\n ns[EVALUATE] = function () {\n throw err;\n };\n throw err;\n }\n Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns);\n }\n // make chainable\n return ns;\n}; */\n","import { Loader, ModuleNamespace, REGISTRY } from './loader-polyfill.js';\nimport { resolveIfNotPlain } from './resolve.js';\nimport { addToError, global, createSymbol, baseURI } from './common.js';\n\nexport default RegisterLoader;\n\n/*\n * Register Loader\n *\n * Builds directly on top of loader polyfill to provide:\n * - loader.register support\n * - hookable higher-level resolve\n * - instantiate hook returning a ModuleNamespace or undefined for es module loading\n * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately\n * - build tracing support by providing a .trace=true and .loads object format\n */\n\nvar REGISTER_INTERNAL = createSymbol('register-internal');\n\nfunction RegisterLoader () {\n Loader.call(this);\n\n var registryDelete = this.registry.delete;\n this.registry.delete = function (key) {\n var deleted = registryDelete.call(this, key);\n\n // also delete from register registry if linked\n if (records.hasOwnProperty(key) && !records[key].linkRecord) {\n delete records[key];\n deleted = true;\n }\n\n return deleted;\n };\n\n var records = {};\n\n this[REGISTER_INTERNAL] = {\n // last anonymous System.register call\n lastRegister: undefined,\n // in-flight es module load records\n records: records\n };\n\n // tracing\n this.trace = false;\n}\n\nRegisterLoader.prototype = Object.create(Loader.prototype);\nRegisterLoader.prototype.constructor = RegisterLoader;\n\nvar INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate');\n\n// default normalize is the WhatWG style normalizer\nRegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) {\n return resolveIfNotPlain(key, parentKey || baseURI);\n};\n\nRegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {};\n\n// once evaluated, the linkRecord is set to undefined leaving just the other load record properties\n// this allows tracking new binding listeners for es modules through importerSetters\n// for dynamic modules, the load record is removed entirely.\nfunction createLoadRecord (state, key, registration) {\n return state.records[key] = {\n key: key,\n\n // defined System.register cache\n registration: registration,\n\n // module namespace object\n module: undefined,\n\n // es-only\n // this sticks around so new module loads can listen to binding changes\n // for already-loaded modules by adding themselves to their importerSetters\n importerSetters: undefined,\n\n loadError: undefined,\n evalError: undefined,\n\n // in-flight linking record\n linkRecord: {\n // promise for instantiated\n instantiatePromise: undefined,\n dependencies: undefined,\n execute: undefined,\n executingRequire: false,\n\n // underlying module object bindings\n moduleObj: undefined,\n\n // es only, also indicates if es or not\n setters: undefined,\n\n // promise for instantiated dependencies (dependencyInstantiations populated)\n depsInstantiatePromise: undefined,\n // will be the array of dependency load record or a module namespace\n dependencyInstantiations: undefined,\n\n // NB optimization and way of ensuring module objects in setters\n // indicates setters which should run pre-execution of that dependency\n // setters is then just for completely executed module objects\n // alternatively we just pass the partially filled module objects as\n // arguments into the execute function\n // hoisted: undefined\n }\n };\n}\n\nRegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) {\n var loader = this;\n var state = this[REGISTER_INTERNAL];\n var registry = this.registry[REGISTRY];\n\n return resolveInstantiate(loader, key, parentKey, registry, state)\n .then(function (instantiated) {\n if (instantiated instanceof ModuleNamespace)\n return instantiated;\n\n // resolveInstantiate always returns a load record with a link record and no module value\n var link = instantiated.linkRecord;\n\n // if already beaten to done, return\n if (!link) {\n if (instantiated.module)\n return instantiated.module;\n throw instantiated.evalError;\n }\n\n return deepInstantiateDeps(loader, instantiated, link, registry, state)\n .then(function () {\n return ensureEvaluate(loader, instantiated, link, registry, state, undefined);\n });\n });\n};\n\nfunction resolveInstantiate (loader, key, parentKey, registry, state) {\n // normalization shortpath for already-normalized key\n // could add a plain name filter, but doesn't yet seem necessary for perf\n var module = registry[key];\n if (module)\n return Promise.resolve(module);\n\n var load = state.records[key];\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (load.loadError)\n return Promise.reject(load.loadError);\n return instantiate(loader, load, load.linkRecord, registry, state);\n }\n\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n // main loader registry always takes preference\n module = registry[resolvedKey];\n if (module)\n return module;\n\n load = state.records[resolvedKey];\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n if (load.loadError)\n return Promise.reject(load.loadError);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction createProcessAnonRegister (loader, load, state) {\n return function () {\n var lastRegister = state.lastRegister;\n\n if (!lastRegister)\n return !!load.registration;\n\n state.lastRegister = undefined;\n load.registration = lastRegister;\n\n return true;\n };\n}\n\nfunction instantiate (loader, load, link, registry, state) {\n return link.instantiatePromise || (link.instantiatePromise =\n // if there is already an existing registration, skip running instantiate\n (load.registration ? Promise.resolve() : Promise.resolve().then(function () {\n state.lastRegister = undefined;\n return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state));\n }))\n .then(function (instantiation) {\n // direct module return from instantiate -> we're done\n if (instantiation !== undefined) {\n if (!(instantiation instanceof ModuleNamespace))\n throw new TypeError('Instantiate did not return a valid Module object.');\n\n delete state.records[load.key];\n if (loader.trace)\n traceLoad(loader, load, link);\n return registry[load.key] = instantiation;\n }\n\n // run the cached loader.register declaration if there is one\n var registration = load.registration;\n // clear to allow new registrations for future loads (combined with registry delete)\n load.registration = undefined;\n if (!registration)\n throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.');\n\n link.dependencies = registration[0];\n\n load.importerSetters = [];\n\n link.moduleObj = {};\n\n // process System.registerDynamic declaration\n if (registration[2]) {\n link.moduleObj.default = link.moduleObj.__useDefault = {};\n link.executingRequire = registration[1];\n link.execute = registration[2];\n }\n\n // process System.register declaration\n else {\n registerDeclarative(loader, load, link, registration[1]);\n }\n\n return load;\n })\n .catch(function (err) {\n load.linkRecord = undefined;\n throw load.loadError = load.loadError || addToError(err, 'Instantiating ' + load.key);\n }));\n}\n\n// like resolveInstantiate, but returning load records for linking\nfunction resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) {\n // normalization shortpaths for already-normalized key\n // DISABLED to prioritise consistent resolver calls\n // could add a plain name filter, but doesn't yet seem necessary for perf\n /* var load = state.records[key];\n var module = registry[key];\n\n if (module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n\n // registry authority check in case module was deleted or replaced in main registry\n if (load && load.module && load.module === module)\n return load;\n else\n return module;\n }\n\n // already linked but not in main registry is ignored\n if (load && !load.module) {\n if (traceDepMap)\n traceDepMap[key] = key;\n return instantiate(loader, load, load.linkRecord, registry, state);\n } */\n return loader.resolve(key, parentKey)\n .then(function (resolvedKey) {\n if (traceDepMap)\n traceDepMap[key] = resolvedKey;\n\n // normalization shortpaths for already-normalized key\n var load = state.records[resolvedKey];\n var module = registry[resolvedKey];\n\n // main loader registry always takes preference\n if (module && (!load || load.module && module !== load.module))\n return module;\n\n if (load && load.loadError)\n throw load.loadError;\n\n // already has a module value but not already in the registry (load.module)\n // means it was removed by registry.delete, so we should\n // disgard the current load record creating a new one over it\n // but keep any existing registration\n if (!load || !module && load.module)\n load = createLoadRecord(state, resolvedKey, load && load.registration);\n\n var link = load.linkRecord;\n if (!link)\n return load;\n\n return instantiate(loader, load, link, registry, state);\n });\n}\n\nfunction traceLoad (loader, load, link) {\n loader.loads = loader.loads || {};\n loader.loads[load.key] = {\n key: load.key,\n deps: link.dependencies,\n dynamicDeps: [],\n depMap: link.depMap || {}\n };\n}\n\n/*\n * Convert a CJS module.exports into a valid object for new Module:\n *\n * new Module(getEsModule(module.exports))\n *\n * Sets the default value to the module, while also reading off named exports carefully.\n */\nfunction registerDeclarative (loader, load, link, declare) {\n var moduleObj = link.moduleObj;\n var importerSetters = load.importerSetters;\n\n var definedExports = false;\n\n // closure especially not based on link to allow link record disposal\n var declared = declare.call(global, function (name, value) {\n if (typeof name === 'object') {\n var changed = false;\n for (var p in name) {\n value = name[p];\n if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) {\n changed = true;\n moduleObj[p] = value;\n }\n }\n if (changed === false)\n return value;\n }\n else {\n if ((definedExports || name in moduleObj) && moduleObj[name] === value)\n return value;\n moduleObj[name] = value;\n }\n\n for (var i = 0; i < importerSetters.length; i++)\n importerSetters[i](moduleObj);\n\n return value;\n }, new ContextualLoader(loader, load.key));\n\n link.setters = declared.setters;\n link.execute = declared.execute;\n if (declared.exports) {\n link.moduleObj = moduleObj = declared.exports;\n definedExports = true;\n }\n}\n\nfunction instantiateDeps (loader, load, link, registry, state) {\n if (link.depsInstantiatePromise)\n return link.depsInstantiatePromise;\n\n var depsInstantiatePromises = Array(link.dependencies.length);\n\n for (var i = 0; i < link.dependencies.length; i++)\n depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {}));\n\n var depsInstantiatePromise = Promise.all(depsInstantiatePromises)\n .then(function (dependencyInstantiations) {\n link.dependencyInstantiations = dependencyInstantiations;\n\n // run setters to set up bindings to instantiated dependencies\n if (link.setters) {\n for (var i = 0; i < dependencyInstantiations.length; i++) {\n var setter = link.setters[i];\n if (setter) {\n var instantiation = dependencyInstantiations[i];\n\n if (instantiation instanceof ModuleNamespace) {\n setter(instantiation);\n }\n else {\n if (instantiation.loadError)\n throw instantiation.loadError;\n setter(instantiation.module || instantiation.linkRecord.moduleObj);\n // this applies to both es and dynamic registrations\n if (instantiation.importerSetters)\n instantiation.importerSetters.push(setter);\n }\n }\n }\n }\n\n return load;\n });\n\n if (loader.trace)\n depsInstantiatePromise = depsInstantiatePromise.then(function () {\n traceLoad(loader, load, link);\n return load;\n });\n\n depsInstantiatePromise = depsInstantiatePromise.catch(function (err) {\n // throw up the instantiateDeps stack\n link.depsInstantiatePromise = undefined;\n throw addToError(err, 'Loading ' + load.key);\n });\n\n depsInstantiatePromise.catch(function () {});\n\n return link.depsInstantiatePromise = depsInstantiatePromise;\n}\n\nfunction deepInstantiateDeps (loader, load, link, registry, state) {\n return new Promise(function (resolve, reject) {\n var seen = [];\n var loadCnt = 0;\n function queueLoad (load) {\n var link = load.linkRecord;\n if (!link)\n return;\n\n if (seen.indexOf(load) !== -1)\n return;\n seen.push(load);\n\n loadCnt++;\n instantiateDeps(loader, load, link, registry, state)\n .then(processLoad, reject);\n }\n function processLoad (load) {\n loadCnt--;\n var link = load.linkRecord;\n if (link) {\n for (var i = 0; i < link.dependencies.length; i++) {\n var depLoad = link.dependencyInstantiations[i];\n if (!(depLoad instanceof ModuleNamespace))\n queueLoad(depLoad);\n }\n }\n if (loadCnt === 0)\n resolve();\n }\n queueLoad(load);\n });\n}\n\n/*\n * System.register\n */\nRegisterLoader.prototype.register = function (key, deps, declare) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (declare === undefined) {\n state.lastRegister = [key, deps, undefined];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, declare, undefined];\n }\n};\n\n/*\n * System.registerDyanmic\n */\nRegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\n var state = this[REGISTER_INTERNAL];\n\n // anonymous modules get stored as lastAnon\n if (typeof key !== 'string') {\n state.lastRegister = [key, deps, executingRequire];\n }\n\n // everything else registers into the register cache\n else {\n var load = state.records[key] || createLoadRecord(state, key, undefined);\n load.registration = [deps, executingRequire, execute];\n }\n};\n\n// ContextualLoader class\n// backwards-compatible with previous System.register context argument by exposing .id, .key\nfunction ContextualLoader (loader, key) {\n this.loader = loader;\n this.key = this.id = key;\n this.meta = {\n url: key\n // scriptElement: null\n };\n}\n/*ContextualLoader.prototype.constructor = function () {\n throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.');\n};*/\nContextualLoader.prototype.import = function (key) {\n if (this.loader.trace)\n this.loader.loads[this.key].dynamicDeps.push(key);\n return this.loader.import(key, this.key);\n};\n/*ContextualLoader.prototype.resolve = function (key) {\n return this.loader.resolve(key, this.key);\n};*/\n\n// this is the execution function bound to the Module namespace record\nfunction ensureEvaluate (loader, load, link, registry, state, seen) {\n if (load.module)\n return load.module;\n\n if (load.evalError)\n throw load.evalError;\n\n if (seen && seen.indexOf(load) !== -1)\n return load.linkRecord.moduleObj;\n\n // for ES loads we always run ensureEvaluate on top-level, so empty seen is passed regardless\n // for dynamic loads, we pass seen if also dynamic\n var err = doEvaluate(loader, load, link, registry, state, link.setters ? [] : seen || []);\n if (err)\n throw err;\n\n return load.module;\n}\n\nfunction makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) {\n // we can only require from already-known dependencies\n return function (name) {\n for (var i = 0; i < dependencies.length; i++) {\n if (dependencies[i] === name) {\n var depLoad = dependencyInstantiations[i];\n var module;\n\n if (depLoad instanceof ModuleNamespace)\n module = depLoad;\n else\n module = ensureEvaluate(loader, depLoad, depLoad.linkRecord, registry, state, seen);\n\n return '__useDefault' in module ? module.__useDefault : module;\n }\n }\n throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key);\n };\n}\n\n// ensures the given es load is evaluated\n// returns the error if any\nfunction doEvaluate (loader, load, link, registry, state, seen) {\n seen.push(load);\n\n var err;\n\n // es modules evaluate dependencies first\n // non es modules explicitly call moduleEvaluate through require\n if (link.setters) {\n var depLoad, depLink;\n for (var i = 0; i < link.dependencies.length; i++) {\n depLoad = link.dependencyInstantiations[i];\n\n if (depLoad instanceof ModuleNamespace)\n continue;\n\n // custom Module returned from instantiate\n depLink = depLoad.linkRecord;\n if (depLink && seen.indexOf(depLoad) === -1) {\n if (depLoad.evalError)\n err = depLoad.evalError;\n else\n // dynamic / declarative boundaries clear the \"seen\" list\n // we just let cross format circular throw as would happen in real implementations\n err = doEvaluate(loader, depLoad, depLink, registry, state, depLink.setters ? seen : []);\n }\n\n if (err) {\n load.linkRecord = undefined;\n load.evalError = addToError(err, 'Evaluating ' + load.key);\n return load.evalError;\n }\n }\n }\n\n // link.execute won't exist for Module returns from instantiate on top-level load\n if (link.execute) {\n // ES System.register execute\n // \"this\" is null in ES\n if (link.setters) {\n err = declarativeExecute(link.execute);\n }\n // System.registerDynamic execute\n // \"this\" is \"exports\" in CJS\n else {\n var module = { id: load.key };\n var moduleObj = link.moduleObj;\n Object.defineProperty(module, 'exports', {\n configurable: true,\n set: function (exports) {\n moduleObj.default = moduleObj.__useDefault = exports;\n },\n get: function () {\n return moduleObj.__useDefault;\n }\n });\n\n var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen);\n\n // evaluate deps first\n if (!link.executingRequire)\n for (var i = 0; i < link.dependencies.length; i++)\n require(link.dependencies[i]);\n\n err = dynamicExecute(link.execute, require, moduleObj.default, module);\n\n // pick up defineProperty calls to module.exports when we can\n if (module.exports !== moduleObj.__useDefault)\n moduleObj.default = moduleObj.__useDefault = module.exports;\n\n var moduleDefault = moduleObj.default;\n\n // __esModule flag extension support via lifting\n if (moduleDefault && moduleDefault.__esModule) {\n for (var p in moduleDefault) {\n if (Object.hasOwnProperty.call(moduleDefault, p))\n moduleObj[p] = moduleDefault[p];\n }\n }\n }\n }\n\n // dispose link record\n load.linkRecord = undefined;\n\n if (err)\n return load.evalError = addToError(err, 'Evaluating ' + load.key);\n\n registry[load.key] = load.module = new ModuleNamespace(link.moduleObj);\n\n // if not an esm module, run importer setters and clear them\n // this allows dynamic modules to update themselves into es modules\n // as soon as execution has completed\n if (!link.setters) {\n if (load.importerSetters)\n for (var i = 0; i < load.importerSetters.length; i++)\n load.importerSetters[i](load.module);\n load.importerSetters = undefined;\n }\n}\n\n// {} is the closest we can get to call(undefined)\nvar nullContext = {};\nif (Object.freeze)\n Object.freeze(nullContext);\n\nfunction declarativeExecute (execute) {\n try {\n execute.call(nullContext);\n }\n catch (e) {\n return e;\n }\n}\n\nfunction dynamicExecute (execute, require, exports, module) {\n try {\n var output = execute.call(global, require, exports, module);\n if (output !== undefined)\n module.exports = output;\n }\n catch (e) {\n return e;\n }\n}\n","import { resolveIfNotPlain } from 'es-module-loader/core/resolve.js';\r\nimport { baseURI, isBrowser, isWindows, addToError, global, createSymbol } from 'es-module-loader/core/common.js';\r\nimport RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { ModuleNamespace } from 'es-module-loader/core/loader-polyfill.js';\r\n\r\nexport { baseURI, isBrowser, isWindows, addToError, global, resolveIfNotPlain, ModuleNamespace }\r\n\r\nexport var resolvedPromise = Promise.resolve();\r\nexport function noop () {};\r\n\r\nexport var emptyModule = new ModuleNamespace({});\r\n\r\nexport function protectedCreateNamespace (bindings) {\r\n if (bindings instanceof ModuleNamespace)\r\n return bindings;\r\n\r\n if (bindings && bindings.__esModule)\r\n return new ModuleNamespace(bindings);\r\n\r\n return new ModuleNamespace({ default: bindings, __useDefault: bindings });\r\n}\r\n\r\nvar hasStringTag;\r\nexport function isModule (m) {\r\n if (hasStringTag === undefined)\r\n hasStringTag = typeof Symbol !== 'undefined' && !!Symbol.toStringTag;\r\n return m instanceof ModuleNamespace || hasStringTag && Object.prototype.toString.call(m) == '[object Module]';\r\n}\r\n\r\nexport var CONFIG = createSymbol('loader-config');\r\nexport var METADATA = createSymbol('metadata');\r\nexport var PLAIN_RESOLVE = createSymbol('plain-resolve');\r\nexport var PLAIN_RESOLVE_SYNC = createSymbol('plain-resolve-sync');\r\n\r\nexport var isWorker = typeof window === 'undefined' && typeof self !== 'undefined' && typeof importScripts !== 'undefined';\r\n\r\nexport function warn (msg, force) {\r\n if (force || this.warnings && typeof console !== 'undefined' && console.warn)\r\n console.warn(msg);\r\n}\r\n\r\nexport function checkInstantiateWasm (loader, wasmBuffer, processAnonRegister) {\r\n var bytes = new Uint8Array(wasmBuffer);\r\n\r\n // detect by leading bytes\r\n // Can be (new Uint32Array(fetched))[0] === 0x6D736100 when working in Node\r\n if (bytes[0] === 0 && bytes[1] === 97 && bytes[2] === 115) {\r\n return WebAssembly.compile(wasmBuffer).then(function (m) {\r\n var deps = [];\r\n var setters = [];\r\n var importObj = {};\r\n\r\n // we can only set imports if supported (eg Safari doesnt support)\r\n if (WebAssembly.Module.imports)\r\n WebAssembly.Module.imports(m).forEach(function (i) {\r\n var key = i.module;\r\n setters.push(function (m) {\r\n importObj[key] = m;\r\n });\r\n if (deps.indexOf(key) === -1)\r\n deps.push(key);\r\n });\r\n loader.register(deps, function (_export) {\r\n return {\r\n setters: setters,\r\n execute: function () {\r\n _export(new WebAssembly.Instance(m, importObj).exports);\r\n }\r\n };\r\n });\r\n processAnonRegister();\r\n\r\n return true;\r\n });\r\n }\r\n\r\n return Promise.resolve(false);\r\n}\r\n\r\nvar parentModuleContext;\r\nexport function loadNodeModule (key, baseURL) {\r\n if (key[0] === '.')\r\n throw new Error('Node module ' + key + ' can\\'t be loaded as it is not a package require.');\r\n\r\n if (!parentModuleContext) {\r\n var Module = this._nodeRequire('module');\r\n var base = decodeURI(baseURL.substr(isWindows ? 8 : 7));\r\n parentModuleContext = new Module(base);\r\n parentModuleContext.paths = Module._nodeModulePaths(base);\r\n }\r\n return parentModuleContext.require(key);\r\n}\r\n\r\nexport function extend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\nexport function prepend (a, b) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n if (a[p] === undefined)\r\n a[p] = b[p];\r\n }\r\n return a;\r\n}\r\n\r\n// meta first-level extends where:\r\n// array + array appends\r\n// object + object extends\r\n// other properties replace\r\nexport function extendMeta (a, b, _prepend) {\r\n for (var p in b) {\r\n if (!Object.hasOwnProperty.call(b, p))\r\n continue;\r\n var val = b[p];\r\n if (a[p] === undefined)\r\n a[p] = val;\r\n else if (val instanceof Array && a[p] instanceof Array)\r\n a[p] = [].concat(_prepend ? val : a[p]).concat(_prepend ? a[p] : val);\r\n else if (typeof val == 'object' && val !== null && typeof a[p] == 'object')\r\n a[p] = (_prepend ? prepend : extend)(extend({}, a[p]), val);\r\n else if (!_prepend)\r\n a[p] = val;\r\n }\r\n}\r\n\r\nvar supportsPreload = false, supportsPrefetch = false;\r\nif (isBrowser)\r\n (function () {\r\n var relList = document.createElement('link').relList;\r\n if (relList && relList.supports) {\r\n supportsPrefetch = true;\r\n try {\r\n supportsPreload = relList.supports('preload');\r\n }\r\n catch (e) {}\r\n }\r\n })();\r\n\r\nexport function preloadScript (url) {\r\n // fallback to old fashioned image technique which still works in safari\r\n if (!supportsPreload && !supportsPrefetch) {\r\n var preloadImage = new Image();\r\n preloadImage.src = url;\r\n return;\r\n }\r\n\r\n var link = document.createElement('link');\r\n if (supportsPreload) {\r\n link.rel = 'preload';\r\n link.as = 'script';\r\n }\r\n else {\r\n // this works for all except Safari (detected by relList.supports lacking)\r\n link.rel = 'prefetch';\r\n }\r\n link.href = url;\r\n document.head.appendChild(link);\r\n}\r\n\r\nfunction workerImport (src, resolve, reject) {\r\n try {\r\n importScripts(src);\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n resolve();\r\n}\r\n\r\nif (isBrowser) {\r\n var onerror = window.onerror;\r\n window.onerror = function globalOnerror (msg, src) {\r\n if (onerror)\r\n onerror.apply(this, arguments);\r\n };\r\n}\r\n\r\nexport function scriptLoad (src, crossOrigin, integrity, resolve, reject) {\r\n // percent encode just \"#\" for HTTP requests\r\n src = src.replace(/#/g, '%23');\r\n\r\n // subresource integrity is not supported in web workers\r\n if (isWorker)\r\n return workerImport(src, resolve, reject);\r\n\r\n var script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n script.charset = 'utf-8';\r\n script.async = true;\r\n\r\n if (crossOrigin)\r\n script.crossOrigin = crossOrigin;\r\n if (integrity)\r\n script.integrity = integrity;\r\n\r\n script.addEventListener('load', load, false);\r\n script.addEventListener('error', error, false);\r\n\r\n script.src = src;\r\n document.head.appendChild(script);\r\n\r\n function load () {\r\n resolve();\r\n cleanup();\r\n }\r\n\r\n // note this does not catch execution errors\r\n function error (err) {\r\n cleanup();\r\n reject(new Error('Fetching ' + src));\r\n }\r\n\r\n function cleanup () {\r\n script.removeEventListener('load', load, false);\r\n script.removeEventListener('error', error, false);\r\n document.head.removeChild(script);\r\n }\r\n}\r\n\r\nexport function readMemberExpression (p, value) {\r\n var pParts = p.split('.');\r\n while (pParts.length)\r\n value = value[pParts.shift()];\r\n return value;\r\n}\r\n\r\n// separate out paths cache as a baseURL lock process\r\nexport function applyPaths (baseURL, paths, key) {\r\n var mapMatch = getMapMatch(paths, key);\r\n if (mapMatch) {\r\n var target = paths[mapMatch] + key.substr(mapMatch.length);\r\n\r\n var resolved = resolveIfNotPlain(target, baseURI);\r\n if (resolved !== undefined)\r\n return resolved;\r\n\r\n return baseURL + target;\r\n }\r\n else if (key.indexOf(':') !== -1) {\r\n return key;\r\n }\r\n else {\r\n return baseURL + key;\r\n }\r\n}\r\n\r\nfunction checkMap (p) {\r\n var name = this.name;\r\n // can add ':' here if we want paths to match the behaviour of map\r\n if (name.substr(0, p.length) === p && (name.length === p.length || name[p.length] === '/' || p[p.length - 1] === '/' || p[p.length - 1] === ':')) {\r\n var curLen = p.split('/').length;\r\n if (curLen > this.len) {\r\n this.match = p;\r\n this.len = curLen;\r\n }\r\n }\r\n}\r\n\r\nexport function getMapMatch (map, name) {\r\n if (Object.hasOwnProperty.call(map, name))\r\n return name;\r\n\r\n var bestMatch = {\r\n name: name,\r\n match: undefined,\r\n len: 0\r\n };\r\n\r\n Object.keys(map).forEach(checkMap, bestMatch);\r\n\r\n return bestMatch.match;\r\n}\r\n\r\n// RegEx adjusted from https://github.com/jbrantly/yabble/blob/master/lib/yabble.js#L339\r\nexport var cjsRequireRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.\"'])require\\s*\\(\\s*(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'|`[^`\\\\]*(?:\\\\.[^`\\\\]*)*`)\\s*\\)/g\r\n","import { isWindows } from './common.js';\r\n\r\n/*\r\n * Source loading\r\n */\r\nfunction fetchFetch (url, authorization, integrity, asBuffer) {\r\n // fetch doesn't support file:/// urls\r\n if (url.substr(0, 8) === 'file:///') {\r\n if (hasXhr)\r\n return xhrFetch(url, authorization, integrity, asBuffer);\r\n else\r\n throw new Error('Unable to fetch file URLs in this environment.');\r\n }\r\n\r\n // percent encode just \"#\" for HTTP requests\r\n url = url.replace(/#/g, '%23');\r\n\r\n var opts = {\r\n // NB deprecate\r\n headers: { Accept: 'application/x-es-module, */*' }\r\n };\r\n\r\n if (integrity)\r\n opts.integrity = integrity;\r\n\r\n if (authorization) {\r\n if (typeof authorization == 'string')\r\n opts.headers['Authorization'] = authorization;\r\n opts.credentials = 'include';\r\n }\r\n\r\n return fetch(url, opts)\r\n .then(function(res) {\r\n if (res.ok)\r\n return asBuffer ? res.arrayBuffer() : res.text();\r\n else\r\n throw new Error('Fetch error: ' + res.status + ' ' + res.statusText);\r\n });\r\n}\r\n\r\nfunction xhrFetch (url, authorization, integrity, asBuffer) {\r\n return new Promise(function (resolve, reject) {\r\n // percent encode just \"#\" for HTTP requests\r\n url = url.replace(/#/g, '%23');\r\n\r\n var xhr = new XMLHttpRequest();\r\n if (asBuffer)\r\n xhr.responseType = 'arraybuffer';\r\n function load() {\r\n resolve(asBuffer ? xhr.response : xhr.responseText);\r\n }\r\n function error() {\r\n reject(new Error('XHR error: ' + (xhr.status ? ' (' + xhr.status + (xhr.statusText ? ' ' + xhr.statusText : '') + ')' : '') + ' loading ' + url));\r\n }\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n // in Chrome on file:/// URLs, status is 0\r\n if (xhr.status == 0) {\r\n if (xhr.response) {\r\n load();\r\n }\r\n else {\r\n // when responseText is empty, wait for load or error event\r\n // to inform if it is a 404 or empty file\r\n xhr.addEventListener('error', error);\r\n xhr.addEventListener('load', load);\r\n }\r\n }\r\n else if (xhr.status === 200) {\r\n load();\r\n }\r\n else {\r\n error();\r\n }\r\n }\r\n };\r\n xhr.open(\"GET\", url, true);\r\n\r\n if (xhr.setRequestHeader) {\r\n xhr.setRequestHeader('Accept', 'application/x-es-module, */*');\r\n // can set \"authorization: true\" to enable withCredentials only\r\n if (authorization) {\r\n if (typeof authorization == 'string')\r\n xhr.setRequestHeader('Authorization', authorization);\r\n xhr.withCredentials = true;\r\n }\r\n }\r\n\r\n xhr.send(null);\r\n });\r\n}\r\n\r\nvar fs;\r\nfunction nodeFetch (url, authorization, integrity, asBuffer) {\r\n if (url.substr(0, 8) != 'file:///')\r\n return Promise.reject(new Error('Unable to fetch \"' + url + '\". Only file URLs of the form file:/// supported running in Node.'));\r\n\r\n fs = fs || require('fs');\r\n if (isWindows)\r\n url = url.replace(/\\//g, '\\\\').substr(8);\r\n else\r\n url = url.substr(7);\r\n\r\n return new Promise(function (resolve, reject) {\r\n fs.readFile(url, function(err, data) {\r\n if (err) {\r\n return reject(err);\r\n }\r\n else {\r\n if (asBuffer) {\r\n resolve(data);\r\n }\r\n else {\r\n // Strip Byte Order Mark out if it's the leading char\r\n var dataString = data + '';\r\n if (dataString[0] === '\\ufeff')\r\n dataString = dataString.substr(1);\r\n\r\n resolve(dataString);\r\n }\r\n }\r\n });\r\n });\r\n}\r\n\r\nfunction noFetch () {\r\n throw new Error('No fetch method is defined for this environment.');\r\n}\r\n\r\nvar fetchFunction;\r\n\r\nvar hasXhr = typeof XMLHttpRequest !== 'undefined';\r\n\r\nif (typeof self !== 'undefined' && typeof self.fetch !== 'undefined')\r\n fetchFunction = fetchFetch;\r\nelse if (hasXhr)\r\n fetchFunction = xhrFetch;\r\nelse if (typeof require !== 'undefined' && typeof process !== 'undefined')\r\n fetchFunction = nodeFetch;\r\nelse\r\n fetchFunction = noFetch;\r\n\r\nexport default fetchFunction;\r\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { getMapMatch, readMemberExpression, extendMeta, addToError, resolveIfNotPlain,\r\n baseURI, CONFIG, METADATA, applyPaths, resolvedPromise, getPackage } from './common.js';\r\nimport { setPkgConfig, createPackage } from './config.js';\r\nimport fetch from './fetch.js';\r\n\r\nexport function createMetadata () {\r\n return {\r\n pluginKey: undefined,\r\n pluginArgument: undefined,\r\n pluginModule: undefined,\r\n packageKey: undefined,\r\n packageConfig: undefined,\r\n load: undefined\r\n };\r\n}\r\n\r\nfunction getCoreParentMetadata (loader, config, parentKey) {\r\n var parentMetadata = createMetadata();\r\n\r\n if (parentKey) {\r\n // detect parent plugin\r\n // we just need pluginKey to be truthy for package configurations\r\n // so we duplicate it as pluginArgument - although not correct its not used\r\n var parentPluginIndex;\r\n if (config.pluginFirst) {\r\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\r\n }\r\n else {\r\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\r\n }\r\n }\r\n\r\n return parentMetadata;\r\n}\r\n\r\nfunction getParentMetadata (loader, config, parentKey) {\r\n var parentMetadata = createMetadata();\r\n\r\n if (parentKey) {\r\n // detect parent plugin\r\n // we just need pluginKey to be truthy for package configurations\r\n // so we duplicate it as pluginArgument - although not correct its not used\r\n var parentPluginIndex;\r\n if (config.pluginFirst) {\r\n if ((parentPluginIndex = parentKey.lastIndexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(0, parentPluginIndex);\r\n }\r\n else {\r\n if ((parentPluginIndex = parentKey.indexOf('!')) !== -1)\r\n parentMetadata.pluginArgument = parentMetadata.pluginKey = parentKey.substr(parentPluginIndex + 1);\r\n }\r\n\r\n // detect parent package\r\n parentMetadata.packageKey = getMapMatch(config.packages, parentKey);\r\n if (parentMetadata.packageKey)\r\n parentMetadata.packageConfig = config.packages[parentMetadata.packageKey];\r\n }\r\n\r\n return parentMetadata;\r\n}\r\n\r\nexport function normalize (key, parentKey) {\r\n var config = this[CONFIG];\r\n\r\n var metadata = createMetadata();\r\n var parentMetadata = getParentMetadata(this, config, parentKey);\r\n\r\n var loader = this;\r\n\r\n return Promise.resolve()\r\n\r\n // boolean conditional\r\n .then(function () {\r\n // first we normalize the conditional\r\n var booleanIndex = key.lastIndexOf('#?');\r\n\r\n if (booleanIndex === -1)\r\n return Promise.resolve(key);\r\n\r\n var conditionObj = parseCondition.call(loader, key.substr(booleanIndex + 2));\r\n\r\n // in builds, return normalized conditional\r\n /*if (this.builder)\r\n return this.resolve(conditionObj.module, parentKey)\r\n .then(function (conditionModule) {\r\n conditionObj.module = conditionModule;\r\n return key.substr(0, booleanIndex) + '#?' + serializeCondition(conditionObj);\r\n });*/\r\n\r\n return resolveCondition.call(loader, conditionObj, parentKey, true)\r\n .then(function (conditionValue) {\r\n return conditionValue ? key.substr(0, booleanIndex) : '@empty';\r\n });\r\n })\r\n\r\n // plugin\r\n .then(function (key) {\r\n var parsed = parsePlugin(config.pluginFirst, key);\r\n\r\n if (!parsed)\r\n return packageResolve.call(loader, config, key, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, false);\r\n\r\n metadata.pluginKey = parsed.plugin;\r\n\r\n return Promise.all([\r\n packageResolve.call(loader, config, parsed.argument, parentMetadata && parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, true),\r\n loader.resolve(parsed.plugin, parentKey)\r\n ])\r\n .then(function (normalized) {\r\n metadata.pluginArgument = normalized[0];\r\n metadata.pluginKey = normalized[1];\r\n\r\n // don't allow a plugin to load itself\r\n if (metadata.pluginArgument === metadata.pluginKey)\r\n throw new Error('Plugin ' + metadata.pluginArgument + ' cannot load itself, make sure it is excluded from any wildcard meta configuration via a custom loader: false rule.');\r\n\r\n return combinePluginParts(config.pluginFirst, normalized[0], normalized[1]);\r\n });\r\n })\r\n .then(function (normalized) {\r\n return interpolateConditional.call(loader, normalized, parentKey, parentMetadata);\r\n })\r\n .then(function (normalized) {\r\n setMeta.call(loader, config, normalized, metadata);\r\n\r\n if (metadata.pluginKey || !metadata.load.loader)\r\n return normalized;\r\n\r\n // loader by configuration\r\n // normalizes to parent to support package loaders\r\n return loader.resolve(metadata.load.loader, normalized)\r\n .then(function (pluginKey) {\r\n metadata.pluginKey = pluginKey;\r\n metadata.pluginArgument = normalized;\r\n return normalized;\r\n });\r\n })\r\n .then(function (normalized) {\r\n loader[METADATA][normalized] = metadata;\r\n return normalized;\r\n });\r\n}\r\n\r\n// normalization function used for registry keys\r\n// just does coreResolve without map\r\nexport function decanonicalize (config, key) {\r\n var parsed = parsePlugin(config.pluginFirst, key);\r\n\r\n // plugin\r\n if (parsed) {\r\n var pluginKey = decanonicalize.call(this, config, parsed.plugin);\r\n return combinePluginParts(config.pluginFirst, coreResolve.call(this, config, parsed.argument, undefined, false, false), pluginKey);\r\n }\r\n\r\n return coreResolve.call(this, config, key, undefined, false, false);\r\n}\r\n\r\nexport function normalizeSync (key, parentKey) {\r\n var config = this[CONFIG];\r\n\r\n // normalizeSync is metadataless, so create metadata\r\n var metadata = createMetadata();\r\n var parentMetadata = parentMetadata || getParentMetadata(this, config, parentKey);\r\n\r\n var parsed = parsePlugin(config.pluginFirst, key);\r\n\r\n // plugin\r\n if (parsed) {\r\n metadata.pluginKey = normalizeSync.call(this, parsed.plugin, parentKey);\r\n return combinePluginParts(config.pluginFirst,\r\n packageResolveSync.call(this, config, parsed.argument, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey),\r\n metadata.pluginKey);\r\n }\r\n\r\n return packageResolveSync.call(this, config, key, parentMetadata.pluginArgument || parentKey, metadata, parentMetadata, !!metadata.pluginKey);\r\n}\r\n\r\nexport function coreResolve (config, key, parentKey, doMap, packageName) {\r\n var relativeResolved = resolveIfNotPlain(key, parentKey || baseURI);\r\n\r\n // standard URL resolution\r\n if (relativeResolved)\r\n return applyPaths(config.baseURL, config.paths, relativeResolved);\r\n\r\n // plain keys not starting with './', 'x://' and '/' go through custom resolution\r\n if (doMap) {\r\n var mapMatch = getMapMatch(config.map, key);\r\n\r\n if (mapMatch) {\r\n key = config.map[mapMatch] + key.substr(mapMatch.length);\r\n\r\n relativeResolved = resolveIfNotPlain(key, baseURI);\r\n if (relativeResolved)\r\n return applyPaths(config.baseURL, config.paths, relativeResolved);\r\n }\r\n }\r\n\r\n if (this.registry.has(key))\r\n return key;\r\n\r\n if (key.substr(0, 6) === '@node/')\r\n return key;\r\n\r\n var trailingSlash = packageName && key[key.length - 1] !== '/';\r\n var resolved = applyPaths(config.baseURL, config.paths, trailingSlash ? key + '/' : key);\r\n if (trailingSlash)\r\n return resolved.substr(0, resolved.length - 1);\r\n return resolved;\r\n}\r\n\r\nfunction packageResolveSync (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\r\n // ignore . since internal maps handled by standard package resolution\r\n if (parentMetadata && parentMetadata.packageConfig && key[0] !== '.') {\r\n var parentMap = parentMetadata.packageConfig.map;\r\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\r\n\r\n if (parentMapMatch && typeof parentMap[parentMapMatch] === 'string') {\r\n var mapped = doMapSync(this, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\r\n if (mapped)\r\n return mapped;\r\n }\r\n }\r\n\r\n var normalized = coreResolve.call(this, config, key, parentKey, true, true);\r\n\r\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\r\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\r\n\r\n if (!metadata.packageKey)\r\n return normalized;\r\n\r\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\r\n metadata.packageKey = undefined;\r\n return normalized;\r\n }\r\n\r\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\r\n\r\n var subPath = normalized.substr(metadata.packageKey.length + 1);\r\n\r\n return applyPackageConfigSync(this, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\r\n}\r\n\r\nfunction packageResolve (config, key, parentKey, metadata, parentMetadata, skipExtensions) {\r\n var loader = this;\r\n\r\n return resolvedPromise\r\n .then(function () {\r\n // ignore . since internal maps handled by standard package resolution\r\n if (parentMetadata && parentMetadata.packageConfig && key.substr(0, 2) !== './') {\r\n var parentMap = parentMetadata.packageConfig.map;\r\n var parentMapMatch = parentMap && getMapMatch(parentMap, key);\r\n\r\n if (parentMapMatch)\r\n return doMap(loader, config, parentMetadata.packageConfig, parentMetadata.packageKey, parentMapMatch, key, metadata, skipExtensions);\r\n }\r\n\r\n return resolvedPromise;\r\n })\r\n .then(function (mapped) {\r\n if (mapped)\r\n return mapped;\r\n\r\n // apply map, core, paths, contextual package map\r\n var normalized = coreResolve.call(loader, config, key, parentKey, true, true);\r\n\r\n var pkgConfigMatch = getPackageConfigMatch(config, normalized);\r\n metadata.packageKey = pkgConfigMatch && pkgConfigMatch.packageKey || getMapMatch(config.packages, normalized);\r\n\r\n if (!metadata.packageKey)\r\n return Promise.resolve(normalized);\r\n\r\n if (config.packageConfigKeys.indexOf(normalized) !== -1) {\r\n metadata.packageKey = undefined;\r\n metadata.load = createMeta();\r\n metadata.load.format = 'json';\r\n // ensure no loader\r\n metadata.load.loader = '';\r\n return Promise.resolve(normalized);\r\n }\r\n\r\n metadata.packageConfig = config.packages[metadata.packageKey] || (config.packages[metadata.packageKey] = createPackage());\r\n\r\n // load configuration when it matches packageConfigPaths, not already configured, and not the config itself\r\n var loadConfig = pkgConfigMatch && !metadata.packageConfig.configured;\r\n\r\n return (loadConfig ? loadPackageConfigPath(loader, config, pkgConfigMatch.configPath, metadata) : resolvedPromise)\r\n .then(function () {\r\n var subPath = normalized.substr(metadata.packageKey.length + 1);\r\n\r\n return applyPackageConfig(loader, config, metadata.packageConfig, metadata.packageKey, subPath, metadata, skipExtensions);\r\n });\r\n });\r\n}\r\n\r\nfunction createMeta () {\r\n return {\r\n extension: '',\r\n deps: undefined,\r\n format: undefined,\r\n loader: undefined,\r\n scriptLoad: undefined,\r\n globals: undefined,\r\n nonce: undefined,\r\n integrity: undefined,\r\n sourceMap: undefined,\r\n exports: undefined,\r\n encapsulateGlobal: false,\r\n crossOrigin: undefined,\r\n cjsRequireDetection: true,\r\n cjsDeferDepsExecute: false,\r\n esModule: false\r\n };\r\n}\r\n\r\nfunction setMeta (config, key, metadata) {\r\n metadata.load = metadata.load || createMeta();\r\n\r\n // apply wildcard metas\r\n var bestDepth = 0;\r\n var wildcardIndex;\r\n for (var module in config.meta) {\r\n wildcardIndex = module.indexOf('*');\r\n if (wildcardIndex === -1)\r\n continue;\r\n if (module.substr(0, wildcardIndex) === key.substr(0, wildcardIndex)\r\n && module.substr(wildcardIndex + 1) === key.substr(key.length - module.length + wildcardIndex + 1)) {\r\n var depth = module.split('/').length;\r\n if (depth > bestDepth)\r\n bestDepth = depth;\r\n extendMeta(metadata.load, config.meta[module], bestDepth !== depth);\r\n }\r\n }\r\n\r\n // apply exact meta\r\n if (config.meta[key])\r\n extendMeta(metadata.load, config.meta[key], false);\r\n\r\n // apply package meta\r\n if (metadata.packageKey) {\r\n var subPath = key.substr(metadata.packageKey.length + 1);\r\n\r\n var meta = {};\r\n if (metadata.packageConfig.meta) {\r\n var bestDepth = 0;\r\n getMetaMatches(metadata.packageConfig.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\r\n if (matchDepth > bestDepth)\r\n bestDepth = matchDepth;\r\n extendMeta(meta, matchMeta, matchDepth && bestDepth > matchDepth);\r\n });\r\n\r\n extendMeta(metadata.load, meta, false);\r\n }\r\n\r\n // format\r\n if (metadata.packageConfig.format && !metadata.pluginKey && !metadata.load.loader)\r\n metadata.load.format = metadata.load.format || metadata.packageConfig.format;\r\n }\r\n}\r\n\r\nfunction parsePlugin (pluginFirst, key) {\r\n var argumentKey;\r\n var pluginKey;\r\n\r\n var pluginIndex = pluginFirst ? key.indexOf('!') : key.lastIndexOf('!');\r\n\r\n if (pluginIndex === -1)\r\n return;\r\n\r\n if (pluginFirst) {\r\n argumentKey = key.substr(pluginIndex + 1);\r\n pluginKey = key.substr(0, pluginIndex);\r\n }\r\n else {\r\n argumentKey = key.substr(0, pluginIndex);\r\n pluginKey = key.substr(pluginIndex + 1) || argumentKey.substr(argumentKey.lastIndexOf('.') + 1);\r\n }\r\n\r\n return {\r\n argument: argumentKey,\r\n plugin: pluginKey\r\n };\r\n}\r\n\r\n// put key back together after parts have been normalized\r\nfunction combinePluginParts (pluginFirst, argumentKey, pluginKey) {\r\n if (pluginFirst)\r\n return pluginKey + '!' + argumentKey;\r\n else\r\n return argumentKey + '!' + pluginKey;\r\n}\r\n\r\n/*\r\n * Package Configuration Extension\r\n *\r\n * Example:\r\n *\r\n * SystemJS.packages = {\r\n * jquery: {\r\n * main: 'index.js', // when not set, package key is requested directly\r\n * format: 'amd',\r\n * defaultExtension: 'ts', // defaults to 'js', can be set to false\r\n * modules: {\r\n * '*.ts': {\r\n * loader: 'typescript'\r\n * },\r\n * 'vendor/sizzle.js': {\r\n * format: 'global'\r\n * }\r\n * },\r\n * map: {\r\n * // map internal require('sizzle') to local require('./vendor/sizzle')\r\n * sizzle: './vendor/sizzle.js',\r\n * // map any internal or external require of 'jquery/vendor/another' to 'another/index.js'\r\n * './vendor/another.js': './another/index.js',\r\n * // test.js / test -> lib/test.js\r\n * './test.js': './lib/test.js',\r\n *\r\n * // environment-specific map configurations\r\n * './index.js': {\r\n * '~browser': './index-node.js',\r\n * './custom-condition.js|~export': './index-custom.js'\r\n * }\r\n * },\r\n * // allows for setting package-prefixed depCache\r\n * // keys are normalized module keys relative to the package itself\r\n * depCache: {\r\n * // import 'package/index.js' loads in parallel package/lib/test.js,package/vendor/sizzle.js\r\n * './index.js': ['./test'],\r\n * './test.js': ['external-dep'],\r\n * 'external-dep/path.js': ['./another.js']\r\n * }\r\n * }\r\n * };\r\n *\r\n * Then:\r\n * import 'jquery' -> jquery/index.js\r\n * import 'jquery/submodule' -> jquery/submodule.js\r\n * import 'jquery/submodule.ts' -> jquery/submodule.ts loaded as typescript\r\n * import 'jquery/vendor/another' -> another/index.js\r\n *\r\n * Detailed Behaviours\r\n * - main can have a leading \"./\" can be added optionally\r\n * - map and defaultExtension are applied to the main\r\n * - defaultExtension adds the extension only if the exact extension is not present\r\n\r\n * - if a meta value is available for a module, map and defaultExtension are skipped\r\n * - like global map, package map also applies to subpaths (sizzle/x, ./vendor/another/sub)\r\n * - condition module map is '@env' module in package or '@system-env' globally\r\n * - map targets support conditional interpolation ('./x': './x.#{|env}.js')\r\n * - internal package map targets cannot use boolean conditionals\r\n *\r\n * Package Configuration Loading\r\n *\r\n * Not all packages may already have their configuration present in the System config\r\n * For these cases, a list of packageConfigPaths can be provided, which when matched against\r\n * a request, will first request a \".json\" file by the package key to derive the package\r\n * configuration from. This allows dynamic loading of non-predetermined code, a key use\r\n * case in SystemJS.\r\n *\r\n * Example:\r\n *\r\n * SystemJS.packageConfigPaths = ['packages/test/package.json', 'packages/*.json'];\r\n *\r\n * // will first request 'packages/new-package/package.json' for the package config\r\n * // before completing the package request to 'packages/new-package/path'\r\n * SystemJS.import('packages/new-package/path');\r\n *\r\n * // will first request 'packages/test/package.json' before the main\r\n * SystemJS.import('packages/test');\r\n *\r\n * When a package matches packageConfigPaths, it will always send a config request for\r\n * the package configuration.\r\n * The package key itself is taken to be the match up to and including the last wildcard\r\n * or trailing slash.\r\n * The most specific package config path will be used.\r\n * Any existing package configurations for the package will deeply merge with the\r\n * package config, with the existing package configurations taking preference.\r\n * To opt-out of the package configuration request for a package that matches\r\n * packageConfigPaths, use the { configured: true } package config option.\r\n *\r\n */\r\n\r\nfunction addDefaultExtension (config, pkg, pkgKey, subPath, skipExtensions) {\r\n // don't apply extensions to folders or if defaultExtension = false\r\n if (!subPath || !pkg.defaultExtension || subPath[subPath.length - 1] === '/' || skipExtensions)\r\n return subPath;\r\n\r\n var metaMatch = false;\r\n\r\n // exact meta or meta with any content after the last wildcard skips extension\r\n if (pkg.meta)\r\n getMetaMatches(pkg.meta, subPath, function (metaPattern, matchMeta, matchDepth) {\r\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\r\n return metaMatch = true;\r\n });\r\n\r\n // exact global meta or meta with any content after the last wildcard skips extension\r\n if (!metaMatch && config.meta)\r\n getMetaMatches(config.meta, pkgKey + '/' + subPath, function (metaPattern, matchMeta, matchDepth) {\r\n if (matchDepth === 0 || metaPattern.lastIndexOf('*') !== metaPattern.length - 1)\r\n return metaMatch = true;\r\n });\r\n\r\n if (metaMatch)\r\n return subPath;\r\n\r\n // work out what the defaultExtension is and add if not there already\r\n var defaultExtension = '.' + pkg.defaultExtension;\r\n if (subPath.substr(subPath.length - defaultExtension.length) !== defaultExtension)\r\n return subPath + defaultExtension;\r\n else\r\n return subPath;\r\n}\r\n\r\nfunction applyPackageConfigSync (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\r\n // main\r\n if (!subPath) {\r\n if (pkg.main)\r\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\r\n else\r\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\r\n // NB can add a default package main convention here\r\n // if it becomes internal to the package then it would no longer be an exit path\r\n return pkgKey;\r\n }\r\n\r\n // map config checking without then with extensions\r\n if (pkg.map) {\r\n var mapPath = './' + subPath;\r\n\r\n var mapMatch = getMapMatch(pkg.map, mapPath);\r\n\r\n // we then check map with the default extension adding\r\n if (!mapMatch) {\r\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\r\n if (mapPath !== './' + subPath)\r\n mapMatch = getMapMatch(pkg.map, mapPath);\r\n }\r\n if (mapMatch) {\r\n var mapped = doMapSync(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions);\r\n if (mapped)\r\n return mapped;\r\n }\r\n }\r\n\r\n // normal package resolution\r\n return pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\r\n}\r\n\r\nfunction validMapping (mapMatch, mapped, path) {\r\n // allow internal ./x -> ./x/y or ./x/ -> ./x/y recursive maps\r\n // but only if the path is exactly ./x and not ./x/z\r\n if (mapped.substr(0, mapMatch.length) === mapMatch && path.length > mapMatch.length)\r\n return false;\r\n\r\n return true;\r\n}\r\n\r\nfunction doMapSync (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\r\n if (path[path.length - 1] === '/')\r\n path = path.substr(0, path.length - 1);\r\n var mapped = pkg.map[mapMatch];\r\n\r\n if (typeof mapped === 'object')\r\n throw new Error('Synchronous conditional normalization not supported sync normalizing ' + mapMatch + ' in ' + pkgKey);\r\n\r\n if (!validMapping(mapMatch, mapped, path) || typeof mapped !== 'string')\r\n return;\r\n\r\n return packageResolveSync.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions);\r\n}\r\n\r\nfunction applyPackageConfig (loader, config, pkg, pkgKey, subPath, metadata, skipExtensions) {\r\n // main\r\n if (!subPath) {\r\n if (pkg.main)\r\n subPath = pkg.main.substr(0, 2) === './' ? pkg.main.substr(2) : pkg.main;\r\n // also no submap if key is package itself (import 'pkg' -> 'path/to/pkg.js')\r\n else\r\n // NB can add a default package main convention here\r\n // if it becomes internal to the package then it would no longer be an exit path\r\n return Promise.resolve(pkgKey);\r\n }\r\n\r\n // map config checking without then with extensions\r\n var mapPath, mapMatch;\r\n\r\n if (pkg.map) {\r\n mapPath = './' + subPath;\r\n mapMatch = getMapMatch(pkg.map, mapPath);\r\n\r\n // we then check map with the default extension adding\r\n if (!mapMatch) {\r\n mapPath = './' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions);\r\n if (mapPath !== './' + subPath)\r\n mapMatch = getMapMatch(pkg.map, mapPath);\r\n }\r\n }\r\n\r\n return (mapMatch ? doMap(loader, config, pkg, pkgKey, mapMatch, mapPath, metadata, skipExtensions) : resolvedPromise)\r\n .then(function (mapped) {\r\n if (mapped)\r\n return Promise.resolve(mapped);\r\n\r\n // normal package resolution / fallback resolution for no conditional match\r\n return Promise.resolve(pkgKey + '/' + addDefaultExtension(config, pkg, pkgKey, subPath, skipExtensions));\r\n });\r\n}\r\n\r\nfunction doMap (loader, config, pkg, pkgKey, mapMatch, path, metadata, skipExtensions) {\r\n if (path[path.length - 1] === '/')\r\n path = path.substr(0, path.length - 1);\r\n\r\n var mapped = pkg.map[mapMatch];\r\n\r\n if (typeof mapped === 'string') {\r\n if (!validMapping(mapMatch, mapped, path))\r\n return resolvedPromise;\r\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\r\n .then(function (normalized) {\r\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\r\n });\r\n }\r\n\r\n // we use a special conditional syntax to allow the builder to handle conditional branch points further\r\n /*if (loader.builder)\r\n return Promise.resolve(pkgKey + '/#:' + path);*/\r\n\r\n // we load all conditions upfront\r\n var conditionPromises = [];\r\n var conditions = [];\r\n for (var e in mapped) {\r\n var c = parseCondition(e);\r\n conditions.push({\r\n condition: c,\r\n map: mapped[e]\r\n });\r\n conditionPromises.push(RegisterLoader.prototype.import.call(loader, c.module, pkgKey));\r\n }\r\n\r\n // map object -> conditional map\r\n return Promise.all(conditionPromises)\r\n .then(function (conditionValues) {\r\n // first map condition to match is used\r\n for (var i = 0; i < conditions.length; i++) {\r\n var c = conditions[i].condition;\r\n var value = readMemberExpression(c.prop, '__useDefault' in conditionValues[i] ? conditionValues[i].__useDefault : conditionValues[i]);\r\n if (!c.negate && value || c.negate && !value)\r\n return conditions[i].map;\r\n }\r\n })\r\n .then(function (mapped) {\r\n if (mapped) {\r\n if (!validMapping(mapMatch, mapped, path))\r\n return resolvedPromise;\r\n return packageResolve.call(loader, config, mapped + path.substr(mapMatch.length), pkgKey + '/', metadata, metadata, skipExtensions)\r\n .then(function (normalized) {\r\n return interpolateConditional.call(loader, normalized, pkgKey + '/', metadata);\r\n });\r\n }\r\n\r\n // no environment match -> fallback to original subPath by returning undefined\r\n });\r\n}\r\n\r\n// check if the given normalized key matches a packageConfigPath\r\n// if so, loads the config\r\nvar packageConfigPaths = {};\r\n\r\n// data object for quick checks against package paths\r\nfunction createPkgConfigPathObj (path) {\r\n var lastWildcard = path.lastIndexOf('*');\r\n var length = Math.max(lastWildcard + 1, path.lastIndexOf('/'));\r\n return {\r\n length: length,\r\n regEx: new RegExp('^(' + path.substr(0, length).replace(/[.+?^${}()|[\\]\\\\]/g, '\\\\$&').replace(/\\*/g, '[^\\\\/]+') + ')(\\\\/|$)'),\r\n wildcard: lastWildcard !== -1\r\n };\r\n}\r\n\r\n// most specific match wins\r\nfunction getPackageConfigMatch (config, normalized) {\r\n var pkgKey, exactMatch = false, configPath;\r\n for (var i = 0; i < config.packageConfigPaths.length; i++) {\r\n var packageConfigPath = config.packageConfigPaths[i];\r\n var p = packageConfigPaths[packageConfigPath] || (packageConfigPaths[packageConfigPath] = createPkgConfigPathObj(packageConfigPath));\r\n if (normalized.length < p.length)\r\n continue;\r\n var match = normalized.match(p.regEx);\r\n if (match && (!pkgKey || (!(exactMatch && p.wildcard) && pkgKey.length < match[1].length))) {\r\n pkgKey = match[1];\r\n exactMatch = !p.wildcard;\r\n configPath = pkgKey + packageConfigPath.substr(p.length);\r\n }\r\n }\r\n\r\n if (!pkgKey)\r\n return;\r\n\r\n return {\r\n packageKey: pkgKey,\r\n configPath: configPath\r\n };\r\n}\r\n\r\nfunction loadPackageConfigPath (loader, config, pkgConfigPath, metadata, normalized) {\r\n var configLoader = loader.pluginLoader || loader;\r\n\r\n // ensure we note this is a package config file path\r\n // it will then be skipped from getting other normalizations itself to ensure idempotency\r\n if (config.packageConfigKeys.indexOf(pkgConfigPath) === -1)\r\n config.packageConfigKeys.push(pkgConfigPath);\r\n\r\n return configLoader.import(pkgConfigPath)\r\n .then(function (pkgConfig) {\r\n setPkgConfig(metadata.packageConfig, pkgConfig, metadata.packageKey, true, config);\r\n metadata.packageConfig.configured = true;\r\n })\r\n .catch(function (err) {\r\n throw addToError(err, 'Unable to fetch package configuration file ' + pkgConfigPath);\r\n });\r\n}\r\n\r\nfunction getMetaMatches (pkgMeta, subPath, matchFn) {\r\n // wildcard meta\r\n var wildcardIndex;\r\n for (var module in pkgMeta) {\r\n // allow meta to start with ./ for flexibility\r\n var dotRel = module.substr(0, 2) === './' ? './' : '';\r\n if (dotRel)\r\n module = module.substr(2);\r\n\r\n wildcardIndex = module.indexOf('*');\r\n if (wildcardIndex === -1)\r\n continue;\r\n\r\n if (module.substr(0, wildcardIndex) === subPath.substr(0, wildcardIndex)\r\n && module.substr(wildcardIndex + 1) === subPath.substr(subPath.length - module.length + wildcardIndex + 1)) {\r\n // alow match function to return true for an exit path\r\n if (matchFn(module, pkgMeta[dotRel + module], module.split('/').length))\r\n return;\r\n }\r\n }\r\n // exact meta\r\n var exactMeta = pkgMeta[subPath] && Object.hasOwnProperty.call(pkgMeta, subPath) ? pkgMeta[subPath] : pkgMeta['./' + subPath];\r\n if (exactMeta)\r\n matchFn(exactMeta, exactMeta, 0);\r\n}\r\n\r\n\r\n/*\r\n * Conditions Extension\r\n *\r\n * Allows a condition module to alter the resolution of an import via syntax:\r\n *\r\n * import $ from 'jquery/#{browser}';\r\n *\r\n * Will first load the module 'browser' via `SystemJS.import('browser')` and\r\n * take the default export of that module.\r\n * If the default export is not a string, an error is thrown.\r\n *\r\n * We then substitute the string into the require to get the conditional resolution\r\n * enabling environment-specific variations like:\r\n *\r\n * import $ from 'jquery/ie'\r\n * import $ from 'jquery/firefox'\r\n * import $ from 'jquery/chrome'\r\n * import $ from 'jquery/safari'\r\n *\r\n * It can be useful for a condition module to define multiple conditions.\r\n * This can be done via the `|` modifier to specify an export member expression:\r\n *\r\n * import 'jquery/#{./browser.js|grade.version}'\r\n *\r\n * Where the `grade` export `version` member in the `browser.js` module is substituted.\r\n *\r\n *\r\n * Boolean Conditionals\r\n *\r\n * For polyfill modules, that are used as imports but have no module value,\r\n * a binary conditional allows a module not to be loaded at all if not needed:\r\n *\r\n * import 'es5-shim#?./conditions.js|needs-es5shim'\r\n *\r\n * These conditions can also be negated via:\r\n *\r\n * import 'es5-shim#?./conditions.js|~es6'\r\n *\r\n */\r\n\r\nvar sysConditions = ['browser', 'node', 'dev', 'build', 'production', 'default'];\r\n\r\nfunction parseCondition (condition) {\r\n var conditionExport, conditionModule, negation;\r\n\r\n var negation;\r\n var conditionExportIndex = condition.lastIndexOf('|');\r\n if (conditionExportIndex !== -1) {\r\n conditionExport = condition.substr(conditionExportIndex + 1);\r\n conditionModule = condition.substr(0, conditionExportIndex);\r\n\r\n if (conditionExport[0] === '~') {\r\n negation = true;\r\n conditionExport = conditionExport.substr(1);\r\n }\r\n }\r\n else {\r\n negation = condition[0] === '~';\r\n conditionExport = 'default';\r\n conditionModule = condition.substr(negation);\r\n if (sysConditions.indexOf(conditionModule) !== -1) {\r\n conditionExport = conditionModule;\r\n conditionModule = null;\r\n }\r\n }\r\n\r\n return {\r\n module: conditionModule || '@system-env',\r\n prop: conditionExport,\r\n negate: negation\r\n };\r\n}\r\n\r\nfunction resolveCondition (conditionObj, parentKey, bool) {\r\n // import without __useDefault handling here\r\n return RegisterLoader.prototype.import.call(this, conditionObj.module, parentKey)\r\n .then(function (condition) {\r\n var m = readMemberExpression(conditionObj.prop, condition);\r\n\r\n if (bool && typeof m !== 'boolean')\r\n throw new TypeError('Condition did not resolve to a boolean.');\r\n\r\n return conditionObj.negate ? !m : m;\r\n });\r\n}\r\n\r\nvar interpolationRegEx = /#\\{[^\\}]+\\}/;\r\nfunction interpolateConditional (key, parentKey, parentMetadata) {\r\n // first we normalize the conditional\r\n var conditionalMatch = key.match(interpolationRegEx);\r\n\r\n if (!conditionalMatch)\r\n return Promise.resolve(key);\r\n\r\n var conditionObj = parseCondition.call(this, conditionalMatch[0].substr(2, conditionalMatch[0].length - 3));\r\n\r\n // in builds, return normalized conditional\r\n /*if (this.builder)\r\n return this.normalize(conditionObj.module, parentKey, createMetadata(), parentMetadata)\r\n .then(function (conditionModule) {\r\n conditionObj.module = conditionModule;\r\n return key.replace(interpolationRegEx, '#{' + serializeCondition(conditionObj) + '}');\r\n });*/\r\n\r\n return resolveCondition.call(this, conditionObj, parentKey, false)\r\n .then(function (conditionValue) {\r\n if (typeof conditionValue !== 'string')\r\n throw new TypeError('The condition value for ' + key + ' doesn\\'t resolve to a string.');\r\n\r\n if (conditionValue.indexOf('/') !== -1)\r\n throw new TypeError('Unabled to interpolate conditional ' + key + (parentKey ? ' in ' + parentKey : '') + '\\n\\tThe condition value ' + conditionValue + ' cannot contain a \"/\" separator.');\r\n\r\n return key.replace(interpolationRegEx, conditionValue);\r\n });\r\n}\r\n","import { envModule, setProduction, configNames } from './systemjs-loader.js';\r\nimport { extend, prepend, warn, resolveIfNotPlain, baseURI, CONFIG } from './common.js';\r\nimport { coreResolve } from './resolve.js';\r\n\r\n/*\r\n Extend config merging one deep only\r\n\r\n loader.config({\r\n some: 'random',\r\n config: 'here',\r\n deep: {\r\n config: { too: 'too' }\r\n }\r\n });\r\n\r\n <=>\r\n\r\n loader.some = 'random';\r\n loader.config = 'here'\r\n loader.deep = loader.deep || {};\r\n loader.deep.config = { too: 'too' };\r\n\r\n\r\n Normalizes meta and package configs allowing for:\r\n\r\n SystemJS.config({\r\n meta: {\r\n './index.js': {}\r\n }\r\n });\r\n\r\n To become\r\n\r\n SystemJS.meta['https://thissite.com/index.js'] = {};\r\n\r\n For easy normalization canonicalization with latest URL support.\r\n\r\n*/\r\nvar envConfigNames = ['browserConfig', 'nodeConfig', 'devConfig', 'buildConfig', 'productionConfig'];\r\nfunction envSet(loader, cfg, envCallback) {\r\n for (var i = 0; i < envConfigNames.length; i++) {\r\n var envConfig = envConfigNames[i];\r\n if (cfg[envConfig] && envModule[envConfig.substr(0, envConfig.length - 6)])\r\n envCallback(cfg[envConfig]);\r\n }\r\n}\r\n\r\nfunction cloneObj (obj, maxDepth) {\r\n var clone = {};\r\n for (var p in obj) {\r\n var prop = obj[p];\r\n if (maxDepth > 1) {\r\n if (prop instanceof Array)\r\n clone[p] = [].concat(prop);\r\n else if (typeof prop === 'object')\r\n clone[p] = cloneObj(prop, maxDepth - 1);\r\n else if (p !== 'packageConfig')\r\n clone[p] = prop;\r\n }\r\n else {\r\n clone[p] = prop;\r\n }\r\n }\r\n return clone;\r\n}\r\n\r\nexport function getConfigItem (config, p) {\r\n var cfgItem = config[p];\r\n\r\n // getConfig must return an unmodifiable clone of the configuration\r\n if (cfgItem instanceof Array)\r\n return config[p].concat([]);\r\n else if (typeof cfgItem === 'object')\r\n return cloneObj(cfgItem, 3)\r\n else\r\n return config[p];\r\n}\r\n\r\nexport function getConfig (configName) {\r\n if (configName) {\r\n if (configNames.indexOf(configName) !== -1)\r\n return getConfigItem(this[CONFIG], configName);\r\n throw new Error('\"' + configName + '\" is not a valid configuration name. Must be one of ' + configNames.join(', ') + '.');\r\n }\r\n\r\n var cfg = {};\r\n for (var i = 0; i < configNames.length; i++) {\r\n var p = configNames[i];\r\n var configItem = getConfigItem(this[CONFIG], p);\r\n if (configItem !== undefined)\r\n cfg[p] = configItem;\r\n }\r\n return cfg;\r\n}\r\n\r\nexport function setConfig (cfg, isEnvConfig) {\r\n var loader = this;\r\n var config = this[CONFIG];\r\n\r\n if ('warnings' in cfg)\r\n config.warnings = cfg.warnings;\r\n\r\n if ('wasm' in cfg)\r\n config.wasm = typeof WebAssembly !== 'undefined' && cfg.wasm;\r\n\r\n if ('production' in cfg || 'build' in cfg)\r\n setProduction.call(loader, !!cfg.production, !!(cfg.build || envModule && envModule.build));\r\n\r\n if (!isEnvConfig) {\r\n // if using nodeConfig / browserConfig / productionConfig, take baseURL from there\r\n // these exceptions will be unnecessary when we can properly implement config queuings\r\n var baseURL;\r\n envSet(loader, cfg, function(cfg) {\r\n baseURL = baseURL || cfg.baseURL;\r\n });\r\n baseURL = baseURL || cfg.baseURL;\r\n\r\n // always configure baseURL first\r\n if (baseURL) {\r\n config.baseURL = resolveIfNotPlain(baseURL, baseURI) || resolveIfNotPlain('./' + baseURL, baseURI);\r\n if (config.baseURL[config.baseURL.length - 1] !== '/')\r\n config.baseURL += '/';\r\n }\r\n\r\n if (cfg.paths)\r\n extend(config.paths, cfg.paths);\r\n\r\n envSet(loader, cfg, function(cfg) {\r\n if (cfg.paths)\r\n extend(config.paths, cfg.paths);\r\n });\r\n\r\n for (var p in config.paths) {\r\n if (config.paths[p].indexOf('*') === -1)\r\n continue;\r\n warn.call(config, 'Path config ' + p + ' -> ' + config.paths[p] + ' is no longer supported as wildcards are deprecated.');\r\n delete config.paths[p];\r\n }\r\n }\r\n\r\n if (cfg.defaultJSExtensions)\r\n warn.call(config, 'The defaultJSExtensions configuration option is deprecated.\\n Use packages defaultExtension instead.', true);\r\n\r\n if (typeof cfg.pluginFirst === 'boolean')\r\n config.pluginFirst = cfg.pluginFirst;\r\n\r\n if (cfg.map) {\r\n for (var p in cfg.map) {\r\n var v = cfg.map[p];\r\n\r\n if (typeof v === 'string') {\r\n var mapped = coreResolve.call(loader, config, v, undefined, false, false);\r\n if (mapped[mapped.length -1] === '/' && p[p.length - 1] !== ':' && p[p.length - 1] !== '/')\r\n mapped = mapped.substr(0, mapped.length - 1);\r\n config.map[p] = mapped;\r\n }\r\n\r\n // object map\r\n else {\r\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\r\n pkgName = pkgName.substr(0, pkgName.length - 1);\r\n\r\n var pkg = config.packages[pkgName];\r\n if (!pkg) {\r\n pkg = config.packages[pkgName] = createPackage();\r\n // use '' instead of false to keep type consistent\r\n pkg.defaultExtension = '';\r\n }\r\n setPkgConfig(pkg, { map: v }, pkgName, false, config);\r\n }\r\n }\r\n }\r\n\r\n if (cfg.packageConfigPaths) {\r\n var packageConfigPaths = [];\r\n for (var i = 0; i < cfg.packageConfigPaths.length; i++) {\r\n var path = cfg.packageConfigPaths[i];\r\n var packageLength = Math.max(path.lastIndexOf('*') + 1, path.lastIndexOf('/'));\r\n var normalized = coreResolve.call(loader, config, path.substr(0, packageLength), undefined, false, false);\r\n packageConfigPaths[i] = normalized + path.substr(packageLength);\r\n }\r\n config.packageConfigPaths = packageConfigPaths;\r\n }\r\n\r\n if (cfg.bundles) {\r\n for (var p in cfg.bundles) {\r\n var bundle = [];\r\n for (var i = 0; i < cfg.bundles[p].length; i++)\r\n bundle.push(loader.normalizeSync(cfg.bundles[p][i]));\r\n config.bundles[p] = bundle;\r\n }\r\n }\r\n\r\n if (cfg.packages) {\r\n for (var p in cfg.packages) {\r\n if (p.match(/^([^\\/]+:)?\\/\\/$/))\r\n throw new TypeError('\"' + p + '\" is not a valid package name.');\r\n\r\n var pkgName = coreResolve.call(loader, config, p[p.length - 1] !== '/' ? p + '/' : p, undefined, true, true);\r\n pkgName = pkgName.substr(0, pkgName.length - 1);\r\n\r\n setPkgConfig(config.packages[pkgName] = config.packages[pkgName] || createPackage(), cfg.packages[p], pkgName, false, config);\r\n }\r\n }\r\n\r\n if (cfg.depCache) {\r\n for (var p in cfg.depCache)\r\n config.depCache[loader.normalizeSync(p)] = [].concat(cfg.depCache[p]);\r\n }\r\n\r\n if (cfg.meta) {\r\n for (var p in cfg.meta) {\r\n // base wildcard stays base\r\n if (p[0] === '*') {\r\n extend(config.meta[p] = config.meta[p] || {}, cfg.meta[p]);\r\n }\r\n else {\r\n var resolved = coreResolve.call(loader, config, p, undefined, true, true);\r\n extend(config.meta[resolved] = config.meta[resolved] || {}, cfg.meta[p]);\r\n }\r\n }\r\n }\r\n\r\n if ('transpiler' in cfg)\r\n config.transpiler = cfg.transpiler;\r\n\r\n\r\n // copy any remaining non-standard configuration properties\r\n for (var c in cfg) {\r\n if (configNames.indexOf(c) !== -1)\r\n continue;\r\n if (envConfigNames.indexOf(c) !== -1)\r\n continue;\r\n\r\n // warn.call(config, 'Setting custom config option `System.config({ ' + c + ': ... })` is deprecated. Avoid custom config options or set SystemJS.' + c + ' = ... directly.');\r\n loader[c] = cfg[c];\r\n }\r\n\r\n envSet(loader, cfg, function(cfg) {\r\n loader.config(cfg, true);\r\n });\r\n}\r\n\r\nexport function createPackage () {\r\n return {\r\n defaultExtension: undefined,\r\n main: undefined,\r\n format: undefined,\r\n meta: undefined,\r\n map: undefined,\r\n packageConfig: undefined,\r\n configured: false\r\n };\r\n}\r\n\r\n// deeply-merge (to first level) config with any existing package config\r\nexport function setPkgConfig (pkg, cfg, pkgName, prependConfig, config) {\r\n for (var prop in cfg) {\r\n if (prop === 'main' || prop === 'format' || prop === 'defaultExtension' || prop === 'configured') {\r\n if (!prependConfig || pkg[prop] === undefined)\r\n pkg[prop] = cfg[prop];\r\n }\r\n else if (prop === 'map') {\r\n (prependConfig ? prepend : extend)(pkg.map = pkg.map || {}, cfg.map);\r\n }\r\n else if (prop === 'meta') {\r\n (prependConfig ? prepend : extend)(pkg.meta = pkg.meta || {}, cfg.meta);\r\n }\r\n else if (Object.hasOwnProperty.call(cfg, prop)) {\r\n warn.call(config, '\"' + prop + '\" is not a valid package configuration option in package ' + pkgName);\r\n }\r\n }\r\n\r\n // default defaultExtension for packages only\r\n if (pkg.defaultExtension === undefined)\r\n pkg.defaultExtension = 'js';\r\n\r\n if (pkg.main === undefined && pkg.map && pkg.map['.']) {\r\n pkg.main = pkg.map['.'];\r\n delete pkg.map['.'];\r\n }\r\n // main object becomes main map\r\n else if (typeof pkg.main === 'object') {\r\n pkg.map = pkg.map || {};\r\n pkg.map['./@main'] = pkg.main;\r\n pkg.main['default'] = pkg.main['default'] || './';\r\n pkg.main = '@main';\r\n }\r\n\r\n return pkg;\r\n}\r\n","import { isBrowser, global } from './common.js';\r\n\r\nvar hasBuffer = typeof Buffer !== 'undefined';\r\ntry {\r\n if (hasBuffer && new Buffer('a').toString('base64') !== 'YQ==')\r\n hasBuffer = false;\r\n}\r\ncatch (e) {\r\n hasBuffer = false;\r\n}\r\n\r\nvar sourceMapPrefix = '\\n//# sourceMapping' + 'URL=data:application/json;base64,';\r\nfunction inlineSourceMap (sourceMapString) {\r\n if (hasBuffer)\r\n return sourceMapPrefix + new Buffer(sourceMapString).toString('base64');\r\n else if (typeof btoa !== 'undefined')\r\n return sourceMapPrefix + btoa(unescape(encodeURIComponent(sourceMapString)));\r\n else\r\n return '';\r\n}\r\n\r\nfunction getSource(source, sourceMap, address, wrap) {\r\n var lastLineIndex = source.lastIndexOf('\\n');\r\n\r\n if (sourceMap) {\r\n if (typeof sourceMap != 'object')\r\n throw new TypeError('load.metadata.sourceMap must be set to an object.');\r\n\r\n sourceMap = JSON.stringify(sourceMap);\r\n }\r\n\r\n return (wrap ? '(function(System, SystemJS) {' : '') + source + (wrap ? '\\n})(System, System);' : '')\r\n // adds the sourceURL comment if not already present\r\n + (source.substr(lastLineIndex, 15) != '\\n//# sourceURL='\r\n ? '\\n//# sourceURL=' + address + (sourceMap ? '!transpiled' : '') : '')\r\n // add sourceMappingURL if load.metadata.sourceMap is set\r\n + (sourceMap && inlineSourceMap(sourceMap) || '');\r\n}\r\n\r\n// script execution via injecting a script tag into the page\r\n// this allows CSP nonce to be set for CSP environments\r\nvar head;\r\nfunction scriptExec(loader, source, sourceMap, address, nonce) {\r\n if (!head)\r\n head = document.head || document.body || document.documentElement;\r\n\r\n var script = document.createElement('script');\r\n script.text = getSource(source, sourceMap, address, false);\r\n var onerror = window.onerror;\r\n var e;\r\n window.onerror = function(_e) {\r\n e = addToError(_e, 'Evaluating ' + address);\r\n if (onerror)\r\n onerror.apply(this, arguments);\r\n }\r\n preExec(loader);\r\n\r\n if (nonce)\r\n script.setAttribute('nonce', nonce);\r\n\r\n head.appendChild(script);\r\n head.removeChild(script);\r\n postExec();\r\n window.onerror = onerror;\r\n if (e)\r\n return e;\r\n}\r\n\r\nvar vm;\r\nvar useVm;\r\n\r\nvar curSystem;\r\n\r\nvar callCounter = 0;\r\nfunction preExec (loader) {\r\n if (callCounter++ == 0)\r\n curSystem = global.System;\r\n global.System = global.SystemJS = loader;\r\n}\r\nfunction postExec () {\r\n if (--callCounter == 0)\r\n global.System = global.SystemJS = curSystem;\r\n}\r\n\r\nvar supportsScriptExec = false;\r\nif (isBrowser && typeof document != 'undefined' && document.getElementsByTagName) {\r\n if (!(window.chrome && window.chrome.extension || navigator.userAgent.match(/^Node\\.js/)))\r\n supportsScriptExec = true;\r\n}\r\n\r\nexport function evaluate (loader, source, sourceMap, address, integrity, nonce, noWrap) {\r\n if (!source)\r\n return;\r\n if (nonce && supportsScriptExec)\r\n return scriptExec(loader, source, sourceMap, address, nonce);\r\n try {\r\n preExec(loader);\r\n // global scoped eval for node (avoids require scope leak)\r\n if (!vm && loader._nodeRequire) {\r\n vm = loader._nodeRequire('vm');\r\n useVm = vm.runInThisContext(\"typeof System !== 'undefined' && System\") === loader;\r\n }\r\n if (useVm)\r\n vm.runInThisContext(getSource(source, sourceMap, address, !noWrap), { filename: address + (sourceMap ? '!transpiled' : '') });\r\n else\r\n (0, eval)(getSource(source, sourceMap, address, !noWrap));\r\n postExec();\r\n }\r\n catch (e) {\r\n postExec();\r\n return e;\r\n }\r\n}\r\n","\r\nimport { isWindows, global, readMemberExpression, cjsRequireRegEx, noop } from './common.js';\r\n\r\nexport function setHelpers (loader) {\r\n loader.set('@@cjs-helpers', loader.newModule({\r\n requireResolve: requireResolve.bind(loader),\r\n getPathVars: getPathVars\r\n }));\r\n\r\n loader.set('@@global-helpers', loader.newModule({\r\n prepareGlobal: prepareGlobal\r\n }));\r\n}\r\n\r\nexport function setAmdHelper (loader) {\r\n\r\n /*\r\n AMD-compatible require\r\n To copy RequireJS, set window.require = window.requirejs = loader.amdRequire\r\n */\r\n function require (names, callback, errback, referer) {\r\n // in amd, first arg can be a config object... we just ignore\r\n if (typeof names === 'object' && !(names instanceof Array))\r\n return require.apply(null, Array.prototype.splice.call(arguments, 1, arguments.length - 1));\r\n\r\n // amd require\r\n if (typeof names === 'string' && typeof callback === 'function')\r\n names = [names];\r\n if (names instanceof Array) {\r\n var dynamicRequires = [];\r\n for (var i = 0; i < names.length; i++)\r\n dynamicRequires.push(loader.import(names[i], referer));\r\n Promise.all(dynamicRequires).then(function (modules) {\r\n if (callback)\r\n callback.apply(null, modules);\r\n }, errback);\r\n }\r\n\r\n // commonjs require\r\n else if (typeof names === 'string') {\r\n var normalized = loader.decanonicalize(names, referer);\r\n var module = loader.get(normalized);\r\n if (!module)\r\n throw new Error('Module not already loaded loading \"' + names + '\" as ' + normalized + (referer ? ' from \"' + referer + '\".' : '.'));\r\n return '__useDefault' in module ? module.__useDefault : module;\r\n }\r\n\r\n else\r\n throw new TypeError('Invalid require');\r\n }\r\n\r\n function define (name, deps, factory) {\r\n if (typeof name !== 'string') {\r\n factory = deps;\r\n deps = name;\r\n name = null;\r\n }\r\n\r\n if (!(deps instanceof Array)) {\r\n factory = deps;\r\n deps = ['require', 'exports', 'module'].splice(0, factory.length);\r\n }\r\n\r\n if (typeof factory !== 'function')\r\n factory = (function (factory) {\r\n return function() { return factory; }\r\n })(factory);\r\n\r\n if (!name) {\r\n if (curMetaDeps) {\r\n deps = deps.concat(curMetaDeps);\r\n curMetaDeps = undefined;\r\n }\r\n }\r\n\r\n // remove system dependencies\r\n var requireIndex, exportsIndex, moduleIndex;\r\n\r\n if ((requireIndex = deps.indexOf('require')) !== -1) {\r\n\r\n deps.splice(requireIndex, 1);\r\n\r\n // only trace cjs requires for non-named\r\n // named defines assume the trace has already been done\r\n if (!name)\r\n deps = deps.concat(amdGetCJSDeps(factory.toString(), requireIndex));\r\n }\r\n\r\n if ((exportsIndex = deps.indexOf('exports')) !== -1)\r\n deps.splice(exportsIndex, 1);\r\n\r\n if ((moduleIndex = deps.indexOf('module')) !== -1)\r\n deps.splice(moduleIndex, 1);\r\n\r\n function execute (req, exports, module) {\r\n var depValues = [];\r\n for (var i = 0; i < deps.length; i++)\r\n depValues.push(req(deps[i]));\r\n\r\n module.uri = module.id;\r\n\r\n module.config = noop;\r\n\r\n // add back in system dependencies\r\n if (moduleIndex !== -1)\r\n depValues.splice(moduleIndex, 0, module);\r\n\r\n if (exportsIndex !== -1)\r\n depValues.splice(exportsIndex, 0, exports);\r\n\r\n if (requireIndex !== -1) {\r\n var contextualRequire = function (names, callback, errback) {\r\n if (typeof names === 'string' && typeof callback !== 'function')\r\n return req(names);\r\n return require.call(loader, names, callback, errback, module.id);\r\n };\r\n contextualRequire.toUrl = function (name) {\r\n return loader.normalizeSync(name, module.id);\r\n };\r\n depValues.splice(requireIndex, 0, contextualRequire);\r\n }\r\n\r\n // set global require to AMD require\r\n var curRequire = global.require;\r\n global.require = require;\r\n\r\n var output = factory.apply(exportsIndex === -1 ? global : exports, depValues);\r\n\r\n global.require = curRequire;\r\n\r\n if (typeof output !== 'undefined')\r\n module.exports = output;\r\n }\r\n\r\n // anonymous define\r\n if (!name) {\r\n loader.registerDynamic(deps, false, curEsModule ? wrapEsModuleExecute(execute) : execute);\r\n }\r\n else {\r\n loader.registerDynamic(name, deps, false, execute);\r\n\r\n // if we don't have any other defines,\r\n // then let this be an anonymous define\r\n // this is just to support single modules of the form:\r\n // define('jquery')\r\n // still loading anonymously\r\n // because it is done widely enough to be useful\r\n // as soon as there is more than one define, this gets removed though\r\n if (lastNamedDefine) {\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = true;\r\n }\r\n else if (!multipleNamedDefines) {\r\n lastNamedDefine = [deps, execute];\r\n }\r\n }\r\n }\r\n define.amd = {};\r\n\r\n loader.amdDefine = define;\r\n loader.amdRequire = require;\r\n}\r\n\r\n// CJS\r\nvar windowOrigin;\r\nif (typeof window !== 'undefined' && typeof document !== 'undefined' && window.location)\r\n windowOrigin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');\r\n\r\nfunction stripOrigin(path) {\r\n if (path.substr(0, 8) === 'file:///')\r\n return path.substr(7 + !!isWindows);\r\n\r\n if (windowOrigin && path.substr(0, windowOrigin.length) === windowOrigin)\r\n return path.substr(windowOrigin.length);\r\n\r\n return path;\r\n}\r\n\r\nexport function requireResolve (request, parentId) {\r\n return stripOrigin(this.normalizeSync(request, parentId));\r\n}\r\n\r\nexport function getPathVars (moduleId) {\r\n // remove any plugin syntax\r\n var pluginIndex = moduleId.lastIndexOf('!');\r\n var filename;\r\n if (pluginIndex !== -1)\r\n filename = moduleId.substr(0, pluginIndex);\r\n else\r\n filename = moduleId;\r\n\r\n var dirname = filename.split('/');\r\n dirname.pop();\r\n dirname = dirname.join('/');\r\n\r\n return {\r\n filename: stripOrigin(filename),\r\n dirname: stripOrigin(dirname)\r\n };\r\n}\r\n\r\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\r\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\r\n\r\n// used to support leading #!/usr/bin/env in scripts as supported in Node\r\nvar hashBangRegEx = /^\\#\\!.*/;\r\n\r\n// extract CJS dependencies from source text via regex static analysis\r\n// read require('x') statements not in comments or strings\r\nexport function getCJSDeps (source) {\r\n cjsRequireRegEx.lastIndex = commentRegEx.lastIndex = stringRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n\r\n // track string and comment locations for unminified source\r\n var stringLocations = [], commentLocations = [];\r\n\r\n function inLocation (locations, match) {\r\n for (var i = 0; i < locations.length; i++)\r\n if (locations[i][0] < match.index && locations[i][1] > match.index)\r\n return true;\r\n return false;\r\n }\r\n\r\n if (source.length / source.split('\\n').length < 200) {\r\n while (match = stringRegEx.exec(source))\r\n stringLocations.push([match.index, match.index + match[0].length]);\r\n\r\n // TODO: track template literals here before comments\r\n\r\n while (match = commentRegEx.exec(source)) {\r\n // only track comments not starting in strings\r\n if (!inLocation(stringLocations, match))\r\n commentLocations.push([match.index + match[1].length, match.index + match[0].length - 1]);\r\n }\r\n }\r\n\r\n while (match = cjsRequireRegEx.exec(source)) {\r\n // ensure we're not within a string or comment location\r\n if (!inLocation(stringLocations, match) && !inLocation(commentLocations, match)) {\r\n var dep = match[1].substr(1, match[1].length - 2);\r\n // skip cases like require('\" + file + \"')\r\n if (dep.match(/\"|'/))\r\n continue;\r\n deps.push(dep);\r\n }\r\n }\r\n\r\n return deps;\r\n}\r\n\r\n// Global\r\n// bare minimum ignores\r\nvar ignoredGlobalProps = ['_g', 'sessionStorage', 'localStorage', 'clipboardData', 'frames', 'frameElement', 'external',\r\n 'mozAnimationStartTime', 'webkitStorageInfo', 'webkitIndexedDB', 'mozInnerScreenY', 'mozInnerScreenX'];\r\n\r\nvar globalSnapshot;\r\nexport function globalIterator (globalName) {\r\n if (ignoredGlobalProps.indexOf(globalName) !== -1)\r\n return;\r\n try {\r\n var value = global[globalName];\r\n }\r\n catch (e) {\r\n ignoredGlobalProps.push(globalName);\r\n }\r\n this(globalName, value);\r\n}\r\n\r\nexport function getGlobalValue (exports) {\r\n if (typeof exports === 'string')\r\n return readMemberExpression(exports, global);\r\n\r\n if (!(exports instanceof Array))\r\n throw new Error('Global exports must be a string or array.');\r\n\r\n var globalValue = {};\r\n for (var i = 0; i < exports.length; i++)\r\n globalValue[exports[i].split('.').pop()] = readMemberExpression(exports[i], global);\r\n return globalValue;\r\n}\r\n\r\nexport function prepareGlobal (moduleName, exports, globals, encapsulate) {\r\n // disable module detection\r\n var curDefine = global.define;\r\n\r\n global.define = undefined;\r\n\r\n // set globals\r\n var oldGlobals;\r\n if (globals) {\r\n oldGlobals = {};\r\n for (var g in globals) {\r\n oldGlobals[g] = global[g];\r\n global[g] = globals[g];\r\n }\r\n }\r\n\r\n // store a complete copy of the global object in order to detect changes\r\n if (!exports) {\r\n globalSnapshot = {};\r\n\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n globalSnapshot[name] = value;\r\n });\r\n }\r\n\r\n // return function to retrieve global\r\n return function () {\r\n var globalValue = exports ? getGlobalValue(exports) : {};\r\n\r\n var singleGlobal;\r\n var multipleExports = !!exports;\r\n\r\n if (!exports || encapsulate)\r\n Object.keys(global).forEach(globalIterator, function (name, value) {\r\n if (globalSnapshot[name] === value)\r\n return;\r\n if (value === undefined)\r\n return;\r\n\r\n // allow global encapsulation where globals are removed\r\n if (encapsulate)\r\n global[name] = undefined;\r\n\r\n if (!exports) {\r\n globalValue[name] = value;\r\n\r\n if (singleGlobal !== undefined) {\r\n if (!multipleExports && singleGlobal !== value)\r\n multipleExports = true;\r\n }\r\n else {\r\n singleGlobal = value;\r\n }\r\n }\r\n });\r\n\r\n globalValue = multipleExports ? globalValue : singleGlobal;\r\n\r\n // revert globals\r\n if (oldGlobals) {\r\n for (var g in oldGlobals)\r\n global[g] = oldGlobals[g];\r\n }\r\n global.define = curDefine;\r\n\r\n return globalValue;\r\n };\r\n}\r\n\r\n// AMD\r\nvar cjsRequirePre = \"(?:^|[^$_a-zA-Z\\\\xA0-\\\\uFFFF.])\";\r\nvar cjsRequirePost = \"\\\\s*\\\\(\\\\s*(\\\"([^\\\"]+)\\\"|'([^']+)')\\\\s*\\\\)\";\r\nvar fnBracketRegEx = /\\(([^\\)]*)\\)/;\r\nvar wsRegEx = /^\\s+|\\s+$/g;\r\n\r\nvar requireRegExs = {};\r\n\r\nfunction amdGetCJSDeps(source, requireIndex) {\r\n\r\n // remove comments\r\n source = source.replace(commentRegEx, '');\r\n\r\n // determine the require alias\r\n var params = source.match(fnBracketRegEx);\r\n var requireAlias = (params[1].split(',')[requireIndex] || 'require').replace(wsRegEx, '');\r\n\r\n // find or generate the regex for this requireAlias\r\n var requireRegEx = requireRegExs[requireAlias] || (requireRegExs[requireAlias] = new RegExp(cjsRequirePre + requireAlias + cjsRequirePost, 'g'));\r\n\r\n requireRegEx.lastIndex = 0;\r\n\r\n var deps = [];\r\n\r\n var match;\r\n while (match = requireRegEx.exec(source))\r\n deps.push(match[2] || match[3]);\r\n\r\n return deps;\r\n}\r\n\r\nfunction wrapEsModuleExecute (execute) {\r\n return function (require, exports, module) {\r\n execute(require, exports, module);\r\n exports = module.exports;\r\n if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports))\r\n Object.defineProperty(module.exports, '__esModule', {\r\n value: true\r\n });\r\n };\r\n}\r\n\r\n// generate anonymous define from singular named define\r\nvar multipleNamedDefines = false;\r\nvar lastNamedDefine;\r\nvar curMetaDeps;\r\nvar curEsModule = false;\r\nexport function clearLastDefine (metaDeps, esModule) {\r\n curMetaDeps = metaDeps;\r\n curEsModule = esModule;\r\n lastNamedDefine = undefined;\r\n multipleNamedDefines = false;\r\n}\r\nexport function registerLastDefine (loader) {\r\n if (lastNamedDefine)\r\n loader.registerDynamic(curMetaDeps ? lastNamedDefine[0].concat(curMetaDeps) : lastNamedDefine[0],\r\n false, curEsModule ? wrapEsModuleExecute(lastNamedDefine[1]) : lastNamedDefine[1]);\r\n\r\n // bundles are an empty module\r\n else if (multipleNamedDefines)\r\n loader.registerDynamic([], false, noop);\r\n}\r\n","import { scriptLoad, isBrowser, isWorker, global, cjsRequireRegEx, addToError, loadNodeModule,\r\n warn, CONFIG, METADATA, emptyModule, protectedCreateNamespace, resolvedPromise, preloadScript, checkInstantiateWasm } from './common.js';\r\nimport { evaluate } from './evaluate.js';\r\nimport fetch from './fetch.js';\r\nimport { getGlobalValue, getCJSDeps, requireResolve, getPathVars, prepareGlobal, clearLastDefine, registerLastDefine } from './format-helpers.js';\r\n\r\nvar supportsScriptLoad = (isBrowser || isWorker) && typeof navigator !== 'undefined' && navigator.userAgent && !navigator.userAgent.match(/MSIE (9|10).0/);\r\n\r\n// include the node require since we're overriding it\r\nexport var nodeRequire;\r\nif (typeof require !== 'undefined' && typeof process !== 'undefined' && !process.browser)\r\n nodeRequire = require;\r\n\r\nfunction setMetaEsModule (metadata, moduleValue) {\r\n if (metadata.load.esModule && (typeof moduleValue === 'object' || typeof moduleValue === 'function') &&\r\n !('__esModule' in moduleValue))\r\n Object.defineProperty(moduleValue, '__esModule', {\r\n value: true\r\n });\r\n}\r\n\r\nexport function instantiate (key, processAnonRegister) {\r\n var loader = this;\r\n var config = this[CONFIG];\r\n // first do bundles and depCache\r\n return (loadBundlesAndDepCache(config, this, key) || resolvedPromise)\r\n .then(function () {\r\n if (processAnonRegister())\r\n return;\r\n\r\n var metadata = loader[METADATA][key];\r\n\r\n // node module loading\r\n if (key.substr(0, 6) === '@node/') {\r\n if (!loader._nodeRequire)\r\n throw new TypeError('Error loading ' + key + '. Can only load node core modules in Node.');\r\n loader.registerDynamic([], false, function () {\r\n return loadNodeModule.call(loader, key.substr(6), loader.baseURL);\r\n });\r\n processAnonRegister();\r\n return;\r\n }\r\n\r\n if (metadata.load.scriptLoad ) {\r\n if (metadata.load.pluginKey || !supportsScriptLoad) {\r\n metadata.load.scriptLoad = false;\r\n warn.call(config, 'scriptLoad not supported for \"' + key + '\"');\r\n }\r\n }\r\n else if (metadata.load.scriptLoad !== false && !metadata.load.pluginKey && supportsScriptLoad) {\r\n // auto script load AMD, global without deps\r\n if (!metadata.load.deps && !metadata.load.globals &&\r\n (metadata.load.format === 'system' || metadata.load.format === 'register' || metadata.load.format === 'global' && metadata.load.exports))\r\n metadata.load.scriptLoad = true;\r\n }\r\n\r\n // fetch / translate / instantiate pipeline\r\n if (!metadata.load.scriptLoad)\r\n return initializePlugin(loader, key, metadata)\r\n .then(function () {\r\n return runFetchPipeline(loader, key, metadata, processAnonRegister, config.wasm);\r\n })\r\n\r\n // just script loading\r\n return new Promise(function (resolve, reject) {\r\n if (metadata.load.format === 'amd' && global.define !== loader.amdDefine)\r\n throw new Error('Loading AMD with scriptLoad requires setting the global `' + globalName + '.define = SystemJS.amdDefine`');\r\n\r\n scriptLoad(key, metadata.load.crossOrigin, metadata.load.integrity, function () {\r\n if (!processAnonRegister()) {\r\n metadata.load.format = 'global';\r\n var globalValue = metadata.load.exports && getGlobalValue(metadata.load.exports);\r\n loader.registerDynamic([], false, function () {\r\n setMetaEsModule(metadata, globalValue);\r\n return globalValue;\r\n });\r\n processAnonRegister();\r\n }\r\n\r\n resolve();\r\n }, reject);\r\n });\r\n })\r\n .then(function (instantiated) {\r\n delete loader[METADATA][key];\r\n return instantiated;\r\n });\r\n};\r\n\r\nfunction initializePlugin (loader, key, metadata) {\r\n if (!metadata.pluginKey)\r\n return resolvedPromise;\r\n\r\n return loader.import(metadata.pluginKey).then(function (plugin) {\r\n metadata.pluginModule = plugin;\r\n metadata.pluginLoad = {\r\n name: key,\r\n address: metadata.pluginArgument,\r\n source: undefined,\r\n metadata: metadata.load\r\n };\r\n metadata.load.deps = metadata.load.deps || [];\r\n });\r\n}\r\n\r\nfunction loadBundlesAndDepCache (config, loader, key) {\r\n // load direct deps, in turn will pick up their trace trees\r\n var deps = config.depCache[key];\r\n if (deps) {\r\n for (var i = 0; i < deps.length; i++)\r\n loader.normalize(deps[i], key).then(preloadScript);\r\n }\r\n else {\r\n var matched = false;\r\n for (var b in config.bundles) {\r\n for (var i = 0; i < config.bundles[b].length; i++) {\r\n var curModule = config.bundles[b][i];\r\n\r\n if (curModule === key) {\r\n matched = true;\r\n break;\r\n }\r\n\r\n // wildcard in bundles includes / boundaries\r\n if (curModule.indexOf('*') !== -1) {\r\n var parts = curModule.split('*');\r\n if (parts.length !== 2) {\r\n config.bundles[b].splice(i--, 1);\r\n continue;\r\n }\r\n\r\n if (key.substr(0, parts[0].length) === parts[0] &&\r\n key.substr(key.length - parts[1].length, parts[1].length) === parts[1]) {\r\n matched = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (matched)\r\n return loader.import(b);\r\n }\r\n }\r\n}\r\n\r\nfunction runFetchPipeline (loader, key, metadata, processAnonRegister, wasm) {\r\n if (metadata.load.exports && !metadata.load.format)\r\n metadata.load.format = 'global';\r\n\r\n return resolvedPromise\r\n\r\n // locate\r\n .then(function () {\r\n if (!metadata.pluginModule || !metadata.pluginModule.locate)\r\n return;\r\n\r\n return Promise.resolve(metadata.pluginModule.locate.call(loader, metadata.pluginLoad))\r\n .then(function (address) {\r\n if (address)\r\n metadata.pluginLoad.address = address;\r\n });\r\n })\r\n\r\n // fetch\r\n .then(function () {\r\n if (!metadata.pluginModule)\r\n return fetch(key, metadata.load.authorization, metadata.load.integrity, wasm);\r\n\r\n wasm = false;\r\n\r\n if (!metadata.pluginModule.fetch)\r\n return fetch(metadata.pluginLoad.address, metadata.load.authorization, metadata.load.integrity, false);\r\n\r\n return metadata.pluginModule.fetch.call(loader, metadata.pluginLoad, function (load) {\r\n return fetch(load.address, metadata.load.authorization, metadata.load.integrity, false);\r\n });\r\n })\r\n\r\n .then(function (fetched) {\r\n // fetch is already a utf-8 string if not doing wasm detection\r\n if (!wasm || typeof fetched === 'string')\r\n return translateAndInstantiate(loader, key, fetched, metadata, processAnonRegister);\r\n\r\n return checkInstantiateWasm(loader, fetched, processAnonRegister)\r\n .then(function (wasmInstantiated) {\r\n if (wasmInstantiated)\r\n return;\r\n\r\n // not wasm -> convert buffer into utf-8 string to execute as a module\r\n // TextDecoder compatibility matches WASM currently. Need to keep checking this.\r\n // The TextDecoder interface is documented at http://encoding.spec.whatwg.org/#interface-textdecoder\r\n var stringSource = isBrowser ? new TextDecoder('utf-8').decode(new Uint8Array(fetched)) : fetched.toString();\r\n return translateAndInstantiate(loader, key, stringSource, metadata, processAnonRegister);\r\n });\r\n });\r\n}\r\n\r\nfunction translateAndInstantiate (loader, key, source, metadata, processAnonRegister) {\r\n return Promise.resolve(source)\r\n // translate\r\n .then(function (source) {\r\n if (metadata.load.format === 'detect')\r\n metadata.load.format = undefined;\r\n\r\n readMetaSyntax(source, metadata);\r\n\r\n if (!metadata.pluginModule)\r\n return source;\r\n\r\n metadata.pluginLoad.source = source;\r\n\r\n if (!metadata.pluginModule.translate)\r\n return source;\r\n\r\n return Promise.resolve(metadata.pluginModule.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\r\n .then(function (translated) {\r\n if (metadata.load.sourceMap) {\r\n if (typeof metadata.load.sourceMap !== 'object')\r\n throw new Error('metadata.load.sourceMap must be set to an object.');\r\n sanitizeSourceMap(metadata.pluginLoad.address, metadata.load.sourceMap);\r\n }\r\n\r\n if (typeof translated === 'string')\r\n return translated;\r\n else\r\n return metadata.pluginLoad.source;\r\n });\r\n })\r\n .then(function (source) {\r\n if (!metadata.load.format && source.substring(0, 8) === '\"bundle\"') {\r\n metadata.load.format = 'system';\r\n return source;\r\n }\r\n\r\n if (metadata.load.format === 'register' || !metadata.load.format && detectRegisterFormat(source)) {\r\n metadata.load.format = 'register';\r\n return source;\r\n }\r\n\r\n if (metadata.load.format !== 'esm' && (metadata.load.format || !source.match(esmRegEx))) {\r\n return source;\r\n }\r\n\r\n metadata.load.format = 'esm';\r\n return transpile(loader, source, key, metadata, processAnonRegister);\r\n })\r\n\r\n // instantiate\r\n .then(function (translated) {\r\n if (typeof translated !== 'string' || !metadata.pluginModule || !metadata.pluginModule.instantiate)\r\n return translated;\r\n\r\n var calledInstantiate = false;\r\n metadata.pluginLoad.source = translated;\r\n return Promise.resolve(metadata.pluginModule.instantiate.call(loader, metadata.pluginLoad, function (load) {\r\n translated = load.source;\r\n metadata.load = load.metadata;\r\n if (calledInstantiate)\r\n throw new Error('Instantiate must only be called once.');\r\n calledInstantiate = true;\r\n }))\r\n .then(function (result) {\r\n if (calledInstantiate)\r\n return translated;\r\n return protectedCreateNamespace(result);\r\n });\r\n })\r\n .then(function (source) {\r\n // plugin instantiate result case\r\n if (typeof source !== 'string')\r\n return source;\r\n\r\n if (!metadata.load.format)\r\n metadata.load.format = detectLegacyFormat(source);\r\n\r\n var registered = false;\r\n\r\n switch (metadata.load.format) {\r\n case 'esm':\r\n case 'register':\r\n case 'system':\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\r\n if (err)\r\n throw err;\r\n if (!processAnonRegister())\r\n return emptyModule;\r\n return;\r\n break;\r\n\r\n case 'json':\r\n // warn.call(config, '\"json\" module format is deprecated.');\r\n var parsed = JSON.parse(source);\r\n return loader.newModule({ default: parsed, __useDefault: parsed });\r\n\r\n case 'amd':\r\n var curDefine = global.define;\r\n global.define = loader.amdDefine;\r\n\r\n clearLastDefine(metadata.load.deps, metadata.load.esModule);\r\n\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\r\n\r\n // if didn't register anonymously, use the last named define if only one\r\n registered = processAnonRegister();\r\n if (!registered) {\r\n registerLastDefine(loader);\r\n registered = processAnonRegister();\r\n }\r\n\r\n global.define = curDefine;\r\n\r\n if (err)\r\n throw err;\r\n break;\r\n\r\n case 'cjs':\r\n var metaDeps = metadata.load.deps;\r\n var deps = (metadata.load.deps || []).concat(metadata.load.cjsRequireDetection ? getCJSDeps(source) : []);\r\n\r\n for (var g in metadata.load.globals)\r\n if (metadata.load.globals[g])\r\n deps.push(metadata.load.globals[g]);\r\n\r\n loader.registerDynamic(deps, true, function (require, exports, module) {\r\n require.resolve = function (key) {\r\n return requireResolve.call(loader, key, module.id);\r\n };\r\n // support module.paths ish\r\n module.paths = [];\r\n module.require = require;\r\n\r\n // ensure meta deps execute first\r\n if (!metadata.load.cjsDeferDepsExecute && metaDeps)\r\n for (var i = 0; i < metaDeps.length; i++)\r\n require(metaDeps[i]);\r\n\r\n var pathVars = getPathVars(module.id);\r\n var __cjsWrapper = {\r\n exports: exports,\r\n args: [require, exports, module, pathVars.filename, pathVars.dirname, global, global]\r\n };\r\n\r\n var cjsWrapper = \"(function (require, exports, module, __filename, __dirname, global, GLOBAL\";\r\n\r\n // add metadata.globals to the wrapper arguments\r\n if (metadata.load.globals)\r\n for (var g in metadata.load.globals) {\r\n __cjsWrapper.args.push(require(metadata.load.globals[g]));\r\n cjsWrapper += \", \" + g;\r\n }\r\n\r\n // disable AMD detection\r\n var define = global.define;\r\n global.define = undefined;\r\n global.__cjsWrapper = __cjsWrapper;\r\n\r\n source = cjsWrapper + \") {\" + source.replace(hashBangRegEx, '') + \"\\n}).apply(__cjsWrapper.exports, __cjsWrapper.args);\";\r\n\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, false);\r\n if (err)\r\n throw err;\r\n\r\n setMetaEsModule(metadata, exports);\r\n\r\n global.__cjsWrapper = undefined;\r\n global.define = define;\r\n });\r\n registered = processAnonRegister();\r\n break;\r\n\r\n case 'global':\r\n var deps = metadata.load.deps || [];\r\n for (var g in metadata.load.globals) {\r\n var gl = metadata.load.globals[g];\r\n if (gl)\r\n deps.push(gl);\r\n }\r\n\r\n loader.registerDynamic(deps, false, function (require, exports, module) {\r\n var globals;\r\n if (metadata.load.globals) {\r\n globals = {};\r\n for (var g in metadata.load.globals)\r\n if (metadata.load.globals[g])\r\n globals[g] = require(metadata.load.globals[g]);\r\n }\r\n\r\n var exportName = metadata.load.exports;\r\n\r\n if (exportName)\r\n source += '\\n' + globalName + '[\"' + exportName + '\"] = ' + exportName + ';';\r\n\r\n var retrieveGlobal = prepareGlobal(module.id, exportName, globals, metadata.load.encapsulateGlobal);\r\n var err = evaluate(loader, source, metadata.load.sourceMap, key, metadata.load.integrity, metadata.load.nonce, true);\r\n\r\n if (err)\r\n throw err;\r\n\r\n var output = retrieveGlobal();\r\n setMetaEsModule(metadata, output);\r\n return output;\r\n });\r\n registered = processAnonRegister();\r\n break;\r\n\r\n default:\r\n throw new TypeError('Unknown module format \"' + metadata.load.format + '\" for \"' + key + '\".' + (metadata.load.format === 'es6' ? ' Use \"esm\" instead here.' : ''));\r\n }\r\n\r\n if (!registered)\r\n throw new Error('Module ' + key + ' detected as ' + metadata.load.format + ' but didn\\'t execute correctly.');\r\n });\r\n}\r\n\r\nvar globalName = typeof self != 'undefined' ? 'self' : 'global';\r\n\r\n// good enough ES6 module detection regex - format detections not designed to be accurate, but to handle the 99% use case\r\nexport var esmRegEx = /(^\\s*|[}\\);\\n]\\s*)(import\\s*(['\"]|(\\*\\s+as\\s+)?(?!type)([^\"'\\(\\)\\n; ]+)\\s*from\\s*['\"]|\\{)|export\\s+\\*\\s+from\\s+[\"']|export\\s*(\\{|default|function|class|var|const|let|async\\s+function))/;\r\n\r\nvar leadingCommentAndMetaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)*\\s*/;\r\nexport function detectRegisterFormat(source) {\r\n var leadingCommentAndMeta = source.match(leadingCommentAndMetaRegEx);\r\n return leadingCommentAndMeta && source.substr(leadingCommentAndMeta[0].length, 15) === 'System.register';\r\n}\r\n\r\n// AMD Module Format Detection RegEx\r\n// define([.., .., ..], ...)\r\n// define(varName); || define(function(require, exports) {}); || define({})\r\nvar amdRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])define\\s*\\(\\s*(\"[^\"]+\"\\s*,\\s*|'[^']+'\\s*,\\s*)?\\s*(\\[(\\s*((\"[^\"]+\"|'[^']+')\\s*,|\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*(\\s*(\"[^\"]+\"|'[^']+')\\s*,?)?(\\s*(\\/\\/.*\\r?\\n|\\/\\*(.|\\s)*?\\*\\/))*\\s*\\]|function\\s*|{|[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*\\))/;\r\n\r\n/// require('...') || exports[''] = ... || exports.asd = ... || module.exports = ...\r\nvar cjsExportsRegEx = /(?:^\\uFEFF?|[^$_a-zA-Z\\xA0-\\uFFFF.])(exports\\s*(\\[['\"]|\\.)|module(\\.exports|\\['exports'\\]|\\[\"exports\"\\])\\s*(\\[['\"]|[=,\\.]))/;\r\nvar commentRegEx = /(^|[^\\\\])(\\/\\*([\\s\\S]*?)\\*\\/|([^:]|^)\\/\\/(.*)$)/mg;\r\n\r\nvar stringRegEx = /(\"[^\"\\\\\\n\\r]*(\\\\.[^\"\\\\\\n\\r]*)*\"|'[^'\\\\\\n\\r]*(\\\\.[^'\\\\\\n\\r]*)*')/g;\r\n\r\n// used to support leading #!/usr/bin/env in scripts as supported in Node\r\nvar hashBangRegEx = /^\\#\\!.*/;\r\n\r\nexport function detectLegacyFormat (source) {\r\n if (source.match(amdRegEx))\r\n return 'amd';\r\n\r\n cjsExportsRegEx.lastIndex = 0;\r\n cjsRequireRegEx.lastIndex = 0;\r\n if (cjsRequireRegEx.exec(source) || cjsExportsRegEx.exec(source))\r\n return 'cjs';\r\n\r\n // global is the fallback format\r\n return 'global';\r\n}\r\n\r\nfunction sanitizeSourceMap (address, sourceMap) {\r\n var originalName = address.split('!')[0];\r\n\r\n // force set the filename of the original file\r\n if (!sourceMap.file || sourceMap.file == address)\r\n sourceMap.file = originalName + '!transpiled';\r\n\r\n // force set the sources list if only one source\r\n if (!sourceMap.sources || sourceMap.sources.length <= 1 && (!sourceMap.sources[0] || sourceMap.sources[0] === address))\r\n sourceMap.sources = [originalName];\r\n}\r\n\r\nfunction transpile (loader, source, key, metadata, processAnonRegister) {\r\n if (!loader.transpiler)\r\n throw new TypeError('Unable to dynamically transpile ES module\\n A loader plugin needs to be configured via `SystemJS.config({ transpiler: \\'transpiler-module\\' })`.');\r\n\r\n // deps support for es transpile\r\n if (metadata.load.deps) {\r\n var depsPrefix = '';\r\n for (var i = 0; i < metadata.load.deps.length; i++)\r\n depsPrefix += 'import \"' + metadata.load.deps[i] + '\"; ';\r\n source = depsPrefix + source;\r\n }\r\n\r\n // do transpilation\r\n return loader.import.call(loader, loader.transpiler)\r\n .then(function (transpiler) {\r\n transpiler = transpiler.__useDefault || transpiler;\r\n\r\n // translate hooks means this is a transpiler plugin instead of a raw implementation\r\n if (!transpiler.translate)\r\n throw new Error(loader.transpiler + ' is not a valid transpiler plugin.');\r\n\r\n // if transpiler is the same as the plugin loader, then don't run twice\r\n if (transpiler === metadata.pluginModule)\r\n return source;\r\n\r\n // convert the source map into an object for transpilation chaining\r\n if (typeof metadata.load.sourceMap === 'string')\r\n metadata.load.sourceMap = JSON.parse(metadata.load.sourceMap);\r\n\r\n metadata.pluginLoad = metadata.pluginLoad || {\r\n name: key,\r\n address: key,\r\n source: source,\r\n metadata: metadata.load\r\n };\r\n metadata.load.deps = metadata.load.deps || [];\r\n\r\n return Promise.resolve(transpiler.translate.call(loader, metadata.pluginLoad, metadata.traceOpts))\r\n .then(function (source) {\r\n // sanitize sourceMap if an object not a JSON string\r\n var sourceMap = metadata.load.sourceMap;\r\n if (sourceMap && typeof sourceMap === 'object')\r\n sanitizeSourceMap(key, sourceMap);\r\n\r\n if (metadata.load.format === 'esm' && detectRegisterFormat(source))\r\n metadata.load.format = 'register';\r\n\r\n return source;\r\n });\r\n }, function (err) {\r\n throw addToError(err, 'Unable to load transpiler to transpile ' + key);\r\n });\r\n}\r\n\r\n// detect any meta header syntax\r\n// only set if not already set\r\nvar metaRegEx = /^(\\s*\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\s*\\/\\/[^\\n]*|\\s*\"[^\"]+\"\\s*;?|\\s*'[^']+'\\s*;?)+/;\r\nvar metaPartRegEx = /\\/\\*[^\\*]*(\\*(?!\\/)[^\\*]*)*\\*\\/|\\/\\/[^\\n]*|\"[^\"]+\"\\s*;?|'[^']+'\\s*;?/g;\r\n\r\nfunction setMetaProperty(target, p, value) {\r\n var pParts = p.split('.');\r\n var curPart;\r\n while (pParts.length > 1) {\r\n curPart = pParts.shift();\r\n target = target[curPart] = target[curPart] || {};\r\n }\r\n curPart = pParts.shift();\r\n if (target[curPart] === undefined)\r\n target[curPart] = value;\r\n}\r\n\r\nfunction readMetaSyntax (source, metadata) {\r\n var meta = source.match(metaRegEx);\r\n if (!meta)\r\n return;\r\n\r\n var metaParts = meta[0].match(metaPartRegEx);\r\n\r\n for (var i = 0; i < metaParts.length; i++) {\r\n var curPart = metaParts[i];\r\n var len = curPart.length;\r\n\r\n var firstChar = curPart.substr(0, 1);\r\n if (curPart.substr(len - 1, 1) == ';')\r\n len--;\r\n\r\n if (firstChar != '\"' && firstChar != \"'\")\r\n continue;\r\n\r\n var metaString = curPart.substr(1, curPart.length - 3);\r\n var metaName = metaString.substr(0, metaString.indexOf(' '));\r\n\r\n if (metaName) {\r\n var metaValue = metaString.substr(metaName.length + 1, metaString.length - metaName.length - 1);\r\n\r\n if (metaName === 'deps')\r\n metaName = 'deps[]';\r\n\r\n if (metaName.substr(metaName.length - 2, 2) === '[]') {\r\n metaName = metaName.substr(0, metaName.length - 2);\r\n metadata.load[metaName] = metadata.load[metaName] || [];\r\n metadata.load[metaName].push(metaValue);\r\n }\r\n // \"use strict\" is not meta\r\n else if (metaName !== 'use') {\r\n setMetaProperty(metadata.load, metaName, metaValue);\r\n }\r\n }\r\n else {\r\n metadata.load[metaString] = true;\r\n }\r\n }\r\n}\r\n","import RegisterLoader from 'es-module-loader/core/register-loader.js';\r\nimport { warn, isBrowser, global, baseURI, CONFIG, METADATA, ModuleNamespace, emptyModule, isModule } from './common.js';\r\n\r\nimport { getConfig, getConfigItem, setConfig } from './config.js';\r\nimport { decanonicalize, normalize, normalizeSync } from './resolve.js';\r\nimport { instantiate, nodeRequire } from './instantiate.js';\r\nimport { setHelpers, setAmdHelper } from './format-helpers.js';\r\n\r\nexport default SystemJSLoader;\r\n\r\nvar scriptSrc;\r\n\r\n// Promise detection and error message\r\nif (typeof Promise === 'undefined')\r\n throw new Error('SystemJS needs a Promise polyfill.');\r\n\r\nif (typeof document !== 'undefined') {\r\n var scripts = document.getElementsByTagName('script');\r\n var curScript = scripts[scripts.length - 1];\r\n if (document.currentScript && (curScript.defer || curScript.async))\r\n curScript = document.currentScript;\r\n\r\n scriptSrc = curScript && curScript.src;\r\n}\r\n// worker\r\nelse if (typeof importScripts !== 'undefined') {\r\n try {\r\n throw new Error('_');\r\n }\r\n catch (e) {\r\n e.stack.replace(/(?:at|@).*(http.+):[\\d]+:[\\d]+/, function(m, url) {\r\n scriptSrc = url;\r\n });\r\n }\r\n}\r\n// node\r\nelse if (typeof __filename !== 'undefined') {\r\n scriptSrc = __filename;\r\n}\r\n\r\nfunction SystemJSLoader () {\r\n RegisterLoader.call(this);\r\n\r\n // NB deprecate\r\n this._loader = {};\r\n\r\n // internal metadata store\r\n this[METADATA] = {};\r\n\r\n // internal configuration\r\n this[CONFIG] = {\r\n baseURL: baseURI,\r\n paths: {},\r\n\r\n packageConfigPaths: [],\r\n packageConfigKeys: [],\r\n map: {},\r\n packages: {},\r\n depCache: {},\r\n meta: {},\r\n bundles: {},\r\n\r\n production: false,\r\n\r\n transpiler: undefined,\r\n loadedBundles: {},\r\n\r\n // global behaviour flags\r\n warnings: false,\r\n pluginFirst: false,\r\n\r\n // enable wasm loading and detection when supported\r\n wasm: false\r\n };\r\n\r\n // make the location of the system.js script accessible (if any)\r\n this.scriptSrc = scriptSrc;\r\n\r\n this._nodeRequire = nodeRequire;\r\n\r\n // support the empty module, as a concept\r\n this.registry.set('@empty', emptyModule);\r\n\r\n setProduction.call(this, false, false);\r\n\r\n // add module format helpers\r\n setHelpers(this);\r\n setAmdHelper(this);\r\n}\r\n\r\nexport var envModule;\r\nexport function setProduction (isProduction, isBuilder) {\r\n this[CONFIG].production = isProduction;\r\n this.registry.set('@system-env', envModule = this.newModule({\r\n browser: isBrowser,\r\n node: !!this._nodeRequire,\r\n production: !isBuilder && isProduction,\r\n dev: isBuilder || !isProduction,\r\n build: isBuilder,\r\n 'default': true\r\n }));\r\n}\r\n\r\nSystemJSLoader.prototype = Object.create(RegisterLoader.prototype);\r\n\r\nSystemJSLoader.prototype.constructor = SystemJSLoader;\r\n\r\n// NB deprecate normalize\r\nSystemJSLoader.prototype[SystemJSLoader.resolve = RegisterLoader.resolve] = SystemJSLoader.prototype.normalize = normalize;\r\n\r\nSystemJSLoader.prototype.load = function (key, parentKey) {\r\n warn.call(this[CONFIG], 'System.load is deprecated.');\r\n return this.import(key, parentKey);\r\n};\r\n\r\n// NB deprecate decanonicalize, normalizeSync\r\nSystemJSLoader.prototype.decanonicalize = SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.resolveSync = normalizeSync;\r\n\r\nSystemJSLoader.prototype[SystemJSLoader.instantiate = RegisterLoader.instantiate] = instantiate;\r\n\r\nSystemJSLoader.prototype.config = setConfig;\r\nSystemJSLoader.prototype.getConfig = getConfig;\r\n\r\nSystemJSLoader.prototype.global = global;\r\n\r\nSystemJSLoader.prototype.import = function () {\r\n return RegisterLoader.prototype.import.apply(this, arguments)\r\n .then(function (m) {\r\n return '__useDefault' in m ? m.__useDefault : m;\r\n });\r\n};\r\n\r\nexport var configNames = ['baseURL', 'map', 'paths', 'packages', 'packageConfigPaths', 'depCache', 'meta', 'bundles', 'transpiler', 'warnings', 'pluginFirst', 'production', 'wasm'];\r\n\r\nvar hasProxy = typeof Proxy !== 'undefined';\r\nfor (var i = 0; i < configNames.length; i++) (function (configName) {\r\n Object.defineProperty(SystemJSLoader.prototype, configName, {\r\n get: function () {\r\n var cfg = getConfigItem(this[CONFIG], configName);\r\n\r\n if (hasProxy && typeof cfg === 'object')\r\n cfg = new Proxy(cfg, {\r\n set: function (target, option) {\r\n throw new Error('Cannot set SystemJS.' + configName + '[\"' + option + '\"] directly. Use SystemJS.config({ ' + configName + ': { \"' + option + '\": ... } }) rather.');\r\n }\r\n });\r\n\r\n //if (typeof cfg === 'object')\r\n // warn.call(this[CONFIG], 'Referencing `SystemJS.' + configName + '` is deprecated. Use the config getter `SystemJS.getConfig(\\'' + configName + '\\')`');\r\n return cfg;\r\n },\r\n set: function (name) {\r\n throw new Error('Setting `SystemJS.' + configName + '` directly is no longer supported. Use `SystemJS.config({ ' + configName + ': ... })`.');\r\n }\r\n });\r\n})(configNames[i]);\r\n\r\n/*\r\n * Backwards-compatible registry API, to be deprecated\r\n */\r\nfunction registryWarn(loader, method) {\r\n warn.call(loader[CONFIG], 'SystemJS.' + method + ' is deprecated for SystemJS.registry.' + method);\r\n}\r\nSystemJSLoader.prototype.delete = function (key) {\r\n registryWarn(this, 'delete');\r\n return this.registry.delete(key);\r\n};\r\nSystemJSLoader.prototype.get = function (key) {\r\n registryWarn(this, 'get');\r\n return this.registry.get(key);\r\n};\r\nSystemJSLoader.prototype.has = function (key) {\r\n registryWarn(this, 'has');\r\n return this.registry.has(key);\r\n};\r\nSystemJSLoader.prototype.set = function (key, module) {\r\n registryWarn(this, 'set');\r\n return this.registry.set(key, module);\r\n};\r\nSystemJSLoader.prototype.newModule = function (bindings) {\r\n return new ModuleNamespace(bindings);\r\n};\r\nSystemJSLoader.prototype.isModule = isModule;\r\n\r\n// ensure System.register and System.registerDynamic decanonicalize\r\nSystemJSLoader.prototype.register = function (key, deps, declare) {\r\n if (typeof key === 'string')\r\n key = decanonicalize.call(this, this[CONFIG], key);\r\n return RegisterLoader.prototype.register.call(this, key, deps, declare);\r\n};\r\n\r\nSystemJSLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) {\r\n if (typeof key === 'string')\r\n key = decanonicalize.call(this, this[CONFIG], key);\r\n return RegisterLoader.prototype.registerDynamic.call(this, key, deps, executingRequire, execute);\r\n};\r\n","import { global, isBrowser, isWorker } from './common.js';\r\nimport SystemJSLoader from './systemjs-loader.js';\r\n\r\nSystemJSLoader.prototype.version = VERSION;\r\n\r\nvar System = new SystemJSLoader();\r\n\r\n// only set the global System on the global in browsers\r\nif (isBrowser || isWorker)\r\n global.SystemJS = global.System = System;\r\n\r\nif (typeof module !== 'undefined' && module.exports)\r\n module.exports = System;\r\n"],"names":["resolvedPromise","addToError","RegisterLoader","global","commentRegEx","stringRegEx","instantiate","fetch","SystemJSLoader"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index f91ae404..1f9d084b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systemjs", - "version": "0.20.19", + "version": "0.21.0", "description": "Dynamic ES module loader", "repository": { "type": "git",