From 1363a5fd51976a350ec3236dee469af89b5599ba Mon Sep 17 00:00:00 2001 From: WoltLab Date: Tue, 31 May 2022 09:27:55 +0000 Subject: [PATCH] Updating minified JavaScript files --- wcfsetup/install/files/js/WCF.Combined.min.js | 2 +- wcfsetup/install/files/js/WoltLabSuite.Core.min.js | 4 ++-- wcfsetup/install/files/js/WoltLabSuite.Core.tiny.min.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/wcfsetup/install/files/js/WCF.Combined.min.js b/wcfsetup/install/files/js/WCF.Combined.min.js index ba75a8e511..02c0c051f1 100755 --- a/wcfsetup/install/files/js/WCF.Combined.min.js +++ b/wcfsetup/install/files/js/WCF.Combined.min.js @@ -43,7 +43,7 @@ (function (window, undefined) { "use strict";function gm_authFailure(){WCF.System.Event.fireEvent("com.woltlab.wcf.googleMaps","authenticationFailure")}WCF.Location={},WCF.Location.Util={getLocation:function(t,e){var o=WCF.Location.GoogleMaps.Settings.get("accessUserLocation");navigator.geolocation&&null!==o&&o?navigator.geolocation.getCurrentPosition((function(e){t(e.coords.latitude,e.coords.longitude)}),(function(){t(void 0,void 0)}),{timeout:e||5e3}):t(void 0,void 0)}},WCF.Location.GoogleMaps={},WCF.Location.GoogleMaps.Settings={_settings:{},get:function(t){return void 0===t?this._settings:void 0!==this._settings[t]?this._settings[t]:null},set:function(t,e){if($.isPlainObject(t))for(var o in t)this._settings[o]=t[o];else this._settings[t]=e}},WCF.Location.GoogleMaps.Map=Class.extend({_map:null,_markers:[],init:function(t,e){this._mapContainer=$("#"+t),this._mapOptions=$.extend(!0,this._getDefaultMapOptions(),e),this._map=new google.maps.Map(this._mapContainer[0],this._mapOptions),this._markers=[],this._mapContainer.parents(".sidebar").length&&require(["Ui/Screen"],function(t){t.on("screen-sm-down",{setup:$.proxy(this._addSidebarMapListener,this)})}.bind(this)),this.refresh()},_addInfoWindowEventListener:function(t,e){google.maps.event.addListener(t,"click",$.proxy((function(){e.open(this._map,t)}),this))},_addSidebarMapListener:function(){$(".content > .mobileSidebarToggleButton").click($.proxy(this.refresh,this))},_getDefaultMapOptions:function(){var t={};switch(t.center=new google.maps.LatLng(WCF.Location.GoogleMaps.Settings.get("defaultLatitude"),WCF.Location.GoogleMaps.Settings.get("defaultLongitude")),t.disableDoubleClickZoom=WCF.Location.GoogleMaps.Settings.get("disableDoubleClickZoom"),t.draggable=WCF.Location.GoogleMaps.Settings.get("draggable"),WCF.Location.GoogleMaps.Settings.get("mapType")){case"map":t.mapTypeId=google.maps.MapTypeId.ROADMAP;break;case"satellite":t.mapTypeId=google.maps.MapTypeId.SATELLITE;break;case"physical":t.mapTypeId=google.maps.MapTypeId.TERRAIN;break;default:t.mapTypeId=google.maps.MapTypeId.HYBRID}if(t.mapTypeControl="off"!=WCF.Location.GoogleMaps.Settings.get("mapTypeControl"),t.mapTypeControl)switch(WCF.Location.GoogleMaps.Settings.get("mapTypeControl")){case"dropdown":t.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.DROPDOWN_MENU};break;case"horizontalBar":t.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.HORIZONTAL_BAR};break;default:t.mapTypeControlOptions={style:google.maps.MapTypeControlStyle.DEFAULT}}return t.scaleControl=WCF.Location.GoogleMaps.Settings.get("scaleControl"),t.scrollwheel=WCF.Location.GoogleMaps.Settings.get("scrollwheel"),t.zoom=WCF.Location.GoogleMaps.Settings.get("zoom"),t},addDraggableMarker:function(t,e){var o=new google.maps.Marker({clickable:!1,draggable:!0,map:this._map,position:new google.maps.LatLng(t,e),zIndex:1});return this._markers.push(o),o},addMarker:function(t,e,o,s,i){var a,n=new google.maps.Marker({map:this._map,position:new google.maps.LatLng(t,e),title:o});return s&&n.setIcon(s),i&&(a=new google.maps.InfoWindow({content:i}),this._addInfoWindowEventListener(n,a),n.infoWindow=a),this._markers.push(n),n},getMarkers:function(){return this._markers},getMap:function(){return this._map},refresh:function(){var t=this._map.getCenter();google.maps.event.trigger(this._map,"resize"),this._map.setCenter(t)},refreshBounds:function(){var t,e,o,s,i=null,a=null,n=null,r=null;for(t in this._markers)o=(e=this._markers[t]).getPosition().lat(),s=e.getPosition().lng(),null===i?(i=a=o,n=r=s):(i>o?i=o:ao?n=o:r=t.lat()&&this._previousNorthEast.lng()>=t.lng()&&this._previousSouthWest.lat()<=e.lat()&&this._previousSouthWest.lng()<=e.lng())&&(this._previousNorthEast=t,this._previousSouthWest=e,this._proxy.setOption("data",{actionName:"getMapMarkers",className:this._actionClassName,parameters:$.extend(this._additionalParameters,{excludedObjectIDs:this._stringifyExcludedObjectIds?JSON.stringify(this._objectIDs):this._objectIDs,eastLongitude:t.lng(),northLatitude:t.lat(),southLatitude:e.lat(),westLongitude:e.lng()})}),this._proxy.sendRequest(),!0)},_success:function(t,e,o){var s,i;if(t.returnValues&&t.returnValues.markers)for(s in t.returnValues.markers)i=t.returnValues.markers[s],this.addMarker(i.latitude,i.longitude,i.title,null,i.infoWindow),i.objectID?this._objectIDs.push(i.objectID):i.objectIDs&&(this._objectIDs=this._objectIDs.concat(i.objectIDs))},addMarker:function(t,e,o,s,i){var a=this._super(t,e,o,s,i);return this._markerClusterer.addMarker(a),this._markerSpiderfier.addMarker(a),a}}),WCF.Location.GoogleMaps.SuggestionMap=WCF.Location.GoogleMaps.LargeMap.extend({_locationSuggestionsButton:null,_suggestionSelectionCallback:null,init:function(t,e,o,s,i){this._super(t,e,o,s,i);var a=$('
'+WCF.Language.get("wcf.map.showLocationSuggestions")+"
");this._locationSuggestionsButton=a.find(".googleMapsCustomControl").click($.proxy(this._toggleLocationSuggestions,this)),this._map.controls[google.maps.ControlPosition.TOP_RIGHT].push(a.get(0))},_loadMarkers:function(){this._locationSuggestionsButton.hasClass("active")&&(this._super()||(this._loadSuggestions=!1))},_success:function(t,e,o){var s=this._markers.length;this._super(t,e,o),this._loadSuggestions&&s==this._markers.length&&(this._loadSuggestions=!1,new WCF.System.Notification(WCF.Language.get("wcf.map.noLocationSuggestions"),"info").show())},_toggleLocationSuggestions:function(){var t=!this._locationSuggestionsButton.hasClass("active");t&&(this._loadSuggestions=!0),this.showSuggestions(t)},addMarker:function(t,e,o,s,i){var a,n=$(i),r=$('').text(WCF.Language.get("wcf.map.useLocationSuggestion")).click(this._suggestionSelectionCallback);return n.append($("

").append(r)),a=this._super(t,e,o,"//mt.google.com/vt/icon/name=icons/spotlight/spotlight-waypoint-a.png",n.get(0)),r.data("marker",a),a},setSuggestionSelectionCallback:function(t){this._suggestionSelectionCallback=t},showSuggestions:function(t){var e,o,s,i;for(void 0===t&&(t=!0),this._locationSuggestionsButton.toggleClass("active",t),e=[],o=0,s=this._markers.length;o"+WCF.String.escapeHTML(t.formatted_address)+"").appendTo(this._list);return e.data("location",t.geometry.location).data("label",t.formatted_address).click($.proxy(this._executeCallback,this)),this._itemCount++,e},_keyUp:function(t){switch(t.which){case $.ui.keyCode.LEFT:case $.ui.keyCode.RIGHT:return;case $.ui.keyCode.UP:return void this._selectPreviousItem();case $.ui.keyCode.DOWN:return void this._selectNextItem();case $.ui.keyCode.ENTER:return this._selectElement(t)}var e=this._getSearchString(t);""===e?this._clearList(!0):e.length>=this._triggerLength?this._delay?(null!==this._timer&&this._timer.stop(),this._timer=new WCF.PeriodicalExecuter($.proxy((function(){this._geocoder.geocode({address:e},$.proxy(this._success,this)),this._timer.stop(),this._timer=null}),this),this._delay)):this._geocoder.geocode({address:e},$.proxy(this._success,this)):this._clearList(!1)},_success:function(t,e){var o,s,i;if(this._clearList(!1),e==google.maps.GeocoderStatus.OK){if($.getLength(t)){for(s in o=0,t)if(this._createListItem(t[s]),10==++o)break}else if(!this._handleEmptyResult())return;WCF.CloseOverlayHandler.addCallback("WCF.Search.Base",$.proxy((function(){this._clearList()}),this)),i=this._searchInput.parents(".dropdown").wcfIdentify(),WCF.Dropdown.getDropdownMenu(i).hasClass("dropdownOpen")||WCF.Dropdown.toggleDropdown(i,!0),this._itemIndex=-1,WCF.Dropdown.getDropdown(i).data("disableAutoFocus")||this._selectNextItem()}}}),WCF.Location.GoogleMaps.LocationInput=Class.extend({_locationSearch:null,_map:null,_marker:null,init:function(t,e,o,s,i,a){this._searchInput=o,a?(this._map=new WCF.Location.GoogleMaps.SuggestionMap(t,e,a),this._map.setSuggestionSelectionCallback($.proxy(this._useSuggestion,this))):this._map=new WCF.Location.GoogleMaps.Map(t,e),this._locationSearch=new WCF.Location.GoogleMaps.LocationSearch(o,$.proxy(this._setMarkerByLocation,this)),s&&i?this._marker=this._map.addDraggableMarker(s,i):(this._marker=this._map.addDraggableMarker(WCF.Location.GoogleMaps.Settings.get("defaultLatitude"),WCF.Location.GoogleMaps.Settings.get("defaultLongitude")),WCF.Location.Util.getLocation($.proxy((function(t,e){void 0!==t&&void 0!==e&&(WCF.Location.GoogleMaps.Util.moveMarker(this._marker,t,e),WCF.Location.GoogleMaps.Util.focusMarker(this._marker))}),this))),this._marker.addListener("dragend",$.proxy(this._updateLocation,this))},_useSuggestion:function(t){var e=$(t.currentTarget).data("marker");this._marker.setPosition(e.getPosition()),this._updateLocation(),this._map.showSuggestions(!1)},_updateLocation:function(){WCF.Location.GoogleMaps.Util.reverseGeocoding($.proxy((function(t){null!==t&&$(this._searchInput).val(t)}),this),this._marker)},_setMarkerByLocation:function(t){this._marker.setPosition(t.location),WCF.Location.GoogleMaps.Util.focusMarker(this._marker),$(this._searchInput).val(t.label)},getMap:function(){return this._map},getMarker:function(){return this._marker}}),WCF.Location.GoogleMaps.Util={_geocoder:null,focusMarker:function(t){t.getMap().setCenter(t.getPosition())},getMarkerPosition:function(t){return{latitude:t.getPosition().lat(),longitude:t.getPosition().lng()}},moveMarker:function(t,e,o,s){t.setPosition(new google.maps.LatLng(e,o)),s&&google.maps.event.trigger(t,"dragend")},reverseGeocoding:function(t,e,o,s,i){e&&(o=e.getPosition().lat(),s=e.getPosition().lng()),null===this._geocoder&&(this._geocoder=new google.maps.Geocoder);var a=new google.maps.LatLng(o,s);this._geocoder.geocode({latLng:a},(function(e,o){o==google.maps.GeocoderStatus.OK?t(i?e:e[0].formatted_address):t(null)}))}}; })(this); // WCF.Message.js -(function (window, undefined) { "use strict";WCF.Message={},WCF.Message.BBCode={},WCF.Message.BBCode.CodeViewer=Class.extend({init:function(){}}),WCF.Message.EditHistory=Class.extend({_oldIDInputs:null,_newIDInputs:null,_containerSelector:"",_buttonSelector:".jsRevertButton",init:function(e,t,i,s,n){this._oldIDInputs=e,this._newIDInputs=t,this._containerSelector=i,this._buttonSelector=s||".jsRevertButton",this._options=$.extend({isVersionTracker:!1,versionTrackerObjectType:"",versionTrackerObjectId:0,redirectUrl:""},n),this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initInputs(),this._initElements()},_initInputs:function(){var e=this;this._newIDInputs.change((function(t){var i=parseInt($(this).val());"current"===$(this).val()&&(i=1/0),e._oldIDInputs.each((function(e){var t=parseInt($(this).val());"current"===$(this).val()&&(t=1/0),t>=i?$(this).disable():$(this).enable()}))})),this._oldIDInputs.change((function(t){var i=parseInt($(this).val());"current"===$(this).val()&&(i=1/0),e._newIDInputs.each((function(e){var t=parseInt($(this).val());"current"===$(this).val()&&(t=1/0),t<=i?$(this).disable():$(this).enable()}))})),this._oldIDInputs.filter(":checked").change(),this._newIDInputs.filter(":checked").change()},_initElements:function(){var e=this;$(this._containerSelector).each((function(t,i){$(i).find(e._buttonSelector).click($.proxy(e._click,e))}))},_click:function(e){var t,i=$(e.currentTarget);e.preventDefault(),i.data("confirmMessage")?(t=this,WCF.System.Confirmation.show(i.data("confirmMessage"),(function(e){"cancel"!==e&&t._sendRequest(i)}),void 0,void 0,!0)):this._sendRequest(i)},_sendRequest:function(e){this._options.isVersionTracker?(this.proxy.setOption("url",window.WSC_API_URL+"index.php?ajax-invoke/&t="+window.SECURITY_TOKEN),this.proxy.setOption("data",{actionName:"revert",className:"wcf\\system\\version\\VersionTracker",parameters:{objectType:this._options.versionTrackerObjectType,objectID:this._options.versionTrackerObjectId,versionID:$(e).data("objectID")}})):this.proxy.setOption("data",{actionName:"revert",className:"wcf\\data\\edit\\history\\entry\\EditHistoryEntryAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(e,t,i){this._options.redirectUrl?(new WCF.System.Notification).show(function(){window.location=this._options.redirectUrl}.bind(this)):window.location.reload(!0)}}),WCF.Message.FormGuard=Class.extend({init:function(){var e=$("form.jsFormGuard").removeClass("jsFormGuard").submit((function(){$(this).find(".formSubmit input[type=submit]").disable()}));$(window).on("unload",(function(){e.find(".formSubmit input[type=submit]").enable()}))}}),WCF.Message.Preview=Class.extend({_className:"",_messageFieldID:"",_messageField:null,_proxy:null,_previewButton:null,_previewButtonLabel:"",init:function(e,t,i){this._className=e,this._messageFieldID=$.wcfEscapeID(t),this._textarea=$("#"+this._messageFieldID),this._textarea.length?(i=$.wcfEscapeID(i),this._previewButton=$("#"+i),this._previewButton.length?(this._previewButton.click($.proxy(this._click,this)),this._proxy=new WCF.Action.Proxy({failure:$.proxy(this._failure,this),success:$.proxy(this._success,this)})):console.debug("[WCF.Message.Preview] Unable to find preview button identified by '"+i+"'")):console.debug("[WCF.Message.Preview] Unable to find message field identified by '"+this._messageFieldID+"'")},_click:function(e){e.preventDefault();var t=this._getMessage();if(null!==t){if(0!==t.trim().length)return this._proxy.setOption("data",{actionName:"getMessagePreview",className:this._className,parameters:this._getParameters(t)}),this._proxy.sendRequest(),this._previewButtonLabel=this._previewButton.html(),this._previewButton.html(WCF.Language.get("wcf.global.loading")).disable(),e.stopPropagation(),!1;elInnerError(this._textarea.redactor("core.editor")[0],WCF.Language.get("wcf.global.form.error.empty"))}else console.debug("[WCF.Message.Preview] Unable to access Redactor instance of '"+this._messageFieldID+"'")},_getParameters:function(e){var t={};return $("#settings_"+this._messageFieldID).find("input[type=checkbox]").each((function(e,i){var s=$(i);s.is(":checked")&&(t[s.prop("name")]=s.prop("value"))})),{data:{message:e},options:t}},_getMessage:function(){return this._textarea.redactor("code.get")},_success:function(e,t,i){this._previewButton.html(this._previewButtonLabel).enable(),this._textarea.parent().children("small.innerError").remove(),this._handleResponse(e)},_handleResponse:function(e){},_failure:function(e){var t,i;return null===e||void 0===e.returnValues||void 0===e.returnValues.errorType||(this._previewButton.html(this._previewButtonLabel).enable(),(t=this._textarea.parent().children("small.innerError").empty()).length||(t=$('').appendTo(this._textarea.parent())),i="empty"===e.returnValues.errorType?WCF.Language.get("wcf.global.form.error.empty"):e.returnValues.errorMessage,e.returnValues.realErrorMessage&&(i=e.returnValues.realErrorMessage),t.html(i),!1)}}),WCF.Message.DefaultPreview=WCF.Message.Preview.extend({_dialog:null,_options:{},init:function(e){if(arguments.length>1&&"string"==typeof e)throw new Error("Outdated API call, please update your implementation.");if(this._options=$.extend({disallowedBBCodesPermission:"user.message.disallowedBBCodes",messageFieldID:"",previewButtonID:"",messageObjectType:"",messageObjectID:0},e),!this._options.messageObjectType)throw new Error("Field 'messageObjectType' cannot be empty.");this._super("wcf\\data\\bbcode\\MessagePreviewAction",this._options.messageFieldID,this._options.previewButtonID)},_handleResponse:function(e){require(["WoltLabSuite/Core/Ui/Dialog"],function(t){t.open(this,'

'+e.returnValues.message+"
")}.bind(this))},_getParameters:function(e){var t,i=this._super(e);for(t in this._options)this._options.hasOwnProperty(t)&&"messageFieldID"!==t&&"previewButtonID"!==t&&(i[t]=this._options[t]);return i},_dialogSetup:function(){return{id:"messagePreview",options:{title:WCF.Language.get("wcf.global.preview")},source:null}}}),WCF.Message.I18nPreview=WCF.Message.Preview.extend({_activeMessageField:"",_dialog:null,_options:{},init:function(e){if(this._activeMessageField="",this._options=$.extend({disallowedBBCodesPermission:"user.message.disallowedBBCodes",messageFields:[],messageObjectType:"",messageObjectID:0},e),!this._options.messageObjectType)throw new Error("Field 'messageObjectType' cannot be empty.");if(this._options.messageFields.length<1)throw new TypeError("Expected a non empty list of message field ids");this._super("wcf\\data\\bbcode\\MessagePreviewAction",this._options.messageFields[0],"buttonMessagePreview")},_click:function(e){var t,i,s,n;for(this._messageFieldID="",this._textarea=null,t="",i=null,s=0,n=this._options.messageFields.length;s'+e.returnValues.message+"")}.bind(this))},_dialogSetup:function(){return{id:"messagePreview",options:{title:WCF.Language.get("wcf.global.preview")},source:null}}}),WCF.Message.Multilingualism=Class.extend({_availableLanguages:{},_languageID:0,_languageInput:null,init:function(e,t,i){if(this._availableLanguages=t,this._languageID=e||0,this._languageInput=$("#languageID"),this._updateLabel(),this._languageInput.find(".dropdownMenu > li").click($.proxy(this._click,this)),!i){var s=this._languageInput.find(".dropdownMenu");$('
  • '+this._availableLanguages[0]+"
  • ").click($.proxy(this._disable,this)).appendTo(s)}this._languageInput.parents("form").submit($.proxy(this._submit,this))},_click:function(e){this._languageID=$(e.currentTarget).data("languageID"),this._updateLabel()},_disable:function(){this._languageID=0,this._updateLabel()},_updateLabel:function(){this._languageInput.find(".dropdownToggle > span").text(this._availableLanguages[this._languageID])},_submit:function(){this._languageInput.next("input[name=languageID]").prop("value",this._languageID)}}),WCF.Message.SmileyCategories=Class.extend({_cache:[],_proxy:null,_wysiwygSelector:"",init:function(e,t,i){this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._wysiwygSelector=e,this._smiliesTabMenuId=t||"smilies-"+this._wysiwygSelector,this._formBuilderUsage=i||!1,$("#"+this._smiliesTabMenuId).on("messagetabmenushow",$.proxy(this._click,this))},_click:function(e,t){var i;if(e.preventDefault(),this._formBuilderUsage){if(!t.activeTab.tab.children("a").prop("href").match(/#([a-zA-Z0-9_-]+)$/))return void console.debug("[WCF.Message.SmileyCategories] Cannot extract category id for tab '"+t.activeTab.tab.wcfIdentify()+"'.");if(!RegExp.$1.match(this._smiliesTabMenuId.replace(/Container$/,"")+"_smileyCategoryTab(\\d+)Container"))return void console.debug("[WCF.Message.SmileyCategories] Cannot extract category id for tab '"+t.activeTab.tab.wcfIdentify()+"'.");i=parseInt(RegExp.$1)}else i=parseInt(t.activeTab.tab.data("smileyCategoryID"));i&&(t.activeTab.container.children("ul.smileyList").length||(void 0===this._cache[i]?(this._proxy.setOption("data",{actionName:"getSmilies",className:"wcf\\data\\smiley\\category\\SmileyCategoryAction",objectIDs:[i]}),this._proxy.sendRequest()):t.activeTab.container.html(this._cache[i])))},_success:function(e,t,i){var s=parseInt(e.returnValues.smileyCategoryID);this._cache[s]=e.returnValues.template,this._formBuilderUsage?$("#"+this._smiliesTabMenuId.replace(/Container$/,"")+"_smileyCategoryTab"+s+"Container").html(e.returnValues.template):$("#smilies-"+this._wysiwygSelector+"-"+s).html(e.returnValues.template)}}),WCF.Message.Smilies=Class.extend({init:function(e){require(["WoltLabSuite/Core/Ui/Smiley/Insert"],(function(t){new t(e)}))}}),WCF.Message.InlineEditor=Class.extend({_container:{},_containerID:0,_dropdowns:{},_messageContainerSelector:".jsMessage",_messageEditorIDPrefix:"messageEditor",init:function(e,t,i){require(["WoltLabSuite/Core/Ui/Message/InlineEditor"],function(t){new t({className:this._getClassName(),containerId:e,editorPrefix:this._messageEditorIDPrefix,messageSelector:this._messageContainerSelector,quoteManager:i||null,callbackDropdownInit:this._callbackDropdownInit.bind(this)})}.bind(this))},_click:function(e,t){t=null===e?~~t:~~elData(e.currentTarget,"container-id"),require(["WoltLabSuite/Core/Ui/Message/InlineEditor"],function(e){e.legacyEdit(t)}.bind(this)),e&&e.preventDefault()},_initDropdownMenu:function(e,t){},_callbackDropdownInit:function(e,t){return this._initDropdownMenu($(e).wcfIdentify(),$(t)),null},_getClassName:function(){return""}}),WCF.Message.Submit={_buttons:{},registerButton:function(e,t){WCF.Browser.isChrome()&&(this._buttons[e]=$(t))},execute:function(e){this._buttons[e]&&this._buttons[e].trigger("click")}},WCF.Message.Quote={},WCF.Message.Quote.Handler=Class.extend({init:function(e,t,i,s,n,a,o){require(["WoltLabSuite/Core/Ui/Message/Quote"],(r=>{new r.default(e,t,i,s,n,a,o)}))}}),WCF.Message.Quote.Manager=Class.extend({_buttons:{},_count:0,_dialog:null,_editorId:"",_editorIdAlternative:"",_form:null,_handlers:{},_hasTemplate:!1,_insertQuotes:!0,_proxy:null,_removeOnSubmit:[],_supportPaste:!1,_supportPasteOverride:!1,init:function(e,t,i,s){if(this._buttons={insert:null,remove:null},this._count=parseInt(e)||0,this._dialog=null,this._editorId="",this._editorIdAlternative="",this._form=null,this._handlers={},this._hasTemplate=!1,this._insertQuotes=!0,this._removeOnSubmit=[],this._supportPaste=!1,this._supportPasteOverride=!1,t){var n=$("#"+t);n.length&&(this._editorId=t,this._supportPaste=!0,this._form=n.parents("form:eq(0)"),this._form.length?(this._form.submit(this._submit.bind(this)),this._removeOnSubmit=s||[]):(this._form=null,this._supportPaste=!0===i))}this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1,success:$.proxy(this._success,this),url:"index.php?message-quote/&t="+SECURITY_TOKEN}),this._toggleShowQuotes(),WCF.System.Event.addListener("com.woltlab.wcf.quote","reload",this.countQuotes.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.message.quote","insert",function(e){WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertQuote_"+(this._editorIdAlternative?this._editorIdAlternative:this._editorId),{author:e.quote.username,content:e.quote.text,isText:!e.quote.isFullQuote,link:e.quote.link})}.bind(this))},setAlternativeEditor:function(e){this._editorIdAlternative||this._supportPaste||(this._hasTemplate=!1,this._supportPaste=!0,this._supportPasteOverride=!0),"object"==typeof e&&(e=e[0].id),this._editorIdAlternative=e},clearAlternativeEditor:function(){this._supportPasteOverride&&(this._hasTemplate=!1,this._supportPaste=!1,this._supportPasteOverride=!1),this._editorIdAlternative=""},register:function(e,t){this._handlers[e]=t},updateCount:function(e,t){var i,s;for(i in this._count=parseInt(e)||0,this._toggleShowQuotes(),this._handlers)this._handlers.hasOwnProperty(i)&&(s=t[i]||[],this._handlers[i].updateFullQuoteObjectIDs(s))},insertQuotes:function(e,t,i){this._insertQuotes?new WCF.Action.Proxy({autoSend:!0,data:{actionName:"getRenderedQuotes",className:e,interfaceName:"wcf\\data\\IMessageQuoteAction",parameters:{parentObjectID:t}},success:i}):this._insertQuotes=!0},_toggleShowQuotes:function(){require(["WoltLabSuite/Core/Ui/Page/Action"],function(e){var t,i="showQuotes";this._count?(void 0===(t=e.get(i))&&((t=elCreate("a")).addEventListener("mousedown",this._click.bind(this)),e.add(i,t)),t.textContent=WCF.Language.get("wcf.message.quote.showQuotes",{count:this._count}),e.show(i)):e.remove(i),this._hasTemplate=!1}.bind(this))},_click:function(){var e=document.activeElement;e.classList.contains("redactor-layer")&&$("#"+elData(e,"element-id")).redactor("selection.save"),this._hasTemplate?this._dialog.wcfDialog("open"):(this._proxy.showLoadingOverlayOnce(),this._proxy.setOption("data",{actionName:"getQuotes",supportPaste:this._supportPaste}),this._proxy.sendRequest())},renderDialog:function(e){var t,i,s;null===this._dialog&&(this._dialog=$("#messageQuoteList"),this._dialog.length||(this._dialog=$('
    ').hide().appendTo(document.body))),this._dialog.html(e),t=$('
    ').appendTo(this._dialog),this._supportPaste&&(this._buttons.insert=$('").click($.proxy(this._insertSelected,this)).appendTo(t)),this._buttons.remove=$("").click($.proxy(this._removeSelected,this)).appendTo(t),this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.quote.manageQuotes")}),this._dialog.wcfDialog("render"),this._hasTemplate=!0,i=this._dialog.find(".jsInsertQuote"),this._supportPaste?i.click($.proxy(this._insertQuote,this)):i.hide(),this._dialog.find("input.jsCheckbox").change($.proxy(this._changeButtons,this)),this._removeOnSubmit.length&&(s=this,this._dialog.find("input.jsRemoveQuote").each((function(e,t){var i=$(t).change($.proxy(this._change,this));WCF.inArray(i.parent("li").attr("data-quote-id"),s._removeOnSubmit)&&i.attr("checked","checked")})))},_changeButtons:function(){this._dialog.find("input.jsCheckbox:checked").length?(this._supportPaste&&this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertSelectedQuotes")),this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeSelectedQuotes"))):(this._supportPaste&&this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertAllQuotes")),this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeAllQuotes")))},_change:function(e){var t,i=$(e.currentTarget),s=i.parent("li").attr("data-quote-id");i.prop("checked")?this._removeOnSubmit.push(s):-1!==(t=this._removeOnSubmit.indexOf(s))&&this._removeOnSubmit.splice(t,1)},_insertSelected:function(){this._dialog.find("input.jsCheckbox:checked").length||this._dialog.find("input.jsCheckbox").prop("checked","checked"),this._dialog.find("input.jsCheckbox:checked").each($.proxy((function(e,t){this._insertQuote(null,t)}),this)),this._dialog.wcfDialog("close")},_insertQuote:function(e,t){var i=$(e?e.currentTarget:t).parents("li:eq(0)"),s=i.children(".jsFullQuote")[0].textContent.trim(),n=i.parents(".message:eq(0)"),a=n.data("username"),o=n.data("link"),r=!elDataBool(i[0],"is-full-quote");WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertQuote_"+(this._editorIdAlternative?this._editorIdAlternative:this._editorId),{author:a,content:s,isText:r,link:o}),this._removeOnSubmit.push(i.data("quote-id")),null!==e&&require(["WoltLabSuite/Core/Environment"],function(e){var t=function(){this._dialog.wcfDialog("close")}.bind(this);"ios"===e.platform()?window.setTimeout(t,100):t()}.bind(this))},_removeSelected:function(){var e,t,i;if(this._dialog.find("input.jsCheckbox:checked").length||this._dialog.find("input.jsCheckbox").prop("checked","checked"),e=[],this._dialog.find("input.jsCheckbox:checked").each((function(t,i){e.push($(i).parents("li").attr("data-quote-id"))})),e.length){for(i in t=[],this._handlers)this._handlers.hasOwnProperty(i)&&t.push(i);this._proxy.setOption("data",{actionName:"remove",getFullQuoteObjectIDs:this._handlers.length>0,objectTypes:t,quoteIDs:e}),this._proxy.sendRequest(),this._dialog.wcfDialog("close")}},_submit:function(){var e,t,i;if(this._supportPaste&&this._removeOnSubmit.length>0)for(e=this._form.find(".formSubmit"),t=0,i=this._removeOnSubmit.length;t').appendTo(e)},getQuotesMarkedForRemoval:function(){return this._removeOnSubmit},markQuotesForRemoval:function(){this._removeOnSubmit.length&&(this._proxy.setOption("data",{actionName:"markForRemoval",quoteIDs:this._removeOnSubmit}),this._proxy.suppressErrors(),this._proxy.sendRequest())},removeMarkedQuotes:function(){this._removeOnSubmit.length&&(this._proxy.setOption("data",{actionName:"removeMarkedQuotes",getFullQuoteObjectIDs:this._handlers.length>0}),this._proxy.sendRequest())},countQuotes:function(){var e,t=[];for(e in this._handlers)this._handlers.hasOwnProperty(e)&&t.push(e);this._proxy.setOption("data",{actionName:"count",getFullQuoteObjectIDs:t.length>0,objectTypes:t}),this._proxy.sendRequest()},_success:function(e){if(null!==e){if(void 0!==e.count){var t=void 0!==e.fullQuoteObjectIDs?e.fullQuoteObjectIDs:{};this.updateCount(e.count,t)}void 0!==e.template&&(""==$.trim(e.template)?this.updateCount(0,{}):this.renderDialog(e.template))}},supportPaste:function(){return this._supportPaste}}),WCF.Message.Share={},WCF.Message.Share.Content=Class.extend({_cache:{},_dialog:null,_shareButtonsTemplate:"",init:function(e){this._shareButtonsTemplate=e||"",this._cache={},this._dialog=null,this._initLinks(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Message.Share.Content",$.proxy(this._initLinks,this))},_initLinks:function(){$("a.jsButtonShare").removeClass("jsButtonShare").click($.proxy(this._click,this))},_click:function(e){var t,i,s,n,a,o;e.preventDefault(),i=(t=$(e.currentTarget)).prop("href"),s=t.data("linkTitle")?t.data("linkTitle"):i,n=i.hashCode(),void 0===this._cache[n]?(a=!1,null===this._dialog?(this._dialog=$('
    ').hide().appendTo(document.body),a=!0):this._dialog.empty(),o=$('

    ").appendTo(this._dialog),$('').attr("value",i).appendTo(o),o=$('

    ").appendTo(this._dialog),$('').attr("value","[url='"+i+"']"+s+"[/url]").appendTo(o),o=$('

    ").appendTo(this._dialog),$('').attr("value",'
    '+WCF.String.escapeHTML(s)+"").appendTo(o),""!==this._shareButtonsTemplate&&(o=$('

    '+WCF.Language.get("wcf.message.share")+"

    "+this._shareButtonsTemplate+"
    ").appendTo(this._dialog),elData(o.children(".jsMessageShareButtons")[0],"url",WCF.String.escapeHTML(i))),this._cache[n]=this._dialog.html(),a?this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.share")}):this._dialog.wcfDialog("open")):this._dialog.html(this._cache[n]).wcfDialog("open"),this._enableSelection()},_enableSelection:function(){var e=this._dialog.find("input").click((function(){$(this).select()}));navigator.userAgent.match(/iP(ad|hone|od)/)&&e.keydown((function(){return!1})).removeAttr("readonly").click((function(){this.setSelectionRange(0,9999)}))}}),WCF.Message.Share.Page=Class.extend({init:function(){require(["WoltLabSuite/Core/Ui/Message/Share"],(function(e){e.init()}))}}),$.widget("wcf.messageTabMenu",{_tabs:[],_tabsByName:{},options:{collapsible:!0},_create:function(){var e,t,i,s,n,a,o,r,l,u=this.element.find("> nav"),h=u.find("> ul > li:not(.jsFlexibleMenuDropdown)"),c=this.element.find("> div, > fieldset");if(h.length==c.length){for(e=this.element.data("preselect"),c.each((function(t,i){if(null!==elBySel(".innerError",i))return e=$(h[t]).data("name"),!1})),"true"===e&&(e=!0),this._tabs=[],this._tabsByName={},t=0;t ul > li[data-name] > a",o))&&$(r).trigger("mousedown");continue}if(!0===i)continue}a.tab.removeClass("active"),a.container.removeClass("active"),a.tab.children("a").attr("aria-expanded",!1)}null!==e&&(e.preventDefault(),e.stopPropagation()),null!==s&&this._trigger("show",{},{activeTab:s}),$(window).trigger("resize")},showTab:function(e,t){$.isNumeric(e)||void 0!==this._tabsByName[e]&&(e=this._tabsByName[e]),void 0!==this._tabs[e]?this._showTab(null,e,t):console.debug("[wcf.messageTabMenu] Cannot locate tab identified by '"+e+"'")},getTab:function(e){return void 0!==this._tabsByName[e]?this._tabs[this._tabsByName[e]].tab:null},getContainer:function(e){return void 0!==this._tabsByName[e]?this._tabs[this._tabsByName[e]].container:null}}); })(this); +(function (window, undefined) { "use strict";WCF.Message={},WCF.Message.BBCode={},WCF.Message.BBCode.CodeViewer=Class.extend({init:function(){}}),WCF.Message.EditHistory=Class.extend({_oldIDInputs:null,_newIDInputs:null,_containerSelector:"",_buttonSelector:".jsRevertButton",init:function(e,t,i,s,n){this._oldIDInputs=e,this._newIDInputs=t,this._containerSelector=i,this._buttonSelector=s||".jsRevertButton",this._options=$.extend({isVersionTracker:!1,versionTrackerObjectType:"",versionTrackerObjectId:0,redirectUrl:""},n),this.proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._initInputs(),this._initElements()},_initInputs:function(){var e=this;this._newIDInputs.change((function(t){var i=parseInt($(this).val());"current"===$(this).val()&&(i=1/0),e._oldIDInputs.each((function(e){var t=parseInt($(this).val());"current"===$(this).val()&&(t=1/0),t>=i?$(this).disable():$(this).enable()}))})),this._oldIDInputs.change((function(t){var i=parseInt($(this).val());"current"===$(this).val()&&(i=1/0),e._newIDInputs.each((function(e){var t=parseInt($(this).val());"current"===$(this).val()&&(t=1/0),t<=i?$(this).disable():$(this).enable()}))})),this._oldIDInputs.filter(":checked").change(),this._newIDInputs.filter(":checked").change()},_initElements:function(){var e=this;$(this._containerSelector).each((function(t,i){$(i).find(e._buttonSelector).click($.proxy(e._click,e))}))},_click:function(e){var t,i=$(e.currentTarget);e.preventDefault(),i.data("confirmMessage")?(t=this,WCF.System.Confirmation.show(i.data("confirmMessage"),(function(e){"cancel"!==e&&t._sendRequest(i)}),void 0,void 0,!0)):this._sendRequest(i)},_sendRequest:function(e){this._options.isVersionTracker?(this.proxy.setOption("url",window.WSC_API_URL+"index.php?ajax-invoke/&t="+window.SECURITY_TOKEN),this.proxy.setOption("data",{actionName:"revert",className:"wcf\\system\\version\\VersionTracker",parameters:{objectType:this._options.versionTrackerObjectType,objectID:this._options.versionTrackerObjectId,versionID:$(e).data("objectID")}})):this.proxy.setOption("data",{actionName:"revert",className:"wcf\\data\\edit\\history\\entry\\EditHistoryEntryAction",objectIDs:[$(e).data("objectID")]}),this.proxy.sendRequest()},_success:function(e,t,i){this._options.redirectUrl?(new WCF.System.Notification).show(function(){window.location=this._options.redirectUrl}.bind(this)):window.location.reload(!0)}}),WCF.Message.FormGuard=Class.extend({init:function(){var e=$("form.jsFormGuard").removeClass("jsFormGuard").submit((function(){$(this).find(".formSubmit input[type=submit]").disable()}));$(window).on("unload",(function(){e.find(".formSubmit input[type=submit]").enable()}))}}),WCF.Message.Preview=Class.extend({_className:"",_messageFieldID:"",_messageField:null,_proxy:null,_previewButton:null,_previewButtonLabel:"",init:function(e,t,i){this._className=e,this._messageFieldID=$.wcfEscapeID(t),this._textarea=$("#"+this._messageFieldID),this._textarea.length?(i=$.wcfEscapeID(i),this._previewButton=$("#"+i),this._previewButton.length?(this._previewButton.click($.proxy(this._click,this)),this._proxy=new WCF.Action.Proxy({failure:$.proxy(this._failure,this),success:$.proxy(this._success,this)})):console.debug("[WCF.Message.Preview] Unable to find preview button identified by '"+i+"'")):console.debug("[WCF.Message.Preview] Unable to find message field identified by '"+this._messageFieldID+"'")},_click:function(e){e.preventDefault();var t=this._getMessage();if(null!==t){if(0!==t.trim().length)return this._proxy.setOption("data",{actionName:"getMessagePreview",className:this._className,parameters:this._getParameters(t)}),this._proxy.sendRequest(),this._previewButtonLabel=this._previewButton.html(),this._previewButton.html(WCF.Language.get("wcf.global.loading")).disable(),e.stopPropagation(),!1;{const e=this._textarea[0].parentElement.querySelector(".innerError");if(e)e.remove();else{const e=this._textarea[0].parentElement.nextElementSibling;e&&e.classList.contains("innerError")&&e.remove()}elInnerError(this._textarea.redactor("core.editor")[0],WCF.Language.get("wcf.global.form.error.empty"))}}else console.debug("[WCF.Message.Preview] Unable to access Redactor instance of '"+this._messageFieldID+"'")},_getParameters:function(e){var t={};return $("#settings_"+this._messageFieldID).find("input[type=checkbox]").each((function(e,i){var s=$(i);s.is(":checked")&&(t[s.prop("name")]=s.prop("value"))})),{data:{message:e},options:t}},_getMessage:function(){return this._textarea.redactor("code.get")},_success:function(e,t,i){this._previewButton.html(this._previewButtonLabel).enable(),this._textarea.parent().children("small.innerError").remove(),this._handleResponse(e)},_handleResponse:function(e){},_failure:function(e){var t,i;return null===e||void 0===e.returnValues||void 0===e.returnValues.errorType||(this._previewButton.html(this._previewButtonLabel).enable(),(t=this._textarea.parent().children("small.innerError").empty()).length||(t=$('').appendTo(this._textarea.parent())),i="empty"===e.returnValues.errorType?WCF.Language.get("wcf.global.form.error.empty"):e.returnValues.errorMessage,e.returnValues.realErrorMessage&&(i=e.returnValues.realErrorMessage),t.html(i),!1)}}),WCF.Message.DefaultPreview=WCF.Message.Preview.extend({_dialog:null,_options:{},init:function(e){if(arguments.length>1&&"string"==typeof e)throw new Error("Outdated API call, please update your implementation.");if(this._options=$.extend({disallowedBBCodesPermission:"user.message.disallowedBBCodes",messageFieldID:"",previewButtonID:"",messageObjectType:"",messageObjectID:0},e),!this._options.messageObjectType)throw new Error("Field 'messageObjectType' cannot be empty.");this._super("wcf\\data\\bbcode\\MessagePreviewAction",this._options.messageFieldID,this._options.previewButtonID)},_handleResponse:function(e){require(["WoltLabSuite/Core/Ui/Dialog"],function(t){t.open(this,'
    '+e.returnValues.message+"
    ")}.bind(this))},_getParameters:function(e){var t,i=this._super(e);for(t in this._options)this._options.hasOwnProperty(t)&&"messageFieldID"!==t&&"previewButtonID"!==t&&(i[t]=this._options[t]);return i},_dialogSetup:function(){return{id:"messagePreview",options:{title:WCF.Language.get("wcf.global.preview")},source:null}}}),WCF.Message.I18nPreview=WCF.Message.Preview.extend({_activeMessageField:"",_dialog:null,_options:{},init:function(e){if(this._activeMessageField="",this._options=$.extend({disallowedBBCodesPermission:"user.message.disallowedBBCodes",messageFields:[],messageObjectType:"",messageObjectID:0},e),!this._options.messageObjectType)throw new Error("Field 'messageObjectType' cannot be empty.");if(this._options.messageFields.length<1)throw new TypeError("Expected a non empty list of message field ids");this._super("wcf\\data\\bbcode\\MessagePreviewAction",this._options.messageFields[0],"buttonMessagePreview")},_click:function(e){var t,i,s,n;for(this._messageFieldID="",this._textarea=null,t="",i=null,s=0,n=this._options.messageFields.length;s'+e.returnValues.message+"
    ")}.bind(this))},_dialogSetup:function(){return{id:"messagePreview",options:{title:WCF.Language.get("wcf.global.preview")},source:null}}}),WCF.Message.Multilingualism=Class.extend({_availableLanguages:{},_languageID:0,_languageInput:null,init:function(e,t,i){if(this._availableLanguages=t,this._languageID=e||0,this._languageInput=$("#languageID"),this._updateLabel(),this._languageInput.find(".dropdownMenu > li").click($.proxy(this._click,this)),!i){var s=this._languageInput.find(".dropdownMenu");$('
  • '+this._availableLanguages[0]+"
  • ").click($.proxy(this._disable,this)).appendTo(s)}this._languageInput.parents("form").submit($.proxy(this._submit,this))},_click:function(e){this._languageID=$(e.currentTarget).data("languageID"),this._updateLabel()},_disable:function(){this._languageID=0,this._updateLabel()},_updateLabel:function(){this._languageInput.find(".dropdownToggle > span").text(this._availableLanguages[this._languageID])},_submit:function(){this._languageInput.next("input[name=languageID]").prop("value",this._languageID)}}),WCF.Message.SmileyCategories=Class.extend({_cache:[],_proxy:null,_wysiwygSelector:"",init:function(e,t,i){this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._wysiwygSelector=e,this._smiliesTabMenuId=t||"smilies-"+this._wysiwygSelector,this._formBuilderUsage=i||!1,$("#"+this._smiliesTabMenuId).on("messagetabmenushow",$.proxy(this._click,this))},_click:function(e,t){var i;if(e.preventDefault(),this._formBuilderUsage){if(!t.activeTab.tab.children("a").prop("href").match(/#([a-zA-Z0-9_-]+)$/))return void console.debug("[WCF.Message.SmileyCategories] Cannot extract category id for tab '"+t.activeTab.tab.wcfIdentify()+"'.");if(!RegExp.$1.match(this._smiliesTabMenuId.replace(/Container$/,"")+"_smileyCategoryTab(\\d+)Container"))return void console.debug("[WCF.Message.SmileyCategories] Cannot extract category id for tab '"+t.activeTab.tab.wcfIdentify()+"'.");i=parseInt(RegExp.$1)}else i=parseInt(t.activeTab.tab.data("smileyCategoryID"));i&&(t.activeTab.container.children("ul.smileyList").length||(void 0===this._cache[i]?(this._proxy.setOption("data",{actionName:"getSmilies",className:"wcf\\data\\smiley\\category\\SmileyCategoryAction",objectIDs:[i]}),this._proxy.sendRequest()):t.activeTab.container.html(this._cache[i])))},_success:function(e,t,i){var s=parseInt(e.returnValues.smileyCategoryID);this._cache[s]=e.returnValues.template,this._formBuilderUsage?$("#"+this._smiliesTabMenuId.replace(/Container$/,"")+"_smileyCategoryTab"+s+"Container").html(e.returnValues.template):$("#smilies-"+this._wysiwygSelector+"-"+s).html(e.returnValues.template)}}),WCF.Message.Smilies=Class.extend({init:function(e){require(["WoltLabSuite/Core/Ui/Smiley/Insert"],(function(t){new t(e)}))}}),WCF.Message.InlineEditor=Class.extend({_container:{},_containerID:0,_dropdowns:{},_messageContainerSelector:".jsMessage",_messageEditorIDPrefix:"messageEditor",init:function(e,t,i){require(["WoltLabSuite/Core/Ui/Message/InlineEditor"],function(t){new t({className:this._getClassName(),containerId:e,editorPrefix:this._messageEditorIDPrefix,messageSelector:this._messageContainerSelector,quoteManager:i||null,callbackDropdownInit:this._callbackDropdownInit.bind(this)})}.bind(this))},_click:function(e,t){t=null===e?~~t:~~elData(e.currentTarget,"container-id"),require(["WoltLabSuite/Core/Ui/Message/InlineEditor"],function(e){e.legacyEdit(t)}.bind(this)),e&&e.preventDefault()},_initDropdownMenu:function(e,t){},_callbackDropdownInit:function(e,t){return this._initDropdownMenu($(e).wcfIdentify(),$(t)),null},_getClassName:function(){return""}}),WCF.Message.Submit={_buttons:{},registerButton:function(e,t){WCF.Browser.isChrome()&&(this._buttons[e]=$(t))},execute:function(e){this._buttons[e]&&this._buttons[e].trigger("click")}},WCF.Message.Quote={},WCF.Message.Quote.Handler=Class.extend({init:function(e,t,i,s,n,a,o){require(["WoltLabSuite/Core/Ui/Message/Quote"],(r=>{new r.default(e,t,i,s,n,a,o)}))}}),WCF.Message.Quote.Manager=Class.extend({_buttons:{},_count:0,_dialog:null,_editorId:"",_editorIdAlternative:"",_form:null,_handlers:{},_hasTemplate:!1,_insertQuotes:!0,_proxy:null,_removeOnSubmit:[],_supportPaste:!1,_supportPasteOverride:!1,init:function(e,t,i,s){if(this._buttons={insert:null,remove:null},this._count=parseInt(e)||0,this._dialog=null,this._editorId="",this._editorIdAlternative="",this._form=null,this._handlers={},this._hasTemplate=!1,this._insertQuotes=!0,this._removeOnSubmit=[],this._supportPaste=!1,this._supportPasteOverride=!1,t){var n=$("#"+t);n.length&&(this._editorId=t,this._supportPaste=!0,this._form=n.parents("form:eq(0)"),this._form.length?(this._form.submit(this._submit.bind(this)),this._removeOnSubmit=s||[]):(this._form=null,this._supportPaste=!0===i))}this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1,success:$.proxy(this._success,this),url:"index.php?message-quote/&t="+SECURITY_TOKEN}),this._toggleShowQuotes(),WCF.System.Event.addListener("com.woltlab.wcf.quote","reload",this.countQuotes.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.message.quote","insert",function(e){WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertQuote_"+(this._editorIdAlternative?this._editorIdAlternative:this._editorId),{author:e.quote.username,content:e.quote.text,isText:!e.quote.isFullQuote,link:e.quote.link})}.bind(this))},setAlternativeEditor:function(e){this._editorIdAlternative||this._supportPaste||(this._hasTemplate=!1,this._supportPaste=!0,this._supportPasteOverride=!0),"object"==typeof e&&(e=e[0].id),this._editorIdAlternative=e},clearAlternativeEditor:function(){this._supportPasteOverride&&(this._hasTemplate=!1,this._supportPaste=!1,this._supportPasteOverride=!1),this._editorIdAlternative=""},register:function(e,t){this._handlers[e]=t},updateCount:function(e,t){var i,s;for(i in this._count=parseInt(e)||0,this._toggleShowQuotes(),this._handlers)this._handlers.hasOwnProperty(i)&&(s=t[i]||[],this._handlers[i].updateFullQuoteObjectIDs(s))},insertQuotes:function(e,t,i){this._insertQuotes?new WCF.Action.Proxy({autoSend:!0,data:{actionName:"getRenderedQuotes",className:e,interfaceName:"wcf\\data\\IMessageQuoteAction",parameters:{parentObjectID:t}},success:i}):this._insertQuotes=!0},_toggleShowQuotes:function(){require(["WoltLabSuite/Core/Ui/Page/Action"],function(e){var t,i="showQuotes";this._count?(void 0===(t=e.get(i))&&((t=elCreate("a")).addEventListener("mousedown",this._click.bind(this)),e.add(i,t)),t.textContent=WCF.Language.get("wcf.message.quote.showQuotes",{count:this._count}),e.show(i)):e.remove(i),this._hasTemplate=!1}.bind(this))},_click:function(){var e=document.activeElement;e.classList.contains("redactor-layer")&&$("#"+elData(e,"element-id")).redactor("selection.save"),this._hasTemplate?this._dialog.wcfDialog("open"):(this._proxy.showLoadingOverlayOnce(),this._proxy.setOption("data",{actionName:"getQuotes",supportPaste:this._supportPaste}),this._proxy.sendRequest())},renderDialog:function(e){var t,i,s;null===this._dialog&&(this._dialog=$("#messageQuoteList"),this._dialog.length||(this._dialog=$('
    ').hide().appendTo(document.body))),this._dialog.html(e),t=$('
    ').appendTo(this._dialog),this._supportPaste&&(this._buttons.insert=$('").click($.proxy(this._insertSelected,this)).appendTo(t)),this._buttons.remove=$("").click($.proxy(this._removeSelected,this)).appendTo(t),this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.quote.manageQuotes")}),this._dialog.wcfDialog("render"),this._hasTemplate=!0,i=this._dialog.find(".jsInsertQuote"),this._supportPaste?i.click($.proxy(this._insertQuote,this)):i.hide(),this._dialog.find("input.jsCheckbox").change($.proxy(this._changeButtons,this)),this._removeOnSubmit.length&&(s=this,this._dialog.find("input.jsRemoveQuote").each((function(e,t){var i=$(t).change($.proxy(this._change,this));WCF.inArray(i.parent("li").attr("data-quote-id"),s._removeOnSubmit)&&i.attr("checked","checked")})))},_changeButtons:function(){this._dialog.find("input.jsCheckbox:checked").length?(this._supportPaste&&this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertSelectedQuotes")),this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeSelectedQuotes"))):(this._supportPaste&&this._buttons.insert.html(WCF.Language.get("wcf.message.quote.insertAllQuotes")),this._buttons.remove.html(WCF.Language.get("wcf.message.quote.removeAllQuotes")))},_change:function(e){var t,i=$(e.currentTarget),s=i.parent("li").attr("data-quote-id");i.prop("checked")?this._removeOnSubmit.push(s):-1!==(t=this._removeOnSubmit.indexOf(s))&&this._removeOnSubmit.splice(t,1)},_insertSelected:function(){this._dialog.find("input.jsCheckbox:checked").length||this._dialog.find("input.jsCheckbox").prop("checked","checked"),this._dialog.find("input.jsCheckbox:checked").each($.proxy((function(e,t){this._insertQuote(null,t)}),this)),this._dialog.wcfDialog("close")},_insertQuote:function(e,t){var i=$(e?e.currentTarget:t).parents("li:eq(0)"),s=i.children(".jsFullQuote")[0].textContent.trim(),n=i.parents(".message:eq(0)"),a=n.data("username"),o=n.data("link"),r=!elDataBool(i[0],"is-full-quote");WCF.System.Event.fireEvent("com.woltlab.wcf.redactor2","insertQuote_"+(this._editorIdAlternative?this._editorIdAlternative:this._editorId),{author:a,content:s,isText:r,link:o}),this._removeOnSubmit.push(i.data("quote-id")),null!==e&&require(["WoltLabSuite/Core/Environment"],function(e){var t=function(){this._dialog.wcfDialog("close")}.bind(this);"ios"===e.platform()?window.setTimeout(t,100):t()}.bind(this))},_removeSelected:function(){var e,t,i;if(this._dialog.find("input.jsCheckbox:checked").length||this._dialog.find("input.jsCheckbox").prop("checked","checked"),e=[],this._dialog.find("input.jsCheckbox:checked").each((function(t,i){e.push($(i).parents("li").attr("data-quote-id"))})),e.length){for(i in t=[],this._handlers)this._handlers.hasOwnProperty(i)&&t.push(i);this._proxy.setOption("data",{actionName:"remove",getFullQuoteObjectIDs:this._handlers.length>0,objectTypes:t,quoteIDs:e}),this._proxy.sendRequest(),this._dialog.wcfDialog("close")}},_submit:function(){var e,t,i;if(this._supportPaste&&this._removeOnSubmit.length>0)for(e=this._form.find(".formSubmit"),t=0,i=this._removeOnSubmit.length;t').appendTo(e)},getQuotesMarkedForRemoval:function(){return this._removeOnSubmit},markQuotesForRemoval:function(){this._removeOnSubmit.length&&(this._proxy.setOption("data",{actionName:"markForRemoval",quoteIDs:this._removeOnSubmit}),this._proxy.suppressErrors(),this._proxy.sendRequest())},removeMarkedQuotes:function(){this._removeOnSubmit.length&&(this._proxy.setOption("data",{actionName:"removeMarkedQuotes",getFullQuoteObjectIDs:this._handlers.length>0}),this._proxy.sendRequest())},countQuotes:function(){var e,t=[];for(e in this._handlers)this._handlers.hasOwnProperty(e)&&t.push(e);this._proxy.setOption("data",{actionName:"count",getFullQuoteObjectIDs:t.length>0,objectTypes:t}),this._proxy.sendRequest()},_success:function(e){if(null!==e){if(void 0!==e.count){var t=void 0!==e.fullQuoteObjectIDs?e.fullQuoteObjectIDs:{};this.updateCount(e.count,t)}void 0!==e.template&&(""==$.trim(e.template)?this.updateCount(0,{}):this.renderDialog(e.template))}},supportPaste:function(){return this._supportPaste}}),WCF.Message.Share={},WCF.Message.Share.Content=Class.extend({_cache:{},_dialog:null,_shareButtonsTemplate:"",init:function(e){this._shareButtonsTemplate=e||"",this._cache={},this._dialog=null,this._initLinks(),WCF.DOMNodeInsertedHandler.addCallback("WCF.Message.Share.Content",$.proxy(this._initLinks,this))},_initLinks:function(){$("a.jsButtonShare").removeClass("jsButtonShare").click($.proxy(this._click,this))},_click:function(e){var t,i,s,n,a,o;e.preventDefault(),i=(t=$(e.currentTarget)).prop("href"),s=t.data("linkTitle")?t.data("linkTitle"):i,n=i.hashCode(),void 0===this._cache[n]?(a=!1,null===this._dialog?(this._dialog=$('
    ').hide().appendTo(document.body),a=!0):this._dialog.empty(),o=$('

    ").appendTo(this._dialog),$('').attr("value",i).appendTo(o),o=$('

    ").appendTo(this._dialog),$('').attr("value","[url='"+i+"']"+s+"[/url]").appendTo(o),o=$('

    ").appendTo(this._dialog),$('').attr("value",''+WCF.String.escapeHTML(s)+"").appendTo(o),""!==this._shareButtonsTemplate&&(o=$('

    '+WCF.Language.get("wcf.message.share")+"

    "+this._shareButtonsTemplate+"
    ").appendTo(this._dialog),elData(o.children(".jsMessageShareButtons")[0],"url",WCF.String.escapeHTML(i))),this._cache[n]=this._dialog.html(),a?this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.share")}):this._dialog.wcfDialog("open")):this._dialog.html(this._cache[n]).wcfDialog("open"),this._enableSelection()},_enableSelection:function(){var e=this._dialog.find("input").click((function(){$(this).select()}));navigator.userAgent.match(/iP(ad|hone|od)/)&&e.keydown((function(){return!1})).removeAttr("readonly").click((function(){this.setSelectionRange(0,9999)}))}}),WCF.Message.Share.Page=Class.extend({init:function(){require(["WoltLabSuite/Core/Ui/Message/Share"],(function(e){e.init()}))}}),$.widget("wcf.messageTabMenu",{_tabs:[],_tabsByName:{},options:{collapsible:!0},_create:function(){var e,t,i,s,n,a,o,r,l,u=this.element.find("> nav"),c=u.find("> ul > li:not(.jsFlexibleMenuDropdown)"),h=this.element.find("> div, > fieldset");if(c.length==h.length){for(e=this.element.data("preselect"),h.each((function(t,i){if(null!==elBySel(".innerError",i))return e=$(c[t]).data("name"),!1})),"true"===e&&(e=!0),this._tabs=[],this._tabsByName={},t=0;t ul > li[data-name] > a",o))&&$(r).trigger("mousedown");continue}if(!0===i)continue}a.tab.removeClass("active"),a.container.removeClass("active"),a.tab.children("a").attr("aria-expanded",!1)}null!==e&&(e.preventDefault(),e.stopPropagation()),null!==s&&this._trigger("show",{},{activeTab:s}),$(window).trigger("resize")},showTab:function(e,t){$.isNumeric(e)||void 0!==this._tabsByName[e]&&(e=this._tabsByName[e]),void 0!==this._tabs[e]?this._showTab(null,e,t):console.debug("[wcf.messageTabMenu] Cannot locate tab identified by '"+e+"'")},getTab:function(e){return void 0!==this._tabsByName[e]?this._tabs[this._tabsByName[e]].tab:null},getContainer:function(e){return void 0!==this._tabsByName[e]?this._tabs[this._tabsByName[e]].container:null}}); })(this); // WCF.Poll.js (function (window, undefined) { "use strict";WCF.Poll={},WCF.Poll.Management=Class.extend({_container:null,_count:0,_editorId:"",_maxOptions:0,init:function(e,t,n,i,o){this._count=0,this._maxOptions=n||-1,this._container=$("#"+e).children("ol:eq(0)"),this._fieldName=o||"pollOptions",this._container.length?(t=t||[],this._createOptionList(t),i?(this._editorId=i,WCF.System.Event.addListener("com.woltlab.wcf.redactor2","reset_"+i,this._reset.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","submit_"+i,this._submit.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","validate_"+i,this._validate.bind(this)),WCF.System.Event.addListener("com.woltlab.wcf.redactor2","handleError_"+i,this._handleError.bind(this))):this._container.closest("form").submit($.proxy(this._submit,this)),require(["WoltLabSuite/Core/Ui/Sortable/List"],(function(t){new t({containerId:e,options:{toleranceElement:"> div"}})}))):console.debug("[WCF.Poll.Management] Invalid container id given, aborting.")},_createOptionList:function(e){var t,n,i;for(t=0,n=e.length;t').data("optionID",t),null===n?i.appendTo(this._container):i.insertAfter(n),o=$('
    ').appendTo(i),$('').appendTo(o),$('').click($.proxy(this._addOption,this)).appendTo(o),$('').click($.proxy(this._removeOption,this)).appendTo(o),(r=$('').keydown($.proxy(this._keyDown,this)).appendTo(o)).click((function(){document.activeElement!==this&&this.focus()})),null!==n&&r.focus(),WCF.DOMNodeInsertedHandler.execute(),this._count++,this._count===this._maxOptions&&this._container.find("span.jsAddOption").removeClass("pointer").addClass("disabled")},_keyDown:function(e){13===e.which&&($(e.currentTarget).parent().children(".jsAddOption").trigger("click"),e.preventDefault())},_addOption:function(e){if(e.preventDefault(),this._count===this._maxOptions)return!1;var t=$(e.currentTarget).closest("li",this._container[0]);this._createOption(void 0,void 0,t)},_removeOption:function(e){e.preventDefault(),$(e.currentTarget).closest("li",this._container[0]).remove(),this._count--,this._container.find("span.jsAddOption").addClass("pointer").removeClass("disabled"),0==this._container.children("li").length&&this._createOption()},_submit:function(e){var t,n,i,o=[];if(this._container.children("li").each((function(e,t){var n=$(t),i=$.trim(n.find("input").val());""!=i&&o.push(n.data("optionID")+"_"+i)})),"object"==typeof e.originalEvent&&e.originalEvent instanceof Event){if(o.length)for(t=this._container.parents("form").find(".formSubmit"),n=0,i=o.length;n').val(o[n]).appendTo(t)}else e.poll={pollOptions:o},this._container.parents(".messageTabMenuContent:eq(0)").find("input").each((function(t,n){n.name&&("checkbox"!==n.type||n.checked)&&(e.poll[n.name]=n.value)}))},_reset:function(){for(var e=this._container[0];e.childElementCount>1;)e.removeChild(e.children[1]);elBySel("input",e.children[0]).value="",this._container.parents(".messageTabMenuContent:eq(0)").find("input").each((function(e,t){t.name&&("checkbox"===t.type?t.checked=!1:"text"===t.type?t.value="":"number"===t.type&&(t.value=t.min))})),require(["WoltLabSuite/Core/Date/Picker"],function(e){e.clear("pollEndTime_"+this._editorId)}.bind(this))},_validate:function(e){var t,n,i,o=0;if(elBySelAll('li input[type="text"]',this._container[0],(function(e){""!==e.value.trim()&&o++})),""===(t=elById("pollQuestion_"+this._editorId)).value.trim()){if(0===o)return;e.api.throwError(t,WCF.Language.get("wcf.global.form.error.empty")),e.valid=!1}0===o?(e.api.throwError(this._container[0],WCF.Language.get("wcf.global.form.error.empty")),e.valid=!1):(i=~~(n=elById("pollMaxVotes_"+this._editorId)).value)&&i>o&&(e.api.throwError(n,WCF.Language.get("wcf.poll.maxVotes.error.invalid")),e.valid=!1)},_handleError:function(e){var t,n,i,o,r,a;switch(e.returnValues.fieldName){case"pollQuestion":t=elById("pollQuestion_"+this._editorId),n=WCF.Language.get("wcf.global.form.error.empty"),"empty"!==e.returnValues.errorType&&(n=WCF.Language.get("wcf.poll.pollQuestion.error."+e.returnValues.errorType)),elInnerError(t,n),e.cancel=!0;break;case"pollEndTime":case"pollMaxVotes":i="pollEndTime"===e.returnValues.fieldName?"endTime":"maxVotes",(o=elCreate("small")).className="innerError",o.innerHTML=WCF.Language.get("wcf.poll."+i+".error."+e.returnValues.errorType),(a=(r=elById(e.returnValues.fieldName+"_"+this._editorId)).parentElement).classList.contains("inputAddon")&&(r=a,a=a.parentElement),a.insertBefore(o,r.nextSibling),e.cancel=!0}}}); })(this); diff --git a/wcfsetup/install/files/js/WoltLabSuite.Core.min.js b/wcfsetup/install/files/js/WoltLabSuite.Core.min.js index 0fccc44666..0a80912bb8 100644 --- a/wcfsetup/install/files/js/WoltLabSuite.Core.min.js +++ b/wcfsetup/install/files/js/WoltLabSuite.Core.min.js @@ -1,2 +1,2 @@ -var requirejs,require,define,__extends,__assign,__rest,__decorate,__param,__metadata,__awaiter,__generator,__exportStar,__values,__read,__spread,__spreadArrays,__spreadArray,__await,__asyncGenerator,__asyncDelegator,__asyncValues,__makeTemplateObject,__importStar,__importDefault,__classPrivateFieldGet,__classPrivateFieldSet,__classPrivateFieldIn,__createBinding,_self,Prism;(function(global,Promise,undef){function commentReplace(e,t){return t||""}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return e&&hasProp(e,t)&&e[t]}function obj(){return Object.create(null)}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,n){return t&&eachProp(t,(function(t,o){!i&&hasProp(e,o)||(!n||"object"!=typeof t||!t||Array.isArray(t)||"function"==typeof t||t instanceof RegExp?e[o]=t:(e[o]||(e[o]={}),mixin(e[o],t,i,n)))})),e}function getGlobal(e){if(!e)return e;var t=global;return e.split(".").forEach((function(e){t=t[e]})),t}function newContext(e){function t(e,t,i){var n,o,a,r,s,l,c,d,u,p,h=t&&t.split("/"),m=k.map,f=m&&m["*"];if(e&&(l=(e=e.split("/")).length-1,k.nodeIdCompat&&jsSuffixRegExp.test(e[l])&&(e[l]=e[l].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),function(e){var t,i,n=e.length;for(t=0;t0&&(e.splice(t-1,2),t-=2)}}(e),e=e.join("/")),i&&m&&(h||f)){e:for(a=(o=e.split("/")).length;a>0;a-=1){if(s=o.slice(0,a).join("/"),h)for(r=h.length;r>0;r-=1)if((n=getOwn(m,h.slice(0,r).join("/")))&&(n=getOwn(n,s))){c=n,d=a;break e}!u&&f&&getOwn(f,s)&&(u=getOwn(f,s),p=a)}!c&&u&&(c=u,d=p),c&&(o.splice(0,d,c),e=o.join("/"))}return getOwn(k.pkgs,e)||e}function i(e){var t,i,n,o;for(t=0;t0;r-=1)if(l=getOwn(n,a.slice(0,r).join("/"))){Array.isArray(l)&&(l=l[0]),a.splice(0,r,l);break}s=a.join("/"),s=("/"===(s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js")).charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":k.baseUrl)+s}return k.urlArgs&&!/^blob\:/.test(s)?s+k.urlArgs(e,s):s},o.toUrl=function(i){var n,a=i.lastIndexOf("."),r=i.split("/")[0];return-1!==a&&(!("."===r||".."===r)||a>1)&&(n=i.substring(a,i.length),i=i.substring(0,a)),o.nameToUrl(t(i,e),n,!0)},o.defined=function(t){return v(t,e,!0).id in C},o.specified=function(t){return(t=v(t,e,!0).id)in C||t in M},o}function o(e,t,i){e&&(C[e]=i,requirejs.onResourceLoad&&requirejs.onResourceLoad(L,t.map,t.deps)),t.finished=!0,t.resolve(i)}function a(e,t){e.finished=!0,e.rejected=!0,e.reject(t)}function r(e){e.factoryCalled=!0;var t,i=e.map.id;try{t=L.execCb(i,e.factory,e.values,C[i])}catch(t){return a(e,t)}i?t===undef&&(e.cjsModule?t=e.cjsModule.exports:e.usingExports&&(t=C[i])):T.splice(T.indexOf(e),1),o(i,e,t)}function s(e,t){this.rejected||this.depDefined[t]||(this.depDefined[t]=!0,this.depCount+=1,this.values[t]=e,this.depending||this.depCount!==this.depMax||r(this))}function l(e,t){var i={};return i.promise=new Promise((function(t,n){i.resolve=t,i.reject=function(t){e||T.splice(T.indexOf(i),1),n(t)}})),i.map=e?t||v(e):{},i.depCount=0,i.depMax=0,i.values=[],i.depDefined=[],i.depFinished=s,i.map.pr&&(i.deps=[v(i.map.pr)]),i}function c(e,t){var i;return e?(i=e in M&&M[e])||(i=M[e]=l(e,t)):(i=l(),T.push(i)),i}function d(e,t){return function(i){e.rejected||(i.dynaId||(i.dynaId="id"+(N+=1),i.requireModules=[t]),a(e,i))}}function u(e,t,i,n){i.depMax+=1,w(e,t).then((function(e){i.depFinished(e,n)}),d(i,e.id)).catch(d(i,i.map.id))}function p(e,t,r){e.load(t.n,n(r),function(e){function t(t){n||o(e,c(e),t)}var n;return t.error=function(t){c(e).reject(t)},t.fromText=function(t,o){var r=c(e),s=v(v(e).n),l=s.id;n=!0,r.factory=function(e,t){return t},o&&(t=o),hasProp(k.config,e)&&(k.config[l]=k.config[e]);try{b.exec(t)}catch(e){a(r,new Error("fromText eval for "+l+" failed: "+e))}i(l),r.deps=[s],u(s,null,r,r.deps.length)},t}(t.id),k)}function h(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function m(e,t,i){var n=e.map.id;t[n]=!0,!e.finished&&e.deps&&e.deps.forEach((function(n){var o=n.id,a=!hasProp(y,o)&&c(o,n);!a||a.finished||i[o]||(hasProp(t,o)?e.deps.forEach((function(t,i){t.id===o&&e.depFinished(C[o],i)})):m(a,t,i))})),i[n]=!0}function f(e){var t,i,n,o=[],a=1e3*k.waitSeconds,r=a&&P+a<(new Date).getTime();if(0===j&&(e?e.finished||m(e,{},{}):T.length&&T.forEach((function(e){m(e,{},{})}))),r){for(i in M)(n=M[i]).finished||o.push(n.map.id);(t=new Error("Timeout for modules: "+o)).requireModules=o,b.onError(t)}else(j||T.length)&&(E||(E=!0,setTimeout((function(){E=!1,f()}),70)))}function g(e){return setTimeout((function(){e.dynaId&&O[e.dynaId]||(O[e.dynaId]=!0,b.onError(e))})),e}var b,_,v,w,y,E,S,L,C=obj(),x=obj(),k={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},I=obj(),T=[],M=obj(),D=obj(),A=obj(),j=0,P=(new Date).getTime(),N=0,O=obj(),B=obj(),q=obj(),U=Promise.resolve();return S="function"==typeof importScripts?function(e){var t=e.url;B[t]||(B[t]=!0,c(e.id),importScripts(t),i(e.id))}:function(e){var t,n=e.id,o=e.url;B[o]||(B[o]=!0,(t=document.createElement("script")).setAttribute("data-requiremodule",n),t.type=k.scriptType||"text/javascript",t.charset="utf-8",t.async=!0,j+=1,t.addEventListener("load",(function(){j-=1,i(n)}),!1),t.addEventListener("error",(function(){var e,i,o;j-=1,(i=getOwn(k.paths,n))&&Array.isArray(i)&&i.length>1?(t.parentNode.removeChild(t),i.shift(),(o=c(n)).map=v(n),o.map.url=b.nameToUrl(n),S(o.map)):((e=new Error("Load failed: "+n+": "+t.src)).requireModules=[n],c(n).reject(e))}),!1),t.src=o,10===document.documentMode?asap.then((function(){document.head.appendChild(t)})):document.head.appendChild(t))},w=function(e,t){var i,n,o=e.id,a=k.shim[o];if(o in x)i=x[o],delete x[o],_.apply(undef,i);else if(!(o in M))if(e.pr){if(!(n=getOwn(q,o)))return w(v(e.pr)).then((function(i){var n=e.prn?e:v(o,t,!0),a=n.id,r=getOwn(k.shim,a);return a in A||(A[a]=!0,r&&r.deps?b(r.deps,(function(){p(i,n,t)})):p(i,n,t)),c(a).promise}));e.url=b.nameToUrl(n),S(e)}else a&&a.deps?b(a.deps,(function(){S(e)})):S(e);return c(o).promise},v=function(e,i,n){if("string"!=typeof e)return e;var o,a,r,s,l,c,d=e+" & "+(i||"")+" & "+!!n;return s=(r=h(e))[0],e=r[1],!s&&d in I?I[d]:(s&&(o=(s=t(s,i,n))in C&&C[s]),s?o&&o.normalize?(e=o.normalize(e,function(e){return function(i){return t(i,e,!0)}}(i)),c=!0):e=-1===e.indexOf("!")?t(e,i,n):e:(s=(r=h(e=t(e,i,n)))[0],e=r[1],a=b.nameToUrl(e)),l={id:s?s+"!"+e:e,n:e,pr:s,url:a,prn:s&&c},s||(I[d]=l),l)},y={require:function(e){return n(e)},exports:function(e){var t=C[e];return void 0!==t?t:C[e]={}},module:function(e){return{id:e,uri:"",exports:y.exports(e),config:function(){return getOwn(k.config,e)||{}}}}},_=function(e,t,i,n,a){if(e){if(e in D)return;D[e]=!0}var s=c(e);return t&&!Array.isArray(t)&&(i=t,t=[]),t=t?slice.call(t,0):null,n||(hasProp(k,"defaultErrback")?k.defaultErrback&&(n=k.defaultErrback):n=g),n&&s.promise.catch(n),a=a||e,"function"==typeof i?(!t.length&&i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,(function(e,i){t.push(i)})),t=(1===i.length?["require"]:["require","exports","module"]).concat(t)),s.factory=i,s.deps=t,s.depending=!0,t.forEach((function(i,n){var o;t[n]=o=v(i,a,!0),"require"===(i=o.id)?s.values[n]=y.require(e):"exports"===i?(s.values[n]=y.exports(e),s.usingExports=!0):"module"===i?s.values[n]=s.cjsModule=y.module(e):void 0===i?s.values[n]=void 0:u(o,a,s,n)})),s.depending=!1,s.depCount===s.depMax&&r(s)):e&&o(e,s,i),P=(new Date).getTime(),e||f(s),s.promise},(b=n(null,!0)).config=function(t){var i,n,o,a;return t.context&&t.context!==e?(i=getOwn(contexts,t.context))?i.req.config(t):newContext(t.context).config(t):(I=obj(),t.baseUrl&&"/"!==t.baseUrl.charAt(t.baseUrl.length-1)&&(t.baseUrl+="/"),"string"==typeof t.urlArgs&&(n=t.urlArgs,t.urlArgs=function(e,t){return(-1===t.indexOf("?")?"?":"&")+n}),o=k.shim,a={paths:!0,bundles:!0,config:!0,map:!0},eachProp(t,(function(e,t){a[t]?(k[t]||(k[t]={}),mixin(k[t],e,!0,!0)):k[t]=e})),t.bundles&&eachProp(t.bundles,(function(e,t){e.forEach((function(e){e!==t&&(q[e]=t)}))})),t.shim&&(eachProp(t.shim,(function(e,t){Array.isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=function(e){return function(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}}(e)),o[t]=e})),k.shim=o),t.packages&&t.packages.forEach((function(e){var t;t=(e="string"==typeof e?{name:e}:e).name,e.location&&(k.paths[t]=e.location),k.pkgs[t]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")})),(t.deps||t.callback)&&b(t.deps,t.callback),b)},b.onError=function(e){throw e},L={id:e,defined:C,waiting:x,config:k,deferreds:M,req:b,execCb:function(e,t,i,n){return t.apply(n,i)}},contexts[e]=L,b}var topReq,dataMain,src,subPath,bootstrapConfig,hasOwn,contexts,queue,currDirRegExp,urlRegExp,commentRegExp,cjsRequireRegExp,jsSuffixRegExp,slice,asap;if(!Promise)throw new Error("No Promise implementation available");bootstrapConfig=requirejs||require,hasOwn=Object.prototype.hasOwnProperty,contexts={},queue=[],currDirRegExp=/^\.\//,urlRegExp=/^\/|\:|\?|\.js$/,commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,slice=Array.prototype.slice,"function"!=typeof requirejs&&(asap=Promise.resolve(void 0),requirejs=topReq=newContext("_"),"function"!=typeof require&&(require=topReq),topReq.exec=function(text){return eval(text)},topReq.contexts=contexts,define=function(){queue.push(slice.call(arguments,0))},define.amd={jQuery:!0},bootstrapConfig&&topReq.config(bootstrapConfig),topReq.isBrowser&&!contexts._.config.skipDataMain&&(dataMain=document.querySelectorAll("script[data-main]")[0],dataMain=dataMain&&dataMain.getAttribute("data-main"),dataMain&&(dataMain=dataMain.replace(jsSuffixRegExp,""),bootstrapConfig&&bootstrapConfig.baseUrl||-1!==dataMain.indexOf("!")||(src=dataMain.split("/"),dataMain=src.pop(),subPath=src.length?src.join("/")+"/":"./",topReq.config({baseUrl:subPath})),topReq([dataMain]))))})(this,"undefined"!=typeof Promise?Promise:void 0),define("requireLib",(function(){})),requirejs.config({paths:{"focus-trap":"3rdParty/focus-trap/focus-trap.umd.min","perfect-scrollbar":"3rdParty/perfect-scrollbar",Pica:"3rdParty/pica",pica:"3rdParty/pica",prism:"3rdParty/prism",prismjs:"3rdParty/prism/prism","qr-creator":"3rdParty/qr-creator.min",tabbable:"3rdParty/focus-trap/index.umd.min",tslib:"3rdParty/tslib",zxcvbn:"3rdParty/zxcvbn"},packages:[{name:"codemirror",location:"3rdParty/codemirror",main:"lib/codemirror"}],shim:{"perfect-scrollbar":{exports:"PerfectScrollbar"},"qr-creator":{exports:"QrCreator"}},map:{"*":{Ajax:"WoltLabSuite/Core/Ajax",AjaxJsonp:"WoltLabSuite/Core/Ajax/Jsonp",AjaxRequest:"WoltLabSuite/Core/Ajax/Request",CallbackList:"WoltLabSuite/Core/CallbackList",ColorUtil:"WoltLabSuite/Core/ColorUtil",Core:"WoltLabSuite/Core/Core",DateUtil:"WoltLabSuite/Core/Date/Util",Devtools:"WoltLabSuite/Core/Devtools",Dictionary:"WoltLabSuite/Core/Dictionary","Dom/ChangeListener":"WoltLabSuite/Core/Dom/Change/Listener","Dom/Traverse":"WoltLabSuite/Core/Dom/Traverse","Dom/Util":"WoltLabSuite/Core/Dom/Util",Environment:"WoltLabSuite/Core/Environment",EventHandler:"WoltLabSuite/Core/Event/Handler",EventKey:"WoltLabSuite/Core/Event/Key",Language:"WoltLabSuite/Core/Language",List:"WoltLabSuite/Core/List",ObjectMap:"WoltLabSuite/Core/ObjectMap",Permission:"WoltLabSuite/Core/Permission",StringUtil:"WoltLabSuite/Core/StringUtil","Ui/Alignment":"WoltLabSuite/Core/Ui/Alignment","Ui/CloseOverlay":"WoltLabSuite/Core/Ui/CloseOverlay","Ui/Confirmation":"WoltLabSuite/Core/Ui/Confirmation","Ui/Dialog":"WoltLabSuite/Core/Ui/Dialog","Ui/Notification":"WoltLabSuite/Core/Ui/Notification","Ui/ReusableDropdown":"WoltLabSuite/Core/Ui/Dropdown/Reusable","Ui/Screen":"WoltLabSuite/Core/Ui/Screen","Ui/Scroll":"WoltLabSuite/Core/Ui/Scroll","Ui/SimpleDropdown":"WoltLabSuite/Core/Ui/Dropdown/Simple","Ui/TabMenu":"WoltLabSuite/Core/Ui/TabMenu",Upload:"WoltLabSuite/Core/Upload",User:"WoltLabSuite/Core/User"}},waitSeconds:0}),define("jquery",[],(function(){return window.jQuery})),define("require.config",(function(){})),function(e,t){var i;e.elAttr=function(e,t,i){if(void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elAttrBool=function(e,t){var i=elAttr(e,t);return"1"===i||"true"===i},e.elByClass=function(e,i){return(i||t).getElementsByClassName(e)},e.elById=function(e){return t.getElementById(e)},e.elBySel=function(e,i){return(i||t).querySelector(e)},e.elBySelAll=function(e,i,n){var o=(i||t).querySelectorAll(e);return"function"==typeof n&&Array.prototype.forEach.call(o,n),o},e.elByTag=function(e,i){return(i||t).getElementsByTagName(e)},e.elCreate=function(e){return t.createElement(e)},e.elClosest=function(e,t){if(!(e instanceof Node))throw new TypeError("Provided element is not a Node.");return e.nodeType===Node.TEXT_NODE&&null===(e=e.parentNode)?null:("string"!=typeof t&&(t=""),0===t.length?e:e.closest(t))},e.elData=function(e,t,i){if(t="data-"+t,void 0===i)return e.getAttribute(t)||"";e.setAttribute(t,i)},e.elDataBool=function(e,t){var i=elData(e,t);return"1"===i||"true"===i},e.elHide=function(e){e.style.setProperty("display","none","")},e.elIsHidden=function(e){return"none"===e.style.getPropertyValue("display")},e.elInnerError=function(e,t,i){var n,o,a,r=e.parentNode;if(null===r)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(null!=t&&!1!==t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}return o=e,(n=r).classList.contains("inputAddon")&&(n=r.parentElement,o=r),null!==(a=o.nextElementSibling)&&"SMALL"===a.nodeName&&a.classList.contains("innerError")||(""===t?a=null:((a=elCreate("small")).className="innerError",n.insertBefore(a,o.nextSibling))),""===t?null!==a&&(r.removeChild(a),a=null):a[i?"innerHTML":"textContent"]=t,a},e.elRemove=function(e){e.parentNode.removeChild(e)},e.elShow=function(e){e.style.removeProperty("display")},e.elToggle=function(e){"none"===e.style.getPropertyValue("display")?elShow(e):elHide(e)},e.forEach=function(e,t){for(var i=0,n=e.length;ie.trim())).find((e=>e.startsWith("XSRF-TOKEN=")));if(void 0===e)return"COOKIE_NOT_FOUND";const[i,n]=e.split(/=/,2);return decodeURIComponent(n.trim())}})}(window,document),define("wcf.globalHelper",(function(){})),function(e){function t(e,t){return e!==i&&("function"==typeof Object.create?Object.defineProperty(e,"__esModule",{value:!0}):e.__esModule=!0),function(i,n){return e[i]=t?t(i,n):n}}var i="object"==typeof global?global:"object"==typeof self?self:"object"==typeof this?this:{};"function"==typeof define&&define.amd?define("tslib",["exports"],(function(n){e(t(i,t(n)))})):"object"==typeof module&&"object"==typeof module.exports?e(t(i,t(module.exports))):e(t(i))}((function(e){var t,i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])};__extends=function(e,t){function n(){this.constructor=e}if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},__assign=Object.assign||function(e){var t,i,n,o;for(i=1,n=arguments.length;i=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},__param=function(e,t){return function(i,n){t(i,n,e)}},__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},__awaiter=function(e,t,i,n){return new(i||(i=Promise))((function(o,a){function r(e){try{l(n.next(e))}catch(e){a(e)}}function s(e){try{l(n.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,s)}l((n=n.apply(e,t||[])).next())}))},__generator=function(e,t){function i(i){return function(r){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,o=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(a=s.trys,(a=a.length>0&&a[a.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},__read=function(e,t){var i,n,o,a,r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;i=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)o.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(a)throw a.error}}return o},__spread=function(){for(var e=[],t=0;t1||o(e,t)}))})}function o(e,t){try{(i=c[e](t)).value instanceof __await?Promise.resolve(i.value.v).then(a,r):s(d[0][2],i)}catch(e){s(d[0][3],e)}var i}function a(e){o("next",e)}function r(e){o("throw",e)}function s(e,t){e(t),d.shift(),d.length&&o(d[0][0],d[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var l,c=i.apply(e,t||[]),d=[];return l={},n("next"),n("throw"),n("return"),l[Symbol.asyncIterator]=function(){return this},l},__asyncDelegator=function(e){function t(t,o){i[t]=e[t]?function(i){return(n=!n)?{value:__await(e[t](i)),done:"return"===t}:o?o(i):i}:o}var i,n;return i={},t("next"),t("throw",(function(e){throw e})),t("return"),i[Symbol.iterator]=function(){return this},i},__asyncValues=function(e){function t(t){i[t]=e[t]&&function(i){return new Promise((function(n,o){(function(e,t,i,n){Promise.resolve(n).then((function(t){e({value:t,done:i})}),t)})(n,o,(i=e[t](i)).done,i.value)}))}}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),i={},t("next"),t("throw"),t("return"),i[Symbol.asyncIterator]=function(){return this},i)},__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},__importStar=function(e){var i,n;if(e&&e.__esModule)return e;if(i={},null!=e)for(n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(i,e,n);return t(i,e),i},__importDefault=function(e){return e&&e.__esModule?e:{default:e}},__classPrivateFieldGet=function(e,t,i,n){if("a"===i&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?n:"a"===i?n.call(e):n?n.value:t.get(e)},__classPrivateFieldSet=function(e,t,i,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(e,i):o?o.value=i:t.set(e,i),i},__classPrivateFieldIn=function(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)},e("__extends",__extends),e("__assign",__assign),e("__rest",__rest),e("__decorate",__decorate),e("__param",__param),e("__metadata",__metadata),e("__awaiter",__awaiter),e("__generator",__generator),e("__exportStar",__exportStar),e("__createBinding",__createBinding),e("__values",__values),e("__read",__read),e("__spread",__spread),e("__spreadArrays",__spreadArrays),e("__spreadArray",__spreadArray),e("__await",__await),e("__asyncGenerator",__asyncGenerator),e("__asyncDelegator",__asyncDelegator),e("__asyncValues",__asyncValues),e("__makeTemplateObject",__makeTemplateObject),e("__importStar",__importStar),e("__importDefault",__importDefault),e("__classPrivateFieldGet",__classPrivateFieldGet),e("__classPrivateFieldSet",__classPrivateFieldSet),e("__classPrivateFieldIn",__classPrivateFieldIn)})),define("WoltLabSuite/Core/Core",["require","exports"],(function(e,t){"use strict";function i(e){return a(e)}function n(e,...t){const a=i(e=e||{});for(let i=0,r=t.length;i{Array.isArray(r[t])||"object"!=typeof r[t]?a[t]=r[t]:o(r[t])?a[t]=n(e[t],r[t]):a[t]=r[t]}))}return a}function o(e){return"object"==typeof e&&null!==e&&Object.getPrototypeOf(e)===Object.prototype}Object.defineProperty(t,"__esModule",{value:!0}),t.interactWithRedactor=t.getXsrfToken=t.enableLegacyInheritance=t.debounce=t.stringToBool=t.getStoragePrefix=t.triggerEvent=t.serialize=t.getUuid=t.getType=t.isPlainObject=t.inherit=t.extend=t.convertLegacyUrl=t.clone=void 0;const a=function(e){return"object"==typeof e&&(Array.isArray(e)||o(e))?r(e):e},r=function(e){if(!e)return null;if(Array.isArray(e))return e.slice();const t={};return Object.keys(e).forEach((i=>t[i]=a(e[i]))),t},s="wsc"+window.WCF_PATH.hashCode()+"-";let l=!1;document.addEventListener("focusin",(e=>{l&&e.stopImmediatePropagation()}),!0),t.clone=i,t.convertLegacyUrl=function(e){return e.replace(/^index\.php\/(.*?)\/\?/,((e,t)=>{const i=t.split(/([A-Z][a-z0-9]+)/);t="";for(let e=0,n=i.length;e{const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},t.serialize=function e(t,i){if(null===t)return"";const n=[];return Object.keys(t).forEach((o=>{const a=i?i+"["+o+"]":o,r=t[o];"object"==typeof r?n.push(e(r,a)):n.push(encodeURIComponent(a)+"="+encodeURIComponent(r))})),n.join("&")},t.triggerEvent=function(e,t){if("click"===t&&e instanceof HTMLElement)return void e.click();const i=new Event(t,{bubbles:!0,cancelable:!0});e.dispatchEvent(i)},t.getStoragePrefix=function(){return s},t.stringToBool=function(e){return"1"===e||"true"===e},t.debounce=function(e,t=50,i={isImmediate:!1}){let n;return function(...o){const a=i.isImmediate&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((()=>{n=void 0,i.isImmediate||e.apply(this,o)}),t),a&&e.apply(this,o)}},t.enableLegacyInheritance=function(e){e.call=function(t,...i){window.ENABLE_DEVELOPER_TOOLS&&console.log("Relying on legacy inheritance for ",e,t);const n=Reflect.construct(e,i,t.constructor);Object.entries(n).forEach((([e,i])=>{"function"==typeof i&&(i=i.bind(t)),t[e]=i}));for(const e in t)"function"==typeof t[e]&&(n[e]=t[e].bind(t))}},t.getXsrfToken=function(){const e=document.cookie.split(";").map((e=>e.trim())).find((e=>e.startsWith("XSRF-TOKEN=")));if(void 0===e)return"COOKIE_NOT_FOUND";const[t,i]=e.split(/=/,2);return decodeURIComponent(i.trim())},t.interactWithRedactor=function(e){l=!0;const t=document.activeElement;e(),t instanceof HTMLElement&&t.focus(),l=!1}})),define("WoltLabSuite/Core/NumberUtil",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.round=void 0,t.round=function(e,t){if(void 0===t||0==+t)return Math.round(e);if(e=+e,t=+t,isNaN(e)||"number"!=typeof t||t%1!=0)return NaN;let i=e.toString().split("e"),n=i[1]?+i[1]-t:-t;return i=(e=Math.round(+`${i[0]}e${n}`)).toString().split("e"),n=i[1]?+i[1]+t:t,+`${i[0]}e${n}`}})),define("WoltLabSuite/Core/StringUtil",["require","exports","tslib","./NumberUtil"],(function(e,t,i,n){"use strict";function o(e){return String(e).replace(/(^-?\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g,"$1"+l)}function a(e,t){let i=n.round(e,t||-2).toString();const a=i.split(".");return i=o(+a[0]),a.length>1&&(i+=s+a[1]),i=i.replace("-","−"),i}function r(e){return String(e).substring(0,1).toUpperCase()+e.substring(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.setupI18n=t.toCamelCase=t.shortUnit=t.unescapeHTML=t.ucfirst=t.lcfirst=t.formatNumeric=t.escapeRegExp=t.escapeHTML=t.addThousandsSeparator=void 0,n=i.__importStar(n);let s=".",l=",";t.addThousandsSeparator=o,t.escapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(//g,">")},t.escapeRegExp=function(e){return String(e).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")},t.formatNumeric=a,t.lcfirst=function(e){return String(e).substring(0,1).toLowerCase()+e.substring(1)},t.ucfirst=r,t.unescapeHTML=function(e){return String(e).replace(/&/g,"&").replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">")},t.shortUnit=function(e){let t="";return e>=1e6?(e=(e/=1e6)>10?Math.floor(e):n.round(e,-1),t="M"):e>=1e3&&(e=(e/=1e3)>10?Math.floor(e):n.round(e,-1),t="k"),a(e)+t},t.toCamelCase=function(e){return e.includes("-")?e.split("-").map(((e,t)=>(t>0&&(e=r(e)),e))).join(""):e},t.setupI18n=function(e){s=e.decimalPoint,l=e.thousandsSeparator}})),define("WoltLabSuite/Core/I18n/Plural",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";n=i.__importStar(n);const o={af(e){if(1==e)return"one"},am(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},ar(e){if(0==e)return"zero";if(1==e)return"one";if(2==e)return"two";const t=e%100;return t>=3&&t<=10?"few":t>=11&&t<=99?"many":void 0},as(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},az(e){if(1==e)return"one"},be(e){const t=e%10,i=e%100;return 1==t&&11!=i?"one":t>=2&&t<=4&&!(i>=12&&i<=14)?"few":0==t||t>=5&&t<=9||i>=11&&i<=14?"many":void 0},bg(e){if(1==e)return"one"},bn(e){const t=Math.floor(Math.abs(e));if(1==e||0===t)return"one"},bo(e){},bs(e){const t=a.getV(e),i=a.getF(e),n=e%10,o=e%100,r=i%10,s=i%100;return 0==t&&1==n&&11!=o||1==r&&11!=s?"one":0==t&&n>=2&&n<=4&&o>=12&&o<=14||r>=2&&r<=4&&s>=12&&s<=14?"few":void 0},cs(e){const t=a.getV(e);return 1==e&&0===t?"one":e>=2&&e<=4&&0===t?"few":0===t?"many":void 0},cy:e=>0==e?"zero":1==e?"one":2==e?"two":3==e?"few":6==e?"many":void 0,da(e){if(e>0&&e<2)return"one"},el(e){if(1==e)return"one"},en(e){if(1==e&&0===a.getV(e))return"one"},es(e){if(1==e)return"one"},eu(e){if(1==e)return"one"},fa(e){if(e>=0&&e<=1)return"one"},fr(e){if(e>=0&&e<2)return"one"},ga:e=>1==e?"one":2==e?"two":3==e||4==e||5==e||6==e?"few":7==e||8==e||9==e||10==e?"many":void 0,gu(e){if(e>=0&&e<=1)return"one"},he(e){const t=a.getV(e);return 1==e&&0===t?"one":2==e&&0===t?"two":e>10&&0===t&&e%10==0?"many":void 0},hi(e){if(e>=0&&e<=1)return"one"},hr:e=>a.bs(e),hu(e){if(1==e)return"one"},hy(e){if(e>=0&&e<2)return"one"},id(e){},is(e){const t=a.getF(e);if(0===t&&e%10==1&&e%100!=11||0!==t)return"one"},ja(e){},jv(e){},ka(e){if(1==e)return"one"},kk(e){if(1==e)return"one"},km(e){},kn(e){if(e>=0&&e<=1)return"one"},ko(e){},ku(e){if(1==e)return"one"},ky(e){if(1==e)return"one"},lb(e){if(1==e)return"one"},lo(e){},lt(e){const t=e%10,i=e%100;return 1!=t||i>=11&&i<=19?t>=2&&t<=9&&!(i>=11&&i<=19)?"few":0!=a.getF(e)?"many":void 0:"one"},lv(e){const t=e%10,i=e%100,n=a.getV(e),o=a.getF(e),r=o%10,s=o%100;return 0==t||i>=11&&i<=19||2==n&&s>=11&&s<=19?"zero":1==t&&11!=i||2==n&&1==r&&11!=s||2!=n&&1==r?"one":void 0},mk:e=>a.bs(e),ml(e){if(1==e)return"one"},mn(e){if(1==e)return"one"},mr(e){if(1==e)return"one"},ms(e){},mt(e){const t=e%100;return 1==e?"one":0==e||t>=2&&t<=10?"few":t>=11&&t<=19?"many":void 0},my(e){},no(e){if(1==e)return"one"},ne(e){if(1==e)return"one"},or(e){if(1==e)return"one"},pa(e){if(1==e||0==e)return"one"},pl(e){const t=a.getV(e),i=e%10,n=e%100;return 1==e&&0==t?"one":0==t&&i>=2&&i<=4&&!(n>=12&&n<=14)?"few":0==t&&(1!=e&&i>=0&&i<=1||i>=5&&i<=9||n>=12&&n<=14)?"many":void 0},ps(e){if(1==e)return"one"},pt(e){if(e>=0&&e<2)return"one"},ro(e){const t=a.getV(e),i=e%100;return 1==e&&0===t?"one":0!=t||0==e||i>=2&&i<=19?"few":void 0},ru(e){const t=e%10,i=e%100;if(0==a.getV(e)){if(1==t&&11!=i)return"one";if(t>=2&&t<=4&&!(i>=12&&i<=14))return"few";if(0==t||t>=5&&t<=9||i>=11&&i<=14)return"many"}},sd(e){if(1==e)return"one"},si(e){if(0==e||1==e||0==Math.floor(e)&&1==a.getF(e))return"one"},sk:e=>a.cs(e),sl(e){const t=a.getV(e),i=e%100;return 0==t&&1==i?"one":0==t&&2==i?"two":0==t&&(3==i||4==i)||0!=t?"few":void 0},sq(e){if(1==e)return"one"},sr:e=>a.bs(e),ta(e){if(1==e)return"one"},te(e){if(1==e)return"one"},tg(e){},th(e){},tk(e){if(1==e)return"one"},tr(e){if(1==e)return"one"},ug(e){if(1==e)return"one"},uk:e=>a.ru(e),uz(e){if(1==e)return"one"},vi(e){},zh(e){}},a=Object.assign({getCategory(e,t){t||(t=document.documentElement.lang),"function"!=typeof a[t]&&(t="en");const i=a[t](e);return i||"other"},getCategoryFromTemplateParameters(e){if(!e.value)throw new Error("Missing parameter value");if(!e.other)throw new Error("Missing parameter other");let t=e.value;Array.isArray(t)&&(t=t.length);const i=Object.keys(e).find((e=>e.toString()===(~~e).toString()&&e.toString()===t.toString()));if(i)return i;let o=a.getCategory(t);e[o]||(o="other");const r=e[o];return-1!==r.indexOf("#")?r.replace("#",n.formatNumeric(t)):r},getF(e){const t=e.toString(),i=t.indexOf(".");return-1===i?0:parseInt(t.substr(i+1),10)},getV:e=>e.toString().replace(/^[^.]*\.?/,"").length},o);return a})),define("WoltLabSuite/Core/Language/Store",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.get=void 0;const i=new Map;t.get=function(e,t={}){const n=i.get(e);return void 0===n?e:n(t)},t.add=function(e,t){i.set(e,t)}})),define("WoltLabSuite/Core/Template.grammar",["require"],(function(e){var t=function(e,t,i,n){for(i=i||{},n=e.length;n--;i[e[n]]=t);return i},i=[2,44],n=[5,9,11,12,13,18,19,21,22,23,25,26,28,29,30,32,33,34,35,37,39,41],o=[1,25],a=[1,27],r=[1,33],s=[1,31],l=[1,32],c=[1,28],d=[1,29],u=[1,26],p=[1,35],h=[1,41],m=[1,40],f=[11,12,15,42,43,47,49,51,52,54,55],g=[9,11,12,13,18,19,21,23,26,28,30,32,33,34,35,37,39],b=[11,12,15,42,43,46,47,48,49,51,52,54,55],_=[1,64],v=[1,65],w=[18,37,39],y=[12,15],E={trace:function(){},yy:{},symbols_:{error:2,TEMPLATE:3,CHUNK_STAR:4,EOF:5,CHUNK_STAR_repetition0:6,CHUNK:7,PLAIN_ANY:8,T_LITERAL:9,COMMAND:10,T_ANY:11,T_WS:12,"{if":13,COMMAND_PARAMETERS:14,"}":15,COMMAND_repetition0:16,COMMAND_option0:17,"{/if}":18,"{include":19,COMMAND_PARAMETER_LIST:20,"{implode":21,"{/implode}":22,"{foreach":23,COMMAND_option1:24,"{/foreach}":25,"{plural":26,PLURAL_PARAMETER_LIST:27,"{lang}":28,"{/lang}":29,"{":30,VARIABLE:31,"{#":32,"{@":33,"{ldelim}":34,"{rdelim}":35,ELSE:36,"{else}":37,ELSE_IF:38,"{elseif":39,FOREACH_ELSE:40,"{foreachelse}":41,T_VARIABLE:42,T_VARIABLE_NAME:43,VARIABLE_repetition0:44,VARIABLE_SUFFIX:45,"[":46,"]":47,".":48,"(":49,VARIABLE_SUFFIX_option0:50,")":51,"=":52,COMMAND_PARAMETER_VALUE:53,T_QUOTED_STRING:54,T_DIGITS:55,COMMAND_PARAMETERS_repetition_plus0:56,COMMAND_PARAMETER:57,T_PLURAL_PARAMETER_NAME:58,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",9:"T_LITERAL",11:"T_ANY",12:"T_WS",13:"{if",15:"}",18:"{/if}",19:"{include",21:"{implode",22:"{/implode}",23:"{foreach",25:"{/foreach}",26:"{plural",28:"{lang}",29:"{/lang}",30:"{",32:"{#",33:"{@",34:"{ldelim}",35:"{rdelim}",37:"{else}",39:"{elseif",41:"{foreachelse}",42:"T_VARIABLE",43:"T_VARIABLE_NAME",46:"[",47:"]",48:".",49:"(",51:")",52:"=",54:"T_QUOTED_STRING",55:"T_DIGITS"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[8,1],[8,1],[10,7],[10,3],[10,5],[10,6],[10,3],[10,3],[10,3],[10,3],[10,3],[10,1],[10,1],[36,2],[38,4],[40,2],[31,3],[45,3],[45,2],[45,3],[20,5],[20,3],[53,1],[53,1],[53,1],[14,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,1],[57,3],[27,5],[27,3],[58,1],[58,1],[6,0],[6,2],[16,0],[16,2],[17,0],[17,1],[24,0],[24,1],[44,0],[44,2],[50,0],[50,1],[56,1],[56,2]],performAction:function(e,t,i,n,o,a,r){var s,l,c,d=a.length-1;switch(o){case 1:return a[d-1]+";";case 2:(s=a[d].reduce((function(e,t){return t.encode&&!e[1]?e[0]+=" + '"+t.value:t.encode&&e[1]?e[0]+=t.value:!t.encode&&e[1]?e[0]+="' + "+t.value:t.encode||e[1]||(e[0]+=" + "+t.value),e[1]=t.encode,e}),["''",!1]))[1]&&(s[0]+="'"),this.$=s[0];break;case 3:case 4:this.$={encode:!0,value:a[d].replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/g,"\\n")};break;case 5:this.$={encode:!1,value:a[d]};break;case 8:this.$="(function() { if ("+a[d-5]+") { return "+a[d-3]+"; } "+a[d-2].join(" ")+" "+(a[d-1]||"")+" return ''; })()";break;case 9:if(!a[d-1].file)throw new Error("Missing parameter file");this.$=a[d-1].file+".fetch(v)";break;case 10:if(!a[d-3].from)throw new Error("Missing parameter from");if(!a[d-3].item)throw new Error("Missing parameter item");a[d-3].glue||(a[d-3].glue="', '"),this.$="(function() { return "+a[d-3].from+".map(function(item) { v["+a[d-3].item+"] = item; return "+a[d-1]+"; }).join("+a[d-3].glue+"); })()";break;case 11:if(!a[d-4].from)throw new Error("Missing parameter from");if(!a[d-4].item)throw new Error("Missing parameter item");this.$="(function() {var looped = false, result = '';if ("+a[d-4].from+" instanceof Array) {for (var i = 0; i < "+a[d-4].from+".length; i++) { looped = true;v["+a[d-4].key+"] = i;v["+a[d-4].item+"] = "+a[d-4].from+"[i];result += "+a[d-2]+";}} else {for (var key in "+a[d-4].from+") {if (!"+a[d-4].from+".hasOwnProperty(key)) continue;looped = true;v["+a[d-4].key+"] = key;v["+a[d-4].item+"] = "+a[d-4].from+"[key];result += "+a[d-2]+";}}return (looped ? result : "+(a[d-1]||"''")+"); })()";break;case 12:for(c in this.$="I18nPlural.getCategoryFromTemplateParameters({",l=!1,a[d-1])objOwns(a[d-1],c)&&(this.$+=(l?",":"")+c+": "+a[d-1][c],l=!0);this.$+="})";break;case 13:this.$="Language.get("+a[d-1]+", v)";break;case 14:this.$="StringUtil.escapeHTML("+a[d-1]+")";break;case 15:this.$="StringUtil.formatNumeric("+a[d-1]+")";break;case 16:this.$=a[d-1];break;case 17:this.$="'{'";break;case 18:this.$="'}'";break;case 19:this.$="else { return "+a[d]+"; }";break;case 20:this.$="else if ("+a[d-2]+") { return "+a[d]+"; }";break;case 21:this.$=a[d];break;case 22:this.$="v['"+a[d-1]+"']"+a[d].join("");break;case 23:this.$=a[d-2]+a[d-1]+a[d];break;case 24:this.$="['"+a[d]+"']";break;case 25:case 39:this.$=a[d-2]+(a[d-1]||"")+a[d];break;case 26:case 40:this.$=a[d],this.$[a[d-4]]=a[d-2];break;case 27:case 41:this.$={},this.$[a[d-2]]=a[d];break;case 31:this.$=a[d].join("");break;case 44:case 46:case 52:this.$=[];break;case 45:case 47:case 53:case 57:a[d-1].push(a[d]);break;case 56:this.$=[a[d]]}},table:[t([5,9,11,12,13,19,21,23,26,28,30,32,33,34,35],i,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},t([5,18,22,25,29,37,39,41],[2,2],{7:5,8:6,10:8,9:[1,7],11:[1,9],12:[1,10],13:[1,11],19:[1,12],21:[1,13],23:[1,14],26:[1,15],28:[1,16],30:[1,17],32:[1,18],33:[1,19],34:[1,20],35:[1,21]}),{1:[2,1]},t(n,[2,45]),t(n,[2,3]),t(n,[2,4]),t(n,[2,5]),t(n,[2,6]),t(n,[2,7]),{11:o,12:a,14:22,31:30,42:r,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{20:34,43:p},{20:36,43:p},{20:37,43:p},{27:38,43:h,55:m,58:39},t([9,11,12,13,19,21,23,26,28,29,30,32,33,34,35],i,{6:3,4:42}),{31:43,42:r},{31:44,42:r},{31:45,42:r},t(n,[2,17]),t(n,[2,18]),{15:[1,46]},t([15,47,51],[2,31],{31:30,57:47,11:o,12:a,42:r,43:s,49:l,52:c,54:d,55:u}),t(f,[2,56]),t(f,[2,32]),t(f,[2,33]),t(f,[2,34]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{11:o,12:a,14:48,31:30,42:r,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,49]},{15:[1,50]},{52:[1,51]},{15:[1,52]},{15:[1,53]},{15:[1,54]},{52:[1,55]},{52:[2,42]},{52:[2,43]},{29:[1,56]},{15:[1,57]},{15:[1,58]},{15:[1,59]},t(g,i,{6:3,4:60}),t(f,[2,57]),{51:[1,61]},t(b,[2,52],{44:62}),t(n,[2,9]),{31:66,42:r,53:63,54:_,55:v},t([9,11,12,13,19,21,22,23,26,28,30,32,33,34,35],i,{6:3,4:67}),t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35,41],i,{6:3,4:68}),t(n,[2,12]),{31:66,42:r,53:69,54:_,55:v},t(n,[2,13]),t(n,[2,14]),t(n,[2,15]),t(n,[2,16]),t(w,[2,46],{16:70}),t(f,[2,39]),t([11,12,15,42,43,47,51,52,54,55],[2,22],{45:71,46:[1,72],48:[1,73],49:[1,74]}),{12:[1,75],15:[2,27]},t(y,[2,28]),t(y,[2,29]),t(y,[2,30]),{22:[1,76]},{24:77,25:[2,50],40:78,41:[1,79]},{12:[1,80],15:[2,41]},{17:81,18:[2,48],36:83,37:[1,85],38:82,39:[1,84]},t(b,[2,53]),{11:o,12:a,14:86,31:30,42:r,43:s,49:l,52:c,54:d,55:u,56:23,57:24},{43:[1,87]},{11:o,12:a,14:89,31:30,42:r,43:s,49:l,50:88,51:[2,54],52:c,54:d,55:u,56:23,57:24},{20:90,43:p},t(n,[2,10]),{25:[1,91]},{25:[2,51]},t([9,11,12,13,19,21,23,25,26,28,30,32,33,34,35],i,{6:3,4:92}),{27:93,43:h,55:m,58:39},{18:[1,94]},t(w,[2,47]),{18:[2,49]},{11:o,12:a,14:95,31:30,42:r,43:s,49:l,52:c,54:d,55:u,56:23,57:24},t([9,11,12,13,18,19,21,23,26,28,30,32,33,34,35],i,{6:3,4:96}),{47:[1,97]},t(b,[2,24]),{51:[1,98]},{51:[2,55]},{15:[2,26]},t(n,[2,11]),{25:[2,21]},{15:[2,40]},t(n,[2,8]),{15:[1,99]},{18:[2,19]},t(b,[2,23]),t(b,[2,25]),t(g,i,{6:3,4:100}),t(w,[2,20])],defaultActions:{4:[2,1],40:[2,42],41:[2,43],78:[2,51],83:[2,49],89:[2,55],90:[2,26],92:[2,21],93:[2,40],96:[2,19]},parseError:function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)},parse:function(e){var t,i,n,o,a,r,s,l,c,d,u,p,h,m,f,g=this,b=[0],_=[null],v=[],w=this.table,y="",E=0,S=0,L=0,C=2,x=1,k=v.slice.call(arguments,1),I=Object.create(this.lexer),T={yy:{}};for(t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,t)&&(T.yy[t]=this.yy[t]);for(I.setInput(e,T.yy),T.yy.lexer=I,T.yy.parser=this,void 0===I.yylloc&&(I.yylloc={}),i=I.yylloc,v.push(i),n=I.options&&I.options.ranges,"function"==typeof T.yy.parseError?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,o=function(){var e;return"number"!=typeof(e=I.lex()||x)&&(e=g.symbols_[e]||e),e},d={};;){if(s=b[b.length-1],this.defaultActions[s]?l=this.defaultActions[s]:(null==a&&(a=o()),l=w[s]&&w[s][a]),void 0===l||!l.length||!l[0]){for(u in f="",m=[],w[s])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");f=I.showPosition?"Parse error on line "+(E+1)+":\n"+I.showPosition()+"\nExpecting "+m.join(", ")+", got '"+(this.terminals_[a]||a)+"'":"Parse error on line "+(E+1)+": Unexpected "+(a==x?"end of input":"'"+(this.terminals_[a]||a)+"'"),this.parseError(f,{text:I.match,token:this.terminals_[a]||a,line:I.yylineno,loc:i,expected:m})}if(l[0]instanceof Array&&l.length>1)throw new Error("Parse Error: multiple actions possible at state: "+s+", token: "+a);switch(l[0]){case 1:b.push(a),_.push(I.yytext),v.push(I.yylloc),b.push(l[1]),a=null,r?(a=r,r=null):(S=I.yyleng,y=I.yytext,E=I.yylineno,i=I.yylloc,L>0&&L--);break;case 2:if(p=this.productions_[l[1]][1],d.$=_[_.length-p],d._$={first_line:v[v.length-(p||1)].first_line,last_line:v[v.length-1].last_line,first_column:v[v.length-(p||1)].first_column,last_column:v[v.length-1].last_column},n&&(d._$.range=[v[v.length-(p||1)].range[0],v[v.length-1].range[1]]),void 0!==(c=this.performAction.apply(d,[y,S,E,T.yy,l[1],_,v].concat(k))))return c;p&&(b=b.slice(0,-1*p*2),_=_.slice(0,-1*p),v=v.slice(0,-1*p)),b.push(this.productions_[l[1]][0]),_.push(d.$),v.push(d._$),h=w[b[b.length-2]][b[b.length-1]],b.push(h);break;case 3:return!0}}return!0}},S={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t,i,n=e.length,o=e.split(/(?:\r\n?|\n)/g);return this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n,t=this.match.split(/(?:\r\n?|\n)/g),this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1),i=this.yylloc.range,this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===t.length?this.yylloc.first_column:0)+t[t.length-o.length].length-o[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var i,n,o,a;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(o.yylloc.range=this.yylloc.range.slice(0))),(n=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(a in o)this[a]=o[a];return!1}return!1},next:function(){var e,t,i,n,o,a;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),o=this._currentRules(),a=0;at[0].length)){if(t=i,n=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,o[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,o[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,i,n){switch(i){case 0:break;case 1:return t.yytext=t.yytext.substring(9,t.yytext.length-10),9;case 2:case 3:return 54;case 4:return 42;case 5:return 55;case 6:return 43;case 7:return 48;case 8:return 46;case 9:return 47;case 10:return 49;case 11:return 51;case 12:return 52;case 13:return 34;case 14:return 35;case 15:return this.begin("command"),32;case 16:return this.begin("command"),33;case 17:return this.begin("command"),13;case 18:case 19:return this.begin("command"),39;case 20:return 37;case 21:return 18;case 22:return 28;case 23:return 29;case 24:return this.begin("command"),19;case 25:return this.begin("command"),21;case 26:return this.begin("command"),26;case 27:return 22;case 28:return this.begin("command"),23;case 29:return 41;case 30:return 25;case 31:return this.begin("command"),30;case 32:return this.popState(),15;case 33:return 12;case 34:return 5;case 35:return 11}},rules:[/^(?:\{\*[\s\S]*?\*\})/,/^(?:\{literal\}[\s\S]*?\{\/literal\})/,/^(?:"([^"]|\\\.)*")/,/^(?:'([^']|\\\.)*')/,/^(?:\$)/,/^(?:[0-9]+)/,/^(?:[_a-zA-Z][_a-zA-Z0-9]*)/,/^(?:\.)/,/^(?:\[)/,/^(?:\])/,/^(?:\()/,/^(?:\))/,/^(?:=)/,/^(?:\{ldelim\})/,/^(?:\{rdelim\})/,/^(?:\{#)/,/^(?:\{@)/,/^(?:\{if )/,/^(?:\{else if )/,/^(?:\{elseif )/,/^(?:\{else\})/,/^(?:\{\/if\})/,/^(?:\{lang\})/,/^(?:\{\/lang\})/,/^(?:\{include )/,/^(?:\{implode )/,/^(?:\{plural )/,/^(?:\{\/implode\})/,/^(?:\{foreach )/,/^(?:\{foreachelse\})/,/^(?:\{\/foreach\})/,/^(?:\{(?!\s))/,/^(?:\})/,/^(?:\s+)/,/^(?:$)/,/^(?:[^{])/],conditions:{command:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],inclusive:!0},INITIAL:{rules:[0,1,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35],inclusive:!0}}};return E.lexer=S,E})),define("WoltLabSuite/Core/Template/Compiler",["require","exports","tslib","../Template.grammar"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0,n=i.__importStar(n),t.compile=function(e){return e="var tmp = {};\nfor (var key in v) tmp[key] = v[key];\nv = tmp;\nv.__wcf = window.WCF; v.__window = window;\nreturn "+(e=n.parse(e)),new Function("StringUtil","Language","I18nPlural","v",e)}})),define("WoltLabSuite/Core/Template",["require","exports","tslib","./Core","./I18n/Plural","./Language/Store","./StringUtil","./Template/Compiler"],(function(e,t,i,n,o,a,r,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a),r=i.__importStar(r);class l{constructor(e){try{this.compiled=(0,s.compile)(e)}catch(e){throw console.debug(e.message),e}}fetch(e){return this.compiled(r,a,o,e)}}return Object.defineProperty(l,"callbacks",{enumerable:!1,configurable:!1,get:function(){throw new Error("WCF.Template.callbacks is no longer supported")},set:function(e){throw new Error("WCF.Template.callbacks is no longer supported")}}),n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Language",["require","exports","tslib","./Template","./Language/Store","./Language/Store"],(function(e,t,i,n,o,a){"use strict";function r(e,t){"string"==typeof t?(0,o.add)(e,function(e){if(!e.includes("{"))return function(){return e};try{const t=new n.default(e);return t.fetch.bind(t)}catch(t){return function(){return e}}}(t)):(0,o.add)(e,(function(){return t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.addObject=t.get=void 0,n=i.__importDefault(n),Object.defineProperty(t,"get",{enumerable:!0,get:function(){return a.get}}),t.addObject=function(e){Object.entries(e).forEach((([e,t])=>{r(e,t)}))},t.add=r})),define("WoltLabSuite/Core/Ajax/Status",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){return void 0===r&&(r=new a),r}Object.defineProperty(t,"__esModule",{value:!0}),t.hide=t.show=void 0,n=i.__importStar(n);class a{constructor(){this._activeRequests=0,this._timer=null,this._overlay=document.createElement("div"),this._overlay.classList.add("spinner"),this._overlay.setAttribute("role","status");const e=document.createElement("span");e.className="icon icon48 fa-spinner",this._overlay.appendChild(e);const t=document.createElement("span");t.textContent=n.get("wcf.global.loading"),this._overlay.appendChild(t),document.body.appendChild(this._overlay)}show(){this._activeRequests++,null===this._timer&&(this._timer=window.setTimeout((()=>{this._activeRequests&&this._overlay.classList.add("active"),this._timer=null}),250))}hide(){0==--this._activeRequests&&(null!==this._timer&&(window.clearTimeout(this._timer),this._timer=null),this._overlay.classList.remove("active"))}}let r;t.show=function(){o().show()},t.hide=function(){o().hide()}})),define("WoltLabSuite/Core/CallbackList",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._callbacks=new Map}add(e,t){if("function"!=typeof t)throw new TypeError("Expected a valid callback as second argument for identifier '"+e+"'.");this._callbacks.has(e)||this._callbacks.set(e,[]),this._callbacks.get(e).push(t)}remove(e){this._callbacks.delete(e)}forEach(e,t){var i;null===e?this._callbacks.forEach(((e,i)=>{e.forEach(t)})):null===(i=this._callbacks.get(e))||void 0===i||i.forEach(t)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Dom/Change/Listener",["require","exports","tslib","../../CallbackList"],(function(e,t,i,n){"use strict";const o=new((n=i.__importDefault(n)).default);let a=!1;return{add:o.add.bind(o),remove:o.remove.bind(o),trigger(){if(!a)try{a=!0,o.forEach(null,(e=>e()))}finally{a=!1}}}})),define("WoltLabSuite/Core/Dom/Util",["require","exports","tslib","../StringUtil"],(function(e,t,i,n){"use strict";function o(e,t,i){if(!t.contains(e))throw new Error("Ancestor element does not contain target element.");let n,o=e;const a=i+"Sibling";for(;null!==o&&o!==t;){if(null!==o[i+"ElementSibling"])return!1;if(o[a])for(n=o[a];n;){if(""!==n.textContent.trim())return!1;n=n[a]}o=o.parentNode}return!0}n=i.__importStar(n);let a=0;const r={createFragmentFromHtml(e){const t=document.createElement("div");this.setInnerHtml(t,e);const i=document.createDocumentFragment();for(;t.childNodes.length;)i.appendChild(t.childNodes[0]);return i},getUniqueId(){let e;do{e="wcf"+a++}while(null!==document.getElementById(e));return e},identify(e){if(!(e instanceof Element))throw new TypeError("Expected a valid DOM element as argument.");let t=e.id;return t||(t=this.getUniqueId(),e.id=t),t},outerHeight(e,t){t=t||window.getComputedStyle(e);let i=e.offsetHeight;return i+=~~t.marginTop+~~t.marginBottom,i},outerWidth(e,t){t=t||window.getComputedStyle(e);let i=e.offsetWidth;return i+=~~t.marginLeft+~~t.marginRight,i},outerDimensions(e){const t=window.getComputedStyle(e);return{height:this.outerHeight(e,t),width:this.outerWidth(e,t)}},offset(e){const t=e.getBoundingClientRect();return{top:Math.round(t.top+(window.scrollY||window.pageYOffset)),left:Math.round(t.left+(window.scrollX||window.pageXOffset))}},prepend(e,t){t.insertAdjacentElement("afterbegin",e)},insertAfter(e,t){t.insertAdjacentElement("afterend",e)},setStyles(e,t){let i=!1;Object.keys(t).forEach((n=>{/ !important$/.test(t[n])?(i=!0,t[n]=t[n].replace(/ !important$/,"")):i=!1,"important"!==e.style.getPropertyPriority(n)||i||e.style.removeProperty(n),e.style.setProperty(n,t[n],i?"important":"")}))},styleAsInt(e,t){const i=e.getPropertyValue(t);return null===i?0:parseInt(i,10)},setInnerHtml(e,t){let i;e.innerHTML=t,i=e instanceof HTMLTemplateElement?e.content:e;const n=i.querySelectorAll("script");for(let e=0,t=n.length;ee.contains(t),getDataAttributes(e,t,i,o){0!==(t=t||"").indexOf("data-")&&(t="data-"+t),i=!0===i,o=!0===o;const a={};for(let r=0,s=e.attributes.length;ro(e,t,"previous"),isAtNodeEnd:(e,t)=>o(e,t,"next"),getFixedParent(e){for(;e&&e!==document.body;){if("fixed"===window.getComputedStyle(e).getPropertyValue("position"))return e;e=e.offsetParent}return null},hide(e){e.style.setProperty("display","none","")},show(e){e.style.removeProperty("display")},isHidden:e=>"none"===e.style.getPropertyValue("display"),toggle(e){this.isHidden(e)?this.show(e):this.hide(e)},innerError(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The error message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=n,a=e;o.classList.contains("inputAddon")&&(o=n.parentElement,a=n);let r=a.nextElementSibling;return null!==r&&"SMALL"===r.nodeName&&r.classList.contains("innerError")||(""===t?r=null:(r=document.createElement("small"),r.className="innerError",o.insertBefore(r,a.nextSibling))),""===t?null!==r&&(r.remove(),r=null):i?r.innerHTML=t:r.textContent=t,r},innerSuccess(e,t,i){const n=e.parentNode;if(null===n)throw new Error("Only elements that have a parent element or document are valid.");if("string"!=typeof t){if(t)throw new TypeError("The message must be a string; `false`, `null` or `undefined` can be used as a substitute for an empty string.");t=""}let o=e.nextElementSibling;return null!==o&&"SMALL"===o.nodeName&&o.classList.contains("innerSuccess")||(""===t?o=null:(o=document.createElement("small"),o.className="innerSuccess",n.insertBefore(o,e.nextSibling))),""===t?null!==o&&(o.remove(),o=null):i?o.innerHTML=t:o.textContent=t,o},closest:(e,t)=>(e instanceof HTMLElement?e:e.parentElement).closest(t),getClosestElement:e=>e instanceof HTMLElement?e:e.parentElement};return window.bc_wcfDomUtil=r,r})),define("WoltLabSuite/Core/Ajax/Request",["require","exports","tslib","./Status","../Core","../Dom/Change/Listener","../Dom/Util","../Language"],(function(e,t,i,n,o,a,r,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importDefault(r),s=i.__importStar(s);let l=!1,c=!1;class d{constructor(e){this._options=o.extend({data:{},contentType:"application/x-www-form-urlencoded; charset=UTF-8",responseType:"application/json",type:"POST",url:"",withCredentials:!1,autoAbort:!1,ignoreError:!1,pinData:!1,silent:!1,includeRequestedWith:!0,failure:null,finalize:null,success:null,progress:null,uploadProgress:null,callbackObject:null},e),"object"==typeof e.callbackObject&&(this._options.callbackObject=e.callbackObject),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url),0===this._options.url.indexOf(window.WSC_API_URL)&&(this._options.includeRequestedWith=!0,this._options.withCredentials=!0),this._options.pinData&&(this._data=this._options.data),this._options.callbackObject&&("function"==typeof this._options.callbackObject._ajaxFailure&&(this._options.failure=this._options.callbackObject._ajaxFailure.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxFinalize&&(this._options.finalize=this._options.callbackObject._ajaxFinalize.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxSuccess&&(this._options.success=this._options.callbackObject._ajaxSuccess.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxProgress&&(this._options.progress=this._options.callbackObject._ajaxProgress.bind(this._options.callbackObject)),"function"==typeof this._options.callbackObject._ajaxUploadProgress&&(this._options.uploadProgress=this._options.callbackObject._ajaxUploadProgress.bind(this._options.callbackObject))),l||(l=!0,window.addEventListener("beforeunload",(()=>c=!0)))}sendRequest(e){(e||this._options.autoAbort)&&this.abortPrevious(),this._options.silent||n.show(),this._xhr instanceof XMLHttpRequest&&(this._previousXhr=this._xhr),this._xhr=new XMLHttpRequest,this._xhr.open(this._options.type,this._options.url,!0),this._options.contentType&&this._xhr.setRequestHeader("Content-Type",this._options.contentType),(this._options.withCredentials||this._options.includeRequestedWith)&&this._xhr.setRequestHeader("X-Requested-With","XMLHttpRequest"),this._options.withCredentials&&(this._xhr.withCredentials=!0);const t=o.clone(this._options),i=this._xhr;if(i.onload=()=>{i.readyState===XMLHttpRequest.DONE&&(i.status>=200&&i.status<300||304===i.status?204===i.status?this._success(i,t):t.responseType&&this.getContentType(i)!==t.responseType?this._failure(i,t):this._success(i,t):this._failure(i,t))},i.onerror=()=>{this._failure(i,t)},this._options.progress&&(i.onprogress=this._options.progress),this._options.uploadProgress&&(i.upload.onprogress=this._options.uploadProgress),"POST"===this._options.type){let e=this._options.data;"object"==typeof e&&"FormData"!==o.getType(e)&&(e=o.serialize(e)),i.send(e)}else i.send()}abortPrevious(){this._previousXhr&&(this._previousXhr.abort(),this._previousXhr=void 0,this._options.silent||n.hide())}setOption(e,t){this._options[e]=t}getOption(e){return Object.prototype.hasOwnProperty.call(this._options,e)?this._options[e]:null}setData(e){null!==this._data&&"FormData"!==o.getType(e)&&(e=o.extend(this._data,e)),this._options.data=e}_success(t,o){if(o.silent||n.hide(),"function"==typeof o.success){let n=null;if("application/json"===this.getContentType(t)){try{n=JSON.parse(t.responseText)}catch(e){return void this._failure(t,o)}n&&n.returnValues&&void 0!==n.returnValues.template&&(n.returnValues.template=n.returnValues.template.trim()),n&&n.forceBackgroundQueuePerform&&new Promise(((t,i)=>{e(["../BackgroundQueue"],t,i)})).then(i.__importStar).then((e=>e.invoke()))}o.success(n||{},t.responseText,t,o.data)}this._finalize(o)}_failure(t,o){if(c)return;o.silent||n.hide();let a=null;try{a=JSON.parse(t.responseText)}catch(e){}let l=!0;if("function"==typeof o.failure){l=!1!==o.failure(a||{},t.responseText||"",t,o.data)}if(!0!==o.ignoreError&&l){const n=this.getErrorHtml(a,t);n&&new Promise(((t,i)=>{e(["../Ui/Dialog"],t,i)})).then(i.__importStar).then((e=>{e.openStatic(r.default.getUniqueId(),n,{title:s.get("wcf.global.error.title")})}))}this._finalize(o)}getErrorHtml(e,t){let i,n="";if(null!==e&&Object.keys(e).length>0?(e.returnValues&&e.returnValues.description&&(n+=`

    Description:

    ${e.returnValues.description}

    `),e.file&&e.line&&(n+=`

    File:

    ${e.file} in line ${e.line}

    `),e.stacktrace?n+=`

    Stacktrace:

    ${e.stacktrace}

    `:e.exceptionID&&(n+=`

    Exception ID: ${e.exceptionID}

    `),i=e.message,e.previous.forEach((e=>{n+=`

    ${e.message}

    `,n+=`

    Stacktrace

    ${e.stacktrace}

    `}))):i=t.responseText,!i||"undefined"===i){if(!window.ENABLE_DEBUG_MODE)return null;i="XMLHttpRequest failed without a responseText. Check your browser console."}return`

    ${i}

    ${n}
    `}_finalize(e){"function"==typeof e.finalize&&e.finalize(this._xhr),this._previousXhr=void 0,a.default.trigger(),document.querySelectorAll('a[href*="#"]').forEach((e=>{let t=e.href;-1===t.indexOf("AJAXProxy")&&-1===t.indexOf("ajax-proxy")||(t=t.substr(t.indexOf("#")),e.href=document.location.toString().replace(/#.*/,"")+t)}))}getContentType(e){const t=e.getResponseHeader("content-type");return null===t?null:t.split(";",1)[0].trim()}}return o.enableLegacyInheritance(d),d})),define("WoltLabSuite/Core/Ajax/Error",["require","exports","tslib","../Core","../Language"],(function(e,t,i,n,o){"use strict";async function a(t){const a=await async function(e){let t="",i="";if(e instanceof s)i=e.originalError instanceof TypeError?o.get("wcf.global.error.ajax.network",{message:e.message}):e.message;else if(e instanceof d)i=await e.response.clone().text();else if(e instanceof c||e instanceof l){let o;try{o=await e.response.clone().json()}catch(t){i=await e.response.clone().text()}o&&n.isPlainObject(o)&&Object.keys(o).length>0&&(o.returnValues&&o.returnValues.description&&(t+=`

    Description:

    ${o.returnValues.description}

    `),o.file&&o.line&&(t+=`

    File:

    ${o.file} in line ${o.line}

    `),o.stacktrace?t+=`

    Stacktrace:

    ${o.stacktrace}

    `:o.exceptionID&&(t+=`

    Exception ID: ${o.exceptionID}

    `),i=o.message,o.previous.forEach((e=>{t+=`

    ${e.message}

    `,t+=`

    Stacktrace

    ${e.stacktrace}

    `})))}if(!i||"undefined"===i){if(!window.ENABLE_DEBUG_MODE)return"";i="fetch() failed without a response body. Check your browser console."}return`

    ${i}

    ${t}
    `}(t);if(""!==a){const[t,n,o]=await Promise.all([new Promise(((t,i)=>{e(["../Ui/Dialog"],t,i)})).then(i.__importStar),new Promise(((t,i)=>{e(["../Dom/Util"],t,i)})).then(i.__importStar),new Promise(((t,i)=>{e(["../Language"],t,i)})).then(i.__importStar)]);t.openStatic(n.getUniqueId(),a,{title:o.get("wcf.global.error.title")})}}Object.defineProperty(t,"__esModule",{value:!0}),t.registerGlobalRejectionHandler=t.InvalidJson=t.ExpectedJson=t.StatusNotOk=t.ConnectionError=t.ApiError=void 0,n=i.__importStar(n),o=i.__importStar(o);class r extends Error{constructor(){super(...arguments),this.name="ApiError"}}t.ApiError=r;class s extends r{constructor(e){let t="Unknown error";e instanceof Error&&(t=e.message),super(t),this.name="ConnectionError",this.originalError=e}}t.ConnectionError=s;class l extends r{constructor(e){super("The API request returned a status code outside of the 200-299 range."),this.name="StatusNotOk",this.response=e}}t.StatusNotOk=l;class c extends r{constructor(e){super("The API did not return a JSON response."),this.name="ExpectedJson",this.response=e}}t.ExpectedJson=c;class d extends r{constructor(e){super("Failed to decode the JSON response from the API."),this.name="InvalidJson",this.response=e}}t.InvalidJson=d;let u=!1;t.registerGlobalRejectionHandler=function(){u||(window.addEventListener("unhandledrejection",(e=>{e.reason instanceof r&&(e.preventDefault(),a(e.reason))})),u=!0)}})),define("WoltLabSuite/Core/Ajax/DboAction",["require","exports","tslib","./Error","./Status","../Core"],(function(e,t,i,n,o,a){"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),t.DboAction=void 0,o=i.__importStar(o),a=i.__importStar(a);class s{constructor(e,t){this._objectIDs=[],this._payload={},this._showLoadingIndicator=!0,this._signal=void 0,this.actionName=e,this.className=t}static prepare(e,t){return void 0===r&&(r=!1,window.addEventListener("beforeunload",(()=>{r=!0}))),new s(e,t)}getAbortController(){return void 0===this._signal&&(this._signal=new AbortController),this._signal}objectIds(e){return this._objectIDs=e,this}payload(e){return this._payload=e,this}disableLoadingIndicator(){return this._showLoadingIndicator=!1,this}async dispatch(){(0,n.registerGlobalRejectionHandler)();const t=window.WSC_API_URL+"index.php?ajax-proxy/&t="+a.getXsrfToken(),s={actionName:this.actionName,className:this.className};this._objectIDs&&(s.objectIDs=this._objectIDs),this._payload&&(s.parameters=this._payload);const l={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest","X-XSRF-TOKEN":a.getXsrfToken()},body:a.serialize(s),mode:"same-origin",credentials:"same-origin",cache:"no-store",redirect:"error"};this._signal&&(l.signal=this._signal.signal);const c=this._showLoadingIndicator;c&&o.show();try{const a=await fetch(t,l);if(!a.ok)throw new n.StatusNotOk(a);const r=a.headers.get("content-type");if(!r||!r.includes("application/json"))throw new n.ExpectedJson(a);let s;try{s=await a.json()}catch(e){throw new n.InvalidJson(a)}return s.forceBackgroundQueuePerform&&new Promise(((t,i)=>{e(["../BackgroundQueue"],t,i)})).then(i.__importStar).then((e=>e.invoke())),s.returnValues}catch(e){if(e instanceof n.ApiError)throw e;if(e instanceof DOMException&&"AbortError"===e.name)return;if(!r)throw new n.ConnectionError(e)}finally{c&&o.hide()}}}t.DboAction=s,t.default=s})),define("WoltLabSuite/Core/Ajax",["require","exports","tslib","./Ajax/Request","./Core","./Ajax/DboAction"],(function(e,t,i,n,o,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dboAction=t.getRequestObject=t.apiOnce=t.api=void 0,n=i.__importDefault(n),o=i.__importStar(o),a=i.__importDefault(a);const r=new WeakMap;t.api=function(e,t,i,a){"object"!=typeof t&&(t={});let s=r.get(e);if(void 0===s){if("function"!=typeof e._ajaxSetup)throw new TypeError("Callback object must implement at least _ajaxSetup().");const t=e._ajaxSetup();t.pinData=!0,t.callbackObject=e,t.url||(t.url="index.php?ajax-proxy/&t="+o.getXsrfToken(),t.withCredentials=!0),s=new n.default(t),r.set(e,s)}let l=null,c=null;return"function"==typeof i&&(l=s.getOption("success"),s.setOption("success",i)),"function"==typeof a&&(c=s.getOption("failure"),s.setOption("failure",a)),s.setData(t),s.sendRequest(),null!==l&&s.setOption("success",l),null!==c&&s.setOption("failure",c),s},t.apiOnce=function(e){e.pinData=!1,e.callbackObject=null,e.url||(e.url="index.php?ajax-proxy/&t="+o.getXsrfToken(),e.withCredentials=!0),new n.default(e).sendRequest(!1)},t.getRequestObject=function(e){if(!r.has(e))throw new Error("Expected a previously used callback object, provided object is unknown.");return r.get(e)},t.dboAction=function(e,t){return a.default.prepare(e,t)}})),define("WoltLabSuite/Core/BackgroundQueue",["require","exports","tslib","./Ajax"],(function(e,t,i,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invoke=t.setUrl=void 0,n=i.__importStar(n);class o{constructor(e){this._invocations=0,this._isBusy=!1,this._url=e}invoke(){this._isBusy||(this._isBusy=!0,n.api(this))}_ajaxSuccess(e){this._invocations++,e>0&&this._invocations<5?window.setTimeout((()=>{this._isBusy=!1,this.invoke()}),1e3):(this._isBusy=!1,this._invocations=0)}_ajaxSetup(){return{url:this._url,ignoreError:!0,silent:!0}}}let a;t.setUrl=function(e){a||(a=new o(e))},t.invoke=function(){a?a.invoke():console.error("The background queue has not been initialized yet.")}})),define("WoltLabSuite/Core/Date/Util",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(e){return r(e,n.get("wcf.date.dateFormat"))}function a(e){return r(e,n.get("wcf.date.timeFormat"))}function r(e,t){"c"===t&&(t="Y-m-dTH:i:sP");let i="";for(let o=0,a=t.length;o11?"pm":"am";break;case"g":{const t=e.getHours();r=0===t?"12":t>12?(t-12).toString():t.toString();break}case"h":{const t=e.getHours();r=0===t?"12":t>12?(t-12).toString():t.toString(),r=r.padStart(2,"0");break}case"A":r=e.getHours()>11?"PM":"AM";break;case"G":r=e.getHours().toString();break;case"H":r=e.getHours().toString().padStart(2,"0");break;case"d":r=e.getDate().toString().padStart(2,"0");break;case"j":r=e.getDate().toString();break;case"l":r=n.get("__days")[e.getDay()];break;case"D":r=n.get("__daysShort")[e.getDay()];break;case"S":r="";break;case"m":r=(e.getMonth()+1).toString().padStart(2,"0");break;case"n":r=(e.getMonth()+1).toString();break;case"F":r=n.get("__months")[e.getMonth()];break;case"M":r=n.get("__monthsShort")[e.getMonth()];break;case"y":r=e.getFullYear().toString().slice(-2);break;case"Y":r=e.getFullYear().toString();break;case"P":{let t=e.getTimezoneOffset();r=t>0?"-":"+",t=Math.abs(t),r+=(~~(t/60)).toString().padStart(2,"0"),r+=":",r+=(t%60).toString().padStart(2,"0");break}case"r":r=e.toString();break;case"U":r=Math.round(e.getTime()/1e3).toString();break;case"\\":r="",o+1Date.now()&&(t.dataset.isFutureDate="true",t.textContent=n.get("wcf.date.dateTimeFormat").replace("%time%",s).replace("%date%",i)),t},t.getTimezoneDate=function(e,t){const i=6e4*new Date(e).getTimezoneOffset();return new Date(e+i+t)}})),define("WoltLabSuite/Core/Devtools",["require","exports"],(function(e,t){"use strict";function i(){window.sessionStorage&&window.sessionStorage.setItem("__wsc_devtools_config",JSON.stringify(n))}let n={editorAutosave:!0,eventLogging:!1};const o={help(){window.console.log(""),window.console.log("%cAvailable commands:","text-decoration: underline"),Object.keys(o).filter((e=>"_internal_"!==e)).sort().forEach((e=>{window.console.log(`\tDevtools.${e}()`)})),window.console.log("")},toggleEditorAutosave(e){n.editorAutosave=!e&&!n.editorAutosave,i(),window.console.log("%c\tEditor autosave "+(n.editorAutosave?"enabled":"disabled"),"font-style: italic")},toggleEventLogging(e){n.eventLogging=!!e||!n.eventLogging,i(),window.console.log("%c\tEvent logging "+(n.eventLogging?"enabled":"disabled"),"font-style: italic")},_internal_:{enable(){if(window.Devtools=o,window.console.log("%cDevtools for WoltLab Suite loaded","font-weight: bold"),window.sessionStorage){const e=window.sessionStorage.getItem("__wsc_devtools_config");try{null!==e&&(n=JSON.parse(e))}catch(e){}n.editorAutosave||o.toggleEditorAutosave(!0),n.eventLogging&&o.toggleEventLogging(!0)}window.console.log("Settings are saved per browser session, enter `Devtools.help()` to learn more."),window.console.log("")},editorAutosave:()=>n.editorAutosave,eventLog(e,t){n.eventLogging&&window.console.log("[Devtools.EventLogging] Firing event: "+t+" @ "+e)}}};return o})),define("WoltLabSuite/Core/Event/Handler",["require","exports","tslib","../Core","../Devtools"],(function(e,t,i,n,o){"use strict";function a(e,t){"string"!=typeof t&&(t=void 0);const i=r.get(e);void 0!==i&&(void 0===t?r.delete(e):i.delete(t))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeAllBySuffix=t.removeAll=t.remove=t.fire=t.add=void 0,n=i.__importStar(n),o=i.__importDefault(o);const r=new Map;t.add=function(e,t,i){if("function"!=typeof i)throw new TypeError(`Expected a valid callback for '${t}'@'${e}'.`);let o=r.get(e);void 0===o&&(o=new Map,r.set(e,o));let a=o.get(t);void 0===a&&(a=new Map,o.set(t,a));const s=n.getUuid();return a.set(s,i),s},t.fire=function(e,t,i){var n,a;o.default._internal_.eventLog(e,t),i=i||{},null===(a=null===(n=r.get(e))||void 0===n?void 0:n.get(t))||void 0===a||a.forEach((e=>e(i)))},t.remove=function(e,t,i){var n,o;null===(o=null===(n=r.get(e))||void 0===n?void 0:n.get(t))||void 0===o||o.delete(i)},t.removeAll=a,t.removeAllBySuffix=function(e,t){const i=r.get(e);if(void 0===i)return;const n=-1*(t="_"+t).length;i.forEach(((i,o)=>{o.substr(n)===t&&a(e,o)}))}})),define("WoltLabSuite/Core/Dom/Traverse",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Element))throw new TypeError("Expected a valid element as first argument.");const n=[];for(let o=0;o!0],[1,(e,t)=>e.matches(t)],[2,(e,t)=>e.classList.contains(t)],[3,(e,t)=>e.nodeName===t]]);t.childBySel=function(e,t){return i(e,1,t)[0]||null},t.childByClass=function(e,t){return i(e,2,t)[0]||null},t.childByTag=function(e,t){return i(e,3,t)[0]||null},t.childrenBySel=function(e,t){return i(e,1,t)},t.childrenByClass=function(e,t){return i(e,2,t)},t.childrenByTag=function(e,t){return i(e,3,t)},t.parentBySel=function(e,t,i){return n(e,1,t,i)},t.parentByClass=function(e,t,i){return n(e,2,t,i)},t.parentByTag=function(e,t,i){return n(e,3,t,i)},t.next=function(e){return o(e,"nextElementSibling",0,"")},t.nextBySel=function(e,t){return o(e,"nextElementSibling",1,t)},t.nextByClass=function(e,t){return o(e,"nextElementSibling",2,t)},t.nextByTag=function(e,t){return o(e,"nextElementSibling",3,t)},t.prev=function(e){return o(e,"previousElementSibling",0,"")},t.prevBySel=function(e,t){return o(e,"previousElementSibling",1,t)},t.prevByClass=function(e,t){return o(e,"previousElementSibling",2,t)},t.prevByTag=function(e,t){return o(e,"previousElementSibling",3,t)}})),define("WoltLabSuite/Core/Ui/Alignment",["require","exports","tslib","../Core","../Dom/Traverse","../Dom/Util","../Language"],(function(e,t,i,n,o,a,r){"use strict";function s(e,t,i,n,o,a){let r="auto",s="auto",l=!0,c=50;const d=document.getElementById("pageHeaderPanel");if(null!==d){const e=window.getComputedStyle(d).position;c="fixed"===e||"static"===e?d.offsetHeight:0}if("top"===e){const e=document.body.clientHeight;r=e-n.top+a,e-(r+t.height)<(window.scrollY||window.pageYOffset)+c&&(l=!1)}else s=n.top+i.height+a,s+t.height-(window.scrollY||window.pageYOffset)>o&&(l=!1);return{align:e,bottom:r,top:s,result:l}}function l(e,t,i,n,o){let a="auto",r="auto",s=!0;return"left"===e?(a=n.left,a+t.width>o&&(s=!1)):"right"===e?n.left+i.widtho)&&(s=!1)),{align:e,left:a,right:r,result:s}}Object.defineProperty(t,"__esModule",{value:!0}),t.set=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importStar(r),t.set=function(e,t,i){let c;i=n.extend({verticalOffset:0,pointer:!1,pointerClassNames:[],refDimensionsElement:null,horizontal:"left",vertical:"bottom",allowFlip:"both"},i||{}),Array.isArray(i.pointerClassNames)&&i.pointerClassNames.length===(i.pointer?1:2)||(i.pointerClassNames=[]),-1===["left","right","center"].indexOf(i.horizontal)&&(i.horizontal="left"),"bottom"!==i.vertical&&(i.vertical="top"),-1===["both","horizontal","vertical","none"].indexOf(i.allowFlip)&&(i.allowFlip="both"),"none"===window.getComputedStyle(e).display&&(c=e.style.getPropertyValue("display"),e.style.setProperty("display","block")),a.default.setStyles(e,{bottom:"auto !important",left:"0 !important",right:"auto !important",top:"0 !important",visibility:"hidden !important"});const d=a.default.outerDimensions(e),u=a.default.outerDimensions(i.refDimensionsElement instanceof HTMLElement?i.refDimensionsElement:t),p=a.default.offset(t),h=window.innerHeight,m=document.body.clientWidth;let f=null,g=!1;if("center"===i.horizontal&&(g=!0,f=l(i.horizontal,d,u,p,m),f.result||("both"===i.allowFlip||"horizontal"===i.allowFlip?i.horizontal="left":f.result=!0)),"rtl"===r.get("wcf.global.pageDirection")&&(i.horizontal="left"===i.horizontal?"right":"left"),null===f||!f.result){const e=f;if(f=l(i.horizontal,d,u,p,m),!f.result&&("both"===i.allowFlip||"horizontal"===i.allowFlip)){const t=l("left"===i.horizontal?"right":"left",d,u,p,m);t.result?f=t:g&&(f=e)}}const b=f.left,_=f.right;let v=s(i.vertical,d,u,p,h,i.verticalOffset);if(!v.result&&("both"===i.allowFlip||"vertical"===i.allowFlip)){const e=s("top"===i.vertical?"bottom":"top",d,u,p,h,i.verticalOffset);e.result&&(v=e)}const w=v.bottom,y=v.top;if(i.pointer){const t=o.childrenByClass(e,"elementPointer")[0]||null;if(null===t)throw new Error("Expected the .elementPointer element to be a direct children.");"center"===f.align?(t.classList.add("center"),t.classList.remove("left","right")):(t.classList.add(f.align),t.classList.remove("center"),t.classList.remove("left"===f.align?"right":"left")),"top"===v.align?t.classList.add("flipVertical"):t.classList.remove("flipVertical")}else 2===i.pointerClassNames.length&&(e.classList["auto"===y?"add":"remove"](i.pointerClassNames[0]),e.classList["auto"===b?"add":"remove"](i.pointerClassNames[1]));a.default.setStyles(e,{bottom:"auto"===w?w:Math.round(w).toString()+"px",left:"auto"===b?b:Math.ceil(b).toString()+"px",right:"auto"===_?_:Math.floor(_).toString()+"px",top:"auto"===y?y:Math.round(y).toString()+"px"}),a.default.show(e),e.style.removeProperty("visibility"),void 0!==c&&(""===c?e.style.removeProperty("display"):e.style.setProperty("display",c))}})),define("WoltLabSuite/Core/Ui/CloseOverlay",["require","exports","tslib","../CallbackList"],(function(e,t,i,n){"use strict";function o(e,t){s.add(e,t),c||(document.body.addEventListener("click",(()=>{r(l.Document)})),c=!0)}function a(e){s.remove(e)}function r(e,t){s.forEach(null,(i=>i(e,t)))}Object.defineProperty(t,"__esModule",{value:!0}),t.execute=t.remove=t.add=t.Origin=void 0;const s=new((n=i.__importDefault(n)).default);var l;!function(e){e.Document="document",e.DropDown="dropdown"}(l=t.Origin||(t.Origin={}));let c=!1;t.add=o,t.remove=a,t.execute=r;const d={add:o,remove:a,execute:r};t.default=d})),function(e,t){var i,n;"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("tabbable",["exports"],t):(e="undefined"!=typeof globalThis?globalThis:e||self,i=e.tabbable,n=e.tabbable={},t(n),n.noConflict=function(){return e.tabbable=i,n})}(this,(function(e){"use strict";var t=["input","select","textarea","a[href]","button","[tabindex]:not(slot)","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])',"details>summary:first-of-type","details"],i=t.join(","),n="undefined"==typeof Element,o=n?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,a=!n&&Element.prototype.getRootNode?function(e){return e.getRootNode()}:function(e){return e.ownerDocument},r=function(e,t,n){var a=Array.prototype.slice.apply(e.querySelectorAll(i));return t&&o.call(e,i)&&a.unshift(e),a.filter(n)},s=function e(t,n,a){var r,s,l,c,d,u,p;for(r=[],s=Array.from(t);s.length;)"SLOT"===(l=s.shift()).tagName?(d=e((c=l.assignedElements()).length?c:l.children,!0,a),a.flatten?r.push.apply(r,d):r.push({scope:l,candidates:d})):(o.call(l,i)&&a.filter(l)&&(n||!t.includes(l))&&r.push(l),(u=l.shadowRoot||"function"==typeof a.getShadowRoot&&a.getShadowRoot(l))?(p=e(!0===u?l.children:u.children,!0,a),a.flatten?r.push.apply(r,p):r.push({scope:l,candidates:p})):s.unshift.apply(s,l.children));return r},l=function(e,t){return e.tabIndex<0&&(t||/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||e.isContentEditable)&&isNaN(parseInt(e.getAttribute("tabindex"),10))?0:e.tabIndex},c=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},d=function(e){return"INPUT"===e.tagName},u=function(e){var t=e.getBoundingClientRect(),i=t.width,n=t.height;return 0===i&&0===n},p=function(e,t){return!(t.disabled||function(e){return d(e)&&"hidden"===e.type}(t)||function(e,t){var i,n,r,s,l=t.displayCheck,c=t.getShadowRoot;if("hidden"===getComputedStyle(e).visibility)return!0;if(i=o.call(e,"details>summary:first-of-type")?e.parentElement:e,o.call(i,"details:not([open]) *"))return!0;if(!l||"full"===l){if("function"==typeof c){for(n=e;e;){if(r=e.parentElement,s=a(e),r&&!r.shadowRoot&&!0===c(r))return u(e);e=e.assignedSlot?e.assignedSlot:r||s===e.ownerDocument?r:s.host}e=n}return!e.getClientRects().length}return"non-zero-area"===l&&u(e)}(t,e)||function(e){return"DETAILS"===e.tagName&&Array.prototype.slice.apply(e.children).some((function(e){return"SUMMARY"===e.tagName}))}(t)||function(e){var t,i,n;if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(i=0;i0&&(t=a[a.length-1])!==e&&t.pause(),-1===(i=a.indexOf(e))||a.splice(i,1),a.push(e)},deactivateTrap:function(e){var t=a.indexOf(e);-1!==t&&a.splice(t,1),a.length>0&&a[a.length-1].unpause()}}),s=function(e){return setTimeout(e,0)},l=function(e,t){var i=-1;return e.every((function(e,n){return!t(e)||(i=n,!1)})),i},c=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n1?t-1:0),n=1;n=0?a.activeElement:(e=p.tabbableGroups[0])&&e.firstTabbableNode||f("fallbackFocus")),!t)throw new Error("Your focus-trap needs to have at least one focusable element");return t},b=function(){if(p.containerGroups=p.containers.map((function(e){var i=t.tabbable(e,u.tabbableOptions),n=t.focusable(e,u.tabbableOptions);return{container:e,tabbableNodes:i,focusableNodes:n,firstTabbableNode:i.length>0?i[0]:null,lastTabbableNode:i.length>0?i[i.length-1]:null,nextTabbableNode:function(e){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=n.findIndex((function(t){return t===e}));if(!(o<0))return i?n.slice(o+1).find((function(e){return t.isTabbable(e,u.tabbableOptions)})):n.slice(0,o).reverse().find((function(e){return t.isTabbable(e,u.tabbableOptions)}))}}})),p.tabbableGroups=p.containerGroups.filter((function(e){return e.tabbableNodes.length>0})),p.tabbableGroups.length<=0&&!f("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times")},_=function e(t){!1!==t&&t!==a.activeElement&&(t&&t.focus?(t.focus({preventScroll:!!u.preventScroll}),p.mostRecentlyFocusedNode=t,function(e){return e.tagName&&"input"===e.tagName.toLowerCase()&&"function"==typeof e.select}(t)&&t.select()):e(g()))},v=function(e){var t=f("setReturnFocus",e);return t||!1!==t&&e},w=function(e){var i=d(e);m(i)>=0||(c(u.clickOutsideDeactivates,e)?o.deactivate({returnFocus:u.returnFocusOnDeactivate&&!t.isFocusable(i,u.tabbableOptions)}):c(u.allowOutsideClick,e)||e.preventDefault())},y=function(e){var t=d(e),i=m(t)>=0;i||t instanceof Document?i&&(p.mostRecentlyFocusedNode=t):(e.stopImmediatePropagation(),_(p.mostRecentlyFocusedNode||g()))},E=function(e){if(function(e){return"Escape"===e.key||"Esc"===e.key||27===e.keyCode}(e)&&!1!==c(u.escapeDeactivates,e))return e.preventDefault(),void o.deactivate();(function(e){return"Tab"===e.key||9===e.keyCode})(e)&&function(e){var i,n,o,a,r,s,c,h=d(e);b(),i=null,p.tabbableGroups.length>0?(o=(n=m(h))>=0?p.containerGroups[n]:void 0,n<0?i=e.shiftKey?p.tabbableGroups[p.tabbableGroups.length-1].lastTabbableNode:p.tabbableGroups[0].firstTabbableNode:e.shiftKey?(a=l(p.tabbableGroups,(function(e){var t=e.firstTabbableNode;return h===t})),a<0&&(o.container===h||t.isFocusable(h,u.tabbableOptions)&&!t.isTabbable(h,u.tabbableOptions)&&!o.nextTabbableNode(h,!1))&&(a=n),a>=0&&(r=0===a?p.tabbableGroups.length-1:a-1,i=p.tabbableGroups[r].lastTabbableNode)):(s=l(p.tabbableGroups,(function(e){var t=e.lastTabbableNode;return h===t})),s<0&&(o.container===h||t.isFocusable(h,u.tabbableOptions)&&!t.isTabbable(h,u.tabbableOptions)&&!o.nextTabbableNode(h))&&(s=n),s>=0&&(c=s===p.tabbableGroups.length-1?0:s+1,i=p.tabbableGroups[c].firstTabbableNode))):i=f("fallbackFocus"),i&&(e.preventDefault(),_(i))}(e)},S=function(e){var t=d(e);m(t)>=0||c(u.clickOutsideDeactivates,e)||c(u.allowOutsideClick,e)||(e.preventDefault(),e.stopImmediatePropagation())},L=function(){if(p.active)return r.activateTrap(o),p.delayInitialFocusTimer=u.delayInitialFocus?s((function(){_(g())})):_(g()),a.addEventListener("focusin",y,!0),a.addEventListener("mousedown",w,{capture:!0,passive:!1}),a.addEventListener("touchstart",w,{capture:!0,passive:!1}),a.addEventListener("click",S,{capture:!0,passive:!1}),a.addEventListener("keydown",E,{capture:!0,passive:!1}),o},C=function(){if(p.active)return a.removeEventListener("focusin",y,!0),a.removeEventListener("mousedown",w,!0),a.removeEventListener("touchstart",w,!0),a.removeEventListener("click",S,!0),a.removeEventListener("keydown",E,!0),o};return(o={get active(){return p.active},get paused(){return p.paused},activate:function(e){var t,i,n,o;return p.active?this:(t=h(e,"onActivate"),i=h(e,"onPostActivate"),(n=h(e,"checkCanFocusTrap"))||b(),p.active=!0,p.paused=!1,p.nodeFocusedBeforeActivation=a.activeElement,t&&t(),o=function(){n&&b(),L(),i&&i()},n?(n(p.containers.concat()).then(o,o),this):(o(),this))},deactivate:function(e){var t,i,a,l,c,d;return p.active?(t=n({onDeactivate:u.onDeactivate,onPostDeactivate:u.onPostDeactivate,checkCanReturnFocus:u.checkCanReturnFocus},e),clearTimeout(p.delayInitialFocusTimer),p.delayInitialFocusTimer=void 0,C(),p.active=!1,p.paused=!1,r.deactivateTrap(o),i=h(t,"onDeactivate"),a=h(t,"onPostDeactivate"),l=h(t,"checkCanReturnFocus"),c=h(t,"returnFocus","returnFocusOnDeactivate"),i&&i(),d=function(){s((function(){c&&_(v(p.nodeFocusedBeforeActivation)),a&&a()}))},c&&l?(l(v(p.nodeFocusedBeforeActivation)).then(d,d),this):(d(),this)):this},pause:function(){return p.paused||!p.active||(p.paused=!0,C()),this},unpause:function(){return p.paused&&p.active?(p.paused=!1,b(),L(),this):this},updateContainerElements:function(e){var t=[].concat(e).filter(Boolean);return p.containers=t.map((function(e){return"string"==typeof e?a.querySelector(e):e})),p.active&&b(),this}}).updateContainerElements(e),o},Object.defineProperty(e,"__esModule",{value:!0})})),define("WoltLabSuite/Core/Date/Picker",["require","exports","tslib","../Core","./Util","../Dom/Change/Listener","../Event/Handler","../Language","../Ui/Alignment","../Ui/CloseOverlay","../Dom/Util","focus-trap"],(function(e,t,i,n,o,a,r,s,l,c,d,u){"use strict";function p(e,t,i){const n=i?"minDate":"maxDate";let o=(e.dataset[n]||"").trim();if(/^(\d{4})-(\d{2})-(\d{2})$/.exec(o))o=new Date(o).getTime().toString();else if("now"===o)o=t.getTime().toString();else if(/^\d{1,3}$/.exec(o)){const e=new Date(t.getTime());e.setFullYear(e.getFullYear()+~~o*(i?-1:1)),o=e.getTime().toString()}else if(/^datePicker-(.+)$/.exec(o)){if(o=RegExp.$1,null===document.getElementById(o))throw new Error("Reference date picker identified by '"+o+"' does not exists (element id: '"+e.id+"').")}else o=/^\d{4}-\d{2}-\d{2}T/.test(o)?new Date(o).getTime().toString():new Date(i?1902:2038,0,1).getTime().toString();e.dataset[n]=o}function h(e){let t=T.dataset[e]||"";if(/^datePicker-(.+)$/.exec(t)){const e=document.getElementById(RegExp.$1);if(null===e)throw new Error(`Unable to find an element with the id '${RegExp.$1}'.`);t=e.dataset.value||""}return new Date(parseInt(t,10))}function m(e){e.preventDefault(),e.stopPropagation(),function(){if(null!==U)return;U=document.createElement("div"),U.className="datePicker",U.addEventListener("click",(e=>{e.stopPropagation()}));const e=document.createElement("header");U.appendChild(e),O=document.createElement("a"),O.className="previous jsTooltip",O.href="#",O.setAttribute("role","button"),O.tabIndex=0,O.title=s.get("wcf.date.datePicker.previousMonth"),O.setAttribute("aria-label",s.get("wcf.date.datePicker.previousMonth")),O.innerHTML='',O.addEventListener("click",(e=>F.previousMonth(e))),e.appendChild(O);const t=document.createElement("span");e.appendChild(t),P=document.createElement("select"),P.className="month jsTooltip",P.title=s.get("wcf.date.datePicker.month"),P.setAttribute("aria-label",s.get("wcf.date.datePicker.month")),P.addEventListener("change",v),t.appendChild(P);let i="";const n=s.get("__monthsShort");for(let e=0;e<12;e++)i+=``;P.innerHTML=i,q=document.createElement("select"),q.className="year jsTooltip",q.title=s.get("wcf.date.datePicker.year"),q.setAttribute("aria-label",s.get("wcf.date.datePicker.year")),q.addEventListener("change",w),t.appendChild(q),N=document.createElement("a"),N.className="next jsTooltip",N.href="#",N.setAttribute("role","button"),N.tabIndex=0,N.title=s.get("wcf.date.datePicker.nextMonth"),N.setAttribute("aria-label",s.get("wcf.date.datePicker.nextMonth")),N.innerHTML='',N.addEventListener("click",(e=>F.nextMonth(e))),e.appendChild(N),D=document.createElement("ul"),U.appendChild(D);const a=document.createElement("li");a.className="weekdays",D.appendChild(a);const r=s.get("__daysShort");for(let e=0;e<7;e++){let t=e+C;t>6&&(t-=7);const i=document.createElement("span");i.textContent=r[t],a.appendChild(i)}for(let e=0;e<6;e++){const e=document.createElement("li");D.appendChild(e);for(let t=0;t<7;t++){const t=document.createElement("a");t.addEventListener("click",y),M.push(t),e.appendChild(t)}}B=document.createElement("footer"),U.appendChild(B),A=document.createElement("select"),A.className="hour",A.title=s.get("wcf.date.datePicker.hour"),A.setAttribute("aria-label",s.get("wcf.date.datePicker.hour")),A.addEventListener("change",_);const l=new Date(2e3,0,1),c=s.get("wcf.date.timeFormat").replace(/:/,"").replace(/[isu]/g,"");let d="";for(let e=0;e<24;e++)l.setHours(e),d+=``;A.innerHTML=d,B.appendChild(A),B.appendChild(document.createTextNode(" : ")),j=document.createElement("select"),j.className="minute",j.title=s.get("wcf.date.datePicker.minute"),j.setAttribute("aria-label",s.get("wcf.date.datePicker.minute")),j.addEventListener("change",_),d="";for(let e=0;e<60;e++){const t=e<10?"0"+e.toString():e;d+=``}j.innerHTML=d,B.appendChild(j),document.body.appendChild(U),S=(0,u.createFocusTrap)(U,{allowOutsideClick:!0,escapeDeactivates:()=>(f(),!1)})}();const t=e.currentTarget,i="INPUT"===t.nodeName?t:t.previousElementSibling;if(i===T)return void f();const a=i.closest(".dialogContent");null!==a&&(n.stringToBool(a.dataset.hasDatepickerScrollListener||"")||(a.addEventListener("scroll",g),a.dataset.hasDatepickerScrollListener="1")),T=i;const r=x.get(T),c=T.dataset.value;let d;c?(d=new Date(parseInt(c,10)),"Invalid Date"===d.toString()&&(d=new Date)):d=new Date,I=h("minDate"),I.getTime()>d.getTime()&&(d=I),k=h("maxDate"),T.dataset.maxDate&&k.getTime()${e}`;q.innerHTML=n,q.value=i.toString(),P.value=t.toString(),U.classList.add("active")}(d.getDate(),d.getMonth(),d.getFullYear()),l.set(U,T),T.nextElementSibling.setAttribute("aria-expanded","true"),S.activate()}function f(){if(null===U||!U.classList.contains("active"))return;U.classList.remove("active");const e=x.get(T);"function"==typeof e.onClose&&e.onClose(),r.fire("WoltLabSuite/Core/Date/Picker","close",{element:T});T.nextElementSibling.setAttribute("aria-expanded","false"),T=null,S.deactivate()}function g(e){if(null===T)return;const t=e.currentTarget,i=d.default.offset(T),n=d.default.offset(t);i.top+T.clientHeight<=n.top||i.top>=n.top+t.offsetHeight||i.left<=n.left||i.left>=n.left+t.offsetWidth?f():l.set(U,T)}function b(e,t,i){const n=void 0!==e,a=void 0!==t;if("number"!=typeof e&&(e=parseInt(e||D.dataset.day||"0",10)),"number"!=typeof t&&(t=parseInt(t||"0",10)),"number"!=typeof i&&(i=parseInt(i||"0",10)),a||i){let r=0!==i;const s=document.createDocumentFragment();s.appendChild(D),a||(t=parseInt(D.dataset.month,10)),i||(i=parseInt(D.dataset.year,10));let l,c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-"+("0"+e.toString()).slice(-2));for(ck&&(i=k.getFullYear(),t=k.getMonth(),e=k.getDate(),P.value=t.toString(),q.value=i.toString(),r=!0),c=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");c.getDay()!==C;)c.setDate(c.getDate()-1);d.default.show(M[35].parentNode);const u=new Date(I.getFullYear(),I.getMonth(),I.getDate());for(let e=0;e<42;e++){if(35===e&&c.getMonth()!==t){d.default.hide(M[35].parentNode);break}const i=M[e];i.textContent=c.getDate().toString(),l=c.getMonth()===t,l&&(ck)&&(l=!1),i.classList[l?"remove":"add"]("otherMonth"),l&&(i.href="#",i.setAttribute("role","button"),i.tabIndex=0,i.title=o.formatDate(c),i.setAttribute("aria-label",o.formatDate(c))),c.setDate(c.getDate()+1)}if(D.dataset.month=t.toString(),D.dataset.year=i.toString(),U.insertBefore(s,B),!n&&(c=new Date(i,t,e),c.getDate()!==e)){for(;c.getMonth()!==t;)c.setDate(c.getDate()-1);e=c.getDate()}if(r){for(let e=0;e<12;e++){const t=P.children[e];t.disabled=i===I.getFullYear()&&+t.valuek.getMonth()}const e=new Date(i.toString()+"-"+("0"+(t+1).toString()).slice(-2)+"-01");e.setMonth(e.getMonth()+1),N.classList[eI?"add":"remove"]("active")}}if(e){for(let t=0;t<35;t++){const i=M[t];i.classList[i.classList.contains("otherMonth")||+i.textContent!==e?"remove":"add"]("active")}D.dataset.day=e.toString()}_()}function _(){const e=x.get(T);let t;n.stringToBool(T.dataset.empty||"")||(t=e.isDateTime?new Date(+D.dataset.year,+D.dataset.month,+D.dataset.day,+A.value,+j.value):new Date(+D.dataset.year,+D.dataset.month,+D.dataset.day),F.setDate(T,t))}function v(e){b(void 0,+e.currentTarget.value)}function w(e){b(void 0,void 0,+e.currentTarget.value)}function y(e){e.preventDefault();const t=e.currentTarget;if(t.classList.contains("otherMonth"))return;T.dataset.empty="false",b(+t.textContent);x.get(T).isDateTime||f()}function E(e){if("string"==typeof e&&(e=document.getElementById(e)),!(e instanceof HTMLInputElement&&e.classList.contains("inputDatePicker")&&x.has(e)))throw new Error("Expected a valid date picker input element or id.");return e}n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importStar(r),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c),d=i.__importDefault(d);let S,L=!1,C=0;const x=new Map;let k,I,T=null;const M=[];let D,A,j,P,N,O,B,q,U=null;const F={init(){L||(L=!0,C=parseInt(s.get("wcf.date.firstDayOfTheWeek"),10),a.default.add("WoltLabSuite/Core/Date/Picker",(()=>F.init())),c.default.add("WoltLabSuite/Core/Date/Picker",(()=>f())));const e=new Date;document.querySelectorAll('input[type="date"]:not(.inputDatePicker), input[type="datetime"]:not(.inputDatePicker)').forEach((t=>{t.classList.add("inputDatePicker"),t.readOnly=!0;const i="datetime"===t.getAttribute("type"),a=i&&n.stringToBool(t.dataset.timeOnly||""),r=n.stringToBool(t.dataset.disableClear||""),l=i&&n.stringToBool(t.dataset.ignoreTimezone||""),c=t.classList.contains("birthday");t.dataset.isDateTime=i?"true":"false",t.dataset.isTimeOnly=a?"true":"false";let d=null,u=t.value;u||(u=t.getAttribute("value")||"");const h=/^\d+-\d+-\d+$/.test(u);if(u){if(a){d=new Date;const e=u.split(":");d.setHours(+e[0],+e[1])}else{if(l||c||h){let e=new Date(u).getTimezoneOffset(),t=e>0?"-":"+";e=Math.abs(e);const i=Math.floor(e/60).toString(),n=(e%60).toString();t+=2===i.length?i:"0"+i,t+=":",t+=2===n.length?n:"0"+n,c||h?u+="T00:00:00"+t:u=u.replace(/[+-][0-9]{2}:[0-9]{2}$/,t)}d=new Date(u)}const e=d.getTime();isNaN(e)?u="":(t.dataset.value=e.toString(),u=a?o.formatTime(d):i?o.formatDateTime(d):o.formatDate(d))}const f=0===u.length;if(c?(t.dataset.minDate="120",t.dataset.maxDate=(new Date).getFullYear().toString()+"-12-31"):(t.min&&(t.dataset.minDate=t.min),t.max&&(t.dataset.maxDate=t.max)),p(t,e,!0),p(t,e,!1),(t.dataset.minDate||"")===(t.dataset.maxDate||""))throw new Error("Minimum and maximum date cannot be the same (element id '"+t.id+"').");t.type="text",t.value=u,t.dataset.empty=f?"true":"false";const g=t.dataset.placeholder||"";g&&(t.placeholder=g);const b=document.createElement("input");b.id=t.id+"DatePicker",b.name=t.name,b.type="hidden",null!==d&&(b.value=a?o.format(d,"H:i"):l?o.format(d,"Y-m-dTH:i:s"):o.format(d,i?"c":"Y-m-d")),t.parentNode.insertBefore(b,t),t.removeAttribute("name"),t.addEventListener("click",m);const _=document.createElement("div");_.className="inputAddon";const v=document.createElement("a");v.className="inputSuffix button jsTooltip",v.href="#",v.setAttribute("role","button"),v.tabIndex=0,v.title=s.get("wcf.date.datePicker"),v.setAttribute("aria-label",s.get("wcf.date.datePicker")),v.setAttribute("aria-haspopup","true"),v.setAttribute("aria-expanded","false"),v.addEventListener("click",(e=>{t.disabled||m(e)})),_.appendChild(v);let w=document.createElement("span");w.className="icon icon16 fa-calendar",v.appendChild(w),t.parentNode.insertBefore(_,t),_.insertBefore(t,v);let y=null;r||(y=document.createElement("a"),y.className="inputSuffix button",y.addEventListener("click",(()=>{t.disabled||this.clear(t)})),f&&y.style.setProperty("visibility","hidden",""),_.appendChild(y),w=document.createElement("span"),w.className="icon icon16 fa-times",y.appendChild(w));const E=["tiny","short","medium","long"];let S=!1;for(let e=0;e<4;e++)t.classList.contains(E[e])&&(S=!0);S||t.classList.add("short");new MutationObserver((()=>{t.disabled?(v.classList.add("disabled"),null==y||y.classList.add("disabled")):(v.classList.remove("disabled"),null==y||y.classList.remove("disabled"))})).observe(t,{attributeFilter:["disabled"]}),t.disabled&&(v.classList.add("disabled"),null==y||y.classList.add("disabled")),x.set(t,{clearButton:y,shadow:b,disableClear:r,isDateTime:i,isEmpty:f,isTimeOnly:a,ignoreTimezone:l,onClose:null})}))},previousMonth(e){e.preventDefault(),"0"===P.value?(P.value="11",q.value=(+q.value-1).toString()):P.value=(+P.value-1).toString(),b(void 0,+P.value,+q.value)},nextMonth(e){e.preventDefault(),"11"===P.value?(P.value="0",q.value=(+q.value+1).toString()):P.value=(+P.value+1).toString(),b(void 0,+P.value,+q.value)},getDate(e){const t=(e=E(e)).dataset.value||"";return t?new Date(+t):null},setDate(e,t){e=E(e);const i=x.get(e);e.dataset.value=t.getTime().toString();let n,a="";i.isDateTime?i.isTimeOnly?(n=o.formatTime(t),a="H:i"):i.ignoreTimezone?(n=o.formatDateTime(t),a="Y-m-dTH:i:s"):(n=o.formatDateTime(t),a="c"):(n=o.formatDate(t),a="Y-m-d"),e.value=n,i.shadow.value=o.format(t,a),i.disableClear||i.clearButton.style.removeProperty("visibility")},getValue(e){e=E(e);const t=x.get(e);return t?t.shadow.value:""},clear(e){e=E(e);const t=x.get(e);e.removeAttribute("data-value"),e.value="",t.disableClear||t.clearButton.style.setProperty("visibility","hidden",""),t.isEmpty=!0,t.shadow.value=""},destroy(e){e=E(e);const t=x.get(e),i=e.parentNode;i.parentNode.insertBefore(e,i),i.remove(),e.setAttribute("type","date"+(t.isDateTime?"time":"")),e.name=t.shadow.name,e.value=t.shadow.value,e.removeAttribute("data-value"),e.removeEventListener("click",m),t.shadow.remove(),e.classList.remove("inputDatePicker"),e.readOnly=!1,x.delete(e)},setCloseCallback(e,t){e=E(e),x.get(e).onClose=t}};return window.__wcf_bc_datePicker=F,F})),define("WoltLabSuite/Core/Timer/Repeating",["require","exports","tslib","../Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(e,t){if("function"!=typeof e)throw new TypeError("Expected a valid callback as first argument.");if(t<0||t>864e5)throw new RangeError(`Invalid delta ${t}. Delta must be in the interval [0, 86400000].`);this._callback=e.bind(void 0,this),this._delta=t,this.restart()}restart(){this.stop(),this._timer=setInterval(this._callback,this._delta)}stop(){void 0!==this._timer&&(clearInterval(this._timer),this._timer=void 0)}setDelta(e){this._delta=e,this.restart()}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Date/Time/Relative",["require","exports","tslib","../../Core","../Util","../../Dom/Change/Listener","../../Language","../../Timer/Repeating"],(function(e,t,i,n,o,a,r,s){"use strict";function l(){document.hidden?(u=!1,p=!1):(u=!0,p&&(c(),p=!1))}function c(){if(!u)return void(p||(p=!0));const e=new Date,t=(e.getTime()-e.getMilliseconds())/1e3;document.querySelectorAll("time").forEach((i=>{!function(e,t,i){if(!e.classList.contains("datetime")||n.stringToBool(e.dataset.isFutureDate||""))return;const a=parseInt(e.dataset.timestamp,10)+d,s=e.dataset.date,l=e.dataset.time,c=e.dataset.offset;e.title||(e.title=r.get("wcf.date.dateTimeFormat").replace(/%date%/,s).replace(/%time%/,l));if(a>=i||i0||window.DocumentTouch&&document instanceof window.DocumentTouch,"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1&&(i="safari",o="ios")},t.browser=function(){return i},t.editor=function(){return n},t.platform=function(){return o},t.touch=function(){return a}})),define("WoltLabSuite/Core/Form/XsrfToken",["require","exports","../Core"],(function(e,t,i){"use strict";function n(e){return"INPUT"===e.nodeName}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,t.setup=function(){new MutationObserver((e=>{const t=(0,i.getXsrfToken)();e.forEach((e=>{e.addedNodes.forEach((e=>{n(e)&&e.classList.contains("xsrfTokenInput")&&(e.value=t,e.classList.add("xsrfTokenInputHandled"))}))}))})).observe(document,{subtree:!0,childList:!0});const e=(0,i.getXsrfToken)();document.querySelectorAll(".xsrfTokenInput").forEach((t=>{n(t)&&(t.value=e,t.classList.add("xsrfTokenInputHandled"))}))}})),define("WoltLabSuite/Core/Ui/Screen",["require","exports","tslib","../Core","../Environment"],(function(e,t,i,n,o){"use strict";function a(e){if("string"!=typeof e||""===e.trim())throw new TypeError("Expected a non-empty string for parameter 'query'.");h.has(e)&&(e=h.get(e)),p.has(e)&&(e=p.get(e));let t=s.get(e);return t||(t={callbacksMatch:new Map,callbacksUnmatch:new Map,callbacksSetup:new Map,mql:window.matchMedia(e)},t.mql.addListener(r),s.set(e,t),e!==t.mql.media&&h.set(t.mql.media,e)),t}function r(e){const t=a(e.media);if(e.matches)t.callbacksSetup.size?(t.callbacksSetup.forEach((e=>{e()})),t.callbacksSetup=new Map):t.callbacksMatch.forEach((e=>{e()}));else{if(t.callbacksSetup.size)return;t.callbacksUnmatch.forEach((e=>{e()}))}}Object.defineProperty(t,"__esModule",{value:!0}),t.setDialogContainer=t.pageOverlayIsActive=t.pageOverlayClose=t.pageOverlayOpen=t.scrollEnable=t.scrollDisable=t.is=t.remove=t.on=void 0,n=i.__importStar(n),o=i.__importStar(o);const s=new Map;let l,c=0,d=0,u=0;const p=new Map(Object.entries({"screen-xs":"(max-width: 544px)","screen-sm":"(min-width: 545px) and (max-width: 768px)","screen-sm-down":"(max-width: 768px)","screen-sm-up":"(min-width: 545px)","screen-sm-md":"(min-width: 545px) and (max-width: 1024px)","screen-md":"(min-width: 769px) and (max-width: 1024px)","screen-md-down":"(max-width: 1024px)","screen-md-up":"(min-width: 769px)","screen-lg":"(min-width: 1025px)","screen-lg-only":"(min-width: 1025px) and (max-width: 1280px)","screen-lg-down":"(max-width: 1280px)","screen-xl":"(min-width: 1281px)"})),h=new Map;t.on=function(e,t){const i=n.getUuid(),o=a(e);return"function"==typeof t.match&&o.callbacksMatch.set(i,t.match),"function"==typeof t.unmatch&&o.callbacksUnmatch.set(i,t.unmatch),"function"==typeof t.setup&&(o.mql.matches?t.setup():o.callbacksSetup.set(i,t.setup)),i},t.remove=function(e,t){const i=a(e);i.callbacksMatch.delete(t),i.callbacksUnmatch.delete(t),i.callbacksSetup.delete(t)},t.is=function(e){return a(e).mql.matches},t.scrollDisable=function(){if(0===c){d=document.body.scrollTop,l="body",d||(d=document.documentElement.scrollTop,l="documentElement");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.setProperty("position","relative",""),e.style.setProperty("top",`-${d}px`,"")):e.style.setProperty("margin-top",`-${d}px`,""),document.documentElement.classList.add("disableScrolling")}c++},t.scrollEnable=function(){if(c&&(c--,0===c)){document.documentElement.classList.remove("disableScrolling");const e=document.getElementById("pageContainer");"ios"===o.platform()?(e.style.removeProperty("position"),e.style.removeProperty("top")):e.style.removeProperty("margin-top"),d&&window.setTimeout((()=>{document[l].scrollTop=~~d}),1)}},t.pageOverlayOpen=function(){0===u&&document.documentElement.classList.add("pageOverlayActive"),u++},t.pageOverlayClose=function(){u&&(u--,0===u&&document.documentElement.classList.remove("pageOverlayActive"))},t.pageOverlayIsActive=function(){return u>0},t.setDialogContainer=function(e){}})),define("WoltLabSuite/Core/Ui/Dialog",["require","exports","tslib","../Core","../Dom/Change/Listener","./Screen","../Dom/Util","../Language","../Environment","../Event/Handler","./CloseOverlay","focus-trap"],(function(e,t,i,n,o,a,r,s,l,c,d,u){"use strict";n=i.__importStar(n),o=i.__importDefault(o),a=i.__importStar(a),r=i.__importDefault(r),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d);let p,h=null;const m=new Map;let f=!1;const g=new WeakMap,b=new Map;let _;const v=["onBeforeClose","onClose","onShow"],w=["number","password","search","tel","text","url"],y={setup(){p=document.createElement("div"),p.classList.add("dialogOverlay"),p.setAttribute("aria-hidden","true"),p.addEventListener("mousedown",(e=>this._closeOnBackdrop(e))),p.addEventListener("wheel",(e=>{e.target===p&&e.preventDefault()}),{passive:!1}),document.getElementById("content").appendChild(p),_=e=>{if("Escape"===e.key){const t=e.target;if("INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName){const e=m.get(h);return!e.closable||("function"==typeof e.onBeforeClose?(e.onBeforeClose(h),!1):(this.close(h),!1))}}return!0},a.on("screen-xs",{match(){f=!0},unmatch(){f=!1},setup(){f=!0}}),this._initStaticDialogs(),o.default.add("Ui/Dialog",(()=>{this._initStaticDialogs()})),window.addEventListener("resize",(()=>{m.forEach((e=>{n.stringToBool(e.dialog.getAttribute("aria-hidden"))||this.rebuild(e.dialog.dataset.id||"")}))}))},_initStaticDialogs(){document.querySelectorAll(".jsStaticDialog").forEach((e=>{e.classList.remove("jsStaticDialog");const t=e.dataset.dialogId||"";if(t){const i=document.getElementById(t);null!==i&&(i.classList.remove("jsStaticDialogContent"),i.dataset.isStaticDialog="true",r.default.hide(i),e.addEventListener("click",(e=>{e.preventDefault(),this.openStatic(i.id,null,{title:i.dataset.title||""})})))}}))},open(t,o){let a=g.get(t);if(a&&n.isPlainObject(a))return this.openStatic(a.id,void 0===o?null:o);if("function"!=typeof t._dialogSetup)throw new Error("Callback object does not implement the method '_dialogSetup()'.");const s=t._dialogSetup();if(!n.isPlainObject(s))throw new Error("Expected an object literal as return value of '_dialogSetup()'.");const l=s.id;let c;if(a={id:l},void 0===s.source){if(c=document.getElementById(l),null===c)throw new Error("Element id '"+l+"' is invalid and no source attribute was given. If you want to use the `html` argument instead, please add `source: null` to your dialog configuration.");s.source=document.createDocumentFragment(),s.source.appendChild(c),c.removeAttribute("id"),r.default.show(c)}else if(null===s.source)s.source=o;else if("function"==typeof s.source)s.source();else if(n.isPlainObject(s.source)){if("string"!=typeof o||""===o.trim())return new Promise(((t,i)=>{e(["../Ajax"],t,i)})).then(i.__importStar).then((e=>{const i=s.source;e.api(this,i.data,(e=>{e.returnValues&&"string"==typeof e.returnValues.template&&(this.open(t,e.returnValues.template),"function"==typeof i.after&&i.after(m.get(l).content,e))}))})),{};s.source=o}else if("string"==typeof s.source&&(c=document.createElement("div"),c.id=l,r.default.setInnerHtml(c,s.source),s.source=document.createDocumentFragment(),s.source.appendChild(c)),!s.source.nodeType||s.source.nodeType!==Node.DOCUMENT_FRAGMENT_NODE)throw new Error("Expected at least a document fragment as 'source' attribute.");return g.set(t,a),b.set(l,t),this.openStatic(l,s.source,s.options)},openStatic(t,o,r){a.pageOverlayOpen(),"desktop"!==l.platform()&&(this.isOpen(t)||a.scrollDisable()),m.has(t)?this._updateDialog(t,o):((r=n.extend({backdropCloseOnClick:!0,closable:!0,closeButtonLabel:s.get("wcf.global.button.close"),closeConfirmMessage:"",disableContentPadding:!1,title:"",onBeforeClose:null,onClose:null,onShow:null},r||{})).closable||(r.backdropCloseOnClick=!1),r.closeConfirmMessage&&(r.onBeforeClose=t=>{new Promise(((t,i)=>{e(["./Confirmation"],t,i)})).then(i.__importStar).then((e=>{e.show({confirm:this.close.bind(this,t),message:r.closeConfirmMessage||""})}))}),this._createDialog(t,o,r));const c=m.get(t);return"ios"===l.platform()&&window.setTimeout((()=>{var e;null===(e=c.content.querySelector("input, textarea"))||void 0===e||e.focus()}),200),c},setTitle(e,t){e=this._getDialogId(e);const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");const n=i.dialog.querySelector(".dialogTitle");n&&(n.textContent=t)},setCallback(e,t,i){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const n=m.get(e);if(void 0===n)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");if("function"!=typeof i&&null!==i)throw new Error("Only functions or the 'null' value are acceptable callback values ('"+typeof i+"' given).");n[t]=i},removeCallback(e,t){if("object"==typeof e){const t=g.get(e);void 0!==t&&(e=t.id)}const i=m.get(e);if(void 0===i)throw new Error(`Expected a valid dialog id, '${e}' does not match any active dialog.`);if(-1===v.indexOf(t))throw new Error("Invalid callback identifier, '"+t+"' is not recognized.");i[t]=void 0},_createDialog(e,t,i){let n=null;if(null===t&&(n=document.getElementById(e),null===n))throw new Error("Expected either a HTML string or an existing element id.");const o=document.createElement("div");o.classList.add("dialogContainer"),o.setAttribute("aria-hidden","true"),o.setAttribute("role","dialog"),o.dataset.id=e;const a=document.createElement("header");o.appendChild(a);const s=r.default.getUniqueId();o.setAttribute("aria-labelledby",s);const l=document.createElement("span");if(l.classList.add("dialogTitle"),l.textContent=i.title,l.id=s,a.appendChild(l),i.closable){const e=document.createElement("a");e.className="dialogCloseButton jsTooltip",e.href="#",e.setAttribute("role","button"),e.tabIndex=0,e.title=i.closeButtonLabel,e.setAttribute("aria-label",i.closeButtonLabel),e.addEventListener("click",(e=>this._close(e))),a.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-times",e.appendChild(t)}new ResizeObserver((e=>{if("false"===o.getAttribute("aria-hidden"))for(const t of e){const e=Array.isArray(t.contentBoxSize)?t.contentBoxSize[0]:t.contentBoxSize,i=Math.floor(e.inlineSize/2);o.style.setProperty("--translate-x",`-${i}px`)}})).observe(o);const c=document.createElement("div");let d;if(c.classList.add("dialogContent"),i.disableContentPadding&&c.classList.add("dialogContentNoPadding"),o.appendChild(c),c.addEventListener("wheel",(e=>{let t,i,n,o=!1,a=e.target;for(;;){if(t=a.clientHeight,i=a.scrollHeight,t0){o=!0;break}if(e.deltaY>0&&n+t1?(d=document.createElement("div"),d.id=e,d.appendChild(t)):d=i[0]}}else d=n;c.appendChild(d),"none"===d.style.getPropertyValue("display")&&r.default.show(d);const h=(0,u.createFocusTrap)(o,{allowOutsideClick:!0,escapeDeactivates:()=>(y.close(e),!1),fallbackFocus:o});m.set(e,{backdropCloseOnClick:i.backdropCloseOnClick,closable:i.closable,content:d,dialog:o,focusTrap:h,header:a,onBeforeClose:i.onBeforeClose,onClose:i.onClose,onShow:i.onShow,submitButton:null,inputFields:new Set}),p.insertBefore(o,p.firstChild),"function"==typeof i.onSetup&&i.onSetup(d),this._updateDialog(e,null)},_updateDialog(e,t){const i=m.get(e);if(void 0===i)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");if("string"==typeof t&&r.default.setInnerHtml(i.content,t),n.stringToBool(i.dialog.getAttribute("aria-hidden"))){d.default.execute(),i.closable&&n.stringToBool(p.getAttribute("aria-hidden"))&&window.addEventListener("keyup",_),i.dialog.parentNode.insertBefore(i.dialog,i.dialog.parentNode.firstChild),i.dialog.setAttribute("aria-hidden","false"),p.setAttribute("aria-hidden","false"),p.setAttribute("close-on-click",i.backdropCloseOnClick?"true":"false"),h=e;const t=i.header.querySelector(".dialogCloseButton");t&&t.setAttribute("inert","true"),t&&t.removeAttribute("inert"),"function"==typeof i.onShow&&i.onShow(i.content),n.stringToBool(i.content.dataset.isStaticDialog||"")&&c.fire("com.woltlab.wcf.dialog","openStatic",{content:i.content,id:e})}this.rebuild(e),o.default.trigger(),i.focusTrap.activate()},rebuild(e){const t=this._getDialogId(e),i=m.get(t);if(void 0===i)throw new Error("Expected a valid dialog id, '"+t+"' does not match any active dialog.");if(n.stringToBool(i.dialog.getAttribute("aria-hidden")))return;const o=i.content.parentNode,a=i.content.querySelector(".formSubmit");let s=0;null!==a?(o.classList.add("dialogForm"),a.classList.add("dialogFormSubmit"),s+=r.default.outerHeight(a),s-=1,o.style.setProperty("margin-bottom",`${s}px`,"")):(o.classList.remove("dialogForm"),o.style.removeProperty("margin-bottom")),s+=r.default.outerHeight(i.header);const c=window.innerHeight*(f?1:.8)-s;o.style.setProperty("max-height",~~c+"px",""),"chrome"!==l.browser()&&"safari"!==l.browser()||o.classList.add("jsWebKitFractionalPixelFix");const d=b.get(t);if(void 0!==d&&"function"==typeof d._dialogSubmit){const e=i.content.querySelectorAll('input[data-dialog-submit-on-enter="true"]'),n=i.content.querySelector('.formSubmit > input[type="submit"], .formSubmit > button[data-type="submit"]');if(null===n)return void(0===e.length&&console.warn("Broken dialog, expected a submit button.",i.content));if(i.submitButton!==n){i.submitButton=n,n.addEventListener("click",(e=>{e.preventDefault(),this._submit(t)}));const o=e=>{"Enter"===e.key&&(e.preventDefault(),this._submit(t))};let a;for(let t=0,n=e.length;t{e.required&&(""===e.value.trim()?(r.default.innerError(e,s.get("wcf.global.form.error.empty")),i=!1):r.default.innerError(e,!1))})),i){const t=b.get(e);"function"==typeof t._dialogSubmit&&t._dialogSubmit()}},submit(e){this._submit(e)},_close(e){e.preventDefault();const t=m.get(h);return void 0===t||(!t.closable||("function"==typeof t.onBeforeClose?(t.onBeforeClose(h),!1):(this.close(h),!0)))},_closeOnBackdrop(e){e.target===p&&(n.stringToBool(p.getAttribute("close-on-click"))?this._close(e):e.preventDefault())},close(e){e=this._getDialogId(e);let t=m.get(e);if(void 0===t)throw new Error("Expected a valid dialog id, '"+e+"' does not match any active dialog.");try{t.focusTrap.deactivate()}catch(e){const t="Your focus-trap must have at least one container with at least one tabbable node in it at all times";if(e.message!==t)throw e}t.dialog.setAttribute("aria-hidden","true");const i=document.activeElement;i.closest(".dialogContainer")===t.dialog&&i.blur(),"function"==typeof t.onClose&&t.onClose(e),h=null;for(let e=0;e({})};return y})),define("WoltLabSuite/Core/Ui/Dropdown/Simple",["require","exports","tslib","../../CallbackList","../../Core","../../Dom/Change/Listener","../../Dom/Traverse","../../Dom/Util","../Alignment","../CloseOverlay"],(function(e,t,i,n,o,a,r,s,l,c){"use strict";function d(e){const t=e.currentTarget,i=t.querySelectorAll(".dropdown.dropdownOpen");for(let e=0,n=i.length;e=r.top+t.offsetHeight||a.left<=r.left||a.left>=r.left+t.offsetWidth?L.toggleDropdown(o):L.setAlignment(v.get(o),w.get(o))}}function u(){v.forEach(((e,t)=>{if(e.classList.contains("dropdownOpen"))if(o.stringToBool(e.dataset.isOverlayDropdownButton||""))L.setAlignment(e,w.get(t));else{const i=w.get(e.id);o.stringToBool(i.dataset.dropdownIgnorePageScroll||"")||L.close(t)}}))}function p(e,t){b.forEach(e,(i=>{i(e,t)}))}function h(e,t,i,n){let a=!1;if(null!==e){e.preventDefault(),e.stopPropagation();const i=e.currentTarget;t=i.dataset.target,void 0===n&&e instanceof MouseEvent&&(o.stringToBool(i.dataset.isKeyboardClick||"")?(a=!0,delete i.dataset.isKeyboardClick):n=!0)}S=!0;try{c.default.execute(c.Origin.DropDown,t)}finally{S=!1}let s=v.get(t),l=!1;if(void 0!==s){let i,a;if(e&&(i=e.currentTarget,a=i.parentNode,a!==s&&(a.classList.add("dropdown"),a.id=s.id,s.classList.remove("dropdown"),s.id="",s=a,v.set(t,a))),void 0===n&&(i=s.closest(".dropdownToggle"),i||(i=s.querySelector(".dropdownToggle"),!i&&s.id&&(i=document.querySelector('[data-target="'+s.id+'"]'))),i&&o.stringToBool(i.dataset.dropdownLazyInit||"")&&(n=!0)),o.stringToBool(s.dataset.dropdownPreventToggle||"")&&s.classList.contains("dropdownOpen")&&(l=!0),""===s.dataset.isOverlayDropdownButton){const e=r.parentByClass(s,"dialogContent");s.dataset.isOverlayDropdownButton=null!==e?"true":"false",null!==e&&e.addEventListener("scroll",d)}}return E="",v.forEach(((e,r)=>{const s=w.get(r);if(e.classList.contains("dropdownOpen"))if(l)E=t;else{e.classList.remove("dropdownOpen"),s.classList.remove("dropdownOpen");const t=e.querySelector(".dropdownToggle");t&&t.setAttribute("aria-expanded","false"),p(r,"close")}else if(r===t&&s.childElementCount>0){E=t,e.classList.add("dropdownOpen"),s.classList.add("dropdownOpen");const l=e.querySelector(".dropdownToggle");l&&l.setAttribute("aria-expanded","true");const c=s.childElementCount>0?s.children[0]:null;if(c&&o.stringToBool(c.dataset.scrollToActive||"")){delete c.dataset.scrollToActive;let e=null;for(let t=0,i=c.childElementCount;td.clientHeight?"add":"remove"]("forceScrollbar"),p(r,"open");let u=null;if(!n){s.setAttribute("role","menu"),s.tabIndex=-1,s.removeEventListener("keydown",f),s.addEventListener("keydown",f);const e=Array.from(s.querySelectorAll("li")).filter((e=>e.clientHeight>0));u=e.find((e=>e.classList.contains("active")))||e[0]||null,e.forEach((e=>{e.setAttribute("role","menuitem"),e.tabIndex=-1}))}L.setAlignment(e,s,i),null!==u&&(u.focus(),a&&u.classList.add("focus-visible"))}})),null===e}function m(e){const t=e.currentTarget;"INPUT"!==t.nodeName&&("Enter"!==e.key&&"Space"!==e.key||(e.preventDefault(),t.dataset.requiresSynthethicClick?(t.dataset.isKeyboardClick="true",t.click()):h(e)))}function f(e){const t=document.activeElement;if("LI"===t.nodeName)if("ArrowDown"===e.key||"ArrowUp"===e.key||"End"===e.key||"Home"===e.key){e.preventDefault();const i=Array.from(t.closest(".dropdownMenu").querySelectorAll("li"));"ArrowUp"!==e.key&&"End"!==e.key||i.reverse();let n=null;const o=e=>!e.classList.contains("dropdownDivider")&&e.clientHeight>0;let a=i.indexOf(t);"End"!==e.key&&"Home"!==e.key||(a=-1);for(let e=a+1;eL.closeAll())),a.default.add("WoltLabSuite/Core/Ui/Dropdown/Simple",(()=>L.initAll())),document.addEventListener("scroll",u),window.bc_wcfSimpleDropdown=this)},initAll(){for(let e=0,t=g.length;e{null===t&&(t=e.clientHeight),null===i&&(i=e.scrollHeight),(n.deltaY<0&&0===e.scrollTop||n.deltaY>0&&e.scrollTop+t===i)&&n.preventDefault()}),{passive:!1})}return e.dataset.target=a,t&&setTimeout((()=>{e.dataset.dropdownLazyInit=t instanceof MouseEvent?"true":"false",o.triggerEvent(e,"click"),setTimeout((()=>{delete e.dataset.dropdownLazyInit}),10)}),10),!0},initFragment(e,t){L.setup();const i=s.default.identify(e);v.has(i)||(v.set(i,e),y.appendChild(t),w.set(i,t))},registerCallback(e,t){b.add(e,t)},getDropdown:e=>v.get(e),getDropdownMenu:e=>w.get(e),toggleDropdown(e,t,i){h(null,e,t,i)},setAlignment(e,t,i){const n=e.querySelector(".dropdownToggle"),o=null!==n?n.parentNode:null;let a;o&&o.classList.contains("inputAddonTextarea")&&(a=n),l.set(t,i||e,{pointerClassNames:["dropdownArrowBottom","dropdownArrowRight"],refDimensionsElement:a||null,horizontal:"right"===t.dataset.dropdownAlignmentHorizontal?"right":"left",vertical:"top"===t.dataset.dropdownAlignmentVertical?"top":"bottom",allowFlip:t.dataset.dropdownAllowFlip||"both"})},setAlignmentById(e){const t=v.get(e);if(void 0===t)throw new Error("Unknown dropdown identifier '"+e+"'.");const i=w.get(e);L.setAlignment(t,i)},isOpen(e){const t=w.get(e);return void 0!==t&&t.classList.contains("dropdownOpen")},open(e,t,i){const n=w.get(e);void 0===n||n.classList.contains("dropdownOpen")||L.toggleDropdown(e,i,t)},close(e){const t=v.get(e);void 0!==t&&(t.classList.remove("dropdownOpen"),w.get(e).classList.remove("dropdownOpen"))},closeAll(){S||v.forEach(((e,t)=>{e.classList.contains("dropdownOpen")&&(e.classList.remove("dropdownOpen"),w.get(t).classList.remove("dropdownOpen"),p(t,"close"))}))},destroy(e){var t;if(!v.has(e))return!1;try{L.close(e),null===(t=w.get(e))||void 0===t||t.remove()}catch(e){}return w.delete(e),v.delete(e),!0},_toggle:(e,t,i,n)=>h(e,t,i,n)};return L})),define("WoltLabSuite/Core/Ui/Dropdown/Reusable",["require","exports","tslib","./Simple"],(function(e,t,i,n){"use strict";function o(e){if(!a.has(e))throw new Error("Unknown dropdown identifier '"+e+"'");return a.get(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.toggleDropdown=t.registerCallback=t.getDropdownMenu=t.init=void 0,n=i.__importDefault(n);const a=new Map;let r=0;t.init=function(e,t){if(a.has(e))return;const i=document.createElement("div");i.id="reusableDropdownGhost"+r++,n.default.initFragment(i,t),a.set(e,i.id)},t.getDropdownMenu=function(e){return n.default.getDropdownMenu(o(e))},t.registerCallback=function(e,t){n.default.registerCallback(o(e),t)},t.toggleDropdown=function(e,t){n.default.toggleDropdown(o(e),t)}})),define("WoltLabSuite/Core/Ui/Page/Menu/Container",["require","exports","tslib","focus-trap","../../Screen","../../CloseOverlay","../../../Dom/Util"],(function(e,t,i,n,o,a,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PageMenuContainer=void 0,a=i.__importDefault(a),r=i.__importDefault(r);class s{constructor(e){this.container=document.createElement("div"),this.content=document.createElement("div"),this.focusTrap=void 0,this.provider=e,this.container.hidden=!0;const t=r.default.identify(this.provider.getMenuButton());a.default.add(`WoltLabSuite/Core/Ui/PageMenu/Container-${t}`,(()=>{this.container.hidden||this.close()}))}open(){a.default.execute(),this.buildElements(),0===this.content.childElementCount&&this.content.append(this.provider.getContent()),this.provider.getMenuButton().setAttribute("aria-expanded","true"),(0,o.pageOverlayOpen)(),(0,o.scrollDisable)(),this.container.hidden=!1,this.provider.wakeup(),this.getFocusTrap().activate()}close(){this.provider.getMenuButton().setAttribute("aria-expanded","false"),(0,o.pageOverlayClose)(),(0,o.scrollEnable)(),this.container.hidden=!0,this.getFocusTrap().deactivate(),this.provider.sleep()}toggle(){this.container.hidden?this.open():this.close()}getContent(){return this.content}buildElements(){this.container.classList.contains("pageMenuContainer")||(this.container.classList.add("pageMenuContainer"),this.container.hidden=!0,this.container.addEventListener("click",(e=>{e.target===this.container&&this.close()})),this.content.classList.add("pageMenuContent"),this.content.addEventListener("click",(e=>{e.stopPropagation()})),this.container.append(this.content),document.body.append(this.container))}getFocusTrap(){return void 0===this.focusTrap&&(this.focusTrap=(0,n.createFocusTrap)(this.content,{allowOutsideClick:!0})),this.focusTrap}}t.PageMenuContainer=s,t.default=s})),define("WoltLabSuite/Core/Ui/Page/Menu/Main",["require","exports","tslib","./Container","../../../Language","../../../Dom/Util"],(function(e,t,i,n,o,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PageMenuMain=void 0,n=i.__importDefault(n),o=i.__importStar(o),a=i.__importDefault(a);class r{constructor(e){this.mainMenu=document.querySelector(".mainMenu"),this.menuItemProvider=e,this.container=new n.default(this),this.callbackOpen=e=>{e.preventDefault(),e.stopPropagation(),this.container.toggle()}}enable(){this.mainMenu.setAttribute("aria-expanded","false"),this.mainMenu.setAttribute("aria-label",o.get("wcf.menu.page")),this.mainMenu.setAttribute("role","button"),this.mainMenu.tabIndex=0,this.mainMenu.addEventListener("click",this.callbackOpen),this.refreshUnreadIndicator()}disable(){this.container.close(),this.mainMenu.removeAttribute("aria-expanded"),this.mainMenu.removeAttribute("aria-label"),this.mainMenu.removeAttribute("role"),this.mainMenu.removeAttribute("tabindex"),this.mainMenu.removeEventListener("click",this.callbackOpen)}getContent(){const e=document.createElement("div");e.classList.add("pageMenuMainContainer"),e.addEventListener("scroll",(()=>this.updateOverflowIndicator(e)),{passive:!0}),e.append(this.buildMainMenu());const t=this.buildFooterMenu();t&&e.append(t);const i=new ResizeObserver((()=>this.updateOverflowIndicator(e)));Array.from(e.children).forEach((e=>{i.observe(e)}));const n=document.createDocumentFragment();return n.append(e),n}getMenuButton(){return this.mainMenu}sleep(){}wakeup(){this.refreshUnreadIndicator()}buildMainMenu(){const e=this.mainMenu.querySelector(".boxMenu"),t=this.buildMenu(e);return t.setAttribute("aria-label",window.PAGE_TITLE),t.setAttribute("role","navigation"),this.showActiveMenuItem(t),t}showActiveMenuItem(e){const t=e.querySelector('.pageMenuMainItemLink[aria-current="page"]');if(t){let e=t;for(;e&&e.parentElement;)if(e=e.parentElement.closest(".pageMenuMainItemList"),e){e.hidden=!1;const t=e.previousElementSibling;null==t||t.setAttribute("aria-expanded","true")}const i=t.nextElementSibling;if(i){i.setAttribute("aria-expanded","true");i.nextElementSibling.hidden=!1}}}buildFooterMenu(){const e=document.querySelector('.box[data-box-identifier="com.woltlab.wcf.FooterMenu"]');if(null===e)return null;const t=e.querySelector(".boxMenu"),i=this.buildMenu(t);i.classList.add("pageMenuMainNavigationFooter");const n=e.querySelector("nav").getAttribute("aria-label");return i.setAttribute("aria-label",n),i}buildMenu(e){const t=this.menuItemProvider.getMenuItems(e),i=document.createElement("nav");return i.classList.add("pageMenuMainNavigation"),i.append(this.buildMenuItemList(t)),i}buildMenuItemList(e){const t=document.createElement("ul");return t.classList.add("pageMenuMainItemList"),e.filter((e=>!(!e.link&&0===e.children.length))).forEach((e=>{t.append(this.buildMenuItem(e))})),t}buildMenuItem(e){const t=document.createElement("li");if(t.dataset.depth=e.depth.toString(),t.classList.add("pageMenuMainItem"),e.link){const i=document.createElement("a");if(i.classList.add("pageMenuMainItemLink"),i.href=e.link,i.textContent=e.title,e.active&&i.setAttribute("aria-current","page"),e.counter>0){const t=document.createElement("span");t.classList.add("pageMenuMainItemCounter","badge","badgeUpdate"),t.setAttribute("aria-hidden","true"),t.textContent=e.counter.toString(),i.append(t)}t.append(i)}else{const i=document.createElement("a");i.classList.add("pageMenuMainItemLabel"),i.href="#",i.textContent=e.title,i.addEventListener("click",(e=>{e.preventDefault();i.nextElementSibling.click()})),i.setAttribute("aria-hidden","true"),t.append(i)}if(e.children.length){t.classList.add("pageMenuMainItemExpandable");const i=a.default.getUniqueId(),n=document.createElement("a");n.classList.add("pageMenuMainItemToggle"),n.tabIndex=0,n.setAttribute("role","button"),n.setAttribute("aria-expanded","false"),n.setAttribute("aria-controls",i),n.innerHTML='';let r=e.title;e.link&&(r=o.get("wcf.menu.page.button.toggle",{title:e.title})),n.setAttribute("aria-label",r);const s=this.buildMenuItemList(e.children);s.id=i,s.hidden=!0,n.addEventListener("click",(e=>{e.preventDefault(),this.toggleList(n,s)})),n.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n.click())})),s.addEventListener("keydown",(e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),this.toggleList(n,s))})),t.append(n,s)}return t}toggleList(e,t){t.hidden?(e.setAttribute("aria-expanded","true"),t.hidden=!1):(e.setAttribute("aria-expanded","false"),t.hidden=!0,document.activeElement!==e&&e.focus())}refreshUnreadIndicator(){null!==this.mainMenu.querySelector(".boxMenuLinkOutstandingItems")?this.mainMenu.classList.add("pageMenuMobileButtonHasContent"):this.mainMenu.classList.remove("pageMenuMobileButtonHasContent")}updateOverflowIndicator(e){e.clientHeight0?e.classList.add("pageMenuMainContainerOverflowTop"):e.classList.remove("pageMenuMainContainerOverflowTop"),e.clientHeight+e.scrollTopl(e))),h.set(e,t)}return h.get(e)}function d(){return void 0===u&&(u=document.createElement("div"),u.classList.add("dropdownMenuContainer"),document.body.append(u)),u}let u;Object.defineProperty(t,"__esModule",{value:!0}),t.registerProvider=t.getContainer=t.getUserMenuProviders=void 0,n=i.__importStar(n),o=i.__importDefault(o),a=i.__importStar(a),r=i.__importDefault(r);const p=new Set,h=new Map;t.getUserMenuProviders=function(){return p},t.getContainer=d,t.registerProvider=function(e){0===p.size&&(o.default.add("WoltLabSuite/Ui/User/Menu",(()=>{p.forEach((e=>l(e)))})),a.add("com.woltlab.wcf.UserMenuMobile","more",(e=>{p.forEach((t=>{e.identifier===t.getIdentifier()&&s(t)}))}))),function(e){p.add(e);const t=e.getPanelButton();t.addEventListener("click",(i=>{i.preventDefault(),i.stopPropagation(),t.classList.contains("open")?l(e):s(e)}))}(e)}})),define("WoltLabSuite/Core/Ui/User/Menu/ControlPanel",["require","exports","tslib","../../CloseOverlay","./Manager","focus-trap","../../Alignment","../../../Dom/Util"],(function(e,t,i,n,o,a,r,s){"use strict";function l(){u.hidden&&(n.default.execute(),u.hidden=!1,d.classList.add("open"),h.setAttribute("aria-expanded","true"),p.activate(),function(e,t){if(r.set(e,t,{horizontal:"right"}),"fixed"===window.getComputedStyle(e).position&&null!==s.default.getFixedParent(t)){const{top:i,height:n}=t.getBoundingClientRect();e.style.setProperty("top",`${i+n}px`)}}(u,d))}function c(){p.deactivate(),u.hidden=!0,d.classList.remove("open"),h.setAttribute("aria-expanded","false")}let d,u,p,h;Object.defineProperty(t,"__esModule",{value:!0}),t.setup=t.getElement=void 0,n=i.__importDefault(n),r=i.__importStar(r),s=i.__importDefault(s),t.getElement=function(){return u};let m=!1;t.setup=function(){if(!m){d=document.getElementById("userMenu"),u=d.querySelector(".userMenu"),h=d.querySelector("a"),n.default.add("WoltLabSuite/Core/Ui/User/Menu/ControlPanel",(()=>c())),(0,o.getContainer)().append(u),u.addEventListener("click",(e=>e.stopPropagation())),d.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),u.hidden?l():c()})),p=(0,a.createFocusTrap)(u,{allowOutsideClick:!0,escapeDeactivates:()=>(c(),!1),fallbackFocus:u});const e=u.querySelector(".userMenuFooterLink");e.addEventListener("click",(t=>{t.preventDefault(),e.closest("form").submit()})),m=!0}}})),define("WoltLabSuite/Core/Ui/Page/Menu/User",["require","exports","tslib","./Container","../../../Language","../../User/Menu/Manager","../../../Dom/Util","../../User/Menu/ControlPanel","../../../Event/Handler","../../Screen"],(function(e,t,i,n,o,a,r,s,l,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasValidUserMenu=t.PageMenuUser=void 0,n=i.__importDefault(n),o=i.__importStar(o),r=i.__importDefault(r),l=i.__importStar(l);class d{constructor(){this.activeTab=void 0,this.legacyUserPanels=new Map,this.userMenuProviders=new Map,this.tabOrigins=new Map,this.tabPanels=new Map,this.tabs=[],this.userMenu=document.querySelector(".userPanel"),this.container=new n.default(this);const e=new Promise((e=>{"complete"===document.readyState?e():document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))}));this.callbackOpen=t=>{t.preventDefault(),t.stopPropagation(),e.then((()=>this.container.toggle()))},(0,c.on)("screen-lg",{match:()=>this.detachViewsFromPanel(),unmatch:()=>this.detachViewsFromPanel()})}enable(){this.userMenu.setAttribute("aria-expanded","false"),this.userMenu.setAttribute("aria-label",o.get("wcf.menu.user")),this.userMenu.setAttribute("role","button"),this.userMenu.tabIndex=0,this.userMenu.addEventListener("click",this.callbackOpen),this.refreshUnreadIndicator()}disable(){this.container.close(),this.userMenu.removeAttribute("aria-expanded"),this.userMenu.removeAttribute("aria-label"),this.userMenu.removeAttribute("role"),this.userMenu.removeAttribute("tabindex"),this.userMenu.removeEventListener("click",this.callbackOpen)}getContent(){const e=document.createDocumentFragment();return e.append(this.buildTabMenu()),e}getMenuButton(){return this.userMenu}sleep(){this.activeTab&&this.closeTab(this.activeTab),this.detachViewsFromPanel(),this.refreshUnreadIndicator()}wakeup(){this.activeTab?this.openTab(this.activeTab):this.isInMaintenanceMode()?this.openTab(this.tabs[0]):this.openNotifications(),this.refreshTabUnreadIndicators(),this.refreshUnreadIndicator()}isInMaintenanceMode(){return"wcf"===document.body.dataset.application&&"offline"===document.body.dataset.template}openNotifications(){const e=this.tabs.find((e=>"userNotifications"===e.dataset.origin));if(!e)throw new Error("Unable to find the notifications tab.");this.openTab(e)}openTab(e){this.closeActiveTab(),e.setAttribute("aria-selected","true"),e.tabIndex=0;this.tabPanels.get(e).hidden=!1,document.activeElement!==e&&e.focus(),this.attachViewToPanel(e),this.activeTab=e}closeActiveTab(){this.activeTab&&(this.closeTab(this.activeTab),this.activeTab=void 0)}closeTab(e){e.setAttribute("aria-selected","false"),e.tabIndex=-1;this.tabPanels.get(e).hidden=!0;const t=this.legacyUserPanels.get(e);t&&t.close(),this.refreshTabUnreadIndicators()}attachViewToPanel(e){const t=e.dataset.origin,i=this.tabPanels.get(e);if("userMenu"===t){const e=(0,s.getElement)();e.hidden=!1,0===i.childElementCount&&(this.tabOrigins.set(i,e.parentElement),i.append(e))}else if(0===i.childElementCount){const t=this.userMenuProviders.get(e);if(t){const e=t.getView(),n=e.getElement();this.tabOrigins.set(i,n.parentElement),i.append(n),e.open()}else{const t=this.legacyUserPanels.get(e);t.open();const{top:n}=i.getBoundingClientRect();t.getDropdown().getContainer()[0].style.setProperty("--offset-top",`${n}px`)}}}detachViewsFromPanel(){this.tabPanels.forEach(((e,t)=>{if(e.childElementCount){const i=this.tabOrigins.get(e);if(i){if("userMenu"===t.dataset.origin){const t=e.children[0];t.hidden=!0,i.append(t)}else{const e=this.userMenuProviders.get(t);if(e){const t=e.getView().getElement();t.hidden=!0,i.append(t)}}}}}))}keydown(e){const t=e.currentTarget;if("Enter"===e.key||" "===e.key)return e.preventDefault(),void this.openTab(t);if(!["ArrowLeft","ArrowRight","End","Home"].includes(e.key))return;e.preventDefault();const i=this.tabs.indexOf(t),n=this.tabs.length-1;let o;o="ArrowLeft"===e.key?0===i?n:i-1:"ArrowRight"===e.key?i===n?0:i+1:"End"===e.key?n:0,this.tabs[o].focus()}buildTabMenu(){const e=document.createElement("div");e.classList.add("pageMenuUserTabContainer");const t=document.createElement("div");return t.classList.add("pageMenuUserTabList"),t.setAttribute("role","tablist"),t.setAttribute("aria-label",o.get("wcf.menu.user")),e.append(t),this.buildControlPanelTab(t,e),(0,a.getUserMenuProviders)().forEach((i=>{const[n,o]=this.buildTab(i);t.append(n),e.append(o),this.tabs.push(n),this.tabPanels.set(n,o),this.userMenuProviders.set(n,i)})),this.buildLegacyTabs(t,e),e}buildTab(e){const t=e.getPanelButton(),i=t.querySelector("a"),n={icon:i.querySelector(".icon").outerHTML,label:i.dataset.title||i.title,origin:t.id};return this.buildTabComponents(n)}buildControlPanelTab(e,t){const i=document.getElementById("topMenu"),n=document.getElementById("userMenu"),o=n.querySelector("a"),a={icon:i.querySelector(".userPanelAvatar .userAvatarImage").outerHTML,label:o.dataset.title||o.title,origin:n.id},[r,s]=this.buildTabComponents(a);e.append(r),t.append(s),this.tabs.push(r),this.tabPanels.set(r,s)}buildLegacyTabs(e,t){const i=document.querySelector(".userPanelItems"),n={panels:[]};l.fire("com.woltlab.wcf.pageMenu","legacyMenu",n),Array.from(i.children).filter((e=>void 0!==n.panels.find((t=>t.element===e)))).map((e=>{const t=e.querySelector("a");return{icon:t.querySelector(".icon").outerHTML,label:t.dataset.title||t.title,origin:e.id}})).forEach((i=>{const[o,a]=this.buildTabComponents(i);e.append(o),t.append(a),this.tabs.push(o),this.tabPanels.set(o,a);const r=n.panels.find((e=>e.element.id===i.origin));this.legacyUserPanels.set(o,r.api)}))}buildTabComponents(e){const t=r.default.getUniqueId(),i=r.default.getUniqueId(),n=document.createElement("a");n.classList.add("pageMenuUserTab"),n.dataset.hasUnreadContent="false",n.dataset.origin=e.origin,n.id=t,n.setAttribute("aria-controls",i),n.setAttribute("aria-selected","false"),n.setAttribute("role","tab"),n.tabIndex=-1,n.setAttribute("aria-label",e.label),n.innerHTML=e.icon,n.addEventListener("click",(e=>{e.preventDefault(),this.openTab(n)})),n.addEventListener("keydown",(e=>this.keydown(e)));const o=document.createElement("div");return o.classList.add("pageMenuUserTabPanel"),o.id=i,o.hidden=!0,o.setAttribute("aria-labelledby",t),o.setAttribute("role","tabpanel"),o.tabIndex=0,[n,o]}refreshUnreadIndicator(){null!==this.userMenu.querySelector(".badge.badgeUpdate")?this.userMenu.classList.add("pageMenuMobileButtonHasContent"):this.userMenu.classList.remove("pageMenuMobileButtonHasContent")}refreshTabUnreadIndicators(){this.userMenuProviders.forEach(((e,t)=>{e.hasUnreadContent()?t.dataset.hasUnreadContent="true":t.dataset.hasUnreadContent="false"}))}}t.PageMenuUser=d,t.hasValidUserMenu=function(){return document.getElementById("topMenu").classList.contains("userPanelLoggedIn")},t.default=d})),define("WoltLabSuite/Core/Ui/Mobile",["require","exports","tslib","focus-trap","../Core","../Dom/Change/Listener","../Dom/Util","../Environment","./Alignment","./CloseOverlay","./Dropdown/Reusable","./Page/Menu/Main","./Page/Menu/User","./Screen","../Language"],(function(e,t,i,n,o,a,r,s,l,c,d,u,p,h,m){"use strict";function f(){q=!0,g(),b(),h.on("screen-sm-down",{match(){document.querySelectorAll(".message").forEach((e=>{const t=e.querySelector(".jsMobileNavigation");if(t){const i=e.querySelector(".messageQuickOptions");i&&t.childElementCount&&_(i)}}))},unmatch(){document.querySelectorAll(".message").forEach((e=>{if(!R.has(e))return;const t=e.querySelector(".jsMobileNavigation");if(t){const i=e.querySelector(".messageQuickOptions");i&&t.childElementCount&&function(e){e.removeAttribute("tabindex"),e.removeAttribute("role"),e.removeAttribute("aria-label")}(i)}}))}}),F&&(H=new u.PageMenuMain(W),H.enable(),(0,p.hasValidUserMenu)()&&($=new p.PageMenuUser,$.enable())),c.default.add("WoltLabSuite/Core/Ui/Mobile",v),a.default.add("WoltLabSuite/Core/Ui/Mobile",(()=>{g(),b()}))}function g(){document.querySelectorAll(".buttonGroupNavigation").forEach((e=>{if(e.classList.contains("jsMobileButtonGroupNavigation"))return;e.classList.add("jsMobileButtonGroupNavigation");const t=e.querySelector(".buttonList");if(0===t.childElementCount)return;e.parentElement.classList.add("hasMobileNavigation");const i=document.createElement("a");i.className="dropdownLabel";const n=document.createElement("span");n.className="icon icon24 fa-ellipsis-v",i.appendChild(n),i.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),e.classList.toggle("open")})),t.addEventListener("click",(function(t){t.stopPropagation(),e.classList.remove("open")})),e.insertBefore(i,e.firstChild)}))}function b(){const e=h.is("screen-sm-down");document.querySelectorAll(".message").forEach((t=>{if(R.has(t))return;const i=t.querySelector(".jsMobileNavigation");if(i){i.addEventListener("click",(e=>{e.stopPropagation(),window.setTimeout((()=>{i.classList.remove("open")}),10)}));const n=t.querySelector(".messageQuickOptions");n&&i.childElementCount&&(n.classList.add("active"),n.addEventListener("click",(e=>{const o=e.target;q&&h.is("screen-sm-down")&&"LABEL"!==o.nodeName&&"INPUT"!==o.nodeName&&(e.preventDefault(),e.stopPropagation(),L(t,n,i))})),n.addEventListener("keydown",(e=>{"Enter"===e.key&&(e.preventDefault(),n.click())})),e&&_(n))}R.add(t)}))}function _(e){e.tabIndex=0,e.setAttribute("role","button"),e.setAttribute("aria-label",m.get("wcf.global.button.more"))}function v(){document.querySelectorAll(".jsMobileButtonGroupNavigation.open, .jsMobileNavigation.open").forEach((e=>{e.classList.remove("open")})),q&&O&&S()}function w(){V=!0}function y(){V=!1,X.forEach((function(e){e.classList.remove("open")}))}function E(){X.forEach((function(e){e.addEventListener("mousedown",(function(t){V&&t.target===e&&(t.preventDefault(),e.classList.toggle("open"))}))})),V=!0}function S(){O.classList.remove("dropdownOpen")}function L(e,t,i){if(null===O)O=document.createElement("ul"),O.className="dropdownMenu",d.init("com.woltlab.wcf.jsMobileNavigation",O);else if(O.classList.contains("dropdownOpen")&&(S(),N.deactivate(),N=void 0,B===e))return;O.innerHTML="",c.default.execute(),I(i);const o=i.previousElementSibling;if(o&&o.classList.contains("messageFooterButtonsExtra")){const e=document.createElement("li");e.className="dropdownDivider",O.appendChild(e),I(o)}l.set(O,t,{horizontal:"right",allowFlip:"vertical"}),O.classList.add("dropdownOpen"),B=e,N=(0,n.createFocusTrap)(O,{allowOutsideClick:!0,escapeDeactivates:()=>(L(e,t,i),!1),setReturnFocus:t}),N.activate()}function C(){U=!0,document.querySelectorAll(".boxMenuHasChildren > a").forEach((e=>{e.addEventListener("touchstart",(t=>{U&&"false"===e.getAttribute("aria-expanded")&&(t.preventDefault(),e.setAttribute("aria-expanded","true"),e.addEventListener("touchend",(()=>{document.body.addEventListener("touchstart",(()=>{document.body.addEventListener("touchend",(t=>{const i=e.parentElement,n=t.target;i.contains(n)||n===i||e.setAttribute("aria-expanded","false")}),{once:!0})}),{once:!0})}),{once:!0}))}),{passive:!1})}))}function x(){U=!0}function k(){U=!1}function I(e){e.querySelectorAll(".button").forEach((e=>{if(e.classList.contains("ignoreMobileNavigation")||e.classList.contains("reactButton"))return;const t=document.createElement("li");e.classList.contains("active")&&(t.className="active");const i=e.querySelector("span:not(.icon)");t.innerHTML=`
    ${i.textContent}`,t.children[0].addEventListener("click",(function(t){t.preventDefault(),t.stopPropagation(),"A"===e.nodeName?e.click():o.triggerEvent(e,"click"),S()})),O.appendChild(t)}))}function T(){c.default.execute(),q=!0,F&&(H.enable(),null==$||$.enable())}function M(){Y&&j(Y,".messageGroupLink")}function D(){c.default.execute(),q=!1,F&&(H.disable(),null==$||$.disable())}function A(){Y&&P(Y),O&&S()}function j(e,t){Array.from(e).forEach((e=>{const i=e.parentElement;let n=i.querySelector(".mobileLinkShadow");if(null===n){const o=e.querySelector(t);o.href&&(n=document.createElement("a"),n.className="mobileLinkShadow",n.href=o.href,n.setAttribute("aria-labelledby",r.default.identify(o)),i.appendChild(n),i.classList.add("mobileLinkShadowContainer"))}}))}function P(e){Array.from(e).forEach((e=>{const t=e.parentElement;if(t.classList.contains("mobileLinkShadowContainer")){const e=t.querySelector(".mobileLinkShadow");null!==e&&e.remove(),t.classList.remove("mobileLinkShadowContainer")}}))}Object.defineProperty(t,"__esModule",{value:!0}),t.removeShadow=t.rebuildShadow=t.disableShadow=t.disable=t.enableShadow=t.enable=t.setup=void 0,o=i.__importStar(o),a=i.__importDefault(a),r=i.__importDefault(r),s=i.__importStar(s),l=i.__importStar(l),c=i.__importDefault(c),d=i.__importStar(d),h=i.__importStar(h),m=i.__importStar(m);let N,O=null,B=null,q=!1,U=!1,F=!1;const R=new WeakSet;let H,$,W,V=!1,Y=null;const X=[];t.setup=function(e,t){F=e,W=t,document.querySelectorAll(".sidebar").forEach((e=>{X.push(e)})),s.touch()&&document.documentElement.classList.add("touch"),"desktop"!==s.platform()&&document.documentElement.classList.add("mobile");const i=document.querySelector(".messageGroupList");i&&(Y=i.getElementsByClassName("messageGroup")),h.on("screen-md-down",{match:T,unmatch:D,setup:f}),h.on("screen-sm-down",{match:M,unmatch:A,setup:M}),h.on("screen-md-down",{match:w,unmatch:y,setup:E}),!s.touch()||"ios"!==s.platform()&&"android"!==s.platform()||h.on("screen-lg",{match:x,unmatch:k,setup:C})},t.enable=T,t.enableShadow=M,t.disable=D,t.disableShadow=A,t.rebuildShadow=j,t.removeShadow=P})),define("WoltLabSuite/Core/Ui/Page/Action",["require","exports","tslib","../../Core","../../Language","../../Ui/Screen"],(function(e,t,i,n,o,a){"use strict";function r(){if(document.documentElement.classList.contains("disableScrolling"))return;const e=window.pageYOffset;e!==g?(e>=b?(h.classList.contains("initiallyHidden")&&h.classList.remove("initiallyHidden"),h.setAttribute("aria-hidden","false")):h.setAttribute("aria-hidden","true"),l(),-1!==g&&m.classList[e"false"===e.getAttribute("aria-hidden")));p.classList[e?"add":"remove"]("active"),e?m.classList.add("pageActionHasContextButtons"):m.classList.remove("pageActionHasContextButtons")}function c(){if(f)return;f=!0,m=document.createElement("div"),m.className="pageAction",p=document.createElement("div"),p.className="pageActionButtons",m.appendChild(p),h=function(){const e=document.createElement("a");return e.className="button buttonPrimary pageActionButtonToTop initiallyHidden jsTooltip",e.href="",e.title=o.get("wcf.global.scrollUp"),e.setAttribute("aria-hidden","true"),e.innerHTML='',e.addEventListener("click",s),e}(),m.appendChild(h),document.body.appendChild(m);const e=n.debounce(r,100);window.addEventListener("scroll",(()=>{-1===g&&(g=window.pageYOffset,window.setTimeout((()=>{r(),g=window.pageYOffset}),60)),e()}),{passive:!0}),window.addEventListener("touchstart",(()=>{-1!==g&&(g=-1)}),{passive:!0}),a.on("screen-sm-down",{match(){b=50},unmatch(){b=300},setup(){b=50}}),r()}function d(e){const t=u.get(e);if(t){t.parentElement.setAttribute("aria-hidden","true"),l()}}Object.defineProperty(t,"__esModule",{value:!0}),t.show=t.hide=t.remove=t.get=t.has=t.add=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a);const u=new Map;let p,h,m,f=!1,g=-1,b=300;const _=n.debounce((()=>{g=-1}),50);t.setup=c,t.add=function(e,t,i){c();const n=document.createElement("div");n.className="pageActionButton",n.dataset.name=e,n.setAttribute("aria-hidden","true"),t.classList.add("button"),t.classList.add("buttonPrimary"),n.appendChild(t);let o=null;i&&(o=u.get(i)||null,o&&(o=o.parentElement)),!o&&p.childElementCount&&(o=p.children[0]),o||(o=p.firstChild),p.insertBefore(n,o),m.classList.remove("scrolledDown"),u.set(e,t),n.offsetParent,n.setAttribute("aria-hidden","false"),l()},t.has=function(e){return u.has(e)},t.get=function(e){return u.get(e)},t.remove=function(e){const t=u.get(e);if(void 0!==t){const i=t.parentElement,o=()=>{try{n.stringToBool(i.getAttribute("aria-hidden"))&&(p.removeChild(i),u.delete(e)),i.removeEventListener("transitionend",o)}catch(e){}};i.addEventListener("transitionend",o),d(e)}},t.hide=d,t.show=function(e){const t=u.get(e);if(t){const e=t.parentElement;e.classList.contains("initiallyHidden")&&e.classList.remove("initiallyHidden"),e.setAttribute("aria-hidden","false"),m.classList.remove("scrolledDown"),l()}}})),define("WoltLabSuite/Core/Ui/TabMenu/Simple",["require","exports","tslib","../../Core","../../Dom/Traverse","../../Dom/Util","../../Environment","../../Event/Handler"],(function(e,t,i,n,o,a,r,s){"use strict";n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importStar(r),s=i.__importStar(s);class l{constructor(e){this.containers=new Map,this.isLegacy=!1,this.store=null,this.tabs=new Map,this.container=e}validate(){if(!this.container.classList.contains("tabMenuContainer"))return!1;const e=o.childByTag(this.container,"NAV");if(null===e)return!1;const t=e.querySelectorAll("li");if(0===t.length)return!1;o.childrenByTag(this.container,"DIV").forEach((e=>{let t=e.dataset.name;t||(t=a.default.identify(e),e.dataset.name=t),this.containers.set(t,e)}));const i=this.container.id;if(t.forEach((e=>{const t=this._getTabName(e);if(!t)return;if(this.tabs.has(t))throw new Error("Tab names must be unique, li[data-name='"+t+"'] (tab menu id: '"+i+"') exists more than once.");const n=this.containers.get(t);if(void 0===n)throw new Error("Expected content element for li[data-name='"+t+"'] (tab menu id: '"+i+"').");if(n.parentNode!==this.container)throw new Error("Expected content element '"+t+"' (tab menu id: '"+i+"') to be a direct children.");if(1!==e.childElementCount||"A"!==e.children[0].nodeName)throw new Error("Expected exactly one as children for li[data-name='"+t+"'] (tab menu id: '"+i+"').");this.tabs.set(t,e)})),!this.tabs.size)throw new Error("Expected at least one tab (tab menu id: '"+i+"').");return this.isLegacy&&(this.container.dataset.isLegacy="true",this.tabs.forEach((function(e,t){e.setAttribute("aria-controls",t)}))),!0}init(e){this.tabs.forEach((t=>{if(!e||e.get(t.dataset.name||"")!==t){const e=t.children[0];if(e.addEventListener("click",(e=>this._onClick(e))),"ios"===r.platform()){let t=!1;e.addEventListener("touchstart",(()=>{t=!0})),e.addEventListener("touchmove",(()=>{t=!1})),e.addEventListener("touchend",(e=>{t&&(t=!1,e.preventDefault(),this._onClick(e))}))}}}));let t=null;if(!e){const e=l.getIdentifierFromHash();let i;if(""!==e&&(i=this.tabs.get(e),i)){const e=this.container.parentElement;(null==e?void 0:e.classList.contains("tabMenuContainer"))&&(t=this.container)}if(!i){let e=this.container.dataset.preselect||this.container.dataset.active;"true"!==e&&e||(e=!0),!0===e?this.tabs.forEach((function(e){i||a.default.isHidden(e)||e.previousElementSibling&&!a.default.isHidden(e.previousElementSibling)||(i=e)})):"string"==typeof e&&"false"!==e&&(i=this.tabs.get(e))}i&&(this.containers.forEach((e=>{e.classList.add("hidden")})),this.select(null,i,!0));const n=this.container.dataset.store;if(n){const e=document.createElement("input");e.type="hidden",e.name=n,e.value=this.getActiveTab().dataset.name||"",this.container.appendChild(e),this.store=e}}return t}select(t,n,o){if(t=t?t.toString():"",!(n=n||this.tabs.get(t))){if(~~t==+t){t=~~t;let e=0;this.tabs.forEach((i=>{e===t&&(n=i),e++}))}if(!n)throw new Error(`Expected a valid tab name, '${t}' given (tab menu id: '${this.container.id}').`)}t=t||n.dataset.name||"";const a=this.getActiveTab();let r=null;if(a){const e=a.dataset.name;if(e===t)return;o||s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"beforeSelect",{tab:a,tabName:e}),a.classList.remove("active"),r=this.containers.get(a.dataset.name||""),r.classList.remove("active"),r.classList.add("hidden"),this.isLegacy&&(a.classList.remove("ui-state-active"),r.classList.remove("ui-state-active"))}n.classList.add("active");const c=this.containers.get(t);if(c.classList.add("active"),c.classList.remove("hidden"),this.isLegacy&&(n.classList.add("ui-state-active"),c.classList.add("ui-state-active")),this.store&&(this.store.value=t),!o){s.fire("com.woltlab.wcf.simpleTabMenu_"+this.container.id,"select",{active:n,activeName:t,previous:a,previousName:a?a.dataset.name:null});const e=this.isLegacy&&"function"==typeof window.jQuery?window.jQuery:null;e&&e(this.container).trigger("wcftabsbeforeactivate",{newTab:e(n),oldTab:e(a),newPanel:e(c),oldPanel:e(r)});let i=window.location.href.replace(/#+[^#]*$/,"");l.getIdentifierFromHash()===t?i+=window.location.hash:i+="#"+t,window.history.replaceState(void 0,"",i)}new Promise(((t,i)=>{e(["../TabMenu"],t,i)})).then(i.__importStar).then((e=>{e.scrollToTab(n)}))}selectFirstVisible(){let e=null;return this.tabs.forEach((t=>{e||a.default.isHidden(t)||(e=t)})),e&&this.select(null,e,!1),null!==e}rebuild(){const e=new Map(this.tabs);this.validate(),this.init(e)}hasTab(e){return this.tabs.has(e)}_onClick(e){e.preventDefault();const t=e.currentTarget;this.select(null,t.parentNode)}_getTabName(e){let t=e.dataset.name||null;if(!t&&1===e.childElementCount&&"A"===e.children[0].nodeName){const i=e.children[0];/#([^#]+)$/.exec(i.href)&&(t=RegExp.$1,null===document.getElementById(t)?t=null:(this.isLegacy=!0,e.dataset.name=t))}return t}getActiveTab(){return document.querySelector("#"+this.container.id+" > nav > ul > li.active")}getContainers(){return this.containers}getTabs(){return this.tabs}static getIdentifierFromHash(){return/^#+([^/]+)+(?:\/.+)?/.exec(window.location.hash)?RegExp.$1:""}}return n.enableLegacyInheritance(l),l})),define("WoltLabSuite/Core/Ui/Scroll",["require","exports","tslib","../Dom/Util"],(function(e,t,i,n){"use strict";function o(){null!==s&&window.clearTimeout(s),s=window.setTimeout((()=>{null!==a&&a(),window.removeEventListener("scroll",o),a=null,s=null}),100)}Object.defineProperty(t,"__esModule",{value:!0}),t.element=void 0,n=i.__importDefault(n);let a=null,r=null,s=null;t.element=function(e,t,i="smooth"){if(!(e instanceof HTMLElement))throw new TypeError("Expected a valid DOM element.");if(void 0!==t&&"function"!=typeof t)throw new TypeError("Expected a valid callback function.");if(!document.body.contains(e))throw new Error("Element must be part of the visible DOM.");if(null!==a)throw new Error("Cannot scroll to element, a concurrent request is running.");t&&(a=t,window.addEventListener("scroll",o));let s=n.default.offset(e).top;if(null===r){r=50;const e=document.getElementById("pageHeaderPanel");if(null!==e){const t=window.getComputedStyle(e).position;r="fixed"===t||"static"===t?e.offsetHeight:0}}r>0&&(s<=r?s=0:s-=r);const l=window.pageYOffset;window.scrollTo({left:0,top:s,behavior:i}),window.setTimeout((()=>{l===window.pageYOffset&&o()}),100)}})),define("WoltLabSuite/Core/Ui/TabMenu",["require","exports","tslib","../Dom/Change/Listener","../Dom/Util","./TabMenu/Simple","./CloseOverlay","./Screen","./Scroll"],(function(e,t,i,n,o,a,r,s,l){"use strict";function c(){document.querySelectorAll(".tabMenuContainer:not(.staticTabMenuContainer)").forEach((e=>{const t=o.default.identify(e);if(v.has(t))return;let i=new a.default(e);if(!i.validate())return;const n=i.init();if(v.set(t,i),n instanceof HTMLElement){const e=f(n.parentNode.id);e&&(i=e,i.select(n.id,void 0,!0))}const r=document.querySelector("#"+t+" > nav > ul");r.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),e.target===r?(r.classList.add("active"),b=r):(r.classList.remove("active"),b=null)})),e.querySelectorAll(".tabMenu, .menu").forEach((e=>{function t(){i=null,m(e)}let i=null;e.querySelector("ul").addEventListener("scroll",(()=>{null!==i&&window.clearTimeout(i),i=window.setTimeout(t,10)}),{passive:!0})}));const s=e.closest("form");if(null!==s){const t=s.querySelector('input[type="submit"]');null!==t&&t.addEventListener("click",(t=>{t.defaultPrevented||e.querySelectorAll("input, select").forEach((e=>{if(!e.checkValidity()){t.preventDefault();const i=f(e.closest(".tabMenuContainer").id),n=e.closest(".tabMenuContent");return i.select(n.dataset.name||""),void l.element(e,(()=>{e.reportValidity()}))}}))}))}}))}function d(){v.forEach((e=>{let t=!1;e.getContainers().forEach((i=>{t||null===i.querySelector(".formError")||(t=!0,e.select(i.id))}))}))}function u(e){_=!0,v.forEach((t=>{const i=t.getActiveTab();e?m(i.closest(".menu, .tabMenu")):g(i)}))}function p(){_=!1}function h(e,t,i,n,o,a){(a||t>0)&&(t-=15),i!==(t=t<0?0:Math.min(t,n-o))&&(e.classList.add("enableAnimation"),i{e.classList.remove("enableAnimation"),e.firstElementChild.style.removeProperty("margin-left"),e.style.removeProperty("padding-left"),e.scrollLeft=t}),300))}function m(e){if(!_)return;const t=e.clientWidth,i=e.querySelector("ul"),n=i.scrollLeft,o=i.scrollWidth,a=n>0;let r=e.querySelector(".tabMenuOverlayLeft");a?(null===r&&(r=document.createElement("span"),r.className="tabMenuOverlayLeft icon icon24 fa-angle-left",r.addEventListener("click",(()=>{const e=i.clientWidth;h(i,i.scrollLeft-~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.insertBefore(r,e.firstChild)),r.classList.add("active")):null!==r&&r.classList.remove("active");const s=t+n{const e=i.clientWidth;h(i,i.scrollLeft+~~(e/2),i.scrollLeft,i.scrollWidth,e,!1)})),e.appendChild(l)),l.classList.add("active")):null!==l&&l.classList.remove("active")}function f(e){return v.get(e)}function g(e){if(!_)return;const t=e.closest("ul"),i=t.clientWidth,n=t.scrollLeft,o=t.scrollWidth;if(i===o)return;const a=e.offsetLeft;let r=!1;a{b&&(b.classList.remove("active"),b=null)})),s.on("screen-sm-down",{match(){u(!1)},unmatch:p,setup(){u(!0)}}),window.addEventListener("hashchange",(()=>{const e=a.default.getIdentifierFromHash(),t=e?document.getElementById(e):null;null!==t&&t.classList.contains("tabMenuContent")&&v.forEach((t=>{t.hasTab(e)&&t.select(e)}))}));const e=a.default.getIdentifierFromHash();e&&window.setTimeout((()=>{const t=document.getElementById(e);if(t&&t.classList.contains("tabMenuContent")){const e=window.scrollY||window.pageYOffset;if(e>0){const i=t.parentNode;let n=i.offsetTop-50;if(n<0&&(n=0),e>n){let e=o.default.offset(i).top;e<=50?e=0:e-=50,window.scrollTo(0,e)}}}}),100)},t.getTabMenu=f,t.scrollToTab=g})),define("WoltLabSuite/Core/Ui/Tooltip",["require","exports","tslib","../Dom/Change/Listener","../Environment","./Alignment"],(function(e,t,i,n,o,a){"use strict";function r(e){const t=e.currentTarget;let i=t.title.trim();""!==i&&(t.dataset.tooltip=i,t.setAttribute("aria-label",i),t.removeAttribute("title")),i=t.dataset.tooltip||"",u.style.removeProperty("top"),u.style.removeProperty("left"),i.length?(u.classList.add("active"),d.textContent=i,a.set(u,t,{horizontal:"center",verticalOffset:4,pointer:!0,pointerClassNames:["inverse"],vertical:"top"})):u.classList.remove("active")}function s(){u.classList.remove("active")}function l(){document.querySelectorAll(".jsTooltip").forEach((e=>{e.classList.remove("jsTooltip");const t=e.title.trim();t.length&&(e.dataset.tooltip=t,e.removeAttribute("title"),e.setAttribute("aria-label",t),e.addEventListener("mouseenter",r),e.addEventListener("mouseleave",s),e.addEventListener("click",s))}))}let c,d,u;Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),a=i.__importStar(a),t.setup=function(){"desktop"===o.platform()&&(u=document.createElement("div"),u.id="balloonTooltip",u.classList.add("balloonTooltip"),u.addEventListener("transitionend",(()=>{u.classList.contains("active")||["bottom","left","right","top"].forEach((e=>{u.style.removeProperty(e)}))})),d=document.createElement("span"),d.id="balloonTooltipText",u.appendChild(d),c=document.createElement("span"),c.classList.add("elementPointer"),c.appendChild(document.createElement("span")),u.appendChild(c),document.body.appendChild(u),l(),n.default.add("WoltLabSuite/Core/Ui/Tooltip",l),window.addEventListener("scroll",s))},t.init=l})),define("WoltLabSuite/Core/Ui/Page/JumpTo",["require","exports","tslib","../../Language","../Dialog"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o);class a{constructor(){this.elements=new Map}init(e,t){if(t){if("function"!=typeof t)throw new TypeError("Expected a valid function for parameter 'callback'.")}else{const i=e.dataset.link;t=i?e=>{window.location.href=i.replace(/pageNo=%d/,`pageNo=${e}`)}:()=>{}}this.elements.has(e)||e.querySelectorAll(".jumpTo").forEach((i=>{i.addEventListener("click",(t=>this.click(e,t))),this.elements.set(e,t)}))}click(e,t){t.preventDefault(),this.activeElement=e,o.default.open(this);const i=e.dataset.pages||"0";this.input.value=i,this.input.max=i,this.input.select(),this.description.textContent=n.get("wcf.page.jumpTo.description").replace(/#pages#/,i)}_keyUp(e){if("Enter"===e.key&&!this.submitButton.disabled)return void this.submit();const t=+this.input.value;this.submitButton.disabled=t<1||t>+this.input.max}submit(){this.elements.get(this.activeElement)(+this.input.value),o.default.close(this)}_dialogSetup(){const e=`
    \n
    \n
    \n \n \n
    \n
    \n
    \n \n
    `;return{id:"paginationOverlay",options:{onSetup:e=>{this.input=e.querySelector("input"),this.input.addEventListener("keyup",(e=>this._keyUp(e))),this.description=e.querySelector("small"),this.submitButton=e.querySelector("button"),this.submitButton.addEventListener("click",(()=>this.submit()))},title:n.get("wcf.global.page.pagination")},source:e}}}let r=null;t.init=function(e,t){(null===r&&(r=new a),r).init(e,t)}})),define("WoltLabSuite/Core/Ui/Password",["require","exports","tslib","../Dom/Change/Listener","../Language"],(function(e,t,i,n,o){"use strict";function a(){document.querySelectorAll("input[type=password]").forEach((e=>{s.has(e)||function(e){var t;s.add(e);const i=document.activeElement,n=document.createElement("div");n.classList.add("inputAddon"),e.insertAdjacentElement("beforebegin",n),n.appendChild(e);const a=document.createElement("span");a.title=o.get("wcf.global.form.password.button.show"),a.classList.add("button","inputSuffix","jsTooltip"),a.setAttribute("role","button"),a.tabIndex=0,a.setAttribute("aria-hidden","true"),n.appendChild(a);const l=document.createElement("span");l.classList.add("icon","icon16","fa-eye"),a.appendChild(l),a.addEventListener("click",(()=>{r(e,a,l)})),a.addEventListener("keydown",(t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),r(e,a,l))})),null===(t=e.form)||void 0===t||t.addEventListener("submit",(()=>{"password"!==e.type&&r(e,a,l)})),i===e&&e.focus()}(e)}))}function r(e,t,i){"password"===e.type?(i.classList.remove("fa-eye"),i.classList.add("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.hide"),e.type="text"):(i.classList.add("fa-eye"),i.classList.remove("fa-eye-slash"),t.dataset.tooltip=o.get("wcf.global.form.password.button.show"),e.type="password")}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o);const s=new WeakSet;t.setup=function(){a(),n.default.add("WoltLabSuite/Core/Ui/Password",(()=>a()))}})),define("WoltLabSuite/Core/Ui/Empty",["require","exports","tslib","../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){document.querySelectorAll(".jsReloadPageWhenEmpty").forEach((e=>{e.classList.remove("jsReloadPageWhenEmpty"),a.observe(e,{childList:!0})}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n);const a=new MutationObserver((e=>{e.forEach((e=>{const t=e.target;if(0===t.childElementCount)window.location.reload();else{Array.from(t.children).every((e=>"ignore"===e.dataset.reloadPageWhenEmpty))&&window.location.reload()}}))}));t.setup=function(){o(),n.default.add("WoltLabSuite/Core/Ui/Empty",(()=>o()))}})),define("WoltLabSuite/Core/Ui/Confirmation",["require","exports","tslib","../Core","../Language","./Dialog"],(function(e,t,i,n,o,a){"use strict";function r(){return l||(l=new s),l}Object.defineProperty(t,"__esModule",{value:!0}),t.getContentElement=t.show=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a);class s{constructor(){this._active=!1,this.dialog=document.createElement("div"),this.dialog.id="wcfSystemConfirmation",this.dialog.classList.add("systemConfirmation"),this.text=document.createElement("p"),this.dialog.appendChild(this.text),this._content=document.createElement("div"),this._content.id="wcfSystemConfirmationContent",this.dialog.appendChild(this._content);const e=document.createElement("div");e.classList.add("formSubmit"),this.dialog.appendChild(e),this.confirmButton=document.createElement("button"),this.confirmButton.dataset.type="submit",this.confirmButton.classList.add("buttonPrimary"),this.confirmButton.textContent=o.get("wcf.global.confirmation.confirm"),e.appendChild(this.confirmButton);const t=document.createElement("button");t.textContent=o.get("wcf.global.confirmation.cancel"),t.addEventListener("click",(()=>{a.default.close(this)})),e.appendChild(t),document.body.appendChild(this.dialog)}open(e){this.parameters=e.parameters||{},this._content.innerHTML="string"==typeof e.template?e.template.trim():"",this.text[e.messageIsHtml?"innerHTML":"textContent"]=e.message,"function"==typeof e.legacyCallback?(this.callbackCancel=t=>{e.legacyCallback("cancel",t,this.content)},this.callbackConfirm=t=>{e.legacyCallback("confirm",t,this.content)}):("function"!=typeof e.cancel&&(e.cancel=()=>{}),this.callbackCancel=e.cancel,this.callbackConfirm=e.confirm),this._active=!0,a.default.open(this)}get active(){return this._active}get content(){return this._content}_confirm(){this.callbackConfirm(this.parameters,this.content),this._active=!1,a.default.close("wcfSystemConfirmation")}_onClose(){this.active&&(this.confirmButton.blur(),this._active=!1,this.callbackCancel(this.parameters))}_onShow(){this.confirmButton.blur(),this.confirmButton.focus()}_dialogSetup(){return{id:"wcfSystemConfirmation",options:{onClose:this._onClose.bind(this),onShow:this._onShow.bind(this),title:o.get("wcf.global.confirmation.title")}}}_dialogSubmit(){this._confirm()}}let l;t.show=function(e){if(!r().active){if((e=n.extend({cancel:null,confirm:null,legacyCallback:null,message:"",messageIsHtml:!1,parameters:{},template:""},e)).message="string"==typeof e.message?e.message.trim():"",!e.message)throw new Error("Expected a non-empty string for option 'message'.");if("function"!=typeof e.confirm&&"function"!=typeof e.legacyCallback)throw new TypeError("Expected a valid callback for option 'confirm'.");r().open(e)}},t.getContentElement=function(){return r().content}})),define("WoltLabSuite/Core/Ui/Object/Action",["require","exports","tslib","../../Ajax","../../Event/Handler","../Confirmation","../../Language","../../StringUtil","../../Dom/Change/Listener"],(function(e,t,i,n,o,a,r,s,l){"use strict";function c(e){function t(){n.apiOnce({data:{actionName:l,className:c,objectIDs:[d],parameters:h},success:e=>function(e,t){"reload"===e.dataset.objectActionSuccess?window.location.reload():o.fire("WoltLabSuite/Core/Ui/Object/Action",e.dataset.objectAction,{containerElement:e.closest(u),data:t,objectElement:e.closest(p)})}(i,e)})}e.preventDefault();const i=e.currentTarget,l=i.dataset.objectAction;let c=i.closest(u).dataset.objectActionClassName;i.dataset.objectActionClassName&&(c=i.dataset.objectActionClassName);let d=i.closest(p).dataset.objectId;i.dataset.objectId&&(d=i.dataset.objectId);const h={};Object.entries(i.dataset).forEach((([e,t])=>{let i=/^objectActionParameterData(.+)/.exec(e);if(i)Object.prototype.hasOwnProperty.call(h,"data")||(h.data={}),h.data[s.lcfirst(i[1])]=t;else if(i=/^objectActionParameter(.+)/.exec(e),i){const e=s.lcfirst(i[1]);if("data"===e)throw new Error("Additional object action parameters may not use 'data' as key.");h[e]=t}})),i.dataset.confirmMessage?a.show({confirm:t,message:r.get(i.dataset.confirmMessage),messageIsHtml:!0}):t()}function d(){document.querySelectorAll(`${u} ${p} .jsObjectAction[data-object-action]`).forEach((e=>{h.has(e)||(e.addEventListener("click",(e=>c(e))),h.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a),r=i.__importStar(r),s=i.__importStar(s),l=i.__importDefault(l);const u=".jsObjectActionContainer[data-object-action-class-name]",p=".jsObjectActionObject[data-object-id]",h=new Set;t.setup=function(){d(),l.default.add("WoltLabSuite/Core/Ui/Action",(()=>d()))}})),define("WoltLabSuite/Core/Controller/Clipboard",["require","exports","tslib","../Ajax","../Core","../Dom/Change/Listener","../Dom/Util","../Event/Handler","../Language","../Ui/Confirmation","../Ui/Dropdown/Simple","../Ui/Page/Action","../Ui/Screen"],(function(e,t,i,n,o,a,r,s,l,c,d,u,p){"use strict";function h(){return g||(g=new f),g}Object.defineProperty(t,"__esModule",{value:!0}),t.unmark=t.showEditor=t.hideEditor=t.reload=t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importDefault(r),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),p=i.__importStar(p);const m='.messageCheckboxLabel > input[type="checkbox"], .message .messageClipboardCheckbox > input[type="checkbox"], .messageGroupList .columnMark > label > input[type="checkbox"]';class f{constructor(){this.containers=new Map,this.editors=new Map,this.editorDropdowns=new Map,this.itemData=new WeakMap,this.knownCheckboxes=new WeakSet,this.pageClassNames=[],this.pageObjectId=0,this.reloadPageOnSuccess=new Map}setup(e){if(!e.pageClassName)throw new Error("Expected a non-empty string for parameter 'pageClassName'.");let t=!1;0===this.pageClassNames.length&&(t=e.hasMarkedItems,this.pageObjectId=e.pageObjectId),this.pageClassNames.push(e.pageClassName),this.initContainers(),t&&this.containers.size&&this.loadMarkedItems(),a.default.add("WoltLabSuite/Core/Controller/Clipboard",(()=>this.initContainers()))}reload(){this.containers.size&&this.loadMarkedItems()}initContainers(){document.querySelectorAll(".jsClipboardContainer").forEach((e=>{const t=r.default.identify(e);let i=this.containers.get(t);if(void 0===i){const n=e.querySelector(".jsClipboardMarkAll");if(null!==n){if(n.matches(m)){const e=n.closest("label");e.setAttribute("role","checkbox"),e.tabIndex=0,e.setAttribute("aria-checked","false"),e.setAttribute("aria-label",l.get("wcf.clipboard.item.markAll")),e.addEventListener("keyup",(e=>{"Enter"!==e.key&&"Space"!==e.key||n.click()}))}n.dataset.containerId=t,n.addEventListener("click",(e=>this.markAll(e)))}i={checkboxes:e.getElementsByClassName("jsClipboardItem"),element:e,markAll:n,markedObjectIds:new Set},this.containers.set(t,i)}Array.from(i.checkboxes).forEach((e=>{if(this.knownCheckboxes.has(e))return;if(e.dataset.containerId=t,e.matches(m)){const t=e.closest("label");t.setAttribute("role","checkbox"),t.tabIndex=0,t.setAttribute("aria-checked","false"),t.setAttribute("aria-label",l.get("wcf.clipboard.item.mark")),t.addEventListener("keyup",(t=>{"Enter"!==t.key&&"Space"!==t.key||e.click()}))}null===e.closest("a")?e.addEventListener("click",(e=>this.mark(e))):e.addEventListener("click",(t=>{t.preventDefault(),window.setTimeout((()=>{e.checked=!e.checked,this.mark(e)}),10)})),this.knownCheckboxes.add(e)}))}))}loadMarkedItems(){n.api(this,{actionName:"getMarkedItems",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId}})}markAll(e){const t=e.currentTarget,i="INPUT"!==t.nodeName||t.checked;this.setParentAsMarked(t,i);const n=[],o=t.dataset.containerId,a=this.containers.get(o),r=a.element.dataset.type;Array.from(a.checkboxes).forEach((e=>{const o=~~e.dataset.objectId;i?e.checked||(e.checked=!0,a.markedObjectIds.add(o),n.push(o)):e.checked&&(e.checked=!1,a.markedObjectIds.delete(o),n.push(o)),this.setParentAsMarked(e,i);const r=t.closest(".jsClipboardObject");null!==r&&(i?r.classList.add("jsMarked"):r.classList.remove("jsMarked"))})),this.saveState(r,n,i)}mark(e){const t=e instanceof Event?e.currentTarget:e,i=~~t.dataset.objectId,n=t.checked,o=t.dataset.containerId,a=this.containers.get(o),r=a.element.dataset.type,s=t.closest(".jsClipboardObject");n?(a.markedObjectIds.add(i),s.classList.add("jsMarked")):(a.markedObjectIds.delete(i),s.classList.remove("jsMarked")),null!==a.markAll&&(a.markAll.checked=!Array.from(a.checkboxes).some((e=>!e.checked)),this.setParentAsMarked(a.markAll,n)),this.setParentAsMarked(t,t.checked),this.saveState(r,[i],n)}saveState(e,t,i){n.api(this,{actionName:i?"mark":"unmark",parameters:{pageClassNames:this.pageClassNames,pageObjectID:this.pageObjectId,objectIDs:t,objectType:e}})}executeAction(e){function t(){const e=i.dataset.type;s.fire("com.woltlab.wcf.clipboard",e,{data:n,listItem:i,responseData:null})}const i=e.currentTarget,n=this.itemData.get(i);if(n.url)return void(window.location.href=n.url);const a="string"==typeof n.internalData.confirmMessage?n.internalData.confirmMessage:"";let r=!0;if(o.isPlainObject(n.parameters)&&n.parameters.actionName&&n.parameters.className){if("unmarkAll"===n.parameters.actionName||Array.isArray(n.parameters.objectIDs))if(a.length){const e="string"==typeof n.internalData.template?n.internalData.template:"";c.show({confirm:()=>{const t={};e.length&&c.getContentElement().querySelectorAll("input, select, textarea").forEach((e=>{const i=e.name;switch(e.nodeName){case"INPUT":("checkbox"!==e.type&&"radio"!==e.type||e.checked)&&(t[i]=e.value);break;case"SELECT":t[i]=e.value;break;case"TEXTAREA":t[i]=e.value.trim()}})),this.executeProxyAction(i,n,t)},message:a,template:e})}else this.executeProxyAction(i,n)}else a.length&&(r=!1,c.show({confirm:t,message:a}));r&&t()}executeProxyAction(e,t,i={}){const a="unmarkAll"!==t.parameters.actionName?t.parameters.objectIDs:[],r={data:i};o.isPlainObject(t.internalData.parameters)&&Object.entries(t.internalData.parameters).forEach((([e,t])=>{r[e]=t})),n.api(this,{actionName:t.parameters.actionName,className:t.parameters.className,objectIDs:a,parameters:r},(i=>{if("unmarkAll"!==t.actionName){const n=e.dataset.type;s.fire("com.woltlab.wcf.clipboard",n,{data:t,listItem:e,responseData:i});const o=this.reloadPageOnSuccess.get(n);if(o&&o.includes(i.actionName))return void window.location.reload()}this.loadMarkedItems()}))}unmarkAll(e){const t=e.currentTarget;n.api(this,{actionName:"unmarkAll",parameters:{objectType:t.dataset.type}})}_ajaxSetup(){return{data:{className:"wcf\\data\\clipboard\\item\\ClipboardItemAction"}}}_ajaxSuccess(e){if("unmarkAll"===e.actionName){const t=e.returnValues.objectType;return void this.containers.forEach((e=>{e.element.dataset.type===t&&(e.element.querySelectorAll(".jsMarked").forEach((e=>e.classList.remove("jsMarked"))),null!==e.markAll&&(e.markAll.checked=!1,this.setParentAsMarked(e.markAll,!1)),Array.from(e.checkboxes).forEach((e=>{e.checked=!1,this.setParentAsMarked(e,!1)})),u.remove(`wcfClipboard-${t}`))}))}this.itemData=new WeakMap,this.reloadPageOnSuccess.clear();const t=o.isPlainObject(e.returnValues.markedItems)?e.returnValues.markedItems:{};this.containers.forEach((e=>{const i=e.element.dataset.type,n=Array.isArray(t[i])?t[i]:[];this.rebuildMarkings(e,n)}));const i=Object.keys(e.returnValues.items||{});this.editors.forEach(((e,t)=>{i.includes(t)||(u.remove(`wcfClipboard-${t}`),this.editorDropdowns.get(t).innerHTML="")})),e.returnValues.items&&Object.entries(e.returnValues.items).forEach((([e,t])=>{this.reloadPageOnSuccess.set(e,t.reloadPageOnSuccess);let n=!1,o=this.editors.get(e),a=this.editorDropdowns.get(e);void 0===o?(n=!0,o=document.createElement("a"),o.className="dropdownToggle",o.textContent=t.label,this.editors.set(e,o),a=document.createElement("ol"),a.className="dropdownMenu",this.editorDropdowns.set(e,a)):(o.textContent=t.label,a.innerHTML=""),Object.values(t.items).forEach((t=>{const i=document.createElement("li"),n=document.createElement("span");n.textContent=t.label,i.appendChild(n),a.appendChild(i),i.dataset.type=e,i.addEventListener("click",(e=>this.executeAction(e))),this.itemData.set(i,t)}));const r=document.createElement("li");r.classList.add("dropdownDivider"),a.appendChild(r);const s=document.createElement("li");s.dataset.type=e;const c=document.createElement("span");if(c.textContent=l.get("wcf.clipboard.item.unmarkAll"),s.appendChild(c),s.addEventListener("click",(e=>this.unmarkAll(e))),a.appendChild(s),-1!==i.indexOf(e)){const t=`wcfClipboard-${e}`;u.has(t)?u.show(t):u.add(t,o)}if(n){const e=o.parentElement;e.classList.add("dropdown"),e.appendChild(a),d.default.init(o)}}))}rebuildMarkings(e,t){var i;let n=!0;if(Array.from(e.checkboxes).forEach((e=>{const i=e.closest(".jsClipboardObject"),o=t.includes(~~e.dataset.objectId);o||(n=!1),e.checked=o,o?i.classList.add("jsMarked"):i.classList.remove("jsMarked"),this.setParentAsMarked(e,o)})),null!==e.markAll){e.markAll.checked=n,this.setParentAsMarked(e.markAll,n);const t=null===(i=e.markAll.closest(".columnMark"))||void 0===i?void 0:i.parentNode;t&&(n?t.classList.add("jsMarked"):t.classList.remove("jsMarked"))}}setParentAsMarked(e,t){const i=e.parentElement;"checkbox"===i.getAttribute("role")&&i.setAttribute("aria-checked",t?"true":"false")}hideEditor(e){u.remove("wcfClipboard-"+e),p.pageOverlayOpen()}showEditor(){this.loadMarkedItems(),p.pageOverlayClose()}unmark(e,t){this.saveState(e,t,!1)}}let g;t.setup=function(e){h().setup(e)},t.reload=function(){h().reload()},t.hideEditor=function(e){h().hideEditor(e)},t.showEditor=function(){h().showEditor()},t.unmark=function(e,t){h().unmark(e,t)}})),define("WoltLabSuite/Core/Ui/Object/Action/Handler",["require","exports","tslib","../../../Event/Handler","../../../Controller/Clipboard"],(function(e,t,i,n,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n=i.__importStar(n),o=i.__importStar(o);t.default=class{constructor(e,t,i){this.objectAction=i,n.add("WoltLabSuite/Core/Ui/Object/Action",e,(e=>this.handleObjectAction(e))),document.querySelectorAll(".jsClipboardContainer[data-type]").forEach((e=>{n.add("com.woltlab.wcf.clipboard",e.dataset.type,(e=>{null!==e.responseData&&-1!==t.indexOf(e.responseData.actionName)&&this.handleClipboardAction(e)}))}))}handleClipboardAction(e){const t=e.listItem.dataset.type;document.querySelectorAll(`.jsClipboardContainer[data-type="${t}"] .jsClipboardObject`).forEach((t=>{const i=t.dataset.objectId;e.responseData.objectIDs.forEach((n=>{~~n==~~i&&this.objectAction({containerElement:t.closest(".jsObjectActionContainer"),data:e.responseData,objectElement:t})}))}))}handleObjectAction(e){this.objectAction(e),o.reload()}}})),define("WoltLabSuite/Core/Ui/Object/Action/Delete",["require","exports","tslib","./Handler"],(function(e,t,i,n){"use strict";function o(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="delete"]');if(!t||t.dataset.objectActionHandler)return;const i=e.objectElement.querySelector(".jsObjectActionObjectChildren");i&&Array.from(i.children).forEach((t=>{e.objectElement.insertAdjacentElement("beforebegin",t)})),e.objectElement.remove()}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),t.setup=function(){new n.default("delete",["delete"],o)}})),define("WoltLabSuite/Core/Ui/Object/Action/Toggle",["require","exports","tslib","../../../Language","./Handler"],(function(e,t,i,n,o){"use strict";function a(e){const t=e.objectElement.querySelector('.jsObjectAction[data-object-action="toggle"]');if(t&&!t.dataset.objectActionHandler)if(t.classList.contains("fa-square-o")){t.classList.replace("fa-square-o","fa-check-square-o");const e=t.dataset.disableTitle||n.get("wcf.global.button.disable");t.title=e}else{t.classList.replace("fa-check-square-o","fa-square-o");const e=t.dataset.enableTitle||n.get("wcf.global.button.enable");t.title=e}}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),t.setup=function(){new o.default("toggle",["enable","disable"],a)}})),define("WoltLabSuite/Core/Ui/Search",["require","exports","tslib","../Event/Handler","./Alignment","./CloseOverlay","./Dropdown/Simple","./Screen","../Environment","../Dom/Util"],(function(e,t,i,n,o,a,r,s,l,c){"use strict";function d(){a.default.execute(),f.classList.add("searchBarOpen"),null==y||y.parentElement.classList.add("open"),h||o.set(b,w,{horizontal:"right"}),b.style.setProperty("top",`${g.clientHeight}px`,""),v.focus(),window.setTimeout((()=>{const e=v.value.length;v.selectionStart=e,v.selectionEnd=e}),1)}function u(){f.classList.remove("searchBarOpen"),b.classList.remove("open"),null==y||y.parentElement.classList.remove("open");["bottom","left","right","top"].forEach((e=>{b.style.removeProperty(e)})),"ios"===l.platform()&&(s.scrollEnable(),void 0!==p&&(document.body.scrollTop=p,p=void 0)),h&&v.blur();const e=b.querySelector(".pageHeaderSearchType");r.default.close(e.id)}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a),r=i.__importDefault(r),s=i.__importStar(s),l=i.__importStar(l);let p,h=!1;const m=document.body.classList.contains("wcfAcp"),f=document.getElementById("pageHeader"),g=document.getElementById("pageHeaderPanel"),b=document.getElementById("pageHeaderSearch");let _;const v=document.getElementById("pageHeaderSearchInput"),w=document.getElementById("topMenu"),y=document.getElementById("userPanelSearchButton");t.init=function(){m&&null===b||(!function(){b.addEventListener("click",(e=>e.stopPropagation()));const e=document.querySelector(".pageHeaderSearchType"),t=(0,c.identify)(e);r.default.getDropdownMenu(t).addEventListener("click",(e=>{e.stopPropagation(),r.default.close(t)})),null==y||y.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),f.classList.contains("searchBarOpen")?u():d()})),a.default.add("WoltLabSuite/Core/Ui/Search",((e,t)=>{if(e===a.Origin.DropDown){if(document.getElementById("pageHeaderSearchTypeSelect").dataset.target===t)return;if(v.parentElement.id===t)return}u(),null==_||_.setAttribute("aria-expanded","false")}))}(),s.on("screen-md-down",{match(){h=!0},unmatch(){h=!1,p=void 0},setup(){h=!0,function(){const e=document.getElementById("pageHeaderSearchMobile");_=e,e.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),"true"===e.getAttribute("aria-expanded")?(u(),e.setAttribute("aria-expanded","false")):("ios"===l.platform()&&(p=document.body.scrollTop,s.scrollDisable()),d(),b.style.setProperty("top",`${f.offsetHeight}px`,""),b.classList.add("open"),v.focus(),"ios"===l.platform()&&(document.body.scrollTop=0),e.setAttribute("aria-expanded","true"))})),b.addEventListener("click",(t=>{t.stopPropagation(),t.target===b&&(t.preventDefault(),u(),e.setAttribute("aria-expanded","false"))}))}()}}),n.add("com.woltlab.wcf.Search","close",(()=>u())))}})),function e(t,i,n){function o(a,s){var l,c,d;if(!i[a]){if(!t[a]){if(l="function"==typeof require&&require,!s&&l)return l(a,!0);if(r)return r(a,!0);throw(c=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",c}d=i[a]={exports:{}},t[a][0].call(d.exports,(function(e){var i=t[a][1][e];return o(i||e)}),d,d.exports,e,t,i,n)}return i[a].exports}var a,r="function"==typeof require&&require;for(a=0;a=0&&i.splice(n,1),e.className=i.join(" ")}(e,t)},i.list=function(e){return e.classList?Array.prototype.slice.apply(e.classList):e.className.split(" ")}},{}],3:[function(e,t,i){"use strict";var n={e:function(e,t){var i=document.createElement(e);return i.className=t,i},appendTo:function(e,t){return t.appendChild(e),e}};n.css=function(e,t,i){return"object"==typeof t?function(e,t){var i,n;for(i in t)"number"==typeof(n=t[i])&&(n=n.toString()+"px"),e.style[i]=n;return e}(e,t):void 0===i?function(e,t){return window.getComputedStyle(e)[t]}(e,t):function(e,t,i){return"number"==typeof i&&(i=i.toString()+"px"),e.style[t]=i,e}(e,t,i)},n.matches=function(e,t){return void 0!==e.matches?e.matches(t):void 0!==e.matchesSelector?e.matchesSelector(t):void 0!==e.webkitMatchesSelector?e.webkitMatchesSelector(t):void 0!==e.mozMatchesSelector?e.mozMatchesSelector(t):void 0!==e.msMatchesSelector?e.msMatchesSelector(t):void 0},n.remove=function(e){void 0!==e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)},n.queryChildren=function(e,t){return Array.prototype.filter.call(e.childNodes,(function(e){return n.matches(e,t)}))},t.exports=n},{}],4:[function(e,t,i){"use strict";var n,o=function(e){this.element=e,this.events={}};o.prototype.bind=function(e,t){void 0===this.events[e]&&(this.events[e]=[]),this.events[e].push(t),this.element.addEventListener(e,t,!1)},o.prototype.unbind=function(e,t){var i=void 0!==t;this.events[e]=this.events[e].filter((function(n){return!(!i||n===t)||(this.element.removeEventListener(e,n,!1),!1)}),this)},o.prototype.unbindAll=function(){for(var e in this.events)this.unbind(e)},(n=function(){this.eventElements=[]}).prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return void 0===t&&(t=new o(e),this.eventElements.push(t)),t},n.prototype.bind=function(e,t,i){this.eventElement(e).bind(t,i)},n.prototype.unbind=function(e,t,i){this.eventElement(e).unbind(t,i)},n.prototype.unbindAll=function(){for(var e=0;et.scrollbarYTop?1:-1;a(e,"top",e.scrollTop+r*t.containerHeight),o(e),n.stopPropagation()})),t.event.bind(t.scrollbarX,"click",n),t.event.bind(t.scrollbarXRail,"click",(function(n){var r=n.pageX-window.pageXOffset-i(t.scrollbarXRail).left>t.scrollbarXLeft?1:-1;a(e,"left",e.scrollLeft+r*t.containerWidth),o(e),n.stopPropagation()}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(e,t,i){"use strict";function n(e,t){var i=null,n=null,o=function(o){var r,s,d,u;r=o.pageX-n,d=i+r*t.railXRatio,u=Math.max(0,t.scrollbarXRail.getBoundingClientRect().left)+t.railXRatio*(t.railXWidth-t.scrollbarXWidth),t.scrollbarXLeft=d<0?0:d>u?u:d,s=a.toInt(t.scrollbarXLeft*(t.contentWidth-t.containerWidth)/(t.containerWidth-t.railXRatio*t.scrollbarXWidth))-t.negativeScrollAdjustment,c(e,"left",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){a.stopScrolling(e,"x"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarX,"mousedown",(function(l){n=l.pageX,i=a.toInt(r.css(t.scrollbarX,"left"))*t.railXRatio,a.startScrolling(e,"x"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}function o(e,t){var i=null,n=null,o=function(o){var r,s,d,u;r=o.pageY-n,d=i+r*t.railYRatio,u=Math.max(0,t.scrollbarYRail.getBoundingClientRect().top)+t.railYRatio*(t.railYHeight-t.scrollbarYHeight),t.scrollbarYTop=d<0?0:d>u?u:d,s=a.toInt(t.scrollbarYTop*(t.contentHeight-t.containerHeight)/(t.containerHeight-t.railYRatio*t.scrollbarYHeight)),c(e,"top",s),l(e),o.stopPropagation(),o.preventDefault()},s=function(){a.stopScrolling(e,"y"),t.event.unbind(t.ownerDocument,"mousemove",o)};t.event.bind(t.scrollbarY,"mousedown",(function(l){n=l.pageY,i=a.toInt(r.css(t.scrollbarY,"top"))*t.railYRatio,a.startScrolling(e,"y"),t.event.bind(t.ownerDocument,"mousemove",o),t.event.once(t.ownerDocument,"mouseup",s),l.stopPropagation(),l.preventDefault()}))}var a=e("../../lib/helper"),r=e("../../lib/dom"),s=e("../instances"),l=e("../update-geometry"),c=e("../update-scroll");t.exports=function(e){var t=s.get(e);n(e,t),o(e,t)}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(e,t,i){"use strict";function n(e,t){var i,n=!1;t.event.bind(e,"mouseenter",(function(){n=!0})),t.event.bind(e,"mouseleave",(function(){n=!1})),i=!1,t.event.bind(t.ownerDocument,"keydown",(function(r){var c,d,u,p;if(!(r.isDefaultPrevented&&r.isDefaultPrevented()||r.defaultPrevented)&&(c=a.matches(t.scrollbarX,":focus")||a.matches(t.scrollbarY,":focus"),n||c)){if(d=document.activeElement?document.activeElement:t.ownerDocument.activeElement){if("IFRAME"===d.tagName)d=d.contentDocument.activeElement;else for(;d.shadowRoot;)d=d.shadowRoot.activeElement;if(o.isEditable(d))return}switch(u=0,p=0,r.which){case 37:u=r.metaKey?-t.contentWidth:r.altKey?-t.containerWidth:-30;break;case 38:p=r.metaKey?t.contentHeight:r.altKey?t.containerHeight:30;break;case 39:u=r.metaKey?t.contentWidth:r.altKey?t.containerWidth:30;break;case 40:p=r.metaKey?-t.contentHeight:r.altKey?-t.containerHeight:-30;break;case 33:p=90;break;case 32:p=r.shiftKey?90:-90;break;case 34:p=-90;break;case 35:p=r.ctrlKey?-t.contentHeight:-t.containerHeight;break;case 36:p=r.ctrlKey?e.scrollTop:t.containerHeight;break;default:return}l(e,"top",e.scrollTop-p),l(e,"left",e.scrollLeft+u),s(e),i=function(i,n){var o,a=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===a&&n>0||a>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(u,p),i&&r.preventDefault()}}))}var o=e("../../lib/helper"),a=e("../../lib/dom"),r=e("../instances"),s=e("../update-geometry"),l=e("../update-scroll");t.exports=function(e){n(e,r.get(e))}},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(e,t,i){"use strict";function n(e,t){function i(i){var o=function(e){var t=e.deltaX,i=-1*e.deltaY;return void 0!==t&&void 0!==i||(t=-1*e.wheelDeltaX/6,i=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,i*=10),t!=t&&i!=i&&(t=0,i=e.wheelDelta),e.shiftKey?[-i,-t]:[t,i]}(i),s=o[0],l=o[1];(function(t,i){var n,o,a=e.querySelector("textarea:hover, select[multiple]:hover, .ps-child:hover");if(a){if(!window.getComputedStyle(a).overflow.match(/(scroll|auto)/))return!1;if((n=a.scrollHeight-a.clientHeight)>0&&!(0===a.scrollTop&&i>0||a.scrollTop===n&&i<0))return!0;if((o=a.scrollLeft-a.clientWidth)>0&&!(0===a.scrollLeft&&t<0||a.scrollLeft===o&&t>0))return!0}return!1})(s,l)||(n=!1,t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(r(e,"top",l?e.scrollTop-l*t.settings.wheelSpeed:e.scrollTop+s*t.settings.wheelSpeed),n=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(r(e,"left",s?e.scrollLeft+s*t.settings.wheelSpeed:e.scrollLeft-l*t.settings.wheelSpeed),n=!0):(r(e,"top",e.scrollTop-l*t.settings.wheelSpeed),r(e,"left",e.scrollLeft+s*t.settings.wheelSpeed)),a(e),n=n||function(i,n){var o,a=e.scrollTop;if(0===i){if(!t.scrollbarYActive)return!1;if(0===a&&n>0||a>=t.contentHeight-t.containerHeight&&n<0)return!t.settings.wheelPropagation}if(o=e.scrollLeft,0===n){if(!t.scrollbarXActive)return!1;if(0===o&&i<0||o>=t.contentWidth-t.containerWidth&&i>0)return!t.settings.wheelPropagation}return!0}(s,l),n&&(i.stopPropagation(),i.preventDefault()))}var n=!1;void 0!==window.onwheel?t.event.bind(e,"wheel",i):void 0!==window.onmousewheel&&t.event.bind(e,"mousewheel",i)}var o=e("../instances"),a=e("../update-geometry"),r=e("../update-scroll");t.exports=function(e){n(e,o.get(e))}},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(e,t,i){"use strict";var n=e("../instances"),o=e("../update-geometry");t.exports=function(e){!function(e,t){t.event.bind(e,"scroll",(function(){o(e)}))}(e,n.get(e))}},{"../instances":18,"../update-geometry":19}],15:[function(e,t,i){"use strict";function n(e,t){function i(){n&&(clearInterval(n),n=null),o.stopScrolling(e)}var n=null,l={top:0,left:0},c=!1;t.event.bind(t.ownerDocument,"selectionchange",(function(){var t;e.contains(0===(t=window.getSelection?window.getSelection():document.getSelection?document.getSelection():"").toString().length?null:t.getRangeAt(0).commonAncestorContainer)?c=!0:(c=!1,i())})),t.event.bind(window,"mouseup",(function(){c&&(c=!1,i())})),t.event.bind(window,"keyup",(function(){c&&(c=!1,i())})),t.event.bind(window,"mousemove",(function(t){var d,u;c&&(d={x:t.pageX,y:t.pageY},u={left:e.offsetLeft,right:e.offsetLeft+e.offsetWidth,top:e.offsetTop,bottom:e.offsetTop+e.offsetHeight},d.xu.right-3?(l.left=5,o.startScrolling(e,"x")):l.left=0,d.yu.bottom-3?(d.y-u.bottom+3<5?l.top=5:l.top=20,o.startScrolling(e,"y")):l.top=0,0===l.top&&0===l.left?i():n||(n=setInterval((function(){a.get(e)?(s(e,"top",e.scrollTop+l.top),s(e,"left",e.scrollLeft+l.left),r(e)):clearInterval(n)}),50)))}))}var o=e("../../lib/helper"),a=e("../instances"),r=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){n(e,a.get(e))}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(e,t,i){"use strict";function n(e,t,i,n){function o(t,i){s(e,"top",e.scrollTop-i),s(e,"left",e.scrollLeft-t),r(e)}function l(){v=!0}function c(){v=!1}function d(e){return e.targetTouches?e.targetTouches[0]:e}function u(e){return!(!e.targetTouches||1!==e.targetTouches.length)||!(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE)}function p(e){if(u(e)){w=!0;var t=d(e);f.pageX=t.pageX,f.pageY=t.pageY,g=(new Date).getTime(),null!==_&&clearInterval(_),e.stopPropagation()}}function h(i){var n,a,r,s,l,c;!w&&t.settings.swipePropagation&&p(i),!v&&w&&u(i)&&(o(r=(a={pageX:(n=d(i)).pageX,pageY:n.pageY}).pageX-f.pageX,s=a.pageY-f.pageY),f=a,(c=(l=(new Date).getTime())-g)>0&&(b.x=r/c,b.y=s/c,g=l),function(i,n){var o=e.scrollTop,a=e.scrollLeft,r=Math.abs(i),s=Math.abs(n);if(s>r){if(n<0&&o===t.contentHeight-t.containerHeight||n>0&&0===o)return!t.settings.swipePropagation}else if(r>s&&(i<0&&a===t.contentWidth-t.containerWidth||i>0&&0===a))return!t.settings.swipePropagation;return!0}(r,s)&&(i.stopPropagation(),i.preventDefault()))}function m(){!v&&w&&(w=!1,clearInterval(_),_=setInterval((function(){a.get(e)&&(b.x||b.y)?Math.abs(b.x)<.01&&Math.abs(b.y)<.01?clearInterval(_):(o(30*b.x,30*b.y),b.x*=.8,b.y*=.8):clearInterval(_)}),10))}var f={},g=0,b={},_=null,v=!1,w=!1;i?(t.event.bind(window,"touchstart",l),t.event.bind(window,"touchend",c),t.event.bind(e,"touchstart",p),t.event.bind(e,"touchmove",h),t.event.bind(e,"touchend",m)):n&&(window.PointerEvent?(t.event.bind(window,"pointerdown",l),t.event.bind(window,"pointerup",c),t.event.bind(e,"pointerdown",p),t.event.bind(e,"pointermove",h),t.event.bind(e,"pointerup",m)):window.MSPointerEvent&&(t.event.bind(window,"MSPointerDown",l),t.event.bind(window,"MSPointerUp",c),t.event.bind(e,"MSPointerDown",p),t.event.bind(e,"MSPointerMove",h),t.event.bind(e,"MSPointerUp",m)))}var o=e("../../lib/helper"),a=e("../instances"),r=e("../update-geometry"),s=e("../update-scroll");t.exports=function(e){(o.env.supportsTouch||o.env.supportsIePointer)&&n(e,a.get(e),o.env.supportsTouch,o.env.supportsIePointer)}},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/class"),a=e("./instances"),r=e("./update-geometry"),s={"click-rail":e("./handler/click-rail"),"drag-scrollbar":e("./handler/drag-scrollbar"),keyboard:e("./handler/keyboard"),wheel:e("./handler/mouse-wheel"),touch:e("./handler/touch"),selection:e("./handler/selection")},l=e("./handler/native-scroll");t.exports=function(e,t){t="object"==typeof t?t:{},o.add(e,"ps-container");var i=a.add(e);i.settings=n.extend(i.settings,t),o.add(e,"ps-theme-"+i.settings.theme),i.settings.handlers.forEach((function(t){s[t](e)})),l(e),r(e)}},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(e,t,i){"use strict";function n(e){function t(){r.add(e,"ps-focus")}function i(){r.remove(e,"ps-focus")}var n,o,d=this;d.settings=a.clone(s),d.containerWidth=null,d.containerHeight=null,d.contentWidth=null,d.contentHeight=null,d.isRtl="rtl"===l.css(e,"direction"),d.isNegativeScroll=(n=e.scrollLeft,o=null,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=n,o),d.negativeScrollAdjustment=d.isNegativeScroll?e.scrollWidth-e.clientWidth:0,d.event=new c,d.ownerDocument=e.ownerDocument||document,d.scrollbarXRail=l.appendTo(l.e("div","ps-scrollbar-x-rail"),e),d.scrollbarX=l.appendTo(l.e("div","ps-scrollbar-x"),d.scrollbarXRail),d.scrollbarX.setAttribute("tabindex",0),d.event.bind(d.scrollbarX,"focus",t),d.event.bind(d.scrollbarX,"blur",i),d.scrollbarXActive=null,d.scrollbarXWidth=null,d.scrollbarXLeft=null,d.scrollbarXBottom=a.toInt(l.css(d.scrollbarXRail,"bottom")),d.isScrollbarXUsingBottom=d.scrollbarXBottom==d.scrollbarXBottom,d.scrollbarXTop=d.isScrollbarXUsingBottom?null:a.toInt(l.css(d.scrollbarXRail,"top")),d.railBorderXWidth=a.toInt(l.css(d.scrollbarXRail,"borderLeftWidth"))+a.toInt(l.css(d.scrollbarXRail,"borderRightWidth")),l.css(d.scrollbarXRail,"display","block"),d.railXMarginWidth=a.toInt(l.css(d.scrollbarXRail,"marginLeft"))+a.toInt(l.css(d.scrollbarXRail,"marginRight")),l.css(d.scrollbarXRail,"display",""),d.railXWidth=null,d.railXRatio=null,d.scrollbarYRail=l.appendTo(l.e("div","ps-scrollbar-y-rail"),e),d.scrollbarY=l.appendTo(l.e("div","ps-scrollbar-y"),d.scrollbarYRail),d.scrollbarY.setAttribute("tabindex",0),d.event.bind(d.scrollbarY,"focus",t),d.event.bind(d.scrollbarY,"blur",i),d.scrollbarYActive=null,d.scrollbarYHeight=null,d.scrollbarYTop=null,d.scrollbarYRight=a.toInt(l.css(d.scrollbarYRail,"right")),d.isScrollbarYUsingRight=d.scrollbarYRight==d.scrollbarYRight,d.scrollbarYLeft=d.isScrollbarYUsingRight?null:a.toInt(l.css(d.scrollbarYRail,"left")),d.scrollbarYOuterWidth=d.isRtl?a.outerWidth(d.scrollbarY):null,d.railBorderYWidth=a.toInt(l.css(d.scrollbarYRail,"borderTopWidth"))+a.toInt(l.css(d.scrollbarYRail,"borderBottomWidth")),l.css(d.scrollbarYRail,"display","block"),d.railYMarginHeight=a.toInt(l.css(d.scrollbarYRail,"marginTop"))+a.toInt(l.css(d.scrollbarYRail,"marginBottom")),l.css(d.scrollbarYRail,"display",""),d.railYHeight=null,d.railYRatio=null}function o(e){return e.getAttribute("data-ps-id")}var a=e("../lib/helper"),r=e("../lib/class"),s=e("./default-setting"),l=e("../lib/dom"),c=e("../lib/event-manager"),d=e("../lib/guid"),u={};i.add=function(e){var t=d();return function(e,t){e.setAttribute("data-ps-id",t)}(e,t),u[t]=new n(e),u[t]},i.remove=function(e){delete u[o(e)],function(e){e.removeAttribute("data-ps-id")}(e)},i.get=function(e){return u[o(e)]}},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(e,t,i){"use strict";function n(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}var o=e("../lib/helper"),a=e("../lib/class"),r=e("../lib/dom"),s=e("./instances"),l=e("./update-scroll");t.exports=function(e){var t,i=s.get(e);i.containerWidth=e.clientWidth,i.containerHeight=e.clientHeight,i.contentWidth=e.scrollWidth,i.contentHeight=e.scrollHeight,e.contains(i.scrollbarXRail)||((t=r.queryChildren(e,".ps-scrollbar-x-rail")).length>0&&t.forEach((function(e){r.remove(e)})),r.appendTo(i.scrollbarXRail,e)),e.contains(i.scrollbarYRail)||((t=r.queryChildren(e,".ps-scrollbar-y-rail")).length>0&&t.forEach((function(e){r.remove(e)})),r.appendTo(i.scrollbarYRail,e)),!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth),i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight),function(e,t){var i,n={width:t.railXWidth};t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-e.scrollTop:n.top=t.scrollbarXTop+e.scrollTop,r.css(t.scrollbarXRail,n),i={top:e.scrollTop,height:t.railYHeight},t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=t.scrollbarYLeft+e.scrollLeft,r.css(t.scrollbarYRail,i),r.css(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),r.css(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}(e,i),i.scrollbarXActive?a.add(e,"ps-active-x"):(a.remove(e,"ps-active-x"),i.scrollbarXWidth=0,i.scrollbarXLeft=0,l(e,"left",0)),i.scrollbarYActive?a.add(e,"ps-active-y"):(a.remove(e,"ps-active-y"),i.scrollbarYHeight=0,i.scrollbarYTop=0,l(e,"top",0))}},{"../lib/class":2,"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-scroll":20}],20:[function(e,t,i){"use strict";var n,o,a=e("./instances"),r=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!0),t};t.exports=function(e,t,i){if(void 0===e)throw"You must provide an element to the update-scroll function";if(void 0===t)throw"You must provide an axis to the update-scroll function";if(void 0===i)throw"You must provide a value to the update-scroll function";"top"===t&&i<=0&&(e.scrollTop=i=0,e.dispatchEvent(r("ps-y-reach-start"))),"left"===t&&i<=0&&(e.scrollLeft=i=0,e.dispatchEvent(r("ps-x-reach-start")));var s=a.get(e);"top"===t&&i>=s.contentHeight-s.containerHeight&&((i=s.contentHeight-s.containerHeight)-e.scrollTop<=1?i=e.scrollTop:e.scrollTop=i,e.dispatchEvent(r("ps-y-reach-end"))),"left"===t&&i>=s.contentWidth-s.containerWidth&&((i=s.contentWidth-s.containerWidth)-e.scrollLeft<=1?i=e.scrollLeft:e.scrollLeft=i,e.dispatchEvent(r("ps-x-reach-end"))),n||(n=e.scrollTop),o||(o=e.scrollLeft),"top"===t&&in&&e.dispatchEvent(r("ps-scroll-down")),"left"===t&&io&&e.dispatchEvent(r("ps-scroll-right")),"top"===t&&(e.scrollTop=n=i,e.dispatchEvent(r("ps-scroll-y"))),"left"===t&&(e.scrollLeft=o=i,e.dispatchEvent(r("ps-scroll-x")))}},{"./instances":18}],21:[function(e,t,i){"use strict";var n=e("../lib/helper"),o=e("../lib/dom"),a=e("./instances"),r=e("./update-geometry"),s=e("./update-scroll");t.exports=function(e){var t=a.get(e);t&&(t.negativeScrollAdjustment=t.isNegativeScroll?e.scrollWidth-e.clientWidth:0,o.css(t.scrollbarXRail,"display","block"),o.css(t.scrollbarYRail,"display","block"),t.railXMarginWidth=n.toInt(o.css(t.scrollbarXRail,"marginLeft"))+n.toInt(o.css(t.scrollbarXRail,"marginRight")),t.railYMarginHeight=n.toInt(o.css(t.scrollbarYRail,"marginTop"))+n.toInt(o.css(t.scrollbarYRail,"marginBottom")),o.css(t.scrollbarXRail,"display","none"),o.css(t.scrollbarYRail,"display","none"),r(e),s(e,"top",e.scrollTop),s(e,"left",e.scrollLeft),o.css(t.scrollbarXRail,"display",""),o.css(t.scrollbarYRail,"display",""))}},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]),define("WoltLabSuite/Core/Bootstrap",["require","exports","tslib","./Core","./Date/Picker","./Date/Time/Relative","./Devtools","./Dom/Change/Listener","./Environment","./Event/Handler","./Form/XsrfToken","./Language","./StringUtil","./Ui/Dialog","./Ui/Dropdown/Simple","./Ui/Mobile","./Ui/Page/Action","./Ui/TabMenu","./Ui/Tooltip","./Ui/Page/JumpTo","./Ui/Password","./Ui/Empty","./Ui/Object/Action","./Ui/Object/Action/Delete","./Ui/Object/Action/Toggle","./Ui/Search","perfect-scrollbar"],(function(e,t,i,n,o,a,r,s,l,c,d,u,p,h,m,f,g,b,_,v,w,y,E,S,L,C){"use strict";function x(){document.querySelectorAll("nav:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")})),document.querySelectorAll("article:not([aria-label]):not([aria-labelledby]):not([role])").forEach((e=>{e.setAttribute("role","presentation")}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importDefault(o),a=i.__importStar(a),r=i.__importDefault(r),s=i.__importDefault(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),p=i.__importStar(p),h=i.__importDefault(h),m=i.__importDefault(m),f=i.__importStar(f),g=i.__importStar(g),b=i.__importStar(b),_=i.__importStar(_),v=i.__importStar(v),w=i.__importStar(w),y=i.__importStar(y),E=i.__importStar(E),S=i.__importStar(S),L=i.__importStar(L),null==window.WCF&&(window.WCF={}),null==window.WCF.Language&&(window.WCF.Language={}),window.WCF.Language.get=u.get,window.WCF.Language.add=u.add,window.WCF.Language.addObject=u.addObject,window.__wcf_bc_eventHandler=c,t.setup=function(e){e=n.extend({enableMobileMenu:!0,pageMenuMainProvider:void 0},e),d.setup(),p.setupI18n({decimalPoint:u.get("wcf.global.decimalPoint"),thousandsSeparator:u.get("wcf.global.thousandsSeparator")}),window.ENABLE_DEVELOPER_TOOLS&&r.default._internal_.enable(),l.setup(),a.setup(),o.default.init(),m.default.setup(),f.setup(e.enableMobileMenu,e.pageMenuMainProvider),b.setup(),h.default.setup(),_.setup(),w.setup(),y.setup(),E.setup(),S.setup(),L.setup(),(0,C.init)(),document.querySelectorAll("form[method=get]").forEach((e=>{e.method="post"})),"microsoft"===l.browser()&&(window.onbeforeunload=()=>{});let t=0;t=window.setInterval((()=>{if("function"==typeof window.jQuery){window.clearInterval(t),window.jQuery((()=>{g.setup()}));const e=window.jQuery;e.browser=e.browser||{},e.browser.mobile="desktop"!==l.platform(),window.jQuery.holdReady(!1)}}),20),document.querySelectorAll(".pagination").forEach((e=>v.init(e))),x(),s.default.add("WoltLabSuite/Core/Bootstrap",(()=>x))}})),define("WoltLabSuite/Core/Controller/Popover",["require","exports","tslib","../Ajax","../Dom/Change/Listener","../Dom/Util","../Environment","../Ui/Alignment"],(function(e,t,i,n,o,a,r,s){"use strict";function l(){return d||(d=new c),d}Object.defineProperty(t,"__esModule",{value:!0}),t.ajaxApi=t.setContent=t.init=void 0,n=i.__importStar(n),o=i.__importDefault(o),a=i.__importDefault(a),r=i.__importStar(r),s=i.__importStar(s);class c{constructor(){this.activeId="",this.cache=new Map,this.elements=new Map,this.handlers=new Map,this.hoverId="",this.suspended=!1,this.timerEnter=void 0,this.timerLeave=void 0,this.popover=document.createElement("div"),this.popover.className="popover forceHide",this.popoverContent=document.createElement("div"),this.popoverContent.className="popoverContent",this.popover.appendChild(this.popoverContent);const e=document.createElement("span");e.className="elementPointer",e.appendChild(document.createElement("span")),this.popover.appendChild(e),document.body.appendChild(this.popover),this.popover.addEventListener("mouseenter",(()=>this.popoverMouseEnter())),this.popover.addEventListener("mouseleave",(()=>this.mouseLeave())),this.popover.addEventListener("animationend",(()=>this.clearContent())),window.addEventListener("beforeunload",(()=>{this.suspended=!0,this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0),this.hidePopover()})),o.default.add("WoltLabSuite/Core/Controller/Popover",(e=>this.initHandler(e)))}init(e){if("desktop"!==r.platform())return;if(e.attributeName=e.attributeName||"data-object-id",e.legacy=!0===e.legacy,this.handlers.has(e.identifier))return;const t=e.legacy?e.className:`.${e.className}`;this.handlers.set(e.identifier,{attributeName:e.attributeName,dboAction:e.dboAction,legacy:e.legacy,loadCallback:e.loadCallback,selector:t}),this.initHandler(e.identifier)}initHandler(e){"string"==typeof e&&e.length?this.initElements(this.handlers.get(e),e):this.handlers.forEach(((e,t)=>{this.initElements(e,t)}))}initElements(e,t){document.querySelectorAll(e.selector).forEach((i=>{const n=a.default.identify(i);if(this.cache.has(n))return;if(null!==i.closest(".popover"))return void this.cache.set(n,{content:null,state:0});const o=e.legacy?n:~~i.getAttribute(e.attributeName);if(0===o)return;i.addEventListener("mouseenter",(e=>this.mouseEnter(e))),i.addEventListener("mouseleave",(()=>this.mouseLeave())),i instanceof HTMLAnchorElement&&i.href&&i.addEventListener("click",(()=>this.hidePopover()));const r=`${t}-${o}`;i.dataset.cacheId=r,this.elements.set(n,{element:i,identifier:t,objectId:o.toString()}),this.cache.has(r)||this.cache.set(r,{content:null,state:0})}))}setContent(e,t,i){const n=`${e}-${t}`,o=this.cache.get(n);if(void 0===o)throw new Error(`Unable to find element for object id '${t}' (identifier: '${e}').`);let r=a.default.createFragmentFromHtml(i);if(r.childElementCount||(r=a.default.createFragmentFromHtml("

    "+i+"

    ")),o.content=r,o.state=2,this.activeId){this.elements.get(this.activeId).element.dataset.cacheId===n&&this.show()}}mouseEnter(e){if(this.suspended)return;this.timerEnter&&(window.clearTimeout(this.timerEnter),this.timerEnter=void 0);const t=a.default.identify(e.currentTarget);this.activeId===t&&this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.hoverId=t,this.timerEnter=window.setTimeout((()=>{this.timerEnter=void 0,this.hoverId===t&&this.show()}),800)}mouseLeave(){this.hoverId="",this.timerLeave||(this.timerLeave=window.setTimeout((()=>this.hidePopover()),500))}popoverMouseEnter(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0)}show(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0);let e=!1;this.popover.classList.contains("active")?this.activeId!==this.hoverId&&(this.hidePopover(),e=!0):this.popoverContent.childElementCount&&(e=!0),e&&(this.popover.classList.add("forceHide"),this.popover.offsetTop,this.clearContent(),this.popover.classList.remove("forceHide")),this.activeId=this.hoverId;const t=this.elements.get(this.activeId);if(void 0===t)return;const i=t.element.dataset.cacheId,n=this.cache.get(i);switch(n.state){case 2:this.popoverContent.appendChild(n.content),this.rebuild();break;case 0:{n.state=1;const e=this.handlers.get(t.identifier);if(e.loadCallback)e.loadCallback(t.objectId,this,t.element);else if(e.dboAction){const i=e=>(this.setContent(t.identifier,t.objectId,e.returnValues.template),!0);this.ajaxApi({actionName:"getPopover",className:e.dboAction,interfaceName:"wcf\\data\\IPopoverAction",objectIDs:[t.objectId]},i,i)}break}}}hidePopover(){this.timerLeave&&(window.clearTimeout(this.timerLeave),this.timerLeave=void 0),this.popover.classList.remove("active")}clearContent(){if(this.activeId&&this.popoverContent.childElementCount&&!this.popover.classList.contains("active")){const e=this.elements.get(this.activeId).element.dataset.cacheId,t=this.cache.get(e);for(;this.popoverContent.childNodes.length;)t.content.appendChild(this.popoverContent.childNodes[0])}}rebuild(){this.popover.classList.contains("active")||(this.popover.classList.remove("forceHide"),this.popover.classList.add("active"),s.set(this.popover,this.elements.get(this.activeId).element,{pointer:!0,vertical:"top"}))}_ajaxSuccess(){}_ajaxSetup(){return{silent:!0}}ajaxApi(e,t,i){if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'success'.");n.api(this,e,t,i)}}let d;t.init=function(e){l().init(e)},t.setContent=function(e,t,i){l().setContent(e,t,i)},t.ajaxApi=function(e,t,i){l().ajaxApi(e,t,i)}})),define("WoltLabSuite/Core/Ui/User/Ignore",["require","exports","tslib","../../Dom/Change/Listener"],(function(e,t,i,n){"use strict";function o(){for(let e=0,t=r.length;ec()))}function s(){f=!1}function l(e){g=Math.min(g+e,0),h.style.setProperty("margin-left",`${g}px`,"")}function c(){if(!f)return;b=[],_=[];const e=m.clientWidth,t=m.scrollWidth;!p&&t>e&&(u=document.createElement("a"),u.className="mainMenuShowNext",u.href="#",u.innerHTML='',u.setAttribute("aria-hidden","true"),u.addEventListener("click",(e=>{e.preventDefault(),function(){if(_.length){const e=_.slice(0,3).pop();l(m.clientWidth-(e.offsetLeft+e.clientWidth)),m.lastElementChild===e&&u.classList.remove("active"),p.classList.add("active")}}()})),m.insertAdjacentElement("beforebegin",u),p=document.createElement("a"),p.className="mainMenuShowPrevious",p.href="#",p.innerHTML='',p.setAttribute("aria-hidden","true"),p.addEventListener("click",(e=>{e.preventDefault(),function(){if(b.length){const e=b.slice(-3)[0];l(-1*e.offsetLeft),m.firstElementChild===e&&p.classList.remove("active"),u.classList.add("active")}}()})),m.insertAdjacentElement("afterend",p)),(t>e||g<0)&&Array.from(m.children).forEach((t=>{const i=t.offsetLeft;i<0?b.push(t):i+t.clientWidth>e&&_.push(t)})),null==p||p.classList[b.length?"add":"remove"]("active"),null==u||u.classList[_.length?"add":"remove"]("active")}function d(){h.addEventListener("transitionend",c),window.addEventListener("resize",(()=>{h.style.setProperty("margin-left","0px",""),g=0,c()})),r(),m.querySelectorAll(".boxMenuHasChildren").forEach((e=>{const t=e.querySelector(".boxMenuLink");t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded","false");const i=document.createElement("button");i.className="visuallyHidden",i.tabIndex=0,i.setAttribute("role","button"),i.setAttribute("aria-label",o.get("wcf.global.button.showMenu")),e.insertBefore(i,t.nextSibling);let n=!1;i.addEventListener("click",(()=>{n=!n,t.setAttribute("aria-expanded",n?"true":"false"),i.setAttribute("aria-label",o.get(n?"wcf.global.button.hideMenu":"wcf.global.button.showMenu"))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a);let u,p,h,m,f=!1,g=0,b=[],_=[];t.init=function(){const e=document.querySelector(".mainMenu .boxMenu"),t=e&&e.childElementCount?e.children[0]:null;if(null===t)throw new Error("Unable to find the main menu.");m=e,h=t,a.on("screen-lg",{match:r,unmatch:s,setup:d})}})),define("WoltLabSuite/Core/User",["require","exports"],(function(e,t){"use strict";class i{constructor(e,t,i){this.userId=e,this.username=t,this.link=i}}let n;return{getLink:()=>n.link,init(e,t,o){if(n)throw new Error("User has already been initialized.");n=new i(e,t,o)},get userId(){return n.userId},get username(){return n.username}}})),define("WoltLabSuite/Core/Ui/Message/UserConsent",["require","exports","tslib","../../Ajax","../../Core","../../Dom/Change/Listener","../../Dom/Util","../../User"],(function(e,t,i,n,o,a,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importDefault(r),s=i.__importDefault(s);class l{constructor(){this.enableAll=!1,this.knownButtons=new WeakSet,"all"===window.sessionStorage.getItem(`${o.getStoragePrefix()}user-consent`)&&(this.enableAll=!0),this.registerEventListeners(),a.default.add("WoltLabSuite/Core/Ui/Message/UserConsent",(()=>this.registerEventListeners()))}registerEventListeners(){this.enableAll?this.enableAllExternalMedia():document.querySelectorAll(".jsButtonMessageUserConsentEnable").forEach((e=>{this.knownButtons.has(e)||(this.knownButtons.add(e),e.addEventListener("click",(e=>this.click(e))))}))}click(e){e.preventDefault(),this.enableAll=!0,this.enableAllExternalMedia(),s.default.userId?n.apiOnce({data:{actionName:"saveUserConsent",className:"wcf\\data\\user\\UserAction"},silent:!0}):window.sessionStorage.setItem(`${o.getStoragePrefix()}user-consent`,"all")}enableExternalMedia(e){const t=atob(e.dataset.payload);r.default.insertHtml(t,e,"before"),e.remove()}enableAllExternalMedia(){document.querySelectorAll(".messageUserConsent").forEach((e=>this.enableExternalMedia(e)))}}let c;t.init=function(){c||(c=new l)}})),define("WoltLabSuite/Core/Clipboard",["require","exports"],(function(e,t){"use strict";async function i(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);throw new Error("navigator.clipboard is not supported.")}Object.defineProperty(t,"__esModule",{value:!0}),t.copyElementTextToClipboard=t.copyTextToClipboard=void 0,t.copyTextToClipboard=i,t.copyElementTextToClipboard=async function(e){return i(e.textContent.replace(/\u200B/g,"").replace(/\u00A0/g," "))}})),define("WoltLabSuite/Core/Ui/Notification",["require","exports","tslib","../Language"],(function(e,t,i,n){"use strict";function o(){clearTimeout(s),r.classList.remove("active"),null!==c&&c(),l=!1}Object.defineProperty(t,"__esModule",{value:!0}),t.show=void 0,n=i.__importStar(n);let a,r,s,l=!1,c=null,d=!1;t.show=function(e,t,i){l||(l=!0,d||(d=!0,r=document.createElement("div"),r.id="systemNotification",a=document.createElement("p"),a.addEventListener("click",o),r.appendChild(a),document.body.appendChild(r)),c="function"==typeof t?t:null,a.className=i||"success",a.textContent=n.get(e||"wcf.global.success"),r.classList.add("active"),s=setTimeout(o,2e3))}})),define("WoltLabSuite/Core/Ui/Message/Share",["require","exports","tslib","../../Event/Handler","../../StringUtil"],(function(e,t,i,n,o){"use strict";function a(e,t,i,n){n||(n=s),window.open(t.replace("{pageURL}",n).replace("{text}",r+(i?`%20${n}`:"")),e,"height=600,width=600")}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),o=i.__importStar(o);let r="",s="";t.init=function(){const e=document.querySelector('meta[property="og:title"]');null!==e&&(r=encodeURIComponent(e.content));const t=document.querySelector('meta[property="og:url"]');null!==t&&(s=encodeURIComponent(t.content)),document.querySelectorAll(".jsMessageShareButtons").forEach((e=>{e.classList.remove("jsMessageShareButtons");let t=encodeURIComponent(o.unescapeHTML(e.dataset.url||""));t||(t=s);const i={facebook:{link:e.querySelector(".jsShareFacebook"),share(e){e.preventDefault(),a("facebook","https://www.facebook.com/sharer.php?u={pageURL}&t={text}",!0,t)}},reddit:{link:e.querySelector(".jsShareReddit"),share(e){e.preventDefault(),a("reddit","https://ssl.reddit.com/submit?url={pageURL}",!1,t)}},twitter:{link:e.querySelector(".jsShareTwitter"),share(e){e.preventDefault(),a("twitter","https://twitter.com/share?url={pageURL}&text={text}",!1,t)}},linkedIn:{link:e.querySelector(".jsShareLinkedIn"),share(e){e.preventDefault(),a("linkedIn","https://www.linkedin.com/cws/share?url={pageURL}",!1,t)}},pinterest:{link:e.querySelector(".jsSharePinterest"),share(e){e.preventDefault(),a("pinterest","https://www.pinterest.com/pin/create/link/?url={pageURL}&description={text}",!1,t)}},xing:{link:e.querySelector(".jsShareXing"),share(e){e.preventDefault(),a("xing","https://www.xing.com/social_plugins/share?url={pageURL}",!1,t)}},whatsApp:{link:e.querySelector(".jsShareWhatsApp"),share(e){e.preventDefault(),window.location.href="https://api.whatsapp.com/send?text="+r+"%20"+s}}};n.fire("com.woltlab.wcf.message.share","shareProvider",{container:e,providers:i,pageDescription:r,pageUrl:s}),Object.values(i).forEach((e=>{if(null!==e.link){e.link.addEventListener("click",(t=>e.share(t)))}}))}))}})),define("WoltLabSuite/Core/Ui/Message/Share/Providers",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEnabledProviders=t.getProviders=t.enableShareProviders=t.addShareProvider=void 0;const i=new Set,n=new Map([["Facebook",{cssClass:"jsShareFacebook",iconClassName:"fa-facebook-official",label:"wcf.message.share.facebook"}],["Twitter",{cssClass:"jsShareTwitter",iconClassName:"fa-twitter",label:"wcf.message.share.twitter"}],["Reddit",{cssClass:"jsShareReddit",iconClassName:"fa-reddit",label:"wcf.message.share.reddit"}],["WhatsApp",{cssClass:"jsShareWhatsApp",iconClassName:"fa-whatsapp",label:"wcf.message.share.whatsApp"}],["LinkedIn",{cssClass:"jsShareLinkedIn",iconClassName:"fa-linkedin",label:"wcf.message.share.linkedIn"}],["Pinterest",{cssClass:"jsSharePinterest",iconClassName:"fa-pinterest-p",label:"wcf.message.share.pinterest"}],["XING",{cssClass:"jsShareXing",iconClassName:"fa-xing",label:"wcf.message.share.xing"}]]);t.addShareProvider=function(e,t){if(n.has(e))throw new Error(`A share provider with name "${e}" already exists.`);n.set(e,t)},t.enableShareProviders=function(e){e.forEach((e=>{n.has(e)&&i.add(n.get(e))}))},t.getProviders=function(){return n},t.getEnabledProviders=function(){return i}})),define("WoltLabSuite/Core/Ui/Message/Share/Dialog",["require","exports","tslib","../../Dialog","../../../Dom/Util","../../../Dom/Traverse","../../../Language","../../../Clipboard","../../Notification","../../../StringUtil","../../../Dom/Change/Listener","../Share","./Providers"],(function(e,t,i,n,o,a,r,s,l,c,d,u,p){"use strict";function h(e,t){return`\n
    \n
    ${r.get(e)}
    \n
    \n \n
    \n
    \n `}function m(e){e.preventDefault();const t=e.currentTarget,i=`shareContentDialog_${o.default.identify(t)}`;if(n.default.getDialog(i))n.default.openStatic(i,null);else{const e=function(){const e=Array.from(p.getEnabledProviders()).map((e=>{const t=r.get(e.label);return`\n
  • \n \n \n ${t}\n \n
  • \n `})).join("\n");return e?`
      ${e}
    `:""}();let o="";e&&(o=`\n
    \n
    ${r.get("wcf.message.share.socialMedia")}
    \n
    ${e}
    \n
    \n `);let d="";b&&(d=`\n
    \n
    \n
    \n \n
    \n
    \n `);const m=`\n
    \n ${function(e){const t=e.href;let i=h("wcf.message.share.permalink",t);return e.dataset.bbcode&&(i+=h("wcf.message.share.permalink.bbcode",e.dataset.bbcode)),t&&e.dataset.linkTitle&&(e.dataset.bbcode||(i+=h("wcf.message.share.permalink.bbcode",`[url='${t}']${e.dataset.linkTitle}[/url]`)),i+=h("wcf.message.share.permalink.html",`${c.escapeHTML(e.dataset.linkTitle)}`)),i}(t)}\n ${o}\n ${d}\n
    \n `,f=n.default.openStatic(i,m,{title:r.get("wcf.message.share")});f.content.style.maxWidth="600px",f.content.querySelectorAll(".shareDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i=a.prevBySel(t,'input[type="text"]');await s.copyTextToClipboard(i.value),l.show(r.get("wcf.message.share.copy.success"))}(e))))),b&&f.content.querySelector(".shareDialogNativeButton").addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget,i={url:t.dataset.url};t.dataset.title&&(i.title=t.dataset.title),await window.navigator.share(i)}(e))),e&&u.init()}}function f(){document.querySelectorAll("a.shareButton,a.wsShareButton").forEach((e=>{g.has(e)||(e.addEventListener("click",(e=>m(e))),g.add(e))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importDefault(o),a=i.__importStar(a),r=i.__importStar(r),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importDefault(d),u=i.__importStar(u),p=i.__importStar(p);const g=new WeakSet,b=void 0!==window.navigator.share;t.setup=function(){f(),d.default.add("WoltLabSuite/Core/Ui/Message/Share/Dialog",(()=>f()))}})),define("WoltLabSuite/Core/Ui/Feed/Dialog",["require","exports","tslib","../Dialog","../../StringUtil","../../Language","../../Clipboard","../Notification"],(function(e,t,i,n,o,a,r,s){"use strict";function l(e){e.preventDefault();const t=e.currentTarget,i=t.href,l=i.replace(/(\\?|&)at=[^&]*&?/,"$1").replace(/(\?|&)$/,"");n.default.openStatic("feedLinkDialog",`\n

    ${a.get("wcf.global.rss.accessToken.info")}

    \n
    \n
    ${a.get("wcf.global.rss.withoutAccessToken")}
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    ${a.get("wcf.global.rss.withAccessToken")}
    \n
    \n
    \n \n \n
    \n
    \n
    \n`,{onSetup(e){e.querySelectorAll(".feedLinkDialogCopyButton").forEach((e=>e.addEventListener("click",(e=>async function(e){e.preventDefault();const t=e.currentTarget.parentNode.querySelector('input[type="text"]');await r.copyTextToClipboard(t.value),s.show(a.get("wcf.global.rss.copy.success"))}(e)))))},title:t.title||a.get("wcf.global.button.rss")})}Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importDefault(n),o=i.__importStar(o),a=i.__importStar(a),r=i.__importStar(r),s=i.__importStar(s),t.setup=function(){document.querySelectorAll("a.rssFeed").forEach((e=>{e.addEventListener("click",(e=>l(e)))}))}})),define("WoltLabSuite/Core/Ui/Page/Menu/Main/Frontend",["require","exports"],(function(e,t){"use strict";function i(e,t){const n=e.querySelector(".boxMenuLink"),o=n.querySelector(".boxMenuLinkTitle").textContent;let a=0;const r=n.querySelector(".boxMenuLinkOutstandingItems");r&&(a=parseInt(r.textContent.replace(/[^0-9]/,""),10));const s=e.querySelector("ol");let l=[];if(s instanceof HTMLOListElement){let e=t;e<3&&(e=t+1),l=Array.from(s.children).map((t=>i(t,e)))}const c=n.getAttribute("href");let d;c&&"#"!==c&&(d=n.href);return{active:e.classList.contains("active"),children:l,counter:a,depth:t,link:d,title:o}}Object.defineProperty(t,"__esModule",{value:!0}),t.UiPageMenuMainFrontend=void 0;class n{getMenuItems(e){return Array.from(e.children).map((e=>i(e,0)))}}t.UiPageMenuMainFrontend=n,t.default=n})),define("WoltLabSuite/Core/BootstrapFrontend",["require","exports","tslib","./BackgroundQueue","./Bootstrap","./Controller/Popover","./Ui/User/Ignore","./Ui/Page/Header/Menu","./Ui/Message/UserConsent","./Ajax","./Ui/Message/Share/Dialog","./Ui/Message/Share/Providers","./Ui/Feed/Dialog","./User","./Ui/Page/Menu/Main/Frontend"],(function(e,t,i,n,o,a,r,s,l,c,d,u,p,h,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setup=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a),r=i.__importStar(r),s=i.__importStar(s),l=i.__importStar(l),c=i.__importStar(c),d=i.__importStar(d),u=i.__importStar(u),p=i.__importStar(p),h=i.__importDefault(h),m=i.__importDefault(m),t.setup=function(t){t.backgroundQueue.url=window.WSC_API_URL+t.backgroundQueue.url.substr(window.WCF_PATH.length),o.setup({enableMobileMenu:!0,pageMenuMainProvider:new m.default}),s.init(),t.styleChanger&&new Promise(((t,i)=>{e(["./Controller/Style/Changer"],t,i)})).then(i.__importStar).then((e=>{e.setup()})),t.enableUserPopover&&(a.init({className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user"}),a.init({attributeName:"data-user-id",className:"userLink",dboAction:"wcf\\data\\user\\UserProfileAction",identifier:"com.woltlab.wcf.user.deprecated"})),t.executeCronjobs&&c.apiOnce({data:{className:"wcf\\data\\cronjob\\CronjobAction",actionName:"executeCronjobs"},failure:()=>!1,silent:!0}),n.setUrl(t.backgroundQueue.url),(Math.random()<.1||t.backgroundQueue.force)&&n.invoke(),r.init(),l.init(),u.enableShareProviders(t.shareButtonProviders||[]),d.setup(),h.default.userId&&p.setup()}})),define("WoltLabSuite/Core/ColorUtil",["require","exports"],(function(e,t){"use strict";function i(e,t,i){const n={r:0,g:0,b:0},o=Math.floor(e/60),a=e/60-o,r=(i/=100)*(1-(t/=100)),s=i*(1-t*a),l=i*(1-t*(1-a));if(0==t)n.r=n.g=n.b=i;else switch(o){case 1:n.r=s,n.g=i,n.b=r;break;case 2:n.r=r,n.g=i,n.b=l;break;case 3:n.r=r,n.g=s,n.b=i;break;case 4:n.r=l,n.g=r,n.b=i;break;case 5:n.r=i,n.g=r,n.b=s;break;case 0:case 6:n.r=i,n.g=l,n.b=r}return{r:Math.round(255*n.r),g:Math.round(255*n.g),b:Math.round(255*n.b)}}function n(e,t,i){let n,o;e/=255,t/=255,i/=255;const a=Math.max(Math.max(e,t),i),r=Math.min(Math.min(e,t),i),s=a-r;if(n=0,a!==r){switch(a){case e:n=(t-i)/s*60;break;case t:n=60*(2+(i-e)/s);break;case i:n=60*(4+(e-t)/s)}n<0&&(n+=360)}return o=0===a?0:s/a,{h:Math.round(n),s:Math.round(100*o),v:Math.round(100*a)}}function o(e){if(/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)){const t=e.split("");return"#"===t[0]&&t.shift(),3===t.length?{r:parseInt(t[0]+""+t[0],16),g:parseInt(t[1]+""+t[1],16),b:parseInt(t[2]+""+t[2],16)}:{r:parseInt(t[0]+""+t[1],16),g:parseInt(t[2]+""+t[3],16),b:parseInt(t[4]+""+t[5],16)}}return Number.NaN}function a(e){if(e<0||e>255)throw new Error(`Invalid RGB component value '${e}' given.`);return e.toString(16).padStart(2,"0").toUpperCase()}function r(e,t,i){if(void 0===t){const n=/^rgba?\((\d+), ?(\d+), ?(\d+)(?:, ?[0-9.]+)?\)$/.exec(e.toString());if(!n)throw new Error("Invalid RGB data given.");e=+n[1],t=+n[2],i=+n[3]}return a(e)+a(t)+a(i)}function s(e){if(e<0||e>1)throw new Error(`Invalid alpha value '${e}' given.`);return Math.round(255*e).toString(16).padStart(2,"0").toUpperCase()}function l(e,t,i,n){if(void 0===t){const t=e;return r(t.r,t.g,t.b)+s(t.a)}return r(e,t,i)+s(n)}function c(e){return`rgba(${e.r}, ${e.g}, ${e.b}, ${e.a})`}function d(){let e=document.getElementById("jsColorUtilColorChecker");return null===e&&(e=document.createElement("span"),e.id="jsColorUtilColorChecker",document.body.appendChild(e)),e}function u(e){const t=d();return t.style.color="",t.style.color=e,""!==t.style.color}function p(e){if(!u(e))throw new Error(`Given string '${e}' is no valid color.`);const t=d();t.style.color=e;const i=window.getComputedStyle(t).color,n=/^rgb\((\d+), ?(\d+), ?(\d+)\)$/.exec(i);if(n)return{r:+n[1],g:+n[2],b:+n[3],a:1};{const e=/^rgba\((\d+), ?(\d+), ?(\d+), ?([0-9.]+)\)$/.exec(i);if(e)return{r:+e[1],g:+e[2],b:+e[3],a:+e[4]}}throw new Error(`Cannot process color '${e}'.`)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringToRgba=t.isValidColor=t.rgbaToString=t.rgbaToHex=t.rgbToHex=t.hexToRgb=t.rgbToHsv=t.hsvToRgb=void 0,t.hsvToRgb=i,t.rgbToHsv=n,t.hexToRgb=o,t.rgbToHex=r,t.rgbaToHex=l,t.rgbaToString=c,t.isValidColor=u,t.stringToRgba=p,window.__wcf_bc_colorUtil={hexToRgb:o,hsvToRgb:i,isValidColor:u,rgbaToHex:l,rgbaToString:c,rgbToHex:r,rgbToHsv:n,stringToRgba:p}})),define("WoltLabSuite/Core/Dictionary",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._dictionary=new Map}set(e,t){this._dictionary.set(e.toString(),t)}delete(e){return this._dictionary.delete(e.toString())}has(e){return this._dictionary.has(e.toString())}get(e){return this._dictionary.get(e.toString())}forEach(e){if("function"!=typeof e)throw new TypeError("forEach() expects a callback as first parameter.");this._dictionary.forEach(e)}merge(...e){for(let t=0,i=e.length;tthis.set(t,e)))}}toObject(){const e={};return this._dictionary.forEach(((t,i)=>e[i]=t)),e}static fromObject(e){const t=new o;return Object.keys(e).forEach((i=>{t.set(i,e[i])})),t}get size(){return this._dictionary.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/FileUtil",["require","exports","tslib","./StringUtil"],(function(e,t,i,n){"use strict";function o(e){return r.has(e)?"."+r.get(e):""}Object.defineProperty(t,"__esModule",{value:!0}),t.blobToFile=t.getExtensionByMimeType=t.getIconNameByFilename=t.formatFilesize=void 0,n=i.__importStar(n);const a=new Map(Object.entries({zip:"archive",rar:"archive",tar:"archive",gz:"archive",mp3:"audio",ogg:"audio",wav:"audio",php:"code",html:"code",htm:"code",tpl:"code",js:"code",xls:"excel",ods:"excel",xlsx:"excel",gif:"image",jpg:"image",jpeg:"image",png:"image",bmp:"image",webp:"image",avi:"video",wmv:"video",mov:"video",mp4:"video",mpg:"video",mpeg:"video",flv:"video",pdf:"pdf",ppt:"powerpoint",pptx:"powerpoint",txt:"text",doc:"word",docx:"word",odt:"word"})),r=new Map(Object.entries({"application/zip":"zip","application/x-zip-compressed":"zip","application/rar":"rar","application/vnd.rar":"rar","application/x-rar-compressed":"rar","application/x-tar":"tar","application/x-gzip":"gz","application/gzip":"gz","audio/mpeg":"mp3","audio/mp3":"mp3","audio/ogg":"ogg","audio/x-wav":"wav","application/x-php":"php","text/html":"html","application/javascript":"js","application/vnd.ms-excel":"xls","application/vnd.oasis.opendocument.spreadsheet":"ods","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","image/gif":"gif","image/jpeg":"jpg","image/png":"png","image/x-ms-bmp":"bmp","image/bmp":"bmp","image/webp":"webp","video/x-msvideo":"avi","video/x-ms-wmv":"wmv","video/quicktime":"mov","video/mp4":"mp4","video/mpeg":"mpg","video/x-flv":"flv","application/pdf":"pdf","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","text/plain":"txt","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.oasis.opendocument.text":"odt","public.jpeg":"jpeg","public.png":"png","com.compuserve.gif":"gif","org.webmproject.webp":"webp"}));t.formatFilesize=function(e,t=2){let i="Byte";return e>=1e3&&(e/=1e3,i="kB"),e>=1e3&&(e/=1e3,i="MB"),e>=1e3&&(e/=1e3,i="GB"),e>=1e3&&(e/=1e3,i="TB"),n.formatNumeric(e,-t)+" "+i},t.getIconNameByFilename=function(e){const t=e.lastIndexOf(".");if(-1!==t){const i=e.substr(t+1);if(a.has(i))return a.get(i)}return""},t.getExtensionByMimeType=o,t.blobToFile=function(e,t){const i=o(e.type);return new File([e],t+i,{type:e.type})}})),define("WoltLabSuite/Core/List",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._set=new Set}add(e){this._set.add(e)}clear(){this._set.clear()}delete(e){return this._set.delete(e)}forEach(e){this._set.forEach(e)}has(e){return this._set.has(e)}get size(){return this._set.size}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/ObjectMap",["require","exports","tslib","./Core"],(function(e,t,i,n){"use strict";n=i.__importStar(n);class o{constructor(){this._map=new WeakMap}set(e,t){if("object"!=typeof e||null===e)throw new TypeError("Only objects can be used as key");if("object"!=typeof t||null===t)throw new TypeError("Only objects can be used as value");this._map.set(e,t)}delete(e){this._map.delete(e)}has(e){return this._map.has(e)}get(e){return this._map.get(e)}}return n.enableLegacyInheritance(o),o})),define("WoltLabSuite/Core/Permission",["require","exports"],(function(e,t){"use strict";function i(e,t){if("boolean"!=typeof t)throw new TypeError("The permission value has to be boolean.");n.set(e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.get=t.addObject=t.add=void 0;const n=new Map;t.add=i,t.addObject=function(e){Object.keys(e).forEach((t=>i(t,e[t])))},t.get=function(e){return!!n.has(e)&&n.get(e)}})),_self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){function t(e,t,i,n){this.type=e,this.content=t,this.alias=i,this.length=0|(n||"").length}function i(e,n,r,s,l,c){var d,p,h,m,f,g,b,_,v,w,y,E,S,L,C,x,k,I,T,M,D,A,j,P,N;for(d in r)if(r.hasOwnProperty(d)&&r[d])for(p=r[d],p=Array.isArray(p)?p:[p],h=0;h=c.reach);S+=E.value.length,E=E.next){if(L=E.value,n.length>e.length)return;if(!(L instanceof t)){if(C=1,b&&E!=n.tail.prev){if(y.lastIndex=S,!(x=y.exec(e)))break;for(k=x.index+(g&&x[1]?x[1].length:0),I=x.index+x[0].length,T=S,T+=E.value.length;k>=T;)T+=(E=E.next).value.length;if(S=T-=E.value.length,E.value instanceof t)continue;for(M=E;M!==n.tail&&(Tc.reach&&(c.reach=P),N=E.prev,A&&(N=o(n,N,A),S+=A.length),a(n,N,C),E=o(n,N,new t(d,f?u.tokenize(D,f):D,v,D)),j&&o(n,E,j),C>1&&i(e,n,r,E.prev,S,{cause:d+","+h,reach:P}))}}}}function n(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function o(e,t,i){var n=t.next,o={value:i,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function a(e,t,i){var n,o=t.next;for(n=0;n"+o.content+""},e.document?((s=u.util.currentScript())&&(u.filename=s.src,s.hasAttribute("data-manual")&&(u.manual=!0)),u.manual||("loading"===(l=document.readyState)||"interactive"===l&&s&&s.defer?document.addEventListener("DOMContentLoaded",r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)),u):e.addEventListener?(u.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var i=JSON.parse(t.data),n=i.language,o=i.code,a=i.immediateClose;e.postMessage(u.highlight(o,u.languages[n],n)),a&&e.close()}),!1),u):u}(_self),"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism),define("prism/prism",(function(){})),window.Prism=window.Prism||{},window.Prism.manual=!0,define("WoltLabSuite/Core/Prism",["prism/prism"],(function(){return Prism.wscSplitIntoLines=function(e){function t(){var e=elCreate("span");return elData(e,"number",o++),n.appendChild(e),e}for(var i,n=document.createDocumentFragment(),o=1,a=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,(function(){return NodeFilter.FILTER_ACCEPT}),!1),r=t();i=a.nextNode();)i.data.split(/\r?\n/).forEach((function(n,o){var a,s,l;for(o>=1&&(r.appendChild(document.createTextNode("\n")),r=t()),a=document.createTextNode(n),s=i.parentNode;s!==e;)(l=s.cloneNode(!1)).appendChild(a),a=l,s=s.parentNode;r.appendChild(a)}));return n},Prism})),define("WoltLabSuite/Core/Upload",["require","exports","tslib","./Ajax/Request","./Core","./Dom/Change/Listener","./Language"],(function(e,t,i,n,o,a,r){"use strict";n=i.__importDefault(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importStar(r);class s{constructor(e,t,i){if(this._button=document.createElement("p"),this._fileElements=[],this._fileUpload=document.createElement("input"),this._internalFileId=0,this._multiFileUploadIds=[],!(i=i||{}).className)throw new Error("Missing class name.");this._options=o.extend({action:"upload",multiple:!1,acceptableFiles:null,name:"__files[]",singleFileRequests:!1,url:`index.php?ajax-upload/&t=${o.getXsrfToken()}`},i),this._options.url=o.convertLegacyUrl(this._options.url),0===this._options.url.indexOf("index.php")&&(this._options.url=window.WSC_API_URL+this._options.url);const n=document.getElementById(e);if(null===n)throw new Error(`Element id '${e}' is unknown.`);this._buttonContainer=n;const a=document.getElementById(t);if(null===a)throw new Error(`Element id '${t}' is unknown.`);if(this._target=a,i.multiple&&"UL"!==this._target.nodeName&&"OL"!==this._target.nodeName&&"TBODY"!==this._target.nodeName)throw new Error("Target element has to be list or table body if uploading multiple files is supported.");this._createButton()}_createButton(){this._fileUpload=document.createElement("input"),this._fileUpload.type="file",this._fileUpload.name=this._options.name,this._options.multiple&&(this._fileUpload.multiple=!0),null!==this._options.acceptableFiles&&(this._fileUpload.accept=this._options.acceptableFiles.join(",")),this._fileUpload.addEventListener("change",(e=>this._upload(e))),this._button=document.createElement("p"),this._button.className="button uploadButton",this._button.setAttribute("role","button"),this._fileUpload.addEventListener("focus",(()=>{this._fileUpload.classList.contains("focus-visible")&&this._button.classList.add("active")})),this._fileUpload.addEventListener("blur",(()=>{this._button.classList.remove("active")}));const e=document.createElement("span");e.textContent=r.get("wcf.global.button.upload"),this._button.appendChild(e),this._button.insertAdjacentElement("afterbegin",this._fileUpload),this._insertButton(),a.default.trigger()}_createFileElement(e){const t=document.createElement("progress");let i;switch(t.max=100,this._target.nodeName){case"OL":case"UL":return i=document.createElement("li"),i.innerText=e.name,i.appendChild(t),this._target.appendChild(i),i;case"TBODY":return this._createFileTableRow(e);default:return i=document.createElement("p"),i.appendChild(t),this._target.appendChild(i),i}}_createFileElements(e){if(!e.length)return null;const t=[];Array.from(e).forEach((e=>{const i=this._createFileElement(e);i.classList.contains("uploadFailed")||(i.dataset.filename=e.name,i.dataset.internalFileId=(this._internalFileId++).toString(),t.push(i))}));const i=this._fileElements.length;return this._fileElements.push(t),a.default.trigger(),i}_createFileTableRow(e){throw new Error("Has to be implemented in subclass.")}_failure(e,t,i,n,o){return!0}_getParameters(){return{}}_getFormData(){return{}}_insertButton(){this._buttonContainer.insertAdjacentElement("afterbegin",this._button)}_progress(e,t){const i=Math.round(t.loaded/t.total*100);this._fileElements[e].forEach((e=>{const t=e.querySelector("progress");t&&(t.value=i)}))}_removeButton(){this._button.remove(),a.default.trigger()}_success(e,t,i,n,o){}_upload(e,t,i){this._target.querySelectorAll(".uploadFailed").forEach((e=>e.remove()));let n=null,o=[];if(t)o.push(t);else if(i){let e="";switch(i.type){case"image/jpeg":e="jpg";break;case"image/gif":e="gif";break;case"image/png":e="png";break;case"image/webp":e="webp"}o.push({name:`pasted-from-clipboard.${e}`})}else o=Array.from(this._fileUpload.files);return o.length&&this.validateUpload(o)&&(this._options.singleFileRequests?(n=[],o.forEach((e=>{const t=this._uploadFiles([e],i);1!==o.length&&this._multiFileUploadIds.push(t),n.push(t)}))):n=this._uploadFiles(o,i)),this._removeButton(),this._createButton(),n}validateUpload(e){return!0}_uploadFiles(e,t){function i(e,t){null!==e&&(t=t||"",Object.entries(e).forEach((([e,n])=>{if("object"==typeof n){i(n,0===t.length?e:`${t}[${e}]`)}else{const i=0===t.length?e:`${t}[${e}]`;a.append(i,n)}})))}const o=this._createFileElements(e);if(!this._fileElements[o].length)return null;const a=new FormData;for(let i=0,n=e.length;ie.find((e=>null!==e.querySelector("progress")))))}uploadBlob(e){return this._upload(null,null,e)}uploadFile(e){return this._upload(null,e)}}return o.enableLegacyInheritance(s),s})),define("WoltLabSuite/Core/prism-meta",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={markup:{title:"Markup",file:"markup"},html:{title:"HTML",file:"markup"},xml:{title:"XML",file:"markup"},svg:{title:"SVG",file:"markup"},mathml:{title:"MathML",file:"markup"},ssml:{title:"SSML",file:"markup"},atom:{title:"Atom",file:"markup"},rss:{title:"RSS",file:"markup"},css:{title:"CSS",file:"css"},clike:{title:"C-like",file:"clike"},javascript:{title:"JavaScript",file:"javascript"},abap:{title:"ABAP",file:"abap"},abnf:{title:"ABNF",file:"abnf"},actionscript:{title:"ActionScript",file:"actionscript"},ada:{title:"Ada",file:"ada"},agda:{title:"Agda",file:"agda"},al:{title:"AL",file:"al"},antlr4:{title:"ANTLR4",file:"antlr4"},apacheconf:{title:"Apache Configuration",file:"apacheconf"},apl:{title:"APL",file:"apl"},applescript:{title:"AppleScript",file:"applescript"},aql:{title:"AQL",file:"aql"},arduino:{title:"Arduino",file:"arduino"},arff:{title:"ARFF",file:"arff"},asciidoc:{title:"AsciiDoc",file:"asciidoc"},aspnet:{title:"ASP.NET (C#)",file:"aspnet"},asm6502:{title:"6502 Assembly",file:"asm6502"},autohotkey:{title:"AutoHotkey",file:"autohotkey"},autoit:{title:"AutoIt",file:"autoit"},bash:{title:"Bash",file:"bash"},basic:{title:"BASIC",file:"basic"},batch:{title:"Batch",file:"batch"},bbcode:{title:"BBcode",file:"bbcode"},bison:{title:"Bison",file:"bison"},bnf:{title:"BNF",file:"bnf"},brainfuck:{title:"Brainfuck",file:"brainfuck"},brightscript:{title:"BrightScript",file:"brightscript"},bro:{title:"Bro",file:"bro"},c:{title:"C",file:"c"},csharp:{title:"C#",file:"csharp"},cpp:{title:"C++",file:"cpp"},cil:{title:"CIL",file:"cil"},clojure:{title:"Clojure",file:"clojure"},cmake:{title:"CMake",file:"cmake"},coffeescript:{title:"CoffeeScript",file:"coffeescript"},concurnas:{title:"Concurnas",file:"concurnas"},csp:{title:"Content-Security-Policy",file:"csp"},crystal:{title:"Crystal",file:"crystal"},"css-extras":{title:"CSS Extras",file:"css-extras"},cypher:{title:"Cypher",file:"cypher"},d:{title:"D",file:"d"},dart:{title:"Dart",file:"dart"},dax:{title:"DAX",file:"dax"},dhall:{title:"Dhall",file:"dhall"},diff:{title:"Diff",file:"diff"},django:{title:"Django/Jinja2",file:"django"},"dns-zone-file":{title:"DNS zone file",file:"dns-zone-file"},docker:{title:"Docker",file:"docker"},ebnf:{title:"EBNF",file:"ebnf"},editorconfig:{title:"EditorConfig",file:"editorconfig"},eiffel:{title:"Eiffel",file:"eiffel"},ejs:{title:"EJS",file:"ejs"},elixir:{title:"Elixir",file:"elixir"},elm:{title:"Elm",file:"elm"},etlua:{title:"Embedded Lua templating",file:"etlua"},erb:{title:"ERB",file:"erb"},erlang:{title:"Erlang",file:"erlang"},"excel-formula":{title:"Excel Formula",file:"excel-formula"},fsharp:{title:"F#",file:"fsharp"},factor:{title:"Factor",file:"factor"},"firestore-security-rules":{title:"Firestore security rules",file:"firestore-security-rules"},flow:{title:"Flow",file:"flow"},fortran:{title:"Fortran",file:"fortran"},ftl:{title:"FreeMarker Template Language",file:"ftl"},gml:{title:"GameMaker Language",file:"gml"},gcode:{title:"G-code",file:"gcode"},gdscript:{title:"GDScript",file:"gdscript"},gedcom:{title:"GEDCOM",file:"gedcom"},gherkin:{title:"Gherkin",file:"gherkin"},git:{title:"Git",file:"git"},glsl:{title:"GLSL",file:"glsl"},go:{title:"Go",file:"go"},graphql:{title:"GraphQL",file:"graphql"},groovy:{title:"Groovy",file:"groovy"},haml:{title:"Haml",file:"haml"},handlebars:{title:"Handlebars",file:"handlebars"},haskell:{title:"Haskell",file:"haskell"},haxe:{title:"Haxe",file:"haxe"},hcl:{title:"HCL",file:"hcl"},hlsl:{title:"HLSL",file:"hlsl"},http:{title:"HTTP",file:"http"},hpkp:{title:"HTTP Public-Key-Pins",file:"hpkp"},hsts:{title:"HTTP Strict-Transport-Security",file:"hsts"},ichigojam:{title:"IchigoJam",file:"ichigojam"},icon:{title:"Icon",file:"icon"},ignore:{title:".ignore",file:"ignore"},gitignore:{title:".gitignore",file:"ignore"},hgignore:{title:".hgignore",file:"ignore"},npmignore:{title:".npmignore",file:"ignore"},inform7:{title:"Inform 7",file:"inform7"},ini:{title:"Ini",file:"ini"},io:{title:"Io",file:"io"},j:{title:"J",file:"j"},java:{title:"Java",file:"java"},javadoc:{title:"JavaDoc",file:"javadoc"},javadoclike:{title:"JavaDoc-like",file:"javadoclike"},javastacktrace:{title:"Java stack trace",file:"javastacktrace"},jolie:{title:"Jolie",file:"jolie"},jq:{title:"JQ",file:"jq"},jsdoc:{title:"JSDoc",file:"jsdoc"},"js-extras":{title:"JS Extras",file:"js-extras"},json:{title:"JSON",file:"json"},json5:{title:"JSON5",file:"json5"},jsonp:{title:"JSONP",file:"jsonp"},jsstacktrace:{title:"JS stack trace",file:"jsstacktrace"},"js-templates":{title:"JS Templates",file:"js-templates"},julia:{title:"Julia",file:"julia"},keyman:{title:"Keyman",file:"keyman"},kotlin:{title:"Kotlin",file:"kotlin"},kts:{title:"Kotlin Script",file:"kotlin"},latex:{title:"LaTeX",file:"latex"},tex:{title:"TeX",file:"latex"},context:{title:"ConTeXt",file:"latex"},latte:{title:"Latte",file:"latte"},less:{title:"Less",file:"less"},lilypond:{title:"LilyPond",file:"lilypond"},liquid:{title:"Liquid",file:"liquid"},lisp:{title:"Lisp",file:"lisp"},livescript:{title:"LiveScript",file:"livescript"},llvm:{title:"LLVM IR",file:"llvm"},lolcode:{title:"LOLCODE",file:"lolcode"},lua:{title:"Lua",file:"lua"},makefile:{title:"Makefile",file:"makefile"},markdown:{title:"Markdown",file:"markdown"},"markup-templating":{title:"Markup templating",file:"markup-templating"},matlab:{title:"MATLAB",file:"matlab"},mel:{title:"MEL",file:"mel"},mizar:{title:"Mizar",file:"mizar"},monkey:{title:"Monkey",file:"monkey"},moonscript:{title:"MoonScript",file:"moonscript"},n1ql:{title:"N1QL",file:"n1ql"},n4js:{title:"N4JS",file:"n4js"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",file:"nand2tetris-hdl"},nasm:{title:"NASM",file:"nasm"},neon:{title:"NEON",file:"neon"},nginx:{title:"nginx",file:"nginx"},nim:{title:"Nim",file:"nim"},nix:{title:"Nix",file:"nix"},nsis:{title:"NSIS",file:"nsis"},objectivec:{title:"Objective-C",file:"objectivec"},ocaml:{title:"OCaml",file:"ocaml"},opencl:{title:"OpenCL",file:"opencl"},oz:{title:"Oz",file:"oz"},parigp:{title:"PARI/GP",file:"parigp"},parser:{title:"Parser",file:"parser"},pascal:{title:"Pascal",file:"pascal"},pascaligo:{title:"Pascaligo",file:"pascaligo"},pcaxis:{title:"PC-Axis",file:"pcaxis"},peoplecode:{title:"PeopleCode",file:"peoplecode"},perl:{title:"Perl",file:"perl"},php:{title:"PHP",file:"php"},phpdoc:{title:"PHPDoc",file:"phpdoc"},"php-extras":{title:"PHP Extras",file:"php-extras"},plsql:{title:"PL/SQL",file:"plsql"},powerquery:{title:"PowerQuery",file:"powerquery"},powershell:{title:"PowerShell",file:"powershell"},processing:{title:"Processing",file:"processing"},prolog:{title:"Prolog",file:"prolog"},properties:{title:".properties",file:"properties"},protobuf:{title:"Protocol Buffers",file:"protobuf"},pug:{title:"Pug",file:"pug"},puppet:{title:"Puppet",file:"puppet"},pure:{title:"Pure",file:"pure"},purebasic:{title:"PureBasic",file:"purebasic"},python:{title:"Python",file:"python"},q:{title:"Q (kdb+ database)",file:"q"},qml:{title:"QML",file:"qml"},qore:{title:"Qore",file:"qore"},r:{title:"R",file:"r"},racket:{title:"Racket",file:"racket"},jsx:{title:"React JSX",file:"jsx"},tsx:{title:"React TSX",file:"tsx"},reason:{title:"Reason",file:"reason"},regex:{title:"Regex",file:"regex"},renpy:{title:"Ren'py",file:"renpy"},rest:{title:"reST (reStructuredText)",file:"rest"},rip:{title:"Rip",file:"rip"},roboconf:{title:"Roboconf",file:"roboconf"},robotframework:{title:"Robot Framework",file:"robotframework"},ruby:{title:"Ruby",file:"ruby"},rust:{title:"Rust",file:"rust"},sas:{title:"SAS",file:"sas"},sass:{title:"Sass (Sass)",file:"sass"},scss:{title:"Sass (Scss)",file:"scss"},scala:{title:"Scala",file:"scala"},scheme:{title:"Scheme",file:"scheme"},"shell-session":{title:"Shell session",file:"shell-session"},smali:{title:"Smali",file:"smali"},smalltalk:{title:"Smalltalk",file:"smalltalk"},smarty:{title:"Smarty",file:"smarty"},solidity:{title:"Solidity (Ethereum)",file:"solidity"},"solution-file":{title:"Solution file",file:"solution-file"},soy:{title:"Soy (Closure Template)",file:"soy"},sparql:{title:"SPARQL",file:"sparql"},"splunk-spl":{title:"Splunk SPL",file:"splunk-spl"},sqf:{title:"SQF: Status Quo Function (Arma 3)",file:"sqf"},sql:{title:"SQL",file:"sql"},iecst:{title:"Structured Text (IEC 61131-3)",file:"iecst"},stylus:{title:"Stylus",file:"stylus"},swift:{title:"Swift",file:"swift"},"t4-templating":{title:"T4 templating",file:"t4-templating"},"t4-cs":{title:"T4 Text Templates (C#)",file:"t4-cs"},"t4-vb":{title:"T4 Text Templates (VB)",file:"t4-vb"},tap:{title:"TAP",file:"tap"},tcl:{title:"Tcl",file:"tcl"},tt2:{title:"Template Toolkit 2",file:"tt2"},textile:{title:"Textile",file:"textile"},toml:{title:"TOML",file:"toml"},turtle:{title:"Turtle",file:"turtle"},twig:{title:"Twig",file:"twig"},typescript:{title:"TypeScript",file:"typescript"},unrealscript:{title:"UnrealScript",file:"unrealscript"},vala:{title:"Vala",file:"vala"},vbnet:{title:"VB.Net",file:"vbnet"},velocity:{title:"Velocity",file:"velocity"},verilog:{title:"Verilog",file:"verilog"},vhdl:{title:"VHDL",file:"vhdl"},vim:{title:"vim",file:"vim"},"visual-basic":{title:"Visual Basic",file:"visual-basic"},vba:{title:"VBA",file:"visual-basic"},warpscript:{title:"WarpScript",file:"warpscript"},wasm:{title:"WebAssembly",file:"wasm"},wiki:{title:"Wiki markup",file:"wiki"},xeora:{title:"Xeora",file:"xeora"},"xml-doc":{title:"XML doc (.net)",file:"xml-doc"},xojo:{title:"Xojo (REALbasic)",file:"xojo"},xquery:{title:"XQuery",file:"xquery"},yaml:{title:"YAML",file:"yaml"},yang:{title:"YANG",file:"yang"},zig:{title:"Zig",file:"zig"}}})),define("WoltLabSuite/Core/Prism/Helper",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.splitIntoLines=void 0,t.splitIntoLines=function*(e){const t=document.createNodeIterator(e,NodeFilter.SHOW_TEXT,{acceptNode:()=>NodeFilter.FILTER_ACCEPT});let i,n=document.createElement("span");for(;i=t.nextNode();){const t=i,o=t.data.split(/\r?\n/);for(let i=0,a=o.length;i=1&&(n.appendChild(document.createTextNode("\n")),yield n,n=document.createElement("span"));let r=document.createTextNode(a),s=t.parentNode;for(;s&&s!==e;){const e=s.cloneNode(!1);e.appendChild(r),r=e,s=s.parentNode}n.appendChild(r)}}yield n}})),define("WoltLabSuite/Core/Bbcode/Code",["require","exports","tslib","../Language","../Clipboard","../Ui/Notification","../Prism","../Prism/Helper"],(function(e,t,i,n,o,a,r,s){"use strict";async function l(){return new Promise(((e,t)=>{window.requestIdleCallback?window.requestIdleCallback(e,{timeout:5e3}):setTimeout(e,0)}))}n=i.__importStar(n),o=i.__importStar(o),a=i.__importStar(a),r=i.__importDefault(r),s=i.__importStar(s);class c{constructor(e){var t;this.container=e,this.codeContainer=this.container.querySelector(".codeBoxCode > code"),this.language=null===(t=Array.from(this.codeContainer.classList).find((e=>/^language-([a-z0-9_-]+)$/.test(e))))||void 0===t?void 0:t.replace(/^language-/,"")}static processAll(){document.querySelectorAll(".codeBox:not([data-processed])").forEach((e=>{e.dataset.processed="1";const t=new c(e);t.language&&t.highlight(),t.createCopyButton()}))}createCopyButton(){const e=this.container.querySelector(".codeBoxHeader");if(!e)return;const t=document.createElement("span");t.tabIndex=0,t.setAttribute("role","button"),t.className="icon icon24 fa-files-o pointer jsTooltip",t.setAttribute("title",n.get("wcf.message.bbcode.code.copy"));const i=async()=>{await o.copyElementTextToClipboard(this.codeContainer),a.show(n.get("wcf.message.bbcode.code.copy.success"))};t.addEventListener("click",i),t.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),i())})),e.appendChild(t)}async highlight(){if(!this.language)throw new Error("No language detected");const t=(await new Promise(((t,i)=>{e(["../prism-meta"],t,i)})).then(i.__importStar)).default;if(!t[this.language])throw new Error(`Unknown language '${this.language}'`);this.container.classList.add("highlighting"),await new Promise(((i,n)=>{e(["prism/components/prism-"+t[this.language].file],i,n)})).then(i.__importStar),await l();const n=r.default.languages[this.language];if(!n)throw new Error(`Invalid language '${this.language}' given.`);const o=document.createElement("div");o.innerHTML=r.default.highlight(this.codeContainer.textContent,n,this.language),await l();const a=this.codeContainer.querySelectorAll(".codeBoxLine > span"),d=s.splitIntoLines(o);for(let e=0,t=a.length;e{const t=e.dataset.titleExpand;e.classList.contains("icon")?(e.classList.remove("fa-compress"),e.classList.add("fa-expand"),e.title=t):e.textContent=t})),i instanceof Event){const t=e.getBoundingClientRect().top;if(t<0){let e=window.pageYOffset+(t-100);e<0&&(e=0),window.scrollTo(window.pageXOffset,e)}}}else t.forEach((e=>{const t=e.dataset.titleCollapse;e.classList.contains("icon")?(e.classList.add("fa-compress"),e.classList.remove("fa-expand"),e.title=t):e.textContent=t}))}Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,t.observe=function(){document.querySelectorAll(".jsCollapsibleBbcode").forEach((e=>{const t=Array.from(e.querySelectorAll(".toggleButton:not(.jsToggleButtonEnabled)")).filter((t=>t.closest(".jsCollapsibleBbcode")===e)),n=e.querySelector(".collapsibleBbcodeOverflow")||e;t.length>0&&function(e,t,n){t.forEach((n=>{n.classList.add("jsToggleButtonEnabled"),n.addEventListener("click",(n=>i(e,t,n))),n.addEventListener("keydown",(n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),i(e,t))}))})),0!==n.scrollTop&&(n.scrollTop=0,i(e,t)),n.addEventListener("scroll",(()=>{n.scrollTop=0,e.classList.contains("collapsed")&&i(e,t)}))}(e,t,n),e.classList.remove("jsCollapsibleBbcode")}))}})),define("WoltLabSuite/Core/Bbcode/Spoiler",["require","exports","tslib","../Core","../Language","../Dom/Util"],(function(e,t,i,n,o,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.observe=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),t.observe=function(){const e="jsSpoilerBox";document.querySelectorAll(".jsSpoilerBox").forEach((t=>{t.classList.remove(e);const i=t.querySelector(".jsSpoilerToggle"),r=t.querySelector(".spoilerBoxContent");i.addEventListener("click",(e=>function(e,t,i){e.preventDefault(),i.classList.toggle("active");const r=i.classList.contains("active");r?a.default.show(t):a.default.hide(t),i.setAttribute("aria-expanded",r?"true":"false"),t.setAttribute("aria-hidden",r?"false":"true"),n.stringToBool(i.dataset.hasCustomLabel||"")||(i.textContent=o.get(i.classList.contains("active")?"wcf.bbcode.spoiler.hide":"wcf.bbcode.spoiler.show"))}(e,r,i)))}))}})),define("WoltLabSuite/Core/Controller/Captcha",["require","exports"],(function(e,t){"use strict";const i=new Map;return{add(e,t){if(i.has(e))throw new Error(`Captcha with id '${e}' is already registered.`);if("function"!=typeof t)throw new TypeError("Expected a valid callback for parameter 'callback'.");i.set(e,t)},delete(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);i.delete(e)},has:e=>i.has(e),getData(e){if(!i.has(e))throw new Error(`Unknown captcha with id '${e}'.`);return i.get(e)()}}})),define("WoltLabSuite/Core/Event/Key",["require","exports"],(function(e,t){"use strict";function i(e,t,i){if(!(e instanceof Event))throw new TypeError("Expected a valid event when testing for key '"+t+"'.");return e.key===t||e.which===i}Object.defineProperty(t,"__esModule",{value:!0}),t.Tab=t.Space=t.Home=t.Escape=t.Enter=t.End=t.Comma=t.ArrowUp=t.ArrowRight=t.ArrowLeft=t.ArrowDown=void 0,t.ArrowDown=function(e){return i(e,"ArrowDown",40)},t.ArrowLeft=function(e){return i(e,"ArrowLeft",37)},t.ArrowRight=function(e){return i(e,"ArrowRight",39)},t.ArrowUp=function(e){return i(e,"ArrowUp",38)},t.Comma=function(e){return i(e,",",44)},t.End=function(e){return i(e,"End",35)},t.Enter=function(e){return i(e,"Enter",13)},t.Escape=function(e){return i(e,"Escape",27)},t.Home=function(e){return i(e,"Home",36)},t.Space=function(e){return i(e,"Space",32)},t.Tab=function(e){return i(e,"Tab",9)}})),define("WoltLabSuite/Core/Image/ExifUtil",["require","exports"],(function(e,t){"use strict";function i(e){return"Exif"===e||"http://ns.adobe.com/xap/1.0/"===e||"http://ns.adobe.com/xmp/extension/"===e}function n(...e){let t=0;const i=e.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(i);return e.forEach((e=>{n.set(e,t),t+=e.length})),n}async function o(e){return new Promise(((t,i)=>{const n=new FileReader;n.addEventListener("error",(()=>{n.abort(),i(n.error)})),n.addEventListener("load",(()=>{t(new Uint8Array(n.result))})),n.readAsArrayBuffer(e)}))}async function a(e){if(!(e instanceof Blob||e instanceof File))throw new TypeError("The argument must be a Blob or a File");const t=await o(e);if(255!==t[0]&&t[1]!==r.SOI)throw new Error("Not a JPEG");let a=t;for(let e=2;e{const n=new FileReader,o=new Image;n.addEventListener("load",(()=>{o.src=n.result})),n.addEventListener("error",(()=>{n.abort(),t(n.error)})),o.addEventListener("error",t),o.addEventListener("load",(()=>{e(o)})),n.readAsDataURL(i)})),[o,r]=await Promise.all([t,n]);return{exif:o,image:r}}async resize(e,t=this.maxWidth,i=this.maxHeight,n=this.quality,o=!1,a){const r=document.createElement("canvas");if(window.createImageBitmap){if((await createImageBitmap(e)).height!=e.height)throw new Error("Chrome Bug #1069965")}const l=Math.min(t,e.width),c=Math.min(i,e.height);if(e.width<=l&&e.height<=c&&!o)return;const d=Math.min(l/e.width,c/e.height);r.width=Math.floor(e.width*d),r.height=Math.floor(e.height*d);let u=1;n>=.8?u=3:n>=.4&&(u=2);const p={quality:u,cancelToken:a,alpha:!0};return s.resize(e,r,p)}}return n.enableLegacyInheritance(c),c})),define("WoltLabSuite/Core/Language/Chooser",["require","exports","tslib","../Core","../Language","../Dom/Util","../Ui/Dropdown/Simple"],(function(e,t,i,n,o,a,r){"use strict";function s(e,t,i){const o=u.get(e);if(void 0===i&&void 0===(i=Array.from(o.dropdownMenu.children).find((e=>~~e.dataset.languageId===t))))throw new Error(`The language id '${t}' is unknown`);o.element.value=t.toString(),n.triggerEvent(o.element,"change"),o.dropdownToggle.innerHTML=i.children[0].innerHTML,u.set(e,o),"function"==typeof o.callback&&o.callback(i)}function l(e){const t=e.currentTarget;p.get(t).forEach((e=>{const i=document.createElement("input");i.type="hidden",i.name=e,i.value=d(e).toString(),t.appendChild(i)}))}function c(e){const t=u.get(e);if(void 0===t)throw new Error(`Expected a valid language chooser input element, '${e}' is not i18n input field.`);return t}function d(e){return~~c(e).element.value}Object.defineProperty(t,"__esModule",{value:!0}),t.setLanguageId=t.removeChooser=t.getLanguageId=t.getChooser=t.init=void 0,n=i.__importStar(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importDefault(r);const u=new Map,p=new WeakMap;t.init=function(e,t,i,n,c,d){if(u.has(t))return;const h=document.getElementById(e);if(null===h)throw new Error(`Expected a valid container id, cannot find '${t}'.`);let m=document.getElementById(t);null===m&&(m=document.createElement("input"),m.type="hidden",m.id=t,m.name=t,m.value=i.toString(),h.appendChild(m)),function(e,t,i,n,c,d){function h(t){const i=t.currentTarget,n=~~i.dataset.languageId,o=b.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active"),s(e,n,i)}let m;const f=t.parentElement;"DD"===f.nodeName?(m=document.createElement("div"),m.className="dropdown",f.insertAdjacentElement("afterbegin",m)):(m=f,m.classList.add("dropdown")),a.default.hide(t);const g=document.createElement("a");g.className="dropdownToggle dropdownIndicator boxFlag box24 inputPrefix","DD"===f.nodeName&&g.classList.add("button"),m.appendChild(g);const b=document.createElement("ul");if(b.className="dropdownMenu",m.appendChild(b),Object.entries(n).forEach((([e,t])=>{const n=document.createElement("li");n.className="boxFlag",n.addEventListener("click",h),n.dataset.languageId=e,void 0!==t.languageCode&&(n.dataset.languageCode=t.languageCode),b.appendChild(n);const o=document.createElement("a");o.className="box24",o.href="#",o.addEventListener("click",(e=>e.preventDefault())),n.appendChild(o);const a=document.createElement("img");a.src=t.iconPath,a.alt="",a.className="iconFlag",a.height=15,a.width=24,a.loading="eager",o.appendChild(a);const r=document.createElement("span");r.textContent=t.languageName,o.appendChild(r),+e===i&&(g.innerHTML=o.innerHTML)})),d){const e=document.createElement("li");e.className="dropdownDivider",b.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",h),b.appendChild(t);const n=document.createElement("a");n.textContent=o.get("wcf.global.language.noSelection"),t.appendChild(n),0===i&&(g.innerHTML=n.innerHTML),t.addEventListener("click",h)}else if(0===i){g.innerHTML="";const e=document.createElement("div");g.appendChild(e);const t=document.createElement("span");t.className="icon icon24 fa-question pointer",e.appendChild(t);const i=document.createElement("span");i.textContent=o.get("wcf.global.language.noSelection"),e.appendChild(i)}r.default.init(g),u.set(e,{callback:c,dropdownMenu:b,dropdownToggle:g,element:t});const _=t.closest("form");if(null!==_){_.addEventListener("submit",l);let t=p.get(_);void 0===t&&(t=[],p.set(_,t)),t.push(e)}}(t,m,i,n,c,d)},t.getChooser=c,t.getLanguageId=d,t.removeChooser=function(e){u.delete(e)},t.setLanguageId=function(e,t){if(void 0===u.get(e))throw new Error(`Expected a valid input element, '${e}' is not i18n input field.`);s(e,t)}})),define("WoltLabSuite/Core/Language/Input",["require","exports","tslib","../Dom/Util","../Language","../Ui/Dropdown/Simple","../StringUtil"],(function(e,t,i,n,o,a,r){"use strict";function s(e,t,i){const n=d.get(e),o=a.default.getDropdownMenu(n.element.closest(".inputAddon").id).querySelector(`[data-language-id="${t}"]`),r=o?o.textContent:"";if(n.languageId!==t){const o=p.get(e);n.languageId&&o.set(n.languageId,n.element.value),0===t?p.set(e,new Map):(n.buttonLabel.classList.contains("active")||i)&&(n.element.value=o.get(t)||""),n.buttonLabel.textContent=r,n.buttonLabel.classList[t?"add":"remove"]("active"),n.languageId=t}i||(n.element.blur(),n.element.focus()),n.callbacks.has("select")&&n.callbacks.get("select")(n.element)}function l(e,t){if("open"!==t)return;const i=a.default.getDropdownMenu(e),n=document.getElementById(e).dataset.inputId,o=d.get(n),r=p.get(n);Array.from(i.children).forEach((e=>{const t=~~(e.dataset.languageId||"");if(t){let i=!1;o.languageId&&(i=t===o.languageId?""===o.element.value.trim():!r.get(t)),i?e.classList.add("missingValue"):e.classList.remove("missingValue")}}))}function c(e){const t=e.currentTarget;u.get(t).forEach((e=>{const i=d.get(e);if(!i.isEnabled)return;const n=p.get(e);i.callbacks.has("submit")&&i.callbacks.get("submit")(i.element),i.languageId&&n.set(i.languageId,i.element.value),n.size&&(n.forEach((function(i,n){const o=document.createElement("input");o.type="hidden",o.name=`${e}_i18n[${n}]`,o.value=i,t.appendChild(o)})),i.element.removeAttribute("name"))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.isEnabled=t.enable=t.disable=t.setValues=t.getValues=t.unregister=t.registerCallback=t.init=void 0,n=i.__importDefault(n),o=i.__importStar(o),a=i.__importDefault(a),r=i.__importStar(r);const d=new Map,u=new WeakMap,p=new Map;t.init=function(e,t,i,n){if(p.has(e))return;const h=document.getElementById(e);if(null===h)throw new Error(`Expected a valid element id, cannot find '${e}'.`);const m=new Map;Object.entries(t).forEach((([e,t])=>{m.set(+e,r.unescapeHTML(t))})),p.set(e,m),function(e,t,i,n,r){let p=t.parentElement;if(!p.classList.contains("inputAddon")){p=document.createElement("div"),p.className="inputAddon","TEXTAREA"===t.nodeName&&p.classList.add("inputAddonTextarea"),p.dataset.inputId=e;const i=document.activeElement===t;t.insertAdjacentElement("beforebegin",p),p.appendChild(t),i&&t.focus()}p.classList.add("dropdown");const h=document.createElement("span");h.className="button dropdownToggle inputPrefix";const m=document.createElement("span");m.textContent=o.get("wcf.global.button.disabledI18n"),h.appendChild(m),p.insertBefore(h,t);const f=document.createElement("ul");f.className="dropdownMenu",h.insertAdjacentElement("afterend",f);const g=t=>{let i;i=t instanceof HTMLElement?t:t.currentTarget;const n=~~i.dataset.languageId,o=f.querySelector(".active");null!==o&&o.classList.remove("active"),n&&i.classList.add("active");const a=t instanceof HTMLElement;s(e,n,a)};if(Object.entries(n).forEach((([e,t])=>{const i=document.createElement("li");i.dataset.languageId=e;const n=document.createElement("span");n.textContent=t,i.appendChild(n),i.addEventListener("click",g),f.appendChild(i)})),!r){const e=document.createElement("li");e.className="dropdownDivider",f.appendChild(e);const t=document.createElement("li");t.dataset.languageId="0",t.addEventListener("click",g);const i=document.createElement("span");i.textContent=o.get("wcf.global.button.disabledI18n"),t.appendChild(i),f.appendChild(t)}let b;(r||i.size)&&(b=Array.from(f.children).find((e=>+e.dataset.languageId===window.LANGUAGE_ID))),a.default.init(h),a.default.registerCallback(p.id,l),d.set(e,{buttonLabel:m,callbacks:new Map,element:t,languageId:0,isEnabled:!0,forceSelection:r});const _=t.closest("form");if(null!==_){_.addEventListener("submit",c);let t=u.get(_);void 0===t&&(t=[],u.set(_,t)),t.push(e)}b&&g(b)}(e,h,m,i,n)},t.registerCallback=function(e,t,i){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);d.get(e).callbacks.set(t,i)},t.unregister=function(e){if(!p.has(e))throw new Error(`Unknown element id '${e}'.`);p.delete(e),d.delete(e)},t.getValues=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);const i=p.get(e);return i.set(t.languageId,t.element.value),i},t.setValues=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);i.element.value="";const n=new Map(Object.entries(t).map((([e,t])=>[+e,t])));if(n.has(0))return i.element.value=n.get(0),n.delete(0),p.set(e,n),void s(e,0,!0);p.set(e,n),i.languageId=0,s(e,window.LANGUAGE_ID,!0)},t.disable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid element, '${e}' is not an i18n input field.`);if(!t.isEnabled)return;t.isEnabled=!1;const i=t.buttonLabel.parentElement;n.default.hide(i),i.parentElement.classList.remove("inputAddon","dropdown")},t.enable=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(t.isEnabled)return;t.isEnabled=!0;const i=t.buttonLabel.parentElement;n.default.show(i),i.parentElement.classList.add("inputAddon","dropdown")},t.isEnabled=function(e){const t=d.get(e);if(void 0===t)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);return t.isEnabled},t.validate=function(e,t){const i=d.get(e);if(void 0===i)throw new Error(`Expected a valid i18n input element, '${e}' is not i18n input field.`);if(!i.isEnabled)return!0;const n=p.get(e),o=a.default.getDropdownMenu(i.element.parentElement.id);i.languageId&&n.set(i.languageId,i.element.value);let r=!1,s=!1;return Array.from(o.children).forEach((e=>{const t=~~e.dataset.languageId;if(t)if(n.has(t)&&0!==n.get(t).length){if(r)return!1;s=!0}else{if(s)return!1;r=!0}})),!r||t}})),define("WoltLabSuite/Core/Language/Text",["require","exports","tslib","./Input"],(function(e,t,i,n){"use strict";function o(e){void 0!==window.jQuery&&window.jQuery(e).redactor("code.set",e.value)}function a(e){void 0!==window.jQuery&&(e.value=window.jQuery(e).redactor("code.get"))}Object.defineProperty(t,"__esModule",{value:!0}),t.init=void 0,n=i.__importStar(n),t.init=function(e,t,i,r){const s=document.getElementById(e);if(!s||"TEXTAREA"!==s.nodeName||!s.classList.contains("wysiwygTextarea"))throw new Error(`Expected