diff --git a/README.md b/README.md index 7d2b99d..23ed17f 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ The last parameter of the above code snippet is a configuration object. It just lifetime: 60, // sets the timeout for XHR requests - // optional, defaults to "8" (limited to "2" up to "12") + // optional, defaults to "8" (limited to "2" up to "20") // unit: seconds timeout: 8, @@ -423,7 +423,7 @@ Demand also provides means to get information of the state of modules. Similar t ```javascript // get a list of all handlers and their modules ... // ... regardless of state - demand.list.all(); + demand.list(); // ... being currently loaded/resolved demand.list.pending(); diff --git a/dist/cache/dispose.js b/dist/cache/dispose.js index c079989..f7f280c 100644 --- a/dist/cache/dispose.js +++ b/dist/cache/dispose.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(t){"use strict";provide(["/demand/function/iterate"],function(n){function r(n){var r,e=t.getItem(n);if(e&&(r=e.match(d)))return Array.prototype.slice.call(r,1)}function e(t){return"["+i+"]["+t+"]["+o+"]"}function a(t){var n,a=t.match(u);a&&((n=r(e(a[1])))[5]=a[1],this.push(n))}function c(t,n){return t[4]n[4]?1:0}var i="demand",o="state",u=new RegExp("^\\["+i+"\\]\\[(.+?)\\]\\["+o+"\\]$"),d=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/;return n(t,function(t){var n=t.match(u);n&&(r(e(n[1]))[4]||demand.clear.path(n[1]))}),function(r){var e,i=[];for(n(t,a,i),i.sort(c);r>0&&i.length;)r-=(e=i.shift())[1],demand.clear.path(e[5])}})}(localStorage); //# sourceMappingURL=dispose.js.map diff --git a/dist/cache/dispose.js.map b/dist/cache/dispose.js.map index 2e66141..b5bc02a 100644 --- a/dist/cache/dispose.js.map +++ b/dist/cache/dispose.js.map @@ -1 +1 @@ -{"version":3,"sources":["cache/dispose.js"],"names":["localStorage","provide","functionIterate","getState","key","matches","state","getItem","match","regexMatchProperties","Array","prototype","slice","call","getKey","id","PREFIX","SUFFIX","filterStates","property","regexMatchState","this","push","compareAccess","a","b","RegExp","demand","clear","path","size","states","sort","length","shift"],"mappings":";CAAA,SAAAA,GACA,aA4CAC,SAAA,4BA1CA,SAAAC,GACA,SAAAC,EAAAC,GACA,IAAAC,EAAAC,EAAAN,EAAAO,QAAAH,GACA,GAAAE,IAAAD,EAAAC,EAAAE,MAAAC,IAAA,OAAAC,MAAAC,UAAAC,MAAAC,KAAAR,EAAA,GAGA,SAAAS,EAAAC,GACA,MAAA,IAAAC,EAAA,KAAAD,EAAA,KAAAE,EAAA,IAGA,SAAAC,EAAAC,GACA,IAAAb,EAAAE,EAAAW,EAAAX,MAAAY,GACAZ,KACAF,EAAAH,EAAAW,EAAAN,EAAA,MAAA,GAAAA,EAAA,GACAa,KAAAC,KAAAhB,IAIA,SAAAiB,EAAAC,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,IAAA,EACAD,EAAA,GAAAC,EAAA,GAAA,EACA,EAEA,IAAAT,EAAA,SACAC,EAAA,QACAG,EAAA,IAAAM,OAAA,OAAAV,EAAA,oBAAAC,EAAA,QACAR,EAAA,kCAMA,OALAP,EAAAF,EAAA,SAAAmB,GACA,IAAAX,EAAAW,EAAAX,MAAAY,GACAZ,IACAL,EAAAW,EAAAN,EAAA,KAAA,IAAAmB,OAAAC,MAAAC,KAAArB,EAAA,OAEA,SAAAsB,GACA,IAAAxB,EAAAyB,KAGA,IAFA7B,EAAAF,EAAAkB,EAAAa,GACAA,EAAAC,KAAAT,GACAO,EAAA,GAAAC,EAAAE,QACAH,IAAAxB,EAAAyB,EAAAG,SAAA,GACAP,OAAAC,MAAAC,KAAAvB,EAAA,OAzCA,CA8CAN","file":"dispose.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (localStorage) {\n\t\"use strict\";\n\n\tfunction definition(functionIterate) {\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = localStorage.getItem(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return Array.prototype.slice.call(matches, 1)\n\t\t}\n\n\t\tfunction getKey(id) {\n\t\t\treturn \"[\" + PREFIX + \"][\" + id + \"][\" + SUFFIX + \"]\"\n\t\t}\n\n\t\tfunction filterStates(property) {\n\t\t\tvar state, match = property.match(regexMatchState);\n\t\t\tif (match) {\n\t\t\t\t(state = getState(getKey(match[1])))[5] = match[1];\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[4] < b[4]) return -1;\n\t\t\tif (a[4] > b[4]) return 1;\n\t\t\telse return 0\n\t\t}\n\t\tvar PREFIX = \"demand\",\n\t\t\tSUFFIX = \"state\",\n\t\t\tregexMatchState = new RegExp(\"^\\\\[\" + PREFIX + \"\\\\]\\\\[(.+?)\\\\]\\\\[\" + SUFFIX + \"\\\\]$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/;\n\t\tfunctionIterate(localStorage, function (property) {\n\t\t\tvar match = property.match(regexMatchState);\n\t\t\tif (match)\n\t\t\t\tif (!getState(getKey(match[1]))[4]) demand.clear.path(match[1])\n\t\t});\n\t\treturn function (size) {\n\t\t\tvar state, states = [];\n\t\t\tfunctionIterate(localStorage, filterStates, states);\n\t\t\tstates.sort(compareAccess);\n\t\t\twhile (size > 0 && states.length) {\n\t\t\t\tsize -= (state = states.shift())[1];\n\t\t\t\tdemand.clear.path(state[5])\n\t\t\t}\n\t\t}\n\t}\n\tprovide([\"/demand/function/iterate\"], definition)\n})(localStorage);\n"]} \ No newline at end of file +{"version":3,"sources":["cache/dispose.js"],"names":["localStorage","provide","functionIterate","getState","key","matches","state","getItem","match","regexMatchProperties","Array","prototype","slice","call","getKey","id","PREFIX","SUFFIX","filterStates","property","regexMatchState","this","push","compareAccess","a","b","RegExp","demand","clear","path","size","states","sort","length","shift"],"mappings":";CAAA,SAAAA,GACA,aA4CAC,SAAA,4BA1CA,SAAAC,GACA,SAAAC,EAAAC,GACA,IAAAC,EAAAC,EAAAN,EAAAO,QAAAH,GACA,GAAAE,IAAAD,EAAAC,EAAAE,MAAAC,IAAA,OAAAC,MAAAC,UAAAC,MAAAC,KAAAR,EAAA,GAGA,SAAAS,EAAAC,GACA,MAAA,IAAAC,EAAA,KAAAD,EAAA,KAAAE,EAAA,IAGA,SAAAC,EAAAC,GACA,IAAAb,EAAAE,EAAAW,EAAAX,MAAAY,GACAZ,KACAF,EAAAH,EAAAW,EAAAN,EAAA,MAAA,GAAAA,EAAA,GACAa,KAAAC,KAAAhB,IAIA,SAAAiB,EAAAC,EAAAC,GACA,OAAAD,EAAA,GAAAC,EAAA,IAAA,EACAD,EAAA,GAAAC,EAAA,GAAA,EACA,EAEA,IAAAT,EAAA,SACAC,EAAA,QACAG,EAAA,IAAAM,OAAA,OAAAV,EAAA,oBAAAC,EAAA,QACAR,EAAA,kCAMA,OALAP,EAAAF,EAAA,SAAAmB,GACA,IAAAX,EAAAW,EAAAX,MAAAY,GACAZ,IACAL,EAAAW,EAAAN,EAAA,KAAA,IAAAmB,OAAAC,MAAAC,KAAArB,EAAA,OAEA,SAAAsB,GACA,IAAAxB,EAAAyB,KAGA,IAFA7B,EAAAF,EAAAkB,EAAAa,GACAA,EAAAC,KAAAT,GACAO,EAAA,GAAAC,EAAAE,QACAH,IAAAxB,EAAAyB,EAAAG,SAAA,GACAP,OAAAC,MAAAC,KAAAvB,EAAA,OAzCA,CA8CAN","file":"dispose.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (localStorage) {\n\t\"use strict\";\n\n\tfunction definition(functionIterate) {\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = localStorage.getItem(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return Array.prototype.slice.call(matches, 1)\n\t\t}\n\n\t\tfunction getKey(id) {\n\t\t\treturn \"[\" + PREFIX + \"][\" + id + \"][\" + SUFFIX + \"]\"\n\t\t}\n\n\t\tfunction filterStates(property) {\n\t\t\tvar state, match = property.match(regexMatchState);\n\t\t\tif (match) {\n\t\t\t\t(state = getState(getKey(match[1])))[5] = match[1];\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[4] < b[4]) return -1;\n\t\t\tif (a[4] > b[4]) return 1;\n\t\t\telse return 0\n\t\t}\n\t\tvar PREFIX = \"demand\",\n\t\t\tSUFFIX = \"state\",\n\t\t\tregexMatchState = new RegExp(\"^\\\\[\" + PREFIX + \"\\\\]\\\\[(.+?)\\\\]\\\\[\" + SUFFIX + \"\\\\]$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/;\n\t\tfunctionIterate(localStorage, function (property) {\n\t\t\tvar match = property.match(regexMatchState);\n\t\t\tif (match)\n\t\t\t\tif (!getState(getKey(match[1]))[4]) demand.clear.path(match[1])\n\t\t});\n\t\treturn function (size) {\n\t\t\tvar state, states = [];\n\t\t\tfunctionIterate(localStorage, filterStates, states);\n\t\t\tstates.sort(compareAccess);\n\t\t\twhile (size > 0 && states.length) {\n\t\t\t\tsize -= (state = states.shift())[1];\n\t\t\t\tdemand.clear.path(state[5])\n\t\t\t}\n\t\t}\n\t}\n\tprovide([\"/demand/function/iterate\"], definition)\n})(localStorage);\n"]} \ No newline at end of file diff --git a/dist/demand.js b/dist/demand.js index 6eb683f..91913b5 100644 --- a/dist/demand.js +++ b/dist/demand.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ -!function(e,t,n){"use strict";function r(e,t,n,r){return{__proto__:pe,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function i(e,t){return typeof e===t}function o(e){return e&&i(e,xe)}function u(e){return i(e,qe)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function c(e,t){return e instanceof t}function a(e,t,n){for(var r,i=Je.keys(e),o=0;(r=i[o])!==ve&&t.call(n,r,e[r])!==ge;o++);return n}function s(e,t,n){return Be.call(e,t,n)}function f(){return+new Date}function l(e){return Ze.href=e,Ze.href}function d(e,t){var n=e.replace(D,"");return O.test(n)||S.test(n)||(n="/"+l((t&&l(t+"/../")||"/")+n).replace($,"")),n}function h(e,t){var n=e.match(D);return(n&&n[1]?"mock:":"")+(n&&n[3]||ie.handler)+"!"+d(e,t)}function p(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=s(n)),this}function v(e){return"[object Array]"===ze.call(e)}function g(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0}function m(){return i(this.uuid,ye)&&this.define("uuid",E()),this}function y(e,t){for(var n,r;n=A.exec(t);)Ze.href=e,S.test(n[2])?r=Ze.protocol+"//"+Ze.host+n[3]:(Ze.pathname+="/../"+n[3],r=Ze.protocol+"//"+Ze.host+Ze.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function w(){}function p(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=s(n)),this}function x(e,t){q(e,function(){return t})}var b,q,j,k,R,E,P,C,M,S,O,A,$,T,D,H,I,N,L,_,F,U,X,W,B,G,J,z,K,Q,V,Y,Z,ee,te,ne=e.document,re="demand"in e&&e.demand,ie={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},oe="demand",ue="provide",ce="/"+oe+"/",ae=ce+"abstract/",se=ce+"handler/",fe=ce+"plugin/",le=ce+"function/",de=ce+"validator/",he="mock:",pe=null,ve=void 0,ge=!1,me=!0,ye="undefined",we="string",xe="object",be="function",qe="number",je="pre",ke="post",Re="Configure",Ee=je+Re,Pe=ke+Re,Ce="cache",Me=Ce+"Miss",Se=Ce+"Hit",Oe=Ce+"Exceed",Ae="Resolve",$e=je+Ae,Te=ke+Ae,De="Request",He=je+De,Ie=ke+De,Ne="Process",Le=je+Ne,_e=ke+Ne,Fe="queueEnqueue",Ue="error loading",Xe="error resolving",We=Array.prototype,Be=We.slice,Ge=We.concat,Je=Object,ze=Je.prototype.toString,Ke=Je.create,Qe=Je.defineProperty,Ve=Je.getOwnPropertyNames,Ye=Je.getOwnPropertyDescriptor,Ze=ne.createElement("a");if(function(t){function n(e,t,n,i,o){Qe(this,e,new r(t,n,i,o))}function i(e){for(var n,i=this,o=i[t],u=Ve(o),c={constructor:new r(i,me,me)},a=0;(n=u[a])&&!c[n];a++)c[n]=Ye(o,n);try{i[t]=Ke(e[t]||e,c)}catch(e){}if(i[t]===o)throw new TypeError("Unable to extend, prototype is not writable");return i}n.call(Object.prototype,"define",n),n.call(e.Object.prototype,"define",n),Function.prototype.define("extends",i),e.Function.prototype.define("extends",i)}("prototype"),R=function(){function e(e,t){var n,r=this[e];t!==ve&&(o(t)?(n=o(r),r=t.length!==ve?n&&r.length!==ve?r:[]:n&&r.length===ve?r:{},this[e]=R(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==ve;r++)a(t,e,n);return n}}(),E=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");return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e)}}(),Y="setImmediate"in e,P="MutationObserver"in e?function(e){Q=ne.createElement("div"),new MutationObserver(function(){e()}).observe(Q,{attributes:me}),Q.setAttribute("i","1")}:!Y&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?(K={},e.addEventListener("message",function(t){var n;t.source===e&&t.data&&(n=K[t.data])&&(n(),delete K[t.data])},ge),function(t){var n=E();K[n]=t,e.postMessage(n,"*")}):!Y&&"onreadystatechange"in(Q=ne.createElement("script"))?function(e){Q.onreadystatechange=function(){Q.onreadystatechange=pe,Q.parentNode.removeChild(Q),e()},ne.body.appendChild(Q)}:(V=Y?setImmediate:t,function(e){V(e)}),C=function(){function e(e,t,u){var c,a;if(i(t,we)&&i(u,be))for(t=t.split(" ");c=t.shift();)c=c.split(":"),r.test(c[0])&&((o[c[0]]||(o[c[0]]={on:[],after:[]}))[e].push({callback:u,filter:c[1]}),e===n&&c[0]===Pe&&(a=ie.modules[c[1]])&&u(a))}function t(){}var n="on",r=/^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 r,i,u,c=o[e];if(c){for(r=s(arguments,2),i=0;u=c[n][i];i++)u.filter&&u.filter!==t||u.callback.apply(pe,r);for(i=0;u=c.after[i];i++)u.filter&&u.filter!==t||u.callback.apply(pe,r)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e("after",t,n),this}},new t}(),Z=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,M=function(e){return e.replace(Z,"\\$&")},S=/^(http(s?):)?\/\//i,O=/^\//,A=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,$=new RegExp("^"+M(l("/"))),T=new RegExp("^"+oe+"|"+ue+"|path$"),D=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,H=function(){function t(e){var t;return e.cache!==pe?e.cache:(a(ie.cache,function(n,r){0===e.path.indexOf(n)&&(!t||r.weight>t.weight)&&(t=r)}),t?t.state:ge)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(m)))return s(t,1)}function o(e,t){t[4]=f(),r(e,t.join(","))}function u(e,t,n){C.emit(e,t.id,t,n)}function c(){P(this.clear.expired.bind(this.clear))}var l,d="["+oe+"]",p="[state]",v="[value]",g=new RegExp("^"+M(d)+"\\[(.+?)\\]"+M(p)+"$"),m=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return ge}}(),w=y?e.localStorage:pe,x=y&&"remainingSpace"in w,q={};return C.on(Me,function(e){P(function(){l.clear(e.id)})}).on(Oe,function(e){b("-!/"+oe+"/cache/dispose").then(function(t){P(function(){t(e.source.length),l.set(e)})})}).on(Ie,function(e){e.source&&t(e)&&(q[e.id]=me)}).after(_e,function(e){q[e.id]&&P(function(){l.set(e)})}),c.prototype={get:y?function(e){var r,u;if(t(e)){if(r=d+"["+e.id+"]",!(u=i(r+p)))return;return u[0]!==e.version||u[2]&&e.lifetime&&u[2]<=f()?void(e.invalid=!0):(e.source=n(r+v),P(function(){o(r+p,u)}),me)}}:function(){},resolve:y?function(e){this.get(e)?u(Se,e):u(Me,e)}:function(e){u(Me,e)},set:y?function(e){var n,i,c;if(t(e)){n=[e.version,e.source.length,e.lifetime?f()+e.lifetime:pe,b.version],i=d+"["+e.id+"]",u("preCache",e,n);try{if(c=x?w.remainingSpace:pe,r(i+v,e.source),o(i+p,n),c!==pe&&w.remainingSpace===c)throw new Error;u("postCache",e,n)}catch(t){u(Oe,e)}}}:function(){},clear:y?function(e){var t=h(e),i=d+"["+t+"]";n(i+p)&&(r(i+p),r(i+v),u("cacheClear",_.get(t)||new _(t,pe,ge)))}:function(){}},c.prototype.clear.all=y?function(){var e;a(w,function(t){(e=t.match(g))&&this(e[1])},this)}:function(){},c.prototype.clear.expired=y?function(){var e,t;a(w,function(n){(e=n.match(g))&&(t=i(d+"["+e[1]+"]"+p))&&t[2]>0&&t[2]<=f()&&this(e[1])},this)}:function(){},l=new c}(),I="WeakMap"in e?e.WeakMap:function(){function e(e,t){var n;if((n=t[e.id])&&n[0]===t)return n}function t(){this.define("id",n+E())}var n="weakmap-";return t.prototype={set:function(t,n){var r=e(this,t);return r?r[1]=n:t.define(this.id,[t,n]),this},get:function(t){var n=e(this,t);if(n)return n[1]},delete:function(t){var n=e(this,t);n&&(n.length=0,delete t[this.id])},has:function(t){return!!e(this,t)}},t}(),N=function(){function e(e,n,r){e.then(function(){r.resolved[n]=s(arguments),r.count++,t(r)},function(){r.rejected.push(s(arguments)),t(r)})}function t(e){e.count===e.total?e.dfd.resolve.apply(pe,Ge.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(pe,Ge.apply([],e.rejected))}function n(e){var t=this;return u.set(t,{state:r,handle:function(e,t){var n,c,a=u.get(this);for(a.state===r&&(a.state=e,a.value=t);n=a[a.state].shift();)(c=n.handler.apply(pe,a.value))&&"function"==typeof c.then?c.then(n.dfd.resolve,n.dfd.reject):n.dfd[a.state===i?"resolve":"reject"].apply(pe,a.value);a[i].length=0,a[o].length=0}.bind(t),value:pe,resolved:[],rejected:[],count:0}),e(function(){u.get(this).handle(i,arguments)}.bind(t),function(){u.get(this).handle(o,arguments)}.bind(t)),t}var r="pending",i="resolved",o="rejected",u=new I;return n.prototype={catch:function(e){return this.then(function(){},e)},always:function(e){return this.then(e,e)},then:function(e,t){var c=u.get(this),a=n.defer();return e&&c[i].push({handler:e,dfd:a}),t&&c[o].push({handler:t,dfd:a}),c.state!==r&&P(c.handle),a.pledge},isPending:function(){return u.get(this).state===r},isResolved:function(){return u.get(this).state===i},isRejected:function(){return u.get(this).state===o}},n.defer=function(){var e={};return e.pledge=new n(function(t,n){e.resolve=t,e.reject=n}),e},n.all=function(t){var r,i,o=n.defer(),u=0;if(t.length)for(r={dfd:o,resolved:[],rejected:[],total:t.length,count:0};i=t[u];u++)e(i,u,r);else o.resolve();return o.pledge},n.race=function(e){for(var t,r=n.defer(),i=0;t=e[i];i++)t.then(r.resolve,r.reject);return e.length||r.resolve(),r.pledge},n}(),L=function(){function e(){t.set(this,{})}var t=new I;return e.prototype={get:function(e){return e?t.get(this)[e]:t.get(this)},set:function(e,n){t.get(this)[e]=n},remove:function(e){delete t.get(this)[e]}},e}(),p.prototype={toString:function(){var e=this,t=oe+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=p.traverse(e.stack,t,1)),t}},p.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=p.traverse(r.stack,t,n+1));return t},_=function(){function e(e,t){this[e]=t}function t(e,t){t.pledge.isPending()&&this.push(e)}function n(e,t){t.pledge.isResolved()&&this.push(e)}function r(e,t){t.pledge.isRejected()&&this.push(e)}function i(e,t,n){var r=this,i=e.match(D)||f;return r.path=d(e,t),r.mock=i[1]?me:ge,r.cache=i[2]?"+"===i[1]:pe,r.type=i[3]||ie.handler,r.version=i[4]||ie.version,r.lifetime=i[5]&&1e3*i[5]||ie.lifetime,r.id=(r.mock?he:"")+r.type+"!"+r.path,r.uri=(r.mock?he:"")+r.type+"@"+r.version+(u(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=N.defer(),r.pledge=r.dfd.pledge,r.invalid=!1,r.pledge.then(function(){r.value=s(arguments)}),n!==ge&&c.set(r.id,r),r}var o="internal!",c=new L,f=[];return i.prototype={enqueue:!0},i.get=function(e,t){return c.get(h(e,t))},i.resolve=function(t,n){var r,u=n&&T.test(t),c=u?this.get(o+n+"/"+t):this.get(t,n);if(!c)if(u){switch(c=new i(o+n+"/"+t),t){case oe:r=a(b,e,b.bind(n));break;case ue:r=q.bind(n);break;case"path":r=n}c.dfd.resolve(r)}else c=new i(t,n),b(se+c.type).then(function(e){c.handler=e,c.mock?c.dfd.resolve(e):H.resolve(c)},function(){c.dfd.reject(new p(Ue+" (handler)",self.id))});return c},i.remove=function(e,t,n){var r=h(e,t),i=ne.querySelector("["+oe+'-id="'+r+'"]');c.remove(r),c.remove(he+r),i&&i.parentNode.removeChild(i),n!==ge&&H.clear(r)},i.list={all:function(){return Je.keys(c.get())},pending:function(){return a(c.get(),t,[])},resolved:function(){return a(c.get(),n,[])},rejected:function(){return a(c.get(),r,[])}},i}(),F=function(){function e(e,t){this[e]={url:l(t).replace(n,"$1"),match:new RegExp("^"+M(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+M(t)),r.location=[].concat(n),a(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}(),ee=XMLHttpRequest,te="XDomainRequest"in e&&e.XDomainRequest||ee,U=function(e){var r,i=N.defer(),o=$.test(e)?new ee:new te,u=function(){this.readyState<4&&this.abort()}.bind(o),c=ie.timeout;return o.ontimeout=o.onerror=o.onabort=function(){i.reject(o.status)},o.onprogress=o.onreadystatechange=function(){n(r),r=t(u,c)},o.onload=function(){r=n(r),"status"in o&&200!==o.status?i.reject(o.status):i.resolve(o.responseText,o.getResponseHeader&&o.getResponseHeader("content-type"))},o.open("GET",e,me),o.send(),r=t(u,c),i.pledge},b=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new F(e,t))}function r(e,t){var n=this[e]=this[e]||{};C.emit(Ee,e,n),R(n,t),C.emit(Pe,e,n)}function d(){var t,n,r=s(arguments),o=this!==e?this:pe,u=0;for(C.emit($e,pe,r,o);t=r[u];u++)i(t,we)?r[u]=_.resolve(t,o).pledge:(r[u]=(n=N.defer()).pledge,n.resolve(t));return(r.length>1?N.all(r):r[0]).always(function(){C.emit(Te,pe,r,o)})}return d.configure=function(e){var c=e.cache,s=e.version,f=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,g=ie.modules;return i(c,"boolean")?ie.cache[""]={weight:0,state:c}:o(c)&&a(c,t,ie.cache),i(s,we)&&(ie.version=s),u(f)&&(ie.timeout=1e3*Math.min(Math.max(f,2),12)),u(l)&&l>0&&(ie.lifetime=1e3*l),i(h,we)&&""!==h&&(ie.pattern.base=new F("",h)),o(p)&&a(p,n,ie.pattern),o(v)&&a(v,r,g),d},d.version="5.0.1",d.on=C.on.bind(d),d.get=function(e,t){var n=_.get(e,t);return n&&n.value},d.list=_.list,d.remove=_.remove,d.cache={clear:H.clear},C.after(Me,function(e){new function(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new p(Ue+" (content-type)",e.id)):(e.source=t,C.emit(Ie,e.type,e))}function n(t){e.dfd.reject(new p(Ue+(t?" (status)":""),e.id))}var r,i=/^(?:\?|)$/;S.test(e.path)||a(ie.pattern,function(t,n){n.matches(e.path)&&(!r||r.weight "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=p.traverse(r.stack,t,n+1));return t},G=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)i(r,we)&&(t[n]=h(r))}function t(){}var n=se+"bundle",r={};return b.on(Pe+":"+n,function(t){o(t)&&a(r=t,e)}),t.prototype={validate:B.validate,onPreProcess:function(e){function t(){s.reject(new p(Xe,e.id,arguments))}var n,i,o,u,c,a=e.source,s=e.dfd,f=r[e.path];if(e.enqueue=ge,f&&(n=function(e){for(var t,n,i=0;n=e[i];i++)if(n=(n=n.match(D))&&n[3]||r.handler,t){if(n!==t)return ge}else t=n;return t}(f))){for(;i=A.exec(a);)a=a.replace(i[0],"");for(e.source=a,o=[],c=0;u=f[c];c++)o.push(_.resolve(he+u).pledge);N.all(o).then(function(){for(o.length=0,c=0;u=f[c];c++)(u=f[c]=_.get(u)||new _(u)).handler=arguments[c],o.push(u.pledge);"module"===n?(j.enqueue.apply(j,f),B.process(e)):(B.process(e),j.enqueue.apply(j,f)),N.all(o).then(s.resolve,t)},t)}else t()}},new(t.extends(w))}(),J=function(){function e(){}var t=".html",n=/^text\/.+$/;return e.prototype={validate:function(e){return n.test(e)},onPreRequest:function(e){var n=e.url.pathname;e.url.pathname=n.slice(-t.length)!==t?n+t:n},onPostRequest:function(e){e.source=y(e.url,e.source)},onPreProcess:function(e){function t(){c.reject(new p(Xe,e.id,arguments))}var n,r,i,o,u=e.path,c=e.dfd,a=ne.createElement("body"),s=[],f=[];for(e.enqueue=ge,a.innerHTML=e.source;n=a.firstElementChild;)(r=n.getAttribute("type"))&&(o=r+"!"+u+((i=n.getAttribute("path"))?"/"+i:""),n.parentNode.removeChild(n),s.push({source:n.textContent,uri:o}),f.push(_.resolve("mock:"+o).pledge));N.all(f).then(function(){var e,n,r=0;for(f.length=0;e=s[r];r++)(n=_.get(e.uri)||new _(e.uri)).source=y(n.url,e.source),n.handler=arguments[r],f.push(n.pledge),j.enqueue(n);N.all(f).then(c.resolve,t)},t)}},new(e.extends(w))}(),z=function(){function e(e){for(var t,n,r=0;t=u[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e,t){u.push({prefix:e,weight:e.length,fn:t})}function n(e,t){var n,i=t.matches,o=0;if(i.length>1){for(t.id=r+"/"+g(JSON.stringify(t.matches));n=i[o];o++)i[o]=new _(n.uri);b.configure(function(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[se+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}(t)),b("bundle!"+t.id).then(function(){for(var e,t=0;e=this[t];t++)e.dfd.resolve(arguments[t])}.bind(i),function(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new p(Xe,e.id))}.bind(i))}}var r=fe+"genie",u=[];return b.on(Pe+":"+r,function(e){o(e)&&(u.length=0,a(e,t))}).on($e,function(t,r){for(var o,u,c={},s=0;o=t[s];s++)!i(o,we)||T.test(o)||_.get(o,r)||"module"===(o=new _(o,r,ge)).type&&(u=e(o.path))&&!H.get(o)&&(c[u.prefix]||(c[u.prefix]={fn:u.fn,matches:[]})).matches.push(o);a(c,n)}),me}(),j=new X,k=new W(j),x(ae+"uuid",m),x(ae+"handler",w),x(se+"module",B),x(se+"bundle",G),x(se+"component",J),x(fe+"genie",z),x(de+"isTypeOf",i),x(de+"isArray",v),x(de+"isObject",o),x(de+"isInstanceOf",c),x(le+"resolveUrl",l),x(le+"resolveSourcemaps",y),x(le+"merge",R),x(le+"iterate",a),x(le+"hash",g),x(le+"defer",P),x(le+"uuid",E),x(ce+"weakmap",I),x(ce+"descriptor",r),x(ce+"pledge",N),x(ce+"queue",X),x(ce+"xhr",U),x(ce+"failure",p),re&&re.main)switch(typeof re.main){case we:b(re.main);break;case be:q("main",re.main())}}("demand-loader"===this.name?parent:this,setTimeout,clearTimeout); +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +!function(e,t,n){"use strict";function r(e,t,n,r){return{__proto__:me,value:e,enumerable:!!r,configurable:!!n,writable:!!t}}function i(e,t){return typeof e===t}function o(e){return e&&i(e,qe)}function u(e){return i(e,Re)&&isFinite(e)&&Math.floor(e)===e&&e>=0}function a(e,t){return e instanceof t}function c(e,t,n){for(var r,i=Qe.keys(e),o=0;(r=i[o])!==ye&&t.call(n,r,e[r])!==we;o++);return n}function s(e,t,n){return Je.call(e,t,n)}function f(){return+new Date}function l(e){return nt.href=e,nt.href}function d(e,t){var n=e.replace(D,"");return A.test(n)||O.test(n)||(n="/"+l((t&&l(t+"/../")||"/")+n).replace(T,"")),n}function h(e,t){var n=e.match(D);return(n&&n[1]?"mock:":"")+(n&&n[3]||ae.handler)+"!"+d(e,t)}function p(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=s(n)),this}function v(e){return"[object Array]"===Ve.call(e)}function g(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0}function m(){return i(this.uuid,be)&&this.define("uuid",P()),this}function y(e,t){for(var n,r;n=$.exec(t);)nt.href=e,O.test(n[2])?r=nt.protocol+"//"+nt.host+n[3]:(nt.pathname+="/../"+n[3],r=nt.protocol+"//"+nt.host+nt.pathname),t=t.replace(n[0],n[1]+" "+n[2]+"="+r+".map"+(n[4]?" "+n[4]:""));return t}function w(){}function p(e,t,n){return this.message=e,t&&(this.module=t),n&&(this.stack=s(n)),this}function x(e,t){j(e,function(){return t})}var b,j,q,k,R,E,P,S,C,M,O,A,$,T,I,D,H,N,L,z,_,F,U,X,W,B,G,J,K,Q,V,Y,Z,ee,te,ne,re,ie,oe=e.document,ue="demand"in e&&e.demand,ae={version:"1.0.0",cache:{},timeout:8e3,pattern:{},modules:{},handler:"module"},ce="demand",se="provide",fe="/demand/",le=fe+"abstract/",de=fe+"handler/",he=fe+"plugin/",pe=fe+"function/",ve=fe+"validator/",ge="mock:",me=null,ye=void 0,we=!1,xe=!0,be="undefined",je="string",qe="object",ke="function",Re="number",Ee="pre",Pe="post",Se="Configure",Ce=Ee+Se,Me=Pe+Se,Oe="cache",Ae=Oe+"Miss",$e=Oe+"Hit",Te=Oe+"Exceed",Ie="Resolve",De=Ee+Ie,He=Pe+Ie,Ne="Request",Le=Ee+Ne,ze=Pe+Ne,_e="Process",Fe=Ee+_e,Ue=Pe+_e,Xe="queueEnqueue",We="error loading",Be="error resolving",Ge=Array.prototype,Je=Ge.slice,Ke=Ge.concat,Qe=Object,Ve=Qe.prototype.toString,Ye=Qe.create,Ze=Qe.defineProperty,et=Qe.getOwnPropertyNames,tt=Qe.getOwnPropertyDescriptor,nt=oe.createElement("a");if(function(t){function n(e,t,n,i,o){Ze(this,e,new r(t,n,i,o))}function i(e){for(var n,i=this,o=i[t],u=et(o),a={constructor:new r(i,xe,xe)},c=0;(n=u[c])&&!a[n];c++)a[n]=tt(o,n);try{i[t]=Ye(e[t]||e,a)}catch(e){}if(i[t]===o)throw new TypeError("Unable to extend, prototype is not writable");return i}n.call(Object.prototype,"define",n),n.call(e.Object.prototype,"define",n),Function.prototype.define("extends",i),e.Function.prototype.define("extends",i)}("prototype"),V=/^\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-z-]+(?:\.[\da-z-]+)*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?\b$/i,R=function(e){return i(e,je)&&V.test(e)},E=function(){function e(e,t){var n,r=this[e];t!==ye&&(o(t)?(n=o(r),r=t.length!==ye?n&&r.length!==ye?r:[]:n&&r.length===ye?r:{},this[e]=E(r,t)):this[e]=t)}return function(){for(var t,n=arguments[0],r=1;(t=arguments[r])!==ye;r++)c(t,e,n);return n}}(),P=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");return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(t,e)}}(),te="setImmediate"in e,S="MutationObserver"in e?function(e){Z=oe.createElement("div"),new MutationObserver(function(){e()}).observe(Z,{attributes:xe}),Z.setAttribute("i","1")}:!te&&"postMessage"in e&&!("importScripts"in e)&&"addEventListener"in e?(Y={},e.addEventListener("message",function(t){var n;t.source===e&&t.data&&(n=Y[t.data])&&(n(),delete Y[t.data])},we),function(t){var n=P();Y[n]=t,e.postMessage(n,"*")}):!te&&"onreadystatechange"in(Z=oe.createElement("script"))?function(e){Z.onreadystatechange=function(){Z.onreadystatechange=me,Z.parentNode.removeChild(Z),e()},oe.body.appendChild(Z)}:(ee=te?setImmediate:t,function(e){ee(e)}),C=function(){function e(e,t,u){var a,c;if(i(t,je)&&i(u,ke))for(t=t.split(" ");a=t.shift();)a=a.split(":"),r.test(a[0])&&((o[a[0]]||(o[a[0]]={on:[],after:[]}))[e].push({callback:u,filter:a[1]}),e===n&&a[0]===Me&&(c=ae.modules[a[1]])&&u(c))}function t(){}var n="on",r=/^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 r,i,u,a=o[e];if(a){for(r=s(arguments,2),i=0;u=a[n][i];i++)u.filter&&u.filter!==t||u.callback.apply(me,r);for(i=0;u=a.after[i];i++)u.filter&&u.filter!==t||u.callback.apply(me,r)}return this},on:function(t,r){return e(n,t,r),this},after:function(t,n){return e("after",t,n),this}},new t}(),ne=/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,M=function(e){return e.replace(ne,"\\$&")},O=/^(http(s?):)?\/\//i,A=/^\//,$=/((?:\/\/|\/\*)#)\s*(sourceMappingURL)\s*=\s*(?!(?:http[s]?:)?\/\/)(.+?)\.map(?:\s+)?(\*\/)?/g,T=new RegExp("^"+M(l("/"))),I=new RegExp("^demand|"+se+"|path$"),D=/^(mock:)?([+-])?((?:[-\w]+\/?)+)?(?:@(.+?))?(?:#(\d+))?!/,H=function(){function e(e,t){return et?1:0}function t(e){if(!R(e))throw new TypeError('"version" must be a valid semver version string');e=function(t){var n,r=e.split("-"),i=0;for(r=r[1]?Array.prototype.concat(r[0].split("."),r[1].split(".")):r[0].split(".");n=r[i];i++)r[i]=parseInt(n,10).toString()===n?parseInt(n,10):n;return r}(),this.major=e.slice(0,1),this.minor=e.slice(1,2),this.patch=e.slice(2,3),this.identifier=e.slice(3)}return t.prototype={toString:function(){return this.major+"."+this.minor+"."+this.patch+(this.identifier.length?"-"+this.identifier.join("."):"")},compare:function(t){return e(this.major,t.major)||e(this.minor,t.minor)||e(this.patch,t.patch)||function(e,t){var n,r,i,o,u=0;if(e.length&&!t.length)return-1;if(!e.length&&t.length)return 1;if(!e.length&&!t.length)return 0;do{if(n=e[u],o=typeof(r=t[u]),(i=typeof n)===be&&o===be)return 0;if(o===be)return 1;if(i===be)return-1;if(n!==r){if(i===je&&o!==je)return 1;if(i!==je&&o===je)return-1;if(n>r)return 1;if(nt.weight)&&(t=r)}),t?t.state:we)}function n(e){return w.getItem(e)}function r(e,t){w[t?"setItem":"removeItem"](e,t)}function i(e){var t,r=n(e);if(r&&(t=r.match(m)))return s(t,1)}function o(e,t){t[4]=f(),r(e,t.join(","))}function u(e,t,n){C.emit(e,t.id,t,n)}function a(){S(this.clear.expired.bind(this.clear))}var l,d="[demand]",p="[state]",v="[value]",g=new RegExp("^"+M(d)+"\\[(.+?)\\]"+M(p)+"$"),m=/^(.+?),(\d+),(\d*),(.+?),(\d+)$/,y=function(){try{return"localStorage"in e&&e.localStorage}catch(e){return we}}(),w=y?e.localStorage:me,x=y&&"remainingSpace"in w,j={};return C.on(Ae,function(e){S(function(){l.clear(e.id)})}).on(Te,function(e){b("-!/demand/cache/dispose").then(function(t){S(function(){t(e.source.length),l.set(e)})})}).on(ze,function(e){e.source&&t(e)&&(j[e.id]=xe)}).after(Ue,function(e){j[e.id]&&S(function(){l.set(e)})}),a.prototype={get:y?function(e){var r,u;if(t(e)){if(r=d+"["+e.id+"]",!(u=i(r+p)))return;return 1===e.version.compare(new H(u[0]))||u[2]&&e.lifetime&&u[2]<=f()?void(e.invalid=!0):(e.source=n(r+v),S(function(){o(r+p,u)}),xe)}}:function(){},resolve:y?function(e){this.get(e)?u($e,e):u(Ae,e)}:function(e){u(Ae,e)},set:y?function(e){var n,i,a;if(t(e)){n=[e.version,e.source.length,e.lifetime?f()+e.lifetime:me,b.version],i=d+"["+e.id+"]",u("preCache",e,n);try{if(a=x?w.remainingSpace:me,r(i+v,e.source),o(i+p,n),a!==me&&w.remainingSpace===a)throw new Error;u("postCache",e,n)}catch(t){u(Te,e)}}}:function(){},clear:y?function(e){var t=h(e),i=d+"["+t+"]";n(i+p)&&(r(i+p),r(i+v),u("cacheClear",F.get(t)||new F(t,me,we)))}:function(){}},a.prototype.clear.all=y?function(){var e;c(w,function(t){(e=t.match(g))&&this(e[1])},this)}:function(){},a.prototype.clear.expired=y?function(){var e,t;c(w,function(n){(e=n.match(g))&&(t=i(d+"["+e[1]+"]"+p))&&t[2]>0&&t[2]<=f()&&this(e[1])},this)}:function(){},l=new a}(),L="WeakMap"in e?e.WeakMap:function(){function e(e,t){var n;if((n=t[e.id])&&n[0]===t)return n}function t(){this.define("id",n+P())}var n="weakmap-";return t.prototype={set:function(t,n){var r=e(this,t);return r?r[1]=n:t.define(this.id,[t,n]),this},get:function(t){var n=e(this,t);if(n)return n[1]},delete:function(t){var n=e(this,t);n&&(n.length=0,delete t[this.id])},has:function(t){return!!e(this,t)}},t}(),z=function(){function e(e,n,r){e.then(function(){r.resolved[n]=s(arguments),r.count++,t(r)},function(){r.rejected.push(s(arguments)),t(r)})}function t(e){e.count===e.total?e.dfd.resolve.apply(me,Ke.apply([],e.resolved)):e.rejected.length+e.count===e.total&&e.dfd.reject.apply(me,Ke.apply([],e.rejected))}function n(e){var t=this;return u.set(t,{state:r,handle:function(e,t){var n,a,c=u.get(this);for(c.state===r&&(c.state=e,c.value=t);n=c[c.state].shift();)(a=n.handler.apply(me,c.value))&&"function"==typeof a.then?a.then(n.dfd.resolve,n.dfd.reject):n.dfd[c.state===i?"resolve":"reject"].apply(me,c.value);c[i].length=0,c[o].length=0}.bind(t),value:me,resolved:[],rejected:[],count:0}),e(function(){u.get(this).handle(i,arguments)}.bind(t),function(){u.get(this).handle(o,arguments)}.bind(t)),t}var r="pending",i="resolved",o="rejected",u=new L;return n.prototype={catch:function(e){return this.then(function(){},e)},always:function(e){return this.then(e,e)},then:function(e,t){var a=u.get(this),c=n.defer();return e&&a[i].push({handler:e,dfd:c}),t&&a[o].push({handler:t,dfd:c}),a.state!==r&&S(a.handle),c.pledge},isPending:function(){return u.get(this).state===r},isResolved:function(){return u.get(this).state===i},isRejected:function(){return u.get(this).state===o}},n.defer=function(){var e={};return e.pledge=new n(function(t,n){e.resolve=t,e.reject=n}),e},n.all=function(t){var r,i,o=n.defer(),u=0;if(t.length)for(r={dfd:o,resolved:[],rejected:[],total:t.length,count:0};i=t[u];u++)e(i,u,r);else o.resolve();return o.pledge},n.race=function(e){for(var t,r=n.defer(),i=0;t=e[i];i++)t.then(r.resolve,r.reject);return e.length||r.resolve(),r.pledge},n}(),_=function(){function e(){t.set(this,{})}var t=new L;return e.prototype={get:function(e){return e?t.get(this)[e]:t.get(this)},set:function(e,n){t.get(this)[e]=n},remove:function(e){delete t.get(this)[e]}},e}(),p.prototype={toString:function(){var e=this,t=ce+": "+e.message+" "+(e.module?'"'+e.module+'"':"");return e.stack&&(t=p.traverse(e.stack,t,1)),t}},p.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=p.traverse(r.stack,t,n+1));return t},F=function(){function e(e,t){this[e]=t}function t(e){v.test(e)||this.push(e)}function n(e,t){!v.test(e)&&t.pledge.isPending()&&this.push(e)}function r(e,t){!v.test(e)&&t.pledge.isResolved()&&this.push(e)}function i(e,t){!v.test(e)&&t.pledge.isRejected()&&this.push(e)}function o(){return c(l.get(),t,[])}function a(e,t,n){var r=this,i=e.match(D)||g;return r.path=d(e,t),r.mock=i[1]?xe:we,r.cache=i[2]?"+"===i[1]:me,r.type=i[3]||ae.handler,r.version=new H(i[4]||ae.version),r.lifetime=i[5]&&1e3*i[5]||ae.lifetime,r.id=(r.mock?ge:"")+r.type+"!"+r.path,r.uri=(r.mock?ge:"")+r.type+"@"+r.version+(u(r.lifetime)&&r.lifetime>0?"#"+r.lifetime:"")+"!"+r.path,r.dfd=z.defer(),r.pledge=r.dfd.pledge,r.invalid=!1,r.pledge.then(function(){r.value=s(arguments)}),n!==we&&l.set(r.id,r),r}var f="internal!",l=new _,v=/^(?:mock:|internal!)/i,g=[];return o.prototype={pending:function(){return c(l.get(),n,[])},resolved:function(){return c(l.get(),r,[])},rejected:function(){return c(l.get(),i,[])}},a.prototype={enqueue:!0},a.get=function(e,t){return l.get(h(e,t))},a.resolve=function(t,n){var r,i=n&&I.test(t),o=i?this.get(f+n+"/"+t):this.get(t,n);if(!o)if(i){switch(o=new a(f+n+"/"+t),t){case ce:r=c(b,e,b.bind(n));break;case se:r=j.bind(n);break;case"path":r=n}o.dfd.resolve(r)}else o=new a(t,n),b(de+o.type).then(function(e){o.handler=e,o.mock?o.dfd.resolve(e):N.resolve(o)},function(){o.dfd.reject(new p(We+" (handler)",self.id))});return o},a.remove=function(e,t,n){var r=h(e,t),i=oe.querySelector('[demand-id="'+r+'"]');l.remove(r),l.remove(ge+r),i&&i.parentNode.removeChild(i),n!==we&&N.clear(r)},a.list=o,a}(),U=function(){function e(e,t){this[e]={url:l(t).replace(n,"$1"),match:new RegExp("^"+M(t))}}function t(t,n){var r=this;r.weight=t.length,r.match=new RegExp("^"+M(t)),r.location=[].concat(n),c(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}(),re=XMLHttpRequest,ie="XDomainRequest"in e&&e.XDomainRequest||re,X=function(e){var r,i=z.defer(),o=T.test(e)?new re:new ie,u=function(){this.readyState<4&&this.abort()}.bind(o),a=ae.timeout;return o.ontimeout=o.onerror=o.onabort=function(){i.reject(o.status)},o.onprogress=o.onreadystatechange=function(){n(r),r=t(u,a)},o.onload=function(){r=n(r),"status"in o&&200!==o.status?i.reject(o.status):i.resolve(o.responseText,o.getResponseHeader&&o.getResponseHeader("content-type"))},o.open("GET",e,xe),o.send(),r=t(u,a),i.pledge},b=function(){function t(e,t){this[e]={weight:e.length,state:t}}function n(e,t){"base"!==e&&(this[e]=new U(e,t))}function r(e,t){var n=this[e]=this[e]||{};C.emit(Ce,e,n),E(n,t),C.emit(Me,e,n)}function d(){var t,n,r=s(arguments),o=this!==e?this:me,u=0;for(C.emit(De,me,r,o);t=r[u];u++)i(t,je)?r[u]=F.resolve(t,o).pledge:(r[u]=(n=z.defer()).pledge,n.resolve(t));return(r.length>1?z.all(r):r[0]).always(function(){C.emit(He,me,r,o)})}return d.configure=function(e){var a=e.cache,s=e.version,f=e.timeout,l=e.lifetime,h=e.base,p=e.pattern,v=e.modules,g=ae.modules;return i(a,"boolean")?ae.cache[""]={weight:0,state:a}:o(a)&&c(a,t,ae.cache),R(s)&&(ae.version=s),u(f)&&(ae.timeout=1e3*Math.min(Math.max(f,2),20)),u(l)&&l>0&&(ae.lifetime=1e3*l),i(h,je)&&""!==h&&(ae.pattern.base=new U("",h)),o(p)&&c(p,n,ae.pattern),o(v)&&c(v,r,g),d},d.version="5.0.2",d.on=C.on.bind(d),d.get=function(e,t){var n=F.get(e,t);return n&&n.value},d.list=F.list,d.remove=F.remove,d.cache={clear:N.clear},C.after(Ae,function(e){new function(e){function t(t,n){n&&e.handler.validate&&!e.handler.validate(n)?e.dfd.reject(new p(We+" (content-type)",e.id)):(e.source=t,C.emit(ze,e.type,e))}function n(t){e.dfd.reject(new p(We+(t?" (status)":""),e.id))}var r,i=/^(?:\?|)$/;O.test(e.path)||c(ae.pattern,function(t,n){n.matches(e.path)&&(!r||r.weight "+r.message+" "+(r.module?'"'+r.module+'"':""),r.stack&&(t=p.traverse(r.stack,t,n+1));return t},J=function(){function e(e,t){var n,r;for(n=0;r=t[n];n++)i(r,je)&&(t[n]=h(r))}function t(){}var n=de+"bundle",r={};return b.on(Me+":"+n,function(t){o(t)&&c(r=t,e)}),t.prototype={validate:G.validate,onPreProcess:function(e){function t(){s.reject(new p(Be,e.id,arguments))}var n,i,o,u,a,c=e.source,s=e.dfd,f=r[e.path];if(e.enqueue=we,f&&(n=function(e){for(var t,n,i=0;n=e[i];i++)if(n=(n=n.match(D))&&n[3]||r.handler,t){if(n!==t)return we}else t=n;return t}(f))){for(;i=$.exec(c);)c=c.replace(i[0],"");for(e.source=c,o=[],a=0;u=f[a];a++)o.push(F.resolve(ge+u).pledge);z.all(o).then(function(){for(o.length=0,a=0;u=f[a];a++)(u=f[a]=F.get(u)||new F(u)).handler=arguments[a],o.push(u.pledge);"module"===n?(q.enqueue.apply(q,f),G.process(e)):(G.process(e),q.enqueue.apply(q,f)),z.all(o).then(s.resolve,t)},t)}else t()}},new(t.extends(w))}(),K=function(){function e(){}var t=".html",n=/^text\/.+$/;return e.prototype={validate:function(e){return n.test(e)},onPreRequest:function(e){var n=e.url.pathname;e.url.pathname=n.slice(-t.length)!==t?n+t:n},onPostRequest:function(e){e.source=y(e.url,e.source)},onPreProcess:function(e){function t(){a.reject(new p(Be,e.id,arguments))}var n,r,i,o,u=e.path,a=e.dfd,c=oe.createElement("body"),s=[],f=[];for(e.enqueue=we,c.innerHTML=e.source;n=c.firstElementChild;)(r=n.getAttribute("type"))&&(o=r+"!"+u+((i=n.getAttribute("path"))?"/"+i:""),n.parentNode.removeChild(n),s.push({source:n.textContent,uri:o}),f.push(F.resolve("mock:"+o).pledge));z.all(f).then(function(){var e,n,r=0;for(f.length=0;e=s[r];r++)(n=F.get(e.uri)||new F(e.uri)).source=y(n.url,e.source),n.handler=arguments[r],f.push(n.pledge),q.enqueue(n);z.all(f).then(a.resolve,t)},t)}},new(e.extends(w))}(),Q=function(){function e(e){for(var t,n,r=0;t=u[r];r++)0===e.indexOf(t.prefix)&&(!n||t.weight>n.weight)&&(n=t);return n}function t(e,t){u.push({prefix:e,weight:e.length,fn:t})}function n(e,t){var n,i=t.matches,o=0;if(i.length>1){for(t.id=r+"/"+g(JSON.stringify(t.matches));n=i[o];o++)i[o]=new F(n.uri);b.configure(function(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[de+"bundle"][e.id]=t=[];n=r[o];o++)t.push(n.path);return i}(t)),b("bundle!"+t.id).then(function(){for(var e,t=0;e=this[t];t++)e.dfd.resolve(arguments[t])}.bind(i),function(){for(var e,t=0;e=this[t];t++)e.dfd.reject(new p(Be,e.id))}.bind(i))}}var r=he+"genie",u=[];return b.on(Me+":"+r,function(e){o(e)&&(u.length=0,c(e,t))}).on(De,function(t,r){for(var o,u,a={},s=0;o=t[s];s++)!i(o,je)||I.test(o)||F.get(o,r)||"module"===(o=new F(o,r,we)).type&&(u=e(o.path))&&!N.get(o)&&(a[u.prefix]||(a[u.prefix]={fn:u.fn,matches:[]})).matches.push(o);c(a,n)}),xe}(),q=new W,k=new B(q),x(le+"uuid",m),x(le+"handler",w),x(de+"module",G),x(de+"bundle",J),x(de+"component",K),x(he+"genie",Q),x(ve+"isTypeOf",i),x(ve+"isArray",v),x(ve+"isObject",o),x(ve+"isInstanceOf",a),x(ve+"isSemver",R),x(pe+"resolveUrl",l),x(pe+"resolveSourcemaps",y),x(pe+"merge",E),x(pe+"iterate",c),x(pe+"hash",g),x(pe+"defer",S),x(pe+"uuid",P),x(fe+"weakmap",L),x(fe+"descriptor",r),x(fe+"pledge",z),x(fe+"queue",W),x(fe+"xhr",X),x(fe+"failure",p),x(fe+"semver",H),ue&&ue.main)switch(typeof ue.main){case je:b(ue.main);break;case ke:j("main",ue.main())}}("demand-loader"===this.name?parent:this,setTimeout,clearTimeout); //# sourceMappingURL=demand.js.map diff --git a/dist/demand.js.map b/dist/demand.js.map index e21e2b0..085e051 100644 --- a/dist/demand.js.map +++ b/dist/demand.js.map @@ -1 +1 @@ -{"version":3,"sources":["demand.js"],"names":["global","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","source","callback","context","property","properties","keys","i","UNDEFINED","call","FALSE","functionToArray","arrayLikeObject","start","end","arrayPrototypeSlice","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","ClassFailure","message","stack","this","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","AbstractUuid","uuid","STRING_UNDEFINED","define","functionUuid","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","abstractHandler","assignModule","id","provide","demand","queue","processor","functionMerge","functionDefer","singletonEvent","functionEscapeRegex","regexMatchInternal","singletonCache","ClassWeakmap","ClassPledge","ClassRegistry","ClassDependency","ClassPattern","ClassXhr","ClassQueue","ClassProcessor","handlerModule","handlerBundle","handlerComponent","pluginGenie","storage","element","fallback","hasSetImmediate","regexMatchRegex","XMLHttpRequest","XDomainRequest","document","options","version","cache","timeout","pattern","modules","DEMAND_ID","PROVIDE_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","TRUE","STRING_STRING","STRING_FUNCTION","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_EXCEED","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PRE_REQUEST","EVENT_POST_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE_ENQUEUE","EVENT_QUEUE","ERROR_LOAD","ERROR_RESOLVE","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","toString","objectCreate","create","objectDefineProperty","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","createElement","strPrototype","objectDefine","name","functionExtends","self","names","constructor","e","TypeError","Function","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","fn","MutationObserver","observe","attributes","setAttribute","addEventListener","event","data","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","pointer","split","shift","regexMatchEvent","listener","on","after","push","filter","TYPE_ON","Event","emit","item","apply","enabled","dependency","indexOf","weight","state","getKey","key","localStorage","getItem","setKey","getState","matches","regexMatchProperties","setState","join","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","then","cacheDispose","set","get","lifetime","invalid","resolve","spaceBefore","remainingSpace","Error","error","all","WeakMap","getEntry","entry","prefix","delete","has","pledge","index","resolved","count","check","rejected","total","dfd","reject","executor","PLEDGE_PENDING","handle","result","PLEDGE_RESOLVED","PLEDGE_REJECTED","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","remove","traverse","depth","indention","setProperty","addPending","addResolved","addRejected","register","placeholder","mock","registry","PREFIX_INTERNAL","enqueue","isInternal","node","querySelector","list","pending","regexMatchTrailingSlash","location","process","current","xhr","boundCheckState","readyState","abort","ontimeout","onerror","onabort","status","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","temp","dependencies","configure","base","min","max","response","validate","regexMatchEmptySearch","load","search","onPostRequest","onPreRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","extends","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","updateDependencies","HandlerBundle","getType","HandlerComponent","suffix","container","innerHTML","firstElementChild","getAttribute","textContent","matchPattern","addPattern","resolveBundles","JSON","stringify","bundle","configuration","/demand/handler/bundle","generateConfiguration","bundles","main","parent"],"mappings":";CAAA,SAAAA,EAAAC,EAAAC,GAAA,aAEA,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACA,OACAC,UAAAC,GACAL,MAAAA,EACAG,aAAAA,EACAD,eAAAA,EACAD,WAAAA,GAIA,SAAAK,EAAAC,EAAAC,GACA,cAAAD,IAAAC,EAGA,SAAAC,EAAAF,GACA,OAAAA,GAAAD,EAAAC,EAAAG,IAGA,SAAAC,EAAAX,GACA,OAAAM,EAAAN,EAAAY,KAAAC,SAAAb,IAAAc,KAAAC,MAAAf,KAAAA,GAAAA,GAAA,EAGA,SAAAgB,EAAAT,EAAAU,GACA,OAAAV,aAAAU,EAGA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAA,IAAAC,EAAAC,EAAAhB,GAAAiB,KAAAL,GAAAM,EAAA,GACAH,EAAAC,EAAAE,MAAAC,IACAN,EAAAO,KAAAN,EAAAC,EAAAH,EAAAG,MAAAM,GADAH,KAEA,OAAAJ,EAGA,SAAAQ,EAAAC,EAAAC,EAAAC,GACA,OAAAC,GAAAN,KAAAG,EAAAC,EAAAC,GAGA,SAAAE,IACA,OAAA,IAAAC,KAGA,SAAAC,EAAAC,GAEA,OADAC,GAAAC,KAAAF,EACAC,GAAAC,KAGA,SAAAC,EAAAC,EAAApB,GACA,IAAAqB,EAAAD,EAAAE,QAAAC,EAAA,IAGA,OAFAC,EAAAC,KAAAJ,IAAAK,EAAAD,KAAAJ,KAAAA,EAAA,IAAAN,GAAAf,GAAAe,EAAAf,EAAA,SAAA,KAAAqB,GACAC,QAAAK,EAAA,KACAN,EAGA,SAAAO,EAAAR,EAAApB,GACA,IAAA6B,EAAAT,EAAAU,MAAAP,GACA,OAAAM,GAAAA,EAAA,GAAA,QAAA,KAAAA,GAAAA,EAAA,IAAAE,GAAAC,SAAA,IAAAb,EAAAC,EAAApB,GAGA,SAAAiC,EAAAC,EAAAtC,EAAAuC,GAKA,OAJAC,KACAF,QAAAA,EACAtC,IAFAwC,KAEAxC,OAAAA,GACAuC,IAHAC,KAGAD,MAAA3B,EAAA2B,IAHAC,KAuCA,SAAAC,EAAA1D,GACA,MAAA,mBAAA2D,GAAAhC,KAAA3B,GAGA,SAAA4D,EAAAC,GAGA,IAFA,IAAA7D,EAAA,KACAyB,EAAAoC,EAAAC,OACArC,GAAAzB,EAAA,GAAAA,EAAA6D,EAAAE,aAAAtC,GACA,OAAAzB,IAAA,EAGA,SAAAgE,IAEA,OADA1D,EAAAmD,KAAAQ,KAAAC,KAAAT,KAAAU,OAAA,OAAAC,KACAX,KAGA,SAAAY,EAAAhC,EAAAlB,GAEA,IADA,IAAAgC,EAAAmB,EACAnB,EAAAoB,EAAAC,KAAArD,IACAmB,GAAAC,KAAAF,EACAU,EAAAD,KAAAK,EAAA,IAAAmB,EAAAhC,GAAAmC,SAAA,KAAAnC,GAAAoC,KAAAvB,EAAA,IAEAb,GAAAqC,UAAA,OAAAxB,EAAA,GACAmB,EAAAhC,GAAAmC,SAAA,KAAAnC,GAAAoC,KAAApC,GAAAqC,UAEAxD,EAAAA,EAAAwB,QAAAQ,EAAA,GAAAA,EAAA,GAAA,IAAAA,EAAA,GAAA,IAAAmB,EAAA,QAAAnB,EAAA,GAAA,IAAAA,EAAA,GAAA,KAEA,OAAAhC,EAGA,SAAAyD,KAEA,SAAAtB,EAAAC,EAAAtC,EAAAuC,GAKA,OAJAC,KACAF,QAAAA,EACAtC,IAFAwC,KAEAxC,OAAAA,GACAuC,IAHAC,KAGAD,MAAA3B,EAAA2B,IAHAC,KAOA,SAAAoB,EAAAC,EAAA7D,GACA8D,EAAAD,EAAA,WACA,OAAA7D,IAGA,IAAA+D,EAAAD,EAAAE,EAAAC,EAAAC,EAAAf,EAAAgB,EAAAC,EAAAC,EAAAvC,EAAAF,EAAA0B,EAAAvB,EAAAuC,EAAA3C,EAAA4C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAyIAC,EAnBAC,EAAAC,EAAAC,EA0FAC,EA8cAC,GAIAC,GAlqBAC,GAAAhH,EAAAgH,SACAC,GAAA,WAAAjH,GAAAA,EAAAoF,OACA5B,IACA0D,QAAA,QACAC,SACAC,QAAA,IACAC,WACAC,WACA7D,QAAA,UAEA8D,GAAA,SACAC,GAAA,UAEAC,GAAA,IAAAF,GAAA,IACAG,GAAAD,GAAA,YACAE,GAAAF,GAAA,WACAG,GAAAH,GAAA,UACAI,GAAAJ,GAAA,YACAK,GAAAL,GAAA,aACAM,GAAA,QACAtH,GAAA,KACAqB,QAAA,EACAE,IAAA,EACAgG,IAAA,EACA1D,GAAA,YACA2D,GAAA,SAEAnH,GAAA,SACAoH,GAAA,WACAlH,GAAA,SACAmH,GAAA,MACAC,GAAA,OACAC,GAAA,YACAC,GAAAH,GAAAE,GACAE,GAAAH,GAAAC,GACAG,GAAA,QACAC,GAAAD,GAAA,OACAE,GAAAF,GAAA,MAEAG,GAAAH,GAAA,SAGAI,GAAA,UACAC,GAAAV,GAAAS,GACAE,GAAAV,GAAAQ,GACAG,GAAA,UACAC,GAAAb,GAAAY,GACAE,GAAAb,GAAAW,GACAG,GAAA,UACAC,GAAAhB,GAAAe,GACAE,GAAAhB,GAAAc,GAEAG,GAAAC,eAEAC,GAAA,gBAEAC,GAAA,kBAEAC,GAAAC,MAAAC,UACAtH,GAAAoH,GAAAG,MACAC,GAAAJ,GAAAK,OACAnJ,GAAAoJ,OACAhG,GAAApD,GAAAgJ,UAAAK,SACAC,GAAAtJ,GAAAuJ,OACAC,GAAAxJ,GAAAyJ,eACAC,GAAA1J,GAAA2J,oBACAC,GAAA5J,GAAA6J,yBACA9H,GAAAsE,GAAAyD,cAAA,KA8jCA,GA7jCA,SAAAC,GACA,SAAAC,EAAAC,EAAAxK,EAAAC,EAAAC,EAAAC,GACA4J,GAAAtG,KAAA+G,EAAA,IAAAzK,EAAAC,EAAAC,EAAAC,EAAAC,IAGA,SAAAsK,EAAAtJ,GACA,IAAA,IAAAG,EAAAoJ,EAAAjH,KAAA8F,EAAAmB,EAAAJ,GAAAK,EAAAV,GAAAV,GAAAhI,GACAqJ,YAAA,IAAA7K,EAAA2K,EAAA9C,GAAAA,KACAnG,EAAA,GACAH,EAAAqJ,EAAAlJ,MAAAF,EAAAD,GAAAG,IAAAF,EAAAD,GAAA6I,GAAAZ,EAAAjI,GACA,IACAoJ,EAAAJ,GAAAT,GAAA1I,EAAAmJ,IAAAnJ,EAAAI,GACA,MAAAsJ,IACA,GAAAH,EAAAJ,KAAAf,EAAA,MAAA,IAAAuB,UAAA,+CACA,OAAAJ,EAEAH,EAAA5I,KAAAgI,OAAAJ,UAAA,SAAAgB,GACAA,EAAA5I,KAAA/B,EAAA+J,OAAAJ,UAAA,SAAAgB,GACAQ,SAAAxB,UAAApF,OAAA,UAAAsG,GACA7K,EAAAmL,SAAAxB,UAAApF,OAAA,UAAAsG,GAnBA,CAoBA,aACAtF,EAAA,WACA,SAAA6F,EAAA1J,EAAAtB,GACA,IAAAiL,EAAAC,EAAAzH,KAAAnC,GACAtB,IAAA0B,KACAjB,EAAAT,IACAiL,EAAAxK,EAAAyK,GACAA,EAAAlL,EAAA8D,SAAApC,GAAAuJ,GAAAC,EAAApH,SAAApC,GAAAwJ,KACAD,GAAAC,EAAApH,SAAApC,GAAAwJ,KACAzH,KAAAnC,GAAA6D,EAAA+F,EAAAlL,IACAyD,KAAAnC,GAAAtB,GAEA,OAAA,WACA,IAAA,IAAAuB,EAAA4J,EAAAC,UAAA,GAAA3J,EAAA,GACAF,EAAA6J,UAAA3J,MAAAC,GAAAD,IAAAP,EAAAK,EAAAyJ,EAAAG,GACA,OAAAA,GAdA,GAiBA/G,EAAA,WACA,SAAAiH,EAAAC,GACA,IAAAC,EAAA,GAAAzK,KAAA0K,SAAA,EACA,OAAA,MAAAF,EAAAC,EAAA,EAAAA,EAAA,GACA3B,SAAA,IAEA,IAAA6B,EAAA,IAAAC,OAAA,OAAA,KACA,OAAA,WACA,MAAA,uCAAA/I,QAAA8I,EAAAJ,IARA,GAYA7E,EAAA,iBAAA5G,EADAwF,EAEA,qBAAAxF,EAAA,SAAA+L,GACArF,EAAAM,GAAAyD,cAAA,OACA,IAAAuB,iBAAA,WACAD,MAEAE,QAAAvF,GACAwF,WAAAlE,KAEAtB,EAAAyF,aAAA,IAAA,OAEAvF,GAAA,gBAAA5G,KAAA,kBAAAA,IAAA,qBAAAA,GAQAyG,KACAzG,EAAAoM,iBAAA,UARA,SAAAC,GACA,IAAAN,EACAM,EAAA9K,SAAAvB,GAAAqM,EAAAC,OAAAP,EAAAtF,EAAA4F,EAAAC,SACAP,WACAtF,EAAA4F,EAAAC,QAIAtK,IACA,SAAA+J,GACA,IAAA1H,EAAAG,IACAiC,EAAApC,GAAA0H,EACA/L,EAAAuM,YAAAlI,EAAA,QAGAuC,GAAA,uBAAAF,EAAAM,GAAAyD,cAAA,WAAA,SAAAsB,GACArF,EAAA8F,mBAAA,WACA9F,EAAA8F,mBAAA/L,GACAiG,EAAA+F,WAAAC,YAAAhG,GACAqF,KAEA/E,GAAA2F,KAAAC,YAAAlG,KAEAC,EAAAC,EAAAiG,aAAA5M,EACA,SAAA8L,GACApF,EAAAoF,KAGAtG,EAAA,WACA,SAAAqH,EAAAlM,EAAAmM,EAAAvL,GACA,IAAA6K,EAAAW,EACA,GAAAtM,EAAAqM,EAAA9E,KAAAvH,EAAAc,EAAA0G,IAEA,IADA6E,EAAAA,EAAAE,MAAA,KACAZ,EAAAU,EAAAG,SACAb,EAAAA,EAAAY,MAAA,KACAE,EAAAjK,KAAAmJ,EAAA,OACAe,EAAAf,EAAA,MAAAe,EAAAf,EAAA,KACAgB,MACAC,YACA1M,GAAA2M,MACA/L,SAAAA,EACAgM,OAAAnB,EAAA,KAEAzL,IAAA6M,GAAApB,EAAA,KAAA9D,KAAAyE,EAAAxJ,GAAA8D,QAAA+E,EAAA,MAAA7K,EAAAwL,IAMA,SAAAU,KACA,IAAAD,EAAA,KAEAN,EAAA,uGACAC,KAsBA,OArBAM,EAAA/D,WACAgE,KAAA,SAAAtB,EAAAmB,GACA,IAAAlK,EAAAzB,EAAA+L,EAAAZ,EAAAI,EAAAf,GACA,GAAAW,EAAA,CAEA,IADA1J,EAAArB,EAAAuJ,UAAA,GACA3J,EAAA,EAAA+L,EAAAZ,EAAAS,GAAA5L,GAAAA,IACA+L,EAAAJ,QAAAI,EAAAJ,SAAAA,GAAAI,EAAApM,SAAAqM,MAAApN,GAAA6C,GACA,IAAAzB,EAAA,EAAA+L,EAAAZ,EAAA,MAAAnL,GAAAA,IACA+L,EAAAJ,QAAAI,EAAAJ,SAAAA,GAAAI,EAAApM,SAAAqM,MAAApN,GAAA6C,GAEA,OAAAO,MAEAwJ,GAAA,SAAAN,EAAAvL,GAEA,OADAsL,EAAAW,EAAAV,EAAAvL,GACAqC,MAEAyJ,MAAA,SAAAP,EAAAvL,GAEA,OADAsL,EApBA,QAoBAC,EAAAvL,GACAqC,OAGA,IAAA6J,EA/CA,GAkDA7G,EAAA,sCADAnB,EAEA,SAAAtF,GACA,OAAAA,EAAA2C,QAAA8D,EAAA,SAGA1D,EAAA,qBAAAF,EAAA,MAAA0B,EAAA,+FAAAvB,EAAA,IAAA0I,OAAA,IAAApG,EAAAlD,EAAA,OAAAmD,EAAA,IAAAmG,OAAA,IAAAvE,GAAA,IAAAC,GAAA,UAAAxE,EAAA,2DACA4C,EAAA,WACA,SAAAkI,EAAAC,GACA,IAAAxK,EACA,OAAAwK,EAAA5G,QAAA1G,GAAAsN,EAAA5G,OACA7F,EAAAkC,GAAA2D,MAAA,SAAAzF,EAAAtB,GACA,IAAA2N,EAAAjL,KAAAkL,QAAAtM,MAAA6B,GAAAnD,EAAA6N,OAAA1K,EAAA0K,UAAA1K,EAAAnD,KAEAmD,EAAAA,EAAA2K,MAAAlM,IAGA,SAAAmM,EAAAC,GACA,OAAAC,EAAAC,QAAAF,GAGA,SAAAG,EAAAH,EAAAhO,GACAiO,EAAAjO,EAAA,UAAA,cAAAgO,EAAAhO,GAGA,SAAAoO,EAAAJ,GACA,IAAAK,EAAAP,EAAAC,EAAAC,GACA,GAAAF,IAAAO,EAAAP,EAAA3K,MAAAmL,IAAA,OAAAzM,EAAAwM,EAAA,GAGA,SAAAE,EAAAP,EAAAF,GACAA,EAAA,GAAA5L,IACAiM,EAAAH,EAAAF,EAAAU,KAAA,MAGA,SAAAjB,EAAAtB,EAAA0B,EAAAG,GACAzI,EAAAkI,KAAAtB,EAAA0B,EAAA7I,GAAA6I,EAAAG,GAGA,SAAAW,IACArJ,EAAA3B,KAAAiL,MAAAC,QAAAC,KAAAnL,KAAAiL,QAEA,IAAA3H,EAAA8H,EAAA,IAAA1H,GAAA,IACA2H,EAAA,UACAC,EAAA,UACAC,EAAA,IAAAtD,OAAA,IAAApG,EAAAuJ,GAAA,cAAAvJ,EAAAwJ,GAAA,KACAR,EAAA,kCACAW,EAAA,WACA,IACA,MAAA,iBAAArP,GAAAA,EAAAqO,aACA,MAAAiB,GACA,OAAAtN,IAJA,GAOAqM,EAAAgB,EAAArP,EAAAqO,aAAA5N,GACA8O,EAAAF,GAAA,mBAAAhB,EACA5H,KAsFA,OArFAhB,EAAA4H,GAAA5E,GAAA,SAAAsF,GACAvI,EAAA,WACA2B,EAAA2H,MAAAf,EAAA7I,QAGAmI,GAAA1E,GAAA,SAAAoF,GACA3I,EAAA,MAAAmC,GAAA,kBACAiI,KAAA,SAAAC,GACAjK,EAAA,WACAiK,EAAA1B,EAAAxM,OAAA2C,QACAiD,EAAAuI,IAAA3B,SAIAV,GAAApE,GAAA,SAAA8E,GACAA,EAAAxM,QAAAuM,EAAAC,KAAAtH,EAAAsH,EAAA7I,IAAA8C,MAEAsF,MAAAlE,GAAA,SAAA2E,GACAtH,EAAAsH,EAAA7I,KAAAM,EAAA,WACA2B,EAAAuI,IAAA3B,OAGAc,EAAAlF,WACAgG,IAAAN,EAAA,SAAAtB,GACA,IAAA7I,EAAAgJ,EACA,GAAAJ,EAAAC,GAAA,CAEA,GADA7I,EAAA+J,EAAA,IAAAlB,EAAA7I,GAAA,MACAgJ,EAAAM,EAAAtJ,EAAAgK,IAAA,OACA,OAAAhB,EAAA,KAAAH,EAAA7G,SAAAgH,EAAA,IAAAH,EAAA6B,UAAA1B,EAAA,IAAA5L,SACAyL,EAAA8B,SAAA,IAGA9B,EAAAxM,OAAA4M,EAAAjJ,EAAAiK,GACA3J,EAAA,WACAmJ,EAAAzJ,EAAAgK,EAAAhB,KAEAlG,MAEA,aACA8H,QAAAT,EAAA,SAAAtB,GACAlK,KAAA8L,IAAA5B,GAAAJ,EAAAjF,GAAAqF,GACAJ,EAAAlF,GAAAsF,IACA,SAAAA,GACAJ,EAAAlF,GAAAsF,IAEA2B,IAAAL,EAAA,SAAAtB,GACA,IAAAG,EAAAhJ,EAAA6K,EACA,GAAAjC,EAAAC,GAAA,CACAG,GAAAH,EAAA7G,QAAA6G,EAAAxM,OAAA2C,OAAA6J,EAAA6B,SAAAtN,IAAAyL,EAAA6B,SAAAnP,GAAA2E,EAAA8B,SACAhC,EAAA+J,EAAA,IAAAlB,EAAA7I,GAAA,IACAyI,EAlRAxF,WAkRA4F,EAAAG,GACA,IAIA,GAHA6B,EAAAR,EAAAlB,EAAA2B,eAAAvP,GACA8N,EAAArJ,EAAAiK,EAAApB,EAAAxM,QACAoN,EAAAzJ,EAAAgK,EAAAhB,GACA6B,IAAAtP,IAAA4N,EAAA2B,iBAAAD,EAAA,MAAA,IAAAE,MACAtC,EAvRAvF,YAuRA2F,EAAAG,GACA,MAAAgC,GACAvC,EAAAhF,GAAAoF,MAGA,aACAe,MAAAO,EAAA,SAAAvM,GACA,IAAAoC,EAAA7B,EAAAP,GACAsL,EAAAa,EAAA,IAAA/J,EAAA,IACAiJ,EAAAC,EAAAc,KACAX,EAAAH,EAAAc,GACAX,EAAAH,EAAAe,GACAxB,EAtSAnF,aAsSAxC,EAAA2J,IAAAzK,IAAA,IAAAc,EAAAd,EAAAzE,GAAAuB,OAEA,cAEA6M,EAAAlF,UAAAmF,MAAAqB,IAAAd,EAAA,WACA,IAAA9L,EACAjC,EAAA+M,EAAA,SAAA3M,IACA6B,EAAA7B,EAAA6B,MAAA6L,KAAAvL,KAAAN,EAAA,KACAM,OACA,aACAgL,EAAAlF,UAAAmF,MAAAC,QAAAM,EAAA,WACA,IAAA9L,EAAA2K,EACA5M,EAAA+M,EAAA,SAAA3M,IACA6B,EAAA7B,EAAA6B,MAAA6L,MACAlB,EAAAM,EAAAS,EAAA,IAAA1L,EAAA,GAAA,IAAA2L,KAAAhB,EAAA,GAAA,GAAAA,EAAA,IAAA5L,KAAAuB,KAAAN,EAAA,KACAM,OACA,aACAsD,EAAA,IAAA0H,EAvIA,GAyIAhJ,EAAA,YAAA7F,EAAAA,EAAAoQ,QAAA,WACA,SAAAC,EAAA5O,EAAA2M,GACA,IAAAkC,EACA,IAAAA,EAAAlC,EAAA3M,EAAAyD,MAAAoL,EAAA,KAAAlC,EAAA,OAAAkC,EAGA,SAAAzK,IACAhC,KAAAU,OAAA,KAAAgM,EAAA/L,KAEA,IAAA+L,EAAA,WAuBA,OAtBA1K,EAAA8D,WACA+F,IAAA,SAAAtB,EAAAhO,GACA,IAAAkQ,EAAAD,EAAAxM,KAAAuK,GAGA,OAFAkC,EAAAA,EAAA,GAAAlQ,EACAgO,EAAA7J,OAAAV,KAAAqB,IAAAkJ,EAAAhO,IACAyD,MAEA8L,IAAA,SAAAvB,GACA,IAAAkC,EAAAD,EAAAxM,KAAAuK,GACA,GAAAkC,EAAA,OAAAA,EAAA,IAEAE,OAAA,SAAApC,GACA,IAAAkC,EAAAD,EAAAxM,KAAAuK,GACAkC,IACAA,EAAApM,OAAA,SACAkK,EAAAvK,KAAAqB,MAGAuL,IAAA,SAAArC,GACA,QAAAiC,EAAAxM,KAAAuK,KAGAvI,EAhCA,GAkCAC,EAAA,WAwBA,SAAAmG,EAAAyE,EAAAC,EAAAhP,GACA+O,EAAAlB,KAAA,WACA7N,EAAAiP,SAAAD,GAAA1O,EAAAuJ,WACA7J,EAAAkP,QACAC,EAAAnP,IACA,WACAA,EAAAoP,SAAAxD,KAAAtL,EAAAuJ,YACAsF,EAAAnP,KAIA,SAAAmP,EAAAnP,GACAA,EAAAkP,QAAAlP,EAAAqP,MAAArP,EAAAsP,IAAAnB,QAAAjC,MAAApN,GAAAoJ,GAAAgE,SAAAlM,EAAAiP,WACAjP,EAAAoP,SAAA7M,OAAAvC,EAAAkP,QAAAlP,EAAAqP,OAAArP,EAAAsP,IAAAC,OAAArD,MAAApN,GAAAoJ,GAAAgE,SAAAlM,EAAAoP,WAGA,SAAAjL,EAAAqL,GACA,IAAArG,EAAAjH,KAUA,OATA4C,EAAAiJ,IAAA5E,GACAoD,MAAAkD,EACAC,OAjCA,SAAAnD,EAAA5K,GACA,IAAA0J,EAAAsE,EAAA3P,EAAA8E,EAAAkJ,IAAA9L,MAKA,IAJAlC,EAAAuM,QAAAkD,IACAzP,EAAAuM,MAAAA,EACAvM,EAAAvB,MAAAkD,GAEA0J,EAAArL,EAAAA,EAAAuM,OAAAhB,UACAoE,EAAAtE,EAAAvJ,QAAAoK,MAAApN,GAAAkB,EAAAvB,SAAA,mBAAAkR,EAAA9B,KAAA8B,EAAA9B,KAAAxC,EAAAiE,IAAAnB,QAAA9C,EAAAiE,IAAAC,QACAlE,EAAAiE,IAAAtP,EAAAuM,QAAAqD,EAAA,UAAA,UAAA1D,MAAApN,GAAAkB,EAAAvB,OACAuB,EAAA4P,GAAArN,OAAA,EACAvC,EAAA6P,GAAAtN,OAAA,GAuBA8K,KAAAlE,GACA1K,MAAAK,GACAmQ,YACAG,YACAF,MAAA,IAEAM,EAjDA,WACA1K,EAAAkJ,IAAA9L,MACAwN,OAAAE,EAAA/F,YA+CAwD,KAAAlE,GA5CA,WACArE,EAAAkJ,IAAA9L,MACAwN,OAAAG,EAAAhG,YA0CAwD,KAAAlE,IACAA,EAEA,IAAAsG,EAAA,UACAG,EAAA,WACAC,EAAA,WACA/K,EAAA,IAAAZ,EA+DA,OA9DAC,EAAA6D,WACA8H,MAAA,SAAArE,GACA,OAAAvJ,KAAA2L,KAAA,aAAApC,IAEAsE,OAAA,SAAAC,GACA,OAAA9N,KAAA2L,KAAAmC,EAAAA,IAEAnC,KAAA,SAAAoC,EAAAC,GACA,IAAAlQ,EAAA8E,EAAAkJ,IAAA9L,MACAoN,EAAAnL,EAAAgM,QAUA,OATAF,GAAAjQ,EAAA4P,GAAAhE,MACA9J,QAAAmO,EACAX,IAAAA,IAEAY,GAAAlQ,EAAA6P,GAAAjE,MACA9J,QAAAoO,EACAZ,IAAAA,IAEAtP,EAAAuM,QAAAkD,GAAA5L,EAAA7D,EAAA0P,QACAJ,EAAAP,QAEAqB,UAAA,WACA,OAAAtL,EAAAkJ,IAAA9L,MACAqK,QAAAkD,GAEAY,WAAA,WACA,OAAAvL,EAAAkJ,IAAA9L,MACAqK,QAAAqD,GAEAU,WAAA,WACA,OAAAxL,EAAAkJ,IAAA9L,MACAqK,QAAAsD,IAGA1L,EAAAgM,MAAA,WACA,IAAAhH,KAKA,OAJAA,EAAA4F,OAAA,IAAA5K,EAAA,SAAA8L,EAAAC,GACA/G,EAAAgF,QAAA8B,EACA9G,EAAAoG,OAAAW,IAEA/G,GAEAhF,EAAAqK,IAAA,SAAA+B,GACA,IAAAvQ,EAAA+O,EAAAO,EAAAnL,EAAAgM,QACAjQ,EAAA,EACA,GAAAqQ,EAAAhO,OAQA,IAPAvC,GACAsP,IAAAA,EACAL,YACAG,YACAC,MAAAkB,EAAAhO,OACA2M,MAAA,GAEAH,EAAAwB,EAAArQ,GAAAA,IAAAoK,EAAAyE,EAAA7O,EAAAF,QACAsP,EAAAnB,UACA,OAAAmB,EAAAP,QAEA5K,EAAAqM,KAAA,SAAAD,GACA,IAAA,IAAAxB,EAAAO,EAAAnL,EAAAgM,QAAAjQ,EAAA,EAAA6O,EAAAwB,EAAArQ,GAAAA,IAAA6O,EAAAlB,KAAAyB,EAAAnB,QAAAmB,EAAAC,QAEA,OADAgB,EAAAhO,QAAA+M,EAAAnB,UACAmB,EAAAP,QAEA5K,EAvHA,GAyHAC,EAAA,WACA,SAAAA,IACAU,EAAAiJ,IAAA7L,SAEA,IAAA4C,EAAA,IAAAZ,EAYA,OAXAE,EAAA4D,WACAgG,IAAA,SAAAvB,GACA,OAAAA,EAAA3H,EAAAkJ,IAAA9L,MAAAuK,GAAA3H,EAAAkJ,IAAA9L,OAEA6L,IAAA,SAAAtB,EAAAhO,GACAqG,EAAAkJ,IAAA9L,MAAAuK,GAAAhO,GAEAgS,OAAA,SAAAhE,UACA3H,EAAAkJ,IAAA9L,MAAAuK,KAGArI,EAhBA,GAkBArC,EAAAiG,WACAK,SAAA,WACA,IAAAc,EAAAjH,KACAyN,EAAA/J,GAAA,KAAAuD,EAAAnH,QAAA,KAAAmH,EAAAzJ,OAAA,IAAAyJ,EAAAzJ,OAAA,IAAA,IAEA,OADAyJ,EAAAlH,QAAA0N,EAAA5N,EAAA2O,SAAAvH,EAAAlH,MAAA0N,EAAA,IACAA,IAGA5N,EAAA2O,SAAA,SAAAzO,EAAAxD,EAAAkS,GACA,IAAA,IAAA1E,EAAA2E,EAAA,IAAA7I,MAAA4I,EAAA,GACA1D,KAAA,KAAA/M,EAAA,EAAA+L,EAAAhK,EAAA/B,GAAAA,IACAzB,GAAA,KAAAmS,EAAA,KAAA3E,EAAAjK,QAAA,KAAAiK,EAAAvM,OAAA,IAAAuM,EAAAvM,OAAA,IAAA,IACAuM,EAAAhK,QAAAxD,EAAAsD,EAAA2O,SAAAzE,EAAAhK,MAAAxD,EAAAkS,EAAA,IAEA,OAAAlS,GAEA4F,EAAA,WACA,SAAAwM,EAAA9Q,EAAAtB,GACAyD,KAAAnC,GAAAtB,EAGA,SAAAqS,EAAAvN,EAAA6I,GACAA,EAAA2C,OAAAqB,aAAAlO,KAAA0J,KAAArI,GAGA,SAAAwN,EAAAxN,EAAA6I,GACAA,EAAA2C,OAAAsB,cAAAnO,KAAA0J,KAAArI,GAGA,SAAAyN,EAAAzN,EAAA6I,GACAA,EAAA2C,OAAAuB,cAAApO,KAAA0J,KAAArI,GAGA,SAAAc,EAAAnD,EAAApB,EAAAmR,GACA,IAAA9H,EAAAjH,KACAP,EAAAT,EAAAU,MAAAP,IAAA6P,EAgBA,OAfA/H,EAAAhI,KAAAF,EAAAC,EAAApB,GACAqJ,EAAAgI,KAAAxP,EAAA,GAAA0E,GAAAhG,GACA8I,EAAA3D,MAAA7D,EAAA,GAAA,MAAAA,EAAA,GAAA7C,GACAqK,EAAAlK,KAAA0C,EAAA,IAAAE,GAAAC,QACAqH,EAAA5D,QAAA5D,EAAA,IAAAE,GAAA0D,QACA4D,EAAA8E,SAAAtM,EAAA,IAAA,IAAAA,EAAA,IAAAE,GAAAoM,SACA9E,EAAA5F,IAAA4F,EAAAgI,KAAA/K,GAAA,IAAA+C,EAAAlK,KAAA,IAAAkK,EAAAhI,KACAgI,EAAAjI,KAAAiI,EAAAgI,KAAA/K,GAAA,IAAA+C,EAAAlK,KAAA,IAAAkK,EAAA5D,SAAAnG,EAAA+J,EAAA8E,WAAA9E,EAAA8E,SAAA,EAAA,IAAA9E,EAAA8E,SAAA,IAAA,IAAA9E,EAAAhI,KACAgI,EAAAmG,IAAAnL,EAAAgM,QACAhH,EAAA4F,OAAA5F,EAAAmG,IAAAP,OACA5F,EAAA+E,SAAA,EACA/E,EAAA4F,OAAAlB,KAAA,WACA1E,EAAA1K,MAAA6B,EAAAuJ,aAEAoH,IAAA5Q,IAAA+Q,EAAArD,IAAA5E,EAAA5F,GAAA4F,GACAA,EAEA,IAAAkI,EAAA,YACAD,EAAA,IAAAhN,EACA8M,KA6DA,OA5DA7M,EAAA2D,WACAsJ,SAAA,GAEAjN,EAAA2J,IAAA,SAAA9M,EAAApB,GACA,OAAAsR,EAAApD,IAAAtM,EAAAR,EAAApB,KAEAuE,EAAA8J,QAAA,SAAAjN,EAAApB,GACA,IAAArB,EAAA8S,EAAAzR,GAAAkE,EAAAzC,KAAAL,GACAkL,EAAAmF,EAAArP,KAAA8L,IAAAqD,EAAAvR,EAAA,IAAAoB,GAAAgB,KAAA8L,IAAA9M,EAAApB,GACA,IAAAsM,EACA,GAAAmF,EAAA,CAEA,OADAnF,EAAA,IAAA/H,EAAAgN,EAAAvR,EAAA,IAAAoB,GACAA,GACA,KAAA0E,GACAnH,EACAkB,EAAA8D,EAAAoN,EAAApN,EAAA4J,KAAAvN,IAEA,MACA,KAAA+F,GACApH,EAAA+E,EAAA6J,KAAAvN,GACA,MACA,IA7kBA,OA8kBArB,EAAAqB,EAEAsM,EAAAkD,IAAAnB,QAAA1P,QAEA2N,EAAA,IAAA/H,EAAAnD,EAAApB,GACA2D,EAAAuC,GAAAoG,EAAAnN,MACA4O,KAAA,SAAA/L,GACAsK,EAAAtK,QAAAA,EACAsK,EAAA+E,KAAA/E,EAAAkD,IAAAnB,QAAArM,GACAmC,EAAAkK,QAAA/B,IACA,WACAA,EAAAkD,IAAAC,OAAA,IAAAxN,EAAA6F,GAAA,aAAAuB,KAAA5F,OAGA,OAAA6I,GAEA/H,EAAAoM,OAAA,SAAAvP,EAAApB,EAAA0F,GACA,IAAAjC,EAAA7B,EAAAR,EAAApB,GACA0R,EAAAnM,GAAAoM,cAAA,IAAA7L,GAAA,QAAArC,EAAA,MACA6N,EAAAX,OAAAlN,GACA6N,EAAAX,OAAArK,GAAA7C,GACAiO,GAAAA,EAAA1G,WAAAC,YAAAyG,GACAhM,IAAAnF,IAAA4D,EAAAkJ,MAAA5J,IAEAc,EAAAqN,MACAlD,IAAA,WACA,OAAAxP,GAAAiB,KAAAmR,EAAApD,QAEA2D,QAAA,WACA,OAAAhS,EAAAyR,EAAApD,MAAA8C,OAEA7B,SAAA,WACA,OAAAtP,EAAAyR,EAAApD,MAAA+C,OAEA3B,SAAA,WACA,OAAAzP,EAAAyR,EAAApD,MAAAgD,QAGA3M,EApGA,GAsGAC,EAAA,WACA,SAAAuM,EAAA9Q,EAAAtB,GACAyD,KAAAnC,IACAe,IAAAD,EAAApC,GACA2C,QAAAwQ,EAAA,MACAhQ,MAAA,IAAAuI,OAAA,IAAApG,EAAAtF,KAIA,SAAA6F,EAAAoB,EAAA5E,GACA,IAAAqI,EAAAjH,KACAiH,EAAAmD,OAAA5G,EAAAnD,OACA4G,EAAAvH,MAAA,IAAAuI,OAAA,IAAApG,EAAA2B,IACAyD,EAAA0I,YAAA1J,OAAArH,GACAnB,EAAAwJ,EAAA0I,SAAAhB,EAAA1H,EAAA0I,UAEA,IAAAD,EAAA,UAUA,OATAtN,EAAA0D,WACA8E,QAAA,SAAA3L,GACA,OAAAe,KAAAN,MAAAL,KAAAJ,IAEA2Q,QAAA,SAAA3Q,EAAA6N,GACA,IAAA+C,EAAA7P,KAAA2P,SAAA7C,GACA,GAAA+C,EAAA,OAAA5Q,EAAAC,QAAAc,KAAAN,MAAAmQ,EAAAjR,OAGAwD,EA1BA,GA4BAa,GA2BAA,eAvBAC,GAAA,mBAAA/G,GAAAA,EAAA+G,gBAAAD,GAJAZ,EAKA,SAAAzD,GACA,IAAAuK,EAAAiE,EAAAnL,EAAAgM,QACA6B,EAAAvQ,EAAAF,KAAAT,GAAA,IAAAqE,GAAA,IAAAC,GACA6M,EAPA,WACA/P,KAAAgQ,WAAA,GAAAhQ,KAAAiQ,SAMA9E,KAAA2E,GACAvM,EAAA5D,GAAA4D,QAgBA,OAfAuM,EAAAI,UAAAJ,EAAAK,QAAAL,EAAAM,QAAA,WACAhD,EAAAC,OAAAyC,EAAAO,SAEAP,EAAAQ,WAAAR,EAAAnH,mBAAA,WACAtM,EAAA8M,GACAA,EAAA/M,EAAA2T,EAAAxM,IAEAuM,EAAAS,OAAA,WACApH,EAAA9M,EAAA8M,GACA,WAAA2G,GAAA,MAAAA,EAAAO,OACAjD,EAAAC,OAAAyC,EAAAO,QADAjD,EAAAnB,QAAA6D,EAAAU,aAAAV,EAAAW,mBAAAX,EAAAW,kBAAA,kBAGAX,EAAAY,KAAA,MAAA9R,EAAAuF,IACA2L,EAAAa,OACAxH,EAAA/M,EAAA2T,EAAAxM,GACA6J,EAAAP,QAGAtL,EAAA,WACA,SAAAqP,EAAA/S,EAAAtB,GACAyD,KAAAnC,IACAuM,OAAAvM,EAAAwC,OACAgK,MAAA9N,GAIA,SAAAsU,EAAAhT,EAAAtB,GACA,SAAAsB,IAAAmC,KAAAnC,GAAA,IAAAuE,EAAAvE,EAAAtB,IAGA,SAAAuU,EAAAjT,EAAAtB,GACA,IAAAwU,EAAA/Q,KAAAnC,GAAAmC,KAAAnC,OACA+D,EAAAkI,KAAArF,GAAA5G,EAAAkT,GACArP,EAAAqP,EAAAxU,GACAqF,EAAAkI,KAAApF,GAAA7G,EAAAkT,GAGA,SAAAxP,IACA,IAAAvC,EAAAoO,EAAA4D,EAAA5S,EAAAuJ,WACA/J,EAAAoC,OAAA7D,EAAA6D,KAAApD,GACAoB,EAAA,EAEA,IADA4D,EAAAkI,KAAA9E,GAAApI,GAAAoU,EAAApT,GACAoB,EAAAgS,EAAAhT,GAAAA,IACAnB,EAAAmC,EAAAoF,IAAA4M,EAAAhT,GAAAmE,EAAA8J,QAAAjN,EAAApB,GACAiP,QAEAmE,EAAAhT,IAAAoP,EAAAnL,EAAAgM,SACApB,OACAO,EAAAnB,QAAAjN,IAIA,OAFAgS,EAAA3Q,OAAA,EAAA4B,EAAAqK,IAAA0E,GACAA,EAAA,IACAnD,OAAA,WACAjM,EAAAkI,KAAA7E,GAAArI,GAAAoU,EAAApT,KA6DA,OA1DA2D,EAAA0P,UAAA,SAAA7N,GACA,IAAAE,EAAAF,EAAAE,MACAD,EAAAD,EAAAC,QACAE,EAAAH,EAAAG,QACAwI,EAAA3I,EAAA2I,SACAmF,EAAA9N,EAAA8N,KACA1N,EAAAJ,EAAAI,QACAC,EAAAL,EAAAK,QACA0F,EAAAxJ,GAAA8D,QAYA,OAXA5G,EAAAyG,EA/sBA,WA+sBA3D,GAAA2D,MAAA,KACA8G,OAAA,EACAC,MAAA/G,GAEAtG,EAAAsG,IAAA7F,EAAA6F,EAAAsN,EAAAjR,GAAA2D,OACAzG,EAAAwG,EAAAe,MAAAzE,GAAA0D,QAAAA,GACAnG,EAAAqG,KAAA5D,GAAA4D,QAAA,IAAAlG,KAAA8T,IAAA9T,KAAA+T,IAAA7N,EAAA,GAAA,KACArG,EAAA6O,IAAAA,EAAA,IAAApM,GAAAoM,SAAA,IAAAA,GACAlP,EAAAqU,EAAA9M,KAAA,KAAA8M,IAAAvR,GAAA6D,QAAA0N,KAAA,IAAA9O,EAAA,GAAA8O,IACAlU,EAAAwG,IAAA/F,EAAA+F,EAAAqN,EAAAlR,GAAA6D,SACAxG,EAAAyG,IAAAhG,EAAAgG,EAAAqN,EAAA3H,GACA5H,GAEAA,EAAA8B,QAAA,QACA9B,EAAAiI,GAAA5H,EAAA4H,GAAA2B,KAAA5J,GACAA,EAAAuK,IAAA,SAAA9M,EAAApB,GACA,IAAAsM,EAAA/H,EAAA2J,IAAA9M,EAAApB,GACA,OAAAsM,GAAAA,EAAA3N,OAEAgF,EAAAiO,KAAArN,EAAAqN,KACAjO,EAAAgN,OAAApM,EAAAoM,OACAhN,EAAA+B,OACA2H,MAAAlJ,EAAAkJ,OAEArJ,EAAA6H,MAAA7E,GAAA,SAAAsF,GACA,IA/0BA,SAAAA,GACA,SAAA+B,EAAAoF,EAAAtU,GACAA,GAAAmN,EAAAtK,QAAA0R,WAAApH,EAAAtK,QAAA0R,SAAAvU,GAGAmN,EAAAkD,IAAAC,OAAA,IAAAxN,EAAA6F,GAAA,kBAAAwE,EAAA7I,MAFA6I,EAAAxM,OAAA2T,EACAzP,EAAAkI,KAAA1E,GAAA8E,EAAAnN,KAAAmN,IAIA,SAAAmD,EAAAgD,GACAnG,EAAAkD,IAAAC,OAAA,IAAAxN,EAAA6F,IAAA2K,EAAA,YAAA,IAAAnG,EAAA7I,KAgBA,IAAAmC,EAAA+N,EAAA,YACAjS,EAAAD,KAAA6K,EAAAjL,OAAAxB,EAAAkC,GAAA6D,QAAA,SAAA3F,EAAAtB,GACAA,EAAAqO,QAAAV,EAAAjL,SAAAuE,GAAAA,EAAA4G,OAAA7N,EAAA6N,UAAA5G,EAAAjH,KAfA,SAAAiV,EAAA7B,GACAA,EAAAA,GAAA,EACAzF,EAAAtL,IAAAuE,GAAAyD,cAAA,KACAsD,EAAAtL,IAAAE,KAAA0E,EAAA7E,EAAA6E,EAAAoM,QAAA1F,EAAAjL,KAAA0Q,IAAAzF,EAAAjL,KACAiL,EAAA8B,UAAA9B,EAAAtL,IAAA6S,SAAAF,EAAAlS,KAAA6K,EAAAtL,IAAA6S,QAAA,GAAA,KAAAhT,KACAmD,EAAAkI,KAAA3E,GAAA+E,EAAAnN,KAAAmN,GACA,IAAA7H,EAAA6H,EAAAtL,KACA+M,KAAAM,EAAAzI,EAAA,WACAmM,IACAnM,EAAAmM,SAAAA,GAAA6B,EAAA7B,GACAtC,KACAA,GAMAmE,GAkzBA,CAAAtH,KAEAT,MAAArE,GAAA,SAAA8E,GACA,IAAAf,EAAAe,EAAAtK,QAAA8R,cACAvI,GAAAA,EAAAe,KAEAT,MAAA5E,GAAA,IAAAO,GAAA,SAAA8E,GACAtI,EAAAkI,KAAAxE,GAAA4E,EAAA7I,GAAA6I,KAEAT,MAAAtE,GAAA,SAAA+E,GACA,IAAAf,EAAAe,EAAAtK,QAAA+R,aACAxI,GAAAA,EAAAe,KAEAT,MAAAnE,GAAA,SAAA4E,GACA,IAAAf,EAAAe,EAAAtK,QAAAgS,aACAzI,GAAAA,EAAAe,GACAA,EAAA2C,OAAAlB,KAAA,WACA/J,EAAAkI,KAAAvE,GAAA2E,EAAA7I,GAAA6I,MAEA,IAAAA,EAAAkF,QAAA5N,EAAA4N,QAAAlF,GACA3M,EAAA2M,EAAAkF,QAAAnN,IAAAiI,EAAAkF,QAAAzD,KAAA,WACAnK,EAAA4N,QAAAlF,OAGA3I,EAhGA,GAkGApF,EAAAuE,OAAA,SAAAa,GACAD,EAAA,WACA,IAAA9D,EAAAqU,EAAA7S,EAAAnC,EAAA8K,UAAA,GAAAvD,IAAAuD,UAAA,GAAA/K,GACAgB,EAAAoC,OAAA7D,EAAA6D,KAAApD,GACAoU,EAAA/Q,EAAA0H,UAAA3I,EAAA,EAAA,IAAA2I,UAAA3I,EAAA,EAAA,GAAApC,GACAkV,EAAAd,EAAArJ,UAAA3I,EAAA,EAAA,GAAA2I,UAAA3I,EAAA,EAAA,GAMA,IALAA,GAAAyC,EAAAoO,UACA7Q,GAAAxB,EAAAiE,EAAAoO,SACA7Q,IACAyC,EAAAmO,WAEA5Q,EAUA,OATAxB,EAAAA,GAAA,IAAA2E,EAAAnD,EAAApB,GACAiU,EAAAhV,EAAAiV,EAAAzN,IACA2M,EAAAzP,EAAAyI,MAAAxM,EAAAyB,KAAA+R,GACArF,KAAA,WACAnO,EAAA4P,IAAAnB,QAAA4F,EAAAC,EAAA9H,MAAApN,GAAA+K,WAAAmK,IACA,WACAtU,EAAA4P,IAAAC,OAAA,IAAAxN,EAvvBA,kBAuvBArC,EAAA6D,GAAAsG,cAEAnK,EAAA4P,IAAAnB,QAAA4F,EAAAC,IAAAA,GACAtU,EAAA4P,IAAAP,QACAhQ,EAAAkV,QAAAtR,KAAAsR,QAAA1F,MAAA,IAAAxM,EAzvBA,mCA2vBA1D,EAAAuE,OAAA,UAAAY,GACAC,EAAA0P,WACA3N,MAAAa,GACA+M,KAAA,IACA1N,SACAwO,UAAArT,GAAAyE,IAAAA,GAAAxE,KAAA+Q,SAAA7Q,MAAA,QACAiH,MAAA,GAAA,MAGA3C,IAAAA,GAAAzD,UAAA4B,EAAA0P,UAAA7N,GAAAzD,UACA2C,EAAA,WACA,SAAAA,IACA,IAAA2E,EAAA1G,EAAArC,KAAA8B,MAEA,OADA4C,EAAAiJ,IAAA5E,MACAA,EAEA,IAAArE,EAAA,IAAAZ,EAoBA,OAnBAM,EAAAwD,WACAsJ,QAAA,WACAxM,EAAAiJ,IAAA7L,KAAA4C,EAAAkJ,IAAA9L,MACAiG,OAAA7H,EAAAuJ,aACA/F,EAAAkI,KAAAtE,GAAAxF,KAAAQ,OAEAyR,QAAA,WAEA,OADArQ,EAAAkI,KAvxBArE,eAuxBAzF,KAAAQ,MACAoC,EAAAkJ,IAAA9L,MACAqJ,SAEAwG,cACA,OAAAjN,EAAAkJ,IAAA9L,MAAA,IAEAK,aACA,OAAAuC,EAAAkJ,IAAA9L,MACAK,SAGAiC,EAAA4P,QAAA3R,GA1BA,GA4BAgC,EAAA,WACA,SAAAA,EAAAf,GACA,IAAAyF,EAAAjH,KACAlC,GACA0D,MAAAA,EACAqO,QAAAjT,IAEAgG,EAAAiJ,IAAA5E,EAAAnJ,GACAyD,EAAAiI,GAAAhE,GAAA,IAAAhE,EAAAhB,KAAA,YACA1C,EAAA+R,SAAA5I,EAAA2I,YAGA,IAAAhN,EAAA,IAAAZ,EAiBA,OAhBAO,EAAAuD,WACA8J,QAAA,WACA,IAAAC,EAAA/R,EAAA8E,EAAAkJ,IAAA9L,OACAlC,EAAA0D,MAAAnB,SACAwP,EAAA/R,EAAA+R,QAAA/R,EAAA0D,MAAAyQ,WACApF,OAAAuB,aAIAtQ,EAAA+R,QAAAjT,GAHAiT,EAAAjQ,QAAAgQ,SAAAC,EAAAjQ,QAAAgQ,QAAAC,IAKAA,cACA,OAAAjN,EAAAkJ,IAAA9L,MACA6P,UAGAtN,EA7BA,GA+BApB,EAAA2E,WACAwL,SAAA1U,GACA+U,aAAA/U,GACA8U,cAAA9U,GACAgV,aAAAhV,GACAgT,QAAAhT,IAEA4F,EAAA,WACA,SAAA2P,KACA,IACAzK,EAAAvE,GAAAiP,qBAAA,QAAA,GACAC,EAAA,uCAuBA,OAtBAF,EAAArM,WACAwL,SAAA,SAAAvU,GACA,OAAAsV,EAAAhT,KAAAtC,IAEA4U,aAAA,SAAAzH,GACA,IAAAhJ,EAAAgJ,EAAAtL,IAAAsC,SACAgJ,EAAAtL,IAAAsC,SATA,QASAA,EAAA6E,OATA,MASA1F,QAAAa,EATA,MASAA,GAEAwQ,cAAA,SAAAxH,GACAA,EAAAxM,OAAAkD,EAAAsJ,EAAAtL,IAAAsL,EAAAxM,SAEAkS,QAAA,SAAA1F,GACA,IAAAoI,EACApI,EAAAxM,UACA4U,EAAAnP,GAAAyD,cAAA,WACA2L,MAAApO,GACAmO,EAAAE,KAAAtI,EAAAxM,OACA4U,EAAAhK,aAAA5E,GAAA,MAAAwG,EAAA7I,IACAqG,EAAAqB,YAAAuJ,MAIA,IAAAH,EAAAD,QAAA/Q,IA3BA,GA6BAtB,EAAAiG,WACAK,SAAA,WACA,IAAAc,EAAAjH,KACAyN,EAAA/J,GAAA,KAAAuD,EAAAnH,QAAA,KAAAmH,EAAAzJ,OAAA,IAAAyJ,EAAAzJ,OAAA,IAAA,IAEA,OADAyJ,EAAAlH,QAAA0N,EAAA5N,EAAA2O,SAAAvH,EAAAlH,MAAA0N,EAAA,IACAA,IAGA5N,EAAA2O,SAAA,SAAAzO,EAAAxD,EAAAkS,GACA,IAAA,IAAA1E,EAAA2E,EAAA,IAAA7I,MAAA4I,EAAA,GACA1D,KAAA,KAAA/M,EAAA,EAAA+L,EAAAhK,EAAA/B,GAAAA,IACAzB,GAAA,KAAAmS,EAAA,KAAA3E,EAAAjK,QAAA,KAAAiK,EAAAvM,OAAA,IAAAuM,EAAAvM,OAAA,IAAA,IACAuM,EAAAhK,QAAAxD,EAAAsD,EAAA2O,SAAAzE,EAAAhK,MAAAxD,EAAAkS,EAAA,IAEA,OAAAlS,GAEAkG,EAAA,WACA,SAAAgQ,EAAAzT,EAAAgS,GACA,IAAAhT,EAAAkM,EACA,IAAAlM,EAAA,EAAAkM,EAAA8G,EAAAhT,GAAAA,IACAnB,EAAAqN,EAAA9F,MAAA4M,EAAAhT,GAAAwB,EAAA0K,IAaA,SAAAwI,KACA,IAAAzT,EAAA6E,GAAA,SACAnE,KAyCA,OAxCA4B,EAAAiI,GAAA9E,GAAA,IAAAzF,EAAA,SAAAmE,GACApG,EAAAoG,IAAA3F,EAAAkC,EAAAyD,EAAAqP,KAEAC,EAAA5M,WACAwL,SAAA9O,EAAA8O,SACAM,aAAA,SAAA1H,GACA,SAAAmD,IACAD,EAAAC,OAAA,IAAAxN,EAAA8F,GAAAuE,EAAA7I,GAAAsG,YAEA,IAAA5K,EAAA2C,EAAA2O,EAAA0C,EAAA/S,EAAAN,EAAAwM,EAAAxM,OACA0P,EAAAlD,EAAAkD,IACA4D,EAAArR,EAAAuK,EAAAjL,MAEA,GADAiL,EAAAkF,QAAAjR,GACA6S,IAAAjU,EA1BA,SAAAiU,GACA,IAAA,IAAAjU,EAAAgU,EAAA/S,EAAA,EAAA+S,EAAAC,EAAAhT,GAAAA,IAEA,GADA+S,GAAAA,EAAAA,EAAArR,MAAAP,KAAA4R,EAAA,IAAApR,EAAAC,QACA7C,GACA,GAAAgU,IAAAhU,EAAA,OAAAoB,QACApB,EAAAgU,EAEA,OAAAhU,EAmBA4V,CAAA3B,IAAA,CACA,KAAAtR,EAAAoB,EAAAC,KAAArD,IAAAA,EAAAA,EAAAwB,QAAAQ,EAAA,GAAA,IAGA,IAFAwK,EAAAxM,OAAAA,EACA2Q,KACArQ,EAAA,EAAA+S,EAAAC,EAAAhT,GAAAA,IAAAqQ,EAAA3E,KAAAvH,EAAA8J,QAAA/H,GAAA6M,GACAlE,QACA5K,EAAAqK,IAAA+B,GACA1C,KAAA,WAEA,IADA0C,EAAAhO,OAAA,EACArC,EAAA,EAAA+S,EAAAC,EAAAhT,GAAAA,KACA+S,EAAAC,EAAAhT,GAAAmE,EAAA2J,IAAAiF,IAAA,IAAA5O,EAAA4O,IACAnR,QAAA+H,UAAA3J,GACAqQ,EAAA3E,KAAAqH,EAAAlE,QAEA,WAAA9P,GACAyE,EAAA4N,QAAApF,MAAAxI,EAAAwP,GACAxO,EAAAoN,QAAA1F,KAEA1H,EAAAoN,QAAA1F,GACA1I,EAAA4N,QAAApF,MAAAxI,EAAAwP,IAEA/O,EAAAqK,IAAA+B,GACA1C,KAAAyB,EAAAnB,QAAAoB,IACAA,QACAA,MAGA,IAAAqF,EAAAR,QAAA/Q,IA5DA,GA8DAuB,EAAA,WACA,SAAAkQ,KACA,IAAAC,EAAA,QACAR,EAAA,aAkDA,OAjDAO,EAAA9M,WACAwL,SAAA,SAAAvU,GACA,OAAAsV,EAAAhT,KAAAtC,IAEA4U,aAAA,SAAAzH,GACA,IAAAhJ,EAAAgJ,EAAAtL,IAAAsC,SACAgJ,EAAAtL,IAAAsC,SAAAA,EAAA6E,OAAA8M,EAAAxS,UAAAwS,EAAA3R,EAAA2R,EAAA3R,GAEAwQ,cAAA,SAAAxH,GACAA,EAAAxM,OAAAkD,EAAAsJ,EAAAtL,IAAAsL,EAAAxM,SAEAkU,aAAA,SAAA1H,GACA,SAAAmD,IACAD,EAAAC,OAAA,IAAAxN,EAAA8F,GAAAuE,EAAA7I,GAAAsG,YAEA,IAAA2H,EAAA1P,EAAAX,EAAAD,EAAApB,EAAAsM,EAAAjL,KACAmO,EAAAlD,EAAAkD,IACA0F,EAAA3P,GAAAyD,cAAA,QACAnD,KACA4K,KAGA,IAFAnE,EAAAkF,QAAAjR,GACA2U,EAAAC,UAAA7I,EAAAxM,OACA4R,EAAAwD,EAAAE,oBACApT,EAAA0P,EAAA2D,aAAA,WACAjU,EAAAY,EAAA,IAAAhC,IAAAqB,EAAAqQ,EAAA2D,aAAA,SAAA,IAAAhU,EAAA,IACAqQ,EAAA1G,WAAAC,YAAAyG,GACA7L,EAAAiG,MACAhM,OAAA4R,EAAA4D,YACAlU,IAAAA,IAEAqP,EAAA3E,KAAAvH,EAAA8J,QAAA,QAAAjN,GACA6N,SAEA5K,EAAAqK,IAAA+B,GACA1C,KAAA,WACA,IAAAnO,EAAA0M,EAAAlM,EAAA,EAEA,IADAqQ,EAAAhO,OAAA,EACA7C,EAAAiG,EAAAzF,GAAAA,KACAkM,EAAA/H,EAAA2J,IAAAtO,EAAAwB,MAAA,IAAAmD,EAAA3E,EAAAwB,MACAtB,OAAAkD,EAAAsJ,EAAAtL,IAAApB,EAAAE,QACAwM,EAAAtK,QAAA+H,UAAA3J,GACAqQ,EAAA3E,KAAAQ,EAAA2C,QACArL,EAAA4N,QAAAlF,GAEAjI,EAAAqK,IAAA+B,GACA1C,KAAAyB,EAAAnB,QAAAoB,IACAA,KAGA,IAAAuF,EAAAV,QAAA/Q,IArDA,GAuDAwB,EAAA,WACA,SAAAwQ,EAAAlU,GACA,IAAA,IAAAkK,EAAAzJ,EAAA1B,EAAA,EAAAmL,EAAA3F,EAAAxF,GAAAA,IACA,IAAAiB,EAAAkL,QAAAhB,EAAAuD,WAAAhN,GAAAyJ,EAAAiB,OAAA1K,EAAA0K,UAAA1K,EAAAyJ,GACA,OAAAzJ,EA0BA,SAAA0T,EAAAvV,EAAAtB,GACAiH,EAAAkG,MACAgD,OAAA7O,EACAuM,OAAAvM,EAAAwC,OACA6H,GAAA3L,IAIA,SAAA8W,EAAAxV,EAAAtB,GACA,IAAA2N,EAAAU,EAAArO,EAAAqO,QACA5M,EAAA,EACA,GAAA4M,EAAAvK,OAAA,EAAA,CAEA,IADA9D,EAAA8E,GAAApC,EAAA,IAAAkB,EAAAmT,KAAAC,UAAAhX,EAAAqO,UACAV,EAAAU,EAAA5M,GAAAA,IAAA4M,EAAA5M,GAAA,IAAAmE,EAAA+H,EAAAlL,KACAuC,EAAA0P,UArCA,SAAAuC,GACA,IAAArK,EAAAe,EAAAU,EAAA4I,EAAA5I,QACA6I,GACAjQ,WACAC,SACAiQ,8BAGA1V,EAAA,EAGA,IAFAyV,EAAAjQ,QAAAgQ,EAAAnS,IAAAmS,EAAAtL,GAAA0C,GACA6I,EAAAhQ,QAAAK,GAAA,UAAA0P,EAAAnS,IAAA8H,KACAe,EAAAU,EAAA5M,GAAAA,IAAAmL,EAAAO,KAAAQ,EAAAjL,MACA,OAAAwU,EAyBAE,CAAApX,IACAgF,EAAA,UAAAhF,EAAA8E,IACAsK,KAxBA,WACA,IAAA,IAAAzB,EAAAlM,EAAA,EAAAkM,EAAAlK,KAAAhC,GAAAA,IAAAkM,EAAAkD,IAAAnB,QAAAtE,UAAA3J,KAuBAmN,KAAAP,GApBA,WACA,IAAA,IAAAV,EAAAlM,EAAA,EAAAkM,EAAAlK,KAAAhC,GAAAA,IAAAkM,EAAAkD,IAAAC,OAAA,IAAAxN,EAAA8F,GAAAuE,EAAA7I,MAmBA8J,KAAAP,KAGA,IAAA3L,EAAA8E,GAAA,QACAP,KAkBA,OAjBAjC,EAAAiI,GAAA9E,GAAA,IAAAzF,EAAA,SAAAmE,GACApG,EAAAoG,KACAI,EAAAnD,OAAA,EACA5C,EAAA2F,EAAAgQ,MAGA5J,GAAAxE,GAAA,SAAAgM,EAAApT,GACA,IAAA,IAAAsM,EAAA1G,EAAAoQ,KAAA5V,EAAA,EAAAkM,EAAA8G,EAAAhT,GAAAA,KACAnB,EAAAqN,EAAA9F,KAAAtC,EAAAzC,KAAA6K,IAAA/H,EAAA2J,IAAA5B,EAAAtM,IACA,YAAAsM,EAAA,IAAA/H,EAAA+H,EAAAtM,EAAAO,KACApB,OAAAyG,EAAA2P,EAAAjJ,EAAAjL,SAAA8C,EAAA+J,IAAA5B,KAAA0J,EAAApQ,EAAAkJ,UAAAkH,EAAApQ,EAAAkJ,SACAxE,GAAA1E,EAAA0E,GACA0C,cAEAA,QAAAlB,KAAAQ,GACAzM,EAAAmW,EAAAP,KAEAlP,GApEA,GAsEA3C,EAAA,IAAAc,EACAb,EAAA,IAAAc,EAAAf,GACAJ,EAAAyC,GAAA,OAAAtD,GACAa,EAAAyC,GAAA,UAAA1C,GACAC,EAAA0C,GAAA,SAAAtB,GACApB,EAAA0C,GAAA,SAAArB,GACArB,EAAA0C,GAAA,YAAApB,GACAtB,EAAA2C,GAAA,QAAApB,GACAvB,EAAA6C,GAAA,WAAApH,GACAuE,EAAA6C,GAAA,UAAAhE,GACAmB,EAAA6C,GAAA,WAAAjH,GACAoE,EAAA6C,GAAA,eAAA1G,GACA6D,EAAA4C,GAAA,aAAArF,GACAyC,EAAA4C,GAAA,oBAAApD,GACAQ,EAAA4C,GAAA,QAAAtC,GACAN,EAAA4C,GAAA,UAAAvG,GACA2D,EAAA4C,GAAA,OAAA7D,GACAiB,EAAA4C,GAAA,QAAArC,GACAP,EAAA4C,GAAA,OAAArD,GACAS,EAAAwC,GAAA,UAAA5B,GACAZ,EAAAwC,GAAA,aAAAtH,GACA8E,EAAAwC,GAAA,SAAA3B,GACAb,EAAAwC,GAAA,QAAAtB,GACAlB,EAAAwC,GAAA,MAAAvB,GACAjB,EAAAwC,GAAA,UAAA/D,GACAuD,IAAAA,GAAAyQ,KAAA,cAAAzQ,GAAAyQ,MACA,KAAAzP,GACA7C,EAAA6B,GAAAyQ,MACA,MACA,KAAAxP,GACA/C,EAAA,OAAA8B,GAAAyQ,SAvxCA,CAyxCA,kBAAA7T,KAAA+G,KAAA+M,OAAA9T,KAAA5D,WAAAC","file":"demand.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (global, setTimeout, clearTimeout) {\n\t\"use strict\";\n\n\tfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\t\treturn {\n\t\t\t__proto__: NULL,\n\t\t\tvalue: value,\n\t\t\tenumerable: !!enumerable,\n\t\t\tconfigurable: !!configurable,\n\t\t\twritable: !!writable\n\t\t}\n\t}\n\n\tfunction validatorIsTypeOf(object, type) {\n\t\treturn typeof object === type\n\t}\n\n\tfunction validatorIsObject(object) {\n\t\treturn object && validatorIsTypeOf(object, STRING_OBJECT)\n\t}\n\n\tfunction validatorIsPositive(value) {\n\t\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0\n\t}\n\n\tfunction validatorIsInstanceOf(object, module) {\n\t\treturn object instanceof module\n\t}\n\n\tfunction functionIterate(source, callback, context) {\n\t\tfor (var property, properties = object.keys(source), i = 0;\n\t\t\t(property = properties[i]) !== UNDEFINED; i++)\n\t\t\tif (callback.call(context, property, source[property]) === FALSE) break;\n\t\treturn context\n\t}\n\n\tfunction functionToArray(arrayLikeObject, start, end) {\n\t\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end)\n\t}\n\n\tfunction functionGetTimestamp() {\n\t\treturn +new Date\n\t}\n\n\tfunction functionResolveUrl(url) {\n\t\tlinkElement.href = url;\n\t\treturn linkElement.href\n\t}\n\n\tfunction functionResolvePath(uri, context) {\n\t\tvar path = uri.replace(regexMatchParameter, \"\");\n\t\tif (!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) path = \"/\" + functionResolveUrl((context && functionResolveUrl(context + \"/../\") || \"/\") + path)\n\t\t\t.replace(regexMatchBaseUrl, \"\");\n\t\treturn path\n\t}\n\n\tfunction functionResolveId(uri, context) {\n\t\tvar parameter = uri.match(regexMatchParameter);\n\t\treturn (parameter && parameter[1] ? \"mock:\" : \"\") + (parameter && parameter[3] || settings.handler) + \"!\" + functionResolvePath(uri, context)\n\t}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction ClassLoader(dependency) {\n\t\tfunction resolve(response, type) {\n\t\t\tif (!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\t\tdependency.source = response;\n\t\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency)\n\t\t\t} else dependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (content-type)\", dependency.id))\n\t\t}\n\n\t\tfunction reject(status) {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? \" (status)\" : \"\"), dependency.id))\n\t\t}\n\n\t\tfunction load(location) {\n\t\t\tlocation = location || 0;\n\t\t\tdependency.url = document.createElement(\"a\");\n\t\t\tdependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\t\t\tif (dependency.invalid) dependency.url.search += (regexMatchEmptySearch.test(dependency.url.search) ? \"\" : \"&\") + functionGetTimestamp();\n\t\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\t\t\tnew ClassXhr(dependency.url)\n\t\t\t\t.then(resolve, pattern ? function () {\n\t\t\t\t\tlocation++;\n\t\t\t\t\tif (pattern.location[location]) load(location);\n\t\t\t\t\telse reject()\n\t\t\t\t} : reject)\n\t\t}\n\t\tvar pattern, regexMatchEmptySearch = /^(?:\\?|)$/;\n\t\tif (!regexIsAbsoluteUri.test(dependency.path)) functionIterate(settings.pattern, function (property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value)\n\t\t});\n\t\tload()\n\t}\n\n\tfunction validatorIsArray(value) {\n\t\treturn \"[object Array]\" === objectPrototypeToString.call(value)\n\t}\n\n\tfunction functionHash(input) {\n\t\tvar value = 5381,\n\t\t\ti = input.length;\n\t\twhile (i) value = 33 * value ^ input.charCodeAt(--i);\n\t\treturn value >>> 0\n\t}\n\n\tfunction AbstractUuid() {\n\t\tif (validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) this.define(\"uuid\", functionUuid());\n\t\treturn this\n\t}\n\n\tfunction functionResolveSourcemaps(url, source) {\n\t\tvar match, replacement;\n\t\twhile (match = regexMatchSourcemap.exec(source)) {\n\t\t\tlinkElement.href = url;\n\t\t\tif (regexIsAbsoluteUri.test(match[2])) replacement = linkElement.protocol + \"//\" + linkElement.host + match[3];\n\t\t\telse {\n\t\t\t\tlinkElement.pathname += \"/../\" + match[3];\n\t\t\t\treplacement = linkElement.protocol + \"//\" + linkElement.host + linkElement.pathname\n\t\t\t}\n\t\t\tsource = source.replace(match[0], match[1] + \" \" + match[2] + \"=\" + replacement + \".map\" + (match[4] ? \" \" + match[4] : \"\"))\n\t\t}\n\t\treturn source\n\t}\n\n\tfunction abstractHandler() {}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction assignModule(id, module) {\n\t\tprovide(id, function () {\n\t\t\treturn module\n\t\t})\n\t}\n\tvar demand, provide, queue, processor, functionMerge, functionUuid, functionDefer, singletonEvent, functionEscapeRegex, regexIsAbsoluteUri, regexIsAbsolutePath, regexMatchSourcemap, regexMatchBaseUrl, regexMatchInternal, regexMatchParameter, singletonCache, ClassWeakmap, ClassPledge, ClassRegistry, ClassDependency, ClassPattern, ClassXhr, ClassQueue, ClassProcessor, handlerModule, handlerBundle, handlerComponent, pluginGenie, document = global.document,\n\t\toptions = \"demand\" in global && global.demand,\n\t\tsettings = {\n\t\t\tversion: \"1.0.0\",\n\t\t\tcache: {},\n\t\t\ttimeout: 8e3,\n\t\t\tpattern: {},\n\t\t\tmodules: {},\n\t\t\thandler: \"module\"\n\t\t},\n\t\tDEMAND_ID = \"demand\",\n\t\tPROVIDE_ID = \"provide\",\n\t\tPATH_ID = \"path\",\n\t\tMODULE_PREFIX = \"/\" + DEMAND_ID + \"/\",\n\t\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + \"abstract/\",\n\t\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + \"handler/\",\n\t\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + \"plugin/\",\n\t\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + \"function/\",\n\t\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + \"validator/\",\n\t\tMOCK_PREFIX = \"mock:\",\n\t\tNULL = null,\n\t\tUNDEFINED = void 0,\n\t\tFALSE = false,\n\t\tTRUE = true,\n\t\tSTRING_UNDEFINED = \"undefined\",\n\t\tSTRING_STRING = \"string\",\n\t\tSTRING_BOOLEAN = \"boolean\",\n\t\tSTRING_OBJECT = \"object\",\n\t\tSTRING_FUNCTION = \"function\",\n\t\tSTRING_NUMBER = \"number\",\n\t\tEVENT_PREFIX = \"pre\",\n\t\tEVENT_POSTFIX = \"post\",\n\t\tEVENT_CONFIGURE = \"Configure\",\n\t\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\t\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\t\tEVENT_CACHE = \"cache\",\n\t\tEVENT_CACHE_MISS = EVENT_CACHE + \"Miss\",\n\t\tEVENT_CACHE_HIT = EVENT_CACHE + \"Hit\",\n\t\tEVENT_CACHE_CLEAR = EVENT_CACHE + \"Clear\",\n\t\tEVENT_CACHE_EXCEED = EVENT_CACHE + \"Exceed\",\n\t\tEVENT_PRE_CACHE = EVENT_PREFIX + \"Cache\",\n\t\tEVENT_POST_CACHE = EVENT_POSTFIX + \"Cache\",\n\t\tEVENT_RESOLVE = \"Resolve\",\n\t\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\t\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\t\tEVENT_REQUEST = \"Request\",\n\t\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\t\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\t\tEVENT_PROCESS = \"Process\",\n\t\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\t\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\t\tEVENT_QUEUE = \"queue\",\n\t\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + \"Enqueue\",\n\t\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + \"Dequeue\",\n\t\tERROR_LOAD = \"error loading\",\n\t\tERROR_PROVIDE = \"error providing\",\n\t\tERROR_RESOLVE = \"error resolving\",\n\t\tERROR_PROVIDE_ANONYMOUS = \"unspecified anonymous provide\",\n\t\tarrayPrototype = Array.prototype,\n\t\tarrayPrototypeSlice = arrayPrototype.slice,\n\t\tarrayPrototypeConcat = arrayPrototype.concat,\n\t\tobject = Object,\n\t\tobjectPrototypeToString = object.prototype.toString,\n\t\tobjectCreate = object.create,\n\t\tobjectDefineProperty = object.defineProperty,\n\t\tobjectGetOwnPropertyNames = object.getOwnPropertyNames,\n\t\tobjectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n\t\tlinkElement = document.createElement(\"a\");\n\t(function (strPrototype) {\n\t\tfunction objectDefine(name, value, writable, configurable, enumerable) {\n\t\t\tobjectDefineProperty(this, name, new ClassDescriptor(value, writable, configurable, enumerable))\n\t\t}\n\n\t\tfunction functionExtends(source) {\n\t\t\tfor (var property, self = this, prototype = self[strPrototype], names = objectGetOwnPropertyNames(prototype), properties = {\n\t\t\t\t\tconstructor: new ClassDescriptor(self, TRUE, TRUE)\n\t\t\t\t}, i = 0;\n\t\t\t\t(property = names[i]) && !properties[property]; i++) properties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t\ttry {\n\t\t\t\tself[strPrototype] = objectCreate(source[strPrototype] || source, properties)\n\t\t\t} catch (e) {}\n\t\t\tif (self[strPrototype] === prototype) throw new TypeError(\"Unable to extend, prototype is not writable\");\n\t\t\treturn self\n\t\t}\n\t\tobjectDefine.call(Object.prototype, \"define\", objectDefine);\n\t\tobjectDefine.call(global.Object.prototype, \"define\", objectDefine);\n\t\tFunction.prototype.define(\"extends\", functionExtends);\n\t\tglobal.Function.prototype.define(\"extends\", functionExtends)\n\t})(\"prototype\");\n\tfunctionMerge = function () {\n\t\tfunction mergeProperties(property, value) {\n\t\t\tvar targetPropertyIsObject, targetProperty = this[property];\n\t\t\tif (value !== UNDEFINED)\n\t\t\t\tif (validatorIsObject(value)) {\n\t\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\t\t\t\t\tif (value.length !== UNDEFINED) targetProperty = targetPropertyIsObject && targetProperty.length !== UNDEFINED ? targetProperty : [];\n\t\t\t\t\telse targetProperty = targetPropertyIsObject && targetProperty.length === UNDEFINED ? targetProperty : {};\n\t\t\t\t\tthis[property] = functionMerge(targetProperty, value)\n\t\t\t\t} else this[property] = value\n\t\t}\n\t\treturn function () {\n\t\t\tfor (var properties, target = arguments[0], i = 1;\n\t\t\t\t(properties = arguments[i]) !== UNDEFINED; i++) functionIterate(properties, mergeProperties, target);\n\t\t\treturn target\n\t\t}\n\t}();\n\tfunctionUuid = function () {\n\t\tfunction randomize(character) {\n\t\t\tvar r = 16 * Math.random() | 0;\n\t\t\treturn (\"x\" === character ? r : 3 & r | 8)\n\t\t\t\t.toString(16)\n\t\t}\n\t\tvar regex = new RegExp(\"[xy]\", \"g\");\n\t\treturn function () {\n\t\t\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(regex, randomize)\n\t\t}\n\t}();\n\tfunctionDefer = function () {\n\t\tvar element, fallback, hasSetImmediate = \"setImmediate\" in global;\n\t\tif (\"MutationObserver\" in global) return function (fn) {\n\t\t\telement = document.createElement(\"div\");\n\t\t\tnew MutationObserver(function () {\n\t\t\t\t\tfn()\n\t\t\t\t})\n\t\t\t\t.observe(element, {\n\t\t\t\t\tattributes: TRUE\n\t\t\t\t});\n\t\t\telement.setAttribute(\"i\", \"1\")\n\t\t};\n\t\tif (!hasSetImmediate && \"postMessage\" in global && !(\"importScripts\" in global) && \"addEventListener\" in global) return function () {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tvar fn;\n\t\t\t\tif (event.source === global && event.data && (fn = storage[event.data])) {\n\t\t\t\t\tfn();\n\t\t\t\t\tdelete storage[event.data]\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar storage = {};\n\t\t\tglobal.addEventListener(\"message\", onMessage, FALSE);\n\t\t\treturn function (fn) {\n\t\t\t\tvar uuid = functionUuid();\n\t\t\t\tstorage[uuid] = fn;\n\t\t\t\tglobal.postMessage(uuid, \"*\")\n\t\t\t}\n\t\t}();\n\t\tif (!hasSetImmediate && \"onreadystatechange\" in (element = document.createElement(\"script\"))) return function (fn) {\n\t\t\telement.onreadystatechange = function () {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t\tfn()\n\t\t\t};\n\t\t\tdocument.body.appendChild(element)\n\t\t};\n\t\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t\treturn function (fn) {\n\t\t\tfallback(fn)\n\t\t}\n\t}();\n\tsingletonEvent = function () {\n\t\tfunction addListener(type, events, callback) {\n\t\t\tvar event, pointer;\n\t\t\tif (validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\t\tevents = events.split(\" \");\n\t\t\t\twhile (event = events.shift()) {\n\t\t\t\t\tevent = event.split(\":\");\n\t\t\t\t\tif (regexMatchEvent.test(event[0])) {\n\t\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = {\n\t\t\t\t\t\t\ton: [],\n\t\t\t\t\t\t\tafter: []\n\t\t\t\t\t\t}))[type].push({\n\t\t\t\t\t\t\tcallback: callback,\n\t\t\t\t\t\t\tfilter: event[1]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) callback(pointer)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction Event() {}\n\t\tvar TYPE_ON = \"on\",\n\t\t\tTYPE_AFTER = \"after\",\n\t\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\t\tlistener = {};\n\t\tEvent.prototype = {\n\t\t\temit: function (event, filter) {\n\t\t\t\tvar parameter, i, item, pointer = listener[event];\n\t\t\t\tif (pointer) {\n\t\t\t\t\tparameter = functionToArray(arguments, 2);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_ON][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_AFTER][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter)\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ton: function (events, callback) {\n\t\t\t\taddListener(TYPE_ON, events, callback);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tafter: function (events, callback) {\n\t\t\t\taddListener(TYPE_AFTER, events, callback);\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\treturn new Event\n\t}();\n\tfunctionEscapeRegex = function () {\n\t\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\t\treturn function (value) {\n\t\t\treturn value.replace(regexMatchRegex, \"\\\\$&\")\n\t\t}\n\t}();\n\tregexIsAbsoluteUri = /^(http(s?):)?\\/\\//i, regexIsAbsolutePath = /^\\//, regexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g, regexMatchBaseUrl = new RegExp(\"^\" + functionEscapeRegex(functionResolveUrl(\"/\"))), regexMatchInternal = new RegExp(\"^\" + DEMAND_ID + \"|\" + PROVIDE_ID + \"|\" + PATH_ID + \"$\"), regexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;\n\tsingletonCache = function () {\n\t\tfunction enabled(dependency) {\n\t\t\tvar match;\n\t\t\tif (dependency.cache !== NULL) return dependency.cache;\n\t\t\tfunctionIterate(settings.cache, function (property, value) {\n\t\t\t\tif (0 === dependency.path.indexOf(property) && (!match || value.weight > match.weight)) match = value\n\t\t\t});\n\t\t\treturn match ? match.state : FALSE\n\t\t}\n\n\t\tfunction getKey(key) {\n\t\t\treturn localStorage.getItem(key)\n\t\t}\n\n\t\tfunction setKey(key, value) {\n\t\t\tlocalStorage[value ? \"setItem\" : \"removeItem\"](key, value)\n\t\t}\n\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = getKey(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return functionToArray(matches, 1)\n\t\t}\n\n\t\tfunction setState(key, state) {\n\t\t\tstate[4] = functionGetTimestamp();\n\t\t\tsetKey(key, state.join(\",\"))\n\t\t}\n\n\t\tfunction emit(event, dependency, state) {\n\t\t\tsingletonEvent.emit(event, dependency.id, dependency, state)\n\t\t}\n\n\t\tfunction Cache() {\n\t\t\tfunctionDefer(this.clear.expired.bind(this.clear))\n\t\t}\n\t\tvar cache, STORAGE_PREFIX = \"[\" + DEMAND_ID + \"]\",\n\t\t\tSTORAGE_SUFFIX_STATE = \"[state]\",\n\t\t\tSTORAGE_SUFFIX_VALUE = \"[value]\",\n\t\t\tregexMatchState = new RegExp(\"^\" + functionEscapeRegex(STORAGE_PREFIX) + \"\\\\[(.+?)\\\\]\" + functionEscapeRegex(STORAGE_SUFFIX_STATE) + \"$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\t\tsupportsLocalStorage = function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn \"localStorage\" in global && global.localStorage\n\t\t\t\t} catch (exception) {\n\t\t\t\t\treturn FALSE\n\t\t\t\t}\n\t\t\t}(),\n\t\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\t\tsupportsRemainingSpace = supportsLocalStorage && \"remainingSpace\" in localStorage,\n\t\t\tstorage = {};\n\t\tsingletonEvent.on(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tfunctionDefer(function () {\n\t\t\t\t\tcache.clear(dependency.id)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_CACHE_EXCEED, function (dependency) {\n\t\t\t\tdemand(\"-!/\" + DEMAND_ID + \"/cache/dispose\")\n\t\t\t\t\t.then(function (cacheDispose) {\n\t\t\t\t\t\tfunctionDefer(function () {\n\t\t\t\t\t\t\tcacheDispose(dependency.source.length);\n\t\t\t\t\t\t\tcache.set(dependency)\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tif (dependency.source && enabled(dependency)) storage[dependency.id] = TRUE\n\t\t\t})\n\t\t\t.after(EVENT_POST_PROCESS, function (dependency) {\n\t\t\t\tif (storage[dependency.id]) functionDefer(function () {\n\t\t\t\t\tcache.set(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\tCache.prototype = {\n\t\t\tget: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar id, state;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\tif (!(state = getState(id + STORAGE_SUFFIX_STATE))) return;\n\t\t\t\t\tif (state[0] !== dependency.version || state[2] && dependency.lifetime && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\tdependency.invalid = true;\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\tfunctionDefer(function () {\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state)\n\t\t\t\t\t});\n\t\t\t\t\treturn TRUE\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tresolve: supportsLocalStorage ? function (dependency) {\n\t\t\t\tif (this.get(dependency)) emit(EVENT_CACHE_HIT, dependency);\n\t\t\t\telse emit(EVENT_CACHE_MISS, dependency)\n\t\t\t} : function (dependency) {\n\t\t\t\temit(EVENT_CACHE_MISS, dependency)\n\t\t\t},\n\t\t\tset: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar state, id, spaceBefore;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tstate = [dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version];\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\tif (spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) throw new Error;\n\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tclear: supportsLocalStorage ? function (path) {\n\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\tkey = STORAGE_PREFIX + \"[\" + id + \"]\";\n\t\t\t\tif (getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE))\n\t\t\t\t}\n\t\t\t} : function () {}\n\t\t};\n\t\tCache.prototype.clear.all = supportsLocalStorage ? function () {\n\t\t\tvar match;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\t(match = property.match(regexMatchState)) && this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\tCache.prototype.clear.expired = supportsLocalStorage ? function () {\n\t\t\tvar match, state;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\tif (match = property.match(regexMatchState))\n\t\t\t\t\tif ((state = getState(STORAGE_PREFIX + \"[\" + match[1] + \"]\" + STORAGE_SUFFIX_STATE)) && state[2] > 0 && state[2] <= functionGetTimestamp()) this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\treturn cache = new Cache\n\t}();\n\tClassWeakmap = \"WeakMap\" in global ? global.WeakMap : function () {\n\t\tfunction getEntry(context, key) {\n\t\t\tvar entry;\n\t\t\tif ((entry = key[context.id]) && entry[0] === key) return entry\n\t\t}\n\n\t\tfunction ClassWeakmap() {\n\t\t\tthis.define(\"id\", prefix + functionUuid())\n\t\t}\n\t\tvar prefix = \"weakmap-\";\n\t\tClassWeakmap.prototype = {\n\t\t\tset: function (key, value) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) entry[1] = value;\n\t\t\t\telse key.define(this.id, [key, value]);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) return entry[1]\n\t\t\t},\n\t\t\tdelete: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) {\n\t\t\t\t\tentry.length = 0;\n\t\t\t\t\tdelete key[this.id]\n\t\t\t\t}\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\treturn !!getEntry(this, key)\n\t\t\t}\n\t\t};\n\t\treturn ClassWeakmap\n\t}();\n\tClassPledge = function () {\n\t\tfunction resolve() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_RESOLVED, arguments)\n\t\t}\n\n\t\tfunction reject() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_REJECTED, arguments)\n\t\t}\n\n\t\tfunction handle(state, parameter) {\n\t\t\tvar pointer, result, properties = storage.get(this);\n\t\t\tif (properties.state === PLEDGE_PENDING) {\n\t\t\t\tproperties.state = state;\n\t\t\t\tproperties.value = parameter\n\t\t\t}\n\t\t\twhile (pointer = properties[properties.state].shift())\n\t\t\t\tif ((result = pointer.handler.apply(NULL, properties.value)) && \"function\" === typeof result.then) result.then(pointer.dfd.resolve, pointer.dfd.reject);\n\t\t\t\telse pointer.dfd[properties.state === PLEDGE_RESOLVED ? \"resolve\" : \"reject\"].apply(NULL, properties.value);\n\t\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\t\tproperties[PLEDGE_REJECTED].length = 0\n\t\t}\n\n\t\tfunction observe(pledge, index, properties) {\n\t\t\tpledge.then(function () {\n\t\t\t\tproperties.resolved[index] = functionToArray(arguments);\n\t\t\t\tproperties.count++;\n\t\t\t\tcheck(properties)\n\t\t\t}, function () {\n\t\t\t\tproperties.rejected.push(functionToArray(arguments));\n\t\t\t\tcheck(properties)\n\t\t\t})\n\t\t}\n\n\t\tfunction check(properties) {\n\t\t\tif (properties.count === properties.total) properties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t\telse if (properties.rejected.length + properties.count === properties.total) properties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected))\n\t\t}\n\n\t\tfunction ClassPledge(executor) {\n\t\t\tvar self = this;\n\t\t\tstorage.set(self, {\n\t\t\t\tstate: PLEDGE_PENDING,\n\t\t\t\thandle: handle.bind(self),\n\t\t\t\tvalue: NULL,\n\t\t\t\tresolved: [],\n\t\t\t\trejected: [],\n\t\t\t\tcount: 0\n\t\t\t});\n\t\t\texecutor(resolve.bind(self), reject.bind(self));\n\t\t\treturn self\n\t\t}\n\t\tvar PLEDGE_PENDING = \"pending\",\n\t\t\tPLEDGE_RESOLVED = \"resolved\",\n\t\t\tPLEDGE_REJECTED = \"rejected\",\n\t\t\tstorage = new ClassWeakmap;\n\t\tClassPledge.prototype = {\n\t\t\tcatch: function (listener) {\n\t\t\t\treturn this.then(function () {}, listener)\n\t\t\t},\n\t\t\talways: function (alwaysListener) {\n\t\t\t\treturn this.then(alwaysListener, alwaysListener)\n\t\t\t},\n\t\t\tthen: function (resolveListener, rejectListener) {\n\t\t\t\tvar properties = storage.get(this),\n\t\t\t\t\tdfd = ClassPledge.defer();\n\t\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({\n\t\t\t\t\thandler: resolveListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\trejectListener && properties[PLEDGE_REJECTED].push({\n\t\t\t\t\thandler: rejectListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\tif (properties.state !== PLEDGE_PENDING) functionDefer(properties.handle);\n\t\t\t\treturn dfd.pledge\n\t\t\t},\n\t\t\tisPending: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_PENDING\n\t\t\t},\n\t\t\tisResolved: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_RESOLVED\n\t\t\t},\n\t\t\tisRejected: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_REJECTED\n\t\t\t}\n\t\t};\n\t\tClassPledge.defer = function () {\n\t\t\tvar self = {};\n\t\t\tself.pledge = new ClassPledge(function (resolveListener, rejectListener) {\n\t\t\t\tself.resolve = resolveListener;\n\t\t\t\tself.reject = rejectListener\n\t\t\t});\n\t\t\treturn self\n\t\t};\n\t\tClassPledge.all = function (pledges) {\n\t\t\tvar properties, pledge, dfd = ClassPledge.defer(),\n\t\t\t\ti = 0;\n\t\t\tif (pledges.length) {\n\t\t\t\tproperties = {\n\t\t\t\t\tdfd: dfd,\n\t\t\t\t\tresolved: [],\n\t\t\t\t\trejected: [],\n\t\t\t\t\ttotal: pledges.length,\n\t\t\t\t\tcount: 0\n\t\t\t\t};\n\t\t\t\tfor (; pledge = pledges[i]; i++) observe(pledge, i, properties)\n\t\t\t} else dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\tClassPledge.race = function (pledges) {\n\t\t\tfor (var pledge, dfd = ClassPledge.defer(), i = 0; pledge = pledges[i]; i++) pledge.then(dfd.resolve, dfd.reject);\n\t\t\tif (!pledges.length) dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\treturn ClassPledge\n\t}();\n\tClassRegistry = function () {\n\t\tfunction ClassRegistry() {\n\t\t\tstorage.set(this, {})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassRegistry.prototype = {\n\t\t\tget: function (key) {\n\t\t\t\treturn key ? storage.get(this)[key] : storage.get(this)\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tstorage.get(this)[key] = value\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\tdelete storage.get(this)[key]\n\t\t\t}\n\t\t};\n\t\treturn ClassRegistry\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\tClassDependency = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = value\n\t\t}\n\n\t\tfunction addPending(id, dependency) {\n\t\t\tif (dependency.pledge.isPending()) this.push(id)\n\t\t}\n\n\t\tfunction addResolved(id, dependency) {\n\t\t\tif (dependency.pledge.isResolved()) this.push(id)\n\t\t}\n\n\t\tfunction addRejected(id, dependency) {\n\t\t\tif (dependency.pledge.isRejected()) this.push(id)\n\t\t}\n\n\t\tfunction ClassDependency(uri, context, register) {\n\t\t\tvar self = this,\n\t\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\t\t\tself.path = functionResolvePath(uri, context);\n\t\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\t\tself.cache = parameter[2] ? \"+\" === parameter[1] : NULL;\n\t\t\tself.type = parameter[3] || settings.handler;\n\t\t\tself.version = parameter[4] || settings.version;\n\t\t\tself.lifetime = parameter[5] && 1e3 * parameter[5] || settings.lifetime;\n\t\t\tself.id = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"!\" + self.path;\n\t\t\tself.uri = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"@\" + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? \"#\" + self.lifetime : \"\") + \"!\" + self.path;\n\t\t\tself.dfd = ClassPledge.defer();\n\t\t\tself.pledge = self.dfd.pledge;\n\t\t\tself.invalid = false;\n\t\t\tself.pledge.then(function () {\n\t\t\t\tself.value = functionToArray(arguments)\n\t\t\t});\n\t\t\tregister !== FALSE && registry.set(self.id, self);\n\t\t\treturn self\n\t\t}\n\t\tvar PREFIX_INTERNAL = \"internal!\",\n\t\t\tregistry = new ClassRegistry,\n\t\t\tplaceholder = [];\n\t\tClassDependency.prototype = {\n\t\t\tenqueue: true\n\t\t};\n\t\tClassDependency.get = function (uri, context) {\n\t\t\treturn registry.get(functionResolveId(uri, context))\n\t\t};\n\t\tClassDependency.resolve = function (uri, context) {\n\t\t\tvar value, isInternal = context && regexMatchInternal.test(uri),\n\t\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + \"/\" + uri) : this.get(uri, context);\n\t\t\tif (!dependency)\n\t\t\t\tif (isInternal) {\n\t\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + \"/\" + uri);\n\t\t\t\t\tswitch (uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tvalue = function () {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context))\n\t\t\t\t\t\t}();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tvalue = provide.bind(context);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tvalue = context\n\t\t\t\t\t}\n\t\t\t\t\tdependency.dfd.resolve(value)\n\t\t\t\t} else {\n\t\t\t\t\tdependency = new ClassDependency(uri, context);\n\t\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t\t.then(function (handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\t\t\t\t\t\t\tif (dependency.mock) dependency.dfd.resolve(handler);\n\t\t\t\t\t\t\telse singletonCache.resolve(dependency)\n\t\t\t\t\t\t}, function () {\n\t\t\t\t\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (handler)\", self.id))\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\treturn dependency\n\t\t};\n\t\tClassDependency.remove = function (uri, context, cache) {\n\t\t\tvar id = functionResolveId(uri, context),\n\t\t\t\tnode = document.querySelector(\"[\" + DEMAND_ID + '-id=\"' + id + '\"]');\n\t\t\tregistry.remove(id);\n\t\t\tregistry.remove(MOCK_PREFIX + id);\n\t\t\tnode && node.parentNode.removeChild(node);\n\t\t\tcache !== FALSE && singletonCache.clear(id)\n\t\t};\n\t\tClassDependency.list = {\n\t\t\tall: function () {\n\t\t\t\treturn object.keys(registry.get())\n\t\t\t},\n\t\t\tpending: function () {\n\t\t\t\treturn functionIterate(registry.get(), addPending, [])\n\t\t\t},\n\t\t\tresolved: function () {\n\t\t\t\treturn functionIterate(registry.get(), addResolved, [])\n\t\t\t},\n\t\t\trejected: function () {\n\t\t\t\treturn functionIterate(registry.get(), addRejected, [])\n\t\t\t}\n\t\t};\n\t\treturn ClassDependency\n\t}();\n\tClassPattern = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\turl: functionResolveUrl(value)\n\t\t\t\t\t.replace(regexMatchTrailingSlash, \"$1\"),\n\t\t\t\tmatch: new RegExp(\"^\" + functionEscapeRegex(value))\n\t\t\t}\n\t\t}\n\n\t\tfunction ClassPattern(pattern, url) {\n\t\t\tvar self = this;\n\t\t\tself.weight = pattern.length;\n\t\t\tself.match = new RegExp(\"^\" + functionEscapeRegex(pattern));\n\t\t\tself.location = [].concat(url);\n\t\t\tfunctionIterate(self.location, setProperty, self.location)\n\t\t}\n\t\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\t\tClassPattern.prototype = {\n\t\t\tmatches: function (path) {\n\t\t\t\treturn this.match.test(path)\n\t\t\t},\n\t\t\tprocess: function (path, index) {\n\t\t\t\tvar current = this.location[index];\n\t\t\t\tif (current) return path.replace(this.match, current.url)\n\t\t\t}\n\t\t};\n\t\treturn ClassPattern\n\t}();\n\tClassXhr = function (XMLHttpRequest) {\n\t\tfunction checkState() {\n\t\t\tif (this.readyState < 4) this.abort()\n\t\t}\n\t\tvar XDomainRequest = \"XDomainRequest\" in global && global.XDomainRequest || XMLHttpRequest;\n\t\treturn function (url) {\n\t\t\tvar pointer, dfd = ClassPledge.defer(),\n\t\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest : new XDomainRequest,\n\t\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\t\ttimeout = settings.timeout;\n\t\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function () {\n\t\t\t\tdfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.onprogress = xhr.onreadystatechange = function () {\n\t\t\t\tclearTimeout(pointer);\n\t\t\t\tpointer = setTimeout(boundCheckState, timeout)\n\t\t\t};\n\t\t\txhr.onload = function () {\n\t\t\t\tpointer = clearTimeout(pointer);\n\t\t\t\tif (!(\"status\" in xhr) || 200 === xhr.status) dfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader(\"content-type\"));\n\t\t\t\telse dfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.open(\"GET\", url, TRUE);\n\t\t\txhr.send();\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\treturn dfd.pledge\n\t\t}\n\t}(XMLHttpRequest);\n\tdemand = function () {\n\t\tfunction updateCacheSettings(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\tweight: property.length,\n\t\t\t\tstate: value\n\t\t\t}\n\t\t}\n\n\t\tfunction updatePatternSettings(property, value) {\n\t\t\t\"base\" !== property && (this[property] = new ClassPattern(property, value))\n\t\t}\n\n\t\tfunction updateModuleSettings(property, value) {\n\t\t\tvar temp = this[property] = this[property] || {};\n\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\t\t\tfunctionMerge(temp, value);\n\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp)\n\t\t}\n\n\t\tfunction demand() {\n\t\t\tvar uri, dfd, result, dependencies = functionToArray(arguments),\n\t\t\t\tcontext = this !== global ? this : NULL,\n\t\t\t\ti = 0;\n\t\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\tfor (; uri = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(uri, STRING_STRING)) dependencies[i] = ClassDependency.resolve(uri, context)\n\t\t\t\t\t.pledge;\n\t\t\t\telse {\n\t\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer())\n\t\t\t\t\t\t.pledge;\n\t\t\t\t\tdfd.resolve(uri)\n\t\t\t\t}\n\t\t\tif (dependencies.length > 1) result = ClassPledge.all(dependencies);\n\t\t\telse result = dependencies[0];\n\t\t\treturn result.always(function () {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context)\n\t\t\t})\n\t\t}\n\t\tdemand.configure = function (options) {\n\t\t\tvar cache = options.cache,\n\t\t\t\tversion = options.version,\n\t\t\t\ttimeout = options.timeout,\n\t\t\t\tlifetime = options.lifetime,\n\t\t\t\tbase = options.base,\n\t\t\t\tpattern = options.pattern,\n\t\t\t\tmodules = options.modules,\n\t\t\t\tpointer = settings.modules;\n\t\t\tif (validatorIsTypeOf(cache, STRING_BOOLEAN)) settings.cache[\"\"] = {\n\t\t\t\tweight: 0,\n\t\t\t\tstate: cache\n\t\t\t};\n\t\t\telse if (validatorIsObject(cache)) functionIterate(cache, updateCacheSettings, settings.cache);\n\t\t\tif (validatorIsTypeOf(version, STRING_STRING)) settings.version = version;\n\t\t\tif (validatorIsPositive(timeout)) settings.timeout = 1e3 * Math.min(Math.max(timeout, 2), 12);\n\t\t\tif (validatorIsPositive(lifetime) && lifetime > 0) settings.lifetime = 1e3 * lifetime;\n\t\t\tif (validatorIsTypeOf(base, STRING_STRING) && \"\" !== base) settings.pattern.base = new ClassPattern(\"\", base);\n\t\t\tif (validatorIsObject(pattern)) functionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t\tif (validatorIsObject(modules)) functionIterate(modules, updateModuleSettings, pointer);\n\t\t\treturn demand\n\t\t};\n\t\tdemand.version = \"5.0.1\";\n\t\tdemand.on = singletonEvent.on.bind(demand);\n\t\tdemand.get = function (uri, context) {\n\t\t\tvar dependency = ClassDependency.get(uri, context);\n\t\t\treturn dependency && dependency.value\n\t\t};\n\t\tdemand.list = ClassDependency.list;\n\t\tdemand.remove = ClassDependency.remove;\n\t\tdemand.cache = {\n\t\t\tclear: singletonCache.clear\n\t\t};\n\t\tsingletonEvent.after(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tnew ClassLoader(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_CACHE_HIT + \" \" + EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_PROCESS, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\tpointer && pointer(dependency);\n\t\t\t\tdependency.pledge.then(function () {\n\t\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency)\n\t\t\t\t});\n\t\t\t\tif (true === dependency.enqueue) queue.enqueue(dependency);\n\t\t\t\telse if (validatorIsInstanceOf(dependency.enqueue, ClassPledge)) dependency.enqueue.then(function () {\n\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\treturn demand\n\t}();\n\tglobal.define(\"demand\", demand);\n\tprovide = function () {\n\t\tvar module, isFunction, uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0];\n\t\tif (!uri && processor.current) {\n\t\t\turi = (module = processor.current)\n\t\t\t\t.uri;\n\t\t\tprocessor.process()\n\t\t}\n\t\tif (uri) {\n\t\t\tmodule = module || new ClassDependency(uri, context);\n\t\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\t\t\tif (dependencies) demand.apply(module.path, dependencies)\n\t\t\t\t.then(function () {\n\t\t\t\t\tmodule.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition)\n\t\t\t\t}, function () {\n\t\t\t\t\tmodule.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments))\n\t\t\t\t});\n\t\t\telse module.dfd.resolve(isFunction ? definition() : definition);\n\t\t\treturn module.dfd.pledge\n\t\t} else !validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS))\n\t};\n\tglobal.define(\"provide\", provide);\n\tdemand.configure({\n\t\tcache: TRUE,\n\t\tbase: \"/\",\n\t\tpattern: {\n\t\t\t\"/demand\": functionResolveUrl((options && options.url || location.href) + \"/../\")\n\t\t\t\t.slice(0, -1)\n\t\t}\n\t});\n\toptions && options.settings && demand.configure(options.settings);\n\tClassQueue = function () {\n\t\tfunction ClassQueue() {\n\t\t\tvar self = AbstractUuid.call(this);\n\t\t\tstorage.set(self, []);\n\t\t\treturn self\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassQueue.prototype = {\n\t\t\tenqueue: function () {\n\t\t\t\tstorage.set(this, storage.get(this)\n\t\t\t\t\t.concat(functionToArray(arguments)));\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid)\n\t\t\t},\n\t\t\tdequeue: function () {\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.shift()\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)[0]\n\t\t\t},\n\t\t\tget length() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.length\n\t\t\t}\n\t\t};\n\t\treturn ClassQueue.extends(AbstractUuid)\n\t}();\n\tClassProcessor = function () {\n\t\tfunction ClassProcessor(queue) {\n\t\t\tvar self = this,\n\t\t\t\tproperties = {\n\t\t\t\t\tqueue: queue,\n\t\t\t\t\tcurrent: NULL\n\t\t\t\t};\n\t\t\tstorage.set(self, properties);\n\t\t\tdemand.on(EVENT_QUEUE_ENQUEUE + \":\" + queue.uuid, function () {\n\t\t\t\t!properties.current && self.process()\n\t\t\t})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassProcessor.prototype = {\n\t\t\tprocess: function () {\n\t\t\t\tvar current, properties = storage.get(this);\n\t\t\t\tif (properties.queue.length)\n\t\t\t\t\tif (!(current = properties.current = properties.queue.dequeue())\n\t\t\t\t\t\t.pledge.isRejected()) {\n\t\t\t\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\tproperties.current = NULL\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.current\n\t\t\t}\n\t\t};\n\t\treturn ClassProcessor\n\t}();\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\thandlerModule = function () {\n\t\tfunction HandlerModule() {}\n\t\tvar suffix = \".js\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\t\tHandlerModule.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar script;\n\t\t\t\tif (dependency.source) {\n\t\t\t\t\t(script = document.createElement(\"script\"))\n\t\t\t\t\t.async = TRUE;\n\t\t\t\t\tscript.text = dependency.source;\n\t\t\t\t\tscript.setAttribute(DEMAND_ID + \"-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(script)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerModule.extends(abstractHandler))\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\thandlerBundle = function () {\n\t\tfunction updateDependencies(uri, dependencies) {\n\t\t\tvar i, dependency;\n\t\t\tfor (i = 0; dependency = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING)) dependencies[i] = functionResolveId(dependency)\n\t\t}\n\n\t\tfunction getType(dependencies) {\n\t\t\tfor (var type, temp, i = 0; temp = dependencies[i]; i++) {\n\t\t\t\ttemp = (temp = temp.match(regexMatchParameter)) && temp[3] || settings.handler;\n\t\t\t\tif (type) {\n\t\t\t\t\tif (temp !== type) return FALSE\n\t\t\t\t} else type = temp\n\t\t\t}\n\t\t\treturn type\n\t\t}\n\n\t\tfunction HandlerBundle() {}\n\t\tvar path = MODULE_PREFIX_HANDLER + \"bundle\",\n\t\t\tsettings = {};\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\tif (validatorIsObject(options)) functionIterate(settings = options, updateDependencies)\n\t\t});\n\t\tHandlerBundle.prototype = {\n\t\t\tvalidate: handlerModule.validate,\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar type, match, pledges, temp, i, source = dependency.source,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tdependencies = settings[dependency.path];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tif (dependencies && (type = getType(dependencies))) {\n\t\t\t\t\twhile (match = regexMatchSourcemap.exec(source)) source = source.replace(match[0], \"\");\n\t\t\t\t\tdependency.source = source;\n\t\t\t\t\tpledges = [];\n\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) pledges.push(ClassDependency.resolve(MOCK_PREFIX + temp)\n\t\t\t\t\t\t.pledge);\n\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t.then(function () {\n\t\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) {\n\t\t\t\t\t\t\t\t(temp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp))\n\t\t\t\t\t\t\t\t.handler = arguments[i];\n\t\t\t\t\t\t\t\tpledges.push(temp.pledge)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\"module\" === type) {\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\t\thandlerModule.process(dependency)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t\t}, reject)\n\t\t\t\t} else reject()\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerBundle.extends(abstractHandler))\n\t}();\n\thandlerComponent = function () {\n\t\tfunction HandlerComponent() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/.+$/;\n\t\tHandlerComponent.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar node, handler, path, uri, context = dependency.path,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tcontainer = document.createElement(\"body\"),\n\t\t\t\t\tmodules = [],\n\t\t\t\t\tpledges = [];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tcontainer.innerHTML = dependency.source;\n\t\t\t\twhile (node = container.firstElementChild)\n\t\t\t\t\tif (handler = node.getAttribute(\"type\")) {\n\t\t\t\t\t\turi = handler + \"!\" + context + ((path = node.getAttribute(\"path\")) ? \"/\" + path : \"\");\n\t\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\t\tmodules.push({\n\t\t\t\t\t\t\tsource: node.textContent,\n\t\t\t\t\t\t\turi: uri\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpledges.push(ClassDependency.resolve(\"mock:\" + uri)\n\t\t\t\t\t\t\t.pledge)\n\t\t\t\t\t}\n\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tvar module, dependency, i = 0;\n\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\tfor (; module = modules[i]; i++) {\n\t\t\t\t\t\t\t(dependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri))\n\t\t\t\t\t\t\t.source = functionResolveSourcemaps(dependency.url, module.source);\n\t\t\t\t\t\t\tdependency.handler = arguments[i];\n\t\t\t\t\t\t\tpledges.push(dependency.pledge);\n\t\t\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t}, reject)\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerComponent.extends(abstractHandler))\n\t}();\n\tpluginGenie = function () {\n\t\tfunction matchPattern(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.prefix) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match\n\t\t}\n\n\t\tfunction generateConfiguration(bundle) {\n\t\t\tvar pointer, dependency, matches = bundle.matches,\n\t\t\t\tconfiguration = {\n\t\t\t\t\tpattern: {},\n\t\t\t\t\tmodules: {\n\t\t\t\t\t\t\"/demand/handler/bundle\": {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ti = 0;\n\t\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + \"bundle\"][bundle.id] = pointer = [];\n\t\t\tfor (; dependency = matches[i]; i++) pointer.push(dependency.path);\n\t\t\treturn configuration\n\t\t}\n\n\t\tfunction resolveDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.resolve(arguments[i])\n\t\t}\n\n\t\tfunction rejectDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id))\n\t\t}\n\n\t\tfunction addPattern(property, value) {\n\t\t\tpattern.push({\n\t\t\t\tprefix: property,\n\t\t\t\tweight: property.length,\n\t\t\t\tfn: value\n\t\t\t})\n\t\t}\n\n\t\tfunction resolveBundles(property, value) {\n\t\t\tvar dependency, matches = value.matches,\n\t\t\t\ti = 0;\n\t\t\tif (matches.length > 1) {\n\t\t\t\tvalue.id = path + \"/\" + functionHash(JSON.stringify(value.matches));\n\t\t\t\tfor (; dependency = matches[i]; i++) matches[i] = new ClassDependency(dependency.uri);\n\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\tdemand(\"bundle!\" + value.id)\n\t\t\t\t\t.then(resolveDependencies.bind(matches), rejectDependencies.bind(matches))\n\t\t\t}\n\t\t}\n\t\tvar path = MODULE_PREFIX_PLUGIN + \"genie\",\n\t\t\tpattern = [];\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\t\tif (validatorIsObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\tfunctionIterate(options, addPattern)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on(EVENT_PRE_RESOLVE, function (dependencies, context) {\n\t\t\t\tfor (var dependency, pattern, bundles = {}, i = 0; dependency = dependencies[i]; i++)\n\t\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context))\n\t\t\t\t\t\tif (\"module\" === (dependency = new ClassDependency(dependency, context, FALSE))\n\t\t\t\t\t\t\t.type && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency))(bundles[pattern.prefix] || (bundles[pattern.prefix] = {\n\t\t\t\t\t\t\t\tfn: pattern.fn,\n\t\t\t\t\t\t\t\tmatches: []\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t.matches.push(dependency);\n\t\t\t\tfunctionIterate(bundles, resolveBundles)\n\t\t\t});\n\t\treturn TRUE\n\t}();\n\tqueue = new ClassQueue;\n\tprocessor = new ClassProcessor(queue);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"uuid\", AbstractUuid);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"handler\", abstractHandler);\n\tassignModule(MODULE_PREFIX_HANDLER + \"module\", handlerModule);\n\tassignModule(MODULE_PREFIX_HANDLER + \"bundle\", handlerBundle);\n\tassignModule(MODULE_PREFIX_HANDLER + \"component\", handlerComponent);\n\tassignModule(MODULE_PREFIX_PLUGIN + \"genie\", pluginGenie);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isTypeOf\", validatorIsTypeOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isArray\", validatorIsArray);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isObject\", validatorIsObject);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isInstanceOf\", validatorIsInstanceOf);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveUrl\", functionResolveUrl);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveSourcemaps\", functionResolveSourcemaps);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"merge\", functionMerge);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"iterate\", functionIterate);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"hash\", functionHash);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"defer\", functionDefer);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"uuid\", functionUuid);\n\tassignModule(MODULE_PREFIX + \"weakmap\", ClassWeakmap);\n\tassignModule(MODULE_PREFIX + \"descriptor\", ClassDescriptor);\n\tassignModule(MODULE_PREFIX + \"pledge\", ClassPledge);\n\tassignModule(MODULE_PREFIX + \"queue\", ClassQueue);\n\tassignModule(MODULE_PREFIX + \"xhr\", ClassXhr);\n\tassignModule(MODULE_PREFIX + \"failure\", ClassFailure);\n\tif (options && options.main) switch (typeof options.main) {\n\tcase STRING_STRING:\n\t\tdemand(options.main);\n\t\tbreak;\n\tcase STRING_FUNCTION:\n\t\tprovide(\"main\", options.main())\n\t}\n})(\"demand-loader\" === this.name ? parent : this, setTimeout, clearTimeout);\n"]} \ No newline at end of file +{"version":3,"sources":["demand.js"],"names":["global","setTimeout","clearTimeout","ClassDescriptor","value","writable","configurable","enumerable","__proto__","NULL","validatorIsTypeOf","object","type","validatorIsObject","STRING_OBJECT","validatorIsPositive","STRING_NUMBER","isFinite","Math","floor","validatorIsInstanceOf","module","functionIterate","source","callback","context","property","properties","keys","i","UNDEFINED","call","FALSE","functionToArray","arrayLikeObject","start","end","arrayPrototypeSlice","functionGetTimestamp","Date","functionResolveUrl","url","linkElement","href","functionResolvePath","uri","path","replace","regexMatchParameter","regexIsAbsolutePath","test","regexIsAbsoluteUri","regexMatchBaseUrl","functionResolveId","parameter","match","settings","handler","ClassFailure","message","stack","this","validatorIsArray","objectPrototypeToString","functionHash","input","length","charCodeAt","AbstractUuid","uuid","STRING_UNDEFINED","define","functionUuid","functionResolveSourcemaps","replacement","regexMatchSourcemap","exec","protocol","host","pathname","abstractHandler","assignModule","id","provide","demand","queue","processor","validatorIsSemver","functionMerge","functionDefer","singletonEvent","functionEscapeRegex","regexMatchInternal","ClassSemver","singletonCache","ClassWeakmap","ClassPledge","ClassRegistry","ClassDependency","ClassPattern","ClassXhr","ClassQueue","ClassProcessor","handlerModule","handlerBundle","handlerComponent","pluginGenie","regexMatchSemver","storage","element","fallback","hasSetImmediate","regexMatchRegex","XMLHttpRequest","XDomainRequest","document","options","version","cache","timeout","pattern","modules","DEMAND_ID","PROVIDE_ID","MODULE_PREFIX","MODULE_PREFIX_ABSTRACT","MODULE_PREFIX_HANDLER","MODULE_PREFIX_PLUGIN","MODULE_PREFIX_FUNCTION","MODULE_PREFIX_VALIDATOR","MOCK_PREFIX","TRUE","STRING_STRING","STRING_FUNCTION","EVENT_PREFIX","EVENT_POSTFIX","EVENT_CONFIGURE","EVENT_PRE_CONFIGURE","EVENT_POST_CONFIGURE","EVENT_CACHE","EVENT_CACHE_MISS","EVENT_CACHE_HIT","EVENT_CACHE_EXCEED","EVENT_RESOLVE","EVENT_PRE_RESOLVE","EVENT_POST_RESOLVE","EVENT_REQUEST","EVENT_PRE_REQUEST","EVENT_POST_REQUEST","EVENT_PROCESS","EVENT_PRE_PROCESS","EVENT_POST_PROCESS","EVENT_QUEUE_ENQUEUE","EVENT_QUEUE","ERROR_LOAD","ERROR_RESOLVE","arrayPrototype","Array","prototype","slice","arrayPrototypeConcat","concat","Object","toString","objectCreate","create","objectDefineProperty","defineProperty","objectGetOwnPropertyNames","getOwnPropertyNames","objectGetOwnPropertyDescriptor","getOwnPropertyDescriptor","createElement","strPrototype","objectDefine","name","functionExtends","self","names","constructor","e","TypeError","Function","mergeProperties","targetPropertyIsObject","targetProperty","target","arguments","randomize","character","r","random","regex","RegExp","fn","MutationObserver","observe","attributes","setAttribute","addEventListener","event","data","postMessage","onreadystatechange","parentNode","removeChild","body","appendChild","setImmediate","addListener","events","pointer","split","shift","regexMatchEvent","listener","on","after","push","filter","TYPE_ON","Event","emit","item","apply","compareLevel","a","b","temp","parts","parseInt","parse","major","minor","patch","identifier","join","compare","pa","pb","tpa","tpb","compareIdentifier","enabled","dependency","indexOf","weight","state","getKey","key","localStorage","getItem","setKey","getState","matches","regexMatchProperties","setState","Cache","clear","expired","bind","STORAGE_PREFIX","STORAGE_SUFFIX_STATE","STORAGE_SUFFIX_VALUE","regexMatchState","supportsLocalStorage","exception","supportsRemainingSpace","then","cacheDispose","set","get","lifetime","invalid","resolve","spaceBefore","remainingSpace","Error","error","all","WeakMap","getEntry","entry","prefix","delete","has","pledge","index","resolved","count","check","rejected","total","dfd","reject","executor","PLEDGE_PENDING","handle","result","PLEDGE_RESOLVED","PLEDGE_REJECTED","catch","always","alwaysListener","resolveListener","rejectListener","defer","isPending","isResolved","isRejected","pledges","race","remove","traverse","depth","indention","setProperty","add","matchInternal","addPending","addResolved","addRejected","list","registry","register","placeholder","mock","PREFIX_INTERNAL","pending","enqueue","isInternal","node","querySelector","regexMatchTrailingSlash","location","process","current","xhr","boundCheckState","readyState","abort","ontimeout","onerror","onabort","status","onprogress","onload","responseText","getResponseHeader","open","send","updateCacheSettings","updatePatternSettings","updateModuleSettings","dependencies","configure","base","min","max","response","validate","regexMatchEmptySearch","load","search","onPostRequest","onPreRequest","onPreProcess","isFunction","definition","console","/demand","dequeue","extends","HandlerModule","getElementsByTagName","regexMatchType","script","async","text","updateDependencies","HandlerBundle","getType","HandlerComponent","suffix","container","innerHTML","firstElementChild","getAttribute","textContent","matchPattern","addPattern","resolveBundles","JSON","stringify","bundle","configuration","/demand/handler/bundle","generateConfiguration","bundles","main","parent"],"mappings":"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","file":"demand.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (global, setTimeout, clearTimeout) {\n\t\"use strict\";\n\n\tfunction ClassDescriptor(value, writable, configurable, enumerable) {\n\t\treturn {\n\t\t\t__proto__: NULL,\n\t\t\tvalue: value,\n\t\t\tenumerable: !!enumerable,\n\t\t\tconfigurable: !!configurable,\n\t\t\twritable: !!writable\n\t\t}\n\t}\n\n\tfunction validatorIsTypeOf(object, type) {\n\t\treturn typeof object === type\n\t}\n\n\tfunction validatorIsObject(object) {\n\t\treturn object && validatorIsTypeOf(object, STRING_OBJECT)\n\t}\n\n\tfunction validatorIsPositive(value) {\n\t\treturn validatorIsTypeOf(value, STRING_NUMBER) && isFinite(value) && Math.floor(value) === value && value >= 0\n\t}\n\n\tfunction validatorIsInstanceOf(object, module) {\n\t\treturn object instanceof module\n\t}\n\n\tfunction functionIterate(source, callback, context) {\n\t\tfor (var property, properties = object.keys(source), i = 0;\n\t\t\t(property = properties[i]) !== UNDEFINED; i++)\n\t\t\tif (callback.call(context, property, source[property]) === FALSE) break;\n\t\treturn context\n\t}\n\n\tfunction functionToArray(arrayLikeObject, start, end) {\n\t\treturn arrayPrototypeSlice.call(arrayLikeObject, start, end)\n\t}\n\n\tfunction functionGetTimestamp() {\n\t\treturn +new Date\n\t}\n\n\tfunction functionResolveUrl(url) {\n\t\tlinkElement.href = url;\n\t\treturn linkElement.href\n\t}\n\n\tfunction functionResolvePath(uri, context) {\n\t\tvar path = uri.replace(regexMatchParameter, \"\");\n\t\tif (!regexIsAbsolutePath.test(path) && !regexIsAbsoluteUri.test(path)) path = \"/\" + functionResolveUrl((context && functionResolveUrl(context + \"/../\") || \"/\") + path)\n\t\t\t.replace(regexMatchBaseUrl, \"\");\n\t\treturn path\n\t}\n\n\tfunction functionResolveId(uri, context) {\n\t\tvar parameter = uri.match(regexMatchParameter);\n\t\treturn (parameter && parameter[1] ? \"mock:\" : \"\") + (parameter && parameter[3] || settings.handler) + \"!\" + functionResolvePath(uri, context)\n\t}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction ClassLoader(dependency) {\n\t\tfunction resolve(response, type) {\n\t\t\tif (!type || !dependency.handler.validate || dependency.handler.validate(type)) {\n\t\t\t\tdependency.source = response;\n\t\t\t\tsingletonEvent.emit(EVENT_POST_REQUEST, dependency.type, dependency)\n\t\t\t} else dependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (content-type)\", dependency.id))\n\t\t}\n\n\t\tfunction reject(status) {\n\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + (status ? \" (status)\" : \"\"), dependency.id))\n\t\t}\n\n\t\tfunction load(location) {\n\t\t\tlocation = location || 0;\n\t\t\tdependency.url = document.createElement(\"a\");\n\t\t\tdependency.url.href = pattern ? functionResolveUrl(pattern.process(dependency.path, location)) : dependency.path;\n\t\t\tif (dependency.invalid) dependency.url.search += (regexMatchEmptySearch.test(dependency.url.search) ? \"\" : \"&\") + functionGetTimestamp();\n\t\t\tsingletonEvent.emit(EVENT_PRE_REQUEST, dependency.type, dependency);\n\t\t\tnew ClassXhr(dependency.url)\n\t\t\t\t.then(resolve, pattern ? function () {\n\t\t\t\t\tlocation++;\n\t\t\t\t\tif (pattern.location[location]) load(location);\n\t\t\t\t\telse reject()\n\t\t\t\t} : reject)\n\t\t}\n\t\tvar pattern, regexMatchEmptySearch = /^(?:\\?|)$/;\n\t\tif (!regexIsAbsoluteUri.test(dependency.path)) functionIterate(settings.pattern, function (property, value) {\n\t\t\tvalue.matches(dependency.path) && (!pattern || pattern.weight < value.weight) && (pattern = value)\n\t\t});\n\t\tload()\n\t}\n\n\tfunction validatorIsArray(value) {\n\t\treturn \"[object Array]\" === objectPrototypeToString.call(value)\n\t}\n\n\tfunction functionHash(input) {\n\t\tvar value = 5381,\n\t\t\ti = input.length;\n\t\twhile (i) value = 33 * value ^ input.charCodeAt(--i);\n\t\treturn value >>> 0\n\t}\n\n\tfunction AbstractUuid() {\n\t\tif (validatorIsTypeOf(this.uuid, STRING_UNDEFINED)) this.define(\"uuid\", functionUuid());\n\t\treturn this\n\t}\n\n\tfunction functionResolveSourcemaps(url, source) {\n\t\tvar match, replacement;\n\t\twhile (match = regexMatchSourcemap.exec(source)) {\n\t\t\tlinkElement.href = url;\n\t\t\tif (regexIsAbsoluteUri.test(match[2])) replacement = linkElement.protocol + \"//\" + linkElement.host + match[3];\n\t\t\telse {\n\t\t\t\tlinkElement.pathname += \"/../\" + match[3];\n\t\t\t\treplacement = linkElement.protocol + \"//\" + linkElement.host + linkElement.pathname\n\t\t\t}\n\t\t\tsource = source.replace(match[0], match[1] + \" \" + match[2] + \"=\" + replacement + \".map\" + (match[4] ? \" \" + match[4] : \"\"))\n\t\t}\n\t\treturn source\n\t}\n\n\tfunction abstractHandler() {}\n\n\tfunction ClassFailure(message, module, stack) {\n\t\tvar self = this;\n\t\tself.message = message;\n\t\tmodule && (self.module = module);\n\t\tstack && (self.stack = functionToArray(stack));\n\t\treturn self\n\t}\n\n\tfunction assignModule(id, module) {\n\t\tprovide(id, function () {\n\t\t\treturn module\n\t\t})\n\t}\n\tvar demand, provide, queue, processor, validatorIsSemver, functionMerge, functionUuid, functionDefer, singletonEvent, functionEscapeRegex, regexIsAbsoluteUri, regexIsAbsolutePath, regexMatchSourcemap, regexMatchBaseUrl, regexMatchInternal, regexMatchParameter, ClassSemver, singletonCache, ClassWeakmap, ClassPledge, ClassRegistry, ClassDependency, ClassPattern, ClassXhr, ClassQueue, ClassProcessor, handlerModule, handlerBundle, handlerComponent, pluginGenie, document = global.document,\n\t\toptions = \"demand\" in global && global.demand,\n\t\tsettings = {\n\t\t\tversion: \"1.0.0\",\n\t\t\tcache: {},\n\t\t\ttimeout: 8e3,\n\t\t\tpattern: {},\n\t\t\tmodules: {},\n\t\t\thandler: \"module\"\n\t\t},\n\t\tDEMAND_ID = \"demand\",\n\t\tPROVIDE_ID = \"provide\",\n\t\tPATH_ID = \"path\",\n\t\tMODULE_PREFIX = \"/\" + DEMAND_ID + \"/\",\n\t\tMODULE_PREFIX_ABSTRACT = MODULE_PREFIX + \"abstract/\",\n\t\tMODULE_PREFIX_HANDLER = MODULE_PREFIX + \"handler/\",\n\t\tMODULE_PREFIX_PLUGIN = MODULE_PREFIX + \"plugin/\",\n\t\tMODULE_PREFIX_FUNCTION = MODULE_PREFIX + \"function/\",\n\t\tMODULE_PREFIX_VALIDATOR = MODULE_PREFIX + \"validator/\",\n\t\tMOCK_PREFIX = \"mock:\",\n\t\tNULL = null,\n\t\tUNDEFINED = void 0,\n\t\tFALSE = false,\n\t\tTRUE = true,\n\t\tSTRING_UNDEFINED = \"undefined\",\n\t\tSTRING_STRING = \"string\",\n\t\tSTRING_BOOLEAN = \"boolean\",\n\t\tSTRING_OBJECT = \"object\",\n\t\tSTRING_FUNCTION = \"function\",\n\t\tSTRING_NUMBER = \"number\",\n\t\tEVENT_PREFIX = \"pre\",\n\t\tEVENT_POSTFIX = \"post\",\n\t\tEVENT_CONFIGURE = \"Configure\",\n\t\tEVENT_PRE_CONFIGURE = EVENT_PREFIX + EVENT_CONFIGURE,\n\t\tEVENT_POST_CONFIGURE = EVENT_POSTFIX + EVENT_CONFIGURE,\n\t\tEVENT_CACHE = \"cache\",\n\t\tEVENT_CACHE_MISS = EVENT_CACHE + \"Miss\",\n\t\tEVENT_CACHE_HIT = EVENT_CACHE + \"Hit\",\n\t\tEVENT_CACHE_CLEAR = EVENT_CACHE + \"Clear\",\n\t\tEVENT_CACHE_EXCEED = EVENT_CACHE + \"Exceed\",\n\t\tEVENT_PRE_CACHE = EVENT_PREFIX + \"Cache\",\n\t\tEVENT_POST_CACHE = EVENT_POSTFIX + \"Cache\",\n\t\tEVENT_RESOLVE = \"Resolve\",\n\t\tEVENT_PRE_RESOLVE = EVENT_PREFIX + EVENT_RESOLVE,\n\t\tEVENT_POST_RESOLVE = EVENT_POSTFIX + EVENT_RESOLVE,\n\t\tEVENT_REQUEST = \"Request\",\n\t\tEVENT_PRE_REQUEST = EVENT_PREFIX + EVENT_REQUEST,\n\t\tEVENT_POST_REQUEST = EVENT_POSTFIX + EVENT_REQUEST,\n\t\tEVENT_PROCESS = \"Process\",\n\t\tEVENT_PRE_PROCESS = EVENT_PREFIX + EVENT_PROCESS,\n\t\tEVENT_POST_PROCESS = EVENT_POSTFIX + EVENT_PROCESS,\n\t\tEVENT_QUEUE = \"queue\",\n\t\tEVENT_QUEUE_ENQUEUE = EVENT_QUEUE + \"Enqueue\",\n\t\tEVENT_QUEUE_DEQUEUE = EVENT_QUEUE + \"Dequeue\",\n\t\tERROR_LOAD = \"error loading\",\n\t\tERROR_PROVIDE = \"error providing\",\n\t\tERROR_RESOLVE = \"error resolving\",\n\t\tERROR_PROVIDE_ANONYMOUS = \"unspecified anonymous provide\",\n\t\tarrayPrototype = Array.prototype,\n\t\tarrayPrototypeSlice = arrayPrototype.slice,\n\t\tarrayPrototypeConcat = arrayPrototype.concat,\n\t\tobject = Object,\n\t\tobjectPrototypeToString = object.prototype.toString,\n\t\tobjectCreate = object.create,\n\t\tobjectDefineProperty = object.defineProperty,\n\t\tobjectGetOwnPropertyNames = object.getOwnPropertyNames,\n\t\tobjectGetOwnPropertyDescriptor = object.getOwnPropertyDescriptor,\n\t\tlinkElement = document.createElement(\"a\");\n\t(function (strPrototype) {\n\t\tfunction objectDefine(name, value, writable, configurable, enumerable) {\n\t\t\tobjectDefineProperty(this, name, new ClassDescriptor(value, writable, configurable, enumerable))\n\t\t}\n\n\t\tfunction functionExtends(source) {\n\t\t\tfor (var property, self = this, prototype = self[strPrototype], names = objectGetOwnPropertyNames(prototype), properties = {\n\t\t\t\t\tconstructor: new ClassDescriptor(self, TRUE, TRUE)\n\t\t\t\t}, i = 0;\n\t\t\t\t(property = names[i]) && !properties[property]; i++) properties[property] = objectGetOwnPropertyDescriptor(prototype, property);\n\t\t\ttry {\n\t\t\t\tself[strPrototype] = objectCreate(source[strPrototype] || source, properties)\n\t\t\t} catch (e) {}\n\t\t\tif (self[strPrototype] === prototype) throw new TypeError(\"Unable to extend, prototype is not writable\");\n\t\t\treturn self\n\t\t}\n\t\tobjectDefine.call(Object.prototype, \"define\", objectDefine);\n\t\tobjectDefine.call(global.Object.prototype, \"define\", objectDefine);\n\t\tFunction.prototype.define(\"extends\", functionExtends);\n\t\tglobal.Function.prototype.define(\"extends\", functionExtends)\n\t})(\"prototype\");\n\tvalidatorIsSemver = function () {\n\t\tvar regexMatchSemver = /^\\bv?(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[\\da-z-]+(?:\\.[\\da-z-]+)*)?(?:\\+[\\da-z-]+(?:\\.[\\da-z-]+)*)?\\b$/i;\n\t\treturn function (value) {\n\t\t\treturn validatorIsTypeOf(value, STRING_STRING) && regexMatchSemver.test(value)\n\t\t}\n\t}();\n\tfunctionMerge = function () {\n\t\tfunction mergeProperties(property, value) {\n\t\t\tvar targetPropertyIsObject, targetProperty = this[property];\n\t\t\tif (value !== UNDEFINED)\n\t\t\t\tif (validatorIsObject(value)) {\n\t\t\t\t\ttargetPropertyIsObject = validatorIsObject(targetProperty);\n\t\t\t\t\tif (value.length !== UNDEFINED) targetProperty = targetPropertyIsObject && targetProperty.length !== UNDEFINED ? targetProperty : [];\n\t\t\t\t\telse targetProperty = targetPropertyIsObject && targetProperty.length === UNDEFINED ? targetProperty : {};\n\t\t\t\t\tthis[property] = functionMerge(targetProperty, value)\n\t\t\t\t} else this[property] = value\n\t\t}\n\t\treturn function () {\n\t\t\tfor (var properties, target = arguments[0], i = 1;\n\t\t\t\t(properties = arguments[i]) !== UNDEFINED; i++) functionIterate(properties, mergeProperties, target);\n\t\t\treturn target\n\t\t}\n\t}();\n\tfunctionUuid = function () {\n\t\tfunction randomize(character) {\n\t\t\tvar r = 16 * Math.random() | 0;\n\t\t\treturn (\"x\" === character ? r : 3 & r | 8)\n\t\t\t\t.toString(16)\n\t\t}\n\t\tvar regex = new RegExp(\"[xy]\", \"g\");\n\t\treturn function () {\n\t\t\treturn \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(regex, randomize)\n\t\t}\n\t}();\n\tfunctionDefer = function () {\n\t\tvar element, fallback, hasSetImmediate = \"setImmediate\" in global;\n\t\tif (\"MutationObserver\" in global) return function (fn) {\n\t\t\telement = document.createElement(\"div\");\n\t\t\tnew MutationObserver(function () {\n\t\t\t\t\tfn()\n\t\t\t\t})\n\t\t\t\t.observe(element, {\n\t\t\t\t\tattributes: TRUE\n\t\t\t\t});\n\t\t\telement.setAttribute(\"i\", \"1\")\n\t\t};\n\t\tif (!hasSetImmediate && \"postMessage\" in global && !(\"importScripts\" in global) && \"addEventListener\" in global) return function () {\n\t\t\tfunction onMessage(event) {\n\t\t\t\tvar fn;\n\t\t\t\tif (event.source === global && event.data && (fn = storage[event.data])) {\n\t\t\t\t\tfn();\n\t\t\t\t\tdelete storage[event.data]\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar storage = {};\n\t\t\tglobal.addEventListener(\"message\", onMessage, FALSE);\n\t\t\treturn function (fn) {\n\t\t\t\tvar uuid = functionUuid();\n\t\t\t\tstorage[uuid] = fn;\n\t\t\t\tglobal.postMessage(uuid, \"*\")\n\t\t\t}\n\t\t}();\n\t\tif (!hasSetImmediate && \"onreadystatechange\" in (element = document.createElement(\"script\"))) return function (fn) {\n\t\t\telement.onreadystatechange = function () {\n\t\t\t\telement.onreadystatechange = NULL;\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t\tfn()\n\t\t\t};\n\t\t\tdocument.body.appendChild(element)\n\t\t};\n\t\tfallback = hasSetImmediate ? setImmediate : setTimeout;\n\t\treturn function (fn) {\n\t\t\tfallback(fn)\n\t\t}\n\t}();\n\tsingletonEvent = function () {\n\t\tfunction addListener(type, events, callback) {\n\t\t\tvar event, pointer;\n\t\t\tif (validatorIsTypeOf(events, STRING_STRING) && validatorIsTypeOf(callback, STRING_FUNCTION)) {\n\t\t\t\tevents = events.split(\" \");\n\t\t\t\twhile (event = events.shift()) {\n\t\t\t\t\tevent = event.split(\":\");\n\t\t\t\t\tif (regexMatchEvent.test(event[0])) {\n\t\t\t\t\t\t(listener[event[0]] || (listener[event[0]] = {\n\t\t\t\t\t\t\ton: [],\n\t\t\t\t\t\t\tafter: []\n\t\t\t\t\t\t}))[type].push({\n\t\t\t\t\t\t\tcallback: callback,\n\t\t\t\t\t\t\tfilter: event[1]\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (type === TYPE_ON && event[0] === EVENT_POST_CONFIGURE && (pointer = settings.modules[event[1]])) callback(pointer)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction Event() {}\n\t\tvar TYPE_ON = \"on\",\n\t\t\tTYPE_AFTER = \"after\",\n\t\t\tregexMatchEvent = /^cache(Miss|Hit|Clear|Exceed)|queue(En|De)queue|(pre|post)(Resolve|Configure|Request|Process|Cache)$/,\n\t\t\tlistener = {};\n\t\tEvent.prototype = {\n\t\t\temit: function (event, filter) {\n\t\t\t\tvar parameter, i, item, pointer = listener[event];\n\t\t\t\tif (pointer) {\n\t\t\t\t\tparameter = functionToArray(arguments, 2);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_ON][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter);\n\t\t\t\t\tfor (i = 0; item = pointer[TYPE_AFTER][i]; i++)\n\t\t\t\t\t\tif (!item.filter || item.filter === filter) item.callback.apply(NULL, parameter)\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t},\n\t\t\ton: function (events, callback) {\n\t\t\t\taddListener(TYPE_ON, events, callback);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tafter: function (events, callback) {\n\t\t\t\taddListener(TYPE_AFTER, events, callback);\n\t\t\t\treturn this\n\t\t\t}\n\t\t};\n\t\treturn new Event\n\t}();\n\tfunctionEscapeRegex = function () {\n\t\tvar regexMatchRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n\t\treturn function (value) {\n\t\t\treturn value.replace(regexMatchRegex, \"\\\\$&\")\n\t\t}\n\t}();\n\tregexIsAbsoluteUri = /^(http(s?):)?\\/\\//i, regexIsAbsolutePath = /^\\//, regexMatchSourcemap = /((?:\\/\\/|\\/\\*)#)\\s*(sourceMappingURL)\\s*=\\s*(?!(?:http[s]?:)?\\/\\/)(.+?)\\.map(?:\\s+)?(\\*\\/)?/g, regexMatchBaseUrl = new RegExp(\"^\" + functionEscapeRegex(functionResolveUrl(\"/\"))), regexMatchInternal = new RegExp(\"^\" + DEMAND_ID + \"|\" + PROVIDE_ID + \"|\" + PATH_ID + \"$\"), regexMatchParameter = /^(mock:)?([+-])?((?:[-\\w]+\\/?)+)?(?:@(.+?))?(?:#(\\d+))?!/;\n\tClassSemver = function () {\n\t\tfunction parse(version) {\n\t\t\tvar temp, parts = version.split(\"-\"),\n\t\t\t\ti = 0;\n\t\t\tparts = !parts[1] ? parts[0].split(\".\") : Array.prototype.concat(parts[0].split(\".\"), parts[1].split(\".\"));\n\t\t\tfor (; temp = parts[i]; i++) parts[i] = parseInt(temp, 10)\n\t\t\t\t.toString() === temp ? parseInt(temp, 10) : temp;\n\t\t\treturn parts\n\t\t}\n\n\t\tfunction compareLevel(a, b) {\n\t\t\treturn a < b ? -1 : a > b ? 1 : 0\n\t\t}\n\n\t\tfunction compareIdentifier(a, b) {\n\t\t\tvar pa, pb, tpa, tpb, i = 0;\n\t\t\tif (a.length && !b.length) return -1;\n\t\t\telse if (!a.length && b.length) return 1;\n\t\t\telse if (!a.length && !b.length) return 0;\n\t\t\tdo {\n\t\t\t\tpa = a[i];\n\t\t\t\ttpb = typeof (pb = b[i]);\n\t\t\t\tif ((tpa = typeof pa) === STRING_UNDEFINED && tpb === STRING_UNDEFINED) return 0;\n\t\t\t\telse if (tpb === STRING_UNDEFINED) return 1;\n\t\t\t\telse if (tpa === STRING_UNDEFINED) return -1;\n\t\t\t\telse if (pa === pb) continue;\n\t\t\t\telse if (tpa === STRING_STRING && tpb !== STRING_STRING) return 1;\n\t\t\t\telse if (tpa !== STRING_STRING && tpb === STRING_STRING) return -1;\n\t\t\t\telse if (pa > pb) return 1;\n\t\t\t\telse if (pa < pb) return -1\n\t\t\t} while (++i)\n\t\t}\n\n\t\tfunction ClassSemver(version) {\n\t\t\tif (!validatorIsSemver(version)) throw new TypeError('\"version\" must be a valid semver version string');\n\t\t\tversion = parse(version);\n\t\t\tthis.major = version.slice(0, 1);\n\t\t\tthis.minor = version.slice(1, 2);\n\t\t\tthis.patch = version.slice(2, 3);\n\t\t\tthis.identifier = version.slice(3)\n\t\t}\n\t\tClassSemver.prototype = {\n\t\t\ttoString: function () {\n\t\t\t\treturn this.major + \".\" + this.minor + \".\" + this.patch + (this.identifier.length ? \"-\" + this.identifier.join(\".\") : \"\")\n\t\t\t},\n\t\t\tcompare: function (version) {\n\t\t\t\treturn compareLevel(this.major, version.major) || compareLevel(this.minor, version.minor) || compareLevel(this.patch, version.patch) || compareIdentifier(this.identifier, version.identifier)\n\t\t\t}\n\t\t};\n\t\treturn ClassSemver\n\t}();\n\tsingletonCache = function () {\n\t\tfunction enabled(dependency) {\n\t\t\tvar match;\n\t\t\tif (dependency.cache !== NULL) return dependency.cache;\n\t\t\tfunctionIterate(settings.cache, function (property, value) {\n\t\t\t\tif (0 === dependency.path.indexOf(property) && (!match || value.weight > match.weight)) match = value\n\t\t\t});\n\t\t\treturn match ? match.state : FALSE\n\t\t}\n\n\t\tfunction getKey(key) {\n\t\t\treturn localStorage.getItem(key)\n\t\t}\n\n\t\tfunction setKey(key, value) {\n\t\t\tlocalStorage[value ? \"setItem\" : \"removeItem\"](key, value)\n\t\t}\n\n\t\tfunction getState(key) {\n\t\t\tvar matches, state = getKey(key);\n\t\t\tif (state && (matches = state.match(regexMatchProperties))) return functionToArray(matches, 1)\n\t\t}\n\n\t\tfunction setState(key, state) {\n\t\t\tstate[4] = functionGetTimestamp();\n\t\t\tsetKey(key, state.join(\",\"))\n\t\t}\n\n\t\tfunction emit(event, dependency, state) {\n\t\t\tsingletonEvent.emit(event, dependency.id, dependency, state)\n\t\t}\n\n\t\tfunction Cache() {\n\t\t\tfunctionDefer(this.clear.expired.bind(this.clear))\n\t\t}\n\t\tvar cache, STORAGE_PREFIX = \"[\" + DEMAND_ID + \"]\",\n\t\t\tSTORAGE_SUFFIX_STATE = \"[state]\",\n\t\t\tSTORAGE_SUFFIX_VALUE = \"[value]\",\n\t\t\tregexMatchState = new RegExp(\"^\" + functionEscapeRegex(STORAGE_PREFIX) + \"\\\\[(.+?)\\\\]\" + functionEscapeRegex(STORAGE_SUFFIX_STATE) + \"$\"),\n\t\t\tregexMatchProperties = /^(.+?),(\\d+),(\\d*),(.+?),(\\d+)$/,\n\t\t\tsupportsLocalStorage = function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn \"localStorage\" in global && global.localStorage\n\t\t\t\t} catch (exception) {\n\t\t\t\t\treturn FALSE\n\t\t\t\t}\n\t\t\t}(),\n\t\t\tlocalStorage = supportsLocalStorage ? global.localStorage : NULL,\n\t\t\tsupportsRemainingSpace = supportsLocalStorage && \"remainingSpace\" in localStorage,\n\t\t\tstorage = {};\n\t\tsingletonEvent.on(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tfunctionDefer(function () {\n\t\t\t\t\tcache.clear(dependency.id)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_CACHE_EXCEED, function (dependency) {\n\t\t\t\tdemand(\"-!/\" + DEMAND_ID + \"/cache/dispose\")\n\t\t\t\t\t.then(function (cacheDispose) {\n\t\t\t\t\t\tfunctionDefer(function () {\n\t\t\t\t\t\t\tcacheDispose(dependency.source.length);\n\t\t\t\t\t\t\tcache.set(dependency)\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t})\n\t\t\t.on(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tif (dependency.source && enabled(dependency)) storage[dependency.id] = TRUE\n\t\t\t})\n\t\t\t.after(EVENT_POST_PROCESS, function (dependency) {\n\t\t\t\tif (storage[dependency.id]) functionDefer(function () {\n\t\t\t\t\tcache.set(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\tCache.prototype = {\n\t\t\tget: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar id, state;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\tif (!(state = getState(id + STORAGE_SUFFIX_STATE))) return;\n\t\t\t\t\tif (1 === dependency.version.compare(new ClassSemver(state[0])) || state[2] && dependency.lifetime && state[2] <= functionGetTimestamp()) {\n\t\t\t\t\t\tdependency.invalid = true;\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tdependency.source = getKey(id + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\tfunctionDefer(function () {\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state)\n\t\t\t\t\t});\n\t\t\t\t\treturn TRUE\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tresolve: supportsLocalStorage ? function (dependency) {\n\t\t\t\tif (this.get(dependency)) emit(EVENT_CACHE_HIT, dependency);\n\t\t\t\telse emit(EVENT_CACHE_MISS, dependency)\n\t\t\t} : function (dependency) {\n\t\t\t\temit(EVENT_CACHE_MISS, dependency)\n\t\t\t},\n\t\t\tset: supportsLocalStorage ? function (dependency) {\n\t\t\t\tvar state, id, spaceBefore;\n\t\t\t\tif (enabled(dependency)) {\n\t\t\t\t\tstate = [dependency.version, dependency.source.length, dependency.lifetime ? functionGetTimestamp() + dependency.lifetime : NULL, demand.version];\n\t\t\t\t\tid = STORAGE_PREFIX + \"[\" + dependency.id + \"]\";\n\t\t\t\t\temit(EVENT_PRE_CACHE, dependency, state);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tspaceBefore = supportsRemainingSpace ? localStorage.remainingSpace : NULL;\n\t\t\t\t\t\tsetKey(id + STORAGE_SUFFIX_VALUE, dependency.source);\n\t\t\t\t\t\tsetState(id + STORAGE_SUFFIX_STATE, state);\n\t\t\t\t\t\tif (spaceBefore !== NULL && localStorage.remainingSpace === spaceBefore) throw new Error;\n\t\t\t\t\t\temit(EVENT_POST_CACHE, dependency, state)\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\temit(EVENT_CACHE_EXCEED, dependency)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} : function () {},\n\t\t\tclear: supportsLocalStorage ? function (path) {\n\t\t\t\tvar id = functionResolveId(path),\n\t\t\t\t\tkey = STORAGE_PREFIX + \"[\" + id + \"]\";\n\t\t\t\tif (getKey(key + STORAGE_SUFFIX_STATE)) {\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_STATE);\n\t\t\t\t\tsetKey(key + STORAGE_SUFFIX_VALUE);\n\t\t\t\t\temit(EVENT_CACHE_CLEAR, ClassDependency.get(id) || new ClassDependency(id, NULL, FALSE))\n\t\t\t\t}\n\t\t\t} : function () {}\n\t\t};\n\t\tCache.prototype.clear.all = supportsLocalStorage ? function () {\n\t\t\tvar match;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\t(match = property.match(regexMatchState)) && this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\tCache.prototype.clear.expired = supportsLocalStorage ? function () {\n\t\t\tvar match, state;\n\t\t\tfunctionIterate(localStorage, function (property) {\n\t\t\t\tif (match = property.match(regexMatchState))\n\t\t\t\t\tif ((state = getState(STORAGE_PREFIX + \"[\" + match[1] + \"]\" + STORAGE_SUFFIX_STATE)) && state[2] > 0 && state[2] <= functionGetTimestamp()) this(match[1])\n\t\t\t}, this)\n\t\t} : function () {};\n\t\treturn cache = new Cache\n\t}();\n\tClassWeakmap = \"WeakMap\" in global ? global.WeakMap : function () {\n\t\tfunction getEntry(context, key) {\n\t\t\tvar entry;\n\t\t\tif ((entry = key[context.id]) && entry[0] === key) return entry\n\t\t}\n\n\t\tfunction ClassWeakmap() {\n\t\t\tthis.define(\"id\", prefix + functionUuid())\n\t\t}\n\t\tvar prefix = \"weakmap-\";\n\t\tClassWeakmap.prototype = {\n\t\t\tset: function (key, value) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) entry[1] = value;\n\t\t\t\telse key.define(this.id, [key, value]);\n\t\t\t\treturn this\n\t\t\t},\n\t\t\tget: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) return entry[1]\n\t\t\t},\n\t\t\tdelete: function (key) {\n\t\t\t\tvar entry = getEntry(this, key);\n\t\t\t\tif (entry) {\n\t\t\t\t\tentry.length = 0;\n\t\t\t\t\tdelete key[this.id]\n\t\t\t\t}\n\t\t\t},\n\t\t\thas: function (key) {\n\t\t\t\treturn !!getEntry(this, key)\n\t\t\t}\n\t\t};\n\t\treturn ClassWeakmap\n\t}();\n\tClassPledge = function () {\n\t\tfunction resolve() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_RESOLVED, arguments)\n\t\t}\n\n\t\tfunction reject() {\n\t\t\tstorage.get(this)\n\t\t\t\t.handle(PLEDGE_REJECTED, arguments)\n\t\t}\n\n\t\tfunction handle(state, parameter) {\n\t\t\tvar pointer, result, properties = storage.get(this);\n\t\t\tif (properties.state === PLEDGE_PENDING) {\n\t\t\t\tproperties.state = state;\n\t\t\t\tproperties.value = parameter\n\t\t\t}\n\t\t\twhile (pointer = properties[properties.state].shift())\n\t\t\t\tif ((result = pointer.handler.apply(NULL, properties.value)) && \"function\" === typeof result.then) result.then(pointer.dfd.resolve, pointer.dfd.reject);\n\t\t\t\telse pointer.dfd[properties.state === PLEDGE_RESOLVED ? \"resolve\" : \"reject\"].apply(NULL, properties.value);\n\t\t\tproperties[PLEDGE_RESOLVED].length = 0;\n\t\t\tproperties[PLEDGE_REJECTED].length = 0\n\t\t}\n\n\t\tfunction observe(pledge, index, properties) {\n\t\t\tpledge.then(function () {\n\t\t\t\tproperties.resolved[index] = functionToArray(arguments);\n\t\t\t\tproperties.count++;\n\t\t\t\tcheck(properties)\n\t\t\t}, function () {\n\t\t\t\tproperties.rejected.push(functionToArray(arguments));\n\t\t\t\tcheck(properties)\n\t\t\t})\n\t\t}\n\n\t\tfunction check(properties) {\n\t\t\tif (properties.count === properties.total) properties.dfd.resolve.apply(NULL, arrayPrototypeConcat.apply([], properties.resolved));\n\t\t\telse if (properties.rejected.length + properties.count === properties.total) properties.dfd.reject.apply(NULL, arrayPrototypeConcat.apply([], properties.rejected))\n\t\t}\n\n\t\tfunction ClassPledge(executor) {\n\t\t\tvar self = this;\n\t\t\tstorage.set(self, {\n\t\t\t\tstate: PLEDGE_PENDING,\n\t\t\t\thandle: handle.bind(self),\n\t\t\t\tvalue: NULL,\n\t\t\t\tresolved: [],\n\t\t\t\trejected: [],\n\t\t\t\tcount: 0\n\t\t\t});\n\t\t\texecutor(resolve.bind(self), reject.bind(self));\n\t\t\treturn self\n\t\t}\n\t\tvar PLEDGE_PENDING = \"pending\",\n\t\t\tPLEDGE_RESOLVED = \"resolved\",\n\t\t\tPLEDGE_REJECTED = \"rejected\",\n\t\t\tstorage = new ClassWeakmap;\n\t\tClassPledge.prototype = {\n\t\t\tcatch: function (listener) {\n\t\t\t\treturn this.then(function () {}, listener)\n\t\t\t},\n\t\t\talways: function (alwaysListener) {\n\t\t\t\treturn this.then(alwaysListener, alwaysListener)\n\t\t\t},\n\t\t\tthen: function (resolveListener, rejectListener) {\n\t\t\t\tvar properties = storage.get(this),\n\t\t\t\t\tdfd = ClassPledge.defer();\n\t\t\t\tresolveListener && properties[PLEDGE_RESOLVED].push({\n\t\t\t\t\thandler: resolveListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\trejectListener && properties[PLEDGE_REJECTED].push({\n\t\t\t\t\thandler: rejectListener,\n\t\t\t\t\tdfd: dfd\n\t\t\t\t});\n\t\t\t\tif (properties.state !== PLEDGE_PENDING) functionDefer(properties.handle);\n\t\t\t\treturn dfd.pledge\n\t\t\t},\n\t\t\tisPending: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_PENDING\n\t\t\t},\n\t\t\tisResolved: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_RESOLVED\n\t\t\t},\n\t\t\tisRejected: function () {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.state === PLEDGE_REJECTED\n\t\t\t}\n\t\t};\n\t\tClassPledge.defer = function () {\n\t\t\tvar self = {};\n\t\t\tself.pledge = new ClassPledge(function (resolveListener, rejectListener) {\n\t\t\t\tself.resolve = resolveListener;\n\t\t\t\tself.reject = rejectListener\n\t\t\t});\n\t\t\treturn self\n\t\t};\n\t\tClassPledge.all = function (pledges) {\n\t\t\tvar properties, pledge, dfd = ClassPledge.defer(),\n\t\t\t\ti = 0;\n\t\t\tif (pledges.length) {\n\t\t\t\tproperties = {\n\t\t\t\t\tdfd: dfd,\n\t\t\t\t\tresolved: [],\n\t\t\t\t\trejected: [],\n\t\t\t\t\ttotal: pledges.length,\n\t\t\t\t\tcount: 0\n\t\t\t\t};\n\t\t\t\tfor (; pledge = pledges[i]; i++) observe(pledge, i, properties)\n\t\t\t} else dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\tClassPledge.race = function (pledges) {\n\t\t\tfor (var pledge, dfd = ClassPledge.defer(), i = 0; pledge = pledges[i]; i++) pledge.then(dfd.resolve, dfd.reject);\n\t\t\tif (!pledges.length) dfd.resolve();\n\t\t\treturn dfd.pledge\n\t\t};\n\t\treturn ClassPledge\n\t}();\n\tClassRegistry = function () {\n\t\tfunction ClassRegistry() {\n\t\t\tstorage.set(this, {})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassRegistry.prototype = {\n\t\t\tget: function (key) {\n\t\t\t\treturn key ? storage.get(this)[key] : storage.get(this)\n\t\t\t},\n\t\t\tset: function (key, value) {\n\t\t\t\tstorage.get(this)[key] = value\n\t\t\t},\n\t\t\tremove: function (key) {\n\t\t\t\tdelete storage.get(this)[key]\n\t\t\t}\n\t\t};\n\t\treturn ClassRegistry\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\tClassDependency = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = value\n\t\t}\n\n\t\tfunction add(id) {\n\t\t\tif (!matchInternal.test(id)) this.push(id)\n\t\t}\n\n\t\tfunction addPending(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isPending()) this.push(id)\n\t\t}\n\n\t\tfunction addResolved(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isResolved()) this.push(id)\n\t\t}\n\n\t\tfunction addRejected(id, dependency) {\n\t\t\tif (!matchInternal.test(id) && dependency.pledge.isRejected()) this.push(id)\n\t\t}\n\n\t\tfunction list() {\n\t\t\treturn functionIterate(registry.get(), add, [])\n\t\t}\n\n\t\tfunction ClassDependency(uri, context, register) {\n\t\t\tvar self = this,\n\t\t\t\tparameter = uri.match(regexMatchParameter) || placeholder;\n\t\t\tself.path = functionResolvePath(uri, context);\n\t\t\tself.mock = parameter[1] ? TRUE : FALSE;\n\t\t\tself.cache = parameter[2] ? \"+\" === parameter[1] : NULL;\n\t\t\tself.type = parameter[3] || settings.handler;\n\t\t\tself.version = new ClassSemver(parameter[4] || settings.version);\n\t\t\tself.lifetime = parameter[5] && 1e3 * parameter[5] || settings.lifetime;\n\t\t\tself.id = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"!\" + self.path;\n\t\t\tself.uri = (self.mock ? MOCK_PREFIX : \"\") + self.type + \"@\" + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? \"#\" + self.lifetime : \"\") + \"!\" + self.path;\n\t\t\tself.dfd = ClassPledge.defer();\n\t\t\tself.pledge = self.dfd.pledge;\n\t\t\tself.invalid = false;\n\t\t\tself.pledge.then(function () {\n\t\t\t\tself.value = functionToArray(arguments)\n\t\t\t});\n\t\t\tregister !== FALSE && registry.set(self.id, self);\n\t\t\treturn self\n\t\t}\n\t\tvar PREFIX_INTERNAL = \"internal!\",\n\t\t\tregistry = new ClassRegistry,\n\t\t\tmatchInternal = /^(?:mock:|internal!)/i,\n\t\t\tplaceholder = [];\n\t\tlist.prototype = {\n\t\t\tpending: function () {\n\t\t\t\treturn functionIterate(registry.get(), addPending, [])\n\t\t\t},\n\t\t\tresolved: function () {\n\t\t\t\treturn functionIterate(registry.get(), addResolved, [])\n\t\t\t},\n\t\t\trejected: function () {\n\t\t\t\treturn functionIterate(registry.get(), addRejected, [])\n\t\t\t}\n\t\t};\n\t\tClassDependency.prototype = {\n\t\t\tenqueue: true\n\t\t};\n\t\tClassDependency.get = function (uri, context) {\n\t\t\treturn registry.get(functionResolveId(uri, context))\n\t\t};\n\t\tClassDependency.resolve = function (uri, context) {\n\t\t\tvar value, isInternal = context && regexMatchInternal.test(uri),\n\t\t\t\tdependency = isInternal ? this.get(PREFIX_INTERNAL + context + \"/\" + uri) : this.get(uri, context);\n\t\t\tif (!dependency)\n\t\t\t\tif (isInternal) {\n\t\t\t\t\tdependency = new ClassDependency(PREFIX_INTERNAL + context + \"/\" + uri);\n\t\t\t\t\tswitch (uri) {\n\t\t\t\t\tcase DEMAND_ID:\n\t\t\t\t\t\tvalue = function () {\n\t\t\t\t\t\t\treturn functionIterate(demand, setProperty, demand.bind(context))\n\t\t\t\t\t\t}();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PROVIDE_ID:\n\t\t\t\t\t\tvalue = provide.bind(context);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase PATH_ID:\n\t\t\t\t\t\tvalue = context\n\t\t\t\t\t}\n\t\t\t\t\tdependency.dfd.resolve(value)\n\t\t\t\t} else {\n\t\t\t\t\tdependency = new ClassDependency(uri, context);\n\t\t\t\t\tdemand(MODULE_PREFIX_HANDLER + dependency.type)\n\t\t\t\t\t\t.then(function (handler) {\n\t\t\t\t\t\t\tdependency.handler = handler;\n\t\t\t\t\t\t\tif (dependency.mock) dependency.dfd.resolve(handler);\n\t\t\t\t\t\t\telse singletonCache.resolve(dependency)\n\t\t\t\t\t\t}, function () {\n\t\t\t\t\t\t\tdependency.dfd.reject(new ClassFailure(ERROR_LOAD + \" (handler)\", self.id))\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\treturn dependency\n\t\t};\n\t\tClassDependency.remove = function (uri, context, cache) {\n\t\t\tvar id = functionResolveId(uri, context),\n\t\t\t\tnode = document.querySelector(\"[\" + DEMAND_ID + '-id=\"' + id + '\"]');\n\t\t\tregistry.remove(id);\n\t\t\tregistry.remove(MOCK_PREFIX + id);\n\t\t\tnode && node.parentNode.removeChild(node);\n\t\t\tcache !== FALSE && singletonCache.clear(id)\n\t\t};\n\t\tClassDependency.list = list;\n\t\treturn ClassDependency\n\t}();\n\tClassPattern = function () {\n\t\tfunction setProperty(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\turl: functionResolveUrl(value)\n\t\t\t\t\t.replace(regexMatchTrailingSlash, \"$1\"),\n\t\t\t\tmatch: new RegExp(\"^\" + functionEscapeRegex(value))\n\t\t\t}\n\t\t}\n\n\t\tfunction ClassPattern(pattern, url) {\n\t\t\tvar self = this;\n\t\t\tself.weight = pattern.length;\n\t\t\tself.match = new RegExp(\"^\" + functionEscapeRegex(pattern));\n\t\t\tself.location = [].concat(url);\n\t\t\tfunctionIterate(self.location, setProperty, self.location)\n\t\t}\n\t\tvar regexMatchTrailingSlash = /(.+)\\/$/;\n\t\tClassPattern.prototype = {\n\t\t\tmatches: function (path) {\n\t\t\t\treturn this.match.test(path)\n\t\t\t},\n\t\t\tprocess: function (path, index) {\n\t\t\t\tvar current = this.location[index];\n\t\t\t\tif (current) return path.replace(this.match, current.url)\n\t\t\t}\n\t\t};\n\t\treturn ClassPattern\n\t}();\n\tClassXhr = function (XMLHttpRequest) {\n\t\tfunction checkState() {\n\t\t\tif (this.readyState < 4) this.abort()\n\t\t}\n\t\tvar XDomainRequest = \"XDomainRequest\" in global && global.XDomainRequest || XMLHttpRequest;\n\t\treturn function (url) {\n\t\t\tvar pointer, dfd = ClassPledge.defer(),\n\t\t\t\txhr = regexMatchBaseUrl.test(url) ? new XMLHttpRequest : new XDomainRequest,\n\t\t\t\tboundCheckState = checkState.bind(xhr),\n\t\t\t\ttimeout = settings.timeout;\n\t\t\txhr.ontimeout = xhr.onerror = xhr.onabort = function () {\n\t\t\t\tdfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.onprogress = xhr.onreadystatechange = function () {\n\t\t\t\tclearTimeout(pointer);\n\t\t\t\tpointer = setTimeout(boundCheckState, timeout)\n\t\t\t};\n\t\t\txhr.onload = function () {\n\t\t\t\tpointer = clearTimeout(pointer);\n\t\t\t\tif (!(\"status\" in xhr) || 200 === xhr.status) dfd.resolve(xhr.responseText, xhr.getResponseHeader && xhr.getResponseHeader(\"content-type\"));\n\t\t\t\telse dfd.reject(xhr.status)\n\t\t\t};\n\t\t\txhr.open(\"GET\", url, TRUE);\n\t\t\txhr.send();\n\t\t\tpointer = setTimeout(boundCheckState, timeout);\n\t\t\treturn dfd.pledge\n\t\t}\n\t}(XMLHttpRequest);\n\tdemand = function () {\n\t\tfunction updateCacheSettings(property, value) {\n\t\t\tthis[property] = {\n\t\t\t\tweight: property.length,\n\t\t\t\tstate: value\n\t\t\t}\n\t\t}\n\n\t\tfunction updatePatternSettings(property, value) {\n\t\t\t\"base\" !== property && (this[property] = new ClassPattern(property, value))\n\t\t}\n\n\t\tfunction updateModuleSettings(property, value) {\n\t\t\tvar temp = this[property] = this[property] || {};\n\t\t\tsingletonEvent.emit(EVENT_PRE_CONFIGURE, property, temp);\n\t\t\tfunctionMerge(temp, value);\n\t\t\tsingletonEvent.emit(EVENT_POST_CONFIGURE, property, temp)\n\t\t}\n\n\t\tfunction demand() {\n\t\t\tvar uri, dfd, result, dependencies = functionToArray(arguments),\n\t\t\t\tcontext = this !== global ? this : NULL,\n\t\t\t\ti = 0;\n\t\t\tsingletonEvent.emit(EVENT_PRE_RESOLVE, NULL, dependencies, context);\n\t\t\tfor (; uri = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(uri, STRING_STRING)) dependencies[i] = ClassDependency.resolve(uri, context)\n\t\t\t\t\t.pledge;\n\t\t\t\telse {\n\t\t\t\t\tdependencies[i] = (dfd = ClassPledge.defer())\n\t\t\t\t\t\t.pledge;\n\t\t\t\t\tdfd.resolve(uri)\n\t\t\t\t}\n\t\t\tif (dependencies.length > 1) result = ClassPledge.all(dependencies);\n\t\t\telse result = dependencies[0];\n\t\t\treturn result.always(function () {\n\t\t\t\tsingletonEvent.emit(EVENT_POST_RESOLVE, NULL, dependencies, context)\n\t\t\t})\n\t\t}\n\t\tdemand.configure = function (options) {\n\t\t\tvar cache = options.cache,\n\t\t\t\tversion = options.version,\n\t\t\t\ttimeout = options.timeout,\n\t\t\t\tlifetime = options.lifetime,\n\t\t\t\tbase = options.base,\n\t\t\t\tpattern = options.pattern,\n\t\t\t\tmodules = options.modules,\n\t\t\t\tpointer = settings.modules;\n\t\t\tif (validatorIsTypeOf(cache, STRING_BOOLEAN)) settings.cache[\"\"] = {\n\t\t\t\tweight: 0,\n\t\t\t\tstate: cache\n\t\t\t};\n\t\t\telse if (validatorIsObject(cache)) functionIterate(cache, updateCacheSettings, settings.cache);\n\t\t\tif (validatorIsSemver(version)) settings.version = version;\n\t\t\tif (validatorIsPositive(timeout)) settings.timeout = 1e3 * Math.min(Math.max(timeout, 2), 20);\n\t\t\tif (validatorIsPositive(lifetime) && lifetime > 0) settings.lifetime = 1e3 * lifetime;\n\t\t\tif (validatorIsTypeOf(base, STRING_STRING) && \"\" !== base) settings.pattern.base = new ClassPattern(\"\", base);\n\t\t\tif (validatorIsObject(pattern)) functionIterate(pattern, updatePatternSettings, settings.pattern);\n\t\t\tif (validatorIsObject(modules)) functionIterate(modules, updateModuleSettings, pointer);\n\t\t\treturn demand\n\t\t};\n\t\tdemand.version = \"5.0.2\";\n\t\tdemand.on = singletonEvent.on.bind(demand);\n\t\tdemand.get = function (uri, context) {\n\t\t\tvar dependency = ClassDependency.get(uri, context);\n\t\t\treturn dependency && dependency.value\n\t\t};\n\t\tdemand.list = ClassDependency.list;\n\t\tdemand.remove = ClassDependency.remove;\n\t\tdemand.cache = {\n\t\t\tclear: singletonCache.clear\n\t\t};\n\t\tsingletonEvent.after(EVENT_CACHE_MISS, function (dependency) {\n\t\t\t\tnew ClassLoader(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPostRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_CACHE_HIT + \" \" + EVENT_POST_REQUEST, function (dependency) {\n\t\t\t\tsingletonEvent.emit(EVENT_PRE_PROCESS, dependency.id, dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_REQUEST, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreRequest;\n\t\t\t\tpointer && pointer(dependency)\n\t\t\t})\n\t\t\t.after(EVENT_PRE_PROCESS, function (dependency) {\n\t\t\t\tvar pointer = dependency.handler.onPreProcess;\n\t\t\t\tpointer && pointer(dependency);\n\t\t\t\tdependency.pledge.then(function () {\n\t\t\t\t\tsingletonEvent.emit(EVENT_POST_PROCESS, dependency.id, dependency)\n\t\t\t\t});\n\t\t\t\tif (true === dependency.enqueue) queue.enqueue(dependency);\n\t\t\t\telse if (validatorIsInstanceOf(dependency.enqueue, ClassPledge)) dependency.enqueue.then(function () {\n\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t})\n\t\t\t});\n\t\treturn demand\n\t}();\n\tglobal.define(\"demand\", demand);\n\tprovide = function () {\n\t\tvar module, isFunction, uri = validatorIsTypeOf(arguments[0], STRING_STRING) ? arguments[0] : NULL,\n\t\t\tcontext = this !== global ? this : NULL,\n\t\t\tdependencies = validatorIsArray(arguments[uri ? 1 : 0]) ? arguments[uri ? 1 : 0] : NULL,\n\t\t\tdefinition = dependencies ? arguments[uri ? 2 : 1] : arguments[uri ? 1 : 0];\n\t\tif (!uri && processor.current) {\n\t\t\turi = (module = processor.current)\n\t\t\t\t.uri;\n\t\t\tprocessor.process()\n\t\t}\n\t\tif (uri) {\n\t\t\tmodule = module || new ClassDependency(uri, context);\n\t\t\tisFunction = validatorIsTypeOf(definition, STRING_FUNCTION);\n\t\t\tif (dependencies) demand.apply(module.path, dependencies)\n\t\t\t\t.then(function () {\n\t\t\t\t\tmodule.dfd.resolve(isFunction ? definition.apply(NULL, arguments) : definition)\n\t\t\t\t}, function () {\n\t\t\t\t\tmodule.dfd.reject(new ClassFailure(ERROR_PROVIDE, module.id, arguments))\n\t\t\t\t});\n\t\t\telse module.dfd.resolve(isFunction ? definition() : definition);\n\t\t\treturn module.dfd.pledge\n\t\t} else !validatorIsTypeOf(console, STRING_UNDEFINED) && console.error(new ClassFailure(ERROR_PROVIDE_ANONYMOUS))\n\t};\n\tglobal.define(\"provide\", provide);\n\tdemand.configure({\n\t\tcache: TRUE,\n\t\tbase: \"/\",\n\t\tpattern: {\n\t\t\t\"/demand\": functionResolveUrl((options && options.url || location.href) + \"/../\")\n\t\t\t\t.slice(0, -1)\n\t\t}\n\t});\n\toptions && options.settings && demand.configure(options.settings);\n\tClassQueue = function () {\n\t\tfunction ClassQueue() {\n\t\t\tvar self = AbstractUuid.call(this);\n\t\t\tstorage.set(self, []);\n\t\t\treturn self\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassQueue.prototype = {\n\t\t\tenqueue: function () {\n\t\t\t\tstorage.set(this, storage.get(this)\n\t\t\t\t\t.concat(functionToArray(arguments)));\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_ENQUEUE, this.uuid)\n\t\t\t},\n\t\t\tdequeue: function () {\n\t\t\t\tsingletonEvent.emit(EVENT_QUEUE_DEQUEUE, this.uuid);\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.shift()\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)[0]\n\t\t\t},\n\t\t\tget length() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.length\n\t\t\t}\n\t\t};\n\t\treturn ClassQueue.extends(AbstractUuid)\n\t}();\n\tClassProcessor = function () {\n\t\tfunction ClassProcessor(queue) {\n\t\t\tvar self = this,\n\t\t\t\tproperties = {\n\t\t\t\t\tqueue: queue,\n\t\t\t\t\tcurrent: NULL\n\t\t\t\t};\n\t\t\tstorage.set(self, properties);\n\t\t\tdemand.on(EVENT_QUEUE_ENQUEUE + \":\" + queue.uuid, function () {\n\t\t\t\t!properties.current && self.process()\n\t\t\t})\n\t\t}\n\t\tvar storage = new ClassWeakmap;\n\t\tClassProcessor.prototype = {\n\t\t\tprocess: function () {\n\t\t\t\tvar current, properties = storage.get(this);\n\t\t\t\tif (properties.queue.length)\n\t\t\t\t\tif (!(current = properties.current = properties.queue.dequeue())\n\t\t\t\t\t\t.pledge.isRejected()) {\n\t\t\t\t\t\tcurrent.handler.process && current.handler.process(current);\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\tproperties.current = NULL\n\t\t\t},\n\t\t\tget current() {\n\t\t\t\treturn storage.get(this)\n\t\t\t\t\t.current\n\t\t\t}\n\t\t};\n\t\treturn ClassProcessor\n\t}();\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\thandlerModule = function () {\n\t\tfunction HandlerModule() {}\n\t\tvar suffix = \".js\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tregexMatchType = /^(application|text)\\/(x-)?javascript/;\n\t\tHandlerModule.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar script;\n\t\t\t\tif (dependency.source) {\n\t\t\t\t\t(script = document.createElement(\"script\"))\n\t\t\t\t\t.async = TRUE;\n\t\t\t\t\tscript.text = dependency.source;\n\t\t\t\t\tscript.setAttribute(DEMAND_ID + \"-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(script)\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerModule.extends(abstractHandler))\n\t}();\n\tClassFailure.prototype = {\n\t\ttoString: function () {\n\t\t\tvar self = this,\n\t\t\t\tresult = DEMAND_ID + \": \" + self.message + \" \" + (self.module ? '\"' + self.module + '\"' : \"\");\n\t\t\tif (self.stack) result = ClassFailure.traverse(self.stack, result, 1);\n\t\t\treturn result\n\t\t}\n\t};\n\tClassFailure.traverse = function (stack, value, depth) {\n\t\tfor (var item, indention = new Array(depth + 1)\n\t\t\t\t.join(\" \"), i = 0; item = stack[i]; i++) {\n\t\t\tvalue += \"\\n\" + indention + \"> \" + item.message + \" \" + (item.module ? '\"' + item.module + '\"' : \"\");\n\t\t\tif (item.stack) value = ClassFailure.traverse(item.stack, value, depth + 1)\n\t\t}\n\t\treturn value\n\t};\n\thandlerBundle = function () {\n\t\tfunction updateDependencies(uri, dependencies) {\n\t\t\tvar i, dependency;\n\t\t\tfor (i = 0; dependency = dependencies[i]; i++)\n\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING)) dependencies[i] = functionResolveId(dependency)\n\t\t}\n\n\t\tfunction getType(dependencies) {\n\t\t\tfor (var type, temp, i = 0; temp = dependencies[i]; i++) {\n\t\t\t\ttemp = (temp = temp.match(regexMatchParameter)) && temp[3] || settings.handler;\n\t\t\t\tif (type) {\n\t\t\t\t\tif (temp !== type) return FALSE\n\t\t\t\t} else type = temp\n\t\t\t}\n\t\t\treturn type\n\t\t}\n\n\t\tfunction HandlerBundle() {}\n\t\tvar path = MODULE_PREFIX_HANDLER + \"bundle\",\n\t\t\tsettings = {};\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\tif (validatorIsObject(options)) functionIterate(settings = options, updateDependencies)\n\t\t});\n\t\tHandlerBundle.prototype = {\n\t\t\tvalidate: handlerModule.validate,\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar type, match, pledges, temp, i, source = dependency.source,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tdependencies = settings[dependency.path];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tif (dependencies && (type = getType(dependencies))) {\n\t\t\t\t\twhile (match = regexMatchSourcemap.exec(source)) source = source.replace(match[0], \"\");\n\t\t\t\t\tdependency.source = source;\n\t\t\t\t\tpledges = [];\n\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) pledges.push(ClassDependency.resolve(MOCK_PREFIX + temp)\n\t\t\t\t\t\t.pledge);\n\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t.then(function () {\n\t\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\t\tfor (i = 0; temp = dependencies[i]; i++) {\n\t\t\t\t\t\t\t\t(temp = dependencies[i] = ClassDependency.get(temp) || new ClassDependency(temp))\n\t\t\t\t\t\t\t\t.handler = arguments[i];\n\t\t\t\t\t\t\t\tpledges.push(temp.pledge)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (\"module\" === type) {\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies);\n\t\t\t\t\t\t\t\thandlerModule.process(dependency)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thandlerModule.process(dependency);\n\t\t\t\t\t\t\t\tqueue.enqueue.apply(queue, dependencies)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t\t}, reject)\n\t\t\t\t} else reject()\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerBundle.extends(abstractHandler))\n\t}();\n\thandlerComponent = function () {\n\t\tfunction HandlerComponent() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/.+$/;\n\t\tHandlerComponent.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, dependency.source)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tfunction reject() {\n\t\t\t\t\tdfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id, arguments))\n\t\t\t\t}\n\t\t\t\tvar node, handler, path, uri, context = dependency.path,\n\t\t\t\t\tdfd = dependency.dfd,\n\t\t\t\t\tcontainer = document.createElement(\"body\"),\n\t\t\t\t\tmodules = [],\n\t\t\t\t\tpledges = [];\n\t\t\t\tdependency.enqueue = FALSE;\n\t\t\t\tcontainer.innerHTML = dependency.source;\n\t\t\t\twhile (node = container.firstElementChild)\n\t\t\t\t\tif (handler = node.getAttribute(\"type\")) {\n\t\t\t\t\t\turi = handler + \"!\" + context + ((path = node.getAttribute(\"path\")) ? \"/\" + path : \"\");\n\t\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t\t\tmodules.push({\n\t\t\t\t\t\t\tsource: node.textContent,\n\t\t\t\t\t\t\turi: uri\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpledges.push(ClassDependency.resolve(\"mock:\" + uri)\n\t\t\t\t\t\t\t.pledge)\n\t\t\t\t\t}\n\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t.then(function () {\n\t\t\t\t\t\tvar module, dependency, i = 0;\n\t\t\t\t\t\tpledges.length = 0;\n\t\t\t\t\t\tfor (; module = modules[i]; i++) {\n\t\t\t\t\t\t\t(dependency = ClassDependency.get(module.uri) || new ClassDependency(module.uri))\n\t\t\t\t\t\t\t.source = functionResolveSourcemaps(dependency.url, module.source);\n\t\t\t\t\t\t\tdependency.handler = arguments[i];\n\t\t\t\t\t\t\tpledges.push(dependency.pledge);\n\t\t\t\t\t\t\tqueue.enqueue(dependency)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tClassPledge.all(pledges)\n\t\t\t\t\t\t\t.then(dfd.resolve, reject)\n\t\t\t\t\t}, reject)\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerComponent.extends(abstractHandler))\n\t}();\n\tpluginGenie = function () {\n\t\tfunction matchPattern(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.prefix) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match\n\t\t}\n\n\t\tfunction generateConfiguration(bundle) {\n\t\t\tvar pointer, dependency, matches = bundle.matches,\n\t\t\t\tconfiguration = {\n\t\t\t\t\tpattern: {},\n\t\t\t\t\tmodules: {\n\t\t\t\t\t\t\"/demand/handler/bundle\": {}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ti = 0;\n\t\t\tconfiguration.pattern[bundle.id] = bundle.fn(matches);\n\t\t\tconfiguration.modules[MODULE_PREFIX_HANDLER + \"bundle\"][bundle.id] = pointer = [];\n\t\t\tfor (; dependency = matches[i]; i++) pointer.push(dependency.path);\n\t\t\treturn configuration\n\t\t}\n\n\t\tfunction resolveDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.resolve(arguments[i])\n\t\t}\n\n\t\tfunction rejectDependencies() {\n\t\t\tfor (var dependency, i = 0; dependency = this[i]; i++) dependency.dfd.reject(new ClassFailure(ERROR_RESOLVE, dependency.id))\n\t\t}\n\n\t\tfunction addPattern(property, value) {\n\t\t\tpattern.push({\n\t\t\t\tprefix: property,\n\t\t\t\tweight: property.length,\n\t\t\t\tfn: value\n\t\t\t})\n\t\t}\n\n\t\tfunction resolveBundles(property, value) {\n\t\t\tvar dependency, matches = value.matches,\n\t\t\t\ti = 0;\n\t\t\tif (matches.length > 1) {\n\t\t\t\tvalue.id = path + \"/\" + functionHash(JSON.stringify(value.matches));\n\t\t\t\tfor (; dependency = matches[i]; i++) matches[i] = new ClassDependency(dependency.uri);\n\t\t\t\tdemand.configure(generateConfiguration(value));\n\t\t\t\tdemand(\"bundle!\" + value.id)\n\t\t\t\t\t.then(resolveDependencies.bind(matches), rejectDependencies.bind(matches))\n\t\t\t}\n\t\t}\n\t\tvar path = MODULE_PREFIX_PLUGIN + \"genie\",\n\t\t\tpattern = [];\n\t\tdemand.on(EVENT_POST_CONFIGURE + \":\" + path, function (options) {\n\t\t\t\tif (validatorIsObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\tfunctionIterate(options, addPattern)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on(EVENT_PRE_RESOLVE, function (dependencies, context) {\n\t\t\t\tfor (var dependency, pattern, bundles = {}, i = 0; dependency = dependencies[i]; i++)\n\t\t\t\t\tif (validatorIsTypeOf(dependency, STRING_STRING) && !regexMatchInternal.test(dependency) && !ClassDependency.get(dependency, context))\n\t\t\t\t\t\tif (\"module\" === (dependency = new ClassDependency(dependency, context, FALSE))\n\t\t\t\t\t\t\t.type && (pattern = matchPattern(dependency.path)) && !singletonCache.get(dependency))(bundles[pattern.prefix] || (bundles[pattern.prefix] = {\n\t\t\t\t\t\t\t\tfn: pattern.fn,\n\t\t\t\t\t\t\t\tmatches: []\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t.matches.push(dependency);\n\t\t\t\tfunctionIterate(bundles, resolveBundles)\n\t\t\t});\n\t\treturn TRUE\n\t}();\n\tqueue = new ClassQueue;\n\tprocessor = new ClassProcessor(queue);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"uuid\", AbstractUuid);\n\tassignModule(MODULE_PREFIX_ABSTRACT + \"handler\", abstractHandler);\n\tassignModule(MODULE_PREFIX_HANDLER + \"module\", handlerModule);\n\tassignModule(MODULE_PREFIX_HANDLER + \"bundle\", handlerBundle);\n\tassignModule(MODULE_PREFIX_HANDLER + \"component\", handlerComponent);\n\tassignModule(MODULE_PREFIX_PLUGIN + \"genie\", pluginGenie);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isTypeOf\", validatorIsTypeOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isArray\", validatorIsArray);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isObject\", validatorIsObject);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isInstanceOf\", validatorIsInstanceOf);\n\tassignModule(MODULE_PREFIX_VALIDATOR + \"isSemver\", validatorIsSemver);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveUrl\", functionResolveUrl);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"resolveSourcemaps\", functionResolveSourcemaps);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"merge\", functionMerge);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"iterate\", functionIterate);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"hash\", functionHash);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"defer\", functionDefer);\n\tassignModule(MODULE_PREFIX_FUNCTION + \"uuid\", functionUuid);\n\tassignModule(MODULE_PREFIX + \"weakmap\", ClassWeakmap);\n\tassignModule(MODULE_PREFIX + \"descriptor\", ClassDescriptor);\n\tassignModule(MODULE_PREFIX + \"pledge\", ClassPledge);\n\tassignModule(MODULE_PREFIX + \"queue\", ClassQueue);\n\tassignModule(MODULE_PREFIX + \"xhr\", ClassXhr);\n\tassignModule(MODULE_PREFIX + \"failure\", ClassFailure);\n\tassignModule(MODULE_PREFIX + \"semver\", ClassSemver);\n\tif (options && options.main) switch (typeof options.main) {\n\tcase STRING_STRING:\n\t\tdemand(options.main);\n\t\tbreak;\n\tcase STRING_FUNCTION:\n\t\tprovide(\"main\", options.main())\n\t}\n})(\"demand-loader\" === this.name ? parent : this, setTimeout, clearTimeout);\n"]} \ No newline at end of file diff --git a/dist/handler/css.js b/dist/handler/css.js index 415ec3c..7e5a899 100644 --- a/dist/handler/css.js +++ b/dist/handler/css.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(e){"use strict";provide(["/demand/abstract/handler","/demand/function/resolveSourcemaps"],function(t,r){function n(e){return a.href=e,a}function s(e,t,r){return f.test(t[1])||(e=e.replace(t[0],r)),e}function o(){}var u=".css",c=e.getElementsByTagName("head")[0],a=e.createElement("a"),i=/url\s*\(\s*["']?(.+?)["']?\s*\)/gi,d=/@import\s+["'](.+?)["']/gi,l=/^\//i,f=/^data:|http(s?):|\/\//i,m=/^text\/css/;return o.prototype={validate:function(e){return m.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-u.length)!==u?t+u:t},onPostRequest:function(e){for(var t,o=n(e.url+"/.."),u=o.href,c="//"+o.host,a=e.source;t=i.exec(a);)a=s(a,t,'url("'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'")');for(;t=d.exec(a);)a=s(a,t,'@import "'+n(l.test(t[1])?c+t[1]:u+t[1]).href+'"');e.source=r(e.url,a)},process:function(t){var r=e.querySelector('[demand-id="'+t.id+'"]');r||((r=e.createElement("style")).type="text/css",r.setAttribute("demand-id",t.id),c.appendChild(r)),"STYLE"===r.tagName&&(r.styleSheet?r.styleSheet.cssText=t.source:r.textContent=t.source),provide(function(){return r})}},new(o.extends(t))})}(document); //# sourceMappingURL=css.js.map diff --git a/dist/handler/css.js.map b/dist/handler/css.js.map index 26838fa..313aa7f 100644 --- a/dist/handler/css.js.map +++ b/dist/handler/css.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/css.js"],"names":["document","provide","abstractHandler","functionResolveSourcemaps","resolveUrl","url","resolver","href","replaceUri","source","match","replacement","regexIsAbsoluteUri","test","replace","HandlerCss","suffix","target","getElementsByTagName","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexMatchType","prototype","validate","type","onPreRequest","dependency","pathname","slice","length","onPostRequest","base","host","exec","process","element","querySelector","id","setAttribute","appendChild","tagName","styleSheet","cssText","textContent","extends"],"mappings":";CAAA,SAAAA,GACA,aA2DAC,SAAA,2BAAA,sCAzDA,SAAAC,EAAAC,GACA,SAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAF,EACAC,EAGA,SAAAE,EAAAC,EAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAH,EAAA,MAAAD,EAAAA,EAAAK,QAAAJ,EAAA,GAAAC,IACAF,EAGA,SAAAM,KACA,IAAAC,EAAA,OACAC,EAAAjB,EAAAkB,qBAAA,QAAA,GACAZ,EAAAN,EAAAmB,cAAA,KACAC,EAAA,oCACAC,EAAA,4BACAC,EAAA,OACAV,EAAA,yBACAW,EAAA,aAoCA,OAnCAR,EAAAS,WACAC,SAAA,SAAAC,GACA,OAAAH,EAAAV,KAAAa,IAEAC,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAvB,IAAAwB,SACAD,EAAAvB,IAAAwB,SAAAA,EAAAC,OAAAd,EAAAe,UAAAf,EAAAa,EAAAb,EAAAa,GAEAG,cAAA,SAAAJ,GAKA,IAJA,IAAAlB,EAAAL,EAAAD,EAAAwB,EAAAvB,IAAA,OACA4B,EAAA5B,EAAAE,KACA2B,EAAA,KAAA7B,EAAA6B,KACAzB,EAAAmB,EAAAnB,OACAC,EAAAU,EAAAe,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,QAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,MACA,KAAAG,EAAAW,EAAAc,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,YAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,KACAqB,EAAAnB,OAAAN,EAAAyB,EAAAvB,IAAAI,IAEA2B,QAAA,SAAAR,GACA,IAAAS,EAAArC,EAAAsC,cAAA,eAAAV,EAAAW,GAAA,MACAF,KACAA,EAAArC,EAAAmB,cAAA,UACAO,KAAA,WACAW,EAAAG,aAAA,YAAAZ,EAAAW,IACAtB,EAAAwB,YAAAJ,IAEA,UAAAA,EAAAK,UACAL,EAAAM,WAAAN,EAAAM,WAAAC,QAAAhB,EAAAnB,OACA4B,EAAAQ,YAAAjB,EAAAnB,QACAR,QAAA,WACA,OAAAoC,MAIA,IAAAtB,EAAA+B,QAAA5C,MA1DA,CA6DAF","file":"css.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler, functionResolveSourcemaps) {\n\t\tfunction resolveUrl(url) {\n\t\t\tresolver.href = url;\n\t\t\treturn resolver\n\t\t}\n\n\t\tfunction replaceUri(source, match, replacement) {\n\t\t\tif (!regexIsAbsoluteUri.test(match[1])) source = source.replace(match[0], replacement);\n\t\t\treturn source\n\t\t}\n\n\t\tfunction HandlerCss() {}\n\t\tvar suffix = \".css\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tresolver = document.createElement(\"a\"),\n\t\t\tregexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n\t\t\tregexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n\t\t\tregexIsAbsolutePath = /^\\//i,\n\t\t\tregexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n\t\t\tregexMatchType = /^text\\/css/;\n\t\tHandlerCss.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tvar match, url = resolveUrl(dependency.url + \"/..\"),\n\t\t\t\t\tbase = url.href,\n\t\t\t\t\thost = \"//\" + url.host,\n\t\t\t\t\tsource = dependency.source;\n\t\t\t\twhile (match = regexMatchUrl.exec(source)) source = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\")');\n\t\t\t\twhile (match = regexMatchImport.exec(source)) source = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\"');\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n\t\t\t\tif (!element) {\n\t\t\t\t\t(element = document.createElement(\"style\"))\n\t\t\t\t\t.type = \"text/css\";\n\t\t\t\t\telement.setAttribute(\"demand-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(element)\n\t\t\t\t}\n\t\t\t\tif (\"STYLE\" === element.tagName)\n\t\t\t\t\tif (element.styleSheet) element.styleSheet.cssText = dependency.source;\n\t\t\t\t\telse element.textContent = dependency.source;\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn element\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerCss.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\", \"/demand/function/resolveSourcemaps\"], definition)\n})(document);\n"]} \ No newline at end of file +{"version":3,"sources":["handler/css.js"],"names":["document","provide","abstractHandler","functionResolveSourcemaps","resolveUrl","url","resolver","href","replaceUri","source","match","replacement","regexIsAbsoluteUri","test","replace","HandlerCss","suffix","target","getElementsByTagName","createElement","regexMatchUrl","regexMatchImport","regexIsAbsolutePath","regexMatchType","prototype","validate","type","onPreRequest","dependency","pathname","slice","length","onPostRequest","base","host","exec","process","element","querySelector","id","setAttribute","appendChild","tagName","styleSheet","cssText","textContent","extends"],"mappings":";CAAA,SAAAA,GACA,aA2DAC,SAAA,2BAAA,sCAzDA,SAAAC,EAAAC,GACA,SAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAF,EACAC,EAGA,SAAAE,EAAAC,EAAAC,EAAAC,GAEA,OADAC,EAAAC,KAAAH,EAAA,MAAAD,EAAAA,EAAAK,QAAAJ,EAAA,GAAAC,IACAF,EAGA,SAAAM,KACA,IAAAC,EAAA,OACAC,EAAAjB,EAAAkB,qBAAA,QAAA,GACAZ,EAAAN,EAAAmB,cAAA,KACAC,EAAA,oCACAC,EAAA,4BACAC,EAAA,OACAV,EAAA,yBACAW,EAAA,aAoCA,OAnCAR,EAAAS,WACAC,SAAA,SAAAC,GACA,OAAAH,EAAAV,KAAAa,IAEAC,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAvB,IAAAwB,SACAD,EAAAvB,IAAAwB,SAAAA,EAAAC,OAAAd,EAAAe,UAAAf,EAAAa,EAAAb,EAAAa,GAEAG,cAAA,SAAAJ,GAKA,IAJA,IAAAlB,EAAAL,EAAAD,EAAAwB,EAAAvB,IAAA,OACA4B,EAAA5B,EAAAE,KACA2B,EAAA,KAAA7B,EAAA6B,KACAzB,EAAAmB,EAAAnB,OACAC,EAAAU,EAAAe,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,QAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,MACA,KAAAG,EAAAW,EAAAc,KAAA1B,IAAAA,EAAAD,EAAAC,EAAAC,EAAA,YAAAN,EAAAkB,EAAAT,KAAAH,EAAA,IAAAwB,EAAAxB,EAAA,GAAAuB,EAAAvB,EAAA,IACAH,KAAA,KACAqB,EAAAnB,OAAAN,EAAAyB,EAAAvB,IAAAI,IAEA2B,QAAA,SAAAR,GACA,IAAAS,EAAArC,EAAAsC,cAAA,eAAAV,EAAAW,GAAA,MACAF,KACAA,EAAArC,EAAAmB,cAAA,UACAO,KAAA,WACAW,EAAAG,aAAA,YAAAZ,EAAAW,IACAtB,EAAAwB,YAAAJ,IAEA,UAAAA,EAAAK,UACAL,EAAAM,WAAAN,EAAAM,WAAAC,QAAAhB,EAAAnB,OACA4B,EAAAQ,YAAAjB,EAAAnB,QACAR,QAAA,WACA,OAAAoC,MAIA,IAAAtB,EAAA+B,QAAA5C,MA1DA,CA6DAF","file":"css.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler, functionResolveSourcemaps) {\n\t\tfunction resolveUrl(url) {\n\t\t\tresolver.href = url;\n\t\t\treturn resolver\n\t\t}\n\n\t\tfunction replaceUri(source, match, replacement) {\n\t\t\tif (!regexIsAbsoluteUri.test(match[1])) source = source.replace(match[0], replacement);\n\t\t\treturn source\n\t\t}\n\n\t\tfunction HandlerCss() {}\n\t\tvar suffix = \".css\",\n\t\t\ttarget = document.getElementsByTagName(\"head\")[0],\n\t\t\tresolver = document.createElement(\"a\"),\n\t\t\tregexMatchUrl = /url\\s*\\(\\s*[\"']?(.+?)[\"']?\\s*\\)/gi,\n\t\t\tregexMatchImport = /@import\\s+[\"'](.+?)[\"']/gi,\n\t\t\tregexIsAbsolutePath = /^\\//i,\n\t\t\tregexIsAbsoluteUri = /^data:|http(s?):|\\/\\//i,\n\t\t\tregexMatchType = /^text\\/css/;\n\t\tHandlerCss.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tonPostRequest: function (dependency) {\n\t\t\t\tvar match, url = resolveUrl(dependency.url + \"/..\"),\n\t\t\t\t\tbase = url.href,\n\t\t\t\t\thost = \"//\" + url.host,\n\t\t\t\t\tsource = dependency.source;\n\t\t\t\twhile (match = regexMatchUrl.exec(source)) source = replaceUri(source, match, 'url(\"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\")');\n\t\t\t\twhile (match = regexMatchImport.exec(source)) source = replaceUri(source, match, '@import \"' + resolveUrl(regexIsAbsolutePath.test(match[1]) ? host + match[1] : base + match[1])\n\t\t\t\t\t.href + '\"');\n\t\t\t\tdependency.source = functionResolveSourcemaps(dependency.url, source)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar element = document.querySelector('[demand-id=\"' + dependency.id + '\"]');\n\t\t\t\tif (!element) {\n\t\t\t\t\t(element = document.createElement(\"style\"))\n\t\t\t\t\t.type = \"text/css\";\n\t\t\t\t\telement.setAttribute(\"demand-id\", dependency.id);\n\t\t\t\t\ttarget.appendChild(element)\n\t\t\t\t}\n\t\t\t\tif (\"STYLE\" === element.tagName)\n\t\t\t\t\tif (element.styleSheet) element.styleSheet.cssText = dependency.source;\n\t\t\t\t\telse element.textContent = dependency.source;\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn element\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerCss.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\", \"/demand/function/resolveSourcemaps\"], definition)\n})(document);\n"]} \ No newline at end of file diff --git a/dist/handler/html.js b/dist/handler/html.js index b8ed958..00d6a59 100644 --- a/dist/handler/html.js +++ b/dist/handler/html.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/abstract/handler"],function(e){function t(){}var n=".html",r=/^text\/html/,o=document.createElement("body");return t.prototype={validate:function(e){return r.test(e)},onPreRequest:function(e){var t=e.url.pathname;e.url.pathname=t.slice(-n.length)!==n?t+n:t},process:function(e){provide(function(){return function(e){var t,n=document.createDocumentFragment();for(o.innerHTML=e;t=o.firstElementChild;)n.appendChild(t);return n}(e.source)})}},new(t.extends(e))})}(); //# sourceMappingURL=html.js.map diff --git a/dist/handler/html.js.map b/dist/handler/html.js.map index b247fed..d27a496 100644 --- a/dist/handler/html.js.map +++ b/dist/handler/html.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/html.js"],"names":["provide","abstractHandler","HandlerHtml","suffix","regexMatchType","container","document","createElement","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","source","node","fragment","createDocumentFragment","innerHTML","firstElementChild","appendChild","parseHtml","extends"],"mappings":";CAAA,WACA,aA8BAA,SAAA,4BA5BA,SAAAC,GAQA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,cACAC,EAAAC,SAAAC,cAAA,QAeA,OAdAL,EAAAM,WACAC,SAAA,SAAAC,GACA,OAAAN,EAAAO,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAb,EAAAc,UAAAd,EAAAW,EAAAX,EAAAW,GAEAI,QAAA,SAAAL,GACAb,QAAA,WACA,OArBA,SAAAmB,GACA,IAAAC,EAAAC,EAAAf,SAAAgB,yBAEA,IADAjB,EAAAkB,UAAAJ,EACAC,EAAAf,EAAAmB,mBAAAH,EAAAI,YAAAL,GACA,OAAAC,EAiBAK,CAAAb,EAAAM,YAIA,IAAAjB,EAAAyB,QAAA1B,MA7BA","file":"html.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction parseHtml(source) {\n\t\t\tvar node, fragment = document.createDocumentFragment();\n\t\t\tcontainer.innerHTML = source;\n\t\t\twhile (node = container.firstElementChild) fragment.appendChild(node);\n\t\t\treturn fragment\n\t\t}\n\n\t\tfunction HandlerHtml() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/html/,\n\t\t\tcontainer = document.createElement(\"body\");\n\t\tHandlerHtml.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn parseHtml(dependency.source)\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerHtml.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/html.js"],"names":["provide","abstractHandler","HandlerHtml","suffix","regexMatchType","container","document","createElement","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","source","node","fragment","createDocumentFragment","innerHTML","firstElementChild","appendChild","parseHtml","extends"],"mappings":";CAAA,WACA,aA8BAA,SAAA,4BA5BA,SAAAC,GAQA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,cACAC,EAAAC,SAAAC,cAAA,QAeA,OAdAL,EAAAM,WACAC,SAAA,SAAAC,GACA,OAAAN,EAAAO,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAb,EAAAc,UAAAd,EAAAW,EAAAX,EAAAW,GAEAI,QAAA,SAAAL,GACAb,QAAA,WACA,OArBA,SAAAmB,GACA,IAAAC,EAAAC,EAAAf,SAAAgB,yBAEA,IADAjB,EAAAkB,UAAAJ,EACAC,EAAAf,EAAAmB,mBAAAH,EAAAI,YAAAL,GACA,OAAAC,EAiBAK,CAAAb,EAAAM,YAIA,IAAAjB,EAAAyB,QAAA1B,MA7BA","file":"html.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction parseHtml(source) {\n\t\t\tvar node, fragment = document.createDocumentFragment();\n\t\t\tcontainer.innerHTML = source;\n\t\t\twhile (node = container.firstElementChild) fragment.appendChild(node);\n\t\t\treturn fragment\n\t\t}\n\n\t\tfunction HandlerHtml() {}\n\t\tvar suffix = \".html\",\n\t\t\tregexMatchType = /^text\\/html/,\n\t\t\tcontainer = document.createElement(\"body\");\n\t\tHandlerHtml.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn parseHtml(dependency.source)\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerHtml.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/handler/json.js b/dist/handler/json.js index 275efce..065c7fc 100644 --- a/dist/handler/json.js +++ b/dist/handler/json.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/abstract/handler"],function(n){function t(){}var e=".json",r=/^application\/json/;return t.prototype={validate:function(n){return r.test(n)},onPreRequest:function(n){var t=n.url.pathname;n.url.pathname=t.slice(-e.length)!==e?t+e:t},process:function(n){var t=JSON.parse(n.source);provide(function(){return t})}},new(t.extends(n))})}(); //# sourceMappingURL=json.js.map diff --git a/dist/handler/json.js.map b/dist/handler/json.js.map index e33096f..d64f259 100644 --- a/dist/handler/json.js.map +++ b/dist/handler/json.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/json.js"],"names":["provide","abstractHandler","HandlerJson","suffix","regexMatchType","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","data","JSON","parse","source","extends"],"mappings":";CAAA,WACA,aAuBAA,SAAA,4BArBA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,qBAgBA,OAfAF,EAAAG,WACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAV,EAAAW,UAAAX,EAAAQ,EAAAR,EAAAQ,GAEAI,QAAA,SAAAL,GACA,IAAAM,EAAAC,KAAAC,MAAAR,EAAAS,QACAnB,QAAA,WACA,OAAAgB,MAIA,IAAAd,EAAAkB,QAAAnB,MAtBA","file":"json.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerJson() {}\n\t\tvar suffix = \".json\",\n\t\t\tregexMatchType = /^application\\/json/;\n\t\tHandlerJson.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar data = JSON.parse(dependency.source);\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn data\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerJson.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/json.js"],"names":["provide","abstractHandler","HandlerJson","suffix","regexMatchType","prototype","validate","type","test","onPreRequest","dependency","pathname","url","slice","length","process","data","JSON","parse","source","extends"],"mappings":";CAAA,WACA,aAuBAA,SAAA,4BArBA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,QACAC,EAAA,qBAgBA,OAfAF,EAAAG,WACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,aAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAE,IAAAD,SACAD,EAAAE,IAAAD,SAAAA,EAAAE,OAAAV,EAAAW,UAAAX,EAAAQ,EAAAR,EAAAQ,GAEAI,QAAA,SAAAL,GACA,IAAAM,EAAAC,KAAAC,MAAAR,EAAAS,QACAnB,QAAA,WACA,OAAAgB,MAIA,IAAAd,EAAAkB,QAAAnB,MAtBA","file":"json.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerJson() {}\n\t\tvar suffix = \".json\",\n\t\t\tregexMatchType = /^application\\/json/;\n\t\tHandlerJson.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar pathname = dependency.url.pathname;\n\t\t\t\tdependency.url.pathname = pathname.slice(-suffix.length) !== suffix ? pathname + suffix : pathname\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar data = JSON.parse(dependency.source);\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn data\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerJson.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/handler/legacy.js b/dist/handler/legacy.js index f2c11ff..b91351e 100644 --- a/dist/handler/legacy.js +++ b/dist/handler/legacy.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["path","/demand/failure","/demand/handler/module","/demand/validator/isObject"],function(e,n,t,r){function o(){}var u={};return demand.on("postConfigure:"+e,function(e){u=r(e)?e:{}}),o.prototype={onPreRequest:function(e){var n=u[e.path]&&u[e.path].dependencies;t.onPreRequest(e),n&&(e.enqueue=demand.apply(null,n))},onPreProcess:function(e){var n=u[e.path]&&u[e.path].dependencies;n&&"boolean"==typeof e.enqueue&&(e.enqueue=demand.apply(null,n))},process:function(e){var r=function(){var e,r=this,o=r.dfd,a=u[r.path]&&u[r.path].probe;t.process(r),a&&(e=a())?provide(function(){return e}):o.reject(new n("error probing",r.path))}.bind(e);!0===e.enqueue?r():e.enqueue.then(r,function(){e.dfd.reject(new n("error resolving",e.path,arguments))})}},new(o.extends(t))})}(); //# sourceMappingURL=legacy.js.map diff --git a/dist/handler/legacy.js.map b/dist/handler/legacy.js.map index 1e63131..499bbe9 100644 --- a/dist/handler/legacy.js.map +++ b/dist/handler/legacy.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/legacy.js"],"names":["provide","path","Failure","handlerModule","isObject","HandlerLegacy","settings","demand","on","options","prototype","onPreRequest","dependency","dependencies","enqueue","apply","onPreProcess","process","boundResolve","result","self","this","dfd","probe","reject","bind","then","arguments","extends"],"mappings":";CAAA,WACA,aAuCAA,SAAA,OAAA,kBAAA,yBAAA,8BArCA,SAAAC,EAAAC,EAAAC,EAAAC,GAYA,SAAAC,KACA,IAAAC,KAsBA,OArBAC,OAAAC,GAAA,iBAAAP,EAAA,SAAAQ,GACAH,EAAAF,EAAAK,GAAAA,OAEAJ,EAAAK,WACAC,aAAA,SAAAC,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAV,EAAAQ,aAAAC,GACAC,IAAAD,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAG,aAAA,SAAAJ,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAA,GAAA,kBAAAD,EAAAE,UAAAF,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAI,QAAA,SAAAL,GACA,IAAAM,EA3BA,WACA,IAAAC,EAAAC,EAAAC,KACAC,EAAAF,EAAAE,IACAC,EAAAjB,EAAAc,EAAAnB,OAAAK,EAAAc,EAAAnB,MAAAsB,MACApB,EAAAc,QAAAG,GACAG,IAAAJ,EAAAI,KAAAvB,QAAA,WACA,OAAAmB,IAEAG,EAAAE,OAAA,IAAAtB,EAAA,gBAAAkB,EAAAnB,QAmBAwB,KAAAb,IACA,IAAAA,EAAAE,QAAAI,IACAN,EAAAE,QAAAY,KAAAR,EAAA,WACAN,EAAAU,IAAAE,OAAA,IAAAtB,EAAA,kBAAAU,EAAAX,KAAA0B,gBAIA,IAAAtB,EAAAuB,QAAAzB,MAtCA","file":"legacy.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, handlerModule, isObject) {\n\t\tfunction resolve() {\n\t\t\tvar result, self = this,\n\t\t\t\tdfd = self.dfd,\n\t\t\t\tprobe = settings[self.path] && settings[self.path].probe;\n\t\t\thandlerModule.process(self);\n\t\t\tif (probe && (result = probe())) provide(function () {\n\t\t\t\treturn result\n\t\t\t});\n\t\t\telse dfd.reject(new Failure(\"error probing\", self.path))\n\t\t}\n\n\t\tfunction HandlerLegacy() {}\n\t\tvar settings = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\tsettings = isObject(options) ? options : {}\n\t\t});\n\t\tHandlerLegacy.prototype = {\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\thandlerModule.onPreRequest(dependency);\n\t\t\t\tif (dependencies) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\tif (dependencies && \"boolean\" === typeof dependency.enqueue) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar boundResolve = resolve.bind(dependency);\n\t\t\t\tif (true === dependency.enqueue) boundResolve();\n\t\t\t\telse dependency.enqueue.then(boundResolve, function () {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"error resolving\", dependency.path, arguments))\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerLegacy.extends(handlerModule))\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/handler/module\", \"/demand/validator/isObject\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/legacy.js"],"names":["provide","path","Failure","handlerModule","isObject","HandlerLegacy","settings","demand","on","options","prototype","onPreRequest","dependency","dependencies","enqueue","apply","onPreProcess","process","boundResolve","result","self","this","dfd","probe","reject","bind","then","arguments","extends"],"mappings":";CAAA,WACA,aAuCAA,SAAA,OAAA,kBAAA,yBAAA,8BArCA,SAAAC,EAAAC,EAAAC,EAAAC,GAYA,SAAAC,KACA,IAAAC,KAsBA,OArBAC,OAAAC,GAAA,iBAAAP,EAAA,SAAAQ,GACAH,EAAAF,EAAAK,GAAAA,OAEAJ,EAAAK,WACAC,aAAA,SAAAC,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAV,EAAAQ,aAAAC,GACAC,IAAAD,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAG,aAAA,SAAAJ,GACA,IAAAC,EAAAP,EAAAM,EAAAX,OAAAK,EAAAM,EAAAX,MAAAY,aACAA,GAAA,kBAAAD,EAAAE,UAAAF,EAAAE,QAAAP,OAAAQ,MAAA,KAAAF,KAEAI,QAAA,SAAAL,GACA,IAAAM,EA3BA,WACA,IAAAC,EAAAC,EAAAC,KACAC,EAAAF,EAAAE,IACAC,EAAAjB,EAAAc,EAAAnB,OAAAK,EAAAc,EAAAnB,MAAAsB,MACApB,EAAAc,QAAAG,GACAG,IAAAJ,EAAAI,KAAAvB,QAAA,WACA,OAAAmB,IAEAG,EAAAE,OAAA,IAAAtB,EAAA,gBAAAkB,EAAAnB,QAmBAwB,KAAAb,IACA,IAAAA,EAAAE,QAAAI,IACAN,EAAAE,QAAAY,KAAAR,EAAA,WACAN,EAAAU,IAAAE,OAAA,IAAAtB,EAAA,kBAAAU,EAAAX,KAAA0B,gBAIA,IAAAtB,EAAAuB,QAAAzB,MAtCA","file":"legacy.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, handlerModule, isObject) {\n\t\tfunction resolve() {\n\t\t\tvar result, self = this,\n\t\t\t\tdfd = self.dfd,\n\t\t\t\tprobe = settings[self.path] && settings[self.path].probe;\n\t\t\thandlerModule.process(self);\n\t\t\tif (probe && (result = probe())) provide(function () {\n\t\t\t\treturn result\n\t\t\t});\n\t\t\telse dfd.reject(new Failure(\"error probing\", self.path))\n\t\t}\n\n\t\tfunction HandlerLegacy() {}\n\t\tvar settings = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\tsettings = isObject(options) ? options : {}\n\t\t});\n\t\tHandlerLegacy.prototype = {\n\t\t\tonPreRequest: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\thandlerModule.onPreRequest(dependency);\n\t\t\t\tif (dependencies) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tonPreProcess: function (dependency) {\n\t\t\t\tvar dependencies = settings[dependency.path] && settings[dependency.path].dependencies;\n\t\t\t\tif (dependencies && \"boolean\" === typeof dependency.enqueue) dependency.enqueue = demand.apply(null, dependencies)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tvar boundResolve = resolve.bind(dependency);\n\t\t\t\tif (true === dependency.enqueue) boundResolve();\n\t\t\t\telse dependency.enqueue.then(boundResolve, function () {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"error resolving\", dependency.path, arguments))\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerLegacy.extends(handlerModule))\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/handler/module\", \"/demand/validator/isObject\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/handler/text.js b/dist/handler/text.js index ce7e53b..2527cce 100644 --- a/dist/handler/text.js +++ b/dist/handler/text.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(){"use strict";provide(["/demand/abstract/handler"],function(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))})}(); //# sourceMappingURL=text.js.map diff --git a/dist/handler/text.js.map b/dist/handler/text.js.map index 092be33..5a08fda 100644 --- a/dist/handler/text.js.map +++ b/dist/handler/text.js.map @@ -1 +1 @@ -{"version":3,"sources":["handler/text.js"],"names":["provide","abstractHandler","HandlerText","regexMatchType","prototype","validate","type","test","process","dependency","source","extends"],"mappings":";CAAA,WACA,aAiBAA,SAAA,4BAfA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,YAWA,OAVAD,EAAAE,WACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,QAAA,SAAAC,GACAT,QAAA,WACA,OAAAS,EAAAC,WAIA,IAAAR,EAAAS,QAAAV,MAhBA","file":"text.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerText() {}\n\t\tvar regexMatchType = /^text\\/.+/;\n\t\tHandlerText.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn dependency.source\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerText.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file +{"version":3,"sources":["handler/text.js"],"names":["provide","abstractHandler","HandlerText","regexMatchType","prototype","validate","type","test","process","dependency","source","extends"],"mappings":";CAAA,WACA,aAiBAA,SAAA,4BAfA,SAAAC,GACA,SAAAC,KACA,IAAAC,EAAA,YAWA,OAVAD,EAAAE,WACAC,SAAA,SAAAC,GACA,OAAAH,EAAAI,KAAAD,IAEAE,QAAA,SAAAC,GACAT,QAAA,WACA,OAAAS,EAAAC,WAIA,IAAAR,EAAAS,QAAAV,MAhBA","file":"text.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function () {\n\t\"use strict\";\n\n\tfunction definition(abstractHandler) {\n\t\tfunction HandlerText() {}\n\t\tvar regexMatchType = /^text\\/.+/;\n\t\tHandlerText.prototype = {\n\t\t\tvalidate: function (type) {\n\t\t\t\treturn regexMatchType.test(type)\n\t\t\t},\n\t\t\tprocess: function (dependency) {\n\t\t\t\tprovide(function () {\n\t\t\t\t\treturn dependency.source\n\t\t\t\t})\n\t\t\t}\n\t\t};\n\t\treturn new(HandlerText.extends(abstractHandler))\n\t}\n\tprovide([\"/demand/abstract/handler\"], definition)\n})();\n"]} \ No newline at end of file diff --git a/dist/plugin/cookie.js b/dist/plugin/cookie.js index a7d2141..67dc66f 100644 --- a/dist/plugin/cookie.js +++ b/dist/plugin/cookie.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ !function(n){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(t,e,o,i){function a(t,e,o){(c||function(n){for(var t,e,o=0;t=u[o];o++)0===n.indexOf(t.pattern)&&(!e||t.weight>e.weight)&&(e=t);return!!e&&e.state}(t.path))&&(n.cookie="demand["+t.type+"]["+t.path+"]="+encodeURIComponent(e)+"; expires="+o+"; path=/")}var c,r="Thu, 01 Jan 1970 00:00:00 GMT",u=[];return demand.on("postConfigure:"+t,function(n){o(n)?(u.length=0,e(n,function(n,t){u.push({pattern:n,weight:n.length,state:t})})):i(n,"boolean")&&(c=n)}).on("cacheMiss",function(n){a(n,"",r)}).on("cacheClear",function(n){a(n,"",r)}).on("postCache",function(n,t){a(n,JSON.stringify(t),"Fri, 31 Dec 9999 23:59:59 GMT")}),!0})}(document); //# sourceMappingURL=cookie.js.map diff --git a/dist/plugin/cookie.js.map b/dist/plugin/cookie.js.map index f4b9765..02b04d5 100644 --- a/dist/plugin/cookie.js.map +++ b/dist/plugin/cookie.js.map @@ -1 +1 @@ -{"version":3,"sources":["plugin/cookie.js"],"names":["document","provide","path","iterate","isObject","isTypeOf","setCookie","dependency","value","expiration","enabled","pointer","match","i","pattern","indexOf","weight","state","isEnabled","cookie","type","encodeURIComponent","past","demand","on","options","length","key","push","JSON","stringify"],"mappings":";CAAA,SAAAA,GACA,aAsCAC,SAAA,OAAA,2BAAA,6BAAA,8BApCA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,SAAAC,EAAAC,EAAAC,EAAAC,IACAC,GAGA,SAAAR,GACA,IAAA,IAAAS,EAAAC,EAAAC,EAAA,EAAAF,EAAAG,EAAAD,GAAAA,IACA,IAAAX,EAAAa,QAAAJ,EAAAG,YAAAF,GAAAD,EAAAK,OAAAJ,EAAAI,UAAAJ,EAAAD,GACA,QAAAC,GAAAA,EAAAK,MANAC,CAAAX,EAAAL,SAAAF,EAAAmB,OAAA,UAAAZ,EAAAa,KAAA,KAAAb,EAAAL,KAAA,KAAAmB,mBAAAb,GAAA,aAAAC,EAAA,YAQA,IAAAC,EAAAY,EAAA,gCAEAR,KAsBA,OArBAS,OAAAC,GAAA,iBAAAtB,EAAA,SAAAuB,GACArB,EAAAqB,IACAX,EAAAY,OAAA,EACAvB,EAAAsB,EAAA,SAAAE,EAAAnB,GACAM,EAAAc,MACAd,QAAAa,EACAX,OAAAW,EAAAD,OACAT,MAAAT,OAGAH,EAAAoB,EAAA,aAAAf,EAAAe,KAEAD,GAAA,YAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,aAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,YAAA,SAAAjB,EAAAU,GACAX,EAAAC,EAAAsB,KAAAC,UAAAb,GArBA,oCAuBA,IArCA,CAwCAjB","file":"cookie.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction setCookie(dependency, value, expiration) {\n\t\t\tif (enabled || isEnabled(dependency.path)) document.cookie = \"demand[\" + dependency.type + \"][\" + dependency.path + \"]=\" + encodeURIComponent(value) + \"; expires=\" + expiration + \"; path=/\"\n\t\t}\n\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar enabled, past = \"Thu, 01 Jan 1970 00:00:00 GMT\",\n\t\t\tfuture = \"Fri, 31 Dec 9999 23:59:59 GMT\",\n\t\t\tpattern = [];\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) enabled = options\n\t\t\t})\n\t\t\t.on(\"cacheMiss\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"cacheClear\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"postCache\", function (dependency, state) {\n\t\t\t\tsetCookie(dependency, JSON.stringify(state), future)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(document);\n"]} \ No newline at end of file +{"version":3,"sources":["plugin/cookie.js"],"names":["document","provide","path","iterate","isObject","isTypeOf","setCookie","dependency","value","expiration","enabled","pointer","match","i","pattern","indexOf","weight","state","isEnabled","cookie","type","encodeURIComponent","past","demand","on","options","length","key","push","JSON","stringify"],"mappings":";CAAA,SAAAA,GACA,aAsCAC,SAAA,OAAA,2BAAA,6BAAA,8BApCA,SAAAC,EAAAC,EAAAC,EAAAC,GACA,SAAAC,EAAAC,EAAAC,EAAAC,IACAC,GAGA,SAAAR,GACA,IAAA,IAAAS,EAAAC,EAAAC,EAAA,EAAAF,EAAAG,EAAAD,GAAAA,IACA,IAAAX,EAAAa,QAAAJ,EAAAG,YAAAF,GAAAD,EAAAK,OAAAJ,EAAAI,UAAAJ,EAAAD,GACA,QAAAC,GAAAA,EAAAK,MANAC,CAAAX,EAAAL,SAAAF,EAAAmB,OAAA,UAAAZ,EAAAa,KAAA,KAAAb,EAAAL,KAAA,KAAAmB,mBAAAb,GAAA,aAAAC,EAAA,YAQA,IAAAC,EAAAY,EAAA,gCAEAR,KAsBA,OArBAS,OAAAC,GAAA,iBAAAtB,EAAA,SAAAuB,GACArB,EAAAqB,IACAX,EAAAY,OAAA,EACAvB,EAAAsB,EAAA,SAAAE,EAAAnB,GACAM,EAAAc,MACAd,QAAAa,EACAX,OAAAW,EAAAD,OACAT,MAAAT,OAGAH,EAAAoB,EAAA,aAAAf,EAAAe,KAEAD,GAAA,YAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,aAAA,SAAAjB,GACAD,EAAAC,EAAA,GAAAe,KAEAE,GAAA,YAAA,SAAAjB,EAAAU,GACAX,EAAAC,EAAAsB,KAAAC,UAAAb,GArBA,oCAuBA,IArCA,CAwCAjB","file":"cookie.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\n(function (document) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction setCookie(dependency, value, expiration) {\n\t\t\tif (enabled || isEnabled(dependency.path)) document.cookie = \"demand[\" + dependency.type + \"][\" + dependency.path + \"]=\" + encodeURIComponent(value) + \"; expires=\" + expiration + \"; path=/\"\n\t\t}\n\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar enabled, past = \"Thu, 01 Jan 1970 00:00:00 GMT\",\n\t\t\tfuture = \"Fri, 31 Dec 9999 23:59:59 GMT\",\n\t\t\tpattern = [];\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) enabled = options\n\t\t\t})\n\t\t\t.on(\"cacheMiss\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"cacheClear\", function (dependency) {\n\t\t\t\tsetCookie(dependency, \"\", past)\n\t\t\t})\n\t\t\t.on(\"postCache\", function (dependency, state) {\n\t\t\t\tsetCookie(dependency, JSON.stringify(state), future)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(document);\n"]} \ No newline at end of file diff --git a/dist/plugin/lzstring.js b/dist/plugin/lzstring.js index b6f5b09..d59b3e6 100644 --- a/dist/plugin/lzstring.js +++ b/dist/plugin/lzstring.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ var LZString=function(){function n(n,o){if(!r[n]){r[n]={};for(var e=0;e>>8,s[2*o+1]=t%256;return s},decompressFromUint8Array:function(n){var e,t,r,s;if(null==n)return i.decompress(n);for(t=0,r=(e=new Array(n.length/2)).length;t>=1}else{for(r=1,t=0;t>=1}0==--f&&(f=Math.pow(2,h),h++),delete u[p]}else for(r=s[p],t=0;t>=1;0==--f&&(f=Math.pow(2,h),h++),s[c]=l++,p=String(a)}if(""!==p){if(Object.prototype.hasOwnProperty.call(u,p)){if(p.charCodeAt(0)<256){for(t=0;t>=1}else{for(r=1,t=0;t>=1}0==--f&&(f=Math.pow(2,h),h++),delete u[p]}else for(r=s[p],t=0;t>=1;0==--f&&(f=Math.pow(2,h),h++)}for(r=2,t=0;t>=1;for(;;){if(m<<=1,g==o-1){d.push(e(m));break}g++}return d.join("")},decompress:function(n){return null==n?"":""==n?null:i._decompress(n.length,32768,function(o){return n.charCodeAt(o)})},_decompress:function(n,e,t){var r,i,s,u,a,c,p,f=[],l=4,h=4,d=3,m="",g=[],v={val:t(0),position:e,index:1};for(r=0;r<3;r+=1)f[r]=r;for(s=0,a=Math.pow(2,2),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;switch(s){case 0:for(s=0,a=Math.pow(2,8),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;p=o(s);break;case 1:for(s=0,a=Math.pow(2,16),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;p=o(s);break;case 2:return""}for(f[3]=p,i=p,g.push(p);;){if(v.index>n)return"";for(s=0,a=Math.pow(2,d),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;switch(p=s){case 0:for(s=0,a=Math.pow(2,8),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;f[h++]=o(s),p=h-1,l--;break;case 1:for(s=0,a=Math.pow(2,16),c=1;c!=a;)u=v.val&v.position,v.position>>=1,0==v.position&&(v.position=e,v.val=t(v.index++)),s|=(u>0?1:0)*c,c<<=1;f[h++]=o(s),p=h-1,l--;break;case 2:return g.join("")}if(0==l&&(l=Math.pow(2,d),d++),f[p])m=f[p];else{if(p!==h)return null;m=i+i.charAt(0)}g.push(m),f[h++]=i+m.charAt(0),i=m,0==--l&&(l=Math.pow(2,d),d++)}}};return i}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString}),function(n){"use strict";provide(["path","/demand/function/iterate","/demand/validator/isObject","/demand/validator/isTypeOf"],function(o,e,t,r){function i(n){for(var o,e,t=0;o=s[t];t++)0===n.indexOf(o.pattern)&&(!e||o.weight>e.weight)&&(e=o);return!!e&&e.state}var s=[{pattern:o,weight:o.length,state:!1}],u={};return demand.on("postConfigure:"+o,function(n){t(n)?(s.length=0,e(n,function(n,o){s.push({pattern:n,weight:n.length,state:o})})):r(n,"boolean")&&s.push({pattern:"",weight:0,state:n})}).on("cacheHit",function(n){i(n.path)&&(u[n.id]=!0)}).on("preCache",function(o){i(o.path)&&(o.source=n.LZString.compressToUTF16(o.source))}).on("preProcess",function(o){u[o.id]&&(o.source=n.LZString.decompressFromUTF16(o.source))}),!0})}(this); //# sourceMappingURL=lzstring.js.map diff --git a/dist/plugin/lzstring.js.map b/dist/plugin/lzstring.js.map index 94cb246..7feea23 100644 --- a/dist/plugin/lzstring.js.map +++ b/dist/plugin/lzstring.js.map @@ -1 +1 @@ -{"version":3,"sources":["plugin/lzstring.js"],"names":["LZString","getBaseValue","alphabet","character","baseReverseDic","i","length","charAt","f","String","fromCharCode","keyStrBase64","keyStrUriSafe","compressToBase64","input","res","_compress","a","decompressFromBase64","_decompress","index","compressToUTF16","decompressFromUTF16","compressed","charCodeAt","compressToUint8Array","uncompressed","TotalLen","current_value","compress","buf","Uint8Array","decompressFromUint8Array","result","decompress","Array","forEach","c","push","join","compressToEncodedURIComponent","decompressFromEncodedURIComponent","replace","bitsPerChar","getCharFromInt","value","ii","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","Object","prototype","hasOwnProperty","call","Math","pow","resetValue","getNextValue","w","bits","resb","maxpower","power","dictionary","enlargeIn","dictSize","numBits","entry","data","val","position","define","amd","module","exports","angular","factory","global","provide","path","iterate","isObject","isTypeOf","isEnabled","pointer","match","pattern","indexOf","weight","state","storage","demand","on","options","key","dependency","id","source","this"],"mappings":"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","file":"lzstring.js","sourcesContent":["/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\nvar LZString = function () {\n\tfunction getBaseValue(alphabet, character) {\n\t\tif (!baseReverseDic[alphabet]) {\n\t\t\tbaseReverseDic[alphabet] = {};\n\t\t\tfor (var i = 0; i < alphabet.length; i++) baseReverseDic[alphabet][alphabet.charAt(i)] = i\n\t\t}\n\t\treturn baseReverseDic[alphabet][character]\n\t}\n\tvar f = String.fromCharCode,\n\t\tkeyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\n\t\tkeyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\",\n\t\tbaseReverseDic = {},\n\t\tLZString = {\n\t\t\tcompressToBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tvar res = LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrBase64.charAt(a)\n\t\t\t\t});\n\t\t\t\tswitch (res.length % 4) {\n\t\t\t\t\tdefault:\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\treturn res;\n\t\t\t\tcase 1:\n\t\t\t\t\t\treturn res + \"===\";\n\t\t\t\tcase 2:\n\t\t\t\t\t\treturn res + \"==\";\n\t\t\t\tcase 3:\n\t\t\t\t\t\treturn res + \"=\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tdecompressFromBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\telse return LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrBase64, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUTF16: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 15, function (a) {\n\t\t\t\t\treturn f(a + 32)\n\t\t\t\t}) + \" \"\n\t\t\t},\n\t\t\tdecompressFromUTF16: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 16384, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index) - 32\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUint8Array: function (uncompressed) {\n\t\t\t\tvar i, TotalLen, current_value, compressed = LZString.compress(uncompressed),\n\t\t\t\t\tbuf = new Uint8Array(2 * compressed.length);\n\t\t\t\tfor (i = 0, TotalLen = compressed.length; i < TotalLen; i++) {\n\t\t\t\t\tcurrent_value = compressed.charCodeAt(i);\n\t\t\t\t\tbuf[2 * i] = current_value >>> 8;\n\t\t\t\t\tbuf[2 * i + 1] = current_value % 256\n\t\t\t\t}\n\t\t\t\treturn buf\n\t\t\t},\n\t\t\tdecompressFromUint8Array: function (compressed) {\n\t\t\t\tvar buf, i, TotalLen, result;\n\t\t\t\tif (null === compressed || void 0 === compressed) return LZString.decompress(compressed);\n\t\t\t\telse {\n\t\t\t\t\tfor (i = 0, TotalLen = (buf = new Array(compressed.length / 2))\n\t\t\t\t\t\t.length; i < TotalLen; i++) buf[i] = 256 * compressed[2 * i] + compressed[2 * i + 1];\n\t\t\t\t\tresult = [];\n\t\t\t\t\tbuf.forEach(function (c) {\n\t\t\t\t\t\tresult.push(f(c))\n\t\t\t\t\t});\n\t\t\t\t\treturn LZString.decompress(result.join(\"\"))\n\t\t\t\t}\n\t\t\t},\n\t\t\tcompressToEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrUriSafe.charAt(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdecompressFromEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\tinput = input.replace(/ /g, \"+\");\n\t\t\t\treturn LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrUriSafe, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompress: function (uncompressed) {\n\t\t\t\treturn LZString._compress(uncompressed, 16, function (a) {\n\t\t\t\t\treturn f(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n\t\t\t\tif (null == uncompressed) return \"\";\n\t\t\t\tvar i, value, ii, context_dictionary = {},\n\t\t\t\t\tcontext_dictionaryToCreate = {},\n\t\t\t\t\tcontext_c = \"\",\n\t\t\t\t\tcontext_wc = \"\",\n\t\t\t\t\tcontext_w = \"\",\n\t\t\t\t\tcontext_enlargeIn = 2,\n\t\t\t\t\tcontext_dictSize = 3,\n\t\t\t\t\tcontext_numBits = 2,\n\t\t\t\t\tcontext_data = [],\n\t\t\t\t\tcontext_data_val = 0,\n\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\tfor (ii = 0; ii < uncompressed.length; ii += 1) {\n\t\t\t\t\tcontext_c = uncompressed.charAt(ii);\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n\t\t\t\t\t\tcontext_dictionary[context_c] = context_dictSize++;\n\t\t\t\t\t\tcontext_dictionaryToCreate[context_c] = true\n\t\t\t\t\t}\n\t\t\t\t\tcontext_wc = context_w + context_c;\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) context_w = context_wc;\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 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\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext_dictionary[context_wc] = context_dictSize++;\n\t\t\t\t\t\tcontext_w = String(context_c)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (\"\" !== context_w) {\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvalue = 2;\n\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\tvalue >>= 1\n\t\t\t\t}\n\t\t\t\twhile (true) {\n\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else context_data_position++\n\t\t\t\t}\n\t\t\t\treturn context_data.join(\"\")\n\t\t\t},\n\t\t\tdecompress: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 32768, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_decompress: function (length, resetValue, getNextValue) {\n\t\t\t\tvar i, w, bits, resb, maxpower, power, c, dictionary = [],\n\t\t\t\t\tenlargeIn = 4,\n\t\t\t\t\tdictSize = 4,\n\t\t\t\t\tnumBits = 3,\n\t\t\t\t\tentry = \"\",\n\t\t\t\t\tresult = [],\n\t\t\t\t\tdata = {\n\t\t\t\t\t\tval: getNextValue(0),\n\t\t\t\t\t\tposition: resetValue,\n\t\t\t\t\t\tindex: 1\n\t\t\t\t\t};\n\t\t\t\tfor (i = 0; i < 3; i += 1) dictionary[i] = i;\n\t\t\t\tbits = 0;\n\t\t\t\tmaxpower = Math.pow(2, 2);\n\t\t\t\tpower = 1;\n\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t}\n\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\tpower <<= 1\n\t\t\t\t}\n\t\t\t\tswitch (bits) {\n\t\t\t\tcase 0:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\treturn \"\"\n\t\t\t\t}\n\t\t\t\tdictionary[3] = c;\n\t\t\t\tw = c;\n\t\t\t\tresult.push(c);\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (data.index > length) return \"\";\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, numBits);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tswitch (c = bits) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn result.join(\"\")\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t\tif (dictionary[c]) entry = dictionary[c];\n\t\t\t\t\telse if (c === dictSize) entry = w + w.charAt(0);\n\t\t\t\t\telse return null;\n\t\t\t\t\tresult.push(entry);\n\t\t\t\t\tdictionary[dictSize++] = w + entry.charAt(0);\n\t\t\t\t\tw = entry;\n\t\t\t\t\tif (0 == --enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\treturn LZString\n}();\nif (\"function\" === typeof define && define.amd) define(function () {\n\treturn LZString\n});\nelse if (\"undefined\" !== typeof module && null != module) module.exports = LZString;\nelse if (\"undefined\" !== typeof angular && null != angular) angular.module(\"LZString\", [])\n\t.factory(\"LZString\", function () {\n\t\treturn LZString\n\t});\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar pattern = [{\n\t\t\t\tpattern: path,\n\t\t\t\tweight: path.length,\n\t\t\t\tstate: false\n\t\t\t}],\n\t\t\tstorage = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) pattern.push({\n\t\t\t\t\tpattern: \"\",\n\t\t\t\t\tweight: 0,\n\t\t\t\t\tstate: options\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(\"cacheHit\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) storage[dependency.id] = true\n\t\t\t})\n\t\t\t.on(\"preCache\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) dependency.source = global.LZString.compressToUTF16(dependency.source)\n\t\t\t})\n\t\t\t.on(\"preProcess\", function (dependency) {\n\t\t\t\tif (storage[dependency.id]) dependency.source = global.LZString.decompressFromUTF16(dependency.source)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(this);\n"]} \ No newline at end of file +{"version":3,"sources":["plugin/lzstring.js"],"names":["LZString","getBaseValue","alphabet","character","baseReverseDic","i","length","charAt","f","String","fromCharCode","keyStrBase64","keyStrUriSafe","compressToBase64","input","res","_compress","a","decompressFromBase64","_decompress","index","compressToUTF16","decompressFromUTF16","compressed","charCodeAt","compressToUint8Array","uncompressed","TotalLen","current_value","compress","buf","Uint8Array","decompressFromUint8Array","result","decompress","Array","forEach","c","push","join","compressToEncodedURIComponent","decompressFromEncodedURIComponent","replace","bitsPerChar","getCharFromInt","value","ii","context_dictionary","context_dictionaryToCreate","context_c","context_wc","context_w","context_enlargeIn","context_dictSize","context_numBits","context_data","context_data_val","context_data_position","Object","prototype","hasOwnProperty","call","Math","pow","resetValue","getNextValue","w","bits","resb","maxpower","power","dictionary","enlargeIn","dictSize","numBits","entry","data","val","position","define","amd","module","exports","angular","factory","global","provide","path","iterate","isObject","isTypeOf","isEnabled","pointer","match","pattern","indexOf","weight","state","storage","demand","on","options","key","dependency","id","source","this"],"mappings":"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","file":"lzstring.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\nvar LZString = function () {\n\tfunction getBaseValue(alphabet, character) {\n\t\tif (!baseReverseDic[alphabet]) {\n\t\t\tbaseReverseDic[alphabet] = {};\n\t\t\tfor (var i = 0; i < alphabet.length; i++) baseReverseDic[alphabet][alphabet.charAt(i)] = i\n\t\t}\n\t\treturn baseReverseDic[alphabet][character]\n\t}\n\tvar f = String.fromCharCode,\n\t\tkeyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",\n\t\tkeyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\",\n\t\tbaseReverseDic = {},\n\t\tLZString = {\n\t\t\tcompressToBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tvar res = LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrBase64.charAt(a)\n\t\t\t\t});\n\t\t\t\tswitch (res.length % 4) {\n\t\t\t\t\tdefault:\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\treturn res;\n\t\t\t\tcase 1:\n\t\t\t\t\t\treturn res + \"===\";\n\t\t\t\tcase 2:\n\t\t\t\t\t\treturn res + \"==\";\n\t\t\t\tcase 3:\n\t\t\t\t\t\treturn res + \"=\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tdecompressFromBase64: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\telse return LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrBase64, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUTF16: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 15, function (a) {\n\t\t\t\t\treturn f(a + 32)\n\t\t\t\t}) + \" \"\n\t\t\t},\n\t\t\tdecompressFromUTF16: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 16384, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index) - 32\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompressToUint8Array: function (uncompressed) {\n\t\t\t\tvar i, TotalLen, current_value, compressed = LZString.compress(uncompressed),\n\t\t\t\t\tbuf = new Uint8Array(2 * compressed.length);\n\t\t\t\tfor (i = 0, TotalLen = compressed.length; i < TotalLen; i++) {\n\t\t\t\t\tcurrent_value = compressed.charCodeAt(i);\n\t\t\t\t\tbuf[2 * i] = current_value >>> 8;\n\t\t\t\t\tbuf[2 * i + 1] = current_value % 256\n\t\t\t\t}\n\t\t\t\treturn buf\n\t\t\t},\n\t\t\tdecompressFromUint8Array: function (compressed) {\n\t\t\t\tvar buf, i, TotalLen, result;\n\t\t\t\tif (null === compressed || void 0 === compressed) return LZString.decompress(compressed);\n\t\t\t\telse {\n\t\t\t\t\tfor (i = 0, TotalLen = (buf = new Array(compressed.length / 2))\n\t\t\t\t\t\t.length; i < TotalLen; i++) buf[i] = 256 * compressed[2 * i] + compressed[2 * i + 1];\n\t\t\t\t\tresult = [];\n\t\t\t\t\tbuf.forEach(function (c) {\n\t\t\t\t\t\tresult.push(f(c))\n\t\t\t\t\t});\n\t\t\t\t\treturn LZString.decompress(result.join(\"\"))\n\t\t\t\t}\n\t\t\t},\n\t\t\tcompressToEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\telse return LZString._compress(input, 6, function (a) {\n\t\t\t\t\treturn keyStrUriSafe.charAt(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\tdecompressFromEncodedURIComponent: function (input) {\n\t\t\t\tif (null == input) return \"\";\n\t\t\t\tif (\"\" == input) return null;\n\t\t\t\tinput = input.replace(/ /g, \"+\");\n\t\t\t\treturn LZString._decompress(input.length, 32, function (index) {\n\t\t\t\t\treturn getBaseValue(keyStrUriSafe, input.charAt(index))\n\t\t\t\t})\n\t\t\t},\n\t\t\tcompress: function (uncompressed) {\n\t\t\t\treturn LZString._compress(uncompressed, 16, function (a) {\n\t\t\t\t\treturn f(a)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n\t\t\t\tif (null == uncompressed) return \"\";\n\t\t\t\tvar i, value, ii, context_dictionary = {},\n\t\t\t\t\tcontext_dictionaryToCreate = {},\n\t\t\t\t\tcontext_c = \"\",\n\t\t\t\t\tcontext_wc = \"\",\n\t\t\t\t\tcontext_w = \"\",\n\t\t\t\t\tcontext_enlargeIn = 2,\n\t\t\t\t\tcontext_dictSize = 3,\n\t\t\t\t\tcontext_numBits = 2,\n\t\t\t\t\tcontext_data = [],\n\t\t\t\t\tcontext_data_val = 0,\n\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\tfor (ii = 0; ii < uncompressed.length; ii += 1) {\n\t\t\t\t\tcontext_c = uncompressed.charAt(ii);\n\t\t\t\t\tif (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {\n\t\t\t\t\t\tcontext_dictionary[context_c] = context_dictSize++;\n\t\t\t\t\t\tcontext_dictionaryToCreate[context_c] = true\n\t\t\t\t\t}\n\t\t\t\t\tcontext_wc = context_w + context_c;\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) context_w = context_wc;\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\t\tvalue >>= 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\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontext_dictionary[context_wc] = context_dictSize++;\n\t\t\t\t\t\tcontext_w = String(context_c)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (\"\" !== context_w) {\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {\n\t\t\t\t\t\tif (context_w.charCodeAt(0) < 256) {\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 8; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvalue = 1;\n\t\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue = context_w.charCodeAt(0);\n\t\t\t\t\t\t\tfor (i = 0; i < 16; i++) {\n\t\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete context_dictionaryToCreate[context_w]\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = context_dictionary[context_w];\n\t\t\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\t\t\tvalue >>= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == --context_enlargeIn) {\n\t\t\t\t\t\tcontext_enlargeIn = Math.pow(2, context_numBits);\n\t\t\t\t\t\tcontext_numBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tvalue = 2;\n\t\t\t\tfor (i = 0; i < context_numBits; i++) {\n\t\t\t\t\tcontext_data_val = context_data_val << 1 | 1 & value;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data_position = 0;\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tcontext_data_val = 0\n\t\t\t\t\t} else context_data_position++;\n\t\t\t\t\tvalue >>= 1\n\t\t\t\t}\n\t\t\t\twhile (true) {\n\t\t\t\t\tcontext_data_val <<= 1;\n\t\t\t\t\tif (context_data_position == bitsPerChar - 1) {\n\t\t\t\t\t\tcontext_data.push(getCharFromInt(context_data_val));\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else context_data_position++\n\t\t\t\t}\n\t\t\t\treturn context_data.join(\"\")\n\t\t\t},\n\t\t\tdecompress: function (compressed) {\n\t\t\t\tif (null == compressed) return \"\";\n\t\t\t\tif (\"\" == compressed) return null;\n\t\t\t\telse return LZString._decompress(compressed.length, 32768, function (index) {\n\t\t\t\t\treturn compressed.charCodeAt(index)\n\t\t\t\t})\n\t\t\t},\n\t\t\t_decompress: function (length, resetValue, getNextValue) {\n\t\t\t\tvar i, w, bits, resb, maxpower, power, c, dictionary = [],\n\t\t\t\t\tenlargeIn = 4,\n\t\t\t\t\tdictSize = 4,\n\t\t\t\t\tnumBits = 3,\n\t\t\t\t\tentry = \"\",\n\t\t\t\t\tresult = [],\n\t\t\t\t\tdata = {\n\t\t\t\t\t\tval: getNextValue(0),\n\t\t\t\t\t\tposition: resetValue,\n\t\t\t\t\t\tindex: 1\n\t\t\t\t\t};\n\t\t\t\tfor (i = 0; i < 3; i += 1) dictionary[i] = i;\n\t\t\t\tbits = 0;\n\t\t\t\tmaxpower = Math.pow(2, 2);\n\t\t\t\tpower = 1;\n\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t}\n\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\tpower <<= 1\n\t\t\t\t}\n\t\t\t\tswitch (bits) {\n\t\t\t\tcase 0:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tc = f(bits);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\treturn \"\"\n\t\t\t\t}\n\t\t\t\tdictionary[3] = c;\n\t\t\t\tw = c;\n\t\t\t\tresult.push(c);\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (data.index > length) return \"\";\n\t\t\t\t\tbits = 0;\n\t\t\t\t\tmaxpower = Math.pow(2, numBits);\n\t\t\t\t\tpower = 1;\n\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t}\n\t\t\t\t\tswitch (c = bits) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 8);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tbits = 0;\n\t\t\t\t\t\tmaxpower = Math.pow(2, 16);\n\t\t\t\t\t\tpower = 1;\n\t\t\t\t\t\twhile (power != maxpower) {\n\t\t\t\t\t\t\tresb = data.val & data.position;\n\t\t\t\t\t\t\tdata.position >>= 1;\n\t\t\t\t\t\t\tif (0 == data.position) {\n\t\t\t\t\t\t\t\tdata.position = resetValue;\n\t\t\t\t\t\t\t\tdata.val = getNextValue(data.index++)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbits |= (resb > 0 ? 1 : 0) * power;\n\t\t\t\t\t\t\tpower <<= 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdictionary[dictSize++] = f(bits);\n\t\t\t\t\t\tc = dictSize - 1;\n\t\t\t\t\t\tenlargeIn--;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\treturn result.join(\"\")\n\t\t\t\t\t}\n\t\t\t\t\tif (0 == enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t\tif (dictionary[c]) entry = dictionary[c];\n\t\t\t\t\telse if (c === dictSize) entry = w + w.charAt(0);\n\t\t\t\t\telse return null;\n\t\t\t\t\tresult.push(entry);\n\t\t\t\t\tdictionary[dictSize++] = w + entry.charAt(0);\n\t\t\t\t\tw = entry;\n\t\t\t\t\tif (0 == --enlargeIn) {\n\t\t\t\t\t\tenlargeIn = Math.pow(2, numBits);\n\t\t\t\t\t\tnumBits++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\treturn LZString\n}();\nif (\"function\" === typeof define && define.amd) define(function () {\n\treturn LZString\n});\nelse if (\"undefined\" !== typeof module && null != module) module.exports = LZString;\nelse if (\"undefined\" !== typeof angular && null != angular) angular.module(\"LZString\", [])\n\t.factory(\"LZString\", function () {\n\t\treturn LZString\n\t});\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, iterate, isObject, isTypeOf) {\n\t\tfunction isEnabled(path) {\n\t\t\tfor (var pointer, match, i = 0; pointer = pattern[i]; i++)\n\t\t\t\tif (0 === path.indexOf(pointer.pattern) && (!match || pointer.weight > match.weight)) match = pointer;\n\t\t\treturn match ? match.state : false\n\t\t}\n\t\tvar pattern = [{\n\t\t\t\tpattern: path,\n\t\t\t\tweight: path.length,\n\t\t\t\tstate: false\n\t\t\t}],\n\t\t\tstorage = {};\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) {\n\t\t\t\t\tpattern.length = 0;\n\t\t\t\t\titerate(options, function (key, value) {\n\t\t\t\t\t\tpattern.push({\n\t\t\t\t\t\t\tpattern: key,\n\t\t\t\t\t\t\tweight: key.length,\n\t\t\t\t\t\t\tstate: value\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t} else if (isTypeOf(options, \"boolean\")) pattern.push({\n\t\t\t\t\tpattern: \"\",\n\t\t\t\t\tweight: 0,\n\t\t\t\t\tstate: options\n\t\t\t\t})\n\t\t\t})\n\t\t\t.on(\"cacheHit\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) storage[dependency.id] = true\n\t\t\t})\n\t\t\t.on(\"preCache\", function (dependency) {\n\t\t\t\tif (isEnabled(dependency.path)) dependency.source = global.LZString.compressToUTF16(dependency.source)\n\t\t\t})\n\t\t\t.on(\"preProcess\", function (dependency) {\n\t\t\t\tif (storage[dependency.id]) dependency.source = global.LZString.decompressFromUTF16(dependency.source)\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/function/iterate\", \"/demand/validator/isObject\", \"/demand/validator/isTypeOf\"], definition)\n})(this);\n"]} \ No newline at end of file diff --git a/dist/plugin/sri.js b/dist/plugin/sri.js index 5315059..3c7efa0 100644 --- a/dist/plugin/sri.js +++ b/dist/plugin/sri.js @@ -1,3 +1,3 @@ -/**! Qoopido.demand 5.0.1 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ +/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */ var SUPPORTED_ALGS=15;!function(r){"use strict";function e(r,e){this.highOrder=r,this.lowOrder=e}function n(r,e,n,t){var o,i,h,w="0123456789abcdef",d="",u=e/8;for(h=-1===n?3:0,o=0;o>>2]>>>8*(h+n*(o%4)),d+=w.charAt(i>>>4&15)+w.charAt(15&i);return t.outputUpper?d.toUpperCase():d}function t(r,e,n,t){var o,i,h,w,d,u,f="",a=e/8;for(u=-1===n?3:0,o=0;o>>2]:0,d=o+2>>2]:0,h=(r[o>>>2]>>>8*(u+n*(o%4))&255)<<16|(w>>>8*(u+n*((o+1)%4))&255)<<8|d>>>8*(u+n*((o+2)%4))&255,i=0;i<4;i+=1)f+=8*o+6*i<=e?"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(h>>>6*(3-i)&63):t.b64Pad;return f}function o(r,e,n){var t,o,i,h="",w=e/8;for(i=-1===n?3:0,t=0;t>>2]>>>8*(i+n*(t%4))&255,h+=String.fromCharCode(o);return h}function i(r,e,n){var t,o,i,h=e/8,w=new ArrayBuffer(h);for(i=new Uint8Array(w),o=-1===n?3:0,t=0;t>>2]>>>8*(o+n*(t%4))&255;return w}function h(r){var e,n={outputUpper:!1,b64Pad:"=",shakeLen:-1};if(e=r||{},n.outputUpper=e.outputUpper||!1,!0===e.hasOwnProperty("b64Pad")&&(n.b64Pad=e.b64Pad),!0===e.hasOwnProperty("shakeLen")&&0!=(8&SUPPORTED_ALGS)){if(e.shakeLen%8!=0)throw new Error("shakeLen must be a multiple of 8");n.shakeLen=e.shakeLen}if("boolean"!=typeof n.outputUpper)throw new Error("Invalid outputUpper formatting option");if("string"!=typeof n.b64Pad)throw new Error("Invalid b64Pad formatting option");return n}function w(r,e,n){var t;switch(e){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw new Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(r){case"HEX":t=function(r,e,t){return function(r,e,n,t){var o,i,h,w,d,u,f,a=r.length;if(0!=a%2)throw new Error("String of HEX type must be in byte increments");for(o=e||[0],u=(n=n||0)>>>3,f=-1===t?3:0,i=0;i>>1)+u)>>>2;o.length<=w;)o.push(0);o[w]|=h<<8*(f+t*(d%4))}return{value:o,binLen:4*a+n}}(r,e,t,n)};break;case"TEXT":t=function(r,t,o){return function(r,e,n,o,i){var h,w,d,u,f,a,O,l,s,c,g=0;if(h=t||[0],a=(o=o||0)>>>3,"UTF8"===e)for(s=-1===i?3:0,u=0;u(w=r.charCodeAt(u))?d.push(w):2048>w?(d.push(192|w>>>6),d.push(128|63&w)):55296>w||57344<=w?d.push(224|w>>>12,128|w>>>6&63,128|63&w):(u+=1,w=65536+((1023&w)<<10|1023&r.charCodeAt(u)),d.push(240|w>>>18,128|w>>>12&63,128|w>>>6&63,128|63&w)),f=0;f>>2;h.length<=O;)h.push(0);h[O]|=d[f]<<8*(s+i*(l%4)),g+=1}else if("UTF16BE"===e||"UTF16LE"===e)for(s=-1===i?2:0,c="UTF16LE"===e&&1!==i||"UTF16LE"!==e&&1===i,u=0;u>>8),O=(l=g+a)>>>2;h.length<=O;)h.push(0);h[O]|=w<<8*(s+i*(l%4)),g+=2}return{value:h,binLen:8*g+o}}(r,e,0,o,n)};break;case"B64":t=function(r,e,t){return function(r,e,n,t){var o,i,h,w,d,u,f,a,O,l,s=0;if(-1===r.search(/^[a-zA-Z0-9=+\/]+$/))throw new Error("Invalid character in base-64 string");if(u=r.indexOf("="),r=r.replace(/\=/g,""),-1!==u&&u>> 3;\n\t\tif (\"UTF8\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePntArr = [];\n\t\t\t\tif (128 > (codePnt = str.charCodeAt(i))) codePntArr.push(codePnt);\n\t\t\t\telse if (2048 > codePnt) {\n\t\t\t\t\tcodePntArr.push(192 | codePnt >>> 6);\n\t\t\t\t\tcodePntArr.push(128 | 63 & codePnt)\n\t\t\t\t} else if (55296 > codePnt || 57344 <= codePnt) codePntArr.push(224 | codePnt >>> 12, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt);\n\t\t\t\telse {\n\t\t\t\t\ti += 1;\n\t\t\t\t\tcodePnt = 65536 + ((1023 & codePnt) << 10 | 1023 & str.charCodeAt(i));\n\t\t\t\t\tcodePntArr.push(240 | codePnt >>> 18, 128 | codePnt >>> 12 & 63, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt)\n\t\t\t\t}\n\t\t\t\tfor (j = 0; j < codePntArr.length; j += 1) {\n\t\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\t\tpacked[intOffset] |= codePntArr[j] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\t\tbyteCnt += 1\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\"UTF16BE\" === utfType || \"UTF16LE\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 2 : 0;\n\t\t\ttransposeBytes = \"UTF16LE\" === utfType && 1 !== bigEndianMod || \"UTF16LE\" !== utfType && 1 === bigEndianMod;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\t\tif (true === transposeBytes) codePnt = (j = 255 & codePnt) << 8 | codePnt >>> 8;\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 2\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction hex2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, num, intOffset, byteOffset, existingByteLen, shiftModifier, length = str.length;\n\t\tif (0 !== length % 2) throw new Error(\"String of HEX type must be in byte increments\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 2) {\n\t\t\tnum = parseInt(str.substr(i, 2), 16);\n\t\t\tif (!isNaN(num)) {\n\t\t\t\tintOffset = (byteOffset = (i >>> 1) + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= num << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t\t} else throw new Error(\"String of HEX type contains invalid characters\")\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 4 * length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction bytes2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, codePnt, i, existingByteLen, intOffset, byteOffset, shiftModifier;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * str.length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction b642packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, j, tmpInt, strPart, firstEqual, existingByteLen, intOffset, byteOffset, shiftModifier, byteCnt = 0,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tif (-1 === str.search(/^[a-zA-Z0-9=+\\/]+$/)) throw new Error(\"Invalid character in base-64 string\");\n\t\tfirstEqual = str.indexOf(\"=\");\n\t\tstr = str.replace(/\\=/g, \"\");\n\t\tif (-1 !== firstEqual && firstEqual < str.length) throw new Error(\"Invalid '=' found in base-64 string\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 4) {\n\t\t\tstrPart = str.substr(i, 4);\n\t\t\ttmpInt = 0;\n\t\t\tfor (j = 0; j < strPart.length; j += 1) tmpInt |= b64Tab.indexOf(strPart[j]) << 18 - 6 * j;\n\t\t\tfor (j = 0; j < strPart.length - 1; j += 1) {\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= (tmpInt >>> 16 - 8 * j & 255) << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 1\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction arraybuffer2packed(arr, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, existingByteLen, intOffset, byteOffset, shiftModifier, arrView;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tarrView = new Uint8Array(arr);\n\t\tfor (i = 0; i < arr.byteLength; i += 1) {\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= arrView[i] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * arr.byteLength + existingPackedLen\n\t\t}\n\t}\n\n\tfunction packed2hex(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, srcByte, shiftModifier, hex_tab = \"0123456789abcdef\",\n\t\t\tstr = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4));\n\t\t\tstr += hex_tab.charAt(srcByte >>> 4 & 15) + hex_tab.charAt(15 & srcByte)\n\t\t}\n\t\treturn formatOpts.outputUpper ? str.toUpperCase() : str\n\t}\n\n\tfunction packed2b64(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, j, triplet, int1, int2, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 3) {\n\t\t\tint1 = i + 1 < length ? packed[i + 1 >>> 2] : 0;\n\t\t\tint2 = i + 2 < length ? packed[i + 2 >>> 2] : 0;\n\t\t\ttriplet = (packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255) << 16 | (int1 >>> 8 * (shiftModifier + bigEndianMod * ((i + 1) % 4)) & 255) << 8 | int2 >>> 8 * (shiftModifier + bigEndianMod * ((i + 2) % 4)) & 255;\n\t\t\tfor (j = 0; j < 4; j += 1)\n\t\t\t\tif (8 * i + 6 * j <= outputLength) str += b64Tab.charAt(triplet >>> 6 * (3 - j) & 63);\n\t\t\t\telse str += formatOpts.b64Pad\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2bytes(packed, outputLength, bigEndianMod) {\n\t\tvar i, srcByte, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\t\tstr += String.fromCharCode(srcByte)\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2arraybuffer(packed, outputLength, bigEndianMod) {\n\t\tvar i, shiftModifier, arrView, length = outputLength / 8,\n\t\t\tretVal = new ArrayBuffer(length);\n\t\tarrView = new Uint8Array(retVal);\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) arrView[i] = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\treturn retVal\n\t}\n\n\tfunction getOutputOpts(options) {\n\t\tvar outputOptions, retVal = {\n\t\t\toutputUpper: false,\n\t\t\tb64Pad: \"=\",\n\t\t\tshakeLen: -1\n\t\t};\n\t\toutputOptions = options || {};\n\t\tretVal.outputUpper = outputOptions.outputUpper || false;\n\t\tif (true === outputOptions.hasOwnProperty(\"b64Pad\")) retVal.b64Pad = outputOptions.b64Pad;\n\t\tif (true === outputOptions.hasOwnProperty(\"shakeLen\") && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tif (outputOptions.shakeLen % 8 !== 0) throw new Error(\"shakeLen must be a multiple of 8\");\n\t\t\tretVal.shakeLen = outputOptions.shakeLen\n\t\t}\n\t\tif (\"boolean\" !== typeof retVal.outputUpper) throw new Error(\"Invalid outputUpper formatting option\");\n\t\tif (\"string\" !== typeof retVal.b64Pad) throw new Error(\"Invalid b64Pad formatting option\");\n\t\treturn retVal\n\t}\n\n\tfunction getStrConverter(format, utfType, bigEndianMod) {\n\t\tvar retVal;\n\t\tswitch (utfType) {\n\t\tcase \"UTF8\":\n\t\tcase \"UTF16BE\":\n\t\tcase \"UTF16LE\":\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")\n\t\t}\n\t\tswitch (format) {\n\t\tcase \"HEX\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn hex2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"TEXT\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn str2packed(str, utfType, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"B64\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn b642packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"BYTES\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn bytes2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"ARRAYBUFFER\":\n\t\t\ttry {\n\t\t\t\tretVal = new ArrayBuffer(0)\n\t\t\t} catch (ignore) {\n\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t}\n\t\t\tretVal = function (arr, existingBin, existingBinLen) {\n\t\t\t\treturn arraybuffer2packed(arr, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER\")\n\t\t}\n\t\treturn retVal\n\t}\n\n\tfunction rotl_32(x, n) {\n\t\treturn x << n | x >>> 32 - n\n\t}\n\n\tfunction rotl_64(x, n) {\n\t\tif (n > 32) {\n\t\t\tn -= 32;\n\t\t\treturn new Int_64(x.lowOrder << n | x.highOrder >>> 32 - n, x.highOrder << n | x.lowOrder >>> 32 - n)\n\t\t} else if (0 !== n) return new Int_64(x.highOrder << n | x.lowOrder >>> 32 - n, x.lowOrder << n | x.highOrder >>> 32 - n);\n\t\telse return x\n\t}\n\n\tfunction rotr_32(x, n) {\n\t\treturn x >>> n | x << 32 - n\n\t}\n\n\tfunction rotr_64(x, n) {\n\t\tvar retVal = null,\n\t\t\ttmp = new Int_64(x.highOrder, x.lowOrder);\n\t\tif (32 >= n) retVal = new Int_64(tmp.highOrder >>> n | tmp.lowOrder << 32 - n & 4294967295, tmp.lowOrder >>> n | tmp.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(tmp.lowOrder >>> n - 32 | tmp.highOrder << 64 - n & 4294967295, tmp.highOrder >>> n - 32 | tmp.lowOrder << 64 - n & 4294967295);\n\t\treturn retVal\n\t}\n\n\tfunction shr_32(x, n) {\n\t\treturn x >>> n\n\t}\n\n\tfunction shr_64(x, n) {\n\t\tvar retVal = null;\n\t\tif (32 >= n) retVal = new Int_64(x.highOrder >>> n, x.lowOrder >>> n | x.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(0, x.highOrder >>> n - 32);\n\t\treturn retVal\n\t}\n\n\tfunction parity_32(x, y, z) {\n\t\treturn x ^ y ^ z\n\t}\n\n\tfunction ch_32(x, y, z) {\n\t\treturn x & y ^ ~x & z\n\t}\n\n\tfunction ch_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ ~x.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ ~x.lowOrder & z.lowOrder)\n\t}\n\n\tfunction maj_32(x, y, z) {\n\t\treturn x & y ^ x & z ^ y & z\n\t}\n\n\tfunction maj_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ x.highOrder & z.highOrder ^ y.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ x.lowOrder & z.lowOrder ^ y.lowOrder & z.lowOrder)\n\t}\n\n\tfunction sigma0_32(x) {\n\t\treturn rotr_32(x, 2) ^ rotr_32(x, 13) ^ rotr_32(x, 22)\n\t}\n\n\tfunction sigma0_64(x) {\n\t\tvar rotr28 = rotr_64(x, 28),\n\t\t\trotr34 = rotr_64(x, 34),\n\t\t\trotr39 = rotr_64(x, 39);\n\t\treturn new Int_64(rotr28.highOrder ^ rotr34.highOrder ^ rotr39.highOrder, rotr28.lowOrder ^ rotr34.lowOrder ^ rotr39.lowOrder)\n\t}\n\n\tfunction sigma1_32(x) {\n\t\treturn rotr_32(x, 6) ^ rotr_32(x, 11) ^ rotr_32(x, 25)\n\t}\n\n\tfunction sigma1_64(x) {\n\t\tvar rotr14 = rotr_64(x, 14),\n\t\t\trotr18 = rotr_64(x, 18),\n\t\t\trotr41 = rotr_64(x, 41);\n\t\treturn new Int_64(rotr14.highOrder ^ rotr18.highOrder ^ rotr41.highOrder, rotr14.lowOrder ^ rotr18.lowOrder ^ rotr41.lowOrder)\n\t}\n\n\tfunction gamma0_32(x) {\n\t\treturn rotr_32(x, 7) ^ rotr_32(x, 18) ^ shr_32(x, 3)\n\t}\n\n\tfunction gamma0_64(x) {\n\t\tvar rotr1 = rotr_64(x, 1),\n\t\t\trotr8 = rotr_64(x, 8),\n\t\t\tshr7 = shr_64(x, 7);\n\t\treturn new Int_64(rotr1.highOrder ^ rotr8.highOrder ^ shr7.highOrder, rotr1.lowOrder ^ rotr8.lowOrder ^ shr7.lowOrder)\n\t}\n\n\tfunction gamma1_32(x) {\n\t\treturn rotr_32(x, 17) ^ rotr_32(x, 19) ^ shr_32(x, 10)\n\t}\n\n\tfunction gamma1_64(x) {\n\t\tvar rotr19 = rotr_64(x, 19),\n\t\t\trotr61 = rotr_64(x, 61),\n\t\t\tshr6 = shr_64(x, 6);\n\t\treturn new Int_64(rotr19.highOrder ^ rotr61.highOrder ^ shr6.highOrder, rotr19.lowOrder ^ rotr61.lowOrder ^ shr6.lowOrder)\n\t}\n\n\tfunction safeAdd_32_2(a, b) {\n\t\tvar lsw = (65535 & a) + (65535 & b);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_4(a, b, c, d) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_5(a, b, c, d, e) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d) + (65535 & e);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (e >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_64_2(x, y) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & x.lowOrder) + (65535 & y.lowOrder);\n\t\tlowOrder = (65535 & (msw = (x.lowOrder >>> 16) + (y.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & x.highOrder) + (65535 & y.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (x.highOrder >>> 16) + (y.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_4(a, b, c, d) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_5(a, b, c, d, e) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder) + (65535 & e.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (e.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (65535 & e.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (e.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction xor_64_2(a, b) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder, a.lowOrder ^ b.lowOrder)\n\t}\n\n\tfunction xor_64_5(a, b, c, d, e) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder ^ c.highOrder ^ d.highOrder ^ e.highOrder, a.lowOrder ^ b.lowOrder ^ c.lowOrder ^ d.lowOrder ^ e.lowOrder)\n\t}\n\n\tfunction cloneSHA3State(state) {\n\t\tvar i, clone = [];\n\t\tfor (i = 0; i < 5; i += 1) clone[i] = state[i].slice();\n\t\treturn clone\n\t}\n\n\tfunction getNewState(variant) {\n\t\tvar H_trunc, H_full, i, retVal = [];\n\t\tif (\"SHA-1\" === variant && 0 !== (1 & SUPPORTED_ALGS)) retVal = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];\n\t\telse if (0 === variant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\tH_trunc = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n\t\t\tH_full = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225];\n\t\t\tswitch (variant) {\n\t\t\tcase \"SHA-224\":\n\t\t\t\tretVal = H_trunc;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-256\":\n\t\t\t\tretVal = H_full;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-384\":\n\t\t\t\tretVal = [new Int_64(3418070365, H_trunc[0]), new Int_64(1654270250, H_trunc[1]), new Int_64(2438529370, H_trunc[2]), new Int_64(355462360, H_trunc[3]), new Int_64(1731405415, H_trunc[4]), new Int_64(41048885895, H_trunc[5]), new Int_64(3675008525, H_trunc[6]), new Int_64(1203062813, H_trunc[7])];\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-512\":\n\t\t\t\tretVal = [new Int_64(H_full[0], 4089235720), new Int_64(H_full[1], 2227873595), new Int_64(H_full[2], 4271175723), new Int_64(H_full[3], 1595750129), new Int_64(H_full[4], 2917565137), new Int_64(H_full[5], 725511199), new Int_64(H_full[6], 4215389547), new Int_64(H_full[7], 327033209)];\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unknown SHA variant\")\n\t\t\t}\n\t\t} else if ((0 === variant.lastIndexOf(\"SHA3-\", 0) || 0 === variant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS))\n\t\t\tfor (i = 0; i < 5; i += 1) retVal[i] = [new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0)];\n\t\telse throw new Error(\"No SHA variants supported\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA1(block, H) {\n\t\tvar a, b, c, d, e, T, t, W = [],\n\t\t\tch = ch_32,\n\t\t\tparity = parity_32,\n\t\t\tmaj = maj_32,\n\t\t\trotl = rotl_32,\n\t\t\tsafeAdd_2 = safeAdd_32_2,\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tfor (t = 0; t < 80; t += 1) {\n\t\t\tif (t < 16) W[t] = block[t];\n\t\t\telse W[t] = rotl(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n\t\t\tif (t < 20) T = safeAdd_5(rotl(a, 5), ch(b, c, d), e, 1518500249, W[t]);\n\t\t\telse if (t < 40) T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 1859775393, W[t]);\n\t\t\telse if (t < 60) T = safeAdd_5(rotl(a, 5), maj(b, c, d), e, 2400959708, W[t]);\n\t\t\telse T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 3395469782, W[t]);\n\t\t\te = d;\n\t\t\td = c;\n\t\t\tc = rotl(b, 30);\n\t\t\tb = a;\n\t\t\ta = T\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA1(remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\tvar i, appendedMessageLength, offset, totalLen;\n\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += 16) H = roundSHA1(remainder.slice(i, i + 16), H);\n\t\treturn H\n\t}\n\n\tfunction roundSHA2(block, H, variant) {\n\t\tvar a, b, c, d, e, f, g, h, T1, T2, numRounds, t, binaryStringMult, safeAdd_2, safeAdd_4, safeAdd_5, gamma0, gamma1, sigma0, sigma1, ch, maj, Int, int1, int2, offset, K, W = [];\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 64;\n\t\t\tbinaryStringMult = 1;\n\t\t\tInt = Number;\n\t\t\tsafeAdd_2 = safeAdd_32_2;\n\t\t\tsafeAdd_4 = safeAdd_32_4;\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\t\tgamma0 = gamma0_32;\n\t\t\tgamma1 = gamma1_32;\n\t\t\tsigma0 = sigma0_32;\n\t\t\tsigma1 = sigma1_32;\n\t\t\tmaj = maj_32;\n\t\t\tch = ch_32;\n\t\t\tK = K_sha2\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 80;\n\t\t\tbinaryStringMult = 2;\n\t\t\tInt = Int_64;\n\t\t\tsafeAdd_2 = safeAdd_64_2;\n\t\t\tsafeAdd_4 = safeAdd_64_4;\n\t\t\tsafeAdd_5 = safeAdd_64_5;\n\t\t\tgamma0 = gamma0_64;\n\t\t\tgamma1 = gamma1_64;\n\t\t\tsigma0 = sigma0_64;\n\t\t\tsigma1 = sigma1_64;\n\t\t\tmaj = maj_64;\n\t\t\tch = ch_64;\n\t\t\tK = K_sha512\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tf = H[5];\n\t\tg = H[6];\n\t\th = H[7];\n\t\tfor (t = 0; t < numRounds; t += 1) {\n\t\t\tif (t < 16) {\n\t\t\t\toffset = t * binaryStringMult;\n\t\t\t\tint1 = block.length <= offset ? 0 : block[offset];\n\t\t\t\tint2 = block.length <= offset + 1 ? 0 : block[offset + 1];\n\t\t\t\tW[t] = new Int(int1, int2)\n\t\t\t} else W[t] = safeAdd_4(gamma1(W[t - 2]), W[t - 7], gamma0(W[t - 15]), W[t - 16]);\n\t\t\tT1 = safeAdd_5(h, sigma1(e), ch(e, f, g), K[t], W[t]);\n\t\t\tT2 = safeAdd_2(sigma0(a), maj(a, b, c));\n\t\t\th = g;\n\t\t\tg = f;\n\t\t\tf = e;\n\t\t\te = safeAdd_2(d, T1);\n\t\t\td = c;\n\t\t\tc = b;\n\t\t\tb = a;\n\t\t\ta = safeAdd_2(T1, T2)\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\tH[5] = safeAdd_2(f, H[5]);\n\t\tH[6] = safeAdd_2(g, H[6]);\n\t\tH[7] = safeAdd_2(h, H[7]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, variant, outputLen) {\n\t\tvar i, appendedMessageLength, offset, retVal, binaryStringInc, totalLen;\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\t\tbinaryStringInc = 16\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\toffset = 31 + (remainderBinLen + 129 >>> 10 << 5);\n\t\t\tbinaryStringInc = 32\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += binaryStringInc) H = roundSHA2(remainder.slice(i, i + binaryStringInc), H, variant);\n\t\tif (\"SHA-224\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = [H[0], H[1], H[2], H[3], H[4], H[5], H[6]];\n\t\telse if (\"SHA-256\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = H;\n\t\telse if (\"SHA-384\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder];\n\t\telse if (\"SHA-512\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder, H[6].highOrder, H[6].lowOrder, H[7].highOrder, H[7].lowOrder];\n\t\telse throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA3(block, state) {\n\t\tvar round, x, y, B, C = [],\n\t\t\tD = [];\n\t\tif (null !== block)\n\t\t\tfor (x = 0; x < block.length; x += 2) state[(x >>> 1) % 5][(x >>> 1) / 5 | 0] = xor_64_2(state[(x >>> 1) % 5][(x >>> 1) / 5 | 0], new Int_64(block[x + 1], block[x]));\n\t\tfor (round = 0; round < 24; round += 1) {\n\t\t\tB = getNewState(\"SHA3-\");\n\t\t\tfor (x = 0; x < 5; x += 1) C[x] = xor_64_5(state[x][0], state[x][1], state[x][2], state[x][3], state[x][4]);\n\t\t\tfor (x = 0; x < 5; x += 1) D[x] = xor_64_2(C[(x + 4) % 5], rotl_64(C[(x + 1) % 5], 1));\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(state[x][y], D[x]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) B[y][(2 * x + 3 * y) % 5] = rotl_64(state[x][y], r_sha3[x][y]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(B[x][y], new Int_64(~B[(x + 1) % 5][y].highOrder & B[(x + 2) % 5][y].highOrder, ~B[(x + 1) % 5][y].lowOrder & B[(x + 2) % 5][y].lowOrder));\n\t\t\tstate[0][0] = xor_64_2(state[0][0], rc_sha3[round])\n\t\t}\n\t\treturn state\n\t}\n\n\tfunction finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, blockSize, delimiter, outputLen) {\n\t\tvar i, temp, retVal = [],\n\t\t\tbinaryStringInc = blockSize >>> 5,\n\t\t\tstate_offset = 0,\n\t\t\tremainderIntLen = remainderBinLen >>> 5;\n\t\tfor (i = 0; i < remainderIntLen && remainderBinLen >= blockSize; i += binaryStringInc) {\n\t\t\tstate = roundSHA3(remainder.slice(i, i + binaryStringInc), state);\n\t\t\tremainderBinLen -= blockSize\n\t\t}\n\t\tremainder = remainder.slice(i);\n\t\tremainderBinLen %= blockSize;\n\t\twhile (remainder.length < binaryStringInc) remainder.push(0);\n\t\tremainder[(i = remainderBinLen >>> 3) >> 2] ^= delimiter << i % 4 * 8;\n\t\tremainder[binaryStringInc - 1] ^= 2147483648;\n\t\tstate = roundSHA3(remainder, state);\n\t\twhile (32 * retVal.length < outputLen) {\n\t\t\ttemp = state[state_offset % 5][state_offset / 5 | 0];\n\t\t\tretVal.push(temp.lowOrder);\n\t\t\tif (32 * retVal.length >= outputLen) break;\n\t\t\tretVal.push(temp.highOrder);\n\t\t\tif (0 === 64 * (state_offset += 1) % blockSize) roundSHA3(null, state)\n\t\t}\n\t\treturn retVal\n\t}\n\tvar K_sha2, K_sha512, r_sha3, rc_sha3, jsSHA, TWO_PWR_32 = 4294967296;\n\tif (0 !== (6 & SUPPORTED_ALGS)) {\n\t\tK_sha2 = [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];\n\t\tif (0 !== (4 & SUPPORTED_ALGS)) K_sha512 = [new Int_64(K_sha2[0], 3609767458), new Int_64(K_sha2[1], 602891725), new Int_64(K_sha2[2], 3964484399), new Int_64(K_sha2[3], 2173295548), new Int_64(K_sha2[4], 4081628472), new Int_64(K_sha2[5], 3053834265), new Int_64(K_sha2[6], 2937671579), new Int_64(K_sha2[7], 3664609560), new Int_64(K_sha2[8], 2734883394), new Int_64(K_sha2[9], 1164996542), new Int_64(K_sha2[10], 1323610764), new Int_64(K_sha2[11], 3590304994), new Int_64(K_sha2[12], 4068182383), new Int_64(K_sha2[13], 991336113), new Int_64(K_sha2[14], 633803317), new Int_64(K_sha2[15], 3479774868), new Int_64(K_sha2[16], 2666613458), new Int_64(K_sha2[17], 944711139), new Int_64(K_sha2[18], 2341262773), new Int_64(K_sha2[19], 2007800933), new Int_64(K_sha2[20], 1495990901), new Int_64(K_sha2[21], 1856431235), new Int_64(K_sha2[22], 3175218132), new Int_64(K_sha2[23], 2198950837), new Int_64(K_sha2[24], 3999719339), new Int_64(K_sha2[25], 766784016), new Int_64(K_sha2[26], 2566594879), new Int_64(K_sha2[27], 3203337956), new Int_64(K_sha2[28], 1034457026), new Int_64(K_sha2[29], 2466948901), new Int_64(K_sha2[30], 3758326383), new Int_64(K_sha2[31], 168717936), new Int_64(K_sha2[32], 1188179964), new Int_64(K_sha2[33], 1546045734), new Int_64(K_sha2[34], 1522805485), new Int_64(K_sha2[35], 2643833823), new Int_64(K_sha2[36], 2343527390), new Int_64(K_sha2[37], 1014477480), new Int_64(K_sha2[38], 1206759142), new Int_64(K_sha2[39], 344077627), new Int_64(K_sha2[40], 1290863460), new Int_64(K_sha2[41], 3158454273), new Int_64(K_sha2[42], 3505952657), new Int_64(K_sha2[43], 106217008), new Int_64(K_sha2[44], 3606008344), new Int_64(K_sha2[45], 1432725776), new Int_64(K_sha2[46], 1467031594), new Int_64(K_sha2[47], 851169720), new Int_64(K_sha2[48], 3100823752), new Int_64(K_sha2[49], 1363258195), new Int_64(K_sha2[50], 3750685593), new Int_64(K_sha2[51], 3785050280), new Int_64(K_sha2[52], 3318307427), new Int_64(K_sha2[53], 3812723403), new Int_64(K_sha2[54], 2003034995), new Int_64(K_sha2[55], 3602036899), new Int_64(K_sha2[56], 1575990012), new Int_64(K_sha2[57], 1125592928), new Int_64(K_sha2[58], 2716904306), new Int_64(K_sha2[59], 442776044), new Int_64(K_sha2[60], 593698344), new Int_64(K_sha2[61], 3733110249), new Int_64(K_sha2[62], 2999351573), new Int_64(K_sha2[63], 3815920427), new Int_64(3391569614, 3928383900), new Int_64(3515267271, 566280711), new Int_64(3940187606, 3454069534), new Int_64(4118630271, 4000239992), new Int_64(116418474, 1914138554), new Int_64(174292421, 2731055270), new Int_64(289380356, 3203993006), new Int_64(460393269, 320620315), new Int_64(685471733, 587496836), new Int_64(852142971, 1086792851), new Int_64(1017036298, 365543100), new Int_64(1126000580, 2618297676), new Int_64(1288033470, 3409855158), new Int_64(1501505948, 4234509866), new Int_64(1607167915, 987167468), new Int_64(1816402316, 1246189591)]\n\t}\n\tif (0 !== (8 & SUPPORTED_ALGS)) {\n\t\trc_sha3 = [new Int_64(0, 1), new Int_64(0, 32898), new Int_64(2147483648, 32906), new Int_64(2147483648, 2147516416), new Int_64(0, 32907), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32777), new Int_64(0, 138), new Int_64(0, 136), new Int_64(0, 2147516425), new Int_64(0, 2147483658), new Int_64(0, 2147516555), new Int_64(2147483648, 139), new Int_64(2147483648, 32905), new Int_64(2147483648, 32771), new Int_64(2147483648, 32770), new Int_64(2147483648, 128), new Int_64(0, 32778), new Int_64(2147483648, 2147483658), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32896), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516424)];\n\t\tr_sha3 = [\n\t\t\t[0, 36, 3, 41, 18],\n\t\t\t[1, 44, 10, 45, 2],\n\t\t\t[62, 6, 43, 15, 61],\n\t\t\t[28, 55, 25, 21, 56],\n\t\t\t[27, 20, 39, 8, 14]\n\t\t]\n\t}\n\tjsSHA = function (variant, inputFormat, options) {\n\t\tvar intermediateState, converterFunc, outputBinLen, variantBlockSize, roundFunc, finalizeFunc, stateCloneFunc, delimiter, processedLen = 0,\n\t\t\tremainder = [],\n\t\t\tremainderLen = 0,\n\t\t\tshaVariant = variant,\n\t\t\thmacKeySet = false,\n\t\t\tkeyWithIPad = [],\n\t\t\tkeyWithOPad = [],\n\t\t\tupdatedCalled = false,\n\t\t\tisSHAKE = false,\n\t\t\tbigEndianMod = -1,\n\t\t\tinputOptions = options || {},\n\t\t\tutfType = inputOptions.encoding || \"UTF8\",\n\t\t\tnumRounds = inputOptions.numRounds || 1;\n\t\tif (numRounds !== parseInt(numRounds, 10) || 1 > numRounds) throw new Error(\"numRounds must a integer >= 1\");\n\t\tif (\"SHA-1\" === shaVariant && 0 !== (1 & SUPPORTED_ALGS)) {\n\t\t\tvariantBlockSize = 512;\n\t\t\troundFunc = roundSHA1;\n\t\t\tfinalizeFunc = finalizeSHA1;\n\t\t\toutputBinLen = 160;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t}\n\t\t} else if (0 === shaVariant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\troundFunc = function (block, H) {\n\t\t\t\treturn roundSHA2(block, H, shaVariant)\n\t\t\t};\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\t\t\treturn finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, shaVariant, outputLen)\n\t\t\t};\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t};\n\t\t\tif (\"SHA-224\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA-256\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA-384\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA-512\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\")\n\t\t} else if ((0 === shaVariant.lastIndexOf(\"SHA3-\", 0) || 0 === shaVariant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tdelimiter = 6;\n\t\t\troundFunc = roundSHA3;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn cloneSHA3State(state)\n\t\t\t};\n\t\t\tbigEndianMod = 1;\n\t\t\tif (\"SHA3-224\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1152;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA3-256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA3-384\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 832;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA3-512\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 576;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else if (\"SHAKE128\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1344;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else if (\"SHAKE256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, state, outputLen) {\n\t\t\t\treturn finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, variantBlockSize, delimiter, outputLen)\n\t\t\t}\n\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\tconverterFunc = getStrConverter(inputFormat, utfType, bigEndianMod);\n\t\tintermediateState = getNewState(shaVariant);\n\t\tthis.setHMACKey = function (key, inputFormat, options) {\n\t\t\tvar convertRet, keyBinLen, keyToUse, blockByteSize, i, lastArrayIndex;\n\t\t\tif (true === hmacKeySet) throw new Error(\"HMAC key already set\");\n\t\t\tif (true === updatedCalled) throw new Error(\"Cannot set HMAC key after calling update\");\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) throw new Error(\"SHAKE is not supported for HMAC\");\n\t\t\tkeyBinLen = (convertRet = getStrConverter(inputFormat, utfType = (options || {})\n\t\t\t\t\t.encoding || \"UTF8\", bigEndianMod)(key))\n\t\t\t\t.binLen;\n\t\t\tkeyToUse = convertRet.value;\n\t\t\tlastArrayIndex = (blockByteSize = variantBlockSize >>> 3) / 4 - 1;\n\t\t\tif (blockByteSize < keyBinLen / 8) {\n\t\t\t\tkeyToUse = finalizeFunc(keyToUse, keyBinLen, 0, getNewState(shaVariant), outputBinLen);\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t} else if (blockByteSize > keyBinLen / 8) {\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t}\n\t\t\tfor (i = 0; i <= lastArrayIndex; i += 1) {\n\t\t\t\tkeyWithIPad[i] = 909522486 ^ keyToUse[i];\n\t\t\t\tkeyWithOPad[i] = 1549556828 ^ keyToUse[i]\n\t\t\t}\n\t\t\tintermediateState = roundFunc(keyWithIPad, intermediateState);\n\t\t\tprocessedLen = variantBlockSize;\n\t\t\thmacKeySet = true\n\t\t};\n\t\tthis.update = function (srcString) {\n\t\t\tvar convertRet, chunkBinLen, chunkIntLen, chunk, i, updateProcessedLen = 0,\n\t\t\t\tvariantBlockIntInc = variantBlockSize >>> 5;\n\t\t\tchunkBinLen = (convertRet = converterFunc(srcString, remainder, remainderLen))\n\t\t\t\t.binLen;\n\t\t\tchunk = convertRet.value;\n\t\t\tchunkIntLen = chunkBinLen >>> 5;\n\t\t\tfor (i = 0; i < chunkIntLen; i += variantBlockIntInc)\n\t\t\t\tif (updateProcessedLen + variantBlockSize <= chunkBinLen) {\n\t\t\t\t\tintermediateState = roundFunc(chunk.slice(i, i + variantBlockIntInc), intermediateState);\n\t\t\t\t\tupdateProcessedLen += variantBlockSize\n\t\t\t\t}\n\t\t\tprocessedLen += updateProcessedLen;\n\t\t\tremainder = chunk.slice(updateProcessedLen >>> 5);\n\t\t\tremainderLen = chunkBinLen % variantBlockSize;\n\t\t\tupdatedCalled = true\n\t\t};\n\t\tthis.getHash = function (format, options) {\n\t\t\tvar formatFunc, i, outputOptions, finalizedState;\n\t\t\tif (true === hmacKeySet) throw new Error(\"Cannot call getHash after setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\t\tif (-1 === outputOptions.shakeLen) throw new Error(\"shakeLen must be specified in options\");\n\t\t\t\toutputBinLen = outputOptions.shakeLen\n\t\t\t}\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\ti = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"format must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfinalizedState = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfor (i = 1; i < numRounds; i += 1) {\n\t\t\t\tif (0 !== (8 & SUPPORTED_ALGS) && true === isSHAKE && outputBinLen % 32 !== 0) finalizedState[finalizedState.length - 1] &= 16777215 >>> 24 - outputBinLen % 32;\n\t\t\t\tfinalizedState = finalizeFunc(finalizedState, outputBinLen, 0, getNewState(shaVariant), outputBinLen)\n\t\t\t}\n\t\t\treturn formatFunc(finalizedState)\n\t\t};\n\t\tthis.getHMAC = function (format, options) {\n\t\t\tvar formatFunc, firstHash, outputOptions, finalizedState;\n\t\t\tif (false === hmacKeySet) throw new Error(\"Cannot call getHMAC without first setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\tformatFunc = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfirstHash = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfinalizedState = roundFunc(keyWithOPad, getNewState(shaVariant));\n\t\t\treturn formatFunc(finalizedState = finalizeFunc(firstHash, outputBinLen, variantBlockSize, finalizedState, outputBinLen))\n\t\t}\n\t};\n\tif (\"function\" === typeof define && define.amd) define(function () {\n\t\treturn jsSHA\n\t});\n\telse if (\"undefined\" !== typeof exports)\n\t\tif (\"undefined\" !== typeof module && module.exports) {\n\t\t\tmodule.exports = jsSHA;\n\t\t\texports = jsSHA\n\t\t} else exports = jsSHA;\n\telse global.jsSHA = jsSHA\n})(this);\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, iterate, isObject) {\n\t\tfunction isEnabled(path) {\n\t\t\tvar match;\n\t\t\titerate(settings, function (key, value) {\n\t\t\t\tif (key === path) {\n\t\t\t\t\tmatch = value;\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn match || false\n\t\t}\n\t\tvar settings;\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) settings = options\n\t\t\t})\n\t\t\t.on(\"postRequest\", function (dependency) {\n\t\t\t\tvar options, sha, hash;\n\t\t\t\tif (options = isEnabled(dependency.path)) try {\n\t\t\t\t\t(sha = new global.jsSHA(options.type, \"TEXT\"))\n\t\t\t\t\t.update(dependency.source);\n\t\t\t\t\tif ((hash = sha.getHash(\"B64\")) !== options.hash) dependency.dfd.reject(new Failure('hash mismatch, should be \"' + options.hash + '\" but is \"' + hash + '\" (sri)', dependency.id))\n\t\t\t\t} catch (error) {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"unsupported hashing algorithm (sri)\", dependency.id))\n\t\t\t\t}\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/function/iterate\", \"/demand/validator/isObject\"], definition)\n})(this);\n"]} \ No newline at end of file +{"version":3,"sources":["plugin/sri.js"],"names":["SUPPORTED_ALGS","global","Int_64","msint_32","lsint_32","this","highOrder","lowOrder","packed2hex","packed","outputLength","bigEndianMod","formatOpts","i","srcByte","shiftModifier","hex_tab","str","length","charAt","outputUpper","toUpperCase","packed2b64","j","triplet","int1","int2","b64Pad","packed2bytes","String","fromCharCode","packed2arraybuffer","arrView","retVal","ArrayBuffer","Uint8Array","getOutputOpts","options","outputOptions","shakeLen","hasOwnProperty","Error","getStrConverter","format","utfType","existingBin","existingBinLen","existingPacked","existingPackedLen","num","intOffset","byteOffset","existingByteLen","parseInt","substr","isNaN","push","value","binLen","hex2packed","codePnt","codePntArr","transposeBytes","byteCnt","charCodeAt","str2packed","tmpInt","strPart","firstEqual","search","indexOf","replace","b642packed","bytes2packed","ignore","arr","byteLength","arraybuffer2packed","rotl_32","x","n","rotl_64","rotr_32","rotr_64","tmp","shr_32","shr_64","parity_32","y","z","ch_32","ch_64","maj_32","maj_64","sigma0_32","sigma0_64","rotr28","rotr34","rotr39","sigma1_32","sigma1_64","rotr14","rotr18","rotr41","gamma0_32","gamma0_64","rotr1","rotr8","shr7","gamma1_32","gamma1_64","rotr19","rotr61","shr6","safeAdd_32_2","a","b","lsw","safeAdd_32_4","c","d","safeAdd_32_5","e","safeAdd_64_2","msw","safeAdd_64_4","safeAdd_64_5","xor_64_2","getNewState","variant","H_trunc","H_full","lastIndexOf","roundSHA1","block","H","T","t","W","ch","parity","maj","rotl","safeAdd_2","safeAdd_5","finalizeSHA1","remainder","remainderBinLen","processedBinLen","outputLen","appendedMessageLength","offset","totalLen","TWO_PWR_32","slice","roundSHA2","f","g","h","T1","T2","numRounds","binaryStringMult","safeAdd_4","gamma0","gamma1","sigma0","sigma1","Int","K","K_sha512","Number","K_sha2","roundSHA3","state","round","B","C","D","r_sha3","rc_sha3","jsSHA","inputFormat","intermediateState","converterFunc","outputBinLen","variantBlockSize","roundFunc","finalizeFunc","stateCloneFunc","delimiter","processedLen","remainderLen","shaVariant","hmacKeySet","keyWithIPad","keyWithOPad","updatedCalled","isSHAKE","inputOptions","encoding","binaryStringInc","finalizeSHA2","clone","cloneSHA3State","blockSize","temp","state_offset","remainderIntLen","finalizeSHA3","setHMACKey","key","convertRet","keyBinLen","keyToUse","blockByteSize","lastArrayIndex","update","srcString","chunkBinLen","chunkIntLen","chunk","updateProcessedLen","variantBlockIntInc","getHash","formatFunc","finalizedState","binarray","getHMAC","firstHash","define","amd","exports","module","provide","path","Failure","iterate","isObject","settings","demand","on","dependency","sha","hash","match","type","source","dfd","reject","id","error"],"mappings":"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K,EAAA,GAAA,YAAA,IAAA1K,EAAA0K,EAAA,GAAA,YAAA,IAAA1K,EAAA0K,EAAA,GAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,YAAA,IAAA1K,EAAA0K,EAAA,IAAA,WAAA,IAAA1K,EAAA0K,EAAA,IAAA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","file":"sri.js","sourcesContent":["/**! Qoopido.demand 5.0.2 | https://github.com/dlueth/qoopido.demand | (c) 2018 Dirk Lueth */\nvar SUPPORTED_ALGS = 15;\n(function (global) {\n\t\"use strict\";\n\n\tfunction Int_64(msint_32, lsint_32) {\n\t\tthis.highOrder = msint_32;\n\t\tthis.lowOrder = lsint_32\n\t}\n\n\tfunction str2packed(str, utfType, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, codePnt, codePntArr, i, j, existingByteLen, intOffset, byteOffset, shiftModifier, transposeBytes, byteCnt = 0;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tif (\"UTF8\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePntArr = [];\n\t\t\t\tif (128 > (codePnt = str.charCodeAt(i))) codePntArr.push(codePnt);\n\t\t\t\telse if (2048 > codePnt) {\n\t\t\t\t\tcodePntArr.push(192 | codePnt >>> 6);\n\t\t\t\t\tcodePntArr.push(128 | 63 & codePnt)\n\t\t\t\t} else if (55296 > codePnt || 57344 <= codePnt) codePntArr.push(224 | codePnt >>> 12, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt);\n\t\t\t\telse {\n\t\t\t\t\ti += 1;\n\t\t\t\t\tcodePnt = 65536 + ((1023 & codePnt) << 10 | 1023 & str.charCodeAt(i));\n\t\t\t\t\tcodePntArr.push(240 | codePnt >>> 18, 128 | codePnt >>> 12 & 63, 128 | codePnt >>> 6 & 63, 128 | 63 & codePnt)\n\t\t\t\t}\n\t\t\t\tfor (j = 0; j < codePntArr.length; j += 1) {\n\t\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\t\tpacked[intOffset] |= codePntArr[j] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\t\tbyteCnt += 1\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\"UTF16BE\" === utfType || \"UTF16LE\" === utfType) {\n\t\t\tshiftModifier = -1 === bigEndianMod ? 2 : 0;\n\t\t\ttransposeBytes = \"UTF16LE\" === utfType && 1 !== bigEndianMod || \"UTF16LE\" !== utfType && 1 === bigEndianMod;\n\t\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\t\tif (true === transposeBytes) codePnt = (j = 255 & codePnt) << 8 | codePnt >>> 8;\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 2\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction hex2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, num, intOffset, byteOffset, existingByteLen, shiftModifier, length = str.length;\n\t\tif (0 !== length % 2) throw new Error(\"String of HEX type must be in byte increments\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 2) {\n\t\t\tnum = parseInt(str.substr(i, 2), 16);\n\t\t\tif (!isNaN(num)) {\n\t\t\t\tintOffset = (byteOffset = (i >>> 1) + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= num << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t\t} else throw new Error(\"String of HEX type contains invalid characters\")\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 4 * length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction bytes2packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, codePnt, i, existingByteLen, intOffset, byteOffset, shiftModifier;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 1) {\n\t\t\tcodePnt = str.charCodeAt(i);\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= codePnt << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * str.length + existingPackedLen\n\t\t}\n\t}\n\n\tfunction b642packed(str, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, j, tmpInt, strPart, firstEqual, existingByteLen, intOffset, byteOffset, shiftModifier, byteCnt = 0,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tif (-1 === str.search(/^[a-zA-Z0-9=+\\/]+$/)) throw new Error(\"Invalid character in base-64 string\");\n\t\tfirstEqual = str.indexOf(\"=\");\n\t\tstr = str.replace(/\\=/g, \"\");\n\t\tif (-1 !== firstEqual && firstEqual < str.length) throw new Error(\"Invalid '=' found in base-64 string\");\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < str.length; i += 4) {\n\t\t\tstrPart = str.substr(i, 4);\n\t\t\ttmpInt = 0;\n\t\t\tfor (j = 0; j < strPart.length; j += 1) tmpInt |= b64Tab.indexOf(strPart[j]) << 18 - 6 * j;\n\t\t\tfor (j = 0; j < strPart.length - 1; j += 1) {\n\t\t\t\tintOffset = (byteOffset = byteCnt + existingByteLen) >>> 2;\n\t\t\t\twhile (packed.length <= intOffset) packed.push(0);\n\t\t\t\tpacked[intOffset] |= (tmpInt >>> 16 - 8 * j & 255) << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4));\n\t\t\t\tbyteCnt += 1\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * byteCnt + existingPackedLen\n\t\t}\n\t}\n\n\tfunction arraybuffer2packed(arr, existingPacked, existingPackedLen, bigEndianMod) {\n\t\tvar packed, i, existingByteLen, intOffset, byteOffset, shiftModifier, arrView;\n\t\tpacked = existingPacked || [0];\n\t\texistingByteLen = (existingPackedLen = existingPackedLen || 0) >>> 3;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tarrView = new Uint8Array(arr);\n\t\tfor (i = 0; i < arr.byteLength; i += 1) {\n\t\t\tintOffset = (byteOffset = i + existingByteLen) >>> 2;\n\t\t\tif (packed.length <= intOffset) packed.push(0);\n\t\t\tpacked[intOffset] |= arrView[i] << 8 * (shiftModifier + bigEndianMod * (byteOffset % 4))\n\t\t}\n\t\treturn {\n\t\t\tvalue: packed,\n\t\t\tbinLen: 8 * arr.byteLength + existingPackedLen\n\t\t}\n\t}\n\n\tfunction packed2hex(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, srcByte, shiftModifier, hex_tab = \"0123456789abcdef\",\n\t\t\tstr = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4));\n\t\t\tstr += hex_tab.charAt(srcByte >>> 4 & 15) + hex_tab.charAt(15 & srcByte)\n\t\t}\n\t\treturn formatOpts.outputUpper ? str.toUpperCase() : str\n\t}\n\n\tfunction packed2b64(packed, outputLength, bigEndianMod, formatOpts) {\n\t\tvar i, j, triplet, int1, int2, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8,\n\t\t\tb64Tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 3) {\n\t\t\tint1 = i + 1 < length ? packed[i + 1 >>> 2] : 0;\n\t\t\tint2 = i + 2 < length ? packed[i + 2 >>> 2] : 0;\n\t\t\ttriplet = (packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255) << 16 | (int1 >>> 8 * (shiftModifier + bigEndianMod * ((i + 1) % 4)) & 255) << 8 | int2 >>> 8 * (shiftModifier + bigEndianMod * ((i + 2) % 4)) & 255;\n\t\t\tfor (j = 0; j < 4; j += 1)\n\t\t\t\tif (8 * i + 6 * j <= outputLength) str += b64Tab.charAt(triplet >>> 6 * (3 - j) & 63);\n\t\t\t\telse str += formatOpts.b64Pad\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2bytes(packed, outputLength, bigEndianMod) {\n\t\tvar i, srcByte, shiftModifier, str = \"\",\n\t\t\tlength = outputLength / 8;\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tsrcByte = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\t\tstr += String.fromCharCode(srcByte)\n\t\t}\n\t\treturn str\n\t}\n\n\tfunction packed2arraybuffer(packed, outputLength, bigEndianMod) {\n\t\tvar i, shiftModifier, arrView, length = outputLength / 8,\n\t\t\tretVal = new ArrayBuffer(length);\n\t\tarrView = new Uint8Array(retVal);\n\t\tshiftModifier = -1 === bigEndianMod ? 3 : 0;\n\t\tfor (i = 0; i < length; i += 1) arrView[i] = packed[i >>> 2] >>> 8 * (shiftModifier + bigEndianMod * (i % 4)) & 255;\n\t\treturn retVal\n\t}\n\n\tfunction getOutputOpts(options) {\n\t\tvar outputOptions, retVal = {\n\t\t\toutputUpper: false,\n\t\t\tb64Pad: \"=\",\n\t\t\tshakeLen: -1\n\t\t};\n\t\toutputOptions = options || {};\n\t\tretVal.outputUpper = outputOptions.outputUpper || false;\n\t\tif (true === outputOptions.hasOwnProperty(\"b64Pad\")) retVal.b64Pad = outputOptions.b64Pad;\n\t\tif (true === outputOptions.hasOwnProperty(\"shakeLen\") && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tif (outputOptions.shakeLen % 8 !== 0) throw new Error(\"shakeLen must be a multiple of 8\");\n\t\t\tretVal.shakeLen = outputOptions.shakeLen\n\t\t}\n\t\tif (\"boolean\" !== typeof retVal.outputUpper) throw new Error(\"Invalid outputUpper formatting option\");\n\t\tif (\"string\" !== typeof retVal.b64Pad) throw new Error(\"Invalid b64Pad formatting option\");\n\t\treturn retVal\n\t}\n\n\tfunction getStrConverter(format, utfType, bigEndianMod) {\n\t\tvar retVal;\n\t\tswitch (utfType) {\n\t\tcase \"UTF8\":\n\t\tcase \"UTF16BE\":\n\t\tcase \"UTF16LE\":\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"encoding must be UTF8, UTF16BE, or UTF16LE\")\n\t\t}\n\t\tswitch (format) {\n\t\tcase \"HEX\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn hex2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"TEXT\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn str2packed(str, utfType, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"B64\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn b642packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"BYTES\":\n\t\t\tretVal = function (str, existingBin, existingBinLen) {\n\t\t\t\treturn bytes2packed(str, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tcase \"ARRAYBUFFER\":\n\t\t\ttry {\n\t\t\t\tretVal = new ArrayBuffer(0)\n\t\t\t} catch (ignore) {\n\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t}\n\t\t\tretVal = function (arr, existingBin, existingBinLen) {\n\t\t\t\treturn arraybuffer2packed(arr, existingBin, existingBinLen, bigEndianMod)\n\t\t\t};\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(\"format must be HEX, TEXT, B64, BYTES, or ARRAYBUFFER\")\n\t\t}\n\t\treturn retVal\n\t}\n\n\tfunction rotl_32(x, n) {\n\t\treturn x << n | x >>> 32 - n\n\t}\n\n\tfunction rotl_64(x, n) {\n\t\tif (n > 32) {\n\t\t\tn -= 32;\n\t\t\treturn new Int_64(x.lowOrder << n | x.highOrder >>> 32 - n, x.highOrder << n | x.lowOrder >>> 32 - n)\n\t\t} else if (0 !== n) return new Int_64(x.highOrder << n | x.lowOrder >>> 32 - n, x.lowOrder << n | x.highOrder >>> 32 - n);\n\t\telse return x\n\t}\n\n\tfunction rotr_32(x, n) {\n\t\treturn x >>> n | x << 32 - n\n\t}\n\n\tfunction rotr_64(x, n) {\n\t\tvar retVal = null,\n\t\t\ttmp = new Int_64(x.highOrder, x.lowOrder);\n\t\tif (32 >= n) retVal = new Int_64(tmp.highOrder >>> n | tmp.lowOrder << 32 - n & 4294967295, tmp.lowOrder >>> n | tmp.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(tmp.lowOrder >>> n - 32 | tmp.highOrder << 64 - n & 4294967295, tmp.highOrder >>> n - 32 | tmp.lowOrder << 64 - n & 4294967295);\n\t\treturn retVal\n\t}\n\n\tfunction shr_32(x, n) {\n\t\treturn x >>> n\n\t}\n\n\tfunction shr_64(x, n) {\n\t\tvar retVal = null;\n\t\tif (32 >= n) retVal = new Int_64(x.highOrder >>> n, x.lowOrder >>> n | x.highOrder << 32 - n & 4294967295);\n\t\telse retVal = new Int_64(0, x.highOrder >>> n - 32);\n\t\treturn retVal\n\t}\n\n\tfunction parity_32(x, y, z) {\n\t\treturn x ^ y ^ z\n\t}\n\n\tfunction ch_32(x, y, z) {\n\t\treturn x & y ^ ~x & z\n\t}\n\n\tfunction ch_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ ~x.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ ~x.lowOrder & z.lowOrder)\n\t}\n\n\tfunction maj_32(x, y, z) {\n\t\treturn x & y ^ x & z ^ y & z\n\t}\n\n\tfunction maj_64(x, y, z) {\n\t\treturn new Int_64(x.highOrder & y.highOrder ^ x.highOrder & z.highOrder ^ y.highOrder & z.highOrder, x.lowOrder & y.lowOrder ^ x.lowOrder & z.lowOrder ^ y.lowOrder & z.lowOrder)\n\t}\n\n\tfunction sigma0_32(x) {\n\t\treturn rotr_32(x, 2) ^ rotr_32(x, 13) ^ rotr_32(x, 22)\n\t}\n\n\tfunction sigma0_64(x) {\n\t\tvar rotr28 = rotr_64(x, 28),\n\t\t\trotr34 = rotr_64(x, 34),\n\t\t\trotr39 = rotr_64(x, 39);\n\t\treturn new Int_64(rotr28.highOrder ^ rotr34.highOrder ^ rotr39.highOrder, rotr28.lowOrder ^ rotr34.lowOrder ^ rotr39.lowOrder)\n\t}\n\n\tfunction sigma1_32(x) {\n\t\treturn rotr_32(x, 6) ^ rotr_32(x, 11) ^ rotr_32(x, 25)\n\t}\n\n\tfunction sigma1_64(x) {\n\t\tvar rotr14 = rotr_64(x, 14),\n\t\t\trotr18 = rotr_64(x, 18),\n\t\t\trotr41 = rotr_64(x, 41);\n\t\treturn new Int_64(rotr14.highOrder ^ rotr18.highOrder ^ rotr41.highOrder, rotr14.lowOrder ^ rotr18.lowOrder ^ rotr41.lowOrder)\n\t}\n\n\tfunction gamma0_32(x) {\n\t\treturn rotr_32(x, 7) ^ rotr_32(x, 18) ^ shr_32(x, 3)\n\t}\n\n\tfunction gamma0_64(x) {\n\t\tvar rotr1 = rotr_64(x, 1),\n\t\t\trotr8 = rotr_64(x, 8),\n\t\t\tshr7 = shr_64(x, 7);\n\t\treturn new Int_64(rotr1.highOrder ^ rotr8.highOrder ^ shr7.highOrder, rotr1.lowOrder ^ rotr8.lowOrder ^ shr7.lowOrder)\n\t}\n\n\tfunction gamma1_32(x) {\n\t\treturn rotr_32(x, 17) ^ rotr_32(x, 19) ^ shr_32(x, 10)\n\t}\n\n\tfunction gamma1_64(x) {\n\t\tvar rotr19 = rotr_64(x, 19),\n\t\t\trotr61 = rotr_64(x, 61),\n\t\t\tshr6 = shr_64(x, 6);\n\t\treturn new Int_64(rotr19.highOrder ^ rotr61.highOrder ^ shr6.highOrder, rotr19.lowOrder ^ rotr61.lowOrder ^ shr6.lowOrder)\n\t}\n\n\tfunction safeAdd_32_2(a, b) {\n\t\tvar lsw = (65535 & a) + (65535 & b);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_4(a, b, c, d) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_32_5(a, b, c, d, e) {\n\t\tvar lsw = (65535 & a) + (65535 & b) + (65535 & c) + (65535 & d) + (65535 & e);\n\t\treturn (65535 & (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) + (e >>> 16) + (lsw >>> 16)) << 16 | 65535 & lsw\n\t}\n\n\tfunction safeAdd_64_2(x, y) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & x.lowOrder) + (65535 & y.lowOrder);\n\t\tlowOrder = (65535 & (msw = (x.lowOrder >>> 16) + (y.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & x.highOrder) + (65535 & y.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (x.highOrder >>> 16) + (y.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_4(a, b, c, d) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction safeAdd_64_5(a, b, c, d, e) {\n\t\tvar lsw, msw, lowOrder;\n\t\tlsw = (65535 & a.lowOrder) + (65535 & b.lowOrder) + (65535 & c.lowOrder) + (65535 & d.lowOrder) + (65535 & e.lowOrder);\n\t\tlowOrder = (65535 & (msw = (a.lowOrder >>> 16) + (b.lowOrder >>> 16) + (c.lowOrder >>> 16) + (d.lowOrder >>> 16) + (e.lowOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw;\n\t\tlsw = (65535 & a.highOrder) + (65535 & b.highOrder) + (65535 & c.highOrder) + (65535 & d.highOrder) + (65535 & e.highOrder) + (msw >>> 16);\n\t\treturn new Int_64((65535 & (msw = (a.highOrder >>> 16) + (b.highOrder >>> 16) + (c.highOrder >>> 16) + (d.highOrder >>> 16) + (e.highOrder >>> 16) + (lsw >>> 16))) << 16 | 65535 & lsw, lowOrder)\n\t}\n\n\tfunction xor_64_2(a, b) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder, a.lowOrder ^ b.lowOrder)\n\t}\n\n\tfunction xor_64_5(a, b, c, d, e) {\n\t\treturn new Int_64(a.highOrder ^ b.highOrder ^ c.highOrder ^ d.highOrder ^ e.highOrder, a.lowOrder ^ b.lowOrder ^ c.lowOrder ^ d.lowOrder ^ e.lowOrder)\n\t}\n\n\tfunction cloneSHA3State(state) {\n\t\tvar i, clone = [];\n\t\tfor (i = 0; i < 5; i += 1) clone[i] = state[i].slice();\n\t\treturn clone\n\t}\n\n\tfunction getNewState(variant) {\n\t\tvar H_trunc, H_full, i, retVal = [];\n\t\tif (\"SHA-1\" === variant && 0 !== (1 & SUPPORTED_ALGS)) retVal = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];\n\t\telse if (0 === variant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\tH_trunc = [3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428];\n\t\t\tH_full = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225];\n\t\t\tswitch (variant) {\n\t\t\tcase \"SHA-224\":\n\t\t\t\tretVal = H_trunc;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-256\":\n\t\t\t\tretVal = H_full;\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-384\":\n\t\t\t\tretVal = [new Int_64(3418070365, H_trunc[0]), new Int_64(1654270250, H_trunc[1]), new Int_64(2438529370, H_trunc[2]), new Int_64(355462360, H_trunc[3]), new Int_64(1731405415, H_trunc[4]), new Int_64(41048885895, H_trunc[5]), new Int_64(3675008525, H_trunc[6]), new Int_64(1203062813, H_trunc[7])];\n\t\t\t\tbreak;\n\t\t\tcase \"SHA-512\":\n\t\t\t\tretVal = [new Int_64(H_full[0], 4089235720), new Int_64(H_full[1], 2227873595), new Int_64(H_full[2], 4271175723), new Int_64(H_full[3], 1595750129), new Int_64(H_full[4], 2917565137), new Int_64(H_full[5], 725511199), new Int_64(H_full[6], 4215389547), new Int_64(H_full[7], 327033209)];\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"Unknown SHA variant\")\n\t\t\t}\n\t\t} else if ((0 === variant.lastIndexOf(\"SHA3-\", 0) || 0 === variant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS))\n\t\t\tfor (i = 0; i < 5; i += 1) retVal[i] = [new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0), new Int_64(0, 0)];\n\t\telse throw new Error(\"No SHA variants supported\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA1(block, H) {\n\t\tvar a, b, c, d, e, T, t, W = [],\n\t\t\tch = ch_32,\n\t\t\tparity = parity_32,\n\t\t\tmaj = maj_32,\n\t\t\trotl = rotl_32,\n\t\t\tsafeAdd_2 = safeAdd_32_2,\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tfor (t = 0; t < 80; t += 1) {\n\t\t\tif (t < 16) W[t] = block[t];\n\t\t\telse W[t] = rotl(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n\t\t\tif (t < 20) T = safeAdd_5(rotl(a, 5), ch(b, c, d), e, 1518500249, W[t]);\n\t\t\telse if (t < 40) T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 1859775393, W[t]);\n\t\t\telse if (t < 60) T = safeAdd_5(rotl(a, 5), maj(b, c, d), e, 2400959708, W[t]);\n\t\t\telse T = safeAdd_5(rotl(a, 5), parity(b, c, d), e, 3395469782, W[t]);\n\t\t\te = d;\n\t\t\td = c;\n\t\t\tc = rotl(b, 30);\n\t\t\tb = a;\n\t\t\ta = T\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA1(remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\tvar i, appendedMessageLength, offset, totalLen;\n\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += 16) H = roundSHA1(remainder.slice(i, i + 16), H);\n\t\treturn H\n\t}\n\n\tfunction roundSHA2(block, H, variant) {\n\t\tvar a, b, c, d, e, f, g, h, T1, T2, numRounds, t, binaryStringMult, safeAdd_2, safeAdd_4, safeAdd_5, gamma0, gamma1, sigma0, sigma1, ch, maj, Int, int1, int2, offset, K, W = [];\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 64;\n\t\t\tbinaryStringMult = 1;\n\t\t\tInt = Number;\n\t\t\tsafeAdd_2 = safeAdd_32_2;\n\t\t\tsafeAdd_4 = safeAdd_32_4;\n\t\t\tsafeAdd_5 = safeAdd_32_5;\n\t\t\tgamma0 = gamma0_32;\n\t\t\tgamma1 = gamma1_32;\n\t\t\tsigma0 = sigma0_32;\n\t\t\tsigma1 = sigma1_32;\n\t\t\tmaj = maj_32;\n\t\t\tch = ch_32;\n\t\t\tK = K_sha2\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\tnumRounds = 80;\n\t\t\tbinaryStringMult = 2;\n\t\t\tInt = Int_64;\n\t\t\tsafeAdd_2 = safeAdd_64_2;\n\t\t\tsafeAdd_4 = safeAdd_64_4;\n\t\t\tsafeAdd_5 = safeAdd_64_5;\n\t\t\tgamma0 = gamma0_64;\n\t\t\tgamma1 = gamma1_64;\n\t\t\tsigma0 = sigma0_64;\n\t\t\tsigma1 = sigma1_64;\n\t\t\tmaj = maj_64;\n\t\t\tch = ch_64;\n\t\t\tK = K_sha512\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\ta = H[0];\n\t\tb = H[1];\n\t\tc = H[2];\n\t\td = H[3];\n\t\te = H[4];\n\t\tf = H[5];\n\t\tg = H[6];\n\t\th = H[7];\n\t\tfor (t = 0; t < numRounds; t += 1) {\n\t\t\tif (t < 16) {\n\t\t\t\toffset = t * binaryStringMult;\n\t\t\t\tint1 = block.length <= offset ? 0 : block[offset];\n\t\t\t\tint2 = block.length <= offset + 1 ? 0 : block[offset + 1];\n\t\t\t\tW[t] = new Int(int1, int2)\n\t\t\t} else W[t] = safeAdd_4(gamma1(W[t - 2]), W[t - 7], gamma0(W[t - 15]), W[t - 16]);\n\t\t\tT1 = safeAdd_5(h, sigma1(e), ch(e, f, g), K[t], W[t]);\n\t\t\tT2 = safeAdd_2(sigma0(a), maj(a, b, c));\n\t\t\th = g;\n\t\t\tg = f;\n\t\t\tf = e;\n\t\t\te = safeAdd_2(d, T1);\n\t\t\td = c;\n\t\t\tc = b;\n\t\t\tb = a;\n\t\t\ta = safeAdd_2(T1, T2)\n\t\t}\n\t\tH[0] = safeAdd_2(a, H[0]);\n\t\tH[1] = safeAdd_2(b, H[1]);\n\t\tH[2] = safeAdd_2(c, H[2]);\n\t\tH[3] = safeAdd_2(d, H[3]);\n\t\tH[4] = safeAdd_2(e, H[4]);\n\t\tH[5] = safeAdd_2(f, H[5]);\n\t\tH[6] = safeAdd_2(g, H[6]);\n\t\tH[7] = safeAdd_2(h, H[7]);\n\t\treturn H\n\t}\n\n\tfunction finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, variant, outputLen) {\n\t\tvar i, appendedMessageLength, offset, retVal, binaryStringInc, totalLen;\n\t\tif ((\"SHA-224\" === variant || \"SHA-256\" === variant) && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\toffset = 15 + (remainderBinLen + 65 >>> 9 << 4);\n\t\t\tbinaryStringInc = 16\n\t\t} else if ((\"SHA-384\" === variant || \"SHA-512\" === variant) && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\toffset = 31 + (remainderBinLen + 129 >>> 10 << 5);\n\t\t\tbinaryStringInc = 32\n\t\t} else throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\twhile (remainder.length <= offset) remainder.push(0);\n\t\tremainder[remainderBinLen >>> 5] |= 128 << 24 - remainderBinLen % 32;\n\t\ttotalLen = remainderBinLen + processedBinLen;\n\t\tremainder[offset] = 4294967295 & totalLen;\n\t\tremainder[offset - 1] = totalLen / TWO_PWR_32 | 0;\n\t\tappendedMessageLength = remainder.length;\n\t\tfor (i = 0; i < appendedMessageLength; i += binaryStringInc) H = roundSHA2(remainder.slice(i, i + binaryStringInc), H, variant);\n\t\tif (\"SHA-224\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = [H[0], H[1], H[2], H[3], H[4], H[5], H[6]];\n\t\telse if (\"SHA-256\" === variant && 0 !== (2 & SUPPORTED_ALGS)) retVal = H;\n\t\telse if (\"SHA-384\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder];\n\t\telse if (\"SHA-512\" === variant && 0 !== (4 & SUPPORTED_ALGS)) retVal = [H[0].highOrder, H[0].lowOrder, H[1].highOrder, H[1].lowOrder, H[2].highOrder, H[2].lowOrder, H[3].highOrder, H[3].lowOrder, H[4].highOrder, H[4].lowOrder, H[5].highOrder, H[5].lowOrder, H[6].highOrder, H[6].lowOrder, H[7].highOrder, H[7].lowOrder];\n\t\telse throw new Error(\"Unexpected error in SHA-2 implementation\");\n\t\treturn retVal\n\t}\n\n\tfunction roundSHA3(block, state) {\n\t\tvar round, x, y, B, C = [],\n\t\t\tD = [];\n\t\tif (null !== block)\n\t\t\tfor (x = 0; x < block.length; x += 2) state[(x >>> 1) % 5][(x >>> 1) / 5 | 0] = xor_64_2(state[(x >>> 1) % 5][(x >>> 1) / 5 | 0], new Int_64(block[x + 1], block[x]));\n\t\tfor (round = 0; round < 24; round += 1) {\n\t\t\tB = getNewState(\"SHA3-\");\n\t\t\tfor (x = 0; x < 5; x += 1) C[x] = xor_64_5(state[x][0], state[x][1], state[x][2], state[x][3], state[x][4]);\n\t\t\tfor (x = 0; x < 5; x += 1) D[x] = xor_64_2(C[(x + 4) % 5], rotl_64(C[(x + 1) % 5], 1));\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(state[x][y], D[x]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) B[y][(2 * x + 3 * y) % 5] = rotl_64(state[x][y], r_sha3[x][y]);\n\t\t\tfor (x = 0; x < 5; x += 1)\n\t\t\t\tfor (y = 0; y < 5; y += 1) state[x][y] = xor_64_2(B[x][y], new Int_64(~B[(x + 1) % 5][y].highOrder & B[(x + 2) % 5][y].highOrder, ~B[(x + 1) % 5][y].lowOrder & B[(x + 2) % 5][y].lowOrder));\n\t\t\tstate[0][0] = xor_64_2(state[0][0], rc_sha3[round])\n\t\t}\n\t\treturn state\n\t}\n\n\tfunction finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, blockSize, delimiter, outputLen) {\n\t\tvar i, temp, retVal = [],\n\t\t\tbinaryStringInc = blockSize >>> 5,\n\t\t\tstate_offset = 0,\n\t\t\tremainderIntLen = remainderBinLen >>> 5;\n\t\tfor (i = 0; i < remainderIntLen && remainderBinLen >= blockSize; i += binaryStringInc) {\n\t\t\tstate = roundSHA3(remainder.slice(i, i + binaryStringInc), state);\n\t\t\tremainderBinLen -= blockSize\n\t\t}\n\t\tremainder = remainder.slice(i);\n\t\tremainderBinLen %= blockSize;\n\t\twhile (remainder.length < binaryStringInc) remainder.push(0);\n\t\tremainder[(i = remainderBinLen >>> 3) >> 2] ^= delimiter << i % 4 * 8;\n\t\tremainder[binaryStringInc - 1] ^= 2147483648;\n\t\tstate = roundSHA3(remainder, state);\n\t\twhile (32 * retVal.length < outputLen) {\n\t\t\ttemp = state[state_offset % 5][state_offset / 5 | 0];\n\t\t\tretVal.push(temp.lowOrder);\n\t\t\tif (32 * retVal.length >= outputLen) break;\n\t\t\tretVal.push(temp.highOrder);\n\t\t\tif (0 === 64 * (state_offset += 1) % blockSize) roundSHA3(null, state)\n\t\t}\n\t\treturn retVal\n\t}\n\tvar K_sha2, K_sha512, r_sha3, rc_sha3, jsSHA, TWO_PWR_32 = 4294967296;\n\tif (0 !== (6 & SUPPORTED_ALGS)) {\n\t\tK_sha2 = [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];\n\t\tif (0 !== (4 & SUPPORTED_ALGS)) K_sha512 = [new Int_64(K_sha2[0], 3609767458), new Int_64(K_sha2[1], 602891725), new Int_64(K_sha2[2], 3964484399), new Int_64(K_sha2[3], 2173295548), new Int_64(K_sha2[4], 4081628472), new Int_64(K_sha2[5], 3053834265), new Int_64(K_sha2[6], 2937671579), new Int_64(K_sha2[7], 3664609560), new Int_64(K_sha2[8], 2734883394), new Int_64(K_sha2[9], 1164996542), new Int_64(K_sha2[10], 1323610764), new Int_64(K_sha2[11], 3590304994), new Int_64(K_sha2[12], 4068182383), new Int_64(K_sha2[13], 991336113), new Int_64(K_sha2[14], 633803317), new Int_64(K_sha2[15], 3479774868), new Int_64(K_sha2[16], 2666613458), new Int_64(K_sha2[17], 944711139), new Int_64(K_sha2[18], 2341262773), new Int_64(K_sha2[19], 2007800933), new Int_64(K_sha2[20], 1495990901), new Int_64(K_sha2[21], 1856431235), new Int_64(K_sha2[22], 3175218132), new Int_64(K_sha2[23], 2198950837), new Int_64(K_sha2[24], 3999719339), new Int_64(K_sha2[25], 766784016), new Int_64(K_sha2[26], 2566594879), new Int_64(K_sha2[27], 3203337956), new Int_64(K_sha2[28], 1034457026), new Int_64(K_sha2[29], 2466948901), new Int_64(K_sha2[30], 3758326383), new Int_64(K_sha2[31], 168717936), new Int_64(K_sha2[32], 1188179964), new Int_64(K_sha2[33], 1546045734), new Int_64(K_sha2[34], 1522805485), new Int_64(K_sha2[35], 2643833823), new Int_64(K_sha2[36], 2343527390), new Int_64(K_sha2[37], 1014477480), new Int_64(K_sha2[38], 1206759142), new Int_64(K_sha2[39], 344077627), new Int_64(K_sha2[40], 1290863460), new Int_64(K_sha2[41], 3158454273), new Int_64(K_sha2[42], 3505952657), new Int_64(K_sha2[43], 106217008), new Int_64(K_sha2[44], 3606008344), new Int_64(K_sha2[45], 1432725776), new Int_64(K_sha2[46], 1467031594), new Int_64(K_sha2[47], 851169720), new Int_64(K_sha2[48], 3100823752), new Int_64(K_sha2[49], 1363258195), new Int_64(K_sha2[50], 3750685593), new Int_64(K_sha2[51], 3785050280), new Int_64(K_sha2[52], 3318307427), new Int_64(K_sha2[53], 3812723403), new Int_64(K_sha2[54], 2003034995), new Int_64(K_sha2[55], 3602036899), new Int_64(K_sha2[56], 1575990012), new Int_64(K_sha2[57], 1125592928), new Int_64(K_sha2[58], 2716904306), new Int_64(K_sha2[59], 442776044), new Int_64(K_sha2[60], 593698344), new Int_64(K_sha2[61], 3733110249), new Int_64(K_sha2[62], 2999351573), new Int_64(K_sha2[63], 3815920427), new Int_64(3391569614, 3928383900), new Int_64(3515267271, 566280711), new Int_64(3940187606, 3454069534), new Int_64(4118630271, 4000239992), new Int_64(116418474, 1914138554), new Int_64(174292421, 2731055270), new Int_64(289380356, 3203993006), new Int_64(460393269, 320620315), new Int_64(685471733, 587496836), new Int_64(852142971, 1086792851), new Int_64(1017036298, 365543100), new Int_64(1126000580, 2618297676), new Int_64(1288033470, 3409855158), new Int_64(1501505948, 4234509866), new Int_64(1607167915, 987167468), new Int_64(1816402316, 1246189591)]\n\t}\n\tif (0 !== (8 & SUPPORTED_ALGS)) {\n\t\trc_sha3 = [new Int_64(0, 1), new Int_64(0, 32898), new Int_64(2147483648, 32906), new Int_64(2147483648, 2147516416), new Int_64(0, 32907), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32777), new Int_64(0, 138), new Int_64(0, 136), new Int_64(0, 2147516425), new Int_64(0, 2147483658), new Int_64(0, 2147516555), new Int_64(2147483648, 139), new Int_64(2147483648, 32905), new Int_64(2147483648, 32771), new Int_64(2147483648, 32770), new Int_64(2147483648, 128), new Int_64(0, 32778), new Int_64(2147483648, 2147483658), new Int_64(2147483648, 2147516545), new Int_64(2147483648, 32896), new Int_64(0, 2147483649), new Int_64(2147483648, 2147516424)];\n\t\tr_sha3 = [\n\t\t\t[0, 36, 3, 41, 18],\n\t\t\t[1, 44, 10, 45, 2],\n\t\t\t[62, 6, 43, 15, 61],\n\t\t\t[28, 55, 25, 21, 56],\n\t\t\t[27, 20, 39, 8, 14]\n\t\t]\n\t}\n\tjsSHA = function (variant, inputFormat, options) {\n\t\tvar intermediateState, converterFunc, outputBinLen, variantBlockSize, roundFunc, finalizeFunc, stateCloneFunc, delimiter, processedLen = 0,\n\t\t\tremainder = [],\n\t\t\tremainderLen = 0,\n\t\t\tshaVariant = variant,\n\t\t\thmacKeySet = false,\n\t\t\tkeyWithIPad = [],\n\t\t\tkeyWithOPad = [],\n\t\t\tupdatedCalled = false,\n\t\t\tisSHAKE = false,\n\t\t\tbigEndianMod = -1,\n\t\t\tinputOptions = options || {},\n\t\t\tutfType = inputOptions.encoding || \"UTF8\",\n\t\t\tnumRounds = inputOptions.numRounds || 1;\n\t\tif (numRounds !== parseInt(numRounds, 10) || 1 > numRounds) throw new Error(\"numRounds must a integer >= 1\");\n\t\tif (\"SHA-1\" === shaVariant && 0 !== (1 & SUPPORTED_ALGS)) {\n\t\t\tvariantBlockSize = 512;\n\t\t\troundFunc = roundSHA1;\n\t\t\tfinalizeFunc = finalizeSHA1;\n\t\t\toutputBinLen = 160;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t}\n\t\t} else if (0 === shaVariant.lastIndexOf(\"SHA-\", 0) && 0 !== (6 & SUPPORTED_ALGS)) {\n\t\t\troundFunc = function (block, H) {\n\t\t\t\treturn roundSHA2(block, H, shaVariant)\n\t\t\t};\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, H, outputLen) {\n\t\t\t\treturn finalizeSHA2(remainder, remainderBinLen, processedBinLen, H, shaVariant, outputLen)\n\t\t\t};\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn state.slice()\n\t\t\t};\n\t\t\tif (\"SHA-224\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA-256\" === shaVariant && 0 !== (2 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 512;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA-384\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA-512\" === shaVariant && 0 !== (4 & SUPPORTED_ALGS)) {\n\t\t\t\tvariantBlockSize = 1024;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\")\n\t\t} else if ((0 === shaVariant.lastIndexOf(\"SHA3-\", 0) || 0 === shaVariant.lastIndexOf(\"SHAKE\", 0)) && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\tdelimiter = 6;\n\t\t\troundFunc = roundSHA3;\n\t\t\tstateCloneFunc = function (state) {\n\t\t\t\treturn cloneSHA3State(state)\n\t\t\t};\n\t\t\tbigEndianMod = 1;\n\t\t\tif (\"SHA3-224\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1152;\n\t\t\t\toutputBinLen = 224\n\t\t\t} else if (\"SHA3-256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = 256\n\t\t\t} else if (\"SHA3-384\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 832;\n\t\t\t\toutputBinLen = 384\n\t\t\t} else if (\"SHA3-512\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 576;\n\t\t\t\toutputBinLen = 512\n\t\t\t} else if (\"SHAKE128\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1344;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else if (\"SHAKE256\" === shaVariant) {\n\t\t\t\tvariantBlockSize = 1088;\n\t\t\t\toutputBinLen = -1;\n\t\t\t\tdelimiter = 31;\n\t\t\t\tisSHAKE = true\n\t\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\t\tfinalizeFunc = function (remainder, remainderBinLen, processedBinLen, state, outputLen) {\n\t\t\t\treturn finalizeSHA3(remainder, remainderBinLen, processedBinLen, state, variantBlockSize, delimiter, outputLen)\n\t\t\t}\n\t\t} else throw new Error(\"Chosen SHA variant is not supported\");\n\t\tconverterFunc = getStrConverter(inputFormat, utfType, bigEndianMod);\n\t\tintermediateState = getNewState(shaVariant);\n\t\tthis.setHMACKey = function (key, inputFormat, options) {\n\t\t\tvar convertRet, keyBinLen, keyToUse, blockByteSize, i, lastArrayIndex;\n\t\t\tif (true === hmacKeySet) throw new Error(\"HMAC key already set\");\n\t\t\tif (true === updatedCalled) throw new Error(\"Cannot set HMAC key after calling update\");\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) throw new Error(\"SHAKE is not supported for HMAC\");\n\t\t\tkeyBinLen = (convertRet = getStrConverter(inputFormat, utfType = (options || {})\n\t\t\t\t\t.encoding || \"UTF8\", bigEndianMod)(key))\n\t\t\t\t.binLen;\n\t\t\tkeyToUse = convertRet.value;\n\t\t\tlastArrayIndex = (blockByteSize = variantBlockSize >>> 3) / 4 - 1;\n\t\t\tif (blockByteSize < keyBinLen / 8) {\n\t\t\t\tkeyToUse = finalizeFunc(keyToUse, keyBinLen, 0, getNewState(shaVariant), outputBinLen);\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t} else if (blockByteSize > keyBinLen / 8) {\n\t\t\t\twhile (keyToUse.length <= lastArrayIndex) keyToUse.push(0);\n\t\t\t\tkeyToUse[lastArrayIndex] &= 4294967040\n\t\t\t}\n\t\t\tfor (i = 0; i <= lastArrayIndex; i += 1) {\n\t\t\t\tkeyWithIPad[i] = 909522486 ^ keyToUse[i];\n\t\t\t\tkeyWithOPad[i] = 1549556828 ^ keyToUse[i]\n\t\t\t}\n\t\t\tintermediateState = roundFunc(keyWithIPad, intermediateState);\n\t\t\tprocessedLen = variantBlockSize;\n\t\t\thmacKeySet = true\n\t\t};\n\t\tthis.update = function (srcString) {\n\t\t\tvar convertRet, chunkBinLen, chunkIntLen, chunk, i, updateProcessedLen = 0,\n\t\t\t\tvariantBlockIntInc = variantBlockSize >>> 5;\n\t\t\tchunkBinLen = (convertRet = converterFunc(srcString, remainder, remainderLen))\n\t\t\t\t.binLen;\n\t\t\tchunk = convertRet.value;\n\t\t\tchunkIntLen = chunkBinLen >>> 5;\n\t\t\tfor (i = 0; i < chunkIntLen; i += variantBlockIntInc)\n\t\t\t\tif (updateProcessedLen + variantBlockSize <= chunkBinLen) {\n\t\t\t\t\tintermediateState = roundFunc(chunk.slice(i, i + variantBlockIntInc), intermediateState);\n\t\t\t\t\tupdateProcessedLen += variantBlockSize\n\t\t\t\t}\n\t\t\tprocessedLen += updateProcessedLen;\n\t\t\tremainder = chunk.slice(updateProcessedLen >>> 5);\n\t\t\tremainderLen = chunkBinLen % variantBlockSize;\n\t\t\tupdatedCalled = true\n\t\t};\n\t\tthis.getHash = function (format, options) {\n\t\t\tvar formatFunc, i, outputOptions, finalizedState;\n\t\t\tif (true === hmacKeySet) throw new Error(\"Cannot call getHash after setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tif (true === isSHAKE && 0 !== (8 & SUPPORTED_ALGS)) {\n\t\t\t\tif (-1 === outputOptions.shakeLen) throw new Error(\"shakeLen must be specified in options\");\n\t\t\t\toutputBinLen = outputOptions.shakeLen\n\t\t\t}\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\ti = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"format must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfinalizedState = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfor (i = 1; i < numRounds; i += 1) {\n\t\t\t\tif (0 !== (8 & SUPPORTED_ALGS) && true === isSHAKE && outputBinLen % 32 !== 0) finalizedState[finalizedState.length - 1] &= 16777215 >>> 24 - outputBinLen % 32;\n\t\t\t\tfinalizedState = finalizeFunc(finalizedState, outputBinLen, 0, getNewState(shaVariant), outputBinLen)\n\t\t\t}\n\t\t\treturn formatFunc(finalizedState)\n\t\t};\n\t\tthis.getHMAC = function (format, options) {\n\t\t\tvar formatFunc, firstHash, outputOptions, finalizedState;\n\t\t\tif (false === hmacKeySet) throw new Error(\"Cannot call getHMAC without first setting HMAC key\");\n\t\t\toutputOptions = getOutputOpts(options);\n\t\t\tswitch (format) {\n\t\t\tcase \"HEX\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2hex(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"B64\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2b64(binarray, outputBinLen, bigEndianMod, outputOptions)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"BYTES\":\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2bytes(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase \"ARRAYBUFFER\":\n\t\t\t\ttry {\n\t\t\t\t\tformatFunc = new ArrayBuffer(0)\n\t\t\t\t} catch (ignore) {\n\t\t\t\t\tthrow new Error(\"ARRAYBUFFER not supported by this environment\")\n\t\t\t\t}\n\t\t\t\tformatFunc = function (binarray) {\n\t\t\t\t\treturn packed2arraybuffer(binarray, outputBinLen, bigEndianMod)\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"outputFormat must be HEX, B64, BYTES, or ARRAYBUFFER\")\n\t\t\t}\n\t\t\tfirstHash = finalizeFunc(remainder.slice(), remainderLen, processedLen, stateCloneFunc(intermediateState), outputBinLen);\n\t\t\tfinalizedState = roundFunc(keyWithOPad, getNewState(shaVariant));\n\t\t\treturn formatFunc(finalizedState = finalizeFunc(firstHash, outputBinLen, variantBlockSize, finalizedState, outputBinLen))\n\t\t}\n\t};\n\tif (\"function\" === typeof define && define.amd) define(function () {\n\t\treturn jsSHA\n\t});\n\telse if (\"undefined\" !== typeof exports)\n\t\tif (\"undefined\" !== typeof module && module.exports) {\n\t\t\tmodule.exports = jsSHA;\n\t\t\texports = jsSHA\n\t\t} else exports = jsSHA;\n\telse global.jsSHA = jsSHA\n})(this);\n(function (global) {\n\t\"use strict\";\n\n\tfunction definition(path, Failure, iterate, isObject) {\n\t\tfunction isEnabled(path) {\n\t\t\tvar match;\n\t\t\titerate(settings, function (key, value) {\n\t\t\t\tif (key === path) {\n\t\t\t\t\tmatch = value;\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn match || false\n\t\t}\n\t\tvar settings;\n\t\tdemand.on(\"postConfigure:\" + path, function (options) {\n\t\t\t\tif (isObject(options)) settings = options\n\t\t\t})\n\t\t\t.on(\"postRequest\", function (dependency) {\n\t\t\t\tvar options, sha, hash;\n\t\t\t\tif (options = isEnabled(dependency.path)) try {\n\t\t\t\t\t(sha = new global.jsSHA(options.type, \"TEXT\"))\n\t\t\t\t\t.update(dependency.source);\n\t\t\t\t\tif ((hash = sha.getHash(\"B64\")) !== options.hash) dependency.dfd.reject(new Failure('hash mismatch, should be \"' + options.hash + '\" but is \"' + hash + '\" (sri)', dependency.id))\n\t\t\t\t} catch (error) {\n\t\t\t\t\tdependency.dfd.reject(new Failure(\"unsupported hashing algorithm (sri)\", dependency.id))\n\t\t\t\t}\n\t\t\t});\n\t\treturn true\n\t}\n\tprovide([\"path\", \"/demand/failure\", \"/demand/function/iterate\", \"/demand/validator/isObject\"], definition)\n})(this);\n"]} \ No newline at end of file diff --git a/package.json b/package.json index b00003d..f4a9186 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": "5.0.1", + "version": "5.0.2", "homepage": "https://github.com/dlueth/qoopido.demand", "author": { "name": "Dirk Lueth", diff --git a/src/class/dependency.js b/src/class/dependency.js index acb4f88..464b4ab 100644 --- a/src/class/dependency.js +++ b/src/class/dependency.js @@ -5,7 +5,7 @@ regexMatchInternal, regexMatchParameter, validatorIsPositive, functionResolvePath, functionResolveId, functionResolveUrl, functionIterate, functionToArray, - ClassRegistry, ClassPledge, ClassFailure, + ClassRegistry, ClassPledge, ClassFailure, ClassSemver, singletonCache */ @@ -21,35 +21,59 @@ //=require class/registry.js //=require class/pledge.js //=require class/failure.js +//=require class/semver.js //=require singleton/cache.js var ClassDependency = (function() { var PREFIX_INTERNAL = 'internal!', registry = new ClassRegistry(), + matchInternal = /^(?:mock:|internal!)/i, placeholder = []; function setProperty(property, value) { this[property] = value; } + function add(id) { + if(!matchInternal.test(id)) { + this.push(id); + } + } + function addPending(id, dependency) { - if(dependency.pledge.isPending()) { + if(!matchInternal.test(id) && dependency.pledge.isPending()) { this.push(id); } } function addResolved(id, dependency) { - if(dependency.pledge.isResolved()) { + if(!matchInternal.test(id) && dependency.pledge.isResolved()) { this.push(id); } } function addRejected(id, dependency) { - if(dependency.pledge.isRejected()) { + if(!matchInternal.test(id) && dependency.pledge.isRejected()) { this.push(id); } } + function list() { + return functionIterate(registry.get(), add, []); + } + + list.prototype = { + pending: function() { + return functionIterate(registry.get(), addPending, []); + }, + resolved: function() { + return functionIterate(registry.get(), addResolved, []); + }, + rejected: function() { + return functionIterate(registry.get(), addRejected, []); + } + }; + function ClassDependency(uri, context, register) { var self = this, parameter = uri.match(regexMatchParameter) || placeholder; @@ -58,7 +82,7 @@ var ClassDependency = (function() { self.mock = parameter[1] ? TRUE : FALSE; self.cache = parameter[2] ? parameter[1] === '+' : NULL; self.type = parameter[3] || settings.handler; - self.version = parameter[4] || settings.version; + self.version = new ClassSemver(parameter[4] || settings.version); self.lifetime = (parameter[5] && parameter[5] * 1000) || settings.lifetime; self.id = (self.mock ? MOCK_PREFIX : '' ) + self.type + '!' + self.path; self.uri = (self.mock ? MOCK_PREFIX : '' ) + self.type + '@' + self.version + (validatorIsPositive(self.lifetime) && self.lifetime > 0 ? '#' + self.lifetime : '' ) + '!' + self.path; @@ -162,20 +186,7 @@ var ClassDependency = (function() { (cache !== FALSE) && singletonCache.clear(id); }; - ClassDependency.list = { - all: function() { - return object.keys(registry.get()); - }, - pending: function() { - return functionIterate(registry.get(), addPending, []); - }, - resolved: function() { - return functionIterate(registry.get(), addResolved, []); - }, - rejected: function() { - return functionIterate(registry.get(), addRejected, []); - } - }; + ClassDependency.list = list; return ClassDependency; }()); diff --git a/src/class/semver.js b/src/class/semver.js new file mode 100644 index 0000000..ffa2247 --- /dev/null +++ b/src/class/semver.js @@ -0,0 +1,97 @@ +/* global + global, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, + STRING_UNDEFINED, STRING_STRING, + validatorIsSemver +*/ + +//=require constants.js +//=require validator/isSemver.js + +// see https://semver.org/#semantic-versioning-specification-semver + +var ClassSemver = (function() { + function parse(version) { + var parts = version.split('-'), + i = 0, temp; + + parts = !parts[1] ? parts[0].split('.') : Array.prototype.concat(parts[0].split('.'), parts[1].split('.')); + + for(; (temp = parts[i]); i++) { + parts[i] = parseInt(temp, 10).toString() === temp ? parseInt(temp, 10) : temp; + } + + return parts; + } + + function compareLevel(a, b) { + return (a < b) ? -1 : ((a > b) ? 1 : 0); + } + + function compareIdentifier(a, b) { + var i = 0, pa, pb, tpa, tpb; + + if(a.length && !b.length) { + return -1; + } else if(!a.length && b.length) { + return 1; + } else if(!a.length && !b.length) { + return 0; + } + + do { + pa = a[i]; + pb = b[i]; + tpa = typeof pa; + tpb = typeof pb; + + if(tpa === STRING_UNDEFINED && tpb === STRING_UNDEFINED) { + return 0; + } else if(tpb === STRING_UNDEFINED) { + return 1; + } else if(tpa === STRING_UNDEFINED) { + return -1; + } else if(pa === pb) { + continue; + } else { + if(tpa === STRING_STRING && tpb !== STRING_STRING) { + return 1; + } else if(tpa !== STRING_STRING && tpb === STRING_STRING) { + return -1; + } else { + if(pa > pb) { + return 1; + } else if(pa < pb) { + return -1; + } + } + } + } while(++i); + } + + function ClassSemver(version) { + if(!validatorIsSemver(version)) { + throw new TypeError('"version" must be a valid semver version string'); + } + + version = parse(version); + + this.major = version.slice(0, 1); + this.minor = version.slice(1, 2); + this.patch = version.slice(2, 3); + this.identifier = version.slice(3); + } + + ClassSemver.prototype = { + toString: function() { + return this.major + '.' + this.minor + '.' + this.patch + (this.identifier.length ? '-' + this.identifier.join('.') : ''); + }, + compare: function(version) { + return compareLevel(this.major, version.major) + || compareLevel(this.minor, version.minor) + || compareLevel(this.patch, version.patch) + || compareIdentifier(this.identifier, version.identifier); + } + }; + + return ClassSemver; +}()); diff --git a/src/demand.js b/src/demand.js index 4fc84b8..11110bf 100644 --- a/src/demand.js +++ b/src/demand.js @@ -1,10 +1,10 @@ /* global global, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, MODULE_PREFIX, MODULE_PREFIX_HANDLER, MODULE_PREFIX_VALIDATOR, MODULE_PREFIX_PLUGIN, MODULE_PREFIX_FUNCTION, MODULE_PREFIX_ABSTRACT, STRING_STRING, STRING_FUNCTION, TRUE, - validatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf, + validatorIsTypeOf, validatorIsArray, validatorIsObject, validatorIsInstanceOf, validatorIsSemver, functionResolveUrl, functionResolveSourcemaps, functionMerge, functionIterate, functionDefer, functionHash, functionUuid, AbstractUuid, abstractHandler, - ClassDependency, ClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor, ClassWeakmap, + ClassDependency, ClassQueue, ClassProcessor, ClassPledge, ClassXhr, ClassFailure, ClassDescriptor, ClassWeakmap, ClassSemver, handlerModule, handlerBundle, handlerComponent, pluginGenie */ @@ -57,6 +57,7 @@ assignModule(MODULE_PREFIX_VALIDATOR + 'isArray', validatorIsArray); assignModule(MODULE_PREFIX_VALIDATOR + 'isObject', validatorIsObject); assignModule(MODULE_PREFIX_VALIDATOR + 'isInstanceOf', validatorIsInstanceOf); + assignModule(MODULE_PREFIX_VALIDATOR + 'isSemver', validatorIsSemver); assignModule(MODULE_PREFIX_FUNCTION + 'resolveUrl', functionResolveUrl); assignModule(MODULE_PREFIX_FUNCTION + 'resolveSourcemaps', functionResolveSourcemaps); assignModule(MODULE_PREFIX_FUNCTION + 'merge', functionMerge); @@ -70,6 +71,7 @@ assignModule(MODULE_PREFIX + 'queue', ClassQueue); assignModule(MODULE_PREFIX + 'xhr', ClassXhr); assignModule(MODULE_PREFIX + 'failure', ClassFailure); + assignModule(MODULE_PREFIX + 'semver', ClassSemver); if(options && options.main) { switch(typeof options.main) { diff --git a/src/function/demand.js b/src/function/demand.js index 9e2e148..df120af 100644 --- a/src/function/demand.js +++ b/src/function/demand.js @@ -1,7 +1,7 @@ /* global global, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, STRING_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, - validatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf, + validatorIsTypeOf, validatorIsObject, validatorIsPositive, validatorIsInstanceOf, validatorIsSemver, functionIterate, functionMerge, functionDefer, functionToArray, ClassPledge, ClassDependency, ClassPattern, ClassLoader, singletonEvent, singletonCache @@ -12,6 +12,7 @@ //=require validator/isObject.js //=require validator/isPositive.js //=require validator/isInstanceOf.js +//=require validator/isSemver.js //=require function/iterate.js //=require function/merge.js //=require function/defer.js @@ -87,12 +88,12 @@ demand = (function() { functionIterate(cache, updateCacheSettings, settings.cache); } - if(validatorIsTypeOf(version, STRING_STRING)) { + if(validatorIsSemver(version)) { settings.version = version; } if(validatorIsPositive(timeout)) { - settings.timeout = Math.min(Math.max(timeout, 2), 12) * 1000; + settings.timeout = Math.min(Math.max(timeout, 2), 20) * 1000; } if(validatorIsPositive(lifetime) && lifetime > 0) { diff --git a/src/singleton/cache.js b/src/singleton/cache.js index f9fa016..e5a51ea 100644 --- a/src/singleton/cache.js +++ b/src/singleton/cache.js @@ -3,8 +3,9 @@ DEMAND_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, validatorIsTypeOf, functionGetTimestamp, functionEscapeRegex, functionIterate, functionDefer, functionResolveId, functionToArray, + singletonEvent, ClassDependency, - singletonEvent + ClassSemver */ //=require constants.js @@ -15,6 +16,7 @@ //=require function/defer.js //=require function/resolveId.js //=require function/toArray.js +//=require class/semver.js //=require singleton/event.js var singletonCache = (function() { @@ -116,7 +118,7 @@ var singletonCache = (function() { return; } - if(state[0] !== dependency.version || (state[2] && dependency.lifetime && state[2] <= functionGetTimestamp())) { + if(dependency.version.compare(new ClassSemver(state[0])) === 1 || (state[2] && dependency.lifetime && state[2] <= functionGetTimestamp())) { dependency.invalid = true; return; diff --git a/src/validator/isSemver.js b/src/validator/isSemver.js new file mode 100644 index 0000000..9cb65a3 --- /dev/null +++ b/src/validator/isSemver.js @@ -0,0 +1,26 @@ +/* global + global, document, demand, provide, queue, processor, settings, setTimeout, clearTimeout, + STRING_STRING, + validatorIsTypeOf +*/ + +//=require constants.js +//=require validator/isTypeOf.js + +/** + * isSemver + * + * Check whether a given value is a valid version according to semver 2.0.0 + * + * @param value + * + * @return {boolean} + */ + +var validatorIsSemver = (function() { + var regexMatchSemver = /^\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-z-]+(?:\.[\da-z-]+)*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?\b$/i; + + return function validatorIsSemver(value) { + return validatorIsTypeOf(value, STRING_STRING) && regexMatchSemver.test(value); + } +}());