1YUI.add("selector-native",function(e,t){(function(e){e.namespace("Selector");var t="compareDocumentPosition",n="ownerDocument",r={_types:{esc:{token:"\ue000",re:/\\[:\[\]\(\)#\.\'\>+~"]/gi},attr:{token:"\ue001",re:/(\[[^\]]*\])/g},pseudo:{token:"\ue002",re:/(\([^\)]*\))/g}},useNative:!0,_escapeId:function(e){return e&&(e=e.replace(/([:\[\]\(\)#\.'<>+~"])/g,"\\$1")),e},_compare:"sourceIndex"in e.config.doc.documentElement?function(e,t){var n=e.sourceIndex,r=t.sourceIndex;return n===r?0:n>r?1:-1}:e.config.doc.documentElement[t]?function(e,n){return e[t](n)&4?-1:1}:function(e,t){var r,i,s;return e&&t&&(r=e[n].createRange(),r.setStart(e,0),i=t[n].createRange(),i.setStart(t,0),s=r.compareBoundaryPoints(1,i)),s},_sort:function(t){return t&&(t=e.Array(t,0,!0),t.sort&&t.sort(r._compare)),t},_deDupe:function(e){var t=[],n,r;for(n=0;r=e[n++];)r._found||(t[t.length]=r,r._found=!0);for(n=0;r=t[n++];)r._found=null,r.removeAttribute("_found");return t},query:function(t,n,i,s){n=n||e.config.doc;var o=[],u=e.Selector.useNative&&e.config.doc.querySelector&&!s,a=[[t,n]],f,l,c,h=u?e.Selector._nativeQuery:e.Selector._bruteQuery;if(t&&h){!s&&(!u||n.tagName)&&(a=r._splitQueries(t,n));for(c=0;f=a[c++];)l=h(f[0],f[1],i),i||(l=e.Array(l,0,!0)),l&&(o=o.concat(l));a.length>1&&(o=r._sort(r._deDupe(o)))}return i?o[0]||null:o},_replaceSelector:function(t){var n=e.Selector._parse("esc",t),i,s;return t=e.Selector._replace("esc",t),s=e.Selector._parse("pseudo",t),t=r._replace("pseudo",t),i=e.Selector._parse("attr",t),t=e.Selector._replace("attr",t),{esc:n,attrs:i,pseudos:s,selector:t}},_restoreSelector:function(t){var n=t.selector;return n=e.Selector._restore("attr",n,t.attrs),n=e.Selector._restore("pseudo",n,t.pseudos),n=e.Selector._restore("esc",n,t.esc),n},_replaceCommas:function(t){var n=e.Selector._replaceSelector(t),t=n.selector;return t&&(t=t.replace(/,/g,"\ue007"),n.selector=t,t=e.Selector._restoreSelector(n)),t},_splitQueries:function(t,n){t.indexOf(",")>-1&&(t=e.Selector._replaceCommas(t));var r=t.split("\ue007"),i=[],s="",o,u,a;if(n){n.nodeType===1&&(o=e.Selector._escapeId(e.DOM.getId(n)),o||(o=e.guid(),e.DOM.setId(n,o)),s='[id="'+o+'"] ');for(u=0,a=r.length;u<a;++u)t=s+r[u],i.push([t,n])}return i},_nativeQuery:function(t,n,r){if((e.UA.webkit||e.UA.opera)&&t.indexOf(":checked")>-1&&e.Selector.pseudos&&e.Selector.pseudos.checked)return e.Selector.query(t,n,r,!0);try{return n["querySelector"+(r?"":"All")](t)}catch(i){return e.Selector.query(t,n,r,!0)}},filter:function(t,n){var r=[],i,s;if(t&&n)for(i=0;s=t[i++];)e.Selector.test(s,n)&&(r[r.length]=s);return r},test:function(t,r,i){var s,o=!1,u=!1,a,f,l,c,h,p,d,v,m;if(t&&t.tagName)if(typeof r=="function")o=r.call(t,t);else{a=r.split(","),!i&&!e.DOM.inDoc(t)&&(f=t.parentNode,f?i=f:(h=t[n].createDocumentFragment(),h.appendChild(t),i=h,u=!0)),i=i||t[n],p=e.Selector._escapeId(e.DOM.getId(t)),p||(s=!0,p=e.guid(),e.DOM.setId(t,p));for(d=0;m=a[d++];){m+='[id="'+p+'"]',c=e.Selector.query(m,i);for(v=0;l=c[v++];)if(l===t){o=!0;break}if(o)break}u&&h.removeChild(t),s&&t.removeAttribute("id")}return o},ancestor:function(t,n,r){return e.DOM.ancestor(t,function(t){return e.Selector.test(t,n)},r)},_parse:function(t,n){return n.match(e.Selector._types[t].re)},_replace:function(t,n){var r=e.Selector._types[t];return n.replace(r.re,r.token)},_restore:function(t,n,r){if(r){var i=e.Selector._types[t].token,s,o;for(s=0,o=r.length;s<o;++s)n=n.replace(i,r[s])}return n}};e.mix(e.Selector,r,!0)})(e)},"patched-v3.20.7",{requires:["dom-base"]}); 2 3YUI.add("selector",function(e,t){},"patched-v3.20.7",{requires:["selector-native"]}); 4 5YUI.add("widget-base",function(e,t){function R(e){var t=this,n,r,i=t.constructor;t._strs={},t._cssPrefix=i.CSS_PREFIX||s(i.NAME.toLowerCase()),e=e||{},R.superclass.constructor.call(t,e),r=t.get(T),r&&(r!==P&&(n=r),t.render(n))}var n=e.Lang,r=e.Node,i=e.ClassNameManager,s=i.getClassName,o,u=e.cached(function(e){return e.substring(0,1).toUpperCase()+e.substring(1)}),a="content",f="visible",l="hidden",c="disabled",h="focused",p="width",d="height",v="boundingBox",m="contentBox",g="parentNode",y="ownerDocument",b="auto",w="srcNode",E="body",S="tabIndex",x="id",T="render",N="rendered",C="destroyed",k="strings",L="<div></div>",A="Change",O="loading",M="_uiSet",_="",D=function(){},P=!0,H=!1,B,j={},F=[f,c,d,p,h,S],I=e.UA.webkit,q={};R.NAME="widget",B=R.UI_SRC="ui",R.ATTRS=j,j[x]={valueFn:"_guid",writeOnce:P},j[N]={value:H,readOnly:P},j[v]={valueFn:"_defaultBB",setter:"_setBB",writeOnce:P},j[m]={valueFn:"_defaultCB",setter:"_setCB",writeOnce:P},j[S]={value:null,validator:"_validTabIndex"},j[h]={value:H,readOnly:P},j[c]={value:H},j[f]={value:P},j[d]={value:_},j[p]={value:_},j[k]={value:{},setter:"_strSetter",getter:"_strGetter"},j[T]={value:H,writeOnce:P},R.CSS_PREFIX=s(R.NAME.toLowerCase()),R.getClassName=function(){return s.apply(i,[R.CSS_PREFIX].concat(e.Array(arguments),!0))},o=R.getClassName,R.getByNode=function(t){var n,i=o();return t=r.one(t),t&&(t=t.ancestor("."+i,!0),t&&(n=q[e.stamp(t,!0)])),n||null},e.extend(R,e.Base,{getClassName:function(){return s.apply(i,[this._cssPrefix].concat(e.Array(arguments),!0))},initializer:function(t){var n=this.get(v);n instanceof r&&this._mapInstance(e.stamp(n))},_mapInstance:function(e){q[e]=this},destructor:function(){var t=this.get(v),n;t instanceof r&&(n=e.stamp(t,!0),n in q&&delete q[n],this._destroyBox())},destroy:function(e){return this._destroyAllNodes=e,R.superclass.destroy.apply(this)},_destroyBox:function(){var e=this.get(v),t=this.get(m),n=this._destroyAllNodes,r;r=e&&e.compareTo(t),this.UI_EVENTS&&this._destroyUIEvents(),this._unbindUI(e),t&&(n&&t.empty(),t.remove(P)),r||(n&&e.empty(),e.remove(P))},render:function(e){return!this.get(C)&&!this.get(N)&&(this.publish(T,{queuable:H,fireO
5nce:P,defaultTargetOnly:P,defaultFn:this._defRenderFn}),this.fire(T,{parentNode:e?r.one(e):null})),this},_defRenderFn:function(e){this._parentNode=e.parentNode,this.renderer(),this._set(N,P),this._removeLoadingClassNames()},renderer:function(){var e=this;e._renderUI(),e.renderUI(),e._bindUI(),e.bindUI(),e._syncUI(),e.syncUI()},bindUI:D,renderUI:D,syncUI:D,hide:function(){return this.set(f,H)},show:function(){return this.set(f,P)},focus:function(){return this._set(h,P)},blur:function(){return this._set(h,H)},enable:function(){return this.set(c,H)},disable:function(){return this.set(c,P)},_uiSizeCB:function(e){this.get(m).toggleClass(o(a,"expanded"),e)},_renderBox:function(e){var t=this,n=t.get(m),i=t.get(v),s=t.get(w),o=t.DEF_PARENT_NODE,u=s&&s.get(y)||i.get(y)||n.get(y);s&&!s.compareTo(n)&&!n.inDoc(u)&&s.replace(n),!i.compareTo(n.get(g))&&!i.compareTo(n)&&(n.inDoc(u)&&n.replace(i),i.appendChild(n)),e=e||o&&r.one(o),e?e.appendChild(i):i.inDoc(u)||r.one(E).insert(i,0)},_setBB:function(e){return this._setBox(this.get(x),e,this.BOUNDING_TEMPLATE,!0)},_setCB:function(e){return this.CONTENT_TEMPLATE===null?this.get(v):this._setBox(null,e,this.CONTENT_TEMPLATE,!1)},_defaultBB:function(){var e=this.get(w),t=this.CONTENT_TEMPLATE===null;return e&&t?e:null},_defaultCB:function(e){return this.get(w)||null},_setBox:function(t,n,i,s){return n=r.one(n),n||(n=r.create(i),s?this._bbFromTemplate=!0:this._cbFromTemplate=!0),n.get(x)||n.set(x,t||e.guid()),n},_renderUI:function(){this._renderBoxClassNames(),this._renderBox(this._parentNode)},_renderBoxClassNames:function(){var e=this._getClasses(),t,n=this.get(v),r;n.addClass(o());for(r=e.length-3;r>=0;r--)t=e[r],n.addClass(t.CSS_PREFIX||s(t.NAME.toLowerCase()));this.get(m).addClass(this.getClassName(a))},_removeLoadingClassNames:function(){var e=this.get(v),t=this.get(m),n=this.getClassName(O),r=o(O);e.removeClass(r).removeClass(n),t.removeClass(r).removeClass(n)},_bindUI:function(){this._bindAttrUI(this._UI_ATTRS.BIND),this._bindDOM()},_unbindUI:function(e){this._unbindDOM(e)},_bindDOM:function(){var t=this.get(v).get(y),n=R._hDocFocus;n||(n=R._hDocFocus=t.on("focus",this._onDocFocus,this),n.listeners={count:0}),n.listeners[e.stamp(this,!0)]=!0,n.listeners.count++,I&&(this._hDocMouseDown=t.on("mousedown",this._onDocMouseDown,this))},_unbindDOM:function(t){var n=R._hDocFocus,r=e.stamp(this,!0),i,s=this._hDocMouseDown;n&&(i=n.listeners,i[r]&&(delete i[r],i.count--),i.count===0&&(n.detach(),R._hDocFocus=null)),I&&s&&s.detach()},_syncUI:function(){this._syncAttrUI(this._UI_ATTRS.SYNC)},_uiSetHeight:function(e){this._uiSetDim(d,e),this._uiSizeCB(e!==_&&e!==b)},_uiSetWidth:function(e){this._uiSetDim(p,e)},_uiSetDim:function(e,t){this.get(v).setStyle(e,n.isNumber(t)?t+this.DEF_UNIT:t)},_uiSetVisible:function(e){this.get(v).toggleClass(this.getClassName(l),!e)},_uiSetDisabled:function(e){this.get(v).toggleClass(this.getClassName(c),e)},_uiSetFocused:function(e,t){var n=this.get(v);n.toggleClass(this.getClassName(h),e),t!==B&&(e?n.focus():n.blur())},_uiSetTabIndex:function(e){var t=this.get(v);n.isNumber(e)?t.set(S,e):t.removeAttribute(S)},_onDocMouseDown:function(e){this._domFocus&&this._onDocFocus(e)},_onDocFocus:function(e){var t=R.getByNode(e.target),n=R._active;n&&n!==t&&(n._domFocus=!1,n._set(h,!1,{src:B}),R._active=null),t&&(t._domFocus=!0,t._set(h,!0,{src:B}),R._active=t)},toString:function(){return this.name+"["+this.get(x)+"]"},DEF_UNIT:"px",DEF_PARENT_NODE:null,CONTENT_TEMPLATE:L,BOUNDING_TEMPLATE:L,_guid:function(){return e.guid()},_validTabIndex:function(e){return n.isNumber(e)||n.isNull(e)},_bindAttrUI:function(e){var t,n=e.length;for(t=0;t<n;t++)this.after(e[t]+A,this._setAttrUI)},_syncAttrUI:function(e){var t,n=e.length,r;for(t=0;t<n;t++)r=e[t],this[M+u(r)](this.get(r))},_setAttrUI:function(e){e.target===this&&this[M+u(e.attrName 6)](e.newVal,e.src)},_strSetter:function(t){return e.merge(this.get(k),t)},getString:function(e){return this.get(k)[e]},getStrings:function(){return this.get(k)},_UI_ATTRS:{BIND:F,SYNC:F}}),e.Widget=R},"patched-v3.20.7",{requires:["attribute","base-base","base-pluginhost","classnamemanager","event-focus","node-base","node-style"],skinnable:!0}); 7 8YUI.add("widget-htmlparser",function(e,t){var n=e.Widget,r=e.Node,i=e.Lang,s="srcNode",o="contentBox";n.HTML_PARSER={},n._buildCfg={aggregates:["HTML_PARSER"]},n.ATTRS[s]={value:null,setter:r.one,getter:"_getSrcNode",writeOnce:!0},e.mix(n.prototype,{_getSrcNode:function(e){return e||this.get(o)},_preAddAttrs:function(t,r,i){var o={id:t.id,boundingBox:t.boundingBox,contentBox:t.contentBox,srcNode:t.srcNode||e.Object(n.ATTRS[s])};this.addAttrs(o,r,i),delete t.boundingBox,delete t.contentBox,delete t.srcNode,delete t.id,this._applyParser&&this._applyParser(r)},_applyParsedConfig:function(t,n,r){return r?e.mix(n,r,!1):n},_applyParser:function(t){var n=this,r=this._getNodeToParse(),s=n._getHtmlParser(),o,u;s&&r&&e.Object.each(s,function(e,t,s){u=null,i.isFunction(e)?u=e.call(n,r):i.isArray(e)?(u=r.all(e[0]),u.isEmpty()&&(u=null)):u=r.one(e),u!==null&&u!==undefined&&(o=o||{},o[t]=u)}),t=n._applyParsedConfig(r,t,o)},_getNodeToParse:function(){var e=this.get("srcNode");return this._cbFromTemplate?null:e},_getHtmlParser:function(){var t=this._getClasses(),n={},r,i;for(r=t.length-1;r>=0;r--)i=t[r].HTML_PARSER,i&&e.mix(n,i,!0);return n}})},"patched-v3.20.7",{requires:["widget-base"]}); 9 10YUI.add("widget-skin",function(e,t){var n="boundingBox",r="contentBox",i="skin",s=e.ClassNameManager.getClassName;e.Widget.prototype.getSkinName=function(e){var t=this.get(r)||this.get(n),o,u;return e=e||s(i,""),u=new RegExp("\\b"+e+"(\\S+)"),t&&t.ancestor(function(e){return o=e.get("
10className").match(u),o}),o?o[1]:null}},"patched-v3.20.7",{requires:["widget-base"]}); 11 12YUI.add("widget-uievents",function(e,t){var n="boundingBox",r=e.Widget,i="render",s=e.Lang,o=":",u=e.Widget._uievts=e.Widget._uievts||{};e.mix(r.prototype,{_destroyUIEvents:function(){var t=e.stamp(this,!0);e.each(u,function(n,r){n.instances[t]&&(delete n.instances[t],e.Object.isEmpty(n.instances)&&(n.handle.detach(),u[r]&&delete u[r]))})},UI_EVENTS:e.Node.DOM_EVENTS,_getUIEventNode:function(){return this.get(n)},_createUIEvent:function(t){var n=this._getUIEventNode(),i=e.stamp(n)+t,s=u[i],o;s||(o=n.delegate(t,function(e){var t=r.getByNode(this);t&&t._filterUIEvent(e)&&t.fire(e.type,{domEvent:e})},"."+e.Widget.getClassName()),u[i]=s={instances:{},handle:o}),s.instances[e.stamp(this)]=1},_filterUIEvent:function(e){return e.currentTarget.compareTo(e.container)||e.container.compareTo(this._getUIEventNode())},_getUIEvent:function(e){if(s.isString(e)){var t=this.parseType(e)[1],n,r;return t&&(n=t.indexOf(o),n>-1&&(t=t.substring(n+o.length)),this.UI_EVENTS[t]&&(r=t)),r}},_initUIEvent:function(e){var t=this._getUIEvent(e),n=this._uiEvtsInitQueue||{};t&&!n[t]&&(this._uiEvtsInitQueue=n[t]=1,this.after(i,function(){this._createUIEvent(t),delete this._uiEvtsInitQueue[t]}))},on:function(e){return this._initUIEvent(e),r.superclass.on.apply(this,arguments)},publish:function(e,t){var n=this._getUIEvent(e);return n&&t&&t.defaultFn&&this._initUIEvent(n),r.superclass.publish.apply(this,arguments)}},!0)},"patched-v3.20.7",{requires:["node-event-delegate","widget-base"]}); 13 14YUI.add("yui-throttle",function(e,t){ 15/*! Based on work by Simon Willison: http://gist.github.com/292562 */ 16;e.throttle=function(t,n){n=n?n:e.config.throttleTime||150;if(n===-1)return function(){t.apply(this,arguments)};var r=e.Lang.now();return function(){var i=e.Lang.now();i-r>n&&(r=i,t.apply(this,arguments))}}},"patched-v3.20.7",{requires:["yui-base"]}); 17 18YUI.add("aui-base-core",function(e,t){var n=e;YUI.Env.aliases=YUI.Env.aliases||{},n.mix(YUI.Env.aliases,{"aui-autosize":["aui-autosize-iframe"],"aui-base":["oop","yui-throttle","aui-classnamemanager","aui-debounce","aui-base-core","aui-base-lang","aui-node-base"],"aui-base-deprecated":["aui-base","aui-node","aui-component","aui-delayed-task-deprecated","aui-selector","aui-event-base"],"aui-button":["aui-button-core"],"aui-collection":["aui-map","aui-set","aui-linkedset"],"aui-color-picker-deprecated":["aui-color-picker-base-deprecated","aui-color-picker-grid-plugin-deprecated"],"aui-datasource-control-deprecated":["aui-datasource-control-base-deprecated","aui-input-text-control-deprecated"],"aui-datatable":["aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-datatable-property-list"],"aui-datatable-edit":["datatable-base","calendar","overlay","sortable","aui-datatype","aui-toolbar","aui-form-validator","aui-datatable-base-cell-editor","aui-datatable-base-options-cell-editor","aui-datatable-cell-editor-support","aui-datatable-core","aui-datatable-checkbox-cell-editor","aui-datatable-date-cell-editor","aui-datatable-dropdown-cell-editor","aui-datatable-radio-cell-editor","aui-datatable-text-cell-editor","aui-datatable-text-area-cell-editor"],"aui-datepicker-deprecated":["aui-datepicker-base-deprecated","aui-datepicker-select-deprecated"],"aui-event":["aui-event-base"],"aui-form-deprecated":["aui-form-base-deprecated","aui-form-combobox-deprecated","aui-form-field-deprecated","aui-form-select-deprecated","aui-form-textarea-deprecated","aui-form-textfield-deprecated"],"aui-io":["aui-io-request"],"aui-io-deprecated":["aui-io-request","aui-io-plugin-deprecated"],"aui-node":["aui-node-base"],"aui-overlay-deprecated":["aui-overlay-base-deprecated","aui-overlay-context-deprecated","aui-overlay-context-panel-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated"],"aui-rating":["aui-rating-base","aui-rating-thumb"],"aui-resize-deprecated":["aui-resize-base-deprecated","aui-resize-constrain-deprecated"],"aui-scheduler":["event-gestures","aui-scheduler-base","aui-scheduler-event-recorder","aui-scheduler-view-agenda","aui-scheduler-view-day","aui-scheduler-view-month","aui-scheduler-view-table-dd","aui-scheduler-view-table","aui-scheduler-view-week","aui-viewport"],"aui-search":["aui-search-tst"],"aui-sortable":["aui-sortable-layout","aui-sortable-list"],"aui-surface":["aui-surface-app","aui-surface-screen"],"aui-toggler":["aui-toggler-base","aui-toggler-delegate"],"aui-tooltip":["aui-tooltip-base","aui-tooltip-delegate"],"aui-tpl-snippets-deprecated":["aui-tpl-snippets-base-deprecated","aui-tpl-snippets-checkbox-deprecated","aui-tpl-snippets-input-deprecated","aui-tpl-snippets-select-deprecated","aui-tpl-snippets-textarea-deprecated"],"aui-tree":["aui-tree-data","aui-tree-io","aui-tree-node","aui-tree-paginator","aui-tree-view"],"aui-widget":["aui-widget-cssclass","aui-widget-toolbars"],"aui-widget-core":["aui-widget-cssclass"]}),YUI.Env[n.version].modules=YUI.Env[n.version].modules||{},n.mix(YUI.Env[n.version].modules,{"aui-ace-autocomplete-base":{requires:["aui-ace-editor"]},"aui-ace-autocomplete-freemarker":{requires:["aui-ace-autocomplete-templateprocessor"]},"aui-ace-autocomplete-list":{requires:["aui-ace-autocomplete-base","overlay","widget-autohide"],skinnable:!0},"aui-ace-autocomplete-plugin":{requires:["aui-ace-autocomplete-list","plugin"]},"aui-ace-autocomplete-templateprocessor":{requires:["aui-ace-autocomplete-base"]},"aui-ace-autocomplete-velocity":{requires:["aui-ace-autocomplete-templateprocessor"]},"aui-ace-editor":{requires:["aui-node","aui-component"]},"aui-affix":{requires:["base","node-screen","aui-node"]},"aui-alert":{requires:["aui-aria","aui-classnamemanager","aui-widget-cssclass","aui-widget-transition","timers","widget","widget-stdmod"],skinnable:!0},"aui-aria":{requires:["plugin","aui-component"]},"aui-aria-table-sortable":{requires:["aui-aria"]}
18,"aui-arraysort":{requires:["arraysort"]},"aui-audio":{requires:["aui-aria","aui-node","aui-component","node-event-html5","querystring-stringify-simple"],skinnable:!0},"aui-autocomplete-deprecated":{requires:["aui-base-deprecated","aui-overlay-base-deprecated","datasource","dataschema","aui-form-combobox-deprecated"],skinnable:!0},"aui-autosize":{use:["aui-autosize-iframe"]},"aui-autosize-deprecated":{requires:["event-valuechange","plugin","aui-base-deprecated"],skinnable:!0},"aui-autosize-iframe":{requires:["plugin","aui-component","aui-timer","aui-node-base"]},"aui-base":{use:["oop","yui-throttle","aui-classnamemanager","aui-debounce","aui-base-core","aui-base-lang","aui-node-base"]},"aui-base-core":{},"aui-base-deprecated":{use:["aui-base","aui-node","aui-component","aui-delayed-task-deprecated","aui-selector","aui-event-base"]},"aui-base-html5-shiv":{condition:{name:"aui-base-html5-shiv",trigger:"node-base",ua:"ie"}},"aui-base-lang":{},"aui-boolean-data-editor":{requires:["aui-button-switch","aui-data-editor"]},"aui-button":{use:["aui-button-core"]},"aui-button-core":{requires:["button","button-group","button-plugin","aui-component","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-button-item-deprecated":{requires:["aui-base-deprecated","aui-state-interaction-deprecated","widget-child"],skinnable:!0},"aui-button-search-cancel":{requires:["array-invoke","base","base-build","event-focus","event-move","event-resize","node-screen","node-event-delegate","aui-node-base","aui-classnamemanager","aui-event-input"]},"aui-button-switch":{requires:["aui-node-base","base-build","event-key","transition","widget"],skinnable:!0},"aui-carousel":{requires:["anim","aui-event","aui-image-viewer-base","aui-image-viewer-slideshow","node-event-delegate","node-focusmanager"],skinnable:!0},"aui-carousel-mobile-touch":{condition:{name:"aui-carousel-mobile-touch",test:function(e){return e.UA.mobile&&e.UA.touchEnabled},trigger:"aui-carousel"},requires:["base-build","aui-carousel"]},"aui-carousel-swipe" 19:{condition:{name:"aui-carousel-swipe",trigger:"aui-carousel",ua:"touchEnabled"},requires:["aui-carousel","aui-widget-swipe","base-build"],skinnable:!0}
19,"aui-char-counter":{requires:["aui-aria","aui-node","aui-event-input","aui-component"]},"aui-chart-deprecated":{requires:["datasource","json","aui-swf-deprecated"]},"aui-classnamemanager":{requires:["classnamemanager"]},"aui-collection":{use:["aui-map","aui-set","aui-linkedset"]},"aui-color-palette":{requires:["array-extras","aui-palette","color-base","node-core","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-color-picker-base":{requires:["aui-color-palette","aui-hsva-palette-modal","event-outside"],skinnable:!0},"aui-color-picker-base-deprecated":{requires:["dd-drag","panel","slider","aui-button-item-deprecated","aui-color-util-deprecated","aui-form-base-deprecated","aui-overlay-context-deprecated"],skinnable:!0},"aui-color-picker-deprecated":{use:["aui-color-picker-base-deprecated","aui-color-picker-grid-plugin-deprecated"]},"aui-color-picker-grid-plugin-deprecated":{requires:["plugin","aui-color-picker-base-deprecated"],skinnable:!0},"aui-color-picker-popover":{requires:["aui-color-picker-base","aui-popover","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-color-util-deprecated":{requires:[]},"aui-component":{requires:["aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","base-build","widget-base"]},"aui-css":{type:"css"},"aui-data-editor":{requires:["aui-classnamemanager","base-build","node-base"],skinnable:!0},"aui-data-set-deprecated":{requires:["oop","collection","base"]},"aui-datasource-control-base-deprecated":{requires:["datasource","dataschema","aui-base-deprecated"]},"aui-datasource-control-deprecated":{use:["aui-datasource-control-base-deprecated","aui-input-text-control-deprecated"]},"aui-datatable":{use:["aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-datatable-property-list"]},"aui-datatable-base-cell-editor":{requires:["datatable-base","overlay"],skinnable:!0},"aui-datatable-base-options-cell-editor":{requires:["aui-datatable-base-cell-editor","escape"],skinnable:!0},"aui-datatable-body":{requires:["aui-classnamemanager","datatable-base","event-key","aui-event-base"]},"aui-datatable-cell-editor-support":{requires:["datatable-base"]},"aui-datatable-checkbox-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-core":{requires:["aui-datatable-body","datatable-base","event-key","aui-event-base"],skinnable:!0},"aui-datatable-date-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-dropdown-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-edit":{use:["datatable-base","calendar","overlay","sortable","aui-datatype","aui-toolbar","aui-form-validator","aui-datatable-base-cell-editor","aui-datatable-base-options-cell-editor","aui-datatable-cell-editor-support","aui-datatable-core","aui-datatable-checkbox-cell-editor","aui-datatable-date-cell-editor","aui-datatable-dropdown-cell-editor","aui-datatable-radio-cell-editor","aui-datatable-text-cell-editor","aui-datatable-text-area-cell-editor"]},"aui-datatable-highlight":{requires:["aui-datatable-selection"],skinnable:!0},"aui-datatable-property-list":{requires:["datatable-scroll","datatable-sort","aui-datatable-core","aui-datatable-edit","aui-datatable-highlight","aui-datatable-selection","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-datatable-radio-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-selection":{requires:["aui-datatable-core"],skinnable:!0},"aui-datatable-text-area-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatable-text-cell-editor":{requires:["aui-datatable-base-options-cell-editor"]},"aui-datatype":{requires:["datatype","aui-datatype-date-parse"]},"aui-datatype-date-parse":{requires:["aui-base-lang","datatype-date-format","datatype-date-parse","intl"]},"aui-datepicker":{requires:["aui-aria","aui-datepicker-delegate","aui-datepicker-popover","base","base-build","calendar"],skinnable:!0},"aui-datepicker-base-deprecated":{requires:["calendar","aui-datatype","aui-overlay-context-deprecated"],skinnable:!0},"aui-datepicker-delegate":{requires:["aui-datatype-date-parse","aui-event-input","event-focus","node-event-delegate"]},"aui-datepicker-deprecated":{skinnable:!0,use:["aui-datepicker-base-deprecated","aui-datepicker-select-deprecated"]},"aui-datepicker-native":{requires:["aui-datepicker-delegate","aui-node-base","base","base-build"]},"aui-datepicker-popover":{requires:["aui-classnamemanager","aui-popover"]},"aui-datepicker-select-deprecated":{requires:["aui-datepicker-base-deprecated","aui-button-item-deprecated"],skinnable:!0},"aui-debounce":{},"aui-delayed-task-deprecated":{requires:["yui-base"]},"aui-diagram-builder":{requires:["aui-aria","aui-map","aui-property-builder","aui-diagram-builder
19-connector","aui-property-builder-settings","aui-diagram-node-condition","aui-diagram-node-end","aui-diagram-node-fork","aui-diagram-node-join","aui-diagram-node-start","aui-diagram-node-state","aui-diagram-node-task","overlay"],skinnable:!0},"aui-diagram-builder-connector":{requires:["arraylist-add","arraylist-filter","escape","json","graphics","dd"],skinnable:!0},"aui-diagram-node":{requires:["aui-aria","aui-diagram-node-manager-base","escape","overlay"]},"aui-diagram-node-condition":{requires:["aui-diagram-node-state"]},"aui-diagram-node-end":{requires:["aui-diagram-node-state"]},"aui-diagram-node-fork":{requires:["aui-diagram-node-state"]},"aui-diagram-node-join":{requires:["aui-diagram-node-state"]},"aui-diagram-node-manager-base":{requires:["base"]},"aui-diagram-node-start":{requires:["aui-diagram-node-state"]},"aui-diagram-node-state":{requires:["aui-diagram-node"]},"aui-diagram-node-task":{requires:["aui-diagram-node-state"]},"aui-dialog-iframe-deprecated":{requires:["plugin","array-invoke","aui-base-deprecated","aui-loading-mask-deprecated" 20],skinnable:!0},"aui-dropdown":{requires:["event-delegate","event-key","event-outside","node-focusmanager","widget","widget-stack","aui-classnamemanager","aui-node","aui-widget-cssclass","aui-widget-toggle","aui-widget-trigger"],skinnable:!0},"aui-editable-deprecated":{requires:["aui-base-deprecated","aui-form-combobox-deprecated","escape","event-resize"],skinnable:!0},"aui-event":{use:["aui-event-base"]},"aui-event-base":{requires:["event-base"]},"aui-event-delegate-change":{condition:{name:"aui-event-delegate-change",trigger:"event-base-ie",ua:"ie"},requires:["aui-event-base","event-delegate","event-synthetic"]},"aui-event-delegate-submit":{condition:{name:"aui-event-delegate-submit",trigger:"event-base-ie",ua:"ie"},requires:["aui-event-base","event-delegate","event-synthetic"]},"aui-event-input":{condition:{name:"aui-event-input",test:function(e){var t=e.supportsDOMEvent,n=e.Features.test,r=e.Features.add;return n("event","input")===undefined&&r("event","input",{test:function(){return t(document.createElement("textarea"),"input")&&(!e.UA.ie||e.UA.ie>9)}}),!n("event","input")},trigger:"aui-event-base"},requires:["aui-event-base","event-delegate","event-synthetic","timers"]}
20,"aui-form-base-deprecated":{requires:["io-form","querystring-parse","aui-base-deprecated","aui-data-set-deprecated","aui-form-field-deprecated"]},"aui-form-builder":{requires:["aui-modal","aui-layout","aui-form-builder-field-list","aui-form-builder-field-toolbar","aui-form-builder-field-type","aui-form-builder-field-types","aui-form-builder-layout-builder","aui-form-builder-page-manager","aui-form-builder-settings-modal","event-focus","event-tap"],skinnable:!0},"aui-form-builder-available-field-deprecated":{requires:["aui-property-builder-available-field"]},"aui-form-builder-deprecated":{requires:["aui-button","aui-collection","aui-form-builder-available-field-deprecated","aui-form-builder-field-deprecated","aui-form-builder-field-button-deprecated","aui-form-builder-field-checkbox-deprecated","aui-form-builder-field-fieldset-deprecated","aui-form-builder-field-file-upload-deprecated","aui-form-builder-field-multiple-choice-deprecated","aui-form-builder-field-radio-deprecated","aui-form-builder-field-select-deprecated","aui-form-builder-field-text-deprecated","aui-form-builder-field-textarea-deprecated","aui-property-builder","aui-property-builder-settings","aui-sortable-list","aui-tabview","aui-tooltip-base","escape","transition"],skinnable:!0},"aui-form-builder-field-base":{requires:["aui-classnamemanager","aui-node-base","aui-text-data-editor","aui-toggler","base","node-base"],skinnable:!0},"aui-form-builder-field-button-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-checkbox-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-choice":{requires:["aui-boolean-data-editor","aui-options-data-editor","aui-tabs-data-editor","aui-form-builder-field-base","aui-form-field-choice"]},"aui-form-builder-field-deprecated":{requires:["panel","aui-datatype","aui-datatable-edit","aui-property-builder-field-support"],skinnable:!0},"aui-form-builder-field-fieldset-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-file-upload-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-list":{requires:["aui-form-builder-field-type","aui-form-builder-field-types","aui-form-builder-layout-builder"],skinnable:!0},"aui-form-builder-field-multiple-choice-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-radio-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-select-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-sentence":{requires:["aui-form-builder-field-base","aui-form-field"]},"aui-form-builder-field-text":{requires:["aui-boolean-data-editor","aui-radio-group-data-editor","aui-form-builder-field-base","aui-form-field-text"]},"aui-form-builder-field-text-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-textarea-deprecated":{requires:["aui-form-builder-field-deprecated"]},"aui-form-builder-field-toolbar":{requires:["aui-classnamemanager","base","node-base"],skinnable:!0},"aui-form-builder-field-type":{requires:["base","node-base"],skinnable:!0},"aui-form-builder-field-types":{requires:["aui-classnamemanager","aui-form-builder-field-types-modal","base","node-base"],skinnable:!0},"aui-form-builder-field-types-modal":{requires:["aui-modal"],skinnable:!0},"aui-form-builder-layout-builder":{requires:["aui-classnamemanager","aui-layout-builder","aui-modal","base","node-base"],skinnable:!0},"aui-form-builder-page-manager":{requires:["aui-pagination","aui-popover","aui-tabview","base","event-valuechange","node-base"],skinnable:!0},"aui-form-builder-settings-modal":{requires:["aui-classnamemanager","aui-modal","base","node-base"],skinnable:!0},"aui-form-combobox-deprecated":{requires:["aui-form-textarea-deprecated","aui-toolbar"],skinnable:!0},"aui-form-deprecated":{use:["aui-form-base-deprecated","aui-form-combobox-deprecated","aui-form-field-deprecated","aui-form-select-deprecated","aui-form-textarea-deprecated","aui-form-textfield-deprecated"]},"aui-form-field":{requires:["aui-classnamemanager","aui-node-base","base-build"],skinnable:!0},"aui-form-field-choice":{requires:["aui-form-field-required"],skinnable:!0},"aui-form-field-deprecated":{requires:["aui-base-deprecated","aui-component"]},"aui-form-field-required":{requires:["aui-form-field"]},"aui-form-field-text":{requires:["aui-form-field-required"],skinnable:!0},"aui-form-select-deprecated":{requires:["aui-form-field-deprecated"]},"aui-form-textarea-deprecated":{requires:["node-pluginhost","aui-autosize-deprecated","aui-form-textfield-deprecated"]},"aui-form-textfield-deprecated":{requires:["aui-form-field-deprecated"]},"aui-form-validator":{requires:["escape","selector-css3","node-event-delegate","aui-node","aui-component" 21,"aui-event-input"]},"aui-hsv-palette":{requires:["aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","aui-event-input","base-build","clickable-rail","color-hsv","dd-constrain","slider","widget"],skinnable:!0},"aui-hsva-palette":{requires:["aui-hsv-palette"],skinnable:!0},"aui-hsva-palette-modal":{requires:["aui-hsva-palette","aui-modal"],skinnable:!0},"aui-image-cropper":{requires:["resize-base","resize-constrain","dd-constrain","aui-node-base","aui-component"],skinnable:!0},"aui-image-viewer":{requires:["widget","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod","aui-event","aui-image-viewer-base","aui-image-viewer-multiple","aui-image-viewer-slideshow","aui-node-base","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-image-viewer-base":{requires:["anim","aui-aria","aui-classnamemanager","aui-node","aui-widget-responsive","base-build","imageloader","node-base","widget","widget-stack"],skinnable:!0},"aui-image-viewer-media":{requires:["plugin","aui-component","aui-image-viewer"]},"aui-image-viewer-multiple":{requires:["base-build","node-base","aui-classnamemanager","aui-image-viewer-base"],skinnable:!0},"aui-image-viewer-multiple-swipe":{condition:{name:"aui-image-viewer-multiple-swipe",trigger:"aui-image-viewer-multiple",ua:"touchEnabled"}
21,requires:["aui-image-viewer-multiple","aui-image-viewer-swipe"]},"aui-image-viewer-slideshow":{requires:["node","aui-classnamemanager"]},"aui-image-viewer-swipe":{condition:{name:"aui-image-viewer-swipe",trigger:"aui-image-viewer-base",ua:"touchEnabled"},requires:["event-resize","aui-image-viewer-base","aui-widget-swipe"]},"aui-input-text-control-deprecated":{requires:["aui-base-deprecated","aui-datasource-control-base-deprecated","aui-form-combobox-deprecated"]},"aui-io":{use:["aui-io-request"]},"aui-io-deprecated":{use:["aui-io-request","aui-io-plugin-deprecated"]},"aui-io-plugin-deprecated":{requires:["aui-overlay-base-deprecated","aui-parse-content","aui-io-request","aui-loading-mask-deprecated"]},"aui-io-request":{requires:["io-base","json","plugin","querystring-stringify","aui-component"]},"aui-io-request-deprecated":{requires:["io-base","json","plugin","querystring-stringify","aui-base-deprecated"]},"aui-layout":{requires:["aui-layout-col","aui-layout-row","aui-node-base","base-build","datatype-number-parse","event-resize"]},"aui-layout-builder":{requires:["aui-classnamemanager","aui-layout","aui-layout-builder-add-col","aui-layout-builder-add-row","aui-layout-builder-move","aui-layout-builder-remove-row","aui-layout-builder-resize-col","aui-node-base","base-build","node-event-delegate","node-screen","node-style"]},"aui-layout-builder-add-col":{requires:["event-key","node-base"],skinnable:!0},"aui-layout-builder-add-row":{requires:["aui-node-base","base-build","node-scroll-info"],skinnable:!0},"aui-layout-builder-move":{requires:["aui-node-base","base-build"],skinnable:!0},"aui-layout-builder-remove-row":{requires:["aui-node-base","base-build"],skinnable:!0},"aui-layout-builder-resize-col":{requires:["dd-constrain","dd-delegate","dd-drop-plugin","dd-proxy","event-mouseenter","node-base"],skinnable:!0},"aui-layout-col":{requires:["aui-classnamemanager","aui-node-base","base-build"],skinnable:!0},"aui-layout-row":{requires:["array-invoke","aui-node-base","base-build"],skinnable:!0},"aui-linkedset":{requires:["aui-set"]},"aui-live-search-deprecated":{requires:["aui-base-deprecated"]},"aui-loading-mask-deprecated":{requires:["plugin","aui-overlay-mask-deprecated"],skinnable:!0},"aui-map":{requires:["base-build"]},"aui-menu":{requires:["base-build","event-mouseenter","event-resize","widget","widget-position","widget-position-align","widget-position-constrain","widget-stack","aui-classnamemanager","aui-debounce","aui-dropdown","aui-menu-item"],skinnable:!0},"aui-menu-item":{requires:["base-build","node-base","aui-classnamemanager","aui-node","aui-widget-shortcut"]},"aui-messaging":{requires:["querystring","aui-timer"]},"aui-modal":{requires:["widget","widget-autohide","widget-buttons","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod","dd-plugin","dd-constrain","timers","aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","aui-widget-toolbars"],skinnable:!0},"aui-modal-resize":{condition:{name:"aui-modal-resize",test:function(e){return!e.UA.mobile},trigger:"aui-modal"},requires:["aui-modal","resize-plugin"]},"aui-node":{use:["aui-node-base"]},"aui-node-accessible":{requires:["aui-node-base","event-custom-base"]},"aui-node-base":{requires:["array-extras","aui-base-lang","aui-classnamemanager","aui-debounce","node"]},"aui-node-html5":{condition:{name:"aui-node-html5",trigger:"aui-node",ua:"ie"},requires:["collection","aui-node-base"]},"aui-options-data-editor":{requires:["aui-data-editor","dd-constrain","dd-delegate","dd-drop-plugin","dd-proxy","event-valuechange","node-event-delegate"],skinnable:!0},"aui-overlay-base-deprecated":{requires:["widget-position","widget-stack","widget-position-align","widget-position-constrain","widget-stdmod","aui-component"]},"aui-overlay-context-deprecated":{requires:["aui-overlay-manager-deprecated","aui-delayed-task-deprecated","aui-aria"]},"aui-overlay-context-panel-deprecated":{requires:["anim","aui-overlay-context-deprecated"],skinnable:!0},"aui-overlay-deprecated":{use:["aui-overlay-base-deprecated","aui-overlay-context-deprecated","aui-overlay-context-panel-deprecated","aui-overlay-manager-deprecated","aui-overlay-mask-deprecated"]},"aui-overlay-manager-deprecated":{requires:["overlay","plugin","aui-base-deprecated","aui-overlay-base-deprecated"]},"aui-overlay-mask-deprecated":{requires:["event-resize","aui-base-deprecated","aui-overlay-base-deprecated"],skinnable:!0},"aui-pagination":{requires:["node-event-delegate","aui-node","aui-component","widget-htmlparser"],skinnable:!0},"aui-palette":{requires:["base-build","event-hover","widget","aui-classnamemanager" 22,"aui-base","aui-widget-cssclass","aui-widget-toggle"],skinnable:!0},"aui-parse-content":{requires:["async-queue","plugin","io-base","aui-component","aui-node-base"]},"aui-popover":{requires:["event-resize","widget","widget-autohide","widget-buttons","widget-modality","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod","aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","aui-widget-toolbars","aui-widget-transition","aui-widget-trigger","aui-widget-position-align-suggestion","aui-component","aui-node-base"],skinnable:!0},"aui-progressbar":{requires:["aui-node","aui-component","aui-aria"],skinnable:!0},"aui-promise":{requires:["array-invoke","promise","oop"]}
22,"aui-property-builder":{requires:["dd","collection","aui-property-builder-available-field","aui-property-builder-field-support","aui-property-builder-settings","aui-tabview"],skinnable:!0},"aui-property-builder-available-field":{requires:["base","aui-component","aui-node"]},"aui-property-builder-field-support":{},"aui-property-builder-settings":{requires:["aui-tabview","aui-datatable-property-list"]},"aui-radio-group-data-editor":{requires:["aui-data-editor","node-event-delegate"],skinnable:!0},"aui-rating":{use:["aui-rating-base","aui-rating-thumb"]},"aui-rating-base":{requires:["aui-component","aui-node-base","widget-htmlparser","widget-uievents"],skinnable:!0},"aui-rating-thumb":{requires:["aui-rating-base"]},"aui-resize-base-deprecated":{requires:["dd-drag","dd-delegate","dd-drop","aui-base-deprecated"],skinnable:!0},"aui-resize-constrain-deprecated":{requires:["dd-constrain","plugin","aui-resize-base-deprecated"]},"aui-resize-deprecated":{skinnable:!0,use:["aui-resize-base-deprecated","aui-resize-constrain-deprecated"]},"aui-scale-data-editor":{requires:["aui-classnamemanager","aui-data-editor","event-valuechange"]},"aui-scheduler":{use:["event-gestures","aui-scheduler-base","aui-scheduler-event-recorder","aui-scheduler-view-agenda","aui-scheduler-view-day","aui-scheduler-view-month","aui-scheduler-view-table-dd","aui-scheduler-view-table","aui-scheduler-view-week","aui-viewport"]},"aui-scheduler-base":{requires:["model","model-list","widget-stdmod","color-hsl","aui-event-base","aui-node-base","aui-component","aui-datatype","aui-button","node-focusmanager"],skinnable:!0},"aui-scheduler-event-recorder":{requires:["querystring","io-form","overlay","aui-scheduler-base","aui-popover"],skinnable:!0},"aui-scheduler-touch":{condition:{name:"aui-scheduler-touch",trigger:"aui-scheduler",ua:"touchEnabled"},requires:["base-build","aui-scheduler"],skinnable:!0},"aui-scheduler-view-agenda":{requires:["aui-scheduler-base"],skinnable:!0},"aui-scheduler-view-day":{requires:["dd-drag","dd-delegate","dd-drop","dd-constrain","aui-scheduler-view-table"],skinnable:!0},"aui-scheduler-view-month":{requires:["aui-scheduler-view-table"],skinnable:!0},"aui-scheduler-view-table":{requires:["overlay","aui-scheduler-base"],skinnable:!0},"aui-scheduler-view-table-dd":{requires:["dd-drag","dd-delegate","dd-drop","aui-scheduler-view-table"]},"aui-scheduler-view-week":{requires:["aui-scheduler-view-day"],skinnable:!0},"aui-scroller-deprecated":{requires:["event-mouseenter","aui-base-deprecated","aui-simple-anim-deprecated"],skinnable:!0},"aui-scrollspy":{requires:["base-build","node-screen","aui-classnamemanager"]},"aui-search":{use:["aui-search-tst"]},"aui-search-tst":{requires:["aui-component"]},"aui-selector":{requires:["selector-css3","aui-classnamemanager"]},"aui-set":{requires:["aui-map"]},"aui-simple-anim-deprecated":{requires:["aui-base-deprecated"]},"aui-skin-deprecated":{type:"css"},"aui-sortable":{use:["aui-sortable-layout","aui-sortable-list"]},"aui-sortable-layout":{requires:["dd-delegate","dd-drag","dd-drop","dd-proxy","aui-node","aui-component"],skinnable:!0},"aui-sortable-list":{requires:["dd-drag","dd-drop","dd-proxy","dd-scroll","aui-node","aui-component"]},"aui-state-interaction-deprecated":{requires:["aui-base-deprecated","plugin"]},"aui-surface":{use:["aui-surface-app","aui-surface-screen"]},"aui-surface-app":{requires:["event-delegate","node-event-html5","aui-surface-base","aui-surface-screen","aui-surface-screen-route"]},"aui-surface-base":{requires:["base-build","node-style","timers","aui-debounce","aui-promise","aui-parse-content"]},"aui-surface-screen":{requires:["base-build"]},"aui-surface-screen-html":{requires:["aui-base","aui-io-request","aui-promise","aui-surface-screen","aui-url"]},"aui-surface-screen-route":{requires:["base-build"]},"aui-swf-deprecated":{requires:["querystring-parse-simple","querystring-stringify-simple","aui-base-deprecated"]},"aui-tabs-data-editor":{requires:["aui-data-editor","aui-tabview"]},"aui-tabview":{requires:["selector-css3","tabview","aui-component","aui-widget-css"],skinnable:!0},"aui-template-deprecated":{requires:["aui-base-deprecated"]},"aui-text-data-editor":{requires:["aui-data-editor","event-valuechange"],skinnable:!0},"aui-text-data-unicode":{requires:["text"]},"aui-text-unicode":{requires:["aui-text-data-unicode"]},"aui-textboxlist-deprecated":{requires:["anim-node-plugin","aui-autocomplete-deprecated","aui-button-item-deprecated","aui-data-set-deprecated","escape","node-focusmanager"],skinnable:!0},"aui-timepicker":{requires:["autocomplete","aui-datepicker-delegate","aui-datepicker-popover"],skinnable:!0},"aui-timepicker-native":{requires:["base","base-build","aui-node-base","aui-datepicker-delegate","aui-datepicker-native"]},"aui-timer":{requires:["oop"]}
22,"aui-toggler":{use:["aui-toggler-base","aui-toggler-delegate"]},"aui-toggler-accessibility":{requires:["aui-toggler-base"]},"aui-toggler-base":{requires:["transition","aui-selector","aui-event-base","aui-node","aui-component","event-tap"],skinnable:!0},"aui-toggler-delegate":{requires:["array-invoke","node-event-delegate","aui-toggler-base"]},"aui-toolbar":{requires:["arraylist","arraylist-add","aui-component","aui-button-core"]},"aui-tooltip":{use:["aui-tooltip-base","aui-tooltip-delegate" 23]},"aui-tooltip-base":{requires:["aui-aria","aui-classnamemanager","aui-component","aui-debounce","aui-node-base","aui-widget-cssclass","aui-widget-toggle","aui-widget-transition","aui-widget-trigger","aui-widget-position-align-suggestion","event-hover","event-resize","escape","widget","widget-autohide","widget-position","widget-position-align","widget-position-constrain","widget-stack","widget-stdmod"],skinnable:!0},"aui-tooltip-delegate":{requires:["aui-tooltip-base","node-event-delegate"]},"aui-tooltip-deprecated":{requires:["aui-overlay-context-panel-deprecated"],skinnable:!0},"aui-tpl-snippets-base-deprecated":{requires:["aui-template-deprecated"]},"aui-tpl-snippets-checkbox-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tpl-snippets-deprecated":{use:["aui-tpl-snippets-base-deprecated","aui-tpl-snippets-checkbox-deprecated","aui-tpl-snippets-input-deprecated","aui-tpl-snippets-select-deprecated","aui-tpl-snippets-textarea-deprecated"]},"aui-tpl-snippets-input-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tpl-snippets-select-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tpl-snippets-textarea-deprecated":{requires:["aui-tpl-snippets-base-deprecated"]},"aui-tree":{use:["aui-tree-data","aui-tree-io","aui-tree-node","aui-tree-paginator","aui-tree-view"]},"aui-tree-data":{requires:["aui-base-core","aui-base-lang","aui-node-base","aui-timer","aui-component"]},"aui-tree-io":{requires:["aui-component","aui-io"]},"aui-tree-node":{requires:["json","querystring-stringify","aui-tree-data","aui-tree-io","aui-tree-paginator","event-key"]},"aui-tree-paginator":{requires:["yui-base"]},"aui-tree-view":{requires:["dd-delegate","dd-proxy","widget","aui-tree-node","aui-tree-paginator","aui-tree-io"],skinnable:!0},"aui-undo-redo":{requires:["aui-base","base","base-build","event-key","promise"]},"aui-url":{requires:["oop","querystring-parse","querystring-stringify"]},"aui-video":{requires:["event-resize","node-event-html5","querystring-stringify-simple","aui-aria","aui-node","aui-component","aui-debounce"],skinnable:!0},"aui-viewport":{requires:["aui-node","aui-component"]},"aui-widget":{use:["aui-widget-cssclass","aui-widget-toolbars"]},"aui-widget-core":{use:["aui-widget-cssclass"]},"aui-widget-cssclass":{requires:["widget-base"]},"aui-widget-position-align-suggestion":{requires:["widget-position-align","widget-stdmod"]},"aui-widget-responsive":{requires:["event-resize","widget-base"]},"aui-widget-shortcut":{requires:["base"]},"aui-widget-swipe":{requires:["classnamemanager","scrollview-base","scrollview-paginator","timers"]}
23,"aui-widget-toggle":{},"aui-widget-toolbars":{requires:["widget-stdmod","aui-toolbar"]},"aui-widget-transition":{requires:["transition"]},"aui-widget-trigger":{requires:["node"]}}),YUI.Env[n.version].md5="d7c627eb00edd6b6f054d8f6e7147480",e.UA.edge=function(){var t=e.UA.userAgent.match(/Edge\/(.[0-9.]+)/);return t?t[1]:0}(),e.supportsDOMEvent=function(t,n){n="on"+n;if(!(n in t)){t.setAttribute||(t=e.config.doc.createElement("div"));if(t.setAttribute)return t.setAttribute(n,""),typeof t[n]=="function"}return t=null,!0},function(){var e=Array.prototype.slice;YUI.prototype.ready=function(){var t=this,n=arguments,r=n.length-1,i=e.call(arguments,0,r);i.unshift("event-base"),i.push(function(e){var t=arguments;e.on("domready",function(){n[r].apply(this,t)})}),t.use.apply(t,i)}}()},"3.1.0-deprecated.129"); 24 25YUI.add("aui-classnamemanager",function(e,t){var n=e.ClassNameManager,r=n.getClassName;e.getClassName=e.cached(function(){var t=e.Array(arguments,0,!0);return t[t.length]=!0,r.apply(n,t)})},"3.1.0-deprecated.129",{requires:["classnamemanager"]}); 26 27YUI.add("aui-component",function(e,t){var n=e.Lang,r=e.Array,i=function(e,t){return(e||[]).concat(t||[])},s={},o=e.config.win.Object.prototype.constructor,u=e.ClassNameManager,a=u.getClassName,f=e.Widget.getClassName,l=e.getClassName,c=l("hide"),h=e.Base.create("component",e.Widget,[e.WidgetCssClass,e.WidgetToggle],{initializer:function(e){var t=this;t._originalConfig=e,t._setRender(e),s[t.get("id")]=t},clone:function(t){var n=this;return t=t||{},t.id=t.id||e.guid(),e.mix(t,n._originalConfig),new n.constructor(t)},_uiSetVisible:function(e){var t=this,n=h.superclass._uiSetVisible;n&&n.apply(t,arguments);var r=t.get("hideClass");if(r!==!1){var i=t.get("boundingBox");i.toggleClass(r||c,!e)}},_renderBoxClassNames:function(){var e=this,t=e.get("boundingBox")._node,n=e.get("contentBox")._node,i=t.className,s=n.className,o=i?i.split(" "):[],u=s?s.split(" "):[],c=e._getClasses(),h=c.length,p=h-4,d,v;o.push(f());for(var m=h-3;m>=0;m--)d=c[m],v=String(d.NAME).toLowerCase(),o.push(d.CSS_PREFIX||a(v)),m<=p&&(v=v,u.push(l(v,"content")));u.push(e.getClassName("content")),t===n?s=r.dedupe(u.concat(o)).join(" "):(t.className=r.dedupe(o).join(" "),s=r.dedupe(u).join(" ")),n.className=s},_renderInteraction:function(e,t){var n=this;n.render(t);var r=n._renderHandles;for(var i=r.length-1;i>=0;i--){var s=r.pop();s.detach()}},_setRender:function(t){var r=this,i=t&&t.render;if(i&&i.constructor===o){var s=i.eventType||"mousemove",u=i.parentNode,a=i.selector||u;if(a){r._renderHandles=[];var f=r._renderHandles;n.isArray(s)||(s=[s]);var l=e.rbind(r._renderInteraction,r,u),c=e.one(a);for(var h=s.length-1;h>=0;h--)f[h]=c.once(s[h],l);delete t.render}}}},{ATTRS:{useARIA:{writeOnce:!0,value:!1,validator:n.isBoolean},hideClass:{value:c},render:{value:!1,writeOnce:!0}}});h._INSTANCES=s,h.getById=function(e){return s[e]};var p=e.Widget.prototype._UI_ATTRS;h._applyCssPrefix=function(t){return t&&t.NAME&&!("CSS_PREFIX"in t)&&(t.CSS_PREFIX=e.getClassName(String(t.NAME).toLowerCase())),t},h.create=function(t){t=t||{};var r=t.EXTENDS||e.Component,s=t.constructor;e.Object.owns(t,"constructor")||(s=function(){s.superclass.constructor.apply(this,arguments)});var o=t.prototype;if(o)if(t.UI_ATTRS||t.BIND_UI_ATTRS||t.SYNC_UI_ATTRS){var u=i(t.BIND_UI_ATTRS,t.UI_ATTRS),a=i(t.SYNC_UI_ATTRS,t.UI_ATTRS),f=r.prototype,l=f&&f._UI_ATTRS||p;u=i(l.BIND,u),a=i(l.SYNC,a);var c=o._UI_ATTRS;c||(c=o._UI_ATTRS={}),u.length&&(c.BIND=u),a.length&&(c.SYNC=a)}var d=t.AUGMENTS;return d&&!n.isArray(d)&&(d=[d]),e.mix(s,t),delete s.prototype,e.extend(s,r,o),d&&(s=e.Base.build(t.NAME,s,d,{dynamic:!1}
27)),h._applyCssPrefix(s),s},h.CSS_PREFIX=l("component");var d=e.Base;h.build=function(){var e=d.build.apply(d,arguments);return h._applyCssPrefix(e),e},e.Component=h},"3.1.0-deprecated.129",{requires:["aui-classnamemanager","aui-widget-cssclass","aui-widget-toggle","base-build","widget-base"]}); 28 29YUI.add("aui-debounce",function(e,t){var n=e.Lang,r=e.Array,i=n.isString,s=n.isUndefined,o=[],u=function(e,t,n,i){return s(e)?t:r(e,n||0,i!==!1)};e.debounce=function(t,n,r,a){var f,l,c;i(t)&&r&&(t=e.bind(t,r)),n=n||0,a=u(arguments,o,3);var h=function(){clearInterval(f),f=null},p=function(){h();var e=t.apply(r,l||a||o);return l=null,e},d=function(e,i,h,d){c.cancel(),e=s(e)?n:e,t=d||t,r=h||r,i!==a&&(l=u(i,o,0,!1).concat(a));if(!(e>0))return p();f=setInterval(p,e)},v=function(){f&&h()},m=function(e){v(),e=e||0};return c=function(){var e=arguments.length?arguments:a;return c.delay(n,e,r||this)},c.cancel=v,c.delay=d,c.setDelay=m,c}},"3.1.0-deprecated.129"); 30 31YUI.add("aui-delayed-task-deprecated",function(e,t){var n=function(e,t,n){var r=this;r._args=n,r._delay=0,r._fn=e,r._id=null,r._scope=t||r,r._time=0,r._base=function(){var e=r._getTime();e-r._time>=r._delay&&(clearInterval(r._id),r._id=null,r._fn.apply(r._scope,r._args||[]))}};n.prototype={delay:function(t,n,r,i){var s=this;s._id&&s._delay!=t&&s.cancel(),s._delay=t||s._delay,s._time=s._getTime(),s._fn=n||s._fn,s._scope=r||s._scope,s._args=i||s._args,e.Lang.isArray(s._args)||(s._args=[s._args]),s._id||(s._delay>0?s._id=setInterval(s._base,s._delay):s._base())},cancel:function(){var e=this;e._id&&(clearInterval(e._id),e._id=null)},_getTime:function(){var e=this;return+(new Date)}},e.DelayedTask=n},"3.1.0-deprecated.129",{requires:["yui-base"]}); 32 33YUI.add("aui-event-base",function(e,t){var n=e.Array,r=e.DOMEventFacade,i=r.prototype,s={BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,RETURN:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUM_LOCK:144,WIN_KEY:224,WIN_IME:229,NON_MODIFYING_KEYS:["ALT","CAPS_LOCK","CTRL","DOWN","END","ESC","F1","F10","F11","F12","F2","F3","F4","F5","F6","F7","F8","F9","HOME","LEFT","NUM_LOCK","PAGE_DOWN","PAGE_UP","PAUSE","PRINT_SCREEN","RIGHT","SHIFT","SPACE","UP","WIN_KEY"],hasModifier:function(e){return e&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)},isKey:function(e,t){var n=this;return t&&(n[t]||n[t.toUpperCase()])===e},isKeyInRange:function(e,t,n){var r=this,i=!1;if(t&&n){var s=r[t]||r[t.toUpperCase()],o=r[n]||r[n.toUpperCase()];i=s&&o&&e>=s&&e<=o}return i},isKeyInSet:function(e){var t=this,r=n(arguments,1,!0);return t._isKeyInSet(e,r)},isNavKey:function(e){var t=this;return t.isKeyInRange(e,"PAGE_UP","DOWN")||t.isKeyInSet(e,"ENTER","TAB","ESC")},isSpecialKey:function(e,t){var n=this,r=t==="keypress"&&n.ctrlKey;return r||n.isNavKey(e)||n.isKeyInRange(e,"SHIFT","CAPS_LOCK")||n.isKeyInSet(e,"BACKSPACE","PRINT_SCREEN","INSERT","WIN_IME")},isModifyingKey:function(e){var t=this;return!t._isKeyInSet(e,t.NON_MODIFYING_KEYS)},_isKeyInSet:function(e,t){var n=this,r=t.length,i=!1,s,o;while(r--){s=t[r],o=s&&(n[s]||n[String(s).toUpperCase()]);if(e===o){i=!0;break}}return i}};e.mix(i,{hasModifier:function(){var e=this;return s.hasModifier(e)},isKey:function(e){var t=this;return s.isKey(t.keyCode,e)},isKeyInRange:function(e,t){var n=this;return s.isKeyInRange(n.keyCode,e,t)},isKeyInSet:function(){var e=this,t=n(arguments,0,!0);return s._isKeyInSet(e.keyCode,t)},isModifyingKey:function(){var e=this;return s.isModifyingKey(e.keyCode)},isNavKey:function(){var e=this;
33return s.isNavKey(e.keyCode)},isSpecialKey:function(){var e=this;return s.isSpecialKey(e.keyCode,e.type)}}),e.Event.KeyMap=s,e.Event.supportsDOMEvent=e.supportsDOMEvent},"3.1.0-deprecated.129",{requires:["event-base"]}); 34 35YUI.add("aui-event-input",function(e,t){var n=e.Node.DOM_EVENTS;if(e.Features.test("event","input")){n.input=1;return}n.cut=1,n.dragend=1,n.paste=1;var r=e.Event.KeyMap,i="~~aui|input|event~~",s=["keydown","paste","drop","cut"],o={cut:1,drop:1,paste:1};e.Event.define("input",{on:function(t,n,r){var i=this;n._handler=t.on(s,e.bind(i._dispatchEvent,i,n,r))},delegate:function(t,n,r,o){var u=this;n._handles=[],n._handler=t.delegate("focus",function(t){var o=t.target,a=o.getData(i);a||(a=o.on(s,e.bind(u._dispatchEvent,u,n,r)),n._handles.push(a),o.setData(i,a))},o)},detach:function(e,t){t._handler.detach()},detachDelegate:function(t,n){e.Array.each(n._handles,function(t){var n=e.one(t.evt.el);n&&n.setData(i,null),t.detach()}),n._handler.detach()},_dispatchEvent:function(t,n,i){var s=this,u,a;u=i.target,(o[i.type]||u.get("ownerDocument").get("activeElement")===u)&&r.isModifyingKey(i.keyCode)&&(t._timer&&(t._timer.cancel(),t._timer=null),a=r.isKey(i.keyCode,"WIN_IME")?null:u.get("value"),t._timer=e.soon(e.bind("_fireEvent",s,t,n,i,a)))},_fireEvent:function(e,t,n,r){var i=n.target;e._timer=null,i.get("value")!==r&&t.fire(n)}})},"3.1.0-deprecated.129",{requires:["aui-event-base","event-delegate","event-synthetic","timers"]}); 36 37YUI.add("aui-form-validator",function(e,t){var n=e.Lang,r=e.Object,i=n.isBoolean,s=n.isDate,o=r.isEmpty,u=n.isFunction,a=n.isNode,f=n.isObject,l=n.isString,c=n.trim,h=e.namespace("config.FormValidator"),p=e.DOM._getRegExp,d=e.getClassName,v=d("form","group"),m=d("has","error"),g=d("error","field"),y=d("has","success"),b=d("success","field"),w=d("help","block"),E=d("form-validator","stack"),S='<div role="alert"></div>',x='<div class="'+[E,w].join(" ")+'"></div>';Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector),e.mix(h,{STRINGS:{DEFAULT:"Please fix {field}.",acceptFiles:"Please enter a value with a valid extension ({0}) in {field}.",alpha:"Please enter only alpha characters in {field}.",alphanum:"Please enter only alphanumeric characters in {field}.",date:"Please enter a valid date in {field}.",digits:"Please enter only digits in {field}.",email:"Please enter a valid email address in {field}.",equalTo:"Please enter the same value again in {field}.",iri:"Please enter a valid IRI in {field}.",max:"Please enter a value less than or equal to {0} in {field}.",maxLength:"Please enter no more than {0} characters in {field}.",min:"Please enter a value greater than or equal to {0} in {field}.",minLength:"Please enter at least {0} characters in {field}.",number:"Please enter a valid number in {field}.",range:"Please enter a value between {0} and {1} in {field}.",rangeLength:"Please enter a value between {0} and {1} characters long in {field}.",required:"{field} is required.",url:"Please enter a valid URL in {field}."},REGEX:{alpha:/^[a-z_]+$/i,alphanum:/^\w+$/,digits:/^\d+$/,email:new RegExp("^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$","i"),iri:new RegExp("^([a-z]([a-z]|\\d|\\+|-|\\.)*):(\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?((\\[(|(v[\\da-f]{1,}\\.(([a-z]|\\d|-|\\.|_|~)|[!\\$&'\\(\\)\\*\\+,;=]|:)+))\\])|((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=])*)(:\\d*)?)(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*|(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)){0})(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$","i"),number:/^[+\-]?(\d+([.,]\d+)?)+([eE][+-]?\d+)?$/,url:new RegExp("^(https?|ftp):\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)*(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$","i")},RULES:{acceptFiles:function(t,n,r){var i=null;if(l(r)){var s=r.replace(/\./g,"").split(/,\s*|\b\s*/);s=e.Array.map(s,e.Escape.regex),i=p("[.]("+s.join("|")+")$","i")}return i&&i.test(t)},date:function(e){var t=new Date(e);return s(t)&&t!=="Invalid Date"&&!isNaN(t)},equalTo:function(t,n,r){var i=e.one(r);return i&&c(i.val( 38))===t},hasValue:function(t,n){var r=this;if(e.FormValidator.isCheckable(n)){var i=n.get("name"),s=e.all(r.getFieldsByName(i));return s.filter(":checked").size()>0}return!!t}
38,max:function(e,t,r){return n.toFloat(e)<=r},maxLength:function(e,t,n){return e.length<=n},min:function(e,t,r){return n.toFloat(e)>=r},minLength:function(e,t,n){return e.length>=n},range:function(e,t,r){var i=n.toFloat(e);return i>=r[0]&&i<=r[1]},rangeLength:function(e,t,n){var r=e.length;return r>=n[0]&&r<=n[1]},required:function(e,t,n){var r=this;return n===!0?h.RULES.hasValue.apply(r,[e,t]):!0}}});var T=e.Component.create({NAME:"form-validator",ATTRS:{boundingBox:{setter:e.one},containerErrorClass:{value:m,validator:l},containerValidClass:{value:y,validator:l},errorClass:{value:g,validator:l},extractRules:{value:!0,validator:i},fieldContainer:{value:"."+v},fieldStrings:{value:{},validator:f},labelCssClass:{validator:l,value:"control-label"},messageContainer:{getter:function(t){return e.Node.create(t).clone()},value:S},rules:{getter:function(e){var t=this;return t._rulesAlreadyExtracted||t._extractRulesFromMarkup(e),e},validator:f,value:{}},selectText:{value:!0,validator:i},showMessages:{value:!0,validator:i},showAllMessages:{value:!1,validator:i},skipValidationTargetSelector:{value:"a[class~=btn-cancel]"},stackErrorContainer:{getter:function(t){return e.Node.create(t).clone()},value:x},strings:{valueFn:function(){return h.STRINGS}},validateOnBlur:{value:!0,validator:i},validateOnInput:{value:!1,validator:i},validClass:{value:b,validator:l}},_setCustomRules:function(t){e.each(t,function(t,n){e.config.FormValidator.RULES[n]=t.condition,e.config.FormValidator.STRINGS[n]=t.errorMessage})},addCustomRules:function(e){var t=this;f(e)&&t._setCustomRules(e)},isCheckable:function(e){var t=e.get("type").toLowerCase();return t==="checkbox"||t==="radio"},EXTENDS:e.Base,prototype:{initializer:function(){var e=this;e.errors={},e._blurHandlers=null,e._fileBlurHandlers=null,e._fileInputHandlers=null,e._inputHandlers=null,e._rulesAlreadyExtracted=!1,e._stackErrorContainers={},e.bindUI(),e._uiSetValidateOnBlur(e.get("validateOnBlur")),e._uiSetValidateOnInput(e.get("validateOnInput"))},bindUI:function(){var t=this,n=t.get("boundingBox"),r=n.delegate("focus",function(){t._setARIARoles(),r.detach()},"input,select,textarea,button");t.publish({errorField:{defaultFn:t._defErrorFieldFn},validField:{defaultFn:t._defValidFieldFn},validateField:{defaultFn:t._defValidateFieldFn}}),n.on({reset:e.bind(t._onFormReset,t),submit:e.bind(t._onFormSubmit,t)}),t.after({extractRulesChange:t._afterExtractRulesChange,validateOnBlurChange:t._afterValidateOnBlurChange,validateOnInputChange:t._afterValidateOnInputChange})},addFieldError:function(e,t){var n=this,r=n.errors,i=e.get("name");r[i]||(r[i]=[]),r[i].push(t)},clearFieldError:function(e){var t=a(e)?e.get("name"):e;l(t)&&delete this.errors[t]},eachRule:function(t){var n=this;e.each(n.get("rules"),function(e,r){u(t)&&t.apply(n,[e,r])})},findFieldContainer:function(e){var t=this,n=t.get("fieldContainer"),r=e.ancestor();return n&&e.ancestor(n)&&(r=e.ancestor(n)),r},focusInvalidField:function(){var e=this,t=e.get("boundingBox"),n=t.one("."+g);n&&(e.get("selectText")&&n.selectText(),n.focus(),n.scrollIntoView(!1),window.scrollBy(0,n.getDOM().scrollHeight))},getField:function(t){var n=this;return l(t)&&(t=n.getFieldsByName(t),t&&t.length&&!t.name&&(t=t[0])),e.one(t)},getFieldsByName:function(e){var t=this,n=t.get("boundingBox").getDOM();return n.elements[e]},getFieldError:function(e){var t=this;return t.errors[e.get("name")]},getFieldStackErrorContainer:function(e){var t=this,n=a(e)?e.get("name"):e,r=t._stackErrorContainers;return r[n]||(r[n]=t.get("stackErrorContainer")),r[n]},getFieldErrorMessage:function(t,r){var i=this,s=t.get("name"),o=i.get("fieldStrings")[s]||{},u=i.get("rules")[s],a=i._findFieldLabel(t),f=i.get("strings"),l={};a&&(l.field=a);if(r in u){var c=e.Array(u[r]);e.each(c,function(e,t){l[t]=[e].join("")})}var h=o[r]||f[r]||f.DEFAULT;return n.sub(h,l)},hasErrors:function(){var e=this;return!o(e.errors)},highlight:function(t,n){var r=this,i,s,o;t&&(i=r.findFieldContainer(t),s=t.get("name"),this.validatable(t)?(o=e.all(r.getFieldsByName(s)),o.each(function(e){r._highlightHelper(e,r.get("errorClass"),r.get("validClass"),n)}
38),i&&r._highlightHelper(i,r.get("containerErrorClass"),r.get("containerValidClass"),n)):t.val()||r.resetField(s))},normalizeRuleValue:function(e,t){var n=this;return u(e)?e.apply(n,[t]):e},unhighlight:function(e){var t=this;t.highlight(e,!0)},printStackError:function(t,n,r){var i=this;i.get("showAllMessages")||(e.Array.indexOf(r,"required")!==-1?r=["required"]:r=r.slice(0,1)),n.empty(),e.Array.each(r,function(e){var r=i.getFieldErrorMessage(t,e),s=i.get("messageContainer").addClass(e);n.append(s.html(r))})},resetAllFields:function(){var e=this;e.eachRule(function(t,n){e.resetField(n)})},resetField:function(t){var n=this,r,i,s,o;r=a(t)?t.get("name"):t,r&&(i=n.get("rules")[r],i&&(n.clearFieldError(r),o=n.getFieldStackErrorContainer(r),o.remove(),s=e.all(n.getFieldsByName(r)),s.each(function(e){n.resetFieldCss(e),e.removeAttribute("aria-errormessage"),e.removeAttribute("aria-invalid")})))},resetFieldCss:function(t){var n=this,r=n.findFieldContainer(t),i=function(t,r){t&&e.each(r,function(e){t.removeClass(n.get(e))})};i(t,["validClass","errorClass"]),i(r,["containerValidClass","containerErrorClass"])},validatable:function(e){var t=this,n=!1,r=t.get("rules")[e.get("name")];return r&&(n=t.normalizeRuleValue(r.required,e)||h.RULES.hasValue.apply(t,[e.val(),e])),!!n},validate:function(){var e=this;e.eachRule(function(t,n){e.validateField(n)}),e.focusInvalidField()},validateField:function(e){var t,n;this.resetField(e),t=l(e)?this.getField(e):e,a(t)&&(n=this.validatable(t),n&&this.fire("validateField",{validator:{field:t}}))},_afterExtractRulesChange:function(e){var t=this;t._uiSetExtractRules(e.newVal)},_afterValidateOnBlurChange:function(e){var t=this;t._uiSetValidateOnBlur(e.newVal)}, 39_afterValidateOnInputChange:function(e){var t=this;t._uiSetValidateOnInput(e.newVal)},_defErrorFieldFn:function(t){var n=this,r,i,s,o,u;i=n.get("labelCssClass"),u=t.validator,r=u.field,n.highlight(r);if(n.get("showMessages")){o=r,s=n.getFieldStackErrorContainer(r),e.FormValidator.isCheckable(o)&&(o=r.ancestor("."+m).get("lastChild"));var a=r.get("id")+"Helper";s.set("id",a),o.placeAfter(s),n.printStackError(r,s,u.errors)}},_defValidFieldFn:function(e){var t=this,n=e.validator.field;t.unhighlight(n)},_defValidateFieldFn:function(t){var n=this,r=t.validator.field,i=n.get("rules")[r.get("name")];e.each(i,function(e,t){var i=h.RULES[t],s=c(r.val());e=n.normalizeRuleValue(e,r),u(i)&&!i.apply(n,[s,r,e])&&n.addFieldError(r,t)});var s=n.getFieldError(r);s?n.fire("errorField",{validator:{field:r,errors:s}}):n.fire("validField",{validator:{field:r}})},_findFieldLabel:function(t){var n="."+this.get("labelCssClass"),r=e.one("label[for="+t.get("id")+"]")||t.ancestor().previous(n);r||(r=t.ancestor("."+m),r&&(r=r.one(n)));if(r)return r.get("text")},_highlightHelper:function(e,t,n,r){var i=this;r?(e.removeClass(t).addClass(n),n===b&&(e.removeAttribute("aria-errormessage"),e.removeAttribute("aria-invalid"))):(e.removeClass(n).addClass(t),t===g&&(e.set("aria-errormessage",e.get("id")+"Helper"),e.set("aria-invalid",!0)))},_extractRulesFromMarkup:function(e){var t=this,n=t.get("boundingBox").getDOM(),i=n.elements,s=r.keys(h.RULES),o=s.join("|"),u=p("field-("+o+")","g"),a,f,l=[],c=function(e,t){l.push(t)};for(a=0,f=i.length;a<f;a++){var d=i[a],v=d.name;d.className.replace(u,c);if(l.length){var m=e[v],g,y;m||(m={},e[v]=m);for(g=0,y=l.length;g<y;g++){var b=l[g];b in m||(m[b]=!0)}l.length=0}}t._rulesAlreadyExtracted=!0},_onFieldInput:function(e){var t=this,n=t.get("skipValidationTargetSelector");(!e.relatedTarget||!e.relatedTarget.getDOMNode().matches(n))&&setTimeout(function(){t.validateField(e.target)},300)},_onFormSubmit:function(e){var t=this,n={validator:{formEvent:e}};t.validate(),t.hasErrors()?(n.validator.errors=t.errors,t.fire("submitError",n),e.halt()):t.fire("submit",n)},_onFormReset:function(){var e=this;e.resetAllFields()},_setARIARoles:function(){var e=this;e.eachRule(function(t,n){var r=e.getField(n),i=e.normalizeRuleValue(t.required,r);i&&r&&!r.attr("aria-required")&&r.attr("aria-required",!0)})},_uiSetExtractRules:function(e){var t=this;e&&t._extractRulesFromMarkup(t.get("rules"))},_uiSetValidateOnInput:function(e){var t=this,n=t.get("boundingBox");e?(t._inputHandlers||(t._inputHandlers=n.delegate("input",t._onFieldInput,'input:not([type="file"]),select,textarea,button',t)),t._fileInputHandlers||(t._fileInputHandlers=n.delegate("change",t._onFieldInput,'input[type="file"]',t))):(t._inputHandlers&&t._inputHandlers.detach(),t._fileInputHandlers&&t._fileInputHandlers.detach())},_uiSetValidateOnBlur:function(e){var t=this,n=t.get("boundingBox");e?(t._blurHandlers||(t._blurHandlers=n.delegate("blur",t._onFieldInput,'input:not([type="file"]),select,textarea,button',t)),t._fileBlurHandlers||(t._fileBlurHandlers=n.delegate("change",t._onFieldInput,'input[type="file"]',t))):(t._blurHandlers&&t._blurHandlers.detach(),t._fileBlurHandlers&&t._fileBlurHandlers.detach())}}});e.each(h.REGEX,function(e,t){h.RULES[t]=function(e){return h.REGEX[t].test(e)}}),e.FormValidator=T},"3.1.0-deprecated.129",{requires:["escape","selector-css3","node-event-delegate","aui-node","aui-component","aui-event-input"]}); 40 41YUI.add("aui-node-base",function(e,t){var n=e.Lang,r=n.isArray,i=n.isFunction,s=n.isObject,o=n.isString,u=n.isUndefined,a=n.isValue,f=e.Array,l=e.Node,c=e.NodeList,h=e.getClassName,p=e.DOM._getRegExp,d=e.config,v=d.doc,m=d.win,g=l.prototype,y=g._hide,b=g._show,w=c.prototype,E=["",""],S=h("hide"),x="none",T="text",N=!1,C={b:"borderBottomWidth",l:"borderLeftWidth",r:"borderRightWidth",t:"borderTopWidth"},k={b:"marginBottom",l:"marginLeft",r:"marginRight",t:"marginTop"},L={b:"paddingBottom",l:"paddingLeft",r:"paddingRight",t:"paddingTop"},A=v.createElement("div");A.style.display="none",A.innerHTML=" <table></table> ",A.attachEvent&&A.fireEvent&&(A.attachEvent("onclick",function H(){N=!0,A.detachEvent("onclick",H)}),A.cloneNode(!0).fireEvent("onclick"));var O=!A.getElementsByTagName("tbody").length,M=/^\s+/,_=/\=([^=\x27\x22>\s]+\/)>/g,D=/<([\w:]+)/;A=null;var P=function(e,t,n){var r,i=t?"on":"",s,o;
41e.setAttribute("unselectable",i);if(!n){r=e.getElementsByTagName("*");for(s=0;o=r[s];s++)o.setAttribute("unselectable",i)}};e.mix(g,{ancestorsByClassName:function(t,n){var r=this,i=[],s=new RegExp("\\b"+t+"\\b"),o=r.getDOM();n||(o=o.parentNode);while(o&&o.nodeType!==9)o.nodeType===1&&s.test(o.className)&&i.push(o),o=o.parentNode;return e.all(i)},attr:function(e,t){var r=this,i;if(!u(t)){var o=r.getDOM();return e in o?r.set(e,t):r.setAttribute(e,t),r}if(s(e)){for(i in e)e.hasOwnProperty(i)&&r.attr(i,e[i]);return r}var a=r.get(e);return n.isValue(a)||(a=r.getAttribute(e)),a},clone:function(){var t;return N?t=function(){var t=this.getDOM(),n;if(t.nodeType!==3){var r=this.outerHTML();r=r.replace(_,'="$1">').replace(M,""),n=l.create(r)}else n=e.one(t.cloneNode());return n}:t=function(){return this.cloneNode(!0)},t}(),center:function(t){var n=this,i=n.get("region"),o,u;if(r(t))o=t[0],u=t[1];else{var a;s(t)&&!e.instanceOf(t,l)?a=t:a=(e.one(t)||e.getBody()).get("region"),o=a.left+a.width/2,u=a.top+a.height/2}n.setXY([o-i.width/2,u-i.height/2])},empty:function(){var e=this;e.all(">*").remove().purge();var t=l.getDOMNode(e);while(t.firstChild)t.removeChild(t.firstChild);return e},getDOM:function(){var e=this;return l.getDOMNode(e)},getBorderWidth:function(e){var t=this;return t._getBoxStyleAsNumber(e,C)},getCenterXY:function(){var e=this,t=e.get("region");return[t.left+t.width/2,t.top+t.height/2]},getMargin:function(e){var t=this;return t._getBoxStyleAsNumber(e,k)},getPadding:function(e){var t=this;return t._getBoxStyleAsNumber(e,L)},guid:function(){var t=this,n=t.get("id");return n||(n=e.stamp(t),t.set("id",n)),n},hover:function(t,n){var r=this,i,o=r._defaultHoverOptions;return s(t,!0)?(i=t,i=e.mix(i,o),t=i.over,n=i.out):i=e.mix({over:t,out:n},o),r._hoverOptions=i,i.overTask=e.debounce(r._hoverOverTaskFn,null,r),i.outTask=e.debounce(r._hoverOutTaskFn,null,r),new e.EventHandle([r.on(i.overEventType,r._hoverOverHandler,r),r.on(i.outEventType,r._hoverOutHandler,r)])},html:function(){var e=arguments,t=e.length;return t?(this.set("innerHTML",e[0]),this):this.get("innerHTML")},outerHTML:function(){var e=this,t=e.getDOM();if("outerHTML"in t)return t.outerHTML;var n=l.create("<div></div>").append(this.clone());try{return n.html()}catch(r){}finally{n=null}},placeAfter:function(e){var t=this;return t._place(e,t.get("nextSibling"))},placeBefore:function(e){var t=this;return t._place(e,t)},prependTo:function(t){var n=this;return e.one(t).prepend(n),n},radioClass:function(e){var t=this,n=t.siblings();if(o(e))n.removeClass(e),t.addClass(e);else if(r(e)){var i=n.getDOM(),s=p("(?:^|\\s+)(?:"+e.join("|")+")(?=\\s+|$)","g"),u,a;for(a=i.length-1;a>=0;a--)u=i[a],u.className=u.className.replace(s,"");t.addClass(e.join(" "))}return t},resetId:function(t){var n=this;return n.attr("id",e.guid(t)),n},selectText:function(e,t){var n=this,r=n.getDOM(),i=n.val().length;t=a(t)?t:i,e=a(e)?e:0;try{if(r.setSelectionRange)r.setSelectionRange(e,t);else if(r.createTextRange){var s=r.createTextRange();s.moveStart("character",e),s.moveEnd("character",t-i),s.select()}else r.select();r!==v.activeElement&&r.focus()}catch(o){}return n},selectable:function(t){var n=this;return n.setStyles({"-webkit-user-select":T,"-khtml-user-select":T,"-moz-user-select":T,"-ms-user-select":T,"-o-user-select":T,"user-select":T}),(e.UA.ie||e.UA.opera)&&P(n._node,!1,t),n},swallowEvent:function(e,t){var n=this,i=function(e){return e.stopPropagation(),t&&(e.preventDefault(),e.halt()),!1};return r(e)?(f.each(e,function(e){n.on(e,i)}),this):(n.on(e,i),n)},text:function(t){var n=this,r=n.getDOM();return u(t)?n._getText(r.childNodes):(t=e.DOM._getDoc(r).createTextNode(t),n.empty().append(t))},toggle:function(){var e=this;return e._toggleView.apply(e,arguments),e},unselectable:function(t){var n=this;return n.setStyles({"-webkit-user-select":x,"-khtml-user-select":x,"-moz-user-select":x,"-ms-user-select":x,"-o-user-select":x,"user-select":x}),(e.UA.ie||e.UA.opera)&&P(n._node,!0,t),n},val:function(e){var t=this;return u(e)?t.get("value"):t.set("value",e)},_getBoxStyleAsNumber:function(e,t){var n=this,r=e.match(/\w/g),i=0,s,o,u;for(u=r.length-1;u>=0;u--)o=r[u],s=0,o&&(s=parseFloat(n.getComputedStyle(t[o])),s=Math.abs(s),i+=s||
410);return i},_getText:function(e){var t=this,n=e.length,r,i=[],s;for(s=0;s<n;s++)r=e[s],r&&r.nodeType!==8&&(r.nodeType!==1&&i.push(r.nodeValue),r.childNodes&&i.push(t._getText(r.childNodes)));return i.join("")},_hide:function(){var e=this;return e.addClass(S),y.apply(e,arguments)},_hoverOutHandler:function(e){var t=this,n=t._hoverOptions;n.outTask.delay(n.outDelay,e)},_hoverOverHandler:function(e){var t=this,n=t._hoverOptions;n.overTask.delay(n.overDelay,e)},_hoverOutTaskFn:function(e){var t=this,n=t._hoverOptions;n.overTask.cancel(),n.out.apply(n.context||e.currentTarget,arguments)},_hoverOverTaskFn:function(e){var t=this,n=t._hoverOptions;n.outTask.cancel(),n.over.apply(n.context||e.currentTarget,arguments)},_place:function(e,t){var n=this,r=n.get("parentNode");return r&&(o(e)&&(e=l.create(e)),r.insertBefore(e,t)),n},_show:function(){var e=this;return e 42.removeClass(S),b.apply(e,arguments)},_defaultHoverOptions:{overEventType:"mouseenter",outEventType:"mouseleave",overDelay:0,outDelay:0,over:n.emptyFn,out:n.emptyFn}},!0),g.__isHidden=g._isHidden,g._isHidden=function(){var e=this;return g.__isHidden.call(e)||e.hasClass(e._hideClass||S)},e.each(["Height","Width"],function(e,t){var n=t?"lr":"tb",r=e.toLowerCase();g[r]=function(t){var i=this,s=i;if(u(t)){var o=i._node,a;if(o)if(!o.tagName&&o.nodeType===9||o.alert)a=i.get("region")[r];else{a=i.get("offset"+e);if(!a){var f=i.getStyle("display"),l=i.getStyle("position"),c=i.getStyle("visibility");i.setStyles({display:"block !important",position:"absolute !important",visibility:"hidden !important"}),a=i.get("offset"+e),i.setStyles({display:f,position:l,visibility:c})}a&&(a-=i.getPadding(n)+i.getBorderWidth(n))}s=a}else i.setStyle(r,t);return s},g["inner"+e]=function(){var e=this;return e[r]()+e.getPadding(n)},g["outer"+e]=function(t){var r=this,i=r["inner"+e](),s=r.getBorderWidth(n),o=i+s;return t&&(o+=r.getMargin(n)),o}}),O||(e.DOM._ADD_HTML=e.DOM.addHTML,e.DOM.addHTML=function(t,n,r){var i=t.nodeName&&t.nodeName.toLowerCase()||"",s="";u(n)||(o(n)?s=(D.exec(n)||E)[1]:n.nodeType&&n.nodeType===11&&n.childNodes.length?s=n.childNodes[0].nodeName:n.nodeName&&(s=n.nodeName),s=s&&s.toLowerCase());if(i==="table"&&s==="tr"){t=t.getElementsByTagName("tbody")[0]||t.appendChild(t.ownerDocument.createElement("tbody"));var a=(r&&r.nodeName||"").toLowerCase();a==="tbody"&&r.childNodes.length>0&&(r=r.firstChild)}return e.DOM._ADD_HTML(t,n,r)}),c.importMethod(g,["after","appendTo","attr","before","empty","getX","getXY","getY","hover","html","innerHeight","innerWidth","outerHeight","outerHTML","outerWidth","prepend","prependTo","purge","selectText","selectable","setX","setXY","setY","text","toggle","unselectable","val"]),e.mix(w,{all:function(t){var n=this,r=[],i=n._nodes,s=i.length,o,u;for(u=0;
42u<s;u++)o=e.Selector.query(t,i[u]),o&&o.length&&r.push.apply(r,o);return r=f.unique(r),e.all(r)},first:function(){var e=this;return e.item(0)},getDOM:function(){return c.getDOMNodes(this)},last:function(){var e=this;return e.item(e._nodes.length-1)},one:function(t){var n=this,r=null,i=n._nodes,s=i.length,o;for(o=0;o<s;o++){r=e.Selector.query(t,i[o],!0);if(r){r=e.one(r);break}}return r}}),w.__filter=w.filter,w.filter=function(t,n){var r=this,s;if(i(t)){var o=[];r.each(function(e,r,i){t.call(n||e,e,r,i)&&o.push(e._node)}),s=e.all(o)}else s=w.__filter.call(r,t);return s},e.mix(c,{create:function(t){var n=e.getDoc().invoke("createDocumentFragment");return n.append(t).get("childNodes")}}),e.mix(e,{getBody:function(){var t=this;return t._bodyNode||(t._bodyNode=e.one(v.body)),t._bodyNode},getDoc:function(){var t=this;return t._documentNode||(t._documentNode=e.one(v)),t._documentNode},getWin:function(){var t=this;return t._windowNode||(t._windowNode=e.one(m)),t._windowNode}})},"3.1.0-deprecated.129",{requires:["array-extras","aui-base-lang","aui-classnamemanager","aui-debounce","node"]}); 43 44YUI.add("aui-node-html5",function(e,t){if(e.UA.ie){var n=e.namespace("HTML5"),r=e.DOM._create;n._fragHTML5Shived||(n._fragHTML5Shived=e.html5shiv(e.config.doc.createDocumentFragment())),e.mix(n,{IECreateFix:function(e,t){var r=n._fragHTML5Shived;return r.appendChild(e),e.innerHTML=t,r.removeChild(e),e},_doBeforeCreate:function(t){var i=r.apply(this,arguments),s=n.IECreateFix(i,t);return new e.Do.Halt(null,s)}}),e.Do.before(n._doBeforeCreate,e.DOM,"_create",e.DOM)}var i=e.config,s=i.doc,o=i.win,u=e.UA,a=u.ie,f=function(){return o.AUI_HTML5_IE===!1};if(!a||a>=9||f())return;var l=[],c=o.location,h=c.protocol+"//"+c.host,p=s.documentElement,d=e.HTML5_ELEMENTS,v=d.length,m=d.join("|"),g=new RegExp("<(/?):("+m+")","gi"),y=new RegExp("("+m+")","gi"),b=new RegExp("\\b("+m+")\\b","i"),w=/print|all/,E=new RegExp("(^|[^\\n{}]*?\\s)("+m+").*?{([^}]*)}","gim"),S=new RegExp("<(/*)("+m+")","gi"),x=".printfix-$1",T="",N="url("+h,C="<$1$2",k="<$1font",L=e.html5shiv,A=function(e){return e&&e+T!==undefined},O=function(e,t,n){var r=t[n];r?e.setAttribute(n,r):e.removeAttribute(n)};L(s);var M=function(){var e,t=function(){f()?e():M.onAfterPrint()},n=function(){f()?e():M.onBeforePrint()};e=function(){o.detachEvent("onafterprint",t),o.detachEvent("onbeforeprint",n)};var r=function(){o.attachEvent("onafterprint",t),o.attachEvent("onbeforeprint",n)};r(),M.destroy=e,M.init=r};e.mix(M,{onAfterPrint:function(){var e=this;e.restoreHTML();var t=e._getStyleSheet();t.styleSheet.cssText=""},onBeforePrint:function(){var e=this,t=e._getStyleSheet(),n=e._getAllCSSText();t.styleSheet.cssText=e.parseCSS(n),e.writeHTML()},parseCSS:function(e){var t="",n=e.match(E);return n&&(t=n.join("\n").replace(y,x)),t},restoreHTML:function(){var e=this,t=e._getBodyClone(),n=e._getBodyEl(),r=t.getElementsByTagName("IFRAME"),i=n.getElementsByTagName("IFRAME"),s=i.length;if(s===r.length)while(s--){var o=r[s],u=i[s];u.swapNode(o)}t.innerHTML="",p.removeChild(t),p.appendChild(n)},writeHTML:function(){var e=this,t=-1,n,r=e._getBodyEl(),i,o,a,f,l,c=[];while(++t<v){i=d[t],a=s.getElementsByTagName(i),f=a.length,n=-1;while(++n<f)l=a[n],o=l.className,o.indexOf("printfix-")===-1&&(c[0]="printfix-"+i,c[1]=o,l.className=c.join(" "))}var h=e._getDocFrag(),m=e._getBodyClone();h.appendChild(r),p.appendChild(m),m.className=r.className,m.id=r.id;var y=r.getElementsByTagName("*"),b=y.length;if(u.secure){var w=r.style,E,x;w.display="none";for(t=0;t<b;t++)E=y[t].style,x=E.backgroundImage,x&&x.indexOf("url(")>-1&&x.indexOf("https")===-1&&(E.backgroundImage=x.replace("url(",N));w.display=""}var T=r.cloneNode(!0),L=T.getElementsByTagName("*");if(b===L.length)while(b--){var A=L[b],M=A.nodeName;if(M==="INPUT"||M==="OPTION"||M==="IFRAME"){var _=y[b],D=_.nodeName;if(D===M){var P=null;M==="OPTION"?P="selected":M!=="INPUT"||A.type!=="checkbox"&&A.type!=="radio"?M==="IFRAME"&&(A.src=""):P="checked",P!==null&&O(A,_,P)}}}var H=T.innerHTML;H=H.replace(g,C).replace(S,k),m.innerHTML=H,L=m.getElementsByTagName("IFRAME"),y=r.getElementsByTagName("IFRAME"),b=y.length;if(b===L.length)while(b--){var B=L[b],j=y[b];j.swapNode(B)}},_getAllCSSText:function(){var e=this,t=[],n=e._getAllStyleSheets(s.styleSheets,"all"),r,i,o;for(var u=0;o=n[u];u++){var a=o.rules;if(a&&a.length)for(var f=0,l=a.length;f<l;f++)r=a[f],r.href||(i=e._getCSSTextFromRule(r),t.push(i))}return t.join(" ")},_getCSSTextFromRule:function(e){var t="",n=e.style,r,i;return n&&(r=n.cssText)&&(i=e.selectorText)&&b.test(i)&&(l.length=0,l.push(i,"{",r,"}"),t=l.join(" ")),t},_getAllStyleSheets:function(e,t,n,r){var i=this;n=n||1,r=r||[];var s;if(A(e)){var o=e.imports;t=e.mediaType||t;if(w.test(t)){var u;if(n<=3&&A(o)&&o.length)for(s=0,u=o.length;s<u;s++)i._getAllStyleSheets(o[s],t,n+1,r);else if(e.length)for(s=0,u=e.length;s<u;s++)i._getAllStyleSheets(e[s],t,n,r);else{var a=e.rules,f;if(a&&a.length)for(s=0,u=a.length;s<u;s++)f=a[s].styleSheet,f&&i._getAllStyleSheets(f,t,n,r)}!e.disabled&&e.rules&&r.push(e)}}return t="all",r},_getBodyEl:function(){var e=this,t=e._bodyEl;return t||(t=s.body,e._bodyEl=t),t},_getBodyClone:function(){var e=this,t=e._bodyClone;return t||(t=s.createElement("body"),e._bodyClone=t),t},_getDocFrag:function(){var e=this,t=e._docFrag;return t||(t=s.createDocumentFragment(),L(t),e._docFrag=t),t},_getStyleSheet:function(){var e=this,t=e._styleSheet;if(!t){t=s.createElement("style");var n=s.documentElement.firstChild;n.insertBefore(t,n.firstChild),t.media="print",t.className="printfix",e._styleSheet=t}return t}}),e.namespace("HTML5").printFix=M,M()},"3.1.0-deprecated.129",{requires:["collection","aui-node-base"]}); 45 46YUI.add("aui-selector",function(e,t){var n=e.Selector,r=e.getClassName("sr-only"),i=e.getClassName("hide"),s=new RegExp(/rect\((0(px)?(,)?(\s)?){4}\)/i),o=new RegExp(i),u=new RegExp(r);n._isNodeHidden=function(e){var t=e.offsetWidth,n=e.offsetHeight,r=e.nodeName.toLowerCase()==="tr",i=e.className,a=e.style,f=!1;return r||(t===0&&n===0?f=!0:t>0&&n>0&&(f=!1)),f=f||a.display==="none"||a.visibility==="hidden"||a.position==="absolute"&&s.test(a.clip)||o.test(i)||u.test(i),f};var a=function(e){return function(t){return t.type===e}};e.mix(n.pseudos,{button:function(e){return e.type==="button"||e.nodeName.toLowerCase()==="button"},checkbox:a("checkbox"),checked:function(e){return e.checked===!0},disabled:function(e){return e.disabled===!0},empty:function(e){return!e.firstChild},enabled:function(e){return e.disabled===!1&&e.type!=="hidden"},file:a("file"),header:function(e){return/h\d/i.test(e.nodeName)},hidden:function(e){return n._isNodeHidden(e)},image:a("image"),input:function(e){return/input|select|textarea|button/i.test(e.nodeName)},parent:function(e){return!!e.firstChild},password:a("password"),radio:a("radio"),reset:a("reset"),selected:function(e){return e.parentNode.selectedIndex,e.selected===!0},submit:a("submit"),text:a("text"),visible:function(e){return!n._isNodeHidden(e)}})},"3.1.0-deprecated.129",{requires:["selector-css3","aui-classnamemanager"]}); 47 48YUI.add("aui-timer",function(e,t){var n=e.Lang,r=n.now,i=e.Object.isEmpty,s=e.Array,o={clearInterval:function(e){var t=o;t.unregister(!0,e)},clearTimeout:function(e){var t=o;t.unregister(!1,e)},intervalTime:function(e){var t=o;return arguments.length&&(t._INTERVAL=e),t._INTERVAL},isRepeatable:function(e){return e.repeats},setTimeout:function(e,t,n){var r=o,i=s(arguments,3,!0);return r.register(!1,e,t,n,i)},setInterval:function(e,t,n){var r=o,i=s(arguments,3,!0);return r.register(!0,e,t,n,i)},register:function(t,n,r,i,s){var u=o,a=++e.Env._uidx;return s=s||[],s.unshift(n,i),u._TASKS[a]=u._create(t,u._getNearestInterval(r),e.rbind.apply(e,s)),u._lazyInit(),a},run:function(e){return e.lastRunTime=r(),e.fn()},unregister:function(e,t){var n=o,r=n._TASKS,i=r[t];return n._lazyDestroy(),i&&i.repeats===e&&delete r[t]},_create:function(e,t,n){return{fn:n,lastRunTime:r(),next:t,repeats:e,timeout:t}},_decrementNextRunTime:function(e){return e.next=e.timeout-(r()-e.lastRunTime)},_getNearestInterval:function(e){var t=o,n=t._INTERVAL,r=e%n,i;return r<n/2?i=e-r:i=e+n-r,i},_lazyDestroy:function(){var e=o;e._initialized&&i(e._TASKS)&&(clearTimeout(e._globalIntervalId),e._initialized=!1)},_lazyInit:function(){var e=o;!e._initialized&&!i(e._TASKS)&&(e._lastRunTime=r(),e._globalIntervalId=setTimeout(e._runner,e._INTERVAL),e._initialized=!0)},_loop:function(e,t,n){var i=o,s=i._INTERVAL,u=i._TASKS,a=s/2;for(var f=r();e<n&&r()-f<50;e++){var l=t[e],c=u[l];c&&i._decrementNextRunTime(c)<a&&(i.run(c),i.isRepeatable(c)?i._resetNextRunTime(c):i.unregister(!1,l))}i._initialized&&(e<n?i._globalIntervalId=setTimeout(i._loop,10):i._globalIntervalId=setTimeout(i._runner,s))},_runner:function(){var t=o,n=0,r=e.Object.keys(t._TASKS),i=r.length;t._loop(n,r,i)},_resetNextRunTime:function(e){return e.next=e.timeout},_INTERVAL:50,_TASKS:{},_lastRunTime:0,_globalIntervalId:0,_initialized:!1};e.clearInterval=o.clearInterval,e.clearTimeout=o.clearTimeout,e.setInterval=o.setInterval,e.setTimeout=o.setTimeout,e.Timer=o},"3.1.0-deprecated.129",{requires:["oop"]}); 49 50/** 51 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 52 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 53 */ 54 55AUI.add( 56 'liferay-form', 57 (A) => { 58 const AArray = A.Array; 59 60 const Lang = A.Lang; 61 62 const DEFAULTS_FORM_VALIDATOR = A.config.FormValidator; 63 64 const defaultAcceptFiles = DEFAULTS_FORM_VALIDATOR.RULES.acceptFiles; 65 66 const TABS_SECTION_STR = 'TabsSection'; 67 68 const REGEX_CUSTOM_ELEMENT_NAME = 69 /^[a-z]([a-z]|[0-9]|-|\.|_)*-([a-z]|[0-9]|-|\.|_)*/; 70 71 const REGEX_EMAIL = 72 /^[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[^\W_](?:[0-9A-Za-z-]*[^\W_])?\.)+([^\W_](?:[0-9A-Za-z-]*[^\W_]))$/; 73 74 const REGEX_FRIENDLY_URL_MAPPING = /[A-Za-z0-9-_]*/; 75 76 const REGEX_NUMBER = /^[+-]?(\d+)([.|,]\d+)*([eE][+-]?\d+)?$/; 77 78 const REGEX_URL = 79 /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(https?:\/\/|www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))((.*):(\d*)\/?(.*))?)/; 80 81 const REGEX_URL_ALLOW_RELATIVE = 82 /((([A-Za-z]{3,9}:(?:\/\/)?)|\/(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(https?:\/\/|www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))((.*):(\d*)\/?(.*))?)/; 83 84 const RESERVED_CUSTOM_ELEMENT_NAMES = new Set([ 85 'annotation-xml', 86 'color-profile', 87 'font-face', 88 'font-face-format', 89 'font-face-name', 90 'font-face-src', 91 'font-face-uri', 92 'missing-glyph', 93 ]); 94 95 const acceptFiles = function (val, node, ruleValue) { 96 if (ruleValue && ruleValue.split(',').includes('*')) { 97 return true; 98 } 99 100 return defaultAcceptFiles(val, node, ruleValue); 101 }; 102 103 const customElementName = function (val, _node, _ruleValue) { 104 return ( 105 REGEX_CUSTOM_ELEMENT_NAME.test(val) && 106 !RESERVED_CUSTOM_ELEMENT_NAMES.has(val) 107 ); 108 }; 109 110 const email = function (val) { 111 return REGEX_EMAIL.test(val); 112 }; 113 114 const friendlyURLMapping = function (val, _node, _ruleValue) { 115 return REGEX_FRIENDLY_URL_MAPPING.test(val); 116 }; 117 118 const maxFileSize = function (_val, node, ruleValue) { 119 const nodeType = node.get('type').toLowerCase(); 120 121 if (nodeType === 'file') { 122 return ruleValue === 0 || node._node.files[0].size <= ruleValue; 123 } 124 125 return true; 126 }; 127 128 const number = function (val, _node, _ruleValue) { 129 return REGEX_NUMBER && REGEX_NUMBER.test(val); 130 }; 131 132 const url = function (val, _node, _ruleValue) { 133 return REGEX_URL && REGEX_URL.test(val); 134 }; 135 136 const urlAllowRelative = function (val) { 137 return ( 138 REGEX_URL_ALLOW_RELATIVE && REGEX_URL_ALLOW_RELATIVE.test(val) 139 ); 140 }; 141 142 A.mix( 143 DEFAULTS_FORM_VALIDATOR.RULES, 144 { 145 acceptFiles, 146 customElementName, 147 email, 148 friendlyURLMapping, 149 maxFileSize, 150 number, 151 url, 152 urlAllowRelative, 153 }, 154 true 155 ); 156 157 A.mix( 158 DEFAULTS_FORM_VALIDATOR.STRINGS, 159 { 160 DEFAULT: 'Please\x20fix\x20this\x20field\x2e', 161 acceptFiles: 'Please\x20enter\x20a\x20file\x20with\x20a\x20valid\x20extension\x20\x28\x7b0\x7d\x29\x2e', 162 alpha: 'Please\x20enter\x20only\x20alpha\x20characters\x2e', 163 alphanum: 'Please\x20enter\x20only\x20alphanumeric\x20characters\x2e', 164 customElementName: 'Please\x20enter\x20a\x20valid\x20HTML\x20element\x20name\x2e', 165 date: 'Please\x20enter\x20a\x20valid\x20date\x2e', 166 digits: 'Please\x20enter\x20only\x20digits\x2e', 167 email: 'Please\x20enter\x20a\x20valid\x20email\x20address\x2e', 168 equalTo: 'Please\x20enter\x20the\x20same\x20value\x20again\x2e', 169 friendlyURLMapping: 'Please\x20enter\x20a\x20valid\x20friendly\x20URL\x20mapping\x2e', 170 max: 'Please\x20enter\x20a\x20value\x20less\x20than\x20or\x20equal\x20to\x20\x7b0\x7d\x2e', 171 maxFileSize: 'Please\x20enter\x20a\x20file\x20with\x20a\x20valid\x20file\x20size\x20no\x20larger\x20than\x20\x7b0\x7d\x2e', 172 maxLength: 'Please\x20enter\x20no\x20more\x20than\x20\x7b0\x7d\x20characters\x2e', 173 min: 'Please\x20enter\x20a\x20value\x20greater\x20than\x20or\x20equal\x20to\x20\x7b0\x7d\x2e', 174 minLength: 'Please\x20enter\x20at\x20least\x20\x7b0\x7d\x20characters\x2e', 175 number: 'Please\x20enter\x20a\x20valid\x20number\x2e', 176 range: 'Please\x20enter\x20a\x20value\x20between\x20\x7b0\x7d\x20and\x20\x7b1\x7d\x2e', 177 rangeLength: 'Please\x20enter\x20a\x20value\x20between\x20\x7b0\x7d\x20and\x20\x7b1\x7d\x20characters\x20long\x2e', 178 required: 'This\x20field\x20is\x20required\x2e', 179 url: 'Please\x20enter\x20a\x20valid\x20URL\x2e', 180 urlAllowRelative: 'Please\x20enter\x20a\x20valid\x20URL\x2e', 181 }, 182 true 183 ); 184 185 const Form = A.Component.create({ 186 _INSTANCES: {}, 187 188 ATTRS: { 189 fieldRules: { 190 setter(val) { 191 const instance = this; 192 193 instance._processFieldRules(val); 194 195 return val; 196 }, 197 }, 198 id: {}, 199 namespace: {}, 200 onSubmit: { 201 valueFn() { 202 const instance = this; 203 204 return instance._onSubmit; 205 }, 206 }, 207 validateOnBlur: { 208 validator: Lang.isBoolean, 209 value: true, 210 }, 211 }, 212 213 EXTENDS: A.Base, 214 215 get(id) { 216 const instance = this; 217 218 return instance._INSTANCES[id]; 219 }, 220 221 prototype: { 222 _afterGetFieldsByName(fieldName) { 223 const instance = this; 224 225 const editorString = 'Editor'; 226 227 if ( 228 fieldName.lastIndexOf(editorString) === 229 fieldName.length - editorString.length 230 ) { 231 const formNode = instance.formNode; 232 233 return new A.Do.AlterReturn( 234 'Return editor dom element', 235 formNode.one('#' + fieldName) 236 ); 237 } 238 }, 239 240 _bindForm() { 241 const instance = this; 242 243 const formNode = instance.formNode; 244 const formValidator = instance.formValidator; 245 246 formValidator.on( 247 'submit', 248 A.bind('_onValidatorSubmit', instance) 249 ); 250 formValidator.on( 251 'submitError', 252 A.bind('_onSubmitError', instance) 253 ); 254 255 formNode.delegate( 256 ['blur', 'focus'], 257 A.bind('_onFieldFocusChange', instance), 258 'button,input,select,textarea' 259 ); 260 formNode.delegate( 261 ['blur', 'input'], 262 A.bind('_onEditorBlur', instance), 263 'div[contenteditable="true"]' 264 ); 265 266 A.Do.after( 267 '_afterGetFieldsByName', 268 formValidator, 269 'getFieldsByName', 270 instance 271 ); 272 }, 273 274 _defaultSubmitFn(event) { 275 const instance = this; 276 277 if (!event.stopped) { 278 submitForm(instance.form); 279 } 280 }, 281 282 _findRuleIndex(fieldRules, fieldName, validatorName) { 283 let ruleIndex = -1; 284 285 AArray.some(fieldRules, (element, index) => { 286 if ( 287 element.fieldName === fieldName && 288 element.validatorName === validatorName 289 ) { 290 ruleIndex = index; 291 292 return true; 293 } 294 }); 295 296 return ruleIndex; 297 }, 298 299 _focusInvalidFieldTab() { 300 const instance = this; 301 302 const formNode = instance.formNode; 303 304 const field = formNode.one( 305 '.' + instance.formValidator.get('errorClass') 306 ); 307 308 if (field) { 309 const fieldWrapper = field.ancestor( 310 'form > fieldset > div, form > div' 311 ); 312 313 const formTabs = formNode.one('.lfr-nav'); 314 315 if (fieldWrapper && formTabs) { 316 const tabs = formTabs.all('.nav-item'); 317 const tabsNamespace = formTabs.getAttribute( 318 'data-tabs-namespace' 319 ); 320 321 const tabNames = AArray.map(tabs._nodes,
321 (tab) => { 322 return tab.getAttribute('data-tab-name'); 323 }); 324 325 const fieldWrapperId = fieldWrapper 326 .getAttribute('id') 327 .slice(0, -TABS_SECTION_STR.length); 328 329 const fieldTabId = AArray.find( 330 tabs._nodes, 331 (tab) => { 332 return ( 333 tab 334 .getAttribute('id') 335 .indexOf(fieldWrapperId) !== -1 336 ); 337 } 338 ); 339 340 if (tabsNamespace) { 341 Liferay.Portal.Tabs.show( 342 tabsNamespace, 343 tabNames, 344 fieldTabId.getAttribute('data-tab-name') 345 ); 346 } 347 } 348 } 349 }, 350 351 _onEditorBlur(event) { 352 const instance = this; 353 354 const formValidator = instance.formValidator; 355 356 formValidator.validateField(event.target); 357 }, 358 359 _onFieldFocusChange(event) { 360 const row = event.currentTarget.ancestor('.field'); 361 362 if (row) { 363 row.toggleClass( 364 'field-focused', 365 event.type === 'focus' 366 ); 367 } 368 }, 369 370 _onSubmit(event) { 371 const instance = this; 372 373 event.preventDefault(); 374 375 setTimeout(() => { 376 instance._defaultSubmitFn(event); 377 }, 0); 378 }, 379 380 _onSubmitError() { 381 const instance = this; 382 383 const collapsiblePanels = 384 instance.formNode.all('.panel-collapse'); 385 386 collapsiblePanels.each((panel) => { 387 const errorFields = panel 388 .get('children') 389 .all('.has-error'); 390 391 if (errorFields.size() > 0 && !panel.hasClass('show')) { 392 const panelNode = panel.getDOM(); 393 394 Liferay.CollapseProvider.show({panel: panelNode}); 395 } 396 }); 397 }, 398 399 _onValidatorSubmit(event) { 400 const instance = this; 401 402 const onSubmit = instance.get('onSubmit'); 403 404 onSubmit.call(instance, event.validator.formEvent); 405 }, 406 407 _processFieldRule(rules, strings, rule) { 408 const instance = this; 409 410 let value = true; 411 412 const fieldName = rule.fieldName; 413 const validatorName = rule.validatorName; 414 415 const field = this.formValidator.getField(fieldName); 416 417 if (field) { 418 const fieldNode = field.getDOMNode(); 419 420 A.Do.after( 421 '_setFieldAttribute', 422 fieldNode, 423 'setAttribute', 424 instance, 425 fieldName 426 ); 427 428 A.Do.after( 429 '_removeFieldAttribute', 430 fieldNode, 431 'removeAttribute', 432 instance, 433 fieldName 434 ); 435 } 436 437 if ((rule.body || rule.body === 0) && !rule.custom) { 438 value = rule.body; 439 } 440 441 let fieldRules = rules[fieldName]; 442 443 if (!fieldRules) { 444 fieldRules = {}; 445 446 rules[fieldName] = fieldRules; 447 } 448 449 fieldRules[validatorName] = value; 450 451 if (rule.custom) { 452 DEFAULTS_FORM_VALIDATOR.RULES[validatorName] = 453 rule.body; 454 } 455 456 const errorMessage = rule.errorMessage; 457 458 if (errorMessage) { 459 let fieldStrings = strings[fieldName]; 460 461 if (!fieldStrings) { 462 fieldStrings = {}; 463 464 strings[fieldName] = fieldStrings; 465 } 466 467 fieldStrings[validatorName] = errorMessage; 468 } 469 }, 470 471 _processFieldRules(fieldRules) { 472 const instance = this; 473 474 if (!fieldRules) { 475 fieldRules = instance.get('fieldRules'); 476 } 477 478 const fieldStrings = {}; 479 const rules = {}; 480 481 for (const rule in fieldRules) { 482 instance._processFieldRule( 483 rules, 484 fieldStrings, 485 fieldRules[rule] 486 ); 487 } 488 489 const formValidator = instance.formValidator; 490 491 if (formValidator) { 492 formValidator.set('fieldStrings', fieldStrings); 493 formValidator.set('rules', rules); 494 } 495 }, 496 497 _removeFieldAttribute(name, fieldName) { 498 if (name === 'disabled') { 499 this.formValidator.validateField(fieldName); 500 } 501 }, 502 503 _setFieldAttribute(name, value, fieldName) { 504 if (name === 'disabled') { 505 this.formValidator.resetField(fieldName); 506 } 507 }, 508 509 _validatable(field) { 510 let result; 511 512 if (field.test(':disabled')) { 513 result = new A.Do.Halt(); 514 } 515 516 return result; 517 }, 518 519 addRule(fieldName, validatorName, errorMessage, body, custom) { 520 const instance = this; 521 522 const fieldRules = instance.get('fieldRules'); 523 524 const ruleIndex = instance._findRuleIndex( 525 fieldRules, 526 fieldName, 527 validatorName 528 ); 529 530 if (ruleIndex === -1) { 531 fieldRules.push({ 532 body: body || '', 533 custom: custom || false, 534 errorMessage: errorMessage || '', 535 fieldName, 536 validatorName, 537 }); 538 539 instance._processFieldRules(fieldRules); 540 } 541 }, 542 543 initializer() { 544 const instance = this; 545 546 const id = instance.get('id'); 547 548 const form = document[id]; 549 const formNode = A.one(form); 550 551 instance.form = form; 552 instance.formNode = formNode; 553 554 if (formNode) { 555 const formValidator = new A.FormValidator({ 556 boundingBox: formNode, 557 stackErrorContainer: 558 '<div class="form-feedback-item form-validator-stack help-block"></div>', 559 validateOnBlur: instance.get('validateOnBlur'), 560 }); 561 562 A.Do.before( 563 '_focusInvalidFieldTab', 564 formValidator,
565 'focusInvalidField', 566 instance 567 ); 568 569 A.Do.before( 570 '_validatable', 571 formValidator, 572 'validatable', 573 instance 574 ); 575 576 instance.formValidator = formValidator; 577 578 instance._processFieldRules(); 579 580 instance._bindForm(); 581 } 582 }, 583 584 removeRule(fieldName, validatorName) { 585 const instance = this; 586 587 const fieldRules = instance.get('fieldRules'); 588 589 const ruleIndex = instance._findRuleIndex( 590 fieldRules, 591 fieldName, 592 validatorName 593 ); 594 595 if (ruleIndex !== -1) { 596 const rule = fieldRules[ruleIndex]; 597 598 instance.formValidator.resetField(rule.fieldName); 599 600 fieldRules.splice(ruleIndex, 1); 601 602 instance._processFieldRules(fieldRules); 603 } 604 }, 605 }, 606 607 /* 608 * @deprecated As of Mueller (7.2.x), with no direct replacement 609 */ 610 register(config) { 611 const instance = this; 612 613 const form = new Liferay.Form(config); 614 615 const formName = config.id || config.namespace; 616 617 instance._INSTANCES[formName] = form; 618 619 Liferay.fire('form:registered', { 620 form, 621 formName, 622 }); 623 624 return form; 625 }, 626 }); 627 628 Liferay.Form = Form; 629 }, 630 '', 631 { 632 requires: ['aui-base', 'aui-form-validator'], 633 } 634); 635 636/** 637 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 638 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 639 */ 640 641/** 642 * The Icon Component. 643 * 644 * @deprecated As of Mueller (7.2.x), with no direct replacement 645 * @module liferay-icon 646 */ 647 648AUI.add( 649 'liferay-icon', 650 (A) => { 651 const _ICON_REGISTRY = {}; 652 653 const Icon = { 654 _forcePost(event) { 655 if (!Liferay.SPA || !Liferay.SPA.app) { 656 Liferay.Util.forcePost(event.currentTarget); 657 658 event.preventDefault(); 659 } 660 }, 661 662 _getConfig(event) { 663 return _ICON_REGISTRY[event.currentTarget.attr('id')]; 664 }, 665 666 _handleDocClick(event) { 667 const instance = this; 668 669 const config = instance._getConfig(event); 670 671 if (config) { 672 event.preventDefault(); 673 674 if (config.useDialog) { 675 instance._useDialog(event); 676 } 677 else { 678 instance._forcePost(event); 679 } 680 } 681 }, 682 683 _handleDocMouseOut(event) { 684 const instance = this; 685 686 const config = instance._getConfig(event); 687 688 if (config && config.srcHover) { 689 instance._onMouseHover(event, config.src); 690 } 691 }, 692 693 _handleDocMouseOver(event) { 694 const instance = this; 695 696 const config = instance._getConfig(event); 697 698 if (config && config.srcHover) { 699 instance._onMouseHover(event, config.srcHover); 700 } 701 }, 702 703 _onMouseHover(event, src) { 704 const image = event.currentTarget.one('img'); 705 706 if (image) { 707 image.attr('src', src); 708 } 709 }, 710 711 _useDialog(event) { 712 Liferay.Util.openInDialog(event, { 713 dialog: { 714 destroyOnHide: true, 715 }, 716 dialogIframe: { 717 bodyCssClass: 'cadmin dialog-with-footer', 718 }, 719 }); 720 }, 721 722 register(config) { 723 const instance = this; 724 725 const doc = A.one(A.config.doc); 726 727 _ICON_REGISTRY[config.id] = config; 728 729 if (!instance._docClickHandler) { 730 instance._docClickHandler = doc.delegate( 731 'click', 732 instance._handleDocClick, 733 '.lfr-icon-item', 734 instance 735 ); 736 } 737 738 if (!instance._docHoverHandler) { 739 instance._docHoverHandler = doc.delegate( 740 'hover', 741 instance._handleDocMouseOver, 742 instance._handleDocMouseOut, 743 '.lfr-icon-item', 744 instance 745 ); 746 } 747 748 Liferay.once('screenLoad', () => { 749 delete _ICON_REGISTRY[config.id]; 750 }); 751 }, 752 }; 753 754 Liferay.Icon = Icon; 755 }, 756 '', 757 { 758 requires: ['aui-base', 'liferay-util-window'], 759 } 760); 761 762/** 763 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 764 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 765 */ 766 767AUI.add( 768 'liferay-menu', 769 (A) => { 770 const Util = Liferay.Util; 771 772 const ARIA_ATTR_ROLE = 'role'; 773 774 const ATTR_CLASS_NAME = 'className'; 775 776 const AUTO = 'auto'; 777 778 const CSS_BTN_PRIMARY = 'btn-primary'; 779 780 const CSS_EXTENDED = 'lfr-extended'; 781 782 const CSS_OPEN = 'open'; 783 784 const CSS_PORTLET = '.portlet'; 785 786 const CSS_SHOW = 'show'; 787 788 const DEFAULT_ALIGN_POINTS = ['tl', 'bl']; 789 790 const EVENT_CLICK = 'click'; 791 792 const EVENT_KEYDOWN = 'keydown'; 793 794 const PARENT_NODE = 'parentNode'; 795 796 const STR_BOTTOM = 'b'; 797 798 const STR_LEFT = 'l'; 799 800 const STR_LTR = 'ltr'; 801 802 const STR_RIGHT = 'r'; 803 804 const STR_RTL = 'rtl'; 805 806 const STR_TOP = 't'; 807 808 const MAP_ALIGN_DOWN = { 809 downleft: ['tr', 'br'], 810 downright: DEFAULT_ALIGN_POINTS, 811 }; 812 813 const MAP_ALIGN_HORIZONTAL_OVERLAY = { 814 left: STR_RIGHT, 815 right: STR_LEFT, 816 }; 817 818 const MAP_ALIGN_HORIZONTAL_OVERLAY_RTL = { 819 left: STR_LEFT, 820 right: STR_RIGHT, 821 }; 822 823 const MAP_ALIGN_HORIZONTAL_TRIGGER = { 824 left: STR_LEFT, 825 right: STR_RIGHT, 826 }; 827 828 const MAP_ALIGN_HORIZONTAL_TRIGGER_RTL = { 829 left: STR_RIGHT, 830 right: STR_LEFT, 831 }; 832 833 const MAP_ALIGN_VERTICAL_OVERLAY = { 834 down: STR_TOP, 835 up: STR_BOTTOM, 836 }; 837 838 const MAP_ALIGN_VERTICAL_TRIGGER = { 839 down: STR_BOTTOM, 840 up: STR_TOP, 841 }; 842 843 const MAP_LIVE_SEARCH = {}; 844 845 const REGEX_DIRECTION = 846 /\bdirection-(downleft|downright|down|left|right|up)\b/; 847 848 const REGEX_MAX_DISPLAY_ITEMS = /max-display-items-(\d+)/; 849 850 const SELECTOR_ANCHOR = 'a'; 851 852 const SELECTOR_LIST_ITEM = 'li'; 853 854 const SELECTOR_SEARCH_CONTAINER = '.lfr-menu-list-search-container'; 855 856 const TPL_MENU = '<div class="open" />'; 857 858 const Menu = function () { 859 const instance = this; 860 861 instance._handles = []; 862 863 if (!Menu._INSTANCE) { 864 Menu._INSTANCE = instance; 865 } 866 }; 867 868 Menu.prototype = { 869 _closeActiveMenu() { 870 const instance = this; 871 872 const menu = instance._activeMenu; 873 874 if (menu) { 875 const handles = instance._handles; 876 877 A.Array.invoke(handles, 'detach'); 878 879 handles.length = 0; 880 881 const trigger = instance._activeTrigger; 882
883 const overlay = instance._overlayMap.get( 884 trigger.generateID() 885 ); 886 887 if (overlay) { 888 overlay.destroy(); 889 890 instance._overlayMap.clear(); 891 } 892 893 instance._activeMenu = null; 894 instance._activeTrigger = null; 895 896 trigger.attr({ 897 'aria-expanded': false, 898 }); 899 900 if (trigger.hasClass(CSS_EXTENDED)) { 901 trigger.removeClass(CSS_BTN_PRIMARY); 902 } 903 else { 904 trigger.get(PARENT_NODE).removeClass(CSS_OPEN); 905 906 const portlet = trigger.ancestor(CSS_PORTLET); 907 908 if (portlet) { 909 portlet.removeClass(CSS_OPEN); 910 } 911 } 912 } 913 }, 914 915 _getAlignPoints: A.cached((cssClass) => { 916 let alignPoints = DEFAULT_ALIGN_POINTS; 917 918 let defaultOverlayHorizontalAlign = STR_RIGHT; 919 920 let defaultTriggerHorizontalAlign = STR_LEFT; 921 922 let mapAlignHorizontalOverlay = MAP_ALIGN_HORIZONTAL_OVERLAY; 923 924 let mapAlignHorizontalTrigger = MAP_ALIGN_HORIZONTAL_TRIGGER; 925 926 const langDir = 927 Liferay.Language.direction[themeDisplay.getLanguageId()] || 928 STR_LTR; 929 930 if (langDir === STR_RTL) { 931 defaultOverlayHorizontalAlign = STR_LEFT; 932 defaultTriggerHorizontalAlign = STR_RIGHT; 933 934 mapAlignHorizontalOverlay = 935 MAP_ALIGN_HORIZONTAL_OVERLAY_RTL; 936 mapAlignHorizontalTrigger = 937 MAP_ALIGN_HORIZONTAL_TRIGGER_RTL; 938 } 939 940 if (cssClass.indexOf(AUTO) === -1) { 941 const directionMatch = cssClass.match(REGEX_DIRECTION); 942 943 const direction = 944 (directionMatch && directionMatch[1]) || AUTO; 945 946 if (direction.startsWith('down')) { 947 alignPoints = 948 MAP_ALIGN_DOWN[direction] || 949 MAP_ALIGN_DOWN.downright; 950 } 951 else { 952 const overlayHorizontal = 953 mapAlignHorizontalOverlay[direction] || 954 defaultOverlayHorizontalAlign; 955 const overlayVertical = 956 MAP_ALIGN_VERTICAL_OVERLAY[direction] || STR_TOP; 957 958 const triggerHorizontal = 959 mapAlignHorizontalTrigger[direction] || 960 defaultTriggerHorizontalAlign; 961 const triggerVertical = 962 MAP_ALIGN_VERTICAL_TRIGGER[direction] || STR_TOP; 963 964 alignPoints = [ 965 overlayVertical + overlayHorizontal, 966 triggerVertical + triggerHorizontal, 967 ]; 968 } 969 } 970 971 return alignPoints; 972 }), 973 974 _getMenu(trigger) { 975 const instance = this; 976 977 if (!instance._overlayMap) { 978 instance._overlayMap = new Map(); 979 } 980 981 instance._trigger = trigger; 982 983 let overlay = instance._overlayMap.get(trigger.generateID()); 984 985 if (!overlay) { 986 const MenuOverlay = A.Component.create({ 987 AUGMENTS: [ 988 A.WidgetCssClass, 989 A.WidgetPosition, 990 A.WidgetStdMod, 991 A.WidgetModality, 992 A.WidgetPositionAlign, 993 A.WidgetPositionConstrain, 994 A.WidgetStack, 995 ], 996 997 CSS_PREFIX: 'overlay', 998 999 EXTENDS: A.Widget, 1000 1001 NAME: 'overlay', 1002 }); 1003 1004 overlay = new MenuOverlay({ 1005 align: { 1006 node: trigger, 1007 points: DEFAULT_ALIGN_POINTS, 1008 }, 1009 constrain: true, 1010 hideClass: false, 1011 modal: Util.isPhone() || Util.isTablet(), 1012 preventOverlap: true, 1013 zIndex: Liferay.zIndex.MENU, 1014 }).render(); 1015 1016 Liferay.once('beforeScreenFlip', () => { 1017 overlay.destroy(); 1018 1019 instance._overlayMap.clear(); 1020 }); 1021 1022 instance._overlayMap.set(trigger.generateID(), overlay); 1023 } 1024 else { 1025 overlay.set('align.node', trigger); 1026 } 1027 1028 let listContainer = trigger.getData('menuListContainer'); 1029 let menu = trigger.getData('menu'); 1030 let menuHeight = trigger.getData('menuHeight'); 1031 1032 const liveSearch = menu && MAP_LIVE_SEARCH[menu.guid()]; 1033 1034 if (liveSearch) { 1035 liveSearch.reset(); 1036 } 1037 1038 let listItems; 1039 1040 if (!menu || !listContainer) { 1041 listContainer = trigger.next('ul'); 1042 1043 listItems = listContainer.all(SELECTOR_LIST_ITEM); 1044 1045 menu = A.Node.create(TPL_MENU); 1046 1047 menu.addClass(CSS_SHOW); 1048 1049 listContainer.placeBefore(menu); 1050 1051 listItems.last().addClass('last'); 1052 1053 menu.append(listContainer); 1054 1055 trigger.setData('menuListContainer', listContainer); 1056 trigger.setData('menu', menu); 1057 1058 instance._setARIARoles(trigger, menu, listContainer); 1059 1060 if (trigger.hasClass('select')) { 1061 listContainer.delegate( 1062 'click', 1063 (event) => { 1064 const selectedListItem = event.currentTarget; 1065 1066 const selectedListItemIcon = 1067 selectedListItem.one('i'); 1068 1069 const triggerIcon = trigger.one('i'); 1070 1071 if (selectedListItemIcon && triggerIcon) { 1072 const selectedListItemIconClass = 1073 selectedListItemIcon.attr('class'); 1074 1075 triggerIcon.attr( 1076 'class', 1077 selectedListItemIconClass 1078 ); 1079 } 1080 1081 const selectedListItemMessage = 1082 selectedListItem.one('.lfr-icon-menu-text'); 1083 1084 const triggerMessage = trigger.one( 1085 '.lfr-icon-menu-text' 1086 ); 1087 1088 if (selectedListItemMessage && triggerMessage) { 1089 triggerMessage.setContent( 1090 selectedListItemMessage.text() 1091 ); 1092 } 1093 }, 1094 SELECTOR_LIST_ITEM 1095 ); 1096 } 1097 } 1098 1099 overlay.setStdModContent(A.WidgetStdMod.BODY, menu); 1100 1101 if (!menuHeight) { 1102 menuHeight = instance._getMenuHeight( 1103 trigger, 1104 menu,
1105 listItems || listContainer.all(SELECTOR_LIST_ITEM) 1106 ); 1107 1108 trigger.setData('menuHeight', menuHeight); 1109 1110 if (menuHeight !== AUTO) { 1111 listContainer.setStyle('maxHeight', menuHeight); 1112 } 1113 } 1114 1115 instance._getFocusManager(); 1116 1117 return menu; 1118 }, 1119 1120 _getMenuHeight(trigger, menu, listItems) { 1121 const instance = this; 1122 1123 const cssClass = trigger.attr(ATTR_CLASS_NAME); 1124 1125 let height = AUTO; 1126 1127 if (cssClass.indexOf('lfr-menu-expanded') === -1) { 1128 const params = REGEX_MAX_DISPLAY_ITEMS.exec(cssClass); 1129 1130 const maxDisplayItems = params && parseInt(params[1], 10); 1131 1132 if (maxDisplayItems && listItems.size() > maxDisplayItems) { 1133 instance._getLiveSearch( 1134 trigger, 1135 trigger.getData('menu') 1136 ); 1137 1138 height = 0; 1139 1140 const heights = listItems 1141 .slice(0, maxDisplayItems) 1142 .get('offsetHeight'); 1143 1144 for (let i = heights.length - 1; i >= 0; i--) { 1145 height += heights[i]; 1146 } 1147 } 1148 } 1149 1150 return height; 1151 }, 1152 1153 _positionActiveMenu() { 1154 const instance = this; 1155 1156 const menu = instance._activeMenu; 1157 const trigger = instance._activeTrigger; 1158 1159 if (menu) { 1160 const cssClass = trigger.attr(ATTR_CLASS_NAME); 1161 1162 const overlay = instance._overlayMap.get( 1163 trigger.generateID() 1164 ); 1165 1166 const align = overlay.get('align'); 1167 1168 const listNode = menu.one('ul'); 1169 1170 overlay.show(); 1171 1172 const listNodeHeight = listNode.get('offsetHeight'); 1173 const listNodeWidth = listNode.get('offsetWidth'); 1174 1175 align.points = instance._getAlignPoints(cssClass); 1176 1177 menu.addClass('lfr-icon-menu-open'); 1178 1179 overlay.setAttrs({ 1180 align, 1181 centered: false, 1182 height: listNodeHeight, 1183 modal: Util.isPhone() || Util.isTablet(), 1184 width: listNodeWidth, 1185 }); 1186 1187 if (!Util.isPhone() && !Util.isTablet()) { 1188 const focusManager = overlay.bodyNode.focusManager; 1189 1190 if (focusManager) { 1191 focusManager.focus(0); 1192 } 1193 } 1194 1195 if (cssClass.indexOf(CSS_EXTENDED) > -1) { 1196 trigger.addClass(CSS_BTN_PRIMARY); 1197 } 1198 else { 1199 trigger.get(PARENT_NODE).addClass(CSS_OPEN); 1200 1201 const portlet = trigger.ancestor(CSS_PORTLET); 1202 1203 if (portlet) { 1204 portlet.addClass(CSS_OPEN); 1205 } 1206 } 1207 } 1208 }, 1209 1210 _setARIARoles(trigger, menu) { 1211 const links = menu 1212 .all(SELECTOR_ANCHOR) 1213 .filter(':not([aria-haspopup="dialog"]'); 1214 1215 const searchContainer = menu.one(SELECTOR_SEARCH_CONTAINER); 1216 1217 const listNode = menu.one('ul'); 1218 1219 let ariaLinksAttr = 'menuitem'; 1220 let ariaListNodeAttr = 'menu'; 1221 1222 if (searchContainer) { 1223 ariaLinksAttr = 'option'; 1224 ariaListNodeAttr = 'listbox'; 1225 } 1226 1227 if (links.size() > 0) { 1228 listNode.setAttribute(ARIA_ATTR_ROLE, ariaListNodeAttr); 1229 links.set(ARIA_ATTR_ROLE, ariaLinksAttr); 1230 } 1231 1232 trigger.attr({ 1233 'aria-haspopup': true, 1234 }); 1235 1236 if (!trigger.hasClass('input-localized-trigger')) { 1237 listNode.setAttribute('aria-labelledby', trigger.guid()); 1238 } 1239 }, 1240 }; 1241 1242 Menu.handleFocus = function (id) { 1243 const node = A.one(id); 1244 1245 if (node) { 1246 node.delegate( 1247 'mouseenter', 1248 A.rbind(Menu._targetLink, node, 'focus'), 1249 SELECTOR_LIST_ITEM 1250 ); 1251 node.delegate( 1252 'mouseleave', 1253 A.rbind(Menu._targetLink, node, 'blur'), 1254 SELECTOR_LIST_ITEM 1255 ); 1256 } 1257 }; 1258 1259 const buffer = []; 1260 1261 Menu.register = function (id) { 1262 const menuNode = document.getElementById(id); 1263 1264 if (menuNode) { 1265 if (!Menu._INSTANCE) { 1266 new Menu(); 1267 } 1268 1269 buffer.push(menuNode); 1270 1271 Menu._registerTask(); 1272 } 1273 }; 1274 1275 Menu._registerTask = A.debounce(() => { 1276 if (buffer.length) { 1277 const nodes = A.all(buffer); 1278 1279 nodes.on( 1280 [EVENT_CLICK, EVENT_KEYDOWN], 1281 A.bind('_registerMenu', Menu) 1282 ); 1283 1284 buffer.length = 0; 1285 } 1286 }, 100); 1287 1288 Menu._targetLink = function (event, action) { 1289 const anchor = event.currentTarget.one(SELECTOR_ANCHOR); 1290 1291 if (anchor) { 1292 anchor[action](); 1293 } 1294 }; 1295 1296 Liferay.provide( 1297 Menu, 1298 '_getFocusManager', 1299 () => { 1300 const menuInstance = Menu._INSTANCE; 1301 1302 const trigger = menuInstance._trigger; 1303 1304 if (!menuInstance._focusManagerMap) { 1305 menuInstance._focusManagerMap = new Map(); 1306 } 1307 1308 let focusManager = menuInstance._focusManagerMap.get( 1309 trigger.generateID() 1310 ); 1311
1312 if (!focusManager) { 1313 const bodyNode = menuInstance._overlayMap.get( 1314 trigger.generateID() 1315 ).bodyNode; 1316 1317 bodyNode.plug(A.Plugin.NodeFocusManager, { 1318 circular: true, 1319 descendants: 'li:not(.hide) a,input', 1320 focusClass: 'focus', 1321 keys: { 1322 next: 'down:40', 1323 previous: 'down:38', 1324 }, 1325 }); 1326 1327 bodyNode.on( 1328 'key', 1329 () => { 1330 const activeTrigger = menuInstance._activeTrigger; 1331 1332 if (activeTrigger) { 1333 menuInstance._closeActiveMenu(); 1334 1335 activeTrigger.focus(); 1336 } 1337 }, 1338 'down:27,9' 1339 ); 1340 1341 focusManager = bodyNode.focusManager; 1342 1343 bodyNode.delegate( 1344 'mouseenter', 1345 (event) => { 1346 if (focusManager.get('focused')) { 1347 focusManager.focus( 1348 event.currentTarget.one(SELECTOR_ANCHOR) 1349 ); 1350 } 1351 }, 1352 SELECTOR_LIST_ITEM 1353 ); 1354 1355 focusManager.after('activeDescendantChange', (event) => { 1356 const descendants = focusManager.get('descendants'); 1357 1358 const selectedItem = descendants.item(event.newVal); 1359 1360 if (selectedItem) { 1361 const overlayList = bodyNode.one('ul'); 1362 1363 if (overlayList) { 1364 overlayList.setAttribute( 1365 'aria-activedescendant', 1366 selectedItem.guid() 1367 ); 1368 } 1369 } 1370 }); 1371 1372 menuInstance._focusManagerMap.set( 1373 trigger.generateID(), 1374 focusManager 1375 ); 1376 1377 Liferay.once('beforeScreenFlip', () => { 1378 menuInstance._focusManagerMap = null; 1379 1380 menuInstance._trigger = null; 1381 }); 1382 } 1383 1384 focusManager.refresh(); 1385 }, 1386 ['node-focusmanager'], 1387 true 1388 ); 1389 1390 Liferay.provide( 1391 Menu, 1392 '_getLiveSearch', 1393 (_trigger, menu) => { 1394 const id = menu.guid(); 1395 1396 let liveSearch = MAP_LIVE_SEARCH[id]; 1397 1398 if (!liveSearch) { 1399 const listNode = menu.one('ul'); 1400 1401 const results = []; 1402 1403 listNode.all('li').each((node) => { 1404 results.push({ 1405 name: node.one('.taglib-text-icon').text().trim(), 1406 node, 1407 }); 1408 }); 1409 1410 liveSearch = new Liferay.MenuFilter({ 1411 content: listNode, 1412 menu: Menu._INSTANCE, 1413 minQueryLength: 0, 1414 queryDelay: 0, 1415 resultFilters: 'phraseMatch', 1416 resultTextLocator: 'name', 1417 source: results, 1418 }); 1419 1420 liveSearch.get('inputNode').swallowEvent('click'); 1421 1422 MAP_LIVE_SEARCH[id] = liveSearch; 1423 } 1424 }, 1425 ['liferay-menu-filter'], 1426 true 1427 ); 1428 1429 Liferay.provide( 1430 Menu, 1431 '_registerMenu', 1432 (event) => { 1433 const key = event.key || event.keyCode; 1434 1435 if ( 1436 event.type === EVENT_KEYDOWN && 1437 key !== A.Event.KeyMap.SPACE 1438 ) { 1439 return; 1440 } 1441 1442 const menuInstance = Menu._INSTANCE; 1443 1444 const handles = menuInstance._handles; 1445 1446 const trigger = event.currentTarget; 1447 1448 const activeTrigger = menuInstance._activeTrigger; 1449 1450 if (activeTrigger) { 1451 if (activeTrigger !== trigger) { 1452 activeTrigger.removeClass(CSS_BTN_PRIMARY); 1453 1454 activeTrigger.get(PARENT_NODE).removeClass(CSS_OPEN); 1455 1456 const portlet = activeTrigger.ancestor(CSS_PORTLET); 1457 1458 if (portlet) { 1459 portlet.removeClass(CSS_OPEN); 1460 } 1461 menuInstance._closeActiveMenu(); 1462 } 1463 else { 1464 menuInstance._closeActiveMenu(); 1465 1466 return; 1467 } 1468 } 1469 1470 if (!trigger.hasClass('disabled')) { 1471 const menu = menuInstance._getMenu(trigger); 1472 1473 menuInstance._activeMenu = menu; 1474 menuInstance._activeTrigger = trigger; 1475 1476 trigger.attr({ 1477 'aria-expanded': true, 1478 }); 1479 1480 if (!handles.length) { 1481 const listContainer = 1482 trigger.getData('menuListContainer'); 1483 1484 A.Event.defineOutside('touchend'); 1485 1486 handles.push( 1487 A.getWin().on( 1488 'resize', 1489 A.debounce( 1490 menuInstance._positionActiveMenu, 1491 200, 1492 menuInstance 1493 ) 1494 ), 1495 A.getDoc().on( 1496 EVENT_CLICK, 1497 menuInstance._closeActiveMenu, 1498 menuInstance 1499 ), 1500 listContainer.on( 1501 'touchendoutside', 1502 (event) => { 1503 event.preventDefault(); 1504 1505 menuInstance._closeActiveMenu(); 1506 }, 1507 menuInstance 1508 ), 1509 Liferay.on('dropdownShow', (event) => { 1510 if (event.src !== 'LiferayMenu') { 1511 menuInstance._closeActiveMenu(); 1512 } 1513 }) 1514 ); 1515 1516 const DDM = A.DD && A.DD.DDM; 1517 1518 if (DDM) { 1519 handles.push( 1520 DDM.on( 1521 'ddm:start', 1522 menuInstance._closeActiveMenu, 1523 menuInstance 1524 ) 1525 ); 1526 } 1527 } 1528 1529 menuInstance._positionActiveMenu(); 1530 1531 Liferay.fire('dropdownShow', { 1532 src: 'LiferayMenu', 1533 }); 1534 1535 event.halt(); 1536 } 1537 }, 1538 [ 1539 'aui-widget-cssclass', 1540 'event-outside', 1541 'event-touch', 1542 'widget', 1543 'widget-modality', 1544 'widget-position', 1545 'widget-position-align', 1546 'widget-position-constrain', 1547 'widget-stack', 1548 'widget-stdmod', 1549 ] 1550 ); 1551 1552 Liferay.Menu = Menu; 1553 }, 1554 '', 1555 { 1556 requires: ['aui-component', 'array-invoke', 'aui-debounce', 'aui-node'], 1557 } 1558); 1559 1560/** 1561 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 1562 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 1563 */ 1564 1565(function () { 1566 const DOMTaskRunner = { 1567 _scheduledTasks: [], 1568 1569 _taskStates: [], 1570 1571 addTask(task) { 1572 const instance = this; 1573 1574 instance._scheduledTasks.push(task); 1575 }, 1576 1577 addTaskState(state) { 1578 const instance = this; 1579 1580 instance._taskStates.push(state); 1581 }, 1582 1583 reset() { 1584 const instance = this; 1585 1586 instance._taskStates.length = 0; 1587 instance._scheduledTasks.length = 0; 1588 }, 1589 1590 runTasks(node) { 1591 const instance = this; 1592 1593 const scheduledTasks = instance._scheduledTasks; 1594 const taskStates = instance._taskStates; 1595 1596 const tasksLength = scheduledTasks.length; 1597 const taskStatesLength = taskStates.length; 1598 1599 for (let i = 0; i < tasksLength; i++) { 1600 const task = scheduledTasks[i]; 1601 1602 const taskParams = task.params; 1603 1604 for (let j = 0; j < taskStatesLength; j++) { 1605 const state = taskStates[j]; 1606 1607 if (task.condition(state, taskParams, node)) { 1608 task.action(state, taskParams, node); 1609 } 1610 } 1611 } 1612 }, 1613 }; 1614 1615 Liferay.DOMTaskRunner = DOMTaskRunner; 1616})(); 1617 1618/** 1619 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 1620 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 1621 */ 1622 1623(function (A) { 1624 const CLICK_EVENTS = {}; 1625 const Util = Liferay.Util; 1626 1627 A.use('attribute', 'oop', (A) => { 1628 A.augment(Liferay, A.Attribute, true); 1629 }); 1630 1631 Liferay.provide( 1632 Liferay, 1633 'delegateClick', 1634 (id, fn) => { 1635 const element = A.config.doc.getElementById(id); 1636
1637 if (!element || element.id !== id) { 1638 return; 1639 } 1640 1641 // eslint-disable-next-line @liferay/aui/no-one 1642 const guid = A.one(element).addClass('lfr-delegate-click').guid(); 1643 1644 CLICK_EVENTS[guid] = fn; 1645 1646 if (!Liferay._baseDelegateHandle) { 1647 1648 // eslint-disable-next-line @liferay/aui/no-get-body 1649 Liferay._baseDelegateHandle = A.getBody().delegate( 1650 'click', 1651 Liferay._baseDelegate, 1652 '.lfr-delegate-click' 1653 ); 1654 } 1655 }, 1656 ['aui-base'] 1657 ); 1658 1659 Liferay._baseDelegate = function (event) { 1660 const id = event.currentTarget.attr('id'); 1661 1662 const fn = CLICK_EVENTS[id]; 1663 1664 if (fn) { 1665 fn.apply(this, arguments); 1666 } 1667 }; 1668 1669 Liferay._CLICK_EVENTS = CLICK_EVENTS; 1670 1671 Liferay.provide( 1672 window, 1673 'submitForm', 1674 (form, action, singleSubmit, validate) => { 1675 if (!Util._submitLocked) { 1676 if (form.jquery) { 1677 form = form[0]; 1678 } 1679 1680 Liferay.fire('submitForm', { 1681 action, 1682 1683 // eslint-disable-next-line @liferay/aui/no-one 1684 form: A.one(form), 1685 singleSubmit, 1686 validate: validate !== false, 1687 }); 1688 } 1689 }, 1690 ['aui-base', 'aui-form-validator', 'aui-url', 'liferay-form'] 1691 ); 1692 1693 Liferay.publish('submitForm', { 1694 defaultFn(event) { 1695 const form = event.form; 1696 1697 let hasErrors = false; 1698 1699 if (event.validate) { 1700 const liferayForm = Liferay.Form.get(form.attr('id')); 1701 1702 if (liferayForm) { 1703 const validator = liferayForm.formValidator; 1704 1705 if (A.instanceOf(validator, A.FormValidator)) { 1706 validator.validate(); 1707 1708 hasErrors = validator.hasErrors(); 1709 1710 if (hasErrors) { 1711 validator.focusInvalidField(); 1712 } 1713 } 1714 } 1715 } 1716 1717 function enableFormButtons(inputs) { 1718 Util._submitLocked = null; 1719 1720 Util.toggleDisabled(inputs, false); 1721 } 1722 1723 if (!hasErrors) { 1724 let action = event.action || form.getAttribute('action'); 1725 1726 const singleSubmit = event.singleSubmit; 1727 1728 const inputs = form.all( 1729 'button[type=submit], input[type=button], input[type=image], input[type=reset], input[type=submit]' 1730 ); 1731 1732 const inputsArray = Array.from(inputs._nodes); 1733 1734 if (inputsArray.length) { 1735 inputsArray.map((input) => { 1736 input.disabled = true; 1737 input.style.opacity = 0.5; 1738 }); 1739 } 1740 1741 if (singleSubmit === false) { 1742 Util._submitLocked = A.later( 1743 1000, 1744 Util, 1745 enableFormButtons, 1746 [inputs, form] 1747 ); 1748 } 1749 else { 1750 Util._submitLocked = true; 1751 } 1752 1753 let baseURL; 1754 let queryString; 1755 const searchParamsIndex = action.indexOf('?'); 1756 1757 if (searchParamsIndex === -1) { 1758 baseURL = action; 1759 queryString = ''; 1760 } 1761 else { 1762 baseURL = action.slice(0, searchParamsIndex); 1763 queryString = action.slice(searchParamsIndex + 1); 1764 } 1765 1766 const searchParams = new URLSearchParams(queryString); 1767 1768 let authToken = searchParams.get('p_auth') || ''; 1769 1770 if (authToken.includes('#')) { 1771 authToken = authToken.substring(0, authToken.indexOf('#')); 1772 } 1773 1774 if (authToken) { 1775 form.append( 1776 '<input name="p_auth" type="hidden" value="' + 1777 authToken + 1778 '" />' 1779 ); 1780 1781 searchParams.delete('p_auth'); 1782 1783 action = baseURL + '?' + searchParams.toString(); 1784 } 1785 1786 form.attr('action', action); 1787 1788 if (Util.submitForm) { 1789 Util.submitForm(form); 1790 } 1791 else { 1792 form.submit(); 1793 } 1794 1795 form.attr('target', ''); 1796 1797 Util._submitLocked = null; 1798 } 1799 }, 1800 }); 1801 1802 Liferay.after('closeWindow', (event) => { 1803 const id = event.id; 1804 1805 const dialog = Util.getTop().Liferay.Util.Window.getById(id); 1806 1807 if (dialog && dialog.iframe) { 1808 const dialogWindow = dialog.iframe.node 1809 .get('contentWindow') 1810 .getDOM(); 1811 1812 const openingWindow = dialogWindow.Liferay.Util.getOpener(); 1813 const redirect = event.redirect; 1814 1815 if (redirect) { 1816 openingWindow.Liferay.Util.navigate(redirect); 1817 } 1818 else { 1819 const refresh = event.refresh; 1820 1821 if (refresh && openingWindow) { 1822 let data; 1823 1824 if (!event.portletAjaxable) { 1825 data = { 1826 portletAjaxable: false, 1827 }; 1828 } 1829 1830 openingWindow.Liferay.Portlet.refresh( 1831 '#p_p_id_' + refresh + '_', 1832 data 1833 ); 1834 } 1835 } 1836 1837 dialog.hide(); 1838 } 1839 }); 1840})(AUI()); 1841 1842/** 1843 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 1844 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 1845 */ 1846 1847(function () { 1848 Liferay.lazyLoad = function () { 1849 let failureCallback; 1850 1851 const isFunction = function (val) { 1852 return typeof val === 'function'; 1853 }; 1854 1855 let modules; 1856 let successCallback; 1857 1858 if (Array.isArray(arguments[0])) { 1859 modules = arguments[0]; 1860 1861 successCallback = isFunction(arguments[1]) ? arguments[1] : null; 1862 failureCallback = isFunction(arguments[2]) ? arguments[2] : null; 1863 } 1864 else { 1865 modules = []; 1866 1867 for (let i = 0; i < arguments.length; ++i) { 1868 if (typeof arguments[i] === 'string') { 1869 modules[i] = arguments[i]; 1870 } 1871 else if (isFunction(arguments[i])) { 1872 successCallback = arguments[i]; 1873 failureCallback = isFunction(arguments[++i]) 1874 ? arguments[i] 1875 : null; 1876 break; 1877 } 1878 } 1879 } 1880 1881 return function () { 1882 const args = []; 1883 1884 for (let i = 0; i < arguments.length; ++i) { 1885 args.push(arguments[i]); 1886 } 1887 1888 Liferay.Loader.require( 1889 modules, 1890 function () { 1891 for (let i = 0; i < arguments.length; ++i) { 1892 args.splice(i, 0, arguments[i]); 1893 } 1894 1895 successCallback.apply(successCallback, args); 1896 }, 1897 failureCallback 1898 ); 1899 }; 1900 }; 1901})(); 1902 1903/** 1904 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 1905 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 1906 */ 1907 1908Liferay = window.Liferay || {}; 1909 1910(function () { 1911 const isFunction = function (val) { 1912 return typeof val === 'function'; 1913 }; 1914 1915 const isNode = function (node) { 1916 return node && (node._node || node.jquery || node.nodeType); 1917 }; 1918 1919 const REGEX_METHOD_GET = /^get$/i; 1920 1921 const STR_MULTIPART = 'multipart/form-data'; 1922 1923 Liferay.namespace = function namespace(object, path) { 1924 if (path === undefined) { 1925 path = object; 1926 1927 object = this; 1928 } 1929 1930 const parts = path.split('.'); 1931 1932 for (let part; parts.length && (part = parts.shift()); ) { 1933 if (object[part] && object[part] !== Object.prototype[part]) { 1934 object = object[part]; 1935 } 1936 else { 1937 object = object[part] = {}; 1938 } 1939 } 1940 1941 return object; 1942 }; 1943 1944 /** 1945 * OPTIONS 1946 * 1947 * Required 1948 * service {string|object}: Either the service name, or an object with the keys as the service to call, and the value as the service configuration object. 1949 * 1950 * Optional 1951 * data {object|node|string}: The data to send to the service. If the object passed is the ID of a form or a form element, the form fields will be serialized and used as the data. 1952 * successCallback {function}: A function to execute when the server returns a response. It receives a JSON object as it's first parameter. 1953 * exceptionCallback {function}: A function to execute when the response from the server contains a service exception. It receives a the exception message as it's first parameter. 1954 */ 1955 1956 const Service = function () { 1957 const args = Service.parseInvokeArgs( 1958 Array.prototype.slice.call(arguments, 0) 1959 ); 1960 1961 return Service.invoke.apply(Service, args); 1962 }; 1963 1964 Service.URL_INVOKE = themeDisplay.getPathContext() + '/api/jsonws/invoke'; 1965 1966 Service.bind = function () { 1967 const args = Array.prototype.slice.call(arguments, 0); 1968 1969 return function () { 1970 const newArgs = Array.prototype.slice.call(arguments, 0); 1971 1972 return Service.apply(Service, args.concat(newArgs)); 1973 }; 1974 }; 1975 1976 Service.parseInvokeArgs = function (args) { 1977 const instance = this; 1978 1979 let payload = args[0]; 1980 1981 const ioConfig = instance.parseIOConfig(args); 1982 1983 if (typeof payload === 'string') { 1984 payload = instance.parseStringPayload(args); 1985 1986 instance.parseIOFormConfig(ioConfig, args); 1987 1988 const lastArg = args[args.length - 1]; 1989 1990 if (typeof lastArg === 'object' && lastArg.method) { 1991 ioConfig.method = lastArg.method; 1992 } 1993 } 1994 1995 return [payload, ioConfig]; 1996 }; 1997 1998 Service.parseIOConfig = function (args) { 1999 const payload = args[0]; 2000 2001 const ioConfig = payload.io || {}; 2002 2003 delete payload.io; 2004 2005 if (!ioConfig.success) { 2006 const callbacks = args.filter(isFunction); 2007 2008 let callbackException = callbacks[1]; 2009 const callbackSuccess = callbacks[0]; 2010 2011 if (!callbackException) { 2012 callbackException = callbackSuccess; 2013 } 2014 2015 ioConfig.error = callbackException; 2016 2017 ioConfig.complete = function (response) { 2018 if ( 2019 !Object.prototype.hasOwnProperty.call(response, 'exception') 2020 ) { 2021 if (callbackSuccess) { 2022 callbackSuccess.call(this, response); 2023 } 2024 } 2025 else if (callbackException) { 2026 const exception = response 2027 ? response.exception 2028 : 'The server returned an empty response'; 2029 2030 callbackException.call(this, exception, response); 2031 } 2032 }; 2033 } 2034 2035 if ( 2036 !Object.prototype.hasOwnProperty.call(ioConfig, 'cache') && 2037 REGEX_METHOD_GET.test(ioConfig.type) 2038 ) { 2039 ioConfig.cache = false;
2040 } 2041 2042 return ioConfig; 2043 }; 2044 2045 Service.parseIOFormConfig = function (ioConfig, args) { 2046 const form = args[1]; 2047 2048 if (isNode(form)) { 2049 if (form.enctype === STR_MULTIPART) { 2050 ioConfig.contentType = 'multipart/form-data'; 2051 } 2052 2053 ioConfig.formData = new FormData(form); 2054 } 2055 }; 2056 2057 Service.parseStringPayload = function (args) { 2058 let params = {}; 2059 const payload = {}; 2060 2061 const config = args[1]; 2062 2063 if (!isFunction(config) && !isNode(config)) { 2064 params = config; 2065 } 2066 2067 payload[args[0]] = params; 2068 2069 return payload; 2070 }; 2071 2072 Service.invoke = function (payload, ioConfig) { 2073 const instance = this; 2074 2075 const cmd = JSON.stringify(payload); 2076 2077 let data = cmd; 2078 2079 if (ioConfig.formData) { 2080 ioConfig.formData.append('cmd', cmd); 2081 data = ioConfig.formData; 2082 } 2083 2084 return Liferay.Util.fetch(instance.URL_INVOKE, { 2085 body: data, 2086 headers: { 2087 contentType: ioConfig.contentType, 2088 }, 2089 method: 'POST', 2090 }) 2091 .then((response) => 2092 Promise.all([Promise.resolve(response), response.json()]) 2093 ) 2094 .then(([response, content]) => { 2095 if (response.ok) { 2096 ioConfig.complete(content); 2097 } 2098 else { 2099 ioConfig.error(); 2100 } 2101 }) 2102 .catch(ioConfig.error); 2103 }; 2104 2105 function getHttpMethodFunction(httpMethodName) { 2106 return function () { 2107 const args = Array.prototype.slice.call(arguments, 0); 2108 2109 const method = {method: httpMethodName}; 2110 2111 args.push(method); 2112 2113 return Service.apply(Service, args); 2114 }; 2115 } 2116 2117 Service.get = getHttpMethodFunction('get'); 2118 Service.del = getHttpMethodFunction('delete'); 2119 Service.post = getHttpMethodFunction('post'); 2120 Service.put = getHttpMethodFunction('put'); 2121 Service.update = getHttpMethodFunction('update'); 2122 2123 Liferay.Service = Service; 2124 2125 Liferay.Template = { 2126 PORTLET: 2127 '<div class="portlet"><div class="portlet-topper"><div class="portlet-title"></div></div><div class="portlet-content"></div><div class="forbidden-action"></div></div>', 2128 }; 2129})(); 2130 2131"use strict";(()=>{var ts=Object.create;var jt=Object.defineProperty;var ns=Object.getOwnPropertyDescriptor;var rs=Object.getOwnPropertyNames;var is=Object.getPrototypeOf,os=Object.prototype.hasOwnProperty;var ss=(e,t,n)=>t in e?jt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var as=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var mr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var cs=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of rs(t))!os.call(e,i)&&i!==n&&jt(e,i,{get:()=>t[i],enumerable:!(r=ns(t,i))||r.enumerable});return e};var Ft=(e,t,n)=>(n=e!=null?ts(is(e)):{},cs(t||!e||!e.__esModule?jt(n,"default",{value:e,enumerable:!0}):n,e));var rt=(e,t,n)=>(ss(e,typeof t!="symbol"?t+"":t,n),n);var Vr=mr((Ue,Ee)=>{var ls=200,fs="Expected a function",Yt="__lodash_hash_undefined__",ut=1,Se=2,Cr=1/0,br=9007199254740991,it="[object Arguments]",Wt="[object Array]",Ar="[object Boolean]",xr="[object Date]",Ir="[object Error]",Pr="[object Function]",us="[object GeneratorFunction]",ot="[object Map]",Or="[object Number]",_e="[object Object]",gr="[object Promise]",Ur="[object RegExp]",st="[object Set]",Rr="[object String]",Nr="[object Symbol]",Gt="[object WeakMap]",Dr="[object ArrayBuffer]",at="[object DataView]",ds="[object Float32Array]",ps="[object Float64Array]",hs="[object Int8Array]",ms="[object Int16Array]",gs="[object Int32Array]",ys="[object Uint8Array]",_s="[object Uint8ClampedArray]",Es="[object Uint16Array]",Ss="[object Uint32Array]",ws=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ts=/^\w*$/,Ls=/^\./,vs=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Cs=/[\\^$.*+?()[\]{}|]/g,bs=/\\(\\)?/g,As=/^\[object .+?Constructor\]$/,xs=/^(?:0|[1-9]\d*)$/,g={};g[ds]=g[ps]=g[hs]=g[ms]=g[gs]=g[ys]=g[_s]=g[Es]=g[Ss]=!0;g[it]=g[Wt]=g[Dr]=g[Ar]=g[at]=g[xr]=g[Ir]=g[Pr]=g[ot]=g[Or]=g[_e]=g[Ur]=g[st]=g[Rr]=g[Gt]=!1;var Mr=typeof global=="object"&&global&&global.Object===Object&&global,Is=typeof self=="object"&&self&&self.Object===Object&&self,Z=Mr||Is||Function("return this")(),$r=typeof Ue=="object"&&Ue&&!Ue.nodeType&&Ue,yr=$r&&typeof Ee=="object"&&Ee&&!Ee.nodeType&&Ee,Ps=yr&&yr.exports===$r,_r=Ps&&Mr.process,Er=function(){try{return _r&&_r.binding("util")}catch{}}(),Sr=Er&&Er.isTypedArray;function Os(e,t,n,r){for(var i=-1,o=e?e.length:0;++i<o;){var s=e[i];t(r,s,n(s),e)}return r}function Us(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function Rs(e){return function(t){return t?.[e]}}function Ns(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Ds(e){return function(t){return e(t)}}function Ms(e,t){return e?.[t]}function kt(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch{}return t}function $s(e){var t=-1,n=Array(e.size);return e.forEach(function(r,i){n[++t]=[i,r]}),n}function Hs(e,t){return function(n){return e(t(n))}}function js(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var Fs=Array.prototype,Bs=Function.prototype,dt=Object.prototype,Bt=Z["__core-js_shared__"],wr=function(){var e=/[^.]+$/.exec(Bt&&Bt.keys&&Bt.keys.IE_PROTO||"");
2131return e?"Symbol(src)_1."+e:""}(),Hr=Bs.toString,R=dt.hasOwnProperty,we=dt.toString,qs=RegExp("^"+Hr.call(R).replace(Cs,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Tr=Z.Symbol,Lr=Z.Uint8Array,Ws=dt.propertyIsEnumerable,Gs=Fs.splice,ks=Hs(Object.keys,Object),zt=Te(Z,"DataView"),Re=Te(Z,"Map"),Xt=Te(Z,"Promise"),Vt=Te(Z,"Set"),Kt=Te(Z,"WeakMap"),Ne=Te(Object,"create"),zs=ce(zt),Xs=ce(Re),Vs=ce(Xt),Ks=ce(Vt),Ys=ce(Kt),ct=Tr?Tr.prototype:void 0,qt=ct?ct.valueOf:void 0,vr=ct?ct.toString:void 0;function ae(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Js(){this.__data__=Ne?Ne(null):{}}function Zs(e){return this.has(e)&&delete this.__data__[e]}function Qs(e){var t=this.__data__;if(Ne){var n=t[e];return n===Yt?void 0:n}return R.call(t,e)?t[e]:void 0}function ea(e){var t=this.__data__;return Ne?t[e]!==void 0:R.call(t,e)}function ta(e,t){var n=this.__data__;return n[e]=Ne&&t===void 0?Yt:t,this}ae.prototype.clear=Js;ae.prototype.delete=Zs;ae.prototype.get=Qs;ae.prototype.has=ea;ae.prototype.set=ta;function F(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function na(){this.__data__=[]}function ra(e){var t=this.__data__,n=pt(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Gs.call(t,n,1),!0}function ia(e){var t=this.__data__,n=pt(t,e);return n<0?void 0:t[n][1]}function oa(e){return pt(this.__data__,e)>-1}function sa(e,t){var n=this.__data__,r=pt(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}F.prototype.clear=na;F.prototype.delete=ra;F.prototype.get=ia;F.prototype.has=oa;F.prototype.set=sa;function B(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function aa(){this.__data__={hash:new ae,map:new(Re||F),string:new ae}}function ca(e){return ht(this,e).delete(e)}function la(e){return ht(this,e).get(e)}function fa(e){return ht(this,e).has(e)}function ua(e,t){return ht(this,e).set(e,t),this}B.prototype.clear=aa;B.prototype.delete=ca;B.prototype.get=la;B.prototype.has=fa;B.prototype.set=ua;function lt(e){var t=-1,n=e?e.length:0;for(this.__data__=new B;++t<n;)this.add(e[t])}function da(e){return this.__data__.set(e,Yt),this}function pa(e){return this.__data__.has(e)}lt.prototype.add=lt.prototype.push=da;lt.prototype.has=pa;function j(e){this.__data__=new F(e)}function ha(){this.__data__=new F}function ma(e){return this.__data__.delete(e)}function ga(e){return this.__data__.get(e)}function ya(e){return this.__data__.has(e)}function _a(e,t){var n=this.__data__;if(n instanceof F){var r=n.__data__;if(!Re||r.length<ls-1)return r.push([e,t]),this;n=this.__data__=new B(r)}return n.set(e,t),this}j.prototype.clear=ha;j.prototype.delete=ma;j.prototype.get=ga;j.prototype.has=ya;j.prototype.set=_a;function Ea(e,t){var n=J(e)||zr(e)?Ns(e.length,String):[],r=n.length,i=!!r;for(var o in e)(t||R.call(e,o))&&!(i&&(o=="length"||qr(o,r)))&&n.push(o);return n}function pt(e,t){for(var n=e.length;n--;)if(kr(e[n][0],t))return n;return-1}function Sa(e,t,n,r){return wa(e,function(i,o,s){t(r,i,n(i),s)}),r}var wa=$a(La),Ta=Ha();function La(e,t){return e&&Ta(e,t,ft)}function jr(e,t){t=mt(t,e)?[t]:Fr(t);for(var n=0,r=t.length;e!=null&&n<r;)e=e[gt(t[n++])];return n&&n==r?e:void 0}function va(e){return we.call(e)}function Ca(e,t){return e!=null&&t in Object(e)}function Jt(e,t,n,r,i){return e===t?!0:e==null||t==null||!yt(e)&&!_t(t)?e!==e&&t!==t:ba(e,t,Jt,n,r,i)}function ba(e,t,n,r,i,o){var s=J(e),a=J(t),c=Wt,l=Wt;s||(c=Y(e),c=c==it?_e:c),a||(l=Y(t),l=l==it?_e:l);var f=c==_e&&!kt(e),d=l==_e&&!kt(t),u=c==l;if(u&&!f)return o||(o=new j),s||Ka(e)?Br(e,t,n,r,i,o):ja(e,t,c,n,r,i,o);if(!(i&Se)){var p=f&&R.call(e,"__wrapped__"),h=d&&R.call(t,"__wrapped__");
2131if(p||h){var E=p?e.value():e,m=h?t.value():t;return o||(o=new j),n(E,m,r,i,o)}}return u?(o||(o=new j),Fa(e,t,n,r,i,o)):!1}function Aa(e,t,n,r){var i=n.length,o=i,s=!r;if(e==null)return!o;for(e=Object(e);i--;){var a=n[i];if(s&&a[2]?a[1]!==e[a[0]]:!(a[0]in e))return!1}for(;++i<o;){a=n[i];var c=a[0],l=e[c],f=a[1];if(s&&a[2]){if(l===void 0&&!(c in e))return!1}else{var d=new j;if(r)var u=r(l,f,c,e,t,d);if(!(u===void 0?Jt(f,l,r,ut|Se,d):u))return!1}}return!0}function xa(e){if(!yt(e)||Ga(e))return!1;var t=Xr(e)||kt(e)?qs:As;return t.test(ce(e))}function Ia(e){return _t(e)&&en(e.length)&&!!g[we.call(e)]}function Pa(e){return typeof e=="function"?e:e==null?Qa:typeof e=="object"?J(e)?Ra(e[0],e[1]):Ua(e):ec(e)}function Oa(e){if(!ka(e))return ks(e);var t=[];for(var n in Object(e))R.call(e,n)&&n!="constructor"&&t.push(n);return t}function Ua(e){var t=Ba(e);return t.length==1&&t[0][2]?Gr(t[0][0],t[0][1]):function(n){return n===e||Aa(n,e,t)}}function Ra(e,t){return mt(e)&&Wr(t)?Gr(gt(e),t):function(n){var r=Ja(n,e);return r===void 0&&r===t?Za(n,e):Jt(t,r,void 0,ut|Se)}}function Na(e){return function(t){return jr(t,e)}}function Da(e){if(typeof e=="string")return e;if(tn(e))return vr?vr.call(e):"";var t=e+"";return t=="0"&&1/e==-Cr?"-0":t}function Fr(e){return J(e)?e:za(e)}function Ma(e,t){return function(n,r){var i=J(n)?Os:Sa,o=t?t():{};return i(n,e,Pa(r,2),o)}}function $a(e,t){return function(n,r){if(n==null)return n;if(!Qt(n))return e(n,r);for(var i=n.length,o=t?i:-1,s=Object(n);(t?o--:++o<i)&&r(s[o],o,s)!==!1;);return n}}function Ha(e){return function(t,n,r){for(var i=-1,o=Object(t),s=r(t),a=s.length;a--;){var c=s[e?a:++i];if(n(o[c],c,o)===!1)break}return t}}function Br(e,t,n,r,i,o){var s=i&Se,a=e.length,c=t.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(e);if(l&&o.get(t))return l==t;var f=-1,d=!0,u=i&ut?new lt:void 0;for(o.set(e,t),o.set(t,e);++f<a;){var p=e[f],h=t[f];if(r)var E=s?r(h,p,f,t,e,o):r(p,h,f,e,t,o);if(E!==void 0){if(E)continue;d=!1;break}if(u){if(!Us(t,function(m,L){if(!u.has(L)&&(p===m||n(p,m,r,i,o)))return u.add(L)})){d=!1;break}}else if(!(p===h||n(p,h,r,i,o))){d=!1;break}}return o.delete(e),o.delete(t),d}function ja(e,t,n,r,i,o,s){switch(n){case at:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Dr:return!(e.byteLength!=t.byteLength||!r(new Lr(e),new Lr(t)));case Ar:case xr:case Or:return kr(+e,+t);case Ir:return e.name==t.name&&e.message==t.message;case Ur:case Rr:return e==t+"";case ot:var a=$s;case st:var c=o&Se;if(a||(a=js),e.size!=t.size&&!c)return!1;var l=s.get(e);if(l)return l==t;o|=ut,s.set(e,t);var f=Br(a(e),a(t),r,i,o,s);return s.delete(e),f;case Nr:if(qt)return qt.call(e)==qt.call(t)}return!1}function Fa(e,t,n,r,i,o){var s=i&Se,a=ft(e),c=a.length,l=ft(t),f=l.length;if(c!=f&&!s)return!1;for(var d=c;d--;){var u=a[d];if(!(s?u in t:R.call(t,u)))return!1}var p=o.get(e);if(p&&o.get(t))return p==t;var h=!0;o.set(e,t),o.set(t,e);for(var E=s;++d<c;){u=a[d];var m=e[u],L=t[u];
2131if(r)var Oe=s?r(L,m,u,t,e,o):r(m,L,u,e,t,o);if(!(Oe===void 0?m===L||n(m,L,r,i,o):Oe)){h=!1;break}E||(E=u=="constructor")}if(h&&!E){var $=e.constructor,H=t.constructor;$!=H&&"constructor"in e&&"constructor"in t&&!(typeof $=="function"&&$ instanceof $&&typeof H=="function"&&H instanceof H)&&(h=!1)}return o.delete(e),o.delete(t),h}function ht(e,t){var n=e.__data__;return Wa(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Ba(e){for(var t=ft(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Wr(i)]}return t}function Te(e,t){var n=Ms(e,t);return xa(n)?n:void 0}var Y=va;(zt&&Y(new zt(new ArrayBuffer(1)))!=at||Re&&Y(new Re)!=ot||Xt&&Y(Xt.resolve())!=gr||Vt&&Y(new Vt)!=st||Kt&&Y(new Kt)!=Gt)&&(Y=function(e){var t=we.call(e),n=t==_e?e.constructor:void 0,r=n?ce(n):void 0;if(r)switch(r){case zs:return at;case Xs:return ot;case Vs:return gr;case Ks:return st;case Ys:return Gt}return t});function qa(e,t,n){t=mt(t,e)?[t]:Fr(t);for(var r,i=-1,s=t.length;++i<s;){var o=gt(t[i]);if(!(r=e!=null&&n(e,o)))break;e=e[o]}if(r)return r;var s=e?e.length:0;return!!s&&en(s)&&qr(o,s)&&(J(e)||zr(e))}function qr(e,t){return t=t??br,!!t&&(typeof e=="number"||xs.test(e))&&e>-1&&e%1==0&&e<t}function mt(e,t){if(J(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||tn(e)?!0:Ts.test(e)||!ws.test(e)||t!=null&&e in Object(t)}function Wa(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Ga(e){return!!wr&&wr in e}function ka(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||dt;return e===n}function Wr(e){return e===e&&!yt(e)}function Gr(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}var za=Zt(function(e){e=Ya(e);var t=[];return Ls.test(e)&&t.push(""),e.replace(vs,function(n,r,i,o){t.push(i?o.replace(bs,"$1"):r||n)}),t});function gt(e){if(typeof e=="string"||tn(e))return e;var t=e+"";return t=="0"&&1/e==-Cr?"-0":t}function ce(e){if(e!=null){try{return Hr.call(e)}catch{}try{return e+""}catch{}}return""}var Xa=Ma(function(e,t,n){R.call(e,n)?e[n].push(t):e[n]=[t]});function Zt(e,t){if(typeof e!="function"||t&&typeof t!="function")throw new TypeError(fs);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=e.apply(this,r);return n.cache=o.set(i,s),s};return n.cache=new(Zt.Cache||B),n}Zt.Cache=B;function kr(e,t){return e===t||e!==e&&t!==t}function zr(e){return Va(e)&&R.call(e,"callee")&&(!Ws.call(e,"callee")||we.call(e)==it)}var J=Array.isArray;function Qt(e){return e!=null&&en(e.length)&&!Xr(e)}function Va(e){return _t(e)&&Qt(e)}function Xr(e){var t=yt(e)?we.call(e):"";return t==Pr||t==us}function en(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=br}function yt(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function _t(e){return!!e&&typeof e=="object"}function tn(e){return typeof e=="symbol"||_t(e)&&we.call(e)==Nr}var Ka=Sr?Ds(Sr):Ia;function Ya(e){return e==null?"":Da(e)}function Ja(e,t,n){var r=e==null?void 0:jr(e,t);return r===void 0?n:r}function Za(e,t){return e!=null&&qa(e,t,Ca)}function ft(e){return Qt(e)?Ea(e):Oa(e)}function Qa(e){return e}function ec(e){return mt(e)?Rs(gt(e)):Na(e)}Ee.exports=Xa});var Ii=mr((De,ve)=>{var tc=200,pn="__lodash_hash_undefined__",bt=1,si=2,ai=9007199254740991,Et="[object Arguments]",sn="[object Array]",nc="[object AsyncFunction]",ci="[object Boolean]",li="[object Date]",fi="[object Error]",ui="[object Function]",rc="[object GeneratorFunction]",St="[object Map]",di="[object Number]",ic="[object Null]",Le="[object Object]",Kr="[object Promise]",oc="[object Proxy]",pi="[object RegExp]",wt="[object Set]",hi="[object String]",sc="[object Symbol]",ac="[object Undefined]",an="[object WeakMap]",mi="[object ArrayBuffer]",Tt="[object DataView]",cc="[object Float32Array]",lc="[object Float64Array]",fc="[object Int8Array]",uc="[object Int16Array]",dc="[object Int32Array]",pc="[object Uint8Array]",hc="[object Uint8ClampedArray]",mc="[object Uint16Array]",gc="[object Uint32Array]",yc=/[\\^$.*+?()[\]{}|]/g,_c=/^\[object .+?Constructor\]$/,Ec=/^(?:0|[1-9]\d*)$/,y={};y[cc]=y[lc]=y[fc]=y[uc]=y[dc]=y[pc]=y[hc]=y[mc]=y[gc]=!0;y[Et]=y[sn]=y[mi]=y[ci]=y[Tt]=y[li]=y[fi]=y[ui]=y[St]=y[di]=y[Le]=y[pi]=y[wt]=y[hi]=y[an]=!1;var gi=typeof global=="object"&&global&&global.Object===Object&&global,Sc=typeof self=="object"&&self&&self.Object===Object&&self,q=gi||Sc||Function("return this")(),yi=typeof De=="object"&&De&&!De.nodeType&&De,Yr=yi&&typeof ve=="object"&&ve&&!ve.nodeType&&ve,_i=Yr&&Yr.exports===yi,nn=_i&&gi.process,Jr=function(){try{return nn&&nn.binding&&nn.binding("util")}catch{}}(),Zr=Jr&&Jr.isTypedArray;function wc(e,t){for(var n=-1,r=e==null?0:e.length,i=0,o=[];++n<r;){var s=e[n];t(s,n,e)&&(o[i++]=s)}return o}function Tc(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Lc(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function vc(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Cc(e){return function(t){return e(t)}}function bc(e,t){return e.has(t)}function Ac(e,t){return e?.[t]}function xc(e){var t=-1,n=Array(e.size);return e.forEach(function(r,i){n[++t]=[i,r]}),n}function Ic(e,t){return function(n){return e(t(n))}}function Pc(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var Oc=Array.prototype,Uc=Function.prototype,At=Object.prototype,rn=q["__c
2131ore-js_shared__"],Ei=Uc.toString,N=At.hasOwnProperty,Qr=function(){var e=/[^.]+$/.exec(rn&&rn.keys&&rn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Si=At.toString,Rc=RegExp("^"+Ei.call(N).replace(yc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ei=_i?q.Buffer:void 0,Lt=q.Symbol,ti=q.Uint8Array,wi=At.propertyIsEnumerable,Nc=Oc.splice,le=Lt?Lt.toStringTag:void 0,ni=Object.getOwnPropertySymbols,Dc=ei?ei.isBuffer:void 0,Mc=Ic(Object.keys,Object),cn=Ce(q,"DataView"),Me=Ce(q,"Map"),ln=Ce(q,"Promise"),fn=Ce(q,"Set"),un=Ce(q,"WeakMap"),$e=Ce(Object,"create"),$c=de(cn),Hc=de(Me),jc=de(ln),Fc=de(fn),Bc=de(un),ri=Lt?Lt.prototype:void 0,on=ri?ri.valueOf:void 0;function fe(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function qc(){this.__data__=$e?$e(null):{},this.size=0}function Wc(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function Gc(e){var t=this.__data__;if($e){var n=t[e];return n===pn?void 0:n}return N.call(t,e)?t[e]:void 0}function kc(e){var t=this.__data__;return $e?t[e]!==void 0:N.call(t,e)}function zc(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=$e&&t===void 0?pn:t,this}fe.prototype.clear=qc;fe.prototype.delete=Wc;fe.prototype.get=Gc;fe.prototype.has=kc;fe.prototype.set=zc;function W(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Xc(){this.__data__=[],this.size=0}function Vc(e){var t=this.__data__,n=xt(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Nc.call(t,n,1),--this.size,!0}function Kc(e){var t=this.__data__,n=xt(t,e);return n<0?void 0:t[n][1]}function Yc(e){return xt(this.__data__,e)>-1}function Jc(e,t){var n=this.__data__,r=xt(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}W.prototype.clear=Xc;W.prototype.delete=Vc;W.prototype.get=Kc;W.prototype.has=Yc;W.prototype.set=Jc;function ue(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Zc(){this.size=0,this.__data__={hash:new fe,map:new(Me||W),string:new fe}}function Qc(e){var t=It(this,e).delete(e);return this.size-=t?1:0,t}function el(e){return It(this,e).get(e)}function tl(e){return It(this,e).has(e)}function nl(e,t){var n=It(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}ue.prototype.clear=Zc;ue.prototype.delete=Qc;ue.prototype.get=el;ue.prototype.has=tl;ue.prototype.set=nl;function vt(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new ue;++t<n;)this.add(e[t])}function rl(e){return this.__data__.set(e,pn),this}function il(e){return this.__data__.has(e)}vt.prototype.add=vt.prototype.push=rl;vt.prototype.has=il;function ee(e){var t=this.__data__=new W(e);this.size=t.size}function ol(){this.__data__=new W,this.size=0}function sl(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function al(e){return this.__data__.get(e)}function cl(e){return this.__data__.has(e)}function ll(e,t){var n=this.__data__;if(n instanceof W){var r=n.__data__;if(!Me||r.length<tc-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new ue(r)}return n.set(e,t),this.size=n.size,this}ee.prototype.clear=ol;ee.prototype.delete=sl;ee.prototype.get=al;ee.prototype.has=cl;ee.prototype.set=ll;function fl(e,t){var n=Ct(e),r=!n&&Cl(e),i=!n&&!r&&dn(e),o=!n&&!r&&!i&&xi(e),s=n||r||i||o,a=s?vc(e.length,String):[],c=a.length;for(var l in e)(t||N.call(e,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Sl(l,c)))&&a.push(l);return a}function xt(e,t){for(var n=e.length;n--;)if(vi(e[n][0],t))return n;return-1}function ul(e,t,n){var r=t(e);return Ct(e)?r:Tc(r,n(e))}function je(e){return e==null?e===void 0?ac:ic:le&&le in Object(e)?_l(e):vl(e)}function ii(e){return He(e)&&je(e)==Et}function Ti(e,t,n,r,i){return e===t?!0:e==null||t==null||!He(e)&&!He(t)?e!==e&&t!==t:dl(e,t,n,r,Ti,i)}function dl(e,t,n,r,i,o){var s=Ct(e),a=Ct(t),c=s?sn:Q(e),l=a?sn:Q(t);c=c==Et?Le:c,l=l==Et?Le:l;var f=c==Le,d=l==Le,u=c==l;if(u&&dn(e)){if(!dn(t))return!1;s=!0,f=!1}if(u&&!f)return o||(o=new ee),s||xi(e)?Li(e,t,n,r,i,o):gl(e,t,c,n,r,i,o);if(!(n&bt)){var p=f&&N.call(e,"__wrapped__"),h=d&&N.call(t,"__wrapped__");
vendor: 1,682 bytes, line 2131
2131if(p||h){var E=p?e.value():e,m=h?t.value():t;return o||(o=new ee),i(E,m,n,r,o)}}return u?(o||(o=new ee),yl(e,t,n,r,i,o)):!1}function pl(e){if(!Ai(e)||Tl(e))return!1;var t=Ci(e)?Rc:_c;return t.test(de(e))}function hl(e){return He(e)&&bi(e.length)&&!!y[je(e)]}function ml(e){if(!Ll(e))return Mc(e);var t=[];for(var n in Object(e))N.call(e,n)&&n!="constructor"&&t.push(n);return t}function Li(e,t,n,r,i,o){var s=n&bt,a=e.length,c=t.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(e);if(l&&o.get(t))return l==t;var f=-1,d=!0,u=n&si?new vt:void 0;for(o.set(e,t),o.set(t,e);++f<a;){var p=e[f],h=t[f];if(r)var E=s?r(h,p,f,t,e,o):r(p,h,f,e,t,o);if(E!==void 0){if(E)continue;d=!1;break}if(u){if(!Lc(t,function(m,L){if(!bc(u,L)&&(p===m||i(p,m,n,r,o)))return u.push(L)})){d=!1;break}}else if(!(p===h||i(p,h,n,r,o))){d=!1;break}}return o.delete(e),o.delete(t),d}function gl(e,t,n,r,i,o,s){switch(n){case Tt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case mi:return!(e.byteLength!=t.byteLength||!o(new ti(e),new ti(t)));case ci:case li:case di:return vi(+e,+t);case fi:return e.name==t.name&&e.message==t.message;case pi:case hi:return e==t+"";case St:var a=xc;case wt:var c=r&bt;if(a||(a=Pc),e.size!=t.size&&!c)return!1;var l=s.get(e);if(l)return l==t;r|=si,s.set(e,t);var f=Li(a(e),a(t),r,i,o,s);return s.delete(e),f;case sc:if(on)return on.call(e)==on.call(t)}return!1}function yl(e,t,n,r,i,o){var s=n&bt,a=oi(e),c=a.length,l=oi(t),f=l.length;if(c!=f&&!s)return!1;for(var d=c;d--;){var u=a[d];if(!(s?u in t:N.call(t,u)))return!1}var p=o.get(e);if(p&&o.get(t))return p==t;var h=!0;o.set(e,t),o.set(t,e);for(var E=s;++d<c;){u=a[d];var m=e[u],L=t[u];
2131if(r)var Oe=s?r(L,m,u,t,e,o):r(m,L,u,e,t,o);if(!(Oe===void 0?m===L||i(m,L,n,r,o):Oe)){h=!1;break}E||(E=u=="constructor")}if(h&&!E){var $=e.constructor,H=t.constructor;$!=H&&"constructor"in e&&"constructor"in t&&!(typeof $=="function"&&$ instanceof $&&typeof H=="function"&&H instanceof H)&&(h=!1)}return o.delete(e),o.delete(t),h}function oi(e){return ul(e,xl,El)}function It(e,t){var n=e.__data__;return wl(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Ce(e,t){var n=Ac(e,t);return pl(n)?n:void 0}function _l(e){var t=N.call(e,le),n=e[le];try{e[le]=void 0;var r=!0}catch{}var i=Si.call(e);return r&&(t?e[le]=n:delete e[le]),i}var El=ni?function(e){return e==null?[]:(e=Object(e),wc(ni(e),function(t){return wi.call(e,t)}))}:Il,Q=je;(cn&&Q(new cn(new ArrayBuffer(1)))!=Tt||Me&&Q(new Me)!=St||ln&&Q(ln.resolve())!=Kr||fn&&Q(new fn)!=wt||un&&Q(new un)!=an)&&(Q=function(e){var t=je(e),n=t==Le?e.constructor:void 0,r=n?de(n):"";if(r)switch(r){case $c:return Tt;case Hc:return St;case jc:return Kr;case Fc:return wt;case Bc:return an}return t});function Sl(e,t){return t=t??ai,!!t&&(typeof e=="number"||Ec.test(e))&&e>-1&&e%1==0&&e<t}function wl(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Tl(e){return!!Qr&&Qr in e}function Ll(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||At;return e===n}function vl(e){return Si.call(e)}function de(e){if(e!=null){try{return Ei.call(e)}catch{}try{return e+""}catch{}}return""}function vi(e,t){return e===t||e!==e&&t!==t}var Cl=ii(function(){return arguments}())?ii:function(e){return He(e)&&N.call(e,"callee")&&!wi.call(e,"callee")},Ct=Array.isArray;function bl(e){return e!=null&&bi(e.length)&&!Ci(e)}var dn=Dc||Pl;function Al(e,t){return Ti(e,t)}function Ci(e){if(!Ai(e))return!1;var t=je(e);return t==ui||t==rc||t==nc||t==oc}function bi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ai}function Ai(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function He(e){return e!=null&&typeof e=="object"}var xi=Zr?Cc(Zr):hl;function xl(e){return bl(e)?fl(e):ml(e)}function Il(){return[]}function Pl(){return!1}ve.exports=Al});var Jo=Ft(Vr()),Zo=Ft(Ii());async function Pi(e){if(e.includes(" from ")){let[t,n]=Ol(e);return(await import(t))[n]}else return new Promise((t,n)=>{Liferay.Loader.require(e,r=>t(r.default||r),r=>n(r))})}function Ol(e){let t=e.split(" from "),n=t[1].trim(),r=t[0].trim();return r.startsWith("{")&&r.endsWith("}")&&(r=r.substring(1,r.length-1).trim()),[n,r]}function Fe(e){for(let{clientExtensionDefinitions:t,onLoad:n}of e){if(!t.length)continue;let r=t.map(({context:i,importDeclaration:o})=>Pi(o).then(s=>({binding:s,context:i})).catch(s=>({context:i,error:s})));Promise.all(r).then(n)}}function hn({config:e,onLoad:t}){Fe([{clientExtensionDefinitions:e.editorTransformerURLs.map(n=>({importDeclaration:`default from ${n}`})),onLoad:n=>{let r=JSON.parse(JSON.stringify(e));n.forEach(({binding:i,error:o})=>{let s=i?.editorConfigTransformer;s&&(r=s(r))}),t({transformedConfig:r})}}])}function S(e){let t=typeof e;return t==="object"&&e!==null||t==="function"}function G(e={},t=new FormData,n){return Object.entries(e).forEach(([r,i])=>{let o=n?`${n}[${r}]`:r;Array.isArray(i)?i.forEach(s=>{G({[o]:s},t)}):S(i)&&!(i instanceof File)?G(i,t,o):t.append(o,i)}),t}function Oi(e){return typeof e=="string"&&(e=document.querySelector(e)),e}var mn=class{get namespace(){return this._STATE_.namespace}get portletNamespace(){return this._STATE_.portletNamespace}get rootNode(){return this._STATE_.rootNode}set portletNamespace(t){this.rootNode=`#p_p_id${t}`,this._STATE_.portletNamespace=t}set namespace(t){this.rootNode=`#p_p_id${t}`,this._STATE_.namespace=t}set rootNode(t){typeof t=="string"&&(t=document.getElementById(t[0]==="#"?t.slice(1):t)),this._STATE_.rootNode=t}constructor(t){this._EVENTS_={},this._STATE_={namespace:null,portletNamespace:null,rootNode:null};let{namespace:n,portletNamespace:r,rootNode:i}=t;n&&(this.namespace=n),r&&(this.portletNamespace=r),i&&(this.rootNode=i),this.created(t),this.attached(t)}dispose(){this.disposeInternal(),this.detached(),this.disposed()}attached(){}created(){}detached(){}disposed(){}disposeInternal(){}emit(t,n){let r=this._EVENTS_[t];if(r&&r.length)for(let i=0;i<r.length;i++)r[i](n)}on(t,n){this._EVENTS_[t]||(this._EVENTS_[t]=[]),this._EVENTS_[t].push(n)}},gn=class extends mn{all(t,n){return n=Oi(n)||this.rootNode||document,n.querySelectorAll(this.namespaceSelectors_(this.portletNamespace||this.namespace,t))}
2131fetch(t,n){let r=this.getRequestBody_(n);return fetch(t,{body:r,credentials:"include",method:"POST"})}getRequestBody_(t){let n;return t instanceof FormData?n=t:t instanceof HTMLFormElement?n=new FormData(t):typeof t=="object"?n=G(this.ns(t)):n=t,n}namespaceSelectors_(t,n){return n.replace(new RegExp(`(#|\\[id=(\\"|\\'))(?!`+t+")","g"),"$1"+t)}ns(t){return Liferay.Util.ns(this.portletNamespace||this.namespace,t)}one(t,n){return n=Oi(n)||this.rootNode||document,n.querySelector(this.namespaceSelectors_(this.portletNamespace||this.namespace,t))}},Ui=gn;var Ul={blur:!0,error:!0,focus:!0,invalid:!0,load:!0,scroll:!0};function Rl(e){return!!(e.disabled||e.closest("[disabled]"))}function Nl(e,t,n,r){let i=o=>{let{defaultPrevented:s,target:a}=o;if(s||t==="click"&&Rl(a))return;let c=a.closest(n);c&&(o.delegateTarget=c,r(o))};return e.addEventListener(t,i,!!Ul[t]),{dispose(){e.removeEventListener(t,i)}}}var Pt=Nl;var yn=class extends Ui{attached(){let{rootNode:t}=this;t=t||document.body,this.inlineScrollEventHandler_=Pt(t,"scroll","ul.pagination ul.inline-scroller",this.onScroll_.bind(this))}created(t){this.applyNamespaceToCurParam=t.applyNamespaceToCurParam,this.cur=Number(t.cur),this.curParam=t.curParam,this.forcePost=t.forcePost,this.formName=t.formName,this.initialPages=Number(t.initialPages),this.jsCall=t.jsCall,this.namespace=t.namespace,this.pages=Number(t.pages),this.randomNamespace=t.randomNamespace,this.url=t.url,this.urlAnchor=t.urlAnchor,this.handleListItemClick_=this.handleListItemClick_.bind(this)}detached(){super.detached(),this.inlineScrollEventHandler_.dispose(),document.createElement("li").removeEventListener("click",this.handleListItemClick_)}addListItem_(t,n){let r=document.createElement("li");r.innerHTML=`<a aria-label="${Liferay.Util.sub('page-x',[n])}" class="dropdown-item" href="${this.getHREF_(n)}">${n}</a>`,n++,t.appendChild(r),t.setAttribute("data-page-index",n),r.addEventListener("click",this.handleListItemClick_)}getHREF_(t){let{applyNamespaceToCurParam:n,curParam:r,formName:i,jsCall:o,namespace:s,url:a,urlAnchor:c}=this,l=n?`${s}${r}`:r;return a!==null?`${a}&${l}=${t}${c}`:`javascript:document.${i}.${l}.value = "${t}; ${o}`}getNumber_(t){return Number(t??0)}handleListItemClick_(t){if(this.forcePost){t.preventDefault();let{curParam:n,id:r,namespace:i,randomNamespace:o}=this,s=document.getElementById(`${o}${i||r}pageIteratorFm`);s.elements[i+n].value=t.currentTarget.textContent,s.submit()}}onScroll_(t){let{cur:n,initialPages:r,pages:i}=this,{target:o}=t;if(o.nodeName!=="UL")return;let s=this.getNumber_(o.dataset.pageIndex),a=this.getNumber_(o.dataset.maxIndex);if(s===0){let c=this.getNumber_(o.dataset.currentIndex);c===0?s=r:s=c+r}a===0&&(a=i),n<=i&&s<a&&o.scrollTop>=o.scrollHeight-300&&this.addListItem_(o,s)}},Ri=yn;var Be={'"':""","&":"&","'":"'","/":"/","<":"<",">":">","`":"`"};var Dl={};Object.entries(Be).forEach(([e,t])=>{Dl[t]=e});var Ml=Object.keys(Be),$l=new RegExp(`[${Ml.join("")}]`,"g"),Hl=/&([^\s;]+);/g;function pe(e){return e.replace($l,t=>Be[t])}function Ni(e){return e.replace(Hl,t=>new DOMParser().parseFromString(t,"text/html").documentElement.textContent)}function k(e,t){typeof e=="string"?e=document.querySelectorAll(e):e._node?e=[e._node]:e._nodes?e=e._nodes:e.nodeType===Node.ELEMENT_NODE&&(e=[e]),e.forEach(n=>{n.disabled=t,t?n.classList.add("disabled"):n.classList.remove("disabled")})}function jl(e,t){let n=e.indexOf('">'),r=e.substring(n);n=t.indexOf('">');let i=t.substring(n);return r<i?-1:r>i?1:0}function Fl(e){return Array.isArray(e)?!0:!!(e&&typeof e=="object"&&typeof e.length=="number"&&!e.tagName&&!e.scrollTo&&!e.document)}function Bl(e){return Fl(e)?Array.from(e):[e]}function Di(e,t,n){let r=e[t],i=document.getElementById(r.select);if(!i)return;let o=Bl(r.selectVal),s=[];for(r.selectNullable!==!1&&s.push('<option selected value="0"></option>'),n.forEach(a=>{let c=pe(a[r.selectId]),l=pe(a[r.selectDesc]),f="";o.indexOf(c)>-1&&(f='selected="selected"'),s.push(`<option ${f} value="${c}">${l}</option>`)}),r.selectSort&&s.sort(jl);i.lastChild;)i.removeChild(i.lastChild);i.innerHTML=s.join(""),r.selectDisableOnEmpty&&k(i,!n.length)}function ql(e,t){if(t+1<e.length){let n=document.getElementById(e[t].select),r=e[t+1].selectData;r(i=>{Di(e,t+1,i)},n&&n.value)}}function Wl(e){e.forEach((t,n)=>{let r=t.select,i=document.getElementById(r),o=t.selectData;
2131if(i){i.setAttribute("data-componentType","dynamic_select");let s;n>0&&(s=e[n-1].selectVal),o(a=>{Di(e,n,a)},s),i.getAttribute("name")||i.setAttribute("name",r),i.addEventListener("change",()=>{ql(e,n)})}})}var qe=class{constructor(t){Wl(t)}};var Mi=" ",_n=class{constructor(t){rt(this,"handleInput",t=>{requestAnimationFrame(()=>{this._resizeInput(t.target)})});this.inputElement=t,this.computedStyle=getComputedStyle(this.inputElement),this.minHeight=parseInt(this.computedStyle.height.replace("px",""),10),this.paddingHeight=parseInt(this.computedStyle.paddingTop.replace("px",""),10)+parseInt(this.computedStyle.paddingBottom.replace("px",""),10),this.template=this.createTemplate(this.computedStyle),document.body.appendChild(this.template),this.inputElement.addEventListener("input",this.handleInput),this._resizeInput(this.inputElement)}createTemplate(t){let n=document.createElement("pre");return n.style.clip="rect(0, 0, 0, 0) !important",n.style.left="0",n.style.overflowWrap="break-word",n.style.position="absolute",n.style.top="0",n.style.transform="scale(0)",n.style.whiteSpace="pre-wrap",n.style.wordBreak="break-word",n.style.fontFamily=t.fontFamily,n.style.fontSize=t.fontSize,n.style.fontStyle=t.fontStyle,n.style.fontWeight=t.fontWeight,n.style.lineHeight=t.lineHeight,n.style.letterSpacing=t.letterSpacing,n.style.textTransform=t.textTransform,n.style.width=t.width,n.textContent=Mi,n}_resizeInput(t){this.template.style.width!==this.computedStyle.width&&(this.template.style.width=this.computedStyle.width),this.template.innerHTML=pe(t.value)+Mi,t.style.height=`${this.template.scrollHeight+this.paddingHeight<this.minHeight?this.minHeight:this.template.scrollHeight+this.paddingHeight}px`}},$i=_n;var be={PHONE:768,TABLET:980};var he={},te={},x={},Ot={},ji={},Gl=["p_p_id","p_p_lifecycle"],kl=["ddmStructureKey","fileEntryTypeId","folderId","navigation","status"],Hi="liferay.component",Fi=function(e){let t;if(e)t={promise:Promise.resolve(e),resolve(){}};else{let n;t={promise:new Promise(i=>{n=i}
2131),resolve:n}}return t},zl=function(e,t,n){let r=e.data;Object.keys(r).forEach(o=>{let s=n.querySelector(`#${o}`);s&&(s.innerHTML=r[o].html)})},Xl=function(e){let t=new URL(window.location.href),n=new URL(e.path,window.location.href);if(Gl.every(i=>n.searchParams.get(i)===t.searchParams.get(i))){let i=Object.keys(x);i=i.filter(o=>{let s=x[o];if(!s)return!1;let a=he[o],c=kl.every(f=>{let d=!1;if(a){let u=`_${a.portletId}_${f}`;d=n.searchParams.get(u)===t.searchParams.get(u)}return d});return(typeof s.isCacheable=="function"?s.isCacheable(n):!1)&&c&&a&&a.cacheState&&s.element&&s.getState}),Ot=i.reduce((o,s)=>{let a=x[s],c=he[s],l=a.getState(),f=c.cacheState.reduce((d,u)=>(d[u]=l[u],d),{});return o[s]={html:a.element.innerHTML,state:f},o},[]),Liferay.DOMTaskRunner.addTask({action:zl,condition:o=>o.owner===Hi}),Liferay.DOMTaskRunner.addTaskState({data:Ot,owner:Hi})}else Ot={}},Bi=function(e,t,n){let r;if(arguments.length===1){let i=x[e];i&&typeof i=="function"&&(ji[e]=i,i=i(),x[e]=i),r=i}else if(x[e]&&t!==null&&(delete he[e],delete te[e],console.warn('Component with id "'+e+'" is being registered twice. This can lead to unexpected behaviour in the "Liferay.component" and "Liferay.componentReady" APIs, as well as in the "*:registered" events.')),r=x[e]=t,t===null)delete he[e],delete te[e];else{he[e]=n,Liferay.fire(e+":registered");let i=te[e];i?i.resolve(t):te[e]=Fi(t)}return r},En=function(){let e,t;if(arguments.length===1)e=arguments[0];else{e=[];for(let n=0;n<arguments.length;n++)e[n]=arguments[n]}if(Array.isArray(e))t=Promise.all(e.map(n=>En(n)));else{let n=te[e];n||(te[e]=n=Fi()),t=n.promise}return t},Sn=function(e){let t=x[e];if(t){let n=t.destroy||t.dispose;n&&n.call(t),delete he[e],delete te[e],delete ji[e],delete x[e]}},qi=function(e){let t=Object.keys(x);e&&(t=t.filter(n=>e(x[n],he[n]||{}))),t.forEach(Sn)},Wi=function(){te={}},Gi=function(e){let t=Ot[e];return t?t.state:{}},ki=function(){Liferay.on("startNavigate",Xl)};function Vl(e,t){return function n(){let r=arguments;Kl(n),n.id=setTimeout(()=>{e(...r)},t)}}function Kl(e){clearTimeout(e.id)}var zi=Vl;var Yl="simulationDeviceIframe",Xi;function z(){let e=Xi;if(!e){let t=window.parent,n;for(;t!==window;){try{if(typeof t.location.href>"u")break;n=t.themeDisplay}catch{break}if(!n||window.name===Yl)break;if(!n.isStatePopUp()||t===t.parent){e=t;break}t=t.parent}e||(e=window),Xi=e}return e}function Ae(e,t){let n=z();e.openingWindow=window,e.uri&&!e.url&&(e.url=e.uri),n.Liferay.Util._openWindowProvider(e,t)}function Vi(e){e=e||{};let t=e.obj,n=e.pane;t&&t.checked&&(n=document.querySelector(n),n&&n.classList.add("hide"))}function Ki(){return{minus:themeDisplay.getPathThemeImages()+"/arrows/01_minus.png",plus:themeDisplay.getPathThemeImages()+"/arrows/01_plus.png"}}function Yi(e){e=e||{};let t=e.namespace,n=e.reviewers,r='<div><form action="'+e.url+'" method="post">';if(n.length){r+='<textarea name="'+t+'description"></textarea><br /><br />'+'Reviewer'+' <select name="'+t+'reviewUserId">';for(let i=0;i<n.length;i++)r+='<option value="'+n[i].userId+'">'+n[i].fullName+"</option>";r+='</select><br /><br /><input type="submit" value="'+'Proceed'+'" />'}else r+='No\x20reviewers\x20were\x20found\x2e'+"<br />"+'Please\x20contact\x20the\x20administrator\x20to\x20assign\x20reviewers\x2e'+"<br /><br />";r+="</form></div>",Ae({dialog:{destroyOnHide:!0},title:r})}function Ji(e){e=e||{},Ae({dialog:{constrain:!0,modal:!0,on:{visibleChange(t){let n=this;t.newVal||n.destroy()}}},title:e.title,uri:e.url})}function Zi(e){e=e||{};let t=e.obj,n=e.pane;t&&t.checked&&(n=document.querySelector(n),n&&n.classList.remove("hide"))}function Qi(e){e=e||{};let t=document.querySelector(e.detail),n=document.querySelector(e.toggle);if(t&&n){let r=themeDisplay.getPathThemeImages()+"/arrows/01_plus.png";t.classList.contains("hide")?(t.classList.remove("hide"),r=themeDisplay.getPathThemeImages()+"/arrows/01_minus.png"):t.classList.add("hide"),n.setAttribute("src",r)}}function We(e){if(typeof e!="function")throw new TypeError("Parameter fn must be a function");let t=new Map,n=(...r)=>{let i;if(r.find(o=>typeof o=="object")){let o=r.filter(s=>typeof s=="object");i=o.map(s=>JSON.stringify(s)),r.length>1&&o.length<r.length&&r.forEach(s=>typeof s!="object"&&i.push(s)),i=i.join(",")}else i=r.length>1?r.join(","):r[0];if(t.has(i))return t.get(i);{let o=e.apply(null,r);return t.set(i,o),o}};return n.getCache=()=>t,n}var Jl=We(e=>e.split("").map(t=>t.charCodeAt()).join("")),Ge=Jl;var wn="showTab";function to(e,t,n,r){let i=e+Ge(n),o=document.getElementById(i+"TabsId"),s=document.getElementById(i+"TabsSection");if(o&&s){let a={id:n,names:t,namespace:e,selectedTab:o,selectedTabSection:s};r&&typeof r=="function"&&r.call(this,e,t,n,a);try{Liferay.on(wn,eo),Liferay.fire(wn,a)}finally{Liferay.detach(wn,eo)}}}function eo({id:e,names:t,namespace:n,selectedTab:r,selectedTabSection:i}){let o=r.querySelector("a");if(r&&o){let c=r.parentElement.querySelector(".active");c&&c.classList.remove("active"),o.classList.add("active")}i&&i.classList.remove("hide");let s=document.getElementById(n+"dropdownTitle");s&&o&&(s.innerHTML=o.textContent),t.splice(t.indexOf(e),1);let a;for(let c=0;c<t.length;c++)a=document.getElementById(n+Ge(t[c])+"TabsSection"),a&&a.classList.add("hide")}function no(e,t){e.setAttribute("title",t),e.classList.add("lfr-portal-tooltip")}function ro(e,t){return typeof e=="string"?e=t:e instanceof URL?e=new URL(t):e instanceof Request?e=new Request
2131(t,e):console.warn("Resource passed to `fetch()` must either be a string, Request, or URL."),e}function b(e,t={}){e||(e="/o/");let n=e.url?e.url:e.toString();if(n.startsWith("/")){let s=Liferay.ThemeDisplay.getPathContext();s&&!n.startsWith(s)&&(n=s+n,e=ro(e,n)),n=window.location.origin+n}let r=new URL(n),i=new Headers({}),o={};if(r.origin===window.location.origin){i.set("x-csrf-token",Liferay.authToken),o.credentials="include";let s=Liferay.ThemeDisplay.getDoAsUserIdEncoded();s&&(r.searchParams.set("doAsUserId",s),n=r.toString(),e=ro(e,n))}return new Headers(t.headers||{}).forEach((s,a)=>{i.set(a,s)}),fetch(e,{...o,...t,headers:i})}var Zl=/^(?:p_p_id)?_(.*)_.*$/;function ke(e){return e.replace(Zl,"$1")}function ze(e){if(typeof e!="string")throw new TypeError("portletId must be a string");return`_${e}_`}var Ql=/^[a-z][a-z0-9+.-]*:/i;function ef(e){return Ql.test(e)}function I(e,t={}){if(typeof e!="string")throw new TypeError("basePortletURL parameter must be a string");if(!t||typeof t!="object")throw new TypeError("parameters argument must be an object");let n=new Set(["doAsGroupId","doAsUserId","doAsUserLanguageId","p_auth","p_auth_secret","p_f_id","p_j_a_id","p_l_id","p_l_reset","p_p_auth","p_p_cacheability","p_p_i_id","p_p_id","p_p_isolated","p_p_lifecycle","p_p_mode","p_p_resource_id","p_p_state","p_p_state_rcv","p_p_static","p_p_url_type","p_p_width","p_t_lifecycle","p_v_l_s_g_id","refererGroupId","refererPlid","saveLastPath","scroll"]);e.indexOf(Liferay.ThemeDisplay.getPortalURL())!==0&&!ef(e)&&(e.indexOf("/")!==0?e=`${Liferay.ThemeDisplay.getPortalURL()}/${e}`:e=Liferay.ThemeDisplay.getPortalURL()+e);
2131let r=new URL(e),i=new URLSearchParams(r.search),o=t.p_p_id||i.get("p_p_id");if(Object.entries(t).length&&!o)throw new TypeError("Portlet ID must not be null if parameters are provided");let s="";return Object.entries(t).length&&(s=ze(o)),Object.keys(t).forEach(a=>{let c;n.has(a)?c=a:c=`${s}${a}`,i.set(c,t[a])}),r.search=i.toString(),r}var Ut,tf=new Uint8Array(16);function Tn(){if(!Ut&&(Ut=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ut))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ut(tf)}var w=[];for(let e=0;e<256;++e)w.push((e+256).toString(16).slice(1));function io(e,t=0){return(w[e[t+0]]+w[e[t+1]]+w[e[t+2]]+w[e[t+3]]+"-"+w[e[t+4]]+w[e[t+5]]+"-"+w[e[t+6]]+w[e[t+7]]+"-"+w[e[t+8]]+w[e[t+9]]+"-"+w[e[t+10]]+w[e[t+11]]+w[e[t+12]]+w[e[t+13]]+w[e[t+14]]+w[e[t+15]]).toLowerCase()}var nf=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Ln={randomUUID:nf};function rf(e,t,n){if(Ln.randomUUID&&!t&&!e)return Ln.randomUUID();e=e||{};let r=e.random||(e.rng||Tn)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return io(r)}var vn=rf;var of={EDIT:"edit",HELP:"help",VIEW:"view",MAXIMIZED:"maximized",MINIMIZED:"minimized",NORMAL:"normal",FULL:"cacheLevelFull",PAGE:"cacheLevelPage",PORTLET:"cacheLevelPortlet"};var P=of;var Cn=class e{constructor(t){S(t)?this.from(t):(this.parameters={},this.portletMode=P.VIEW,this.windowState=P.NORMAL)}clone(){return new e(this)}from(t){this.parameters={},Object.keys(t.parameters).forEach(n=>{Array.isArray(t.parameters[n])&&(this.parameters[n]=t.parameters[n].slice(0))}),this.setPortletMode(t.portletMode),this.setWindowState(t.windowState)}getPortletMode(){return this.portletMode}getValue(t,n){if(typeof t!="string")throw new TypeError("Parameter name must be a string");let r=this.parameters[t];return Array.isArray(r)&&(r=r[0]),r===void 0&&n!==void 0&&(r=n),r}getValues(t,n){if(typeof t!="string")throw new TypeError("Parameter name must be a string");let r=this.parameters[t];return r||n}getWindowState(){return this.windowState}remove(t){if(typeof t!="string")throw new TypeError("Parameter name must be a string");this.parameters[t]!==void 0&&delete this.parameters[t]}setPortletMode(t){if(typeof t!="string")throw new TypeError("Portlet Mode must be a string");(t===P.EDIT||t===P.HELP||t===P.VIEW)&&(this.portletMode=t)}setValue(t,n){if(typeof t!="string")throw new TypeError("Parameter name must be a string");if(typeof n!="string"&&n!==null&&!Array.isArray(n))throw new TypeError("Parameter value must be a string, an array or null");Array.isArray(n)||(n=[n]),this.parameters[t]=n}setValues(t,n){this.setValue(t,n)}setWindowState(t){if(typeof t!="string")throw new TypeError("Window State must be a string");(t===P.MAXIMIZED||t===P.MINIMIZED||t===P.NORMAL)&&(this.windowState=t)}};var bn=Cn;var sf="0",af="p_p_cacheability",oo="p_p_hub",cf="1",lf="p_p_mode",ao="p_r_p_",An="priv_r_p_",ff="p_p_resource_id",ne="&",uf="",X="=",df="",pf="p_p_state",co=function(e,t){let n=!1;e===void 0&&t===void 0&&(n=!0),(e===void 0||t===void 0)&&(n=!1),e.length!==t.length&&(n=!1);for(let r=e.length-1;r>=0;r--)e[r]!==t[r]&&(n=!1);return n},hf=function(e,t,n){let r=!1;if(e&&e.portlets&&e.portlets[n]){let o=e.portlets[n].state;if(!t.portletMode||!t.windowState||!t.parameters)throw new Error(`Error decoding state: ${t}`);t.porletMode!==o.portletMode||t.windowState!==o.windowState?r=!0:(Object.keys(t.parameters).forEach(c=>{let l=t.parameters[c],f=o.parameters[c];co(l,f)||(r=!0)}),Object.keys(o.parameters).forEach(c=>{t.parameters[c]||(r=!0)}))}return r},lo=function(e,t){let n=e&&e.portlets?e.portlets:{};try{let r=JSON.parse(t);r.portlets&&Object.keys(n).forEach(o=>{let s=r.portlets[o].state,a=n[o].state;if(!s||!a)throw new Error(`Invalid update string. 2132old state=${a} 2133new state=${s}`);hf(e,s,o)&&(n[o]=r.portlets[o])})}catch{}return n},mf=function(e,t){let n=[];for(let r=0;r<t.elements.length;r++){let i=t.elements[r],o=i.name,s=i.nodeName.toUpperCase(),a=s==="INPUT"?i.type.toUpperCase():"",c=i.value;if(o&&!i.disabled&&a!=="FILE"){if(s==="SELECT"&&i.multiple)[...i.options].forEac
2133h(f=>{if(f.checked){let d=f.value,u=encodeURIComponent(e+o)+"="+encodeURIComponent(d);n.push(u)}});else if(a!=="CHECKBOX"&&a!=="RADIO"||i.checked){let l=encodeURIComponent(e+o)+"="+encodeURIComponent(c);n.push(l)}}}return n.join("&")},Rt=function(e,t){let n="";return Array.isArray(t)&&(t.length?t.forEach(r=>{n+=ne+encodeURIComponent(e),r===null?n+=X+df:n+=X+encodeURIComponent(r)}):n+=ne+encodeURIComponent(e)+X+uf),n},fo=function(e,t,n){let r={credentials:"same-origin",method:"POST",url:t};if(n)if(n.enctype==="multipart/form-data"){let o=new FormData(n);r.body=o}else{let o=mf(e,n);(n.method?n.method.toUpperCase():"GET")==="GET"?(t.indexOf("?")>=0?t+=`&${o}`:t+=`?${o}`,r.url=t):(r.body=o,r.headers={"Content-Type":"application/x-www-form-urlencoded"})}return r},so=function(e,t,n,r,i){let o="";if(e.portlets&&e.portlets[t]){let s=e.portlets[t];if(s&&s.state&&s.state.parameters){let a=s.state.parameters[n];a!==void 0&&(r===ao?o+=Rt(i,a):r===An?o+=Rt(t+An+n,a):o+=Rt(t+n,a))}}return o},gf=function(e,t){let n="";if(e.portlets){let r=e.portlets[t];if(r.state){let i=r.state;n+=ne+lf+X+encodeURIComponent(i.portletMode),n+=ne+pf+X+encodeURIComponent(i.windowState)}}return n},yf=function(e,t,n,r){let i=!1;if(e&&e.portlets){let o=e.portlets[t];if(n.parameters[r]&&o.state.parameters[r]){let s=n.parameters[r],a=o.state.parameters[r];i=co(s,a)}}return i},uo=function(e,t,n){let r={};if(e&&e.portlets){let i=e.portlets[t];if(i&&i.pubParms){let o=i.pubParms;Object.keys(o).forEach(a=>{if(!yf(e,t,n,a)){let c=o[a];r[c]=n.parameters[a]}})}}return r},_f=function(e,t,n){let r=!1;if(e&&e.portlets){let i=e.portlets[t];i&&i.pubParms&&(r=Object.keys(i.pubParms).includes(n))}return r},Xe=function(e,t,n,r,i,o){let s="cacheLevelPage",a="",c="";if(e&&e.portlets){t==="RENDER"&&n===void 0&&(n=null);let l=e.portlets[n];if(l&&(t==="RESOURCE"?(c=decodeURIComponent(l.encodedResourceURL),i&&(s=i),c+=ne+af+X+encodeURIComponent(s),o&&(c+=ne+ff+X+encodeURIComponent(o))):t==="RENDER"&&n!==null?c=decodeURIComponent(l.encodedRenderURL):t==="RENDER"?c=decodeURIComponent(e.encodedCurrentURL):t==="ACTION"?(c=decodeURIComponent(l.encodedActionURL),c+=ne+oo+X+encodeURIComponent(sf)):t==="PARTIAL_ACTION"&&(c=decodeURIComponent(l.encodedActionURL),c+=ne+oo+X+encodeURIComponent(cf)),t!=="RESOURCE"||s!=="cacheLevelFull")){if(n&&(c+=gf(e,n)),n&&(a="",l.state&&l.state.parameters)){let f=l.state.parameters;Object.keys(f).forEach(u=>{_f(e,n,u)||(a+=so(e,n,u,An))}),c+=a}if(e.prpMap){a="";let f={};Object.keys(e.prpMap).forEach(u=>{Object.keys(e.prpMap[u]).forEach(h=>{let m=e.prpMap[u][h].split("|");Object.hasOwnProperty.call(f,u)||(f[u]=so(e,m[0],m[1],ao,u),a+=f[u])})}),c+=a}}}return r&&(a="",Object.keys(r).forEach(f=>{a+=Rt(n+f,r[f])}),c+=a),Promise.resolve(c)},Ve=function(e=[],t=0,n=1,r=[]){if(e.length<t)throw new TypeError(`Too few arguments provided: Number of arguments: ${e.length}`);if(e.length>n)throw new TypeError(`Too many arguments provided: ${[].join.call(e,", ")}`);if(Array.isArray(r)){let i=Math.min(e.length,r.length)-1;for(i;i>=0;i--){if(typeof e[i]!==r[i])throw new TypeError(`Parameter ${i} is of type ${typeof e[i]} rather than the expected type ${r[i]}`);if(e[i]===null||e[i]===void 0)throw new TypeError(`Argument is ${typeof e[i]}`)}}},po=function(e){if(!(e instanceof HTMLFormElement))throw new TypeError("Element must be an HTMLFormElement");let t=e.method?e.method.toUpperCase():void 0;if(t&&t!=="GET"&&t!=="POST")throw new TypeError(`Invalid form method ${t}. Allowed methods are GET & POST`);let n=e.enctype;if(n&&n!=="application/x-www-form-urlencoded"&&n!=="multipart/form-data")throw new TypeError(`Invalid form enctype ${n}. Allowed: 'application/x-www-form-urlencoded' & 'multipart/form-data'`);if(n&&n==="multipart/form-data"&&t!=="POST")throw new TypeError("Invalid method with multipart/form-data. Must be POST");if(!n||n==="application/x-www-form-urlencoded"){let r=e.elements.length;for(let i=0;i<r;i++)if(e.elements[i].nodeName.toUpperCase()==="INPUT"&&e.elements[i].type.toUpperCase()==="FILE")throw new TypeError("Must use enctype = 'multipart/form-data' with input type FILE.")}},Ke=function(e){if(e==null)throw new TypeError(`The parameter object is: ${typeof e}`);Object.keys(e).forEach(n=>{if(!Array.isArray(e[n]))throw new TypeError(`${n} parameter is not an array`);if(!e[n].length)throw new TypeError(`${n} parameter is an empty array`)})},ho=function(e={},t=""){return e.portlets&&Object.keys(e.portlets).includes(t)},mo=function(e={},t={}){Ke(e.parameters);let n=e.portletMode;
2133if(typeof n!="string")throw new TypeError(`Invalid parameters. portletMode is ${typeof n}`);{let i=t.allowedPM;if(!i.includes(n.toLowerCase()))throw new TypeError(`Invalid portletMode=${n} is not in ${i}`)}let r=e.windowState;if(typeof r!="string")throw new TypeError(`Invalid parameters. windowState is ${typeof r}`);{let i=t.allowedWS;if(!i.includes(r.toLowerCase()))throw new TypeError(`Invalid windowState=${r} is not in ${i}`)}};var Ef=window.history&&window.history.pushState,Sf="^portlet[.].*",A=!1,O={},re=[],_,xn=class{constructor(t){this._portletId=t,this.constants={...P},_||(_=global.portlet.data.pageRenderState,this._updateHistory(!0)),this.portletModes=_.portlets[this._portletId].allowedPM.slice(0),this.windowStates=_.portlets[this._portletId].allowedWS.slice(0)}_executeAction(t,n){return new Promise((r,i)=>{Xe(_,"ACTION",this._portletId,t).then(o=>{let s=fo(this._portletId,o,n);b(s.url,s).then(a=>a.text()).then(a=>{let c=this._updatePageStateFromString(a,this._portletId);r(c)}).catch(a=>{i(a)})})})}_hasListener(t){return Object.keys(O).map(r=>O[r].id).includes(t)}_reportError(t,n){Object.keys(O).map(r=>{let i=O[r];return i.id===t&&i.type==="portlet.onError"&&setTimeout(()=>{i.handler("portlet.onError",n)}),!1})}_setPageState(t,n){if(typeof n!="string")throw new TypeError(`Invalid update string: ${n}`);this._updatePageState(n,t).then(r=>{this._updatePortletStates(r)},r=>{A=!1,this._reportError(t,r)})}_setState(t){let n=uo(_,this._portletId,t),r=[];Object.keys(n).forEach(s=>{let a=n[s],c=_.prpMap[s];Object.keys(c).forEach(f=>{if(f!==this._portletId){let d=c[f].split("|"),u=d[0],p=d[1];a===void 0?delete _.portlets[u].state.parameters[p]:_.portlets[u].state.parameters[p]=[...a],r.push(u)}})});let o=this._portletId;return _.portlets[o].state=t,r.push(o),r.forEach(s=>{_.portlets[s].renderData.content=null}),this._updateHistory(),Promise.resolve(r)}_setupAction(t,n){if(this.isInProgress())throw{message:"Operation is already in progress",name:"AccessDeniedException"};if(!this._hasListener(this._portletId))throw{message:`No onStateChange listener registered for portlet: ${this._portletId}`,name:"NotInitializedException"};return A=!0,this._executeAction(t,n).then(r=>this._updatePortletStates(r).then(i=>(A=!1,i)),r=>{A=!1,this._reportError(this._portletId,r)})}_updateHistory(t){Ef&&Xe(_,"RENDER",null,{}).then(n=>{let r=JSON.stringify(_);if(t)history.replaceState(r,"");else try{history.pushState(r,"",n)}catch{}})}_updatePageState(t){return new Promise((n,r)=>{try{let i=this._updatePageStateFromString(t,this._portletId);n(i)}catch(i){r(new Error(`Partial Action decode status: ${i.message}`))}})}_updatePageStateFromString(t,n){let r=lo(_,t),i=[],o=!1;return Object.entries(r).forEach(([a,c])=>{_.portlets[a]=c,i.push(a),o=!0}),o&&n&&this._updateHistory(),i}_updatePortletStates(t){return new Promise(n=>{t.length?t.forEach(r=>{this._updateStateForPortlet(r)}):A=!1,n(t)})}_updateState(t){if(A)throw{message:"Operation in progress",name:"AccessDeniedException"};if(!this._hasListener(this._portletId))throw{message:`No onStateChange listener registered for portlet: ${this._portletId}`,name:"NotInitializedException"};A=!0,this._setState(t).then(n=>{this._updatePortletStates(n)}).catch(n=>{A=!1,this._reportError(this._portletId,n)})}_updateStateForPortlet(t){let n=re.map(i=>i.handle);Object.entries(O).forEach(([i,o])=>{o.type==="portlet.onStateChange"&&o.id===t&&!n.includes(i)&&re.push(o)}),re.length&&setTimeout(()=>{for(A=!0;re.length;){let i=re.shift(),o=i.handler,s=i.id;if(!_.portlets[s])continue;let a=_.portlets[s].renderData,c=new bn(_.portlets[s].state);a&&a.content?o("portlet.onStateChange",c,a):o("portlet.onStateChange",c)}A=!1})}action(...t){let n=null,r=0,i=null;return t.forEach(o=>{if(o instanceof HTMLFormElement){if(i!==null)throw new TypeError(`Too many [object HTMLFormElement] arguments: ${o}, ${i}`);i=o}else if(S(o)){if(Ke(o),n!==null)throw new TypeError("Too many parameters arguments");n=o}else if(o!==void 0){let s=Object.prototype.toString.call(o);throw new TypeError(`Invalid argument type. Argument ${r+1} is of type ${s}`)}r++}),i&&po(i),this._setupAction(n,i).then(o=>{Promise.resolve(o)}).catch(o=>{Promise.reject(o)})}addEventListener(t,n){if(arguments.length>2)throw new TypeError("Too many arguments passed to addEventListener");if(typeof t!="string"||typeof n!="function")throw new TypeError("Invalid arguments passed to addEventListener");let r=this._portletId;if(t.startsWith("portlet.")&&t!=="portlet.onStateChange"&&t!=="portlet.onError")throw new TypeError(`The system event type is invali
2133d: ${t}`);let i=vn(),o={handle:i,handler:n,id:r,type:t};return O[i]=o,t==="portlet.onStateChange"&&this._updateStateForPortlet(this._portletId),i}createResourceUrl(t,n,r){if(arguments.length>3)throw new TypeError("Too many arguments. 3 arguments are allowed.");if(t)if(S(t))Ke(t);else throw new TypeError("Invalid argument type. Resource parameters must be a parameters object.");let i=null;if(n)if(typeof n=="string")if(n==="cacheLevelPage"||n==="cacheLevelPortlet"||n==="cacheLevelFull")i=n;else throw new TypeError(`Invalid cacheability argument: ${n}`);else throw new TypeError("Invalid argument type. Cacheability argument must be a string.");if(i||(i="cacheLevelPage"),r&&typeof r!="string")throw new TypeError("Invalid argument type. Resource ID argument must be a string.");return Xe(_,"RESOURCE",this._portletId,t,i,r)}dispatchClientEvent(t,n){if(Ve(arguments,2,2,["string"]),t.match(new RegExp(Sf)))throw new TypeError("The event type is invalid: "+t);return Object.keys(O).reduce((r,i)=>{let o=O[i];return t.match(o.type)&&(o.handler(t,n),r++),r},0)}isInProgress(){return A}newParameters(t={}){let n={};return Object.keys(t).forEach(r=>{Array.isArray(t[r])&&(n[r]=[...t[r]])}),n}newState(t){return new bn(t)}removeEventListener(t){if(arguments.length>1)throw new TypeError("Too many arguments passed to removeEventListener");if(t==null)throw new TypeError(`The event handle provided is ${typeof t}`);let n=!1;if(S(O[t])&&O[t].id===this._portletId){delete O[t];let r=re.length;for(let i=0;i<r;i++){let o=re[i];o&&o.handle===t&&re.splice(i,1)}n=!0}if(!n)throw new TypeError("The event listener handle doesn't match any listeners.")}setRenderState(t){if(Ve(arguments,1,1,["object"]),_.portlets&&_.portlets[this._portletId]){let n=_.portlets[this._portletId];mo(t,n),this._updateState(t)}}startPartialAction(t){let n=this,r=null;if(arguments.length>1)throw new TypeError("Too many arguments. 1 arguments are allowed");if(t!==void 0)if(S(t))Ke(t),r=t;else throw new TypeError(`Invalid argument type. Argument is of type ${typeof t}`);if(A===!0)throw{message:"Operation in progress",name:"AccessDeniedException"};if(!this._hasListener(this._portletId))throw{message:`No onStateChange listener registered for portlet: ${this._portletId}`,name:"NotInitializedException"};A=!0;let i={setPageState(o){n._setPageState(n._portletId,o)},url:""};return Xe(_,"PARTIAL_ACTION",this._portletId,r).then(o=>(i.url=o,i))}};var go=xn;var wf=function(e){Ve(arguments,1,1,["string"]);let t=global.portlet.data.pageRenderState;return new Promise((n,r)=>{ho(t,e)?n(new go(e)):r(new Error("Invalid portlet ID"))})};var yo=wf;function _o(e,t,n){n={doAsUserId:themeDisplay.getDoAsUserIdEncoded(),plid:themeDisplay.getPlid(),...n};let r=document.querySelector(e);if(r){let i=r.querySelector(".portlet-content-container");if(i){let o=i.classList.contains("d-none");if(o?(i.classList.remove("d-none"),r.classList.remove("portlet-minimized")):(i.classList.add("d-none"),r.classList.add("portlet-minimized")),t){let c=o?'Minimize':'Restore';t.setAttribute("alt",c),t.setAttribute("title",c),t.innerHTML=c;let l=t.querySelector("i");l&&(l.classList.remove("icon-minus","icon-resize-vertical"),o?(l.classList.add("icon-minus"),l.classList.remove("icon-resize-vertical")):(l.classList.add("icon-resize-vertical"),l.classList.remove("icon-minus")))}
2133let s=ke(r.id),a=G({cmd:"minimize",doAsUserId:n.doAsUserId,p_auth:Liferay.authToken,p_l_id:n.plid,p_p_id:s,p_p_restore:o,p_v_l_s_g_id:themeDisplay.getSiteGroupId()});b(themeDisplay.getPathMain()+"/portal/update_layout",{body:a,method:"POST"}).then(c=>{if(c.ok&&o){let l={doAsUserId:n.doAsUserId,p_l_id:n.plid,p_p_boundary:!1,p_p_id:s,p_p_isolated:!0};b(I(themeDisplay.getPathMain()+"/portal/render_portlet",l)).then(f=>f.text()).then(f=>{let d=document.createRange();d.selectNode(r),r.innerHTML="";let u=d.createContextualFragment(f);r.appendChild(u)}).catch(f=>{})}}).catch(c=>{})}}}var Eo={register:yo};var In=class{constructor(){this._disposed=!1}dispose(){this._disposed||(this.disposeInternal(),this._disposed=!0)}disposeInternal(){}isDisposed(){return this._disposed}},Nt=In;var Pn=class extends Nt{constructor(t,n,r){super(),this._emitter=t,this._event=n,this._listener=r}disposeInternal(){this.removeListener(),this._emitter=null,this._listener=null}removeListener(){this._emitter.isDisposed()||this._emitter.removeListener(this._event,this._listener)}},On=Pn;var So=[0],Un=class extends Nt{constructor(){super(),this._events=null,this._listenerHandlers=null,this._shouldUseFacade=!1}_addHandler(t,n){return t?(Array.isArray(t)||(t=[t]),t.push(n)):t=n,t}addListener(t,n,r){this._validateListener(n);let i=this._toEventsArray(t);for(let o=0;o<i.length;o++)this._addSingleListener(i[o],n,r);return new On(this,t,n)}_addSingleListener(t,n,r,i){this._runListenerHandlers(t),(r||i)&&(n={default:r,fn:n,origin:i}),this._events=this._events||{},this._events[t]=this._addHandler(this._events[t],n)}_buildFacade(t){if(this.getShouldUseFacade()){let n={preventDefault(){n.preventedDefault=!0},target:this,type:t};return n}}disposeInternal(){this._events=null}emit(t){let n=this._getRawListeners(t);if(!n.length)return!1;let r=Array.prototype.slice.call(arguments,1);return this._runListeners(n,r,this._buildFacade(t)),!0}_getRawListeners(t){return Dt(this._events&&this._events[t]).concat(Dt(this._events&&this._events["*"]))}getShouldUseFacade(){return this._shouldUseFacade}listeners(t){return this._getRawListeners(t).map(n=>n.fn?n.fn:n)}many(t,n,r){let i=this._toEventsArray(t);for(let o=0;o<i.length;o++)this._many(i[o],n,r);return new On(this,t,r)}_many(t,n,r){let i=this;if(n<=0)return;function o(){--n===0&&i.removeListener(t,o),r.apply(i,arguments)}i._addSingleListener(t,o,!1,r)}_matchesListener(t,n){return(t.fn||t)===n||t.origin&&t.origin===n}off(t,n){if(this._validateListener(n),!this._events)return this;let r=this._toEventsArray(t);for(let i=0;i<r.length;i++)this._events[r[i]]=this._removeMatchingListenerObjs(Dt(this._events[r[i]]),n);return this}on(){return this.addListener.apply(this,arguments)}onListener(t){this._listenerHandlers=this._addHandler(this._listenerHandlers,t)}once(t,n){return this.many(t,1,n)}removeAllListeners(t){if(this._events)if(t){let n=this._toEventsArray(t);for(let r=0;r<n.length;r++)this._events[n[r]]=null}else this._events=null;return this}_removeMatchingListenerObjs(t,n){let r=[];for(let i=0;i<t.length;i++)this._matchesListener(t[i],n)||r.push(t[i]);return r.length?r:null}removeListener(){return this.off.apply(this,arguments)}_runListenerHandlers(t){let n=this._listenerHandlers;if(n){n=Dt(n);for(let r=0;r<n.length;r++)n[r](t)}}_runListeners(t,n,r){r&&n.push(r);let i=[];for(let o=0;o<t.length;o++){let s=t[o].fn||t[o];t[o].default?i.push(s):s.apply(this,n)}if(!r||!r.preventedDefault)for(let o=0;o<i.length;o++)i[o].apply(this,n)}setShouldUseFacade(t){return this._shouldUseFacade=t,this}_toEventsArray(t){return typeof t=="string"&&(So[0]=t,t=So),t}_validateListener(t){if(typeof t!="function")throw new TypeError("Listener must be a function")}};function Dt(e){return e=e||[],Array.isArray(e)?e:[e]}var Rn=Un;function Nn(e,t){let n=null,r;return function(...i){let o=this,s=Date.now(),a=()=>{n=setTimeout(()=>{n=null},t),r=s,e.apply(o,i)};if(n===null)a();else{let c=Math.max(r+t-s,0);clearTimeout(n),n=setTimeout(a,c)}}}var Tf={breakpoint:576,content:".sidenav-content",gutter:"12px",loadingIndicatorTPL:'<div class="loading-animation loading-animation-md"></div>',navigation:".sidenav-menu-slider",position:"left",type:"relative",typeMobile:"relative",url:null,width:"225px"},$t=new WeakMap;function me(e){if(e&&e.jquery){if(e.length>1)throw new Error(`getElement(): Expected at most one element, got ${e.length}`);e=e.get(0)}return e&&!(e instanceof HTMLElement)&&(e=e.element),e}function Dn(e){return e=me(e),$t.get(e)}var Lf=[/^aria-/,/^data-/,/^type$/];function vf(e){if(e=me(e),e.id)return`#${e.id}`;let t=e.parentNode;for(;t&&!t.id;)t=t.parentNode;let n=Array.from(e.attributes).map(({name:r,value:i})=>Lf.some(s=>s.test(r))?`[${r}=${JSON.stringify(i)}
2133]`:null).filter(Boolean).sort();return[t?`#${t.id} `:"",e.tagName.toLowerCase(),...n].join("")}function K(e,t,n=null){let r=new CustomEvent(t,{detail:n});e.dispatchEvent(r)}function U(e,t){C(e,{[t]:!0})}function V(e,t){C(e,{[t]:!1})}function C(e,t){e=me(e),e&&Object.entries(t).forEach(([n,r])=>{n.split(/\s+/).forEach(i=>{r?e.classList.add(i):e.classList.remove(i)})})}function v(e,t){return e=me(e),t.split(/\s+/).every(n=>e.classList.contains(n))}function T(e,t){e=me(e),e&&Object.entries(t).forEach(([n,r])=>{e.style[n]=r})}function D(e){return typeof e=="number"?e+"px":typeof e=="string"&&e.match(/^\s*\d+\s*$/)?e.trim()+"px":e}function Mt(e){let t=e.getBoundingClientRect().left,n=e.ownerDocument.defaultView.pageOffsetX||0;return t+n}var Je={};function Cf(e,t){Object.keys(Je[e]).forEach(n=>{let r=!1,i=t.target;for(;i&&(r=i.matches&&i.matches(n),!r);)i=i.parentNode;r&&Je[e][n].emit("click",t)})}var xe;function bf(){xe||(xe=Nn(()=>{K(document,"screenChange.lexicon.sidenav")},150),window.addEventListener("resize",xe))}function wo(e,t,n){if(e){Je[t]||(Je[t]={},document.addEventListener(t,a=>Cf(t,a)));let r=Je[t],i=typeof e=="string"?e:vf(e);r[i]||(r[i]=new Rn);let s=r[i].on(t,a=>{a.defaultPrevented||n(a)});return{dispose(){s.dispose()}}}return null}function Ye(e){return parseInt(e,10)||0}function M(e,t){e=me(e),this.init(e,t)}M.TRANSITION_DURATION=500;M.prototype={_bindUI(){this._subscribeClickTrigger(),this._subscribeReducedMotion(),this._subscribeClickSidenavClose()},_emit(e){this._emitter.emit(e,this)},_focusNavigation(){let e=document.querySelector(this.options.container);if(!e)return;let t=e.querySelector(this.options.navigation);if(!t){e.focus();return}t.focus()},_focusTrigger(){let e=this.toggler;!e||!document.activeElement.classList.contains("sidenav-close")||e.focus()},_getSidenavWidth(){let t=this.options.widthOriginal,n=t,r=window.innerWidth;return r<t+40&&(n=r-40),n},_getSimpleSidenavType(){let e=this._getType();return this._isDesktop()&&e==="fixed-push"?"desktop-fixed-push":!this._isDesktop()&&e==="fixed-push"?"mobile-fixed-push":"fixed"},_getType(){return this._isDesktop()?this.options.type:this.options.typeMobile},_isDesktop(){return window.innerWidth>=this.options.breakpoint},_isSidenavRight(){let e=this.options,t=document.querySelector(e.container);return t?v(t,"sidenav-right"):void 0},_isSimpleSidenavClosed(){let e=this.options,t=e.openClass,n=document.querySelector(e.container);if(n)return!v(n,t)},_loadUrl(e,t){let n=this,r=e.querySelector(".sidebar-body");if(!n._fetchPromise&&r){for(;r.firstChild;)r.removeChild(r.firstChild);let i=document.createElement("div");U(i,"sidenav-loading"),i.innerHTML=n.options.loadingIndicatorTPL,r.appendChild(i),n._fetchPromise=b(t),n._fetchPromise.then(o=>{if(!o.ok)throw new Error(`Failed to fetch ${t}`);return o.text()}).then(o=>{let s=document.createRange();s.selectNode(r);let a=s.createContextualFragment(o);r.removeChild(i),r.appendChild(a),n.setHeight()}).catch(o=>{console.error(o)})}},_onClosed(){let e=this.options,t=document.querySelector(e.container);t&&(this._handleClosed||(this._handleClosed=()=>{this._getType()==="relative"&&v(t,"open")&&V(t,"sidenav-transition")},document.addEventListener("closed.lexicon.sidenav",this._handleClosed)))},_onClosedStart(){let e=this.options,t=document.querySelector(e.container),n=document.querySelector(e.content);!t||!n||this._handleClosedStart||(this._handleClosedStart=()=>{if(this._getType()==="relative"&&v(t,"open")&&n.closest(".page-maximized")){let i=document.body.scrollWidth-n.getBoundingClientRect().right,o=e.gutter+e.width,s=getComputedStyle(n).maxWidth||getComputedStyle(n).width;/px$/.test(s)&&(i=(document.body.scrollWidth-Ye(s))/2,i>e.width?o="":i>0&&i<e.width&&(o=e.gutter+e.width-i)),this.isReducedMotion()||U(t,"sidenav-transition"),T(n,{"padding-right":D(o)})}},document.addEventListener("closedStart.lexicon.sidenav",this._handleClosedStart))},_onOpen(){let e=this.options,t=document.querySelector(e.container);t&&(this._handleOpen||(this._handleOpen=()=>{this._getType()==="relative"&&v(t,"open")&&V(t,"sidenav-transition")},document.addEventListener("open.lexicon.sidenav",this._handleOpen)))},_onOpenStart(){let e=this.options,t=document.querySelector(e.container),n=document.querySelector(e.content);!t||!n||this._handleOpenStart||(this._handleOpenStart=r=>{if(this._getType()==="relative"&&v(t,"open")&&n.closest(".page-maximized")){let o=document.querySelector(r.detail.options.container+" .sidenav-menu");if(!o)return;let s=o.getBoundingClientRect().width,a=document.body.scrollWidth-n.getBoundingClientRect().right-s/2,c=a>0?e.width+e.gutter-a:e.width+e.gutter;this.isReducedMotion()||U(t,"sidenav-transition"),T(n,{"padding-right":D(c)})}},document.addEventListener("openStart.lexicon.sidenav",this._handleOpenStart))},_onScreenChange(){let e=this.options,t=document.querySelector(e.container),n=document.querySelector(e.content);if(!t||!n)return;let r=this._isDesktop();this._handleOnScreenChange||(this._handleOnScreenChange=()=>{let i=this._getType();i==="relative"&&v(t,"open")&&(this.setHeight(),this.setWidth()),this._isDesktop()!==r&&(i!=="relative"?(U(t,"sidenav-fixed"),n.style.paddingRight="",n.style.minHeight=""):V(t,"sidenav-fixed"),r=this._isDesktop())},document.addEventListener("screenChange.lexicon.sidenav",this._handleOnScreenChange))},_renderNav(){let e=this.options,t=document.querySelector(e.container),n=t.querySelector(e.navigation);if(!t||!n)return;let r=n.querySelector(".sidenav-menu"),i=v(t,"closed"),o=this._isSidenavRight(),s=this._getSidenavWidth();if(i){if(T(r,{width:D(s)}),o){let a=e.rtl?"left":"right";T(r,{[a]:D(s)})}}else this.showSidenav(),this.setHeight()},_renderUI(){let e=this.options,t=document.querySelector(e.container);if(!t)return;let n=this.toggler,r=this._getType();this.useDataAttribute||(bf(),this._onClosedStart(),this._onClosed(),this._onOpenStart(),this._onOpen(),this._onScreenChange(),this._isDesktop()||(C(t,{closed:!0,open:!1}),C(n,{active:!1,open:!1})),e.position==="right"&&U(t,"sidenav-right"),r!=="relative"&&U(t,"sidenav-fixed"),this._renderNav()),T(t,{display:""})},_subscribeClickSidenavClose(){let e=this,n=e.options.container;if(!e._sidenavCloseSubscription){let r=`${n} .sidenav-close`;e._sidenavCloseSubscription=wo(r,"click",function(o){o.preventDefault(),e.toggle(
2133)})}},_subscribeClickTrigger(){let e=this;if(!e._togglerSubscription){let t=e.toggler;e._togglerSubscription=wo(t,"click",function(r){e.toggle(),r.preventDefault()})}},_subscribeReducedMotion(){let e=this;import(themeDisplay.getPathContext()+"/o/frontend-js-web/__liferay__/index.js").then(({isReducedMotion:t})=>{e.isReducedMotion=t})},_subscribeSidenavTransitionEnd(e,t){this.isReducedMotion()?(V(e,"sidenav-transition"),t()):setTimeout(()=>{V(e,"sidenav-transition"),t()},M.TRANSITION_DURATION)},clearHeight(){let e=this.options,t=document.querySelector(e.container);if(t){let n=t.querySelector(e.content),r=t.querySelector(e.navigation),i=t.querySelector(".sidenav-menu");[n,r,i].forEach(o=>{T(o,{height:"","min-height":""})})}},destroy(){let e=this;e._sidenavCloseSubscription&&(e._sidenavCloseSubscription.dispose(),e._sidenavCloseSubscription=null),e._togglerSubscription&&(e._togglerSubscription.dispose(),e._togglerSubscription=null),$t.delete(e.toggler),document.removeEventListener("closedStart.lexicon.sidenav",e._handleClosedStart),document.removeEventListener("closed.lexicon.sidenav",e._handleClosed),document.removeEventListener("openStart.lexicon.sidenav",e._handleOpenStart),document.removeEventListener("open.lexicon.sidenav",e._handleOpen),document.removeEventListener("screenChange.lexicon.sidenav",e._handleOnScreenChange),xe&&(window.removeEventListener("resize",xe),xe=null)},hide(){this.useDataAttribute?this.hideSimpleSidenav():this.toggleNavigation(!1)},hideSidenav(){let e=this,t=e.options,n=document.querySelector(t.container);if(n){let r=n.querySelector(t.content),i=n.querySelector(t.navigation),o=i.querySelector(".sidenav-menu"),s=e._isSidenavRight(),a=t.rtl?"right":"left";s&&(a=t.rtl?"left":"right");let c="padding-"+a;T(r,{[c]:"",[a]:""}),T(i,{width:""}),s&&T(o,{[a]:D(e._getSidenavWidth())}),e._subscribeSidenavTransitionEnd(o,()=>{e._focusTrigger()})}},hideSimpleSidenav(){let e=this,t=e.options;if(!e._isSimpleSidenavClosed()){let r=document.querySelector(t.container),i=document.querySelector(t.content);if(!r||!i)return;let o=t.closedClass,s=t.openClass,a=e.toggler,c=a.dataset.target||a.getAttribute("href");e._emit("closedStart.lexicon.sidenav"),K(document,"closedStart.lexicon.sidenav",e),e._subscribeSidenavTransitionEnd(i,()=>{V(r,"sidenav-transition"),V(a,"sidenav-transition"),e._emit("closed.lexicon.sidenav"),K(document,"closed.lexicon.sidenav",e),e._focusTrigger()});let l=e.isReducedMotion();v(i,s)&&C(i,{[o]:!0,[s]:!1,"sidenav-transition":!l}),l||(U(r,"sidenav-transition"),U(a,"sidenav-transition")),C(r,{[o]:!0,[s]:!1});let f=document.querySelectorAll(`[data-target="${c}"], [href="${c}"]`);Array.from(f).forEach(d=>{C(d,{active:!1,[s]:!1}),C(d,{active:!1,[s]:!1})})}},init(e,t){let n=e.dataset.toggle==="liferay-sidenav";t={...Tf,...t},t.breakpoint=Ye(t.breakpoint),t.container=t.container||e.dataset.target||e.getAttribute("href"),t.gutter=Ye(t.gutter),t.rtl=document.dir==="rtl",t.width=Ye(t.width),t.widthOriginal=t.width,n&&(t.closedClass=e.dataset.closedClass||"closed",t.content=e.dataset.content,t.loadingIndicatorTPL=e.dataset.loadingIndicatorTpl||t.loadingIndicatorTPL,t.openClass=e.dataset.openClass||"open",t.type=e.dataset.type,t.typeMobile=e.dataset.typeMobile,t.url=e.dataset.url,t.width=""),this.toggler=e,this.options=t,this.useDataAttribute=n,this._emitter=new Rn,this._bindUI(),this._renderUI()},on(e,t){return this._emitter.on(e,t)},setHeight(){let e=this.options,t=document.querySelector(e.container);if(!t)return;let n=this._getType();if(n!=="fixed"&&n!=="fixed-push"){let r=t.querySelector(e.content),i=t.querySelector(e.navigation),o=t.querySelector(".sidenav-menu"),s=r.closest(".page-maximized")?window.innerHeight-o.getBoundingClientRect().top:r.getBoundingClientRect().height,a=i.getBoundingClientRect().height,c=D(Math.max(s,a));T(r,{"min-height":c}),T(i,{height:"100%","min-height":c}),T(o,{height:"100%","min-height":c})}},setWidth(){let e=this.options,t=document.querySelector(e.container),n=t.querySelector(e.content),r=t.querySelector(e.navigation);if(!t||!n||!r)return;let i=r.querySelector(".sidenav-menu"),o=this._isSidenavRight(),s=this._getSidenavWidth(),a=s+e.gutter,c=e.url;c&&this._loadUrl(i,c),T(r,{width:D(s)}),T(i,{width:D(s)});let l=e.rtl?"right":"left";o&&(l=e.rtl?"left":"right");let f="padding-"+l,d=this._isDesktop()?f:l,u=this._getType();if(u!=="relative"&&U(t,"sidenav-fixed"),u!=="fixed"){let p=v(t,"open")?Mt(r)-e.gutter:Mt(r)-a,h=Mt(n),E=Ye(getComputedStyle(n).width),m="";
2133e.rtl&&o||!e.rtl&&e.position==="left"?(p=Mt(r)+a,p>h&&(m=p-h)):(e.rtl&&e.position==="left"||!e.rtl&&o)&&p<h+E&&(m=h+E-p,m>=a&&(m=a)),T(n,{[d]:D(m)})}},show(){this.useDataAttribute?this.showSimpleSidenav():this.toggleNavigation(!0)},showSidenav(){let e=this,t=e.options,n=document.querySelector(t.container),r=n.querySelector(t.navigation);if(!n||!r)return;let i=r.querySelector(".sidenav-menu"),o=t.url;o&&e._loadUrl(i,o),e.setWidth(),e._subscribeSidenavTransitionEnd(i,()=>{e._focusNavigation()})},showSimpleSidenav(){let e=this,t=e.options;if(e._isSimpleSidenavClosed()){let r=document.querySelector(t.container),i=document.querySelector(t.content);if(!r||!i)return;let o=t.closedClass,s=t.openClass,a=e.toggler,c=a.dataset.url;c&&e._loadUrl(r,c),e._emit("openStart.lexicon.sidenav"),K(document,"openStart.lexicon.sidenav",e);let l=e.isReducedMotion();C(i,{[o]:!1,[s]:!0,"sidenav-transition":!l}),C(r,{[o]:!1,[s]:!0,"sidenav-transition":!l}),C(a,{active:!0,[s]:!0,"sidenav-transition":!l}),e._subscribeSidenavTransitionEnd(i,()=>{l||(V(r,"sidenav-transition"),V(a,"sidenav-transition")),e._emit("open.lexicon.sidenav"),K(document,"open.lexicon.sidenav",e),this._focusNavigation()})}},toggle(){this.useDataAttribute?this.toggleSimpleSidenav():this.toggleNavigation()},toggleNavigation(e){let t=this,n=t.options,r=t._getType(),i=document.querySelector(n.container),o=i.querySelector(".sidenav-menu");if(!i||!o)return;let s=t.toggler,a=n.width,c=typeof e=="boolean"?e:v(i,"closed"),l=t._isSidenavRight();if(c?(t._emit("openStart.lexicon.sidenav"),K(document,"openStart.lexicon.sidenav",t)):(t._emit("closedStart.lexicon.sidenav"),K(document,"closedStart.lexicon.sidenav",t)),t._subscribeSidenavTransitionEnd(i,()=>{let f=i.querySelector(".sidenav-menu");v(i,"closed")?(t.clearHeight(),C(s,{open:!1,"sidenav-transition":!1}),t._emit("closed.lexicon.sidenav"),K(document,"closed.lexicon.sidenav",t)):(C(s,{open:!0,"sidenav-transition":!1}),t._emit("open.lexicon.sidenav"),K(document,"open.lexicon.sidenav",t)),t._isDesktop()||f.focus()}),c){r==="relative"&&t.setHeight(),T(o,{width:D(a)});let f=n.rtl?"left":"right";l&&T(o,{[f]:""})}t.isReducedMotion()||(U(i,"sidenav-transition"),U(s,"sidenav-transition")),c?t.showSidenav():t.hideSidenav(),C(i,{closed:!c,open:c}),C(s,{active:c,open:c})},toggleSimpleSidenav(){this._isSimpleSidenavClosed()?this.showSimpleSidenav():this.hideSimpleSidenav()},visible(){let e;if(this.useDataAttribute)e=this._isSimpleSidenavClosed();else{let t=document.querySelector(this.options.container);if(!t)return;e=v(t,"sidenav-transition")?!v(t,"closed"):v(t,"closed")}return!e}};M.destroy=function(t){let n=Dn(t);n&&n.destroy()};M.hide=function(t){let n=Dn(t);n&&n.hide()};M.initialize=function(t,n={}){t=me(t);let r=$t.get(t);return r||(r=new M(t,n),$t.set(t,r)),r};M.instance=Dn;function To(){let e=document.querySelectorAll('[data-toggle="liferay-sidenav"]');Array.from(e).forEach(M.initialize)}document.readyState!=="loading"?To():document.addEventListener("DOMContentLoaded",()=>{To()});var Lo=M;var vo={BAD_REQUEST:400,INTERNAL_SERVER_ERROR:500,OK:200,SC_DUPLICATE_FILE_EXCEPTION:490,SC_FILE_ANTIVIRUS_EXCEPTION:494,SC_FILE_CUSTOM_EXCEPTION:499,SC_FILE_EXTENSION_EXCEPTION:491,SC_FILE_MIME_TYPE_EXCEPTION:496,SC_FILE_NAME_EXCEPTION:492,SC_FILE_SIZE_EXCEPTION:493,SC_UPLOAD_REQUEST_SIZE_EXCEPTION:495};function Mn(e,t){if(!e||typeof e!="object"&&typeof e!="string")throw new TypeError("Parameter params must be an object or string");if(typeof t!="string")throw new TypeError("Parameter baseUrl must be a string");let n=t.startsWith("/")?new URL(t,location.href):new URL(t);return typeof e=="object"?Object.entries(e).forEach(([r,i])=>{n.searchParams.append(r,i)}):new URLSearchParams(e.trim()).forEach((i,o)=>{i?n.searchParams.append(o,i):n.searchParams.append(o,"")}),n.toString()}function $n(e){if(typeof e!="function")throw new TypeError("Parameter callback must be a function");Liferay.Service("/country/get-company-countries",{active:!0,companyId:Liferay.ThemeDisplay.getCompanyId()},e)}function Hn(e,t){if(typeof e!="function")throw new TypeError("Parameter callback must be a function");if(typeof t!="string")throw new TypeError("Parameter selectKey must be a string");Liferay.Service("/region/get-regions",{active:!0,countryId:parseInt(t,10)},e)}var Ie={FUNCTIONAL:"CONSENT_TYPE_FUNCTIONAL",NECESSARY:"CONSENT_TYPE_NECESSARY",PERFORMANCE:"CONSENT_TYPE_PERFORMANCE",PERSONALIZATION:"CONSENT_TYPE_PERSONALIZATION"};function ge(e){return e===Ie.NECESSARY||jn(e,Ie.NECESSARY)!=="false"}var Co=(e,t,n={})=>{let r=`${e}=${t}`;n.path||(r+="; path=/"),!n.expires&&!("max-age"in n)&&(r+=`; max-age=${365*24*60*60}`);for(let[i,o]of Object.entries(n))o!==!1&&(o===!0?r+=`; ${i}`:r+=`; ${i}=${o}`);return r};function jn(e,t){if(ge(t))return document.cookie.split("; ").find(n=>n.startsWith(`${e}=`))?.split("=")[1]}function Af(e){document.cookie=Co(e,"",{"max-age":0})}function xf(e,t,n,r){return ge(n)?(document.cookie=Co(e,t,r),!0):!1}var bo={TYPES:Ie,get:jn,remove:Af,set:xf};function Ze(e){return e._node||e._nodes?e.nodeType?e:e._node||null:e}function ie(e){let t=Ze(e);return typeof t=="string"?document.querySelector(t):t.jquery?t[0]:t}function Pe(e,t,n){let r=!1;if(e=ie(e),e){n||(n=e.getBoundingClientRect(),n={left:n.left+window.scrollX,top:n.top+window.scrollY},n.bottom=n.top+e.offsetHeight,n.right=n.left+e.offsetWidth),t||(t=window),t=ie(t);let i={};
2133if(i.left=t.scrollX,i.right=i.left+t.innerWidth,i.top=t.scrollY,i.bottom=i.top+t.innerHeight,r=n.bottom<=i.bottom&&n.left>=i.left&&n.right<=i.right&&n.top>=i.top,r){let o=t.frameElement;if(o){let s=o.getBoundingClientRect();s={left:s.left+window.scrollX,top:s.top+window.scrollY};let a=s.left-i.left;n.left+=a,n.right+=a;let c=s.top-i.top;n.top+=c,n.bottom+=c,r=Pe(e,t.parent,n)}}}return r}function If(e){let t=[];for(;e.parentElement;)e.parentElement.getAttribute("disabled")&&t.push(e.parentElement),e=e.parentElement;return t}function Fn(e){if(e=ie(e),Pe(e)){let t=If(e),n=!e.getAttribute("disabled")&&e.offsetWidth>0&&e.offsetHeight>0&&!t.length,r=e.closest("form");if(!r||n)e.focus();else if(r){let o=r.dataset.fmNamespace+"formReady",s=a=>{let c=r.getAttribute("name"),l=a.formName;c===l&&(e.focus(),Liferay.detach(o,s))};Liferay.on(o,s)}}}function Qe(e,t){let n=null;if(e!==void 0&&e.nodeName==="FORM"&&typeof t=="string"){let r=e.dataset.fmNamespace||"";n=e.elements[r+t]||null}return n}function et(e,t){if(e===void 0||e.nodeName!=="FORM"||!S(t))return;Object.entries(t).forEach(([r,i])=>{let o=Qe(e,r);o&&(o.value=i)})}function Bn(e,t){if(typeof e=="string"&&(e=document.querySelector(e)),e&&e.nodeName==="FORM")if(e.setAttribute("method","post"),S(t)){let{data:n,url:r}=t;if(S(n))et(e,n);else return;r===void 0?submitForm(e):typeof r=="string"&&submitForm(e,r)}else submitForm(e)}var Pf={addSpaceBeforeSuffix:!1,decimalSeparator:".",denominator:1024,suffixGB:"GB",suffixKB:"KB",suffixMB:"MB"};function qn(e,t={}){let{addSpaceBeforeSuffix:n,decimalSeparator:r,denominator:i,suffixGB:o,suffixKB:s,suffixMB:a}={...Pf,...t};if(typeof e!="number")throw new TypeError("Parameter size must be a number");let c=0,l=s;e/=i,e>=i&&(l=a,e/=i,c=1),e>=i&&(l=o,e/=i,c=1);let f=e.toFixed(c);return r!=="."&&(f=f.replace(/\./,r)),f+(n?" ":"")+l}var Of=`\r 2134`,Ao=/<!\[CDATA\[.*?\]\]>/gs,xo=/-->|\]>/,Uf=/<!/,Rf=/<\?/,Nf=/!DOCTYPE/,Df=/^<\w/,Mf=/^<\/\w/,$f=/^<[\w:\-.,]+/,Hf=/^<\/[\w:\-.,]+/,Io=/<\w/,jf=/xmlns(?::|=)/g,Ff=/\s*(xmlns)(:|=)/g,Wn=/<\//,Bf=/</g,Po=/\/>/,qf=/>\s+</g,Wf="",tt="~::~",Oo="<"+tt+"CDATA"+tt+">",Gf=new RegExp(Oo,"g"),kf=" ",zf={newLine:Of,tagIndent:kf};function Gn(e,t={}){let{newLine:n,tagIndent:r}={...zf,...t};if(typeof e!="string")throw new TypeError("Parameter content must be a string");let i=[];e=e.trim(),e=e.replace(Ao,f=>(i.push(f),Oo)),e=e.replace(qf,"><"),e=e.replace(Bf,tt+"<"),e=e.replace(Ff,tt+"$1$2"),e=e.replace(Gf,()=>i.shift());let o=0,s=!1,a=e.split(tt),c=0,l="";return a.forEach((f,d)=>{Ao.test(f)?l+=oe(c,n,r)+f:Uf.test(f)?(l+=oe(c,n,r)+f,o++,s=!0,(xo.test(f)||Nf.test(f))&&(o--,s=o!==0)):xo.test(f)?(l+=f,o--,s=o!==0):Df.exec(a[d-1])&&Mf.exec(f)&&$f.exec(a[d-1]).toString()===Hf.exec(f)[0].replace("/",Wf).toString()?(l+=f,s||--c):Io.test(f)&&!Wn.test(f)&&!Po.test(f)?s?l+=f:l+=oe(c++,n,r)+f:Io.test(f)&&Wn.test(f)?s?l+=f:l+=oe(c,n,r)+f:Wn.test(f)?s?l+=f:l+=oe(--c,n,r)+f:Po.test(f)?s?l+=f:l+=oe(c,n,r)+f:Rf.test(f)||jf?l+=oe(c,n,r)+f:l+=f,new RegExp("^"+n).test(l)&&(l=l.slice(n.length))}),l}function oe(e,t,n){return t+new Array(e+1).join(n)}function Uo(e,t,n,r){typeof e=="string"?e=document.querySelector(e):e=e._node||e;let i="input[type=checkbox]";n&&(i+=`[name=${n}]`);let o=Array.from(e.querySelectorAll(i));return o.length?o.reduce((s,a)=>{let{checked:c,disabled:l,name:f,value:d}=a;return d&&f!==t&&c===r&&!l&&s.push(d),s},[]).join():""}function Ro(e,t,n){return Uo(e,t,n,!0)}function No(e,t,n){return Uo(e,t,n,!1)}function kn(e,t){if(!S(e)||S(e)&&e.tagName!=="IMG")throw new TypeError("Parameter imagePreview must be an image");if(!S(t))throw new TypeError("Parameter region must be an object");let n=e.naturalWidth/e.offsetWidth,r=e.naturalHeight/e.offsetHeight,i=t.height?t.height*r:e.naturalHeight,o=t.width?t.width*n:e.naturalWidth,s=t.x?Math.max(t.x*n,0):0,a=t.y?Math.max(t.y*r,0):0;return{height:i,width:o,x:s,y:a}}function zn(e,t,n){e&&navigator.geolocation?navigator.geolocation.getCurrentPosition(r=>{e(r.coords.latitude,r.coords.longitude,r)},t,n):t&&t()}function nt(e,t=""){if(!e)throw new TypeError("Parameter icon must be provided");function n(o,s){return`<svg 2135 aria-hidden="true" 2136 class="lexicon-icon lexicon-icon-${o} ${s}" 2137 focusable="false" 2138 role="presentation" 2139 > 2140 <use href="${Liferay.Icons.spritemap}#${o}" /> 2141 </svg>`}let r=n(e,t),i=document.createElement("div");return i.innerHTML=r,i.firstChild}function Xn(e,t=""){return`<svg aria-hidden="true" class="lexicon-icon lexicon-icon-${e} ${t}" focusable="false" role="presentation"><use href="${Liferay.Icons.spritemap}#${e}" /></svg>`}var Do;function Vn(){let e=Do;if(!e){let t=z().Liferay.Util,n=window.name,r=t.Window.getById(n);r&&(e=r._opener,Do=e)}return e||window.opener||window.parent}function Kn(e,t=","){return Array.from(e.getElementsByTagName("option")).reduce((r,i)=>{let{value:o}=i;return o&&r.push(o),r},[]).join(t)}function Yn(e){if(!themeDisplay.isAddSessionIdToURL())return e;let t=e.indexOf(";");if(t>-1)return e;let n=`;jsessionid=${themeDisplay.getSessionId()}`;if(t=e.indexOf("?"),t>-1)return`${e.substring(0,t)}${n}${e.substring(t)}`;if(t=e.indexOf("//"),t>-1){let r=e.lastIndexOf("/");if(t+1===r)return`${e}/${n}`}return`${e}${n}`}function Jn(e=window.name){return z().Liferay.Util.Window.getById(e)}function Zn(){return window.innerWidth<be.PHONE}function Qn(){return window.innerWidth<be.TABLET}var ye=class{constructor(t){rt(this,"TYPES",Ie);this.storage=t}clear(){return this.storage.clear()}getItem(t,n){return ge(n)?this.storage.getItem(t):null}key(t,n){return ge(n)?this.storage.key(t):null}removeItem(t){return this.storage.removeItem(t)}setItem(t,n,r){return ge(r)?(this.storage.setItem(t,n),!0):!1}get length(){return this.storage.length}};var Mo=new ye(localStorage);function $o(e,t){let n=e;e?.constructor?.name==="URL"&&(n=String(e)),Liferay.SPA?.app?.canNavigate(n)?(Liferay.SPA.app.navigate(n),t&&Object.keys(t).forEach(r=>{Liferay.once(r,t[r])})):Xf(n)&&(window.location.href=n)}function Xf(e){let t;try{e.startsWith("/")?t=new URL(e,window.location.origin):t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}function er(e){if(typeof e!="string")throw new TypeError("parameter text must be a string");return e.replace(/[^a-z0-9_-]/gi,"-").replace(/^-+/,"").replace(/--+/,"-").toLowerCase()}var Ho=We((e,t)=>(typeof t<"u"&&t.lastIndexOf(e,0)!==0&&(t=`${e}${t}`),t));function tr(e,t){let n;return typeof t!="object"?n=Ho(e,t):(n={},Object.keys(t).forEach(i=>
2141{let o=i;i=Ho(e,i),n[i]=t[o]})),n}function nr(e){if(!S(e))throw new TypeError("Parameter obj must be an object");let t=new URLSearchParams;return Object.entries(e).forEach(([n,r])=>{if(Array.isArray(r))for(let i=0;i<r.length;i++)t.append(n,r[i]);else t.append(n,r)}),t}var jo=new Map;function Fo(e){return jo.get(e)}function Bo(e,t){jo.set(e,t)}function rr(e,t={}){return I(e,{...t,p_p_lifecycle:"1"})}function ir(e,t={}){return I(e,{...t,p_p_lifecycle:"0"})}function or(e,t={}){return I(e,{...t,p_p_lifecycle:"2"})}function sr(e,t,n,r){let i=document.getElementById(`${r}${e}`);i&&(i.value=0);let o=document.getElementById(`${r}${t}`);o&&(o.value=""),k(n,!0),Liferay.fire("entitySelectionRemoved")}function Vf(e,t,n){let{text:r,type:i}=e,o=document.createElement("script");Liferay.CSP.nonce&&o.setAttribute("nonce",Liferay.CSP.nonce),o.text=r,o.type=i,n?n(o):document.head.appendChild(o),o.remove(),t()}function Kf(e,t,n){let{src:r,type:i}=e,o=document.createElement("script");Liferay.CSP.nonce&&o.setAttribute("nonce",Liferay.CSP.nonce),o.src=r,o.type=i;let s=function(){o.remove(),t()};o.addEventListener("load",s,{once:!0}),o.addEventListener("error",s,{once:!0}),n?n(o):document.head.appendChild(o)}function qo(e,t,n,r){let i=e[t],o=()=>{t<e.length-1?qo(e,t+1,n,r):n&&setTimeout(n)};if(i)i.type&&i.type!=="text/javascript"&&i.type!=="module"&&i.type!=="module-shim"?o():(i.remove(),i.src?Kf(i,o,r):Vf(i,o,r));else return}function Wo(e,t,n){let r=e.querySelectorAll("script");if(!r.length&&t){setTimeout(t);return}qo(r,0,t,n)}function ar(e,t){let n=document.getElementById(`${t}${e.idString}`);n&&(n.value=e.idValue);let r=document.getElementById(`${t}${e.nameString}`);r&&(r.value=Liferay.Util.unescape(e.nameValue));let i=document.getElementById(`${t}removeFolderButton`);i&&k(i,!1)}var cr="serialize://";function Go(e){let t=Liferay.ThemeDisplay.getDoAsUserIdEncoded(),n=new FormData;return n.append("cmd",e),n.append("p_auth",Liferay.authToken),t&&n.append("doAsUserId",t),n}function ko(){return`${Liferay.ThemeDisplay.getPortalURL()}${Liferay.ThemeDisplay.getPathMain()}/portal/session_click`}function zo(e,t={}){let n=Go("get");return n.append("key",e),t.useHttpSession&&n.append("useHttpSession",!0),b(ko(),{body:n,method:"POST"}).then(r=>r.text()).then(r=>{if(r.startsWith(cr)){let i=r.substring(cr.length);r=JSON.parse(i)}return r})}function Ht(e,t,n={}){let r=Go("set");return t&&typeof t=="object"&&(t=cr+JSON.stringify(t)),r.append(e,t),n.useHttpSession&&r.append("useHttpSession",!0),b(ko(),{body:r,method:"POST"})}var Xo=new ye(sessionStorage);function lr(e,t){let n=document.getElementById(t);n&&(n.style.display="none",e.getModifierState("CapsLock")&&(n.style.display=""))}var Yf=/({\d+})/g;function fr(e,...t){let n=t.reduce((i,o)=>Array.isArray(o)?[...i,...o]:[...i,o],[]),r=e.split(Yf).filter(i=>i.length!==0);for(let i=0;i<n.length;i++){let o=n[i],s=`{${i}}`,a=r.indexOf(s);for(;a>=0;)r.splice(a,1,o),a=r.indexOf(s)}return r.some(i=>i&&typeof i=="object")?r:r.join("")}function ur(e,t,n,r){let i=document.getElementById(e),o=document.getElementById(t);if(i&&o){let s=i.checked;n&&(s=!s),s?o.classList.remove("hide"):o.classList.add("hide"),i.addEventListener("click",()=>{o.classList.toggle("hide"),r&&o.querySelectorAll("input[type=checkbox]").forEach(c=>{c.checked=i.checked})})}}var Vo={false:{cssClass:"controls-hidden",iconCssClass:"hidden",state:"hidden"},true:{cssClass:"controls-visible",iconCssClass:"view",state:"visible"}};function dr(e){let t=document.body;e=e._node||t;let n=e.querySelector(".toggle-controls");if(!n)return;let r=Liferay._editControlsState==="visible",i=Vo[r],o=n.querySelector(".lexicon-icon");o&&(i.icon=o),t.classList.add(i.cssClass),Liferay.fire("toggleControls",{enabled:r}),n.addEventListener("click",()=>{r=!r;let s=i;i=Vo[r],t.classList.toggle(s.cssClass),t.classList.toggle(i.cssClass);let a=i.iconCssClass,c=i.state,l=nt(a);i.icon=l,o.replaceWith(l),o=l,Liferay._editControlsState=c,Ht("com.liferay.frontend.js.web_toggleControls",c),Liferay.fire("toggleControls",{enabled:r,src:"ui"})})}function pr(e,t,n){let r=document.getElementById(e);if(r){let i;t&&(Array.isArray(t)&&(t=t.join(",#")),i=document.querySelectorAll(`#${t}
2141`),i.forEach(o=>{r.checked?o.classList.remove("hide"):o.classList.add("hide")})),r.addEventListener("change",()=>{i&&i.forEach(o=>{o.classList.remove("hide")}),n&&(Array.isArray(n)&&(n=n.join(",#")),document.querySelectorAll(`#${n}`).forEach(s=>{s.classList.add("hide")}))})}}var Ko=(e,t,n,r)=>{let i=e.value,o=n?r(i,r):r===i;t.classList.toggle("hide",!o)};function hr(e,t,n){let r=document.getElementById(e),i=document.getElementById(n);if(!r||!i)return;let o=typeof t=="function";Ko(r,i,o,t),r.addEventListener("change",()=>Ko(r,i,o,t))}var Yo={ALERT:430,DOCK:10,DOCK_PARENT:20,DRAG_ITEM:460,DROP_AREA:440,DROP_POSITION:450,MENU:5e3,OVERLAY:1e3,POPOVER:1600,TOOLTIP:1e4,WINDOW:1200};var se=Liferay.ThemeDisplay.getPathContext();Liferay=window.Liferay||{};Liferay.BREAKPOINTS=be;Liferay.STATUS_CODE=vo;Liferay.zIndex=Yo;Liferay.component=Bi;Liferay.componentReady=En;Liferay.destroyComponent=Sn;Liferay.destroyComponents=qi;Liferay.destroyUnfulfilledPromises=Wi;Liferay.getComponentCache=Gi;Liferay.initComponentCache=ki;Liferay.Address={getCountries:$n,getRegions:Hn};Liferay.DynamicSelect=qe;Liferay.LayoutExporter={all:Vi,details:Qi,icons:Ki(),proposeLayout:Yi,publishToLive:Ji,selected:Zi};Liferay.Portal={Tabs:{show:to},ToolTip:{show:no}};Liferay.Portlet=Liferay.Portlet||{};Liferay.Portlet.minimize=_o;Liferay.Portlet.openModal=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openPortletModal:t})=>t(...e))};Liferay.Portlet.openWindow=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openPortletWindow:t})=>t(...e))};Liferay.SideNavigation=Lo;Liferay.Util=Liferay.Util||{};Liferay.Util.MAP_HTML_CHARS_ESCAPED=Be;Liferay.Util.addParams=Mn;Liferay.Util.openAlertModal=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openAlertModal:t})=>t(...e))};Liferay.Util.openSimpleInputModal=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openSimpleInputModal:t})=>t(...e))};Liferay.Util.AutoSize=$i;Liferay.Util.debounce=zi;Liferay.Util.delegate=Pt;Liferay.Util.DynamicInlineScroll=Ri;Liferay.Util.checkAllBox=(...e)=>{import("frontend-js-web/legacy/index").then(({checkAllBox:t})=>{t(...e)}).catch(()=>{})};Liferay.Util.runScriptsInElement=Wo;Liferay.Util.disableEsc=()=>{document.all&&window.event.keyCode===27&&(window.event.returnValue=!1)};var Jf={'"':""","&":"&","'":"'","<":"<",">":">"},Qo=/[&<>"']/g,Zf=RegExp(Qo.source);Liferay.Util.escape=e=>e&&Zf.test(e)?e.replace(Qo,t=>Jf[t]):e||"";Liferay.Util.escapeHTML=pe;Liferay.Util.fetch=b;Liferay.Util.focusFormField=Fn;Liferay.Util.formatStorage=qn;Liferay.Util.formatXML=Gn;Liferay.Util.getCheckedCheckboxes=Ro;Liferay.Util.getUncheckedCheckboxes=No;Liferay.Util.getCropRegion=kn;Liferay.Util.getDOM=Ze;Liferay.Util.getElement=ie;Liferay.Util.getGeolocation=zn;Liferay.Util.getFormElement=Qe;Liferay.Util.getLexiconIcon=nt;Liferay.Util.getLexiconIconTpl=Xn;Liferay.Util.getOpener=Vn;Liferay.Util.getPortletConfigurationIconAction=Fo;Liferay.Util.getPortletId=ke;Liferay.Util.getPortletNamespace=ze;Liferay.Util.getSelectedOptionValues=Kn;Liferay.Util.getTop=z;Liferay.Util.getURLWithSessionId=Yn;Liferay.Util.getWindow=Jn;Liferay.Util.groupBy=Jo.default;Liferay.Util.inBrowserView=Pe;Liferay.Util.isEqual=Zo.default;Liferay.Util.isPhone=Zn;Liferay.Util.isTablet=Qn;Liferay.Util.loadClientExtensions=Fe;Liferay.Util.loadEditorClientExtensions=hn;Liferay.Util.navigate=$o;Liferay.Util.ns=tr;Liferay.Util.objectToFormData=G;Liferay.Util.objectToURLSearchParams=nr;Liferay.Util.normalizeFriendlyURL=er;Liferay.Util.PortletURL={createActionURL:rr,createPortletURL:I,createRenderURL:ir,createResourceURL:or};Liferay.Util.postForm=Bn;Liferay.Util.setFormValues=et;Liferay.Util.toCharCode=Ge;Liferay.Util.toggleDisabled=k;Liferay.Util.openConfirmModal=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openConfirmModal:t})=>t(...e))};Liferay.Util.openModal=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openModal:t})=>t(...e))};Liferay.Util.openSelectionModal=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openSelectionModal:t})=>t(...e))};Liferay.Util.openToast=(...e)=>{import(se+"/o/frontend-js-web/__liferay__/index.js").then(({openToast:t})=>t(...e))};Liferay.Util.openWindow=Ae;Liferay.Util.removeEntitySelection=sr;
2141Liferay.Util.selectFolder=ar;Liferay.Util.setPortletConfigurationIconAction=Bo;Liferay.Util.showCapsLock=lr;Liferay.Util.sub=fr;Liferay.Util.Session={get:zo,set:Ht};Liferay.Util.toggleBoxes=ur;Liferay.Util.toggleControls=dr;Liferay.Util.toggleRadio=pr;Liferay.Util.toggleSelectBox=hr;var Qf={"'":"'","&":"&",">":">","<":"<",""":'"'},es=/&(?:amp|lt|gt|quot|#(0+)?39);/g,eu=RegExp(es.source);Liferay.Util.unescape=e=>e&&eu.test(e)?e.replace(es,t=>Qf[t]||"'"):e||"";Liferay.Util.unescapeHTML=Ni;Liferay.Util.Cookie=bo;Liferay.Util.LocalStorage=Mo;Liferay.Util.SessionStorage=Xo;window.portlet=Eo;})(); 2142 2143 2144/** 2145 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 2146 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 2147 */ 2148 2149/* eslint-disable @liferay/aui/no-node */ 2150 2151/* eslint-disable @liferay/aui/no-one */ 2152 2153(function (A) { 2154 const Lang = A.Lang; 2155 2156 const Util = Liferay.Util; 2157 2158 const STR_HEAD = 'head'; 2159 2160 const TPL_NOT_AJAXABLE = '<div class="alert alert-info">{0}</div>'; 2161 2162 const Portlet = { 2163 ...Liferay.Portlet, 2164 2165 _defCloseFn(event) { 2166 event.portlet.remove(true); 2167 2168 if (!event.nestedPortlet) { 2169 const formData = Liferay.Util.objectToFormData({ 2170 cmd: 'delete', 2171 doAsUserId: event.doAsUserId, 2172 p_auth: Liferay.authToken, 2173 p_l_id: event.plid, 2174 p_p_id: event.portletId, 2175 p_v_l_s_g_id: themeDisplay.getSiteGroupId(), 2176 }); 2177 2178 Liferay.Util.fetch( 2179 themeDisplay.getPathMain() + '/portal/update_layout', 2180 { 2181 body: formData, 2182 method: 'POST', 2183 } 2184 ).then((response) => { 2185 if (response.ok) { 2186 Liferay.fire('updatedLayout'); 2187 } 2188 }); 2189 } 2190 }, 2191 2192 _loadMarkupHeadElements(response) { 2193 const markupHeadElements = response.markupHeadElements; 2194 2195 if (markupHeadElements && markupHeadElements.length) { 2196 const head = A.one(STR_HEAD); 2197 2198 head.append(markupHeadElements); 2199 2200 const container = A.Node.create('<div />'); 2201 2202 container.plug(A.Plugin.ParseContent); 2203 2204 container.setContent(markupHeadElements); 2205 } 2206 }, 2207 2208 _loadModules(moduleJavascriptPaths) { 2209 return Promise.all( 2210 moduleJavascriptPaths.map( 2211 (path) => 2212 new Promise((resolve) => { 2213 const script = document.createElement('script'); 2214 2215 script.src = path; 2216 script.type = 'module'; 2217 2218 script.onload = script.onreadystatechange = () => { 2219 if ( 2220 this.readyState && 2221 this.readyState !== 'complete' && 2222 this.readyState !== 'load' 2223 ) { 2224 return; 2225 } 2226 2227 script.onload = script.onreadystatechange = 2228 null; 2229 script.onerror = null; 2230 2231 resolve(); 2232 }; 2233 2234 script.onerror = () => { 2235 script.onload = script.onreadystatechange = 2236 null; 2237 script.onerror = null; 2238 2239 console.error('Unable to load', path); 2240 2241 resolve(); 2242 }; 2243 2244 document.head.appendChild(script); 2245 }) 2246 ) 2247 ); 2248 }, 2249 2250 _loadPortletFiles(response, loadHTML) { 2251 const footerCssPaths = response.footerCssPaths || []; 2252 const headerCssPaths = response.headerCssPaths || []; 2253 2254 const head = A.one(STR_HEAD); 2255 2256 if (headerCssPaths.length) { 2257 A.Get.css(headerCssPaths, { 2258 insertBefore: head.get('firstChild').getDOM(), 2259 }); 2260 } 2261 2262 const lastChild = document.body.lastChild; 2263 2264 if (footerCssPaths.length) { 2265 A.Get.css(footerCssPaths, { 2266 insertBefore: lastChild, 2267 }); 2268 } 2269 2270 const responseHTML = response.portletHTML; 2271 2272 let javascriptPaths = response.headerJavaScriptPaths || []; 2273 2274 javascriptPaths = javascriptPaths.concat( 2275 response.footerJavaScriptPaths || [] 2276 ); 2277 2278 if (javascriptPaths.length) { 2279 const moduleJavascriptPaths = javascriptPaths 2280 .filter((path) => path.startsWith('module:')) 2281 .map((path) => path.substring(7)); 2282 2283 javascriptPaths = javascriptPaths.filter( 2284 (path) => !path.startsWith('module:') 2285 ); 2286 2287 Portlet._loadModules(moduleJavascriptPaths).then(() => { 2288 A.Get.script(javascriptPaths, { 2289 onEnd() { 2290 loadHTML(responseHTML); 2291 }, 2292 }); 2293 }); 2294 } 2295 else { 2296 loadHTML(responseHTML); 2297 } 2298 }, 2299 2300 _mergeOptions(portlet, options) { 2301 options = options || {}; 2302 2303 options.doAsUserId = 2304 options.doAsUserId || themeDisplay.getDoAsUserIdEncoded(); 2305 options.plid = options.plid || themeDisplay.getPlid(); 2306 options.portlet = portlet; 2307 options.portletId = portlet.portletId; 2308 2309 return options; 2310 }, 2311 2312 _staticPortlets: {}, 2313 2314 destroyComponents(portletId) { 2315 Liferay.destroyComponents((_component, componentConfig) => { 2316 return portletId === componentConfig.portletId; 2317 }); 2318 }, 2319 2320 isStatic(portletId) { 2321 const instance = this; 2322 2323 const id = Util.getPortletId(portletId.id || portletId); 2324 2325 return id in instance._staticPortlets; 2326 }, 2327 2328 list: [], 2329 2330 readyCounter: 0, 2331 2332 refreshLayout(_portletBoundary) {}, 2333 2334 register(portletId) { 2335 const instance = this; 2336 2337 if (instance.list.indexOf(portletId) < 0) { 2338 instance.list.push(portletId); 2339 } 2340 }, 2341 }; 2342 2343 Liferay.provide( 2344 Portlet, 2345 'add', 2346 function (options) { 2347 const instance = this; 2348 2349 Liferay.fire('initLayout'); 2350 2351 const doAsUserId = 2352 options.doAsUserId || themeDisplay.getDoAsUserIdEncoded(); 2353 const plid = options.plid || themeDisplay.getPlid(); 2354 const portletData = options.portletData; 2355 const portletId = options.portletId; 2356 const portletItemId = options.portletItemId; 2357 2358 let placeHolder = options.placeHolder; 2359 2360 if (!placeHolder) { 2361 placeHolder = A.Node.create( 2362 '<div class="loading-animation" />' 2363 ); 2364 } 2365 else { 2366 placeHolder = A.one(placeHolder); 2367 } 2368 2369 const beforePortletLoaded = options.beforePortletLoaded; 2370 const onCompleteFn = options.onComplete; 2371 2372 const onComplete = function (portlet, portletId) { 2373 if (onCompleteFn) { 2374 onCompleteFn(portlet, portletId); 2375 } 2376 2377 instance.list.push(portlet.portletId); 2378 2379 if (portlet) { 2380 portlet.attr('data-qa-id', 'app-loaded'); 2381 } 2382 2383 Liferay.fire('addPortlet', { 2384 portlet, 2385 }); 2386 }; 2387 2388 let container = null; 2389 2390 if (Liferay.Layout && Liferay.Layout.INITIALIZED) { 2391 container = Liferay.Layout.getActiveDropContainer(); 2392 } 2393 2394 if (!container) { 2395 return; 2396 } 2397 2398 const containerId = container.attr('id'); 2399 2400 let currentColumnId = containerId.replace(/layout-column_/, ''); 2401 2402 let portletPosition = 0; 2403 2404 if (options.placeHolder) { 2405 const column = placeHolder.get('parentNode'); 2406 2407 if (!column) { 2408 return; 2409 } 2410 2411 placeHolder.addClass('portlet-boundary'); 2412 2413 const columnPortlets = column.all('.portlet-boundary'); 2414 const nestedPortlets = column.all('.portlet-nested-portlets'); 2415 2416 portletPosition = columnPortlets.indexOf(placeHolder); 2417 2418 let nestedPortletOffset = 0; 2419
2420 nestedPortlets.some((nestedPortlet) => { 2421 const nestedPortletIndex = 2422 columnPortlets.indexOf(nestedPortlet); 2423 2424 if ( 2425 nestedPortletIndex !== -1 && 2426 nestedPortletIndex < portletPosition 2427 ) { 2428 nestedPortletOffset += nestedPortlet 2429 .all('.portlet-boundary') 2430 .size(); 2431 } 2432 else if (nestedPortletIndex >= portletPosition) { 2433 return true; 2434 } 2435 }); 2436 2437 portletPosition -= nestedPortletOffset; 2438 2439 currentColumnId = Util.getColumnId(column.attr('id')); 2440 } 2441 2442 const url = themeDisplay.getPathMain() + '/portal/update_layout'; 2443 2444 const data = { 2445 cmd: 'add', 2446 dataType: 'JSON', 2447 doAsUserId, 2448 p_auth: Liferay.authToken, 2449 p_l_id: plid, 2450 p_p_col_id: currentColumnId, 2451 p_p_col_pos: portletPosition, 2452 p_p_i_id: portletItemId, 2453 p_p_id: portletId, 2454 p_p_isolated: true, 2455 p_v_l_s_g_id: themeDisplay.getSiteGroupId(), 2456 portletData, 2457 }; 2458 2459 const firstPortlet = container.one('.portlet-boundary'); 2460 const hasStaticPortlet = firstPortlet && firstPortlet.isStatic; 2461 2462 if (!options.placeHolder && !options.plid) { 2463 if (!hasStaticPortlet) { 2464 container.prepend(placeHolder); 2465 } 2466 else { 2467 firstPortlet.placeAfter(placeHolder); 2468 } 2469 } 2470 2471 data.currentURL = Liferay.currentURL; 2472 2473 instance.addHTML({ 2474 beforePortletLoaded, 2475 data, 2476 onComplete, 2477 placeHolder, 2478 url, 2479 }); 2480 }, 2481 ['aui-base'] 2482 ); 2483 2484 Liferay.provide( 2485 Portlet, 2486 'addHTML', 2487 function (options) { 2488 const instance = this; 2489 2490 let portletBoundary = null; 2491 2492 const beforePortletLoaded = options.beforePortletLoaded; 2493 const data = options.data; 2494 let dataType = 'HTML'; 2495 const onComplete = options.onComplete; 2496 const placeHolder = options.placeHolder; 2497 const url = options.url; 2498 2499 if (data && Lang.isString(data.dataType)) { 2500 dataType = data.dataType; 2501 } 2502 2503 dataType = dataType.toUpperCase(); 2504 2505 const addPortletReturn = function (html) { 2506 const container = placeHolder.get('parentNode'); 2507 2508 let portletBound = A.Node.create('<div></div>'); 2509 2510 portletBound.plug(A.Plugin.ParseContent); 2511 2512 portletBound.setContent(html); 2513 2514 portletBound = portletBound.one('> *'); 2515 2516 let portletId; 2517 2518 if (portletBound) { 2519 const id = portletBound.attr('id'); 2520 2521 portletId = Util.getPortletId(id); 2522 2523 portletBound.portletId = portletId; 2524 2525 placeHolder.hide(); 2526 placeHolder.placeAfter(portletBound); 2527 2528 placeHolder.remove(); 2529 2530 instance.refreshLayout(portletBound); 2531 2532 if (window.location.hash) { 2533 window.location.href = encodeURI(window.location.hash); 2534 } 2535 2536 portletBoundary = portletBound; 2537 2538 const Layout = Liferay.Layout; 2539 2540 if (Layout && Layout.INITIALIZED) { 2541 Layout.updateCurrentPortletInfo(portletBoundary); 2542 2543 if (container) { 2544 Layout.syncEmptyColumnClassUI(container); 2545 } 2546 2547 Layout.syncDraggableClassUI(); 2548 Layout.updatePortletDropZones(portletBoundary); 2549 } 2550 2551 if (onComplete) { 2552 onComplete(portletBoundary, portletId); 2553 } 2554 } 2555 else { 2556 placeHolder.remove(); 2557 } 2558 2559 return portletId; 2560 }; 2561 2562 if (beforePortletLoaded) { 2563 beforePortletLoaded(placeHolder); 2564 } 2565 2566 Liferay.Util.fetch(url, { 2567 body: Liferay.Util.objectToURLSearchParams(data), 2568 method: 'POST', 2569 }) 2570 .then((response) => { 2571 if (dataType === 'JSON') { 2572 return response.json(); 2573 } 2574 else { 2575 return response.text(); 2576 } 2577 }) 2578 .then((response) => { 2579 if (dataType === 'HTML') { 2580 addPortletReturn(response); 2581 } 2582 else if (response.refresh) { 2583 addPortletReturn(response.portletHTML); 2584 } 2585 else { 2586 Portlet._loadMarkupHeadElements(response); 2587 Portlet._loadPortletFiles(response, addPortletReturn); 2588 } 2589 2590 if (!data || !data.preventNotification) { 2591 Liferay.fire('updatedLayout'); 2592 } 2593 }) 2594 .catch((error) => { 2595 const message = 2596 typeof error === 'string' 2597 ? error 2598 : 'There\x20was\x20an\x20unexpected\x20error\x2e\x20Please\x20refresh\x20the\x20current\x20page\x2e'; 2599 2600 Liferay.Util.openToast({ 2601 message, 2602 type: 'danger', 2603 }); 2604 }); 2605 }, 2606 ['aui-parse-content'] 2607 ); 2608 2609 Liferay.provide( 2610 Portlet, 2611 'close', 2612 function (portlet, skipConfirm, options) { 2613 const instance = this; 2614 2615 const _removeComponent = () => { 2616 const portletId = portlet.portletId; 2617 2618 const portletIndex = instance.list.indexOf(portletId); 2619 2620 if (portletIndex >= 0) { 2621 instance.list.splice(portletIndex, 1); 2622 } 2623 2624 options = Portlet._mergeOptions(portlet, options); 2625 2626 Portlet.destroyComponents(portletId); 2627 2628 Liferay.fire('destroyPortlet', options); 2629 2630 Liferay.fire('closePortlet', options); 2631 }; 2632 2633 portlet = A.one(portlet); 2634 2635 if (portlet) { 2636 if (!skipConfirm) { 2637 Liferay.Util.openConfirmModal({ 2638 message: 'Are\x20you\x20sure\x20you\x20want\x20to\x20remove\x20this\x20component\x3f', 2639 onConfirm: (isConfirmed) => { 2640 if (isConfirmed) { 2641 _removeComponent(); 2642 } 2643 }, 2644 }); 2645 } 2646 else { 2647 _removeComponent(); 2648 } 2649 } 2650 else { 2651 A.config.win.focus(); 2652 } 2653 }, 2654 [] 2655 ); 2656 2657 Liferay.provide( 2658 Portlet, 2659 'destroy', 2660 (portlet, options) => { 2661 portlet = A.one(portlet); 2662 2663 if (portlet) { 2664 const portletId = 2665 portlet.portletId || Util.getPortletId(portlet.attr('id')); 2666 2667 Portlet.destroyComponents(portletId); 2668 2669 Liferay.fire( 2670 'destroyPortlet', 2671 Portlet._mergeOptions(portlet, options) 2672 ); 2673 } 2674 }, 2675 ['aui-node-base'] 2676 ); 2677 2678 Liferay.provide( 2679 Portlet, 2680 'onLoad', 2681 function (options) { 2682 const instance = this; 2683 2684 const canEditTitle = options.canEditTitle; 2685 const columnPos = options.columnPos; 2686 const isStatic = 2687 options.isStatic === 'no' ? null : options.isStatic; 2688 const namespacedId = options.namespacedId; 2689 const portletId = options.portletId; 2690 const refreshURL = options.refreshURL; 2691 const refreshURLData = options.refreshURLData; 2692 2693 if (isStatic) { 2694 instance.registerStatic(portletId); 2695 } 2696
2697 const portlet = A.one('#' + namespacedId); 2698 2699 if (portlet && !portlet.portletProcessed) { 2700 portlet.portletProcessed = true; 2701 portlet.portletId = portletId; 2702 portlet.columnPos = columnPos; 2703 portlet.isStatic = isStatic; 2704 portlet.refreshURL = refreshURL; 2705 portlet.refreshURLData = refreshURLData; 2706 2707 // Functions to run on portlet load 2708 2709 if (canEditTitle) { 2710 2711 // https://github.com/yui/yui3/issues/1808 2712 2713 let events = 'focus'; 2714 2715 if (!A.UA.touchEnabled) { 2716 events = ['focus', 'mousemove']; 2717 } 2718 2719 const handle = portlet.on(events, () => { 2720 Util.portletTitleEdit({ 2721 doAsUserId: themeDisplay.getDoAsUserIdEncoded(), 2722 2723 // eslint-disable-next-line @liferay/no-abbreviations 2724 obj: portlet, 2725 plid: themeDisplay.getPlid(), 2726 portletId, 2727 }); 2728 2729 handle.detach(); 2730 }); 2731 } 2732 } 2733 2734 Liferay.fire('portletReady', { 2735 portlet, 2736 portletId, 2737 }); 2738 2739 instance.readyCounter++; 2740 2741 if (instance.readyCounter === instance.list.length) { 2742 Liferay.fire('allPortletsReady', { 2743 portletId, 2744 }); 2745 } 2746 }, 2747 ['aui-base', 'aui-timer', 'event-move'] 2748 ); 2749 2750 Liferay.provide( 2751 Portlet, 2752 'refresh', 2753 function (portlet, data, mergeWithRefreshURLData) { 2754 const instance = this; 2755 2756 portlet = A.one(portlet); 2757 2758 if (portlet) { 2759 if (mergeWithRefreshURLData) { 2760 data = { 2761 ...(portlet.refreshURLData || {}), 2762 ...(data || {}), 2763 }; 2764 } 2765 else { 2766 data = data || portlet.refreshURLData || {}; 2767 } 2768 2769 if ( 2770 !Object.prototype.hasOwnProperty.call( 2771 data, 2772 'portletAjaxable' 2773 ) 2774 ) { 2775 data.portletAjaxable = true; 2776 } 2777 2778 const id = portlet.attr('portlet'); 2779 2780 let url = portlet.refreshURL; 2781 2782 const placeHolder = A.Node.create( 2783 '<div class="loading-animation" id="p_p_id' + id + '" />' 2784 ); 2785 2786 if (data.portletAjaxable && url) { 2787 portlet.placeBefore(placeHolder); 2788 2789 portlet.remove(true); 2790 2791 Portlet.destroyComponents(portlet.portletId); 2792 2793 let params = {}; 2794 2795 const urlPieces = url.split('?'); 2796 2797 if (urlPieces.length > 1) { 2798 params = A.QueryString.parse(urlPieces[1]); 2799 2800 delete params.dataType; 2801 2802 url = urlPieces[0]; 2803 } 2804 2805 instance.addHTML({ 2806 data: A.mix(params, data, true), 2807 onComplete(newPortlet, portletId) { 2808 newPortlet.refreshURL = portlet.refreshURL; 2809 2810 if (newPortlet) { 2811 newPortlet.attr('data-qa-id', 'app-refreshed'); 2812 } 2813 2814 Liferay.fire( 2815 newPortlet.portletId + ':portletRefreshed', 2816 { 2817 portlet: newPortlet, 2818 portletId, 2819 } 2820 ); 2821 }, 2822 placeHolder, 2823 url, 2824 }); 2825 } 2826 else if (!portlet.getData('pendingRefresh')) { 2827 portlet.setData('pendingRefresh', true); 2828 2829 const nonAjaxableContentMessage = Lang.sub( 2830 TPL_NOT_AJAXABLE, 2831 [ 2832 'This\x20change\x20will\x20only\x20be\x20shown\x20after\x20you\x20refresh\x20the\x20current\x20page\x2e', 2833 ] 2834 ); 2835 2836 const portletBody = portlet.one('.portlet-body'); 2837 2838 portletBody.placeBefore(nonAjaxableContentMessage); 2839 2840 portletBody.hide(); 2841 } 2842 2843 Liferay.fire('refreshPortlet', {portletId: portlet.portletId}); 2844 } 2845 }, 2846 ['aui-base', 'querystring-parse'] 2847 ); 2848 2849 Liferay.provide( 2850 Portlet, 2851 'registerStatic', 2852 function (portletId) { 2853 const instance = this; 2854 2855 const Node = A.Node; 2856 2857 if (Node && portletId instanceof Node) { 2858 portletId = portletId.attr('id'); 2859 } 2860 else if (portletId.id) { 2861 portletId = portletId.id; 2862 } 2863 2864 const id = Util.getPortletId(portletId); 2865 2866 instance._staticPortlets[id] = true; 2867 }, 2868 ['aui-base'] 2869 ); 2870 2871 Liferay.publish('closePortlet', { 2872 defaultFn: Portlet._defCloseFn, 2873 }); 2874 2875 Liferay.publish('allPortletsReady', { 2876 fireOnce: true, 2877 }); 2878 2879 // Backwards compatability 2880 2881 Portlet.ready = function (fn) { 2882 Liferay.on('portletReady', (event) => { 2883 fn(event.portletId, event.portlet); 2884 }); 2885 }; 2886 2887 Liferay.Portlet = Portlet; 2888})(AUI()); 2889 2890/** 2891 * SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com 2892 * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 2893 */ 2894 2895Liferay.Workflow = { 2896 ACTION_PUBLISH: 1, 2897 2898 ACTION_SAVE_DRAFT: 2, 2899 2900 STATUS_ANY: -1, 2901 2902 STATUS_APPROVED: 0, 2903 2904 STATUS_DENIED: 4, 2905 2906 STATUS_DRAFT: 2, 2907 2908 STATUS_EXPIRED: 3, 2909 2910 STATUS_PENDING: 1, 2911}; 2912 2913"use strict";(()=>{var p=Object.defineProperty;var y=(t,e,r)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var s=(t,e,r)=>(y(t,typeof e!="symbol"?e+"":e,r),r);async function L(t){return(await crypto).getRandomValues(new Uint8Array(t))}async function _(t){let e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",r="",i=await L(t);for(let n=0;n<t;n++){let o=i[n]%e.length;r+=e[o]}return r}async function I(t){return await _(t)}async function w(t){let e=await(await crypto).subtle.digest("SHA-256",
2913new TextEncoder().encode(t));return btoa(String.fromCharCode(...new Uint8Array(e))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function u(t){if(t||(t=43),t<43||t>128)throw`Expected a length between 43 and 128. Received ${t}.`;let e=await I(t);return{code_challenge:await w(e),code_verifier:e}}var l=class{constructor(e){s(this,"authorizeURL");s(this,"clientId");s(this,"debug");s(this,"homePageURL");s(this,"redirectURIs");s(this,"tokenURL");this.authorizeURL=e.authorizeURL,this.clientId=e.clientId,this.debug=e.debug||!1,this.homePageURL=e.homePageURL,this.redirectURIs=e.redirectURIs,this.tokenURL=e.tokenURL}async fetch(e,r={}){return this._fetch(e,r).then(n=>{if(n.ok){let o=n.headers.get("content-type");return o&&o.indexOf("application/json")!==-1?n.json():Promise.resolve(n)}return Promise.reject(n)})}_createIframe(e,r){let i=this,n=window.location.origin,o=i.redirectURIs.find(g=>g.startsWith(n));if(!o)return Promise.reject(`No redirectURI in ${i.redirectURIs} matching origin ${n}`);let c=document.createElement("iframe");return c.src=`${i.authorizeURL}?client_id=${i.clientId}&code_challenge=${e.code_challenge}&code_challenge_method=S256&redirect_uri=${encodeURIComponent(o)}&response_type=code&prompt=none&state=${r}`,c.style.display="none",document.body.appendChild(c),new Promise((g,d)=>{let U=a=>{if(i.debug&&console.debug("OAuth2Client._createIframe.event",a),a.data.error){a.target&&a.target.parentElement&&a.target.parentElement.removeChild(a.target),d(a.data.error);return}else if(!a.data.code)return;if(a.data.state!==r){a.target&&a.target.parentElement&&a.target.parentElement.removeChild(a.target),d("state does not match");return}let h=i._requestToken(e.code_verifier,a.data.code,o);g(h),h.then(f=>Liferay.Util.SessionStorage.setItem(r,JSON.stringify({...f,expires_after_ms:new Date().getTime()+f.expires_in*1e3}),Liferay.Util.SessionStorage.TYPES.NECESSARY)).then(()=>{a.target&&a.target.parentElement&&a.target.parentElement.removeChild(a.target)})};c.contentWindow&&c.contentWindow.addEventListener("message",U)})}async _fetch(e,r={}){let i=this,n=e instanceof Request?e.url:e.toString();if(n.includes("//")&&!n.startsWith(i.homePageURL))throw new Error(`This client only supports calls to ${i.homePageURL}`);n.startsWith(i.homePageURL)||(n.startsWith("/")&&(n=n.substring(1)),n=`${i.homePageURL}/${n}`);let o=await i._getOrRequestToken();return e=e instanceof Request?{...e,url:n}:n,await fetch(e,{...r,headers:{...r?.headers,Authorization:`Bearer ${o.access_token}`}})}async _getOrRequestToken(){let e=this,r=`${e.clientId}-${Liferay.authToken}-token`,i=Liferay.Util.SessionStorage.getItem(r,Liferay.Util.SessionStorage.TYPES.NECESSARY);if(e.debug&&i&&console.debug("OAuth2Client._getOrRequestToken.cachedTokenData",i),i!=null){let n=JSON.parse(i);if(new Date().getTime()<n.expires_after_ms)return n}return await e._requestTokenSilently(r)}async _requestTokenSilently(e){let r=this,i=await u(128);return r._createIframe(i,e)}async _requestToken(e,r,i){let n=this,o=await fetch(n.tokenURL,{body:new URLSearchParams({client_id:n.clientId,code:r,code_verifier:e,grant_type:"authorization_code",redirect_uri:i}),cache:"no-cache",headers:{"Content-Type":"application/x-www-form-urlencoded"},method:"POST",mode:"cors"});return o.ok?o.json():await Promise.reject(o)}};function m(t){return new l({authorizeURL:t.authorizeURL||Liferay.OAuth2.getAuthorizeURL(),clientId:t.clientId,debug:t.debug,homePageURL:t.homePageURL,redirectURIs:t.redirectURIs||[Liferay.OAuth2.getBuiltInRedirectURL()],tokenURL:t.tokenURL||Liferay.OAuth2.getTokenURL()})}function R(t,e){let r=Liferay.OAuth2.getUserAgentApplication(t);if(!r)throw new Error(`No Application User Agent profile found for ${t}`);return new l({authorizeURL:Liferay.OAuth2.getAuthorizeURL(),clientId:r.clientId,debug:e,homePageURL:r.homePageURL,redirectURIs:r.redirectURIs,tokenURL:Liferay.OAuth2.getTokenURL()})}window.Liferay=window.Liferay||{};window.Liferay.OAuth2Client={FromParameters:m,FromUserAgentApplication:R};})(); 2914 2915
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.