From d1917d8abf37487d8c2864b0f05060f054b611e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 10:11:59 +0100 Subject: [PATCH 1/9] update dev-dependencies --- yarn.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 2db60ea..2b19b00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,12 +23,12 @@ active-x-obfuscator@0.0.1: zeparser "0.0.5" ajv-keywords@^1.0.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.0.tgz#c11e6859eafff83e0dafc416929472eca946aa2c" + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" ajv@^4.7.0: - version "4.10.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.10.4.tgz#c0974dd00b3464984892d6010aa9c2c945933254" + version "4.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz#f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6" dependencies: co "^4.6.0" json-stable-stringify "^1.0.1" @@ -558,8 +558,8 @@ escope@^3.6.0: estraverse "^4.1.1" eslint@^3.0.0: - version "3.13.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.13.1.tgz#564d2646b5efded85df96985332edd91a23bff25" + version "3.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.0.tgz#2c617e5f782fda5cbee5bc8be7ef5053af8e63a3" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" @@ -1071,15 +1071,15 @@ gulp-sourcemaps@^2.2.0: vinyl "1.X" gulp-uglify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-2.0.0.tgz#cbe4aae4fe0b6bdd760335bc46f200fff699c4af" + version "2.0.1" + resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-2.0.1.tgz#e8cfb831014fc9ff2e055e33785861830d499365" dependencies: gulplog "^1.0.0" has-gulplog "^0.1.0" lodash "^4.13.1" make-error-cause "^1.1.1" through2 "^2.0.0" - uglify-js "2.7.0" + uglify-js "2.7.5" uglify-save-license "^0.4.1" vinyl-sourcemaps-apply "^0.2.0" @@ -2564,9 +2564,9 @@ uglify-js@1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-1.2.5.tgz#b542c2c76f78efb34b200b20177634330ff702b6" -uglify-js@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.0.tgz#f021e38ba2ca740860f5bd5c695c2a817345f0ec" +uglify-js@2.7.5: + version "2.7.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" dependencies: async "~0.2.6" source-map "~0.5.1" From eb72ba94ebfc4444d2f13a4e46e8a53e9cac1e48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 10:59:26 +0100 Subject: [PATCH 2/9] add size to localStorage state --- src/singleton/cache.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/singleton/cache.js b/src/singleton/cache.js index 42478d8..fe587e9 100644 --- a/src/singleton/cache.js +++ b/src/singleton/cache.js @@ -75,8 +75,9 @@ var singletonCache = (function(JSON) { } function setState(key, state) { + state.demand = demand.version; state.access = functionGetTimestamp(); - + setKey(key, JSON.stringify(state)); } @@ -136,7 +137,7 @@ var singletonCache = (function(JSON) { var state, id, spaceBefore; if(enabled(dependency)) { - state = { version: dependency.version, demand: demand.version, expires: dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : dependency.lifetime }; + state = { version: dependency.version, expires: dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : dependency.lifetime, size: dependency.source.length }; id = STORAGE_PREFIX + '[' + dependency.id + ']'; emit(EVENT_PRE_CACHE, dependency, state); From e0539e29f78c866202e65aa9ff6d9d71329ac804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 10:59:47 +0100 Subject: [PATCH 3/9] remove IE8 conditional --- demo/index.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/demo/index.html b/demo/index.html index 179001a..ff9e109 100644 --- a/demo/index.html +++ b/demo/index.html @@ -4,9 +4,6 @@ - From 2cc7096fca298fd2358b0924226c875473f15de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 11:18:07 +0100 Subject: [PATCH 4/9] add genie cache directory to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 9765d1c..e86e446 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea node_modules .DS_Store +genie/temp \ No newline at end of file From 4d3a66d45c8f6903b5467053a15fcfa33e240ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 11:18:40 +0100 Subject: [PATCH 5/9] add file caching to basic genie implementation --- genie/index.php | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/genie/index.php b/genie/index.php index d893052..72f3b5c 100644 --- a/genie/index.php +++ b/genie/index.php @@ -1,23 +1,38 @@ \ No newline at end of file From 28f284c1b24b524027a83d23e2c7044007203bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 11:35:27 +0100 Subject: [PATCH 6/9] remove leftover comment --- genie/index.php | 1 - 1 file changed, 1 deletion(-) diff --git a/genie/index.php b/genie/index.php index 72f3b5c..56b7af5 100644 --- a/genie/index.php +++ b/genie/index.php @@ -8,7 +8,6 @@ $file = CACHE_DIRECTORY . sha1(json_encode($_GET['module'])) . '.js'; if(file_exists($file)) { - echo '/* from cache */'; @readfile($file); } else { if(!is_dir(CACHE_DIRECTORY)) { From 9d3270215a1daeabb019cd7156ef534031c5f32a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Wed, 25 Jan 2017 14:26:59 +0100 Subject: [PATCH 7/9] optimize functionIterate --- src/class/dependency.js | 60 ++++++++++++++++++----------------------- src/class/pattern.js | 14 +++++----- src/function/demand.js | 39 +++++++++++++++------------ src/function/iterate.js | 4 ++- src/handler/bundle.js | 20 +++++++------- src/plugin/genie.js | 51 +++++++++++++++++++---------------- 6 files changed, 98 insertions(+), 90 deletions(-) diff --git a/src/class/dependency.js b/src/class/dependency.js index 2ce0c80..21e278d 100644 --- a/src/class/dependency.js +++ b/src/class/dependency.js @@ -25,6 +25,28 @@ var ClassDependency = (function() { registry = new ClassRegistry(), placeholder = []; + function setProperty(property, value) { + this[property] = value; + } + + function addPending(id, dependency) { + if(dependency.pledge.isPending()) { + this.push(id); + } + } + + function addResolved(id, dependency) { + if(dependency.pledge.isResolved()) { + this.push(id); + } + } + + function addRejected(id, dependency) { + if(dependency.pledge.isRejected()) { + this.push(id); + } + } + function ClassDependency(uri, context, register) { var self = this, parameter = uri.match(regexMatchParameter) || placeholder; @@ -79,13 +101,7 @@ var ClassDependency = (function() { switch(uri) { case DEMAND_ID: dependency.deferred.resolve((function() { - var scopedDemand = demand.bind(context); - - functionIterate(demand, function(property, value) { - scopedDemand[property] = value; - }); - - return scopedDemand; + return functionIterate(demand, setProperty, demand.bind(context)); }())); break; @@ -139,37 +155,13 @@ var ClassDependency = (function() { return Object.keys(registry.get()); }, pending: function() { - var modules = []; - - functionIterate(registry.get(), function(property, value) { - if(value.pledge.isPending()) { - modules.push(property); - } - }); - - return modules; + return functionIterate(registry.get(), addPending, []); }, resolved: function() { - var modules = []; - - functionIterate(registry.get(), function(property, value) { - if(value.pledge.isResolved()) { - modules.push(property); - } - }); - - return modules; + return functionIterate(registry.get(), addResolved, []); }, rejected: function() { - var modules = []; - - functionIterate(registry.get(), function(property, value) { - if(value.pledge.isRejected()) { - modules.push(property); - } - }); - - return modules; + return functionIterate(registry.get(), addRejected, []); } }; diff --git a/src/class/pattern.js b/src/class/pattern.js index 3abe8ca..41dc02d 100644 --- a/src/class/pattern.js +++ b/src/class/pattern.js @@ -10,6 +10,13 @@ var ClassPattern = (function() { var regexMatchTrailingSlash = /(.+)\/$/; + function setProperty(property, value) { + this[property] = { + url: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'), + match: new RegExp('^' + functionEscapeRegex(value)) + }; + } + function ClassPattern(pattern, url) { var self = this; @@ -17,12 +24,7 @@ var ClassPattern = (function() { self.match = new RegExp('^' + functionEscapeRegex(pattern)); self.location = [].concat(url); - functionIterate(self.location, function(property, value) { - self.location[property] = { - url: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'), - match: new RegExp('^' + functionEscapeRegex(value)) - }; - }); + functionIterate(self.location, setProperty, self.location); } ClassPattern.prototype = { diff --git a/src/function/demand.js b/src/function/demand.js index 0cbc3f9..57a476a 100644 --- a/src/function/demand.js +++ b/src/function/demand.js @@ -25,6 +25,24 @@ //=require class/loader.js global.demand = (function() { + function updateCacheSettings(property, value) { + this[property] = { weight: property.length, state: value }; + } + + function updatePatternSettings(property, value) { + property !== 'base' && (this[property] = new ClassPattern(property, value)); + } + + function updateModuleSettings(property, value) { + var temp = this[property] = this[property] || {}; + + singletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp); + + functionMerge(temp, value); + + singletonEvent.emit(EVENT_POST_CONFIGURE, property, temp); + } + function demand() { var dependencies = arrayPrototypeSlice.call(arguments), context = this !== global ? this : NULL, @@ -61,15 +79,12 @@ global.demand = (function() { base = options.base, pattern = options.pattern, modules = options.modules, - pointer = settings.modules, - temp; + pointer = settings.modules; if(validatorIsTypeOf(cache, STRING_BOOLEAN)) { settings.cache[''] = { weight: 0, state: cache }; } else if(validatorIsObject(cache)) { - functionIterate(cache, function(property, value) { - settings.cache[property] = { weight: property.length, state: value }; - }); + functionIterate(cache, updateCacheSettings, settings.cache); } if(validatorIsTypeOf(version, STRING_STRING)) { @@ -89,21 +104,11 @@ global.demand = (function() { } if(validatorIsObject(pattern)) { - functionIterate(pattern, function(property, value) { - property !== 'base' && (settings.pattern[property] = new ClassPattern(property, value)); - }); + functionIterate(pattern, updatePatternSettings, settings.pattern); } if(validatorIsObject(modules)) { - functionIterate(modules, function(property, value) { - temp = pointer[property] = pointer[property] || {}; - - singletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp); - - functionMerge(temp, value); - - singletonEvent.emit(EVENT_POST_CONFIGURE, property, temp); - }); + functionIterate(modules, updateModuleSettings, pointer); } return demand; diff --git a/src/function/iterate.js b/src/function/iterate.js index 48b505b..d65a8de 100644 --- a/src/function/iterate.js +++ b/src/function/iterate.js @@ -16,7 +16,7 @@ * @param {function} callback * @param context * - * @return {object} + * @return mixed */ function functionIterate(object, callback, context) { @@ -28,4 +28,6 @@ function functionIterate(object, callback, context) { break; } } + + return context; } \ No newline at end of file diff --git a/src/handler/bundle.js b/src/handler/bundle.js index 8b831c2..26229b9 100644 --- a/src/handler/bundle.js +++ b/src/handler/bundle.js @@ -27,21 +27,23 @@ var handlerBundle = (function() { demand .on(EVENT_POST_CONFIGURE + ':' + path, function(options) { - var i, dependency; - if(validatorIsObject(options)) { settings = options; - functionIterate(settings, function(uri, dependencies) { - for(i = 0; (dependency = dependencies[i]); i++) { - if(validatorIsTypeOf(dependency, STRING_STRING)) { - dependencies[i] = functionResolveId(dependency); - } - } - }); + functionIterate(settings, updateDependencies); } }); + function updateDependencies(uri, dependencies) { + var i, dependency; + + for(i = 0; (dependency = dependencies[i]); i++) { + if(validatorIsTypeOf(dependency, STRING_STRING)) { + dependencies[i] = functionResolveId(dependency); + } + } + } + function getType(dependencies) { var type, i = 0, temp; diff --git a/src/plugin/genie.js b/src/plugin/genie.js index 1660c93..7b118c9 100644 --- a/src/plugin/genie.js +++ b/src/plugin/genie.js @@ -65,21 +65,43 @@ var pluginGenie = (function() { } } + function addPattern(property, value) { + pattern.push({ prefix: property, weight: property.length, fn: value }); + } + + function resolveBundles(property, value) { + var matches = value.matches, + i = 0, dependency; + + if(matches.length > 1) { + value.id = path + '/' + functionHash(JSON.stringify(value.matches)); + + for(; (dependency = matches[i]); i++) { + matches[i] = new ClassDependency(dependency.uri); + } + + demand.configure(generateConfiguration(value)); + demand('bundle!' + value.id) + .then( + resolveDependencies.bind(matches), + rejectDependencies.bind(matches) + ); + } + } + demand .on(EVENT_POST_CONFIGURE + ':' + path, function(options) { if(validatorIsObject(options)) { pattern.length = 0; - functionIterate(options, function(property, value) { - pattern.push({ prefix: property, weight: property.length, fn: value }); - }); + functionIterate(options, addPattern); } }) .on(EVENT_PRE_RESOLVE, function(dependencies, context) { var bundles = {}, - i, dependency, pattern, matches; + i = 0, dependency, pattern; - for(i = 0; (dependency = dependencies[i]); i++) { + for(; (dependency = dependencies[i]); i++) { if(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) { dependency = new ClassDependency(dependency, context, FALSE); @@ -89,24 +111,7 @@ var pluginGenie = (function() { } } - functionIterate(bundles, function(property, value) { - matches = value.matches; - - if(matches.length > 1) { - value.id = path + '/' + functionHash(JSON.stringify(value.matches)); - - for(i = 0; (dependency = matches[i]); i++) { - matches[i] = new ClassDependency(dependency.uri); - } - - demand.configure(generateConfiguration(value)); - demand('bundle!' + value.id) - .then( - resolveDependencies.bind(matches), - rejectDependencies.bind(matches) - ); - } - }); + functionIterate(bundles, resolveBundles); }); return TRUE; From c6d2c872d7f70a0616997c29015ed9da3f7cadf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Thu, 26 Jan 2017 00:33:46 +0100 Subject: [PATCH 8/9] add cache/dispose module for garbage-collection --- extras/cache/dispose.js | 64 +++++++++++++++++++++++++++++++++++++++++ src/singleton/cache.js | 9 ++++++ 2 files changed, 73 insertions(+) create mode 100644 extras/cache/dispose.js diff --git a/extras/cache/dispose.js b/extras/cache/dispose.js new file mode 100644 index 0000000..d2c1257 --- /dev/null +++ b/extras/cache/dispose.js @@ -0,0 +1,64 @@ +(function(localStorage) { + 'use strict'; + + function definition(functionIterate) { + var PREFIX = 'demand', + SUFFIX = 'state', + regexMatchState = new RegExp('^\\[' + PREFIX + '\\]\\[(.+?)\\]\\[' + SUFFIX + '\\]$'); + + functionIterate(localStorage, function(property) { + var match = property.match(regexMatchState), + state; + + if(match) { + state = JSON.parse(localStorage.getItem('[' + PREFIX + '][' + match[1] + '][' + SUFFIX + ']')); + + if(!state.access) { + demand.clear.path(match[1]); + } + } + }); + + function filterStates(property) { + var match = property.match(regexMatchState), + state; + + if(match) { + state = JSON.parse(localStorage.getItem('[' + PREFIX + '][' + match[1] + '][' + SUFFIX + ']')); + state.id = match[1]; + + this.push(state); + } + } + + function compareAccess(a, b) { + if(a.access < b.access) { + return -1; + } + + if(a.access > b.access) { + return 1; + } + + return 0; + } + + return function cacheDispose(bytes) { + var states = [], + state; + + functionIterate(localStorage, filterStates, states); + + states.sort(compareAccess); + + while(bytes > 0 && states.length) { + state = states.shift(); + bytes -= state.size; + + demand.clear.path(state.id); + } + }; + } + + provide([ '/demand/function/iterate' ], definition); +}(localStorage)); \ No newline at end of file diff --git a/src/singleton/cache.js b/src/singleton/cache.js index fe587e9..afc55ee 100644 --- a/src/singleton/cache.js +++ b/src/singleton/cache.js @@ -33,6 +33,15 @@ var singletonCache = (function(JSON) { cache.clear.path(dependency.id); }); }) + .on(EVENT_CACHE_EXCEED, function(dependency) { + demand('-!/demand/cache/dispose').then(function(cacheDispose) { + functionDefer(function() { + cacheDispose(dependency.source.length); + + cache.set(dependency); + }); + }); + }) .on(EVENT_POST_REQUEST, function(dependency) { if(dependency.source && enabled(dependency)) { storage[dependency.id] = TRUE; From d8bdcf393a26e934ec1c7f0fbfc53a605759f3aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20L=C3=BCth?= Date: Thu, 26 Jan 2017 00:34:59 +0100 Subject: [PATCH 9/9] build --- bower.json | 2 +- demo/index.html | 2 +- dist/cache/dispose.js | 3 +++ dist/cache/dispose.js.map | 1 + dist/demand.js | 4 ++-- dist/demand.js.map | 2 +- dist/handler/css.js | 2 +- dist/handler/json.js | 2 +- dist/handler/legacy.js | 2 +- dist/handler/text.js | 2 +- dist/plugin/cookie.js | 2 +- dist/plugin/lzstring.js | 2 +- dist/plugin/sri.js | 2 +- package.json | 2 +- tests/test.js | 11 +++++++++++ 15 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 dist/cache/dispose.js create mode 100644 dist/cache/dispose.js.map create mode 100644 tests/test.js diff --git a/bower.json b/bower.json index f7e071f..51752b6 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "qoopido.demand", - "version": "4.1.1", + "version": "4.1.2", "homepage": "https://github.com/dlueth/qoopido.demand", "authors": [ "Dirk Lueth " diff --git a/demo/index.html b/demo/index.html index ff9e109..976418f 100644 --- a/demo/index.html +++ b/demo/index.html @@ -33,7 +33,7 @@ target.parentNode.insertBefore(script, target); }(window, document, 'script')) - }('../dist/demand.js', 'app/js/main', { base: './', version: '4.1.1', cache: false })); + }('../dist/demand.js', 'app/js/main', { base: './', version: '4.1.2', cache: false })); \ No newline at end of file diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js new file mode 100644 index 0000000..6176106 --- /dev/null +++ b/dist/cache/dispose.js @@ -0,0 +1,3 @@ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(e){"use strict";function t(t){function a(t){var a,c=t.match(r);c&&(a=JSON.parse(e.getItem("["+n+"]["+c[1]+"]["+s+"]")),a.id=c[1],this.push(a))}function c(e,t){return e.accesst.access?1:0}var n="demand",s="state",r=new RegExp("^\\["+n+"\\]\\[(.+?)\\]\\["+s+"\\]$");return t(e,function(t){var a,c=t.match(r);c&&(a=JSON.parse(e.getItem("["+n+"]["+c[1]+"]["+s+"]")),a.access||demand.clear.path(c[1]))}),function(n){var s,r=[];for(t(e,a,r),r.sort(c);n>0&&r.length;)s=r.shift(),n-=s.size,demand.clear.path(s.id)}}provide(["/demand/function/iterate"],t)}(localStorage); +//# sourceMappingURL=dispose.js.map diff --git a/dist/cache/dispose.js.map b/dist/cache/dispose.js.map new file mode 100644 index 0000000..4aa0e0f --- /dev/null +++ b/dist/cache/dispose.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["cache/dispose.js"],"names":["localStorage","definition","functionIterate","filterStates","property","state","match","regexMatchState","JSON","parse","getItem","PREFIX","SUFFIX","id","this","push","compareAccess","a","b","access","RegExp","demand","clear","path","bytes","states","sort","length","shift","size","provide"],"mappings":";CAAC,SAASA,GACT,YAEA,SAASC,GAAWC,GAkBnB,QAASC,GAAaC,GACrB,GACCC,GADGC,EAAQF,EAASE,MAAMC,EAGxBD,KACFD,EAAWG,KAAKC,MAAMT,EAAaU,QAAQ,IAAMC,EAAS,KAAOL,EAAM,GAAK,KAAOM,EAAS,MAC5FP,EAAMQ,GAAKP,EAAM,GAEjBQ,KAAKC,KAAKV,IAIZ,QAASW,GAAcC,EAAGC,GACzB,MAAGD,GAAEE,OAASD,EAAEC,QACR,EAGLF,EAAEE,OAASD,EAAEC,OACR,EAGD,EAtCR,GAAIR,GAAkB,SACrBC,EAAkB,QAClBL,EAAkB,GAAIa,QAAO,OAAST,EAAS,oBAAsBC,EAAS,OAuC/E,OArCAV,GAAgBF,EAAc,SAASI,GACtC,GACCC,GADGC,EAAQF,EAASE,MAAMC,EAGxBD,KACFD,EAAQG,KAAKC,MAAMT,EAAaU,QAAQ,IAAMC,EAAS,KAAOL,EAAM,GAAK,KAAOM,EAAS,MAErFP,EAAMc,QACTE,OAAOC,MAAMC,KAAKjB,EAAM,OA6BpB,SAAsBkB,GAC5B,GACCnB,GADGoB,IAOJ,KAJAvB,EAAgBF,EAAcG,EAAcsB,GAE5CA,EAAOC,KAAKV,GAENQ,EAAQ,GAAKC,EAAOE,QACzBtB,EAASoB,EAAOG,QAChBJ,GAASnB,EAAMwB,KAEfR,OAAOC,MAAMC,KAAKlB,EAAMQ,KAK3BiB,SAAU,4BAA8B7B,IACvCD","file":"dispose.js","sourcesContent":["(function(localStorage) {\n\t'use strict';\n\n\tfunction definition(functionIterate) {\n\t\tvar PREFIX = 'demand',\n\t\t\tSUFFIX = 'state',\n\t\t\tregexMatchState = new RegExp('^\\\\[' + PREFIX + '\\\\]\\\\[(.+?)\\\\]\\\\[' + SUFFIX + '\\\\]$');\n\n\t\tfunctionIterate(localStorage, function(property) {\n\t\t\tvar match = property.match(regexMatchState),\n\t\t\t\tstate;\n\n\t\t\tif(match) {\n\t\t\t\tstate = JSON.parse(localStorage.getItem('[' + PREFIX + '][' + match[1] + '][' + SUFFIX + ']'));\n\n\t\t\t\tif(!state.access) {\n\t\t\t\t\tdemand.clear.path(match[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tfunction filterStates(property) {\n\t\t\tvar match = property.match(regexMatchState),\n\t\t\t\tstate;\n\n\t\t\tif(match) {\n\t\t\t\tstate = JSON.parse(localStorage.getItem('[' + PREFIX + '][' + match[1] + '][' + SUFFIX + ']'));\n\t\t\t\tstate.id = match[1];\n\n\t\t\t\tthis.push(state);\n\t\t\t}\n\t\t}\n\n\t\tfunction compareAccess(a, b) {\n\t\t\tif(a.access < b.access) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\tif(a.access > b.access) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn function cacheDispose(bytes) {\n\t\t\tvar states = [],\n\t\t\t\tstate;\n\n\t\t\tfunctionIterate(localStorage, filterStates, states);\n\n\t\t\tstates.sort(compareAccess);\n\n\t\t\twhile(bytes > 0 && states.length) {\n\t\t\t\tstate = states.shift();\n\t\t\t\tbytes -= state.size;\n\n\t\t\t\tdemand.clear.path(state.id);\n\t\t\t}\n\t\t};\n\t}\n\n\tprovide([ '/demand/function/iterate' ], definition);\n}(localStorage));"]} \ No newline at end of file diff --git a/dist/demand.js b/dist/demand.js index 1bd92be..0ca5482 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ -!function(e,t,n,r,i){"use strict";function o(e,t,n,r){return{__proto__:V,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function a(e){return e&&u(e,re)}function c(e){return u(e,oe)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function s(e,t){return e instanceof t}function f(e,t,n){for(var r,i=Object.keys(e),o=0;(r=i[o])!==W&&t.call(n,r,e[r])!==Y;o++);}function d(){return+new Date}function l(e){return H.href=e,H.href}function h(e,t){var n=e.replace(Be,"");return Ue.test(n)||Le.test(n)||(n="/"+l((t&&l(t+"/../")||"/")+n).replace(Fe,"")),n}function p(e,t){var n=e.match(Be);return(n&&n[1]?"mock:":"")+(n&&n[3]||O.handler)+"!"+h(e,t)}function v(){return u(this.uuid,ee)&&$(this,"uuid",new o(Ie())),this}function m(){this.parent.constructor.call(this),P[this.uuid]={},e.storage=P[this.uuid]}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function y(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.deferred.reject(new g(Me+" (content-type)",e.id)):(e.source=t,_e.emit(Re,e.type,e))}function n(t){e.deferred.reject(new g(Me+(t?" (status)":""),e.id))}function r(e,t,n){var r;return H.href=e,H.search=(r=(H.search||"").replace(u,""))+(r?"&":"?")+t+"="+n,H.href}function i(u){u=u||0,e.url=o?l(o.process(e.path,u)):e.path,_e.emit(qe,e.type,e),new Ve(r(e.url,L,+new Date)).then(t,o?function(){u++,o.location[u]?i(u):n()}:n)}var o,u=/^\?/;Le.test(e.path)||f(O.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function b(){this.parent.constructor.call(this),P[this.uuid]=[]}function j(e){var t=this.parent.constructor.call(this),n=P[t.uuid]={queue:e,current:V};demand.on(Se+":"+e.uuid,function(){!n.current&&t.process()})}function q(e,t){for(var n,r;n=Xe.exec(t);)H.href=e,Le.test(n[2])?r=H.protocol+"//"+H.host+n[2]:(H.pathname+="/../"+n[2],r=H.protocol+"//"+H.host+H.pathname),t=t.replace(n[0],n[1]+" sourceMappingURL="+r+".map"+(n[3]?" "+n[3]:""));return t}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function R(e,t){provide(e,function(){return t})}var k,E,O={cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},P={},S=Array.prototype,C=S.slice,M=S.concat,A=Object.prototype,D=A.toString,T=Object.create,$=Object.defineProperty,I=Object.getOwnPropertyNames,N=Object.getOwnPropertyDescriptor,_=Function.prototype,H=t.createElement("a"),L="demand",U="provide",X="path",F="/"+L+"/",J=F+"abstract/",B=F+"handler/",G=F+"plugin/",Q=F+"function/",z=F+"validator/",K="mock:",V=null,W=void 0,Y=!1,Z=!0,ee="undefined",te="string",ne="boolean",re="object",ie="function",oe="number",ue=function(){},ae="pre",ce="post",se="Configure",fe=ae+se,de=ce+se,le="cache",he=le+"Miss",pe=le+"Hit",ve=le+"Clear",me=le+"Exceed",ge=ae+"Cache",ye=ce+"Cache",xe="Resolve",we=ae+xe,be=ce+xe,je="Request",qe=ae+je,Re=ce+je,ke="Process",Ee=ae+ke,Oe=ce+ke,Pe="queue",Se=Pe+"Enqueue",Ce=Pe+"Dequeue",Me="error loading",Ae="error providing",De="error resolving",Te="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=I(r),a=0;for(e=e.prototype||e;t=u[a];a++)i[t]=N(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=T(e,i),n}$(_,"extends",new o(e))}();var $e=function(){function e(e,t){var n,r=this[e];t!==W&&(a(t)?(n=a(r),r=t.length!==W?n&&r.length!==W?r:[]:n&&r.length===W?r:{},this[e]=$e(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==W;r++)f(t,e,n);return n}}(),Ie=function(){function e(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}var t=new RegExp("[xy]","g"),n={};return function(){var r;do r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e);while(n[r]);return n[r]=1,r}}(),Ne=function(){var n,i,o="setImmediate"in e;return"MutationObserver"in e?function(e){n=t.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:Z}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&P[t.data]&&(P[t.data](),delete P[t.data])}return e.addEventListener("message",t,Y),function(t){var n=Ie();P[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=V,n.parentNode.removeChild(n),e()},t.body.appendChild(n)}:(i=o?setImmediate:r,function(e){i(e)})}(),_e=function(){function e(e,t,r){var a,c;if(u(t,te)&&u(r,ie))for(t=t.split(" ");a=t.shift();)a=a.split(":"),i.test(a[0])&&((o[a[0]]||(o[a[0]]={on:[],after:[]}))[e].push({callback:r,filter:a[1]}),e===n&&a[0]===de&&(c=O.modules[a[1]])&&r(c))}function t(){}var n="on",r="after",i=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var i,u,a,c=o[e];if(c){for(i=C.call(arguments,2),u=0;a=c[n][u];u++)a.filter&&a.filter!==t||a.callback.apply(V,i);for(u=0;a=c[r][u];u++)a.filter&&a.filter!==t||a.callback.apply(V,i)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e(r,t,n),this}},new t}(),He=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Le=/^(http(s?):)?\/\//i,Ue=/^\//,Xe=/((?:\/\/|\/\*)#)\s*sourceMappingURL\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Fe=new RegExp("^"+He(l("/"))),Je=new RegExp("^"+L+"|"+U+"|"+X+"$"),Be=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(\d+\.\d+.\d+))?(?:#(\d+))?!/,Ge=function(t){function n(e){var t;return e.cache!==V?e.cache:(f(O.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:Y)}function r(e){return y.getItem(e)}function i(e,t){y[t?"setItem":"removeItem"](e,t)}function o(e){return t.parse(r(e))}function u(e,n){n.access=d(),i(e,t.stringify(n))}function a(e,t,n){_e.emit(e,t.id,t,n)}function c(){Ne(this.clear.expired.bind(this.clear))}var s,l="["+L+"]",h="[state]",v="[value]",m=new RegExp("^"+He(l)+"\\[(.+?)\\]"+He(h)+"$"),g=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return Y}}(),y=g?e.localStorage:V,x=g&&"remainingSpace"in y,w={};return _e.on(he,function(e){Ne(function(){s.clear.path(e.id)})}).on(Re,function(e){e.source&&n(e)&&(w[e.id]=Z)}).after(Oe,function(e){w[e.id]&&Ne(function(){s.set(e)})}),c.prototype={get:function(){return g?function(e){var t,i;if(n(e)&&(t=l+"["+e.id+"]",i=o(t+h),i&&i.version===e.version&&(!i.expires&&!e.lifetime||i.expires>d())))return e.source=r(t+v),Ne(function(){u(t+h,i)}),Z}:ue}(),resolve:function(){return g?function(e){var t=this;t.get(e)?a(pe,e):a(he,e)}:function(e){a(he,e)}}(),set:function(){return g?function(e){var t,r,o;if(n(e)){t={version:e.version,demand:demand.version,expires:e.lifetime?d()+e.lifetime:e.lifetime},r=l+"["+e.id+"]",a(ge,e,t);try{if(o=x?y.remainingSpace:V,i(r+v,e.source),u(r+h,t),o!==V&&y.remainingSpace===o)throw new Error("QUOTA_EXCEEDED_ERR");a(ye,e,t)}catch(t){a(me,e)}}}:ue}(),clear:{path:function(){return g?function e(e){var t=p(e),n=l+"["+t+"]";r(n+h)&&(i(n+h),i(n+v),a(ve,ze.get(t)||new ze(t,V,Y)))}:ue}(),all:function(){return g?function(){var e;f(y,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ue}(),expired:function(){return g?function(){var e,t,n=this;f(y,function(r){e=r.match(m),e&&(t=o(l+"["+e[1]+"]"+h),t&&t.expires>0&&t.expires<=d()&&n.path(e[1]))},this)}:ue}()}},s=new c}(JSON),Qe=function(){function e(){s[this.uuid].handle(a,arguments)}function t(){s[this.uuid].handle(c,arguments)}function n(e,t){var n,r,i=s[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(V,i.value),r&&"function"==typeof r.then?r.then(n.deferred.resolve,n.deferred.reject):n.deferred[i.state===a?"resolve":"reject"].apply(V,i.value);i[a].length=0,i[c].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=C.call(arguments),n.count++,i(n)},function(){n.rejected.push(C.call(arguments)),i(n)})}function i(e){e.count===e.total?e.deferred.resolve.apply(V,M.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.deferred.reject.apply(V,M.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:V,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i))}var u="pending",a="resolved",c="rejected",s={};return o.prototype={catch:function(e){return this.then(ue,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=s[this.uuid],r=o.defer();return e&&n[a].push({handler:e,deferred:r}),t&&n[c].push({handler:t,deferred:r}),n.state!==u&&Ne(n.handle),r.pledge},isPending:function(){return s[this.uuid].state===u},isResolved:function(){return s[this.uuid].state===a},isRejected:function(){return s[this.uuid].state===c}},o.defer=function(){var e={};return e.pledge=new o(function(t,n){e.resolve=t,e.reject=n}),e},o.all=function(e){var t,n,i=o.defer(),u=0;if(e.length)for(t=s[Ie()]={deferred:i,resolved:[],rejected:[],total:e.length,count:0};n=e[u];u++)r(n,u,t);else i.resolve();return i.pledge},o.race=function(e){for(var t,n=o.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},o.extends(v)}();m.prototype={get:function(e){return e?P[this.uuid][e]:P[this.uuid]},set:function(e,t){P[this.uuid][e]=t},remove:function(e){delete P[this.uuid][e]}},m.extends(v),g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var ze=function(){function e(e,t,n){var o=this,u=e.match(Be)||i;return o.path=h(e,t),o.mock=u[1]?Z:Y,o.cache=u[2]?"+"===u[1]:V,o.type=u[3]||O.handler,o.version=u[4]||O.version,o.lifetime=u[5]&&1e3*u[5]||O.lifetime,o.id=(o.mock?K:"")+o.type+"!"+o.path,o.uri=(o.mock?K:"")+o.type+"@"+o.version+(c(o.lifetime)&&o.lifetime>0?"#"+o.lifetime:"")+"!"+o.path,o.deferred=Qe.defer(),o.pledge=o.deferred.pledge,n!==Y&&r.set(o.id,o),o}var n="internal!",r=new m,i=[];return e.prototype={enqueue:!0},e.get=function(e,t){return r.get(p(e,t))},e.resolve=function(t,r){var i=r&&Je.test(t),o=i?this.get(n+r+"/"+t):this.get(t,r);if(!o)if(i)switch(o=new e(n+r+"/"+t),t){case L:o.deferred.resolve(function(){var e=demand.bind(r);return f(demand,function(t,n){e[t]=n}),e}());break;case U:o.deferred.resolve(provide.bind(r));break;case X:o.deferred.resolve(r)}else o=new e(t,r),demand(B+o.type).then(function(e){o.handler=e,o.mock?o.deferred.resolve(e):Ge.resolve(o)},function(){o.deferred.reject(new g(Me+" (handler)",self.id))});return o},e.remove=function(e,n,i){var o=p(e,n),u=t.querySelector("["+L+'-id="'+o+'"]');r.remove(o),r.remove(K+o),u&&u.parentNode.removeChild(u),i!==Y&&Ge.clear.path(o)},e.list={all:function(){return Object.keys(r.get())},pending:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isPending()&&e.push(t)}),e},resolved:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isResolved()&&e.push(t)}),e},rejected:function(){var e=[];return f(r.get(),function(t,n){n.pledge.isRejected()&&e.push(t)}),e}},e}(),Ke=function(){function e(e,n){var r=this;r.weight=e.length,r.match=new RegExp("^"+He(e)),r.location=[].concat(n),f(r.location,function(e,n){r.location[e]={url:l(n).replace(t,"$1"),match:new RegExp("^"+He(n))}})}var t=/(.+)\/$/;return e.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},e}(),Ve=function(t){function n(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||t;return function(e){var u,a=Qe.defer(),c=Fe.test(e)?new t:new o,s=n.bind(c),f=O.timeout;return c.ontimeout=c.onerror=c.onabort=function(){a.reject(c.status)},c.onprogress=c.onreadystatechange=function(){i(u),u=r(s,f)},c.onload=function(){u=i(u),"status"in c&&200!==c.status?a.reject(c.status):a.resolve(c.responseText,c.getResponseHeader&&c.getResponseHeader("content-type"))},c.open("GET",e,Z),c.send(),u=r(s,f),a.pledge}}(XMLHttpRequest);e.demand=function(){function t(){var t,n,r,i=C.call(arguments),o=this!==e?this:V,a=0;for(_e.emit(we,V,i,o);t=i[a];a++)u(t,te)?i[a]=ze.resolve(t,o).pledge:(i[a]=(n=Qe.defer()).pledge,n.resolve(t));return r=i.length>1?Qe.all(i):i[0],r.always(function(){_e.emit(be,V,i,o)})}return t.configure=function(e){var n,r=e.cache,i=e.version,o=e.timeout,s=e.lifetime,d=e.base,l=e.pattern,h=e.modules,p=O.modules;return u(r,ne)?O.cache[""]={weight:0,state:r}:a(r)&&f(r,function(e,t){O.cache[e]={weight:e.length,state:t}}),u(i,te)&&(O.version=i),c(o)&&(O.timeout=1e3*Math.min(Math.max(o,2),12)),c(s)&&s>0&&(O.lifetime=1e3*s),u(d,te)&&""!==d&&(O.pattern.base=new Ke("",d)),a(l)&&f(l,function(e,t){"base"!==e&&(O.pattern[e]=new Ke(e,t))}),a(h)&&f(h,function(e,t){n=p[e]=p[e]||{},_e.emit(fe,e,n),$e(n,t),_e.emit(de,e,n)}),t},t.version="4.1.1",t.on=_e.on.bind(t),t.remove=ze.remove,t.list=ze.list,t.clear=Ge.clear,_e.after(he,function(e){new y(e)}).after(pe+" "+Re,function(e){_e.emit(Ee,e.id,e)}).after(qe,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Re,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(Ee,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Oe,e.id,e)}),e.enqueue===!0?k.enqueue(e):s(e.enqueue,Qe)&&e.enqueue.then(function(){k.enqueue(e)})}),t}(),e.provide=function(){var t,n,r=u(arguments[0],te)?arguments[0]:V,i=this!==e?this:V,o=x(arguments[r?1:0])?arguments[r?1:0]:V,a=o?arguments[r?2:1]:arguments[r?1:0];!r&&E.current&&(t=E.current,r=t.uri,E.process()),r?(t=t||new ze(r,i),n=u(a,ie),o?demand.apply(t.path,o).then(function(){t.deferred.resolve(n?a.apply(V,arguments):a)},function(){t.deferred.reject(new g(Ae,t.id,arguments))}):t.deferred.resolve(n?a():a)):!u(console,ee)&&console.error(new g(Te))},demand.configure({cache:Z,base:"/",pattern:{"/demand":l((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),b.prototype={enqueue:function(){P[this.uuid]=P[this.uuid].concat(C.call(arguments)),_e.emit(Se,this.uuid)},dequeue:function(){return _e.emit(Ce,this.uuid),P[this.uuid].shift()},get current(){return P[this.uuid][0]},get length(){return P[this.uuid].length}},b.extends(v),j.prototype={process:function(){var e,t=P[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=V},get current(){return P[this.uuid].current}},j.extends(v);var We=function(){function e(){}return e.prototype={validate:V,onPreRequest:V,onPostRequest:V,onPreProcess:V,process:V},new e}(),Ye=function(){function e(){}var n=t.getElementsByTagName("head")[0],r=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url;e.url=".js"!==t.slice(-3)?t+".js":t},onPostRequest:function(e){e.source=q(e.url,e.source)},process:function(e){var r;e.source&&(r=t.createElement("script"),r.async=Z,r.text=e.source,r.setAttribute(L+"-id",e.id),n.appendChild(r))}},new(e.extends(We))}();g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var Ze=function(){function e(e){for(var t,n,i=0;n=e[i];i++)if(n=n.match(Be),n=n&&n[3]||r.handler,t){if(n!==t)return Y}else t=n;return t}function t(){}var n=B+"bundle",r={};return demand.on(de+":"+n,function(e){var t,n;a(e)&&(r=e,f(r,function(e,r){for(t=0;n=r[t];t++)u(n,te)&&(r[t]=p(n))}))}),t.prototype={validate:Ye.validate,onPreProcess:function(t){function n(){f.reject(new g(De,t.id,arguments))}var i,o,u,a,c,s=t.source,f=t.deferred,d=r[t.path];if(t.enqueue=!1,d&&(i=e(d))){for(;o=Xe.exec(s);)s=s.replace(o[0],"");for(t.source=s,u=[],c=0;a=d[c];c++)u.push(ze.resolve(K+a).pledge);Qe.all(u).then(function(){for(u.length=0,c=0;a=d[c];c++)a=d[c]=ze.get(a)||new ze(a),a.handler=arguments[c],u.push(a.pledge);"module"===i?(k.enqueue.apply(k,d),Ye.process(t)):(Ye.process(t),k.enqueue.apply(k,d)),Qe.all(u).then(f.resolve,n)},n)}else n()}},new(t.extends(We))}(),et=function(){function e(e){for(var t,n,r=0;t=o[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[B+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}function n(){for(var e,t=0;e=this[t];t++)e.deferred.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.deferred.reject(new g(De,e.id))}var i=G+"genie",o=[];return demand.on(de+":"+i,function(e){a(e)&&(o.length=0,f(e,function(e,t){o.push({prefix:e,weight:e.length,fn:t})}))}).on(we,function(o,a){var c,s,d,l,h={};for(c=0;s=o[c];c++)!u(s,te)||Je.test(s)||ze.get(s,a)||(s=new ze(s,a,Y),"module"===s.type&&(d=e(s.path))&&!Ge.get(s)&&(h[d.prefix]||(h[d.prefix]={fn:d.fn,matches:[]})).matches.push(s));f(h,function(e,o){if(l=o.matches,l.length>1){for(o.id=i+"/"+w(JSON.stringify(o.matches)),c=0;s=l[c];c++)l[c]=new ze(s.uri);demand.configure(t(o)),demand("bundle!"+o.id).then(n.bind(l),r.bind(l))}})}),Z}();if(k=new b,E=new j(k),R(J+"uuid",v),R(J+"handler",We),R(B+"module",Ye),R(B+"bundle",Ze),R(G+"genie",et),R(z+"isTypeOf",u),R(z+"isArray",x),R(z+"isObject",a),R(z+"isInstanceOf",s),R(Q+"resolveUrl",l),R(Q+"resolveSourcemaps",q),R(Q+"merge",$e),R(Q+"iterate",f),R(Q+"hash",w),R(Q+"defer",Ne),R(F+"descriptor",o),R(F+"pledge",Qe),R(F+"queue",b),R(F+"xhr",Ve),R(F+"failure",g),n&&n.main)switch(typeof n.main){case te:demand(n.main);break;case ie:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +!function(e,t,n,r,i){"use strict";function o(e,t,n,r){return{__proto__:V,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function u(e,t){return typeof e===t}function c(e){return e&&u(e,re)}function a(e){return u(e,oe)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function s(e,t){return e instanceof t}function f(e,t,n){for(var r,i=Object.keys(e),o=0;(r=i[o])!==W&&t.call(n,r,e[r])!==Y;o++);return n}function d(){return+new Date}function l(e){return H.href=e,H.href}function h(e,t){var n=e.replace(ze,"");return Ue.test(n)||Le.test(n)||(n="/"+l((t&&l(t+"/../")||"/")+n).replace(Fe,"")),n}function p(e,t){var n=e.match(ze);return(n&&n[1]?"mock:":"")+(n&&n[3]||O.handler)+"!"+h(e,t)}function v(){return u(this.uuid,ee)&&$(this,"uuid",new o(Ie())),this}function m(){this.parent.constructor.call(this),P[this.uuid]={},e.storage=P[this.uuid]}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function y(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.deferred.reject(new g(Me+" (content-type)",e.id)):(e.source=t,_e.emit(Re,e.type,e))}function n(t){e.deferred.reject(new g(Me+(t?" (status)":""),e.id))}function r(e,t,n){var r;return H.href=e,H.search=(r=(H.search||"").replace(u,""))+(r?"&":"?")+t+"="+n,H.href}function i(u){u=u||0,e.url=o?l(o.process(e.path,u)):e.path,_e.emit(qe,e.type,e),new Ve(r(e.url,L,+new Date)).then(t,o?function(){u++,o.location[u]?i(u):n()}:n)}var o,u=/^\?/;Le.test(e.path)||f(O.pattern,function(t,n){n.matches(e.path)&&(!o||o.weight>>0}function b(){this.parent.constructor.call(this),P[this.uuid]=[]}function j(e){var t=this.parent.constructor.call(this),n=P[t.uuid]={queue:e,current:V};demand.on(Se+":"+e.uuid,function(){!n.current&&t.process()})}function q(e,t){for(var n,r;n=Xe.exec(t);)H.href=e,Le.test(n[2])?r=H.protocol+"//"+H.host+n[2]:(H.pathname+="/../"+n[2],r=H.protocol+"//"+H.host+H.pathname),t=t.replace(n[0],n[1]+" sourceMappingURL="+r+".map"+(n[3]?" "+n[3]:""));return t}function g(e,t,n){this.message=e,t&&(this.module=t),n&&(this.stack=C.call(n))}function R(e,t){provide(e,function(){return t})}var k,E,O={cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},P={},S=Array.prototype,C=S.slice,M=S.concat,A=Object.prototype,D=A.toString,T=Object.create,$=Object.defineProperty,I=Object.getOwnPropertyNames,N=Object.getOwnPropertyDescriptor,_=Function.prototype,H=t.createElement("a"),L="demand",U="provide",X="path",F="/"+L+"/",J=F+"abstract/",z=F+"handler/",B=F+"plugin/",G=F+"function/",Q=F+"validator/",K="mock:",V=null,W=void 0,Y=!1,Z=!0,ee="undefined",te="string",ne="boolean",re="object",ie="function",oe="number",ue=function(){},ce="pre",ae="post",se="Configure",fe=ce+se,de=ae+se,le="cache",he=le+"Miss",pe=le+"Hit",ve=le+"Clear",me=le+"Exceed",ge=ce+"Cache",ye=ae+"Cache",xe="Resolve",we=ce+xe,be=ae+xe,je="Request",qe=ce+je,Re=ae+je,ke="Process",Ee=ce+ke,Oe=ae+ke,Pe="queue",Se=Pe+"Enqueue",Ce=Pe+"Dequeue",Me="error loading",Ae="error providing",De="error resolving",Te="unspecified anonymous provide";!function(){function e(e){var t,n=this,r=n.prototype,i={},u=I(r),c=0;for(e=e.prototype||e;t=u[c];c++)i[t]=N(r,t);return i.constructor=new o(n),i.parent=new o(e),n.prototype=T(e,i),n}$(_,"extends",new o(e))}();var $e=function(){function e(e,t){var n,r=this[e];t!==W&&(c(t)?(n=c(r),r=t.length!==W?n&&r.length!==W?r:[]:n&&r.length===W?r:{},this[e]=$e(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==W;r++)f(t,e,n);return n}}(),Ie=function(){function e(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}var t=new RegExp("[xy]","g"),n={};return function(){var r;do r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e);while(n[r]);return n[r]=1,r}}(),Ne=function(){var n,i,o="setImmediate"in e;return"MutationObserver"in e?function(e){n=t.createElement("div"),new MutationObserver(function(){e()}).observe(n,{attributes:Z}),n.setAttribute("i","1")}:!o&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?function(){function t(t){t.source===e&&t.data&&P[t.data]&&(P[t.data](),delete P[t.data])}return e.addEventListener("message",t,Y),function(t){var n=Ie();P[n]=t,e.postMessage(n,"*")}}():!o&&"onreadystatechange"in(n=t.createElement("script"))?function(e){n.onreadystatechange=function(){n.onreadystatechange=V,n.parentNode.removeChild(n),e()},t.body.appendChild(n)}:(i=o?setImmediate:r,function(e){i(e)})}(),_e=function(){function e(e,t,r){var c,a;if(u(t,te)&&u(r,ie))for(t=t.split(" ");c=t.shift();)c=c.split(":"),i.test(c[0])&&((o[c[0]]||(o[c[0]]={on:[],after:[]}))[e].push({callback:r,filter:c[1]}),e===n&&c[0]===de&&(a=O.modules[c[1]])&&r(a))}function t(){}var n="on",r="after",i=/^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,o={};return t.prototype={emit:function(e,t){var i,u,c,a=o[e];if(a){for(i=C.call(arguments,2),u=0;c=a[n][u];u++)c.filter&&c.filter!==t||c.callback.apply(V,i);for(u=0;c=a[r][u];u++)c.filter&&c.filter!==t||c.callback.apply(V,i)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e(r,t,n),this}},new t}(),He=function(){var e=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;return function(t){return t.replace(e,"\\$&")}}(),Le=/^(http(s?):)?\/\//i,Ue=/^\//,Xe=/((?:\/\/|\/\*)#)\s*sourceMappingURL\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,Fe=new RegExp("^"+He(l("/"))),Je=new RegExp("^"+L+"|"+U+"|"+X+"$"),ze=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(\d+\.\d+.\d+))?(?:#(\d+))?!/,Be=function(t){function n(e){var t;return e.cache!==V?e.cache:(f(O.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:Y)}function r(e){return y.getItem(e)}function i(e,t){y[t?"setItem":"removeItem"](e,t)}function o(e){return t.parse(r(e))}function u(e,n){n.demand=demand.version,n.access=d(),i(e,t.stringify(n))}function c(e,t,n){_e.emit(e,t.id,t,n)}function a(){Ne(this.clear.expired.bind(this.clear))}var s,l="["+L+"]",h="[state]",v="[value]",m=new RegExp("^"+He(l)+"\\[(.+?)\\]"+He(h)+"$"),g=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return Y}}(),y=g?e.localStorage:V,x=g&&"remainingSpace"in y,w={};return _e.on(he,function(e){Ne(function(){s.clear.path(e.id)})}).on(me,function(e){demand("-!/demand/cache/dispose").then(function(t){Ne(function(){t(e.source.length),s.set(e)})})}).on(Re,function(e){e.source&&n(e)&&(w[e.id]=Z)}).after(Oe,function(e){w[e.id]&&Ne(function(){s.set(e)})}),a.prototype={get:function(){return g?function(e){var t,i;if(n(e)&&(t=l+"["+e.id+"]",i=o(t+h),i&&i.version===e.version&&(!i.expires&&!e.lifetime||i.expires>d())))return e.source=r(t+v),Ne(function(){u(t+h,i)}),Z}:ue}(),resolve:function(){return g?function(e){var t=this;t.get(e)?c(pe,e):c(he,e)}:function(e){c(he,e)}}(),set:function(){return g?function(e){var t,r,o;if(n(e)){t={version:e.version,expires:e.lifetime?d()+e.lifetime:e.lifetime,size:e.source.length},r=l+"["+e.id+"]",c(ge,e,t);try{if(o=x?y.remainingSpace:V,i(r+v,e.source),u(r+h,t),o!==V&&y.remainingSpace===o)throw new Error("QUOTA_EXCEEDED_ERR");c(ye,e,t)}catch(t){c(me,e)}}}:ue}(),clear:{path:function(){return g?function e(e){var t=p(e),n=l+"["+t+"]";r(n+h)&&(i(n+h),i(n+v),c(ve,Qe.get(t)||new Qe(t,V,Y)))}:ue}(),all:function(){return g?function(){var e;f(y,function(t){e=t.match(m),e&&this.path(e[1])},this)}:ue}(),expired:function(){return g?function(){var e,t,n=this;f(y,function(r){e=r.match(m),e&&(t=o(l+"["+e[1]+"]"+h),t&&t.expires>0&&t.expires<=d()&&n.path(e[1]))},this)}:ue}()}},s=new a}(JSON),Ge=function(){function e(){s[this.uuid].handle(c,arguments)}function t(){s[this.uuid].handle(a,arguments)}function n(e,t){var n,r,i=s[this.uuid];for(i.state===u&&(i.state=e,i.value=t);n=i[i.state].shift();)r=n.handler.apply(V,i.value),r&&"function"==typeof r.then?r.then(n.deferred.resolve,n.deferred.reject):n.deferred[i.state===c?"resolve":"reject"].apply(V,i.value);i[c].length=0,i[a].length=0}function r(e,t,n){e.then(function(){n.resolved[t]=C.call(arguments),n.count++,i(n)},function(){n.rejected.push(C.call(arguments)),i(n)})}function i(e){e.count===e.total?e.deferred.resolve.apply(V,M.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.deferred.reject.apply(V,M.apply([],e.rejected))}function o(r){var i=this.parent.constructor.call(this);s[i.uuid]={state:u,handle:n.bind(i),value:V,resolved:[],rejected:[],count:0},r(e.bind(i),t.bind(i))}var u="pending",c="resolved",a="rejected",s={};return o.prototype={catch:function(e){return this.then(ue,e)},always:function(e){return this.then(e,e)},then:function(e,t){var n=s[this.uuid],r=o.defer();return e&&n[c].push({handler:e,deferred:r}),t&&n[a].push({handler:t,deferred:r}),n.state!==u&&Ne(n.handle),r.pledge},isPending:function(){return s[this.uuid].state===u},isResolved:function(){return s[this.uuid].state===c},isRejected:function(){return s[this.uuid].state===a}},o.defer=function(){var e={};return e.pledge=new o(function(t,n){e.resolve=t,e.reject=n}),e},o.all=function(e){var t,n,i=o.defer(),u=0;if(e.length)for(t=s[Ie()]={deferred:i,resolved:[],rejected:[],total:e.length,count:0};n=e[u];u++)r(n,u,t);else i.resolve();return i.pledge},o.race=function(e){for(var t,n=o.defer(),r=0;t=e[r];r++)t.then(n.resolve,n.reject);return e.length||n.resolve(),n.pledge},o.extends(v)}();m.prototype={get:function(e){return e?P[this.uuid][e]:P[this.uuid]},set:function(e,t){P[this.uuid][e]=t},remove:function(e){delete P[this.uuid][e]}},m.extends(v),g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var Qe=function(){function e(e,t){this[e]=t}function n(e,t){t.pledge.isPending()&&this.push(e)}function r(e,t){t.pledge.isResolved()&&this.push(e)}function i(e,t){t.pledge.isRejected()&&this.push(e)}function o(e,t,n){var r=this,i=e.match(ze)||s;return r.path=h(e,t),r.mock=i[1]?Z:Y,r.cache=i[2]?"+"===i[1]:V,r.type=i[3]||O.handler,r.version=i[4]||O.version,r.lifetime=i[5]&&1e3*i[5]||O.lifetime,r.id=(r.mock?K:"")+r.type+"!"+r.path,r.uri=(r.mock?K:"")+r.type+"@"+r.version+(a(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.deferred=Ge.defer(),r.pledge=r.deferred.pledge,n!==Y&&c.set(r.id,r),r}var u="internal!",c=new m,s=[];return o.prototype={enqueue:!0},o.get=function(e,t){return c.get(p(e,t))},o.resolve=function(t,n){var r=n&&Je.test(t),i=r?this.get(u+n+"/"+t):this.get(t,n);if(!i)if(r)switch(i=new o(u+n+"/"+t),t){case L:i.deferred.resolve(function(){return f(demand,e,demand.bind(n))}());break;case U:i.deferred.resolve(provide.bind(n));break;case X:i.deferred.resolve(n)}else i=new o(t,n),demand(z+i.type).then(function(e){i.handler=e,i.mock?i.deferred.resolve(e):Be.resolve(i)},function(){i.deferred.reject(new g(Me+" (handler)",self.id))});return i},o.remove=function(e,n,r){var i=p(e,n),o=t.querySelector("["+L+'-id="'+i+'"]');c.remove(i),c.remove(K+i),o&&o.parentNode.removeChild(o),r!==Y&&Be.clear.path(i)},o.list={all:function(){return Object.keys(c.get())},pending:function(){return f(c.get(),n,[])},resolved:function(){return f(c.get(),r,[])},rejected:function(){return f(c.get(),i,[])}},o}(),Ke=function(){function e(e,t){this[e]={url:l(t).replace(n,"$1"),match:new RegExp("^"+He(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+He(t)),r.location=[].concat(n),f(r.location,e,r.location)}var n=/(.+)\/$/;return t.prototype={matches:function(e){return this.match.test(e)},process:function(e,t){var n=this.location[t];if(n)return e.replace(this.match,n.url)}},t}(),Ve=function(t){function n(){this.readyState<4&&this.abort()}var o="XDomainRequest"in e&&e.XDomainRequest||t;return function(e){var u,c=Ge.defer(),a=Fe.test(e)?new t:new o,s=n.bind(a),f=O.timeout;return a.ontimeout=a.onerror=a.onabort=function(){c.reject(a.status)},a.onprogress=a.onreadystatechange=function(){i(u),u=r(s,f)},a.onload=function(){u=i(u),"status"in a&&200!==a.status?c.reject(a.status):c.resolve(a.responseText,a.getResponseHeader&&a.getResponseHeader("content-type"))},a.open("GET",e,Z),a.send(),u=r(s,f),c.pledge}}(XMLHttpRequest);e.demand=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new Ke(e,t))}function r(e,t){var n=this[e]=this[e]||{};_e.emit(fe,e,n),$e(n,t),_e.emit(de,e,n)}function i(){var t,n,r,i=C.call(arguments),o=this!==e?this:V,c=0;for(_e.emit(we,V,i,o);t=i[c];c++)u(t,te)?i[c]=Qe.resolve(t,o).pledge:(i[c]=(n=Ge.defer()).pledge,n.resolve(t));return r=i.length>1?Ge.all(i):i[0],r.always(function(){_e.emit(be,V,i,o)})}return i.configure=function(e){var o=e.cache,s=e.version,d=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,m=O.modules;return u(o,ne)?O.cache[""]={weight:0,state:o}:c(o)&&f(o,t,O.cache),u(s,te)&&(O.version=s),a(d)&&(O.timeout=1e3*Math.min(Math.max(d,2),12)),a(l)&&l>0&&(O.lifetime=1e3*l),u(h,te)&&""!==h&&(O.pattern.base=new Ke("",h)),c(p)&&f(p,n,O.pattern),c(v)&&f(v,r,m),i},i.version="4.1.2",i.on=_e.on.bind(i),i.remove=Qe.remove,i.list=Qe.list,i.clear=Be.clear,_e.after(he,function(e){new y(e)}).after(pe+" "+Re,function(e){_e.emit(Ee,e.id,e)}).after(qe,function(e){var t=e.handler.onPreRequest;t&&t(e)}).after(Re,function(e){var t=e.handler.onPostRequest;t&&t(e)}).after(Ee,function(e){var t=e.handler.onPreProcess;t&&t(e),e.pledge.then(function(){_e.emit(Oe,e.id,e)}),e.enqueue===!0?k.enqueue(e):s(e.enqueue,Ge)&&e.enqueue.then(function(){k.enqueue(e)})}),i}(),e.provide=function(){var t,n,r=u(arguments[0],te)?arguments[0]:V,i=this!==e?this:V,o=x(arguments[r?1:0])?arguments[r?1:0]:V,c=o?arguments[r?2:1]:arguments[r?1:0];!r&&E.current&&(t=E.current,r=t.uri,E.process()),r?(t=t||new Qe(r,i),n=u(c,ie),o?demand.apply(t.path,o).then(function(){t.deferred.resolve(n?c.apply(V,arguments):c)},function(){t.deferred.reject(new g(Ae,t.id,arguments))}):t.deferred.resolve(n?c():c)):!u(console,ee)&&console.error(new g(Te))},demand.configure({cache:Z,base:"/",pattern:{"/demand":l((n&&n.url||location.href)+"/../").slice(0,-1)}}),n&&n.settings&&demand.configure(n.settings),b.prototype={enqueue:function(){P[this.uuid]=P[this.uuid].concat(C.call(arguments)),_e.emit(Se,this.uuid)},dequeue:function(){return _e.emit(Ce,this.uuid),P[this.uuid].shift()},get current(){return P[this.uuid][0]},get length(){return P[this.uuid].length}},b.extends(v),j.prototype={process:function(){var e,t=P[this.uuid];t.queue.length?(e=t.current=t.queue.dequeue(),e.handler.process&&e.handler.process(e)):t.current=V},get current(){return P[this.uuid].current}},j.extends(v);var We=function(){function e(){}return e.prototype={validate:V,onPreRequest:V,onPostRequest:V,onPreProcess:V,process:V},new e}(),Ye=function(){function e(){}var n=t.getElementsByTagName("head")[0],r=/^(application|text)\/(x-)?javascript/;return e.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url;e.url=".js"!==t.slice(-3)?t+".js":t},onPostRequest:function(e){e.source=q(e.url,e.source)},process:function(e){var r;e.source&&(r=t.createElement("script"),r.async=Z,r.text=e.source,r.setAttribute(L+"-id",e.id),n.appendChild(r))}},new(e.extends(We))}();g.prototype={toString:function(){var e=this,t=L+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=g.traverse(e.stack,t,1)),t}},g.traverse=function(e,t,n){for(var r,i=new Array(n+1).join(" "),o=0;r=e[o];o++)t+="\n"+i+"> "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=g.traverse(r.stack,t,n+1));return t};var Ze=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)u(r,te)&&(t[n]=p(r))}function t(e){for(var t,n,r=0;n=e[r];r++)if(n=n.match(ze),n=n&&n[3]||i.handler,t){if(n!==t)return Y}else t=n;return t}function n(){}var r=z+"bundle",i={};return demand.on(de+":"+r,function(t){c(t)&&(i=t,f(i,e))}),n.prototype={validate:Ye.validate,onPreProcess:function(e){function n(){f.reject(new g(De,e.id,arguments))}var r,o,u,c,a,s=e.source,f=e.deferred,d=i[e.path];if(e.enqueue=!1,d&&(r=t(d))){for(;o=Xe.exec(s);)s=s.replace(o[0],"");for(e.source=s,u=[],a=0;c=d[a];a++)u.push(Qe.resolve(K+c).pledge);Ge.all(u).then(function(){for(u.length=0,a=0;c=d[a];a++)c=d[a]=Qe.get(c)||new Qe(c),c.handler=arguments[a],u.push(c.pledge);"module"===r?(k.enqueue.apply(k,d),Ye.process(e)):(Ye.process(e),k.enqueue.apply(k,d)),Ge.all(u).then(f.resolve,n)},n)}else n()}},new(n.extends(We))}(),et=function(){function e(e){for(var t,n,r=0;t=s[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e){var t,n,r=e.matches,i={pattern:{},modules:{"/demand/handler/bundle":{}}},o=0;for(i.pattern[e.id]=e.fn(r),i.modules[z+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}function n(){for(var e,t=0;e=this[t];t++)e.deferred.resolve(arguments[t])}function r(){for(var e,t=0;e=this[t];t++)e.deferred.reject(new g(De,e.id))}function i(e,t){s.push({prefix:e,weight:e.length,fn:t})}function o(e,i){var o,u=i.matches,c=0;if(u.length>1){for(i.id=a+"/"+w(JSON.stringify(i.matches));o=u[c];c++)u[c]=new Qe(o.uri);demand.configure(t(i)),demand("bundle!"+i.id).then(n.bind(u),r.bind(u))}}var a=B+"genie",s=[];return demand.on(de+":"+a,function(e){c(e)&&(s.length=0,f(e,i))}).on(we,function(t,n){for(var r,i,c={},a=0;r=t[a];a++)!u(r,te)||Je.test(r)||Qe.get(r,n)||(r=new Qe(r,n,Y),"module"===r.type&&(i=e(r.path))&&!Be.get(r)&&(c[i.prefix]||(c[i.prefix]={fn:i.fn,matches:[]})).matches.push(r));f(c,o)}),Z}();if(k=new b,E=new j(k),R(J+"uuid",v),R(J+"handler",We),R(z+"module",Ye),R(z+"bundle",Ze),R(B+"genie",et),R(Q+"isTypeOf",u),R(Q+"isArray",x),R(Q+"isObject",c),R(Q+"isInstanceOf",s),R(G+"resolveUrl",l),R(G+"resolveSourcemaps",q),R(G+"merge",$e),R(G+"iterate",f),R(G+"hash",w),R(G+"defer",Ne),R(F+"descriptor",o),R(F+"pledge",Ge),R(F+"queue",b),R(F+"xhr",Ve),R(F+"failure",g),n&&n.main)switch(typeof n.main){case te:demand(n.main);break;case ie:provide("main",n.main())}}(this,document,"demand"in this&&demand,setTimeout,clearTimeout); //# sourceMappingURL=demand.js.map diff --git a/dist/demand.js.map b/dist/demand.js.map index f159fcd..b25e4e6 100644 --- a/dist/demand.js.map +++ b/dist/demand.js.map @@ -1 +1 @@ -{"version":3,"sources":["demand.js","class/descriptor.js","validator/isTypeOf.js","validator/isObject.js","validator/isPositive.js","validator/isInstanceOf.js","function/iterate.js","function/getTimestamp.js","function/resolveUrl.js","function/resolvePath.js","function/resolveId.js","abstract/uuid.js","class/registry.js","class/failure.js","class/loader.js","validator/isArray.js","function/hash.js","class/queue.js","class/processor.js","function/resolveSourcemaps.js","class/Failure.js","shortcuts.js","constants.js","inheritance.js","function/merge.js","function/uuid.js","function/defer.js","singleton/event.js","function/escapeRegex.js","variables.js","singleton/cache.js","class/pledge.js","class/dependency.js","class/pattern.js","class/xhr.js","function/demand.js","function/provide.js","abstract/handler.js","handler/module.js","handler/bundle.js","plugin/genie.js"],"names":["global","document","options","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","callback","context","property","properties","Object","keys","i","UNDEFINED","call","FALSE","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","AbstractUuid","this","uuid","STRING_UNDEFINED","objectDefineProperty","functionUuid","ClassRegistry","parent","constructor","storage","ClassFailure","message","stack","arrayPrototypeSlice","ClassLoader","dependency","resolve","response","validate","deferred","reject","ERROR_LOAD","id","source","singletonEvent","emit","EVENT_POST_REQUEST","status","addUrlParam","param","query","search","regexCleanupSearch","load","location","pattern","process","EVENT_PRE_REQUEST","ClassXhr","DEMAND_ID","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","self","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","factory","provide","processor","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","createElement","PROVIDE_ID","PATH_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","undefined","TRUE","STRING_STRING","STRING_BOOLEAN","STRING_FUNCTION","FUNCTION_EMPTY","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_CLEAR","EVENT_CACHE_EXCEED","EVENT_PRE_CACHE","EVENT_POST_CACHE","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE","EVENT_QUEUE_DEQUEUE","ERROR_PROVIDE","ERROR_RESOLVE","ERROR_PROVIDE_ANONYMOUS","extend","names","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","functionDefer","element","fallback","hasSetImmediate","fn","MutationObserver","observe","attributes","setAttribute","onMessage","event","data","addEventListener","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","split","shift","regexMatchEvent","listener","after","push","filter","TYPE_ON","Event","TYPE_AFTER","item","apply","functionEscapeRegex","regexMatchRegex","regexMatchInternal","singletonCache","JSON","enabled","indexOf","state","getKey","key","localStorage","getItem","setKey","getState","parse","setState","access","stringify","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","set","get","version","expires","lifetime","spaceBefore","remainingSpace","Error","error","ClassDependency","all","ClassPledge","handle","PLEDGE_RESOLVED","PLEDGE_REJECTED","result","PLEDGE_PENDING","pledge","index","resolved","count","check","rejected","total","executor","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","extends","remove","traverse","depth","indention","join","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","scopedDemand","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","dependencies","configure","temp","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","getType","HandlerBundle","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","bundles","main"],"mappings":"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","file":"demand.js","sourcesContent":["/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE,\n\tvalidatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf,\n\tfunctionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid,\n\tAbstractUuid, abstractHandler,\n \tClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor\n\thandlerModule, handlerBundle,\n \tpluginGenie\n*/\n\n/*eslint no-unused-vars: [2, { \"vars\": \"local\", \"args\": \"none\" }]*/\n(function(global, document, options, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar settings = { cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tqueue, processor;\n\t/* eslint-enable no-unused-vars */\n\n\t// include inheritance\n\t\t//=require inheritance.js\n\n\t// include main components\n\t\t//=require function/demand.js\n\t\t//=require function/provide.js\n\n\t// process initial configuration\n\t\tdemand.configure({ cache: TRUE, base: '/', pattern: { '/demand': functionResolveUrl(((options && options.url) || location.href) + '/../').slice(0, -1)} });\n\t\toptions && options.settings && demand.configure(options.settings);\n\n\t// include additional components\n\t\t//=require function/hash.js\n\t\t//=require class/queue.js\n\t\t//=require class/processor.js\n\t\t//=require handler/module.js\n\t\t//=require handler/bundle.js\n\t\t//=require plugin/genie.js\n\n\t// initialize\n\t\tqueue = new ClassQueue();\n\t\tprocessor = new ClassProcessor(queue);\n\n\t\tfunction assignModule(id, factory) {\n\t\t\tprovide(id, function() { return factory; });\n\t\t}\n\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'uuid', AbstractUuid);\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'handler', abstractHandler);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'module', handlerModule);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'bundle', handlerBundle);\n\t\tassignModule(MODULE_PREFIX_PLUGIN + 'genie', pluginGenie);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isTypeOf', validatorIsTypeOf);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'iterate', functionIterate);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'hash', functionHash);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'defer', functionDefer);\n\t\tassignModule(MODULE_PREFIX + 'descriptor', ClassDescriptor);\n\t\tassignModule(MODULE_PREFIX + 'pledge', ClassPledge);\n\t\tassignModule(MODULE_PREFIX + 'queue', ClassQueue);\n\t\tassignModule(MODULE_PREFIX + 'xhr', ClassXhr);\n\t\tassignModule(MODULE_PREFIX + 'failure', ClassFailure);\n\n\t\tif(options && options.main) {\n\t\t\tswitch(typeof options.main) {\n\t\t\t\tcase STRING_STRING:\n\t\t\t\t\tdemand(options.main);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase STRING_FUNCTION:\n\t\t\t\t\tprovide('main', options.main());\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\treturn {\n\t\t__proto__: NULL,\n\t\tvalue: value,\n\t\tenumerable: !!enumerable,\n\t\tconfigurable: !!configurable,\n\t\twritable: !!writable\n\t};\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * isTypeOf\n *\n * Check whether a given object is of specified type\n *\n * @param object\n * @param {string} type\n *\n * @return {boolean}\n */\n\nfunction validatorIsTypeOf(object, type) {\n\treturn typeof object === type;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_OBJECT,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isObject\n *\n * Check whether a given object is of type object\n *\n * @param object\n *\n * @return {boolean}\n */\n\nfunction validatorIsObject(object) {\n\treturn object && validatorIsTypeOf(object, STRING_OBJECT);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_NUMBER,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isPositive\n *\n * Check whether a given value is a positive integer\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsPositive(value) {\n\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0;\n}","/**\n * isInstanceOf\n *\n * Check whether a given object is an instance of specified type\n *\n * @param object\n * @param module\n *\n * @return {boolean}\n */\nfunction validatorIsInstanceOf(object, module) {\n\treturn object instanceof module;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED, FALSE\n*/\n\n//=require constants.js\n\n/**\n * iterate\n *\n * Iterate over enumerable & own properties of a given\n * object and pass current property as well as its value\n * to a callback function\n *\n * @param {object} object\n * @param {function} callback\n * @param context\n *\n * @return {object}\n */\n\nfunction functionIterate(object, callback, context) {\n\tvar properties = Object.keys(object),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, object[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nfunction functionGetTimestamp() {\n\treturn +new Date();\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tlinkElement\n*/\n\n//=require shortcuts.js\n\nfunction functionResolveUrl(url) {\n\tlinkElement.href = url;\n\n\treturn linkElement.href;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter, regexMatchBaseUrl, regexIsAbsolutePath, regexIsAbsoluteUri,\n\tfunctionResolveUrl\n*/\n\n//=require variables.js\n//=require function/resolveUrl.js\n\nfunction functionResolvePath(uri, context) {\n\tvar path = uri.replace(regexMatchParameter, '');\n\n\tif(!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n\t\tpath = '/' + functionResolveUrl(((context && functionResolveUrl(context + '/../')) || '/') + path).replace(regexMatchBaseUrl, '');\n\t}\n\n\treturn path;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter,\n\tfunctionResolvePath\n*/\n\n//=require variables.js\n//=require function/resolvePath.js\n\nfunction functionResolveId(uri, context) {\n\tvar parameter = uri.match(regexMatchParameter);\n\n\treturn ((parameter && parameter[1]) ? 'mock:' : '') + ((parameter && parameter[3]) || settings.handler) + '!' + functionResolvePath(uri, context);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_UNDEFINED,\n\tobjectDefineProperty,\n\tvalidatorIsTypeOf,\n\tfunctionUuid,\n\tClassDescriptor\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require function/uuid.js\n//=require class/descriptor.js\n\nfunction AbstractUuid() {\n\tif(validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n\t\tobjectDefineProperty(this, 'uuid', new ClassDescriptor(functionUuid()));\n\t}\n\n\treturn this;\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tAbstractUuid\n*/\n\n//=require abstract/uuid.js\n\nfunction ClassRegistry() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = {};\n\n\tglobal.storage = storage[this.uuid];\n}\n\nClassRegistry.prototype = {\n\tget: function(key) {\n\t\treturn key ? storage[this.uuid][key] : storage[this.uuid];\n\t},\n\tset: function(key, value) {\n\t\tstorage[this.uuid][key] = value;\n\t},\n\tremove: function(key) {\n\t\tdelete storage[this.uuid][key];\n\t}\n};\n\nClassRegistry.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, ERROR_LOAD,\n\tregexIsAbsoluteUri,\n\tlinkElement,\n\tfunctionIterate, functionResolveUrl,\n\tClassXhr, ClassFailure,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require variables.js\n//=require shortcuts.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require singleton/event.js\n//=require class/xhr.js\n//=require class/failure.js\n\nfunction ClassLoader(dependency) {\n\tvar regexCleanupSearch = /^\\?/,\n\t\tpattern;\n\n\tfunction resolve(response, type) {\n\t\tif(!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\tdependency.source = response;\n\n\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency);\n\t\t} else {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\t\n\tfunction addUrlParam(url, param, value) {\n\t\tvar query;\n\t\t\n\t\tlinkElement.href = url;\n\t\tlinkElement.search = (query = (linkElement.search || '').replace(regexCleanupSearch, '')) + (query ? '&' : '?') + param + '=' + value;\n\t\t\n\t\treturn linkElement.href;\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\n\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\n\t\tnew ClassXhr(addUrlParam(dependency.url, DEMAND_ID, +new Date())).then(\n\t\t\tresolve,\n\t\t\t(\n\t\t\t\tpattern ?\n\t\t\t\tfunction() {\n\t\t\t\t\tlocation++;\n\n\t\t\t\t\tif(pattern.location[location]) {\n\t\t\t\t\t\tload(location);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t:\n\t\t\t\treject\n\t\t\t)\n\t\t);\n\t}\n\n\tif(!regexIsAbsoluteUri.test(dependency.path)) {\n\t\tfunctionIterate(settings.pattern, function(property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value);\n\t\t});\n\t}\n\n\tload();\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectPrototypeToString\n*/\n\n//=require shortcuts.js\n\n/**\n * isArray\n *\n * Check whether a given value is of type array\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsArray(value) {\n\treturn objectPrototypeToString.call(value) === '[object Array]';\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * hash\n *\n * Generate a hash for a given string\n *\n * @param {string} input\n *\n * @return {number}\n */\nfunction functionHash(input){\n\tvar value = 5381,\n\t\ti = input.length;\n\n\twhile(i) {\n\t\tvalue = (value * 33) ^ input.charCodeAt(--i);\n\t}\n\n\treturn value >>> 0;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, EVENT_QUEUE_DEQUEUE,\n\tarrayPrototypeSlice,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require singleton/event.js\n//=require abstract/uuid.js\n\nfunction ClassQueue() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = [];\n}\n\t\nClassQueue.prototype = {\n\tenqueue: function() {\n\t\tstorage[this.uuid] = storage[this.uuid].concat(arrayPrototypeSlice.call(arguments));\n\n\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid);\n\t},\n\tdequeue: function() {\n\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\n\t\treturn storage[this.uuid].shift();\n\t},\n\tget current() {\n\t\treturn storage[this.uuid][0];\n\t},\n\tget length() {\n\t\treturn storage[this.uuid].length;\n\t}\n};\n\t\nClassQueue.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, NULL,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require abstract/uuid.js\n\nfunction ClassProcessor(queue) {\n\tvar self = this.parent.constructor.call(this),\n\t\tpointer = storage[self.uuid] = { queue: queue, current: NULL };\n\n\tdemand\n\t\t.on(EVENT_QUEUE_ENQUEUE + ':' + queue.uuid, function() {\n\t\t\t!pointer.current && self.process();\n\t\t});\n}\n\nClassProcessor.prototype = {\n\tprocess: function() {\n\t\tvar pointer = storage[this.uuid],\n\t\t\t\tcurrent;\n\n\t\tif(pointer.queue.length) {\n\t\t\tcurrent = pointer.current = pointer.queue.dequeue();\n\n\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t} else {\n\t\t\tpointer.current = NULL;\n\t\t}\n\t},\n\tget current() {\n\t\treturn storage[this.uuid].current;\n\t}\n};\n\t\nClassProcessor.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchSourcemap, regexIsAbsoluteUri\n\tlinkElement\n*/\n\n//=require variables.js\n//=require shortcuts.js\n\nfunction functionResolveSourcemaps(url, source) {\n\tvar match, replacement;\n\t\n\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\tlinkElement.href = url;\n\t\t\n\t\tif(regexIsAbsoluteUri.test(match[2])) {\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + match[2];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[2];\n\t\t\t\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + linkElement.pathname;\n\t\t}\n\t\t\n\t\tsource = source.replace(match[0], match[1] + ' sourceMappingURL=' + replacement + '.map' + (match[3] ? ' ' + match[3] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar arrayPrototype = Array.prototype,\n\tarrayPrototypeSlice = arrayPrototype.slice,\n\tarrayPrototypeConcat = arrayPrototype.concat,\n\tobjectPrototype = Object.prototype,\n\tobjectPrototypeToString = objectPrototype.toString,\n\tobjectCreate = Object.create,\n\tobjectDefineProperty = Object.defineProperty,\n\tobjectGetOwnPropertyNames = Object.getOwnPropertyNames,\n\tobjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,\n\tfunctionPrototype = Function.prototype,\n\tlinkElement = document.createElement('a');","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar DEMAND_ID = 'demand',\n\tPROVIDE_ID = 'provide',\n\tPATH_ID = 'path',\n\tMODULE_PREFIX = '/' + DEMAND_ID + '/',\n\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + 'abstract/',\n\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + 'handler/',\n\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + 'plugin/',\n\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + 'function/',\n\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + 'validator/',\n\tMOCK_PREFIX = 'mock:',\n\tNULL = null,\n\tUNDEFINED = undefined,\n\tFALSE = false,\n\tTRUE = true,\n\tSTRING_UNDEFINED = 'undefined',\n\tSTRING_STRING = 'string',\n\tSTRING_BOOLEAN = 'boolean',\n\tSTRING_OBJECT = 'object',\n\tSTRING_FUNCTION = 'function',\n\tSTRING_NUMBER = 'number',\n\tFUNCTION_EMPTY = function() {},\n\tEVENT_PREFIX = 'pre',\n\tEVENT_POSTFIX = 'post',\n\tEVENT_CONFIGURE = 'Configure',\n\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\tEVENT_CACHE = 'cache',\n\tEVENT_CACHE_MISS = EVENT_CACHE + 'Miss',\n\tEVENT_CACHE_HIT = EVENT_CACHE + 'Hit',\n\tEVENT_CACHE_CLEAR = EVENT_CACHE + 'Clear',\n\tEVENT_CACHE_EXCEED = EVENT_CACHE + 'Exceed',\n\tEVENT_PRE_CACHE = EVENT_PREFIX + 'Cache',\n\tEVENT_POST_CACHE = EVENT_POSTFIX + 'Cache',\n\tEVENT_RESOLVE = 'Resolve',\n\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\tEVENT_REQUEST = 'Request',\n\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\tEVENT_PROCESS = 'Process',\n\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\tEVENT_QUEUE = 'queue',\n\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + 'Enqueue',\n\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + 'Dequeue',\n\tERROR_LOAD = 'error loading',\n\tERROR_PROVIDE = 'error providing',\n\tERROR_RESOLVE = 'error resolving',\n\tERROR_PROVIDE_ANONYMOUS = 'unspecified anonymous provide';","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tfunction extend(parent) {\n\t\tvar self = this,\n\t\t\tprototype = self.prototype,\n\t\t\tproperties = {},\n\t\t\tnames = objectGetOwnPropertyNames(prototype),\n\t\t\ti = 0, property;\n\n\t\tparent = parent.prototype || parent;\n\n\t\tfor(; (property = names[i]); i++) {\n\t\t\tproperties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t}\n\n\t\tproperties.constructor = new ClassDescriptor(self);\n\t\tproperties.parent = new ClassDescriptor(parent);\n\n\t\tself.prototype = objectCreate(parent, properties);\n\n\t\treturn self;\n\t}\n\n\tobjectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED,\n\tvalidatorIsObject,\n\tfunctionIterate\n*/\n\n//=require constants.js\n//=require validator/isObject.js\n//=require function/iterate.js\n\n/**\n * merge\n *\n * Merge two or more objects into the first one passed in\n *\n * @param {...object} object\n *\n * @return {object}\n */\nvar functionMerge = (function() {\n\tfunction mergeProperties(property, value) {\n\t\tvar targetProperty = this[property],\n\t\t\ttargetPropertyIsObject;\n\n\t\tif(value !== UNDEFINED) {\n\t\t\tif(validatorIsObject(value)) {\n\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\n\t\t\t\tif(value.length !== UNDEFINED) {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length !== UNDEFINED) ? targetProperty : [];\n\t\t\t\t} else {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length === UNDEFINED) ? targetProperty : {};\n\t\t\t\t}\n\n\t\t\t\tthis[property] = functionMerge(targetProperty, value);\n\t\t\t} else {\n\t\t\t\tthis[property] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn function functionMerge() {\n\t\tvar target = arguments[0],\n\t\t\ti = 1, properties;\n\n\t\tfor(; (properties = arguments[i]) !== UNDEFINED; i++) {\n\t\t\tfunctionIterate(properties, mergeProperties, target);\n\t\t}\n\n\t\treturn target;\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionUuid = (function() {\n\tvar regex = new RegExp('[xy]', 'g'),\n\t\tstorage = {};\n\n\tfunction randomize(character) {\n\t\tvar r = Math.random() * 16 | 0;\n\n\t\treturn ((character === 'x') ? r : (r & 0x3 | 0x8)).toString(16);\n\t}\n\n\treturn function functionUuid() {\n\t\tvar uuid;\n\n\t\tdo {\n\t\t\tuuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(regex, randomize);\n\t\t} while(storage[uuid]);\n\n\t\tstorage[uuid] = 1;\n\n\t\treturn uuid;\n\t};\n}());","/**\n * Based on setAsap:\n * Repo: https://github.com/taylorhakes/setAsap\n * License: https://github.com/taylorhakes/setAsap/blob/master/LICENSE\n */\n\n/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, TRUE, FALSE,\n\tfunctionUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/uuid.js\n\n/**\n * defer\n *\n * delay function execution like setImmediate does\n *\n * @param {function} function\n */\nvar functionDefer = (function() {\n\tvar hasSetImmediate = 'setImmediate' in global,\n\t\telement, fallback;\n\n\tif('MutationObserver' in global) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement = document.createElement('div');\n\n\t\t\tnew MutationObserver(function() { fn(); })\n\t\t\t\t.observe(element, { attributes: TRUE });\n\n\t\t\telement.setAttribute('i', '1');\n\t\t};\n\t}\n\n\tif(!hasSetImmediate && 'postMessage' in global && !('importScripts' in global) && 'addEventListener' in global) {\n\t\treturn (function() {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tif(event.source === global && event.data && storage[event.data]) {\n\t\t\t\t\tstorage[event.data]();\n\n\t\t\t\t\tdelete storage[event.data];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tglobal.addEventListener('message', onMessage, FALSE);\n\n\t\t\treturn function functionDefer(fn) {\n\t\t\t\tvar uuid = functionUuid();\n\n\t\t\t\tstorage[uuid] = fn;\n\n\t\t\t\tglobal.postMessage(uuid, '*');\n\t\t\t};\n\t\t}());\n\t}\n\n\tif(!hasSetImmediate && 'onreadystatechange' in (element = document.createElement('script'))) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement.onreadystatechange = function onreadystatechange() {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\n\t\t\t\tfn();\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(element);\n\t\t};\n\t}\n\n\t/* eslint-disable no-undef */\n\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t/* eslint-enable no-undef */\n\n\treturn function functionDefer(fn) {\n\t\tfallback(fn);\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, STRING_STRING, STRING_FUNCTION, EVENT_POST_CONFIGURE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n\nvar singletonEvent = (function() {\n\tvar TYPE_ON = 'on',\n\t\tTYPE_AFTER = 'after',\n\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\tlistener = {};\n\n\tfunction addListener(type, events, callback) {\n\t\tvar event, pointer;\n\n\t\tif(validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\tevents = events.split(' ');\n\n\t\t\twhile(event = events.shift()) {\n\t\t\t\tevent = event.split(':');\n\n\t\t\t\tif(regexMatchEvent.test(event[0])) {\n\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = { on: [], after: [] }))[type].push({ callback: callback, filter: event[1] });\n\n\t\t\t\t\tif(type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n\t\t\t\t\t\tcallback(pointer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction Event() {}\n\n\tEvent.prototype = {\n\t\temit: function (event, filter) {\n\t\t\tvar pointer = listener[event],\n\t\t\t\tparameter, i, item;\n\n\t\t\tif(pointer) {\n\t\t\t\tparameter = arrayPrototypeSlice.call(arguments, 2);\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_ON][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_AFTER][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\t\ton: function(events, callback) {\n\t\t\taddListener(TYPE_ON, events,callback);\n\n\t\t\treturn this;\n\t\t},\n\t\tafter: function(events, callback) {\n\t\t\taddListener(TYPE_AFTER, events,callback);\n\n\t\t\treturn this;\n\t\t}\n\t};\n\n\treturn new Event();\n}());\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionEscapeRegex = (function() {\n\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\n\treturn function functionEscapeRegex(value) {\n\t\treturn value.replace(regexMatchRegex, '\\\\$&');\n\t};\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, PROVIDE_ID, PATH_ID,\n\tfunctionEscapeRegex, functionResolveUrl\n*/\n\n//=require constants.js\n//=require function/escapeRegex.js\n//=require function/resolveUrl.js\n\nvar regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n\tregexIsAbsolutePath = /^\\//,\n\tregexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*sourceMappingURL\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n\tregexMatchBaseUrl = new RegExp('^' + functionEscapeRegex(functionResolveUrl('/'))),\n\tregexMatchInternal = new RegExp('^' + DEMAND_ID + '|' + PROVIDE_ID + '|' + PATH_ID + '$'),\n\tregexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(\\d+\\.\\d+.\\d+))?(?:#(\\d+))?!/;","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, FUNCTION_EMPTY, EVENT_POST_REQUEST, EVENT_POST_PROCESS, EVENT_CACHE_HIT, EVENT_CACHE_MISS, EVENT_CACHE_EXCEED, EVENT_CACHE_CLEAR, EVENT_PRE_CACHE, EVENT_PRE_CACHE, EVENT_POST_CACHE, STRING_STRING, NULL, FALSE, TRUE,\n\tvalidatorIsTypeOf,\n\tfunctionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId,\n\tClassDependency,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/getTimestamp.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n//=require function/defer.js\n//=require function/resolveId.js\n//=require singleton/event.js\n\nvar singletonCache = (function(JSON) {\n\tvar STORAGE_PREFIX = '[' + DEMAND_ID + ']',\n\t\tSTORAGE_SUFFIX_STATE = '[state]',\n\t\tSTORAGE_SUFFIX_VALUE = '[value]',\n\t\tregexMatchState = new RegExp('^' + functionEscapeRegex(STORAGE_PREFIX) + '\\\\[(.+?)\\\\]' + functionEscapeRegex(STORAGE_SUFFIX_STATE) + '$'),\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\tsupportsRemainingSpace = supportsLocalStorage && 'remainingSpace' in localStorage,\n\t\tstorage = {},\n\t\tcache;\n\n\tsingletonEvent\n\t\t.on(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tfunctionDefer(function() {\n\t\t\t\tcache.clear.path(dependency.id);\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tif(dependency.source && enabled(dependency)) {\n\t\t\t\tstorage[dependency.id] = TRUE;\n\t\t\t}\n\t\t})\n\t\t.after(EVENT_POST_PROCESS, function(dependency) {\n\t\t\tif(storage[dependency.id]) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction enabled(dependency) {\n\t\tvar match;\n\n\t\tif(dependency.cache !== NULL) {\n\t\t\treturn dependency.cache;\n\t\t}\n\n\t\tfunctionIterate(settings.cache, function(property, value) {\n\t\t\tif(dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n\t\t\t\tmatch = value;\n\t\t\t}\n\t\t});\n\n\t\treturn match ? match.state : FALSE;\n\t}\n\t\n\tfunction getKey(key) {\n\t\treturn localStorage.getItem(key);\n\t}\n\t\n\tfunction setKey(key, value) {\n\t\tlocalStorage[value ? 'setItem' : 'removeItem'](key, value);\n\t}\n\t\n\tfunction getState(key) {\n\t\treturn JSON.parse(getKey(key));\n\t}\n\t\n\tfunction setState(key, state) {\n\t\tstate.access = functionGetTimestamp();\n\t\t\n\t\tsetKey(key, JSON.stringify(state));\n\t}\n\n\tfunction emit(event, dependency, state) {\n\t\tsingletonEvent.emit(event, dependency.id, dependency, state);\n\t}\n\n\tfunction Cache() {\n\t\tfunctionDefer(this.clear.expired.bind(this.clear));\n\t}\n\n\tCache.prototype = {\n\t\tget: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function get(dependency) {\n\t\t\t\t\tvar id, state;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\tstate = getState(id + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(state && state.version === dependency.version && ((!state.expires && !dependency.lifetime) || state.expires > functionGetTimestamp())) {\n\t\t\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tresolve: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\t\n\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t} else {\n\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t};\n\t\t\t}\n\t\t}()),\n\t\tset: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function set(dependency) {\n\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tstate = { version: dependency.version, demand: demand.version, expires: dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : dependency.lifetime };\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\n\t\t\t\t\t\t\t// strict equality check with \"===\" is required due to spaceBefore might be \"0\"\n\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\tthrow new Error('QUOTA_EXCEEDED_ERR');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tclear: {\n\t\t\tpath: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function path(path) {\n\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\tif(getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\tall: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function all() {\n\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\texpired: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function expired() {\n\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\tstate = getState(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\tif(state && state.expires > 0 && state.expires <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}())\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}(JSON));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeSlice, arrayPrototypeConcat,\n\tfunctionDefer, functionUuid,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require abstract/uuid.js\n\nvar ClassPledge = (function() {\n\tvar PLEDGE_PENDING = 'pending',\n\t\tPLEDGE_RESOLVED = 'resolved',\n\t\tPLEDGE_REJECTED = 'rejected',\n\t\tstorage = {};\n\n\tfunction resolve() {\n\t\tstorage[this.uuid].handle(PLEDGE_RESOLVED, arguments);\n\t}\n\n\tfunction reject() {\n\t\tstorage[this.uuid].handle(PLEDGE_REJECTED, arguments);\n\t}\n\n\tfunction handle(state, parameter) {\n\t\tvar properties = storage[this.uuid],\n\t\t\tpointer, result;\n\n\t\tif(properties.state === PLEDGE_PENDING) {\n\t\t\tproperties.state = state;\n\t\t\tproperties.value = parameter;\n\t\t}\n\n\t\twhile(pointer = properties[properties.state].shift()) {\n\t\t\tresult = pointer.handler.apply(NULL, properties.value);\n\n\t\t\tif(result && typeof result.then === 'function') {\n\t\t\t\tresult.then(pointer.deferred.resolve, pointer.deferred.reject);\n\t\t\t} else {\n\t\t\t\tpointer.deferred[properties.state === PLEDGE_RESOLVED ? 'resolve' : 'reject'].apply(NULL, properties.value);\n\t\t\t}\n\t\t}\n\n\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\tproperties[PLEDGE_REJECTED].length = 0;\n\t}\n\n\tfunction observe(pledge, index, properties) {\n\t\tpledge.then(\n\t\t\tfunction() {\n\t\t\t\tproperties.resolved[index] = arrayPrototypeSlice.call(arguments);\n\n\t\t\t\tproperties.count++;\n\n\t\t\t\tcheck(properties);\n\t\t\t},\n\t\t\tfunction() {\n\t\t\t\tproperties.rejected.push(arrayPrototypeSlice.call(arguments));\n\n\t\t\t\tcheck(properties);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction check(properties) {\n\t\tif(properties.count === properties.total) {\n\t\t\tproperties.deferred.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.deferred.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected));\n\t\t}\n\t}\n\n\tfunction ClassPledge(executor) {\n\t\tvar self = this.parent.constructor.call(this);\n\n\t\tstorage[self.uuid] = { state: PLEDGE_PENDING, handle: handle.bind(self), value: NULL, resolved: [], rejected: [], count: 0 };\n\n\t\texecutor(resolve.bind(self), reject.bind(self));\n\t}\n\n\tClassPledge.prototype = {\n\t\t'catch': function(listener) {\n\t\t\treturn this.then(FUNCTION_EMPTY, listener);\n\t\t},\n\t\talways: function(alwaysListener) {\n\t\t\treturn this.then(alwaysListener, alwaysListener);\n\t\t},\n\t\tthen: function(resolveListener, rejectListener) {\n\t\t\tvar properties = storage[this.uuid],\n\t\t\t\tdeferred = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, deferred: deferred });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, deferred: deferred });\n\n\t\t\tif(properties.state !== PLEDGE_PENDING) {\n\t\t\t\tfunctionDefer(properties.handle);\n\t\t\t}\n\n\t\t\treturn deferred.pledge;\n\t\t},\n\t\tisPending: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_PENDING;\n\t\t},\n\t\tisResolved: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_RESOLVED;\n\t\t},\n\t\tisRejected: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_REJECTED;\n\t\t}\n\t};\n\n\tClassPledge.defer = function() {\n\t\tvar self = {};\n\n\t\tself.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n\t\t\tself.resolve = resolveListener;\n\t\t\tself.reject = rejectListener;\n\t\t});\n\n\t\treturn self;\n\t};\n\n\tClassPledge.all = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { deferred: deferred, resolved: [], rejected: [], total: pledges.length, count: 0 })\n\t\t\t\n\t\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\t\tobserve(pledge, i, properties)\n\t\t\t}\n\t\t} else {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(deferred.resolve, deferred.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\treturn ClassPledge.extends(AbstractUuid);\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, MODULE_PREFIX_HANDLER, ERROR_LOAD, DEMAND_ID, PROVIDE_ID, PATH_ID, MOCK_PREFIX, NULL, TRUE, FALSE,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isPositive.js\n//=require function/resolvePath.js\n//=require function/resolveId.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require class/registry.js\n//=require class/pledge.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar ClassDependency = (function() {\n\tvar PREFIX_INTERNAL = 'internal!',\n\t\tregistry = new ClassRegistry(),\n\t\tplaceholder = [];\n\n\tfunction ClassDependency(uri, context, register) {\n\t\tvar self = this,\n\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\n\t\tself.path = functionResolvePath(uri, context);\n\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\tself.cache = parameter[2] ? parameter[1] === '+' : NULL;\n\t\tself.type = parameter[3] || settings.handler;\n\t\tself.version = parameter[4] || settings.version;\n\t\tself.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime;\n\t\tself.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path;\n\t\tself.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path;\n\t\tself.deferred = ClassPledge.defer();\n\t\tself.pledge = self.deferred.pledge;\n\n\t\t(register !== FALSE) && registry.set(self.id, self);\n\n\t\treturn self;\n\t}\n\n\tClassDependency.prototype = {\n\t\tenqueue: true // handled by handler\n\t\t/* only for reference\n\t \tpath: NULL,\n\t \tmock: NULL,\n\t\tcache: NULL,\n\t\ttype: NULL,\n\t\tversion: NULL,\n\t\tlifetime: NULL,\n\t \tid: NULL,\n\t \turi: NULL,\n\t\tdeferred: NULL,\n\t\tpledge: NULL,\n\t\thandler: NULL, // set by Dependency.resolve\n\t \tsource: NULL, // set by Cache or Loader\n\t \turl: NULL // optional, set by Loader\n\t\t*/\n\t};\n\n\tClassDependency.get = function(uri, context) {\n\t\treturn registry.get(functionResolveId(uri, context));\n\t};\n\n\tClassDependency.resolve = function(uri, context) {\n\t\tvar isInternal = context && regexMatchInternal.test(uri),\n\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + '/' + uri) : this.get(uri, context);\n\n\t\tif(!dependency) {\n\t\t\tif(isInternal) {\n\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + '/' + uri);\n\n\t\t\t\tswitch(uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tdependency.deferred.resolve((function() {\n\t\t\t\t\t\t\tvar scopedDemand = demand.bind(context);\n\n\t\t\t\t\t\t\tfunctionIterate(demand, function(property, value) {\n\t\t\t\t\t\t\t\tscopedDemand[property] = value;\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn scopedDemand;\n\t\t\t\t\t\t}()));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(provide.bind(context));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(context);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdependency = new ClassDependency(uri, context);\n\n\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction(handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\n\t\t\t\t\t\t\tif(dependency.mock) {\n\t\t\t\t\t\t\t\tdependency.deferred.resolve(handler);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsingletonCache.resolve(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (handler)', self.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn dependency;\n\t};\n\n\tClassDependency.remove = function(uri, context, cache) {\n\t\tvar id = functionResolveId(uri, context),\n\t\t\tnode = document.querySelector('[' + DEMAND_ID + '-id=\"' + id + '\"]');\n\n\t\tregistry.remove(id);\n\t\tregistry.remove(MOCK_PREFIX + id);\n\n\t\tnode && node.parentNode.removeChild(node);\n\n\t\t(cache !== FALSE) && singletonCache.clear.path(id);\n\t};\n\n\tClassDependency.list = {\n\t\tall: function() {\n\t\t\treturn Object.keys(registry.get());\n\t\t},\n\t\tpending: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isPending()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t},\n\t\tresolved: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isResolved()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t},\n\t\trejected: function() {\n\t\t\tvar modules = [];\n\n\t\t\tfunctionIterate(registry.get(), function(property, value) {\n\t\t\t\tif(value.pledge.isRejected()) {\n\t\t\t\t\tmodules.push(property);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn modules;\n\t\t}\n\t};\n\n\treturn ClassDependency;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tfunctionResolveUrl, functionEscapeRegex, functionIterate\n*/\n\n//=require function/resolveUrl.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n\nvar ClassPattern = (function() {\n\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\n\tfunction ClassPattern(pattern, url) {\n\t\tvar self = this;\n\n\t\tself.weight = pattern.length;\n\t\tself.match = new RegExp('^' + functionEscapeRegex(pattern));\n\t\tself.location = [].concat(url);\n\n\t\tfunctionIterate(self.location, function(property, value) {\n\t\t\tself.location[property] = {\n\t\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t\t};\n\t\t});\n\t}\n\n\tClassPattern.prototype = {\n\t\t/* only for reference\n\t\t weight: 0,\n\t\t match: NULL,\n\t\t location: NULL,\n\t\t */\n\t\tmatches: function(path) {\n\t\t\treturn this.match.test(path);\n\t\t},\n\t\tprocess: function(path, index) {\n\t\t\tvar current = this.location[index];\n\n\t\t\tif(current) {\n\t\t\t\treturn path.replace(this.match, current.url);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn ClassPattern;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tTRUE,\n\tregexMatchBaseUrl,\n\tClassPledge\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require class/pledge.js\n\nvar ClassXhr = (function(XMLHttpRequest) {\n\tvar XDomainRequest = 'XDomainRequest' in global && global.XDomainRequest || XMLHttpRequest;\n\t\n\tfunction checkState() {\n\t\tif(this.readyState < 4) {\n\t\t\tthis.abort();\n\t\t}\n\t}\n\t\n\treturn function ClassXhr(url) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest() : new XDomainRequest(),\n\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\ttimeout = settings.timeout,\n\t\t\tpointer;\n\n\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n\t\t\tdeferred.reject(xhr.status);\n\t\t};\n\t\txhr.onprogress = xhr.onreadystatechange = function() {\n\t\t\tclearTimeout(pointer);\n\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t};\n\t\txhr.onload = function() {\n\t\t\tpointer = clearTimeout(pointer);\n\n\t\t\tif(!('status' in xhr) || xhr.status === 200) {\n\t\t\t\tdeferred.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdeferred.reject(xhr.status);\n\t\t\t}\n\t\t};\n\n\t\txhr.open('GET', url, TRUE);\n\t\txhr.send();\n\t\t\n\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\n\t\treturn deferred.pledge;\n\t};\n}(XMLHttpRequest));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_BOOLEAN, STRING_STRING, EVENT_PRE_RESOLVE, EVENT_POST_RESOLVE, EVENT_PRE_CONFIGURE, EVENT_POST_CONFIGURE, EVENT_CACHE_MISS, EVENT_CACHE_HIT, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, EVENT_PRE_PROCESS, EVENT_POST_PROCESS, NULL, FALSE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require validator/isPositive.js\n//=require validator/isInstanceOf.js\n//=require function/iterate.js\n//=require function/merge.js\n//=require function/defer.js\n//=require singleton/event.js\n//=require singleton/cache.js\n//=require class/pledge.js\n//=require class/dependency.js\n//=require class/pattern.js\n//=require class/loader.js\n\nglobal.demand = (function() {\n\tfunction demand() {\n\t\tvar dependencies = arrayPrototypeSlice.call(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, deferred, result;\n\t\t\n\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\n\t\tfor(; (uri = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(uri, STRING_STRING)) {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (deferred = ClassPledge.defer()).pledge;\n\t\t\t\t\n\t\t\t\tdeferred.resolve(uri);\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(dependencies.length > 1) {\n\t\t\tresult = ClassPledge.all(dependencies);\n\t\t} else {\n\t\t\tresult = dependencies[0];\n\t\t}\n\t\t\n\t\treturn result.always(function() {\n\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context);\n\t\t});\n\t}\n\n\tdemand.configure = function(options) {\n\t\tvar cache = options.cache,\n\t\t\tversion = options.version,\n\t\t\ttimeout = options.timeout,\n\t\t\tlifetime = options.lifetime,\n\t\t\tbase = options.base,\n\t\t\tpattern = options.pattern,\n\t\t\tmodules = options.modules,\n\t\t\tpointer = settings.modules,\n\t\t\ttemp;\n\n\t\tif(validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n\t\t\tsettings.cache[''] = { weight: 0, state: cache };\n\t\t} else if(validatorIsObject(cache)) {\n\t\t\tfunctionIterate(cache, function(property, value) {\n\t\t\t\tsettings.cache[property] = { weight: property.length, state: value };\n\t\t\t});\n\t\t}\n\n\t\tif(validatorIsTypeOf(version, STRING_STRING)) {\n\t\t\tsettings.version = version;\n\t\t}\n\n\t\tif(validatorIsPositive(timeout)) {\n\t\t\tsettings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000;\n\t\t}\n\n\t\tif(validatorIsPositive(lifetime) && lifetime > 0) {\n\t\t\tsettings.lifetime = lifetime * 1000;\n\t\t}\n\n\t\tif(validatorIsTypeOf(base, STRING_STRING) && base !== '') {\n\t\t\tsettings.pattern.base = new ClassPattern('', base);\n\t\t}\n\n\t\tif(validatorIsObject(pattern)) {\n\t\t\tfunctionIterate(pattern, function(property, value) {\n\t\t\t\tproperty !== 'base' && (settings.pattern[property] = new ClassPattern(property, value));\n\t\t\t});\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, function(property, value) {\n\t\t\t\ttemp = pointer[property] = pointer[property] || {};\n\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\t\t\tfunctionMerge(temp, value);\n\n\t\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t\t\t});\n\t\t}\n\n\t\treturn demand;\n\t};\n\n\tdemand.version = '{{gulp:package.version}}';\n\tdemand.on = singletonEvent.on.bind(demand);\n\tdemand.remove = ClassDependency.remove;\n\tdemand.list = ClassDependency.list;\n\tdemand.clear = singletonCache.clear;\n\n\tsingletonEvent\n\t\t.after(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tnew ClassLoader(dependency);\n\t\t})\n\t\t.after(EVENT_CACHE_HIT + ' ' + EVENT_POST_REQUEST, function(dependency) {\n\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency);\n\t\t})\n\t\t.after(EVENT_PRE_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_PRE_PROCESS, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\n\t\t\tpointer && pointer(dependency);\n\t\t\t\n\t\t\tdependency.pledge.then(function() {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency);\n\t\t\t});\n\n\t\t\tif(dependency.enqueue === true) {\n\t\t\t\tqueue.enqueue(dependency);\n\t\t\t} else if(validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n\t\t\t\tdependency.enqueue.then(function() { queue.enqueue(dependency); });\n\t\t\t}\n\t\t});\n\n\treturn demand;\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_STRING, STRING_UNDEFINED, STRING_FUNCTION, ERROR_PROVIDE, ERROR_PROVIDE_ANONYMOUS, NULL,\n\tvalidatorIsTypeOf, validatorIsArray,\n\tClassDependency, ClassFailure\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isArray.js\n//=require class/dependency.js\n//=require class/failure.js\n\nglobal.provide = function provide() {\n\tvar uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\tcontext = this !== global ? this : NULL,\n\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n\t\tmodule, isFunction;\n\n\tif(!uri && processor.current) {\n\t\tmodule = processor.current;\n\t\turi = module.uri;\n\n\t\tprocessor.process();\n\t}\n\t\n\tif(uri) {\n\t\tmodule = module || new ClassDependency(uri, context);\n\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\n\t\tif(dependencies) {\n\t\t\tdemand\n\t\t\t\t.apply(module.path, dependencies)\n\t\t\t\t.then(\n\t\t\t\t\tfunction() { module.deferred.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.deferred.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.deferred.resolve(isFunction ? definition() : definition);\n\t\t}\n\t} else {\n\t\t/* eslint-disable no-console */\n\t\t!validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS));\n\t\t/* eslint-enable no-console */\n\t}\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nvar abstractHandler = (function() {\n\tfunction AbstractHandler() {\n\n\t}\n\n\tAbstractHandler.prototype = {\n\t\tvalidate: NULL,\n\t\tonPreRequest: NULL,\n\t\tonPostRequest: NULL,\n\t\tonPreProcess: NULL,\n\t\tprocess: NULL\n\t};\n\n\treturn new AbstractHandler();\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, TRUE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n\nvar handlerModule = (function() {\n\tvar target = document.getElementsByTagName('head')[0],\n\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n\tfunction HandlerModule() {}\n\n\tHandlerModule.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar url = dependency.url;\n\n\t\t\tdependency.url = url.slice(-3) !== '.js' ? url + '.js' : url;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tprocess: function(dependency) {\n\t\t\tvar script;\n\n\t\t\tif(dependency.source) {\n\t\t\t\tscript = document.createElement('script');\n\t\t\t\tscript.async = TRUE;\n\t\t\t\tscript.text = dependency.source;\n\n\t\t\t\tscript.setAttribute(DEMAND_ID + '-id', dependency.id);\n\n\t\t\t\ttarget.appendChild(script);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerModule.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, ERROR_RESOLVE, MOCK_PREFIX, STRING_STRING, FALSE, TRUE,\n\tregexMatchParameter, regexMatchSourcemap,\n\tvalidatorIsTypeOf, validatorIsObject,\n\tfunctionIterate, functionResolveId,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure,\n\thandlerModule\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/resolveId.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n//=require handler/module.js\n\nvar handlerBundle = (function() {\n\tvar path = MODULE_PREFIX_HANDLER + 'bundle',\n\t\tsettings = {};\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tvar i, dependency;\n\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, function(uri, dependencies) {\n\t\t\t\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction getType(dependencies) {\n\t\tvar type, i = 0, temp;\n\n\t\tfor(; (temp = dependencies[i]); i++) {\n\t\t\ttemp = temp.match(regexMatchParameter);\n\t\t\ttemp = (temp && temp[3]) || settings.handler;\n\n\t\t\tif(type) {\n\t\t\t\tif(temp !== type) {\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttype = temp;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\tfunction HandlerBundle() {}\n\n\tHandlerBundle.prototype = {\n\t\tvalidate: handlerModule.validate,\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar source = dependency.source,\n\t\t\t\tdeferred = dependency.deferred,\n\t\t\t\tdependencies = settings[dependency.path],\n\t\t\t\ttype, match, pledges, temp, i;\n\n\t\t\tdependency.enqueue = false;\n\n\t\t\tfunction reject() {\n\t\t\t\tdeferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\tif(dependencies && (type = getType(dependencies))) {\n\t\t\t\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\t\t\t\tsource = source.replace(match[0], '');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = source;\n\t\t\t\tpledges = [];\n\n\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\tpledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge);\n\t\t\t\t}\n\n\t\t\t\tClassPledge.all(pledges).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\t\t\ttemp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n\t\t\t\t\t\t\ttemp.handler = arguments[i];\n\n\t\t\t\t\t\t\tpledges.push(temp.pledge);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(type === 'module') {\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tClassPledge.all(pledges).then(deferred.resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\treject\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treject();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerBundle.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_PLUGIN, MODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, EVENT_PRE_RESOLVE, STRING_STRING, ERROR_RESOLVE, FALSE, TRUE,\n\tregexMatchInternal,\n\tvalidatorIsObject, validatorIsTypeOf,\n\tfunctionIterate, functionHash,\n\tClassDependency, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/hash.js\n//=require class/dependency.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar pluginGenie = (function() {\n\tvar path = MODULE_PREFIX_PLUGIN + 'genie',\n\t\tpattern = [];\n\n\tfunction matchPattern(path) {\n\t\tvar i = 0, pointer, match;\n\n\t\tfor(; (pointer = pattern[i]); i++) {\n\t\t\tif(path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n\t\t\t\tmatch = pointer;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t}\n\n\tfunction generateConfiguration(bundle) {\n\t\tvar matches = bundle.matches,\n\t\t\tconfiguration = { pattern: {}, modules: { '/demand/handler/bundle': {} } },\n\t\t\ti = 0, pointer, dependency;\n\n\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + 'bundle'][bundle.id] = pointer = [];\n\n\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\tpointer.push(dependency.path);\n\t\t}\n\n\t\treturn configuration;\n\t}\n\n\tfunction resolveDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.resolve(arguments[i]);\n\t\t}\n\t}\n\n\tfunction rejectDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tpattern.length = 0;\n\n\t\t\t\tfunctionIterate(options, function(property, value) {\n\t\t\t\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n\t\t\tvar bundles = {},\n\t\t\t\ti, dependency, pattern, matches;\n\n\t\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n\t\t\t\t\tdependency = new ClassDependency(dependency, context, FALSE);\n\n\t\t\t\t\tif(dependency.type === 'module' && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n\t\t\t\t\t\t(bundles[pattern.prefix] || (bundles[pattern.prefix] = { fn: pattern.fn, matches: [] })).matches.push(dependency);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunctionIterate(bundles, function(property, value) {\n\t\t\t\tmatches = value.matches;\n\n\t\t\t\tif(matches.length > 1) {\n\t\t\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\t\t\tfor(i = 0; (dependency = matches[i]); i++) {\n\t\t\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t\t\t}\n\n\t\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\treturn TRUE;\n}());"]} \ No newline at end of file +{"version":3,"sources":["demand.js","class/descriptor.js","validator/isTypeOf.js","validator/isObject.js","validator/isPositive.js","validator/isInstanceOf.js","function/iterate.js","function/getTimestamp.js","function/resolveUrl.js","function/resolvePath.js","function/resolveId.js","abstract/uuid.js","class/registry.js","class/failure.js","class/loader.js","validator/isArray.js","function/hash.js","class/queue.js","class/processor.js","function/resolveSourcemaps.js","class/Failure.js","shortcuts.js","constants.js","inheritance.js","function/merge.js","function/uuid.js","function/defer.js","singleton/event.js","function/escapeRegex.js","variables.js","singleton/cache.js","class/pledge.js","class/dependency.js","class/pattern.js","class/xhr.js","function/demand.js","function/provide.js","abstract/handler.js","handler/module.js","handler/bundle.js","plugin/genie.js"],"names":["global","document","options","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","callback","context","property","properties","Object","keys","i","UNDEFINED","call","FALSE","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","AbstractUuid","this","uuid","STRING_UNDEFINED","objectDefineProperty","functionUuid","ClassRegistry","parent","constructor","storage","ClassFailure","message","stack","arrayPrototypeSlice","ClassLoader","dependency","resolve","response","validate","deferred","reject","ERROR_LOAD","id","source","singletonEvent","emit","EVENT_POST_REQUEST","status","addUrlParam","param","query","search","regexCleanupSearch","load","location","pattern","process","EVENT_PRE_REQUEST","ClassXhr","DEMAND_ID","then","matches","weight","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","ClassQueue","ClassProcessor","queue","self","pointer","current","demand","on","EVENT_QUEUE_ENQUEUE","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","assignModule","factory","provide","processor","cache","timeout","modules","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","objectPrototype","toString","objectCreate","create","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","functionPrototype","Function","createElement","PROVIDE_ID","PATH_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","undefined","TRUE","STRING_STRING","STRING_BOOLEAN","STRING_FUNCTION","FUNCTION_EMPTY","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_CLEAR","EVENT_CACHE_EXCEED","EVENT_PRE_CACHE","EVENT_POST_CACHE","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE","EVENT_QUEUE_DEQUEUE","ERROR_PROVIDE","ERROR_RESOLVE","ERROR_PROVIDE_ANONYMOUS","extend","names","functionMerge","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","functionDefer","element","fallback","hasSetImmediate","fn","MutationObserver","observe","attributes","setAttribute","onMessage","event","data","addEventListener","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","split","shift","regexMatchEvent","listener","after","push","filter","TYPE_ON","Event","TYPE_AFTER","item","apply","functionEscapeRegex","regexMatchRegex","regexMatchInternal","singletonCache","JSON","enabled","indexOf","state","getKey","key","localStorage","getItem","setKey","getState","parse","setState","version","access","stringify","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","cacheDispose","set","get","expires","lifetime","spaceBefore","size","remainingSpace","Error","error","ClassDependency","all","ClassPledge","handle","PLEDGE_RESOLVED","PLEDGE_REJECTED","result","PLEDGE_PENDING","pledge","index","resolved","count","check","rejected","total","executor","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","extends","remove","traverse","depth","indention","join","setProperty","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","ClassPattern","regexMatchTrailingSlash","XMLHttpRequest","checkState","readyState","abort","XDomainRequest","xhr","boundCheckState","ontimeout","onerror","onabort","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","onPreRequest","onPostRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","abstractHandler","AbstractHandler","handlerModule","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","handlerBundle","updateDependencies","getType","HandlerBundle","pluginGenie","matchPattern","prefix","generateConfiguration","bundle","configuration","/demand/handler/bundle","resolveDependencies","rejectDependencies","addPattern","resolveBundles","bundles","main"],"mappings":"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","file":"demand.js","sourcesContent":["/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE,\n\tvalidatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf,\n\tfunctionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid,\n\tAbstractUuid, abstractHandler,\n \tClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor\n\thandlerModule, handlerBundle,\n \tpluginGenie\n*/\n\n/*eslint no-unused-vars: [2, { \"vars\": \"local\", \"args\": \"none\" }]*/\n(function(global, document, options, setTimeout, clearTimeout) {\n\t'use strict';\n\n\t/* eslint-disable no-unused-vars */\n\tvar settings = { cache: {}, timeout: 8000, pattern: {}, modules: {}, handler: 'module' },\n\t\tstorage = {},\n\t\tqueue, processor;\n\t/* eslint-enable no-unused-vars */\n\n\t// include inheritance\n\t\t//=require inheritance.js\n\n\t// include main components\n\t\t//=require function/demand.js\n\t\t//=require function/provide.js\n\n\t// process initial configuration\n\t\tdemand.configure({ cache: TRUE, base: '/', pattern: { '/demand': functionResolveUrl(((options && options.url) || location.href) + '/../').slice(0, -1)} });\n\t\toptions && options.settings && demand.configure(options.settings);\n\n\t// include additional components\n\t\t//=require function/hash.js\n\t\t//=require class/queue.js\n\t\t//=require class/processor.js\n\t\t//=require handler/module.js\n\t\t//=require handler/bundle.js\n\t\t//=require plugin/genie.js\n\n\t// initialize\n\t\tqueue = new ClassQueue();\n\t\tprocessor = new ClassProcessor(queue);\n\n\t\tfunction assignModule(id, factory) {\n\t\t\tprovide(id, function() { return factory; });\n\t\t}\n\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'uuid', AbstractUuid);\n\t\tassignModule(MODULE_PREFIX_ABSTRACT + 'handler', abstractHandler);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'module', handlerModule);\n\t\tassignModule(MODULE_PREFIX_HANDLER + 'bundle', handlerBundle);\n\t\tassignModule(MODULE_PREFIX_PLUGIN + 'genie', pluginGenie);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isTypeOf', validatorIsTypeOf);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject);\n\t\tassignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'iterate', functionIterate);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'hash', functionHash);\n\t\tassignModule(MODULE_PREFIX_FUNCTION + 'defer', functionDefer);\n\t\tassignModule(MODULE_PREFIX + 'descriptor', ClassDescriptor);\n\t\tassignModule(MODULE_PREFIX + 'pledge', ClassPledge);\n\t\tassignModule(MODULE_PREFIX + 'queue', ClassQueue);\n\t\tassignModule(MODULE_PREFIX + 'xhr', ClassXhr);\n\t\tassignModule(MODULE_PREFIX + 'failure', ClassFailure);\n\n\t\tif(options && options.main) {\n\t\t\tswitch(typeof options.main) {\n\t\t\t\tcase STRING_STRING:\n\t\t\t\t\tdemand(options.main);\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase STRING_FUNCTION:\n\t\t\t\t\tprovide('main', options.main());\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n}(this, document, 'demand' in this && demand, setTimeout, clearTimeout));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\treturn {\n\t\t__proto__: NULL,\n\t\tvalue: value,\n\t\tenumerable: !!enumerable,\n\t\tconfigurable: !!configurable,\n\t\twritable: !!writable\n\t};\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * isTypeOf\n *\n * Check whether a given object is of specified type\n *\n * @param object\n * @param {string} type\n *\n * @return {boolean}\n */\n\nfunction validatorIsTypeOf(object, type) {\n\treturn typeof object === type;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_OBJECT,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isObject\n *\n * Check whether a given object is of type object\n *\n * @param object\n *\n * @return {boolean}\n */\n\nfunction validatorIsObject(object) {\n\treturn object && validatorIsTypeOf(object, STRING_OBJECT);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_NUMBER,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n\n/**\n * isPositive\n *\n * Check whether a given value is a positive integer\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsPositive(value) {\n\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0;\n}","/**\n * isInstanceOf\n *\n * Check whether a given object is an instance of specified type\n *\n * @param object\n * @param module\n *\n * @return {boolean}\n */\nfunction validatorIsInstanceOf(object, module) {\n\treturn object instanceof module;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED, FALSE\n*/\n\n//=require constants.js\n\n/**\n * iterate\n *\n * Iterate over enumerable & own properties of a given\n * object and pass current property as well as its value\n * to a callback function\n *\n * @param {object} object\n * @param {function} callback\n * @param context\n *\n * @return mixed\n */\n\nfunction functionIterate(object, callback, context) {\n\tvar properties = Object.keys(object),\n\t\ti = 0, property;\n\n\tfor(; (property = properties[i]) !== UNDEFINED; i++) {\n\t\tif(callback.call(context, property, object[property]) === FALSE) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn context;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nfunction functionGetTimestamp() {\n\treturn +new Date();\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tlinkElement\n*/\n\n//=require shortcuts.js\n\nfunction functionResolveUrl(url) {\n\tlinkElement.href = url;\n\n\treturn linkElement.href;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter, regexMatchBaseUrl, regexIsAbsolutePath, regexIsAbsoluteUri,\n\tfunctionResolveUrl\n*/\n\n//=require variables.js\n//=require function/resolveUrl.js\n\nfunction functionResolvePath(uri, context) {\n\tvar path = uri.replace(regexMatchParameter, '');\n\n\tif(!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) {\n\t\tpath = '/' + functionResolveUrl(((context && functionResolveUrl(context + '/../')) || '/') + path).replace(regexMatchBaseUrl, '');\n\t}\n\n\treturn path;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchParameter,\n\tfunctionResolvePath\n*/\n\n//=require variables.js\n//=require function/resolvePath.js\n\nfunction functionResolveId(uri, context) {\n\tvar parameter = uri.match(regexMatchParameter);\n\n\treturn ((parameter && parameter[1]) ? 'mock:' : '') + ((parameter && parameter[3]) || settings.handler) + '!' + functionResolvePath(uri, context);\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_UNDEFINED,\n\tobjectDefineProperty,\n\tvalidatorIsTypeOf,\n\tfunctionUuid,\n\tClassDescriptor\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require function/uuid.js\n//=require class/descriptor.js\n\nfunction AbstractUuid() {\n\tif(validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) {\n\t\tobjectDefineProperty(this, 'uuid', new ClassDescriptor(functionUuid()));\n\t}\n\n\treturn this;\n}\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tAbstractUuid\n*/\n\n//=require abstract/uuid.js\n\nfunction ClassRegistry() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = {};\n\n\tglobal.storage = storage[this.uuid];\n}\n\nClassRegistry.prototype = {\n\tget: function(key) {\n\t\treturn key ? storage[this.uuid][key] : storage[this.uuid];\n\t},\n\tset: function(key, value) {\n\t\tstorage[this.uuid][key] = value;\n\t},\n\tremove: function(key) {\n\t\tdelete storage[this.uuid][key];\n\t}\n};\n\nClassRegistry.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, ERROR_LOAD,\n\tregexIsAbsoluteUri,\n\tlinkElement,\n\tfunctionIterate, functionResolveUrl,\n\tClassXhr, ClassFailure,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require variables.js\n//=require shortcuts.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require singleton/event.js\n//=require class/xhr.js\n//=require class/failure.js\n\nfunction ClassLoader(dependency) {\n\tvar regexCleanupSearch = /^\\?/,\n\t\tpattern;\n\n\tfunction resolve(response, type) {\n\t\tif(!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\tdependency.source = response;\n\n\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency);\n\t\t} else {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (content-type)', dependency.id));\n\t\t}\n\t}\n\n\tfunction reject(status) {\n\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + (status ? ' (status)' : ''), dependency.id));\n\t}\n\t\n\tfunction addUrlParam(url, param, value) {\n\t\tvar query;\n\t\t\n\t\tlinkElement.href = url;\n\t\tlinkElement.search = (query = (linkElement.search || '').replace(regexCleanupSearch, '')) + (query ? '&' : '?') + param + '=' + value;\n\t\t\n\t\treturn linkElement.href;\n\t}\n\n\tfunction load(location) {\n\t\tlocation = location || 0;\n\t\tdependency.url = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\n\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\n\t\tnew ClassXhr(addUrlParam(dependency.url, DEMAND_ID, +new Date())).then(\n\t\t\tresolve,\n\t\t\t(\n\t\t\t\tpattern ?\n\t\t\t\tfunction() {\n\t\t\t\t\tlocation++;\n\n\t\t\t\t\tif(pattern.location[location]) {\n\t\t\t\t\t\tload(location);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t:\n\t\t\t\treject\n\t\t\t)\n\t\t);\n\t}\n\n\tif(!regexIsAbsoluteUri.test(dependency.path)) {\n\t\tfunctionIterate(settings.pattern, function(property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value);\n\t\t});\n\t}\n\n\tload();\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectPrototypeToString\n*/\n\n//=require shortcuts.js\n\n/**\n * isArray\n *\n * Check whether a given value is of type array\n *\n * @param value\n *\n * @return {boolean}\n */\n\nfunction validatorIsArray(value) {\n\treturn objectPrototypeToString.call(value) === '[object Array]';\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\n/**\n * hash\n *\n * Generate a hash for a given string\n *\n * @param {string} input\n *\n * @return {number}\n */\nfunction functionHash(input){\n\tvar value = 5381,\n\t\ti = input.length;\n\n\twhile(i) {\n\t\tvalue = (value * 33) ^ input.charCodeAt(--i);\n\t}\n\n\treturn value >>> 0;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, EVENT_QUEUE_DEQUEUE,\n\tarrayPrototypeSlice,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require singleton/event.js\n//=require abstract/uuid.js\n\nfunction ClassQueue() {\n\tthis.parent.constructor.call(this);\n\n\tstorage[this.uuid] = [];\n}\n\t\nClassQueue.prototype = {\n\tenqueue: function() {\n\t\tstorage[this.uuid] = storage[this.uuid].concat(arrayPrototypeSlice.call(arguments));\n\n\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid);\n\t},\n\tdequeue: function() {\n\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\n\t\treturn storage[this.uuid].shift();\n\t},\n\tget current() {\n\t\treturn storage[this.uuid][0];\n\t},\n\tget length() {\n\t\treturn storage[this.uuid].length;\n\t}\n};\n\t\nClassQueue.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tEVENT_QUEUE_ENQUEUE, NULL,\n\tsingletonEvent,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require abstract/uuid.js\n\nfunction ClassProcessor(queue) {\n\tvar self = this.parent.constructor.call(this),\n\t\tpointer = storage[self.uuid] = { queue: queue, current: NULL };\n\n\tdemand\n\t\t.on(EVENT_QUEUE_ENQUEUE + ':' + queue.uuid, function() {\n\t\t\t!pointer.current && self.process();\n\t\t});\n}\n\nClassProcessor.prototype = {\n\tprocess: function() {\n\t\tvar pointer = storage[this.uuid],\n\t\t\t\tcurrent;\n\n\t\tif(pointer.queue.length) {\n\t\t\tcurrent = pointer.current = pointer.queue.dequeue();\n\n\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t} else {\n\t\t\tpointer.current = NULL;\n\t\t}\n\t},\n\tget current() {\n\t\treturn storage[this.uuid].current;\n\t}\n};\n\t\nClassProcessor.extends(AbstractUuid);","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tregexMatchSourcemap, regexIsAbsoluteUri\n\tlinkElement\n*/\n\n//=require variables.js\n//=require shortcuts.js\n\nfunction functionResolveSourcemaps(url, source) {\n\tvar match, replacement;\n\t\n\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\tlinkElement.href = url;\n\t\t\n\t\tif(regexIsAbsoluteUri.test(match[2])) {\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + match[2];\n\t\t} else {\n\t\t\tlinkElement.pathname += '/../' + match[2];\n\t\t\t\n\t\t\treplacement = linkElement.protocol + '//' + linkElement.host + linkElement.pathname;\n\t\t}\n\t\t\n\t\tsource = source.replace(match[0], match[1] + ' sourceMappingURL=' + replacement + '.map' + (match[3] ? ' ' + match[3] : ''));\n\t}\n\t\n\treturn source;\n}","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID,\n\tarrayPrototypeSlice\n*/\n\n//=require constants.js\n//=require shortcuts.js\n\nfunction ClassFailure(message, module, stack) {\n\tthis.message = message;\n\t\t\n\tmodule && (this.module = module);\n\tstack && (this.stack = arrayPrototypeSlice.call(stack));\n}\n\t\nClassFailure.prototype = {\n\t/* only for reference\n\t message: NULL,\n\t module: NULL,\n\t stack: NULL,\n\t */\n\ttoString: function() {\n\t\tvar self = this,\n\t\t\tresult = DEMAND_ID + ': ' + self.message + ' ' + (self.module ? '\"' + self.module + '\"' : '');\n\n\t\tif(self.stack) {\n\t\t\tresult = ClassFailure.traverse(self.stack, result, 1);\n\t\t}\n\t\t\t\n\t\treturn result;\n\t}\n};\n\t\nClassFailure.traverse = function(stack, value, depth) {\n\tvar indention = new Array(depth + 1).join(' '),\n\t\ti = 0, item;\n\t\t\n\tfor(; item = stack[i]; i++) {\n\t\tvalue += '\\n' + indention + '> ' + item.message + ' ' + (item.module ? '\"' + item.module + '\"' : '');\n\t\t\t\n\t\tif(item.stack) {\n\t\t\tvalue = ClassFailure.traverse(item.stack, value, depth + 1);\n\t\t}\n\t}\n\t\t\n\treturn value;\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar arrayPrototype = Array.prototype,\n\tarrayPrototypeSlice = arrayPrototype.slice,\n\tarrayPrototypeConcat = arrayPrototype.concat,\n\tobjectPrototype = Object.prototype,\n\tobjectPrototypeToString = objectPrototype.toString,\n\tobjectCreate = Object.create,\n\tobjectDefineProperty = Object.defineProperty,\n\tobjectGetOwnPropertyNames = Object.getOwnPropertyNames,\n\tobjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor,\n\tfunctionPrototype = Function.prototype,\n\tlinkElement = document.createElement('a');","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar DEMAND_ID = 'demand',\n\tPROVIDE_ID = 'provide',\n\tPATH_ID = 'path',\n\tMODULE_PREFIX = '/' + DEMAND_ID + '/',\n\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + 'abstract/',\n\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + 'handler/',\n\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + 'plugin/',\n\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + 'function/',\n\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + 'validator/',\n\tMOCK_PREFIX = 'mock:',\n\tNULL = null,\n\tUNDEFINED = undefined,\n\tFALSE = false,\n\tTRUE = true,\n\tSTRING_UNDEFINED = 'undefined',\n\tSTRING_STRING = 'string',\n\tSTRING_BOOLEAN = 'boolean',\n\tSTRING_OBJECT = 'object',\n\tSTRING_FUNCTION = 'function',\n\tSTRING_NUMBER = 'number',\n\tFUNCTION_EMPTY = function() {},\n\tEVENT_PREFIX = 'pre',\n\tEVENT_POSTFIX = 'post',\n\tEVENT_CONFIGURE = 'Configure',\n\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\tEVENT_CACHE = 'cache',\n\tEVENT_CACHE_MISS = EVENT_CACHE + 'Miss',\n\tEVENT_CACHE_HIT = EVENT_CACHE + 'Hit',\n\tEVENT_CACHE_CLEAR = EVENT_CACHE + 'Clear',\n\tEVENT_CACHE_EXCEED = EVENT_CACHE + 'Exceed',\n\tEVENT_PRE_CACHE = EVENT_PREFIX + 'Cache',\n\tEVENT_POST_CACHE = EVENT_POSTFIX + 'Cache',\n\tEVENT_RESOLVE = 'Resolve',\n\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\tEVENT_REQUEST = 'Request',\n\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\tEVENT_PROCESS = 'Process',\n\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\tEVENT_QUEUE = 'queue',\n\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + 'Enqueue',\n\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + 'Dequeue',\n\tERROR_LOAD = 'error loading',\n\tERROR_PROVIDE = 'error providing',\n\tERROR_RESOLVE = 'error resolving',\n\tERROR_PROVIDE_ANONYMOUS = 'unspecified anonymous provide';","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tobjectCreate, objectDefineProperty, objectGetOwnPropertyNames, objectGetOwnPropertyDescriptor, functionPrototype,\n\tClassDescriptor\n*/\n\n//=require shortcuts.js\n//=require class/descriptor.js\n\n(function() {\n\tfunction extend(parent) {\n\t\tvar self = this,\n\t\t\tprototype = self.prototype,\n\t\t\tproperties = {},\n\t\t\tnames = objectGetOwnPropertyNames(prototype),\n\t\t\ti = 0, property;\n\n\t\tparent = parent.prototype || parent;\n\n\t\tfor(; (property = names[i]); i++) {\n\t\t\tproperties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t}\n\n\t\tproperties.constructor = new ClassDescriptor(self);\n\t\tproperties.parent = new ClassDescriptor(parent);\n\n\t\tself.prototype = objectCreate(parent, properties);\n\n\t\treturn self;\n\t}\n\n\tobjectDefineProperty(functionPrototype, 'extends', new ClassDescriptor(extend));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tUNDEFINED,\n\tvalidatorIsObject,\n\tfunctionIterate\n*/\n\n//=require constants.js\n//=require validator/isObject.js\n//=require function/iterate.js\n\n/**\n * merge\n *\n * Merge two or more objects into the first one passed in\n *\n * @param {...object} object\n *\n * @return {object}\n */\nvar functionMerge = (function() {\n\tfunction mergeProperties(property, value) {\n\t\tvar targetProperty = this[property],\n\t\t\ttargetPropertyIsObject;\n\n\t\tif(value !== UNDEFINED) {\n\t\t\tif(validatorIsObject(value)) {\n\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\n\t\t\t\tif(value.length !== UNDEFINED) {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length !== UNDEFINED) ? targetProperty : [];\n\t\t\t\t} else {\n\t\t\t\t\ttargetProperty = (targetPropertyIsObject && targetProperty.length === UNDEFINED) ? targetProperty : {};\n\t\t\t\t}\n\n\t\t\t\tthis[property] = functionMerge(targetProperty, value);\n\t\t\t} else {\n\t\t\t\tthis[property] = value;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn function functionMerge() {\n\t\tvar target = arguments[0],\n\t\t\ti = 1, properties;\n\n\t\tfor(; (properties = arguments[i]) !== UNDEFINED; i++) {\n\t\t\tfunctionIterate(properties, mergeProperties, target);\n\t\t}\n\n\t\treturn target;\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionUuid = (function() {\n\tvar regex = new RegExp('[xy]', 'g'),\n\t\tstorage = {};\n\n\tfunction randomize(character) {\n\t\tvar r = Math.random() * 16 | 0;\n\n\t\treturn ((character === 'x') ? r : (r & 0x3 | 0x8)).toString(16);\n\t}\n\n\treturn function functionUuid() {\n\t\tvar uuid;\n\n\t\tdo {\n\t\t\tuuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(regex, randomize);\n\t\t} while(storage[uuid]);\n\n\t\tstorage[uuid] = 1;\n\n\t\treturn uuid;\n\t};\n}());","/**\n * Based on setAsap:\n * Repo: https://github.com/taylorhakes/setAsap\n * License: https://github.com/taylorhakes/setAsap/blob/master/LICENSE\n */\n\n/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, TRUE, FALSE,\n\tfunctionUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/uuid.js\n\n/**\n * defer\n *\n * delay function execution like setImmediate does\n *\n * @param {function} function\n */\nvar functionDefer = (function() {\n\tvar hasSetImmediate = 'setImmediate' in global,\n\t\telement, fallback;\n\n\tif('MutationObserver' in global) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement = document.createElement('div');\n\n\t\t\tnew MutationObserver(function() { fn(); })\n\t\t\t\t.observe(element, { attributes: TRUE });\n\n\t\t\telement.setAttribute('i', '1');\n\t\t};\n\t}\n\n\tif(!hasSetImmediate && 'postMessage' in global && !('importScripts' in global) && 'addEventListener' in global) {\n\t\treturn (function() {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tif(event.source === global && event.data && storage[event.data]) {\n\t\t\t\t\tstorage[event.data]();\n\n\t\t\t\t\tdelete storage[event.data];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tglobal.addEventListener('message', onMessage, FALSE);\n\n\t\t\treturn function functionDefer(fn) {\n\t\t\t\tvar uuid = functionUuid();\n\n\t\t\t\tstorage[uuid] = fn;\n\n\t\t\t\tglobal.postMessage(uuid, '*');\n\t\t\t};\n\t\t}());\n\t}\n\n\tif(!hasSetImmediate && 'onreadystatechange' in (element = document.createElement('script'))) {\n\t\treturn function functionDefer(fn) {\n\t\t\telement.onreadystatechange = function onreadystatechange() {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\n\t\t\t\tfn();\n\t\t\t};\n\n\t\t\tdocument.body.appendChild(element);\n\t\t};\n\t}\n\n\t/* eslint-disable no-undef */\n\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t/* eslint-enable no-undef */\n\n\treturn function functionDefer(fn) {\n\t\tfallback(fn);\n\t};\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL, STRING_STRING, STRING_FUNCTION, EVENT_POST_CONFIGURE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n\nvar singletonEvent = (function() {\n\tvar TYPE_ON = 'on',\n\t\tTYPE_AFTER = 'after',\n\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\tlistener = {};\n\n\tfunction addListener(type, events, callback) {\n\t\tvar event, pointer;\n\n\t\tif(validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\tevents = events.split(' ');\n\n\t\t\twhile(event = events.shift()) {\n\t\t\t\tevent = event.split(':');\n\n\t\t\t\tif(regexMatchEvent.test(event[0])) {\n\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = { on: [], after: [] }))[type].push({ callback: callback, filter: event[1] });\n\n\t\t\t\t\tif(type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) {\n\t\t\t\t\t\tcallback(pointer);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction Event() {}\n\n\tEvent.prototype = {\n\t\temit: function (event, filter) {\n\t\t\tvar pointer = listener[event],\n\t\t\t\tparameter, i, item;\n\n\t\t\tif(pointer) {\n\t\t\t\tparameter = arrayPrototypeSlice.call(arguments, 2);\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_ON][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfor(i = 0; (item = pointer[TYPE_AFTER][i]); i++) {\n\t\t\t\t\tif(!item.filter || item.filter === filter) {\n\t\t\t\t\t\titem.callback.apply(NULL, parameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this;\n\t\t},\n\t\ton: function(events, callback) {\n\t\t\taddListener(TYPE_ON, events,callback);\n\n\t\t\treturn this;\n\t\t},\n\t\tafter: function(events, callback) {\n\t\t\taddListener(TYPE_AFTER, events,callback);\n\n\t\t\treturn this;\n\t\t}\n\t};\n\n\treturn new Event();\n}());\n","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage\n*/\n\nvar functionEscapeRegex = (function() {\n\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\n\treturn function functionEscapeRegex(value) {\n\t\treturn value.replace(regexMatchRegex, '\\\\$&');\n\t};\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, PROVIDE_ID, PATH_ID,\n\tfunctionEscapeRegex, functionResolveUrl\n*/\n\n//=require constants.js\n//=require function/escapeRegex.js\n//=require function/resolveUrl.js\n\nvar regexIsAbsoluteUri = /^(http(s?):)?\\/\\//i,\n\tregexIsAbsolutePath = /^\\//,\n\tregexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*sourceMappingURL\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g,\n\tregexMatchBaseUrl = new RegExp('^' + functionEscapeRegex(functionResolveUrl('/'))),\n\tregexMatchInternal = new RegExp('^' + DEMAND_ID + '|' + PROVIDE_ID + '|' + PATH_ID + '$'),\n\tregexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(\\d+\\.\\d+.\\d+))?(?:#(\\d+))?!/;","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, FUNCTION_EMPTY, EVENT_POST_REQUEST, EVENT_POST_PROCESS, EVENT_CACHE_HIT, EVENT_CACHE_MISS, EVENT_CACHE_EXCEED, EVENT_CACHE_CLEAR, EVENT_PRE_CACHE, EVENT_PRE_CACHE, EVENT_POST_CACHE, STRING_STRING, NULL, FALSE, TRUE,\n\tvalidatorIsTypeOf,\n\tfunctionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId,\n\tClassDependency,\n\tsingletonEvent\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require function/getTimestamp.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n//=require function/defer.js\n//=require function/resolveId.js\n//=require singleton/event.js\n\nvar singletonCache = (function(JSON) {\n\tvar STORAGE_PREFIX = '[' + DEMAND_ID + ']',\n\t\tSTORAGE_SUFFIX_STATE = '[state]',\n\t\tSTORAGE_SUFFIX_VALUE = '[value]',\n\t\tregexMatchState = new RegExp('^' + functionEscapeRegex(STORAGE_PREFIX) + '\\\\[(.+?)\\\\]' + functionEscapeRegex(STORAGE_SUFFIX_STATE) + '$'),\n\t\tsupportsLocalStorage = (function() { try { return 'localStorage' in global && global.localStorage; } catch(exception) { return FALSE; } }()),\n\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\tsupportsRemainingSpace = supportsLocalStorage && 'remainingSpace' in localStorage,\n\t\tstorage = {},\n\t\tcache;\n\n\tsingletonEvent\n\t\t.on(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tfunctionDefer(function() {\n\t\t\t\tcache.clear.path(dependency.id);\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_CACHE_EXCEED, function(dependency) {\n\t\t\tdemand('-!/demand/cache/dispose').then(function(cacheDispose) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcacheDispose(dependency.source.length);\n\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t});\n\t\t})\n\t\t.on(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tif(dependency.source && enabled(dependency)) {\n\t\t\t\tstorage[dependency.id] = TRUE;\n\t\t\t}\n\t\t})\n\t\t.after(EVENT_POST_PROCESS, function(dependency) {\n\t\t\tif(storage[dependency.id]) {\n\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\tcache.set(dependency);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\tfunction enabled(dependency) {\n\t\tvar match;\n\n\t\tif(dependency.cache !== NULL) {\n\t\t\treturn dependency.cache;\n\t\t}\n\n\t\tfunctionIterate(settings.cache, function(property, value) {\n\t\t\tif(dependency.path.indexOf(property) === 0 && (!match || value.weight > match.weight)) {\n\t\t\t\tmatch = value;\n\t\t\t}\n\t\t});\n\n\t\treturn match ? match.state : FALSE;\n\t}\n\t\n\tfunction getKey(key) {\n\t\treturn localStorage.getItem(key);\n\t}\n\t\n\tfunction setKey(key, value) {\n\t\tlocalStorage[value ? 'setItem' : 'removeItem'](key, value);\n\t}\n\t\n\tfunction getState(key) {\n\t\treturn JSON.parse(getKey(key));\n\t}\n\t\n\tfunction setState(key, state) {\n\t\tstate.demand = demand.version;\n\t\tstate.access = functionGetTimestamp();\n\n\t\tsetKey(key, JSON.stringify(state));\n\t}\n\n\tfunction emit(event, dependency, state) {\n\t\tsingletonEvent.emit(event, dependency.id, dependency, state);\n\t}\n\n\tfunction Cache() {\n\t\tfunctionDefer(this.clear.expired.bind(this.clear));\n\t}\n\n\tCache.prototype = {\n\t\tget: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function get(dependency) {\n\t\t\t\t\tvar id, state;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\t\t\t\t\t\tstate = getState(id + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(state && state.version === dependency.version && ((!state.expires && !dependency.lifetime) || state.expires > functionGetTimestamp())) {\n\t\t\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfunctionDefer(function() {\n\t\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\treturn TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tresolve: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\t\n\t\t\t\t\tif(self.get(dependency)) {\n\t\t\t\t\t\temit(EVENT_CACHE_HIT, dependency);\n\t\t\t\t\t} else {\n\t\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn function resolve(dependency) {\n\t\t\t\t\temit(EVENT_CACHE_MISS, dependency);\n\t\t\t\t};\n\t\t\t}\n\t\t}()),\n\t\tset: (function() {\n\t\t\tif(supportsLocalStorage) {\n\t\t\t\treturn function set(dependency) {\n\t\t\t\t\tvar state, id, spaceBefore;\n\n\t\t\t\t\tif(enabled(dependency)) {\n\t\t\t\t\t\tstate = { version: dependency.version, expires: dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : dependency.lifetime, size: dependency.source.length };\n\t\t\t\t\t\tid = STORAGE_PREFIX + '[' + dependency.id + ']';\n\n\t\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\t\t\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\n\t\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\n\t\t\t\t\t\t\t// strict equality check with \"===\" is required due to spaceBefore might be \"0\"\n\t\t\t\t\t\t\tif(spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) {\n\t\t\t\t\t\t\t\tthrow new Error('QUOTA_EXCEEDED_ERR');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state);\n\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t}\n\t\t}()),\n\t\tclear: {\n\t\t\tpath: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function path(path) {\n\t\t\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\t\t\tkey = STORAGE_PREFIX + '[' + id + ']';\n\n\t\t\t\t\t\tif(getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\n\t\t\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\tall: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function all() {\n\t\t\t\t\t\tvar match;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tmatch && this.path(match[1]);\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}()),\n\t\t\texpired: (function() {\n\t\t\t\tif(supportsLocalStorage) {\n\t\t\t\t\treturn function expired() {\n\t\t\t\t\t\tvar self = this,\n\t\t\t\t\t\t\tmatch, state;\n\n\t\t\t\t\t\tfunctionIterate(localStorage, function(property) {\n\t\t\t\t\t\t\tmatch = property.match(regexMatchState);\n\n\t\t\t\t\t\t\tif(match) {\n\t\t\t\t\t\t\t\tstate = getState(STORAGE_PREFIX + '[' + match[1] + ']' + STORAGE_SUFFIX_STATE);\n\n\t\t\t\t\t\t\t\tif(state && state.expires > 0 && state.expires <= functionGetTimestamp()) {\n\t\t\t\t\t\t\t\t\tself.path(match[1]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn FUNCTION_EMPTY;\n\t\t\t\t}\n\t\t\t}())\n\t\t}\n\t};\n\n\treturn (cache = new Cache());\n}(JSON));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n \tFUNCTION_EMPTY, NULL,\n\tarrayPrototypeSlice, arrayPrototypeConcat,\n\tfunctionDefer, functionUuid,\n\tAbstractUuid\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require function/defer.js\n//=require function/uuid.js\n//=require abstract/uuid.js\n\nvar ClassPledge = (function() {\n\tvar PLEDGE_PENDING = 'pending',\n\t\tPLEDGE_RESOLVED = 'resolved',\n\t\tPLEDGE_REJECTED = 'rejected',\n\t\tstorage = {};\n\n\tfunction resolve() {\n\t\tstorage[this.uuid].handle(PLEDGE_RESOLVED, arguments);\n\t}\n\n\tfunction reject() {\n\t\tstorage[this.uuid].handle(PLEDGE_REJECTED, arguments);\n\t}\n\n\tfunction handle(state, parameter) {\n\t\tvar properties = storage[this.uuid],\n\t\t\tpointer, result;\n\n\t\tif(properties.state === PLEDGE_PENDING) {\n\t\t\tproperties.state = state;\n\t\t\tproperties.value = parameter;\n\t\t}\n\n\t\twhile(pointer = properties[properties.state].shift()) {\n\t\t\tresult = pointer.handler.apply(NULL, properties.value);\n\n\t\t\tif(result && typeof result.then === 'function') {\n\t\t\t\tresult.then(pointer.deferred.resolve, pointer.deferred.reject);\n\t\t\t} else {\n\t\t\t\tpointer.deferred[properties.state === PLEDGE_RESOLVED ? 'resolve' : 'reject'].apply(NULL, properties.value);\n\t\t\t}\n\t\t}\n\n\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\tproperties[PLEDGE_REJECTED].length = 0;\n\t}\n\n\tfunction observe(pledge, index, properties) {\n\t\tpledge.then(\n\t\t\tfunction() {\n\t\t\t\tproperties.resolved[index] = arrayPrototypeSlice.call(arguments);\n\n\t\t\t\tproperties.count++;\n\n\t\t\t\tcheck(properties);\n\t\t\t},\n\t\t\tfunction() {\n\t\t\t\tproperties.rejected.push(arrayPrototypeSlice.call(arguments));\n\n\t\t\t\tcheck(properties);\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction check(properties) {\n\t\tif(properties.count === properties.total) {\n\t\t\tproperties.deferred.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t} else if(properties.rejected.length + properties.count === properties.total) {\n\t\t\tproperties.deferred.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected));\n\t\t}\n\t}\n\n\tfunction ClassPledge(executor) {\n\t\tvar self = this.parent.constructor.call(this);\n\n\t\tstorage[self.uuid] = { state: PLEDGE_PENDING, handle: handle.bind(self), value: NULL, resolved: [], rejected: [], count: 0 };\n\n\t\texecutor(resolve.bind(self), reject.bind(self));\n\t}\n\n\tClassPledge.prototype = {\n\t\t'catch': function(listener) {\n\t\t\treturn this.then(FUNCTION_EMPTY, listener);\n\t\t},\n\t\talways: function(alwaysListener) {\n\t\t\treturn this.then(alwaysListener, alwaysListener);\n\t\t},\n\t\tthen: function(resolveListener, rejectListener) {\n\t\t\tvar properties = storage[this.uuid],\n\t\t\t\tdeferred = ClassPledge.defer();\n\n\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({ handler: resolveListener, deferred: deferred });\n\t\t\trejectListener && properties[PLEDGE_REJECTED].push({ handler: rejectListener, deferred: deferred });\n\n\t\t\tif(properties.state !== PLEDGE_PENDING) {\n\t\t\t\tfunctionDefer(properties.handle);\n\t\t\t}\n\n\t\t\treturn deferred.pledge;\n\t\t},\n\t\tisPending: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_PENDING;\n\t\t},\n\t\tisResolved: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_RESOLVED;\n\t\t},\n\t\tisRejected: function() {\n\t\t\treturn storage[this.uuid].state === PLEDGE_REJECTED;\n\t\t}\n\t};\n\n\tClassPledge.defer = function() {\n\t\tvar self = {};\n\n\t\tself.pledge = new ClassPledge(function(resolveListener, rejectListener) {\n\t\t\tself.resolve = resolveListener;\n\t\t\tself.reject = rejectListener;\n\t\t});\n\n\t\treturn self;\n\t};\n\n\tClassPledge.all = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\tproperties, i = 0, pledge;\n\t\t\n\t\tif(pledges.length) {\n\t\t\tproperties = (storage[functionUuid()] = { deferred: deferred, resolved: [], rejected: [], total: pledges.length, count: 0 })\n\t\t\t\n\t\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\t\tobserve(pledge, i, properties)\n\t\t\t}\n\t\t} else {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\tClassPledge.race = function(pledges) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\ti = 0, pledge;\n\n\t\tfor(; pledge = pledges[i]; i++) {\n\t\t\tpledge.then(deferred.resolve, deferred.reject);\n\t\t}\n\t\t\n\t\tif(!pledges.length) {\n\t\t\tdeferred.resolve();\n\t\t}\n\n\t\treturn deferred.pledge;\n\t};\n\n\treturn ClassPledge.extends(AbstractUuid);\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, MODULE_PREFIX_HANDLER, ERROR_LOAD, DEMAND_ID, PROVIDE_ID, PATH_ID, MOCK_PREFIX, NULL, TRUE, FALSE,\n\tregexMatchInternal, regexMatchParameter,\n\tvalidatorIsPositive,\n\tfunctionResolvePath, functionResolveId, functionResolveUrl, functionIterate,\n\tClassRegistry, ClassPledge, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isPositive.js\n//=require function/resolvePath.js\n//=require function/resolveId.js\n//=require function/resolveUrl.js\n//=require function/iterate.js\n//=require class/registry.js\n//=require class/pledge.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar ClassDependency = (function() {\n\tvar PREFIX_INTERNAL = 'internal!',\n\t\tregistry = new ClassRegistry(),\n\t\tplaceholder = [];\n\n\tfunction setProperty(property, value) {\n\t\tthis[property] = value;\n\t}\n\n\tfunction addPending(id, dependency) {\n\t\tif(dependency.pledge.isPending()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addResolved(id, dependency) {\n\t\tif(dependency.pledge.isResolved()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction addRejected(id, dependency) {\n\t\tif(dependency.pledge.isRejected()) {\n\t\t\tthis.push(id);\n\t\t}\n\t}\n\n\tfunction ClassDependency(uri, context, register) {\n\t\tvar self = this,\n\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\n\t\tself.path = functionResolvePath(uri, context);\n\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\tself.cache = parameter[2] ? parameter[1] === '+' : NULL;\n\t\tself.type = parameter[3] || settings.handler;\n\t\tself.version = parameter[4] || settings.version;\n\t\tself.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime;\n\t\tself.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path;\n\t\tself.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path;\n\t\tself.deferred = ClassPledge.defer();\n\t\tself.pledge = self.deferred.pledge;\n\n\t\t(register !== FALSE) && registry.set(self.id, self);\n\n\t\treturn self;\n\t}\n\n\tClassDependency.prototype = {\n\t\tenqueue: true // handled by handler\n\t\t/* only for reference\n\t \tpath: NULL,\n\t \tmock: NULL,\n\t\tcache: NULL,\n\t\ttype: NULL,\n\t\tversion: NULL,\n\t\tlifetime: NULL,\n\t \tid: NULL,\n\t \turi: NULL,\n\t\tdeferred: NULL,\n\t\tpledge: NULL,\n\t\thandler: NULL, // set by Dependency.resolve\n\t \tsource: NULL, // set by Cache or Loader\n\t \turl: NULL // optional, set by Loader\n\t\t*/\n\t};\n\n\tClassDependency.get = function(uri, context) {\n\t\treturn registry.get(functionResolveId(uri, context));\n\t};\n\n\tClassDependency.resolve = function(uri, context) {\n\t\tvar isInternal = context && regexMatchInternal.test(uri),\n\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + '/' + uri) : this.get(uri, context);\n\n\t\tif(!dependency) {\n\t\t\tif(isInternal) {\n\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + '/' + uri);\n\n\t\t\t\tswitch(uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tdependency.deferred.resolve((function() {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context));\n\t\t\t\t\t\t}()));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(provide.bind(context));\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tdependency.deferred.resolve(context);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdependency = new ClassDependency(uri, context);\n\n\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t.then(\n\t\t\t\t\t\tfunction(handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\n\t\t\t\t\t\t\tif(dependency.mock) {\n\t\t\t\t\t\t\t\tdependency.deferred.resolve(handler);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsingletonCache.resolve(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_LOAD + ' (handler)', self.id));\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn dependency;\n\t};\n\n\tClassDependency.remove = function(uri, context, cache) {\n\t\tvar id = functionResolveId(uri, context),\n\t\t\tnode = document.querySelector('[' + DEMAND_ID + '-id=\"' + id + '\"]');\n\n\t\tregistry.remove(id);\n\t\tregistry.remove(MOCK_PREFIX + id);\n\n\t\tnode && node.parentNode.removeChild(node);\n\n\t\t(cache !== FALSE) && singletonCache.clear.path(id);\n\t};\n\n\tClassDependency.list = {\n\t\tall: function() {\n\t\t\treturn Object.keys(registry.get());\n\t\t},\n\t\tpending: function() {\n\t\t\treturn functionIterate(registry.get(), addPending, []);\n\t\t},\n\t\tresolved: function() {\n\t\t\treturn functionIterate(registry.get(), addResolved, []);\n\t\t},\n\t\trejected: function() {\n\t\t\treturn functionIterate(registry.get(), addRejected, []);\n\t\t}\n\t};\n\n\treturn ClassDependency;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tfunctionResolveUrl, functionEscapeRegex, functionIterate\n*/\n\n//=require function/resolveUrl.js\n//=require function/escapeRegex.js\n//=require function/iterate.js\n\nvar ClassPattern = (function() {\n\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\n\tfunction setProperty(property, value) {\n\t\tthis[property] = {\n\t\t\turl: functionResolveUrl(value).replace(regexMatchTrailingSlash, '$1'),\n\t\t\tmatch: new RegExp('^' + functionEscapeRegex(value))\n\t\t};\n\t}\n\n\tfunction ClassPattern(pattern, url) {\n\t\tvar self = this;\n\n\t\tself.weight = pattern.length;\n\t\tself.match = new RegExp('^' + functionEscapeRegex(pattern));\n\t\tself.location = [].concat(url);\n\n\t\tfunctionIterate(self.location, setProperty, self.location);\n\t}\n\n\tClassPattern.prototype = {\n\t\t/* only for reference\n\t\t weight: 0,\n\t\t match: NULL,\n\t\t location: NULL,\n\t\t */\n\t\tmatches: function(path) {\n\t\t\treturn this.match.test(path);\n\t\t},\n\t\tprocess: function(path, index) {\n\t\t\tvar current = this.location[index];\n\n\t\t\tif(current) {\n\t\t\t\treturn path.replace(this.match, current.url);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn ClassPattern;\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tTRUE,\n\tregexMatchBaseUrl,\n\tClassPledge\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require variables.js\n//=require class/pledge.js\n\nvar ClassXhr = (function(XMLHttpRequest) {\n\tvar XDomainRequest = 'XDomainRequest' in global && global.XDomainRequest || XMLHttpRequest;\n\t\n\tfunction checkState() {\n\t\tif(this.readyState < 4) {\n\t\t\tthis.abort();\n\t\t}\n\t}\n\t\n\treturn function ClassXhr(url) {\n\t\tvar deferred = ClassPledge.defer(),\n\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest() : new XDomainRequest(),\n\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\ttimeout = settings.timeout,\n\t\t\tpointer;\n\n\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function() {\n\t\t\tdeferred.reject(xhr.status);\n\t\t};\n\t\txhr.onprogress = xhr.onreadystatechange = function() {\n\t\t\tclearTimeout(pointer);\n\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t};\n\t\txhr.onload = function() {\n\t\t\tpointer = clearTimeout(pointer);\n\n\t\t\tif(!('status' in xhr) || xhr.status === 200) {\n\t\t\t\tdeferred.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader('content-type'));\n\t\t\t} else {\n\t\t\t\tdeferred.reject(xhr.status);\n\t\t\t}\n\t\t};\n\n\t\txhr.open('GET', url, TRUE);\n\t\txhr.send();\n\t\t\n\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\n\t\treturn deferred.pledge;\n\t};\n}(XMLHttpRequest));","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_BOOLEAN, STRING_STRING, EVENT_PRE_RESOLVE, EVENT_POST_RESOLVE, EVENT_PRE_CONFIGURE, EVENT_POST_CONFIGURE, EVENT_CACHE_MISS, EVENT_CACHE_HIT, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, EVENT_PRE_PROCESS, EVENT_POST_PROCESS, NULL, FALSE,\n\tarrayPrototypeSlice,\n\tvalidatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf,\n\tfunctionIterate, functionMerge, functionDefer,\n\tClassPledge, ClassDependency, ClassPattern, ClassLoader, \n\tsingletonEvent, singletonCache\n*/\n\n//=require constants.js\n//=require shortcuts.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require validator/isPositive.js\n//=require validator/isInstanceOf.js\n//=require function/iterate.js\n//=require function/merge.js\n//=require function/defer.js\n//=require singleton/event.js\n//=require singleton/cache.js\n//=require class/pledge.js\n//=require class/dependency.js\n//=require class/pattern.js\n//=require class/loader.js\n\nglobal.demand = (function() {\n\tfunction updateCacheSettings(property, value) {\n\t\tthis[property] = { weight: property.length, state: value };\n\t}\n\n\tfunction updatePatternSettings(property, value) {\n\t\tproperty !== 'base' && (this[property] = new ClassPattern(property, value));\n\t}\n\n\tfunction updateModuleSettings(property, value) {\n\t\tvar temp = this[property] = this[property] || {};\n\n\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\n\t\tfunctionMerge(temp, value);\n\n\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp);\n\t}\n\n\tfunction demand() {\n\t\tvar dependencies = arrayPrototypeSlice.call(arguments),\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\ti = 0, uri, deferred, result;\n\t\t\n\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\n\t\tfor(; (uri = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(uri, STRING_STRING)) {\n\t\t\t\tdependencies[i] = ClassDependency.resolve(uri, context).pledge;\n\t\t\t} else {\n\t\t\t\tdependencies[i] = (deferred = ClassPledge.defer()).pledge;\n\t\t\t\t\n\t\t\t\tdeferred.resolve(uri);\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(dependencies.length > 1) {\n\t\t\tresult = ClassPledge.all(dependencies);\n\t\t} else {\n\t\t\tresult = dependencies[0];\n\t\t}\n\t\t\n\t\treturn result.always(function() {\n\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context);\n\t\t});\n\t}\n\n\tdemand.configure = function(options) {\n\t\tvar cache = options.cache,\n\t\t\tversion = options.version,\n\t\t\ttimeout = options.timeout,\n\t\t\tlifetime = options.lifetime,\n\t\t\tbase = options.base,\n\t\t\tpattern = options.pattern,\n\t\t\tmodules = options.modules,\n\t\t\tpointer = settings.modules;\n\n\t\tif(validatorIsTypeOf(cache, STRING_BOOLEAN)) {\n\t\t\tsettings.cache[''] = { weight: 0, state: cache };\n\t\t} else if(validatorIsObject(cache)) {\n\t\t\tfunctionIterate(cache, updateCacheSettings, settings.cache);\n\t\t}\n\n\t\tif(validatorIsTypeOf(version, STRING_STRING)) {\n\t\t\tsettings.version = version;\n\t\t}\n\n\t\tif(validatorIsPositive(timeout)) {\n\t\t\tsettings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000;\n\t\t}\n\n\t\tif(validatorIsPositive(lifetime) && lifetime > 0) {\n\t\t\tsettings.lifetime = lifetime * 1000;\n\t\t}\n\n\t\tif(validatorIsTypeOf(base, STRING_STRING) && base !== '') {\n\t\t\tsettings.pattern.base = new ClassPattern('', base);\n\t\t}\n\n\t\tif(validatorIsObject(pattern)) {\n\t\t\tfunctionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t}\n\n\t\tif(validatorIsObject(modules)) {\n\t\t\tfunctionIterate(modules, updateModuleSettings, pointer);\n\t\t}\n\n\t\treturn demand;\n\t};\n\n\tdemand.version = '{{gulp:package.version}}';\n\tdemand.on = singletonEvent.on.bind(demand);\n\tdemand.remove = ClassDependency.remove;\n\tdemand.list = ClassDependency.list;\n\tdemand.clear = singletonCache.clear;\n\n\tsingletonEvent\n\t\t.after(EVENT_CACHE_MISS, function(dependency) {\n\t\t\tnew ClassLoader(dependency);\n\t\t})\n\t\t.after(EVENT_CACHE_HIT + ' ' + EVENT_POST_REQUEST, function(dependency) {\n\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency);\n\t\t})\n\t\t.after(EVENT_PRE_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_POST_REQUEST, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\n\t\t\tpointer && pointer(dependency);\n\t\t})\n\t\t.after(EVENT_PRE_PROCESS, function(dependency) {\n\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\n\t\t\tpointer && pointer(dependency);\n\t\t\t\n\t\t\tdependency.pledge.then(function() {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency);\n\t\t\t});\n\n\t\t\tif(dependency.enqueue === true) {\n\t\t\t\tqueue.enqueue(dependency);\n\t\t\t} else if(validatorIsInstanceOf(dependency.enqueue, ClassPledge)) {\n\t\t\t\tdependency.enqueue.then(function() { queue.enqueue(dependency); });\n\t\t\t}\n\t\t});\n\n\treturn demand;\n}());","/* global \n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tSTRING_STRING, STRING_UNDEFINED, STRING_FUNCTION, ERROR_PROVIDE, ERROR_PROVIDE_ANONYMOUS, NULL,\n\tvalidatorIsTypeOf, validatorIsArray,\n\tClassDependency, ClassFailure\n*/\n\n//=require constants.js\n//=require validator/isTypeOf.js\n//=require validator/isArray.js\n//=require class/dependency.js\n//=require class/failure.js\n\nglobal.provide = function provide() {\n\tvar uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\tcontext = this !== global ? this : NULL,\n\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0],\n\t\tmodule, isFunction;\n\n\tif(!uri && processor.current) {\n\t\tmodule = processor.current;\n\t\turi = module.uri;\n\n\t\tprocessor.process();\n\t}\n\t\n\tif(uri) {\n\t\tmodule = module || new ClassDependency(uri, context);\n\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\n\t\tif(dependencies) {\n\t\t\tdemand\n\t\t\t\t.apply(module.path, dependencies)\n\t\t\t\t.then(\n\t\t\t\t\tfunction() { module.deferred.resolve(isFunction ? definition.apply(NULL, arguments) : definition); },\n\t\t\t\t\tfunction() { module.deferred.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments)); }\n\t\t\t\t);\n\t\t} else {\n\t\t\tmodule.deferred.resolve(isFunction ? definition() : definition);\n\t\t}\n\t} else {\n\t\t/* eslint-disable no-console */\n\t\t!validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS));\n\t\t/* eslint-enable no-console */\n\t}\n};","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tNULL\n*/\n\n//=require constants.js\n\nvar abstractHandler = (function() {\n\tfunction AbstractHandler() {\n\n\t}\n\n\tAbstractHandler.prototype = {\n\t\tvalidate: NULL,\n\t\tonPreRequest: NULL,\n\t\tonPostRequest: NULL,\n\t\tonPreProcess: NULL,\n\t\tprocess: NULL\n\t};\n\n\treturn new AbstractHandler();\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tDEMAND_ID, EVENT_PRE_REQUEST, EVENT_POST_REQUEST, TRUE,\n\tfunctionResolveSourcemaps,\n\tabstractHandler\n*/\n\n//=require constants.js\n//=require function/resolveSourcemaps.js\n//=require abstract/handler.js\n\nvar handlerModule = (function() {\n\tvar target = document.getElementsByTagName('head')[0],\n\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\n\tfunction HandlerModule() {}\n\n\tHandlerModule.prototype = {\n\t\tvalidate: function(type) {\n\t\t\treturn regexMatchType.test(type);\n\t\t},\n\t\tonPreRequest: function(dependency) {\n\t\t\tvar url = dependency.url;\n\n\t\t\tdependency.url = url.slice(-3) !== '.js' ? url + '.js' : url;\n\t\t},\n\t\tonPostRequest: function(dependency) {\n\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source);\n\t\t},\n\t\tprocess: function(dependency) {\n\t\t\tvar script;\n\n\t\t\tif(dependency.source) {\n\t\t\t\tscript = document.createElement('script');\n\t\t\t\tscript.async = TRUE;\n\t\t\t\tscript.text = dependency.source;\n\n\t\t\t\tscript.setAttribute(DEMAND_ID + '-id', dependency.id);\n\n\t\t\t\ttarget.appendChild(script);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerModule.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, ERROR_RESOLVE, MOCK_PREFIX, STRING_STRING, FALSE, TRUE,\n\tregexMatchParameter, regexMatchSourcemap,\n\tvalidatorIsTypeOf, validatorIsObject,\n\tfunctionIterate, functionResolveId,\n\tabstractHandler,\n\tClassDependency, ClassPledge, ClassFailure,\n\thandlerModule\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/resolveId.js\n//=require abstract/handler.js\n//=require class/dependency.js\n//=require class/pledge.js\n//=require class/Failure.js\n//=require handler/module.js\n\nvar handlerBundle = (function() {\n\tvar path = MODULE_PREFIX_HANDLER + 'bundle',\n\t\tsettings = {};\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tsettings = options;\n\n\t\t\t\tfunctionIterate(settings, updateDependencies);\n\t\t\t}\n\t\t});\n\n\tfunction updateDependencies(uri, dependencies) {\n\t\tvar i, dependency;\n\n\t\tfor(i = 0; (dependency = dependencies[i]); i++) {\n\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING)) {\n\t\t\t\tdependencies[i] = functionResolveId(dependency);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction getType(dependencies) {\n\t\tvar type, i = 0, temp;\n\n\t\tfor(; (temp = dependencies[i]); i++) {\n\t\t\ttemp = temp.match(regexMatchParameter);\n\t\t\ttemp = (temp && temp[3]) || settings.handler;\n\n\t\t\tif(type) {\n\t\t\t\tif(temp !== type) {\n\t\t\t\t\treturn FALSE;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttype = temp;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\tfunction HandlerBundle() {}\n\n\tHandlerBundle.prototype = {\n\t\tvalidate: handlerModule.validate,\n\t\tonPreProcess: function(dependency) {\n\t\t\tvar source = dependency.source,\n\t\t\t\tdeferred = dependency.deferred,\n\t\t\t\tdependencies = settings[dependency.path],\n\t\t\t\ttype, match, pledges, temp, i;\n\n\t\t\tdependency.enqueue = false;\n\n\t\t\tfunction reject() {\n\t\t\t\tdeferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments));\n\t\t\t}\n\n\t\t\tif(dependencies && (type = getType(dependencies))) {\n\t\t\t\twhile(match = regexMatchSourcemap.exec(source)) {\n\t\t\t\t\tsource = source.replace(match[0], '');\n\t\t\t\t}\n\n\t\t\t\tdependency.source = source;\n\t\t\t\tpledges = [];\n\n\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\tpledges.push(ClassDependency.resolve(MOCK_PREFIX + temp).pledge);\n\t\t\t\t}\n\n\t\t\t\tClassPledge.all(pledges).then(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tpledges.length = 0;\n\n\t\t\t\t\t\tfor(i = 0; (temp = dependencies[i]); i++) {\n\t\t\t\t\t\t\ttemp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp);\n\t\t\t\t\t\t\ttemp.handler = arguments[i];\n\n\t\t\t\t\t\t\tpledges.push(temp.pledge);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(type === 'module') {\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tClassPledge.all(pledges).then(deferred.resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\treject\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\treject();\n\t\t\t}\n\t\t}\n\t};\n\n\treturn new (HandlerBundle.extends(abstractHandler));\n}());","/* global\n\tglobal, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, storage,\n\tMODULE_PREFIX_PLUGIN, MODULE_PREFIX_HANDLER, EVENT_POST_CONFIGURE, EVENT_PRE_RESOLVE, STRING_STRING, ERROR_RESOLVE, FALSE, TRUE,\n\tregexMatchInternal,\n\tvalidatorIsObject, validatorIsTypeOf,\n\tfunctionIterate, functionHash,\n\tClassDependency, ClassFailure,\n\tsingletonCache\n*/\n\n//=require constants.js\n//=require variables.js\n//=require validator/isTypeOf.js\n//=require validator/isObject.js\n//=require function/iterate.js\n//=require function/hash.js\n//=require class/dependency.js\n//=require class/failure.js\n//=require singleton/cache.js\n\nvar pluginGenie = (function() {\n\tvar path = MODULE_PREFIX_PLUGIN + 'genie',\n\t\tpattern = [];\n\n\tfunction matchPattern(path) {\n\t\tvar i = 0, pointer, match;\n\n\t\tfor(; (pointer = pattern[i]); i++) {\n\t\t\tif(path.indexOf(pointer.prefix) === 0 && (!match || pointer.weight > match.weight)) {\n\t\t\t\tmatch = pointer;\n\t\t\t}\n\t\t}\n\n\t\treturn match;\n\t}\n\n\tfunction generateConfiguration(bundle) {\n\t\tvar matches = bundle.matches,\n\t\t\tconfiguration = { pattern: {}, modules: { '/demand/handler/bundle': {} } },\n\t\t\ti = 0, pointer, dependency;\n\n\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + 'bundle'][bundle.id] = pointer = [];\n\n\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\tpointer.push(dependency.path);\n\t\t}\n\n\t\treturn configuration;\n\t}\n\n\tfunction resolveDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.resolve(arguments[i]);\n\t\t}\n\t}\n\n\tfunction rejectDependencies() {\n\t\tvar i = 0, dependency;\n\n\t\tfor(; (dependency = this[i]); i++) {\n\t\t\tdependency.deferred.reject(new ClassFailure(ERROR_RESOLVE, dependency.id));\n\t\t}\n\t}\n\n\tfunction addPattern(property, value) {\n\t\tpattern.push({ prefix: property, weight: property.length, fn: value });\n\t}\n\n\tfunction resolveBundles(property, value) {\n\t\tvar matches = value.matches,\n\t\t\ti = 0, dependency;\n\n\t\tif(matches.length > 1) {\n\t\t\tvalue.id = path + '/' + functionHash(JSON.stringify(value.matches));\n\n\t\t\tfor(; (dependency = matches[i]); i++) {\n\t\t\t\tmatches[i] = new ClassDependency(dependency.uri);\n\t\t\t}\n\n\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\tdemand('bundle!' + value.id)\n\t\t\t\t.then(\n\t\t\t\t\tresolveDependencies.bind(matches),\n\t\t\t\t\trejectDependencies.bind(matches)\n\t\t\t\t);\n\t\t}\n\t}\n\n\tdemand\n\t\t.on(EVENT_POST_CONFIGURE + ':' + path, function(options) {\n\t\t\tif(validatorIsObject(options)) {\n\t\t\t\tpattern.length = 0;\n\n\t\t\t\tfunctionIterate(options, addPattern);\n\t\t\t}\n\t\t})\n\t\t.on(EVENT_PRE_RESOLVE, function(dependencies, context) {\n\t\t\tvar bundles = {},\n\t\t\t\ti = 0, dependency, pattern;\n\n\t\t\tfor(; (dependency = dependencies[i]); i++) {\n\t\t\t\tif(validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context)) {\n\t\t\t\t\tdependency = new ClassDependency(dependency, context, FALSE);\n\n\t\t\t\t\tif(dependency.type === 'module' && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency)) {\n\t\t\t\t\t\t(bundles[pattern.prefix] || (bundles[pattern.prefix] = { fn: pattern.fn, matches: [] })).matches.push(dependency);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunctionIterate(bundles, resolveBundles);\n\t\t});\n\n\treturn TRUE;\n}());"]} \ No newline at end of file diff --git a/dist/handler/css.js b/dist/handler/css.js index 467da05..e21fee4 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(e){"use strict";function t(t,r){function n(e){return c.href=e,c}function s(e,t,r){return l.test(t[1])||(e=e.replace(t[0],r)),e}function o(){}var u=e.getElementsByTagName("head")[0],c=e.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,a=/@import\s+["'](.+?)["']/gi,d=/^\//i,l=/^data:|http(s?):|\/\//i,f=/^text\/css/;return o.prototype={validate:function(e){return f.test(e)},onPreRequest:function(e){var t=e.url;e.url=".css"!==t.slice(-4)?t+".css":t},onPostRequest:function(e){for(var t,o=n(e.url+"/.."),u=o.href,c="//"+o.host,l=e.source;t=i.exec(l);)l=s(l,t,'url("'+n(d.test(t[1])?c+t[1]:u+t[1]).href+'")');for(;t=a.exec(l);)l=s(l,t,'@import "'+n(d.test(t[1])?c+t[1]:u+t[1]).href+'"');e.source=r(e.url,l)},process:function(t){var r=e.querySelector('[demand-id="'+t.id+'"]');r||(r=e.createElement("style"),r.type="text/css",r.setAttribute("demand-id",t.id),u.appendChild(r)),"STYLE"===r.tagName&&(r.styleSheet?r.styleSheet.cssText=t.source:r.textContent=t.source),provide(function(){return r})}},new(o.extends(t))}provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],t)}(document); //# sourceMappingURL=css.js.map diff --git a/dist/handler/json.js b/dist/handler/json.js index ab7e46b..552057d 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function n(n){function t(){}var e=/^application\/json/;return t.prototype={validate:function(n){return e.test(n)},onPreRequest:function(n){var t=n.url;n.url=".json"!==t.slice(-5)?t+".json":t},process:function(n){var t=JSON.parse(n.source);provide(function(){return t})}},new(t.extends(n))}provide(["/demand/abstract/handler"],n)}(); //# sourceMappingURL=json.js.map diff --git a/dist/handler/legacy.js b/dist/handler/legacy.js index 04e2577..16439cc 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function e(e,n,r,t){function o(){var e,t=this,o=t.deferred,d=u[t.path]&&u[t.path].probe;r.process(t),d&&(e=d())?provide(function(){return e}):o.reject(new n("error probing",t.path))}function d(){}var u={};return demand.on("postConfigure:"+e,function(e){u=t(e)?e:{}}),d.prototype={onPreProcess:function(e){var n=u[e.path]&&u[e.path].dependencies;n&&(e.enqueue=demand.apply(null,n))},process:function(e){var r=o.bind(e);e.enqueue===!0?r():e.enqueue.then(r,function(){e.deferred.reject(new n("error resolving",e.path,arguments))})}},new(d.extends(r))}provide(["path","/demand/failure","/demand/handler/module","/demand/validator/isObject"],e)}(); //# sourceMappingURL=legacy.js.map diff --git a/dist/handler/text.js b/dist/handler/text.js index 9719e42..1ef256e 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function t(t){function n(){}var e=/^text\/.+/;return n.prototype={validate:function(t){return e.test(t)},process:function(t){provide(function(){return t.source})}},new(n.extends(t))}provide(["/demand/abstract/handler"],t)}(); //# sourceMappingURL=text.js.map diff --git a/dist/plugin/cookie.js b/dist/plugin/cookie.js index 18ea5ff..8388b17 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(n){"use strict";function t(t,e,o,i){function a(t,e,o){(r||c(t.path))&&(n.cookie="demand["+t.type+"]["+t.path+"]="+encodeURIComponent(e)+"; expires="+o+"; path=/")}function c(n){for(var t,e,o=0;t=f[o];o++)0===n.indexOf(t.pattern)&&(!e||t.weight>e.weight)&&(e=t);return!!e&&e.state}var r,u="Thu, 01 Jan 1970 00:00:00 GMT",d="Fri, 31 Dec 9999 23:59:59 GMT",f=[];return demand.on("postConfigure:"+t,function(n){o(n)?(f.length=0,e(n,function(n,t){f.push({pattern:n,weight:n.length,state:t})})):i(n,"boolean")&&(r=n)}).on("cacheMiss",function(n){a(n,"",u)}).on("cacheClear",function(n){a(n,"",u)}).on("postCache",function(n,t){a(n,JSON.stringify(t),d)}),!0}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],t)}(document); //# sourceMappingURL=cookie.js.map diff --git a/dist/plugin/lzstring.js b/dist/plugin/lzstring.js index bdac1a7..8f621e0 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function t(t,e,n,o){function r(t,e){function n(){b===e?(g.push(i(v)),b=0,v=0):b++}function o(){if(p.call(s,h)){if(h.charCodeAt(0)<256){for(r=0;r>=1}else{for(a=1,r=0;r>=1}d--,0===d&&(d=Math.pow(2,w),w++),delete s[h]}else for(a=c[h],r=0;r>=1;d--}var r,a,c={},s={},u="",f="",h="",d=2,l=3,w=2,g=[],v=0,b=0,C=0;for(e-=1;t[C];C++)u=t.charAt(C),p.call(c,u)||(c[u]=l++,s[u]=!0),f=h+u,p.call(c,f)?h=f:(o(),0===d&&(d=Math.pow(2,w),w++),c[f]=l++,h=String(u));for(""!==h&&(o(),0===d&&w++),a=2,r=0;r>=1;for(;;){if(v<<=1,b===e){g.push(i(v));break}b++}return g.join("")}function a(t,e,n){function o(e){for(m=0,k=1;k!==e;)s=M.val&M.position,M.position>>=1,0===M.position&&(M.position=n,M.val=c(t,M.index++)),m|=(s>0?1:0)*k,k<<=1}var r,a,i,s,u,f=[],p=4,g=4,v=3,b="",C=[],M={val:c(t,0),position:n,index:1},m=0,A=d,k=1;for(a=0;a<3;a++)f[a]=a;switch(o(A),r=m){case 0:o(l),u=h(m);break;case 1:o(w),u=h(m);break;case 2:return""}for(f[3]=u,i=u,C.push(u);;){if(M.index>e)return"";switch(o(Math.pow(2,v)),u=m){case 0:o(l),f[g++]=h(m),u=g-1,p--;break;case 1:o(w),f[g++]=h(m),u=g-1,p--;break;case 2:return C.join("")}if(0===p&&(p=Math.pow(2,v),v++),f[u])b=f[u];else{if(u!==g)return null;b=i+i.charAt(0)}C.push(b),f[g++]=i+b.charAt(0),p--,i=b,0===p&&(p=Math.pow(2,v),v++)}}function i(t){return h(t+32)}function c(t,e){return t.charCodeAt(e)-32}function s(t){return t?r(t,15)+" ":""}function u(t){return t?a(t,t.length,16384):""}function f(t){for(var e,n,o=0;e=g[o];o++)0===t.indexOf(e.pattern)&&(!n||e.weight>n.weight)&&(n=e);return!!n&&n.state}var h=String.fromCharCode,p=Object.prototype.hasOwnProperty,d=Math.pow(2,2),l=Math.pow(2,8),w=Math.pow(2,16),g=[{pattern:t,weight:t.length,state:!1}],v={};return demand.on("postConfigure:"+t,function(t){n(t)?(g.length=0,e(t,function(t,e){g.push({pattern:t,weight:t.length,state:e})})):o(t,"boolean")&&g.push({pattern:"",weight:0,state:t})}).on("cacheHit",function(t){f(t.path)&&(v[t.id]=!0)}).on("preCache",function(t){f(t.path)&&(t.source=s(t.source))}).on("preProcess",function(t){v[t.id]&&(t.source=u(t.source))}),{compress:s,decompress:u}}provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],t)}(); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/sri.js b/dist/plugin/sri.js index c6aa1d7..fef4a1a 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 4.1.1 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ +/**! Qoopido.demand 4.1.2 | https://github.com/dlueth/qoopido.demand | (c) 2017 Dirk Lueth */ !function(){"use strict";function n(n,e){this.h=n,this.l=e}function e(n,e){var r=(n&H)+(e&H),w=(n>>>16)+(e>>>16)+(r>>>16);return(w&H)<<16|r&H}function r(n,e,r,w){var h=(n&H)+(e&H)+(r&H)+(w&H),t=(n>>>16)+(e>>>16)+(r>>>16)+(w>>>16)+(h>>>16);return(t&H)<<16|h&H}function w(n,e,r,w,h){var t=(n&H)+(e&H)+(r&H)+(w&H)+(h&H),l=(n>>>16)+(e>>>16)+(r>>>16)+(w>>>16)+(h>>>16)+(t>>>16);return(l&H)<<16|t&H}function h(e,r){var w,h,t,l;return w=(e.l&H)+(r.l&H),h=(e.l>>>16)+(r.l>>>16)+(w>>>16),t=(h&H)<<16|w&H,w=(e.h&H)+(r.h&H)+(h>>>16),h=(e.h>>>16)+(r.h>>>16)+(w>>>16),l=(h&H)<<16|w&H,new n(l,t)}function t(e,r,w,h){var t,l,u,a;return t=(e.l&H)+(r.l&H)+(w.l&H)+(h.l&H),l=(e.l>>>16)+(r.l>>>16)+(w.l>>>16)+(h.l>>>16)+(t>>>16),u=(l&H)<<16|t&H,t=(e.h&H)+(r.h&H)+(w.h&H)+(h.h&H)+(l>>>16),l=(e.h>>>16)+(r.h>>>16)+(w.h>>>16)+(h.h>>>16)+(t>>>16),a=(l&H)<<16|t&H,new n(a,u)}function l(e,r,w,h,t){var l,u,a,c;return l=(e.l&H)+(r.l&H)+(w.l&H)+(h.l&H)+(t.l&H),u=(e.l>>>16)+(r.l>>>16)+(w.l>>>16)+(h.l>>>16)+(t.l>>>16)+(l>>>16),a=(u&H)<<16|l&H,l=(e.h&H)+(r.h&H)+(w.h&H)+(h.h&H)+(t.h&H)+(u>>>16),u=(e.h>>>16)+(r.h>>>16)+(w.h>>>16)+(h.h>>>16)+(t.h>>>16)+(l>>>16),c=(u&H)<<16|l&H,new n(c,a)}function u(n){return k(n,7)^k(n,18)^m(n,3)}function a(n){return k(n,17)^k(n,19)^m(n,10)}function c(e){var r=A(e,1),w=A(e,8),h=R(e,7);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function o(e){var r=A(e,19),w=A(e,61),h=R(e,6);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function i(n){return k(n,2)^k(n,13)^k(n,22)}function s(n){return k(n,6)^k(n,11)^k(n,25)}function f(e){var r=A(e,28),w=A(e,34),h=A(e,39);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function v(e){var r=A(e,14),w=A(e,18),h=A(e,41);return new n(r.h^w.h^h.h,r.l^w.l^h.l)}function d(n,e,r){return n&e^n&r^e&r}function p(e,r,w){return new n(e.h&r.h^e.h&w.h^r.h&w.h,e.l&r.l^e.l&w.l^r.l&w.l)}function b(n,e,r){return n&e^~n&r}function g(e,r,w){return new n(e.h&r.h^~e.h&w.h,e.l&r.l^~e.l&w.l)}function k(n,e){return n>>>e|n<<32-e}function A(e,r){var w=null,h=new n(e.h,e.l);return w=32>=r?new n(h.h>>>r|h.l<<32-r&I,h.l>>>r|h.h<<32-r&I):new n(h.l>>>r-32|h.h<<64-r&I,h.h>>>r-32|h.l<<64-r&I)}function m(n,e){return n>>>e}function R(e,r){var w=null;return w=32>=r?new n(e.h>>>r,e.l>>>r|e.h<<32-r&I):new n(0,e.h>>>r-32)}function C(n,e,r){var w,h,t,l,u,a,c,o,i,s=0,f=n.length,v=0;for(h=e||[0],r=r||0,u=r>>>3;sa?w.push(a):2048>a?(w.push(192|a>>>6),w.push(128|63&a)):55296>a||57344<=a?w.push(224|a>>>12,128|a>>>6&63,128|63&a):(s++,a=65536+((1023&a)<<10|1023&n.charCodeAt(s)),w.push(240|a>>>18,128|a>>>12&63,128|a>>>6&63,128|63&a)),t=h.length,l=w.length,c=0;c>>2;t<=o;)h.push(0),t++;h[o]|=w[c]<<8*(3-i%4),v++}return{value:h,length:8*v+r}}function j(n){for(var e,r,w,h,t,l,u="",a=4*n.length,c=0;c>>2,h=e<=w?0:n[w],w=c+2>>>2,t=e<=w?0:n[w],r=(n[c>>>2]>>>8*(3-c%4)&255)<<16|(h>>>8*(3-(c+1)%4)&255)<<8|t>>>8*(3-(c+2)%4)&255,l=0;l<4;l++)u+=8*c+6*l<=32*e?S.charAt(r>>>6*(3-l)&63):"=";return u}function N(e){var r,w=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428];switch(e){case"sha256":r=w;break;case"sha384":r=[new n(3418070365,h[0]),new n(1654270250,h[1]),new n(2438529370,h[2]),new n(355462360,h[3]),new n(1731405415,h[4]),new n(41048885895,h[5]),new n(3675008525,h[6]),new n(1203062813,h[7])];break;case"sha512":r=[new n(w[0],4089235720),new n(w[1],2227873595),new n(w[2],4271175723),new n(w[3],1595750129),new n(w[4],2917565137),new n(w[5],725511199),new n(w[6],4215389547),new n(w[7],327033209)]}return r}function O(k,A,m){var R,C,j,N,O,q,y,E,H,I,S,_,x,z,B,D,F,G,J,K,L,M,P,Q,U,W,X=k.length,Y=0,Z=[];switch(m){case"sha256":S=64,_=1,M=Number,x=e,z=r,B=w,D=u,F=a,G=i,J=s,L=d,K=b,W=T;break;case"sha384":case"sha512":S=80,_=2,M=n,x=h,z=t,B=l,D=c,F=o,G=f,J=v,L=p,K=g,W=V}for(R=A[0],C=A[1],j=A[2],N=A[3],O=A[4],q=A[5],y=A[6],E=A[7];Y>>9<<4)+15,a=16;break;case"sha384":case"sha512":l=(e+129>>>10<<5)+31,a=32}for(;c<=l;)n.push(0),c++;for(n[e>>>5]|=128<<24-e%32,n[l]=e+r,t=c;o>>5,a=r>>>5;i>>5),o=t%r,w=q(c,o,f,w,n),j(w)}function E(n,e,r,w){function h(n){var e;return r(t,function(r,w){if(r===n)return e=w,!1}),e||!1}var t;return demand.on("postConfigure:"+n,function(n){w(n)&&(t=n)}).on("postRequest",function(n){var r;(r=h(n.path))&&y(r.type,n.source)!==r.hash&&n.deferred.reject(new e("error resolving (sri)",n.id))}),!0}var H=65535,I=4294967295,S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",T=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],V=[new n(T[0],3609767458),new n(T[1],602891725),new n(T[2],3964484399),new n(T[3],2173295548),new n(T[4],4081628472),new n(T[5],3053834265),new n(T[6],2937671579),new n(T[7],3664609560),new n(T[8],2734883394),new n(T[9],1164996542),new n(T[10],1323610764),new n(T[11],3590304994),new n(T[12],4068182383),new n(T[13],991336113),new n(T[14],633803317),new n(T[15],3479774868),new n(T[16],2666613458),new n(T[17],944711139),new n(T[18],2341262773),new n(T[19],2007800933),new n(T[20],1495990901),new n(T[21],1856431235),new n(T[22],3175218132),new n(T[23],2198950837),new n(T[24],3999719339),new n(T[25],766784016),new n(T[26],2566594879),new n(T[27],3203337956),new n(T[28],1034457026),new n(T[29],2466948901),new n(T[30],3758326383),new n(T[31],168717936),new n(T[32],1188179964),new n(T[33],1546045734),new n(T[34],1522805485),new n(T[35],2643833823),new n(T[36],2343527390),new n(T[37],1014477480),new n(T[38],1206759142),new n(T[39],344077627),new n(T[40],1290863460),new n(T[41],3158454273),new n(T[42],3505952657),new n(T[43],106217008),new n(T[44],3606008344),new n(T[45],1432725776),new n(T[46],1467031594),new n(T[47],851169720),new n(T[48],3100823752),new n(T[49],1363258195),new n(T[50],3750685593),new n(T[51],3785050280),new n(T[52],3318307427),new n(T[53],3812723403),new n(T[54],2003034995),new n(T[55],3602036899),new n(T[56],1575990012),new n(T[57],1125592928),new n(T[58],2716904306),new n(T[59],442776044),new n(T[60],593698344),new n(T[61],3733110249),new n(T[62],2999351573),new n(T[63],3815920427),new n(3391569614,3928383900),new n(3515267271,566280711),new n(3940187606,3454069534),new n(4118630271,4000239992),new n(116418474,1914138554),new n(174292421,2731055270),new n(289380356,3203993006),new n(460393269,320620315),new n(685471733,587496836),new n(852142971,1086792851),new n(1017036298,365543100),new n(1126000580,2618297676),new n(1288033470,3409855158),new n(1501505948,4234509866),new n(1607167915,987167468),new n(1816402316,1246189591)];provide(["path","/demand/failure","/demand/function/iterate","/demand/validator/isObject"],E)}(); //# sourceMappingURL=sri.js.map diff --git a/package.json b/package.json index 0f2e64a..e5ead8a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "qoopido.demand", "title": "Qoopido.demand", "description": "Promise like module loader using XHR requests and localStorage caching to dynamically load JavaScript and CSS + dynamic dependency resolution + support for custom handlers", - "version": "4.1.1", + "version": "4.1.2", "homepage": "https://github.com/dlueth/qoopido.demand", "author": { "name": "Dirk Lueth", diff --git a/tests/test.js b/tests/test.js new file mode 100644 index 0000000..18b5397 --- /dev/null +++ b/tests/test.js @@ -0,0 +1,11 @@ +import test from 'ava'; + +test('foo', t => { + t.pass(); +}); + +test('bar', async t => { + const bar = Promise.resolve('bar'); + + t.is(await bar, 'bar'); +}); \ No newline at end of file