'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-incremental-dom@2.16.5/lib/render/render",['module','exports','require','./attributes','../callArgs','../children/children','../changes','frontend-js-metal-web$metal-dom','../data','frontend-js-metal-web$metal','../cleanup/unused','../incremental-dom-aop','frontend-js-metal-web$metal-component'],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;};}();exports.getComponentBeingRendered=getComponentBeingRendered;exports.isComponentTag_=isComponentTag_;exports.render=render;exports.renderChild=renderChild;exports.renderFunction=renderFunction;var _attributes=require('./attributes');var _callArgs=require('../callArgs');var _children=require('../children/children');var _changes=require('../changes');var _metalDom=require("frontend-js-metal-web$metal-dom");var _data=require('../data');var _metal=require("frontend-js-metal-web$metal");var _unused=require('../cleanup/unused');var _incrementalDomAop=require('../incremental-dom-aop');var _metalComponent=require("frontend-js-metal-web$metal-component");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;}
function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}
var renderingComponents_=[];var emptyChildren_=[];function addElementClasses_(elementClasses,config){if(config.class){config.class+=' '+elementClasses;config.class=removeDuplicateClasses_(config.class);}else{config.class=elementClasses;}}
function buildChildren_(children){return children.length===0?emptyChildren_:children;}
function cleanUpRender_(component){(0,_incrementalDomAop.stopInterception)();if(!(0,_data.getData)(component).rootElementReached){component.element=null;}
component.informRendered();finishedRenderingComponent_();}
function finishedRenderingComponent_(){renderingComponents_.pop();if(renderingComponents_.length===0){(0,_unused.disposeUnused)();}}
function generateKey_(component,key){var data=(0,_data.getData)(component);if(!data.rootElementReached&&data.config.key){key=data.config.key;}
return component.getRenderer().generateKey(component,key);}
function getChildComponents_(data){data.childComponents=data.childComponents||[];return data.childComponents;}
function getComponentBeingRendered(){return renderingComponents_[renderingComponents_.length-1];}
function getCurrentData(){var element=IncrementalDOM.currentElement();var comp=getComponentBeingRendered();var obj=(0,_data.getData)(comp);if(obj.rootElementReached&&comp.element&&element!==comp.element.parentNode){obj=_metalDom.domData.get(element);}
obj.icComponentsData=obj.icComponentsData||{};return obj.icComponentsData;}
function getRef_(owner,config){var compatData=(0,_metal.getCompatibilityModeData)();if(compatData){var ownerRenderer=owner.getRenderer();var renderers=compatData.renderers;var useKey=!renderers||renderers.indexOf(ownerRenderer)!==-1||renderers.indexOf(ownerRenderer.RENDERER_NAME)!==-1;if(useKey&&config.key&&!config.ref){return config.key;}}
return config.ref;}
function getSubComponent_(tagOrCtor,config,owner){var Ctor=tagOrCtor;if((0,_metal.isString)(Ctor)){Ctor=_metalComponent.ComponentRegistry.getConstructor(tagOrCtor);}
var ref=getRef_(owner,config);var comp=void 0;if((0,_metal.isDef)(ref)){comp=match_(owner.components[ref],Ctor,config,owner);owner.components[ref]=comp;owner.refs[ref]=comp;}else{var data=getCurrentData();var key=config.key;if(!(0,_metal.isDef)(key)){var type=(0,_metal.getUid)(Ctor,true);data.currCount=data.currCount||{};data.currCount[type]=data.currCount[type]||0;key='__METAL_IC__'+type+'_'+data.currCount[type]++;}
comp=match_(data.prevComps?data.prevComps[key]:null,Ctor,config,owner);data.currComps=data.currComps||{};data.currComps[key]=comp;}
return comp;}
function handleChildrenCaptured_(tree,_ref){var props=_ref.props,tag=_ref.tag;props.children=buildChildren_(tree.props.children);return renderFromTag_(tag,props);}
function handleChildRender_(node){if(node.tag&&isComponentTag_(node.tag)){node.props.children=buildChildren_(node.props.children);renderFromTag_(node.tag,node.props,(0,_children.getOwner)(node));return true;}}
function handleInterceptedAttributesCall_(element,name,value){(0,_attributes.applyAttribute)(getComponentBeingRendered(),element,name,value);}
function handleInterceptedOpenCall_(tag){if(isComponentTag_(tag)){return handleSubComponentCall_.apply(undefined,arguments);}else{return handleRegularCall_.apply(undefined,arguments);}}
function handleRegularCall_(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}
var config=(0,_callArgs.buildConfigFromCall)(args);var tag=args[0];var comp=getComponentBeingRendered();var owner=comp;if((0,_children.isChildTag)(tag)){owner=tag.owner;tag=tag.tag;}
config.key=generateKey_(comp,config.key);if(!(0,_data.getData)(comp).rootElementReached){var elementClasses=comp.getDataManager().get(comp,'elementClasses');if(elementClasses){addElementClasses_(elementClasses,config);}}
(0,_attributes.convertListenerNamesToFns)(comp,config);var call=(0,_callArgs.buildCallFromConfig)(tag,config);var node=(0,_incrementalDomAop.getOriginalFn)('elementOpen').apply(undefined,_toConsumableArray(call));resetNodeData_(node);updateElementIfNotReached_(comp,node);if((0,_metal.isDefAndNotNull)(config.ref)){owner.refs[config.ref]=node;}
owner.getRenderer().handleNodeRendered(node);return node;}
function handleSubComponentCall_(){for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}
(0,_children.captureChildren)(getComponentBeingRendered(),handleChildrenCaptured_,{props:(0,_callArgs.buildConfigFromCall)(args),tag:args[0]});}
function inheritElementClasses_(parent,config){var parentData=(0,_data.getData)(parent);var parentConfig=parentData.config;if(!parentData.rootElementReached&&parentConfig&&(0,_metal.isString)(parentConfig.elementClasses)){var currentClasses='';if((0,_metal.isString)(config.elementClasses)){currentClasses=config.elementClasses+' ';}
config.elementClasses=currentClasses+parentConfig.elementClasses;}}
function isComponentTag_(tag){return(0,_metal.isFunction)(tag)||(0,_metal.isString)(tag)&&tag[0]===tag[0].toUpperCase();}
function isMatch_(comp,Ctor,owner){if(!comp||comp.constructor!==Ctor||comp.isDisposed()){return false;}
return(0,_data.getData)(comp).owner===owner;}
function match_(comp,Ctor,config,owner){if(isMatch_(comp,Ctor,owner)){comp.startSkipUpdates();comp.getDataManager().replaceNonInternal(comp,config);comp.stopSkipUpdates();}else{comp=new Ctor(config,false);}
(0,_data.getData)(comp).config=config;return comp;}
function prepareRender_(component){renderingComponents_.push(component);var data=(0,_data.getData)(component);resetComponentsData_(data.icComponentsData);(0,_changes.clearChanges)(data);data.rootElementReached=false;component.refs={};if(data.childComponents){(0,_unused.schedule)(data.childComponents);data.childComponents=null;}
(0,_incrementalDomAop.startInterception)({attributes:handleInterceptedAttributesCall_,elementOpen:handleInterceptedOpenCall_});}
function removeDuplicateClasses_(classString){var classes=[];var all=classString.split(/\s+/);var used={};for(var i=0;i<all.length;i++){if(!used[all[i]]){used[all[i]]=true;classes.push(all[i]);}}
return classes.join(' ');}
function render(component){prepareRender_(component);component.getRenderer().renderIncDom(component);cleanUpRender_(component);}
function renderChild(child){(0,_children.renderChildTree)(child,handleChildRender_);}
function renderFromTag_(tag,config,owner){if((0,_metal.isString)(tag)||tag.prototype.getRenderer){var comp=renderSubComponent_(tag,config,owner);updateElementIfNotReached_(getComponentBeingRendered(),comp.element);return comp.element;}else{return tag(config);}}
function renderFunction(renderer,fnOrCtor,dataOrElement,parent){if(!_metalComponent.Component.isComponentCtor(fnOrCtor)){var fn=fnOrCtor;var TempComponent=function(_Component){_inherits(TempComponent,_Component);function TempComponent(){_classCallCheck(this,TempComponent);return _possibleConstructorReturn(this,(TempComponent.__proto__||Object.getPrototypeOf(TempComponent)).apply(this,arguments));}
_createClass(TempComponent,[{key:'created',value:function created(){var parent=getComponentBeingRendered();if(parent){updateContext_(this,parent);}}},{key:'render',value:function render(){fn(this.getInitialConfig());}}]);return TempComponent;}(_metalComponent.Component);TempComponent.RENDERER=renderer;fnOrCtor=TempComponent;}
return _metalComponent.Component.render(fnOrCtor,dataOrElement,parent);}
function renderSubComponent_(tagOrCtor,config,owner){var parent=getComponentBeingRendered();owner=owner||parent;inheritElementClasses_(parent,config);var comp=getSubComponent_(tagOrCtor,config,owner);updateContext_(comp,parent);var data=(0,_data.getData)(comp);data.parent=parent;data.owner=owner;var parentData=(0,_data.getData)(parent);getChildComponents_(parentData).push(comp);if(!config.key&&!parentData.rootElementReached){config.key=parentData.config.key;}
if(comp.portalElement&&(0,_metal.isServerSide)()){return comp;}
if(!comp.portalElement){comp.getRenderer().renderInsidePatch(comp);}
if(!comp.wasRendered){comp.renderComponent();}
return comp;}
function resetComponentsData_(data){if(data){data.prevComps=data.currComps;data.currComps=null;data.currCount=null;}}
function resetNodeData_(node){if(_metalDom.domData.has(node)){resetComponentsData_(_metalDom.domData.get(node).icComponentsData);}}
function updateContext_(comp,parent){var context=comp.context;var childContext=parent.getChildContext?parent.getChildContext():null;_metal.object.mixin(context,parent.context,childContext);comp.context=context;}
function updateElementIfNotReached_(component,node){var data=(0,_data.getData)(component);if(!data.rootElementReached){data.rootElementReached=true;if(component.element!==node){component.element=node;}}}});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-incremental-dom@2.16.5/lib/render/patch',['module','exports','require','frontend-js-metal-web$metal-dom','../data','./render'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.getPatchingComponent=getPatchingComponent;exports.patch=patch;var _metalDom=require('frontend-js-metal-web$metal-dom');var _data=require('../data');var _render=require('./render');var patchingComponents_=[];function buildParentIfNecessary_(element){if(!element||!element.parentNode){var parent={};if(typeof document!=='undefined'){parent=document.createElement('div');}
if(element){(0,_metalDom.append)(parent,element);}
return parent;}}
function callPatch_(component,element,outer){patchingComponents_.push(component);var data=(0,_data.getData)(component);if(!data.render){data.render=_render.render.bind(null,component);}
var patchFn=outer?IncrementalDOM.patchOuter:IncrementalDOM.patch;patchFn(element,data.render);patchingComponents_.pop();}
function getPatchingComponent(){return patchingComponents_[patchingComponents_.length-1];}
function patch(component){if(!tryPatchEmptyWithParent_(component)){if(!tryPatchWithNoParent_(component)){var element=component.element;callPatch_(component,element,true);}}}
function tryPatchEmptyWithParent_(component){var data=(0,_data.getData)(component);if(!component.element&&data.parent){data.parent.getRenderer().patch(data.parent);return true;}}
function tryPatchWithNoParent_(component){var tempParent=buildParentIfNecessary_(component.element);if(tempParent){callPatch_(component,tempParent);(0,_metalDom.exitDocument)(component.element);if(component.element&&component.inDocument){var attach=component.getAttachData();component.attachElement(attach.parent,attach.sibling);}
return true;}}});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-incremental-dom@2.16.5/lib/IncrementalDomRenderer",['module','exports','require','./incremental-dom','./changes','./data','./children/children','./render/patch','./render/render','frontend-js-metal-web$metal-component'],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;};}();require('./incremental-dom');var _changes=require('./changes');var _data=require('./data');var _children=require('./children/children');var _patch2=require('./render/patch');var _render=require('./render/render');var _metalComponent=require("frontend-js-metal-web$metal-component");function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}
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 IncrementalDomRenderer=function(_ComponentRenderer$co){_inherits(IncrementalDomRenderer,_ComponentRenderer$co);function IncrementalDomRenderer(){_classCallCheck(this,IncrementalDomRenderer);return _possibleConstructorReturn(this,(IncrementalDomRenderer.__proto__||Object.getPrototypeOf(IncrementalDomRenderer)).apply(this,arguments));}
_createClass(IncrementalDomRenderer,[{key:'buildShouldUpdateArgs',value:function buildShouldUpdateArgs(changes){return[changes.props];}},{key:'dispose',value:function dispose(component){var data=(0,_data.getData)(component);var ref=data.config.ref;var owner=data.owner;if(owner&&owner.components&&owner.components[ref]===component){delete owner.components[ref];}
if(data.childComponents){for(var i=0;i<data.childComponents.length;i++){var child=data.childComponents[i];if(!child.isDisposed()){if(!child.portalElement){child.element=null;}
child.dispose();}}}
(0,_data.clearData)(component);}},{key:'generateKey',value:function generateKey(component,key){return key;}},{key:'getConfig',value:function getConfig(component){return(0,_data.getData)(component).config;}},{key:'getData',value:function getData(component){return(0,_data.getData)(component);}},{key:'getPatchingComponent',value:function getPatchingComponent(){return(0,_patch2.getPatchingComponent)();}},{key:'handleNodeRendered',value:function handleNodeRendered(){}},{key:'isIncDomNode',value:function isIncDomNode(node){return!!(0,_children.getOwner)(node);}},{key:'patch',value:function patch(component){(0,_patch2.patch)(component);}},{key:'render',value:function render(component,dataOrElement,parent){if(component[_metalComponent.Component.COMPONENT_FLAG]){this.patch(component);}else{return(0,_render.renderFunction)(this,component,dataOrElement,parent);}}},{key:'renderChild',value:function renderChild(child){(0,_render.renderChild)(child);}},{key:'renderIncDom',value:function renderIncDom(component){if(component.render){component.render();}else{IncrementalDOM.elementVoid('div');}}},{key:'renderInsidePatch',value:function renderInsidePatch(component){var changes=(0,_changes.getChanges)(component);var shouldRender=!component.wasRendered||this.shouldUpdate(component,changes)||IncrementalDOM.currentPointer()!==component.element;if(shouldRender){this.willUpdate_(component,changes);(0,_render.render)(component);}else if(component.element){this.skipRender();}}},{key:'setUp',value:function setUp(component){component.context={};component.components={};component.refs={};var data=(0,_data.getData)(component);data.config=component.getInitialConfig();(0,_changes.trackChanges)(component);}},{key:'shouldUpdate',value:function shouldUpdate(component,changes){if(!changes){return false;}
if(component.shouldUpdate){return component.shouldUpdate.apply(component,_toConsumableArray(this.buildShouldUpdateArgs(changes)));}
return true;}},{key:'skipNextChildrenDisposal',value:function skipNextChildrenDisposal(component){(0,_data.getData)(component).childComponents=null;}},{key:'skipRender',value:function skipRender(){IncrementalDOM.skipNode();}},{key:'update',value:function update(component,data){var changes=(0,_changes.getChanges)(component);if(data.forceUpdate||this.shouldUpdate(component,changes)){this.willUpdate_(component,changes);this.patch(component);}}},{key:'willUpdate_',value:function willUpdate_(component,changes){if(!component.wasRendered||!changes){return;}
component.informWillUpdate.apply(component,_toConsumableArray(this.buildShouldUpdateArgs(changes)));}}]);return IncrementalDomRenderer;}(_metalComponent.ComponentRenderer.constructor);var renderer=new IncrementalDomRenderer();renderer.RENDERER_NAME='incremental-dom';exports.default=renderer;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-incremental-dom@2.16.5/lib/all/incremental-dom',['module','exports','require','../html/HTML2IncDom','../IncrementalDomRenderer'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.HTML2IncDom=undefined;var _HTML2IncDom=require('../html/HTML2IncDom');var _HTML2IncDom2=_interopRequireDefault(_HTML2IncDom);var _IncrementalDomRenderer=require('../IncrementalDomRenderer');var _IncrementalDomRenderer2=_interopRequireDefault(_IncrementalDomRenderer);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
exports.HTML2IncDom=_HTML2IncDom2.default;exports.default=_IncrementalDomRenderer2.default;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-soy-bundle@2.16.5/lib/bundle",['module','exports','require','frontend-js-metal-web$metal-incremental-dom'],function(module,exports,require){var define=undefined;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;};require("frontend-js-metal-web$metal-incremental-dom");(function(){if(!this.goog){this.CLOSURE_NO_DEPS=true;this.goog=this.goog||{};var COMPILED=false;var goog=this.goog||{};goog.global=this;goog.global.CLOSURE_UNCOMPILED_DEFINES;goog.global.CLOSURE_DEFINES;goog.isDef=function(val){return val!==void 0;};goog.exportPath_=function(name,opt_object,opt_objectToExportTo){var parts=name.split('.');var cur=opt_objectToExportTo||goog.global;if(!(parts[0]in cur)&&cur.execScript){cur.execScript('var '+parts[0]);}
for(var part;parts.length&&(part=parts.shift());){if(!parts.length&&goog.isDef(opt_object)){cur[part]=opt_object;}else if(cur[part]){cur=cur[part];}else{cur=cur[part]={};}}};goog.define=function(name,defaultValue){var value=defaultValue;if(!COMPILED){if(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,name)){value=goog.global.CLOSURE_UNCOMPILED_DEFINES[name];}else if(goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,name)){value=goog.global.CLOSURE_DEFINES[name];}}
goog.exportPath_(name,value);};goog.define('goog.DEBUG',true);goog.define('goog.LOCALE','en');goog.define('goog.TRUSTED_SITE',true);goog.define('goog.STRICT_MODE_COMPATIBLE',false);goog.define('goog.DISALLOW_TEST_ONLY_CODE',COMPILED&&!goog.DEBUG);goog.define('goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING',false);goog.provide=function(name){if(!COMPILED){if(goog.isProvided_(name)){throw Error('Namespace "'+name+'" already declared.');}}
goog.constructNamespace_(name);};goog.constructNamespace_=function(name,opt_obj){if(!COMPILED){delete goog.implicitNamespaces_[name];var namespace=name;while(namespace=namespace.substring(0,namespace.lastIndexOf('.'))){if(goog.getObjectByName(namespace)){break;}
goog.implicitNamespaces_[namespace]=true;}}
goog.exportPath_(name,opt_obj);};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;goog.module=function(name){if(!goog.isString(name)||!name||name.search(goog.VALID_MODULE_RE_)==-1){throw Error('Invalid module identifier');}
if(!goog.isInModuleLoader_()){throw Error('Module '+name+' has been loaded incorrectly.');}
if(goog.moduleLoaderState_.moduleName){throw Error('goog.module may only be called once per module.');}
goog.moduleLoaderState_.moduleName=name;if(!COMPILED){if(goog.isProvided_(name)){throw Error('Namespace "'+name+'" already declared.');}
delete goog.implicitNamespaces_[name];}};goog.module.get=function(name){return goog.module.getInternal_(name);};goog.module.getInternal_=function(name){if(!COMPILED){if(goog.isProvided_(name)){return name in goog.loadedModules_?goog.loadedModules_[name]:goog.getObjectByName(name);}else{return null;}}};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return goog.moduleLoaderState_!=null;};goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_()){throw new Error('goog.module.declareLegacyNamespace must be called from '+'within a goog.module');}
if(!COMPILED&&!goog.moduleLoaderState_.moduleName){throw Error('goog.module must be called prior to '+'goog.module.declareLegacyNamespace.');}
goog.moduleLoaderState_.declareLegacyNamespace=true;};goog.setTestOnly=function(opt_message){if(goog.DISALLOW_TEST_ONLY_CODE){opt_message=opt_message||'';throw Error('Importing test-only code into non-debug environment'+(opt_message?': '+opt_message:'.'));}};if(!COMPILED){goog.isProvided_=function(name){return name in goog.loadedModules_||!goog.implicitNamespaces_[name]&&goog.isDefAndNotNull(goog.getObjectByName(name));};goog.implicitNamespaces_={'goog.module':true};}
goog.getObjectByName=function(name,opt_obj){var parts=name.split('.');var cur=opt_obj||goog.global;for(var part;part=parts.shift();){if(goog.isDefAndNotNull(cur[part])){cur=cur[part];}else{return null;}}
return cur;};goog.globalize=function(obj,opt_global){var global=opt_global||goog.global;for(var x in obj){global[x]=obj[x];}};goog.addDependency=function(relPath,provides,requires,opt_loadFlags){if(goog.DEPENDENCIES_ENABLED){var provide,require;var path=relPath.replace(/\\/g,'/');var deps=goog.dependencies_;if(!opt_loadFlags||typeof opt_loadFlags==='boolean'){opt_loadFlags=opt_loadFlags?{'module':'goog'}:{};}
for(var i=0;provide=provides[i];i++){deps.nameToPath[provide]=path;deps.pathIsModule[path]=opt_loadFlags['module']=='goog';}
for(var j=0;require=requires[j];j++){if(!(path in deps.requires)){deps.requires[path]={};}
deps.requires[path][require]=true;}}};goog.define('goog.ENABLE_DEBUG_LOADER',true);goog.logToConsole_=function(msg){if(goog.global.console){goog.global.console['error'](msg);}};goog.require=function(name){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_){goog.maybeProcessDeferredDep_(name);}
if(goog.isProvided_(name)){if(goog.isInModuleLoader_()){return goog.module.getInternal_(name);}else{return null;}}
if(goog.ENABLE_DEBUG_LOADER){var path=goog.getPathFromDeps_(name);if(path){goog.writeScripts_(path);return null;}}
var errorMessage='goog.require could not find: '+name;goog.logToConsole_(errorMessage);throw Error(errorMessage);}};goog.basePath='';goog.global.CLOSURE_BASE_PATH;goog.global.CLOSURE_NO_DEPS;goog.global.CLOSURE_IMPORT_SCRIPT;goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error('unimplemented abstract method');};goog.addSingletonGetter=function(ctor){ctor.getInstance=function(){if(ctor.instance_){return ctor.instance_;}
if(goog.DEBUG){goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=ctor;}
return ctor.instance_=new ctor();};};goog.instantiatedSingletons_=[];goog.define('goog.LOAD_MODULE_USING_EVAL',true);goog.define('goog.SEAL_MODULE_EXPORTS',goog.DEBUG);goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;if(goog.DEPENDENCIES_ENABLED){goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}};goog.inHtmlDocument_=function(){var doc=goog.global.document;return doc!=null&&'write'in doc;};goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)){goog.basePath=goog.global.CLOSURE_BASE_PATH;return;}else if(!goog.inHtmlDocument_()){return;}
var doc=goog.global.document;var scripts=doc.getElementsByTagName('SCRIPT');for(var i=scripts.length-1;i>=0;--i){var script=scripts[i];var src=script.src;var qmark=src.lastIndexOf('?');var l=qmark==-1?src.length:qmark;if(src.substr(l-7,7)=='base.js'){goog.basePath=src.substr(0,l-7);return;}}};goog.importScript_=function(src,opt_sourceText){var importScript=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;if(importScript(src,opt_sourceText)){goog.dependencies_.written[src]=true;}};goog.IS_OLD_IE_=!!(!goog.global.atob&&goog.global.document&&goog.global.document.all);goog.importModule_=function(src){var bootstrap='goog.retrieveAndExecModule_("'+src+'");';if(goog.importScript_('',bootstrap)){goog.dependencies_.written[src]=true;}};goog.queuedModules_=[];goog.wrapModule_=function(srcUrl,scriptText){if(!goog.LOAD_MODULE_USING_EVAL||!goog.isDef(goog.global.JSON)){return ''+'goog.loadModule(function(exports) {'+'"use strict";'+scriptText+'\n'+
';return exports'+'});'+'\n//# sourceURL='+srcUrl+'\n';}else{return ''+'goog.loadModule('+goog.global.JSON.stringify(scriptText+'\n//# sourceURL='+srcUrl+'\n')+');';}};goog.loadQueuedModules_=function(){var count=goog.queuedModules_.length;if(count>0){var queue=goog.queuedModules_;goog.queuedModules_=[];for(var i=0;i<count;i++){var path=queue[i];goog.maybeProcessDeferredPath_(path);}}};goog.maybeProcessDeferredDep_=function(name){if(goog.isDeferredModule_(name)&&goog.allDepsAreAvailable_(name)){var path=goog.getPathFromDeps_(name);goog.maybeProcessDeferredPath_(goog.basePath+path);}};goog.isDeferredModule_=function(name){var path=goog.getPathFromDeps_(name);if(path&&goog.dependencies_.pathIsModule[path]){var abspath=goog.basePath+path;return abspath in goog.dependencies_.deferred;}
return false;};goog.allDepsAreAvailable_=function(name){var path=goog.getPathFromDeps_(name);if(path&&path in goog.dependencies_.requires){for(var requireName in goog.dependencies_.requires[path]){if(!goog.isProvided_(requireName)&&!goog.isDeferredModule_(requireName)){return false;}}}
return true;};goog.maybeProcessDeferredPath_=function(abspath){if(abspath in goog.dependencies_.deferred){var src=goog.dependencies_.deferred[abspath];delete goog.dependencies_.deferred[abspath];goog.globalEval(src);}};goog.loadModuleFromUrl=function(url){goog.retrieveAndExecModule_(url);};goog.loadModule=function(moduleDef){var previousState=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:undefined,declareLegacyNamespace:false};var exports;if(goog.isFunction(moduleDef)){exports=moduleDef.call(goog.global,{});}else if(goog.isString(moduleDef)){exports=goog.loadModuleFromSource_.call(goog.global,moduleDef);}else{throw Error('Invalid module definition');}
var moduleName=goog.moduleLoaderState_.moduleName;if(!goog.isString(moduleName)||!moduleName){throw Error('Invalid module name \"'+moduleName+'\"');}
if(goog.moduleLoaderState_.declareLegacyNamespace){goog.constructNamespace_(moduleName,exports);}else if(goog.SEAL_MODULE_EXPORTS&&Object.seal){Object.seal(exports);}
goog.loadedModules_[moduleName]=exports;}finally{goog.moduleLoaderState_=previousState;}};goog.loadModuleFromSource_=function(){'use strict';var exports={};eval(arguments[0]);return exports;};goog.writeScriptSrcNode_=function(src){goog.global.document.write('<script type="text/javascript" src="'+src+'"></'+'script>');};goog.appendScriptSrcNode_=function(src){var doc=goog.global.document;var scriptEl=doc.createElement('script');scriptEl.type='text/javascript';scriptEl.src=src;scriptEl.defer=false;scriptEl.async=false;doc.head.appendChild(scriptEl);};goog.writeScriptTag_=function(src,opt_sourceText){if(goog.inHtmlDocument_()){var doc=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&doc.readyState=='complete'){var isDeps=/\bdeps.js$/.test(src);if(isDeps){return false;}else{throw Error('Cannot write "'+src+'" after document load');}}
var isOldIE=goog.IS_OLD_IE_;if(opt_sourceText===undefined){if(!isOldIE){if(goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){goog.appendScriptSrcNode_(src);}else{goog.writeScriptSrcNode_(src);}}else{var state=" onreadystatechange='goog.onScriptLoad_(this, "+ ++goog.lastNonModuleScriptIndex_+")' ";doc.write('<script type="text/javascript" src="'+src+'"'+state+'></'+'script>');}}else{doc.write('<script type="text/javascript">'+opt_sourceText+'</'+'script>');}
return true;}else{return false;}};goog.lastNonModuleScriptIndex_=0;goog.onScriptLoad_=function(script,scriptIndex){if(script.readyState=='complete'&&goog.lastNonModuleScriptIndex_==scriptIndex){goog.loadQueuedModules_();}
return true;};goog.writeScripts_=function(pathToLoad){var scripts=[];var seenScript={};var deps=goog.dependencies_;function visitNode(path){if(path in deps.written){return;}
if(path in deps.visited){return;}
deps.visited[path]=true;if(path in deps.requires){for(var requireName in deps.requires[path]){if(!goog.isProvided_(requireName)){if(requireName in deps.nameToPath){visitNode(deps.nameToPath[requireName]);}else{throw Error('Undefined nameToPath for '+requireName);}}}}
if(!(path in seenScript)){seenScript[path]=true;scripts.push(path);}}
visitNode(pathToLoad);for(var i=0;i<scripts.length;i++){var path=scripts[i];goog.dependencies_.written[path]=true;}
var moduleState=goog.moduleLoaderState_;goog.moduleLoaderState_=null;for(var i=0;i<scripts.length;i++){var path=scripts[i];if(path){if(!deps.pathIsModule[path]){goog.importScript_(goog.basePath+path);}else{goog.importModule_(goog.basePath+path);}}else{goog.moduleLoaderState_=moduleState;throw Error('Undefined script input');}}
goog.moduleLoaderState_=moduleState;};goog.getPathFromDeps_=function(rule){if(rule in goog.dependencies_.nameToPath){return goog.dependencies_.nameToPath[rule];}else{return null;}};goog.findBasePath_();if(!goog.global.CLOSURE_NO_DEPS){goog.importScript_(goog.basePath+'deps.js');}}
goog.normalizePath_=function(path){var components=path.split('/');var i=0;while(i<components.length){if(components[i]=='.'){components.splice(i,1);}else if(i&&components[i]=='..'&&components[i-1]&&components[i-1]!='..'){components.splice(--i,2);}else{i++;}}
return components.join('/');};goog.loadFileSync_=function(src){if(goog.global.CLOSURE_LOAD_FILE_SYNC){return goog.global.CLOSURE_LOAD_FILE_SYNC(src);}else{var xhr=new goog.global['XMLHttpRequest']();xhr.open('get',src,false);xhr.send();return xhr.responseText;}};goog.retrieveAndExecModule_=function(src){if(!COMPILED){var originalPath=src;src=goog.normalizePath_(src);var importScript=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_;var scriptText=goog.loadFileSync_(src);if(scriptText!=null){var execModuleScript=goog.wrapModule_(src,scriptText);var isOldIE=goog.IS_OLD_IE_;if(isOldIE){goog.dependencies_.deferred[originalPath]=execModuleScript;goog.queuedModules_.push(originalPath);}else{importScript(src,execModuleScript);}}else{throw new Error('load of '+src+'failed');}}};goog.typeOf=function(value){var s=typeof value==='undefined'?'undefined':_typeof(value);if(s=='object'){if(value){if(value instanceof Array){return 'array';}else if(value instanceof Object){return s;}
var className=Object.prototype.toString.call(value);if(className=='[object Window]'){return 'object';}
if(className=='[object Array]'||typeof value.length=='number'&&typeof value.splice!='undefined'&&typeof value.propertyIsEnumerable!='undefined'&&!value.propertyIsEnumerable('splice')){return 'array';}
if(className=='[object Function]'||typeof value.call!='undefined'&&typeof value.propertyIsEnumerable!='undefined'&&!value.propertyIsEnumerable('call')){return 'function';}}else{return 'null';}}else if(s=='function'&&typeof value.call=='undefined'){return 'object';}
return s;};goog.isNull=function(val){return val===null;};goog.isDefAndNotNull=function(val){return val!=null;};goog.isArray=function(val){return goog.typeOf(val)=='array';};goog.isArrayLike=function(val){var type=goog.typeOf(val);return type=='array'||type=='object'&&typeof val.length=='number';};goog.isDateLike=function(val){return goog.isObject(val)&&typeof val.getFullYear=='function';};goog.isString=function(val){return typeof val=='string';};goog.isBoolean=function(val){return typeof val=='boolean';};goog.isNumber=function(val){return typeof val=='number';};goog.isFunction=function(val){return goog.typeOf(val)=='function';};goog.isObject=function(val){var type=typeof val==='undefined'?'undefined':_typeof(val);return type=='object'&&val!=null||type=='function';};goog.getUid=function(obj){return obj[goog.UID_PROPERTY_]||(obj[goog.UID_PROPERTY_]=++goog.uidCounter_);};goog.hasUid=function(obj){return!!obj[goog.UID_PROPERTY_];};goog.removeUid=function(obj){if(obj!==null&&'removeAttribute'in obj){obj.removeAttribute(goog.UID_PROPERTY_);}
try{delete obj[goog.UID_PROPERTY_];}catch(ex){}};goog.UID_PROPERTY_='closure_uid_'+(Math.random()*1e9>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;goog.removeHashCode=goog.removeUid;goog.cloneObject=function(obj){var type=goog.typeOf(obj);if(type=='object'||type=='array'){if(obj.clone){return obj.clone();}
var clone=type=='array'?[]:{};for(var key in obj){clone[key]=goog.cloneObject(obj[key]);}
return clone;}
return obj;};goog.bindNative_=function(fn,selfObj,var_args){return(fn.call.apply(fn.bind,arguments));};goog.bindJs_=function(fn,selfObj,var_args){if(!fn){throw new Error();}
if(arguments.length>2){var boundArgs=Array.prototype.slice.call(arguments,2);return function(){var newArgs=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(newArgs,boundArgs);return fn.apply(selfObj,newArgs);};}else{return function(){return fn.apply(selfObj,arguments);};}};goog.bind=function(fn,selfObj,var_args){if(Function.prototype.bind&&Function.prototype.bind.toString().indexOf('native code')!=-1){goog.bind=goog.bindNative_;}else{goog.bind=goog.bindJs_;}
return goog.bind.apply(null,arguments);};goog.partial=function(fn,var_args){var args=Array.prototype.slice.call(arguments,1);return function(){var newArgs=args.slice();newArgs.push.apply(newArgs,arguments);return fn.apply(this,newArgs);};};goog.mixin=function(target,source){for(var x in source){target[x]=source[x];}};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date();};goog.globalEval=function(script){if(goog.global.execScript){goog.global.execScript(script,'JavaScript');}else if(goog.global.eval){if(goog.evalWorksForGlobals_==null){goog.global.eval('var _evalTest_ = 1;');if(typeof goog.global['_evalTest_']!='undefined'){try{delete goog.global['_evalTest_'];}catch(ignore){}
goog.evalWorksForGlobals_=true;}else{goog.evalWorksForGlobals_=false;}}
if(goog.evalWorksForGlobals_){goog.global.eval(script);}else{var doc=goog.global.document;var scriptElt=doc.createElement('SCRIPT');scriptElt.type='text/javascript';scriptElt.defer=false;scriptElt.appendChild(doc.createTextNode(script));doc.body.appendChild(scriptElt);doc.body.removeChild(scriptElt);}}else{throw Error('goog.globalEval not available');}};goog.evalWorksForGlobals_=null;goog.cssNameMapping_;goog.cssNameMappingStyle_;goog.getCssName=function(className,opt_modifier){var getMapping=function getMapping(cssName){return goog.cssNameMapping_[cssName]||cssName;};var renameByParts=function renameByParts(cssName){var parts=cssName.split('-');var mapped=[];for(var i=0;i<parts.length;i++){mapped.push(getMapping(parts[i]));}
return mapped.join('-');};var rename;if(goog.cssNameMapping_){rename=goog.cssNameMappingStyle_=='BY_WHOLE'?getMapping:renameByParts;}else{rename=function rename(a){return a;};}
if(opt_modifier){return className+'-'+rename(opt_modifier);}else{return rename(className);}};goog.setCssNameMapping=function(mapping,opt_style){goog.cssNameMapping_=mapping;goog.cssNameMappingStyle_=opt_style;};goog.global.CLOSURE_CSS_NAME_MAPPING;if(!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING){goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING;}
goog.getMsg=function(str,opt_values){if(opt_values){str=str.replace(/\{\$([^}]+)}/g,function(match,key){return opt_values!=null&&key in opt_values?opt_values[key]:match;});}
return str;};goog.getMsgWithFallback=function(a,b){return a;};goog.exportSymbol=function(publicPath,object,opt_objectToExportTo){goog.exportPath_(publicPath,object,opt_objectToExportTo);};goog.exportProperty=function(object,publicName,symbol){object[publicName]=symbol;};goog.inherits=function(childCtor,parentCtor){function tempCtor(){}
tempCtor.prototype=parentCtor.prototype;childCtor.superClass_=parentCtor.prototype;childCtor.prototype=new tempCtor();childCtor.prototype.constructor=childCtor;childCtor.base=function(me,methodName,var_args){var args=new Array(arguments.length-2);for(var i=2;i<arguments.length;i++){args[i-2]=arguments[i];}
return parentCtor.prototype[methodName].apply(me,args);};};goog.base=function(me,opt_methodName,var_args){var caller=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!caller){throw Error('arguments.caller not defined.  goog.base() cannot be used '+'with strict mode code. See '+'http://www.ecma-international.org/ecma-262/5.1/#sec-C');}
if(caller.superClass_){var ctorArgs=new Array(arguments.length-1);for(var i=1;i<arguments.length;i++){ctorArgs[i-1]=arguments[i];}
return caller.superClass_.constructor.apply(me,ctorArgs);}
var args=new Array(arguments.length-2);for(var i=2;i<arguments.length;i++){args[i-2]=arguments[i];}
var foundCaller=false;for(var ctor=me.constructor;ctor;ctor=ctor.superClass_&&ctor.superClass_.constructor){if(ctor.prototype[opt_methodName]===caller){foundCaller=true;}else if(foundCaller){return ctor.prototype[opt_methodName].apply(me,args);}}
if(me[opt_methodName]===caller){return me.constructor.prototype[opt_methodName].apply(me,args);}else{throw Error('goog.base called from a method of one name '+'to a method of a different name');}};goog.scope=function(fn){fn.call(goog.global);};if(!COMPILED){goog.global['COMPILED']=COMPILED;}
goog.provide('goog.string');goog.string.subs=function(str,var_args){var splitParts=str.split('%s');var returnString='';var subsArguments=Array.prototype.slice.call(arguments,1);while(subsArguments.length&&splitParts.length>1){returnString+=splitParts.shift()+subsArguments.shift();}
return returnString+splitParts.join('%s');};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(str){if(goog.string.contains(str,'&')){if(!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&'document'in goog.global){return goog.string.unescapeEntitiesUsingDom_(str);}else{return goog.string.unescapePureXmlEntities_(str);}}
return str;};goog.string.unescapeEntitiesUsingDom_=function(str,opt_document){var seen={'&amp;':'&','&lt;':'<','&gt;':'>','&quot;':'"'};var div;if(opt_document){div=opt_document.createElement('div');}else{div=goog.global.document.createElement('div');}
return str.replace(goog.string.HTML_ENTITY_PATTERN_,function(s,entity){var value=seen[s];if(value){return value;}
if(entity.charAt(0)=='#'){var n=Number('0'+entity.substr(1));if(!isNaN(n)){value=String.fromCharCode(n);}}
if(!value){div.innerHTML=s+' ';value=div.firstChild.nodeValue.slice(0,-1);}
return seen[s]=value;});};goog.string.unescapePureXmlEntities_=function(str){return str.replace(/&([^;]+);/g,function(s,entity){switch(entity){case 'amp':return '&';case 'lt':return '<';case 'gt':return '>';case 'quot':return '"';default:if(entity.charAt(0)=='#'){var n=Number('0'+entity.substr(1));if(!isNaN(n)){return String.fromCharCode(n);}}
return s;}});};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.contains=function(str,subString){return str.indexOf(subString)!=-1;};goog.string.htmlEscape=function(str,opt_isLikelyToContainHtmlChars){if(opt_isLikelyToContainHtmlChars){str=str.replace(goog.string.AMP_RE_,'&amp;').replace(goog.string.LT_RE_,'&lt;').replace(goog.string.GT_RE_,'&gt;').replace(goog.string.QUOT_RE_,'&quot;').replace(goog.string.SINGLE_QUOTE_RE_,'&#39;').replace(goog.string.NULL_RE_,'&#0;');if(goog.string.DETECT_DOUBLE_ESCAPING){str=str.replace(goog.string.E_RE_,'&#101;');}
return str;}else{if(!goog.string.ALL_RE_.test(str))return str;if(str.indexOf('&')!=-1){str=str.replace(goog.string.AMP_RE_,'&amp;');}
if(str.indexOf('<')!=-1){str=str.replace(goog.string.LT_RE_,'&lt;');}
if(str.indexOf('>')!=-1){str=str.replace(goog.string.GT_RE_,'&gt;');}
if(str.indexOf('"')!=-1){str=str.replace(goog.string.QUOT_RE_,'&quot;');}
if(str.indexOf('\'')!=-1){str=str.replace(goog.string.SINGLE_QUOTE_RE_,'&#39;');}
if(str.indexOf('\x00')!=-1){str=str.replace(goog.string.NULL_RE_,'&#0;');}
if(goog.string.DETECT_DOUBLE_ESCAPING&&str.indexOf('e')!=-1){str=str.replace(goog.string.E_RE_,'&#101;');}
return str;}};goog.debug={};goog.debug.runtimeType=function(value){if(value instanceof Function){return value.displayName||value.name||'unknown type name';}else if(value instanceof Object){return value.constructor.displayName||value.constructor.name||Object.prototype.toString.call(value);}else{return value===null?'null':typeof value==='undefined'?'undefined':_typeof(value);}};goog.debug.Error=function(opt_msg){if(Error.captureStackTrace){Error.captureStackTrace(this,goog.debug.Error);}else{var stack=new Error().stack;if(stack){this.stack=stack;}}
if(opt_msg){this.message=String(opt_msg);}
this.reportErrorToServer=true;};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name='CustomError';goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.provide('goog.i18n.bidi');goog.provide('goog.i18n.bidi.Dir');goog.provide('goog.i18n.bidi.DirectionalString');goog.provide('goog.i18n.bidi.Format');goog.define('goog.i18n.bidi.FORCE_RTL',false);goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(goog.LOCALE.substring(0,2).toLowerCase()=='ar'||goog.LOCALE.substring(0,2).toLowerCase()=='fa'||goog.LOCALE.substring(0,2).toLowerCase()=='he'||goog.LOCALE.substring(0,2).toLowerCase()=='iw'||goog.LOCALE.substring(0,2).toLowerCase()=='ps'||goog.LOCALE.substring(0,2).toLowerCase()=='sd'||goog.LOCALE.substring(0,2).toLowerCase()=='ug'||goog.LOCALE.substring(0,2).toLowerCase()=='ur'||goog.LOCALE.substring(0,2).toLowerCase()=='yi')&&(goog.LOCALE.length==2||goog.LOCALE.substring(2,3)=='-'||goog.LOCALE.substring(2,3)=='_')||goog.LOCALE.length>=3&&goog.LOCALE.substring(0,3).toLowerCase()=='ckb'&&(goog.LOCALE.length==3||goog.LOCALE.substring(3,4)=='-'||goog.LOCALE.substring(3,4)=='_');goog.i18n.bidi.Format={LRE:'\u202A',RLE:'\u202B',PDF:'\u202C',LRM:'\u200E',RLM:'\u200F'};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT='right';goog.i18n.bidi.LEFT='left';goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(givenDir,opt_noNeutral){if(typeof givenDir=='number'){return givenDir>0?goog.i18n.bidi.Dir.LTR:givenDir<0?goog.i18n.bidi.Dir.RTL:opt_noNeutral?null:goog.i18n.bidi.Dir.NEUTRAL;}else if(givenDir==null){return null;}else{return givenDir?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR;}};goog.i18n.bidi.ltrChars_='A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF'+'\u200E\u2C00-\uFB1C\uFE00-\uFE6F\uFEFD-\uFFFF';goog.i18n.bidi.rtlChars_='\u0591-\u06EF\u06FA-\u07FF\u200F\uFB1D-\uFDFF\uFE70-\uFEFC';goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;goog.i18n.bidi.stripHtmlIfNeeded_=function(str,opt_isStripNeeded){return opt_isStripNeeded?str.replace(goog.i18n.bidi.htmlSkipReg_,''):str;};goog.i18n.bidi.rtlCharReg_=new RegExp('['+goog.i18n.bidi.rtlChars_+']');goog.i18n.bidi.ltrCharReg_=new RegExp('['+goog.i18n.bidi.ltrChars_+']');goog.i18n.bidi.hasAnyRtl=function(str,opt_isHtml){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml));};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;goog.i18n.bidi.hasAnyLtr=function(str,opt_isHtml){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml));};goog.i18n.bidi.ltrRe_=new RegExp('^['+goog.i18n.bidi.ltrChars_+']');goog.i18n.bidi.rtlRe_=new RegExp('^['+goog.i18n.bidi.rtlChars_+']');goog.i18n.bidi.isRtlChar=function(str){return goog.i18n.bidi.rtlRe_.test(str);};goog.i18n.bidi.isLtrChar=function(str){return goog.i18n.bidi.ltrRe_.test(str);};goog.i18n.bidi.isNeutralChar=function(str){return!goog.i18n.bidi.isLtrChar(str)&&!goog.i18n.bidi.isRtlChar(str);};goog.i18n.bidi.ltrDirCheckRe_=new RegExp('^[^'+goog.i18n.bidi.rtlChars_+']*['+goog.i18n.bidi.ltrChars_+']');goog.i18n.bidi.rtlDirCheckRe_=new RegExp('^[^'+goog.i18n.bidi.ltrChars_+']*['+goog.i18n.bidi.rtlChars_+']');goog.i18n.bidi.startsWithRtl=function(str,opt_isHtml){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml));};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;goog.i18n.bidi.startsWithLtr=function(str,opt_isHtml){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml));};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(str,opt_isHtml){str=goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml);return goog.i18n.bidi.isRequiredLtrRe_.test(str)||!goog.i18n.bidi.hasAnyLtr(str)&&!goog.i18n.bidi.hasAnyRtl(str);};goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp('['+goog.i18n.bidi.ltrChars_+'][^'+goog.i18n.bidi.rtlChars_+']*$');goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp('['+goog.i18n.bidi.rtlChars_+'][^'+goog.i18n.bidi.ltrChars_+']*$');goog.i18n.bidi.endsWithLtr=function(str,opt_isHtml){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml));};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;goog.i18n.bidi.endsWithRtl=function(str,opt_isHtml){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml));};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=new RegExp('^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|'+'.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))'+'(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)','i');goog.i18n.bidi.isRtlLanguage=function(lang){return goog.i18n.bidi.rtlLocalesRe_.test(lang);};goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;goog.i18n.bidi.guardBracketInText=function(s,opt_isRtlContext){var useRtl=opt_isRtlContext===undefined?goog.i18n.bidi.hasAnyRtl(s):opt_isRtlContext;var mark=useRtl?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return s.replace(goog.i18n.bidi.bracketGuardTextRe_,mark+'$&'+mark);};goog.i18n.bidi.enforceRtlInHtml=function(html){if(html.charAt(0)=='<'){return html.replace(/<\w+/,'$& dir=rtl');}
return '\n<span dir=rtl>'+html+'</span>';};goog.i18n.bidi.enforceRtlInText=function(text){return goog.i18n.bidi.Format.RLE+text+goog.i18n.bidi.Format.PDF;};goog.i18n.bidi.enforceLtrInHtml=function(html){if(html.charAt(0)=='<'){return html.replace(/<\w+/,'$& dir=ltr');}
return '\n<span dir=ltr>'+html+'</span>';};goog.i18n.bidi.enforceLtrInText=function(text){return goog.i18n.bidi.Format.LRE+text+goog.i18n.bidi.Format.PDF;};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;goog.i18n.bidi.mirrorCSS=function(cssStr){return cssStr.replace(goog.i18n.bidi.dimensionsRe_,':$1 $4 $3 $2').replace(goog.i18n.bidi.leftRe_,'%%%%').replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT);};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;goog.i18n.bidi.normalizeHebrewQuote=function(str){return str.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,'$1\u05F4').replace(goog.i18n.bidi.singleQuoteSubstituteRe_,'$1\u05F3');};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=0.40;goog.i18n.bidi.estimateDirection=function(str,opt_isHtml){var rtlCount=0;var totalCount=0;var hasWeaklyLtr=false;var tokens=goog.i18n.bidi.stripHtmlIfNeeded_(str,opt_isHtml).split(goog.i18n.bidi.wordSeparatorRe_);for(var i=0;i<tokens.length;i++){var token=tokens[i];if(goog.i18n.bidi.startsWithRtl(token)){rtlCount++;totalCount++;}else if(goog.i18n.bidi.isRequiredLtrRe_.test(token)){hasWeaklyLtr=true;}else if(goog.i18n.bidi.hasAnyLtr(token)){totalCount++;}else if(goog.i18n.bidi.hasNumeralsRe_.test(token)){hasWeaklyLtr=true;}}
return totalCount==0?hasWeaklyLtr?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:rtlCount/totalCount>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR;};goog.i18n.bidi.detectRtlDirectionality=function(str,opt_isHtml){return goog.i18n.bidi.estimateDirection(str,opt_isHtml)==goog.i18n.bidi.Dir.RTL;};goog.i18n.bidi.setElementDirAndAlign=function(element,dir){if(element){dir=goog.i18n.bidi.toDir(dir);if(dir){element.style.textAlign=dir==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;element.dir=dir==goog.i18n.bidi.Dir.RTL?'rtl':'ltr';}}};goog.i18n.bidi.setElementDirByTextDirectionality=function(element,text){switch(goog.i18n.bidi.estimateDirection(text)){case goog.i18n.bidi.Dir.LTR:element.dir='ltr';break;case goog.i18n.bidi.Dir.RTL:element.dir='rtl';break;default:element.removeAttribute('dir');}};goog.i18n.bidi.DirectionalString=function(){};goog.i18n.bidi.DirectionalString.prototype.implementsGoogI18nBidiDirectionalString;goog.i18n.bidi.DirectionalString.prototype.getDirection;goog.provide('goog.asserts');goog.define('goog.asserts.ENABLE_ASSERTS',goog.DEBUG);goog.asserts.AssertionError=function(messagePattern,messageArgs){messageArgs.unshift(messagePattern);goog.debug.Error.call(this,goog.string.subs.apply(null,messageArgs));messageArgs.shift();this.messagePattern=messagePattern;};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name='AssertionError';goog.asserts.DEFAULT_ERROR_HANDLER=function(e){throw e;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;goog.asserts.doAssertFailure_=function(defaultMessage,defaultArgs,givenMessage,givenArgs){var message='Assertion failed';if(givenMessage){message+=': '+givenMessage;var args=givenArgs;}else if(defaultMessage){message+=': '+defaultMessage;args=defaultArgs;}
var e=new goog.asserts.AssertionError(''+message,args||[]);goog.asserts.errorHandler_(e);};goog.asserts.setErrorHandler=function(errorHandler){if(goog.asserts.ENABLE_ASSERTS){goog.asserts.errorHandler_=errorHandler;}};goog.asserts.assert=function(condition,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!condition){goog.asserts.doAssertFailure_('',null,opt_message,Array.prototype.slice.call(arguments,2));}
return condition;};goog.asserts.fail=function(opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS){goog.asserts.errorHandler_(new goog.asserts.AssertionError('Failure'+(opt_message?': '+opt_message:''),Array.prototype.slice.call(arguments,1)));}};goog.asserts.assertNumber=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(value)){goog.asserts.doAssertFailure_('Expected number but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertString=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!goog.isString(value)){goog.asserts.doAssertFailure_('Expected string but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertFunction=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(value)){goog.asserts.doAssertFailure_('Expected function but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertObject=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!goog.isObject(value)){goog.asserts.doAssertFailure_('Expected object but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertArray=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!goog.isArray(value)){goog.asserts.doAssertFailure_('Expected array but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertBoolean=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(value)){goog.asserts.doAssertFailure_('Expected boolean but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertElement=function(value,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&(!goog.isObject(value)||value.nodeType!=goog.dom.NodeType.ELEMENT)){goog.asserts.doAssertFailure_('Expected Element but got %s: %s.',[goog.typeOf(value),value],opt_message,Array.prototype.slice.call(arguments,2));}
return(value);};goog.asserts.assertInstanceof=function(value,type,opt_message,var_args){if(goog.asserts.ENABLE_ASSERTS&&!(value instanceof type)){goog.asserts.doAssertFailure_('Expected instanceof %s but got %s.',[goog.asserts.getType_(type),goog.asserts.getType_(value)],opt_message,Array.prototype.slice.call(arguments,3));}
return value;};goog.asserts.assertObjectPrototypeIsIntact=function(){for(var key in Object.prototype){goog.asserts.fail(key+' should not be enumerable in Object.prototype.');}};goog.asserts.getType_=function(value){if(value instanceof Function){return value.displayName||value.name||'unknown type name';}else if(value instanceof Object){return value.constructor.displayName||value.constructor.name||Object.prototype.toString.call(value);}else{return value===null?'null':typeof value==='undefined'?'undefined':_typeof(value);}};goog.string.StringBuffer=function(opt_a1,var_args){if(opt_a1!=null){this.append.apply(this,arguments);}};goog.string.StringBuffer.prototype.buffer_='';goog.string.StringBuffer.prototype.set=function(s){this.buffer_=''+s;};goog.string.StringBuffer.prototype.append=function(a1,opt_a2,var_args){this.buffer_+=String(a1);if(opt_a2!=null){for(var i=1;i<arguments.length;i++){this.buffer_+=arguments[i];}}
return this;};goog.string.StringBuffer.prototype.clear=function(){this.buffer_='';};goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length;};goog.string.StringBuffer.prototype.toString=function(){return this.buffer_;};goog.soy={};goog.soy.data={};goog.soy.data.SanitizedContentKind={HTML:goog.DEBUG?{sanitizedContentKindHtml:true}:{},JS:goog.DEBUG?{sanitizedContentJsChars:true}:{},URI:goog.DEBUG?{sanitizedContentUri:true}:{},TRUSTED_RESOURCE_URI:goog.DEBUG?{sanitizedContentTrustedResourceUri:true}:{},ATTRIBUTES:goog.DEBUG?{sanitizedContentHtmlAttribute:true}:{},STYLE:goog.DEBUG?{sanitizedContentStyle:true}:{},CSS:goog.DEBUG?{sanitizedContentCss:true}:{},TEXT:goog.DEBUG?{sanitizedContentKindText:true}:{}};goog.soy.data.SanitizedContent=function(){throw new Error('Do not instantiate directly');};goog.soy.data.SanitizedContent.prototype.contentKind;goog.soy.data.SanitizedContent.prototype.contentDir=null;goog.soy.data.SanitizedContent.prototype.content;goog.soy.data.SanitizedContent.prototype.getContent=function(){return this.content;};goog.soy.data.SanitizedContent.prototype.toString=function(){return this.content;};goog.soy.data.SanitizedContent.prototype.toSafeHtml=function(){if(this.contentKind===goog.soy.data.SanitizedContentKind.TEXT){return goog.html.SafeHtml.htmlEscape(this.toString());}
if(this.contentKind!==goog.soy.data.SanitizedContentKind.HTML){throw new Error('Sanitized content was not of kind TEXT or HTML.');}
return goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from('Soy SanitizedContent of kind HTML produces '+'SafeHtml-contract-compliant value.'),this.toString(),this.contentDir);};goog.soy.data.SanitizedContent.prototype.toSafeUrl=function(){if(this.contentKind!==goog.soy.data.SanitizedContentKind.URI){throw new Error('Sanitized content was not of kind URI.');}
return goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from('Soy SanitizedContent of kind URI produces '+'SafeHtml-contract-compliant value.'),this.toString());};goog.soy.data.UnsanitizedText=function(content,opt_contentDir){this.content=String(content);this.contentDir=opt_contentDir!=null?opt_contentDir:null;};goog.inherits(goog.soy.data.UnsanitizedText,goog.soy.data.SanitizedContent);goog.soy.data.UnsanitizedText.prototype.contentKind=goog.soy.data.SanitizedContentKind.TEXT;goog.soy.data.SanitizedHtml=function(){goog.soy.data.SanitizedHtml.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedHtml,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedHtml.prototype.contentKind=goog.soy.data.SanitizedContentKind.HTML;goog.soy.data.SanitizedHtml.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedHtml||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.SafeHtml;};goog.soy.data.SanitizedJs=function(){goog.soy.data.SanitizedJs.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedJs,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedJs.prototype.contentKind=goog.soy.data.SanitizedContentKind.JS;goog.soy.data.SanitizedJs.prototype.contentDir=goog.i18n.bidi.Dir.LTR;goog.soy.data.SanitizedJs.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedJs||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.SafeScript;};goog.soy.data.SanitizedUri=function(){goog.soy.data.SanitizedUri.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedUri,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedUri.prototype.contentKind=goog.soy.data.SanitizedContentKind.URI;goog.soy.data.SanitizedUri.prototype.contentDir=goog.i18n.bidi.Dir.LTR;goog.soy.data.SanitizedUri.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedUri||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.SafeUrl||value instanceof goog.html.TrustedResourceUrl||value instanceof goog.Uri;};goog.soy.data.SanitizedTrustedResourceUri=function(){goog.soy.data.SanitizedTrustedResourceUri.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedTrustedResourceUri,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedTrustedResourceUri.prototype.contentKind=goog.soy.data.SanitizedContentKind.TRUSTED_RESOURCE_URI;goog.soy.data.SanitizedTrustedResourceUri.prototype.contentDir=goog.i18n.bidi.Dir.LTR;goog.soy.data.SanitizedTrustedResourceUri.prototype.toTrustedResourceUrl=function(){return goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from('Soy SanitizedContent of kind TRUSTED_RESOURCE_URI produces '+'TrustedResourceUrl-contract-compliant value.'),this.toString());};goog.soy.data.SanitizedTrustedResourceUri.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedTrustedResourceUri||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.TrustedResourceUrl;};goog.soy.data.SanitizedHtmlAttribute=function(){goog.soy.data.SanitizedHtmlAttribute.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedHtmlAttribute,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedHtmlAttribute.prototype.contentKind=goog.soy.data.SanitizedContentKind.ATTRIBUTES;goog.soy.data.SanitizedHtmlAttribute.prototype.contentDir=goog.i18n.bidi.Dir.LTR;goog.soy.data.SanitizedHtmlAttribute.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedHtmlAttribute||value instanceof goog.soy.data.UnsanitizedText;};goog.soy.data.SanitizedStyle=function(){goog.soy.data.SanitizedStyle.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedStyle,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedStyle.prototype.contentKind=goog.soy.data.SanitizedContentKind.STYLE;goog.soy.data.SanitizedStyle.prototype.contentDir=goog.i18n.bidi.Dir.LTR;goog.soy.data.SanitizedStyle.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedStyle||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.SafeStyle;};goog.soy.data.SanitizedCss=function(){goog.soy.data.SanitizedCss.base(this,'constructor');};goog.inherits(goog.soy.data.SanitizedCss,goog.soy.data.SanitizedContent);goog.soy.data.SanitizedCss.prototype.contentKind=goog.soy.data.SanitizedContentKind.CSS;goog.soy.data.SanitizedCss.prototype.contentDir=goog.i18n.bidi.Dir.LTR;goog.soy.data.SanitizedCss.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedCss||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.SafeStyle||value instanceof goog.html.SafeStyleSheet;};goog.soy.data.SanitizedCss.prototype.toSafeStyleSheet=function(){var value=this.toString();goog.asserts.assert(/[@{]|^\s*$/.test(value),'value doesn\'t look like style sheet: '+value);return goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract(goog.string.Const.from('Soy SanitizedCss produces SafeStyleSheet-contract-compliant '+'value.'),value);};(function(){var soy={};soy.asserts={};soy.esc={};var soydata={};soy.StringBuilder=goog.string.StringBuffer;soydata.SanitizedContentKind=goog.soy.data.SanitizedContentKind;soydata.isContentKind=function(value,contentKind){return value!=null&&value.contentKind===contentKind;};soydata.SanitizedHtml=function(){soydata.SanitizedHtml.base(this,'constructor');};goog.inherits(soydata.SanitizedHtml,goog.soy.data.SanitizedHtml);soydata.SanitizedHtml.from=function(value){if(value!=null&&value.contentKind===goog.soy.data.SanitizedContentKind.HTML){goog.asserts.assert(value.constructor===goog.soy.data.SanitizedHtml||value.constructor===soydata.SanitizedHtml);return(value);}
if(value instanceof goog.html.SafeHtml){return soydata.VERY_UNSAFE.ordainSanitizedHtml(goog.html.SafeHtml.unwrap(value),value.getDirection());}
return soydata.VERY_UNSAFE.ordainSanitizedHtml(soy.esc.$$escapeHtmlHelper(String(value)),soydata.getContentDir(value));};soydata.SanitizedHtml.isCompatibleWith=function(value){return goog.isString(value)||value instanceof goog.soy.data.SanitizedHtml||value instanceof goog.soy.data.UnsanitizedText||value instanceof goog.html.SafeHtml;};soydata.SanitizedUri=function(){goog.soy.data.SanitizedContent.call(this);};goog.inherits(soydata.SanitizedUri,goog.soy.data.SanitizedContent);soydata.SanitizedUri.prototype.contentKind=soydata.SanitizedContentKind.URI;soydata.SanitizedUri.prototype.contentDir=goog.i18n.bidi.Dir.LTR;soydata.UnsanitizedText=function(content,opt_contentDir){this.content=String(content);this.contentDir=opt_contentDir!=null?opt_contentDir:null;};goog.inherits(soydata.UnsanitizedText,goog.soy.data.UnsanitizedText);soydata.UnsanitizedText.prototype.contentKind=soydata.SanitizedContentKind.TEXT;soydata.$$EMPTY_STRING_={VALUE:''};soydata.$$makeSanitizedContentFactory_=function(ctor){function InstantiableCtor(content){this.content=content;}
InstantiableCtor.prototype=ctor.prototype;function sanitizedContentFactory(content,opt_contentDir){var result=new InstantiableCtor(String(content));if(opt_contentDir!==undefined){result.contentDir=opt_contentDir;}
return result;}
return sanitizedContentFactory;};soydata.$$makeSanitizedContentFactoryWithDefaultDirOnly_=function(ctor){function InstantiableCtor(content){this.content=content;}
InstantiableCtor.prototype=ctor.prototype;function sanitizedContentFactory(content){var result=new InstantiableCtor(String(content));return result;}
return sanitizedContentFactory;};soydata.markUnsanitizedText=function(content,opt_contentDir){return new soydata.UnsanitizedText(content,opt_contentDir);};soydata.VERY_UNSAFE={};soydata.VERY_UNSAFE.ordainSanitizedUri=soydata.$$makeSanitizedContentFactoryWithDefaultDirOnly_(soydata.SanitizedUri);soy.$$augmentMap=function(baseMap,additionalMap){return soy.$$assignDefaults(soy.$$assignDefaults({},additionalMap),baseMap);};soy.$$assignDefaults=function(obj,defaults){for(var key in defaults){if(!(key in obj)){obj[key]=defaults[key];}}
return obj;};soy.$$checkMapKey=function(key){if(typeof key!='string'){throw Error('Map literal\'s key expression must evaluate to string'+' (encountered type "'+(typeof key==='undefined'?'undefined':_typeof(key))+'").');}
return key;};soy.$$getMapKeys=function(map){var mapKeys=[];for(var key in map){mapKeys.push(key);}
return mapKeys;};soy.$$checkNotNull=function(val){if(val==null){throw Error('unexpected null value');}
return val;};soy.$$getDelTemplateId=function(delTemplateName){return delTemplateName;};soy.$$DELEGATE_REGISTRY_PRIORITIES_={};soy.$$DELEGATE_REGISTRY_FUNCTIONS_={};soy.$$registerDelegateFn=function(delTemplateId,delTemplateVariant,delPriority,delFn){var mapKey='key_'+delTemplateId+':'+delTemplateVariant;var currPriority=soy.$$DELEGATE_REGISTRY_PRIORITIES_[mapKey];if(currPriority===undefined||delPriority>currPriority){soy.$$DELEGATE_REGISTRY_PRIORITIES_[mapKey]=delPriority;soy.$$DELEGATE_REGISTRY_FUNCTIONS_[mapKey]=delFn;}else if(delPriority==currPriority){throw Error('Encountered two active delegates with the same priority ("'+delTemplateId+':'+delTemplateVariant+'").');}else{}};soy.$$getDelegateFn=function(delTemplateId,delTemplateVariant,allowsEmptyDefault){var delFn=soy.$$DELEGATE_REGISTRY_FUNCTIONS_['key_'+delTemplateId+':'+delTemplateVariant];if(!delFn&&delTemplateVariant!=''){delFn=soy.$$DELEGATE_REGISTRY_FUNCTIONS_['key_'+delTemplateId+':'];}
if(delFn){return delFn;}else if(allowsEmptyDefault){return soy.$$EMPTY_TEMPLATE_FN_;}else{throw Error('Found no active impl for delegate call to "'+delTemplateId+':'+delTemplateVariant+'" (and not allowemptydefault="true").');}};soy.$$EMPTY_TEMPLATE_FN_=function(opt_data,opt_sb,opt_ijData){return '';};soy.$$truncate=function(str,maxLen,doAddEllipsis){str=String(str);if(str.length<=maxLen){return str;}
if(doAddEllipsis){if(maxLen>3){maxLen-=3;}else{doAddEllipsis=false;}}
if(soy.$$isHighSurrogate_(str.charAt(maxLen-1))&&soy.$$isLowSurrogate_(str.charAt(maxLen))){maxLen-=1;}
str=str.substring(0,maxLen);if(doAddEllipsis){str+='...';}
return str;};soy.$$isHighSurrogate_=function(ch){return 0xD800<=ch&&ch<=0xDBFF;};soy.$$isLowSurrogate_=function(ch){return 0xDC00<=ch&&ch<=0xDFFF;};soy.asserts.assertType=function(condition,paramName,param,jsDocTypeStr){if(goog.asserts.ENABLE_ASSERTS&&!condition){var msg='expected param '+paramName+' of type '+jsDocTypeStr+(goog.DEBUG?', but got '+goog.debug.runtimeType(param):'')+'.';goog.asserts.fail(msg);}
return param;};soy.esc.$$escapeHtmlHelper=function(v){return goog.string.htmlEscape(String(v));};soy.$$filterImageDataUri=function(value){return soydata.VERY_UNSAFE.ordainSanitizedUri(soy.esc.$$filterImageDataUriHelper(value));};soy.esc.$$FILTER_FOR_FILTER_IMAGE_DATA_URI_=/^data:image\/(?:bmp|gif|jpe?g|png|tiff|webp);base64,[a-z0-9+\/]+=*$/i;soy.esc.$$filterImageDataUriHelper=function(value){var str=String(value);if(!soy.esc.$$FILTER_FOR_FILTER_IMAGE_DATA_URI_.test(str)){goog.asserts.fail('Bad value `%s` for |filterImageDataUri',[str]);return 'data:image/gif;base64,zSoyz';}
return str;};var incrementaldom=IncrementalDOM;var soyIDOM={};soyIDOM.renderDynamicContent=function(expr){if(goog.isFunction(expr)){expr();}else if(expr!=null){incrementaldom.text(expr);}};soyIDOM.print=function(expr){if(expr instanceof soydata.SanitizedHtml){var el=incrementaldom.elementOpen('html-blob');var content=expr.toString();if(el.__innerHTML!==content){soy.renderHtml(el,expr);el.__innerHTML=content;}
incrementaldom.skip();incrementaldom.elementClose('html-blob');}else{soyIDOM.renderDynamicContent(expr);}};goog.loadModule(function(){goog.module('soy.idom');return soyIDOM;});goog.loadModule(function(){goog.module('soy');return soy;});goog.loadModule(function(){goog.module('soydata');return soydata;});goog.loadModule(function(){goog.module('soy.asserts');return soy;});})();goog.loadModule(function(){goog.module('incrementaldom');return IncrementalDOM;});}}).call(typeof exports!=='undefined'&&typeof global!=='undefined'?global:window);});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-soy@2.16.5/lib/SoyAop",['module','exports','require'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});var SoyAop={interceptFns_:[],getOriginalFn:function getOriginalFn(fn){return fn.originalFn?fn.originalFn:fn;},handleTemplateCall_:function handleTemplateCall_(originalFn,data,ignored,ijData){var interceptFn=SoyAop.interceptFns_[SoyAop.interceptFns_.length-1];if(interceptFn){return interceptFn.call(null,originalFn,data,ignored,ijData);}else{return originalFn.call(null,data,ignored,ijData);}},registerForInterception:function registerForInterception(templates,name){var originalFn=templates[name];if(!originalFn.originalFn){templates[name]=SoyAop.handleTemplateCall_.bind(null,originalFn);templates[name].originalFn=originalFn;}},startInterception:function startInterception(fn){SoyAop.interceptFns_.push(fn);},stopAllInterceptions:function stopAllInterceptions(){SoyAop.interceptFns_=[];},stopInterception:function stopInterception(){SoyAop.interceptFns_.pop();}};exports.default=SoyAop;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-soy@2.16.5/lib/Soy",['module','exports','require','frontend-js-metal-web$metal-soy-bundle','frontend-js-metal-web$metal-component','frontend-js-metal-web$metal','frontend-js-metal-web$metal-state','frontend-js-metal-web$metal-incremental-dom','./SoyAop'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.validators=exports.SoyAop=exports.Soy=exports.Config=undefined;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);}};require("frontend-js-metal-web$metal-soy-bundle");var _metalComponent=require("frontend-js-metal-web$metal-component");var _metal=require("frontend-js-metal-web$metal");var _metalState=require("frontend-js-metal-web$metal-state");var _metalIncrementalDom=require("frontend-js-metal-web$metal-incremental-dom");var _metalIncrementalDom2=_interopRequireDefault(_metalIncrementalDom);var _SoyAop=require('./SoyAop');var _SoyAop2=_interopRequireDefault(_SoyAop);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 ijData={};var Soy=function(_IncrementalDomRender){_inherits(Soy,_IncrementalDomRender);function Soy(){_classCallCheck(this,Soy);return _possibleConstructorReturn(this,(Soy.__proto__||Object.getPrototypeOf(Soy)).apply(this,arguments));}
_createClass(Soy,[{key:'getExtraDataConfig',value:function getExtraDataConfig(component){var elementTemplate=component.constructor.TEMPLATE;if(!(0,_metal.isFunction)(elementTemplate)){return;}
elementTemplate=_SoyAop2.default.getOriginalFn(elementTemplate);this.soyParamTypes_=elementTemplate.types||{};var keys=elementTemplate.params||[];var configs={};for(var i=0;i<keys.length;i++){if(!component[keys[i]]){configs[keys[i]]={};}}
return configs;}},{key:'buildTemplateData_',value:function buildTemplateData_(component,params){var _this2=this;var data=_metal.object.mixin({},this.getConfig(component));component.getStateKeys().forEach(function(key){var value=component[key];if(_this2.isHtmlParam_(component,key)){value=soyRenderer_.toIncDom(value);}
data[key]=value;});for(var i=0;i<params.length;i++){if(!data[params[i]]&&(0,_metal.isFunction)(component[params[i]])){data[params[i]]=component[params[i]].bind(component);}}
if((0,_metal.isFunction)(component.prepareStateForRender)){return component.prepareStateForRender(data)||data;}else{return data;}}},{key:'getTemplate',value:function getTemplate(namespace,templateName){return function(data,ignored,ijData){if(!goog.loadedModules_[namespace]){throw new Error('No template with namespace "'+namespace+'" has been loaded yet.');}
return goog.loadedModules_[namespace][templateName](data,ignored,ijData);};}},{key:'handleInterceptedCall_',value:function handleInterceptedCall_(originalFn){var data=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var args=[originalFn.componentCtor,null,[]];for(var key in data){if(Object.prototype.hasOwnProperty.call(data,key)){args.push(key,data[key]);}}
IncrementalDOM.elementVoid.apply(null,args);}},{key:'isHtmlParam_',value:function isHtmlParam_(component,name){var state=component.getDataManager().getStateInstance(component);if(state.getStateKeyConfig(name).isHtml){return true;}
var elementTemplate=_SoyAop2.default.getOriginalFn(component.constructor.TEMPLATE);var type=(elementTemplate.types||{})[name]||'';return type.split('|').indexOf('html')!==-1;}},{key:'register',value:function register(componentCtor,templates){var mainTemplate=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'render';componentCtor.RENDERER=soyRenderer_;componentCtor.TEMPLATE=_SoyAop2.default.getOriginalFn(templates[mainTemplate]);componentCtor.TEMPLATE.componentCtor=componentCtor;_SoyAop2.default.registerForInterception(templates,mainTemplate);_metalComponent.ComponentRegistry.register(componentCtor);}},{key:'renderIncDom',value:function renderIncDom(component){var elementTemplate=component.constructor.TEMPLATE;if((0,_metal.isFunction)(elementTemplate)&&!component.render){elementTemplate=_SoyAop2.default.getOriginalFn(elementTemplate);_SoyAop2.default.startInterception(this.handleInterceptedCall_);var data=this.buildTemplateData_(component,elementTemplate.params||[]);elementTemplate(data,null,ijData);_SoyAop2.default.stopInterception();}else{_get(Soy.prototype.__proto__||Object.getPrototypeOf(Soy.prototype),'renderIncDom',this).call(this,component);}}},{key:'setInjectedData',value:function setInjectedData(data){ijData=data||{};}},{key:'shouldUpdate',value:function shouldUpdate(component,changes){var should=_get(Soy.prototype.__proto__||Object.getPrototypeOf(Soy.prototype),'shouldUpdate',this).call(this,component,changes);if(!should||component.shouldUpdate){return should;}
var fn=component.constructor.TEMPLATE;var params=fn?_SoyAop2.default.getOriginalFn(fn).params:[];for(var i=0;i<params.length;i++){if(changes.props[params[i]]){return true;}}
return false;}},{key:'toHtmlString',value:function toHtmlString(incDomFn){var element=document.createElement('div');IncrementalDOM.patch(element,incDomFn);return element.innerHTML;}},{key:'toIncDom',value:function toIncDom(value){if((0,_metal.isObject)(value)&&(0,_metal.isString)(value.content)&&value.contentKind==='HTML'){value=value.content;}
if((0,_metal.isString)(value)){value=_metalIncrementalDom.HTML2IncDom.buildFn(value);}
return value;}}]);return Soy;}(_metalIncrementalDom2.default.constructor);var soyRenderer_=new Soy();soyRenderer_.RENDERER_NAME='soy';exports.default=soyRenderer_;exports.Config=_metalState.Config;exports.Soy=soyRenderer_;exports.SoyAop=_SoyAop2.default;exports.validators=_metalState.validators;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-position@2.1.2/lib/Geometry",['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 Geometry=function(){function Geometry(){_classCallCheck(this,Geometry);}
_createClass(Geometry,null,[{key:'intersectRect',value:function intersectRect(x0,y0,x1,y1,x2,y2,x3,y3){return!(x2>x1||x3<x0||y2>y1||y3<y0);}}]);return Geometry;}();exports.default=Geometry;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-position@2.1.2/lib/Position",['module','exports','require','frontend-js-metal-web$metal','./Geometry'],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 _metal2=_interopRequireDefault(_metal);var _Geometry=require('./Geometry');var _Geometry2=_interopRequireDefault(_Geometry);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");}}
var Position=function(){function Position(){_classCallCheck(this,Position);}
_createClass(Position,null,[{key:'getClientHeight',value:function getClientHeight(node){return this.getClientSize_(node,'Height');}},{key:'getClientSize_',value:function getClientSize_(node,prop){var el=node;if(_metal2.default.isWindow(node)){el=node.document.documentElement;}
if(_metal2.default.isDocument(node)){el=node.documentElement;}
return el['client'+prop];}},{key:'getClientWidth',value:function getClientWidth(node){return this.getClientSize_(node,'Width');}},{key:'getDocumentRegion_',value:function getDocumentRegion_(element){var height=this.getHeight(element);var width=this.getWidth(element);return this.makeRegion(height,height,0,width,0,width);}},{key:'getHeight',value:function getHeight(node){return this.getSize_(node,'Height');}},{key:'getOffsetLeft',value:function getOffsetLeft(node,ignoreTransform){return node.offsetLeft+(ignoreTransform?0:Position.getTranslation(node).left);}},{key:'getOffsetTop',value:function getOffsetTop(node,ignoreTransform){return node.offsetTop+(ignoreTransform?0:Position.getTranslation(node).top);}},{key:'getRegion',value:function getRegion(node,includeScroll){if(_metal2.default.isDocument(node)||_metal2.default.isWindow(node)){return this.getDocumentRegion_(node);}
return this.makeRegionFromBoundingRect_(node.getBoundingClientRect(),includeScroll);}},{key:'getScrollLeft',value:function getScrollLeft(node){if(_metal2.default.isWindow(node)){return node.pageXOffset;}
if(_metal2.default.isDocument(node)){return node.defaultView.pageXOffset;}
return node.scrollLeft;}},{key:'getScrollTop',value:function getScrollTop(node){if(_metal2.default.isWindow(node)){return node.pageYOffset;}
if(_metal2.default.isDocument(node)){return node.defaultView.pageYOffset;}
return node.scrollTop;}},{key:'getSize_',value:function getSize_(node,prop){if(_metal2.default.isWindow(node)){return this.getClientSize_(node,prop);}
if(_metal2.default.isDocument(node)){var docEl=node.documentElement;return Math.max(node.body['scroll'+prop],docEl['scroll'+prop],node.body['offset'+prop],docEl['offset'+prop],docEl['client'+prop]);}
return Math.max(node['client'+prop],node['scroll'+prop],node['offset'+prop]);}},{key:'getTransformMatrixValues',value:function getTransformMatrixValues(node){var style=getComputedStyle(node);var transform=style.msTransform||style.transform||style.webkitTransform||style.mozTransform;if(transform!=='none'){var values=[];var regex=/([\d-\.\s]+)/g;var matches=regex.exec(transform);while(matches){values.push(matches[1]);matches=regex.exec(transform);}
return values;}}},{key:'getTranslation',value:function getTranslation(node){var values=Position.getTransformMatrixValues(node);var translation={left:0,top:0};if(values){translation.left=parseFloat(values.length===6?values[4]:values[13]);translation.top=parseFloat(values.length===6?values[5]:values[14]);}
return translation;}},{key:'getWidth',value:function getWidth(node){return this.getSize_(node,'Width');}},{key:'intersectRegion',value:function intersectRegion(r1,r2){return _Geometry2.default.intersectRect(r1.top,r1.left,r1.bottom,r1.right,r2.top,r2.left,r2.bottom,r2.right);}},{key:'insideRegion',value:function insideRegion(r1,r2){return r2.top>=r1.top&&r2.bottom<=r1.bottom&&r2.right<=r1.right&&r2.left>=r1.left;}},{key:'insideViewport',value:function insideViewport(region){return this.insideRegion(this.getRegion(window),region);}},{key:'intersection',value:function intersection(r1,r2){if(!this.intersectRegion(r1,r2)){return null;}
var bottom=Math.min(r1.bottom,r2.bottom);var right=Math.min(r1.right,r2.right);var left=Math.max(r1.left,r2.left);var top=Math.max(r1.top,r2.top);return this.makeRegion(bottom,bottom-top,left,right,top,right-left);}},{key:'makeRegion',value:function makeRegion(bottom,height,left,right,top,width){return{bottom:bottom,height:height,left:left,right:right,top:top,width:width};}},{key:'makeRegionFromBoundingRect_',value:function makeRegionFromBoundingRect_(rect,includeScroll){var deltaX=includeScroll?Position.getScrollLeft(document):0;var deltaY=includeScroll?Position.getScrollTop(document):0;return this.makeRegion(rect.bottom+deltaY,rect.height,rect.left+deltaX,rect.right+deltaX,rect.top+deltaY,rect.width);}},{key:'pointInsideRegion',value:function pointInsideRegion(x,y,region){return Position.insideRegion(region,Position.makeRegion(y,0,x,x,y,0));}}]);return Position;}();exports.default=Position;});'use strict';Liferay.Loader.define("frontend-js-metal-web$metal-position@2.1.2/lib/Align",['module','exports','require','./Position'],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 _Position=require('./Position');var _Position2=_interopRequireDefault(_Position);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");}}
var Align=function(){function Align(){_classCallCheck(this,Align);}
_createClass(Align,null,[{key:'align',value:function align(element,alignElement,position){var autoBestAlign=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var bestRegion=void 0;if(autoBestAlign){var suggestion=this.suggestAlignBestRegion(element,alignElement,position);position=suggestion.position;bestRegion=suggestion.region;}else{bestRegion=this.getAlignRegion(element,alignElement,position);}
var computedStyle=window.getComputedStyle(element,null);if(computedStyle.getPropertyValue('position')!=='fixed'){bestRegion.top+=window.pageYOffset;bestRegion.left+=window.pageXOffset;var offsetParent=element;while(offsetParent=offsetParent.offsetParent){bestRegion.top-=_Position2.default.getOffsetTop(offsetParent);bestRegion.left-=_Position2.default.getOffsetLeft(offsetParent);}}
element.style.top=bestRegion.top+'px';element.style.left=bestRegion.left+'px';return position;}},{key:'getAlignBestRegion',value:function getAlignBestRegion(element,alignElement,position){return Align.suggestAlignBestRegion(element,alignElement,position).region;}},{key:'getAlignRegion',value:function getAlignRegion(element,alignElement,position){var r1=_Position2.default.getRegion(alignElement);var r2=_Position2.default.getRegion(element);var top=0;var left=0;switch(position){case Align.TopCenter:top=r1.top-r2.height;left=r1.left+r1.width/2-r2.width/2;break;case Align.RightCenter:top=r1.top+r1.height/2-r2.height/2;left=r1.left+r1.width;break;case Align.BottomCenter:top=r1.bottom;left=r1.left+r1.width/2-r2.width/2;break;case Align.LeftCenter:top=r1.top+r1.height/2-r2.height/2;left=r1.left-r2.width;break;case Align.TopRight:top=r1.top-r2.height;left=r1.right-r2.width;break;case Align.BottomRight:top=r1.bottom;left=r1.right-r2.width;break;case Align.BottomLeft:top=r1.bottom;left=r1.left;break;case Align.TopLeft:top=r1.top-r2.height;left=r1.left;break;}
return{bottom:top+r2.height,height:r2.height,left:left,right:left+r2.width,top:top,width:r2.width};}},{key:'isValidPosition',value:function isValidPosition(val){return 0<=val&&val<=8;}},{key:'suggestAlignBestRegion',value:function suggestAlignBestRegion(element,alignElement,position){var bestArea=0;var bestPosition=position;var bestRegion=this.getAlignRegion(element,alignElement,bestPosition);var tryPosition=bestPosition;var tryRegion=bestRegion;var viewportRegion=_Position2.default.getRegion(window);for(var i=0;i<8;){if(_Position2.default.intersectRegion(viewportRegion,tryRegion)){var visibleRegion=_Position2.default.intersection(viewportRegion,tryRegion);var area=visibleRegion.width*visibleRegion.height;if(area>bestArea){bestArea=area;bestRegion=tryRegion;bestPosition=tryPosition;}
if(_Position2.default.insideViewport(tryRegion)){break;}}
tryPosition=(position+ ++i)%8;tryRegion=this.getAlignRegion(element,alignElement,tryPosition);}
return{position:bestPosition,region:bestRegion};}}]);return Align;}();Align.TopCenter=0;Align.TopRight=1;Align.RightCenter=2;Align.BottomRight=3;Align.BottomCenter=4;Align.BottomLeft=5;Align.LeftCenter=6;Align.TopLeft=7;Align.Top=Align.TopCenter;Align.Right=Align.RightCenter;Align.Bottom=Align.BottomCenter;Align.Left=Align.LeftCenter;exports.default=Align;});'use strict';Liferay.Loader.define('frontend-js-metal-web$metal-position@2.1.2/lib/all/position',['module','exports','require','../Align','../Geometry','../Position'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.Position=exports.Geometry=exports.Align=undefined;var _Align=require('../Align');var _Align2=_interopRequireDefault(_Align);var _Geometry=require('../Geometry');var _Geometry2=_interopRequireDefault(_Geometry);var _Position=require('../Position');var _Position2=_interopRequireDefault(_Position);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
exports.default=_Position2.default;exports.Align=_Align2.default;exports.Geometry=_Geometry2.default;exports.Position=_Position2.default;});'use strict';Liferay.Loader.define('frontend-taglib-clay$clay-tooltip@2.5.1/lib/ClayTooltip.soy',['module','exports','require','frontend-js-metal-web$metal-component','frontend-js-metal-web$metal-soy'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.templates=exports.ClayTooltip=undefined;var _metalComponent=require('frontend-js-metal-web$metal-component');var _metalComponent2=_interopRequireDefault(_metalComponent);var _metalSoy=require('frontend-js-metal-web$metal-soy');var _metalSoy2=_interopRequireDefault(_metalSoy);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 templates;goog.loadModule(function(exports){var soy=goog.require('soy');var soydata=goog.require('soydata');goog.module('ClayTooltip.incrementaldom');goog.require('goog.soy.data.SanitizedContent');var incrementalDom=goog.require('incrementaldom');goog.require('soy.asserts');var soyIdom=goog.require('soy.idom');var $render=function $render(opt_data,opt_ijData,opt_ijData_deprecated){opt_ijData=opt_ijData_deprecated||opt_ijData;opt_data=opt_data||{};var _content=soy.asserts.assertType(opt_data._content==null||goog.isFunction(opt_data._content)||goog.isString(opt_data._content)||opt_data._content instanceof goog.soy.data.SanitizedContent,'_content',opt_data._content,'!goog.soy.data.SanitizedContent|function()|null|string|undefined');var alignedPosition=soy.asserts.assertType(opt_data.alignedPosition==null||goog.isNumber(opt_data.alignedPosition),'alignedPosition',opt_data.alignedPosition,'null|number|undefined');var classMap=opt_data.classMap;var elementClasses=soy.asserts.assertType(opt_data.elementClasses==null||goog.isString(opt_data.elementClasses)||opt_data.elementClasses instanceof goog.soy.data.SanitizedContent,'elementClasses',opt_data.elementClasses,'!goog.soy.data.SanitizedContent|null|string|undefined');var position=soy.asserts.assertType(opt_data.position==null||goog.isNumber(opt_data.position),'position',opt_data.position,'null|number|undefined');var visible=soy.asserts.assertType(opt_data.visible==null||goog.isBoolean(opt_data.visible)||opt_data.visible===1||opt_data.visible===0,'visible',opt_data.visible,'boolean|null|undefined');var classes__soy10=classMap?classMap:['clay-tooltip-top-left','clay-tooltip-top','clay-tooltip-top-right','clay-tooltip-bottom-left','clay-tooltip-bottom','clay-tooltip-bottom-right','clay-tooltip-right','clay-tooltip-left'];var currentPosition__soy12=alignedPosition!=null?alignedPosition:position;var positionClass__soy14=currentPosition__soy12!=null?classes__soy10[currentPosition__soy12]:'clay-tooltip-bottom';var tooltipAttributes__soy29=function tooltipAttributes__soy29(){incrementalDom.attr('class','tooltip fade '+positionClass__soy14+(elementClasses?' '+elementClasses:'')+(visible?' show':''));incrementalDom.attr('data-onmouseenter','_handleMouseEnterTooltip');incrementalDom.attr('data-onmouseleave','_handleMouseLeave');incrementalDom.attr('role','tooltip');};incrementalDom.elementOpenStart('div');tooltipAttributes__soy29();incrementalDom.elementOpenEnd();incrementalDom.elementOpenStart('div');incrementalDom.attr('class','arrow');incrementalDom.elementOpenEnd();incrementalDom.elementClose('div');incrementalDom.elementOpenStart('div');incrementalDom.attr('class','tooltip-inner');incrementalDom.elementOpenEnd();soyIdom.print(_content);incrementalDom.elementClose('div');incrementalDom.elementClose('div');};exports.render=$render;$render.Params;if(goog.DEBUG){$render.soyTemplateName='ClayTooltip.render';}
exports.render.params=["_content","alignedPosition","classMap","elementClasses","position","visible"];exports.render.types={"_content":"html|string","alignedPosition":"number","classMap":"?","elementClasses":"string","position":"number","visible":"bool"};exports.templates=templates=exports;return exports;});var ClayTooltip=function(_Component){_inherits(ClayTooltip,_Component);function ClayTooltip(){_classCallCheck(this,ClayTooltip);return _possibleConstructorReturn(this,(ClayTooltip.__proto__||Object.getPrototypeOf(ClayTooltip)).apply(this,arguments));}
return ClayTooltip;}(_metalComponent2.default);_metalSoy2.default.register(ClayTooltip,templates);exports.ClayTooltip=ClayTooltip;exports.templates=templates;exports.default=templates;});'use strict';Liferay.Loader.define("frontend-taglib-clay$clay-tooltip@2.5.1/lib/ClayTooltip",['module','exports','require','frontend-taglib-clay$clay-component','frontend-js-metal-web$metal-soy','frontend-js-metal-web$metal-position','frontend-js-metal-web$metal-state','frontend-js-metal-web$metal-events','frontend-js-metal-web$metal','frontend-js-metal-web$metal-dom','./ClayTooltip.soy'],function(module,exports,require){var define=undefined;Object.defineProperty(exports,"__esModule",{value:true});exports.ClayTooltip=undefined;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 _clayComponent=require("frontend-taglib-clay$clay-component");var _clayComponent2=_interopRequireDefault(_clayComponent);var _metalSoy=require("frontend-js-metal-web$metal-soy");var _metalSoy2=_interopRequireDefault(_metalSoy);var _metalPosition=require("frontend-js-metal-web$metal-position");var _metalState=require("frontend-js-metal-web$metal-state");var _metalEvents=require("frontend-js-metal-web$metal-events");var _metal=require("frontend-js-metal-web$metal");var _metalDom=require("frontend-js-metal-web$metal-dom");var _ClayTooltipSoy=require("./ClayTooltip.soy");var _ClayTooltipSoy2=_interopRequireDefault(_ClayTooltipSoy);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}
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;}
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}
var SingletonEnforcer=function SingletonEnforcer(){_classCallCheck(this,SingletonEnforcer);};var ClayTooltip=function(_ClayComponent){_inherits(ClayTooltip,_ClayComponent);function ClayTooltip(enforcer,config,parentElement){_classCallCheck(this,ClayTooltip);if(!enforcer){throw new Error('Use ClayTooltip.init to initialize ClayTooltip');}
return _possibleConstructorReturn(this,(ClayTooltip.__proto__||Object.getPrototypeOf(ClayTooltip)).call(this,config,parentElement));}
_createClass(ClayTooltip,[{key:'created',value:function created(){this._eventHandler=new _metalEvents.EventHandler();}},{key:'attached',value:function attached(){this.addListener('transitionend',this._handleTransitionEnd,true);if(!this.visible){this.element.style.display='none';}}},{key:'rendered',value:function rendered(){if(this._target){var alignedPosition=_metalPosition.Align.align(this.element,this._target,this.position,this.bestAlign);if(this.alignedPosition!==alignedPosition){this.alignedPosition=alignedPosition;}}}},{key:'detached',value:function detached(){this._eventHandler.removeAllListeners();}},{key:'disposed',value:function disposed(){this._eventHandler.removeAllListeners();}},{key:'_getContent',value:function _getContent(element){var titleAttribute=element.getAttribute('title');if(titleAttribute){element.setAttribute('data-title',titleAttribute);element.setAttribute('data-restore-title','true');element.removeAttribute('title');}else if(element.tagName==='svg'){var titleTag=element.querySelector('title');if(titleTag){element.setAttribute('data-title',titleTag.innerHTML);element.setAttribute('data-restore-title','true');titleTag.remove();}}
return element.getAttribute('data-title');}},{key:'_handleMouseClick',value:function _handleMouseClick(event){this._restoreTitle(event.delegateTarget);this._isTransitioning=true;this.visible=false;}},{key:'_handleMouseEnter',value:function _handleMouseEnter(event){var content=this._getContent(event.delegateTarget);this._target=event.delegateTarget;this._content=content;if(!this.visible){this.element.style.display='block';}
this._isTransitioning=true;this.visible=true;}},{key:'_handleMouseEnterTooltip',value:function _handleMouseEnterTooltip(){if(this._isTransitioning){this.visible=true;}}},{key:'_handleMouseLeave',value:function _handleMouseLeave(event){if(this.visible){this._restoreTitle(event.delegateTarget);this._isTransitioning=true;this.visible=false;}}},{key:'_handleTransitionEnd',value:function _handleTransitionEnd(){this._isTransitioning=false;if(!this.visible){this.element.style.display='none';}}},{key:'_restoreTitle',value:function _restoreTitle(element){var title=element.getAttribute('data-title');var restoreTitle=element.getAttribute('data-restore-title');if(title&&restoreTitle==='true'){if(element.tagName==='svg'){var titleTag=document.createElement('title');titleTag.innerHTML=title;element.appendChild(titleTag);}else{element.setAttribute('title',title);}
element.removeAttribute('data-restore-title');}}},{key:'_setPreferredAlign',value:function _setPreferredAlign(value){switch(value){case 'TopCenter':return _metalPosition.Align.TopCenter;case 'RightCenter':return _metalPosition.Align.RightCenter;case 'BottomCenter':return _metalPosition.Align.BottomCenter;case 'LeftCenter':return _metalPosition.Align.LeftCenter;case 'TopRight':return _metalPosition.Align.TopRight;case 'BottomRight':return _metalPosition.Align.BottomRight;case 'BottomLeft':return _metalPosition.Align.BottomLeft;case 'TopLeft':return _metalPosition.Align.TopLeft;default:return _metalPosition.Align.TopCenter;}}},{key:'setterClassMapFn_',value:function setterClassMapFn_(val){return _metal.object.mixin(this.valueClassMapFn_(),val);}},{key:'syncSelectors',value:function syncSelectors(newValue,prevValue){if(newValue){var prevSelectors=Array.isArray(prevValue)?prevValue:[];var newSelectors=newValue.reduce(function(arr,val){if(arr.indexOf(val)===-1){arr.push(val);}
return arr;},prevSelectors);this._eventHandler.removeAllListeners();for(var i=0,l=newSelectors.length;i<l;i++){var selector=newSelectors[i];this._eventHandler.add(_metalDom.dom.delegate(document,'blur',selector,this._handleMouseLeave.bind(this)),_metalDom.dom.delegate(document,'click',selector,this._handleMouseClick.bind(this)),_metalDom.dom.delegate(document,'focus',selector,this._handleMouseEnter.bind(this)),_metalDom.dom.delegate(document,'mouseenter',selector,this._handleMouseEnter.bind(this)),_metalDom.dom.delegate(document,'mouseleave',selector,this._handleMouseLeave.bind(this)));}}}},{key:'syncVisible',value:function syncVisible(){}},{key:'valueClassMapFn_',value:function valueClassMapFn_(){var _ref;return _ref={},_defineProperty(_ref,_metalPosition.Align.TopLeft,'clay-tooltip-top-left'),_defineProperty(_ref,_metalPosition.Align.TopCenter,'clay-tooltip-top'),_defineProperty(_ref,_metalPosition.Align.TopRight,'clay-tooltip-top-right'),_defineProperty(_ref,_metalPosition.Align.BottomLeft,'clay-tooltip-bottom-left'),_defineProperty(_ref,_metalPosition.Align.BottomCenter,'clay-tooltip-bottom'),_defineProperty(_ref,_metalPosition.Align.BottomRight,'clay-tooltip-bottom-right'),_defineProperty(_ref,_metalPosition.Align.RightCenter,'clay-tooltip-right'),_defineProperty(_ref,_metalPosition.Align.LeftCenter,'clay-tooltip-left'),_ref;}}],[{key:'init',value:function init(config,parentElement){if(!this._instance){this._instance=new ClayTooltip(new SingletonEnforcer(),config,parentElement);}
return this._instance;}}]);return ClayTooltip;}(_clayComponent2.default);ClayTooltip.STATE={_content:_metalState.Config.any().value('').internal(),alignedPosition:{validator:_metalPosition.Align.isValidPosition},bestAlign:_metalState.Config.bool().value(true),data:_metalState.Config.object(),defaultEventHandler:_metalState.Config.object(),elementClasses:_metalState.Config.string(),classMap:{setter:'setterClassMapFn_',validator:_metal.core.isObject,valueFn:'valueClassMapFn_'},position:_metalState.Config.oneOf(['BottomCenter','BottomLeft','BottomRight','LeftCenter','RightCenter','TopCenter','TopLeft','TopRight']).setter('_setPreferredAlign').value('TopCenter'),selectors:_metalState.Config.array().value(['[data-title]','[title]']),visible:_metalState.Config.bool().value(false)};_metalSoy2.default.register(ClayTooltip,_ClayTooltipSoy2.default);exports.ClayTooltip=ClayTooltip;exports.default=ClayTooltip;});Liferay.Loader.define('frontend-taglib-clay@1.3.0/bridge/clay-tooltip/src/ClayTooltip',['module','frontend-taglib-clay$clay-tooltip/lib/ClayTooltip'],function(module,src){module.exports=src;});