diff --git a/README.md b/README.md index 77385f3..6e29253 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,10 @@ Then install dependencies with bower (or manually from github if you prefer to): ## How to use -To load the minified layer you need to wrap your main `require` call with another `require`, requiring `"decor-build/layer"`. Then you should continue to -refer to modules with `"decor/foo"`. +### `baseUrl` is the directory containing `decor-build`. +This is the most common use-case so the needed configuration is built in the layer. +To load the minified layer you just need to wrap your main `require` call with another `require`, requiring `"decor-build/layer"`. +Then you should continue to refer to modules with `"decor/foo"`. For example, this code: ```js @@ -42,6 +44,24 @@ require(["decor-build/layer"], function() { }); ``` +### Other `baseUrl` + +If `baseUrl` is not the directory containing `decor-build`, custom configuration is needed. + +```js +require.config({ + paths: { + "decor": "path/to/decor-build" + } +}); +``` + + +## Bug reporting + +Issues should be filled against the source version of this project at [ibm-js/decor](https://github.com/ibm-js/decor) + + ## Licensing This project is distributed by the Dojo Foundation and licensed under the ["New" BSD License](./LICENSE). diff --git a/bower.json b/bower.json index 9148ce4..102310c 100644 --- a/bower.json +++ b/bower.json @@ -1,11 +1,11 @@ { "name": "decor-build", - "version": "0.5.0", + "version": "0.6.0", "dependencies": { "requirejs": "2.1.x" }, "devDependencies": { - "decor": "0.5.0" + "decor": "0.6.0" }, "ignore": [ ".jshintrc", diff --git a/layer.js b/layer.js index 4883b06..bc4b63f 100644 --- a/layer.js +++ b/layer.js @@ -1,5 +1,5 @@ -define("requirejs-dplugins/jquery",[],function(){function a(a){return["core"].concat(a.split(/, */)).map(function(a){return"jquery/src/"+a})}return require.config({map:{jquery:{"jquery/src/selector":"jquery/src/selector-native"}}}),{normalize:function(a){return a},load:function(b,c,d,e){e.isBuild?d():"undefined"!=typeof jQuery?d(jQuery):"undefined"!=typeof $?d($):require(a(b),function(a){d(a)})},addModules:function(b,c,d){d(a(c))}}}),define("requirejs-dplugins/css",["./has","./Promise!","module"],function(a,b,c){"use strict";a.add("event-link-onload-api",function(a){var b=a.navigator.userAgent.match(/AppleWebKit\/([\d.]+)/);return!b||parseInt(b[1],10)>535});var d,e={},f=function(c){return new b(function(b){if(a("event-link-onload-api"))c.onreadystatechange=c.onload=function(){c.readyState&&"complete"!==c.readyState||(c.onreadystatechange=c.onload=null,b())};else{var d=function(){var a=c.sheet||c.styleSheet,e=document.styleSheets;a&&-1!==Array.prototype.lastIndexOf.call(e,a)?b():setTimeout(d,25)};d()}})},g={id:c.id,load:function(b,g,h){if(a("builder"))return j.addOnce(i,b),void h();var k=c.config();k.layersMap&&(b=k.layersMap[b]||b);var l,m=document.head||document.getElementsByTagName("head")[0],n=g.toUrl(b);e[n]||(l=document.createElement("link"),l.rel="stylesheet",l.type="text/css",l.href=n,m.insertBefore(l,d?d.nextSibling:m.firstChild),d=l,e[n]=f(l)),e[n].then(function(){h(b)})}};if(a("builder")){var h,i=[],j={writeConfig:function(a,b,c,d){var e={config:{}};e.config[b]={layersMap:{}},d.forEach(function(a){e.config[b].layersMap[a]=c}),a("require.config("+JSON.stringify(e)+");")},writeLayer:function(a,b,d){function e(a){var b,c=a.shift();if(c)try{b=require.nodeRequire(c)}catch(d){return e(a)}return b}var f=require.getNodePath(require.toUrl(c.id).replace(/[^\/]*$/,"node_modules/clean-css")),g=e([f,"clean-css"]),h=require.nodeRequire("fs");if(d=d.map(require.toUrl).filter(function(a){return h.existsSync(a)?!0:(console.log(">> Css file '"+a+"' was not found."),!1)}),g){var i="";return d.forEach(function(a){var c=new g({relativeTo:"./",target:b}).minify("@import url("+a+");");i+=c.styles||c}),a(b,i),!0}return console.log(">> WARNING: Node module clean-css not found. Skipping CSS inlining. If you want CSS inlining run 'npm install clean-css' in your console."),d.forEach(function(b){a(b,h.readFileSync(b))}),!1},addOnce:function(a,b){-1===a.indexOf(b)&&a.push(b)}};g.writeFile=function(a,b,c,d){h=d},g.onLayerEnd=function(a,b){if(b.name&&b.path){var d=b.path.replace(/^(?:\.\/)?(([^\/]*\/)*)[^\/]*$/,"$1css/layer.css"),e=b.name.replace(/^(([^\/]*\/)*)[^\/]*$/,"$1css/layer.css"),f=j.writeLayer(h,d,i);f&&j.writeConfig(a,c.id,e,i),i=[]}},g.buildFunctions=j}return g}),define("requirejs-dplugins/Promise",["require"],function(a){return{load:function(b,c,d,e){e=e||{},e.isBuild?d():"function"==typeof Promise?d(Promise):a(["lie/dist/lie"],function(a){d(a)})}}}),!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define("lie/dist/lie",[],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.Promise=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0?c.join("-"):"root"},mixin:function c(a,b,d){var e;for(e in b)!b.hasOwnProperty(e)||a.hasOwnProperty(e)&&!d?"object"==typeof b[e]&&(!a[e]&&b[e]&&(a[e]={}),c(a[e],b[e],d)):a[e]=b[e]},parseName:function(a){var c=a.match(b);return{prefix:c[1],masterLocale:"root",requestedLocale:c[3]?c[2]:null,suffix:c[3]||c[2]}},getMasterMid:function(a){return"root"===a.masterLocale?a.prefix+a.suffix:a.prefix+a.masterLocale+"/"+a.suffix}}}),define("requirejs-dplugins/i18n/parentLocale",{"en-ag":"en-001","en-ai":"en-001","en-bb":"en-001","en-bm":"en-001","en-bs":"en-001","en-bw":"en-001","en-bz":"en-001","en-cc":"en-001","en-ck":"en-001","en-cm":"en-001","en-cx":"en-001","en-dm":"en-001","en-er":"en-001","en-fj":"en-001","en-fm":"en-001","en-gb":"en-001","en-gd":"en-001","en-gh":"en-001","en-gm":"en-001","en-gy":"en-001","en-jm":"en-001","en-ke":"en-001","en-ki":"en-001","en-kn":"en-001","en-ky":"en-001","en-lc":"en-001","en-lr":"en-001","en-ls":"en-001","en-mg":"en-001","en-ms":"en-001","en-mu":"en-001","en-mw":"en-001","en-na":"en-001","en-nf":"en-001","en-ng":"en-001","en-nr":"en-001","en-nu":"en-001","en-pg":"en-001","en-ph":"en-001","en-pn":"en-001","en-pw":"en-001","en-rw":"en-001","en-sb":"en-001","en-sc":"en-001","en-sd":"en-001","en-sl":"en-001","en-ss":"en-001","en-sx":"en-001","en-sz":"en-001","en-tc":"en-001","en-tk":"en-001","en-to":"en-001","en-tt":"en-001","en-tv":"en-001","en-tz":"en-001","en-ug":"en-001","en-vc":"en-001","en-vu":"en-001","en-ws":"en-001","en-za":"en-001","en-zm":"en-001","en-zw":"en-001","en-150":"en-gb","en-au":"en-gb","en-be":"en-gb","en-dg":"en-gb","en-fk":"en-gb","en-gg":"en-gb","en-gi":"en-gb","en-hk":"en-gb","en-ie":"en-gb","en-im":"en-gb","en-in":"en-gb","en-io":"en-gb","en-je":"en-gb","en-mo":"en-gb","en-mt":"en-gb","en-nz":"en-gb","en-pk":"en-gb","en-sg":"en-gb","en-sh":"en-gb","en-vg":"en-gb","es-ar":"es-419","es-bo":"es-419","es-cl":"es-419","es-co":"es-419","es-cr":"es-419","es-cu":"es-419","es-do":"es-419","es-ec":"es-419","es-gt":"es-419","es-hn":"es-419","es-mx":"es-419","es-ni":"es-419","es-pa":"es-419","es-pe":"es-419","es-pr":"es-419","es-py":"es-419","es-sv":"es-419","es-us":"es-419","es-uy":"es-419","es-ve":"es-419","pt-ao":"pt-pt","pt-cv":"pt-pt","pt-gw":"pt-pt","pt-mo":"pt-pt","pt-mz":"pt-pt","pt-st":"pt-pt","pt-tl":"pt-pt","az-cyrl":"root","bs-cyrl":"root","en-dsrt":"root","ha-arab":"root","mn-mong":"root","ms-arab":"root","pa-arab":"root","shi-latn":"root","sr-latn":"root","uz-arab":"root","uz-cyrl":"root","vai-latn":"root","zh-hant":"root","zh-hant-mo":"zh-hant-hk"}),define("requirejs-dplugins/has",["module"],function(a){function b(a,b,c){var d=a.match(e),f=0,g=function(a){var e=d[f++];if(":"===e)return"";if("?"===d[f++]){var h=b(e);return void 0===h&&c?void 0:!a&&h?g():(g(!0),g(a))}return e||""};return g()}function c(a,b){for(var c=0;c=0),c.match(/(iPhone|iPod|iPad)/)){var f=RegExp.$1.replace(/P/,"p"),g=c.match(/OS ([\d_]+)/)?RegExp.$1:"1",h=parseFloat(g.replace(/_/,".").replace(/_/g,""));a.add(f,h),a.add("ios",h)}a.add("android",parseFloat(c.split("Android ")[1])||void 0),a.add("msapp",parseFloat(c.split("MSAppHost/")[1])||void 0),a.add("wp",parseFloat(c.split("Windows Phone ")[1])||void 0);var i=parseFloat(c.split("WebKit/")[1])||void 0;if(i)a.add("webkit",i),a.add("chrome",parseFloat(c.split("Chrome/")[1])||void 0),a.add("safari",d.indexOf("Safari")>=0&&!a("chrome")&&!a("android")?parseFloat(d.split("Version/")[1]):void 0);else{var j=0;if(document.all?j=parseFloat(d.split("MSIE ")[1])||void 0:d.indexOf("Trident")&&(j=parseFloat(d.split("rv:")[1])||void 0),j){var k=document.documentMode;k&&Math.floor(j)!==k&&(j=k),a.add("ie",j)}else c.indexOf("Gecko")>=0&&(a.add("mozilla",e),a.add("ff",parseFloat(c.split("Firefox/")[1]||c.split("Minefield/")[1])||void 0))}}return a}),define("decor/schedule",["./features"],function(a){"use strict";function b(){for(var a=!0;a;){a=!1;for(var b in g){var d=g[b];delete g[b],d(),a=!0}}c=!1}var c,d="_schedule",e=0,f=Math.random()+"",g={},h=a("mutation-observer-api")&&document.createElement("div");return a("mutation-observer-api")?(h.id=0,new MutationObserver(b).observe(h,{attributes:!0})):a("setimmediate-api")||window.addEventListener("message",function(a){a.data===f&&b()}),function(i){var j=d+e++;return g[j]=i,c||(a("mutation-observer-api")?++h.id:a("setimmediate-api")?setImmediate(b):window.postMessage(f,"*"),c=!0),{remove:function(){delete g[j]}}}}),define("decor/features",["requirejs-dplugins/has"],function(a){return a.add("console-api","undefined"!=typeof console),a.add("host-browser","undefined"!=typeof window),a.add("object-observe-api","function"==typeof Object.observe&&"function"==typeof Array.observe),a.add("object-is-api",Object.is),a.add("setimmediate-api","function"==typeof setImmediate),a.add("mutation-observer-api","undefined"!=typeof MutationObserver&&(/\[\s*native\s+code\s*\]/i.test(MutationObserver)||!/^\s*function/.test(MutationObserver))),a.add("polymer-platform","undefined"!=typeof Platform),a}),define("decor/Stateful",["dcl/dcl","./features","./Observable"],function(a,b,c){function d(a){if(f[a])return f[a];var b=a.replace(/^[a-z]|-[a-zA-Z]/g,function(a){return a.charAt(a.length-1).toUpperCase()}),c=f[a]={p:"_"+a+"Attr",s:"_set"+b+"Attr",g:"_get"+b+"Attr"};return c}function e(a,b,d){c.getNotifier(a).notify({type:"update",object:a,name:b+"",oldValue:d})}var f={},g=/^_(.+)Attr$/,h=a(null,{_getProps:function(){var a={};for(var b in this)"function"==typeof this[b]||g.test(b)||(a[b]=!0);return a},_introspect:function(a){Object.keys(a).forEach(function(a){var b=d(a),c=b.p,e=b.g,f=b.s;c in this||(this[c]=this[a],delete this[a],Object.defineProperty(this,a,{enumerable:!0,set:function(b){f in this?this[f](b):this._set(a,b)},get:function(){return e in this?this[e]():this[c]}}))},this)},constructor:a.advise({before:function(){var a=this.constructor;a._introspected||(a._props=a.prototype._getProps(),a.prototype._introspect(a._props),a._introspected=!0),c.call(this)},after:function(a){this.processConstructorParameters(a)}}),processConstructorParameters:function(a){a.length&&this.mix(a[0])},mix:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b])},_set:function(a,b){var f=d(a).p,g=this[f];this[f]=b,!c.is(b,g)&&e(this,a,g)},_get:function(a){return this[d(a).p]},notifyCurrentValue:function(){Array.prototype.forEach.call(arguments,function(a){e(this,a,this[d(a).p])},this)},observe:function(a){var b=new h.PropertyListObserver(this,this.constructor._props);return b.open(a,this),b}});return a.chainAfter(h,"_introspect"),h.PropertyListObserver=function(a,b){this.o=a,this.props=b},h.PropertyListObserver.prototype={open:function(a,b){var d=this.props;return this._boundCallback=function(c){if(!this._closed&&!this._beingDiscarded){var e={};c.forEach(function(a){a.name in d&&!(a.name in e)&&(e[a.name]=a.oldValue)});for(var f in e){a.call(b,e);break}}}.bind(this),this._h=c.observe(this.o,this._boundCallback),this.o},deliver:function(){this._boundCallback&&c.deliverChangeRecords(this._boundCallback)},discardChanges:function(){return this._beingDiscarded=!0,this._boundCallback&&c.deliverChangeRecords(this._boundCallback),this._beingDiscarded=!1,this.o},setValue:function(){},close:function(){this._h&&(this._h.remove(),this._h=null),this._closed=!0}},h.PropertyListObserver.prototype.remove=h.PropertyListObserver.prototype.close,h}),function(a){"undefined"!=typeof define?define("dcl/dcl",["./mini"],a):"undefined"!=typeof module?module.exports=a(require("./mini")):dcl=a(dcl)}(function(a){"use strict";function b(){}function c(b){return a._makeSuper(b,f)}function d(a,c,d){var e=a||b,f=c||b,g=d||b,h=function(){var a,b;e.apply(this,arguments);try{a=g.apply(this,arguments)}catch(c){a=c,b=!0}if(f.call(this,arguments,a),b)throw a;return a};return h.advices={before:a,after:c,around:d},h}function e(b){return function(c,d){var e,f=c._meta;f&&(e=+f.weaver[d]||0,e&&e!=b&&a._error("set chaining",d,c,b,e),f.weaver[d]=b)}}var f=a(a.Super,{constructor:function(){this.before=this.around.before,this.after=this.around.after,this.around=this.around.around}});return a.mix(a,{Advice:f,advise:c,before:function(b){return a.advise({before:b})},after:function(b){return a.advise({after:b})},around:a.superCall,chainBefore:e(1),chainAfter:e(2),isInstanceOf:function(a,b){if(a instanceof b)return!0;var c,d=a.constructor._meta;if(d)for(d=d.bases,c=d.length-1;c>=0;--c)if(d[c]===b)return!0;return!1},_stub:function(b,c,e,f){var g=f[e]=a._extractChain(c,e,"around"),h=a._extractChain(c,e,"before").reverse(),i=a._extractChain(c,e,"after");return g=b?a._stubChainSuper(g,1==b?function(b){return a._stubChain(b.reverse())}:a._stubChain,e):a._stubSuper(g,e),h.length||i.length?d(a._stubChain(h),a._stubChain(i),g):g||function(){}}}),a}),function(a){"undefined"!=typeof define?define("dcl/mini",[],a):"undefined"!=typeof module?module.exports=a():dcl=a()}(function(){"use strict";function a(b,d){var f,j,k,l,m,n,o,p,q,r,s=[0],t=0;if(b)if(b instanceof Array){for(m={},p=b.slice(0).reverse(),q=p.length-1;q>=0;--q)if(j=p[q],j._uniqueId=j._uniqueId||g++,f=j._meta){for(o=f.bases,t=o.length-1;t>0;--t)r=o[t]._uniqueId,m[r]=(m[r]||0)+1;p[q]=o.slice(0)}else p[q]=[j];n={};a:for(;p.length;){for(q=0;q0;--t)if(j=s[t],l=j._meta,a.mix(f,l&&l.ownProps||j[i]),l)for(r in p=l.weaver)o[r]=(+o[r]||0)|p[r];for(r in d)c(l=d[r])?o[r]=+o[r]||0:f[r]=l;return l={bases:s,ownProps:d,weaver:o,chains:{}},s[0]={_meta:l,prototype:f},e(l,f),k=f[h],k._meta=l,k[i]=f,s[0]=k,a._postprocess(k)}function b(a){this.around=a}function c(a){return a&&a.spr instanceof b}function d(a){var b=[];for(var c in a)b.push(c);return b}function e(b,c){var d=b.weaver,e=b.bases,f=b.chains;for(var g in d)c[g]=a._stub(d[g],e,g,f)}var f,g=0,h="constructor",i="prototype",j={};return(f=function(a,b){for(var c in b)a[c]=b[c]})(a,{mix:f,delegate:function(a){return Object.create(a)},allKeys:d,Super:b,superCall:function(b){return a._makeSuper(b)},_makeSuper:function(a,c){var d=function(){};return d.spr=new(c||b)(a),d},_postprocess:function(a){return a},_error:function(a){throw Error("dcl: "+a)},_instantiate:function(a,b){var c=a.spr.around(b);return c.ctr=a.ctr,c},_extractChain:function(a,b,d){for(var e,f,g=a.length-1,k=[],l="around"==d;e=a[g];--g)((f=e._meta)?(f=f.ownProps).hasOwnProperty(b)&&(c(f=f[b])?l?f.spr.around:f=f.spr[d]:l):l&&(f=b==h?e:e[i][b])&&f!==j[b])&&(f.ctr=e,k.push(f));return k},_stubChain:function(a){var b,c=a.length;return c?1==c?(b=a[0],function(){b.apply(this,arguments)}):function(){for(var b=0;c>b;++b)a[b].apply(this,arguments)}:0},_stubSuper:function(b,d){for(var e,f=0,g=j[d];e=b[f];++f)g=c(e)?b[f]=a._instantiate(e,g,d):e;return d!=h?g:function(){g.apply(this,arguments)}},_stubChainSuper:function(b,d,e){for(var f,g,i=0,j=0;f=b[i];++i)c(f)&&(g=i-j,b[i]=a._instantiate(f,g?1==g?b[j]:d(b.slice(j,i)):0,e),j=i);return g=i-j,g?1==g&&e!=h?b[j]:d(j?b.slice(j):b):0},_stub:function(b,c,d,e){var f=e[d]=a._extractChain(c,d,"around");return(b?a._stubChainSuper(f,a._stubChain,d):a._stubSuper(f,d))||function(){}}}),a}),define("decor/Observable",["./features","./features!object-observe-api?:./schedule"],function(a,b){"use strict";var c,d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f={add:1,update:1,"delete":1,reconfigure:1,setPrototype:1,preventExtensions:1};if(c=function(a){this._observable||d(this,"_observable",{value:1}),a&&c.assign(this,a)},c.test=function(a){return a&&a._observable},c.is=a("object-is-api")?Object.is:function(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b},c.assign=function(a){for(var b="function"==typeof a.set,c=1,d=arguments.length;d>c;++c)for(var e=arguments[c],f=Object.getOwnPropertyNames(e),g=0,h=f.length;h>g;++g){var i=f[g];b?a.set(i,e[i]):a[i]=e[i]}return a},c.canObserve=a("object-observe-api")?function(a){return"object"==typeof a&&null!=a}:c.test,a("object-observe-api"))d(c.prototype,"set",{value:function(a,b){return this[a]=b,b},configurable:!0,writable:!0}),c.observe=function(a,b,c){return Object.observe.call(this,a,b,c),{remove:Object.unobserve.bind(Object,a,b)}},c.getNotifier=Object.getNotifier,c.deliverChangeRecords=Object.deliverChangeRecords;else{d(c.prototype,"set",{value:function(a,b){var d=a in this?"update":"add",f=this[a],g=(e(this,a)||{}).set;if(this[a]=b,!c.is(b,f)&&void 0===g){var h={type:d,object:this,name:a+""};"update"===d&&(h.oldValue=f),c.getNotifier(this).notify(h)}return b},configurable:!0,writable:!0});var g=0,h={},i=null,j=function(){a("polymer-platform")&&Platform.performMicrotaskCheckpoint();for(var b=!0;b;){b=!1;var d=[];for(var e in h)d.push(h[e]);h={},d=d.sort(function(a,b){return a._seq-b._seq});for(var f=0,g=d.length;g>f;++f)d[f]._changeRecords.length>0&&(c.deliverChangeRecords(d[f]),b=!0)}i=null},k=function(a){0===a._changeRecords.length&&0===a._refCountOfNotifier&&(a._seq=void 0)},l=function(a){this.target=a,this.observers={},this._activeChanges={}};l.prototype={notify:function(a){function c(a,b,c){if(c in b){for(var d in b)if(a[d]>0)return!1;return!0}}for(var d in this.observers)if(c(this._activeChanges,this.observers[d].acceptTable,a.type)){var e=this.observers[d].callback;e._changeRecords.push(a),h[e._seq]=e,i||(i=b(j))}},performChange:function(a,b){this._activeChanges[a]=(this._activeChanges[a]||0)+1;var c=b.call(void 0);if(--this._activeChanges[a],c){var d={type:a,object:this.target};for(var e in c)e in d||(d[e]=c[e]);this.notify(d)}}},c.getNotifier=function(a){return e(a,"_notifier")||d(a,"_notifier",{value:new l(a)}),a._notifier},c.observe=function(a,b,d){if(Object(a)!==a)throw new TypeError("Observable.observe() cannot be called on non-object.");"_seq"in b||(b._seq=g++,b._changeRecords=[],b._refCountOfNotifier=0);var e=d?d.reduce(function(a,b){return a[b]=1,a},{}):f,h=c.getNotifier(a);return b._seq in h.observers?h.observers[b._seq].acceptTable=e:(h.observers[b._seq]={acceptTable:e,callback:b},++b._refCountOfNotifier),{remove:function(){b._seq in h.observers&&(delete h.observers[b._seq],--b._refCountOfNotifier)}}},c.deliverChangeRecords=function(b){var c=b._changeRecords.length;try{b(b._changeRecords.splice(0,c))}catch(d){a("console-api")&&console.error("Error occured in observer callback: "+(d.stack||d))}return k(b),c>0}}return c}),define("decor/Invalidating",["dcl/dcl","./Stateful","./Destroyable"],function(a,b,c){var d=a([b,c],{constructor:a.after(function(){this.initializeInvalidating()}),initializeInvalidating:function(){this.own(this._hComputing=this.observe(function(a){this.computeProperties(a),this.deliverComputing()}),this._hRendering=this.observe(function(a){this.refreshRendering(a)})),this.discardChanges()},deliverComputing:function(){return this._hComputing&&this._hComputing.deliver(),this._hComputing},discardComputing:function(){return this._hComputing&&this._hComputing.discardChanges(),this._hComputing},deliver:function(){return this._hComputing&&this._hComputing.deliver(),this._hRendering&&this._hRendering.deliver(),this._hComputing},discardChanges:function(){return this._hComputing&&this._hComputing.discardChanges(),this._hRendering&&this._hRendering.discardChanges(),this._hComputing},computeProperties:function(){},refreshRendering:function(){}});return a.chainAfter(d,"computeProperties"),a.chainAfter(d,"refreshRendering"),d}),define("decor/Evented",["dcl/dcl","dcl/advise"],function(a,b){return a(null,{on:function(a,c){return b.before(this,"on"+a,c)},emit:function(a){var b="on"+a;if(this[b]){var c=Array.prototype.slice.call(arguments,1);this[b].apply(this,c)}}})}),function(a){"undefined"!=typeof define?define("dcl/advise",[],a):"undefined"!=typeof module?module.exports=a():advise=a()}(function(){"use strict";function a(a,b){this.next_before=this.prev_before=this.next_after=this.prev_after=this.next_around=this.prev_around=this,this.instance=a,this.name=b}function b(a){var b=function(){var b,c,d,e=this,f=arguments;for(b=a.prev_before;b!==a;b=b.prev_before)b.before.apply(e,f);try{a.prev_around!==a&&(c=a.prev_around.around.apply(e,f))}catch(g){c=g,d=!0}for(b=a.next_after;b!==a;b=b.next_after)b.after.call(e,f,c);if(d)throw c;return c};return b.adviceNode=a,b}function c(c,d,e){var f,g=c[d]; -return g&&g.adviceNode&&g.adviceNode instanceof a?f=g.adviceNode:(f=new a(c,d),g&&g.advices?(g=g.advices,f.add(g.before,g.after,g.around)):f.add(0,0,g),c[d]=b(f)),"function"==typeof e&&(e=e(d,c)),f.add(e.before,e.after,0,e.around)}var d=a.prototype={add:function(b,d,e,f){var g=new a(this.instance,this.name);return g.parent=this,g.before=b,this._add("before",g),g.after=d,this._add("after",g),g.around=e,this._add("around",g,f),g.original=f,f&&(g.around=c._instantiate(f,g.prev_around.around,this)),g},_add:function(a,b,c){if(b[a]||c){var d="next_"+a,e="prev_"+a;(b[e]=this[e])[d]=(b[d]=this)[e]=b}},remove:function(a){this._remove("before",a),this._remove("after",a),this._remove("around",a)},_remove:function(a,b){var c="next_"+a,d="prev_"+a;b[c][d]=b[d],b[d][c]=b[c]},destroy:function(){var a=this.prev_around.around,b=this.next_around,d=this.parent;if(this.remove(this),b!==this)for(;b!==d;a=b.around,b=b.next_around)b.original&&(b.around=c._instantiate(b.original,a,this));this.instance=0}};return d.unadvise=d.destroy,c.before=function(a,b,d){return c(a,b,{before:d})},c.after=function(a,b,d){return c(a,b,{after:d})},c.around=function(a,b,d){return c(a,b,{around:d})},c.Node=a,c._instantiate=function(a,b){return a(b)},c}),define("decor/Destroyable",["dcl/advise","dcl/dcl"],function(a,b){var c=b(null,{destroy:b.advise({before:function(){this._beingDestroyed=!0,this._releaseHandles()},after:function(){this._destroyed=!0}}),_releaseHandles:function(){},own:function(){var b=["destroy","remove","cancel"],c=Array.prototype.slice.call(arguments);return c.forEach(function(c){function d(){f.destroy(),g.forEach(function(a){a.destroy()})}var e,f=a.after(this,"_releaseHandles",function(){c[e]()}),g=[];c.then&&c.then(d,d),b.forEach(function(b){"function"==typeof c[b]&&(e||(e=b),c.then||g.push(a.after(c,b,d)))})},this),c},defer:function(a,b){var c=setTimeout(function(){c&&(c=null,this._destroyed||a.call(this))}.bind(this),b||0);return{remove:function(){return c&&(clearTimeout(c),c=null),null}}}});return b.chainBefore(c,"destroy"),c}); +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define("lie/dist/lie",[],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.Promise=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g535});var d,e={},f=function(c){return new b(function(b){if(a("event-link-onload-api"))c.onreadystatechange=c.onload=function(){c.readyState&&"complete"!==c.readyState||(c.onreadystatechange=c.onload=null,b())};else{var d=function(){var a=c.sheet||c.styleSheet,e=document.styleSheets;a&&-1!==Array.prototype.lastIndexOf.call(e,a)?b():setTimeout(d,25)};d()}})},g={id:c.id,load:function(b,g,h){if(a("builder"))return j.addOnce(i,b),void h();var k=c.config();k.layersMap&&(b=k.layersMap[b]||b);var l,m=document.head||document.getElementsByTagName("head")[0],n=g.toUrl(b);e[n]||(l=document.createElement("link"),l.rel="stylesheet",l.type="text/css",l.href=n,m.insertBefore(l,d?d.nextSibling:m.firstChild),d=l,e[n]=f(l)),e[n].then(function(){h(b)})}};if(a("builder")){var h,i=[],j={writeConfig:function(a,b,c,d){var e={config:{}};e.config[b]={layersMap:{}},d.forEach(function(a){e.config[b].layersMap[a]=c}),a("require.config("+JSON.stringify(e)+");")},writeLayer:function(a,b,d){function e(a){var b,c=a.shift();if(c)try{b=require.nodeRequire(c)}catch(d){return e(a)}return b}var f=require.getNodePath(require.toUrl(c.id).replace(/[^\/]*$/,"node_modules/clean-css")),g=e([f,"clean-css"]),h=require.nodeRequire("fs");if(d=d.map(require.toUrl).filter(function(a){return h.existsSync(a)?!0:(console.log(">> Css file '"+a+"' was not found."),!1)}),g){var i="";return d.forEach(function(a){var c=new g({relativeTo:"./",target:b}).minify("@import url("+a+");");i+=c.styles||c}),a(b,i),!0}return console.log(">> WARNING: Node module clean-css not found. Skipping CSS inlining. If you want CSS inlining run 'npm install clean-css' in your console."),d.forEach(function(b){a(b,h.readFileSync(b))}),!1},addOnce:function(a,b){-1===a.indexOf(b)&&a.push(b)}};g.writeFile=function(a,b,c,d){h=d},g.onLayerEnd=function(a,b){if(b.name&&b.path){var d=b.path.replace(/\.js$/,".css"),e=b.name+".css",f=j.writeLayer(h,d,i);f&&j.writeConfig(a,c.id,e,i),i=[]}},g.buildFunctions=j}return g}),define("requirejs-dplugins/Promise",["require"],function(a){return{load:function(b,c,d,e){if(e=e||{},e.isBuild)d();else if("function"==typeof Promise)d(Promise);else{var f="lie/dist/lie";a([f],function(a){d(a)})}}}}),define("requirejs-dplugins/i18n",["./i18n/common","./i18n/build","module"],function(a,b,c){var d,e,f=a.mixin,g=a.eachProp,h=a.parseName,i=a.getMasterMid,j=function(a){var b={};return g(a,function(a,c){c.forEach(function(c){b[c]=a})}),b},k=function(a,b){var c={};return a._pseudoRoot&&(c[b]={},f(c,a._pseudoRoot),delete a._pseudoRoot,f(c[b],a),a=c),a},l=function(b,c,d){var e=i(b);c([e],function(e){var g=function(b,h,i,j){var k=function(c){f(j,c),i=a.getParentLocale(i),!c._flattened&&i?g(b,h,i,j):(j._flattened=!0,d(j))};e[i]===!0||1===e[i]?c([b+i+"/"+h],k):k(e[i]||{})};e=k(e,b.masterLocale),g(b.prefix,b.suffix,b.requestedLocale,{})})},m=function(a,b,c,d,e,f){for(var g=a.requestedLocale,h=c.localesMap[b];g&&h.indexOf(g)<0;)g=d(g);g?(a.masterLocale=g,e([b+"_"+g],function(){o(a,c,e,f)})):(console.log("i18n: no relevant layer "+b+" found for locale "+a.requestedLocale+"."),f())},n=function(a,b,c,d,e,f){var g=function(h){h?e(["maybe!"+b+"_"+h],function(b){b?(a.masterLocale=h,o(a,c,e,f)):g(d(h))}):(console.log("i18n: no relevant layer "+b+" found for locale "+a.requestedLocale+"."),f())};g(a.requestedLocale)},o=function(a,b,c,d){var e=i(a);a.requestedLocale===a.masterLocale||b.layerOnly||!b.enhanceLayer?c([e],function(a){a.root&&(a=a.root),d(a)}):l(a,c,d)};return{load:function(b,e,g,k){if(!b)return void g();k=k||{};var o,p,q={};return f(q,"function"==typeof c.config?c.config()||{}:{}),k.isBuild?(d=q.localesList,void g()):(q.enhanceLayer=void 0===q.enhanceLayer?!0:q.enhanceLayer,b=h(b),b.requestedLocale=b.requestedLocale||a.getLocale(q.locale||k.locale),o=i(b),q.bundlesMap?(q.bundlesMap=j(q.bundlesMap),p=q.bundlesMap[o],!p&&q.layerOnly?(console.log("i18n: module "+o+" not found in layer."),void g()):p?q.languagePack?void n(b,p,q,a.getParentLocale,e,g):void m(b,p,q,a.getParentLocale,e,g):void l(b,e,g)):void l(b,e,g))},write:function(a,c,d){var e,f=h(c);f.requestedLocale?(e=b.resolveSync(f.requestedLocale,f),"root"!==f.requestedLocale&&(e._pseudoRoot={},e._flattened=!0),d.asModule(a+"!"+c,"define("+JSON.stringify(e)+")")):b.addBundleToNlsLayer(f)},writeFile:function(a,b,c,d){e=d},onLayerEnd:function(a,f){if(f.name&&f.path){var g;b.setLocalesList(d),g=b.getLayersContent(),b.writeLayers(g,f,e),b.writeConfig(c.id,f,a)}b.reset()}}}),define("requirejs-dplugins/i18n/build",["./common"],function(a){var b,c,d=[],e=a.mixin,f=a.eachProp,g=a.getMasterMid,h=function(a){var b;return c||(b=a.name.match(/^(.*\/)?(.*)$/),c=(b[1]||"")+"nls/"+b[2]),c},i=function(a,b){var c=a.path.match(/^(.*\/)?(.*)\.js$/);return(c[1]||"")+"nls/"+c[2]+"_"+b+".js"},j=function(){return b=[],d.forEach(function(a){var c=require(g(a));f(c,function(a){c[a]&&b.indexOf(a)<0&&b.push(a)})}),b},k=function(a,b){return a.root=a.root===!0||1===a.root?require(b.prefix+"root/"+b.suffix):a.root,a},l=function(b){var c={};return f(b,function(b){for(var d=a.getParentLocale(b);d&&"root"!==d;)c[d]=c[d]||{},c[d][b]=!0,d=a.getParentLocale(d)}),c},m=function(b,c,d){var f,h=b,i={};if(2===arguments.length&&(d=k(require(g(c)),c)),"root"!==h){for(;h&&"root"!==h;)d[h]&&(f=require(c.prefix+h+"/"+c.suffix),e(i,f)),h=a.getParentLocale(h);f=d.root,e(i,f)}else e(i,d);return i};return{addBundleToNlsLayer:function(a){d.push(a)},setLocalesList:function(a){b=a?a.slice():j(),b.indexOf("root")<0&&b.push("root")},reset:function(){d=[],b=void 0,c=void 0},getLayersContent:function(){var a={};return d.forEach(function(c){var d=k(require(g(c)),c),e=l(d);b.forEach(function(b){var f=m(b,c,d);a[b]=a[b]||"";var g;"root"!==b?(g=c.prefix+b+"/"+c.suffix,f._flattened=!0,f._pseudoRoot=e[b]||{}):g=c.prefix+c.suffix,a[b]+='define("'+g+'",'+JSON.stringify(f)+");"})}),a},writeLayers:function(a,b,c){f(a,function(a,d){d+="define('"+h(b)+"_"+a+"', true);",c(i(b,a),d)})},writeConfig:function(a,c,e){var f=d.map(g),i=h(c),j={config:{}};j.config[a]={bundlesMap:{},localesMap:{}},j.config[a].bundlesMap[i]=f,j.config[a].localesMap[i]=b,e("require.config("+JSON.stringify(j)+");")},resolveSync:m}}),define("requirejs-dplugins/i18n/common",["./parentLocale"],function(a){var b=/(^.*(?:^|\/)nls\/)([^\/]*)\/?([^\/]*)$/;return{eachProp:function(a,b){var c;for(c in a)a.hasOwnProperty(c)&&b(c,a[c])},getLocale:function(a){return a||(a="undefined"==typeof navigator?"root":navigator.language||navigator.userLanguage||"root"),a.toLowerCase()},getParentLocale:function(b){if(!b||"root"===b)return void 0;if(a[b])return a[b];var c=b.split("-");return c.pop(),c.length>0?c.join("-"):"root"},mixin:function c(a,b,d){var e;for(e in b)!b.hasOwnProperty(e)||a.hasOwnProperty(e)&&!d?"object"==typeof b[e]&&(!a[e]&&b[e]&&(a[e]={}),c(a[e],b[e],d)):a[e]=b[e]},parseName:function(a){var c=a.match(b);return{prefix:c[1],masterLocale:"root",requestedLocale:c[3]?c[2]:null,suffix:c[3]||c[2]}},getMasterMid:function(a){return"root"===a.masterLocale?a.prefix+a.suffix:a.prefix+a.masterLocale+"/"+a.suffix}}}),define("requirejs-dplugins/i18n/parentLocale",{"en-ag":"en-001","en-ai":"en-001","en-bb":"en-001","en-bm":"en-001","en-bs":"en-001","en-bw":"en-001","en-bz":"en-001","en-cc":"en-001","en-ck":"en-001","en-cm":"en-001","en-cx":"en-001","en-dm":"en-001","en-er":"en-001","en-fj":"en-001","en-fm":"en-001","en-gb":"en-001","en-gd":"en-001","en-gh":"en-001","en-gm":"en-001","en-gy":"en-001","en-jm":"en-001","en-ke":"en-001","en-ki":"en-001","en-kn":"en-001","en-ky":"en-001","en-lc":"en-001","en-lr":"en-001","en-ls":"en-001","en-mg":"en-001","en-ms":"en-001","en-mu":"en-001","en-mw":"en-001","en-na":"en-001","en-nf":"en-001","en-ng":"en-001","en-nr":"en-001","en-nu":"en-001","en-pg":"en-001","en-ph":"en-001","en-pn":"en-001","en-pw":"en-001","en-rw":"en-001","en-sb":"en-001","en-sc":"en-001","en-sd":"en-001","en-sl":"en-001","en-ss":"en-001","en-sx":"en-001","en-sz":"en-001","en-tc":"en-001","en-tk":"en-001","en-to":"en-001","en-tt":"en-001","en-tv":"en-001","en-tz":"en-001","en-ug":"en-001","en-vc":"en-001","en-vu":"en-001","en-ws":"en-001","en-za":"en-001","en-zm":"en-001","en-zw":"en-001","en-150":"en-gb","en-au":"en-gb","en-be":"en-gb","en-dg":"en-gb","en-fk":"en-gb","en-gg":"en-gb","en-gi":"en-gb","en-hk":"en-gb","en-ie":"en-gb","en-im":"en-gb","en-in":"en-gb","en-io":"en-gb","en-je":"en-gb","en-mo":"en-gb","en-mt":"en-gb","en-nz":"en-gb","en-pk":"en-gb","en-sg":"en-gb","en-sh":"en-gb","en-vg":"en-gb","es-ar":"es-419","es-bo":"es-419","es-cl":"es-419","es-co":"es-419","es-cr":"es-419","es-cu":"es-419","es-do":"es-419","es-ec":"es-419","es-gt":"es-419","es-hn":"es-419","es-mx":"es-419","es-ni":"es-419","es-pa":"es-419","es-pe":"es-419","es-pr":"es-419","es-py":"es-419","es-sv":"es-419","es-us":"es-419","es-uy":"es-419","es-ve":"es-419","pt-ao":"pt-pt","pt-cv":"pt-pt","pt-gw":"pt-pt","pt-mo":"pt-pt","pt-mz":"pt-pt","pt-st":"pt-pt","pt-tl":"pt-pt","az-cyrl":"root","bs-cyrl":"root","en-dsrt":"root","ha-arab":"root","mn-mong":"root","ms-arab":"root","pa-arab":"root","shi-latn":"root","sr-latn":"root","uz-arab":"root","uz-cyrl":"root","vai-latn":"root","zh-hant":"root","zh-hant-mo":"zh-hant-hk"}),define("requirejs-dplugins/has",["module"],function(a){function b(a,b,c){var d=a.match(e),f=0,g=function(a){var e=d[f++];if(":"===e)return"";if("?"===d[f++]){var h=b(e);return void 0===h&&c?void 0:!a&&h?g():(g(!0),g(a))}return e||""};return g()}function c(a,b){for(var c=0;c=0),c.match(/(iPhone|iPod|iPad)/)){var f=RegExp.$1.replace(/P/,"p"),g=c.match(/OS ([\d_]+)/)?RegExp.$1:"1",h=parseFloat(g.replace(/_/,".").replace(/_/g,""));a.add(f,h),a.add("ios",h)}a.add("android",parseFloat(c.split("Android ")[1])||void 0),a.add("msapp",parseFloat(c.split("MSAppHost/")[1])||void 0),a.add("wp",parseFloat(c.split("Windows Phone ")[1])||void 0);var i=parseFloat(c.split("WebKit/")[1])||void 0;i?(a.add("webkit",i),a.add("chrome",parseFloat(c.split("Chrome/")[1])||void 0),a.add("safari",d.indexOf("Safari")>=0&&!a("chrome")&&!a("android")?parseFloat(d.split("Version/")[1]):void 0)):d.indexOf("Trident")>=0?a.add("ie",document.documentMode||parseFloat(d.split("rv:")[1])):c.indexOf("Gecko")>=0&&(a.add("mozilla",e),a.add("ff",parseFloat(c.split("Firefox/")[1]||c.split("Minefield/")[1])||void 0))}return a}),define("decor/schedule",["./features"],function(a){"use strict";function b(){for(var a=!0;a;){a=!1;for(var b in g){var d=g[b];delete g[b],d(),a=!0}}c=!1}var c,d="_schedule",e=0,f=Math.random()+"",g={},h=a("mutation-observer-api")&&document.createElement("div");return a("mutation-observer-api")?(h.id=0,new MutationObserver(b).observe(h,{attributes:!0})):!a("setimmediate-api")&&a("host-browser")&&window.addEventListener("message",function(a){a.data===f&&b()}),function(i){var j=d+e++;return g[j]=i,c||(a("mutation-observer-api")?++h.id:a("setimmediate-api")?setImmediate(b):window.postMessage(f,"*"),c=!0),{remove:function(){delete g[j]}}}}),define("decor/features",["requirejs-dplugins/has"],function(a){return a.add("console-api","undefined"!=typeof console),a.add("host-browser","undefined"!=typeof window),a.add("object-observe-api","function"==typeof Object.observe&&"function"==typeof Array.observe),a.add("object-is-api",Object.is),a.add("setimmediate-api","function"==typeof setImmediate),a.add("mutation-observer-api","undefined"!=typeof MutationObserver&&(/\[\s*native\s+code\s*\]/i.test(MutationObserver)||!/^\s*function/.test(MutationObserver))),a.add("polymer-platform","undefined"!=typeof Platform),a}),define("decor/Stateful",["dcl/advise","dcl/dcl","./features","./Observable"],function(a,b,c,d){function e(a){if(g[a])return g[a];var b=a.replace(/^[a-z]|-[a-zA-Z]/g,function(a){return a.charAt(a.length-1).toUpperCase()}),c=g[a]={p:"_"+a+"Attr",s:"_set"+b+"Attr",g:"_get"+b+"Attr"};return c}function f(a,b,c){d.getNotifier(a).notify({type:"update",object:a,name:b+"",oldValue:c})}var g={},h=/^_(.+)Attr$/,i=b(null,{getProps:function(){var a={};for(var b in this)"function"==typeof this[b]||h.test(b)||(a[b]=!0);return a},introspect:function(a){Object.keys(a).forEach(function(a){var b=e(a),c=b.p,d=b.g,f=b.s;c in this||(this[c]=this[a],delete this[a],Object.defineProperty(this,a,{enumerable:!0,set:function(b){f in this?this[f](b):this._set(a,b)},get:function(){return d in this?this[d]():this[c]}}))},this)},constructor:b.advise({before:function(){var a=this.constructor;a._introspected||(a._props=a.prototype.getProps(),a.prototype.introspect(a._props),a._introspected=!0),d.call(this)},after:function(a){this.processConstructorParameters(a)}}),processConstructorParameters:function(a){a.length&&this.mix(a[0])},mix:function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b])},_set:function(a,b){var c=e(a).p,g=this[c];this[c]=b,!d.is(b,g)&&f(this,a,g)},_get:function(a){return this[e(a).p]},notifyCurrentValue:function(){Array.prototype.forEach.call(arguments,function(a){f(this,a,this[e(a).p])},this)},getPropsToObserve:function(){return this.constructor._props},observe:function(b){var c=new i.PropertyListObserver(this,this.getPropsToObserve());c.open(b,this);var d=a.after(this,"deliver",c.deliver.bind(c)),e=a.after(this,"discardChanges",c.discardChanges.bind(c));return a.before(c,"close",function(){d.unadvise(),e.unadvise()}),c},deliver:function(){},discardChanges:function(){}});return b.chainAfter(i,"introspect"),i.PropertyListObserver=function(a,b){this.o=a,this.props=b},i.PropertyListObserver.prototype={open:function(a,b){var c=this.props;return this._boundCallback=function(d){if(!this._closed&&!this._beingDiscarded){var e={};d.forEach(function(a){a.name in c&&!(a.name in e)&&(e[a.name]=a.oldValue)});for(var f in e){a.call(b,e);break}}}.bind(this),this._h=d.observe(this.o,this._boundCallback),this.o},deliver:function(){this._boundCallback&&d.deliverChangeRecords(this._boundCallback)},discardChanges:function(){return this._beingDiscarded=!0,this._boundCallback&&d.deliverChangeRecords(this._boundCallback),this._beingDiscarded=!1,this.o},setValue:function(){},close:function(){this._h&&(this._h.remove(),this._h=null),this._closed=!0}},i.PropertyListObserver.prototype.remove=i.PropertyListObserver.prototype.close,i}),function(a){"undefined"!=typeof define?define("dcl/dcl",["./mini"],a):"undefined"!=typeof module?module.exports=a(require("./mini")):dcl=a(dcl)}(function(a){"use strict";function b(){}function c(b){return a._makeSuper(b,f)}function d(a,c,d){var e=a||b,f=c||b,g=d||b,h=function(){var a,b;e.apply(this,arguments);try{a=g.apply(this,arguments)}catch(c){a=c,b=!0}if(f.call(this,arguments,a),b)throw a;return a};return h.advices={before:a,after:c,around:d},h}function e(b){return function(c,d){var e,f=c._meta;f&&(e=+f.weaver[d]||0,e&&e!=b&&a._error("set chaining",d,c,b,e),f.weaver[d]=b)}}var f=a(a.Super,{constructor:function(){this.before=this.around.before,this.after=this.around.after,this.around=this.around.around}});return a.mix(a,{Advice:f,advise:c,before:function(b){return a.advise({before:b})},after:function(b){return a.advise({after:b})},around:a.superCall,chainBefore:e(1),chainAfter:e(2),isInstanceOf:function(a,b){if(a instanceof b)return!0;var c,d=a.constructor._meta;if(d)for(d=d.bases,c=d.length-1;c>=0;--c)if(d[c]===b)return!0;return!1},_stub:function(b,c,e,f){var g=f[e]=a._extractChain(c,e,"around"),h=a._extractChain(c,e,"before").reverse(),i=a._extractChain(c,e,"after");return g=b?a._stubChainSuper(g,1==b?function(b){return a._stubChain(b.reverse())}:a._stubChain,e):a._stubSuper(g,e),h.length||i.length?d(a._stubChain(h),a._stubChain(i),g):g||function(){}}}),a}),function(a){"undefined"!=typeof define?define("dcl/mini",[],a):"undefined"!=typeof module?module.exports=a():dcl=a()}(function(){"use strict";function a(b,d){var f,j,k,l,m,n,o,p,q,r,s=[0],t=0;if(b)if(b instanceof Array){for(m={},p=b.slice(0).reverse(),q=p.length-1;q>=0;--q)if(j=p[q],j._uniqueId=j._uniqueId||g++,f=j._meta){for(o=f.bases,t=o.length-1;t>0;--t)r=o[t]._uniqueId,m[r]=(m[r]||0)+1;p[q]=o.slice(0)}else p[q]=[j];n={};a:for(;p.length;){for(q=0;q0;--t)if(j=s[t],l=j._meta,a.mix(f,l&&l.ownProps||j[i]),l)for(r in p=l.weaver)o[r]=(+o[r]||0)|p[r];for(r in d)c(l=d[r])?o[r]=+o[r]||0:f[r]=l;return l={bases:s,ownProps:d,weaver:o,chains:{}},s[0]={_meta:l,prototype:f},e(l,f),k=f[h],k._meta=l,k[i]=f,s[0]=k,a._postprocess(k)}function b(a){this.around=a}function c(a){return a&&a.spr instanceof b}function d(a){var b=[];for(var c in a)b.push(c);return b}function e(b,c){var d=b.weaver,e=b.bases,f=b.chains;for(var g in d)c[g]=a._stub(d[g],e,g,f)}var f,g=0,h="constructor",i="prototype",j={};return(f=function(a,b){for(var c in b)a[c]=b[c]})(a,{mix:f,delegate:function(a){return Object.create(a)},allKeys:d,Super:b,superCall:function(b){return a._makeSuper(b)},_makeSuper:function(a,c){var d=function(){};return d.spr=new(c||b)(a),d},_postprocess:function(a){return a},_error:function(a){throw Error("dcl: "+a)},_instantiate:function(a,b,c){var d=a.spr.around(b);return d.ctr=a.ctr,d},_extractChain:function(a,b,d){for(var e,f,g=a.length-1,k=[],l="around"==d;e=a[g];--g)((f=e._meta)?(f=f.ownProps).hasOwnProperty(b)&&(c(f=f[b])?l?f.spr.around:f=f.spr[d]:l):l&&(f=b==h?e:e[i][b])&&f!==j[b])&&(f.ctr=e,k.push(f));return k},_stubChain:function(a){var b,c=a.length;return c?1==c?(b=a[0],function(){b.apply(this,arguments)}):function(){for(var b=0;c>b;++b)a[b].apply(this,arguments)}:0},_stubSuper:function(b,d){for(var e,f=0,g=j[d];e=b[f];++f)g=c(e)?b[f]=a._instantiate(e,g,d):e;return d!=h?g:function(){g.apply(this,arguments)}},_stubChainSuper:function(b,d,e){for(var f,g,i=0,j=0;f=b[i];++i)c(f)&&(g=i-j,b[i]=a._instantiate(f,g?1==g?b[j]:d(b.slice(j,i)):0,e),j=i);return g=i-j,g?1==g&&e!=h?b[j]:d(j?b.slice(j):b):0},_stub:function(b,c,d,e){var f=e[d]=a._extractChain(c,d,"around");return(b?a._stubChainSuper(f,a._stubChain,d):a._stubSuper(f,d))||function(){}}}),a}),function(a){"undefined"!=typeof define?define("dcl/advise",[],a):"undefined"!=typeof module?module.exports=a():advise=a()}(function(){"use strict";function a(a,b){this.next_before=this.prev_before=this.next_after=this.prev_after=this.next_around=this.prev_around=this,this.instance=a,this.name=b}function b(a){var b=function(){var b,c,d,e=this,f=arguments;for(b=a.prev_before;b!==a;b=b.prev_before)b.before.apply(e,f);try{a.prev_around!==a&&(c=a.prev_around.around.apply(e,f))}catch(g){c=g,d=!0}for(b=a.next_after;b!==a;b=b.next_after)b.after.call(e,f,c);if(d)throw c;return c};return b.adviceNode=a,b}function c(c,d,e){var f,g=c[d];return g&&g.adviceNode&&g.adviceNode instanceof a?f=g.adviceNode:(f=new a(c,d),g&&g.advices?(g=g.advices,f.add(g.before,g.after,g.around)):f.add(0,0,g),c[d]=b(f)),"function"==typeof e&&(e=e(d,c)),f.add(e.before,e.after,0,e.around)}var d=a.prototype={add:function(b,d,e,f){var g=new a(this.instance,this.name);return g.parent=this,g.before=b,this._add("before",g),g.after=d,this._add("after",g),g.around=e,this._add("around",g,f),g.original=f,f&&(g.around=c._instantiate(f,g.prev_around.around,this)),g},_add:function(a,b,c){if(b[a]||c){var d="next_"+a,e="prev_"+a;(b[e]=this[e])[d]=(b[d]=this)[e]=b}},remove:function(a){this._remove("before",a),this._remove("after",a),this._remove("around",a)},_remove:function(a,b){var c="next_"+a,d="prev_"+a;b[c][d]=b[d],b[d][c]=b[c]},destroy:function(){var a=this.prev_around.around,b=this.next_around,d=this.parent;if(this.remove(this),b!==this)for(;b!==d;a=b.around,b=b.next_around)b.original&&(b.around=c._instantiate(b.original,a,this));this.instance=0}};return d.unadvise=d.destroy,c.before=function(a,b,d){return c(a,b,{before:d})},c.after=function(a,b,d){return c(a,b,{after:d})},c.around=function(a,b,d){return c(a,b,{around:d})},c.Node=a,c._instantiate=function(a,b,c){return a(b)},c}),define("decor/Observable",["./features","./features!object-observe-api?:./schedule"],function(a,b){"use strict";var c,d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f={add:1,update:1,"delete":1,reconfigure:1,setPrototype:1,preventExtensions:1};if(c=function(a){this._observable||d(this,"_observable",{value:1}),a&&c.assign(this,a)},c.test=function(a){return a&&a._observable},c.is=a("object-is-api")?Object.is:function(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b},c.assign=function(a){if(null==a)throw new TypeError("Can't convert "+a+" to object.");a=Object(a);for(var b=1,d=arguments.length;d>b;++b)for(var e=Object(arguments[b]),f=Object.getOwnPropertyNames(e),g=0,h=f.length;h>g;++g){var i=f[g];c.prototype.set.call(a,i,e[i])}return a},a("object-observe-api")?c.canObserve=function(a){return"object"==typeof a&&null!=a}:c.canObserve=c.test,a("object-observe-api"))d(c.prototype,"set",{value:function(a,b){return this[a]=b,b},configurable:!0,writable:!0}),c.observe=function(a,b,c){return Object.observe.call(this,a,b,c),{remove:Object.unobserve.bind(Object,a,b)}},c.getNotifier=Object.getNotifier,c.deliverChangeRecords=Object.deliverChangeRecords;else{d(c.prototype,"set",{value:function(a,b){var d=a in this?"update":"add",f=this[a],g=(e(this,a)||{}).set;if(this[a]=b,!c.is(b,f)&&void 0===g){var h={type:d,object:this,name:a+""};"update"===d&&(h.oldValue=f),c.getNotifier(this).notify(h)}return b},configurable:!0,writable:!0});var g=0,h={},i=null,j=function(){a("polymer-platform")&&Platform.performMicrotaskCheckpoint();for(var b=!0;b;){b=!1;var d=[];for(var e in h)d.push(h[e]);h={},d=d.sort(function(a,b){return a._seq-b._seq});for(var f=0,g=d.length;g>f;++f)d[f]._changeRecords.length>0&&(c.deliverChangeRecords(d[f]),b=!0)}i=null},k=function(a){0===a._changeRecords.length&&0===a._refCountOfNotifier&&(a._seq=void 0)},l=function(a){this.target=a,this.observers={},this._activeChanges={}};l.prototype={notify:function(a){function c(a,b,c){if(c in b){for(var d in b)if(a[d]>0)return!1;return!0}}for(var d in this.observers)if(c(this._activeChanges,this.observers[d].acceptTable,a.type)){var e=this.observers[d].callback;e._changeRecords.push(a),h[e._seq]=e,i||(i=b(j))}},performChange:function(a,b){this._activeChanges[a]=(this._activeChanges[a]||0)+1;var c=b.call(void 0);if(--this._activeChanges[a],c){var d={type:a,object:this.target};for(var e in c)e in d||(d[e]=c[e]);this.notify(d)}}},c.getNotifier=function(a){return e(a,"_notifier")||d(a,"_notifier",{value:new l(a)}),a._notifier},c.observe=function(a,b,d){if(Object(a)!==a)throw new TypeError("Observable.observe() cannot be called on non-object.");"_seq"in b||(b._seq=g++,b._changeRecords=[],b._refCountOfNotifier=0);var e=d?d.reduce(function(a,b){return a[b]=1,a},{}):f,h=c.getNotifier(a);return b._seq in h.observers?h.observers[b._seq].acceptTable=e:(h.observers[b._seq]={acceptTable:e,callback:b},++b._refCountOfNotifier),{remove:function(){b._seq in h.observers&&(delete h.observers[b._seq],--b._refCountOfNotifier)}}},c.deliverChangeRecords=function(b){ +var c=b._changeRecords.length;try{b(b._changeRecords.splice(0,c))}catch(d){a("console-api")&&console.error("Error occured in observer callback: "+(d.stack||d))}return k(b),c>0}}return c}),define("decor/Invalidating",["dcl/dcl","./Stateful","./Destroyable"],function(a,b,c){var d=a([b,c],{constructor:a.after(function(){this.initializeInvalidating()}),initializeInvalidating:function(){this.own(this._hComputing=this.observe(function(a){this.computeProperties(a),this.deliverComputing()}),this._hRendering=this.observe(function(a){this.refreshRendering(a)})),this.discardChanges()},deliverComputing:function(){return this._hComputing&&this._hComputing.deliver(),this._hComputing},discardComputing:function(){return this._hComputing&&this._hComputing.discardChanges(),this._hComputing},computeProperties:function(){},refreshRendering:function(){}});return a.chainAfter(d,"computeProperties"),a.chainAfter(d,"refreshRendering"),d}),define("decor/Evented",["dcl/dcl","dcl/advise"],function(a,b){return a(null,{on:function(a,c){return b.before(this,"on"+a,c)},emit:function(a){var b="on"+a;if(this[b]){var c=Array.prototype.slice.call(arguments,1);this[b].apply(this,c)}}})}),define("decor/Destroyable",["dcl/advise","dcl/dcl"],function(a,b){var c=b(null,{destroy:b.advise({before:function(){this._beingDestroyed=!0,this._releaseHandles()},after:function(){this._destroyed=!0}}),_releaseHandles:function(){},own:function(){var b=["destroy","remove","cancel"],c=Array.prototype.slice.call(arguments);return c.forEach(function(c){function d(){f.destroy(),g.forEach(function(a){a.destroy()})}var e,f=a.after(this,"_releaseHandles",function(){c[e]()}),g=[];c.then&&c.then(d,d),b.forEach(function(b){"function"==typeof c[b]&&(e||(e=b),c.then||g.push(a.after(c,b,d)))})},this),c},defer:function(a,b){var c=setTimeout(function(){c&&(c=null,this._destroyed||a.call(this))}.bind(this),b||0);return{remove:function(){return c&&(clearTimeout(c),c=null),null}}}});return b.chainBefore(c,"destroy"),c}); //# sourceMappingURL=layer.map var paths = {}; !require.s.contexts._.config.paths["decor"] && (paths["decor"] = "decor-build"); diff --git a/layer.map b/layer.map index 07897bd..7360e54 100644 --- a/layer.map +++ b/layer.map @@ -1 +1 @@ -{"version":3,"file":"layer.js","sources":["..\\requirejs-dplugins\\jquery.js","..\\requirejs-dplugins\\css.js","..\\requirejs-dplugins\\Promise.js","..\\lie\\dist\\lie.js","..\\requirejs-dplugins\\i18n.js","..\\requirejs-dplugins\\i18n\\build.js","..\\requirejs-dplugins\\i18n\\common.js","..\\requirejs-dplugins\\i18n\\parentLocale.js","..\\requirejs-dplugins\\has.js","..\\decor\\sniff.js","..\\decor\\schedule.js","..\\decor\\features.js","..\\decor\\Stateful.js","..\\dcl\\dcl.js","..\\dcl\\mini.js","..\\decor\\Observable.js","..\\decor\\Invalidating.js","..\\decor\\Evented.js","..\\dcl\\advise.js","..\\decor\\Destroyable.js"],"names":["define","getModules","str","concat","split","map","amid","require","config","jquery","jquery/src/selector","normalize","resource","load","req","onLoad","isBuild","jQuery","$","addModules","pluginName","has","Promise","module","add","global","wk","navigator","userAgent","match","parseInt","lastInsertedLink","cache","listenOnLoad","link","resolve","onreadystatechange","onload","readyState","poll","sheet","styleSheet","styleSheets","document","Array","prototype","lastIndexOf","call","setTimeout","loadCss","id","path","callback","buildFunctions","addOnce","loadList","layersMap","head","getElementsByTagName","url","toUrl","createElement","rel","type","href","insertBefore","nextSibling","firstChild","then","writePluginFiles","writeConfig","write","mid","dest","cssConf","forEach","JSON","stringify","writeLayer","tryRequire","paths","shift","nodeRequire","e","getNodePath","replace","CleanCSS","fs","filter","existsSync","console","log","layer","src","result","relativeTo","target","minify","styles","readFileSync","ary","element","indexOf","push","writeFile","onLayerEnd","data","name","destMid","success","lie","exports","amd","f","window","self","t","n","r","s","o","u","a","i","Error","code","l","length",1,"_dereq_","INTERNAL",2,"all","iterable","allResolver","value","resolveFromAll","outValue","values","resolved","len","called","handlers","promise","error","reject","Object","toString","TypeError","./INTERNAL","./handlers","./promise","./reject","./resolve",3,"getThen","obj","apply","arguments","tryCatch","resolveThenable","states","status","thenable","safely","state","FULFILLED","outcome","queue","callFulfilled","REJECTED","callRejected","./resolveThenable","./states","./tryCatch",4,"race","./all","./race",5,"resolver","this","PENDING","unwrap","QueueItem","onRejected","onFulfilled","./queueItem","./unwrap",6,"otherCallFulfilled","otherCallRejected",7,"response",8,"reason",9,"valueType","FALSE","UNDEFINED","NULL","ZERO","EMPTYSTRING",10,"safelyResolveThenable","onError","onSuccess","tryToUnwrap",11,12,"func","out",13,"immediate","returnValue",14,15,"drainQueue","draining","oldQueue","task","scheduleDrain","types","test","install","./messageChannel","./mutation.js","./nextTick","./stateChange","./timeout",16,"setImmediate","MessageChannel","channel","port1","onmessage","port2","postMessage",17,"Mutation","MutationObserver","WebKitMutationObserver","handle","observer","createTextNode","observe","characterData",18,"scriptEl","parentNode","removeChild","documentElement","appendChild",19,"common","build","localesList","writePluginFile","mixin","eachProp","parseName","getMasterMid","normalizeBundlesMap","bundlesMap","bundleList","bundle","rootify","locale","_pseudoRoot","resolveAMD","masterMid","master","getBundleAndMixin","prefix","suffix","mixBundle","getParentLocale","_flattened","masterLocale","requestedLocale","getLayer","moduleConfig","localesMap","pickFromLayer","tryLayer","helper","layerOnly","enhanceLayer","root","undefined","getLocale","languagePack","moduleName","resolveSync","asModule","addBundleToNlsLayer","requirejs","layersContent","setLocalesList","getLayersContent","writeLayers","reset","layerMid","bundlesList","getLayerMid","getLayerPath","loc","getAllAvailableLocales","normalizeRoot","getPseudoRoots","pseudoRoots","parent","localizedBundle","locList","slice","content","bundles","i18nConf","parentLocale","nlsRegExp","prop","hasOwnProperty","language","userLanguage","toLowerCase","parts","pop","join","source","force","en-ag","en-ai","en-bb","en-bm","en-bs","en-bw","en-bz","en-cc","en-ck","en-cm","en-cx","en-dm","en-er","en-fj","en-fm","en-gb","en-gd","en-gh","en-gm","en-gy","en-jm","en-ke","en-ki","en-kn","en-ky","en-lc","en-lr","en-ls","en-mg","en-ms","en-mu","en-mw","en-na","en-nf","en-ng","en-nr","en-nu","en-pg","en-ph","en-pn","en-pw","en-rw","en-sb","en-sc","en-sd","en-sl","en-ss","en-sx","en-sz","en-tc","en-tk","en-to","en-tt","en-tv","en-tz","en-ug","en-vc","en-vu","en-ws","en-za","en-zm","en-zw","en-150","en-au","en-be","en-dg","en-fk","en-gg","en-gi","en-hk","en-ie","en-im","en-in","en-io","en-je","en-mo","en-mt","en-nz","en-pk","en-sg","en-sh","en-vg","es-ar","es-bo","es-cl","es-co","es-cr","es-cu","es-do","es-ec","es-gt","es-hn","es-mx","es-ni","es-pa","es-pe","es-pr","es-py","es-sv","es-us","es-uy","es-ve","pt-ao","pt-cv","pt-gw","pt-mo","pt-mz","pt-st","pt-tl","az-cyrl","bs-cyrl","en-dsrt","ha-arab","mn-mong","ms-arab","pa-arab","shi-latn","sr-latn","uz-arab","uz-cyrl","vai-latn","zh-hant","zh-hant-mo","tokens","tokensRE","get","skip","term","hasResult","forEachModule","now","index","modulesToInclude","dua","dav","appVersion","tv","parseFloat","p","RegExp","$1","v","os","webkit","isIE","mode","documentMode","Math","floor","runCallbacks","anyWorkDone","callbacks","inFlight","SCHEDULEID_PREFIX","seq","uniqueId","random","pseudoDiv","attributes","addEventListener","event","remove","is","Platform","dcl","Observable","propNames","apn","uc","c","charAt","toUpperCase","ret","g","notify","stateful","oldValue","getNotifier","object","REGEXP_SHADOW_PROPS","Stateful","_getProps","hash","_introspect","props","keys","names","shadowProp","getter","setter","defineProperty","enumerable","set","x","_set","constructor","advise","before","ctor","_introspected","_props","after","args","processConstructorParameters","mix","shadowPropName","_get","notifyCurrentValue","h","PropertyListObserver","open","chainAfter","thisObject","_boundCallback","records","_closed","_beingDiscarded","oldValues","record","bind","_h","deliver","deliverChangeRecords","discardChanges","setValue","close","factory","nop","advice","_makeSuper","Advice","makeAOPStub","around","beforeChain","afterChain","aroundChain","stub","thrown","advices","chain","rule","meta","_meta","weaver","_error","Super","superCall","chainBefore","isInstanceOf","bases","_stub","chains","_extractChain","b","reverse","_stubChainSuper","_stubChain","_stubSuper","superClass","proto","base","connectionMap","output","vector","superClasses","j","_uniqueId","counter","splice","delegate","pname","ownProps","isSuper","buildStubs","cname","_postprocess","spr","allKeys","empty","create","S","msg","_instantiate","previous","ctr","diff","pi","schedule","getOwnPropertyDescriptor","DEFAULT_ACCEPT_CHANGETYPES","update","delete","reconfigure","setPrototype","preventExtensions","_observable","assign","lhs","rhs","dst","hasDstSetter","getOwnPropertyNames","m","canObserve","configurable","writable","accept","unobserve","changeRecord","hotCallbacks","deliverHandle","deliverAllByTimeout","performMicrotaskCheckpoint","sort","_seq","_changeRecords","removeGarbageCallback","_refCountOfNotifier","Notifier","observers","_activeChanges","shouldDeliver","activeChanges","acceptTable","changeType","performChange","observable","_notifier","reduce","notifier","stack","Destroyable","Invalidating","initializeInvalidating","own","_hComputing","computeProperties","deliverComputing","_hRendering","refreshRendering","discardComputing","on","listener","emit","Node","instance","next_before","prev_before","next_after","prev_after","next_around","prev_around","node","adviceNode","original","_add","topic","flag","_remove","destroy","unadvise","_beingDestroyed","_releaseHandles","_destroyed","cleanupMethods","onManualDestroy","odh","hdhs","hdh","destroyMethodName","cleanupMethod","defer","fcn","delay","timer","clearTimeout"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"layer.js","sources":["..\\..\\tmp\\lie\\dist\\lie.js","..\\..\\tmp\\requirejs-dplugins\\jquery.js","..\\..\\tmp\\requirejs-dplugins\\css.js","..\\..\\tmp\\requirejs-dplugins\\Promise.js","..\\..\\tmp\\requirejs-dplugins\\i18n.js","..\\..\\tmp\\requirejs-dplugins\\i18n\\build.js","..\\..\\tmp\\requirejs-dplugins\\i18n\\common.js","..\\..\\tmp\\requirejs-dplugins\\i18n\\parentLocale.js","..\\..\\tmp\\requirejs-dplugins\\has.js","..\\..\\tmp\\decor\\sniff.js","..\\..\\tmp\\decor\\schedule.js","..\\..\\tmp\\decor\\features.js","..\\..\\tmp\\decor\\Stateful.js","..\\..\\tmp\\dcl\\dcl.js","..\\..\\tmp\\dcl\\mini.js","..\\..\\tmp\\dcl\\advise.js","..\\..\\tmp\\decor\\Observable.js","..\\..\\tmp\\decor\\Invalidating.js","..\\..\\tmp\\decor\\Evented.js","..\\..\\tmp\\decor\\Destroyable.js"],"names":["e","exports","module","define","amd","f","window","global","self","Promise","t","n","r","s","o","u","a","require","i","Error","code","l","call","length",1,"_dereq_","INTERNAL",2,"all","iterable","allResolver","value","resolveFromAll","outValue","values","resolved","len","called","handlers","resolve","promise","then","error","reject","Object","prototype","toString","TypeError","Array","./INTERNAL","./handlers","./promise","./reject","./resolve",3,"getThen","obj","apply","arguments","tryCatch","resolveThenable","states","result","status","thenable","safely","state","FULFILLED","outcome","queue","callFulfilled","REJECTED","callRejected","./resolveThenable","./states","./tryCatch",4,"race","./all","./race",5,"resolver","this","PENDING","unwrap","QueueItem","onRejected","onFulfilled","push","./queueItem","./unwrap",6,"otherCallFulfilled","otherCallRejected",7,"response",8,"reason",9,"valueType","FALSE","UNDEFINED","NULL","ZERO","EMPTYSTRING",10,"safelyResolveThenable","onError","onSuccess","tryToUnwrap",11,12,"func","out",13,"immediate","returnValue",14,15,"drainQueue","draining","oldQueue","task","scheduleDrain","types","test","install","./messageChannel","./mutation.js","./nextTick","./stateChange","./timeout",16,"setImmediate","MessageChannel","channel","port1","onmessage","port2","postMessage",17,"Mutation","MutationObserver","WebKitMutationObserver","handle","observer","element","document","createTextNode","observe","characterData","data",18,"createElement","scriptEl","onreadystatechange","parentNode","removeChild","documentElement","appendChild",19,"setTimeout","getModules","str","concat","split","map","amid","config","jquery","jquery/src/selector","normalize","resource","load","req","onLoad","isBuild","jQuery","$","addModules","pluginName","has","add","wk","navigator","userAgent","match","parseInt","lastInsertedLink","cache","listenOnLoad","link","onload","readyState","poll","sheet","styleSheet","styleSheets","lastIndexOf","loadCss","id","path","callback","buildFunctions","addOnce","loadList","layersMap","head","getElementsByTagName","url","toUrl","rel","type","href","insertBefore","nextSibling","firstChild","writePluginFiles","writeConfig","write","mid","dest","cssConf","forEach","JSON","stringify","writeLayer","tryRequire","paths","shift","nodeRequire","getNodePath","replace","CleanCSS","fs","filter","existsSync","console","log","layer","src","relativeTo","target","minify","styles","readFileSync","ary","indexOf","writeFile","onLayerEnd","name","destMid","success","lieId","lie","common","build","localesList","writePluginFile","mixin","eachProp","parseName","getMasterMid","normalizeBundlesMap","bundlesMap","bundleList","bundle","rootify","locale","_pseudoRoot","resolveAMD","masterMid","master","getBundleAndMixin","prefix","suffix","mixBundle","getParentLocale","_flattened","masterLocale","requestedLocale","getLayer","moduleConfig","localesMap","pickFromLayer","tryLayer","helper","layerOnly","enhanceLayer","root","undefined","getLocale","languagePack","moduleName","resolveSync","asModule","addBundleToNlsLayer","requirejs","layersContent","setLocalesList","getLayersContent","writeLayers","reset","layerMid","bundlesList","getLayerMid","getLayerPath","loc","getAllAvailableLocales","normalizeRoot","getPseudoRoots","pseudoRoots","parent","localizedBundle","locList","slice","content","bundles","i18nConf","parentLocale","nlsRegExp","prop","hasOwnProperty","language","userLanguage","toLowerCase","parts","pop","join","source","force","en-ag","en-ai","en-bb","en-bm","en-bs","en-bw","en-bz","en-cc","en-ck","en-cm","en-cx","en-dm","en-er","en-fj","en-fm","en-gb","en-gd","en-gh","en-gm","en-gy","en-jm","en-ke","en-ki","en-kn","en-ky","en-lc","en-lr","en-ls","en-mg","en-ms","en-mu","en-mw","en-na","en-nf","en-ng","en-nr","en-nu","en-pg","en-ph","en-pn","en-pw","en-rw","en-sb","en-sc","en-sd","en-sl","en-ss","en-sx","en-sz","en-tc","en-tk","en-to","en-tt","en-tv","en-tz","en-ug","en-vc","en-vu","en-ws","en-za","en-zm","en-zw","en-150","en-au","en-be","en-dg","en-fk","en-gg","en-gi","en-hk","en-ie","en-im","en-in","en-io","en-je","en-mo","en-mt","en-nz","en-pk","en-sg","en-sh","en-vg","es-ar","es-bo","es-cl","es-co","es-cr","es-cu","es-do","es-ec","es-gt","es-hn","es-mx","es-ni","es-pa","es-pe","es-pr","es-py","es-sv","es-us","es-uy","es-ve","pt-ao","pt-cv","pt-gw","pt-mo","pt-mz","pt-st","pt-tl","az-cyrl","bs-cyrl","en-dsrt","ha-arab","mn-mong","ms-arab","pa-arab","shi-latn","sr-latn","uz-arab","uz-cyrl","vai-latn","zh-hant","zh-hant-mo","tokens","tokensRE","get","skip","term","hasResult","forEachModule","now","index","modulesToInclude","dua","dav","appVersion","tv","parseFloat","p","RegExp","$1","v","os","webkit","documentMode","runCallbacks","anyWorkDone","callbacks","inFlight","SCHEDULEID_PREFIX","seq","uniqueId","Math","random","pseudoDiv","attributes","addEventListener","event","remove","is","Platform","advise","dcl","Observable","propNames","apn","uc","c","charAt","toUpperCase","ret","g","notify","stateful","oldValue","getNotifier","object","REGEXP_SHADOW_PROPS","Stateful","getProps","hash","introspect","props","keys","names","shadowProp","getter","setter","defineProperty","enumerable","set","x","_set","constructor","before","ctor","_introspected","_props","after","args","processConstructorParameters","mix","shadowPropName","_get","notifyCurrentValue","getPropsToObserve","h","PropertyListObserver","open","a1","deliver","bind","a2","discardChanges","unadvise","chainAfter","thisObject","_boundCallback","records","_closed","_beingDiscarded","oldValues","record","_h","deliverChangeRecords","setValue","close","factory","nop","advice","_makeSuper","Advice","makeAOPStub","around","beforeChain","afterChain","aroundChain","stub","thrown","advices","chain","rule","meta","_meta","weaver","_error","Super","superCall","chainBefore","isInstanceOf","bases","_stub","chains","_extractChain","b","reverse","_stubChainSuper","_stubChain","_stubSuper","superClass","proto","base","connectionMap","output","vector","superClasses","j","_uniqueId","counter","splice","delegate","pname","ownProps","isSuper","buildStubs","cname","_postprocess","spr","allKeys","empty","create","S","msg","_instantiate","previous","node","ctr","diff","pi","Node","instance","next_before","prev_before","next_after","prev_after","next_around","prev_around","adviceNode","original","_add","topic","flag","_remove","destroy","schedule","getOwnPropertyDescriptor","DEFAULT_ACCEPT_CHANGETYPES","update","delete","reconfigure","setPrototype","preventExtensions","_observable","assign","lhs","rhs","dst","getOwnPropertyNames","m","canObserve","configurable","writable","accept","unobserve","changeRecord","hotCallbacks","deliverHandle","deliverAllByTimeout","performMicrotaskCheckpoint","sort","_seq","_changeRecords","removeGarbageCallback","_refCountOfNotifier","Notifier","observers","_activeChanges","shouldDeliver","activeChanges","acceptTable","changeType","performChange","observable","_notifier","reduce","notifier","stack","Destroyable","Invalidating","initializeInvalidating","own","_hComputing","computeProperties","deliverComputing","_hRendering","refreshRendering","discardComputing","on","listener","emit","_beingDestroyed","_releaseHandles","_destroyed","cleanupMethods","onManualDestroy","odh","hdhs","hdh","destroyMethodName","cleanupMethod","defer","fcn","delay","timer","clearTimeout"],"mappings":"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"} \ No newline at end of file