'use strict';Liferay.Loader.define("frontend-js-metal-web$metal@2.16.8/lib/coreNamed",['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};exports.abstractMethod=abstractMethod;exports.disableCompatibilityMode=disableCompatibilityMode;exports.enableCompatibilityMode=enableCompatibilityMode;exports.getCompatibilityModeData=getCompatibilityModeData;exports.getFunctionName=getFunctionName;exports.getStaticProperty=getStaticProperty;exports.getUid=getUid;exports.identityFunction=identityFunction;exports.isBoolean=isBoolean;exports.isDef=isDef;exports.isDefAndNotNull=isDefAndNotNull;exports.isDocument=isDocument;exports.isDocumentFragment=isDocumentFragment;exports.isElement=isElement;exports.isFunction=isFunction;exports.isNull=isNull;exports.isNumber=isNumber;exports.isWindow=isWindow;exports.isObject=isObject;exports.isPromise=isPromise;exports.isString=isString;exports.isServerSide=isServerSide;exports.nullFunction=nullFunction;var compatibilityModeData_=void 0;var uniqueIdCounter_=1;var UID_PROPERTY=exports.UID_PROPERTY='core_'+(Math.random()*1e9>>>0);function abstractMethod(){throw Error('Unimplemented abstract method');}
function disableCompatibilityMode(){compatibilityModeData_=undefined;}
function enableCompatibilityMode(){var data=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};compatibilityModeData_=data;}
function getCompatibilityModeData(){if(compatibilityModeData_===undefined){if(typeof window!=='undefined'&&window.__METAL_COMPATIBILITY__){enableCompatibilityMode(window.__METAL_COMPATIBILITY__);}}
return compatibilityModeData_;}
function getFirstTruthy_(a,b){return a||b;}
function getFunctionName(fn){if(!fn.name){var str=fn.toString();fn.name=str.substring(9,str.indexOf('('));}
return fn.name;}
function getStaticProperty(ctor,propertyName){var mergeFn=arguments.length>2&&arguments[2]!==undefined?arguments[2]:getFirstTruthy_;var mergedName=propertyName+'_MERGED';if(!ctor.hasOwnProperty(mergedName)){var merged=ctor.hasOwnProperty(propertyName)?ctor[propertyName]:null;if(ctor.__proto__&&!ctor.__proto__.isPrototypeOf(Function)){merged=mergeFn(merged,getStaticProperty(ctor.__proto__,propertyName,mergeFn));}
ctor[mergedName]=merged;}
return ctor[mergedName];}
function getUid(object,noInheritance){if(object){var id=object[UID_PROPERTY];if(noInheritance&&!object.hasOwnProperty(UID_PROPERTY)){id=null;}
return id||(object[UID_PROPERTY]=uniqueIdCounter_++);}
return uniqueIdCounter_++;}
function identityFunction(returnValue){return returnValue;}
function isBoolean(val){return typeof val==='boolean';}
function isDef(val){return val!==undefined;}
function isDefAndNotNull(val){return isDef(val)&&!isNull(val);}
function isDocument(val){return val&&(typeof val==='undefined'?'undefined':_typeof(val))==='object'&&val.nodeType===9;}
function isDocumentFragment(val){return val&&(typeof val==='undefined'?'undefined':_typeof(val))==='object'&&val.nodeType===11;}
function isElement(val){return val&&(typeof val==='undefined'?'undefined':_typeof(val))==='object'&&val.nodeType===1;}
function isFunction(val){return typeof val==='function';}
function isNull(val){return val===null;}
function isNumber(val){return typeof val==='number';}
function isWindow(val){return val!==null&&val===val.window;}
function isObject(val){var type=typeof val==='undefined'?'undefined':_typeof(val);return type==='object'&&val!==null||type==='function';}
function isPromise(val){return val&&(typeof val==='undefined'?'undefined':_typeof(val))==='object'&&typeof val.then==='function';}
function isString(val){return typeof val==='string'||val instanceof String;}
function isServerSide(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{checkEnv:true};var serverSide=typeof process!=='undefined'&&!process.browser;if(serverSide&&options.checkEnv){serverSide=typeof process.env!=='undefined'&&true;}
return serverSide;}
function nullFunction(){}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal@2.16.8/lib/core',['module','exports','require','./coreNamed'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.core=undefined;var _coreNamed=require('./coreNamed');Object.keys(_coreNamed).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _coreNamed[key];}});});var core=_interopRequireWildcard(_coreNamed);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}
exports.default=core;exports.core=core;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal@2.16.8/lib/array/array",['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var array=function(){function array(){_classCallCheck(this,array);}
_createClass(array,null,[{key:'equal',value:function equal(arr1,arr2){if(arr1===arr2){return true;}
if(arr1.length!==arr2.length){return false;}
for(var i=0;i<arr1.length;i++){if(arr1[i]!==arr2[i]){return false;}}
return true;}},{key:'firstDefinedValue',value:function firstDefinedValue(arr){for(var i=0;i<arr.length;i++){if(arr[i]!==undefined){return arr[i];}}}},{key:'flatten',value:function flatten(arr){var output=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];for(var i=0;i<arr.length;i++){if(Array.isArray(arr[i])){array.flatten(arr[i],output);}else{output.push(arr[i]);}}
return output;}},{key:'remove',value:function remove(arr,obj){var i=arr.indexOf(obj);var rv=void 0;if(rv=i>=0){array.removeAt(arr,i);}
return rv;}},{key:'removeAt',value:function removeAt(arr,i){return Array.prototype.splice.call(arr,i,1).length===1;}},{key:'slice',value:function slice(arr,start){var end=arguments.length>2&&arguments[2]!==undefined?arguments[2]:arr.length;var sliced=[];for(var i=start;i<end;i++){sliced.push(arr[i]);}
return sliced;}}]);return array;}();exports.default=array;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal@2.16.8/lib/async/async',['module','exports','require','../coreNamed'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _coreNamed=require('../coreNamed');var async={};async.throwException=function(exception){async.nextTick(function(){throw exception;});};async.run=function(callback,context){if(!async.run.workQueueScheduled_){async.nextTick(async.run.processWorkQueue);async.run.workQueueScheduled_=true;}
async.run.workQueue_.push(new async.run.WorkItem_(callback,context));};async.run.workQueueScheduled_=false;async.run.workQueue_=[];async.run.processWorkQueue=function(){while(async.run.workQueue_.length){var workItems=async.run.workQueue_;async.run.workQueue_=[];for(var i=0;i<workItems.length;i++){var workItem=workItems[i];try{workItem.fn.call(workItem.scope);}catch(e){async.throwException(e);}}}
async.run.workQueueScheduled_=false;};async.run.WorkItem_=function(fn,scope){this.fn=fn;this.scope=scope;};async.nextTick=function(callback,context){var cb=callback;if(context){cb=callback.bind(context);}
cb=async.nextTick.wrapCallback_(cb);if(!async.nextTick.setImmediate_){if(typeof setImmediate==='function'&&(0,_coreNamed.isServerSide)({checkEnv:false})){async.nextTick.setImmediate_=setImmediate;}else{async.nextTick.setImmediate_=async.nextTick.getSetImmediateEmulator_();}}
async.nextTick.setImmediate_(cb);};async.nextTick.setImmediate_=null;async.nextTick.getSetImmediateEmulator_=function(){var Channel=void 0;if(typeof MessageChannel==='function'){Channel=MessageChannel;}
if(typeof Channel==='undefined'&&typeof window!=='undefined'&&window.postMessage&&window.addEventListener){Channel=function Channel(){var iframe=document.createElement('iframe');iframe.style.display='none';iframe.src='';iframe.title='';document.documentElement.appendChild(iframe);var win=iframe.contentWindow;var doc=win.document;doc.open();doc.write('');doc.close();var message='callImmediate'+Math.random();var origin=win.location.protocol+'//'+win.location.host;var onmessage=function(e){if(e.origin!==origin&&e.data!==message){return;}
this.port1.onmessage();}.bind(this);win.addEventListener('message',onmessage,false);this.port1={};this.port2={postMessage:function postMessage(){win.postMessage(message,origin);}};};}
if(typeof Channel!=='undefined'){var channel=new Channel();var head={};var tail=head;channel.port1.onmessage=function(){head=head.next;var cb=head.cb;head.cb=null;cb();};return function(cb){tail.next={cb:cb};tail=tail.next;channel.port2.postMessage(0);};}
if(typeof document!=='undefined'&&'onreadystatechange'in document.createElement('script')){return function(cb){var script=document.createElement('script');script.onreadystatechange=function(){script.onreadystatechange=null;script.parentNode.removeChild(script);script=null;cb();cb=null;};document.documentElement.appendChild(script);};}
return function(cb){setTimeout(cb,0);};};async.nextTick.wrapCallback_=function(callback){return callback;};exports.default=async;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal@2.16.8/lib/disposable/Disposable",['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var Disposable=function(){function Disposable(){_classCallCheck(this,Disposable);this.disposed_=false;}
_createClass(Disposable,[{key:'dispose',value:function dispose(){if(!this.disposed_){this.disposeInternal();this.disposed_=true;}}},{key:'disposeInternal',value:function disposeInternal(){}},{key:'isDisposed',value:function isDisposed(){return this.disposed_;}}]);return Disposable;}();exports.default=Disposable;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal@2.16.8/lib/object/object",['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var object=function(){function object(){_classCallCheck(this,object);}
_createClass(object,null,[{key:'mixin',value:function mixin(target){var key=void 0;var source=void 0;for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}
for(var i=0;i<args.length;i++){source=args[i];for(key in source){target[key]=source[key];}}
return target;}},{key:'getObjectByName',value:function getObjectByName(name){var scope=arguments.length>1&&arguments[1]!==undefined?arguments[1]:window;var parts=name.split('.');return parts.reduce(function(part,key){return part[key];},scope);}},{key:'map',value:function map(obj,fn){var mappedObj={};var keys=Object.keys(obj);for(var i=0;i<keys.length;i++){mappedObj[keys[i]]=fn(keys[i],obj[keys[i]]);}
return mappedObj;}},{key:'shallowEqual',value:function shallowEqual(obj1,obj2){if(obj1===obj2){return true;}
var keys1=Object.keys(obj1);var keys2=Object.keys(obj2);if(keys1.length!==keys2.length){return false;}
for(var i=0;i<keys1.length;i++){if(obj1[keys1[i]]!==obj2[keys1[i]]){return false;}}
return true;}}]);return object;}();exports.default=object;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal@2.16.8/lib/string/string",['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var string=function(){function string(){_classCallCheck(this,string);}
_createClass(string,null,[{key:'caseInsensitiveCompare',value:function caseInsensitiveCompare(str1,str2){var test1=String(str1).toLowerCase();var test2=String(str2).toLowerCase();if(test1<test2){return-1;}else if(test1===test2){return 0;}else{return 1;}}},{key:'collapseBreakingSpaces',value:function collapseBreakingSpaces(str){return str.replace(/[\t\r\n ]+/g,' ').replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,'');}},{key:'escapeRegex',value:function escapeRegex(str){return String(str).replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,'\\$1').replace(/\x08/g,'\\x08');}},{key:'getRandomString',value:function getRandomString(){var x=2147483648;return Math.floor(Math.random()*x).toString(36)+Math.abs(Math.floor(Math.random()*x)^Date.now()).toString(36);}},{key:'hashCode',value:function hashCode(val){var hash=0;for(var i=0,len=val.length;i<len;i++){hash=31*hash+val.charCodeAt(i);hash%=0x100000000;}
return hash;}},{key:'replaceInterval',value:function replaceInterval(str,start,end,value){return str.substring(0,start)+value+str.substring(end);}}]);return string;}();exports.default=string;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal@2.16.8/lib/metal',['module','exports','require','./core','./array/array','./async/async','./disposable/Disposable','./object/object','./string/string'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.string=exports.object=exports.Disposable=exports.async=exports.array=undefined;var _core=require('./core');Object.keys(_core).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _core[key];}});});var _core2=_interopRequireDefault(_core);var _array=require('./array/array');var _array2=_interopRequireDefault(_array);var _async=require('./async/async');var _async2=_interopRequireDefault(_async);var _Disposable=require('./disposable/Disposable');var _Disposable2=_interopRequireDefault(_Disposable);var _object=require('./object/object');var _object2=_interopRequireDefault(_object);var _string=require('./string/string');var _string2=_interopRequireDefault(_string);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
exports.array=_array2.default;exports.async=_async2.default;exports.Disposable=_Disposable2.default;exports.object=_object2.default;exports.string=_string2.default;exports.default=_core2.default;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/domData",['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var METAL_DATA='__metal_data__';var domData=function(){function domData(){_classCallCheck(this,domData);}
_createClass(domData,null,[{key:'get',value:function get(element,name,initialValue){if(!element[METAL_DATA]){element[METAL_DATA]={};}
if(!name){return element[METAL_DATA];}
if(!(0,_metal.isDef)(element[METAL_DATA][name])&&(0,_metal.isDef)(initialValue)){element[METAL_DATA][name]=initialValue;}
return element[METAL_DATA][name];}},{key:'has',value:function has(element){return!!element[METAL_DATA];}},{key:'set',value:function set(element,name,value){if(!element[METAL_DATA]){element[METAL_DATA]={};}
if(!name||!(0,_metal.isDef)(value)){return element[METAL_DATA];}
element[METAL_DATA][name]=value;return element[METAL_DATA][name];}}]);return domData;}();exports.default=domData;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-events@2.16.8/lib/EventHandle",['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var EventHandle=function(_Disposable){_inherits(EventHandle,_Disposable);function EventHandle(emitter,event,listener){_classCallCheck(this,EventHandle);var _this=_possibleConstructorReturn(this,(EventHandle.__proto__||Object.getPrototypeOf(EventHandle)).call(this));_this.emitter_=emitter;_this.event_=event;_this.listener_=listener;return _this;}
_createClass(EventHandle,[{key:'disposeInternal',value:function disposeInternal(){this.removeListener();this.emitter_=null;this.listener_=null;}},{key:'removeListener',value:function removeListener(){if(!this.emitter_.isDisposed()){this.emitter_.removeListener(this.event_,this.listener_);}}}]);return EventHandle;}(_metal.Disposable);exports.default=EventHandle;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-events@2.16.8/lib/EventEmitter",['module','exports','require','frontend-js-metal-web$metal','./EventHandle'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");var _EventHandle=require('./EventHandle');var _EventHandle2=_interopRequireDefault(_EventHandle);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var singleArray_=[0];var EventEmitter=function(_Disposable){_inherits(EventEmitter,_Disposable);function EventEmitter(){_classCallCheck(this,EventEmitter);var _this=_possibleConstructorReturn(this,(EventEmitter.__proto__||Object.getPrototypeOf(EventEmitter)).call(this));_this.events_=null;_this.listenerHandlers_=null;_this.shouldUseFacade_=false;return _this;}
_createClass(EventEmitter,[{key:'addHandler_',value:function addHandler_(holder,handler){if(!holder){holder=handler;}else{if(!Array.isArray(holder)){holder=[holder];}
holder.push(handler);}
return holder;}},{key:'addListener',value:function addListener(event,listener,defaultListener){this.validateListener_(listener);var events=this.toEventsArray_(event);for(var i=0;i<events.length;i++){this.addSingleListener_(events[i],listener,defaultListener);}
return new _EventHandle2.default(this,event,listener);}},{key:'addSingleListener_',value:function addSingleListener_(event,listener,defaultListener,origin){this.runListenerHandlers_(event);if(defaultListener||origin){listener={default:defaultListener,fn:listener,origin:origin};}
this.events_=this.events_||{};this.events_[event]=this.addHandler_(this.events_[event],listener);}},{key:'buildFacade_',value:function buildFacade_(event){if(this.getShouldUseFacade()){var facade={preventDefault:function preventDefault(){facade.preventedDefault=true;},target:this,type:event};return facade;}}},{key:'disposeInternal',value:function disposeInternal(){this.events_=null;}},{key:'emit',value:function emit(event){var listeners=this.getRawListeners_(event);if(listeners.length===0){return false;}
var args=_metal.array.slice(arguments,1);this.runListeners_(listeners,args,this.buildFacade_(event));return true;}},{key:'getRawListeners_',value:function getRawListeners_(event){var directListeners=toArray(this.events_&&this.events_[event]);return directListeners.concat(toArray(this.events_&&this.events_['*']));}},{key:'getShouldUseFacade',value:function getShouldUseFacade(){return this.shouldUseFacade_;}},{key:'listeners',value:function listeners(event){return this.getRawListeners_(event).map(function(listener){return listener.fn?listener.fn:listener;});}},{key:'many',value:function many(event,amount,listener){var events=this.toEventsArray_(event);for(var i=0;i<events.length;i++){this.many_(events[i],amount,listener);}
return new _EventHandle2.default(this,event,listener);}},{key:'many_',value:function many_(event,amount,listener){var self=this;if(amount<=0){return;}
function handlerInternal(){if(--amount===0){self.removeListener(event,handlerInternal);}
listener.apply(self,arguments);}
self.addSingleListener_(event,handlerInternal,false,listener);}},{key:'matchesListener_',value:function matchesListener_(listenerObj,listener){var fn=listenerObj.fn||listenerObj;return fn===listener||listenerObj.origin&&listenerObj.origin===listener;}},{key:'off',value:function off(event,listener){this.validateListener_(listener);if(!this.events_){return this;}
var events=this.toEventsArray_(event);for(var i=0;i<events.length;i++){this.events_[events[i]]=this.removeMatchingListenerObjs_(toArray(this.events_[events[i]]),listener);}
return this;}},{key:'on',value:function on(){return this.addListener.apply(this,arguments);}},{key:'onListener',value:function onListener(handler){this.listenerHandlers_=this.addHandler_(this.listenerHandlers_,handler);}},{key:'once',value:function once(events,listener){return this.many(events,1,listener);}},{key:'removeAllListeners',value:function removeAllListeners(event){if(this.events_){if(event){var events=this.toEventsArray_(event);for(var i=0;i<events.length;i++){this.events_[events[i]]=null;}}else{this.events_=null;}}
return this;}},{key:'removeMatchingListenerObjs_',value:function removeMatchingListenerObjs_(listenerObjs,listener){var finalListeners=[];for(var i=0;i<listenerObjs.length;i++){if(!this.matchesListener_(listenerObjs[i],listener)){finalListeners.push(listenerObjs[i]);}}
return finalListeners.length>0?finalListeners:null;}},{key:'removeListener',value:function removeListener(){return this.off.apply(this,arguments);}},{key:'runListenerHandlers_',value:function runListenerHandlers_(event){var handlers=this.listenerHandlers_;if(handlers){handlers=toArray(handlers);for(var i=0;i<handlers.length;i++){handlers[i](event);}}}},{key:'runListeners_',value:function runListeners_(listeners,args,facade){if(facade){args.push(facade);}
var defaultListeners=[];for(var i=0;i<listeners.length;i++){var listener=listeners[i].fn||listeners[i];if(listeners[i].default){defaultListeners.push(listener);}else{listener.apply(this,args);}}
if(!facade||!facade.preventedDefault){for(var j=0;j<defaultListeners.length;j++){defaultListeners[j].apply(this,args);}}}},{key:'setShouldUseFacade',value:function setShouldUseFacade(shouldUseFacade){this.shouldUseFacade_=shouldUseFacade;return this;}},{key:'toEventsArray_',value:function toEventsArray_(events){if((0,_metal.isString)(events)){singleArray_[0]=events;events=singleArray_;}
return events;}},{key:'validateListener_',value:function validateListener_(listener){if(!(0,_metal.isFunction)(listener)){throw new TypeError('Listener must be a function');}}}]);return EventEmitter;}(_metal.Disposable);function toArray(val){val=val||[];return Array.isArray(val)?val:[val];}
exports.default=EventEmitter;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-events@2.16.8/lib/EventEmitterProxy",['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var EventEmitterProxy=function(_Disposable){_inherits(EventEmitterProxy,_Disposable);function EventEmitterProxy(originEmitter,targetEmitter,blacklist,whitelist){_classCallCheck(this,EventEmitterProxy);var _this=_possibleConstructorReturn(this,(EventEmitterProxy.__proto__||Object.getPrototypeOf(EventEmitterProxy)).call(this));_this.blacklist_=blacklist;_this.originEmitter_=originEmitter;_this.pendingEvents_=null;_this.proxiedEvents_=null;_this.targetEmitter_=targetEmitter;_this.whitelist_=whitelist;_this.startProxy_();return _this;}
_createClass(EventEmitterProxy,[{key:'addListener_',value:function addListener_(event,listener){return this.originEmitter_.on(event,listener);}},{key:'disposeInternal',value:function disposeInternal(){this.removeListeners_();this.proxiedEvents_=null;this.originEmitter_=null;this.targetEmitter_=null;}},{key:'emitOnTarget_',value:function emitOnTarget_(){var _targetEmitter_;(_targetEmitter_=this.targetEmitter_).emit.apply(_targetEmitter_,arguments);}},{key:'proxyEvent',value:function proxyEvent(event){if(this.shouldProxyEvent_(event)){this.tryToAddListener_(event);}}},{key:'removeListeners_',value:function removeListeners_(){if(this.proxiedEvents_){var events=Object.keys(this.proxiedEvents_);for(var i=0;i<events.length;i++){this.proxiedEvents_[events[i]].removeListener();}
this.proxiedEvents_=null;}
this.pendingEvents_=null;}},{key:'setOriginEmitter',value:function setOriginEmitter(originEmitter){var _this2=this;var events=this.originEmitter_&&this.proxiedEvents_?Object.keys(this.proxiedEvents_):this.pendingEvents_;this.originEmitter_=originEmitter;if(events){this.removeListeners_();events.forEach(function(event){return _this2.proxyEvent(event);});}}},{key:'shouldProxyEvent_',value:function shouldProxyEvent_(event){if(this.whitelist_&&!this.whitelist_[event]){return false;}
if(this.blacklist_&&this.blacklist_[event]){return false;}
return!this.proxiedEvents_||!this.proxiedEvents_[event];}},{key:'startProxy_',value:function startProxy_(){this.targetEmitter_.onListener(this.proxyEvent.bind(this));}},{key:'tryToAddListener_',value:function tryToAddListener_(event){if(this.originEmitter_){this.proxiedEvents_=this.proxiedEvents_||{};this.proxiedEvents_[event]=this.addListener_(event,this.emitOnTarget_.bind(this,event));}else{this.pendingEvents_=this.pendingEvents_||[];this.pendingEvents_.push(event);}}}]);return EventEmitterProxy;}(_metal.Disposable);exports.default=EventEmitterProxy;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-events@2.16.8/lib/EventHandler",['module','exports','require','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var EventHandler=function(_Disposable){_inherits(EventHandler,_Disposable);function EventHandler(){_classCallCheck(this,EventHandler);var _this=_possibleConstructorReturn(this,(EventHandler.__proto__||Object.getPrototypeOf(EventHandler)).call(this));_this.eventHandles_=[];return _this;}
_createClass(EventHandler,[{key:'add',value:function add(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}
for(var i=0;i<arguments.length;i++){this.eventHandles_.push(args[i]);}}},{key:'disposeInternal',value:function disposeInternal(){this.eventHandles_=null;}},{key:'removeAllListeners',value:function removeAllListeners(){for(var i=0;i<this.eventHandles_.length;i++){this.eventHandles_[i].removeListener();}
this.eventHandles_=[];}}]);return EventHandler;}(_metal.Disposable);exports.default=EventHandler;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-events@2.16.8/lib/events',['module','exports','require','./EventEmitter','./EventEmitterProxy','./EventHandle','./EventHandler'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.EventHandler=exports.EventHandle=exports.EventEmitterProxy=exports.EventEmitter=undefined;var _EventEmitter=require('./EventEmitter');var _EventEmitter2=_interopRequireDefault(_EventEmitter);var _EventEmitterProxy=require('./EventEmitterProxy');var _EventEmitterProxy2=_interopRequireDefault(_EventEmitterProxy);var _EventHandle=require('./EventHandle');var _EventHandle2=_interopRequireDefault(_EventHandle);var _EventHandler=require('./EventHandler');var _EventHandler2=_interopRequireDefault(_EventHandler);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
exports.default=_EventEmitter2.default;exports.EventEmitter=_EventEmitter2.default;exports.EventEmitterProxy=_EventEmitterProxy2.default;exports.EventHandle=_EventHandle2.default;exports.EventHandler=_EventHandler2.default;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/DomDelegatedEventHandle",['module','exports','require','frontend-js-metal-web$metal','./domData','frontend-js-metal-web$metal-events'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");var _domData=require('./domData');var _domData2=_interopRequireDefault(_domData);var _metalEvents=require("frontend-js-metal-web$metal-events");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var DomDelegatedEventHandle=function(_EventHandle){_inherits(DomDelegatedEventHandle,_EventHandle);function DomDelegatedEventHandle(emitter,event,listener,selector){_classCallCheck(this,DomDelegatedEventHandle);var _this=_possibleConstructorReturn(this,(DomDelegatedEventHandle.__proto__||Object.getPrototypeOf(DomDelegatedEventHandle)).call(this,emitter,event,listener));_this.selector_=selector;return _this;}
_createClass(DomDelegatedEventHandle,[{key:'removeListener',value:function removeListener(){var delegating=_domData2.default.get(this.emitter_,'delegating',{});var listeners=_domData2.default.get(this.emitter_,'listeners',{});var selector=this.selector_;var arr=(0,_metal.isString)(selector)?delegating[this.event_].selectors:listeners;var key=(0,_metal.isString)(selector)?selector:this.event_;_metal.array.remove(arr[key]||[],this.listener_);if(arr[key]&&arr[key].length===0){delete arr[key];}}}]);return DomDelegatedEventHandle;}(_metalEvents.EventHandle);exports.default=DomDelegatedEventHandle;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/DomEventHandle",['module','exports','require','frontend-js-metal-web$metal-events'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metalEvents=require("frontend-js-metal-web$metal-events");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var DomEventHandle=function(_EventHandle){_inherits(DomEventHandle,_EventHandle);function DomEventHandle(emitter,event,listener,capture){_classCallCheck(this,DomEventHandle);var _this=_possibleConstructorReturn(this,(DomEventHandle.__proto__||Object.getPrototypeOf(DomEventHandle)).call(this,emitter,event,listener));_this.capture_=capture;return _this;}
_createClass(DomEventHandle,[{key:'removeListener',value:function removeListener(){this.emitter_.removeEventListener(this.event_,this.listener_,this.capture_);}}]);return DomEventHandle;}(_metalEvents.EventHandle);exports.default=DomEventHandle;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.5/lib/domNamed',['module','exports','require','frontend-js-metal-web$metal','./domData','./DomDelegatedEventHandle','./DomEventHandle'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.customEvents=undefined;exports.addClasses=addClasses;exports.closest=closest;exports.append=append;exports.buildFragment=buildFragment;exports.contains=contains;exports.delegate=delegate;exports.isNodeListLike=isNodeListLike;exports.enterDocument=enterDocument;exports.exitDocument=exitDocument;exports.hasClass=hasClass;exports.isEmpty=isEmpty;exports.match=match;exports.next=next;exports.on=on;exports.once=once;exports.parent=parent;exports.prepend=prepend;exports.registerCustomEvent=registerCustomEvent;exports.removeChildren=removeChildren;exports.removeClasses=removeClasses;exports.replace=replace;exports.supportsEvent=supportsEvent;exports.toElement=toElement;exports.toggleClasses=toggleClasses;exports.triggerEvent=triggerEvent;var _metal=require('frontend-js-metal-web$metal');var _domData=require('./domData');var _domData2=_interopRequireDefault(_domData);var _DomDelegatedEventHandle=require('./DomDelegatedEventHandle');var _DomDelegatedEventHandle2=_interopRequireDefault(_DomDelegatedEventHandle);var _DomEventHandle=require('./DomEventHandle');var _DomEventHandle2=_interopRequireDefault(_DomEventHandle);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
var elementsByTag_={};var supportCache_={};var customEvents=exports.customEvents={};var LAST_CONTAINER='__metal_last_container__';var USE_CAPTURE={blur:true,error:true,focus:true,invalid:true,load:true,scroll:true};function addClasses(elements,classes){if(!(0,_metal.isObject)(elements)||!(0,_metal.isString)(classes)){return;}
if(!elements.length){elements=[elements];}
for(var i=0;i<elements.length;i++){if('classList'in elements[i]){addClassesWithNative_(elements[i],classes);}else{addClassesWithoutNative_(elements[i],classes);}}}
function addClassesWithNative_(element,classes){classes.split(' ').forEach(function(className){if(className){element.classList.add(className);}});}
function addClassesWithoutNative_(element,classes){var elementClassName=' '+element.className+' ';var classesToAppend='';classes=classes.split(' ');for(var i=0;i<classes.length;i++){var className=classes[i];if(elementClassName.indexOf(' '+className+' ')===-1){classesToAppend+=' '+className;}}
if(classesToAppend){element.className=element.className+classesToAppend;}}
function addElementListener_(element,eventName,listener){addToArr_(_domData2.default.get(element,'listeners',{}),eventName,listener);}
function addSelectorListener_(element,eventName,selector,listener){var delegatingData=_domData2.default.get(element,'delegating',{});addToArr_(delegatingData[eventName].selectors,selector,listener);}
function addToArr_(arr,key,value){if(!arr[key]){arr[key]=[];}
arr[key].push(value);}
function attachDelegateEvent_(element,eventName){var delegatingData=_domData2.default.get(element,'delegating',{});if(!delegatingData[eventName]){delegatingData[eventName]={handle:on(element,eventName,handleDelegateEvent_,!!USE_CAPTURE[eventName]),selectors:{}};}}
function closest(element,selector){while(element&&!match(element,selector)){element=element.parentNode;}
return element;}
function append(parent,child){if((0,_metal.isString)(child)){child=buildFragment(child);}
if(isNodeListLike(child)){var childArr=Array.prototype.slice.call(child);for(var i=0;i<childArr.length;i++){parent.appendChild(childArr[i]);}}else{parent.appendChild(child);}
return child;}
function buildFragment(htmlString){var tempDiv=document.createElement('div');tempDiv.innerHTML='<br>'+htmlString;tempDiv.removeChild(tempDiv.firstChild);var fragment=document.createDocumentFragment();while(tempDiv.firstChild){fragment.appendChild(tempDiv.firstChild);}
return fragment;}
function contains(element1,element2){if((0,_metal.isDocument)(element1)){return element1.documentElement.contains(element2);}else{return element1.contains(element2);}}
function delegate(element,eventName,selectorOrTarget,callback,defaultListener){var customConfig=customEvents[eventName];if(customConfig&&customConfig.delegate){eventName=customConfig.originalEvent;callback=customConfig.handler.bind(customConfig,callback);}
if(defaultListener){callback=callback.bind();callback.defaultListener_=true;}
attachDelegateEvent_(element,eventName);if((0,_metal.isString)(selectorOrTarget)){addSelectorListener_(element,eventName,selectorOrTarget,callback);}else{addElementListener_(selectorOrTarget,eventName,callback);}
return new _DomDelegatedEventHandle2.default((0,_metal.isString)(selectorOrTarget)?element:selectorOrTarget,eventName,callback,(0,_metal.isString)(selectorOrTarget)?selectorOrTarget:null);}
function isAbleToInteractWith_(node,eventName,eventObj){if(eventObj&&eventName==='click'&&eventObj.button===2){return false;}
var matchesSelector=['BUTTON','INPUT','SELECT','TEXTAREA','FIELDSET'];if(eventName==='click'&&matchesSelector.indexOf(node.tagName)>-1){return!(node.disabled||parent(node,'fieldset[disabled]'));}
return true;}
function isNodeListLike(val){return(0,_metal.isDefAndNotNull)(val)&&typeof val.length==='number'&&typeof val.item==='function';}
function enterDocument(node){node&&append(document.body,node);}
function exitDocument(node){if(node&&node.parentNode){node.parentNode.removeChild(node);}}
function handleDelegateEvent_(event){normalizeDelegateEvent_(event);var ret=true;var container=event.currentTarget;var defFns=[];ret&=triggerDelegatedListeners_(container,event,defFns);ret&=triggerDefaultDelegatedListeners_(defFns,event);event.delegateTarget=null;event[LAST_CONTAINER]=container;return ret;}
function hasClass(element,className){if('classList'in element){return hasClassWithNative_(element,className);}else{return hasClassWithoutNative_(element,className);}}
function hasClassWithNative_(element,className){return className.indexOf(' ')===-1&&element.classList.contains(className);}
function hasClassWithoutNative_(element,className){return(' '+element.className+' ').indexOf(' '+className+' ')>=0&&className.split(' ').length===1;}
function isEmpty(element){return element.childNodes.length===0;}
function match(element,selector){if(!element||element.nodeType!==1){return false;}
var p=Element.prototype;var m=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector;if(m){return m.call(element,selector);}
return matchFallback_(element,selector);}
function matchFallback_(element,selector){var parentNode=element.parentNode;if(parentNode){var nodes=parentNode.querySelectorAll(selector);for(var i=0;i<nodes.length;++i){if(nodes[i]===element){return true;}}}
return false;}
function next(element,selector){do{element=element.nextSibling;if(element&&match(element,selector)){return element;}}while(element);return null;}
function normalizeDelegateEvent_(event){event.stopPropagation=stopPropagation_;event.stopImmediatePropagation=stopImmediatePropagation_;}
function on(element,eventName,callback,capture){if((0,_metal.isString)(element)){return delegate(document,eventName,element,callback);}
var customConfig=customEvents[eventName];if(customConfig&&customConfig.event){eventName=customConfig.originalEvent;callback=customConfig.handler.bind(customConfig,callback);}
element.addEventListener(eventName,callback,capture);return new _DomEventHandle2.default(element,eventName,callback,capture);}
function once(element,eventName,callback){var domEventHandle=on(element,eventName,function(){domEventHandle.removeListener();return callback.apply(this,arguments);});return domEventHandle;}
function parent(element,selector){return closest(element.parentNode,selector);}
function prepend(parent,child){if((0,_metal.isString)(child)){child=buildFragment(child);}
if(!isNodeListLike(child)&&!(0,_metal.isDefAndNotNull)(parent.firstChild)){return append(parent,child);}
if(isNodeListLike(child)){var childArr=Array.prototype.slice.call(child);for(var i=childArr.length-1;i>=0;i--){parent.insertBefore(childArr[i],parent.firstChild);}}else{parent.insertBefore(child,parent.firstChild);}
return child;}
function registerCustomEvent(eventName,customConfig){customEvents[eventName]=customConfig;}
function removeChildren(node){var child=void 0;while(child=node.firstChild){node.removeChild(child);}}
function removeClasses(elements,classes){if(!(0,_metal.isObject)(elements)||!(0,_metal.isString)(classes)){return;}
if(!elements.length){elements=[elements];}
for(var i=0;i<elements.length;i++){if('classList'in elements[i]){removeClassesWithNative_(elements[i],classes);}else{removeClassesWithoutNative_(elements[i],classes);}}}
function removeClassesWithNative_(element,classes){classes.split(' ').forEach(function(className){if(className){element.classList.remove(className);}});}
function removeClassesWithoutNative_(element,classes){var elementClassName=' '+element.className+' ';classes=classes.split(' ');for(var i=0;i<classes.length;i++){elementClassName=elementClassName.replace(' '+classes[i]+' ',' ');}
element.className=elementClassName.trim();}
function replace(element1,element2){if(element1&&element2&&element1!==element2&&element1.parentNode){element1.parentNode.insertBefore(element2,element1);element1.parentNode.removeChild(element1);}}
function stopImmediatePropagation_(){var event=this;event.stopped=true;event.stoppedImmediate=true;Event.prototype.stopImmediatePropagation.call(event);}
function stopPropagation_(){var event=this;event.stopped=true;Event.prototype.stopPropagation.call(event);}
function supportsEvent(element,eventName){if(customEvents[eventName]){return true;}
if((0,_metal.isString)(element)){if(!elementsByTag_[element]){elementsByTag_[element]=document.createElement(element);}
element=elementsByTag_[element];}
var tag=element.tagName;if(!supportCache_[tag]||!supportCache_[tag].hasOwnProperty(eventName)){supportCache_[tag]=supportCache_[tag]||{};supportCache_[tag][eventName]='on'+eventName in element;}
return supportCache_[tag][eventName];}
function triggerDefaultDelegatedListeners_(defFns,event){var ret=true;for(var i=0;i<defFns.length&&!event.defaultPrevented;i++){event.delegateTarget=defFns[i].element;ret&=defFns[i].fn(event);}
return ret;}
function triggerDelegatedListeners_(container,event,defaultFns){var ret=true;var currElement=event.target;var limit=container.parentNode;while(currElement&&currElement!==limit&&!event.stopped){if(isAbleToInteractWith_(currElement,event.type,event)){event.delegateTarget=currElement;ret&=triggerElementListeners_(currElement,event,defaultFns);ret&=triggerSelectorListeners_(container,currElement,event,defaultFns);}
currElement=currElement.parentNode;}
return ret;}
function toElement(selectorOrElement){if((0,_metal.isElement)(selectorOrElement)||(0,_metal.isDocument)(selectorOrElement)||(0,_metal.isDocumentFragment)(selectorOrElement)){return selectorOrElement;}else if((0,_metal.isString)(selectorOrElement)){if(selectorOrElement[0]==='#'&&selectorOrElement.indexOf(' ')===-1){return document.getElementById(selectorOrElement.substr(1));}else{return document.querySelector(selectorOrElement);}}else{return null;}}
function toggleClasses(element,classes){if(!(0,_metal.isObject)(element)||!(0,_metal.isString)(classes)){return;}
if('classList'in element){toggleClassesWithNative_(element,classes);}else{toggleClassesWithoutNative_(element,classes);}}
function toggleClassesWithNative_(element,classes){classes.split(' ').forEach(function(className){element.classList.toggle(className);});}
function toggleClassesWithoutNative_(element,classes){var elementClassName=' '+element.className+' ';classes=classes.split(' ');for(var i=0;i<classes.length;i++){var className=' '+classes[i]+' ';var classIndex=elementClassName.indexOf(className);if(classIndex===-1){elementClassName=''+elementClassName+classes[i]+' ';}else{var before=elementClassName.substring(0,classIndex);var after=elementClassName.substring(classIndex+className.length);elementClassName=before+' '+after;}}
element.className=elementClassName.trim();}
function triggerElementListeners_(element,event,defaultFns){var lastContainer=event[LAST_CONTAINER];if(!(0,_metal.isDef)(lastContainer)||!contains(lastContainer,element)){var listeners=_domData2.default.get(element,'listeners',{})[event.type];return triggerListeners_(listeners,event,element,defaultFns);}
return true;}
function triggerEvent(element,eventName,eventObj){if(isAbleToInteractWith_(element,eventName,eventObj)){var payload=document.createEvent('HTMLEvents');payload.initEvent(eventName,true,true);_metal.object.mixin(payload,eventObj);element.dispatchEvent(payload);}}
function triggerListeners_(listeners,event,element,defaultFns){var ret=true;listeners=listeners||[];for(var i=0;i<listeners.length&&!event.stoppedImmediate;i++){if(listeners[i].defaultListener_){defaultFns.push({element:element,fn:listeners[i]});}else{ret&=listeners[i](event);}}
return ret;}
function triggerSelectorListeners_(container,element,event,defaultFns){var ret=true;var data=_domData2.default.get(container,'delegating',{});var map=data[event.type].selectors;var selectors=Object.keys(map);for(var i=0;i<selectors.length&&!event.stoppedImmediate;i++){if(match(element,selectors[i])){var listeners=map[selectors[i]];ret&=triggerListeners_(listeners,event,element,defaultFns);}}
return ret;}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.5/lib/dom',['module','exports','require','./domNamed'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.dom=undefined;var _domNamed=require('./domNamed');Object.keys(_domNamed).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _domNamed[key];}});});var dom=_interopRequireWildcard(_domNamed);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}
exports.default=dom;exports.dom=dom;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/DomEventEmitterProxy",['module','exports','require','./dom','frontend-js-metal-web$metal-events'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _get=function get(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{return get(parent,property,receiver);}}else if("value"in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}};var _dom=require('./dom');var _metalEvents=require("frontend-js-metal-web$metal-events");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}
function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}
var DomEventEmitterProxy=function(_EventEmitterProxy){_inherits(DomEventEmitterProxy,_EventEmitterProxy);function DomEventEmitterProxy(){_classCallCheck(this,DomEventEmitterProxy);return _possibleConstructorReturn(this,(DomEventEmitterProxy.__proto__||Object.getPrototypeOf(DomEventEmitterProxy)).apply(this,arguments));}
_createClass(DomEventEmitterProxy,[{key:'addListener_',value:function addListener_(event,listener){if(this.originEmitter_.addEventListener){if(this.isDelegateEvent_(event)){var index=event.indexOf(':',9);var eventName=event.substring(9,index);var selector=event.substring(index+1);return(0,_dom.delegate)(this.originEmitter_,eventName,selector,listener);}else{return(0,_dom.on)(this.originEmitter_,event,listener);}}else{return _get(DomEventEmitterProxy.prototype.__proto__||Object.getPrototypeOf(DomEventEmitterProxy.prototype),'addListener_',this).call(this,event,listener);}}},{key:'isDelegateEvent_',value:function isDelegateEvent_(event){return event.substr(0,9)==='delegate:';}},{key:'isSupportedDomEvent_',value:function isSupportedDomEvent_(event){if(!this.originEmitter_||!this.originEmitter_.addEventListener){return true;}
return this.isDelegateEvent_(event)&&event.indexOf(':',9)!==-1||(0,_dom.supportsEvent)(this.originEmitter_,event);}},{key:'shouldProxyEvent_',value:function shouldProxyEvent_(event){return _get(DomEventEmitterProxy.prototype.__proto__||Object.getPrototypeOf(DomEventEmitterProxy.prototype),'shouldProxyEvent_',this).call(this,event)&&this.isSupportedDomEvent_(event);}}]);return DomEventEmitterProxy;}(_metalEvents.EventEmitterProxy);exports.default=DomEventEmitterProxy;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/features",['module','exports','require','./dom','frontend-js-metal-web$metal'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _dom=require('./dom');var _metal=require("frontend-js-metal-web$metal");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var features=function(){function features(){_classCallCheck(this,features);}
_createClass(features,null,[{key:'checkAnimationEventName',value:function checkAnimationEventName(){if(features.animationEventName_===undefined){features.animationEventName_={animation:features.checkAnimationEventName_('animation'),transition:features.checkAnimationEventName_('transition')};}
return features.animationEventName_;}},{key:'checkAnimationEventName_',value:function checkAnimationEventName_(type){var prefixes=['Webkit','MS','O',''];var typeTitleCase=_metal.string.replaceInterval(type,0,1,type.substring(0,1).toUpperCase());var suffixes=[typeTitleCase+'End',typeTitleCase+'End',typeTitleCase+'End',type+'end'];if(!features.animationElement_){features.animationElement_=document.createElement('div');}
for(var i=0;i<prefixes.length;i++){if(features.animationElement_.style[prefixes[i]+typeTitleCase]!==undefined){return prefixes[i].toLowerCase()+suffixes[i];}}
return type+'end';}},{key:'checkAttrOrderChange',value:function checkAttrOrderChange(){if(features.attrOrderChange_===undefined){var originalContent='<div data-component="" data-ref=""></div>';var element=document.createElement('div');(0,_dom.append)(element,originalContent);features.attrOrderChange_=originalContent!==element.innerHTML;}
return features.attrOrderChange_;}}]);return features;}();features.animationElement_=undefined;features.animationEventName_=undefined;features.attrOrderChange_=undefined;exports.default=features;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/globalEval",['module','exports','require','frontend-js-metal-web$metal','./dom'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");var _dom=require('./dom');function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var globalEval=function(){function globalEval(){_classCallCheck(this,globalEval);}
_createClass(globalEval,null,[{key:'run',value:function run(text,appendFn){var script=document.createElement('script');script.text=text;if(appendFn){appendFn(script);}else{document.head.appendChild(script);}
(0,_dom.exitDocument)(script);return script;}},{key:'runFile',value:function runFile(src,defaultFn,appendFn){var script=document.createElement('script');script.src=src;var callback=function callback(){(0,_dom.exitDocument)(script);defaultFn&&defaultFn();};(0,_dom.once)(script,'load',callback);(0,_dom.once)(script,'error',callback);if(appendFn){appendFn(script);}else{document.head.appendChild(script);}
return script;}},{key:'runScript',value:function runScript(script,defaultFn,appendFn){var callback=function callback(){defaultFn&&defaultFn();};if(script.type&&script.type!=='text/javascript'){_metal.async.nextTick(callback);return;}
(0,_dom.exitDocument)(script);if(script.src){return globalEval.runFile(script.src,defaultFn,appendFn);}else{_metal.async.nextTick(callback);return globalEval.run(script.text,appendFn);}}},{key:'runScriptsInElement',value:function runScriptsInElement(element,defaultFn,appendFn){var scripts=element.querySelectorAll('script');if(scripts.length){globalEval.runScriptsInOrder(scripts,0,defaultFn,appendFn);}else if(defaultFn){_metal.async.nextTick(defaultFn);}}},{key:'runScriptsInOrder',value:function runScriptsInOrder(scripts,index,defaultFn,appendFn){globalEval.runScript(scripts.item(index),function(){if(index<scripts.length-1){globalEval.runScriptsInOrder(scripts,index+1,defaultFn,appendFn);}else if(defaultFn){_metal.async.nextTick(defaultFn);}},appendFn);}}]);return globalEval;}();exports.default=globalEval;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-dom@2.16.5/lib/globalEvalStyles",['module','exports','require','frontend-js-metal-web$metal','./dom'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();var _metal=require("frontend-js-metal-web$metal");var _dom=require('./dom');function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var globalEvalStyles=function(){function globalEvalStyles(){_classCallCheck(this,globalEvalStyles);}
_createClass(globalEvalStyles,null,[{key:'run',value:function run(text,appendFn){var style=document.createElement('style');style.innerHTML=text;if(appendFn){appendFn(style);}else{document.head.appendChild(style);}
return style;}},{key:'runFile',value:function runFile(href,defaultFn,appendFn){var link=document.createElement('link');link.rel='stylesheet';link.href=href;globalEvalStyles.runStyle(link,defaultFn,appendFn);return link;}},{key:'runStyle',value:function runStyle(style,defaultFn,appendFn){var callback=function callback(){defaultFn&&defaultFn();};if(style.rel&&style.rel!=='stylesheet'){_metal.async.nextTick(callback);return;}
if(style.tagName==='STYLE'){_metal.async.nextTick(callback);}else{(0,_dom.once)(style,'load',callback);(0,_dom.once)(style,'error',callback);}
if(appendFn){appendFn(style);}else{document.head.appendChild(style);}
return style;}},{key:'runStylesInElement',value:function runStylesInElement(element,defaultFn,appendFn){var styles=element.querySelectorAll('style,link');if(styles.length===0&&defaultFn){_metal.async.nextTick(defaultFn);return;}
var loadCount=0;var callback=function callback(){if(defaultFn&&++loadCount===styles.length){_metal.async.nextTick(defaultFn);}};for(var i=0;i<styles.length;i++){globalEvalStyles.runStyle(styles[i],callback,appendFn);}}}]);return globalEvalStyles;}();exports.default=globalEvalStyles;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.5/lib/events',['module','exports','require','frontend-js-metal-web$metal','./dom','./features'],function(module,exports,require){var define=undefined;var _metal=require('frontend-js-metal-web$metal');var _dom=require('./dom');var _features=require('./features');var _features2=_interopRequireDefault(_features);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
function registerEvents(){var mouseEventMap={mouseenter:'mouseover',mouseleave:'mouseout',pointerenter:'pointerover',pointerleave:'pointerout'};Object.keys(mouseEventMap).forEach(function(eventName){(0,_dom.registerCustomEvent)(eventName,{delegate:true,handler:function handler(callback,event){var related=event.relatedTarget;var target=event.delegateTarget;if(!related||related!==target&&!(0,_dom.contains)(target,related)){event.customType=eventName;return callback(event);}},originalEvent:mouseEventMap[eventName]});});var animationEventMap={animation:'animationend',transition:'transitionend'};Object.keys(animationEventMap).forEach(function(eventType){var eventName=animationEventMap[eventType];(0,_dom.registerCustomEvent)(eventName,{event:true,delegate:true,handler:function handler(callback,event){event.customType=eventName;return callback(event);},originalEvent:_features2.default.checkAnimationEventName()[eventType]});});}
if(!(0,_metal.isServerSide)()){registerEvents();}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-dom@2.16.5/lib/all/dom',['module','exports','require','../dom','../domData','../DomEventEmitterProxy','../DomEventHandle','../features','../globalEval','../globalEvalStyles','../events'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.globalEvalStyles=exports.globalEval=exports.features=exports.DomEventHandle=exports.DomEventEmitterProxy=exports.domData=undefined;var _dom=require('../dom');Object.keys(_dom).forEach(function(key){if(key==="default"||key==="__esModule")return;Object.defineProperty(exports,key,{enumerable:true,get:function get(){return _dom[key];}});});var _dom2=_interopRequireDefault(_dom);var _domData=require('../domData');var _domData2=_interopRequireDefault(_domData);var _DomEventEmitterProxy=require('../DomEventEmitterProxy');var _DomEventEmitterProxy2=_interopRequireDefault(_DomEventEmitterProxy);var _DomEventHandle=require('../DomEventHandle');var _DomEventHandle2=_interopRequireDefault(_DomEventHandle);var _features=require('../features');var _features2=_interopRequireDefault(_features);var _globalEval=require('../globalEval');var _globalEval2=_interopRequireDefault(_globalEval);var _globalEvalStyles=require('../globalEvalStyles');var _globalEvalStyles2=_interopRequireDefault(_globalEvalStyles);require('../events');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
exports.domData=_domData2.default;exports.DomEventEmitterProxy=_DomEventEmitterProxy2.default;exports.DomEventHandle=_DomEventHandle2.default;exports.features=_features2.default;exports.globalEval=_globalEval2.default;exports.globalEvalStyles=_globalEvalStyles2.default;exports.default=_dom2.default;});