var langStore = {"ttl_ccp_security": "Datenschutzeinstellungen","txt_ccp_security_1": "Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und\n  Ihre Erfahrung zu verbessern.","txt_ccp_security_2": "Für weitere Informationen lesen Sie bitte unsere Datenschutzerklärung. Anpassungsmöglichkeiten finden Sie unter \"<a href=\"#\" id=\"ccp-show-configure-link\" bind-click=\"show-configure\" class=\"ccp-settings-link\">Konfigurieren</a>\"","btn_ccp_security_configure": "Konfigurieren","btn_ccp_security_reject_all": "Alle ablehnen","btn_ccp_security_accept_all": "Alles akzeptieren","ttl_ccp_config": "Einfache Datenschutzeinstellungen","txt_ccp_config_1": "Hier finden Sie eine Übersicht über alle verwendeten Cookies. Sie können Ihre Zustimmung zu ganzen Kategorien geben oder\n    sich in den ","txt_ccp_config_link": "Erweiterte Einstellungen","txt_ccp_config_2": " detaillierte Informationen anzeigen lassen und so nur bestimmte Cookies auswählen.","btn_ccp_save_accept": "Einstellungen speichern","ttl_ccp_cat_required": "Notwendig","txt_ccp_cat_required": "Notwendige Cookies ermöglichen grundlegende Funktionen und sind für die einwandfreie Funktion der Website erforderlich.","ttl_ccp_cat_statistics": "Statistiken","txt_ccp_cat_statistics": "Statistik Cookies erfassen Informationen anonym. Diese Informationen helfen uns zu verstehen, wie unsere Besucher unsere Website nutzen.","ttl_ccp_cat_marketing": "Marketing","txt_ccp_cat_marketing": "Marketing Cookies werden von Drittanbietern oder Publishern verwendet, um personalisierte Werbung anzuzeigen. Sie tun dies, indem sie Besucher über Websites hinweg verfolgen.","ttl_ccp_advanced": "Erweiterte Datenschutzeinstellungen","txt_ccp_advanced_1": "Sie können Ihre Zustimmung zu einzelnen Cookies geben oder unter ","txt_ccp_advanced_link": "einfache Einstellungen","txt_ccp_advanced_2": " nach Kategorien auswählen.","txt_err_unknown": "Ein unbekannter Fehler ist aufgetreten.","txt_err_empty_gender": "Bitte wähle Dein Geschlecht aus","txt_err_empty_look_for": "Bitte das gesuchte Geschlecht auswählen","txt_err_empty_birthday": "Bitte gib Dein Geburtsdatum an","txt_err_empty_email": "Bitte Deine E-Mailadresse eingeben","txt_err_invalid_email": "Die eingegebene E-Mailadresse konnte leider nicht akzeptiert werden","txt_err_empty_username": "Bitte einen Benutzernamen eingeben","txt_err_invalid_username": "Ein Benutzername darf nur aus Buchstaben A-Z und Umlauten und Zahlen von 0-9 bestehen","txt_err_empty_password": "Bitte ein Passwort eingeben","txt_err_invalid_password": "Aus Sicherheitsgründen muss Dein Passwort mindestens 8 Zeichen lang sein.","txt_err_empty_plz": "Bitte einen Ort oder eine PLZ eingeben","txt_err_invalid_plz": "Bitte wähle einen Ort mit PLZ aus","txt_err_already_used_username": "Der angegebene Benutzername wird bereits verwendet","txt_err_username_password": "Aus Sicherheitsgründen darf in Deinem Passwort nicht Dein Benutzername vorkommen.","txt_err_already_used_email": "Diese E-Mail-Adresse ist bereits registriert.<br><a href=\"/login/\" class=\"plain-link\">Melde dich an um fortzufahren.</a>","txt_err_forbidden_email": "Diese E-Mailadresse ist bei uns leider nicht erlaubt","txt_err_already_used_email_wrong_platform": "Diese E-Mail-Adresse ist bereits bei <a href='[platform_link]'>[platform]</a> registriert. <a href='[login_link]'>Bitte loggen Sie sich dort ein.</a>","txt_err_empty_privacy": "Bitte Einverständnis zur Datenschutzerklärung geben","txt_err_empty_terms": "Bitte akzeptiere die Allgemeinen Geschäftsbedingungen.","txt_err_invalid_captcha": "Bitte bestätige, dass Du kein Roboter bist.","txt_login_empty_email": "Bitte gib Deine E-Mail-Adresse an","txt_login_empty_password": "Bitte gib Dein Passwort an","txt_err_username_invalid_length": "Ein Benutzername muss mindestens 3 Zeichen lang sein und maximal 49","txt_err_username_is_banned": "Dieser Benutzername ist verboten","txt_err_empty_firstname": "Bitte Deinen Vornamen eingeben","txt_err_empty_lastname": "Bitte Deinen Nachnamen eingeben","txt_err_empty_street": "Bitte Deine Straße eingeben","txt_err_empty_zip": "Bitte Deine Postleitzahl eingeben","txt_err_empty_city": "Bitte Deine Stadt eingeben","txt_err_empty_customer_id": "Bitte Deine Kundennummer eingeben","txt_err_empty_subject": "Bitte eine Kategorie angeben","txt_err_empty_comment": "Bitte eine Nachricht eingeben","txt_err_empty_cancel_date": "Bitte Deinen gewünschten Kündigungstermin eingeben",};window.UIAnimationDuration_short = 75;window.UIAnimationDuration_medium = 150;window.UIAnimationDuration_long = 300;window.UIAnimationDuration_xl = 600;window.UIAnimationDuration_xxl = 1200;window.UIAnimationDuration = {"short":75,"medium":150,"long":300,"xl":600,"xxl":1200};window.CCPluginIds_GoogleAnalytics = 1;window.CCPluginIds_FacebookPixel = 2;window.CCPluginIds_IVW = 3;window.CCPluginIds_IVWAT = 4;window.CCPluginIds_OEWA = 5;window.CCPluginIds_reCaptcha = 6;window.CCPluginIds_eTracker = 7;window.CCPluginIds_GoogleAds = 8;window.CCPluginIds_ABTasty = 9;window.CCPluginIds_IntelliAd = 10;window.CCPluginIds_MicrosoftAdvertising = 11;window.CCPluginIds_Webtrekk = 12;window.CCPluginIds_Criteo = 13;window.CCPluginIds_Hotjar = 14;window.CCPluginIds_Signalize = 16;window.CCPluginIds_IVWMeasurementManager = 17;window.CCPluginIds_AdRoll = 18;window.CCPluginIds_ADCell = 19;window.CCPluginIds_UPYIELD = 20;window.CCPluginIds_TikTok = 21;window.CCPluginIds_Snap = 22;window.CCPluginIds_Outbrain = 23;window.CCPluginIds_OSM = 24;window.CCPluginIds_Youtube = 25;window.CCPluginIds_Vimeo = 26;window.CCPluginIds_Awin = 27;window.CCPluginIds_Pinterest = 28;window.CCPluginIds_Taboola = 29;window.CCPluginIds_Ausgezeichnet = 30;window.CCPluginIds_Matomo = 31;window.CCPluginIds = {"GoogleAnalytics":1,"FacebookPixel":2,"IVW":3,"IVWAT":4,"OEWA":5,"reCaptcha":6,"eTracker":7,"GoogleAds":8,"ABTasty":9,"IntelliAd":10,"MicrosoftAdvertising":11,"Webtrekk":12,"Criteo":13,"Hotjar":14,"Signalize":16,"IVWMeasurementManager":17,"AdRoll":18,"ADCell":19,"UPYIELD":20,"TikTok":21,"Snap":22,"Outbrain":23,"OSM":24,"Youtube":25,"Vimeo":26,"Awin":27,"Pinterest":28,"Taboola":29,"Ausgezeichnet":30,"Matomo":31};window.JS_API_END_POINT = "/services/rest/index/";window.REGISTER_MODULE = "kostenlosepartnersuche";window.REGISTER_MODULE_TEXT = "kostenlose-partnersuche.de";window.SITE_URL = "https://kostenlose-partnersuche.de/";window.STATIC_ASSET_PATH = "https://static2.icony-hosting.de/dyncontent1730211808";window.CUSTOM_ELEMENT_CSS_PATH = "https://static2.icony-hosting.de/dyncontent1730211808/css/r/kostenlosepartnersuche/custom-elements-v4.css";window.MODULE_JSON_FILE = "frontpage-v4";window.appRoutes = {"imprint":"\/impressum.html","terms":"\/agb.html","privacy":"\/datenschutz.html","registration":"\/registration","onboarding":"\/onboarding\/","login":"\/login","logout":"\/logout","registration_clean":"\/registration\/clean\/","registration_success":"\/registration\/success.php","profile":"\/profil\/:user_uuid\/:username\/","coupon":"\/gutschein\/","coupon_redeem":"\/gutschein\/einl\u00f6sen\/","coupon_code":"\/gutschein\/:code\/","contact_cancel":"\/kontakt\/k\u00fcndigen\/","contact_cancel_success":"\/kontakt\/k\u00fcndigen\/erfolgreich\/","contact":"\/kontakt\/","help":"\/hilfe\/","help_search":"\/hilfe\/suche.html","frontpage":"\/"};
var _Document$prototype,_DocumentFragment$pro,_Element$prototype,_UIAnimationDuration$,templateStore={"notification.base":'<div class="icony-notification-container fixed use-fw-21" data-uid="{{uid}}"><div class="icony-notification {{baseStyle}} {{style}}"><div class="panel panel-shadow panel-allways-rounded wrapper"><div class="content {{size}}">        {{if showIcon}}        <div class="icon-wrapper"><i class="icon21 icon21-{{icon}}"></i></div>        {{end}}          <div class="message">{{message}}</div>          {{if actionHtml }}            {{actionHtml}}            <div class="close"><i class="icon21 icon21-cross"></i></div>          {{else}}            {{if actionTitle}}              <div class="action">{{actionTitle}}</div><div class="close"><i class="icon21 icon21-cross"></i></div>            {{end}}          {{end}}      </div></div></div></div>',"notification.toast":'<div class="icony-toast-wrapper use-fw-21"><div class="toast"><div class="panel shadow-floating-medium panel-allways-rounded wrapper"><div class="content"><div class="toast-container"><div class="avatar-container"><img class="avatar"></div><div class="text"><div class="paragraph-small-short headline"></div><a class="link-standalone medium link"><span class="link-text"></span><i class="icon21 icon21-arrow-1-right"></i></a></div></div><div class="close"><i class="icon21 icon21-cross-thin"></i></div></div></div></div></div>',"notification.inline":'<div class="icony-notification-container inline m-b-8 use-fw-21" data-uid="{{uid}}"><div class="icony-notification {{baseStyle}} {{style}}"><div class="panel panel-allways-rounded wrapper"><div class="content {{size}}">        {{if showIcon}}        <div class="icon-wrapper"><i class="icon21 icon21-{{icon}}"></i></div>        {{end}}        <div><div class="message">{{message}}</div>          {{if actionHtml }}            {{actionHtml}}          {{else}}            {{if actionTitle }}              <div class="action">{{actionTitle}}</div>            {{end}}          {{end}}        </div>        {{if closable}}          <div class="close"><i class="icon21 icon21-cross"></i></div>        {{end}}      </div></div></div></div>',"notification.action.1":'<div class="action m-t-8"><input class="ic-checkbox" type="checkbox" value="1" name="action-checkbox"><label for="action-checkbox"><span></span>{{actionTitle}}</label></div>',"tooltip.plain":'<div class="icony-tooltip-wrapper use-fw-21"><div class="icony-tooltip"><div class="panel panel-shadow panel-allways-rounded wrapper"><div class="panes"><div class="left-pane"><div class="tooltip-body"><div class="body-content"></div></div></div></div></div></div></div>',"tooltip.rich":'<div class="icony-tooltip-wrapper use-fw-21"><div class="icony-tooltip"><div class="panel panel-shadow panel-allways-rounded wrapper"><div class="header"><div class="headline-container"><div class="headline-inner"><div class="headline"></div><div class="content"></div></div><a class="close"><span class="icon21 icon21-cross-thin"></span></a></div></div><div class="button-container"><div class="annotation"></div><div class="buttons"></div></div></div></div></div>',"dialog.base21":'<div class="icony-dialog-modal use-fw-21"><div class="icony-dialog-wrapper"><div class="icony-dialog"><div class="dialog-header"><div class="text"></div><div class="handle"><div class="close"><span class="icon21 icon21-cross-thin"></span></div></div></div><div class="dialog-content"><div class="dialog-body"></div><div class="dialog-buttons"></div><div class="dialog-footer"></div></div></div></div></div>',"overlay.base":'<div class="icony-overlay-modal use-fw-21"><div class="icony-overlay-wrapper"><div class="icony-overlay"><div class="overlay-content"><div class="overlay-body"></div><div class="loading-container"><div class="inner"><div class="spinner"></div><div class="text"></div></div></div></div></div></div></div>',"ccp.advanced":'<div id="ccp-advanced" class="ccp-content ccp-content-item panel panel-shadow bg-box-greyscale-weight-100 p-40 p-xs-20"><a href="#" id="ccp-btn-close" bind-click="close-banner"><span class=\'icon21 icon21-cross\'></span></a><div class="overview-container"><p class="h3 m-b-10">{{lang:ttl_ccp_advanced}}</p><p>{{lang:txt_ccp_advanced_1}}"<a href="#" id="ccp-show-basic-btn" bind-click="show-configure" class="ccp-settings-link">{{lang:txt_ccp_advanced_link}}</a>"{{lang:txt_ccp_advanced_2}}</p></div><div class="ccp-plugin-list ccp-list">    {{foreach plugins}}      <div class="ccp-list-item ic-row vs m-t-20"><input type="checkbox" id="plugin-id-{{id}}" class="ic-col-xs-1 ic-checkbox" name="plugin-id-{{id}}" value="{{id}}" {{state}}><label for="plugin-id-{{id}}" class="ic-col-xs-11 top"><span></span><div class="ccp-list-item-meta"><p class="h4 paragraph-large-long-semibold">{{name}} <span>{{category}}</span></p><div class="ccp-list-item-desc">{{desc}}</div><div class="open-btn-container"><a href="#" class="open-btn">Mehr anzeigen</a></div></div></label></div>    {{end}}  </div><div class="btn-container m-t-20"><button id="ccp-save-accept-btn" class="btn partner" bind-click="accept-plugins">{{lang:btn_ccp_save_accept}}</button></div></div>',"ccp.banner":'<div id="ccp-banner" class="ccp-content ccp-content-item bg-box-greyscale-weight-100 panel panel-shadow p-t-40 p-l-40 p-r-40 p-b-20 p-xs-20 {{contentClass}}"><div class="h3 m-b-10">{{lang:ttl_ccp_security}}</div><p>{{lang:txt_ccp_security_1}}</p><p>{{lang:txt_ccp_security_2}}</p><div class="m-t-20">    {{if bannerTypeBig }}      <button href="#" id="ccp-configure-btn"  bind-click="show-configure" class="btn full-width secondary m-b-10">{{lang:btn_ccp_security_configure}}</button><button href="#" id="ccp-deny-all-btn"   bind-click="deny-all"   class="btn full-width secondary m-b-10">{{lang:btn_ccp_security_reject_all}}</button>    {{end}}    <button href="#" id="ccp-accept-all-btn" bind-click="accept-all" class="btn full-width partner">{{lang:btn_ccp_security_accept_all}}</button></div><div class="text-center paragraph-small-long m-t-40"><a href="{{imprint}}">Impressum</a> | <a href="{{terms}}">AGB</a> | <a href="{{privacy}}">Datenschutzbestimmungen</a></div></div>',"ccp.config":'<div id="ccp-config" class="ccp-content ccp-content-item panel panel-shadow bg-box-greyscale-weight-100 p-40 p-xs-20"><a href="#" id="ccp-btn-close" bind-click="close-banner"><span class=\'icon21 icon21-cross\'></span></a><div class="overview-container"><p class="h3 m-b-10">{{lang:ttl_ccp_config}}</p><p>{{lang:txt_ccp_config_1}} "<a href="#" id="ccp-show-advcanced-btn" bind-click="show-advcanced" class="ccp-settings-link">{{lang:txt_ccp_config_link}}</a>"{{lang:txt_ccp_config_2}}</p></div><div class="ccp-categorie-list ccp-list">    {{foreach categorie}}      <div class="ccp-list-item ic-row vs m-t-20"><input type="checkbox" id="categorie-id-{{id}}" class="ic-col-xs-1 ic-checkbox" name="categorie-id-{{id}}" value="{{id}}" {{state}} ><label for="categorie-id-{{id}}" class="ic-col-xs-11 top"><span></span><div class="ccp-list-item-meta"><p class="h4 paragraph-large-short-semibold">{{name}}</p><p>{{desc}}</p></div></label></div>    {{end}}  </div><div class="btn-container m-t-20"><button id="ccp-save-accept-btn" class="btn partner" bind-click="accept-cats">{{lang:btn_ccp_save_accept}}</button></div></div>'},isarray=Array.isArray,PATH_REGEXP=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function parse(e,t){for(var i,n=[],r=0,s=0,o="",a=t&&t.delimiter||"/";null!=(i=PATH_REGEXP.exec(e));){var l=i[0],c=i[1],h=i.index;if(o+=e.slice(s,h),s=h+l.length,c)o+=c[1];else{var u=e[s],d=i[2],p=i[3],f=i[4],g=i[5],_=i[6],y=i[7];o&&(n.push(o),o="");var v=null!=d&&null!=u&&u!==d,b="+"===_||"*"===_,w="?"===_||"*"===_,I=i[2]||a,C=f||g;n.push({name:p||r++,prefix:d||"",delimiter:I,optional:w,repeat:b,partial:v,asterisk:!!y,pattern:C?escapeGroup(C):y?".*":"[^"+escapeString(I)+"]+?"})}}return s<e.length&&(o+=e.substr(s)),o&&n.push(o),n}function compile(e,t){return tokensToFunction(parse(e,t))}function encodeURIComponentPretty(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeAsterisk(e){return encodeURI(e).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function tokensToFunction(e){for(var t=new Array(e.length),i=0;i<e.length;i++)"object"==typeof e[i]&&(t[i]=new RegExp("^(?:"+e[i].pattern+")$"));return function(i,n){for(var r="",s=i||{},o=(n||{}).pretty?encodeURIComponentPretty:encodeURIComponent,a=0;a<e.length;a++){var l=e[a];if("string"!=typeof l){var c,h=s[l.name];if(null==h){if(l.optional){l.partial&&(r+=l.prefix);continue}throw new TypeError('Expected "'+l.name+'" to be defined')}if(isarray(h)){if(!l.repeat)throw new TypeError('Expected "'+l.name+'" to not repeat, but received `'+JSON.stringify(h)+"`");if(0===h.length){if(l.optional)continue;throw new TypeError('Expected "'+l.name+'" to not be empty')}for(var u=0;u<h.length;u++){if(c=o(h[u]),!t[a].test(c))throw new TypeError('Expected all "'+l.name+'" to match "'+l.pattern+'", but received `'+JSON.stringify(c)+"`");r+=(0===u?l.prefix:l.delimiter)+c}}else{if(c=l.asterisk?encodeAsterisk(h):o(h),!t[a].test(c))throw new TypeError('Expected "'+l.name+'" to match "'+l.pattern+'", but received "'+c+'"');r+=l.prefix+c}}else r+=l}return r}}function escapeString(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function escapeGroup(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function attachKeys(e,t){return e.keys=t,e}function flags(e){return e.sensitive?"":"i"}function regexpToRegexp(e,t){var i=e.source.match(/\((?!\?)/g);if(i)for(var n=0;n<i.length;n++)t.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return attachKeys(e,t)}function arrayToRegexp(e,t,i){for(var n=[],r=0;r<e.length;r++)n.push(pathToRegexp(e[r],t,i).source);return attachKeys(new RegExp("(?:"+n.join("|")+")",flags(i)),t)}function stringToRegexp(e,t,i){return tokensToRegExp(parse(e,i),t,i)}function tokensToRegExp(e,t,i){isarray(t)||(i=t||i,t=[]);for(var n=(i=i||{}).strict,r=!1!==i.end,s="",o=0;o<e.length;o++){var a=e[o];if("string"==typeof a)s+=escapeString(a);else{var l=escapeString(a.prefix),c="(?:"+a.pattern+")";t.push(a),a.repeat&&(c+="(?:"+l+c+")*"),s+=c=a.optional?a.partial?l+"("+c+")?":"(?:"+l+"("+c+"))?":l+"("+c+")"}}var h=escapeString(i.delimiter||"/"),u=s.slice(-h.length)===h;return n||(s=(u?s.slice(0,-h.length):s)+"(?:"+h+"(?=$))?"),s+=r?"$":n&&u?"":"(?="+h+"|$)",attachKeys(new RegExp("^"+s,flags(i)),t)}function pathToRegexp(e,t,i){return isarray(t)||(i=t||i,t=[]),i=i||{},e instanceof RegExp?regexpToRegexp(e,t):isarray(e)?arrayToRegexp(e,t,i):stringToRegexp(e,t,i)}function replaceChildren(){const{childNodes:e}=this;for(;e.length;)e[0].remove();this.append(...arguments)}(function(){var e,t="Expected a function",i="__lodash_hash_undefined__",n="__lodash_placeholder__",r=16,s=32,o=64,a=128,l=256,c=1/0,h=9007199254740991,u=NaN,d=4294967295,p=[["ary",a],["bind",1],["bindKey",2],["curry",8],["curryRight",r],["flip",512],["partial",s],["partialRight",o],["rearg",l]],f="[object Arguments]",g="[object Array]",_="[object Boolean]",y="[object Date]",v="[object Error]",b="[object Function]",w="[object GeneratorFunction]",I="[object Map]",C="[object Number]",T="[object Object]",E="[object Promise]",S="[object RegExp]",A="[object Set]",L="[object String]",k="[object Symbol]",P="[object WeakMap]",x="[object ArrayBuffer]",R="[object DataView]",D="[object Float32Array]",V="[object Float64Array]",O="[object Int8Array]",N="[object Int16Array]",F="[object Int32Array]",M="[object Uint8Array]",U="[object Uint8ClampedArray]",B="[object Uint16Array]",H="[object Uint32Array]",j=/\b__p \+= '';/g,q=/\b(__p \+=) '' \+/g,z=/(__e\(.*?\)|\b__t\)) \+\n'';/g,W=/&(?:amp|lt|gt|quot|#39);/g,G=/[&<>"']/g,Y=RegExp(W.source),$=RegExp(G.source),Q=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,X=/<%=([\s\S]+?)%>/g,Z=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,J=/^\w*$/,ee=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,te=/[\\^$.*+?()[\]{}|]/g,ie=RegExp(te.source),ne=/^\s+|\s+$/g,re=/^\s+/,se=/\s+$/,oe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ae=/\{\n\/\* \[wrapped with (.+)\] \*/,le=/,? & /,ce=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,he=/\\(\\)?/g,ue=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,de=/\w*$/,pe=/^[-+]0x[0-9a-f]+$/i,fe=/^0b[01]+$/i,ge=/^\[object .+?Constructor\]$/,me=/^0o[0-7]+$/i,_e=/^(?:0|[1-9]\d*)$/,ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ve=/($^)/,be=/['\n\r\u2028\u2029\\]/g,we="\\ud800-\\udfff",Ie="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Ce="\\u2700-\\u27bf",Te="a-z\\xdf-\\xf6\\xf8-\\xff",Ee="A-Z\\xc0-\\xd6\\xd8-\\xde",Se="\\ufe0e\\ufe0f",Ae="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Le="['’]",ke="["+we+"]",Pe="["+Ae+"]",xe="["+Ie+"]",Re="\\d+",De="["+Ce+"]",Ve="["+Te+"]",Oe="[^"+we+Ae+Re+Ce+Te+Ee+"]",Ne="\\ud83c[\\udffb-\\udfff]",Fe="[^"+we+"]",Me="(?:\\ud83c[\\udde6-\\uddff]){2}",Ue="[\\ud800-\\udbff][\\udc00-\\udfff]",Be="["+Ee+"]",He="\\u200d",je="(?:"+Ve+"|"+Oe+")",qe="(?:"+Be+"|"+Oe+")",ze="(?:['’](?:d|ll|m|re|s|t|ve))?",We="(?:['’](?:D|LL|M|RE|S|T|VE))?",Ge="(?:"+xe+"|"+Ne+")"+"?",Ye="["+Se+"]?",$e=Ye+Ge+("(?:"+He+"(?:"+[Fe,Me,Ue].join("|")+")"+Ye+Ge+")*"),Qe="(?:"+[De,Me,Ue].join("|")+")"+$e,Ke="(?:"+[Fe+xe+"?",xe,Me,Ue,ke].join("|")+")",Xe=RegExp(Le,"g"),Ze=RegExp(xe,"g"),Je=RegExp(Ne+"(?="+Ne+")|"+Ke+$e,"g"),et=RegExp([Be+"?"+Ve+"+"+ze+"(?="+[Pe,Be,"$"].join("|")+")",qe+"+"+We+"(?="+[Pe,Be+je,"$"].join("|")+")",Be+"?"+je+"+"+ze,Be+"+"+We,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Re,Qe].join("|"),"g"),tt=RegExp("["+He+we+Ie+Se+"]"),it=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rt=-1,st={};st[D]=st[V]=st[O]=st[N]=st[F]=st[M]=st[U]=st[B]=st[H]=!0,st[f]=st[g]=st[x]=st[_]=st[R]=st[y]=st[v]=st[b]=st[I]=st[C]=st[T]=st[S]=st[A]=st[L]=st[P]=!1;var ot={};ot[f]=ot[g]=ot[x]=ot[R]=ot[_]=ot[y]=ot[D]=ot[V]=ot[O]=ot[N]=ot[F]=ot[I]=ot[C]=ot[T]=ot[S]=ot[A]=ot[L]=ot[k]=ot[M]=ot[U]=ot[B]=ot[H]=!0,ot[v]=ot[b]=ot[P]=!1;var at={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},lt=parseFloat,ct=parseInt,ht="object"==typeof global&&global&&global.Object===Object&&global,ut="object"==typeof self&&self&&self.Object===Object&&self,dt=ht||ut||Function("return this")(),pt="object"==typeof exports&&exports&&!exports.nodeType&&exports,ft=pt&&"object"==typeof module&&module&&!module.nodeType&&module,gt=ft&&ft.exports===pt,mt=gt&&ht.process,_t=function(){try{var e=ft&&ft.require&&ft.require("util").types;return e||mt&&mt.binding&&mt.binding("util")}catch(e){}}(),yt=_t&&_t.isArrayBuffer,vt=_t&&_t.isDate,bt=_t&&_t.isMap,wt=_t&&_t.isRegExp,It=_t&&_t.isSet,Ct=_t&&_t.isTypedArray;function apply(e,t,i){switch(i.length){case 0:return e.call(t);case 1:return e.call(t,i[0]);case 2:return e.call(t,i[0],i[1]);case 3:return e.call(t,i[0],i[1],i[2])}return e.apply(t,i)}function arrayAggregator(e,t,i,n){for(var r=-1,s=null==e?0:e.length;++r<s;){var o=e[r];t(n,o,i(o),e)}return n}function arrayEach(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}function arrayEachRight(e,t){for(var i=null==e?0:e.length;i--&&!1!==t(e[i],i,e););return e}function arrayEvery(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(!t(e[i],i,e))return!1;return!0}function arrayFilter(e,t){for(var i=-1,n=null==e?0:e.length,r=0,s=[];++i<n;){var o=e[i];t(o,i,e)&&(s[r++]=o)}return s}function arrayIncludes(e,t){return!!(null==e?0:e.length)&&baseIndexOf(e,t,0)>-1}function arrayIncludesWith(e,t,i){for(var n=-1,r=null==e?0:e.length;++n<r;)if(i(t,e[n]))return!0;return!1}function arrayMap(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}function arrayPush(e,t){for(var i=-1,n=t.length,r=e.length;++i<n;)e[r+i]=t[i];return e}function arrayReduce(e,t,i,n){var r=-1,s=null==e?0:e.length;for(n&&s&&(i=e[++r]);++r<s;)i=t(i,e[r],r,e);return i}function arrayReduceRight(e,t,i,n){var r=null==e?0:e.length;for(n&&r&&(i=e[--r]);r--;)i=t(i,e[r],r,e);return i}function arraySome(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}var Tt=baseProperty("length");function baseFindKey(e,t,i){var n;return i(e,(function(e,i,r){if(t(e,i,r))return n=i,!1})),n}function baseFindIndex(e,t,i,n){for(var r=e.length,s=i+(n?1:-1);n?s--:++s<r;)if(t(e[s],s,e))return s;return-1}function baseIndexOf(e,t,i){return t==t?function(e,t,i){var n=i-1,r=e.length;for(;++n<r;)if(e[n]===t)return n;return-1}(e,t,i):baseFindIndex(e,baseIsNaN,i)}function baseIndexOfWith(e,t,i,n){for(var r=i-1,s=e.length;++r<s;)if(n(e[r],t))return r;return-1}function baseIsNaN(e){return e!=e}function baseMean(e,t){var i=null==e?0:e.length;return i?baseSum(e,t)/i:u}function baseProperty(t){return function(i){return null==i?e:i[t]}}function basePropertyOf(t){return function(i){return null==t?e:t[i]}}function baseReduce(e,t,i,n,r){return r(e,(function(e,r,s){i=n?(n=!1,e):t(i,e,r,s)})),i}function baseSum(t,i){for(var n,r=-1,s=t.length;++r<s;){var o=i(t[r]);o!==e&&(n=n===e?o:n+o)}return n}function baseTimes(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}function baseUnary(e){return function(t){return e(t)}}function baseValues(e,t){return arrayMap(t,(function(t){return e[t]}))}function cacheHas(e,t){return e.has(t)}function charsStartIndex(e,t){for(var i=-1,n=e.length;++i<n&&baseIndexOf(t,e[i],0)>-1;);return i}function charsEndIndex(e,t){for(var i=e.length;i--&&baseIndexOf(t,e[i],0)>-1;);return i}var Et=basePropertyOf({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","Ĳ":"IJ","ĳ":"ij","Œ":"Oe","œ":"oe","ŉ":"'n","ſ":"s"}),St=basePropertyOf({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function escapeStringChar(e){return"\\"+at[e]}function hasUnicode(e){return tt.test(e)}function mapToArray(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}function overArg(e,t){return function(i){return e(t(i))}}function replaceHolders(e,t){for(var i=-1,r=e.length,s=0,o=[];++i<r;){var a=e[i];a!==t&&a!==n||(e[i]=n,o[s++]=i)}return o}function setToArray(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}function setToPairs(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=[e,e]})),i}function stringSize(e){return hasUnicode(e)?function(e){var t=Je.lastIndex=0;for(;Je.test(e);)++t;return t}(e):Tt(e)}function stringToArray(e){return hasUnicode(e)?function(e){return e.match(Je)||[]}(e):function(e){return e.split("")}(e)}var At=basePropertyOf({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"});var Lt=function runInContext(we){var Ie,Ce=(we=null==we?dt:Lt.defaults(dt.Object(),we,Lt.pick(dt,nt))).Array,Te=we.Date,Ee=we.Error,Se=we.Function,Ae=we.Math,Le=we.Object,ke=we.RegExp,Pe=we.String,xe=we.TypeError,Re=Ce.prototype,De=Se.prototype,Ve=Le.prototype,Oe=we["__core-js_shared__"],Ne=De.toString,Fe=Ve.hasOwnProperty,Me=0,Ue=(Ie=/[^.]+$/.exec(Oe&&Oe.keys&&Oe.keys.IE_PROTO||""))?"Symbol(src)_1."+Ie:"",Be=Ve.toString,He=Ne.call(Le),je=dt._,qe=ke("^"+Ne.call(Fe).replace(te,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ze=gt?we.Buffer:e,We=we.Symbol,Ge=we.Uint8Array,Ye=ze?ze.allocUnsafe:e,$e=overArg(Le.getPrototypeOf,Le),Qe=Le.create,Ke=Ve.propertyIsEnumerable,Je=Re.splice,tt=We?We.isConcatSpreadable:e,at=We?We.iterator:e,ht=We?We.toStringTag:e,ut=function(){try{var e=getNative(Le,"defineProperty");return e({},"",{}),e}catch(e){}}(),pt=we.clearTimeout!==dt.clearTimeout&&we.clearTimeout,ft=Te&&Te.now!==dt.Date.now&&Te.now,mt=we.setTimeout!==dt.setTimeout&&we.setTimeout,_t=Ae.ceil,Tt=Ae.floor,kt=Le.getOwnPropertySymbols,Pt=ze?ze.isBuffer:e,xt=we.isFinite,Rt=Re.join,Dt=overArg(Le.keys,Le),Vt=Ae.max,Ot=Ae.min,Nt=Te.now,Ft=we.parseInt,Mt=Ae.random,Ut=Re.reverse,Bt=getNative(we,"DataView"),Ht=getNative(we,"Map"),jt=getNative(we,"Promise"),qt=getNative(we,"Set"),zt=getNative(we,"WeakMap"),Wt=getNative(Le,"create"),Gt=zt&&new zt,Yt={},$t=toSource(Bt),Qt=toSource(Ht),Kt=toSource(jt),Xt=toSource(qt),Zt=toSource(zt),Jt=We?We.prototype:e,ei=Jt?Jt.valueOf:e,ti=Jt?Jt.toString:e;function lodash(e){if(isObjectLike(e)&&!on(e)&&!(e instanceof LazyWrapper)){if(e instanceof LodashWrapper)return e;if(Fe.call(e,"__wrapped__"))return wrapperClone(e)}return new LodashWrapper(e)}var ii=function(){function object(){}return function(t){if(!isObject(t))return{};if(Qe)return Qe(t);object.prototype=t;var i=new object;return object.prototype=e,i}}();function baseLodash(){}function LodashWrapper(t,i){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!i,this.__index__=0,this.__values__=e}function LazyWrapper(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function Hash(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function ListCache(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function MapCache(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function SetCache(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new MapCache;++t<i;)this.add(e[t])}function Stack(e){var t=this.__data__=new ListCache(e);this.size=t.size}function arrayLikeKeys(e,t){var i=on(e),n=!i&&sn(e),r=!i&&!n&&ln(e),s=!i&&!n&&!r&&pn(e),o=i||n||r||s,a=o?baseTimes(e.length,Pe):[],l=a.length;for(var c in e)!t&&!Fe.call(e,c)||o&&("length"==c||r&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||isIndex(c,l))||a.push(c);return a}function arraySample(t){var i=t.length;return i?t[baseRandom(0,i-1)]:e}function arraySampleSize(e,t){return shuffleSelf(copyArray(e),baseClamp(t,0,e.length))}function arrayShuffle(e){return shuffleSelf(copyArray(e))}function assignMergeValue(t,i,n){(n!==e&&!eq(t[i],n)||n===e&&!(i in t))&&baseAssignValue(t,i,n)}function assignValue(t,i,n){var r=t[i];Fe.call(t,i)&&eq(r,n)&&(n!==e||i in t)||baseAssignValue(t,i,n)}function assocIndexOf(e,t){for(var i=e.length;i--;)if(eq(e[i][0],t))return i;return-1}function baseAggregator(e,t,i,n){return ni(e,(function(e,r,s){t(n,e,i(e),s)})),n}function baseAssign(e,t){return e&&copyObject(t,keys(t),e)}function baseAssignValue(e,t,i){"__proto__"==t&&ut?ut(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}function baseAt(t,i){for(var n=-1,r=i.length,s=Ce(r),o=null==t;++n<r;)s[n]=o?e:get(t,i[n]);return s}function baseClamp(t,i,n){return t==t&&(n!==e&&(t=t<=n?t:n),i!==e&&(t=t>=i?t:i)),t}function baseClone(t,i,n,r,s,o){var a,l=1&i,c=2&i,h=4&i;if(n&&(a=s?n(t,r,s,o):n(t)),a!==e)return a;if(!isObject(t))return t;var u=on(t);if(u){if(a=function(e){var t=e.length,i=new e.constructor(t);t&&"string"==typeof e[0]&&Fe.call(e,"index")&&(i.index=e.index,i.input=e.input);return i}(t),!l)return copyArray(t,a)}else{var d=gi(t),p=d==b||d==w;if(ln(t))return cloneBuffer(t,l);if(d==T||d==f||p&&!s){if(a=c||p?{}:initCloneObject(t),!l)return c?function(e,t){return copyObject(e,fi(e),t)}(t,function(e,t){return e&&copyObject(t,keysIn(t),e)}(a,t)):function(e,t){return copyObject(e,pi(e),t)}(t,baseAssign(a,t))}else{if(!ot[d])return s?t:{};a=function(e,t,i){var n=e.constructor;switch(t){case x:return cloneArrayBuffer(e);case _:case y:return new n(+e);case R:return function(e,t){var i=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}(e,i);case D:case V:case O:case N:case F:case M:case U:case B:case H:return cloneTypedArray(e,i);case I:return new n;case C:case L:return new n(e);case S:return function(e){var t=new e.constructor(e.source,de.exec(e));return t.lastIndex=e.lastIndex,t}(e);case A:return new n;case k:return r=e,ei?Le(ei.call(r)):{}}var r}(t,d,l)}}o||(o=new Stack);var g=o.get(t);if(g)return g;o.set(t,a),dn(t)?t.forEach((function(e){a.add(baseClone(e,i,n,e,t,o))})):hn(t)&&t.forEach((function(e,r){a.set(r,baseClone(e,i,n,r,t,o))}));var v=u?e:(h?c?getAllKeysIn:getAllKeys:c?keysIn:keys)(t);return arrayEach(v||t,(function(e,r){v&&(e=t[r=e]),assignValue(a,r,baseClone(e,i,n,r,t,o))})),a}function baseConformsTo(t,i,n){var r=n.length;if(null==t)return!r;for(t=Le(t);r--;){var s=n[r],o=i[s],a=t[s];if(a===e&&!(s in t)||!o(a))return!1}return!0}function baseDelay(i,n,r){if("function"!=typeof i)throw new xe(t);return yi((function(){i.apply(e,r)}),n)}function baseDifference(e,t,i,n){var r=-1,s=arrayIncludes,o=!0,a=e.length,l=[],c=t.length;if(!a)return l;i&&(t=arrayMap(t,baseUnary(i))),n?(s=arrayIncludesWith,o=!1):t.length>=200&&(s=cacheHas,o=!1,t=new SetCache(t));e:for(;++r<a;){var h=e[r],u=null==i?h:i(h);if(h=n||0!==h?h:0,o&&u==u){for(var d=c;d--;)if(t[d]===u)continue e;l.push(h)}else s(t,u,n)||l.push(h)}return l}lodash.templateSettings={escape:Q,evaluate:K,interpolate:X,variable:"",imports:{_:lodash}},lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=ii(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=ii(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=function(){this.__data__=Wt?Wt(null):{},this.size=0},Hash.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Hash.prototype.get=function(t){var n=this.__data__;if(Wt){var r=n[t];return r===i?e:r}return Fe.call(n,t)?n[t]:e},Hash.prototype.has=function(t){var i=this.__data__;return Wt?i[t]!==e:Fe.call(i,t)},Hash.prototype.set=function(t,n){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Wt&&n===e?i:n,this},ListCache.prototype.clear=function(){this.__data__=[],this.size=0},ListCache.prototype.delete=function(e){var t=this.__data__,i=assocIndexOf(t,e);return!(i<0)&&(i==t.length-1?t.pop():Je.call(t,i,1),--this.size,!0)},ListCache.prototype.get=function(t){var i=this.__data__,n=assocIndexOf(i,t);return n<0?e:i[n][1]},ListCache.prototype.has=function(e){return assocIndexOf(this.__data__,e)>-1},ListCache.prototype.set=function(e,t){var i=this.__data__,n=assocIndexOf(i,e);return n<0?(++this.size,i.push([e,t])):i[n][1]=t,this},MapCache.prototype.clear=function(){this.size=0,this.__data__={hash:new Hash,map:new(Ht||ListCache),string:new Hash}},MapCache.prototype.delete=function(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t},MapCache.prototype.get=function(e){return getMapData(this,e).get(e)},MapCache.prototype.has=function(e){return getMapData(this,e).has(e)},MapCache.prototype.set=function(e,t){var i=getMapData(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this},SetCache.prototype.add=SetCache.prototype.push=function(e){return this.__data__.set(e,i),this},SetCache.prototype.has=function(e){return this.__data__.has(e)},Stack.prototype.clear=function(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},Stack.prototype.get=function(e){return this.__data__.get(e)},Stack.prototype.has=function(e){return this.__data__.has(e)},Stack.prototype.set=function(e,t){var i=this.__data__;if(i instanceof ListCache){var n=i.__data__;if(!Ht||n.length<199)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new MapCache(n)}return i.set(e,t),this.size=i.size,this};var ni=createBaseEach(baseForOwn),ri=createBaseEach(baseForOwnRight,!0);function baseEvery(e,t){var i=!0;return ni(e,(function(e,n,r){return i=!!t(e,n,r)})),i}function baseExtremum(t,i,n){for(var r=-1,s=t.length;++r<s;){var o=t[r],a=i(o);if(null!=a&&(l===e?a==a&&!isSymbol(a):n(a,l)))var l=a,c=o}return c}function baseFilter(e,t){var i=[];return ni(e,(function(e,n,r){t(e,n,r)&&i.push(e)})),i}function baseFlatten(e,t,i,n,r){var s=-1,o=e.length;for(i||(i=isFlattenable),r||(r=[]);++s<o;){var a=e[s];t>0&&i(a)?t>1?baseFlatten(a,t-1,i,n,r):arrayPush(r,a):n||(r[r.length]=a)}return r}var si=createBaseFor(),oi=createBaseFor(!0);function baseForOwn(e,t){return e&&si(e,t,keys)}function baseForOwnRight(e,t){return e&&oi(e,t,keys)}function baseFunctions(e,t){return arrayFilter(t,(function(t){return isFunction(e[t])}))}function baseGet(t,i){for(var n=0,r=(i=castPath(i,t)).length;null!=t&&n<r;)t=t[toKey(i[n++])];return n&&n==r?t:e}function baseGetAllKeys(e,t,i){var n=t(e);return on(e)?n:arrayPush(n,i(e))}function baseGetTag(t){return null==t?t===e?"[object Undefined]":"[object Null]":ht&&ht in Le(t)?function(t){var i=Fe.call(t,ht),n=t[ht];try{t[ht]=e;var r=!0}catch(e){}var s=Be.call(t);r&&(i?t[ht]=n:delete t[ht]);return s}(t):function(e){return Be.call(e)}(t)}function baseGt(e,t){return e>t}function baseHas(e,t){return null!=e&&Fe.call(e,t)}function baseHasIn(e,t){return null!=e&&t in Le(e)}function baseIntersection(t,i,n){for(var r=n?arrayIncludesWith:arrayIncludes,s=t[0].length,o=t.length,a=o,l=Ce(o),c=1/0,h=[];a--;){var u=t[a];a&&i&&(u=arrayMap(u,baseUnary(i))),c=Ot(u.length,c),l[a]=!n&&(i||s>=120&&u.length>=120)?new SetCache(a&&u):e}u=t[0];var d=-1,p=l[0];e:for(;++d<s&&h.length<c;){var f=u[d],g=i?i(f):f;if(f=n||0!==f?f:0,!(p?cacheHas(p,g):r(h,g,n))){for(a=o;--a;){var _=l[a];if(!(_?cacheHas(_,g):r(t[a],g,n)))continue e}p&&p.push(g),h.push(f)}}return h}function baseInvoke(t,i,n){var r=null==(t=parent(t,i=castPath(i,t)))?t:t[toKey(last(i))];return null==r?e:apply(r,t,n)}function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==f}function baseIsEqual(t,i,n,r,s){return t===i||(null==t||null==i||!isObjectLike(t)&&!isObjectLike(i)?t!=t&&i!=i:function(t,i,n,r,s,o){var a=on(t),l=on(i),c=a?g:gi(t),h=l?g:gi(i),u=(c=c==f?T:c)==T,d=(h=h==f?T:h)==T,p=c==h;if(p&&ln(t)){if(!ln(i))return!1;a=!0,u=!1}if(p&&!u)return o||(o=new Stack),a||pn(t)?equalArrays(t,i,n,r,s,o):function(e,t,i,n,r,s,o){switch(i){case R:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!s(new Ge(e),new Ge(t)));case _:case y:case C:return eq(+e,+t);case v:return e.name==t.name&&e.message==t.message;case S:case L:return e==t+"";case I:var a=mapToArray;case A:var l=1&n;if(a||(a=setToArray),e.size!=t.size&&!l)return!1;var c=o.get(e);if(c)return c==t;n|=2,o.set(e,t);var h=equalArrays(a(e),a(t),n,r,s,o);return o.delete(e),h;case k:if(ei)return ei.call(e)==ei.call(t)}return!1}(t,i,c,n,r,s,o);if(!(1&n)){var b=u&&Fe.call(t,"__wrapped__"),w=d&&Fe.call(i,"__wrapped__");if(b||w){var E=b?t.value():t,P=w?i.value():i;return o||(o=new Stack),s(E,P,n,r,o)}}if(!p)return!1;return o||(o=new Stack),function(t,i,n,r,s,o){var a=1&n,l=getAllKeys(t),c=l.length,h=getAllKeys(i),u=h.length;if(c!=u&&!a)return!1;var d=c;for(;d--;){var p=l[d];if(!(a?p in i:Fe.call(i,p)))return!1}var f=o.get(t);if(f&&o.get(i))return f==i;var g=!0;o.set(t,i),o.set(i,t);var _=a;for(;++d<c;){var y=t[p=l[d]],v=i[p];if(r)var b=a?r(v,y,p,i,t,o):r(y,v,p,t,i,o);if(!(b===e?y===v||s(y,v,n,r,o):b)){g=!1;break}_||(_="constructor"==p)}if(g&&!_){var w=t.constructor,I=i.constructor;w==I||!("constructor"in t)||!("constructor"in i)||"function"==typeof w&&w instanceof w&&"function"==typeof I&&I instanceof I||(g=!1)}return o.delete(t),o.delete(i),g}(t,i,n,r,s,o)}(t,i,n,r,baseIsEqual,s))}function baseIsMatch(t,i,n,r){var s=n.length,o=s,a=!r;if(null==t)return!o;for(t=Le(t);s--;){var l=n[s];if(a&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++s<o;){var c=(l=n[s])[0],h=t[c],u=l[1];if(a&&l[2]){if(h===e&&!(c in t))return!1}else{var d=new Stack;if(r)var p=r(h,u,c,t,i,d);if(!(p===e?baseIsEqual(u,h,3,r,d):p))return!1}}return!0}function baseIsNative(e){return!(!isObject(e)||(t=e,Ue&&Ue in t))&&(isFunction(e)?qe:ge).test(toSource(e));var t}function baseIteratee(e){return"function"==typeof e?e:null==e?identity:"object"==typeof e?on(e)?baseMatchesProperty(e[0],e[1]):baseMatches(e):property(e)}function baseKeys(e){if(!isPrototype(e))return Dt(e);var t=[];for(var i in Le(e))Fe.call(e,i)&&"constructor"!=i&&t.push(i);return t}function baseKeysIn(e){if(!isObject(e))return function(e){var t=[];if(null!=e)for(var i in Le(e))t.push(i);return t}(e);var t=isPrototype(e),i=[];for(var n in e)("constructor"!=n||!t&&Fe.call(e,n))&&i.push(n);return i}function baseLt(e,t){return e<t}function baseMap(e,t){var i=-1,n=isArrayLike(e)?Ce(e.length):[];return ni(e,(function(e,r,s){n[++i]=t(e,r,s)})),n}function baseMatches(e){var t=getMatchData(e);return 1==t.length&&t[0][2]?matchesStrictComparable(t[0][0],t[0][1]):function(i){return i===e||baseIsMatch(i,e,t)}}function baseMatchesProperty(t,i){return isKey(t)&&isStrictComparable(i)?matchesStrictComparable(toKey(t),i):function(n){var r=get(n,t);return r===e&&r===i?hasIn(n,t):baseIsEqual(i,r,3)}}function baseMerge(t,i,n,r,s){t!==i&&si(i,(function(o,a){if(s||(s=new Stack),isObject(o))!function(t,i,n,r,s,o,a){var l=safeGet(t,n),c=safeGet(i,n),h=a.get(c);if(h)return void assignMergeValue(t,n,h);var u=o?o(l,c,n+"",t,i,a):e,d=u===e;if(d){var p=on(c),f=!p&&ln(c),g=!p&&!f&&pn(c);u=c,p||f||g?on(l)?u=l:isArrayLikeObject(l)?u=copyArray(l):f?(d=!1,u=cloneBuffer(c,!0)):g?(d=!1,u=cloneTypedArray(c,!0)):u=[]:isPlainObject(c)||sn(c)?(u=l,sn(l)?u=toPlainObject(l):isObject(l)&&!isFunction(l)||(u=initCloneObject(c))):d=!1}d&&(a.set(c,u),s(u,c,r,o,a),a.delete(c));assignMergeValue(t,n,u)}(t,i,a,n,baseMerge,r,s);else{var l=r?r(safeGet(t,a),o,a+"",t,i,s):e;l===e&&(l=o),assignMergeValue(t,a,l)}}),keysIn)}function baseNth(t,i){var n=t.length;if(n)return isIndex(i+=i<0?n:0,n)?t[i]:e}function baseOrderBy(e,t,i){var n=-1;t=arrayMap(t.length?t:[identity],baseUnary(getIteratee()));var r=baseMap(e,(function(e,i,r){var s=arrayMap(t,(function(t){return t(e)}));return{criteria:s,index:++n,value:e}}));return function(e,t){var i=e.length;for(e.sort(t);i--;)e[i]=e[i].value;return e}(r,(function(e,t){return function(e,t,i){var n=-1,r=e.criteria,s=t.criteria,o=r.length,a=i.length;for(;++n<o;){var l=compareAscending(r[n],s[n]);if(l)return n>=a?l:l*("desc"==i[n]?-1:1)}return e.index-t.index}(e,t,i)}))}function basePickBy(e,t,i){for(var n=-1,r=t.length,s={};++n<r;){var o=t[n],a=baseGet(e,o);i(a,o)&&baseSet(s,castPath(o,e),a)}return s}function basePullAll(e,t,i,n){var r=n?baseIndexOfWith:baseIndexOf,s=-1,o=t.length,a=e;for(e===t&&(t=copyArray(t)),i&&(a=arrayMap(e,baseUnary(i)));++s<o;)for(var l=0,c=t[s],h=i?i(c):c;(l=r(a,h,l,n))>-1;)a!==e&&Je.call(a,l,1),Je.call(e,l,1);return e}function basePullAt(e,t){for(var i=e?t.length:0,n=i-1;i--;){var r=t[i];if(i==n||r!==s){var s=r;isIndex(r)?Je.call(e,r,1):baseUnset(e,r)}}return e}function baseRandom(e,t){return e+Tt(Mt()*(t-e+1))}function baseRepeat(e,t){var i="";if(!e||t<1||t>h)return i;do{t%2&&(i+=e),(t=Tt(t/2))&&(e+=e)}while(t);return i}function baseRest(e,t){return vi(overRest(e,t,identity),e+"")}function baseSample(e){return arraySample(values(e))}function baseSampleSize(e,t){var i=values(e);return shuffleSelf(i,baseClamp(t,0,i.length))}function baseSet(t,i,n,r){if(!isObject(t))return t;for(var s=-1,o=(i=castPath(i,t)).length,a=o-1,l=t;null!=l&&++s<o;){var c=toKey(i[s]),h=n;if(s!=a){var u=l[c];(h=r?r(u,c,l):e)===e&&(h=isObject(u)?u:isIndex(i[s+1])?[]:{})}assignValue(l,c,h),l=l[c]}return t}var ai=Gt?function(e,t){return Gt.set(e,t),e}:identity,li=ut?function(e,t){return ut(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity;function baseShuffle(e){return shuffleSelf(values(e))}function baseSlice(e,t,i){var n=-1,r=e.length;t<0&&(t=-t>r?0:r+t),(i=i>r?r:i)<0&&(i+=r),r=t>i?0:i-t>>>0,t>>>=0;for(var s=Ce(r);++n<r;)s[n]=e[n+t];return s}function baseSome(e,t){var i;return ni(e,(function(e,n,r){return!(i=t(e,n,r))})),!!i}function baseSortedIndex(e,t,i){var n=0,r=null==e?n:e.length;if("number"==typeof t&&t==t&&r<=2147483647){for(;n<r;){var s=n+r>>>1,o=e[s];null!==o&&!isSymbol(o)&&(i?o<=t:o<t)?n=s+1:r=s}return r}return baseSortedIndexBy(e,t,identity,i)}function baseSortedIndexBy(t,i,n,r){i=n(i);for(var s=0,o=null==t?0:t.length,a=i!=i,l=null===i,c=isSymbol(i),h=i===e;s<o;){var u=Tt((s+o)/2),d=n(t[u]),p=d!==e,f=null===d,g=d==d,_=isSymbol(d);if(a)var y=r||g;else y=h?g&&(r||p):l?g&&p&&(r||!f):c?g&&p&&!f&&(r||!_):!f&&!_&&(r?d<=i:d<i);y?s=u+1:o=u}return Ot(o,4294967294)}function baseSortedUniq(e,t){for(var i=-1,n=e.length,r=0,s=[];++i<n;){var o=e[i],a=t?t(o):o;if(!i||!eq(a,l)){var l=a;s[r++]=0===o?0:o}}return s}function baseToNumber(e){return"number"==typeof e?e:isSymbol(e)?u:+e}function baseToString(e){if("string"==typeof e)return e;if(on(e))return arrayMap(e,baseToString)+"";if(isSymbol(e))return ti?ti.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function baseUniq(e,t,i){var n=-1,r=arrayIncludes,s=e.length,o=!0,a=[],l=a;if(i)o=!1,r=arrayIncludesWith;else if(s>=200){var c=t?null:ui(e);if(c)return setToArray(c);o=!1,r=cacheHas,l=new SetCache}else l=t?[]:a;e:for(;++n<s;){var h=e[n],u=t?t(h):h;if(h=i||0!==h?h:0,o&&u==u){for(var d=l.length;d--;)if(l[d]===u)continue e;t&&l.push(u),a.push(h)}else r(l,u,i)||(l!==a&&l.push(u),a.push(h))}return a}function baseUnset(e,t){return null==(e=parent(e,t=castPath(t,e)))||delete e[toKey(last(t))]}function baseUpdate(e,t,i,n){return baseSet(e,t,i(baseGet(e,t)),n)}function baseWhile(e,t,i,n){for(var r=e.length,s=n?r:-1;(n?s--:++s<r)&&t(e[s],s,e););return i?baseSlice(e,n?0:s,n?s+1:r):baseSlice(e,n?s+1:0,n?r:s)}function baseWrapperValue(e,t){var i=e;return i instanceof LazyWrapper&&(i=i.value()),arrayReduce(t,(function(e,t){return t.func.apply(t.thisArg,arrayPush([e],t.args))}),i)}function baseXor(e,t,i){var n=e.length;if(n<2)return n?baseUniq(e[0]):[];for(var r=-1,s=Ce(n);++r<n;)for(var o=e[r],a=-1;++a<n;)a!=r&&(s[r]=baseDifference(s[r]||o,e[a],t,i));return baseUniq(baseFlatten(s,1),t,i)}function baseZipObject(t,i,n){for(var r=-1,s=t.length,o=i.length,a={};++r<s;){var l=r<o?i[r]:e;n(a,t[r],l)}return a}function castArrayLikeObject(e){return isArrayLikeObject(e)?e:[]}function castFunction(e){return"function"==typeof e?e:identity}function castPath(e,t){return on(e)?e:isKey(e,t)?[e]:bi(toString(e))}var ci=baseRest;function castSlice(t,i,n){var r=t.length;return n=n===e?r:n,!i&&n>=r?t:baseSlice(t,i,n)}var hi=pt||function(e){return dt.clearTimeout(e)};function cloneBuffer(e,t){if(t)return e.slice();var i=e.length,n=Ye?Ye(i):new e.constructor(i);return e.copy(n),n}function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new Ge(t).set(new Ge(e)),t}function cloneTypedArray(e,t){var i=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function compareAscending(t,i){if(t!==i){var n=t!==e,r=null===t,s=t==t,o=isSymbol(t),a=i!==e,l=null===i,c=i==i,h=isSymbol(i);if(!l&&!h&&!o&&t>i||o&&a&&c&&!l&&!h||r&&a&&c||!n&&c||!s)return 1;if(!r&&!o&&!h&&t<i||h&&n&&s&&!r&&!o||l&&n&&s||!a&&s||!c)return-1}return 0}function composeArgs(e,t,i,n){for(var r=-1,s=e.length,o=i.length,a=-1,l=t.length,c=Vt(s-o,0),h=Ce(l+c),u=!n;++a<l;)h[a]=t[a];for(;++r<o;)(u||r<s)&&(h[i[r]]=e[r]);for(;c--;)h[a++]=e[r++];return h}function composeArgsRight(e,t,i,n){for(var r=-1,s=e.length,o=-1,a=i.length,l=-1,c=t.length,h=Vt(s-a,0),u=Ce(h+c),d=!n;++r<h;)u[r]=e[r];for(var p=r;++l<c;)u[p+l]=t[l];for(;++o<a;)(d||r<s)&&(u[p+i[o]]=e[r++]);return u}function copyArray(e,t){var i=-1,n=e.length;for(t||(t=Ce(n));++i<n;)t[i]=e[i];return t}function copyObject(t,i,n,r){var s=!n;n||(n={});for(var o=-1,a=i.length;++o<a;){var l=i[o],c=r?r(n[l],t[l],l,n,t):e;c===e&&(c=t[l]),s?baseAssignValue(n,l,c):assignValue(n,l,c)}return n}function createAggregator(e,t){return function(i,n){var r=on(i)?arrayAggregator:baseAggregator,s=t?t():{};return r(i,e,getIteratee(n,2),s)}}function createAssigner(t){return baseRest((function(i,n){var r=-1,s=n.length,o=s>1?n[s-1]:e,a=s>2?n[2]:e;for(o=t.length>3&&"function"==typeof o?(s--,o):e,a&&isIterateeCall(n[0],n[1],a)&&(o=s<3?e:o,s=1),i=Le(i);++r<s;){var l=n[r];l&&t(i,l,r,o)}return i}))}function createBaseEach(e,t){return function(i,n){if(null==i)return i;if(!isArrayLike(i))return e(i,n);for(var r=i.length,s=t?r:-1,o=Le(i);(t?s--:++s<r)&&!1!==n(o[s],s,o););return i}}function createBaseFor(e){return function(t,i,n){for(var r=-1,s=Le(t),o=n(t),a=o.length;a--;){var l=o[e?a:++r];if(!1===i(s[l],l,s))break}return t}}function createCaseFirst(t){return function(i){var n=hasUnicode(i=toString(i))?stringToArray(i):e,r=n?n[0]:i.charAt(0),s=n?castSlice(n,1).join(""):i.slice(1);return r[t]()+s}}function createCompounder(e){return function(t){return arrayReduce(words(deburr(t).replace(Xe,"")),e,"")}}function createCtor(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var i=ii(e.prototype),n=e.apply(i,t);return isObject(n)?n:i}}function createFind(t){return function(i,n,r){var s=Le(i);if(!isArrayLike(i)){var o=getIteratee(n,3);i=keys(i),n=function(e){return o(s[e],e,s)}}var a=t(i,n,r);return a>-1?s[o?i[a]:a]:e}}function createFlow(i){return flatRest((function(n){var r=n.length,s=r,o=LodashWrapper.prototype.thru;for(i&&n.reverse();s--;){var a=n[s];if("function"!=typeof a)throw new xe(t);if(o&&!l&&"wrapper"==getFuncName(a))var l=new LodashWrapper([],!0)}for(s=l?s:r;++s<r;){var c=getFuncName(a=n[s]),h="wrapper"==c?di(a):e;l=h&&isLaziable(h[0])&&424==h[1]&&!h[4].length&&1==h[9]?l[getFuncName(h[0])].apply(l,h[3]):1==a.length&&isLaziable(a)?l[c]():l.thru(a)}return function(){var e=arguments,t=e[0];if(l&&1==e.length&&on(t))return l.plant(t).value();for(var i=0,s=r?n[i].apply(this,e):t;++i<r;)s=n[i].call(this,s);return s}}))}function createHybrid(t,i,n,r,s,o,l,c,h,u){var d=i&a,p=1&i,f=2&i,g=24&i,_=512&i,y=f?e:createCtor(t);return function wrapper(){for(var a=arguments.length,v=Ce(a),b=a;b--;)v[b]=arguments[b];if(g)var w=getHolder(wrapper),I=function(e,t){for(var i=e.length,n=0;i--;)e[i]===t&&++n;return n}(v,w);if(r&&(v=composeArgs(v,r,s,g)),o&&(v=composeArgsRight(v,o,l,g)),a-=I,g&&a<u){var C=replaceHolders(v,w);return createRecurry(t,i,createHybrid,wrapper.placeholder,n,v,C,c,h,u-a)}var T=p?n:this,E=f?T[t]:t;return a=v.length,c?v=function(t,i){var n=t.length,r=Ot(i.length,n),s=copyArray(t);for(;r--;){var o=i[r];t[r]=isIndex(o,n)?s[o]:e}return t}(v,c):_&&a>1&&v.reverse(),d&&h<a&&(v.length=h),this&&this!==dt&&this instanceof wrapper&&(E=y||createCtor(E)),E.apply(T,v)}}function createInverter(e,t){return function(i,n){return function(e,t,i,n){return baseForOwn(e,(function(e,r,s){t(n,i(e),r,s)})),n}(i,e,t(n),{})}}function createMathOperation(t,i){return function(n,r){var s;if(n===e&&r===e)return i;if(n!==e&&(s=n),r!==e){if(s===e)return r;"string"==typeof n||"string"==typeof r?(n=baseToString(n),r=baseToString(r)):(n=baseToNumber(n),r=baseToNumber(r)),s=t(n,r)}return s}}function createOver(e){return flatRest((function(t){return t=arrayMap(t,baseUnary(getIteratee())),baseRest((function(i){var n=this;return e(t,(function(e){return apply(e,n,i)}))}))}))}function createPadding(t,i){var n=(i=i===e?" ":baseToString(i)).length;if(n<2)return n?baseRepeat(i,t):i;var r=baseRepeat(i,_t(t/stringSize(i)));return hasUnicode(i)?castSlice(stringToArray(r),0,t).join(""):r.slice(0,t)}function createRange(t){return function(i,n,r){return r&&"number"!=typeof r&&isIterateeCall(i,n,r)&&(n=r=e),i=toFinite(i),n===e?(n=i,i=0):n=toFinite(n),function(e,t,i,n){for(var r=-1,s=Vt(_t((t-e)/(i||1)),0),o=Ce(s);s--;)o[n?s:++r]=e,e+=i;return o}(i,n,r=r===e?i<n?1:-1:toFinite(r),t)}}function createRelationalOperation(e){return function(t,i){return"string"==typeof t&&"string"==typeof i||(t=toNumber(t),i=toNumber(i)),e(t,i)}}function createRecurry(t,i,n,r,a,l,c,h,u,d){var p=8&i;i|=p?s:o,4&(i&=~(p?o:s))||(i&=-4);var f=[t,i,a,p?l:e,p?c:e,p?e:l,p?e:c,h,u,d],g=n.apply(e,f);return isLaziable(t)&&_i(g,f),g.placeholder=r,setWrapToString(g,t,i)}function createRound(e){var t=Ae[e];return function(e,i){if(e=toNumber(e),(i=null==i?0:Ot(toInteger(i),292))&&xt(e)){var n=(toString(e)+"e").split("e");return+((n=(toString(t(n[0]+"e"+(+n[1]+i)))+"e").split("e"))[0]+"e"+(+n[1]-i))}return t(e)}}var ui=qt&&1/setToArray(new qt([,-0]))[1]==c?function(e){return new qt(e)}:noop;function createToPairs(e){return function(t){var i=gi(t);return i==I?mapToArray(t):i==A?setToPairs(t):function(e,t){return arrayMap(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function createWrap(i,c,h,u,d,p,f,g){var _=2&c;if(!_&&"function"!=typeof i)throw new xe(t);var y=u?u.length:0;if(y||(c&=-97,u=d=e),f=f===e?f:Vt(toInteger(f),0),g=g===e?g:toInteger(g),y-=d?d.length:0,c&o){var v=u,b=d;u=d=e}var w=_?e:di(i),I=[i,c,h,u,d,v,b,p,f,g];if(w&&function(e,t){var i=e[1],r=t[1],s=i|r,o=s<131,c=r==a&&8==i||r==a&&i==l&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==i;if(!o&&!c)return e;1&r&&(e[2]=t[2],s|=1&i?0:4);var h=t[3];if(h){var u=e[3];e[3]=u?composeArgs(u,h,t[4]):h,e[4]=u?replaceHolders(e[3],n):t[4]}(h=t[5])&&(u=e[5],e[5]=u?composeArgsRight(u,h,t[6]):h,e[6]=u?replaceHolders(e[5],n):t[6]);(h=t[7])&&(e[7]=h);r&a&&(e[8]=null==e[8]?t[8]:Ot(e[8],t[8]));null==e[9]&&(e[9]=t[9]);e[0]=t[0],e[1]=s}(I,w),i=I[0],c=I[1],h=I[2],u=I[3],d=I[4],!(g=I[9]=I[9]===e?_?0:i.length:Vt(I[9]-y,0))&&24&c&&(c&=-25),c&&1!=c)C=8==c||c==r?function(t,i,n){var r=createCtor(t);return function wrapper(){for(var s=arguments.length,o=Ce(s),a=s,l=getHolder(wrapper);a--;)o[a]=arguments[a];var c=s<3&&o[0]!==l&&o[s-1]!==l?[]:replaceHolders(o,l);return(s-=c.length)<n?createRecurry(t,i,createHybrid,wrapper.placeholder,e,o,c,e,e,n-s):apply(this&&this!==dt&&this instanceof wrapper?r:t,this,o)}}(i,c,g):c!=s&&33!=c||d.length?createHybrid.apply(e,I):function(e,t,i,n){var r=1&t,s=createCtor(e);return function wrapper(){for(var t=-1,o=arguments.length,a=-1,l=n.length,c=Ce(l+o),h=this&&this!==dt&&this instanceof wrapper?s:e;++a<l;)c[a]=n[a];for(;o--;)c[a++]=arguments[++t];return apply(h,r?i:this,c)}}(i,c,h,u);else var C=function(e,t,i){var n=1&t,r=createCtor(e);return function wrapper(){return(this&&this!==dt&&this instanceof wrapper?r:e).apply(n?i:this,arguments)}}(i,c,h);return setWrapToString((w?ai:_i)(C,I),i,c)}function customDefaultsAssignIn(t,i,n,r){return t===e||eq(t,Ve[n])&&!Fe.call(r,n)?i:t}function customDefaultsMerge(t,i,n,r,s,o){return isObject(t)&&isObject(i)&&(o.set(i,t),baseMerge(t,i,e,customDefaultsMerge,o),o.delete(i)),t}function customOmitClone(t){return isPlainObject(t)?e:t}function equalArrays(t,i,n,r,s,o){var a=1&n,l=t.length,c=i.length;if(l!=c&&!(a&&c>l))return!1;var h=o.get(t);if(h&&o.get(i))return h==i;var u=-1,d=!0,p=2&n?new SetCache:e;for(o.set(t,i),o.set(i,t);++u<l;){var f=t[u],g=i[u];if(r)var _=a?r(g,f,u,i,t,o):r(f,g,u,t,i,o);if(_!==e){if(_)continue;d=!1;break}if(p){if(!arraySome(i,(function(e,t){if(!cacheHas(p,t)&&(f===e||s(f,e,n,r,o)))return p.push(t)}))){d=!1;break}}else if(f!==g&&!s(f,g,n,r,o)){d=!1;break}}return o.delete(t),o.delete(i),d}function flatRest(t){return vi(overRest(t,e,flatten),t+"")}function getAllKeys(e){return baseGetAllKeys(e,keys,pi)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,fi)}var di=Gt?function(e){return Gt.get(e)}:noop;function getFuncName(e){for(var t=e.name+"",i=Yt[t],n=Fe.call(Yt,t)?i.length:0;n--;){var r=i[n],s=r.func;if(null==s||s==e)return r.name}return t}function getHolder(e){return(Fe.call(lodash,"placeholder")?lodash:e).placeholder}function getIteratee(){var e=lodash.iteratee||iteratee;return e=e===iteratee?baseIteratee:e,arguments.length?e(arguments[0],arguments[1]):e}function getMapData(e,t){var i,n,r=e.__data__;return("string"==(n=typeof(i=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==i:null===i)?r["string"==typeof t?"string":"hash"]:r.map}function getMatchData(e){for(var t=keys(e),i=t.length;i--;){var n=t[i],r=e[n];t[i]=[n,r,isStrictComparable(r)]}return t}function getNative(t,i){var n=function(t,i){return null==t?e:t[i]}(t,i);return baseIsNative(n)?n:e}var pi=kt?function(e){return null==e?[]:(e=Le(e),arrayFilter(kt(e),(function(t){return Ke.call(e,t)})))}:stubArray,fi=kt?function(e){for(var t=[];e;)arrayPush(t,pi(e)),e=$e(e);return t}:stubArray,gi=baseGetTag;function hasPath(e,t,i){for(var n=-1,r=(t=castPath(t,e)).length,s=!1;++n<r;){var o=toKey(t[n]);if(!(s=null!=e&&i(e,o)))break;e=e[o]}return s||++n!=r?s:!!(r=null==e?0:e.length)&&isLength(r)&&isIndex(o,r)&&(on(e)||sn(e))}function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:ii($e(e))}function isFlattenable(e){return on(e)||sn(e)||!!(tt&&e&&e[tt])}function isIndex(e,t){var i=typeof e;return!!(t=null==t?h:t)&&("number"==i||"symbol"!=i&&_e.test(e))&&e>-1&&e%1==0&&e<t}function isIterateeCall(e,t,i){if(!isObject(i))return!1;var n=typeof t;return!!("number"==n?isArrayLike(i)&&isIndex(t,i.length):"string"==n&&t in i)&&eq(i[t],e)}function isKey(e,t){if(on(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!isSymbol(e))||(J.test(e)||!Z.test(e)||null!=t&&e in Le(t))}function isLaziable(e){var t=getFuncName(e),i=lodash[t];if("function"!=typeof i||!(t in LazyWrapper.prototype))return!1;if(e===i)return!0;var n=di(i);return!!n&&e===n[0]}(Bt&&gi(new Bt(new ArrayBuffer(1)))!=R||Ht&&gi(new Ht)!=I||jt&&gi(jt.resolve())!=E||qt&&gi(new qt)!=A||zt&&gi(new zt)!=P)&&(gi=function(t){var i=baseGetTag(t),n=i==T?t.constructor:e,r=n?toSource(n):"";if(r)switch(r){case $t:return R;case Qt:return I;case Kt:return E;case Xt:return A;case Zt:return P}return i});var mi=Oe?isFunction:stubFalse;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Ve)}function isStrictComparable(e){return e==e&&!isObject(e)}function matchesStrictComparable(t,i){return function(n){return null!=n&&(n[t]===i&&(i!==e||t in Le(n)))}}function overRest(t,i,n){return i=Vt(i===e?t.length-1:i,0),function(){for(var e=arguments,r=-1,s=Vt(e.length-i,0),o=Ce(s);++r<s;)o[r]=e[i+r];r=-1;for(var a=Ce(i+1);++r<i;)a[r]=e[r];return a[i]=n(o),apply(t,this,a)}}function parent(e,t){return t.length<2?e:baseGet(e,baseSlice(t,0,-1))}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}var _i=shortOut(ai),yi=mt||function(e,t){return dt.setTimeout(e,t)},vi=shortOut(li);function setWrapToString(e,t,i){var n=t+"";return vi(e,function(e,t){var i=t.length;if(!i)return e;var n=i-1;return t[n]=(i>1?"& ":"")+t[n],t=t.join(i>2?", ":" "),e.replace(oe,"{\n/* [wrapped with "+t+"] */\n")}(n,function(e,t){return arrayEach(p,(function(i){var n="_."+i[0];t&i[1]&&!arrayIncludes(e,n)&&e.push(n)})),e.sort()}(function(e){var t=e.match(ae);return t?t[1].split(le):[]}(n),i)))}function shortOut(t){var i=0,n=0;return function(){var r=Nt(),s=16-(r-n);if(n=r,s>0){if(++i>=800)return arguments[0]}else i=0;return t.apply(e,arguments)}}function shuffleSelf(t,i){var n=-1,r=t.length,s=r-1;for(i=i===e?r:i;++n<i;){var o=baseRandom(n,s),a=t[o];t[o]=t[n],t[n]=a}return t.length=i,t}var bi=function(e){var t=memoize(e,(function(e){return 500===i.size&&i.clear(),e})),i=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(ee,(function(e,i,n,r){t.push(n?r.replace(he,"$1"):i||e)})),t}));function toKey(e){if("string"==typeof e||isSymbol(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function toSource(e){if(null!=e){try{return Ne.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function wrapperClone(e){if(e instanceof LazyWrapper)return e.clone();var t=new LodashWrapper(e.__wrapped__,e.__chain__);return t.__actions__=copyArray(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var wi=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0)):[]})),Ii=baseRest((function(t,i){var n=last(i);return isArrayLikeObject(n)&&(n=e),isArrayLikeObject(t)?baseDifference(t,baseFlatten(i,1,isArrayLikeObject,!0),getIteratee(n,2)):[]})),Ci=baseRest((function(t,i){var n=last(i);return isArrayLikeObject(n)&&(n=e),isArrayLikeObject(t)?baseDifference(t,baseFlatten(i,1,isArrayLikeObject,!0),e,n):[]}));function findIndex(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var r=null==i?0:toInteger(i);return r<0&&(r=Vt(n+r,0)),baseFindIndex(e,getIteratee(t,3),r)}function findLastIndex(t,i,n){var r=null==t?0:t.length;if(!r)return-1;var s=r-1;return n!==e&&(s=toInteger(n),s=n<0?Vt(r+s,0):Ot(s,r-1)),baseFindIndex(t,getIteratee(i,3),s,!0)}function flatten(e){return(null==e?0:e.length)?baseFlatten(e,1):[]}function head(t){return t&&t.length?t[0]:e}var Ti=baseRest((function(e){var t=arrayMap(e,castArrayLikeObject);return t.length&&t[0]===e[0]?baseIntersection(t):[]})),Ei=baseRest((function(t){var i=last(t),n=arrayMap(t,castArrayLikeObject);return i===last(n)?i=e:n.pop(),n.length&&n[0]===t[0]?baseIntersection(n,getIteratee(i,2)):[]})),Si=baseRest((function(t){var i=last(t),n=arrayMap(t,castArrayLikeObject);return(i="function"==typeof i?i:e)&&n.pop(),n.length&&n[0]===t[0]?baseIntersection(n,e,i):[]}));function last(t){var i=null==t?0:t.length;return i?t[i-1]:e}var Ai=baseRest(pullAll);function pullAll(e,t){return e&&e.length&&t&&t.length?basePullAll(e,t):e}var Li=flatRest((function(e,t){var i=null==e?0:e.length,n=baseAt(e,t);return basePullAt(e,arrayMap(t,(function(e){return isIndex(e,i)?+e:e})).sort(compareAscending)),n}));function reverse(e){return null==e?e:Ut.call(e)}var ki=baseRest((function(e){return baseUniq(baseFlatten(e,1,isArrayLikeObject,!0))})),Pi=baseRest((function(t){var i=last(t);return isArrayLikeObject(i)&&(i=e),baseUniq(baseFlatten(t,1,isArrayLikeObject,!0),getIteratee(i,2))})),xi=baseRest((function(t){var i=last(t);return i="function"==typeof i?i:e,baseUniq(baseFlatten(t,1,isArrayLikeObject,!0),e,i)}));function unzip(e){if(!e||!e.length)return[];var t=0;return e=arrayFilter(e,(function(e){if(isArrayLikeObject(e))return t=Vt(e.length,t),!0})),baseTimes(t,(function(t){return arrayMap(e,baseProperty(t))}))}function unzipWith(t,i){if(!t||!t.length)return[];var n=unzip(t);return null==i?n:arrayMap(n,(function(t){return apply(i,e,t)}))}var Ri=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,t):[]})),Di=baseRest((function(e){return baseXor(arrayFilter(e,isArrayLikeObject))})),Vi=baseRest((function(t){var i=last(t);return isArrayLikeObject(i)&&(i=e),baseXor(arrayFilter(t,isArrayLikeObject),getIteratee(i,2))})),Oi=baseRest((function(t){var i=last(t);return i="function"==typeof i?i:e,baseXor(arrayFilter(t,isArrayLikeObject),e,i)})),Ni=baseRest(unzip);var Fi=baseRest((function(t){var i=t.length,n=i>1?t[i-1]:e;return n="function"==typeof n?(t.pop(),n):e,unzipWith(t,n)}));function chain(e){var t=lodash(e);return t.__chain__=!0,t}function thru(e,t){return t(e)}var Mi=flatRest((function(t){var i=t.length,n=i?t[0]:0,r=this.__wrapped__,interceptor=function(e){return baseAt(e,t)};return!(i>1||this.__actions__.length)&&r instanceof LazyWrapper&&isIndex(n)?((r=r.slice(n,+n+(i?1:0))).__actions__.push({func:thru,args:[interceptor],thisArg:e}),new LodashWrapper(r,this.__chain__).thru((function(t){return i&&!t.length&&t.push(e),t}))):this.thru(interceptor)}));var Ui=createAggregator((function(e,t,i){Fe.call(e,i)?++e[i]:baseAssignValue(e,i,1)}));var Bi=createFind(findIndex),Hi=createFind(findLastIndex);function forEach(e,t){return(on(e)?arrayEach:ni)(e,getIteratee(t,3))}function forEachRight(e,t){return(on(e)?arrayEachRight:ri)(e,getIteratee(t,3))}var ji=createAggregator((function(e,t,i){Fe.call(e,i)?e[i].push(t):baseAssignValue(e,i,[t])}));var qi=baseRest((function(e,t,i){var n=-1,r="function"==typeof t,s=isArrayLike(e)?Ce(e.length):[];return ni(e,(function(e){s[++n]=r?apply(t,e,i):baseInvoke(e,t,i)})),s})),zi=createAggregator((function(e,t,i){baseAssignValue(e,i,t)}));function map(e,t){return(on(e)?arrayMap:baseMap)(e,getIteratee(t,3))}var Wi=createAggregator((function(e,t,i){e[i?0:1].push(t)}),(function(){return[[],[]]}));var Gi=baseRest((function(e,t){if(null==e)return[];var i=t.length;return i>1&&isIterateeCall(e,t[0],t[1])?t=[]:i>2&&isIterateeCall(t[0],t[1],t[2])&&(t=[t[0]]),baseOrderBy(e,baseFlatten(t,1),[])})),Yi=ft||function(){return dt.Date.now()};function ary(t,i,n){return i=n?e:i,i=t&&null==i?t.length:i,createWrap(t,a,e,e,e,e,i)}function before(i,n){var r;if("function"!=typeof n)throw new xe(t);return i=toInteger(i),function(){return--i>0&&(r=n.apply(this,arguments)),i<=1&&(n=e),r}}var $i=baseRest((function(e,t,i){var n=1;if(i.length){var r=replaceHolders(i,getHolder($i));n|=s}return createWrap(e,n,t,i,r)})),Qi=baseRest((function(e,t,i){var n=3;if(i.length){var r=replaceHolders(i,getHolder(Qi));n|=s}return createWrap(t,n,e,i,r)}));function debounce(i,n,r){var s,o,a,l,c,h,u=0,d=!1,p=!1,f=!0;if("function"!=typeof i)throw new xe(t);function invokeFunc(t){var n=s,r=o;return s=o=e,u=t,l=i.apply(r,n)}function shouldInvoke(t){var i=t-h;return h===e||i>=n||i<0||p&&t-u>=a}function timerExpired(){var e=Yi();if(shouldInvoke(e))return trailingEdge(e);c=yi(timerExpired,function(e){var t=n-(e-h);return p?Ot(t,a-(e-u)):t}(e))}function trailingEdge(t){return c=e,f&&s?invokeFunc(t):(s=o=e,l)}function debounced(){var t=Yi(),i=shouldInvoke(t);if(s=arguments,o=this,h=t,i){if(c===e)return function(e){return u=e,c=yi(timerExpired,n),d?invokeFunc(e):l}(h);if(p)return hi(c),c=yi(timerExpired,n),invokeFunc(h)}return c===e&&(c=yi(timerExpired,n)),l}return n=toNumber(n)||0,isObject(r)&&(d=!!r.leading,a=(p="maxWait"in r)?Vt(toNumber(r.maxWait)||0,n):a,f="trailing"in r?!!r.trailing:f),debounced.cancel=function(){c!==e&&hi(c),u=0,s=h=o=c=e},debounced.flush=function(){return c===e?l:trailingEdge(Yi())},debounced}var Ki=baseRest((function(e,t){return baseDelay(e,1,t)})),Xi=baseRest((function(e,t,i){return baseDelay(e,toNumber(t)||0,i)}));function memoize(e,i){if("function"!=typeof e||null!=i&&"function"!=typeof i)throw new xe(t);var memoized=function(){var t=arguments,n=i?i.apply(this,t):t[0],r=memoized.cache;if(r.has(n))return r.get(n);var s=e.apply(this,t);return memoized.cache=r.set(n,s)||r,s};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(e){if("function"!=typeof e)throw new xe(t);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}memoize.Cache=MapCache;var Zi=ci((function(e,t){var i=(t=1==t.length&&on(t[0])?arrayMap(t[0],baseUnary(getIteratee())):arrayMap(baseFlatten(t,1),baseUnary(getIteratee()))).length;return baseRest((function(n){for(var r=-1,s=Ot(n.length,i);++r<s;)n[r]=t[r].call(this,n[r]);return apply(e,this,n)}))})),Ji=baseRest((function(t,i){var n=replaceHolders(i,getHolder(Ji));return createWrap(t,s,e,i,n)})),en=baseRest((function(t,i){var n=replaceHolders(i,getHolder(en));return createWrap(t,o,e,i,n)})),tn=flatRest((function(t,i){return createWrap(t,l,e,e,e,i)}));function eq(e,t){return e===t||e!=e&&t!=t}var nn=createRelationalOperation(baseGt),rn=createRelationalOperation((function(e,t){return e>=t})),sn=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&Fe.call(e,"callee")&&!Ke.call(e,"callee")},on=Ce.isArray,an=yt?baseUnary(yt):function(e){return isObjectLike(e)&&baseGetTag(e)==x};function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction(e)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike(e)}var ln=Pt||stubFalse,cn=vt?baseUnary(vt):function(e){return isObjectLike(e)&&baseGetTag(e)==y};function isError(e){if(!isObjectLike(e))return!1;var t=baseGetTag(e);return t==v||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!isPlainObject(e)}function isFunction(e){if(!isObject(e))return!1;var t=baseGetTag(e);return t==b||t==w||"[object AsyncFunction]"==t||"[object Proxy]"==t}function isInteger(e){return"number"==typeof e&&e==toInteger(e)}function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=h}function isObject(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function isObjectLike(e){return null!=e&&"object"==typeof e}var hn=bt?baseUnary(bt):function(e){return isObjectLike(e)&&gi(e)==I};function isNumber(e){return"number"==typeof e||isObjectLike(e)&&baseGetTag(e)==C}function isPlainObject(e){if(!isObjectLike(e)||baseGetTag(e)!=T)return!1;var t=$e(e);if(null===t)return!0;var i=Fe.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&Ne.call(i)==He}var un=wt?baseUnary(wt):function(e){return isObjectLike(e)&&baseGetTag(e)==S};var dn=It?baseUnary(It):function(e){return isObjectLike(e)&&gi(e)==A};function isString(e){return"string"==typeof e||!on(e)&&isObjectLike(e)&&baseGetTag(e)==L}function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==k}var pn=Ct?baseUnary(Ct):function(e){return isObjectLike(e)&&isLength(e.length)&&!!st[baseGetTag(e)]};var fn=createRelationalOperation(baseLt),gn=createRelationalOperation((function(e,t){return e<=t}));function toArray(e){if(!e)return[];if(isArrayLike(e))return isString(e)?stringToArray(e):copyArray(e);if(at&&e[at])return function(e){for(var t,i=[];!(t=e.next()).done;)i.push(t.value);return i}(e[at]());var t=gi(e);return(t==I?mapToArray:t==A?setToArray:values)(e)}function toFinite(e){return e?(e=toNumber(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function toInteger(e){var t=toFinite(e),i=t%1;return t==t?i?t-i:t:0}function toLength(e){return e?baseClamp(toInteger(e),0,d):0}function toNumber(e){if("number"==typeof e)return e;if(isSymbol(e))return u;if(isObject(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(ne,"");var i=fe.test(e);return i||me.test(e)?ct(e.slice(2),i?2:8):pe.test(e)?u:+e}function toPlainObject(e){return copyObject(e,keysIn(e))}function toString(e){return null==e?"":baseToString(e)}var mn=createAssigner((function(e,t){if(isPrototype(t)||isArrayLike(t))copyObject(t,keys(t),e);else for(var i in t)Fe.call(t,i)&&assignValue(e,i,t[i])})),_n=createAssigner((function(e,t){copyObject(t,keysIn(t),e)})),yn=createAssigner((function(e,t,i,n){copyObject(t,keysIn(t),e,n)})),vn=createAssigner((function(e,t,i,n){copyObject(t,keys(t),e,n)})),bn=flatRest(baseAt);var wn=baseRest((function(t,i){t=Le(t);var n=-1,r=i.length,s=r>2?i[2]:e;for(s&&isIterateeCall(i[0],i[1],s)&&(r=1);++n<r;)for(var o=i[n],a=keysIn(o),l=-1,c=a.length;++l<c;){var h=a[l],u=t[h];(u===e||eq(u,Ve[h])&&!Fe.call(t,h))&&(t[h]=o[h])}return t})),In=baseRest((function(t){return t.push(e,customDefaultsMerge),apply(An,e,t)}));function get(t,i,n){var r=null==t?e:baseGet(t,i);return r===e?n:r}function hasIn(e,t){return null!=e&&hasPath(e,t,baseHasIn)}var Cn=createInverter((function(e,t,i){null!=t&&"function"!=typeof t.toString&&(t=Be.call(t)),e[t]=i}),constant(identity)),Tn=createInverter((function(e,t,i){null!=t&&"function"!=typeof t.toString&&(t=Be.call(t)),Fe.call(e,t)?e[t].push(i):e[t]=[i]}),getIteratee),En=baseRest(baseInvoke);function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}var Sn=createAssigner((function(e,t,i){baseMerge(e,t,i)})),An=createAssigner((function(e,t,i,n){baseMerge(e,t,i,n)})),Ln=flatRest((function(e,t){var i={};if(null==e)return i;var n=!1;t=arrayMap(t,(function(t){return t=castPath(t,e),n||(n=t.length>1),t})),copyObject(e,getAllKeysIn(e),i),n&&(i=baseClone(i,7,customOmitClone));for(var r=t.length;r--;)baseUnset(i,t[r]);return i}));var kn=flatRest((function(e,t){return null==e?{}:function(e,t){return basePickBy(e,t,(function(t,i){return hasIn(e,i)}))}(e,t)}));function pickBy(e,t){if(null==e)return{};var i=arrayMap(getAllKeysIn(e),(function(e){return[e]}));return t=getIteratee(t),basePickBy(e,i,(function(e,i){return t(e,i[0])}))}var Pn=createToPairs(keys),xn=createToPairs(keysIn);function values(e){return null==e?[]:baseValues(e,keys(e))}var Rn=createCompounder((function(e,t,i){return t=t.toLowerCase(),e+(i?capitalize(t):t)}));function capitalize(e){return Un(toString(e).toLowerCase())}function deburr(e){return(e=toString(e))&&e.replace(ye,Et).replace(Ze,"")}var Dn=createCompounder((function(e,t,i){return e+(i?"-":"")+t.toLowerCase()})),Vn=createCompounder((function(e,t,i){return e+(i?" ":"")+t.toLowerCase()})),On=createCaseFirst("toLowerCase");var Nn=createCompounder((function(e,t,i){return e+(i?"_":"")+t.toLowerCase()}));var Fn=createCompounder((function(e,t,i){return e+(i?" ":"")+Un(t)}));var Mn=createCompounder((function(e,t,i){return e+(i?" ":"")+t.toUpperCase()})),Un=createCaseFirst("toUpperCase");function words(t,i,n){return t=toString(t),(i=n?e:i)===e?function(e){return it.test(e)}(t)?function(e){return e.match(et)||[]}(t):function(e){return e.match(ce)||[]}(t):t.match(i)||[]}var Bn=baseRest((function(t,i){try{return apply(t,e,i)}catch(e){return isError(e)?e:new Ee(e)}})),Hn=flatRest((function(e,t){return arrayEach(t,(function(t){t=toKey(t),baseAssignValue(e,t,$i(e[t],e))})),e}));function constant(e){return function(){return e}}var jn=createFlow(),qn=createFlow(!0);function identity(e){return e}function iteratee(e){return baseIteratee("function"==typeof e?e:baseClone(e,1))}var zn=baseRest((function(e,t){return function(i){return baseInvoke(i,e,t)}})),Wn=baseRest((function(e,t){return function(i){return baseInvoke(e,i,t)}}));function mixin(e,t,i){var n=keys(t),r=baseFunctions(t,n);null!=i||isObject(t)&&(r.length||!n.length)||(i=t,t=e,e=this,r=baseFunctions(t,keys(t)));var s=!(isObject(i)&&"chain"in i&&!i.chain),o=isFunction(e);return arrayEach(r,(function(i){var n=t[i];e[i]=n,o&&(e.prototype[i]=function(){var t=this.__chain__;if(s||t){var i=e(this.__wrapped__);return(i.__actions__=copyArray(this.__actions__)).push({func:n,args:arguments,thisArg:e}),i.__chain__=t,i}return n.apply(e,arrayPush([this.value()],arguments))})})),e}function noop(){}var Gn=createOver(arrayMap),Yn=createOver(arrayEvery),$n=createOver(arraySome);function property(e){return isKey(e)?baseProperty(toKey(e)):function(e){return function(t){return baseGet(t,e)}}(e)}var Qn=createRange(),Kn=createRange(!0);function stubArray(){return[]}function stubFalse(){return!1}var Xn=createMathOperation((function(e,t){return e+t}),0),Zn=createRound("ceil"),Jn=createMathOperation((function(e,t){return e/t}),1),er=createRound("floor");var tr,ir=createMathOperation((function(e,t){return e*t}),1),nr=createRound("round"),rr=createMathOperation((function(e,t){return e-t}),0);return lodash.after=function(e,i){if("function"!=typeof i)throw new xe(t);return e=toInteger(e),function(){if(--e<1)return i.apply(this,arguments)}},lodash.ary=ary,lodash.assign=mn,lodash.assignIn=_n,lodash.assignInWith=yn,lodash.assignWith=vn,lodash.at=bn,lodash.before=before,lodash.bind=$i,lodash.bindAll=Hn,lodash.bindKey=Qi,lodash.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return on(e)?e:[e]},lodash.chain=chain,lodash.chunk=function(t,i,n){i=(n?isIterateeCall(t,i,n):i===e)?1:Vt(toInteger(i),0);var r=null==t?0:t.length;if(!r||i<1)return[];for(var s=0,o=0,a=Ce(_t(r/i));s<r;)a[o++]=baseSlice(t,s,s+=i);return a},lodash.compact=function(e){for(var t=-1,i=null==e?0:e.length,n=0,r=[];++t<i;){var s=e[t];s&&(r[n++]=s)}return r},lodash.concat=function(){var e=arguments.length;if(!e)return[];for(var t=Ce(e-1),i=arguments[0],n=e;n--;)t[n-1]=arguments[n];return arrayPush(on(i)?copyArray(i):[i],baseFlatten(t,1))},lodash.cond=function(e){var i=null==e?0:e.length,n=getIteratee();return e=i?arrayMap(e,(function(e){if("function"!=typeof e[1])throw new xe(t);return[n(e[0]),e[1]]})):[],baseRest((function(t){for(var n=-1;++n<i;){var r=e[n];if(apply(r[0],this,t))return apply(r[1],this,t)}}))},lodash.conforms=function(e){return function(e){var t=keys(e);return function(i){return baseConformsTo(i,e,t)}}(baseClone(e,1))},lodash.constant=constant,lodash.countBy=Ui,lodash.create=function(e,t){var i=ii(e);return null==t?i:baseAssign(i,t)},lodash.curry=function curry(t,i,n){var r=createWrap(t,8,e,e,e,e,e,i=n?e:i);return r.placeholder=curry.placeholder,r},lodash.curryRight=function curryRight(t,i,n){var s=createWrap(t,r,e,e,e,e,e,i=n?e:i);return s.placeholder=curryRight.placeholder,s},lodash.debounce=debounce,lodash.defaults=wn,lodash.defaultsDeep=In,lodash.defer=Ki,lodash.delay=Xi,lodash.difference=wi,lodash.differenceBy=Ii,lodash.differenceWith=Ci,lodash.drop=function(t,i,n){var r=null==t?0:t.length;return r?baseSlice(t,(i=n||i===e?1:toInteger(i))<0?0:i,r):[]},lodash.dropRight=function(t,i,n){var r=null==t?0:t.length;return r?baseSlice(t,0,(i=r-(i=n||i===e?1:toInteger(i)))<0?0:i):[]},lodash.dropRightWhile=function(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!0,!0):[]},lodash.dropWhile=function(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!0):[]},lodash.fill=function(t,i,n,r){var s=null==t?0:t.length;return s?(n&&"number"!=typeof n&&isIterateeCall(t,i,n)&&(n=0,r=s),function(t,i,n,r){var s=t.length;for((n=toInteger(n))<0&&(n=-n>s?0:s+n),(r=r===e||r>s?s:toInteger(r))<0&&(r+=s),r=n>r?0:toLength(r);n<r;)t[n++]=i;return t}(t,i,n,r)):[]},lodash.filter=function(e,t){return(on(e)?arrayFilter:baseFilter)(e,getIteratee(t,3))},lodash.flatMap=function(e,t){return baseFlatten(map(e,t),1)},lodash.flatMapDeep=function(e,t){return baseFlatten(map(e,t),c)},lodash.flatMapDepth=function(t,i,n){return n=n===e?1:toInteger(n),baseFlatten(map(t,i),n)},lodash.flatten=flatten,lodash.flattenDeep=function(e){return(null==e?0:e.length)?baseFlatten(e,c):[]},lodash.flattenDepth=function(t,i){return(null==t?0:t.length)?baseFlatten(t,i=i===e?1:toInteger(i)):[]},lodash.flip=function(e){return createWrap(e,512)},lodash.flow=jn,lodash.flowRight=qn,lodash.fromPairs=function(e){for(var t=-1,i=null==e?0:e.length,n={};++t<i;){var r=e[t];n[r[0]]=r[1]}return n},lodash.functions=function(e){return null==e?[]:baseFunctions(e,keys(e))},lodash.functionsIn=function(e){return null==e?[]:baseFunctions(e,keysIn(e))},lodash.groupBy=ji,lodash.initial=function(e){return(null==e?0:e.length)?baseSlice(e,0,-1):[]},lodash.intersection=Ti,lodash.intersectionBy=Ei,lodash.intersectionWith=Si,lodash.invert=Cn,lodash.invertBy=Tn,lodash.invokeMap=qi,lodash.iteratee=iteratee,lodash.keyBy=zi,lodash.keys=keys,lodash.keysIn=keysIn,lodash.map=map,lodash.mapKeys=function(e,t){var i={};return t=getIteratee(t,3),baseForOwn(e,(function(e,n,r){baseAssignValue(i,t(e,n,r),e)})),i},lodash.mapValues=function(e,t){var i={};return t=getIteratee(t,3),baseForOwn(e,(function(e,n,r){baseAssignValue(i,n,t(e,n,r))})),i},lodash.matches=function(e){return baseMatches(baseClone(e,1))},lodash.matchesProperty=function(e,t){return baseMatchesProperty(e,baseClone(t,1))},lodash.memoize=memoize,lodash.merge=Sn,lodash.mergeWith=An,lodash.method=zn,lodash.methodOf=Wn,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=function(e){return e=toInteger(e),baseRest((function(t){return baseNth(t,e)}))},lodash.omit=Ln,lodash.omitBy=function(e,t){return pickBy(e,negate(getIteratee(t)))},lodash.once=function(e){return before(2,e)},lodash.orderBy=function(t,i,n,r){return null==t?[]:(on(i)||(i=null==i?[]:[i]),on(n=r?e:n)||(n=null==n?[]:[n]),baseOrderBy(t,i,n))},lodash.over=Gn,lodash.overArgs=Zi,lodash.overEvery=Yn,lodash.overSome=$n,lodash.partial=Ji,lodash.partialRight=en,lodash.partition=Wi,lodash.pick=kn,lodash.pickBy=pickBy,lodash.property=property,lodash.propertyOf=function(t){return function(i){return null==t?e:baseGet(t,i)}},lodash.pull=Ai,lodash.pullAll=pullAll,lodash.pullAllBy=function(e,t,i){return e&&e.length&&t&&t.length?basePullAll(e,t,getIteratee(i,2)):e},lodash.pullAllWith=function(t,i,n){return t&&t.length&&i&&i.length?basePullAll(t,i,e,n):t},lodash.pullAt=Li,lodash.range=Qn,lodash.rangeRight=Kn,lodash.rearg=tn,lodash.reject=function(e,t){return(on(e)?arrayFilter:baseFilter)(e,negate(getIteratee(t,3)))},lodash.remove=function(e,t){var i=[];if(!e||!e.length)return i;var n=-1,r=[],s=e.length;for(t=getIteratee(t,3);++n<s;){var o=e[n];t(o,n,e)&&(i.push(o),r.push(n))}return basePullAt(e,r),i},lodash.rest=function(i,n){if("function"!=typeof i)throw new xe(t);return baseRest(i,n=n===e?n:toInteger(n))},lodash.reverse=reverse,lodash.sampleSize=function(t,i,n){return i=(n?isIterateeCall(t,i,n):i===e)?1:toInteger(i),(on(t)?arraySampleSize:baseSampleSize)(t,i)},lodash.set=function(e,t,i){return null==e?e:baseSet(e,t,i)},lodash.setWith=function(t,i,n,r){return r="function"==typeof r?r:e,null==t?t:baseSet(t,i,n,r)},lodash.shuffle=function(e){return(on(e)?arrayShuffle:baseShuffle)(e)},lodash.slice=function(t,i,n){var r=null==t?0:t.length;return r?(n&&"number"!=typeof n&&isIterateeCall(t,i,n)?(i=0,n=r):(i=null==i?0:toInteger(i),n=n===e?r:toInteger(n)),baseSlice(t,i,n)):[]},lodash.sortBy=Gi,lodash.sortedUniq=function(e){return e&&e.length?baseSortedUniq(e):[]},lodash.sortedUniqBy=function(e,t){return e&&e.length?baseSortedUniq(e,getIteratee(t,2)):[]},lodash.split=function(t,i,n){return n&&"number"!=typeof n&&isIterateeCall(t,i,n)&&(i=n=e),(n=n===e?d:n>>>0)?(t=toString(t))&&("string"==typeof i||null!=i&&!un(i))&&!(i=baseToString(i))&&hasUnicode(t)?castSlice(stringToArray(t),0,n):t.split(i,n):[]},lodash.spread=function(e,i){if("function"!=typeof e)throw new xe(t);return i=null==i?0:Vt(toInteger(i),0),baseRest((function(t){var n=t[i],r=castSlice(t,0,i);return n&&arrayPush(r,n),apply(e,this,r)}))},lodash.tail=function(e){var t=null==e?0:e.length;return t?baseSlice(e,1,t):[]},lodash.take=function(t,i,n){return t&&t.length?baseSlice(t,0,(i=n||i===e?1:toInteger(i))<0?0:i):[]},lodash.takeRight=function(t,i,n){var r=null==t?0:t.length;return r?baseSlice(t,(i=r-(i=n||i===e?1:toInteger(i)))<0?0:i,r):[]},lodash.takeRightWhile=function(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3),!1,!0):[]},lodash.takeWhile=function(e,t){return e&&e.length?baseWhile(e,getIteratee(t,3)):[]},lodash.tap=function(e,t){return t(e),e},lodash.throttle=function(e,i,n){var r=!0,s=!0;if("function"!=typeof e)throw new xe(t);return isObject(n)&&(r="leading"in n?!!n.leading:r,s="trailing"in n?!!n.trailing:s),debounce(e,i,{leading:r,maxWait:i,trailing:s})},lodash.thru=thru,lodash.toArray=toArray,lodash.toPairs=Pn,lodash.toPairsIn=xn,lodash.toPath=function(e){return on(e)?arrayMap(e,toKey):isSymbol(e)?[e]:copyArray(bi(toString(e)))},lodash.toPlainObject=toPlainObject,lodash.transform=function(e,t,i){var n=on(e),r=n||ln(e)||pn(e);if(t=getIteratee(t,4),null==i){var s=e&&e.constructor;i=r?n?new s:[]:isObject(e)&&isFunction(s)?ii($e(e)):{}}return(r?arrayEach:baseForOwn)(e,(function(e,n,r){return t(i,e,n,r)})),i},lodash.unary=function(e){return ary(e,1)},lodash.union=ki,lodash.unionBy=Pi,lodash.unionWith=xi,lodash.uniq=function(e){return e&&e.length?baseUniq(e):[]},lodash.uniqBy=function(e,t){return e&&e.length?baseUniq(e,getIteratee(t,2)):[]},lodash.uniqWith=function(t,i){return i="function"==typeof i?i:e,t&&t.length?baseUniq(t,e,i):[]},lodash.unset=function(e,t){return null==e||baseUnset(e,t)},lodash.unzip=unzip,lodash.unzipWith=unzipWith,lodash.update=function(e,t,i){return null==e?e:baseUpdate(e,t,castFunction(i))},lodash.updateWith=function(t,i,n,r){return r="function"==typeof r?r:e,null==t?t:baseUpdate(t,i,castFunction(n),r)},lodash.values=values,lodash.valuesIn=function(e){return null==e?[]:baseValues(e,keysIn(e))},lodash.without=Ri,lodash.words=words,lodash.wrap=function(e,t){return Ji(castFunction(t),e)},lodash.xor=Di,lodash.xorBy=Vi,lodash.xorWith=Oi,lodash.zip=Ni,lodash.zipObject=function(e,t){return baseZipObject(e||[],t||[],assignValue)},lodash.zipObjectDeep=function(e,t){return baseZipObject(e||[],t||[],baseSet)},lodash.zipWith=Fi,lodash.entries=Pn,lodash.entriesIn=xn,lodash.extend=_n,lodash.extendWith=yn,mixin(lodash,lodash),lodash.add=Xn,lodash.attempt=Bn,lodash.camelCase=Rn,lodash.capitalize=capitalize,lodash.ceil=Zn,lodash.clamp=function(t,i,n){return n===e&&(n=i,i=e),n!==e&&(n=(n=toNumber(n))==n?n:0),i!==e&&(i=(i=toNumber(i))==i?i:0),baseClamp(toNumber(t),i,n)},lodash.clone=function(e){return baseClone(e,4)},lodash.cloneDeep=function(e){return baseClone(e,5)},lodash.cloneDeepWith=function(t,i){return baseClone(t,5,i="function"==typeof i?i:e)},lodash.cloneWith=function(t,i){return baseClone(t,4,i="function"==typeof i?i:e)},lodash.conformsTo=function(e,t){return null==t||baseConformsTo(e,t,keys(t))},lodash.deburr=deburr,lodash.defaultTo=function(e,t){return null==e||e!=e?t:e},lodash.divide=Jn,lodash.endsWith=function(t,i,n){t=toString(t),i=baseToString(i);var r=t.length,s=n=n===e?r:baseClamp(toInteger(n),0,r);return(n-=i.length)>=0&&t.slice(n,s)==i},lodash.eq=eq,lodash.escape=function(e){return(e=toString(e))&&$.test(e)?e.replace(G,St):e},lodash.escapeRegExp=function(e){return(e=toString(e))&&ie.test(e)?e.replace(te,"\\$&"):e},lodash.every=function(t,i,n){var r=on(t)?arrayEvery:baseEvery;return n&&isIterateeCall(t,i,n)&&(i=e),r(t,getIteratee(i,3))},lodash.find=Bi,lodash.findIndex=findIndex,lodash.findKey=function(e,t){return baseFindKey(e,getIteratee(t,3),baseForOwn)},lodash.findLast=Hi,lodash.findLastIndex=findLastIndex,lodash.findLastKey=function(e,t){return baseFindKey(e,getIteratee(t,3),baseForOwnRight)},lodash.floor=er,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=function(e,t){return null==e?e:si(e,getIteratee(t,3),keysIn)},lodash.forInRight=function(e,t){return null==e?e:oi(e,getIteratee(t,3),keysIn)},lodash.forOwn=function(e,t){return e&&baseForOwn(e,getIteratee(t,3))},lodash.forOwnRight=function(e,t){return e&&baseForOwnRight(e,getIteratee(t,3))},lodash.get=get,lodash.gt=nn,lodash.gte=rn,lodash.has=function(e,t){return null!=e&&hasPath(e,t,baseHas)},lodash.hasIn=hasIn,lodash.head=head,lodash.identity=identity,lodash.includes=function(e,t,i,n){e=isArrayLike(e)?e:values(e),i=i&&!n?toInteger(i):0;var r=e.length;return i<0&&(i=Vt(r+i,0)),isString(e)?i<=r&&e.indexOf(t,i)>-1:!!r&&baseIndexOf(e,t,i)>-1},lodash.indexOf=function(e,t,i){var n=null==e?0:e.length;if(!n)return-1;var r=null==i?0:toInteger(i);return r<0&&(r=Vt(n+r,0)),baseIndexOf(e,t,r)},lodash.inRange=function(t,i,n){return i=toFinite(i),n===e?(n=i,i=0):n=toFinite(n),function(e,t,i){return e>=Ot(t,i)&&e<Vt(t,i)}(t=toNumber(t),i,n)},lodash.invoke=En,lodash.isArguments=sn,lodash.isArray=on,lodash.isArrayBuffer=an,lodash.isArrayLike=isArrayLike,lodash.isArrayLikeObject=isArrayLikeObject,lodash.isBoolean=function(e){return!0===e||!1===e||isObjectLike(e)&&baseGetTag(e)==_},lodash.isBuffer=ln,lodash.isDate=cn,lodash.isElement=function(e){return isObjectLike(e)&&1===e.nodeType&&!isPlainObject(e)},lodash.isEmpty=function(e){if(null==e)return!0;if(isArrayLike(e)&&(on(e)||"string"==typeof e||"function"==typeof e.splice||ln(e)||pn(e)||sn(e)))return!e.length;var t=gi(e);if(t==I||t==A)return!e.size;if(isPrototype(e))return!baseKeys(e).length;for(var i in e)if(Fe.call(e,i))return!1;return!0},lodash.isEqual=function(e,t){return baseIsEqual(e,t)},lodash.isEqualWith=function(t,i,n){var r=(n="function"==typeof n?n:e)?n(t,i):e;return r===e?baseIsEqual(t,i,e,n):!!r},lodash.isError=isError,lodash.isFinite=function(e){return"number"==typeof e&&xt(e)},lodash.isFunction=isFunction,lodash.isInteger=isInteger,lodash.isLength=isLength,lodash.isMap=hn,lodash.isMatch=function(e,t){return e===t||baseIsMatch(e,t,getMatchData(t))},lodash.isMatchWith=function(t,i,n){return n="function"==typeof n?n:e,baseIsMatch(t,i,getMatchData(i),n)},lodash.isNaN=function(e){return isNumber(e)&&e!=+e},lodash.isNative=function(e){if(mi(e))throw new Ee("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return baseIsNative(e)},lodash.isNil=function(e){return null==e},lodash.isNull=function(e){return null===e},lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isObjectLike=isObjectLike,lodash.isPlainObject=isPlainObject,lodash.isRegExp=un,lodash.isSafeInteger=function(e){return isInteger(e)&&e>=-9007199254740991&&e<=h},lodash.isSet=dn,lodash.isString=isString,lodash.isSymbol=isSymbol,lodash.isTypedArray=pn,lodash.isUndefined=function(t){return t===e},lodash.isWeakMap=function(e){return isObjectLike(e)&&gi(e)==P},lodash.isWeakSet=function(e){return isObjectLike(e)&&"[object WeakSet]"==baseGetTag(e)},lodash.join=function(e,t){return null==e?"":Rt.call(e,t)},lodash.kebabCase=Dn,lodash.last=last,lodash.lastIndexOf=function(t,i,n){var r=null==t?0:t.length;if(!r)return-1;var s=r;return n!==e&&(s=(s=toInteger(n))<0?Vt(r+s,0):Ot(s,r-1)),i==i?function(e,t,i){for(var n=i+1;n--;)if(e[n]===t)return n;return n}(t,i,s):baseFindIndex(t,baseIsNaN,s,!0)},lodash.lowerCase=Vn,lodash.lowerFirst=On,lodash.lt=fn,lodash.lte=gn,lodash.max=function(t){return t&&t.length?baseExtremum(t,identity,baseGt):e},lodash.maxBy=function(t,i){return t&&t.length?baseExtremum(t,getIteratee(i,2),baseGt):e},lodash.mean=function(e){return baseMean(e,identity)},lodash.meanBy=function(e,t){return baseMean(e,getIteratee(t,2))},lodash.min=function(t){return t&&t.length?baseExtremum(t,identity,baseLt):e},lodash.minBy=function(t,i){return t&&t.length?baseExtremum(t,getIteratee(i,2),baseLt):e},lodash.stubArray=stubArray,lodash.stubFalse=stubFalse,lodash.stubObject=function(){return{}},lodash.stubString=function(){return""},lodash.stubTrue=function(){return!0},lodash.multiply=ir,lodash.nth=function(t,i){return t&&t.length?baseNth(t,toInteger(i)):e},lodash.noConflict=function(){return dt._===this&&(dt._=je),this},lodash.noop=noop,lodash.now=Yi,lodash.pad=function(e,t,i){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;if(!t||n>=t)return e;var r=(t-n)/2;return createPadding(Tt(r),i)+e+createPadding(_t(r),i)},lodash.padEnd=function(e,t,i){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;return t&&n<t?e+createPadding(t-n,i):e},lodash.padStart=function(e,t,i){e=toString(e);var n=(t=toInteger(t))?stringSize(e):0;return t&&n<t?createPadding(t-n,i)+e:e},lodash.parseInt=function(e,t,i){return i||null==t?t=0:t&&(t=+t),Ft(toString(e).replace(re,""),t||0)},lodash.random=function(t,i,n){if(n&&"boolean"!=typeof n&&isIterateeCall(t,i,n)&&(i=n=e),n===e&&("boolean"==typeof i?(n=i,i=e):"boolean"==typeof t&&(n=t,t=e)),t===e&&i===e?(t=0,i=1):(t=toFinite(t),i===e?(i=t,t=0):i=toFinite(i)),t>i){var r=t;t=i,i=r}if(n||t%1||i%1){var s=Mt();return Ot(t+s*(i-t+lt("1e-"+((s+"").length-1))),i)}return baseRandom(t,i)},lodash.reduce=function(e,t,i){var n=on(e)?arrayReduce:baseReduce,r=arguments.length<3;return n(e,getIteratee(t,4),i,r,ni)},lodash.reduceRight=function(e,t,i){var n=on(e)?arrayReduceRight:baseReduce,r=arguments.length<3;return n(e,getIteratee(t,4),i,r,ri)},lodash.repeat=function(t,i,n){return i=(n?isIterateeCall(t,i,n):i===e)?1:toInteger(i),baseRepeat(toString(t),i)},lodash.replace=function(){var e=arguments,t=toString(e[0]);return e.length<3?t:t.replace(e[1],e[2])},lodash.result=function(t,i,n){var r=-1,s=(i=castPath(i,t)).length;for(s||(s=1,t=e);++r<s;){var o=null==t?e:t[toKey(i[r])];o===e&&(r=s,o=n),t=isFunction(o)?o.call(t):o}return t},lodash.round=nr,lodash.runInContext=runInContext,lodash.sample=function(e){return(on(e)?arraySample:baseSample)(e)},lodash.size=function(e){if(null==e)return 0;if(isArrayLike(e))return isString(e)?stringSize(e):e.length;var t=gi(e);return t==I||t==A?e.size:baseKeys(e).length},lodash.snakeCase=Nn,lodash.some=function(t,i,n){var r=on(t)?arraySome:baseSome;return n&&isIterateeCall(t,i,n)&&(i=e),r(t,getIteratee(i,3))},lodash.sortedIndex=function(e,t){return baseSortedIndex(e,t)},lodash.sortedIndexBy=function(e,t,i){return baseSortedIndexBy(e,t,getIteratee(i,2))},lodash.sortedIndexOf=function(e,t){var i=null==e?0:e.length;if(i){var n=baseSortedIndex(e,t);if(n<i&&eq(e[n],t))return n}return-1},lodash.sortedLastIndex=function(e,t){return baseSortedIndex(e,t,!0)},lodash.sortedLastIndexBy=function(e,t,i){return baseSortedIndexBy(e,t,getIteratee(i,2),!0)},lodash.sortedLastIndexOf=function(e,t){if(null==e?0:e.length){var i=baseSortedIndex(e,t,!0)-1;if(eq(e[i],t))return i}return-1},lodash.startCase=Fn,lodash.startsWith=function(e,t,i){return e=toString(e),i=null==i?0:baseClamp(toInteger(i),0,e.length),t=baseToString(t),e.slice(i,i+t.length)==t},lodash.subtract=rr,lodash.sum=function(e){return e&&e.length?baseSum(e,identity):0},lodash.sumBy=function(e,t){return e&&e.length?baseSum(e,getIteratee(t,2)):0},lodash.template=function(t,i,n){var r=lodash.templateSettings;n&&isIterateeCall(t,i,n)&&(i=e),t=toString(t),i=yn({},i,r,customDefaultsAssignIn);var s,o,a=yn({},i.imports,r.imports,customDefaultsAssignIn),l=keys(a),c=baseValues(a,l),h=0,u=i.interpolate||ve,d="__p += '",p=ke((i.escape||ve).source+"|"+u.source+"|"+(u===X?ue:ve).source+"|"+(i.evaluate||ve).source+"|$","g"),f="//# sourceURL="+(Fe.call(i,"sourceURL")?(i.sourceURL+"").replace(/[\r\n]/g," "):"lodash.templateSources["+ ++rt+"]")+"\n";t.replace(p,(function(e,i,n,r,a,l){return n||(n=r),d+=t.slice(h,l).replace(be,escapeStringChar),i&&(s=!0,d+="' +\n__e("+i+") +\n'"),a&&(o=!0,d+="';\n"+a+";\n__p += '"),n&&(d+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),h=l+e.length,e})),d+="';\n";var g=Fe.call(i,"variable")&&i.variable;g||(d="with (obj) {\n"+d+"\n}\n"),d=(o?d.replace(j,""):d).replace(q,"$1").replace(z,"$1;"),d="function("+(g||"obj")+") {\n"+(g?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(s?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+d+"return __p\n}";var _=Bn((function(){return Se(l,f+"return "+d).apply(e,c)}));if(_.source=d,isError(_))throw _;return _},lodash.times=function(e,t){if((e=toInteger(e))<1||e>h)return[];var i=d,n=Ot(e,d);t=getIteratee(t),e-=d;for(var r=baseTimes(n,t);++i<e;)t(i);return r},lodash.toFinite=toFinite,lodash.toInteger=toInteger,lodash.toLength=toLength,lodash.toLower=function(e){return toString(e).toLowerCase()},lodash.toNumber=toNumber,lodash.toSafeInteger=function(e){return e?baseClamp(toInteger(e),-9007199254740991,h):0===e?e:0},lodash.toString=toString,lodash.toUpper=function(e){return toString(e).toUpperCase()},lodash.trim=function(t,i,n){if((t=toString(t))&&(n||i===e))return t.replace(ne,"");if(!t||!(i=baseToString(i)))return t;var r=stringToArray(t),s=stringToArray(i);return castSlice(r,charsStartIndex(r,s),charsEndIndex(r,s)+1).join("")},lodash.trimEnd=function(t,i,n){if((t=toString(t))&&(n||i===e))return t.replace(se,"");if(!t||!(i=baseToString(i)))return t;var r=stringToArray(t);return castSlice(r,0,charsEndIndex(r,stringToArray(i))+1).join("")},lodash.trimStart=function(t,i,n){if((t=toString(t))&&(n||i===e))return t.replace(re,"");if(!t||!(i=baseToString(i)))return t;var r=stringToArray(t);return castSlice(r,charsStartIndex(r,stringToArray(i))).join("")},lodash.truncate=function(t,i){var n=30,r="...";if(isObject(i)){var s="separator"in i?i.separator:s;n="length"in i?toInteger(i.length):n,r="omission"in i?baseToString(i.omission):r}var o=(t=toString(t)).length;if(hasUnicode(t)){var a=stringToArray(t);o=a.length}if(n>=o)return t;var l=n-stringSize(r);if(l<1)return r;var c=a?castSlice(a,0,l).join(""):t.slice(0,l);if(s===e)return c+r;if(a&&(l+=c.length-l),un(s)){if(t.slice(l).search(s)){var h,u=c;for(s.global||(s=ke(s.source,toString(de.exec(s))+"g")),s.lastIndex=0;h=s.exec(u);)var d=h.index;c=c.slice(0,d===e?l:d)}}else if(t.indexOf(baseToString(s),l)!=l){var p=c.lastIndexOf(s);p>-1&&(c=c.slice(0,p))}return c+r},lodash.unescape=function(e){return(e=toString(e))&&Y.test(e)?e.replace(W,At):e},lodash.uniqueId=function(e){var t=++Me;return toString(e)+t},lodash.upperCase=Mn,lodash.upperFirst=Un,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.first=head,mixin(lodash,(tr={},baseForOwn(lodash,(function(e,t){Fe.call(lodash.prototype,t)||(tr[t]=e)})),tr),{chain:!1}),lodash.VERSION="4.17.15",arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){lodash[e].placeholder=lodash})),arrayEach(["drop","take"],(function(t,i){LazyWrapper.prototype[t]=function(n){n=n===e?1:Vt(toInteger(n),0);var r=this.__filtered__&&!i?new LazyWrapper(this):this.clone();return r.__filtered__?r.__takeCount__=Ot(n,r.__takeCount__):r.__views__.push({size:Ot(n,d),type:t+(r.__dir__<0?"Right":"")}),r},LazyWrapper.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}})),arrayEach(["filter","map","takeWhile"],(function(e,t){var i=t+1,n=1==i||3==i;LazyWrapper.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:getIteratee(e,3),type:i}),t.__filtered__=t.__filtered__||n,t}})),arrayEach(["head","last"],(function(e,t){var i="take"+(t?"Right":"");LazyWrapper.prototype[e]=function(){return this[i](1).value()[0]}})),arrayEach(["initial","tail"],(function(e,t){var i="drop"+(t?"":"Right");LazyWrapper.prototype[e]=function(){return this.__filtered__?new LazyWrapper(this):this[i](1)}})),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(e){return this.filter(e).head()},LazyWrapper.prototype.findLast=function(e){return this.reverse().find(e)},LazyWrapper.prototype.invokeMap=baseRest((function(e,t){return"function"==typeof e?new LazyWrapper(this):this.map((function(i){return baseInvoke(i,e,t)}))})),LazyWrapper.prototype.reject=function(e){return this.filter(negate(getIteratee(e)))},LazyWrapper.prototype.slice=function(t,i){t=toInteger(t);var n=this;return n.__filtered__&&(t>0||i<0)?new LazyWrapper(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),i!==e&&(n=(i=toInteger(i))<0?n.dropRight(-i):n.take(i-t)),n)},LazyWrapper.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(d)},baseForOwn(LazyWrapper.prototype,(function(t,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),r=/^(?:head|last)$/.test(i),s=lodash[r?"take"+("last"==i?"Right":""):i],o=r||/^find/.test(i);s&&(lodash.prototype[i]=function(){var i=this.__wrapped__,a=r?[1]:arguments,l=i instanceof LazyWrapper,c=a[0],h=l||on(i),interceptor=function(e){var t=s.apply(lodash,arrayPush([e],a));return r&&u?t[0]:t};h&&n&&"function"==typeof c&&1!=c.length&&(l=h=!1);var u=this.__chain__,d=!!this.__actions__.length,p=o&&!u,f=l&&!d;if(!o&&h){i=f?i:new LazyWrapper(this);var g=t.apply(i,a);return g.__actions__.push({func:thru,args:[interceptor],thisArg:e}),new LodashWrapper(g,u)}return p&&f?t.apply(this,a):(g=this.thru(interceptor),p?r?g.value()[0]:g.value():g)})})),arrayEach(["pop","push","shift","sort","splice","unshift"],(function(e){var t=Re[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",n=/^(?:pop|shift)$/.test(e);lodash.prototype[e]=function(){var e=arguments;if(n&&!this.__chain__){var r=this.value();return t.apply(on(r)?r:[],e)}return this[i]((function(i){return t.apply(on(i)?i:[],e)}))}})),baseForOwn(LazyWrapper.prototype,(function(e,t){var i=lodash[t];if(i){var n=i.name+"";Fe.call(Yt,n)||(Yt[n]=[]),Yt[n].push({name:t,func:i})}})),Yt[createHybrid(e,2).name]=[{name:"wrapper",func:e}],LazyWrapper.prototype.clone=function(){var e=new LazyWrapper(this.__wrapped__);return e.__actions__=copyArray(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=copyArray(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=copyArray(this.__views__),e},LazyWrapper.prototype.reverse=function(){if(this.__filtered__){var e=new LazyWrapper(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},LazyWrapper.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,i=on(e),n=t<0,r=i?e.length:0,s=function(e,t,i){var n=-1,r=i.length;for(;++n<r;){var s=i[n],o=s.size;switch(s.type){case"drop":e+=o;break;case"dropRight":t-=o;break;case"take":t=Ot(t,e+o);break;case"takeRight":e=Vt(e,t-o)}}return{start:e,end:t}}(0,r,this.__views__),o=s.start,a=s.end,l=a-o,c=n?a:o-1,h=this.__iteratees__,u=h.length,d=0,p=Ot(l,this.__takeCount__);if(!i||!n&&r==l&&p==l)return baseWrapperValue(e,this.__actions__);var f=[];e:for(;l--&&d<p;){for(var g=-1,_=e[c+=t];++g<u;){var y=h[g],v=y.iteratee,b=y.type,w=v(_);if(2==b)_=w;else if(!w){if(1==b)continue e;break e}}f[d++]=_}return f},lodash.prototype.at=Mi,lodash.prototype.chain=function(){return chain(this)},lodash.prototype.commit=function(){return new LodashWrapper(this.value(),this.__chain__)},lodash.prototype.next=function(){this.__values__===e&&(this.__values__=toArray(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?e:this.__values__[this.__index__++]}},lodash.prototype.plant=function(t){for(var i,n=this;n instanceof baseLodash;){var r=wrapperClone(n);r.__index__=0,r.__values__=e,i?s.__wrapped__=r:i=r;var s=r;n=n.__wrapped__}return s.__wrapped__=t,i},lodash.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof LazyWrapper){var i=t;return this.__actions__.length&&(i=new LazyWrapper(this)),(i=i.reverse()).__actions__.push({func:thru,args:[reverse],thisArg:e}),new LodashWrapper(i,this.__chain__)}return this.thru(reverse)},lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=function(){return baseWrapperValue(this.__wrapped__,this.__actions__)},lodash.prototype.first=lodash.prototype.head,at&&(lodash.prototype[at]=function(){return this}),lodash}();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(dt._=Lt,define((function(){return Lt}))):ft?((ft.exports=Lt)._=Lt,pt._=Lt):dt._=Lt}).call(this),(_Document$prototype=Document.prototype).replaceChildren||(_Document$prototype.replaceChildren=replaceChildren),(_DocumentFragment$pro=DocumentFragment.prototype).replaceChildren||(_DocumentFragment$pro.replaceChildren=replaceChildren),(_Element$prototype=Element.prototype).replaceChildren||(_Element$prototype.replaceChildren=replaceChildren),"hasOwn"in Object||(Object.hasOwn=Object.call.bind(Object.hasOwnProperty));class WindowsFlagEmojiPolyfill{static addPolyfill(){if(this.__supportsEmoji("😊")&&!this.__supportsEmoji("🇨🇭")){const e="Twemoji Country Flags",t=document.createElement("style"),i=STATIC_ASSET_PATH+"/fonts/twemoji-country-flags/TwemojiCountryFlags.woff2",n=window.getComputedStyle(document.body).fontFamily;t.textContent=`@font-face {\n        font-family: "${e}";\n        unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;\n        src: url('${i}') format('woff2');\n        font-display: swap;\n      }\n\n      body, .form-control {\n        font-family: "${e}", ${n} !important;\n      }`,document.head.appendChild(t)}}static __supportsEmoji(e){const t=this.__makeCtx(),i=this.__getColor(t,e,"#fff"),n=this.__getColor(t,e,"#000");return n===i&&!n.startsWith("0,0,0,")}static __getColor(e,t,i){e.clearRect(0,0,100,100),e.fillStyle=i,e.fillText(t,0,0);return e.getImageData(0,0,1,1).data.join(",")}static __makeCtx(){const e=document.createElement("canvas");e.width=e.height=1;const t=e.getContext("2d",{willReadFrequently:!0});return t.textBaseline="top",t.font=`100px ${WindowsFlagEmojiPolyfill.FONT_FAMILY}`,t.scale(.01,.01),t}}WindowsFlagEmojiPolyfill.FONT_FAMILY='"Twemoji Mozilla","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol", "Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif';class FrameworkError extends Error{constructor(e,t){if(e&&"object"==typeof e){const i=e.constructor.name;t=StringUtils.format("%s -> %s",i,t)}else t=e;super(t),this.name=this.constructor.name}}class NotImplementedError extends Error{constructor(e,t){if(e&&"object"==typeof e){const i=e.constructor.name;t=StringUtils.format("%s -> %s",i,t)}else t=e;super(t),this.name=this.constructor.name}}class IllegalStateError extends Error{constructor(e,t){if(e&&"object"==typeof e){const i=e.constructor.name;t=StringUtils.format("%s -> %s",i,t)}else t=e;super(t),this.name=this.constructor.name}}class IllegalViewStateError extends Error{constructor(e,t){if(e&&"object"==typeof e){const i=e.constructor.name;t=StringUtils.format("%s -> %s",i,t)}else t=e;super(t),this.name=this.constructor.name}}class OperationTimeoutError extends Error{constructor(e){super(e),this.name=this.constructor.name}}class StringUtils{static format(e){let t,i,n,r=[...e.matchAll(StringUtils.MatchPatterns.Global)];for(let s=0;s<r.length;s++)if(t=r[s][0],i=s+1<1||arguments.length<=s+1?void 0:arguments[s+1],t){if(n=t.match(StringUtils.MatchPatterns.String)){if(void 0===i)continue;e=e.replace(t,i);continue}if(n=t.match(StringUtils.MatchPatterns.Integer)){if(void 0===i)continue;e=e.replace(t,parseInt(i));continue}if(n=t.match(StringUtils.MatchPatterns.Float)){if(void 0===i)continue;let t;n[1]&&(t=parseInt(n[1].replace(".",""))),i=parseFloat(i),t&&!isNaN(t)&&(i=i.toFixed(t)),e=e.replace(n[0],parseFloat(i));continue}(n=t.match(StringUtils.MatchPatterns.Any))&&(e=e.replace(t,i?"true":"false"))}return e}static substringCount(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return e&&e.length&&t&&t.length?(e.match(new RegExp(t,i?"ig":"g"))||[]).length:0}static uid(){if("undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID();let e=[];for(let t=0;t<7;t++)e.push(Math.floor(65536*Math.random()).toString(16));return e.join("-")}static hashCode(e){let t,i,n=0;if(0===e.length)return n;for(t=0;t<e.length;t++)i=e.charCodeAt(t),n=(n<<5)-n+i,n|=0;return Math.abs(n)}static upperCaseFirst(e){return"string"!=typeof e&&(e=e.toString()),e.charAt(0).toUpperCase()+e.slice(1)}static upperCaseFirstWords(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ",i="";"string"!=typeof e&&(e=e.toString());const n=e.split(t);for(let e=0;e<n.length;e++){const t=n[e];e>0&&(i+=" "),i+=t.charAt(0).toUpperCase()+t.slice(1)}return i}static pad(e,t){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:StringUtils.Pad.Left;if(!ObjectUtils.includesValue(StringUtils.Pad,i))throw new Error("No valid type given - see StringUtils.Pad");throw new NotImplementedError(StringUtils.prototype,"pad() not implemented yet")}static split(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(Array.isArray(t))return t;if(t=t.toString(),Array.isArray(e)){const n=t.split(new RegExp(e.join("|"),"g")).filter((e=>e.length));return i?n.filter(((e,t)=>n.indexOf(e)===t)):n}const n=t.split(e).filter((e=>e.length));return i?n.filter(((e,t)=>n.indexOf(e)===t)):n}static htmlEscape(e){return _.toString(e).replace(new RegExp(/[\&\<\>\"\'\`\,\!\@\$\%\(\)\=\+\{\}\[\]]/g),(function(e){return StringUtils.HTMLEntityEscapes[e]}))}}StringUtils.MatchPatterns={Global:/%[sdbf]|%[0-9.]+f/g,Float:/%([0-9.]+)?f/,Integer:/%d/,String:/%s/,Any:/%b/},StringUtils.HTMLEntityEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&grave;",",":"&comma;","!":"&excl;","@":"&commat;",$:"&dollar;","%":"&percnt;","(":"&lpar;",")":"&rpar;","=":"&equals;","+":"&plus;","{":"&rbrace;","}":"&lbrace;","[":"&lbrack;","]":"&rbrack;"},StringUtils.Pad={Both:0,Left:1,Right:2},window.StringUtils=StringUtils||{};class ArrayUtils{static inArray(e,t,i){if(ArrayUtils.depth(t)>1)throw new TypeError("inArray() can only handle 1-dimensional arrays");let n;i||(i=!1);for(let r=0;r<t.length;r++)if(n=t[r],i){if(e===n)return!0}else if(e==n)return!0;return!1}static inObjectArray(e,t,i,n){if(ArrayUtils.depth(t)>1)throw new TypeError("inObjectArray() can only handle 1-dimensional arrays");let r;n||(n=!1);for(let s=0;s<t.length;s++)if(r=t[s][i],n){if(e===r)return!0}else if(e==r)return!0;return!1}static indexOf(e,t,i){if(ArrayUtils.depth(t)>1)throw new TypeError("indexOf() can only handle 1-dimensional arrays");let n;i||(i=!1);for(let r=0;r<t.length;r++)if(n=t[r],i){if(e===n)return r}else if(e==n)return r;return-1}static indexOfObjectKey(e,t,i,n){if(ArrayUtils.depth(t)>1)throw new TypeError("indexOfObjectKey() can only handle 1-dimensional arrays");let r;n||(n=!1);for(let s=0;s<t.length;s++)if(r=t[s][i],n){if(e===r)return s}else if(e==r)return s;return-1}static remove(e,t){if(ArrayUtils.depth(t)>1)throw new TypeError("remove() can only handle 1-dimensional arrays");let i=ArrayUtils.indexOf(e,t);return i>-1&&t.splice(i,1),t}static removeFromObjectArray(e,t,i){if(ArrayUtils.depth(i)>1)throw new TypeError("removeFromObjectArray() can only handle 1-dimensional arrays");let n=ArrayUtils.indexOfObjectKey(e,i,t);return n>-1&&i.splice(n,1),i}static walkRecursive(e,t){let i;for(let n=0;n<e.length;n++)i=e[n],Array.isArray(i)?e[n]=ArrayUtils.walkRecursive(i,t):e[n]=t(i,n,e);return e}static merge(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return[].concat.apply(Array.prototype,t)}static depth(e){return Array.isArray(e)?1+Math.max(0,...e.map(ArrayUtils.depth)):0}}window.ArrayUtils=ArrayUtils||{},Array.prototype.remove=function(e){var t=this.indexOf(e);t>=0&&this.splice(t,1)};class MathUtils{static randomInteger(e,t){return Math.random()*(t-e)+e}static clampInteger(e,t,i){return e=Math.ceil(e),t=Math.floor(t),Math.min(Math.max(i,e),t)}static randomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),isNaN(e)&&(e=0),isNaN(t)&&(t=1),Math.floor(Math.random()*(t-e+1))+e}static clamp(e,t,i){return Math.min(Math.max(e,t),i)}}class ObjectUtils{static formDataToObject(e){let t={};for(const[i,n]of e)i&&n&&(t[i]=n);return t}static clone(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).filter((t=>"object"==typeof e[t]||Array.isArray(e[t]))).length>0?ObjectUtils.deepClone(e):ObjectUtils.shallowClone(e)}static shallowClone(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign({},e)}static deepClone(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};return Array.isArray(e)?(t.length=e.length,Array.from(e)):(Object.keys(e).forEach((i=>{null===e[i]?t[i]=null:"object"==typeof e[i]||Array.isArray(e[i])?t[i]=ObjectUtils.deepClone(e[i]):void 0!==e[i]&&(t[i]=e[i])})),t)}static merge(){return function m(e,t){if(!e)return t;for(const i in t)t.hasOwnProperty(i)&&(void 0===e[i]?e[i]=t[i]:"object"==typeof t[i]&&m(e[i],t[i]));return e}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}static getValueByNotation(e,t){return t.split(".").reduce(((e,t)=>e&&e[t]||void 0),e)}static isEmpty(e){return 0===Object.keys(e).length}static includesValue(e,t){if(Object.keys(e).filter((t=>"object"==typeof e[t]||Array.isArray(e[t]))).length>0)throw new Error("Nested properties are not supported");return[...Object.values(e)].includes(t)}static equalsShallow(e,t){if(ObjectUtils.depth(e)>1||ObjectUtils.depth(t)>1)throw new Error("ObjectUtils.equalsShallow() -> cannot process nested objects");for(const i in e)if(e.hasOwnProperty(i)&&e[i]!==t[i])return!1;for(const i in t)if(t.hasOwnProperty(i)&&t[i]!==e[i])return!1;return!0}static depth(e){let t=1;for(const i in e)if(e.hasOwnProperty(i)&&"object"==typeof e[i]){let n=ObjectUtils.depth(e[i])+1;t=Math.max(n,t)}return t}static diff(e,t){let i={changedKeys:[],changes:{}};if(_.isEqual(e,t))return i;let n=Object.keys(e),r={},s=[];for(let i of n)_.isEqual(e[i],t[i])||(r[i]={old:e[i],new:t[i]},s.push(i));return i.changedKeys=s,i.changes=r,i}}class UITools{static scrollTo(e,t){return new Promise((i=>{t.clientHeight;let n=null,scrollFn=()=>{let r=t.getBoundingClientRect(),s=e.getBoundingClientRect().top-r.top;s<1||n===s?i():(t.scrollTop+=5,n=s,requestAnimationFrame(scrollFn))};scrollFn()}))}static scrollToTop(){window.scrollY>0&&(window.scrollY>Math.floor(1.5*window.innerHeight)&&window.scrollTo({top:Math.floor(1.5*window.innerHeight)}),window.scrollTo({top:0,behavior:"smooth"}))}static getRelativeOffset(e,t){let i=e.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:i.x-n.x,y:i.y-n.y}}static preloadImages(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];1===t.length&&Array.isArray(t[0])&&(t=t[0]);let n=[];for(const e of t)UITools.PreloadedImages.includes(e)?n.push(Promise.resolve()):n.push(new Promise(((t,i)=>{let n=new Image;n.src=e,n.onload=()=>{UITools.PreloadedImages.push(e),t()},n.onerror=i})));return Promise.all(n)}static sortNodes(e){return e.sort(((e,t)=>e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1))}static emptyNodeList(){return document.createDocumentFragment().childNodes}static removeClassAndHide(e,t,i){return new Promise((n=>{e.classList.remove(...StringUtils.split([" ",","],t)),setTimeout((()=>{e.style.display="none",n()}),i)}))}static hasTextOverflow(e){let t=e.cloneNode(!0);t.hasAttribute("id")&&(t.id="dummyId"),t.style.position="absolute",t.style.left="-99pt",t.style.whiteSpace="nowrap",t.style.width="auto",e.parentNode.appendChild(t);let i=t.clientWidth;return e.parentNode.removeChild(t),e.offsetWidth<i+1}isInViewPort(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const i=e.getBoundingClientRect(),n=t===window?window.innerHeight||document.documentElement.clientHeight:t.clientHeight,r=t===window?window.innerWidth||document.documentElement.clientWidth:t.clientWidth;return i.top>=0&&i.left>=0&&i.bottom<=n&&i.right<=r}}UITools.PreloadedImages=[];class CSSUtils{static modifyCSSVar(e,t){document.documentElement.style.setProperty(e,t)}}class VisualViewportUpdater{static start(){VisualViewportUpdater.default=new VisualViewportUpdater,VisualViewportUpdater.default.startListen()}constructor(){this.pendingUpdate=!1,this.timeout=null}startListen(){void 0!==window.visualViewport&&(window.visualViewport.addEventListener("scroll",this.__viewportHandler.bind(this),{passive:!1}),window.visualViewport.addEventListener("resize",this.__viewportHandler.bind(this),{passive:!1}),this.__updateData())}__viewportHandler(e){null!=this.timeout&&clearTimeout(this.timeout),this.pendingUpdate=!0,this.timeout=setTimeout((()=>{requestAnimationFrame((()=>{this.pendingUpdate=!1,this.__updateData()}))}),10)}__updateData(){CSSUtils.modifyCSSVar("--visual-viewport-height",window.visualViewport.height+"px")}}class DateUtils{static format(e){}static interval(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DateUtils.Interval.Auto;if(i===DateUtils.Interval.Auto){i=DateUtils.Interval.Seconds;let n=t.getTime()-e.getTime();n>60&&(i=DateUtils.Interval.Minutes),n>3600&&(i=DateUtils.Interval.Hours),n>86400&&(i=DateUtils.Interval.Days)}switch(i){case DateUtils.Interval.Seconds:return t.getTime()/1e3-e.getTime()/1e3;case DateUtils.Interval.Minutes:return(t.getTime()/1e3-e.getTime()/1e3)/60;case DateUtils.Interval.Hours:return(t.getTime()/1e3-e.getTime()/1e3)/3600}}static beautifyInterval(e,t){let i=(t instanceof Date?Math.floor(t.getTime()/1e3):t)-(e instanceof Date?Math.floor(e.getTime()/1e3):e),n=Math.floor(i/3600),r=Math.floor((i-3600*n)/60);return n<10&&(n="0"+n),r<10&&(r="0"+r),n+":"+r}}DateUtils.Interval={Auto:0,Seconds:1,Minutes:2,Hours:3,Days:4};class IconyDataUtils{static compareMappedSet(e,t,i){return!!(Array.isArray(e)&&Array.isArray(t)&&e.length&&t.length)&&(e=e.map(i),t=t.map(i),e.every(((e,i)=>e===t[i]))&&t.every(((t,i)=>t===e[i])))}static compareSet(e,t,i){let n=[];t.every(((r,s)=>{i.areItemsTheSame(e[s],t[s])&&n.push(i.areContentsTheSame(e[s],t[s]))}))}static compare(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:IconyDataUtils.CompareMethod.Shallow,compareDeep=function(e,t){if(e===t)return!0;if(!(e instanceof Object&&t instanceof Object))return!1;if(e.constructor!==t.constructor)return!1;for(let i in e)if(e.hasOwnProperty(i)){if(!t.hasOwnProperty(i))return!1;if(e[i]!==t[i]){if("object"!=typeof e[i])return!1;if(!compareDeep(e[i],t[i]))return!1}}for(let i in t)if(t.hasOwnProperty(i)){if(!e.hasOwnProperty(i))return!1;if(t[i]!==e[i]){if("object"!=typeof t[i])return!1;if(!compareDeep(t[i],e[i]))return!1}}return!0};switch(i){case IconyDataUtils.CompareMethod.Shallow:return function(e,t){return e&&t&&Object.keys(e).length===Object.keys(t).length}(e,t);case IconyDataUtils.CompareMethod.Deep:return compareDeep(e,t)}}static autoCast(e){return e.indexOf("true")>-1||e.indexOf("false")>-1?"true"===e:isNaN(parseInt(e))?e||null:parseInt(e)}}IconyDataUtils.CompareMethod={Shallow:1,Deep:2};class Device{static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)}static isAndroid(){return/(android)/i.test(navigator.userAgent)}}class PromiseUtils{static resolvablePromise(){function ResolvablePromise(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}return ResolvablePromise.prototype.resolve=function(){return this.resolve()},ResolvablePromise.prototype.reject=function(){return this.reject()},ResolvablePromise.prototype.resolveDelayed=function(e){setTimeout((()=>{this.resolve()}),e)},ResolvablePromise.prototype.then=function(e){this.promise.then(e)},ResolvablePromise.prototype.catch=function(e){this.promise.catch(e)},new ResolvablePromise}static rejectAfter(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3;return new Promise(((t,i)=>{setTimeout((()=>{i(new OperationTimeoutError("The operation timed out after "+e+"ms"))}),e)}))}}class ResponsiveHelper{static init(){window.addEventListener("resize",this.__detectChanges.bind(this)),window.addEventListener("orientationchange",this.__detectChanges.bind(this)),this.__detectAll()}static __detectAll(){this.__detectScreen(),this.__detectRetina(),this.__detectTouch(),this.__detectTooltips()}static __detectChanges(){this.__detectScreen(),this.__detectTooltips()}static __detectScreen(){this.isDesktop=!1,this.isTablet=!1,this.isMobile=!1,window.matchMedia("(min-width: 768px) and (max-width: 991px)").matches?this.isTablet=!0:window.matchMedia("(min-width: 992px)").matches?this.isDesktop=!0:this.isMobile=!0}static __detectRetina(){this.isRetina=!1;window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),\n                      (min--moz-device-pixel-ratio: 1.5),\n                      (-o-min-device-pixel-ratio: 3/2),\n                      (min-resolution: 1.5dppx)").matches?this.isRetina=!0:this.isRetina=!1}static __detectTouch(){if(this.isTouch="ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0,this.isTouch){document.getElementsByTagName("body")[0].classList.add("touch-device")}}static __detectTooltips(){this.canShowTooltips=!0,(this.isTouch||this.isTablet||this.isMobile)&&(this.canShowTooltips=!1)}}ResponsiveHelper.isDesktop=!1,ResponsiveHelper.isTablet=!1,ResponsiveHelper.isMobile=!1,ResponsiveHelper.isRetina=!1,ResponsiveHelper.canShowTooltips=!0;class ViewPortHelper{constructor(e){this.options=ObjectUtils.merge(ViewPortHelper.Defaults,e),this.target=this.options.target,this.boundOrientationChangeListener=this.__onOrientationChanged.bind(this),this.boundOnWindowResizeListener=this.__onWindowResize.bind(this),this.changeCallback=null,this.__detectChanges(),this.__attachListeners()}static attach(e){return new ViewPortHelper({target:e})}static getViewPortSize(){return ViewPortHelper.CurrentViewPortSize}static isMobile(){return ViewPortHelper.CurrentViewPortSize===ViewPortHelper.Size.Mobile}static isTablet(){return ViewPortHelper.CurrentViewPortSize===ViewPortHelper.Size.Tablet}static isDesktop(){return ViewPortHelper.CurrentViewPortSize===ViewPortHelper.Size.Desktop}setChangeCallback(e){this.changeCallback=e}__attachListeners(){window.addEventListener("orientationchange",this.boundOrientationChangeListener,{passive:!0}),window.addEventListener("resize",this.boundOnWindowResizeListener,{passive:!0})}__detachListeners(){window.removeEventListener("orientationchange",this.boundOrientationChangeListener),window.removeEventListener("resize",this.boundOnWindowResizeListener)}__onOrientationChanged(){this.__detectChanges()}__onWindowResize(){this.__detectChanges()}__detectChanges(){window.matchMedia("(min-width: 768px) and (max-width: 991px)").matches?ViewPortHelper.CurrentViewPortSize=ViewPortHelper.Size.Tablet:window.matchMedia("(min-width: 992px)").matches?ViewPortHelper.CurrentViewPortSize=ViewPortHelper.Size.Desktop:ViewPortHelper.CurrentViewPortSize=ViewPortHelper.Size.Mobile,ViewPortHelper.CurrentViewPortSize!==ViewPortHelper.PreviousViewPortSize&&(this.changeCallback&&this.changeCallback.call(null,ViewPortHelper.CurrentViewPortSize,ViewPortHelper.PreviousViewPortSize),ViewPortHelper.PreviousViewPortSize=ViewPortHelper.CurrentViewPortSize)}}ViewPortHelper.Size={Unknown:0,Desktop:1,Tablet:2,Mobile:3},ViewPortHelper.CurrentViewPortSize=ViewPortHelper.Size.Unknown,ViewPortHelper.PreviousViewPortSize=ViewPortHelper.Size.Unknown,ViewPortHelper.Defaults={};class StorageHelper{static setItem(e,t){return!!this.checkAvailable()&&this.storage.setItem(e,t)}static getItem(e){return this.checkAvailable()?this.storage.getItem(e):null}static checkAvailable(){if("object"!=typeof this.storage)return!1;try{return this.storage.setItem("sessionStorage",1),this.storage.removeItem("sessionStorage"),!0}catch(e){return!1}}}class LocalStorageHelper extends StorageHelper{}LocalStorageHelper.storage=window.localStorage;class SessionStorageHelper extends StorageHelper{}SessionStorageHelper.storage=window.sessionStorage;class TimeUtils{static countdown(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];function Countdown(){this.uid=StringUtils.uid(),this.running=!1,this.initialSeconds=e,this.seconds=e,this.tickCallback=null,this.beforeTickCallback=null,this.finishCallback=null,this.finishPromise=null,t&&this.start()}return Countdown.prototype.getUID=function(){return this.uid},Countdown.prototype.start=function(){return!this.running&&(this.running=!0,this.seconds===this.initialSeconds?(this.finishPromise=PromiseUtils.resolvablePromise(),this.timer=setTimeout(this.__tick.bind(this),this.TickInterval)):this.timer=setTimeout(this.__tick.bind(this),this.TickInterval),!0)},Countdown.prototype.stop=function(){return!!this.running&&(this.timer&&clearInterval(this.timer),this.seconds=0,this.running=!1,this.seconds=this.initialSeconds,"function"==typeof this.finishCallback&&this.finishCallback.call(this),this.finishPromise&&this.finishPromise.resolve(),!0)},Countdown.prototype.pause=function(){return!!this.running&&(this.timer&&clearInterval(this.timer),this.running=!1,!0)},Countdown.prototype.isRunning=function(){return this.running},Countdown.prototype.getTotalSeconds=function(){return this.initialSeconds},Countdown.prototype.getRemainingSeconds=function(){return this.seconds},Countdown.prototype.onTick=function(e){this.tickCallback=e},Countdown.prototype.onBeforeTick=function(e){this.beforeTickCallback=e},Countdown.prototype.onFinish=function(e){this.finishCallback=e},Countdown.prototype.promise=function(){return this.finishPromise.promise},Countdown.prototype.destroy=function(){this.timer&&clearInterval(this.timer),this.seconds=0,this.running=!1,this.seconds=this.initialSeconds},Countdown.prototype.__tick=function(){this.timer&&clearTimeout(this.timer),this.seconds>1?("function"==typeof this.beforeTickCallback&&this.beforeTickCallback.call(this,this.seconds),this.seconds--,"function"==typeof this.tickCallback&&this.tickCallback.call(this,this.seconds),this.timer=setTimeout(this.__tick.bind(this),this.TickInterval)):this.stop()},Countdown.prototype.TickInterval=1e3,new Countdown}}class IconyModuleLoader{static require(e,t,i){return new Promise(((n,r)=>{e&&t&&IconyModuleLoader.__isStringOrArray(e)&&IconyModuleLoader.__isStringOrArray(t)&&IconyModuleLoader.__checkModuleDefinition(e)&&IconyModuleLoader.__checkModuleDefinition(t)?IconyModuleLoader.__loadDependencies(t).then((()=>{IconyModuleLoader.__loadModules(e).then((()=>{i&&i(),n()})).catch((e=>{r(e)}))})).catch((e=>{r(e)})):e&&t&&IconyModuleLoader.__isStringOrArray(e)&&IconyModuleLoader.__checkModuleDefinition(e)&&"function"==typeof t?IconyModuleLoader.__loadModules(e).then((()=>{t&&t(),n()})).catch((e=>{r(e)})):e&&IconyModuleLoader.__isStringOrArray(e)&&IconyModuleLoader.__checkModuleDefinition(e)&&IconyModuleLoader.__loadModules(e).then(n).catch((e=>{r(e)}))}))}static requireExternal(e){return new Promise(((t,i)=>{if(IconyModuleLoader.EXTERNAL_DEPENDENCIES.indexOf(e)>=0)t();else{var n=document.createElement("script");n.async=!0,n.src=e,n.onload=()=>{t()},n.onerror=()=>{i()},document.head.appendChild(n),IconyModuleLoader.EXTERNAL_DEPENDENCIES.push(e)}}))}static isExternalLoaded(e){return IconyModuleLoader.EXTERNAL_DEPENDENCIES.indexOf(e)>=0}static defined(e){let t;if(t=IconyModuleLoader.__getMetaData(e)){if(IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.MODULES))return IconyModuleLoader.__getModule(t.name,t.namespace,IconyModuleLoader.MODULES);if(IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.DEPENDENCIES))return IconyModuleLoader.__getModule(t.name,t.namespace,IconyModuleLoader.DEPENDENCIES)}return null}static loaded(e){let t;if(t=IconyModuleLoader.__getMetaData(e)){if(IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.MODULES))return IconyModuleLoader.__getModule(t.name,t.namespace,IconyModuleLoader.MODULES,!0);if(IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.DEPENDENCIES))return IconyModuleLoader.__getModule(t.name,t.namespace,IconyModuleLoader.DEPENDENCIES,!0)}return null}static define(e,t){t&&t.call(null,IconyModuleLoader)}static __loadScript(e){let t=`${e.namespace}/${e.name}`;return new Promise(((i,n)=>{IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES[t]?IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES[t].resolves.push(i):IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES[t]={module:e,resolves:[i]};let r=document.createElement("script"),s=setTimeout((()=>{e.loaded=null,n(e)}),8e3);r.async=!0,r.src=e.path,r.onload=()=>{clearTimeout(s)},r.onerror=()=>{e.loaded=null,n(e)},document.head.appendChild(r)}))}static resolveLoadedScripts(e){if(IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES[e]){const t=IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES[e],i=t.module;i.loaded=(new Date).getTime();for(const e of t.resolves)e(i);delete IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES[e]}}static __loadDependencies(e){if(!e||!e.length)return Promise.resolve();Array.isArray(e)||(e=[e]);let t,i=[];for(let n=0;n<e.length;n++)(t=IconyModuleLoader.__getMetaData(e[n]))&&(IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.DEPENDENCIES)||IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.MODULES)||i.push(IconyModuleLoader.__loadScript(t)));return Promise.all(i).then((e=>{IconyModuleLoader.DEPENDENCIES.push(t)}))}static __loadModules(e){let t,i=[];Array.isArray(e)||(e=[e]);for(let n=0;n<e.length;n++)(t=IconyModuleLoader.__getMetaData(e[n]))&&(IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.MODULES)||IconyModuleLoader.__moduleInArray(t.name,t.namespace,IconyModuleLoader.DEPENDENCIES)||i.push(IconyModuleLoader.__loadScript(t)));return Promise.all(i).then((e=>{IconyModuleLoader.MODULES.push(t)}))}static __checkModuleDefinition(e){let t;if(Array.isArray(e)){let i;for(let n=0;n<e.length;n++)if((i=e[n])&&(t=i.split("/"),2!==t.length||!t[0]||!t[1]))throw new Error("Wrong definition for module "+i)}else if(t=e.split("/"),2!==t.length||!t[0]||!t[1])throw new Error("Wrong definition for module "+e);return!0}static __moduleInArray(e,t,i){let n;for(let r=0;r<i.length;r++)if((n=i[r])&&n.name===e&&n.namespace===t)return!0;return!1}static __getModule(e,t,i,n){let r;n=void 0!==n&&n;for(let s=0;s<i.length;s++)if((r=i[s])&&r.name===e&&r.namespace===t&&n&&r.loaded)return r;return null}static __isStringOrArray(e){return"string"==typeof e||Array.isArray(e)}static __getMetaData(e){let t=e.split("/");return{namespace:t[0],name:t[1],path:IconyModuleLoader.ASSET_PATH+t[0]+"/"+t[1]+".js",created:(new Date).getTime()}}static startWorker(e){const t=`importScripts( "${IconyModuleLoader.ASSET_PATH+"worker/"+e+".js"}" );`;let i=URL.createObjectURL(new Blob([t],{type:"text/javascript"}));return new Worker(i)}}IconyModuleLoader.ASSET_PATH=STATIC_ASSET_PATH+"/js/r/"+REGISTER_MODULE+"/modules/"+MODULE_JSON_FILE+"/",IconyModuleLoader.MODULES=[],IconyModuleLoader.DEPENDENCIES=[],IconyModuleLoader.EXTERNAL_DEPENDENCIES=[],IconyModuleLoader.CALLBACKS=[],IconyModuleLoader.CURRENT_CONTEXT=null,IconyModuleLoader.CURRENT_LOAD_SCRIPT_RESOLVES={},window.IconyModuleLoader=IconyModuleLoader||{},window.require=IconyModuleLoader.require,window.define=IconyModuleLoader.define,window.defined=IconyModuleLoader.defined,window.loaded=IconyModuleLoader.loaded,window.requireExternal=IconyModuleLoader.requireExternal,window.isExternalLoaded=IconyModuleLoader.isExternalLoaded,window.resolveLoadedScripts=IconyModuleLoader.resolveLoadedScripts,window.define.imd=!0;class IconyAPIBuilder{constructor(){this.controller=null,this.timeoutMillis=0,this.timeoutTimer=null,this.timeoutCallback=null,this.method=null,this.params={},this.maxRetries=0,this.currentRetry=0,this.retryCallback=null}static create(){return new IconyAPIBuilder}setMethod(e){return this.method=e,this}setParams(e){return this.params=e,this}addParam(e,t){if(void 0!==this.params[e])throw new FrameworkError(this,"Duplicate key "+e+" - use setParam() to overwrite");return this.params[e]=t,this}setParam(e,t){return this.params[e],this.params[e]=t,this}setRetries(e){return this.maxRetries=e,this}setTimeout(e){return this.timeoutMillis=e,this}setTimeoutCallback(e){return this.timeoutCallback=e,this}setRetryCallback(e){return this.retryCallback=e,this}setController(e){this.controller=e}cancel(){this.controller&&this.controller.abort()}call(){const e=PromiseUtils.resolvablePromise();return this.__doCall(e),e.promise}async __doCall(e){this.controller||(this.controller=new AbortController),this.timeoutMillis&&(this.controller.signal.addEventListener("abort",(()=>{"function"==typeof this.timeoutCallback&&this.timeoutCallback.call(this)})),this.timeoutTimer=setTimeout((()=>{try{this.controller.signal.aborted||this.controller.abort()}catch(e){}}),this.timeoutMillis));try{const t=await IconyAPI.call({...this.params,method:this.method},this.controller);this.timeoutTimer&&clearTimeout(this.timeoutTimer),e.resolve(t)}catch(t){this.timeoutTimer&&clearTimeout(this.timeoutTimer),this.currentRetry<this.maxRetries&&!this.controller.signal.aborted?(this.currentRetry++,"function"==typeof this.retryCallback?!1!==this.retryCallback.call(this,this.currentRetry)&&this.__doCall(e):this.__doCall(e)):e.reject(t)}}}class IconyAPI{static call(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var i;(i="string"==typeof e?{method:e}:e).format="json",i.method=this.__prependPrefix(i.method);let n={method:"POST",credentials:"include",body:JSON.stringify(i),headers:{"Content-Type":"application/json"}};return this.__getCRSRFToken()&&(n.headers["X-CSRF-TOKEN"]=this.__getCRSRFToken()),t&&(n.signal=t.signal),fetch(IconyAPI.API_ENDPOINT,n).then((e=>e.json())).then((e=>{if("fail"!==e.stat||"CSRFTokenException"!=e.exception&&"UnauthenticatedException"!=e.exception){if(e.__request_user_data&&"undefined"!=typeof CurrentUserData&&CurrentUserData.update(e.__request_user_data),"fail"===e.stat&&e.exception)throw e;return e}location.reload()}))}static builder(){return IconyAPIBuilder.create()}static __getCRSRFToken(){var e=document.querySelector('meta[name="csrf-token"]');return null!==e&&"string"==typeof e.content?e.content:null}static __prependPrefix(e){return e&&-1===e.indexOf(IconyAPI.API_PREFIX)?IconyAPI.API_PREFIX+e:e}static getEndpoint(){return IconyAPI.API_ENDPOINT}}IconyAPI.API_PREFIX="icony.",IconyAPI.API_ENDPOINT=JS_API_END_POINT;class IconyLang{static get(e,t){if(void 0===langStore[e])return null;if(void 0===t)return langStore[e];return this.__replace(langStore[e],t)}static exists(e){return void 0!==langStore[e]}static __replace(e,t){for(let[i,n]of Object.entries(t)){let t=new RegExp("(\\["+i+"])","ig");e=e.replace(t,n)}return e}static __import(e,t){if("object"==typeof langStore&&"object"==typeof e){const t=Object.keys(e);for(const i of t)langStore[i]||(langStore[i]=e[i])}}}window.__importLang=IconyLang.__import;class IconyRoute{constructor(e,t){this.name=e,this.path=t,this.pathRegex=pathToRegexp(t),this.isVisible=!1,this.intent=null,this.handlers=[],this.viewController=null,this.viewControllerCurrentInstance=null,this.viewControllersInstances={}}addHandler(e){this.handlers.push(e)}getHandlerInstaces(){return this.handlers}addViewController(e,t){if("function"!=typeof e)throw new FrameworkError(this,"Given ViewController is not a class!");if(!(e.prototype instanceof IconyViewController))throw new FrameworkError(this,"Given ViewController must extend IconyViewController!");if(null!==this.viewController)throw new FrameworkError(this,`Route "${this.name}" already has a ViewController! Only one ViewController is allowed per route!`);this.viewController={name:e.prototype.constructor.name,options:ObjectUtils.merge(IconyRoute.Defaults,t),constructor:e}}handles(e){return this.pathRegex.test(e)}show(e){router.debug,this.isVisible=!0;for(let e of this.handlers)"function"==typeof e.postPageChange&&e.postPageChange();if(null!==this.viewController){let t=this.viewControllersInstances[e];if(void 0===t){let t=this.viewController,i=new t.constructor(t.options);i.router=app.router,i.emit("create"),this.viewControllersInstances[e]={instance:i,path:e,lastUsed:Date.now()},i.emit("show",{intent:this.intent}),this.intent=null,i.state.visible=!0,this.viewControllerCurrentInstance=i}else t.instance.emit("show",{intent:this.intent}),this.intent=null,t.instance.state.visible=!0,t.lastUsed=Date.now(),this.viewControllerCurrentInstance=t.instance}}hide(){router.debug,this.isVisible=!1;for(let e of this.handlers)"function"==typeof e.prePageChange&&e.prePageChange()}hideViewController(){if(router.debug,null!==this.viewControllerCurrentInstance){if(this.viewControllerCurrentInstance.emit("hide"),this.viewControllerCurrentInstance.state.visible=!1,this.viewController&&!this.viewController.options.cache){for(const[e,t]of this.viewControllersInstances)t.emit("destroy");this.viewControllersInstances={}}this.viewControllerCurrentInstance=null}}resize(e){for(let t of this.handlers)"function"==typeof t.resize&&t.resize(e);null!=this.viewControllerCurrentInstance&&this.viewControllerCurrentInstance.trigger("resize",{originalEvent:e})}disptachViewPortChange(e,t){null!==this.viewControllerCurrentInstance&&this.viewControllerCurrentInstance.emit("viewPortChange",{currentSize:e,previousSize:t})}hasCachedViewControllers(){return this.viewController&&this.viewController.options.cache}getPath(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=new RegExp(["(\\\\.)","(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");var n=e||[],r=0,s=this.path.replace(i,(function(){return null==n[r]?"":n[r++]}));if(!ObjectUtils.isEmpty(t)){s+="?"+new URLSearchParams(t).toString()}return s}}IconyRoute.Defaults={cache:!0,preventHistoryHandling:!1};class Intent{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.origin=null,this.target=e,this.params=t,this.data={}}static create(e){return new Intent(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:[])}setOrigin(e){this.origin=e}addParam(e){this.params.includes(e)||this.params.push(e)}addData(e,t){if(!this.params.includes(e)){if("string"!=typeof e)throw new Error("Intent -> Key must be a string");this.data[e]=t}}setData(e,t){if("string"!=typeof e)throw new Error("Intent -> Key must be a string");this.data[e]=t}getData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"!=typeof e)throw new Error("Intent -> Key must be a string");return void 0!==this.data[e]?this.data[e]:t}hasData(e){if("string"!=typeof e)throw new Error("Intent -> Key must be a string");return void 0!==this.data[e]}}class IconyRouter{constructor(){this.debug=!1,this.routes={},this.currentRoute=null,this.previousRoute=null,this.currentPath=location.pathname,this.globalHandlers=[],this.globalsPageLoaded=[],this.globalsPageBeginChange=[],this.globalsPageEndChange=[],this.globalsResize=[]}__globalHandler(e,t){for(var i=0;i<e.length;i++){(0,e[i])(t)}}start(){window.jQuery&&void 0!==window.$?($(document).on("pjax:end",(e=>{this.debug,this.currentPath=location.pathname,this.__globalHandler(this.globalsPageLoaded,e),this.__routeGlobalHandlers(e),this.__unrouteViewController(),this.__route(e),this.__globalHandler(this.globalsPageEndChange,e)})),$(document).on("pjax:start",(e=>{this.debug,this.__unroute(e),this.__globalHandler(this.globalsPageBeginChange,e),this.__unrouteGlobalHandlers()}))):window.addEventListener("popstate",(e=>{const t=this.currentRoute.route.viewControllerCurrentInstance;t&&!t.options.preventHistoryHandling&&(this.currentPath=location.pathname,this.__unrouteViewController(),this.__route(e))})),window.addEventListener("orientationchange",(e=>{this.debug,this.__globalHandler(this.globalsResize,e),this.__resizeGlobalHandlers(e),this.__resizeRoutes(e)})),window.addEventListener("resize",(e=>{this.debug,this.__globalHandler(this.globalsResize,e),this.__resizeGlobalHandlers(e),this.__resizeRoutes(e)}),{passive:!0});var e={};this.currentPath=location.pathname,this.__globalHandler(this.globalsPageLoaded,e),this.__routeGlobalHandlers(e),this.__route(e)}getCurrentIntent(){return this.currentRoute.intent||null}__route(e){for(let e in this.routes){let t=this.routes[e],i=this.__getCurrentPage();if(!t.handles(i))continue;this.debug;let n={},r=t.pathRegex.exec(window.location.pathname);for(let e=0;e<t.pathRegex.keys.length;e++)n[t.pathRegex.keys[e].name]=r[e+1];this.currentRoute={name:e,route:t,intent:t.intent,path:i,pathParams:n,getParams:IconyRouter.parseGetParams()},t.show(i),t.hasCachedViewControllers()&&this.__pruneViewControllers()}}__unroute(e){this.previousRoute=this.currentRoute,this.currentRoute.route.hide()}__unrouteViewController(){this.currentRoute.route.hideViewController()}__resizeRoutes(e){this.currentRoute&&this.currentRoute.route.resize(e)}__routeGlobalHandlers(){for(var e=this.globalHandlers,t=0;t<e.length;t++){var i=e[t];0!=i.options.except.length&&this.isPageRoute(i.options.except)||"function"==typeof i.handler.postPageChange&&(this.debug,i.handler.postPageChange())}}__unrouteGlobalHandlers(){for(var e=this.globalHandlers,t=0;t<e.length;t++){var i=e[t];i.options.except.length>0&&this.isPageRoute(i.options.except)||"function"==typeof i.handler.prePageChange&&(this.debug,i.handler.prePageChange())}}__resizeGlobalHandlers(e){for(var t=this.globalHandlers,i=0;i<t.length;i++){var n=t[i];n.options.except.length>0&&this.isPageRoute(n.options.except)||"function"==typeof n.handler.resize&&(this.debug,n.handler.resize(e))}}__getCurrentPage(){return decodeURIComponent(this.currentPath)}isCurrentPage(e){var t;return null!==(t=this.routes[e]&&this.routes[e].pathRegex.test(this.currentPath))&&void 0!==t&&t}pathToRoute(e,t){if(null!=this.routes[e])return this.routes[e].getPath(t)}routeTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};t=null==t?{}:t,i=null==i?{}:i;let r=e;if(e instanceof Intent&&(r=e.target),void 0===this.routes[r])return;const s=this.routes[r];e instanceof Intent&&(s.intent=e,t=e.params);const o=s.getPath(t,i);if(window.jQuery&&$.support.pjax)$.pjax({url:o,container:"#page_content"});else if(s&&s.viewController){this.currentRoute.route.hideViewController(),this.currentRoute.route.hide();let e={},t=s.pathRegex.exec(window.location.pathname);for(let i=0;i<s.pathRegex.keys.length;i++)e[s.pathRegex.keys[i].name]=t[i+1];this.currentRoute={name:r,route:s,intent:s.intent,path:s.path,pathParams:e,getParams:ObjectUtils.clone(i)},null!=n.history&&"replace"==n.history?history.replaceState({path:s.path,name:s.name},"",o):history.pushState({path:s.path,name:s.name},"",o),s.show(s.path)}else window.location=o}addRoute(e,t){this.routes[e]=new IconyRoute(e,t)}addHandler(e,t){if(!this.routes[e])throw new Error(`[IconyRouter] Can't add handler to route '${e}'. Route is not defined.`);0==Array.isArray(t)&&(t=[t]);for(let i of t)this.routes[e].addHandler(i)}addViewController(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this.routes[e])throw new Error(`[IconyRouter] Can't add ViewController to route '${e}'. Route is not defined.`);this.routes[e].addViewController(t,i)}addGlobalHandler(e,t){var i=Object.assign({except:[]},t);this.globalHandlers.push({handler:e,options:i})}isNextPageRoute(e){return this.checkisinPageRoute(decodeURIComponent(location.pathname),e)}isPageRoute(e){return this.checkisinPageRoute(this.__getCurrentPage(),e)}checkisinPageRoute(e,t){var i=Array.isArray(t)?t:[t],n=!1;for(let t of i){if(void 0!==this.routes[t])this.routes[t].pathRegex.exec(e)&&(n=!0)}return n}addGlobalsPageLoaded(e){this.globalsPageLoaded.push(e)}addGlobalsPageBeginChange(e){this.globalsPageBeginChange.push(e)}addGlobalsPageEndChange(e){this.globalsPageEndChange.push(e)}addGlobalsResize(e){this.globalsResize.push(e)}disptachViewPortChange(e,t){this.currentRoute&&this.currentRoute.route.disptachViewPortChange(e,t)}__pruneViewControllers(){for(let e in this.routes){let t=this.routes[e];if(null==t.viewController)continue;if(Object.keys(t.viewControllersInstances).length<=IconyRouter.MAX_CACHED_VIEW_CONTROLLERS_PER_ROUTE)continue;let i=1/0,n=null;for(let e in t.viewControllersInstances){let r=t.viewControllersInstances[e];r.instance.state.visible||(r.instance.ownProfile||r.lastUsed<i&&(i=r.lastUsed,n=e))}let r=t.viewControllersInstances[n];this.debug,r.instance.emit("destroy"),delete t.viewControllersInstances[n]}}invalidateViewControllerCacheForCurrentPath(){const e=this.currentRoute.route;return!!e.viewControllersInstances[this.currentPath]&&(e.viewControllerCurrentInstance=null,delete e.viewControllersInstances[this.currentPath],!0)}static parseGetParams(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e||(e=location.search);let i=new URLSearchParams(e)||[];function Params(e){for(const[n,r]of e)!this.hasOwnProperty(n)&&n&&(this[n]=t?r:(i=r).indexOf("true")>-1||i.indexOf("false")>-1?"true"===i:isNaN(parseInt(i))?i||null:parseInt(i));var i}return Params.prototype.has=function(e){return this.hasOwnProperty(e)},Params.prototype.hasKeyAndValue=function(e){return this.hasOwnProperty(e)&&null!==this[e]},Params.prototype.get=function(e){return this[e]||null},Params.prototype.keys=function(){return Object.keys(this)},Params.prototype.values=function(){return Object.values(this)},new Params(i)}}IconyRouter.MAX_CACHED_VIEW_CONTROLLERS_PER_ROUTE=20,window.router=new IconyRouter;class IconyAPP{constructor(e){this.options=ObjectUtils.merge(IconyAPP.Defaults,e),this.router=window.router,this.viewPortHelper=ViewPortHelper.attach(this),this.viewPortHelper.setChangeCallback(((e,t)=>{this.router.disptachViewPortChange(e,t),this.onViewPortChange(e,t)})),this.router.addGlobalsPageLoaded(this.onPageShow.bind(this)),this.router.addGlobalsPageBeginChange(this.onPageHide.bind(this)),this.router.addGlobalsPageEndChange(this.onPageShown.bind(this)),this.router.addGlobalsResize(this.onPageResize.bind(this));for(const[e,t]of Object.entries(window.appRoutes))this.router.addRoute(e,t);this.initRoutes()}start(){this.__domReady().then((()=>{this.onStart(),this.options.listenForSoftwareupdates&&this.__listenForSoftwareUpdate(),this.router.start()}))}initRoutes(){}onPageShow(){}onPageHide(){}onPageShown(){}onPageResize(){}onViewPortChange(e,t){}__listenForSoftwareUpdate(){iconySocket.registerMessageHandler("software-update",(e=>{let t=Math.floor(12e4*Math.random()+18e4);$.pjax.disable(),setTimeout((()=>{location.reload()}),t)}))}__domReady(){return new Promise((e=>{"complete"===document.readyState?e():document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))}))}__windowReady(){return new Promise((e=>{"complete"===document.readyState?e():window.addEventListener("load",e)}))}static noop(){return()=>{}}}IconyAPP.Defaults={listenForSoftwareupdates:!0};const NodeCollection=function(e){const t=document.querySelectorAll(e);for(let e=0;e<t.length;e++)this[e]=t[e];this.length=t.length};NodeCollection.prototype.each=function(e){for(let t=0;t<this.length;t++)e(this[t],t,this);return this},NodeCollection.prototype.get=function(e){return this[e]},NodeCollection.prototype.eq=function(e){return this[e]},NodeCollection.prototype.addEventListener=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};for(const n of this)n.addEventListener(e,t,i);return this},NodeCollection.prototype.removeEventListener=function(e,t){for(const i of this)i.removeEventListener(e,t);return this},NodeCollection.prototype.addClass=function(e){for(const t of this)t.classList.add(...StringUtils.split([" ",","],e));return this},NodeCollection.prototype.removeClass=function(e){for(const t of this)t.classList.remove(...StringUtils.split([" ",","],e));return this},NodeCollection.prototype.toggleClass=function(e){for(const t of this)t.classList.toggle(e);return this},NodeCollection.prototype[Symbol.iterator]=function(){let e=0;const t=this;return{next:function(){return{value:t[++e],done:!(e in t)}}}},NodeCollection.create=function(e){return new NodeCollection(e)};class IconyEventInterface{constructor(){if("IconyEventInterface"===this.constructor.name)throw new FrameworkError(this,"IconyEventInterface should only be a extending class");this.callbackContext=null,this.listerners=[],this.throttleTimers={},this.debounceTimers={},this.availableEvents=[],this.eventInterfaceEnabled=!0}setCallbackContext(e){this.callbackContext=e}setAvailableEvents(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];this.availableEvents=t}on(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=[];"string"==typeof e&&(e=e.includes(" ")?e.split(" ").map((e=>e.trim())).filter((e=>e.length)):[e]);for(let r of e){const e=ObjectUtils.merge(IconyEventInterface.ListenerDefaults,i);if(!e.internal&&this.availableEvents.length&&!this.availableEvents.includes(r))throw new FrameworkError(this,"Unsupported event '"+r+"'");const s=StringUtils.uid();this.listerners.push({eventName:r,callback:t,options:e,uid:s}),n.push(s)}return 1===n.length?n[0]:n}addEventListener(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.on(e,t,i)}once(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.on(e,t,{once:!0,...i})}off(e){Array.isArray(e)||(e=[e]);const t=[];for(let i of e)for(let e=0;e<this.listerners.length;e++){let n;if(n=this.listerners[e]){if(n.options.internal)continue;n.eventName!==i&&n.uid!==i||(t.push(n.uid),this.listerners.splice(e,1))}}return t}removeEventListener(e){return this.off(e)}emit(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(IconyEventInterface.Debug,this.eventInterfaceEnabled)for(let n=0;n<this.listerners.length;n++){let r;if((r=this.listerners[n])&&r.eventName===e){let s=new CustomEvent(e,{detail:t,...i});i.originalEvent&&Object.defineProperty(s,"originalEvent",{value:i.originalEvent,writable:!1}),i.target&&Object.defineProperty(s,"target",{value:i.target,writable:!1}),s.origin=this.callbackContext,s.data=t,r.callback.call(this.callbackContext,s),r.options.once&&this.listerners.splice(n,1)}}}emitEvent(e){if(!(e instanceof CustomEvent))throw new FrameworkError(this,"Must be type of CustomEvent");if(e.origin=this.callbackContext,this.eventInterfaceEnabled)for(let t=0;t<this.listerners.length;t++){let i;(i=this.listerners[t])&&i.eventName===e.type&&(i.callback.call(this.callbackContext,e),i.options.once&&this.listerners.splice(t,1))}}trigger(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.emit(e,t,i)}dispatch(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.emit(e,t,i)}throttle(e,t){const i=e.toString(),n=StringUtils.hashCode(i);if(i.length,!this.throttleTimers[n])return e.call(this.callbackContext),this.throttleTimers[n]=setTimeout((()=>{this.throttleTimers[n]=null}),t),this.throttleTimers[n]}debounce(e,t){const i=e.toString(),n=StringUtils.hashCode(i);return i.length,this.debounceTimers[n]&&clearTimeout(this.debounceTimers[n]),this.debounceTimers[n]=setTimeout((()=>{e.call(this.callbackContext)}),t),this.debounceTimers[n]}enableEventInterface(){this.eventInterfaceEnabled=!0}disableEventInterface(){this.eventInterfaceEnabled=!1}}IconyEventInterface.Debug=!1,IconyEventInterface.ListenerDefaults={once:!1,internal:!1};class IconyComponent extends IconyEventInterface{constructor(){if(super(),"IconyComponent"===this.constructor.name)throw new FrameworkError(this,"IconyComponent should only be a extending class")}}class IconyUIComponent extends IconyEventInterface{constructor(){if(super(),"IconyUIComponent"===this.constructor.name)throw new Error("IconyUIComponent should only be a extending class")}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}toggleClass(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;"boolean"!=typeof i?e.classList.contains(t)?e.classList.remove(t):e.classList.add(t):i?e.classList.add(t):e.classList.remove(t)}removeClassByPrefix(e,t){if("string"!=typeof t)throw new TypeError("IconyComponent -> prefix must be type of string");let i=new RegExp("\\b"+t+"[^ ]*[ ]?\\b","g"),n=(e.className.match(i)||[]).length||0;return e.className=e.className.replace(i,""),n}toggleNodeVisibility(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;"boolean"!=typeof t?"block"===e.style.diaplay?e.style.display="none":e.style.diaplay="block":t?e.style.diaplay="block":e.style.display="none"}}class IconyViewManager extends IconyEventInterface{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(),!(e instanceof IconyViewController||e instanceof IconyModule))throw new Error("IconyViewManager -> Context must be a view controller/module and should not be called manually");this.setCallbackContext(this),this._meta={viewsAttached:0,totalViewsAdded:0,totalRenderCount:0,renderDuration:0},this.uid=StringUtils.uid(),this.options=ObjectUtils.merge(IconyViewManager.Defaults,t),this.viewController=e instanceof IconyModule?e.viewController:e,this.liveViews=[],this.viewQueue=[],this.renderDuration=0,this.viewController.on("template",this.__onViewControllerTemplate.bind(this),{internal:!0})}static attach(e){return new IconyViewManager(e)}getViewCount(){return this.liveViews.length}insertBefore(e,t){throw new NotImplementedError(this,"insertBefore() is not implemented yet.")}insertAfter(e,t){throw new NotImplementedError(this,"insertAfter() is not implemented yet.")}getAttachedViewCount(){return this.liveViews.filter((e=>e.attached)).length}attachViews(){if(this.liveViews.length){this._meta.viewsAttached=0;for(const[e,t]of this.liveViews.entries()){this.liveViews[e-1];t.ready=!0,!t.isDestroyed()&&t.isRendered()||t.render(),t.attach()}if(this._meta.renderDuration>IconyViewManager.RenderDurationThreshold){let e=this.liveViews.map((e=>e.constructor.name));if(e.length>6){let t=e.length;e=e.slice(0,6),e[6]="+"+(t-6)+" more..."}}this.viewController.emit("rendered")}}detachViews(){this.liveViews.filter((e=>!e.retainInstance)).forEach(((e,t)=>{e.destroy(),this.liveViews.splice(t,1)}))}addView(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Array.isArray(e)||(e=[e]);const i=[];let n=null,r=0;for(let s of e){if(null===s)throw new TypeError("IconyViewManager -> Trying to add a null view");"function"==typeof s&&(s=new s(t)),s.viewController=this.viewController,s.viewManager=this,s.on("rendered",(()=>{this._meta.totalRenderCount++,this._meta.renderDuration+=s.renderDuration}),{internal:!0}),s.on("attached",(()=>{this._meta.viewsAttached++}),{internal:!0}),this.viewController.templateQueue.length>0?(s.ready=!1,n=this.__getLastViewInContainer(s.target,this.liveViews),s.index=n?n.index+1:0,s.globalIndex=r,s.previousView=n,this.viewQueue.push(s)):(s.ready=!0,n=this.__getLastViewInContainer(s.target,this.liveViews),s.index=n?n.index+1:0,s.globalIndex=r,s.previousView=n,this.liveViews.push(s)),i.push(s),r++,this._meta.totalViewsAdded++}return 1===i.length?i[0]:i}getViewAt(e){if("number"!=typeof e)throw new TypeError("IconyViewManager -> Invalid index: "+e);return this.liveViews.find((t=>t.index===e))||null}getViewInContainerAt(e,t){if("number"!=typeof t)throw new TypeError("IconyViewManager -> Invalid index: "+t);return this.liveViews.find((i=>i.index===t&&Object.is(i.target,e)))||null}getView(e){if(!e)return null;const t=this.getViews(e);return t&&t.length>1?null:t&&1===t.length?t[0]:null}getViews(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!t.length)return this.liveViews;const n=[];for(const e of this.liveViews)for(const i of t)"string"==typeof i?e.uid!==i&&e.constructor.name!==i||n.push(e):i.constructor.name!==e.constructor.name&&i.prototype.constructor.name!==e.constructor.name||n.push(e);return n.length?n:null}getAllViews(){return this.liveViews}getRetainedViews(){this.liveViews.filter((e=>e.retainInstance))}destroyView(e){const t=[...this.liveViews,...this.viewQueue].findIndex((t=>t.uid===e.uid));-1!==t&&this.liveViews.splice(t,1)}moveView(e,t){t.isAttached()&&t.detach();this.__getViewsInContainr(e,this.liveViews);t.previousView=this.__getLastViewInContainer(e,this.liveViews),t.attach(e)}destroy(){for(const e of[...this.liveViews,...this.viewQueue])e.isDestroyed()||e.destroy();this.liveViews=[],this.viewQueue=[]}forceRenderAll(){const e=this.liveViews.filter((e=>!e.options.ignoreViewPortChanges&&e.isAttached()));for(const t of e)t.render(!0)}__onViewControllerTemplate(){for(let e=0;e<this.viewQueue.length;e++){const t=this.viewQueue[e];t.ready=!0,!t.isDestroyed()&&t.isRendered()||t.render(),t.attach(),this._meta.viewsAttached++}this.liveViews=this.liveViews.concat(this.viewQueue),this.viewQueue=[]}__getLastViewInContainer(e,t){const i=t.filter((t=>Object.is(t.target,e)));return i[i.length-1]||null}__getViewsInContainr(e,t){return t.filter((t=>Object.is(t.target,e)))}}IconyViewManager.Defaults={cache:!1},IconyViewManager.DocumentRange=document.createRange(),IconyViewManager.RenderDurationThreshold=50;class IconyModule extends IconyEventInterface{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(),"IconyModule"===this.constructor.name)throw new FrameworkError(this,"IconyModule should only be a extending class");this.setCallbackContext(this),this.__checkImplementations(["onCreate"]),this.uid=StringUtils.uid(),this.options=t,this.dataSources=[],this.references=[],this.viewController=e,this.viewManager=IconyViewManager.attach(this),this.enabled=!0,this._meta={created:Date.now(),lastUsed:null},this.on("template",(()=>{"function"==typeof this.onTemplate&&this.onTemplate.call(this)}),{internal:!0}),this.on("resize",(e=>{"function"==typeof this.onResize&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onResize.call(this)})):this.onResize.call(this))}),{internal:!0}),this.on("viewPortChange",(e=>{"function"==typeof this.onViewPortChange&&(this.options.internalErrorHandling?this.__mightThrow((()=>{!1!==this.onViewPortChange.call(this,e.data.currentSize,e.data.previousSize)&&this.viewManager.forceRenderAll()})):!1!==this.onViewPortChange.call(this,e.data.currentSize,e.data.previousSize)&&this.viewManager.forceRenderAll())}),{internal:!0})}addView(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=this.viewManager.addView(e,t);if(Array.isArray(i))for(const e of i)this.__attachViewListeners(e);else this.__attachViewListeners(i);return i}getView(e){return this.viewManager.getView(e)}getViews(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.viewManager.getViews(t)}enable(){this.enabled=!0,this.eventInterfaceEnabled=!0}disable(){this.enabled=!1,this.eventInterfaceEnabled=!1}isEnabled(){return this.enabled}isVisible(){return this.viewController.isVisible()}importTemplate(e){return this.viewController.__importTemplate(e,this)}dataSource(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(t&&this.dataSources.filter((e=>e.name===t)).length)throw new FrameworkError(this,"Cannot define data source with identifier '"+t+"' more than once");let i=new IconyDataSource(e);return this.dataSources.push({options:e,dataSource:i,name:t,owner:this.uid}),i}sharedDataSource(e,t){return this.viewController.sharedDataSource(e,t)}createNodeFromString(e){return IconyModule.DocumentRange.createContextualFragment(e).firstChild}getViewController(){return this.viewController}getRouter(){return this.viewController.router}urlParams(){return this.viewController.urlParams()}addReference(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this.viewController?this.viewController.addReference(e,t):null}getReferences(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.viewController?this.viewController.getReferences(e,t):null}getReference(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.viewController?this.viewController.getReference(e,t):null}removeReference(e){return!!this.viewController&&this.viewController.removeReference(e)}getOptions(){return this.options}destroy(){"function"==typeof this.onDestroy&&this.onDestroy(),this.viewManager.destroy()}__attachViewListeners(e){for(const t of IconyView.ElementListeners){const i=`onElement${StringUtils.upperCaseFirst(t)}`;e.on(i,(e=>{e.bubbles&&!e.cancelBubble&&"function"==typeof this[i]&&this[i].apply(this,[e.data.key,e.data.data,e.data.element,e,e.data.view])}),{internal:!0})}}__checkImplementations(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(let i of e)"function"!=typeof this[i]&&t.push(i);if(t.length)throw new FrameworkError(this,"Module: "+this.constructor.name+" must implement at least "+t.join(", "))}onCreate(e){}onEnable(){}onDisable(){}onDestroy(){}onViewPortChange(e,t){}onElementClick(e,t,i,n,r){}onElementInput(e,t,i,n,r){}onElementChange(e,t,i,n,r){}onElementKeyup(e,t,i,n,r){}onElementKeydown(e,t,i,n,r){}}IconyModule.DocumentRange=document.createRange();class IconyViewController extends IconyEventInterface{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(super(),"IconyViewController"===this.constructor.name)throw new FrameworkError(this,"IconyViewController should only be a extending class");this.setCallbackContext(this),this.__checkImplementations(["onCreate"]),this.uid=StringUtils.uid(),this.options=ObjectUtils.merge(IconyViewController.Defaults,e),this.eventBus=this.options.eventBus.enabled?IconyEventBus.attach(this,this.options.eventBus.options):null,this.viewManager=IconyViewManager.attach(this),this.router=null,this.state={visible:!1},this.modules=[],this.references=[],this.dataSources=[],this.loadedTemplates=[],this.templateQueue=[],this.invokeQueue=[],this.rootNodeSelector=null,this.rootNode=null,this.stage=IconyViewController.Stage.Initialized,this._meta={name:this.constructor.name,created:Date.now(),createDuration:0,modules:{},showCount:0,lastShowTime:null,hideCount:0,lastHideTime:null,totalInteractionTime:0,moduleCount:0,renderTimeViews:0},this.on("show",(e=>{if(this.rootNodeSelector&&(this.rootNode=document.querySelector(this.rootNodeSelector),!this.rootNode))throw new FrameworkError(this,"Root node is absent/invalid selector ("+this.rootNodeSelector+")");let t=null;e.data&&e.data.intent&&(t=e.data.intent),this.stage=IconyViewController.Stage.Visible,this.emit("stateChange",this.stage),"function"==typeof this.onShow&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onShow.call(this,t),this.setModulesEnabled(!0)})):(this.onShow.call(this,t),this.setModulesEnabled(!0))),this._meta.showCount++,this._meta.lastShowTime=Date.now(),this._meta.renderTimeViews=this.viewManager.renderDuration}),{internal:!0}),this.on("hide",(e=>{"function"==typeof this.onHide&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onHide.call(this),this.setModulesEnabled(!1),this.viewManager.detachViews()})):(this.onHide.call(this),this.setModulesEnabled(!1),this.viewManager.detachViews()),this.rootNode=null),this._meta.hideCount++,this._meta.lastHideTime=Date.now(),this._meta.lastShowTime&&(this._meta.totalInteractionTime+=this._meta.lastHideTime-this._meta.lastShowTime),this.stage=IconyViewController.Stage.Hidden,this.emit("stateChange",this.stage)}),{internal:!0}),this.on("create",(()=>{"function"==typeof this.onCreate&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onCreate.call(this,this.options),this._meta.initDuration=Date.now()-this._meta.created})):(this.onCreate.call(this,this.options),this._meta.createDuration=Date.now()-this._meta.created)),this.templateQueue.length&&this.__requireTemplates(),this.stage=IconyViewController.Stage.Created,this.emit("stateChange",this.stage)}),{internal:!0}),this.on("template",(()=>{"function"==typeof this.onTemplate&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onTemplate.call(this)})):this.onTemplate.call(this))}),{internal:!0}),this.on("resize",(e=>{"function"==typeof this.onResize&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onResize.call(this)})):this.onResize.call(this));for(let t of this.modules)t.instance.trigger("resize",{originalEvent:e.data.originalEvent})}),{internal:!0}),this.on("viewPortChange",(e=>{"function"==typeof this.onViewPortChange&&(this.options.internalErrorHandling?this.__mightThrow((()=>{!1!==this.onViewPortChange.call(this,e.data.currentSize,e.data.previousSize)&&this.viewManager.forceRenderAll()})):!1!==this.onViewPortChange.call(this,e.data.currentSize,e.data.previousSize)&&this.viewManager.forceRenderAll());for(let t of this.modules)t.instance.trigger("viewPortChange",{currentSize:e.data.currentSize,previousSize:e.data.previousSize})}),{internal:!0}),this.on("destroy",(()=>{this.destroy()}),{internal:!0}),this.viewManager.on("rendered",(()=>{"function"==typeof this.onRendered&&(this.options.internalErrorHandling?this.__mightThrow((()=>{this.onRendered.call(this)})):this.onRendered.call(this))}),{internal:!0})}getRouter(){return this.router}setRoot(e){if(this.stage!==IconyViewController.Stage.Initialized)throw new IllegalStateError(this,"Root selector must be set in onCreate()");if("string"!=typeof e)throw new FrameworkError(this,"Root selector must be a valid selector in string format");this.rootNodeSelector=e}getRoot(){return this.rootNode}isVisible(){return this.state.visible}getEventBus(){return this.eventBus}getViewManager(){return this.viewManager}invalidateRouteCache(){return this.router.invalidateViewControllerCacheForCurrentPath()}importTemplate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.__importTemplate(e)}useModule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e)throw new FrameworkError(this,"Module cannot be a instance");if(!(e.prototype instanceof IconyModule))throw new FrameworkError(this,"Module must be extending IconyModule");let i=this.getModule(e,t);if(i)return i;if(this.options.internalErrorHandling)return this.__mightThrow((()=>{let i=e.prototype.constructor.name;this._meta.modules[i]={},this._meta.modules[i].created=Date.now();let n=new e(this,t);return this.modules.push({name:i,constructor:e,instance:n,options:t}),"function"==typeof n.onCreate&&n.onCreate(t),this._meta.modules[i].loaded=Date.now(),this._meta.modules[i].createDuration=this._meta.modules[i].loaded-this._meta.modules[i].created,this._meta.moduleCount++,n}));{let i=e.prototype.constructor.name;this._meta.modules[i]={},this._meta.modules[i].created=Date.now();let n=new e(t);return n.viewController=this,this.modules.push({name:n.constructor.name,constructor:e,instance:n,options:t}),"function"==typeof n.onCreate&&n.onCreate(t),this._meta.modules[i].loaded=Date.now(),this._meta.modules[i].createDuration=this._meta.modules[i].loaded-this._meta.modules[i].created,this._meta.moduleCount++,n}}hasModule(e){"function"==typeof e&&(e=e.prototype.constructor.name);for(let t of this.modules)if(t.name===e)return!0;return!1}getModule(e,t){"function"==typeof e&&(e=e.prototype.constructor.name);for(let i of this.modules)if(i.name===e&&i.options===t)return i.instance;return null}getModules(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];Array.isArray(e)||(e=[e]);let t=[];for(let i of e)"function"==typeof i?t.push(i.prototype.constructor.name):t.push(i);return this.modules.filter((e=>!t.includes(e.name)))}destroyModule(e){if(this.options.internalErrorHandling)return this.__mightThrow((()=>{if(!(e instanceof IconyModule))throw new FrameworkError(this,"A Module must extend IconyModule");if(!this.modules.some((t=>Object.is(e,t.instance))))throw new FrameworkError(this,"The module is not a sub module of this ViewController. And can't be removed.");return e.destroy(),this.modules=this.modules.filter((t=>!Object.is(e,t))),!0}));if(!(e instanceof IconyModule))throw new FrameworkError(this,"A Module must extend IconyModule");if(!this.modules.some((t=>Object.is(e,t.instance))))throw new FrameworkError(this,"The module is not a sub module of this ViewController. And can't be removed.");return e.destroy(),this.modules=this.modules.filter((t=>!Object.is(e,t))),!0}addView(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=this.viewManager.addView(e,t);if(Array.isArray(i))for(const e of i)this.__attachViewListeners(e);else this.__attachViewListeners(i);return i}getView(e){return this.viewManager.getView(e)}getViews(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return this.viewManager.getViews(t)}addViewAt(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.viewManager.addView(e,{index:t,...i});if(Array.isArray(n))for(const e of n)this.__attachViewListeners(e);else this.__attachViewListeners(n);return n}destroy(){if(this.options.internalErrorHandling)this.__mightThrow((()=>{"function"==typeof this.onDestroy&&this.onDestroy();for(let e of this.getModules())this.destroyModule(e.instance);this.eventBus&&(this.eventBus.destroy(),this.eventBus=null),this.viewManager.destroy()}));else{"function"==typeof this.onDestroy&&this.onDestroy();for(let e of this.getModules())this.destroyModule(e.instance);this.eventBus&&(this.eventBus.destroy(),this.eventBus=null),this.viewManager.destroy()}}createNodeFromString(e){return IconyViewController.DocumentRange.createContextualFragment(e.trim()).firstChild}dataSource(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(t&&this.dataSources.some((e=>e.name===t)))throw new FrameworkError(this,"Cannot define data source with identifier '"+t+"' more than once");this.dataSources.some((t=>Object.is(t.options,e)));let i=new IconyDataSource(e);return this.dataSources.push({options:e,dataSource:i,name:t,owner:this.uid}),i}sharedDataSource(e,t){for(let e of IconyViewController.SharedDataSources)if(e.name===t)return e.dataSource;let i=new IconyDataSource(e);return IconyViewController.SharedDataSources.push({options:e,dataSource:i,name:t}),i}addReference(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=StringUtils.uid();return this.references.push({uid:i,reference:e,options:{group:t},created:Date.now()}),i}getReferences(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e?t?this.references.filter((t=>t.options.group===e)):this.references.filter((t=>t.options.group===e)).map((e=>e.reference)):t?this.references:this.references.map((e=>e.reference))}getReference(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this.references.filter((t=>t.uid===e)):this.references.filter((t=>t.uid===e)).map((e=>e.reference))}removeReference(e){for(let t=0;t<this.references.length;t++){let i;if((i=this.references[t])&&i.uid===e)return this.references.splice(t,1),!0}return!1}setModulesEnabled(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this.options.handleModuleState)for(const t of this.modules)t.instance.enabled=e,t.instance.eventInterfaceEnabled=e,e?(this.options.internalErrorHandling?this.__mightThrow((()=>{"function"==typeof t.instance.onEnable&&t.instance.onEnable()})):"function"==typeof t.instance.onEnable&&t.instance.onEnable(),t.instance._meta.lastUsed=Date.now()):this.options.internalErrorHandling?this.__mightThrow((()=>{"function"==typeof t.instance.onDisable&&t.instance.onDisable()})):"function"==typeof t.instance.onDisable&&t.instance.onDisable()}urlParams(){let e=new URLSearchParams(document.location.search);return e.deleteAndModify=function(t){e.delete(t);let i=location.href.split("?")[0];i=e.size?i+"?"+e.toString():i,window.history.replaceState({},document.title,i)},e.typeGet=function(t){return isNaN(parseFloat(e.get(t)))?isNaN(parseInt(e.get(t)))?e.get(t):parseInt(e.get(t)):parseFloat(e.get(t))},e}__attachViewListeners(e){for(const t of IconyView.ElementListeners){const i=`onElement${StringUtils.upperCaseFirst(t)}`;e.on(i,(e=>{e.bubbles&&!e.cancelBubble&&"function"==typeof this[i]&&this[i].apply(this,[e.data.key,e.data.data,e.data.element,e,e.data.view])}),{internal:!0})}}__importTemplate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.stage!==IconyViewController.Stage.Initialized)throw new FrameworkError(this,"importTemplate() must be called in onCreate()");const i=PromiseUtils.resolvablePromise();Array.isArray(e)||(e=[e]),t||(t=this);for(let t=0;t<e.length;t++){const i=e[t];this.loadedTemplates.includes(i)&&e.splice(t,1)}if(e&&e.length){let n=this.templateQueue.find((e=>e.context.uid===t.uid));n?(n.namespaces.concat.apply(n.namespaces,e),i.resolve()):this.templateQueue.push({context:t,namespaces:e,resolve:i.resolve})}else i.resolve();return i.promise}__requireTemplates(){const e=[],t=[];for(const{context:i,namespaces:n,resolve:r}of this.templateQueue){let s=[];for(const e of n)s.push(IconyModuleLoader.require(`${e}/templates`).catch((()=>{}))),this.loadedTemplates.push(e);t.includes(i)||t.push(i),e.push(Promise.all(s).then((()=>{r()})))}Promise.all(e).then((()=>{for(const e of t)e.emit("template");this.templateQueue=[]}))}__checkImplementations(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(const i of e)"function"!=typeof this[i]&&t.push(i);if(t.length)throw new FrameworkError(this,"must implement at least "+t.join(", "))}__mightThrow(e){try{return e()}catch(e){this.options.outputErrorsToConsole&&(e.message=this.constructor.name+" -> "+e.message),"function"==typeof this.onError&&this.onError.call(this,e);for(let t of this.getModules())t.instance&&"function"==typeof t.instance.onError&&t.instance.onError.call(t.instance,e)}}onCreate(e){}onShow(){}onHide(){}onDestroy(){}onViewPortChange(e,t){}onElementClick(e,t,i,n,r){}onElementInput(e,t,i,n,r){}onElementChange(e,t,i,n,r){}onElementKeyup(e,t,i,n,r){}onElementKeydown(e,t,i,n,r){}}IconyViewController.Stage={Initialized:1,Created:2,Visible:3,Hidden:4},IconyViewController.Defaults={eventBus:{enabled:!0,options:{channel:null}},viewManager:{cache:!1},handleModuleState:!0,internalErrorHandling:!0,outputErrorsToConsole:!0},IconyViewController.SharedDataSources=[],IconyViewController.DocumentRange=document.createRange();class ViewTransformer extends IconyEventInterface{constructor(e){super(),this.setCallbackContext(this),this.view=e,this.animationSlots=[],this.__createSlot()}static attach(e){return new ViewTransformer(e)}opacity(e){return this.__getSlot().opacity=e,this}translateX(e){return this.__getSlot().translate.x=e,this}translateY(e){return this.__getSlot().translate.y=e,this}scale(e){return this.__getSlot().scale=e,this}duration(e){return this.__getSlot().duration=e,this}startDelay(e){return this.__getSlot().startDelay=e,this}easing(e){return this.__getSlot().easing=e,this}slot(e){return this.__getSlot(e)}commit(){return this.__createSlot(),this}play(){return this.__buildCSSProperties()}__buildCSSProperties(){const e=PromiseUtils.resolvablePromise();let t=0;for(let e=0;e<this.animationSlots.length;++e){var i;const n=this.animationSlots[e];null!==n.duration&&(this.view.dom.style.transitionDuration=`${n.duration}ms`,t+=n.duration),requestAnimationFrame((()=>{if(null!==n.opacity&&(this.view.dom.style.opacity=n.opacity),null!==n.translate.x||null!==n.translate.y){const e=[];null!==n.translate.x&&e.push(n.translate.x+"px"),null!==n.translate.y&&e.push(n.translate.y+"px"),this.view.dom.style.transform=`translate(${e.join(",")})`}null!==n.scale&&(this.view.dom.style.scale=`${n.scale}`)})),setTimeout((()=>{this.animationSlots.splice(e,1),this.animationSlots.length||this.__createSlot()}),null!==(i=n.duration)&&void 0!==i?i:0)}return setTimeout((()=>{e.resolve()}),t),e.promise}__getSlot(e){var t,i;return"number"==typeof e?null!==(i=this.animationSlots[e])&&void 0!==i?i:{}:null!==(t=this.animationSlots[this.animationSlots.length-1])&&void 0!==t?t:{}}__createSlot(){this.animationSlots.push({startDelay:null,duration:null,opacity:null,translate:{x:null,y:null},scale:null})}}class IconyView extends IconyUIComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(super(),"IconyView"===this.constructor.name)throw new FrameworkError(this,"IconyView should only be a extending class");this.setCallbackContext(this),this.__checkImplementations(["onCreate"]),this.uid=StringUtils.uid(),this.viewController=null,this.viewManager=null,this.data={},this.options=ObjectUtils.merge(IconyView.Defaults,e),this.templateKey=null,this.template=null,this.templateMap={},this.dom=null,this.dirty=!1,this.ready=!1,this.attached=!1,this.destroyed=!1,this.retainInstance=!1,this.previousView=null,this.target=this.options.target||null,this.pendingUpdates=[],this.bindings=[],this.renderCount=0;const{proxy:t,revoke:i}=Proxy.revocable(this.data,{set:this.__proxyCallback.bind(this)});this.proxy=t,this.destroyProxy=i,this.transformer=null,this.renderDuration=0,this.__create()}getUid(){return this.uid}getDOM(){return this.dom}setRetainInstance(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.retainInstance=e}updateData(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");if(t&&t.length){if("object"!=typeof t[0])throw new FrameworkError(this,"updateData() -> expecting a object");let e;if("function"==typeof this.onUpdateData){var n;const i=ObjectUtils.clone(null!==(n=t.splice(0,1)[0])&&void 0!==n?n:{});if(e=this.onUpdateData.apply(this,[i,...t]),"object"!=typeof t)throw new FrameworkError(this,"onUpdateData() must return valid data")}else e=ObjectUtils.clone(t[0]);for(const t in e)this.proxy[t]=e[t];this.ready&&(this.dirty||this.pendingUpdates.length)&&(this.render(),this.attach(),this.dirty=!1,this.pendingUpdates=[])}else this.isRendered()||(this.render(),this.attach());return this}insertBefore(e){return this.viewManager.insertBefore(e,this)}insertAfter(e){return this.viewManager.insertAfter(e,this)}moveTo(e){this.viewManager.moveView(e,this)}forceRender(){this.render(!0)}render(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");this.dom&&this.dom.remove(),this.__dispatchCallback("onPreRender"),this.emit("preRender"),this.renderCount++,ObjectUtils.isEmpty(this.templateMap)||this.templateMap[ViewPortHelper.Size.Tablet]||(this.templateMap[ViewPortHelper.Size.Tablet]=this.templateMap[ViewPortHelper.Size.Desktop]);const t=ObjectUtils.isEmpty(this.templateMap)?this.templateKey:this.templateMap[ViewPortHelper.CurrentViewPortSize];if(!t)throw new IllegalViewStateError(this,"Undefined template");{const i=Date.now();this.template=new Template(t);let n=this.template.get(this.data);if(n.length,this.dom=this.__createNodeFromString(n),1!==this.dom.childElementCount){const e=document.createElement("div");e.uid=this.uid,e.replaceChildren(...this.dom.children),this.dom=e}else this.dom=this.dom.firstChild;this.renderDuration=Date.now()-i,this.__attachData(),this.__attachBinds(),this.__attachElementListeners(),this.__dispatchCallback("onRendered"),this.emit("rendered"),e&&this.attach()}return this}attach(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");return this.dom||this.render(!1),null!=e&&(this.target=e),this.target&&(this.previousView&&this.previousView.isRendered()&&this.previousView.isAttached()?this.options.appendInsteadOfPrepend?this.previousView.dom.insertAdjacentElement("beforebegin",this.dom):this.previousView.dom.insertAdjacentElement("afterend",this.dom):this.options.appendInsteadOfPrepend?this.target.append(this.dom):this.target.prepend(this.dom),this.attached=!0,this.__dispatchCallback("onAttached"),this.emit("attached")),this}detach(){if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");this.dom&&(this.dom.remove(),this.attached=!1,this.__dispatchCallback("onDetached"),this.emit("detached"))}defineData(e){if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");if(this.dom)throw new IllegalViewStateError(this,"Cannot define after rendered");for(const t in e)this.data[t]=e[t];return this}defineTemplate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");return this.dirty=!0,t?this.templateMap[t]=e:this.templateKey=e,this}defineOptions(e){if(this.dom)throw new IllegalViewStateError(this,"Cannot define after rendered");return this.options=ObjectUtils.merge(this.options,e),this}setBindingType(e,t){if(![...Object.values(IconyView.Binding)].includes(t))throw new FrameworkError(this,"Unknown binding type: '"+t+"'. Take a look at IconyView.Binding");const i=this.bindings.find((t=>t.bind===e));return!!i&&(i.type=t,!0)}querySelector(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");if(!this.dom)throw new FrameworkError(this,"Cannot access DOM Nodes until view is rendered");const i=this.dom.querySelectorAll(e);return i&&i.length?t?i:i&&1===i.length?i[0]:i:t?UITools.emptyNodeList():null}querySelectorAll(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.destroyed)throw new IllegalViewStateError(this,"View is destroyed");if(!this.dom)throw new FrameworkError(this,"Cannot access DOM Nodes until view is rendered");const i=this.dom.querySelectorAll(e);return t?[...i]:i}refreshBindings(){this.__attachElementListeners(),this.__attachBinds()}destroy(){this.destroyProxy(),this.dom&&(this.dom.remove(),this.dom=null),this.off("create"),this.off("registered"),this.off("attached"),this.off("detached"),this.off("rendered"),this.destroyed=!0,this.attached=!1,this.__dispatchCallback("onDestroy"),this.viewManager&&this.viewManager.destroyView(this)}isDestroyed(){return this.destroyed}isRendered(){return null!==this.dom}isAttached(){return this.attached}transform(){return this.transformer||(this.transformer=ViewTransformer.attach(this)),this.transformer}animate(){return this.transform()}__create(){this.__dispatchCallback("onCreate",this.options),this.emit("create")}__attachData(){const e=Array.from(this.dom.querySelectorAll("[bind-data]"));for(const t of e){const e=t.getAttribute("bind-data");if(e.includes("{")&&e.includes("}"))try{t._viewData=JSON.parse(e)}catch(e){}else this.options.autoCastAttributeValues?t._viewData=IconyDataUtils.autoCast(e):t._viewData=e;this.options.autoRemoveDataAttributes&&t.removeAttribute("bind-data")}}__attachBinds(){this.bindings=[];const e=Array.from(this.dom.querySelectorAll("[bind-text]")),t=Array.from(this.dom.querySelectorAll("[bind-html]"));if(e.length||t.length){for(const t of e)this.bindings.push({type:IconyView.Binding.Text,bind:t.getAttribute("bind-text"),node:t}),this.options.autoRemoveBindAttributes&&t.removeAttribute("bind-text");for(const e of t)this.bindings.push({type:IconyView.Binding.HTML,bind:e.getAttribute("bind-html"),node:e}),this.options.autoRemoveBindAttributes&&e.removeAttribute("bind-html")}}__executeBinding(e,t){switch(e.type){case IconyView.Binding.Text:e.node.textContent=t.toString();break;case IconyView.Binding.HTML:e.node.innerHTML=t.toString()}}__attachElementListeners(){let e=IconyView.ElementListeners;this.options.autoDetectBindListeners&&(e=this.__getEventTypesFromTemplateString());for(const t of e){const e=StringUtils.upperCaseFirst(t),i=Array.from(this.dom.querySelectorAll(`[bind-${t}]`));if(i.length)for(const n of i){const i=`onElement${e}`;n._viewListenerData={type:t,key:n.getAttribute(`bind-${t}`),data:n._viewData},n.addEventListener(t,(e=>{IconyView.DefaultPreventedListenerElements.includes(n.tagName)&&e.preventDefault();const t=new CustomEvent(i,{bubbles:!0,cancelable:!0,detail:{key:n._viewListenerData.key,data:n._viewListenerData.data,element:n,view:this}});t.data={key:n._viewListenerData.key,data:n._viewListenerData.data,element:n,view:this},Object.defineProperty(t,"target",{value:n,writable:!1}),Object.defineProperty(t,"originalEvent",{value:e,writable:!1}),this.emitEvent(t),"function"==typeof this[i]&&this[i].apply(this,[n._viewListenerData.key,n._viewListenerData.data,n,t,this])})),this.options.autoRemoveBindAttributes&&n.removeAttribute(`bind-${t}`)}}}__getEventTypesFromTemplateString(){const e=[],t=templateStore[this.templateKey]||"",[i,n]=/bind-(.*?)[={1}]/gm.exec(t)||[null,null];return n&&!e.includes(n)&&IconyView.ElementListeners.includes(n)&&e.push(n),e}__insertAfter(e,t){e.parentNode.insertBefore(t,e)}__createNodeFromString(e){return IconyViewManager.DocumentRange.createContextualFragment(`${e.trim()}`)}__dispatchCallback(e){if("function"==typeof this[e]){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];this[e].apply(this,i)}}__proxyCallback(e,t,i){if(this.data[t]!==i){let n;return e[t]=i,(n=this.bindings.find((e=>e.bind===t)))?(this.__executeBinding(n,i),!0):(this.pendingUpdates.push({key:t,value:i}),this.dirty=!0,!0)}return!0}__checkImplementations(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[];for(const i of e)"function"!=typeof this[i]&&t.push(i);if(t.length)throw new FrameworkError(this,"must implement at least "+t.join(", "))}onCreate(e){}onUpdateData(e){return e}onPreRender(){}onRendered(){}onAttached(){}onDestroy(){}onElementClick(e,t,i,n,r){}onElementInput(e,t,i,n,r){}onElementChange(e,t,i,n,r){}onElementKeyup(e,t,i,n,r){}onElementKeydown(e,t,i,n,r){}}IconyView.Binding={Text:1,HTML:2},IconyView.ElementListeners=["click","keydown","keyup","change","input"],IconyView.DefaultPreventedListenerElements=["A","BUTTON"],IconyView.Defaults={autoDetectBindListeners:!1,autoRemoveBindAttributes:!0,autoRemoveDataAttributes:!0,autoCastAttributeValues:!0,appendInsteadOfPrepend:!1,ignoreViewPortChanges:!1,target:null};class ViewGroup extends IconyEventInterface{constructor(){super(),this.setCallbackContext(this),this.uid=StringUtils.uid();for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];for(const e of t)if(!(e instanceof IconyView)&&"IconyView"!==e.constructor.name)throw new FrameworkError(this,"One or more of supplied params are no views");this.children=t}static from(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return new ViewGroup(...t)}getChildren(){return this.children}getChildrenCount(){return this.children.length}detach(){for(const e of this.children)e.detach()}attach(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;for(const t of this.children)t.attach(e)}destroy(){for(const e of this.children)e.destroy()}}class IconyEventBus{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.uid=t?this.__addSubscriber(t):StringUtils.uid(),this.subscriber=t,this.options=ObjectUtils.merge(IconyEventBus.Defaults,e)}static attach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new FrameworkError(this,"Subscriber cannot be empty");return new IconyEventBus(t,e)}setChannel(e){this.options.channel=e}emit(e,t){this.__dispatchEvent(e,t)}dispatch(e,t){this.__dispatchEvent(e,t)}trigger(e,t){this.__dispatchEvent(e,t)}addEventListener(e,t){this.__createListeners(e,t)}on(e,t){return this.__createListeners(e,t)}once(e,t){return this.__createListeners(e,t,{once:!0})}off(e){return this.__removeEvents(e)}removeEventListener(e){return this.__removeEvents(e)}enqueue(e,t){return this.__enqueueEvent(e,t)}take(e,t){return this.__takeEvents(e,t)}destroy(){this.__destroy()}__addSubscriber(e){let t=StringUtils.uid();return IconyEventBus.Subscribers.push({uid:t,name:e.constructor.name,class:e}),t}__dispatchEvent(e,t){"string"==typeof e&&(e=[e]);for(let i of e){let[e,n]=this.__parseEventName(i);for(let i=0;i<IconyEventBus.Listeners.length;i++){let r;if((r=IconyEventBus.Listeners[i])&&r.eventName===n&&e===r.options.channel){let e=new CustomEvent(n,{detail:t});e.data=t,this.subscriber&&(this.origin=this.subscriber),r.callback.call(null,e),r.options.once&&IconyEventBus.Listeners.splice(i,1)}}}}__createListeners(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};i=ObjectUtils.merge(IconyEventBus.ListenerDefauls,i),this.options.channel&&(i.channel=this.options.channel);let n=[];"string"==typeof e&&(e=[e]);for(let r of e){let[e,s]=this.__parseEventName(r);if(e&&!i.channel&&(i.channel=e),s){let e=StringUtils.uid();IconyEventBus.Listeners.push({eventName:s,callback:t,uid:e,parent:this.uid,options:i}),n.push(e)}}return 1===n.length?n[0]:n}__removeEvents(e){let t=[];"string"==typeof e&&(e=[e]);for(let i of e)for(let e=0;e<IconyEventBus.Listeners.length;e++){let n;(n=IconyEventBus.Listeners[e])&&(n.eventName!==i&&n.uid!==i||(t.push(n.uid),IconyEventBus.Listeners.splice(e,1)))}return 1===t.length?t[0]:t}__enqueueEvent(e,t){let i=[];"string"==typeof e&&(e=[e]);for(let n of e){let e=StringUtils.uid();IconyEventBus.Queue.push({eventName:n,data:t,uid:e}),i.push(e)}return 1===i.length?i[0]:i}__takeEvents(e,t){return new Promise((i=>{"string"==typeof e&&(e=[e]);let n=IconyEventBus.Queue.filter((t=>e.includes(t.eventName)));for(let e of n)t.call(null,e.data);i()}))}__destroy(){for(let e=0;e<IconyEventBus.Listeners.length;e++){let t;(t=IconyEventBus.Listeners[e])&&t.parent===this.uid&&IconyEventBus.Listeners.splice(e,1)}for(let e=0;e<IconyEventBus.Subscribers.length;e++){let t;(t=IconyEventBus.Subscribers[e])&&t.uid===this.uid&&IconyEventBus.Subscribers.splice(e,1)}}__parseEventName(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(t&&!/^[a-zA-Z0-9.]*$/.test(e))throw new FrameworkError(this,"Invalid characters detected");if(t&&e.split(".").length>2)throw new FrameworkError(this,"Only one separator allowed in EventName ("+e+")");let[i,n]=e.includes(".")?e.split("."):[null,e];if(t&&e.includes(".")&&!i)throw new FrameworkError(this,"Found separator but channel is empty ("+e+")");if(t&&!n)throw new FrameworkError(this,"Name is empty ("+e+")");return[i,n]}}IconyEventBus.Subscribers=[],IconyEventBus.Listeners=[],IconyEventBus.Queue=[],IconyEventBus.ListenerDefauls={once:!1,channel:null},IconyEventBus.Defaults={channel:null};class TemplateToken{constructor(e,t){this.type=e,this.content=t}}TemplateToken.TYPE_VARIABLE=1,TemplateToken.TYPE_TEXT=2,TemplateToken.TYPE_IF=3,TemplateToken.TYPE_FOR_EACH=4,TemplateToken.TYPE_ELSE=6,TemplateToken.TYPE_END=7,TemplateToken.TYPE_EQUALS=8;class TemplateTokenizer{constructor(e){this.content=e,this.currentChar=0,this.tokens=[],this.nextTokenContent="",this.scanMode=TemplateTokenizer.SCAN_MODE_TEXT}__getCurrentChar(){return this.currentChar>=this.currentChar.length?null:this.content[this.currentChar]}__peakNextChar(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return this.currentChar+e>this.currentChar.length?null:this.content[this.currentChar+e]}__eatChar(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.currentChar+=e}__addNewToken(e,t){let i=new TemplateToken(e,t);this.tokens.push(i),this.nextTokenContent=""}getTokens(){for(;;){if(null==this.__getCurrentChar())break;switch(this.scanMode){case TemplateTokenizer.SCAN_MODE_TAG:this.__scanTag();break;case TemplateTokenizer.SCAN_MODE_TEXT:this.__scanText()}}return this.nextTokenContent.length>0&&this.__addNewToken(TemplateToken.TYPE_TEXT,this.nextTokenContent),this.tokens}__scanTag(){for(;;){let e=this.__getCurrentChar();if(null==e)break;let t=this.__peakNextChar();if(e==TemplateTokenizer.TAG_CLOSE&&t==TemplateTokenizer.TAG_CLOSE){this.scanMode=TemplateTokenizer.SCAN_MODE_TEXT,this.__eatChar(2),this.nextTokenContent.length>0&&this.__scanTagContent();break}" "!=e?(this.nextTokenContent+=e,this.__eatChar()," "==t&&(this.__eatChar(),this.__scanTagContent())):this.__eatChar()}}__scanTagContent(){this.nextTokenContent==TemplateTokenizer.TAG_END?this.__addNewToken(TemplateToken.TYPE_END,this.nextTokenContent):this.nextTokenContent==TemplateTokenizer.TAG_IF?this.__addNewToken(TemplateToken.TYPE_IF,this.nextTokenContent):this.nextTokenContent==TemplateTokenizer.TAG_ELSE?this.__addNewToken(TemplateToken.TYPE_ELSE,this.nextTokenContent):this.nextTokenContent==TemplateTokenizer.TAG_FOR_EACH?this.__addNewToken(TemplateToken.TYPE_FOR_EACH,this.nextTokenContent):this.nextTokenContent==TemplateTokenizer.TAG_EQUALS?this.__addNewToken(TemplateToken.TYPE_EQUALS,this.nextTokenContent):this.__addNewToken(TemplateToken.TYPE_VARIABLE,this.nextTokenContent)}__scanText(){for(;;){let e=this.__getCurrentChar();if(null==e)break;let t=this.__peakNextChar();if(e==TemplateTokenizer.TAG_OPEN&&t==TemplateTokenizer.TAG_OPEN){this.nextTokenContent.length>0&&this.__addNewToken(TemplateToken.TYPE_TEXT,this.nextTokenContent),this.scanMode=TemplateTokenizer.SCAN_MODE_TAG,this.__eatChar(2);break}this.nextTokenContent+=e,this.__eatChar(1)}}}TemplateTokenizer.SCAN_MODE_TEXT=1,TemplateTokenizer.SCAN_MODE_TAG=2,TemplateTokenizer.TAG_OPEN="{",TemplateTokenizer.TAG_CLOSE="}",TemplateTokenizer.TAG_END="end",TemplateTokenizer.TAG_IF="if",TemplateTokenizer.TAG_ELSE="else",TemplateTokenizer.TAG_FOR_EACH="foreach",TemplateTokenizer.TAG_EQUALS="==";class TemplateAST{constructor(e){this.type=e}}TemplateAST.TYPE_VARIABLE=1,TemplateAST.TYPE_TEXT=2,TemplateAST.TYPE_LANG=3,TemplateAST.TYPE_ROUTE=4,TemplateAST.TYPE_IF_ELSE=5,TemplateAST.TYPE_FOR_EACH=6,TemplateAST.TYPE_EXPRESSION=7,TemplateAST.TYPE_EXPRESSION_EQUALS=8,TemplateAST.variablePrefixTypes={"lang:":TemplateAST.TYPE_LANG,"path_to:":TemplateAST.TYPE_ROUTE};class TemplateASTVariable extends TemplateAST{constructor(e){super(TemplateAST.TYPE_VARIABLE),this.name=e}}class TemplateASTText extends TemplateAST{constructor(e){super(TemplateAST.TYPE_TEXT),this.content=e}}class TemplateASTLang extends TemplateAST{constructor(e){super(TemplateAST.TYPE_LANG),this.name=e}}class TemplateASTRoute extends TemplateAST{constructor(e){super(TemplateAST.TYPE_ROUTE),this.name=e}}class TemplateASTIfElse extends TemplateAST{constructor(e,t,i){super(TemplateAST.TYPE_IF_ELSE),this.expression=e,this.thenCase=t,this.elseCase=i}}class TemplateASTForEach extends TemplateAST{constructor(e,t){super(TemplateAST.TYPE_FOR_EACH),this.name=e,this.loopBody=t}}class TemplateASTExpression extends TemplateAST{constructor(e){super(TemplateAST.TYPE_EXPRESSION),this.body=e}}class TemplateASTExpressionEquals extends TemplateAST{constructor(e,t){super(TemplateAST.TYPE_EXPRESSION_EQUALS),this.left=e,this.right=t}}class TemplateParser{constructor(e){this.tokens=e,this.currentToken=0,this.error=!1}parse(){let e=[];for(;;){let t=this.__parseTokens();if(null==t)break;e.push(t)}return this.error?(TemplateStore.DEBUG_PARSER,[]):e}__parseTokens(){let e=this.__getCurrentToken();if(null==e)return null;switch(e.type){case TemplateToken.TYPE_VARIABLE:return this.__parseVariable();case TemplateToken.TYPE_TEXT:return this.__parseText();case TemplateToken.TYPE_IF:return this.__parseIfElse();case TemplateToken.TYPE_FOR_EACH:return this.__parseForEach();case TemplateToken.TYPE_END:default:return this.error=!0,null}}__parseVariable(){let e=this.__getCurrentToken();this.__eatToken();for(const t in TemplateAST.variablePrefixTypes)if(e.content.startsWith(t))switch(TemplateAST.variablePrefixTypes[t]){case TemplateAST.TYPE_LANG:return new TemplateASTLang(e.content.slice(t.length));case TemplateAST.TYPE_ROUTE:return new TemplateASTRoute(e.content.slice(t.length))}return new TemplateASTVariable(e.content)}__parseText(){let e=this.__getCurrentToken();return this.__eatToken(),new TemplateASTText(e.content)}__parseIfElse(){this.__eatToken();let e=this.__parseExpression();if(this.error)return null;let t=[],i=[],n=!1,r=!1;do{let e=this.__getCurrentToken();if(null==e)return this.error=!0,null;if(e.type==TemplateToken.TYPE_END)n=!0,this.__eatToken();else if(e.type==TemplateToken.TYPE_ELSE)r=!0,this.__eatToken();else{let e=this.__parseTokens();if(this.error)return null;r?i.push(e):t.push(e)}}while(0==n);return new TemplateASTIfElse(e,t,i)}__parseExpression(){let e=null,t=!1;do{let i=this.__getCurrentToken();if(null==i)return this.error=!0,null;switch(i.type){case TemplateToken.TYPE_TEXT:t=!0;break;case TemplateToken.TYPE_VARIABLE:let i=this.__parseVariable();if(i.type!=TemplateAST.TYPE_VARIABLE)return this.error=!0,null;e=new TemplateASTExpression(i);let n=this.__getCurrentToken();null!=n&&n.type==TemplateToken.TYPE_EQUALS||(t=!0);break;case TemplateToken.TYPE_EQUALS:this.__eatToken();let r=e,s=this.__parseExpression();if(this.error)return null;e=new TemplateASTExpressionEquals(r,s),t=!0;break;default:return void(this.error=!0)}}while(0==t);return null==e?(this.error=!0,null):e}__parseForEach(){this.__eatToken();let e=this.__getCurrentToken();if(null==e)return this.error=!0,null;if(e.type!=TemplateToken.TYPE_VARIABLE)return this.error=!0,null;this.__eatToken();let t=e.content,i=[],n=!1;do{let e=this.__getCurrentToken();if(null==e)return this.error=!0,null;if(e.type==TemplateToken.TYPE_END)n=!0,this.__eatToken();else{if(e.type==TemplateToken.TYPE_ELSE)return this.error=!0,null;{let e=this.__parseTokens();i.push(e)}}if(this.error)return null}while(0==n);return new TemplateASTForEach(t,i)}__eatToken(){this.currentToken++}__getCurrentToken(){return this.currentToken>=this.tokens.length?null:this.tokens[this.currentToken]}__peakToken(){return this.currentToken+1>=this.tokens.length?null:this.tokens[this.currentToken+1]}}class Template{constructor(e){this.name=e,this.astList=TemplateStore.getTemplateAST(e),this.currentBuildToken=null}get(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 0==this.astList.length?"":(this.variables=e,this.variableNames=Object.keys(e),this.__buildContent(this.astList))}__buildContent(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i="";for(let r of e)switch(r.type){case TemplateAST.TYPE_VARIABLE:(n=this.__getVariable(r.name,t)).found?i+=n.value:i+=`{{${r.content}}}`;break;case TemplateAST.TYPE_TEXT:i+=r.content;break;case TemplateAST.TYPE_LANG:let e=Object.assign({},this.variables,t);i+=IconyLang.get(r.name,e);break;case TemplateAST.TYPE_ROUTE:i+=router.pathToRoute(r.name);break;case TemplateAST.TYPE_IF_ELSE:i+=this.__evaluateExpression(r.expression,t)?this.__buildContent(r.thenCase,t):this.__buildContent(r.elseCase,t);break;case TemplateAST.TYPE_FOR_EACH:var n;if((n=this.__getVariable(r.name,t)).found&&Array.isArray(n.value))for(let e of n.value)0==_.isPlainObject(e)&&(e={it:e}),i+=this.__buildContent(r.loopBody,e)}return i}__getVariable(e,t){return t.hasOwnProperty(e)?{found:!0,value:t[e]}:this.variableNames.includes(e)?{found:!0,value:this.variables[e]}:window.hasOwnProperty(e)?{found:!0,value:window[e]}:e.startsWith('"')&&e.endsWith('"')?{found:!0,value:e.substring(1,e.length-1)}:0==isNaN(e)?{found:!0,value:e}:"false"===e||"FALSE"===e?{found:!0,value:!1}:"true"===e||"TRUE"===e?{found:!0,value:!0}:{found:!1,value:null}}__evaluateExpression(e,t){switch(TemplateStore.DEBUG_EVALUATE_EXPRESSION,e.type){case TemplateAST.TYPE_EXPRESSION:var i=this.__getVariable(e.body.name,t);if(i.found){TemplateStore.DEBUG_EVALUATE_EXPRESSION;let e=i.value;return Array.isArray(i.value)&&(e=i.value.length>0),e}return!1;case TemplateAST.TYPE_EXPRESSION_EQUALS:let n=this.__evaluateExpression(e.left,t)==this.__evaluateExpression(e.right,t);return TemplateStore.DEBUG_EVALUATE_EXPRESSION,n}}}class TemplateStore{static getTemplateAST(e){if(void 0===templateStore[e])return[];if(null!=TemplateStore.parsedTemplates[e])return TemplateStore.parsedTemplates[e];var t=templateStore[e];let i=new TemplateTokenizer(t,!0);TemplateStore.DEBUG_LEXER;let n=i.getTokens();TemplateStore.DEBUG_LEXER;let r=new TemplateParser(n);TemplateStore.DEBUG_PARSER;let s=r.parse();return TemplateStore.DEBUG_PARSER,r.error||(TemplateStore.DEBUG_PARSER,TemplateStore.parsedTemplates[e]=s),s}static __importTemplate(e){let t=Object.keys(e);for(let i of t){let t=e[i];void 0!==templateStore&&(templateStore[i]=t)}}}TemplateStore.parsedTemplates={},TemplateStore.DEBUG_LEXER=!1,TemplateStore.DEBUG_PARSER=!1,TemplateStore.DEBUG_BUILDER=!1,TemplateStore.DEBUG_EVALUATE_EXPRESSION=!1,window.__importTemplate=TemplateStore.__importTemplate;class IconyDataSource extends IconyComponent{constructor(e){super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(IconyDataSource.Defaults,e),this.initial=!0,this.loading=!1,this.endReached=!1,this.dataItems=[],this.removedDataItems=[],this.dataMeta=null,this.metaData={fetched:0,hit:0,refresh:0},this.controller=new AbortController,this.options.autoFetch&&this.fetch(),this.options.type===IconyDataSource.Type.Stack&&this.options.remainingKey}fetch(){return new Promise(((e,t)=>{this.loading||(this.loading=!0,IconyAPI.call(this.__requestParams(),this.controller).then((t=>{if(t&&t[this.options.transport.datasource]){if(this.cached=!1,this.options.type===IconyDataSource.Type.Default&&(this.dataItems=t[this.options.transport.datasource]),this.options.type===IconyDataSource.Type.Stack)if("string"==typeof this.options.uniqueKey)for(const e of t[this.options.transport.datasource])this.options.sort&&"number"!=typeof e[this.options.sort]&&(e[this.options.sort]=1/0),this.dataItems.some((t=>t[this.options.uniqueKey]===e[this.options.uniqueKey]))||this.removedDataItems.some((t=>t[this.options.uniqueKey]===e[this.options.uniqueKey]))||this.dataItems.push(e);else this.dataItems.push.apply(this.dataItems,t[this.options.transport.datasource]);if(this.dataMeta=ObjectUtils.clone(t),delete this.dataMeta[this.options.transport.datasource],this.options.sort&&("function"==typeof this.options.sort&&this.dataItems.sort(((e,t)=>this.options.sort.call(this,e,t)||0)),"string"==typeof this.options.sort&&this.dataItems.sort(((e,t)=>e[this.options.sort]-t[this.options.sort]))),this.options.postFilter&&"function"==typeof this.options.postFilter&&(this.dataItems=this.dataItems.filter(this.options.postFilter)),this.metaData.fetched+=1,this.initial||(this.metaData.refresh+=1),this.loading=!1,this.options.type===IconyDataSource.Type.Default&&(e(this.dataItems),this.emit("loaded")),this.options.type===IconyDataSource.Type.Stack&&(this.initial&&this.emit("loaded"),t[this.options.transport.datasource]&&!t[this.options.transport.datasource].length&&(this.endReached=!0),e(this.dataItems),this.options.remainingKey)){let e=ObjectUtils.getValueByNotation(t,this.options.remainingKey);isNaN(e)}this.initial&&(this.initial=!1)}})).catch((e=>{this.loading=!1,t(e)})))}))}abort(){this.controller&&this.controller.abort()}purge(){this.initial=!0,this.dataItems=[],this.dataMeta=null,this.endReached=!1,this.metaData={fetched:0,hit:0,refresh:0},this.emit("change")}isLoading(){return this.loading}hasData(){return this.dataItems.length>0}getData(){return this.dataItems}getMetaData(){return this.dataMeta}getOptions(){return this.options}hasSorting(){return this.dataItems.some((e=>e[this.options.sort]!==1/0))}remove(e){return this.emit("change"),1===this.dataItems.splice(e,1).length}removeRange(e,t){return this.emit("change"),this.dataItems.splice(e,t-e).length===t-e}append(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.dataItems.push.apply(this.dataItems,e),this.emit("change")}prepend(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];Array.isArray(e)?this.dataItems.unshift.apply(this.dataItems,e):this.dataItems.unshift(e),this.emit("change")}takeItem(){let e=this.dataItems.shift();return this.removedDataItems.push(e),this.dataItems.length<this.options.minItems&&!this.loading&&!this.endReached&&this.fetch().then((e=>{if(this.options.remainingKey){let e=ObjectUtils.getValueByNotation(this.dataMeta,this.options.remainingKey);isNaN(e),0===e&&(this.endReached=!0)}})),e||null}takeItems(e){e>=this.dataItems.length&&(e=this.dataItems.length);let t=this.dataItems.splice(0,e);return this.removedDataItems.push.apply(this.removedDataItems,t),this.dataItems.length<this.options.minItems&&!this.endReached&&this.fetch().then((e=>{if(this.options.remainingKey){let e=ObjectUtils.getValueByNotation(this.dataMeta,this.options.remainingKey);0===e&&(this.endReached=!0)}})),t}count(){return this.dataItems.length}__requestParams(){return"function"==typeof this.options.transport.data?this.options.transport.data.call(this):this.options.transport.data}}IconyDataSource.Type={Default:1,Stack:2},IconyDataSource.Defaults={autoFetch:!1,transport:{datasource:null,data:{}},postFilter:null,minItems:0,uniqueKey:null,remainingKey:null,type:IconyDataSource.Type.Default};class IconyListAdapter extends IconyComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(IconyListAdapter.Defaults,e),this.dataSource=null,this.currentNodes=[],this.baseView=null,this.options.datasource&&this.__attachDataSource(this.options.datasource),this.options.layout&&(this.baseView=this.options.layout,"string"==typeof this.baseView&&(this.baseView=IconyListAdapter.DocumentRange.createContextualFragment(this.baseView).firstChild)),this.dataSource&&this.options.autoFetch&&!this.dataSource.options.autoFetch&&this.dataSource.fetch()}static attach(e){return new IconyListAdapter({target:e,...arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}})}static create(){return new IconyListAdapter(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}attachDataSource(e){this.__attachDataSource(e)}setRenderTarget(e){this.options.target=e}renderLayout(e){e.replaceChildren(...this.currentNodes)}fetch(){this.dataSource&&this.dataSource.fetch()}__attachDataSource(e){if(this.dataSource)throw new Error("IconyListAdapter -> DataSource can only attached once.");this.dataSource=e,this.dataSource.on("loaded",this.__onDataSourceLoaded.bind(this)),this.dataSource.on("error",this.__onDataSourceError.bind(this))}__onDataSourceLoaded(){this.currentNodes=this.__buildLayoutNodes()}__onDataSourceError(){}__buildLayoutNodes(){if("function"!=typeof this.options.itemLayoutCallback)throw new Error("IconyListAdapter -> ItemLayoutCallback must be an function.");let e=this.dataSource.getData(),t=[];for(let i=0;i<e.length;i++){let n=this.baseView.cloneNode(!0);t.push(this.options.itemLayoutCallback.call(this,n,i,e[i])||null)}return t}}IconyListAdapter.Defaults={autoFetch:!0,datasource:null,itemLayoutCallback:null,layout:null},IconyListAdapter.DocumentRange=document.createRange();class FormValidation{constructor(e,t){if(this.container=e,this.fields=[],this.errors=[],this.formSubmitCallback=null,this.formErrorCallback=null,this.formFieldFocusCallback=null,this.pendingPromise=null,e&&t){let e;for(let i=0;i<t.length;i++)(e=t[i])&&this.__addField(e.name,e.filters,e.errors||[],e.options||{})}this.__createListeners(),e&&e.addEventListener("submit",(e=>{this.formSubmitCallback&&this.formSubmitCallback(e)}));let i=Object.keys(FormValidation.Error);for(let e=0;e<i.length;e++){let t;(t=FormValidation.Error[i[e]])&&this.errors.push(t)}}onSubmit(e){this.formSubmitCallback=e}onFieldError(e){this.formErrorCallback=e}onFieldFocus(e){this.formFieldFocusCallback=e}setFormDisabled(e){this.__setFormDisabled(e)}resetForm(){this.container.reset(),this.setFormDisabled(!1)}addField(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.__addField(e,t,i,n)&&this.__createListeners()}addError(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(e&&t){if(this.__findErrorByCode(e))return;Array.isArray(i)||(i=[i]),this.errors.push({code:e,message:t,linkedFields:i,useNotification:n})}}setError(e,t){if(e&&t){let i=this.__findErrorByCode(e);i?(i.code=e,i.message=t):this.addError(e,t)}}raiseError(e){let t;if(t=this.__findErrorByCode(e))for(let e of t.linkedFields){let i=this.__findFieldInDefinition(e);i&&i.element&&this.__displayErrorMessage(i,t.code)}}getFieldValue(e){}getNextFailingFieldElement(){let e=[...this.fields];e.sort(((e,t)=>{const i=e.element.length>1?e.element[0]:e.element,n=t.element.length>1?t.element[0]:t.element;return i instanceof Node&&n instanceof Node?i.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1:0}));let t=e.filter((e=>e.element.length>1?null!==e.currentError&&e.element[0].parentElement.clientWidth:null!==e.currentError&&e.element.clientWidth));return t[0]?t[0].element.length>1?t[0].element[0].parentElement:t[0].element:null}getFailedFields(){}getFormData(){let e=new FormData;e.toObject=function(){let t={};for(const[i,n]of e)i&&n&&(t[i]=n);return t};for(let t=0;t<this.fields.length;t++){let i;if(i=this.fields[t])if(2===i.element.length||3===i.element.length&&"reg_look_for"===i.element[0].name){let t=i.element.filter((e=>e.checked));t&&t[0]?isNaN(parseInt(t[0].value))?e.set(i.name,t[0].value):e.set(i.name,parseInt(t[0].value)):e.delete(i.name)}else i.element.value?e.set(i.name,i.element.value):e.delete(i.name)}return e}getAllFieldValues(){let e={};for(let t=0;t<this.fields.length;t++){let i;if(i=this.fields[t])if(2===i.element.length){let t=i.element.filter((e=>e.checked));t&&t[0]?isNaN(parseInt(t[0].value))?e[i.name]=t[0].value:e[i.name]=parseInt(t[0].value):e[i.name]=null}else e[i.name]=i.element.value||null}return e}validateAll(){if(this.pendingPromise)return this.pendingPromise;let e,t=[];for(let i=0;i<this.fields.length;i++)(e=this.fields[i])&&t.push(this.validateField(e.name));return this.pendingPromise||(this.pendingPromise=new Promise(((e,i)=>{Promise.all(t).then((()=>{e(),this.pendingPromise=null})).catch((e=>{FormValidation.AFTER_VALIDATION_RESOLVE_DELAY_MS>0?setTimeout((()=>{i(e),this.pendingPromise=null}),FormValidation.AFTER_VALIDATION_RESOLVE_DELAY_MS):(i(e),this.pendingPromise=null)}))}))),this.pendingPromise}validateField(){let e=[];for(let t=0;t<arguments.length;t++){let i=this.__findFieldInDefinition(t<0||arguments.length<=t?void 0:arguments[t]);i&&e.push(new Promise(((e,t)=>{this.__validateField(i.element,i.filters).then((()=>{this.__displayErrorMessage(i,null,i),i.currentError=null,e()})).catch((e=>{this.__displayErrorMessage(i,e,i),i.currentError=e,t(e)}))})))}return Promise.all(e)}__createListeners(){for(let e=0;e<this.fields.length;e++){let t;(t=this.fields[e])&&(Array.isArray(t.element)?t.element.forEach((e=>{e.formValidation||(e.formValidation={},e.addEventListener("change",(()=>{this.pendingPromise||this.__validateField(t.element,t.filters).then((()=>{this.__displayErrorMessage(t,null)})).catch((e=>{this.__displayErrorMessage(t,e)}))})),e.formValidation=t)})):(t.element.formValidation||(t.element.formValidation={},t.element.addEventListener("value",(()=>{this.pendingPromise||this.__validateField(t.element,t.filters).then((()=>{this.__displayErrorMessage(t,null)})).catch((e=>{this.__displayErrorMessage(t,e)}))})),t.element.addEventListener("focus",(()=>{this.formFieldFocusCallback&&this.formFieldFocusCallback(t)})),!0!==t.options.disableBlur&&t.element.addEventListener("blur",(()=>{this.pendingPromise||this.__validateField(t.element,t.filters).then((()=>{this.__displayErrorMessage(t,null)})).catch((e=>{this.__displayErrorMessage(t,e)}))})),"checkbox"===t.element.type&&t.element.addEventListener("change",(()=>{this.pendingPromise||this.__validateField(t.element,t.filters).then((()=>{this.__displayErrorMessage(t,null)})).catch((e=>{this.__displayErrorMessage(t,e)}))}))),t.element.formValidation=t))}}__validateField(e,t){let i,n=[];for(let r=0;r<t.length;r++)if(i=t[r]){let t=i.call({element:e,context:this});t instanceof Promise&&n.push(t)}return Promise.all(n)}__findFieldByString(e){if(this.container)try{let t=Array.from(this.container.querySelectorAll("[name="+e+"]"));return t.length>0?1===t.length?t[0]:t:null}catch(e){return null}return null}__findFieldInDefinition(e){for(let t=0;t<this.fields.length;t++){let i;if((i=this.fields[t])&&i.name===e)return i}return null}__addField(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=this.__findFieldByString(e);return r&&(this.fields.push({name:e,element:r,filters:t,options:ObjectUtils.merge(FormValidation.FieldDefaults,n)}),this.__addErrors(i)),r}__addErrors(e){if(e&&e.length)for(let t=0;t<e.length;t++){let i;(i=e[t])&&this.errors.push(i)}}__displayErrorMessage(e,t){const i=this.__findErrorByCode(t);let n=e.element;if(n)if(2===n.length||3===n.length&&"reg_look_for"===n[0].name)for(let e of n)t?e.parentNode.querySelector("label").classList.add("error"):e.parentNode.querySelector("label").classList.remove("error");else t?n.classList&&n.classList.add("error"):n.classList&&n.classList.remove("error");Array.isArray(n)&&(n=n[0]);let r,s=e.options.containerTarget?this.__ensureHTMLElement(e.options.containerTarget):document.getElementById("status_"+n.getAttribute("name"));if(s&&(s.classList.contains("status")&&(t?(s.classList.add("error"),s.classList.remove("success")):(s.classList.add("success"),s.classList.remove("error"))),r=e.options.messageTarget?this.__ensureHTMLElement(e.options.messageTarget,s):s.getElementsByClassName("ic-status-msg")[0],r)){if(e.notification&&e.notification.close(!1),t){if(!i)return;i.useNotification?(e.notification=IconyNotification.create({showOnCreate:!0,message:i.message,baseStyle:IconyNotification.BaseStyle.Regular,style:IconyNotification.Style.Error,type:IconyNotification.Type.Permanent,container:r,variant:IconyNotification.Variant.Inline,closable:!1,icon:"cross-thin",escapeHtml:!1}),e.notification.open()):i.message instanceof Node?(r.innerHTML="",r.appendChild(i.message)):r.innerHTML=i.message}else r.textContent="";this.formErrorCallback&&i&&this.formErrorCallback(n,i)}}__findErrorByCode(e){for(let t=0;t<this.errors.length;t++){let i;if((i=this.errors[t])&&i.code&&i.code===e)return i}return null}__setFormDisabled(e){let t=Array.from(this.container.getElementsByTagName("input"));t=t.concat(Array.from(this.container.getElementsByTagName("button"))),t=t.concat(Array.from(this.container.getElementsByTagName("select"))),t=t.concat(Array.from(this.container.getElementsByTagName("textarea"))),t=t.concat(Array.from(this.container.getElementsByTagName("location-input"))),t=t.concat(Array.from(this.container.getElementsByTagName("date-dropdown-select")));for(let i=0;i<t.length;i++)e?t[i].setAttribute("disabled","disabled"):t[i].removeAttribute("disabled")}__ensureHTMLElement(e,t){return t||(t=document),"string"==typeof e?t.querySelector(e):e}static __makeError(e,t){return{value:e,reason:t}}}FormValidation.Filter={NotEmpty:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(){return new Promise(((t,i)=>{this.element.value&&"string"==typeof this.element.value&&this.element.value.trim().length>0||this.element.value&&"number"==typeof this.element.value&&!isNaN(this.element.value)?t():i(e||FormValidation.Error.NotEmpty.code)}))}},Checked:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(){return new Promise(((t,i)=>{this.element.checked?t():i(e||FormValidation.Error.Checked.code)}))}},Choice:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(){return new Promise(((t,i)=>{Array.isArray(this.element)&&this.element.some((e=>e.checked))?t():i(e||FormValidation.Error.Choice.code)}))}},MinLength:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(){return new Promise(((i,n)=>{if(this.element.value.length>=e)i();else{FormValidation.Error.MinLength.message=StringUtils.format(FormValidation.Error.MinLength.message,e),n(t||FormValidation.Error.MinLength.code)}}))}},MaxLength:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(){return new Promise(((i,n)=>{if(this.element.value.length<=e)i();else{FormValidation.Error.MinLength.message=StringUtils.format(FormValidation.Error.MaxLength.message,e),n(t||FormValidation.Error.MaxLength.code)}}))}},Email:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(){return new Promise(((t,i)=>{this.element.value.length&&/^[a-zA-Z0-9.!#$%&amp;'*+\-\/=?_`{|}~\-]+@[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*$/.test(this.element.value.trim())?t():i(e||FormValidation.Error.Email.code)}))}},Api:function(e,t,i){return function(){return new Promise(((n,r)=>{let s=t?t.call(this):this.element.value;if(s&&s.trim().length>0){paramsVals="function"==typeof e?e.call(this):e;let t,o=Object.assign({},{format:"json",value:s},paramsVals);t="undefined"==typeof api?IconyAPI.call(o):api.call(o,!1),t.then(n).catch((e=>{r(i?i.call(this,e):e.errno)}))}else r()}))}},Custom:function(e){return function(){return e?new Promise(e.bind(this)):Promise.reject()}},Numeric:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(){return new Promise(((t,i)=>{if(this.element.value.length)if(/^-?\d+$/.test(this.element.value))t();else{FormValidation.Error.Numeric.message=StringUtils.format(FormValidation.Error.Numeric.message,length),i(e||FormValidation.Error.Numeric.code)}else t()}))}},IBAN:function(){return function(){return new Promise(((e,t)=>{let i=this.element.value.replace(/\s/g,"");i.length<15&&t(FormValidation.Error.IBAN),i.length>33&&t(FormValidation.Error.IBAN),0==/^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,33}$/i.test(i)&&t(FormValidation.Error.IBAN),e()}))}},CC_CARDHOLDER_NAME:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return function(){return new Promise(((t,i)=>{let n=this.element.value.trim().split(" ",2);1==n.length&&n[0].length<=1&&i(e||FormValidation.Error.CC_CARDHOLDER_NAME.code),2==n.length&&n[1].length<=1&&i(e||FormValidation.Error.CC_CARDHOLDER_NAME.code),t()}))}}},FormValidation.Error={Checked:{code:-1,message:"Bitte bestätigen",useNotification:!1},Choice:{code:-2,message:"Bitte treffe eine Auswahl",useNotification:!1},NotEmpty:{code:-3,message:"Dieses Feld muss ausgefüllt werden",useNotification:!1},MinLength:{code:-4,message:"Es müssen mindestens %d Zeichen eingegeben werden",useNotification:!1},MaxLength:{code:-5,message:"Es dürfen maximal %d Zeichen eingegeben werden",useNotification:!1},Numeric:{code:-6,message:"Es muss eine Zahlenfolge eingegeben werden",useNotification:!1},IBAN:{code:210,message:"Die angegebene IBAN ist ungültig",useNotification:!1},CC_CARDHOLDER_NAME:{code:211,message:"Bitte den Karteninhaber gleich schreiben wie auf der Karte angegeben.",useNotification:!1}},FormValidation.FieldDefaults={containerTarget:null,messageTarget:null,disableBlur:!1},FormValidation.AFTER_VALIDATION_RESOLVE_DELAY_MS=0;class ScrollListener extends IconyModule{onCreate(){this.boundedScrollHandler=this.__onScroll.bind(this)}onEnable(){window.addEventListener("scroll",this.boundedScrollHandler,{passive:!0})}onDisable(){window.removeEventListener("scroll",this.boundedScrollHandler)}__onScroll(e){let t=document.body.scrollTop,i=(document.documentElement.scrollTop+t)/(document.documentElement.scrollHeight-document.documentElement.clientHeight)*100;this.emit("scroll.percentage",i),this.emit("scroll",t)}}class IconyStepper extends IconyComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(IconyStepper.Defaults,e),this.steps=this.options.steps,this.currentStepIndex=-1,this.active=!1,this.pendingStep=!1}static fromSteps(){return new IconyStepper({steps:arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],options:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}})}static empty(){return new IconyStepper}isEnabled(){return this.active}getStep(e){return this.steps[e]}getStepIndex(){return this.currentStepIndex}addStep(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.steps.push(e)}addSteps(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.steps=this.steps.concat(e)}removeStep(e){if(e<0||e>this.steps.length)throw new Error("IconyStepper -> Index out of bounds");this.currentStepIndex-=this.steps.splice(e,1).length}removeSteps(e,t){if(e<0||t>this.steps.length)throw new Error("IconyStepper -> Index out of bounds");this.currentStepIndex-=this.steps.splice(e,t-e).length}nextStep(){return this.__nextStep.call(this)}previousStep(){return this.__previousStep.call(this)}setStep(e){return!this.pendingStep&&(this.currentStepIndex<this.steps.length-1&&this.currentStepIndex>=0&&this.active&&(this.currentStepIndex=e,this.__callStep()),!0)}getStepCount(){return this.steps.length}start(){this.currentStepIndex=0,this.active=!0,this.__callStep()}reset(){this.currentStepIndex=0,this.active=!1,this.pendingStep=!1}disable(){this.active=!1,this.pendingStep=!1,this.emit("disable")}destroy(){this.active=!1,this.emit("destroy")}__nextStep(){return!(this.pendingStep||!this.active)&&(this.currentStepIndex<this.steps.length-1&&this.active&&(this.currentStepIndex++,this.__callStep()),!0)}__previousStep(){return!(this.pendingStep||!this.active)&&(this.currentStepIndex>0&&this.active&&(this.currentStepIndex--,this.__callStep()),!0)}__finishStep(){this.pendingStep=!1}__callStep(){!this.active||this.currentStepIndex<0||this.currentStepIndex>this.steps.length||0===this.steps.length||"function"==typeof this.steps[this.currentStepIndex].action&&(this.pendingStep=!0,this.steps[this.currentStepIndex].action.call(this,this.__nextStep.bind(this),this.__previousStep.bind(this),this.__finishStep.bind(this)),this.emit("step",this.currentStepIndex))}}IconyStepper.Defaults={steps:[]};class IconySwipeDetector extends IconyEventInterface{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(IconySwipeDetector.Defaults,e),this.currentState=IconySwipeDetector.State.None,this.startX=0,this.startY=0,this.pixelOffsetX=0,this.pixelOffsetY=0,this.positionQueue=[],this.timeQueue=[],this.lastVelocity=0,this.options.target&&(this.boundTouchStartListener=this.__onTouchStart.bind(this),this.boundTouchMoveListener=this.__onTouchMove.bind(this),this.boundTouchEndListener=this.__onTouchEnd.bind(this),this.__createListeners())}static attach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.target=e,new IconySwipeDetector(t)}getState(){return this.currentState}getVelocityX(){return this.lastVelocity}destroy(){this.__destroy()}__createListeners(){this.options.target.addEventListener("touchstart",this.boundTouchStartListener,{passive:!0}),this.options.target.addEventListener("touchmove",this.boundTouchMoveListener,{passive:!0}),this.options.target.addEventListener("touchend",this.boundTouchEndListener,{passive:!0}),this.options.onlyTouchDevices||(this.options.target.addEventListener("mousedown",this.boundTouchStartListener,{passive:!0}),this.options.target.addEventListener("mousemove",this.boundTouchMoveListener,{passive:!0}),this.options.target.addEventListener("mouseup",this.boundTouchEndListener,{passive:!0}))}__onTouchStart(e){if(this.currentState===IconySwipeDetector.State.None){this.currentState=IconySwipeDetector.State.Started;let t=e.touches?e.touches[0]:e;this.startX=t.clientX,this.startY=t.clientY}this.__resetVelocityQueue()}__onTouchMove(e){if(this.currentState!==IconySwipeDetector.State.Started)return;let t=e.touches?e.touches[0]:e,i=t.clientX-this.startX,n=t.clientY-this.startY;this.__updateVelocityQueuePosition(t.pageX),(Math.abs(i)>this.options.threshold||Math.abs(n)>this.options.threshold)&&(this.currentState=IconySwipeDetector.State.Ended,this.pixelOffsetX=i,this.pixelOffsetY=n)}__onTouchEnd(e){this.currentState===IconySwipeDetector.State.Ended&&(Math.abs(this.pixelOffsetX)>Math.abs(this.pixelOffsetY)&&Math.abs(this.pixelOffsetX)>this.options.threshold?this.pixelOffsetX<0?(this.emit("left"),this.emit("swipeleft")):(this.emit("right"),this.emit("swiperight")):Math.abs(this.pixelOffsetY)>this.options.threshold&&(this.pixelOffsetY<0?(this.emit("up"),this.emit("swipeup")):(this.emit("down"),this.emit("swipedown")))),this.currentState=IconySwipeDetector.State.None,this.lastVelocity=this.__calculateVelocity()}__destroy(){document.removeEventListener("touchstart",this.boundTouchStartListener),document.removeEventListener("touchmove",this.boundTouchMoveListener),document.removeEventListener("touchend",this.boundTouchEndListener),this.options.onlyTouchDevices||(document.removeEventListener("mousedown",this.boundTouchStartListener),document.removeEventListener("mousemove",this.boundTouchMoveListener),document.removeEventListener("mouseup",this.boundTouchEndListener)),this.currentState=IconySwipeDetector.State.None,this.startX=0,this.startY=0,this.pixelOffsetX=0,this.pixelOffsetY=0}__resetVelocityQueue(){this.positionQueue.splice(0),this.timeQueue.splice(0)}__pruneVelocityQueue(e){for(;this.timeQueue.length&&this.timeQueue[0]<Date.now()-e;)this.timeQueue.shift(),this.positionQueue.shift()}__updateVelocityQueuePosition(e){this.positionQueue.push(e),this.timeQueue.push(Date.now()),this.__pruneVelocityQueue(50)}__calculateVelocity(){this.__pruneVelocityQueue(1e3);let e=this.timeQueue.length;if(e<2)return 0;let t=this.positionQueue[e-1]-this.positionQueue[0],i=(this.timeQueue[e-1]-this.timeQueue[0])/1e3;return Math.abs(t/i)}}IconySwipeDetector.Defaults={threshold:55,onlyTouchDevices:!0},IconySwipeDetector.State={None:0,Started:1,Swiping:2,Ended:3};class IconyAnimator extends IconyEventInterface{constructor(){super()}}IconyAnimator.Easing={Linear:e=>e,EaseOutQuad:e=>1-(1-e)*(1-e),EaseInQuad:e=>e,EaseOutCubic:e=>1-Math.pow(1-e,3),EaseInCubic:e=>e*e*e,EaseInQuart:e=>e*e*e*e,EaseOutQuart:e=>1-Math.pow(1-e,4),EaseInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,EaseInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2};class ValueAnimator extends IconyAnimator{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(ValueAnimator.Defaults,e),this.currentFrame=0,this.totalFrames=0,this.progress=0,this.currentIteration=0,this.currentValue=0,this.lastValue=0,this.valueCallback=null,this.running=!1,this.timerReference=null}static fromValues(e,t,i){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:IconyAnimator.Easing.Linear;return new ValueAnimator({from:e,to:t,duration:i,easing:n})}isRunning(){return this.running}getProgress(){return 100*this.progress}getValue(){return this.currentValue}setFrom(e){if(this.running)throw new Error("ValueAnimator -> Cannot modify while running");return this.options.from=e,this}setTo(e){if(this.running)throw new Error("ValueAnimator -> Cannot modify while running");return this.options.to=e,this}setDuration(e){if(this.running)throw new Error("ValueAnimator -> Cannot modify while running");return this.options.duration=e,this}setIterations(e){this.options.iterations=e}setValueCallback(e){return this.valueCallback=e,this}setEasing(e){if(this.running)throw new Error("ValueAnimator -> Cannot modify while runnung");if("function"!=typeof e||isNaN(e(.5)))throw new Error("IconyAnimator -> Easing function is not a valid function / does not return a valid number");return this.options.easing=e,this}start(){return this.running?Promise.reject():"hidden"===document.visibilityState?(this.running=!0,this.totalFrames=Math.round(this.options.duration/(750/this.options.framesPerSecond)),this.currentFrame=this.totalFrames,this.currentValue=this.options.to,this.progress=1,this.emit("update"),this.currentFrame=0,this.currentValue=0,this.progress=0,this.running=!1,this.emit("end"),Promise.resolve()):new Promise(((e,t)=>{if("function"!=typeof this.options.easing||isNaN(this.options.easing(.5)))t();else{if(this.totalFrames=Math.round(this.options.duration/(750/this.options.framesPerSecond)),this.currentFrame=0,this.currentValue=0,this.progress=0,this.running=!0,isNaN(this.totalFrames))throw new Error("IconyAnimator -> Unable to determine frame count");this.emit("start"),this.__dispatchFrame(e)}}))}pause(){this.running=!1}stop(){this.running=!1,this.timerReference&&clearTimeout(this.timerReference),this.currentValue=0,this.currentFrame=0,this.progress=0,this.currentIteration=0,this.emit("update",this.currentValue)}__dispatchFrame(e){this.currentFrame++,this.progress=this.options.easing(this.currentFrame/this.totalFrames),this.options.valuePrecision?this.currentValue=parseFloat((this.options.from+(this.options.to-this.options.from)*this.progress).toExponential(this.options.valuePrecision)):this.currentValue=this.options.from+(this.options.to-this.options.from)*this.progress,this.valueCallback?this.valueCallback.call(this,this.currentValue):this.emit("update",this.currentValue),this.currentFrame!==this.totalFrames&&this.running?this.timerReference=setTimeout(this.__dispatchFrame.bind(this,e),750/this.options.framesPerSecond):(this.currentIteration++,this.options.iterations&&this.currentIteration>=this.options.iterations?(this.running=!1,this.timerReference&&clearTimeout(this.timerReference),this.currentValue=0,this.currentFrame=0,this.progress=0,this.currentIteration=0,this.emit("end"),e&&e()):(this.currentValue=0,this.currentFrame=0,this.progress=0,this.__dispatchFrame(e)))}}ValueAnimator.Defaults={framesPerSecond:60,valuePrecision:0,from:0,to:0,duration:0,iterations:1,easing:IconyAnimator.Easing.Linear};class AnimationChain extends IconyAnimator{constructor(){super(),this.steps=[]}delay(e){return this.steps.push(new Promise((t=>{setTimeout(t,e)}))),this}execute(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.steps.push(new Promise((i=>{t?setTimeout((()=>{e(),i()}),t):e()}))),this}start(){return Promise.all(this.steps.reduce(((e,t)=>e.then(t).catch((e=>{}))),Promise.resolve()))}}class ViewTransition extends IconyEventInterface{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(super(),this.setCallbackContext(this),this.setAvailableEvents("start","finish"),this.options=ObjectUtils.merge(ViewTransition.Defaults,e),this.firstView=this.options.firstView,this.secondView=this.options.secondView,this.animationPromise=null,!this.firstView||!this.secondView)throw new FrameworkError(this,"Both views must be set");if(!(this.firstView instanceof IconyView||this.firstView instanceof ViewGroup))throw new FrameworkError(this,"First view must be a view or view group");if(!(this.secondView instanceof IconyView||this.secondView instanceof ViewGroup))throw new FrameworkError(this,"Second view must be a view or view group");if(!(this.firstView.viewManager&&this.firstView.viewController&&this.secondView.viewManager&&this.secondView.viewController))throw new FrameworkError(this,"Both views must be must linked to a view controller - see IconyViewController.addView()");if(!Object.values(ViewTransition.Effect).includes(this.options.effect))throw new FrameworkError(this,"Unknown effect");if(this.options.easing&&"string"!=typeof this.options.easing)throw new FrameworkError(this,"Easing must be a CSS compatible string");this.options.autoStart&&this.start()}static fade(e,t){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new ViewTransition({firstView:e,secondView:t,duration:arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,effect:ViewTransition.Effect.Fade,autoStart:!0,...i})}static slide(e,t){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new ViewTransition({firstView:e,secondView:t,duration:arguments.length>2&&void 0!==arguments[2]?arguments[2]:300,effect:ViewTransition.Effect.SlideLeft,autoStart:!0,...i})}start(){return this.__animate()}isRunning(){return null!==this.animationPromise}__animate(){if(this.animationPromise)return Promise.resolve();this.__animateViews()}__animateViews(){const e=this.firstView.animate(),t=this.secondView.animate();if(this.options.effect===ViewTransition.Effect.Fade)return e.duration(this.options.duration).opacity(0),t.duration(this.options.duration).opacity(1),Promise.all([e.play(),t.play()]);this.options.effect===ViewTransition.Effect.SlideLeft&&(this.secondView.render(),e.duration(1e3).opacity(0).translateX(-25),t.opacity(0).translateX(25),t.commit(),t.duration(1e3).opacity(1).translateX(0),e.play().then((()=>{this.firstView.detach(),this.secondView.attach(),t.play()})))}}ViewTransition.Effect={Fade:1,SlideLeft:2},ViewTransition.Defaults={effect:ViewTransition.Effect.Fade,duration:null!==(_UIAnimationDuration$=UIAnimationDuration.long)&&void 0!==_UIAnimationDuration$?_UIAnimationDuration$:300,easing:null,autoStart:!0,firstView:null,secondView:null,onStart:null,onFinish:null,detachView:!0,destroyView:!1};class SnapHelperBase{constructor(e){this.options=ObjectUtils.merge(SnapHelperBase.Defaults,e)}calculateOffset(e,t,i){return t}}SnapHelperBase.Defaults={};class ItemOffsetSnapHelper extends SnapHelperBase{constructor(e){super(ObjectUtils.merge(ItemOffsetSnapHelper.Defaults,e))}calculateOffset(e,t,i){const n=i.getCurrentPage(),r=i.getPageAt(i.getLastPageIndex());return t=(n.clientWidth+this.options.itemGap)*e,i.isFirstPage()&&this.options.alignFirstItemAtStart?0:i.isLastPage()&&this.options.alignLastItemAtEnd?t+r.clientWidth-1-i.wrapper.clientWidth:(e>0&&(t-=this.options.offset),t)}}ItemOffsetSnapHelper.Defaults={offset:10,itemGap:2,alignFirstItemAtStart:!0,alignLastItemAtEnd:!0};class IconyPageSlider extends IconyUIComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(IconyPageSlider.Defaults,e),this.pages=[...this.options.nodes],this.container=this.options.target,this.wrapper=null,this.swipeDetector=null,this.indicatorWrapper=null,this.pageIndicatorDots=[],this.options.snapHelper&&this.setSnapHelper(this.options.snapHelper),this.currentIndex=0,this.previousIndex=0,this.lastDirection=IconyPageSlider.Direction.Unknown,this.pendingPromise=null,this.__wrapNodes(),this.options.indicator&&this.__createIndicator(),this.options.swipePages&&(this.swipeDetector=IconySwipeDetector.attach(this.wrapper,this.options.swipeDetectorOptions),this.swipeDetector.on(["left","right"],(e=>{"left"===e.type&&this.next(),"right"===e.type&&this.previous()})))}static fromPages(e,t){return new IconyPageSlider({nodes:e,target:t,...arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}})}setSnapHelper(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"==typeof e&&!ObjectUtils.isEmpty(t))throw new FrameworkError(this,"SnapHelper as a instance cannot have options passed to this method");if("function"==typeof e&&(e=new e(t)),!(e instanceof SnapHelperBase))throw new FrameworkError(this,"SnapHelper must extend SnapHelperBase");this.snapHelper=e,this.options.snapHelper=this.snapHelper}mountIndicator(e){this.__createIndicator(e)}dismountIndicator(){this.indicatorWrapper&&(this.indicatorWrapper.remove(),this.indicatorWrapper=null,this.pageIndicatorDots=[])}setPageIndex(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.__setPage(e,t)}getPageIndex(){return this.currentIndex}getCurrentPage(){return this.pages[this.currentIndex]}getPageAt(e){return this.pages[e]}getPages(){return this.pages}isFirstPage(){return 0===this.currentIndex}isLastPage(){return this.currentIndex===this.pages.length-1}getPageCount(){return this.pages.length}getLastPageIndex(){return this.pages.length-1}getLastDirection(){return this.lastDirection}setPages(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e=Array.from(e),this.pages=e;for(const t of e)t.classList.add("icony-slider-page");this.container.replaceChildren(...this.pages)}addPage(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Array.isArray(e))throw new Error("IconyPageSlider -> Node cannot be a array. Use addPages() instead.");if(!t&&this.pages.some((t=>Object.is(t,e))))return!1;e.classList.add("icony-slider-page"),this.pages.push(e),this.container.append(e)}addPages(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e=Array.from(e);for(const i of e)if(!t&&this.pages.some((e=>Object.is(e,i))))return!1;this.pages=ArrayUtils.merge(this.pages,e);for(const t of e)t.classList.add("icony-slider-page"),this.container.append(t)}clearPages(){this.pages=[],Array.prototype.slice.call(this.container.childNodes).forEach((function(e){this.container.removeChild(e)}))}next(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.currentIndex<this.pages.length-1&&!this.pendingPromise?(this.currentIndex++,this.__setPage(this.currentIndex,e)):Promise.resolve()}previous(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.currentIndex>0&&!this.pendingPromise?(this.currentIndex--,this.__setPage(this.currentIndex,e)):Promise.resolve()}isAnimating(){return null!==this.pendingPromise}destroy(){this.swipeDetector&&this.swipeDetector.destroy()}__setPage(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.pendingPromise)return this.pendingPromise;if(this.lastDirection=e>this.previousIndex?IconyPageSlider.Direction.Forward:IconyPageSlider.Direction.Backward,t)return this.pendingPromise=new Promise((t=>{this.currentIndex=e,this.__setIndicatorActive(e),this.container.classList.add("animate"),requestAnimationFrame((()=>{let e=this.currentIndex*this.wrapper.offsetWidth;this.snapHelper?this.container.style.transform=`translateX(-${this.snapHelper.calculateOffset.call(this.snapHelper,this.currentIndex,e,this)}px)`:this.container.style.transform=`translateX(-${e}px)`,this.previousIndex=this.currentIndex,this.emit("pageChange",this.currentIndex),setTimeout((()=>{this.container.classList.remove("animate"),t()}),UIAnimationDuration.long)}))})),this.pendingPromise.then((()=>{this.pendingPromise=null,this.emit("pageChanged",this.currentIndex)})),this.pendingPromise;{this.currentIndex=e,this.__setIndicatorActive(e);let t=this.currentIndex*this.wrapper.offsetWidth;return this.snapHelper?this.container.style.transform=`translateX(-${this.snapHelper.calculateOffset.call(this.snapHelper,this.currentIndex,t,this)}px)`:this.container.style.transform=`translateX(-${t}px)`,this.previousIndex=this.currentIndex,this.emit("pageChange",this.currentIndex),this.emit("pageChanged",this.currentIndex),Promise.resolve()}}__wrapNodes(){for(let e of this.pages)e.classList.add("icony-slider-page");this.container.classList.add("icony-slider"),this.wrapper=document.createElement("div"),this.wrapper.classList.add("icony-slider-wrapper"),this.container.parentNode.insertBefore(this.wrapper,this.container),this.wrapper.appendChild(this.container)}__createIndicator(e){if(this.indicatorWrapper||this.pageIndicatorDots.length)throw new FrameworkError(this,"Indicator already created");if(e||(e=this.wrapper),!e)throw new FrameworkError(this,"Target must be defined");switch(this.indicatorWrapper=document.createElement("div"),this.indicatorWrapper.classList.add("icony-slider-page-indicator"),this.options.indicatorSize){case IconyPageSlider.IndicatorSize.Full:this.indicatorWrapper.classList.add("full");break;case IconyPageSlider.IndicatorSize.ThreeQuarters:this.indicatorWrapper.classList.add("three-quarters");break;case IconyPageSlider.IndicatorSize.Half:this.indicatorWrapper.classList.add("half");break;case IconyPageSlider.IndicatorSize.OneQuarter:this.indicatorWrapper.classList.add("one-quarter")}const t=document.createElement("div");t.classList.add("icony-slider-page-bullet");for(let e=0;e<this.pages.length;e++)this.pageIndicatorDots.push(t.cloneNode());this.indicatorWrapper.replaceChildren(...this.pageIndicatorDots),e.appendChild(this.indicatorWrapper),this.__setIndicatorActive(this.currentIndex)}__setIndicatorActive(e){for(const e of this.pageIndicatorDots)e.classList.remove("active");const t=this.pageIndicatorDots[e]||null;t&&t.classList.add("active")}}IconyPageSlider.IndicatorSize={Full:1,ThreeQuarters:2,Half:3,OneQuarter:4},IconyPageSlider.Direction={Unknown:0,Forward:1,Backward:2},IconyPageSlider.Defaults={indicator:!0,indicatorSize:IconyPageSlider.IndicatorSize.Full,swipePages:!0,snapHelper:null,swipeDetectorOptions:{onlyTouchDevices:!1}};class IconyTooltip extends IconyUIComponent{constructor(e){if(super(),"IconyTooltip"===this.constructor.name)throw new Error("IconyTooltip should only be a extending class");if("function"!=typeof this.__onCreate)throw new Error("IconyTooltip must implement onCreate");if(this.setCallbackContext(this),this.uid=StringUtils.uid(),this.options=ObjectUtils.merge(IconyTooltip.Defaults,e),!["top","right","bottom","left","top:left","top:center","top:right","right:top","right:center","right:bottom","bottom:left","bottom:center","bottom:right","left:top","left:center","left:bottom"].includes(this.options.placement))throw new Error("IconyTooltip -> '"+this.options.placement+"' is not a valid placmenet");if(this.animating=!1,this.boundCloseFunction=this.hide.bind(this),this.boundContainerScrollFunction=this.__onPageScroll.bind(this),this.options.autoAlignOnResize&&(this.boundResizeFunction=this.__onWindowResize.bind(this)),this.previousOffset={x:0,y:0},this.reference||(this.reference=this.__onCreate()),!(this.reference instanceof Node))throw new Error("IconyTooltip -> __onCreate() must return a Node");this.options.deferredRendering||(this.options.container?this.options.container.appendChild(this.reference):(document.body.appendChild(this.reference),this.options.container=document.body)),this.options.showOnCreate&&this.open(),this.reference.setAttribute("data-uid",this.uid),this.reference.iconyTooltip=this,IconyTooltip.Tooltips.push(this)}getUId(){return this.uid}isOpen(){return this.__isVisible()}isAnimating(){return this.animating}isVisible(){return this.__isVisible()}setOffsets(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Object.keys(e).some((e=>["top","right","bottom","left"].includes(e))))throw new Error("IconyTooltip -> No valid offset object");this.options.offset=e,this.align()}setOffset(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!["top","right","bottom","left"].includes(e))throw new Error("IconyTooltip -> No valid offset");this.options.offset[e]=t,this.align()}setTarget(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.options.target=e,t&&this.__alignToTarget()}align(){(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&this.reference.classList.add("animate-position"),this.options.target&&this.__alignToTarget()}show(){return this.options.target?new Promise((e=>{this.__isVisible()||this.animating?e():(this.options.deferredRendering&&!document.body.contains(this.reference)&&(this.options.container?this.options.container.appendChild(this.reference):(document.body.appendChild(this.reference),this.options.container=document.body)),window.addEventListener("scroll",this.boundContainerScrollFunction,{passive:!0}),this.options.autoAlignOnResize&&window.addEventListener("resize",this.boundResizeFunction,{passive:!0}),"function"==typeof this.__onOpen&&this.__onOpen(),IconyTooltip.hideAll(this),this.__show().then(e))})):Promise.resolve()}open(){return this.show()}hide(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return new Promise((t=>{this.__isVisible()&&!this.animating?(window.removeEventListener("scroll",this.boundContainerScrollFunction),this.options.autoAlignOnResize&&window.removeEventListener("resize",this.boundResizeFunction),"function"==typeof this.__onClose&&this.__onClose(),this.__hide(e).then((()=>{this.options.destroyOnClose&&this.__destroy(!1)}))):t()}))}close(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.hide(e)}destroy(){this.__destroy(!1)}__show(){return this.emit("show"),new Promise((e=>{this.animating=!0,this.reference.style.display="block",this.options.target&&this.__alignToTarget(),setTimeout((()=>{this.reference.classList.add("visible")}),50),setTimeout((()=>{this.animating=!1,e()}),220)}))}__hide(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.emit("hide"),new Promise((t=>{this.animating=!0,e?(this.reference.classList.add("fade-out"),setTimeout((()=>{this.reference.style.display="none",t(),this.animating=!1,this.reference.classList.remove("fade-out"),this.reference.classList.remove("visible")}),300)):(this.reference.style.display="none",this.reference.classList.remove("fade-out"),this.reference.classList.remove("visible"),setTimeout((()=>{this.animating=!1,t()}),50))}))}__isVisible(){return!!(this.reference.offsetWidth||this.reference.offsetHeight||this.reference.getClientRects().length)}__isElementInContainerViewPort(e,t){let i=e.getBoundingClientRect();if(t===window||t===document.body){let e=ViewPortHelper.isMobile()?50:0;return i.top>e&&i.bottom<window.innerHeight}let n=t.getBoundingClientRect();return i.top-n.top+e.clientHeight>0&&n.bottom-i.bottom<t.clientHeight}__getRelativeOffset(e,t){let i=e.getBoundingClientRect(),n=t.getBoundingClientRect();return{x:i.x-n.x,y:i.y-n.y}}__alignToTarget(){let e=this.__calculateTargetOffset();if(ObjectUtils.equalsShallow(this.previousOffset,e))return;let[t,i]=this.options.placement.split(":");i||(i="auto");let n=this.options.container?this.options.container:this.options.target.parentNode,r=n.clientWidth/2,s=this.__getRelativeOffset(this.options.target,n),o=this.reference.getBoundingClientRect();if(this.reference.style.right="",this.reference.style.left="","bottom"===t)ViewPortHelper.isMobile()?("left"===i&&(this.reference.style.left=e.x+this.options.offset.left-10+"px"),"right"===i&&(this.reference.style.left=window.innerWidth-this.reference.clientWidth-15+10+"px"),"center"===i&&(this.reference.style.left=e.x+e.width/2+this.options.offset.left-o.width/2+"px"),"auto"===i&&(s.x+this.options.target.clientWidth/2>r?(this.reference.style.left=window.innerWidth-this.reference.clientWidth-15+10+"px",i="right"):(this.reference.style.left=e.x+this.options.offset.left-10+"px",i="left"))):("left"===i&&(this.reference.style.left=e.x+this.options.offset.left+"px"),"right"===i&&(this.reference.style.left=e.x+this.options.target.clientWidth-this.reference.clientWidth-this.options.offset.right+"px"),"center"===i&&(this.reference.style.left=e.x+e.width/2+this.options.offset.left-o.width/2+"px"),"auto"===i&&(s.x+this.options.target.clientWidth/2>r?(this.reference.style.left=e.x+this.options.target.clientWidth-this.reference.clientWidth-this.options.offset.right+"px",i="right"):(this.reference.style.left=e.x+this.options.offset.left+"px",i="left"))),this.reference.style.top=e.y+(e.height+4)+window.scrollY+(this.options.gap+8)+this.options.offset.bottom+"px";else if("top"===t){if(ViewPortHelper.isMobile()){let t;"left"===i&&(t=e.x+this.options.offset.left-10),"right"===i&&(t=window.innerWidth-this.reference.clientWidth-15+10),"center"===i&&(t=e.x+e.width/2+this.options.offset.left-o.width/2),"auto"===i&&(s.x+this.options.target.clientWidth/2>r?(t=window.innerWidth-this.reference.clientWidth-15+10,i="right"):(t=e.x+this.options.offset.left-10,i="left")),this.reference.style.left=Math.max(10,t)+"px"}else"left"===i&&(this.reference.style.left=e.x+this.options.offset.left+"px"),"right"===i&&(this.reference.style.left=e.x+this.options.target.clientWidth-this.reference.clientWidth-this.options.offset.right+"px"),"center"===i&&(this.reference.style.left=e.x+e.width/2+this.options.offset.left-o.width/2+"px"),"auto"===i&&(s.x>r?(this.reference.style.left=e.x+this.options.target.clientWidth-this.reference.clientWidth-this.options.offset.right+"px",i="right"):(this.reference.style.left=e.x+this.options.offset.left+"px",i="left"));this.reference.style.top=e.y+window.scrollY-(this.options.gap+8)-this.reference.clientHeight+this.options.offset.top+"px"}else"left"===t?("top"===i&&(this.reference.style.top=e.y+window.scrollY+this.options.offset.top+"px"),"bottom"===i&&(this.reference.style.top=e.y+window.scrollY+this.options.offset.top-this.options.target.clientHeight/2+"px"),"center"===i&&(this.reference.style.top=window.scrollY+e.centerY-this.options.target.clientHeight/2+"px"),this.reference.style.left=e.x-this.options.offset.left-this.reference.clientWidth-(this.options.gap+8)-this.options.offset.left+"px"):"right"===t&&("top"===i&&(this.reference.style.top=e.y+window.scrollY+this.options.offset.top+"px"),"bottom"===i&&(this.reference.style.top=e.y+window.scrollY+this.options.offset.top-this.options.target.clientHeight/2+"px"),"center"===i&&(this.reference.style.top=window.scrollY+e.centerY-this.options.target.clientHeight/2+"px"),this.reference.style.left=e.x+e.width+this.options.offset.right+(this.options.gap+8)+"px");this.reference.classList.contains("animate-position")&&this.debounce((()=>{this.reference.classList.remove("animate-position")}),160),this.previousOffset={x:e.x,y:e.y}}__calculateTargetOffset(){let e=this.options.target.getBoundingClientRect();return{x:e.left,y:e.top,width:e.width,height:e.height,centerX:e.x+e.width/2,centerY:e.y+e.height/2}}__destroy(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.hide().then((()=>{this.reference.remove()})):this.reference.remove();for(let e=0;e<IconyTooltip.Tooltips.length;e++){let t;(t=IconyTooltip.Tooltips[e])&&t.uid===this.uid&&IconyTooltip.Tooltips.splice(e,1)}"function"==typeof this.__onDestroy&&this.__onDestroy.call(this),this.emit("destroy")}__onPageScroll(){"function"==typeof this.__onContainerScroll&&this.__onContainerScroll.call(this)}__onWindowResize(){this.debounce((()=>{this.options.target&&this.__isVisible()?(this.reference.classList.add("animate-position"),this.__alignToTarget()):this.hide()}),150)}static getByUID(e){return IconyTooltip.Tooltips.filter((t=>t.uid===e))[0]||null}static hideAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=[];for(let i=0;i<IconyTooltip.Tooltips.length;i++){let n;(n=IconyTooltip.Tooltips[i])&&(Object.is(n,e)||t.push(n.hide()))}return Promise.all(t)}static destroyAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;for(let t of IconyTooltip.Tooltips)e&&!Object.is(t,e)&&t.destroy()}}IconyTooltip.Style={Contrast:1,Light:2},IconyTooltip.Defaults={style:IconyTooltip.Style.Contrast,placement:"bottom",body:null,offset:{top:0,right:0,bottom:0,left:0},gap:4,target:null,container:null,deferredRendering:!0,showOnCreate:!0,destroyOnClose:!0,destroyOnDismiss:!0,autoAlignOnResize:!0,autoAlignOnScroll:!1},IconyTooltip.Tooltips=[];class IconyTooltipPlain extends IconyTooltip{constructor(e){if(super(ObjectUtils.merge(IconyTooltipPlain.Defaults,e)),this.boundMouseMoveFunction=this.__onMouseMove.bind(this),this.boundMouseLeaveFunction=this.__onMouseLeave.bind(this),this.boundToggleFunction=this.__onToggle.bind(this),this.options.target&&this.options.bind){const e=StringUtils.hashCode(this.constructor.name);this.options.target[e]=this,this.__assignListeners()}}static bind(e,t,i){const n=e[StringUtils.hashCode("IconyTooltipPlain")];return n||new IconyTooltipPlain({target:e,placement:t,body:i,bind:!0})}static create(){return new IconyTooltipPlain(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}bind(e){this.options.target=e;const t=StringUtils.hashCode(this.constructor.name);this.options.target[t]||(this.options.target[t]=this,this.__assignListeners())}unbind(){this.__removeListeners();const e=StringUtils.hashCode(this.constructor.name);!this.options.target[e]&&this.options.target&&delete this.options.target[e]}setMessage(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.body.innerHTML=e,this.options.body=e,t&&this.align()}__onCreate(){const e=document.createRange().createContextualFragment(new Template("tooltip.plain").get()).firstChild;switch(this.tooltip=e.querySelector(".icony-tooltip"),this.panel=e.querySelector(".panel"),this.body=e.querySelector(".body-content"),this.tooltip.classList.add("plain"),this.body.classList.add("paragraph-small-short"),this.options.style){case IconyTooltip.Style.Contrast:this.panel.classList.add("bg-box-greyscale-weight-700"),this.tooltip.classList.add("contrast");break;case IconyTooltip.Style.Light:default:this.panel.classList.add("bg-box-greyscale-weight-100"),this.tooltip.classList.add("regular")}return this.options.showCaret&&this.tooltip.classList.add(this.__createCaretClass()),this.body.innerHTML=this.options.body,ViewPortHelper.isMobile()&&this.__countTextLines(this.body),e}toggle(){this.__onToggle()}__onOpen(){}__onClose(){}__onDestroy(){this.options.target.removeEventListener("mousemove",this.boundMouseMoveFunction),this.options.target.removeEventListener("mouseleave",this.boundMouseLeaveFunction),this.options.target.removeEventListener("click",this.boundToggleFunction)}__onContainerScroll(){this.options.target&&(this.__isElementInContainerViewPort(this.options.target,this.options.container)?this.options.autoAlignOnScroll&&this.__alignToTarget():this.__isVisible()&&this.hide(),this.debounce(this.__onContainerScroll.bind(this),500))}__onMouseMove(){this.isAnimating()||this.isOpen()||this.throttle((()=>{this.show()}),100)}__onMouseLeave(){!this.isAnimating()&&this.isOpen()&&this.debounce((()=>{this.hide()}),100)}__onToggle(){this.animating||(this.isOpen()?this.close():this.open())}__assignListeners(){this.options.target.removeEventListener("mousemove",this.boundMouseMoveFunction),this.options.target.removeEventListener("mouseleave",this.boundMouseLeaveFunction),this.options.target.removeEventListener("click",this.boundToggleFunction),ViewPortHelper.isMobile()?this.options.target.addEventListener("click",this.boundToggleFunction):(this.options.target.addEventListener("mousemove",this.boundMouseMoveFunction,{passive:!0}),this.options.target.addEventListener("mouseleave",this.boundMouseLeaveFunction,{passive:!0}))}__removeListeners(){this.options.target&&(this.options.target.removeEventListener("mousemove",this.boundMouseMoveFunction),this.options.target.removeEventListener("mouseleave",this.boundMouseLeaveFunction),this.options.target.removeEventListener("click",this.boundToggleFunction))}__countTextLines(e){return Math.round(e.offsetHeight/parseFloat(window.getComputedStyle(e).lineHeight))}__createCaretClass(){let[e,t]=this.options.placement.split(":");return["top","bottom"].includes(e)?(e="top"===e?"bottom":"top","caret-"+e+"-"+t):["left","right"].includes(e)?(e="left"===e?"right":"left","caret-"+e+"-"+t):void 0}}IconyTooltipPlain.Defaults={placement:"bottom",container:null,showOnCreate:!1,destroyOnClose:!1,showCaret:!1,bind:!1,gap:-4,target:null},IconyTooltipPlain.Style=IconyTooltip.Style;class IconyTooltipRich extends IconyTooltip{constructor(e){super(ObjectUtils.merge(IconyTooltipRich.Defaults,e))}static create(){return new IconyTooltipRich(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}toggle(){this.isVisible()?this.hide():this.show()}setBody(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.body.innerHTML=e,this.options.body=e,t&&this.align()}setHeadline(e){this.headline.textContent=e||"",this.options.title=e}setAnnotation(e){this.annotation.textContent=e||"",this.options.annotation=e}__onCreate(){const e=document.createRange().createContextualFragment(new Template("tooltip.rich").get()).firstChild;switch(this.tooltip=e.querySelector(".icony-tooltip"),this.panel=e.querySelector(".panel"),this.headline=e.querySelector(".headline"),this.body=e.querySelector(".content"),this.buttonContainer=e.querySelector(".button-container"),this.buttons=e.querySelector(".buttons"),this.annotation=e.querySelector(".annotation"),this.closeButton=e.querySelector(".close"),this.tooltip.classList.add("rich"),this.options.style){case IconyTooltip.Style.Contrast:this.panel.classList.add("bg-box-greyscale-weight-700"),this.tooltip.classList.add("contrast");break;case IconyTooltip.Style.Light:default:this.panel.classList.add("bg-box-greyscale-weight-100"),this.tooltip.classList.add("regular")}switch(this.options.headerStyle){case IconyTooltipRich.HeadlineStyle.Small:this.headline.classList.add("paragraph-small-short-semibold");break;case IconyTooltipRich.HeadlineStyle.Medium:this.headline.classList.add("paragraph-medium-short-semibold")}switch(this.options.bodyStyle){case IconyTooltipRich.BodyStyle.Small:this.body.classList.add("paragraph-small-short");break;case IconyTooltipRich.BodyStyle.Medium:this.body.classList.add("paragraph-small-short-semibold")}return this.options.showCaret&&this.tooltip.classList.add(this.__createCaretClass()),this.body.innerHTML=this.options.body,this.options.title&&this.setHeadline(this.options.title),this.options.annotation&&this.setAnnotation(this.options.annotation),this.toggleNodeVisibility(this.closeButton,this.options.cancelable),this.closeButton.addEventListener("click",(()=>{this.animating||(this.emit("dismiss"),this.hide())})),this.options.buttons&&this.options.buttons.length?this.buttons.replaceChildren(...this.__createButtons()):this.buttonContainer.style.display="none",e}__onDestroy(){}__onContainerScroll(){this.options.target&&this.options.autoAlignOnScroll&&this.__alignToTarget()}__createButtons(){let e=[],t=document.createRange();for(const i of this.options.buttons){let n=t.createContextualFragment('<button class="btn small">'+i.text+"</button>").firstChild;n.classList.add(...StringUtils.split([" ",","],i.class)),n.addEventListener("click",(()=>{"function"==typeof i.action?i.action.call(this):"string"==typeof i.action&&(this.emit(i.action),"dismiss"===i.action&&this.close())})),e.push(n)}return e}__createCaretClass(){let[e,t]=this.options.placement.split(":");return["top","bottom"].includes(e)?(e="top"===e?"bottom":"top","caret-"+e+"-"+t):["left","right"].includes(e)?(e="left"===e?"right":"left","caret-"+e+"-"+t):void 0}}IconyTooltipRich.HeadlineStyle={Small:1,Medium:2},IconyTooltipRich.BodyStyle={Small:1,Medium:2},IconyTooltipRich.Defaults={headerStyle:IconyTooltipRich.HeadlineStyle.Small,bodyStyle:IconyTooltipRich.BodyStyle.Small,buttons:[],title:null,annotation:null,cancelable:!0,showCaret:!0},IconyTooltipRich.Style=IconyTooltip.Style;class IconyNotification extends IconyUIComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.uid=StringUtils.uid(),this.options=ObjectUtils.merge(IconyNotification.Defaults,e),this.container=null,this.notification=null,this.isAnimating=!1,this.visible=!1,this.closeTimerReference=null,this.setCallbackContext(this),this.__create()}static create(){return new IconyNotification(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}static showSuccess(e){let t=new IconyNotification({showOnCreate:!0,message:e,baseStyle:IconyNotification.BaseStyle.Contrast,style:IconyNotification.Style.Success,type:IconyNotification.Type.Temporary,container:document.body});return t.open(),t}static showSuccessWithHtml(e){let t=new IconyNotification({showOnCreate:!0,message:e,baseStyle:IconyNotification.BaseStyle.Contrast,style:IconyNotification.Style.Success,type:IconyNotification.Type.Temporary,container:document.body,escapeHtml:!1});return t.open(),t}static showError(e){let t=new IconyNotification({showOnCreate:!0,message:e,baseStyle:IconyNotification.BaseStyle.Contrast,style:IconyNotification.Style.Error,type:IconyNotification.Type.Temporary,container:document.body});return t.open(),t}static showErrorWithHtml(e){let t=new IconyNotification({showOnCreate:!0,message:e,baseStyle:IconyNotification.BaseStyle.Contrast,style:IconyNotification.Style.Error,type:IconyNotification.Type.Temporary,container:document.body,escapeHtml:!1});return t.open(),t}static setSafeArea(e){IconyNotification.safeAreaStack.push(e)}static popSafeArea(){IconyNotification.safeAreaStack.pop()}static getCurrentSafeArea(){return IconyNotification.safeAreaStack.length>0?IconyNotification.safeAreaStack[IconyNotification.safeAreaStack.length-1]:{top:0,left:0,bottom:0,right:0}}open(){return this.__show()}close(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.__hide(e)}show(){return this.__show()}hide(){return this.__hide()}isOpen(){return this.visible}isVisible(){return this.visible}__show(){if(this.emit("show"),this.options.variant===IconyNotification.Variant.Default){let e=20+IconyNotification.getCurrentSafeArea().bottom;this.container.style.bottom=e.toString()+"px"}return this.visible?Promise.resolve():new Promise((e=>{let t;switch(this.isAnimating=!0,IconyNotification.__hideAll(this),this.options.position){case IconyNotification.Position.Bottom:t="bottom";break;case IconyNotification.Position.Top:default:t="top"}this.container.style.display="block",this.notification.classList.add(t),requestAnimationFrame((()=>{this.notification.classList.add("visible"),this.visible=!0,setTimeout((()=>{this.isAnimating=!1,this.notification.classList.remove(t),this.options.type===IconyNotification.Type.Temporary&&(this.closeTimerReference&&clearTimeout(this.closeTimerReference),this.closeTimerReference=setTimeout(this.__hide.bind(this),this.options.temporaryCloseDelayMillis)),e()}),UIAnimationDuration.medium)}))}))}__hide(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.emit("hide"),this.visible?(this.closeTimerReference&&clearTimeout(this.closeTimerReference),new Promise((t=>{requestAnimationFrame((()=>{e?(this.isAnimating=!0,this.notification.classList.remove("visible"),setTimeout((()=>{this.container.style.display="none",this.isAnimating=!1,this.visible=!1,this.options.destroyOnClose&&this.__destroy(!1),t()}),UIAnimationDuration.medium)):(this.notification.classList.remove("visible"),this.container.style.display="none",this.isAnimating=!1,this.visible=!1)}))}))):Promise.resolve()}__create(){let e,t;switch(this.options.variant){case IconyNotification.Variant.Inline:e=new Template("notification.inline");break;case IconyNotification.Variant.Default:default:e=new Template("notification.base")}switch(this.options.baseStyle){case IconyNotification.BaseStyle.Contrast:t="contrast";break;case IconyNotification.BaseStyle.Regular:default:t="default"}let i,n,r,s=!0;switch(this.options.style){case IconyNotification.Style.Success:i="success",n="check";break;case IconyNotification.Style.Warning:i="warning",n="attention";break;case IconyNotification.Style.Error:i="error",n="attention";break;case IconyNotification.Style.Neutral:i="neutral",n="attention"}switch(this.options.size){case IconyNotification.Size.Large:r="large";break;case IconyNotification.Size.Medium:r="medium";break;case IconyNotification.Size.Small:r="small"}this.options.icon&&(n=this.options.icon),!1===this.options.showIcon&&(s=!1);let o=!1;if(this.options.action){let e="notification.action."+this.options.action;o=new Template(e).get({actionTitle:this.options.actionTitle})}let a=this.options.message;this.options.escapeHtml&&(a=StringUtils.htmlEscape(a));let l=e.get({uid:this.uid,baseStyle:t,style:i,icon:n,size:r,message:a,actionTitle:this.options.actionTitle,showIcon:s,actionHtml:o,closable:this.options.closable}),c=document.createRange().createContextualFragment(l).firstChild;if(this.container=c,this.notification=c.querySelector(".icony-notification"),null!=this.options.actionTitle){if(this.options.closable){this.notification.querySelector(".close").addEventListener("click",this.__closeHandler.bind(this))}this.notification.querySelector(".action").addEventListener("click",this.__actionHandler.bind(this))}switch(this.options.position){case IconyNotification.Position.Bottom:this.options.container.append(c);break;case IconyNotification.Position.Top:default:this.options.container.prepend(c)}this.options.showOnCreate?this.container.style.display="block":this.container.style.display="none",this.options.variant!==IconyNotification.Variant.Inline&&IconyNotification.Notifications.push(this)}__closeHandler(e){e.preventDefault(),this.__hide()}__actionHandler(e){e.preventDefault(),this.emit("action"),null!=this.options.actionHandler&&this.options.actionHandler.call(this,e)}__destroy(){!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?this.__hide().then((()=>{this.container.remove()})):this.container.remove();for(let e=0;e<IconyNotification.Notifications.length;e++){let t;(t=IconyNotification.Notifications[e])&&t.uid===this.uid&&IconyNotification.Notifications.splice(e,1)}this.emit("destroy")}static __hideAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=[];for(let i=0;i<IconyNotification.Notifications.length;i++){let n;(n=IconyNotification.Notifications[i])&&(Object.is(n,e)||t.push(n.__hide()))}return Promise.all(t)}static __destroyAll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;for(let t of IconyNotification.Notifications)e&&!Object.is(t,e)&&t.destroy()}}IconyNotification.Position={Top:1,Bottom:2},IconyNotification.Type={Temporary:1,Permanent:2},IconyNotification.Style={Neutral:1,Success:2,Warning:3,Error:4},IconyNotification.BaseStyle={Regular:1,Contrast:2},IconyNotification.Variant={Default:1,Inline:2},IconyNotification.Size={Large:1,Medium:2,Small:3},IconyNotification.Actions={Checkbox:1},IconyNotification.Defaults={position:IconyNotification.Position.Top,type:IconyNotification.Type.Temporary,baseStyle:IconyNotification.BaseStyle.Regular,style:IconyNotification.Style.Neutral,showOnCreate:!1,destroyOnClose:!0,message:null,icon:null,container:null,temporaryCloseDelayMillis:5e3,actionTitle:null,actionHandler:null,variant:IconyNotification.Variant.Default,showIcon:!0,size:IconyNotification.Size.Medium,action:null,escapeHtml:!0,closable:!0},IconyNotification.safeAreaStack=[],IconyNotification.Notifications=[];class IconyToastNotification extends IconyUIComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.uid=StringUtils.uid(),this.options=ObjectUtils.merge(IconyToastNotification.Defaults,e),this.animating=!1,this.visible=!1,this.showTime=Date.now(),this.hideTime=this.showTime+1e3*this.options.autoCloseDelay,this.toast=null,this.panel=null,this.closeButton=null,this.image=null,this.link=null,this.linkText=null,this.headline=null,this.closeTimerReference=null,this.setCallbackContext(this),this.__create()}static create(){const e=new IconyToastNotification(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return IconyToastNotification.Stack.length>IconyToastNotification.MaxStackSize-1||IconyToastNotification.Stack.length>=1&&ViewPortHelper.isMobile()?IconyToastNotification.Queue.unshift(e):IconyToastNotification.Stack.unshift(e),e}static show(){const e=new IconyToastNotification(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return IconyToastNotification.Stack.length>IconyToastNotification.MaxStackSize-1||IconyToastNotification.Stack.length>=1&&ViewPortHelper.isMobile()?IconyToastNotification.Queue.unshift(e):(IconyToastNotification.Stack.unshift(e),e.show()),e}static setBottomOffset(e){void 0===e&&(e=0),IconyToastNotification.BottomOffset=e}open(){return this.show()}close(){return this.hide()}show(){return new Promise((e=>{document.body.contains(this.reference)||document.body.append(this.reference),this.animating?e():(this.animating=!0,"function"==typeof this.options.onShow&&this.options.onShow.call(this),this.emit("show"),setTimeout((()=>{this.toast.classList.add("visible"),IconyToastNotification.__onNotificationShow(this),this.animating=!1,e()}),50),IconyToastNotification.__calulatePositions(),this.options.autoCloseDelay>0&&(this.closeTimerReference=setTimeout(this.hide.bind(this),this.options.autoCloseDelay)))}))}hide(){return new Promise((e=>{if(this.animating)e();else{this.animating=!0,this.closeTimerReference&&clearTimeout(this.closeTimerReference);for(let e=0;e<IconyToastNotification.Stack.length;e++){IconyToastNotification.Stack[e].uid===this.uid&&IconyToastNotification.Stack.splice(e,1)}"function"==typeof this.options.onHide&&this.options.onHide.call(this),this.emit("hide"),this.toast.classList.remove("visible"),setTimeout((()=>{this.reference.remove(),this.animating=!1,e()}),UIAnimationDuration.long),IconyToastNotification.__onNotificationHide(this),IconyToastNotification.__calulatePositions()}}))}__create(){const e=document.createRange().createContextualFragment(new Template("notification.toast").get()).firstChild;switch(e.setAttribute("data-uid",this.uid),this.reference=e,this.toast=e.querySelector(".toast"),this.panel=e.querySelector(".panel"),this.closeButton=e.querySelector(".close"),this.link=e.querySelector(".link"),this.linkText=e.querySelector(".link-text"),this.headline=e.querySelector(".headline"),this.image=e.querySelector(".avatar"),this.options.style){case IconyToastNotification.Style.Contrast:this.panel.classList.add("bg-box-greyscale-weight-700"),e.classList.add("contrast");break;case IconyToastNotification.Style.Light:default:this.panel.classList.add("bg-box-greyscale-weight-100"),e.classList.add("regular")}return this.closeButton&&this.closeButton.addEventListener("click",this.hide.bind(this)),this.link&&(this.link.addEventListener("click",(e=>{"function"==typeof this.options.onLinkClick&&(e.preventDefault(),this.options.onLinkClick.call(this)),this.hide()})),this.options.linkHref&&this.link.setAttribute("href",this.options.linkHref),this.linkText&&(this.linkText.textContent=this.options.linkText)),this.image&&(this.options.image&&(this.image.onload=this.__onImageLoaded.bind(this),this.image.onError=this.__onImageLoadError.bind(this),this.image.setAttribute("src",this.options.image)),this.options.imageBackground&&(this.image.style.backgroundColor=this.options.imageBackground)),this.image.style.display=this.options.image?"block":"none",this.headline&&(this.headline.textContent=this.options.title),e}__onImageLoaded(){this.image&&this.image.classList.add("visible")}__onImageLoadError(){}static __calulatePositions(){let e=16;IconyToastNotification.BottomOffset&&(e+=IconyToastNotification.BottomOffset);for(let t=0;t<IconyToastNotification.Stack.length;t++){const i=IconyToastNotification.Stack[t];i.reference.style.bottom=e+"px",e+=i.reference.clientHeight+i.options.gap}}static __onNotificationShow(e){}static __onNotificationHide(e){if(IconyToastNotification.Queue.length>0){const e=IconyToastNotification.Queue.shift()||null;e&&(e.show(),IconyToastNotification.Stack.unshift(e))}}}IconyToastNotification.Style={Regular:1,Contrast:2},IconyToastNotification.Defaults={style:IconyToastNotification.Style.Contrast,autoCloseDelay:5e3,gap:16,onShow:null,onHide:null,onLinkClick:null,image:null,imageBackground:null,title:null,linkText:null,linkHref:null},IconyToastNotification.Stack=[],IconyToastNotification.Queue=[],IconyToastNotification.MaxStackSize=4,IconyToastNotification.BottomOffset=0;class IconyDialog extends IconyUIComponent{static show(e,t,i){return this.create(e,t,i)}static create(e,t,i){let n;return n="object"==typeof e&&1===arguments.length?e:{title:e,caption:t,buttons:i},new IconyDialog(n)}constructor(e){let t;switch(super(),this.__settings=ObjectUtils.merge(IconyDialog.DEFAULT_OPTIONS,e),this.__initialized=!1,this.__uid=StringUtils.uid(),this.__modal=IconyDialog.Range.createContextualFragment(new Template("dialog.base21").get()).firstChild,this.__buttons=[],this.__isAnimating=!1,this.__isShowingLoading=!1,this.__isShowingConfirmation=!1,this.__loadingTimerRefererence=null,this.__shakeTimerReference=null,this.__bodyObserver=null,this.__seprateBackgroundModal=null,this.__clickStartedInside=null,this.__boundViewPortScroll=this.__visualViewPortScroll.bind(this),this.__boundViewPortResize=this.__visualViewPortResize.bind(this),this.__boundKeyPress=this.__onKeyPress.bind(this),this.__reference=this.__modal.querySelector(".icony-dialog"),this.wrapper=this.__modal.querySelector(".icony-dialog-wrapper"),this.header=this.__modal.querySelector(".dialog-header"),this.body=this.__modal.querySelector(".dialog-body"),this.footer=this.__modal.querySelector(".dialog-footer"),this.buttonArea=this.__modal.querySelector(".dialog-buttons"),this.headerText=this.header.querySelector(".text"),this.__settings.buttonLayout){case IconyDialog.BUTTON_LAYOUT.BLEEDING:t="use-bleeding-buttons";break;case IconyDialog.BUTTON_LAYOUT.LEFT_ALIGNED:t="use-left-aligned-buttons";break;case IconyDialog.BUTTON_LAYOUT.CENTER:t="use-center-aligned-buttons";break;case IconyDialog.BUTTON_LAYOUT.CENTER_FULL_WIDTH:t="use-center-aligned-buttons-full-width";break;case IconyDialog.BUTTON_LAYOUT.VERTICAL:t="vertical";break;case IconyDialog.BUTTON_LAYOUT.RIGHT_ALIGNED:default:t="use-right-aligned-buttons"}if(this.buttonArea.classList.add(t),this.__modal.setAttribute("data-uid",this.__uid),this.__settings.class)if(this.__settings.class.includes(" ")){const e=this.__settings.class.split(" ");for(const t of e)this.__reference.classList.add(t)}else this.__reference.classList.add(this.__settings.class);if(this.__settings.seprateBackgroundElement&&(this.__modal.classList.add("no-background"),this.seprateModalBackground=IconyDialog.Range.createContextualFragment('<div class="icony-dialog-modal-background"></div>').firstChild,this.seprateModalBackground.setAttribute("data-uid",this.__uid)),(this.__settings.caption||this.__settings.title)&&(this.__settings.caption&&this.headerText.prepend(IconyDialog.Range.createContextualFragment('<div class="description">'+this.__settings.caption+"</div>").firstChild),this.__settings.title)){let e="left";switch(this.__settings.titleAlignment){case IconyDialog.TITLE_ALIGNEMENT.CENTER:e="center";break;case IconyDialog.TITLE_ALIGNEMENT.RIGHT:e="right"}this.headerText.prepend(IconyDialog.Range.createContextualFragment('<div class="title '+e+'">'+this.__settings.title+"</div>").firstChild)}this.setStyle(this.__settings.style),this.setHeaderType(this.__settings.header,!1,!1),this.__settings.noBodyPadding&&this.body.classList.add("no-padding"),this.header.querySelector(".close").addEventListener("click",(()=>{this.__settings.cancelable&&(this.close(),this.__settings.dismissCallback&&this.__settings.dismissCallback.apply(this))}));let i=this.__settings.buttons||[];if(this.__settings.dismissButton){let e={text:this.__settings.dismissText,type:IconyActionSheet.ACTION_TYPE.NORMAL};this.__settings.dismissButtonAtEnd?i.push(e):i.unshift(e)}i&&i.length&&this.setButtons(i),this.__settings.cancelable||(this.header.querySelector(".close").style.display="none"),this.__modal.addEventListener("mousedown",(e=>{Object.is(e.target,this.__modal)||Object.is(e.target,this.wrapper)?this.__clickStartedInside=!1:this.__clickStartedInside=!0})),this.__modal.addEventListener("click",(e=>{this.__clickStartedInside?this.__clickStartedInside=!1:(Object.is(e.target,this.__modal)||Object.is(e.target,this.wrapper))&&this.__settings.modalCancelable&&(this.close(),this.__settings.dismissCallback&&this.__settings.dismissCallback.apply(this))})),this.__bodyObserver=new MutationObserver((()=>{this.measure("MutationObserver")})),this.__bodyObserver.observe(this.body,{subtree:!0,childList:!0,characterData:!0}),void 0!==window.visualViewport&&(window.visualViewport.addEventListener("scroll",this.__boundViewPortScroll,{passive:!0}),window.visualViewport.addEventListener("resize",this.__boundViewPortResize,{passive:!0})),this.__reference.querySelector(".dialog-content").appendChild(IconyDialog.Range.createContextualFragment('<div class="loading-container"><div class="inner"><div class="spinner"></div><div class="text"></div></div></div>').firstChild),this.__reference.querySelector(".dialog-content").appendChild(IconyDialog.Range.createContextualFragment('<div class="confirmation-container"><div class="inner-wrapper"><div class="inner"><div class="circle"><i class="icon21 icon21-check"></i></div><div class="text"></div></div></div></div>').firstChild),this.__settings.deferredRendering||this.__render(),this.__settings.body&&this.setBody(this.__settings.body),this.__settings.footer&&(this.footer.innerHtml=this.__settings.footer,this.footer.style.display="block"),this.__settings.isLoading&&this.setIsLoading(!0,this.__settings.loadingText,!0),this.__initialized=!0,this.measure("initializ finished"),this.__settings.showOnCreate&&this.open()}getHeader(){return this.header}getBody(){return this.body}getFooter(){return this.footer}getButtons(){return this.__buttons}getButtonContainer(){return this.buttonArea}getButton(e){return"number"==typeof e?this.__buttons[e]:"string"==typeof e?this.__buttons.filter((t=>t.elementData.identifier===e))[0]:null}setTitle(e){e?this.headerText.querySelector(".title").textContent=e:this.headerText.querySelector(".title").innerHTML="&nbsp;"}setPreTitle(e){if(e){let t=this.headerText.querySelector(".title-pre");t||(this.headerText.prepend(IconyDialog.Range.createContextualFragment('<div class="title-pre"></div>').firstChild),t=this.headerText.querySelector(".title-pre")),"string"==typeof e?t.innerHTML=e:t.replaceChildren(e)}else(e=this.headerText.querySelector(".title-pre"))&&e.remove()}setPostTitle(e){if(e){let t=this.headerText.querySelector(".title-post");t||(this.headerText.prepend(IconyDialog.Range.createContextualFragment('<div class="title-post"></div>').firstChild),t=this.headerText.querySelector(".title-post")),"string"==typeof e?t.innerHTML=e:t.replaceChildren(e)}else(e=this.headerText.querySelector(".title-post"))&&e.remove()}setCaption(e){e?this.headerText.querySelector(".description").textContent=e:this.headerText.querySelector(".description").innerHTML="&nbsp;"}setBody(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("string"==typeof e?this.body.innerHTML=e:this.body.replaceChildren(e),this.body.style.display="block",this.measure("setBody",t),window.jQuery&&$.support.pjax&&this.__settings.autoBodyLinkHandling){const e=this.body.querySelectorAll("a");for(const t of e)t.addEventListener("click",(e=>{!e.defaultPrevented&&e.target.hasAttribute("data-pjax")&&this.close()}))}return this.setIsLoading(!1),this}setCancelable(e){return this.__settings.cancelable=e,this.header.querySelector(".close").style.display=e?"block":"none",this}setModalCancelable(e){return this.__settings.modalCancelable=e,this}setValueCallback(e){return this.__settings.valueCallback=e,this}showConfirmationOverlay(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.__reference.querySelector(".confirmation-container");if(e){IconyDialog.DEBUG,this.__isShowingConfirmation=!0;const once=()=>{t.classList.add("visible"),t.classList.remove("from-right"),this.measure("animationend"),t.removeEventListener("animationend",once)};t.addEventListener("animationend",once),t.style.display="block",t.classList.add("from-right")}else{IconyDialog.DEBUG,this.__isShowingConfirmation=!1;const once=()=>{t.classList.remove("visible"),t.classList.remove("to-left"),t.style.display="none",this.measure("animationend"),t.removeEventListener("animationend",once)};t.addEventListener("animationend",once),t.classList.add("to-left")}return this}setIsLoading(e,t,i){return e?(IconyDialog.DEBUG,this.__isShowingLoading=!0,t&&(this.__reference.querySelector(".loading-container").querySelector(".text").textContent=t,setTimeout((()=>{this.__reference.querySelector(".loading-container").querySelector(".text").classList.add("visible")}),2e3)),this.__loadingTimerRefererence&&clearTimeout(this.__loadingTimerRefererence),this.__reference.querySelector(".loading-container").style.display="block",i?(this.__reference.querySelector(".loading-container").classList.add("visible"),this.measure("animationend")):this.__loadingTimerRefererence=setTimeout((()=>{this.__reference.querySelector(".loading-container").classList.add("visible"),this.measure("animationend")}),IconyActionSheet.LOADER_DELAY)):(IconyDialog.DEBUG,this.__isShowingLoading=!1,this.__loadingTimerRefererence&&clearTimeout(this.__loadingTimerRefererence),this.__reference.querySelector(".loading-container").classList.remove("visible"),setTimeout((()=>{this.__reference.querySelector(".loading-container").style.display="none",this.__reference.querySelector(".loading-container").querySelector(".text").textContent="",this.__reference.querySelector(".loading-container").querySelector(".text").classList.remove("visible"),this.measure("animationend")}),IconyDialog.ANIMATION_TIME)),this}setButtonsDisabled(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.buttonArea.length){const t=this.buttonArea.querySelectorAll(".btn");for(const i of t)e?i.classList.add("disabled"):i.classList.remove("disabled")}}setButtons(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.__settings.buttons=e,this.__buttons=[],this.buttonArea.innerHTML="";for(let e=0;e<this.__settings.buttons.length;e++){let t=this.__settings.buttons[e];if(t){let e="dialog-option";switch(t.type){case IconyDialog.BUTTON_TYPE.NONE:break;case IconyDialog.BUTTON_TYPE.PARTNER:e+=" btn partner";break;case IconyDialog.BUTTON_TYPE.SECONDARY:e+=" btn secondary";break;case IconyDialog.BUTTON_TYPE.TERTIARY:e+=" btn tertiary";break;case IconyDialog.BUTTON_TYPE.TONAL:e+=" btn tonal";break;case IconyDialog.BUTTON_TYPE.PRIMARY:default:e+=" btn primary"}t.class&&(e+=" "+t.class);const i=IconyDialog.Range.createContextualFragment('<a href="#" class="'+e+'">'+t.text+"</a>").firstChild;i.elementData={text:t.text,type:t.type,action:t.action,value:t.value,identifier:t.identifier},i.addEventListener("click",(e=>{e.preventDefault(),this.isOpen()&&!this.__isAnimating&&(t.action&&!1!==t.action.apply(this,[i.elementData])&&this.close(this.__settings.skipCloseAnimation),void 0!==t.value&&this.__settings.valueCallback&&!1!==this.__settings.valueCallback.apply(this,[t.value,i.elementData])&&this.close(this.__settings.skipCloseAnimation),t.action||t.value||this.__settings.valueCallback||this.__settings.itemClickedCallback||this.close(this.__settings.skipCloseAnimation))})),this.__buttons.push(i)}}this.buttonArea.replaceChildren(...this.__buttons)}setStyle(e){switch(this.__reference.classList.remove("style-default","style-inverted"),this.__settings.style=e,e){case IconyDialog.Style.Inverted:this.__reference.classList.add("style-inverted");break;case IconyDialog.Style.Default:default:this.__reference.classList.add("style-default")}}setHeaderType(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];switch(t&&(this.header.classList.add("animate"),setTimeout((()=>{this.header.classList.remove("animate")}),UIAnimationDuration.medium)),this.__reference.classList.remove("header-overlay","header-display-light","header-display-dark","header-clear","header-white","header-default"),this.__settings.header=e,e){case IconyDialog.Header.Overlay:this.__reference.classList.add("header-overlay");break;case IconyDialog.Header.Clear:this.__reference.classList.add("header-clear");break;case IconyDialog.Header.White:this.__reference.classList.add("header-white");break;case IconyDialog.Header.DisplayLight:this.__reference.classList.add("header-display-light");break;case IconyDialog.Header.DisplayDark:this.__reference.classList.add("header-display-dark");break;case IconyDialog.Header.Default:default:this.__reference.classList.add("header-default")}this.measure("setHeader",t)}setMobileNavigationGap(e){this.__settings.mobileNavgationGap=e,this.measure("updated mobileNavgationGap")}isOpen(){return!!(this.__modal.offsetWidth||this.__modal.offsetHeight||this.__modal.getClientRects().length)}isAnimating(){return this.__isAnimating}onOpened(e){return this.__settings.onOpenedCallback=e,this}open(){return new Promise((e=>{if(IconyTooltip.hideAll(),IconyNotification.__hideAll(),this.__settings.iosScrollFix&&this.wrapper.classList.toggle("ios-fix",this.__isIPhone()),this.__settings.deferredRendering&&this.__render(),this.__settings.cancelable&&document.addEventListener("keydown",this.__boundKeyPress),IconyDialog.CURRENT_DIALOG)return IconyDialog.CURRENT_DIALOG=this,this.__isAnimating||this.isOpen()?void e():(this.__settings.cancelable&&document.addEventListener("keydown",this.__boundKeyPress),this.__isAnimating=!0,this.__reference.style.display="flex",this.__modal.style.display="block",this.measure("Open",!1),this.__settings.seprateBackgroundElement&&(this.__seprateBackgroundModal.style.display="block"),this.__settings.onOpenCallback&&this.__settings.onOpenCallback(),this.__settings.preventBodyScroll&&(this.__isIPhone()&&this.__settings.iosScrollFix?document.body.classList.add("no-scroll-ios-fix"):document.body.classList.add("no-scroll")),setTimeout((()=>{this.__reference.classList.add("visible"),this.__modal.classList.add("visible"),this.__settings.seprateBackgroundElement&&this.__seprateBackgroundModal.classList.add("visible")}),30),void setTimeout((()=>{this.__isAnimating=!1,"undefined"!=typeof ipt&&ipt.checkForNewPromos(),this.__settings.onOpenedCallback&&this.__settings.onOpenedCallback(),e()}),IconyDialog.ANIMATION_TIME));if(IconyDialog.CURRENT_DIALOG=this,this.__isAnimating||this.isOpen())return void e();this.__isAnimating=!0,this.__reference.style.display="flex",this.__modal.style.display="block",this.measure("open",!1),this.__settings.seprateBackgroundElement&&(this.__seprateBackgroundModal.style.display="block"),this.__settings.onOpenCallback&&this.__settings.onOpenCallback(),this.__settings.preventBodyScroll&&(this.__isIPhone()&&this.__settings.iosScrollFix?document.body.classList.add("no-scroll-ios-fix"):document.body.classList.add("no-scroll")),setTimeout((()=>{this.__reference.classList.add("visible"),this.__modal.classList.add("visible"),this.__settings.seprateBackgroundElement&&this.__seprateBackgroundModal.classList.add("visible")}),30),setTimeout((()=>{this.__isAnimating=!1,"undefined"!=typeof ipt&&ipt.checkForNewPromos(),this.__settings.onOpenedCallback&&this.__settings.onOpenedCallback(),e()}),IconyDialog.ANIMATION_TIME);let t=this.buttonArea.clientHeight;IconyNotification.setSafeArea({top:0,left:0,bottom:t,right:0})}))}show(){return this.open()}close(e){return new Promise((t=>{if(e=void 0!==e?e:this.__settings.skipCloseAnimation,IconyNotification.popSafeArea(),e)this.__reference.style.display="none",this.__reference.classList.remove("visible"),this.__reference.classList.remove("fade-out"),this.__modal.style.display="none",this.__settings.seprateBackgroundElement&&(this.__seprateBackgroundModal.style.display="none"),IconyDialog.CURRENT_DIALOG=null,this.__settings.destroyOnClose&&this.destroy(),this.__settings.onClosedCallback&&this.__settings.onClosedCallback(),t();else{if(this.__isAnimating||!this.isOpen())return;this.__isAnimating=!0,this.__reference.classList.add("fade-out"),this.__modal.classList.remove("visible"),this.__settings.seprateBackgroundElement&&this.__seprateBackgroundModal.classList.remove("visible"),this.__settings.preventBodyScroll&&(document.body.classList.remove("no-scroll"),document.body.classList.remove("no-scroll-ios-fix")),this.__settings.onCloseCallback&&this.__settings.onCloseCallback(),setTimeout((()=>{this.__reference.style.display="none",this.__reference.classList.remove("visible"),this.__reference.classList.remove("fade-out"),this.__modal.style.display="none",this.__settings.seprateBackgroundElement&&(this.__seprateBackgroundModal.style.display="none"),IconyDialog.CURRENT_DIALOG=null,this.__settings.destroyOnClose&&this.destroy(),this.__settings.onClosedCallback&&this.__settings.onClosedCallback(),this.__isAnimating=!1,t()}),IconyDialog.ANIMATION_TIME)}document.removeEventListener("keydown",this.__boundKeyPress),this.__settings.destroyOnClose&&(this.__bodyObserver&&this.__bodyObserver.disconnect(),this.destroy())}))}dismiss(e){return this.__settings.dismissCallback&&this.__settings.dismissCallback.apply(this),this.close(e)}hide(e){return this.close(e)}onClosed(e){return this.__settings.onClosedCallback=e,this}destroy(){this.__modal.remove(),this.__settings.seprateBackgroundElement&&this.__seprateBackgroundModal.remove(),this.__bodyObserver&&this.__bodyObserver.disconnect(),void 0!==window.visualViewport&&(window.visualViewport.removeEventListener("scroll",this.__boundViewPortScroll),window.visualViewport.removeEventListener("resize",this.__boundViewPortResize))}__render(){document.body.contains(this.__modal)||(this.__settings.seprateBackgroundElement&&document.body.appendChild(this.seprateModalBackground),this.__modal.iconyDialog=this,document.body.appendChild(this.__modal))}measure(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return new Promise((e=>{if(!this.__initialized)return IconyDialog.DEBUG,void e();this.isOpen()||(t=!1);let i,n=0,r=this.body.clientHeight;for(const e of this.body.children)n+=this.__aboluteHeight(e);if("function"==typeof this.__settings.heightChangedCallback){IconyDialog.DEBUG;let e=this.__settings.heightChangedCallback(r,n,this);"number"==typeof e&&e>0&&(i=e),IconyDialog.DEBUG}else i=n;if(i===r)return IconyDialog.DEBUG,void e();i||(i=r),IconyDialog.DEBUG,t&&this.body.classList.add("animate"),window.requestAnimationFrame((()=>{let t=void 0!==window.visualViewport?visualViewport.height:window.outerHeight,n=this.__aboluteHeight(this.header),r=this.__aboluteHeight(this.buttonArea),s=window.getComputedStyle(this.body),o=t;!(this.__settings.header==IconyDialog.Header.Overlay||this.__settings.header==IconyDialog.Header.Clear)&&(i+=n),i+=r,i+=parseInt(s.paddingTop),i+=parseInt(s.paddingBottom),ViewPortHelper.isMobile()?o-=this.__settings.mobileNavgationGap:o-=.2*t,i>o&&(IconyDialog.DEBUG,i=o),0==ViewPortHelper.isMobile()&&(i+=10),this.wrapper.style.height=visualViewport.height+"px",this.__reference.style.height=i+"px",this.body.scrollHeight>this.body.clientHeight?this.buttonArea.classList.add("content-overflow"):this.buttonArea.classList.remove("content-overflow"),setTimeout((()=>{IconyDialog.DEBUG,this.body.classList.remove("animate"),e()}),UIAnimationDuration.long)}))}))}__visualViewPortScroll(){this.measure("visualViewport scroll")}__visualViewPortResize(){this.measure("visualViewport resize").then((()=>{this.__reference.scrollIntoView()}))}__onKeyPress(e){"Escape"===e.key&&this.__settings.closeOnESC&&this.close()}__aboluteHeight(e){const t=window.getComputedStyle(e);let i=e.clientHeight;return i+=parseInt(t.marginTop),i+=parseInt(t.marginBottom),i}createNotification(e){return new IconyNotification({container:this.__reference,...e})}__isIPhone(){return/iPad|iPhone|iPod/.test(navigator.userAgent)}}IconyDialog.DEBUG=!1,IconyDialog.CURRENT_DIALOG=null,IconyDialog.ANIMATION_TIME=250,IconyDialog.LOADER_DELAY=200,IconyDialog.MOBILE_NAVIGATION_GAP={DEFAULT:8,UWE:50},IconyDialog.BUTTON_TYPE={NONE:0,PRIMARY:1,PARTNER:2,SECONDARY:3,TERTIARY:4,TONAL:5},IconyDialog.BUTTON_LAYOUT={BLEEDING:1,RIGHT_ALIGNED:2,LEFT_ALIGNED:3,CENTER:4,VERTICAL:5,CENTER_FULL_WIDTH:6},IconyDialog.TITLE_ALIGNEMENT={LEFT:1,CENTER:2,RIGHT:4},IconyDialog.Header={Default:1,Overlay:2,DisplayLight:3,DisplayDark:4,Clear:5,White:6},IconyDialog.Style={Default:1,Inverted:2},IconyDialog.DEFAULT_OPTIONS={title:null,caption:null,buttonLayout:IconyDialog.BUTTON_LAYOUT.RIGHT_ALIGNED,titleAlignment:IconyDialog.TITLE_ALIGNEMENT.LEFT,header:IconyDialog.Header.Default,style:IconyDialog.Style.Default,class:null,dismissText:"Abbrechen",dismissButton:!0,dismissButtonAtEnd:!0,showOnCreate:!0,destroyOnClose:!0,body:null,footer:null,cancelable:!0,modalCancelable:!0,closeOnESC:!0,preventBodyScroll:!0,valueCallback:null,onClosedCallback:null,onOpenedCallback:null,dismissCallback:null,shakeAnimation:!0,autoBodyLinkHandling:!0,seprateBackgroundElement:!1,isLoading:!1,loadingMessage:null,deferredRendering:!1,noBodyPadding:!1,noBodyScroll:!1,heightChangedCallback:null,mobileNavgationGap:IconyDialog.MOBILE_NAVIGATION_GAP.DEFAULT,iosScrollFix:!1},IconyDialog.EVENT_POSTFIX="icony-dialog",IconyDialog.Range=document.createRange(),window.IconyDialog=IconyDialog||{};class IconyOverlay extends IconyUIComponent{static show(e){return this.create({showOnCreate:!0,...e})}static create(e){return new IconyOverlay(e)}constructor(e){super(),this.options=ObjectUtils.merge(IconyOverlay.Defaults,e),this.uid=StringUtils.uid(),this.modal=IconyOverlay.Range.createContextualFragment(new Template("overlay.base").get()).firstChild,this.reference=this.modal.querySelector(".icony-overlay"),this.wrapper=this.modal.querySelector(".icony-overlay-wrapper"),this.header=this.modal.querySelector(".overlay-header"),this.body=this.modal.querySelector(".overlay-body"),this.modal.setAttribute("data-uid",this.uid),this.loadingTimerRefererence=null,this.__render(),this.options.class&&this.reference.classList.add(this.options.class),this.options.isLoading&&this.setIsLoading(!0,null,!0),this.options.showOnCreate&&this.open()}isOpen(){return!!(this.modal.offsetWidth||this.modal.offsetHeight||this.modal.getClientRects().length)}getBody(){return this.body}setBody(e){"string"==typeof e?this.body.innerHTML=e:this.body.replaceChildren(e)}open(){this.modal.style.display="block",this.options.preventBodyScroll&&(this.__isIPhone()?document.body.classList.add("no-scroll-ios-fix"):document.body.classList.add("no-scroll")),setTimeout((()=>{this.modal.classList.add("visible")}),30)}close(){document.body.classList.remove("no-scroll"),document.body.classList.remove("no-scroll-ios-fix"),this.modal.classList.remove("visible"),setTimeout((()=>{this.modal.style.display="none"}),IconyOverlay.ANIMATION_TIME)}show(){return this.open()}hide(){return this.close()}setIsLoading(e,t,i){return e?(t&&(this.reference.querySelector(".loading-container").querySelector(".text").textContent=t,setTimeout((()=>{this.reference.querySelector(".loading-container").querySelector(".text").classList.add("visible")}),2e3)),this.loadingTimerRefererence&&clearTimeout(this.loadingTimerRefererence),this.reference.querySelector(".loading-container").style.display="block",i?this.reference.querySelector(".loading-container").classList.add("visible"):this.loadingTimerRefererence=setTimeout((()=>{this.reference.querySelector(".loading-container").classList.add("visible")}),IconyOverlay.LOADER_DELAY)):(this.loadingTimerRefererence&&clearTimeout(this.loadingTimerRefererence),this.reference.querySelector(".loading-container").classList.remove("visible"),setTimeout((()=>{this.reference.querySelector(".loading-container").style.display="none",this.reference.querySelector(".loading-container").querySelector(".text").textContent="",this.reference.querySelector(".loading-container").querySelector(".text").classList.remove("visible")}),IconyOverlay.ANIMATION_TIME)),this}measure(){}destroy(){this.modal.remove()}__render(){document.body.contains(this.modal)||(this.modal.iconyModal=this,document.body.appendChild(this.modal))}__isIPhone(){return/iPad|iPhone|iPod/.test(navigator.userAgent)}}IconyOverlay.ANIMATION_TIME=250,IconyOverlay.LOADER_DELAY=200,IconyOverlay.Defaults={showOnCreate:!1,destroyOnClose:!0,isLoading:!1,class:null,preventBodyScroll:!0},IconyOverlay.Range=document.createRange();class IconyActionSheet{static show(e,t,i){return this.create(e,t,i)}static create(e,t,i){let n=IconyActionSheet.DEFAULT_OPTIONS;"object"==typeof e&&1===arguments.length?n=Object.assign({},n,e):(n=Object.assign({},n),n.title=e,n.caption=t,n.actions=i);let r=this.__uuid(),s=$(IconyActionSheet.BASE_TEMPLATE),o=s.find(".action-sheet"),a=s.find(".action-sheet-options");if(s.attr("data-uid",r),n.caption||n.title){let e=$('<div class="action-sheet-header"></div>');o.prepend(e),n.caption&&e.prepend('<div class="action-sheet-message"><p>'+n.caption+"</p></div>"),n.title&&e.prepend('<div class="action-sheet-heading"><p>'+n.title+"</p></div>")}let l={__uid:r,__reference:s,__settings:n,__isAnimating:!1,__loadingTimerRefererence:null,setCancelable:function(e){return this.__settings.cancelable=e,this},setModalCancelable:function(e){return this.__settings.modalCancelable=e,this},setValueCallback:function(e){return this.__settings.valueCallback=e,this},setItemClickedCallback:function(e){return this.__settings.itemClickedCallback=e,this},setCustomContent(e){this.__settings.customContent=e,a=a.replaceWith($('<div class="action-sheet-content"></div>').html(e))},setIsLoading(e,t){return e?(t&&this.__reference.find(".loading-container").find(".text").text(t),l.__loadingTimerRefererence&&clearTimeout(l.__loadingTimerRefererence),this.__reference.find(".loading-container").show(),l.__loadingTimerRefererence=setTimeout((()=>{this.__reference.find(".loading-container").addClass("visible")}),IconyActionSheet.LOADER_DELAY)):(l.__loadingTimerRefererence&&clearTimeout(l.__loadingTimerRefererence),this.__reference.find(".loading-container").removeClass("visible"),setTimeout((()=>{this.__reference.find(".loading-container").hide(),this.__reference.find(".loading-container").find(".text").text(null)}),IconyActionSheet.ANIMATION_TIME)),this},isOpen:function(){return this.__reference.is(":visible")},onOpened:function(e){return this.__settings.onOpenedCallback=e,this},open:function(){return new Promise((e=>{if(IconyActionSheet.CURRENT_SHEET){if(IconyActionSheet.CURRENT_SHEET.__reference.find(".action-sheet").addClass("fade-out"),IconyActionSheet.CURRENT_SHEET=this,this.__isAnimating||this.isOpen())return;return this.__isAnimating=!0,this.__reference.show(),setTimeout((()=>{this.__reference.addClass("modal"),this.__reference.find(".action-sheet").addClass("visible")}),30),void setTimeout((()=>{this.__isAnimating=!1,l.__settings.onOpenedCallback&&l.__settings.onOpenedCallback(),e()}),IconyActionSheet.ANIMATION_TIME)}IconyActionSheet.CURRENT_SHEET=this,this.__isAnimating||this.isOpen()||(this.__isAnimating=!0,this.__reference.show(),setTimeout((()=>{this.__reference.addClass("modal"),this.__reference.find(".action-sheet").addClass("visible")}),30),setTimeout((()=>{this.__isAnimating=!1,l.__settings.onOpenedCallback&&l.__settings.onOpenedCallback(),e()}),IconyActionSheet.ANIMATION_TIME))}))},show:function(){return this.open()},close:function(e){return new Promise((t=>{if(e=void 0!==e?e:l.__settings.skipCloseAnimation)this.__reference.hide(),IconyActionSheet.CURRENT_SHEET=null,this.destroy(),l.__settings.onClosedCallback&&l.__settings.onClosedCallback(),t();else{if(this.__isAnimating||!this.isOpen())return;this.__reference.removeClass("modal").find(".action-sheet").addClass("fade-out"),setTimeout((()=>{this.__reference.hide(),IconyActionSheet.CURRENT_SHEET=null,this.destroy(),l.__settings.onClosedCallback&&l.__settings.onClosedCallback(),t()}),IconyActionSheet.ANIMATION_TIME)}}))},dismiss:function(e){return this.close(e)},hide:function(e){return this.close(e)},onClosed:function(e){return this.__settings.onClosedCallback=e,this},destroy:function(){this.__reference.remove()}},c=[];if(n.actions&&n.actions.length)for(let e=0;e<n.actions.length;e++){let t=n.actions[e],i="action-sheet-option ";switch(t.type){case IconyActionSheet.ACTION_TYPE.PRIMARY:i+="action-sheet-option-primary ";break;case IconyActionSheet.ACTION_TYPE.DANGER:i+="action-sheet-option-danger ";break;case IconyActionSheet.ACTION_TYPE.TEXT:i+="action-sheet-option-text "}c.push($('<li class="'+i+'"><a href="#">'+t.text+"</a></li>").on("click",(function(e){e.preventDefault(),t.disabled||(t.action&&!1!==t.action.apply(l,[$(this).data("elementData")])&&l.close(l.__settings.skipCloseAnimation),t.value&&l.__settings.valueCallback&&!1!==l.__settings.valueCallback.apply(l,[$(this).data("elementData").value,$(this).data("elementData")])&&l.close(l.__settings.skipCloseAnimation),l.__settings.itemClickedCallback&&!1!==l.__settings.itemClickedCallback.apply(l,[$(this).data("elementData")])&&l.close(l.__settings.skipCloseAnimation),t.action||t.value||l.__settings.valueCallback||l.__settings.itemClickedCallback||l.close(l.__settings.skipCloseAnimation))})).data("elementData",{text:t.text,type:t.type,action:t.action,value:t.value,disabled:t.disabled}))}return l.__settings.cancelable&&c.push($('<li class="action-sheet-option action-sheet-option-cancel"><a href="#">'+n.defaultDismissText+"</a></li>").on("click",(e=>{e.preventDefault(),l.__settings.cancelable&&l.close()}))),a.html(c),s.on("click",(function(e){e.stopPropagation(),$(e.target).is(".action-sheet-container")&&l.__settings.modalCancelable&&l.close()})),o.append('<div class="loading-container"><div class="inner"><div class="spinner"></div><div class="text"></div></div></div>'),s.data(l),$("body").append(s),n.showOnCreate&&l.open(),l}static __uuid(){return StringUtils.uid()}}IconyActionSheet.CURRENT_SHEET=null,IconyActionSheet.ANIMATION_TIME=350,IconyActionSheet.LOADER_DELAY=200,IconyActionSheet.BASE_TEMPLATE='<div class="action-sheet-container use-fw-14"><div class="action-sheet"><ul class="action-sheet-options"></ul></div></div>',IconyActionSheet.ACTION_TYPE={PRIMARY:1,NORMAL:2,DANGER:4,TEXT:8},IconyActionSheet.DEFAULT_OPTIONS={title:null,caption:null,showOnCreate:!0,cancelable:!0,modalCancelable:!0,defaultDismissText:"Abbrechen",onClosedCallback:null,onOpenedCallback:null,valueCallback:null,itemClickedCallback:null,skipCloseAnimation:!1,customContent:null},window.IconyActionSheet=IconyActionSheet||{};class IconyProgressBar extends IconyUIComponent{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.setCallbackContext(this),this.options=ObjectUtils.merge(IconyProgressBar.Defaults,e),this.currentValue=0,this.currentPercentage=0,this.animator=null,this.container=null,this.progressBar=null,this.attached=!1,this.options.animate&&this.setAnimationEnabled(this.options.animate),this.options.target&&this.options.autoAttach&&this.attach(this.options.target),this.options.value&&this.setValue(this.options.value)}static create(e,t,i){return new IconyProgressBar({value:e,max:t,target:i})}attach(e){if(this.attached)throw new FrameworkError(this,"Already attached to another target");switch(this.options.target=e,this.container=document.createElement("div"),this.container.classList.add("icony-progress-bar-track"),this.options.style){case IconyProgressBar.Style.Default:this.container.classList.add("light");break;case IconyProgressBar.Style.Contrast:this.container.classList.add("contrast")}this.progressBar=document.createElement("div"),this.progressBar.classList.add("icony-progress-bar"),this.container.appendChild(this.progressBar),this.options.target.appendChild(this.container),this.attached=!0}detach(){this.attached&&(this.container.remove(),this.attached=!1)}getValue(){return this.currentValue}getPercentage(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.currentPercentage:100*this.currentPercentage}increment(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(isNaN(e))throw new FrameworkError(this,"Value must be a number");this.setValue(this.currentValue+e)}decrement(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;if(isNaN(e))throw new FrameworkError(this,"Value must be a number");this.setValue(this.currentValue-e)}setMax(e){if(isNaN(e))throw new FrameworkError(this,"Value must be a number");if(this.animator.isRunning())throw new IllegalStateError(this,"Animation is currently running");this.options.max=e}setPercentage(e){if(isNaN(e))throw new FrameworkError(this,"Value must be a number");if(e=MathUtils.clampInteger(0,100,e)/100,this.animator){if(this.animator.isRunning())throw new IllegalStateError(this,"Animation is currently running");this.animator.setFrom(this.currentValue)}this.currentValue=this.options.max*e,this.currentPercentage=e,this.animator||(this.progressBar.style.width=100*this.currentPercentage+"%"),this.animator&&(this.animator.setTo(this.currentValue),this.animator.start())}setValue(e){if(isNaN(e))throw new FrameworkError(this,"Value must be a number");if(this.animator){if(this.animator.isRunning())throw new IllegalStateError(this,"Animation is currently running");this.animator.setFrom(this.currentValue)}this.currentValue=MathUtils.clampInteger(0,this.options.max,e),this.currentPercentage=e/this.options.max,this.animator||(this.progressBar.style.width=100*this.currentPercentage+"%"),this.animator&&(this.animator.setTo(this.currentValue),this.animator.start())}setAnimationEnabled(e){if(e)this.animator=new ValueAnimator({easing:this.options.animationEasing,duration:this.options.animationDuration}),this.animator.on("update",this.__onAnimatorUpdate.bind(this)),this.animator.on("end",this.__onAnimatorFinished.bind(this));else{if(this.animator.isRunning())throw new FrameworkError(this,"Animation is currently running");this.animator=null}}__onAnimatorUpdate(){this.currentValue=this.animator.getValue(),this.currentPercentage=this.currentValue/this.options.max,this.progressBar.style.width=100*this.currentPercentage+"%"}__onAnimatorFinished(){this.progressBar.classList.toggle("hard-edges",1===this.currentPercentage),this.emit("animationFinsished")}}IconyProgressBar.Style={Default:1,Contrast:2},IconyProgressBar.Defaults={max:100,value:null,autoAttach:!0,animate:!0,animationDuration:300,animationEasing:IconyAnimator.Easing.EaseInOutCubic,target:null,style:IconyProgressBar.Style.Default};class CookieConsentPlugin{constructor(e,t,i,n){this.activated=!1,this.events=[],this.id=e,this.name=t,this.desc=i,this.category=n,this.userIsVerified=!1}activate(){this.activated||this.handleActivate().then((()=>{this.activated=!0;for(var e=0;e<this.events.length;e++)this.handleEvent(this.events[e]);this.events=[]})).catch((e=>{}))}event(e){this.activated||"CONF"==e[1]?this.handleEvent(e):this.events.push(e)}}class CookieConsent{constructor(){if(this.debug=!1,this.plugins=[],this.categories=[],this.amountToLoad=0,this.doneLoading=!1,this.catRequired=new CCPCategory(CookieConsent.CAT_REQUIRED,IconyLang.get("ttl_ccp_cat_required"),IconyLang.get("txt_ccp_cat_required")),this.catStats=new CCPCategory(CookieConsent.CAT_STATSTICS,IconyLang.get("ttl_ccp_cat_statistics"),IconyLang.get("txt_ccp_cat_statistics")),this.catMarketing=new CCPCategory(CookieConsent.CAT_MARKETING,IconyLang.get("ttl_ccp_cat_marketing"),IconyLang.get("txt_ccp_cat_marketing")),this.oldLayer=[],this.userIsVerified=!1,this.askedForConsent=!1,this.acceptedAll=!1,this.acceptedPlugins=[],this.acceptedCategories=[],this.consentID=null,this.markedCategories=[],this.markedPlugins=[],this.loadState(),null!=window.ccpLayer){this.oldLayer=ObjectUtils.clone(ccpLayer),ccpLayer=new CookieConsentLayer;for(var e=ObjectUtils.clone(this.oldLayer),t=0;t<e.length;t++){let n=e[t];if(0==n[0]){this.handleLayerData(n);var i=this.oldLayer.indexOf(n);i>=0&&this.oldLayer.splice(i,1)}}window.jQuery&&void 0!==window.$?($(document).on("pjax:end",(e=>{for(var t=0;t<this.plugins.length;t++){var i=this.plugins[t],n=router.__getCurrentPage();i.event([i.id,"CCP_PAGE_CHANGE",n])}})),$(window).on("unload",(e=>{for(var t=0;t<this.plugins.length;t++){var i=this.plugins[t],n=router.__getCurrentPage();i.event([i.id,"CCP_PAGE_UNLOAD",n])}}))):window.addEventListener("pagehide",(e=>{if(!e.persisted)for(var t=0;t<this.plugins.length;t++){var i=this.plugins[t],n=router.__getCurrentPage();this.debug,i.event([i.id,"CCP_PAGE_UNLOAD",n])}}))}}init(){0==this.askedForConsent&&(0==router.isPageRoute(["imprint","terms","privacy"])&&void 0!==app.navigationController&&void 0!==app.navigationController.ccp&&app.navigationController.ccp.open(!0));let e=document.querySelectorAll(".open-ccp");e&&e.forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault(),void 0!==app.navigationController&&void 0!==app.navigationController.ccp&&app.navigationController.ccp.open(!0)}))}))}loadPlugin(e){var t=new e;t.userIsVerified=this.userIsVerified,this.debug,this.plugins.push(t),this.__addCatFromPlugin(t);for(var i=this.oldLayer.slice(),n=0;n<i.length;n++){let e=i[n];e[0]==t.id&&(this.handleLayerData(e),this.oldLayer.remove(e))}this.askedForConsent&&this.__pluginAllowedToActivate(t)&&t.activate(),this.amountToLoad===this.plugins.length&&(this.doneLoading=!0,this.askedForConsent&&this.__sendConsendGivenEvent())}getPluginForID(e){for(var t=0;t<this.plugins.length;t++){var i=this.plugins[t];if(i.id==e)return i}return null}handleLayerData(e){if(this.debug,0!=e[0]){for(n=0;n<this.plugins.length;n++){var t=this.plugins[n];if(this.debug,t.id==e[0]){if(this.askedForConsent&&!this.__pluginAllowedToActivate(t))return;return void t.event(e)}}this.debug,this.oldLayer.push(e)}else if("CONF"==e[1]){var i=e[2];this.amountToLoad=i.length;for(var n=0;n<i.length;n++){let e=i[n];require(`ccp/${e}`)}this.userIsVerified=e[3]}}__activate(){this.debug;for(var e=0;e<this.plugins.length;e++){var t=this.plugins[e];this.__pluginAllowedToActivate(t)&&t.activate()}}__acceptAll(){this.askedForConsent=!0,this.acceptedAll=!0,this.acceptedCategories=[],this.acceptedPlugins=[],this.saveState(),this.debug,this.__usage("acceptAll"),this.__activate(),this.__sendConsendGivenEvent()}__denyAll(){this.askedForConsent=!0,this.acceptedAll=!1,this.acceptedCategories=[],this.acceptedPlugins=[],this.saveState(),this.debug,this.__usage("denyedAll"),this.__activate(),this.__sendConsendGivenEvent()}__acceptCategories(e){this.askedForConsent=!0,this.acceptedAll=!1,this.acceptedCategories=e,this.acceptedPlugins=[],this.saveState(),this.debug,this.__usage("acceptCategories"),this.__activate(),this.__sendConsendGivenEvent()}__acceptPlugins(e){this.askedForConsent=!0,this.acceptedAll=!1,this.acceptedPlugins=e,this.acceptedCategories=[],this.saveState(),this.debug,this.__usage("acceptPlugins"),this.__activate(),this.__sendConsendGivenEvent()}loadState(){var e=LocalStorageHelper.getItem("ccp_state");if(this.debug,!1!==e&&null!==e){var t=JSON.parse(e);this.acceptedAll=t.acceptedAll,this.acceptedPlugins=t.acceptedPlugins,this.acceptedCategories=t.acceptedCategories,null==t.askedForConsent?this.askedForConsent=!0:this.askedForConsent=t.askedForConsent,void 0!==t.consentID?this.consentID=t.consentID:(this.consentID=this.__uuid(),this.saveState()),this.debug,this.__usage("loaded_consent")}else this.askedForConsent=!1,this.acceptedAll=!1,this.acceptedPlugins=[],this.acceptedCategories=[],this.consentID=this.__uuid(),this.saveState(),this.debug}saveState(){this.debug;var e={askedForConsent:this.askedForConsent,acceptedAll:this.acceptedAll,acceptedPlugins:this.acceptedPlugins,acceptedCategories:this.acceptedCategories,consentID:this.consentID};LocalStorageHelper.setItem("ccp_state",JSON.stringify(e))}hasUserConsentedYet(){if(this.askedForConsent&&this.doneLoading){let e=this.plugins.filter((e=>this.__pluginAllowedToActivate(e)));return[CookieConsent.CONSENT_GIVEN_YES,e]}return[CookieConsent.CONSENT_GIVEN_NOT_YET]}__getCategoryFromID(e){var t=null;switch(e){case CookieConsent.CAT_STATSTICS:t=this.catStats;break;case CookieConsent.CAT_MARKETING:t=this.catMarketing;break;case CookieConsent.CAT_REQUIRED:t=this.catRequired;break;default:t=null}return t}__addCatFromPlugin(e){this.categories.indexOf(e.category)>=0||this.categories.push(e.category)}__pluginAllowedToActivate(e){return this.debug,this.acceptedAll||this.__hasConsentForCategory(e.category)||this.__hasConsentForPlugin(e.id)}__hasConsentForPlugin(e){return this.acceptedPlugins.indexOf(e)>=0}__hasConsentForCategory(e){return this.acceptedCategories.indexOf(e)>=0}__isPluginMarkedForConsent(e){return!!this.__hasConsentForPlugin(e)||this.markedPlugins.indexOf(e)>=0}__isCategorieMarkedForConsent(e){return!!this.__hasConsentForCategory(e)||this.markedCategories.indexOf(e)>=0}__usage(e){IconyAPI.call({method:"platformstatistics.ccpusage",type:e,isMobile:ResponsiveHelper.isMobile,consentId:this.consentID})}__uuid(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}__sendConsendGivenEvent(){let e=this.plugins.filter((e=>this.__pluginAllowedToActivate(e)));const t=new CustomEvent("CCPConsentGiven",{detail:{plugins:e}});window.dispatchEvent(t)}}CookieConsent.CAT_REQUIRED=1,CookieConsent.CAT_STATSTICS=2,CookieConsent.CAT_MARKETING=3,CookieConsent.CONSENT_GIVEN_NOT_YET=1,CookieConsent.CONSENT_GIVEN_YES=2;class CookieConsentLayer{push(e){CCP.handleLayerData(e)}}class CCPCategory{constructor(e,t,i){this.id=e,this.name=t,this.desc=i}}const ccpDomReady=new Promise((e=>{"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}));ccpDomReady.then((()=>{window.CCP=new CookieConsent}));class CookieConsentBanner extends IconyModule{onCreate(e){this.type=["ilove","iloveat","ilovech"].includes(REGISTER_MODULE)?2:1,this.overviewView=this.addView(CookieConsentBannerOverview),this.configView=this.addView(CookieConsentBannerConfig),this.advancedView=this.addView(CookieConsentBannerAdvanced)}open(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t="use-fw-21 ccp-overlay-fullscreen";2==this.type&&(t+=" ccp-content-bottom");let i=IconyViewManager.DocumentRange.createContextualFragment(`<div id="ccp-overlay" class="${t}"></div>`);document.querySelector("body").appendChild(i),this.__showBanner(e)}__showBanner(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.configView.detach(),this.advancedView.detach(),e?this.overviewView.updateData({bannerTypeBig:1==this.type,contentClass:""}):this.overviewView.updateData({bannerTypeBig:1==this.type}),this.overviewView.attach(document.querySelector("#ccp-overlay")),e&&window.requestAnimationFrame((()=>{document.querySelector("#ccp-banner").classList.add("visible")}))}__showConfig(){this.overviewView.detach(),this.advancedView.detach();let e=[];for(var t=0;t<CCP.categories.length;t++){let i=CCP.categories[t];if(i==CookieConsent.CAT_REQUIRED)continue;let n=CCP.__getCategoryFromID(i),r=CCP.__isCategorieMarkedForConsent(i)?"checked":"";e.push({id:n.id,name:n.name,desc:n.desc,state:r})}e.push({id:CCP.catRequired.id,name:CCP.catRequired.name,desc:CCP.catRequired.desc,state:"checked disabled"}),this.configView.updateData({categorie:e}),this.configView.attach(document.querySelector("#ccp-overlay"));var i=this.configView.dom.querySelectorAll("input");for(let e of i)e.addEventListener("change",(e=>{var t=e.currentTarget,i=parseInt(t.value);t.checked?CCP.markedCategories.indexOf(i)<0&&CCP.markedCategories.push(i):CCP.markedCategories=ArrayUtils.remove(i,CCP.markedCategories)}))}__showAdvanced(){this.configView.detach(),this.overviewView.detach();let e=CCP.plugins,t=[];e.sort(((e,t)=>e.category==t.category&&e.id>t.id||e.category<t.category?1:-1));for(var i=0;i<e.length;i++){let a=e[i],l="";a.category==CookieConsent.CAT_REQUIRED?l+="checked disabled":(CCP.__isPluginMarkedForConsent(a.id)||CCP.__isCategorieMarkedForConsent(a.category))&&(l+="checked");let c=CCP.__getCategoryFromID(a.category);for(var n="",r=0;r<a.desc.length;r++){var s=a.desc[r];n+=`\n          <dt>${s[0]}</dt>\n          <dd>${s[1]}</dd>\n        `}var o=`<dl>${n}</dl>`;t.push({id:a.id,name:a.name,desc:o,state:l,category:c.name})}this.advancedView.updateData({plugins:t}),this.advancedView.attach(document.querySelector("#ccp-overlay"))}close(){document.getElementById("ccp-overlay").remove()}onElementClick(e,t,i,n,r){switch(e){case"show-configure":this.__showConfig();break;case"show-advcanced":this.__showAdvanced();break;case"deny-all":this.close(),CCP.__denyAll();break;case"accept-all":this.close(),CCP.__acceptAll();break;case"accept-cats":var s=[],o=this.configView.dom.querySelectorAll("input");for(let e of o)e.checked&&s.push(parseInt(e.value));this.close(),CCP.__acceptCategories(s);break;case"accept-plugins":var a=[];o=this.advancedView.dom.querySelectorAll("input");for(let e of o)e.checked&&a.push(parseInt(e.value));this.close(),CCP.__acceptPlugins(a);break;case"close-banner":this.__showBanner()}}}class CookieConsentBannerOverview extends IconyView{onCreate(){this.defineTemplate("ccp.banner"),this.defineData({imprint:router.pathToRoute("imprint"),terms:router.pathToRoute("terms"),privacy:router.pathToRoute("privacy"),bannerTypeBig:!1,contentClass:"visible"})}onUpdateData(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return super.onUpdateData(e,...i)}}class CookieConsentBannerConfig extends IconyView{onCreate(){this.defineTemplate("ccp.config"),this.defineData({categorie:[]})}onUpdateData(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return super.onUpdateData(e,...i)}}class CookieConsentBannerAdvanced extends IconyView{onCreate(){this.defineTemplate("ccp.advanced"),this.defineData({plugins:[]})}onUpdateData(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return super.onUpdateData(e,...i)}onRendered(){this.dom.querySelectorAll(".open-btn").forEach((e=>{e.addEventListener("click",(e=>{e.preventDefault();let t=e.currentTarget,i=this.__nextMatchingParent(t,".ccp-list-item-meta");i.classList.contains("open")?(i.classList.remove("open"),t.innerText="Mehr Anzeigen"):(i.classList.add("open"),t.innerText="Weniger Anzeigen")}))}))}__nextMatchingParent(e,t){for(var i=e;null!=i.parentElement;){if(i.matches(t))return i;i=i.parentElement}return null}}class IDQ{static addEventHandler(e,t,i){Array.isArray(t)||(t=[t]);for(let n of t)e.addEventListener(n,i)}static htmlToElement(e){var t=document.createElement("template");return e=e.trim(),t.innerHTML=e,t.content.firstChild}static nextMatchingParent(e,t){for(var i=e;null!=i.parentElement;){if(i.matches(t))return i;i=i.parentElement}return null}static is(e,t){return"string"==typeof e&&(e=document.querySelector(e)),"string"==typeof t&&(t=document.querySelector(t)),Object.is(e,t)}static isVisible(e){return"string"==typeof e&&(e=document.querySelector(e)),e.clientWidth&&e.clientHeight}static height(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=window.getComputedStyle(e);if(i){let n=0,r=0;return t&&(n=parseFloat(i.getPropertyValue("margin-top")),r=parseFloat(i.getPropertyValue("margin-bottom"))),e.clientHeight+n+r}return null}static width(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=window.getComputedStyle(e);if(i){let n=0,r=0;return t&&(n=parseFloat(i.getPropertyValue("margin-left")),r=parseFloat(i.getPropertyValue("margin-right"))),e.clientWidth+n+r}return null}static dimension(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=IDQ.offset(e);return{width:IDQ.width(e,t),height:IDQ.height(e,t),left:i.left,top:i.top}}static offset(e){var t=e.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,n=window.pageYOffset||document.documentElement.scrollTop;return{top:t.top-n,left:t.left+i}}static scrollOffset(e){let t=e.getBoundingClientRect(),i=window.pageXOffset||document.documentElement.scrollLeft,n=window.pageYOffset||document.documentElement.scrollTop;return{top:window.innerHeight+t.top-n-t.height,left:t.x-i}}static scrollToElement(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-10;if(e.offsetWidth>0&&e.offsetHeight>0){let i,n=0;(i=document.querySelector("header"))&&(n=i.clientHeight);const r=window.pageYOffset||document.documentElement.scrollTop,s=e.getBoundingClientRect().top+r+t-n;window.scrollY!==parseInt(s)&&window.scrollTo({top:s,behavior:"smooth"})}}}const domReady=new Promise((e=>{"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()})),windowReady=new Promise((e=>{"complete"===document.readyState?e():window.addEventListener("load",e)}));class GenderAutoComplete{postPageChange(){let e=document.getElementsByClassName("enable-gender-autocomplete");for(let t of e){let e=Array.from(t.querySelectorAll("input[type=radio]"));for(let t of e)t.addEventListener("change",this.__formChanged.bind(this)),t.checked&&this.__animateMobile(t)}}__formChanged(e){let t=e.target,i=IDQ.nextMatchingParent(t,"form");if(this.__animateMobile(t),i.classList.contains("changed"))return;i.classList.add("changed");let n="1"==t.value?"2":"1",r="reg_gender"==t.name?"reg_look_for":"reg_gender",s=i.querySelector(`input[name="${r}"][value="${n}"]`);s.checked=!0,s.dispatchEvent(new Event("change"))}__animateMobile(e){e.id.includes("mobile")&&(document.querySelector(".hidden-gender-picker").classList.remove("hidden"),document.querySelector(".mobile-gender-autocomplete").classList.add("slide-in"))}}var GAC=new GenderAutoComplete;class PasswordField{constructor(e){if("password"==e.type){this.field=e,this.container=document.createElement("div"),this.container.classList.add("password-field-container");var t=IDQ.htmlToElement('<span class="show-password"><span class="icon21 icon21-eye"></span></span>');this.field.parentNode.insertBefore(this.container,this.field.nextSibling),this.container.appendChild(this.field),this.container.appendChild(t),this.toggleButton=this.container.querySelector(".show-password"),IDQ.addEventHandler(this.toggleButton,"click",(t=>{t.preventDefault();let i=this.container.querySelector(".icon21");"password"===this.field.type?(e.setAttribute("type","text"),i.classList.remove("icon21-eye"),i.classList.add("icon21-eye-crossed")):(this.field.setAttribute("type","password"),i.classList.remove("icon21-eye-crossed"),i.classList.add("icon21-eye"))}))}}}class InstagramPostManager{static findAndPreparePosts(){if(InstagramPostManager.Consent=JSON.parse(LocalStorageHelper.getItem("instagram-consent"))||null,InstagramPostManager.Consent)window.requireExternal("https://www.instagram.com/embed.js");else{const e=Array.from(document.querySelectorAll(".instagram-media")),t=document.createRange().createContextualFragment('<div class="instagram-post-consent"><div class="inner-consent"><a href="#" class="btn primary">Instagram laden</a><p class="m-t-20">Mit einem Klick auf "Instagram laden" stimmen Sie den <a href="https://www.instagram.com/legal/privacy/" target="_blank" rel="noopener">Datenschutzbestimmungen</a> von Instagram zu.</p></div></div>').firstChild;for(const i of e){const e=t.cloneNode(!0);e.querySelector("a").addEventListener("click",(e=>{e.preventDefault(),InstagramPostManager.onConsentGiven()})),i.appendChild(e),InstagramPostManager.ConsentRefs.push(e)}}}static onConsentGiven(){for(const e of InstagramPostManager.ConsentRefs)e.remove();InstagramPostManager.ConsentRefs=[],InstagramPostManager.Consent={uid:StringUtils.uid(),allow:!0,time:Math.floor(Date.now()/1e3)},LocalStorageHelper.setItem("instagram-consent",JSON.stringify({uid:StringUtils.uid(),allow:!0,time:Math.floor(Date.now()/1e3)})),window.requireExternal("https://www.instagram.com/embed.js")}}InstagramPostManager.ConsentRefs=[],InstagramPostManager.Consent=null,InstagramPostManager.findAndPreparePosts(),IconyAPI.HelpSubmitForm="help.submitForm",IconyAPI.HelpGetContactformFlow="help.getContactFormFlow",IconyAPI.HelpSendCancelForm="help.sendCancelForm",IconyAPI.HelpSearch="help.helpSearch",IconyAPI.PlatformstatisticsCcpusage="platformstatistics.ccpusage",IconyAPI.PlatformstatisticsTrackFPEvent="platformstatistics.trackFPEvent",IconyAPI.ExternalcouponNewCoupon="externalcoupon.newCoupon",IconyAPI.ExternalcouponGetPayoneHash="externalcoupon.getPayoneHash",IconyAPI.ExternalcouponSaveCCData="externalcoupon.saveCCData",IconyAPI.ExternalcouponBuy="externalcoupon.buy",IconyAPI.ExternalcouponInitiatePaypal="externalcoupon.initiatePaypal",IconyAPI.ExternalcouponLoadCoupon="externalcoupon.loadCoupon",IconyAPI.RegistrationNew="registration.new",IconyAPI.GeodataQuery="geodata.query";class Popover{static create(e){if(e){let t=Popover.__newPopover(e);return Popover.REGISTERED_POPOVERS.push(t),t}return this}static getbyID(e){for(let t of Popover.REGISTERED_POPOVERS)if(t.id===e)return t;return null}static closeAll(){let e=[];if(Popover.REGISTERED_POPOVERS.filter((e=>e.popover)).length){for(let t of Popover.REGISTERED_POPOVERS)t.popover&&(t.popover.remove(),t.popover=null,e.push(t));return e}return this}static __newPopover(e){let t=StringUtils.uid();e.setAttribute("data-uid",t);let i={id:t,element:e,trigger:e.getAttribute("data-trigger")||"focus",placement:e.getAttribute("data-placement")||"auto",content:e.getAttribute("data-content")||null,title:e.getAttribute("data-title")||null,popover:null};return"focus"===i.trigger&&i.element.addEventListener("click",(e=>{if(e.stopPropagation(),e.preventDefault(),Popover.REGISTERED_POPOVERS.filter((e=>e.popover&&e.id!==i.id)).length)for(let e of Popover.REGISTERED_POPOVERS)e.popover&&(e.popover.remove(),e.popover=null);if(i.popover)i.popover.remove(),i.popover=null;else{i.popover=Popover.POPOVER_TEMPLATE.cloneNode(!0),i.popover.setAttribute("data-uid",i.id);let t=i.popover.querySelector(".title"),n=i.popover.querySelector(".content");i.title&&(t.innerHTML=i.title),i.content&&(n.innerHTML=i.content),document.body.appendChild(i.popover);let r=Popover.__offset(e.target),s=Popover.__offset(i.popover),o=r.centerX-s.centerX,a=r.top+r.height+10;(o<0||ResponsiveHelper.isMobile)&&(o=0),a+i.popover.clientHeight>window.innerHeight+window.scrollY&&(a-=i.popover.clientHeight+r.height+20),i.popover.style.left=o+"px",i.popover.style.top=a+"px",setTimeout((()=>{i.popover.classList.add("visible")}),10)}})),i}static __initializePopovers(){let e=document.querySelectorAll("[data-toggle=popover]");if(e.length)for(let t of e.values())t.popover||Popover.REGISTERED_POPOVERS.push(Popover.__newPopover(t));let t=document.createElement("div");t.className="popover",t.innerHTML=Popover.POPOVER_TEMPLATE,Popover.POPOVER_TEMPLATE=t,document.addEventListener("click",(()=>{for(let e of Popover.REGISTERED_POPOVERS)e.popover&&(e.popover.remove(),e.popover=null)})),window.addEventListener("resize",(()=>{if(Popover.REGISTERED_POPOVERS.filter((e=>e.popover)).length)for(let e of Popover.REGISTERED_POPOVERS)e.popover&&(e.popover.remove(),e.popover=null)}))}static __offset(e){let t=document.body.getBoundingClientRect(),i=e.getBoundingClientRect();return{top:i.top-t.top,left:i.left-t.left,centerY:i.top-t.top+i.height/2,centerX:i.left-t.left+i.width/2,height:i.height,width:i.width}}}Popover.REGISTERED_POPOVERS=[],Popover.POPOVER_TEMPLATE='<div class="title"></div><div class="content paragraph-small-long"></div>',domReady.then(Popover.__initializePopovers);class Pager{constructor(e){this.options=Object.assign({},Pager.DEFAULT_OPTIONS,e),this.eventListeners=[],this.container=e.container,this.currentPageIndex=0,this.slider=e.container.querySelector(".icony-pager-slide"),this.pages=this.__createPages(e),this.__measure(),this.__movePages(this.currentPageIndex)}setPage(e){this.__movePages(e)}next(){this.currentPageIndex<=this.pages.length-1&&this.setPage(this.currentPageIndex+1)}previous(){this.currentPageIndex>0&&this.setPage(this.currentPageIndex-1)}getCurrentPageIndex(){return this.currentPageIndex}isFirstPage(){return 0===this.currentPageIndex}isLastPage(){return this.currentPageIndex===this.pages.length-1}getLastPageIndex(){return this.pages.length-1}isPage(e){return this.currentPageIndex===e}getPages(){return this.pages}getPageCount(){return this.pages.length}getPage(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return e||(e=this.currentPageIndex),e>-1&&e<=this.pages.length-1?this.pages[e]:null}measure(){this.__measure()}measurePage(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];null===e&&(e=this.currentPageIndex),t&&this.container.classList.add("no-transition");let i=this.pages[e];this.container.style.height=i.clientHeight+"px",setTimeout((()=>{this.container.classList.remove("no-transition")}),150)}setPageHeight(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];null===t&&(t=this.currentPageIndex),i&&this.container.classList.add("no-transition"),this.container.style.height=e+"px",setTimeout((()=>{this.container.classList.remove("no-transition")}),150)}on(e,t){this.eventListeners.push({name:e,callback:t})}__createPages(e){let t=Array.from(e.container.querySelectorAll(".icony-pager-page")),i=[];if(t.length<e.pages)for(let n=0;n<e.pages-t.length;n++)i.push(this.__addPage());return i.concat(t)||[]}__addPage(){let e=document.createElement("div");return e.className="page",e}__measure(){let e=this.container.clientWidth;for(let t of this.pages)t.style.width=e+"px"}__movePages(e){let t=e>this.currentPageIndex?1:-1;this.currentPageIndex=e;let i=this.pages[e],n=this.pages.filter(((t,i)=>i!==e));if(i.style.display="block","fade"===this.options.effect){setTimeout((()=>{i.classList.add("visible")}),10);for(let e of n)e.style.display="none",e.classList.remove("visible")}if("slide"===this.options.effect){setTimeout((()=>{if(i.classList.add("slide-in"),1===t){let e=this.getPage(this.currentPageIndex-1);e&&e.classList.add("slide-out")}if(i.classList.add("slide-in"),-1===t){let e=this.getPage(this.currentPageIndex+1);e&&e.classList.add("slide-out")}}),10);for(let e of n)e.style.display="none",e.classList.remove("visible")}this.container.style.height=i.clientHeight+"px",this.__dispatchEvent("pageChange",{pageIndex:this.currentPageIndex})}__dispatchEvent(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];for(let t of this.eventListeners)t.name===e&&t.callback.apply(this,i)}}Pager.DEFAULT_OPTIONS={pages:3,container:null,autoHeight:!0,effect:"fade"};class IconyPowCaptcha{constructor(){this.solving=!1,this.solved=!1,this.challenge=null,this.resultPromise=null,this.resultPromiseResolve=null,this.resultPromiseReject=null,this.workers=[]}startWorkers(){if(!(this.workers.length>0))for(let e=0;e<IconyPowCaptcha.NUM_WORKERS;e++){let e=IconyModuleLoader.startWorker("captcha");e.onmessage=this.__onMessage.bind(this),this.workers.push(e)}}startSolve(){return this.solving||(this.startWorkers(),this.solving=!0,this.resultPromise=new Promise(((e,t)=>{this.resultPromiseResolve=e,this.resultPromiseReject=t,IconyAPI.call("captcha.getChallenge").then((e=>{this.challenge=e.challenge;let t=Math.floor(this.challenge.max_number/IconyPowCaptcha.NUM_WORKERS);this.workers.forEach(((i,n)=>{let r=n*t,s=(n+1)*t;i.postMessage({challenge:e.challenge,startNumber:r,endNumber:s})}))})).catch((()=>{this.solving=!1,this.resultPromiseReject()}))}))),this.resultPromise}getResult(){return null==this.challenge?this.startSolve():this.solving?this.resultPromise:1e3*this.challenge.expires_at<Date.now()||0==this.solved?(this.__reset(),this.startSolve()):Promise.resolve(this.challenge)}__reset(){this.solving=!1,this.challenge=null,this.resultPromise=null,this.resultPromiseResolve=null,this.resultPromiseReject=null}__onMessage(e){if(this.solving=!1,0==e.data.success){if(e.worker.terminate(),this.__workerStillRunning())return;this.workers=[]}else this.__killWorkers();1e3*this.challenge.expires_at<Date.now()?this.resultPromiseResolve(this.startSolve()):e.data.success?(this.solved=!0,this.challenge.number=e.data.resultNumber,this.challenge.runtime=e.data.runtime,this.resultPromiseResolve(this.challenge)):(this.solved=!1,this.resultPromiseReject())}__killWorkers(){this.workers.forEach((e=>{e.terminate()})),this.workers=[]}__workerStillRunning(){return this.workers.some((e=>!e.terminated))}}IconyPowCaptcha.NUM_WORKERS=2;class NavigationController extends IconyViewController{onCreate(){this.ccp=this.useModule(CookieConsentBanner,{})}onShow(){this.headerElement=document.querySelector("header"),window.addEventListener("scroll",this.onPageScroll.bind(this),{passive:!0})}onHide(){}onPageScroll(){if(this.headerElement.classList.contains("isSticky")){let e=0;e=this.headerElement.getBoundingClientRect().height;let t=document.querySelector("#rtl-partner-header");t&&(t=t.getBoundingClientRect(),e+=t.height);let i=this.headerElement.querySelector(".scroll-logo");window.scrollY>e?(this.headerElement.classList.contains("shadow")||this.headerElement.classList.add("shadow"),i&&t&&(i.style.display="block")):(this.headerElement.classList.contains("shadow")&&this.headerElement.classList.remove("shadow"),i&&t&&window.scrollY<t.height&&"block"===i.style.display&&(i.style.display="none"))}}}class Login extends IconyViewController{onCreate(){}onShow(){this.form=document.getElementById("login-form"),this.passwordToggle=new PasswordField(document.getElementById("password")),this.formValidation=new FormValidation(this.form,[{name:"email",filters:[FormValidation.Filter.NotEmpty(100)]},{name:"password",filters:[FormValidation.Filter.NotEmpty(110)]}]),this.formValidation.onSubmit(this.__login.bind(this)),this.formValidation.addError(100,IconyLang.get("txt_login_empty_email")),this.formValidation.addError(110,IconyLang.get("txt_login_empty_password"))}__login(e){e.preventDefault(),this.formValidation.setFormDisabled(!0),this.formValidation.validateAll().then((()=>{ccpLayer.push([1,"LOGIN"]),this.formValidation.setFormDisabled(!1),this.form.submit()})).catch((()=>{this.formValidation.setFormDisabled(!1)}))}}class FrontPage extends IconyViewController{onCreate(){this.presentedByCounter=1,this.headerPresentedBy=null,this.footerPresentedBy=null,this.headerElement=null,this.hamburgerButton=null,this.trackingFields=[{selector:".home-visual-picture-tag-container",name:"1 above the fold"},{selector:"#moreinfo-container",name:"2 Weitere Informationen"},{selector:"#fragenflirt",name:"3 Fragenflirt"},{selector:"#fotoflirt",name:"4 Fotoflirt"},{selector:"#videodate",name:"5 Videodate"},{selector:"#success-stories",name:"6 Erfolgsgeschichten"},{selector:"#cms-content",name:"7 SEO-Text"},{selector:"#city-list",name:"8 Städteliste"},{selector:"footer",name:"9 Footer"}],this.postPageSizeTimer=null,this.toggleHeaderLayout()}onShow(){if(window.addEventListener("scroll",this.onPageScroll.bind(this),{passive:!0}),this.setHomeVisualContainerHeight(),this.initFAQ(),this.calcRegisterBoxOffset(),this.addVideo(),this.calculateScrollArrowPosition(),this.onPostResize(),this.initMobileMenu(),null!==document.querySelector(".auto-rotate")){let e=document.querySelector("header .presented-by .logo-list").children,t=document.querySelector("footer .presented-by .logo-list").children;this.headerPresentedBy=Array.prototype.slice.call(e),this.footerPresentedBy=Array.prototype.slice.call(t);let i=!1;for(let t=0;t<e.length;t++)e[t].classList.contains("fix")&&(i=!0);i&&(this.headerPresentedBy.splice(0,1),this.footerPresentedBy.splice(0,1)),setInterval(this.rotatePresentedBy.bind(this),5e3)}let e=document.querySelector(".scroll-next-section");e&&e.addEventListener("click",(e=>{e.preventDefault(),IDQ.scrollToElement(document.querySelector("#moreinfo-container"),-20),ccpLayer.push([1,"EVENT",{category:"Click-Tracking Startseite",action:"Click",label:"Scrolldown Button"}]),ccpLayer.push([1,"EVENT","click",{category:"Click-Tracking Startseite",action:"click",label:"Scrolldown Button"}])}))}setHomeVisualContainerHeight(){const e=document.querySelector("header");if(e&&e.classList.contains("fullscreen-header")){let t=document.querySelector(".home-visual-container.fullscreen");ResponsiveHelper.isMobile&&(t.style.height=`calc(100dvh - ${e.getBoundingClientRect().height}px)`,setTimeout((()=>{t.style.height=t.getBoundingClientRect().height+"px"}),400));const i=t.getBoundingClientRect().height,n=t.querySelector(".mobile-claim-container");i>450&&(n.style.opacity=1)}}resize(){this.calculateScrollArrowPosition(),this.postPageSizeTimer&&clearTimeout(this.postPageSizeTimer),this.postPageSizeTimer=setTimeout(this.onPostResize.bind(this),250)}onPostResize(){if(!1===document.body.classList.contains("frontpage-v4"))return;let e=document.getElementById("reg-form-panel");if(e&&window.innerWidth>992){let t=e.getBoundingClientRect(),i=document.querySelector(".scroll-next-section");window.innerHeight<t.bottom+100&&i?(i.style.display="flex",setTimeout((()=>{i.classList.add("visible")}),50),this.calculateScrollArrowPosition()):i&&(i.classList.remove("visible"),setTimeout((()=>{i.style.display="none"}),150))}}onPageScroll(){this.toggleHeaderLayout();for(let e=0;e<this.trackingFields.length;e++)if(""!=this.trackingFields[e].selector){let t=document.querySelector(this.trackingFields[e].selector);null!==t&&this.checkVisible(t)&&(ccpLayer.push([1,"EVENT",{category:"Scroll-Tracking Startseite",action:"Scroll",label:this.trackingFields[e].name}]),ccpLayer.push([1,"EVENT","scroll",{category:"Scrolltracking Startseite",action:"scroll",label:this.trackingFields[e].name}]),this.trackingFields[e].selector="")}}checkVisible(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!e)return;let i=e.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(i.bottom+t<0||i.top-n>=0)}getVisibleHeight(e){if(e){let t=e.getBoundingClientRect();return t.top<0&&t.bottom>0?t.bottom:t.top>0&&t.bottom<0?t.top:t.height}return!1}toggleHeaderLayout(){const e=document.querySelector("header");if(e&&e.classList.contains("fullscreen-header")){const t=document.querySelector(".btn-fullscreen-login"),i=document.querySelector(".btn-fullscreen-register"),n=document.querySelector(".btn-fullscreen-section"),r=document.querySelector(".btn-fullscreen-section-mobile"),s=ResponsiveHelper.isMobile?r:n;this.checkVisible(s)?(e.style.opacity="1",e.style.position="relative",t.style.display="block",t.style.opacity="1",i.style.display="none",i.style.opacity="0",this.checkVisible(e)||(e.style.opacity="0")):(e.style.opacity="1",e.style.position="sticky",t.style.display="none",t.style.opacity="0",i.style.display="block",i.style.opacity="1")}}initFAQ(){let e=document.getElementById("faq");if(!e)return;let t=e.querySelectorAll(".faq-name");for(let e of t)e.addEventListener("click",this.openFAQSection.bind(this))}openFAQSection(e){e.preventDefault();let t=e.currentTarget,i=IDQ.nextMatchingParent(t,"li"),n=i.querySelector(".faq-desc"),r=t.querySelector(".arrow");if(i.classList.contains("open"))i.classList.remove("open"),n.style.height=0,r.classList.remove("up"),r.classList.add("down");else{let e=document.querySelectorAll(".faq-list li");for(let t of e){t.classList.remove("open"),t.querySelector(".faq-desc").style.height=0;let e=t.querySelector(".arrow");e.classList.remove("up"),e.classList.add("down")}let t=n.querySelector(".inner").offsetHeight;n.style.height=`${t}px`,i.classList.add("open"),r.classList.add("up"),r.classList.remove("down")}}calcRegisterBoxOffset(){let e=document.querySelector(".home-visual-container");if(null===e||e.classList.contains("fullscreen"))return;let t=document.getElementById("reg-form-panel"),i=e.offsetHeight,n=IDQ.offset(e),r=window.innerHeight;if(i+n.top>r&&!ResponsiveHelper.isMobile){let e=r-n.top-t.offsetHeight-40;e=Math.max(e,20),t.style.bottom="unset",t.style.top=`${e}px`}else t.style.bottom=null,t.style.top=null}calculateScrollArrowPosition(){if(!1===document.body.classList.contains("frontpage-v4"))return;let e=document.querySelector(".scroll-next-section");if(e&&e.clientWidth&&e.clientHeight){let t=document.querySelector(".home-visual-picture-tag-container"),i=window.innerWidth>1200?t.clientWidth/3.3:t.clientWidth/4;i-=e.clientWidth/2,e.style.right=i+"px"}}addVideo(){let e=document.querySelector(".home_visual-video");if(!ResponsiveHelper.isMobile&&null!==e){let t='<video autoplay loop muted poster="'+e.dataset.videoposter+'"><source src="'+e.dataset.videomp4+'" type="video/mp4"><source src="'+e.dataset.videowebm+'" type="video/webm"></video>';e.innerHTML=t}}rotatePresentedBy(){let e=this.headerPresentedBy.length-1;0===this.presentedByCounter?(this.headerPresentedBy[e].classList.remove("show"),this.footerPresentedBy[e].classList.remove("show")):(this.headerPresentedBy[this.presentedByCounter-1].classList.remove("show"),this.footerPresentedBy[this.presentedByCounter-1].classList.remove("show")),this.headerPresentedBy[this.presentedByCounter].classList.add("show"),this.footerPresentedBy[this.presentedByCounter].classList.add("show"),this.presentedByCounter===e?this.presentedByCounter=0:this.presentedByCounter++}initMobileMenu(){const e=document.querySelector(".nav-menu-button"),t=document.querySelector(".nav-menu-container"),i=document.querySelector("header");if(e&&t&&i){e.classList.add("active"),t.addEventListener("transitionend",(()=>e.classList.add("active")));const setMenuHeight=()=>{const e=this.getVisibleHeight(i),n=`calc(100dvh - ${e}px)`,r=t.classList.contains("open");ResponsiveHelper.isMobile&&(r?(t.style.top=e+"px",t.style.height=n):(t.style.top="100dvh",t.style.height=0))},toggleMenu=()=>{e.classList.contains("active")&&(e.classList.toggle("open"),e.classList.remove("active"),t.classList.toggle("open"),document.body.classList.toggle("no-scroll"),Device.isIOS()&&document.body.classList.toggle("no-scroll-ios-fix"))};e.addEventListener("click",(()=>{toggleMenu(e,t),setMenuHeight()})),window.addEventListener("resize",(()=>{t.classList.contains("open");ResponsiveHelper.isMobile?setMenuHeight():t.style=null}))}}}FrontPage.SCROLL_DIRECTION_UP=1,FrontPage.SCROLL_DIRECTION_DOWN=2;class Registration extends IconyViewController{onCreate(){}onShow(){if(this.form=document.querySelector("#register_form"),!this.form)return;this.passwordToggle=new PasswordField(this.form.querySelector("[name=reg_password]")),this.formValidation=new FormValidation(this.form,[{name:"reg_gender",filters:[FormValidation.Filter.Choice(130)]},{name:"reg_look_for",filters:[FormValidation.Filter.Choice(131)]},{name:"reg_place_id",filters:[FormValidation.Filter.NotEmpty(134)]},{name:"reg_birthday",filters:[FormValidation.Filter.NotEmpty(133)],options:{disableBlur:!0}},{name:"reg_email",filters:[FormValidation.Filter.NotEmpty(120),FormValidation.Filter.Email(121),FormValidation.Filter.Api({method:"formvalidation.checkEmail"},null,(function(e){return 123===e.errno&&this.context.setError(123,IconyLang.get("txt_err_already_used_email_wrong_platform",{platform:e.platform,platform_link:e.platform_link,login_link:e.login_link})),e.errno}))]},{name:"reg_username",filters:[FormValidation.Filter.NotEmpty(100),FormValidation.Filter.Api((function(){var e="";return this.context.__findFieldInDefinition("reg_email").element.value&&(e=this.context.__findFieldInDefinition("reg_email").element.value),{method:"formvalidation.checkUsername",additional_values:[e]}}))]},{name:"reg_password",filters:[FormValidation.Filter.NotEmpty(110),FormValidation.Filter.MinLength(8,111),FormValidation.Filter.Api((function(){var e="";return this.context.__findFieldInDefinition("reg_username").element.value&&(e=this.context.__findFieldInDefinition("reg_username").element.value),{method:"formvalidation.checkPassword",additional_values:[e]}}))]}]);if([{code:150,field:"reg_partner_newsletter"},{code:151,field:"reg_privacy"},{code:152,field:"reg_terms"}].forEach((e=>{let t;(t=document.getElementById(e.field))&&this.formValidation.addField(t.name,[FormValidation.Filter.Checked(e.code)])})),this.formValidation.addError(120,IconyLang.get("txt_err_empty_email"),["reg_email"]),this.formValidation.addError(121,IconyLang.get("txt_err_invalid_email"),["reg_email"]),this.formValidation.addError(122,IconyLang.get("txt_err_already_used_email"),["reg_email"]),this.formValidation.addError(124,IconyLang.get("txt_err_forbidden_email"),["reg_email"]),this.formValidation.addError(130,IconyLang.get("txt_err_empty_gender"),["reg_gender"]),this.formValidation.addError(131,IconyLang.get("txt_err_empty_look_for"),["reg_look_for"]),this.formValidation.addError(133,IconyLang.get("txt_err_empty_birthday"),["reg_birthday"]),this.formValidation.addError(134,IconyLang.get("txt_err_empty_plz"),["reg_place_id"]),this.formValidation.addError(100,IconyLang.get("txt_err_empty_username"),["reg_username"]),this.formValidation.addError(101,IconyLang.get("txt_err_invalid_username"),["reg_username"]),this.formValidation.addError(102,IconyLang.get("txt_err_already_used_username"),["reg_username"]),this.formValidation.addError(103,IconyLang.get("txt_err_username_invalid_length"),["reg_username"]),this.formValidation.addError(104,IconyLang.get("txt_err_username_invalid_length"),["reg_username"]),this.formValidation.addError(105,IconyLang.get("txt_err_username_is_banned"),["reg_username"]),this.formValidation.addError(110,IconyLang.get("txt_err_empty_password"),["reg_password"]),this.formValidation.addError(111,IconyLang.get("txt_err_invalid_password"),["reg_password"]),this.formValidation.addError(112,IconyLang.get("txt_err_invalid_password"),["reg_password"]),this.formValidation.addError(113,IconyLang.get("txt_err_username_password"),["reg_password"]),this.formValidation.addError(138,IconyLang.get("txt_err_invalid_captcha"),["hidden_captcha_test"]),this.formValidation.addError(151,IconyLang.get("txt_err_empty_privacy"),["reg_privacy"]),this.formValidation.addError(152,IconyLang.get("txt_err_empty_terms"),["reg_terms"]),this.formValidation.onSubmit(this.__register.bind(this)),this.formValidation.onFieldError(((e,t)=>{this.__isFieldVisible(e)&&(ccpLayer.push([1,"EVENT",{category:"registrierung fehlermeldungen",action:t.message,label:t.code}]),ccpLayer.push([1,"EVENT","registrierung-fehlermeldungen",{category:"registrierung fehlermeldungen",action:t.message,label:t.code}]))})),this.formValidation.onFieldFocus((e=>{ccpLayer.push([1,"EVENT",{category:"registrierung inpage-trichter",action:e.name}]),ccpLayer.push([1,"EVENT","registrierung-inpage-trichter",{category:"registrierung inpage-trichter",action:e.name}])})),this.submitButton=this.form.querySelector("[type=submit]"),this.buttonLoader=this.submitButton.querySelector(".loader"),this.nextButton=document.getElementById("reg-next-step"),this.nextButton.addEventListener("click",(e=>{e.preventDefault(),this.formValidation.validateField("reg_gender","reg_look_for","reg_place_id").then((()=>{document.getElementById("reg-step-1").style.display="none";let e=document.getElementById("reg-step-2");e.style.display="block",IDQ.scrollToElement(e)})).catch((()=>{this.formValidation.getNextFailingFieldElement()&&IDQ.scrollToElement(this.formValidation.getNextFailingFieldElement(),-60)}))})),this.anchor=document.getElementById("anchor"),ResponsiveHelper.isMobile){this.radios=this.form.querySelectorAll("[type=radio]");for(let e of this.radios)e.addEventListener("change",(()=>{IDQ.scrollToElement(this.anchor,-20)}))}let e=Array.from(this.form.querySelectorAll("input[type=radio]"));for(let t of e)t.addEventListener("change",this.__updateLocationHelpText.bind(this));this.__updateLocationHelpText(),this.__validateGivenParams()}__register(e){e.preventDefault(),this.buttonLoader.classList.remove("hidden"),this.formValidation.setFormDisabled(!0),this.formValidation.validateAll().then((()=>{let e=this.formValidation.getFormData(),[t,i,n]=e.get("reg_birthday").split("-");t&&i&&n&&(e.delete("reg_birthday"),e.set("reg_byear",t),e.set("reg_bmonth",i),e.set("reg_bday",n)),e.set("g_recaptcha_response",e.get("hidden_captcha_test")),e.delete("hidden_captcha_test");let r=this.__getCookie("ICONY_CELL_BID"),s=this.__getCookie("ICONY_UY_YDRID"),o=this.__getCookie("ICONY_UY_YDRPID"),a=this.__getCookie("ICONY_UY_AFFPUBID"),l=this.__getCookie("ICONY_GCLID"),c=new URLSearchParams(window.location.search).get("sclid"),h=new URLSearchParams(window.location.search).get("atclid");null!=r&&e.set("cell_bid",r),null!=s&&e.set("UY_YDRID",s),null!=o&&e.set("UY_YDRPID",o),null!=a&&e.set("UY_AFFPUBID",a),null!=l&&e.set("GCLID",l),null!=c&&e.set("SCLID",c),null!=h&&e.set("ATCLID",h),"undefined"!=typeof EXTERNAL_REGISTRATION&&e.set("reg_form_type","clean");let u=Object.assign({},{method:IconyAPI.RegistrationNew},ObjectUtils.formDataToObject(e));IconyAPI.call(u).then((e=>{"undefined"!=typeof EXTERNAL_REGISTRATION?(this.formValidation.setFormDisabled(!0),window.parent&&window.parent.location?window.parent.location.replace(SITE_URL+router.pathToRoute("registration_success")):window.open(SITE_URL+router.pathToRoute("registration_success"),"_blank")):router.routeTo("registration_success")})).catch((e=>{e&&e.errno&&(this.formValidation.setFormDisabled(!1),this.formValidation.raiseError(e.errno),this.buttonLoader.classList.add("hidden"))}))})).catch((()=>{this.formValidation.getNextFailingFieldElement()&&IDQ.scrollToElement(this.formValidation.getNextFailingFieldElement(),-70),this.formValidation.setFormDisabled(!1),this.buttonLoader.classList.add("hidden")}))}__recaptchaLoaded(){this.formValidation&&(this.formValidation.addField("hidden_captcha_test",[FormValidation.Filter.NotEmpty(138)]),window.recaptchaCallback=this.__recaptchaResolved.bind(this),window.recaptchaExpiredCallback=this.__recaptchaExpired.bind(this))}__recaptchaResolved(e){document.querySelector("[name=hidden_captcha_test]").value=e,this.formValidation.validateField("hidden_captcha_test").catch((()=>{}))}__recaptchaExpired(){document.querySelector("[name=hidden_captcha_test]").value="",this.formValidation.validateField("hidden_captcha_test").catch((()=>{}))}__validateGivenParams(){let e;if(this.form&&(e=this.form.getAttribute("data-validate"))){let t=e.split(",");t&&t.length&&this.formValidation.validateField(...t).then((()=>{ResponsiveHelper.isMobile&&IDQ.scrollToElement(this.anchor,-70)})).catch((()=>{}))}}__isFieldVisible(e){return Array.isArray(e)&&(e=e[0]),ArrayUtils.inArray(e.name,["reg_gender","reg_look_for","hidden_captcha_test"])&&(e=e.parentElement),e.clientWidth&&e.clientHeight}__updateLocationHelpText(){let e=document.querySelector(".help-text-place");var t;switch(this.formValidation.getFormData().get("reg_look_for")){case"1":t=e.dataset.searchForMale;break;case"2":t=e.dataset.searchForFemale;break;default:t=e.dataset.searchForUndefined}e.innerHTML=t}__getCookie(e){var t=null;const i=`; ${document.cookie}`.split(`; ${e}=`);return 2===i.length&&(t=i.pop().split(";").shift()),t}}class OnboardingRegistration extends IconyViewController{onCreate(){require("legal/texts").then((()=>{this.termsOverlay=this.useModule(LegalTextOverlay,{type:LegalTextOverlay.Type.Terms}),this.privacyOverlay=this.useModule(LegalTextOverlay,{type:LegalTextOverlay.Type.Privacy})})),this.captcha=new IconyPowCaptcha,this.visisitStart=Date.now()}onShow(){this.form=document.querySelector("#register_form"),this.formValidation=new FormValidation(this.form,[{name:"reg_gender",filters:[]},{name:"reg_look_for",filters:[]},{name:"reg_email",filters:[FormValidation.Filter.NotEmpty(120),FormValidation.Filter.Email(121),FormValidation.Filter.Api({method:"formvalidation.checkEmail"},null,(function(e){return 123===e.errno&&this.context.setError(123,IconyLang.get("txt_err_already_used_email_wrong_platform",{platform:e.platform,platform_link:e.platform_link,login_link:e.login_link})),e.errno}))]},{name:"reg_terms",filters:[FormValidation.Filter.Checked(152)]}]),this.formValidation.addError(120,IconyLang.get("txt_err_empty_email"),["reg_email"]),this.formValidation.addError(121,IconyLang.get("txt_err_invalid_email"),["reg_email"]),this.formValidation.addError(122,IconyLang.get("txt_err_already_used_email"),["reg_email"],!0),this.formValidation.addError(123,IconyLang.get("txt_err_already_used_email"),["reg_email"],!0),this.formValidation.addError(124,IconyLang.get("txt_err_forbidden_email"),["reg_email"]),this.formValidation.addError(152,IconyLang.get("txt_err_empty_terms"),["reg_terms"]),this.submitButton=this.form.querySelector("[type=submit]"),this.formValidation.onSubmit(this.__register.bind(this)),this.termsLinks=this.form.querySelectorAll(".terms-overlay"),this.privacyLinks=this.form.querySelectorAll(".privacy-overlay");for(let e of this.termsLinks)e.addEventListener("click",(e=>{var t;e.preventDefault(),null===(t=this.termsOverlay)||void 0===t||t.open()}));for(let e of this.privacyLinks)e.addEventListener("click",(e=>{var t;e.preventDefault(),null===(t=this.privacyOverlay)||void 0===t||t.open()}));this.captcha.startSolve()}__register(e){e.preventDefault(),this.formValidation.setFormDisabled(!0),Promise.all([this.formValidation.validateAll(),this.captcha.getResult()]).then((e=>{let t=this.formValidation.getFormData(),i=e[1],n=this.__getCookie("ICONY_CELL_BID"),r=this.__getCookie("ICONY_UY_YDRID"),s=this.__getCookie("ICONY_UY_YDRPID"),o=this.__getCookie("ICONY_UY_AFFPUBID"),a=this.__getCookie("ICONY_GCLID"),l=new URLSearchParams(window.location.search).get("sclid"),c=new URLSearchParams(window.location.search).get("atclid");null!=n&&t.set("cell_bid",n),null!=r&&t.set("UY_YDRID",r),null!=s&&t.set("UY_YDRPID",s),null!=o&&t.set("UY_AFFPUBID",o),null!=a&&t.set("GCLID",a),null!=l&&t.set("SCLID",l),null!=c&&t.set("ATCLID",c),t.set("captcha_challenge",i.challenge),t.set("captcha_salt",i.salt),t.set("captcha_signature",i.signature),t.set("captcha_number",i.number),t.set("captcha_runtime",i.runtime),t.set("captcha_visit_start",this.visisitStart),t.set("captcha_visit_end",Date.now());let h=Object.assign({},{method:"registration.startOnboarding"},ObjectUtils.formDataToObject(t));IconyAPI.call(h).then((e=>{router.routeTo("onboarding")})).catch((e=>{e&&e.errno&&(this.formValidation.setFormDisabled(!1),this.formValidation.raiseError(e.errno))}))})).catch((()=>{this.formValidation.getNextFailingFieldElement()&&IDQ.scrollToElement(this.formValidation.getNextFailingFieldElement(),-70),this.formValidation.setFormDisabled(!1)}))}__getCookie(e){var t=null;const i=`; ${document.cookie}`.split(`; ${e}=`);return 2===i.length&&(t=i.pop().split(";").shift()),t}}class Coupon extends IconyViewController{onCreate(){}onShow(){let e=document.getElementById("coupon_code");null!==e&&e.addEventListener("input",this.changeButton)}changeButton(e){let t=document.getElementById("coupon-btn");""!==e.target.value?t.disabled=!1:t.disabled=!0}}class Help extends IconyViewController{onCreate(){this.currentSearchValue=null,this.searchTimerReference=null,this.pendingAnimationPromise=null,this.abortController=new AbortController,this.currentSearchResults=null}onShow(){this.searchBar=document.querySelector(".search-bar"),this.searchField=document.querySelector(".search-bar input"),this.searchButton=document.querySelector(".search-bar button"),this.searchResults=document.querySelector(".search-results"),this.searchField.addEventListener("input",this.__onFieldInput.bind(this)),this.searchField.addEventListener("click",this.__onFieldClick.bind(this)),this.searchButton.addEventListener("click",this.__onButtonClick.bind(this)),document.body.addEventListener("click",(e=>{IDQ.is(e.target,this.searchField)||this.pendingAnimationPromise||(this.pendingAnimationPromise=this.__setResultContainerVisible(!1).then((()=>{this.pendingAnimationPromise=null})))})),document.body.addEventListener("keyup",(e=>{"Escape"===e.key&&(this.pendingAnimationPromise||(this.pendingAnimationPromise=this.__setResultContainerVisible(!1).then((()=>{this.pendingAnimationPromise=null}))))})),this.searchField&&this.searchField.value.length&&(this.currentSearchValue=this.searchField.value)}onResize(){this.__measureResultContainer()}scroll(){this.__measureResultContainer()}__onButtonClick(e){(!this.currentSearchValue||this.currentSearchValue.length<Help.MIN_CHARS)&&e.preventDefault()}__onFieldInput(e){if(this.searchTimerReference&&clearTimeout(this.searchTimerReference),e.target.value.length<Help.MIN_CHARS)return this.currentSearchValue=null,void(this.pendingAnimationPromise||(this.pendingAnimationPromise=this.__setResultContainerVisible(!1).then((()=>{this.pendingAnimationPromise=null}))));this.currentSearchValue=e.target.value,this.searchTimerReference=setTimeout(this.__doSearch.bind(this),Help.SEARCH_DELAY_MS)}__onFieldClick(e){e.target.value&&e.target.value.length>Help.MIN_CHARS&&(this.currentSearchValue=e.target.value,this.currentSearchResults&&this.currentSearchResults.length?this.pendingAnimationPromise||(this.pendingAnimationPromise=this.__setResultContainerVisible(!0).then((()=>{this.pendingAnimationPromise=null}))):this.__doSearch())}__doSearch(){IconyAPI.call({method:IconyAPI.HelpSearch,q:this.currentSearchValue},this.abortController).then((e=>{let t="";if(e.results.length){for(let i of e.results)t+='<a href="'+i.link+'" class="result-item">'+i.headline+"</a>";this.currentSearchResults=e.results}else this.currentSearchResults=[];e.remaining>0&&(t+='<a href="'+e.url+'" class="result-item"><strong>'+e.remaining+" weitere Treffer anzeigen</strong></a>"),this.__measureResultContainer(),e.total>0&&(this.searchResults.innerHTML=t,this.pendingAnimationPromise||(this.pendingAnimationPromise=this.__setResultContainerVisible(!0).then((()=>{this.pendingAnimationPromise=null})))),0===e.remaining&&0===e.total&&(this.pendingAnimationPromise||(this.pendingAnimationPromise=this.__setResultContainerVisible(!1).then((()=>{this.pendingAnimationPromise=null,this.searchResults.innerHTML=""}))))}))}__measureResultContainer(){if(!this.__isResulContainerVisible())return;let e=this.searchBar.getBoundingClientRect();this.searchResults.style.width=e.width+"px",this.searchResults.style.top=e.top+e.height+6+window.scrollY+"px"}__setResultContainerVisible(e){return new Promise((t=>{e?(this.searchResults.style.display="block",this.__measureResultContainer(),this.searchBar.classList.add("active"),setTimeout((()=>{this.searchResults.classList.add("visible")}),10),setTimeout((()=>{t()}),150)):(this.searchResults.classList.remove("visible"),this.searchBar.classList.remove("active"),setTimeout((()=>{this.searchResults.style.display="none",t()}),150))}))}__isResulContainerVisible(){return IDQ.isVisible(this.searchResults)}}Help.SEARCH_DELAY_MS=250,Help.MIN_CHARS=4;class ContactCancelForm extends IconyViewController{onCreate(){}onShow(){this.form=document.querySelector("#contact-cancel-form"),this.formValidation=new FormValidation(this.form,[{name:"customer_id",filters:[FormValidation.Filter.NotEmpty(8),FormValidation.Filter.Numeric()]},{name:"email",filters:[FormValidation.Filter.NotEmpty(6),FormValidation.Filter.Email(7)]},{name:"firstname",filters:[]},{name:"lastname",filters:[]},{name:"street",filters:[]},{name:"zip",filters:[]},{name:"city",filters:[]},{name:"details",filters:[]}]),this.formValidation.addError(6,IconyLang.get("txt_err_empty_email"),["email"]),this.formValidation.addError(7,IconyLang.get("txt_err_invalid_email"),["email"]),this.formValidation.addError(8,IconyLang.get("txt_err_empty_customer_id"),["customer_id"]),this.formValidation.onSubmit(this.__send.bind(this))}__send(e){e.preventDefault(),this.formValidation.setFormDisabled(!0),this.formValidation.validateAll().then((()=>{let e=this.formValidation.getFormData();IconyAPI.call(Object.assign({},{method:IconyAPI.HelpSendCancelForm},ObjectUtils.formDataToObject(e))).then((()=>{router.routeTo("contact_cancel_success")})).catch((e=>{e&&e.errno&&this.formValidation.setFormDisabled(!1)}))})).catch((()=>{this.formValidation.getNextFailingFieldElement()&&IDQ.scrollToElement(this.formValidation.getNextFailingFieldElement(),-60),this.formValidation.setFormDisabled(!1)}))}}class Contact extends IconyViewController{onCreate(){}onShow(){this.nextButtons=document.querySelectorAll("[data-action=next]");for(let e of this.nextButtons)e.addEventListener("click",this.__onNextClicked.bind(this));this.backButtons=document.querySelectorAll("[data-action=previous]");for(let e of this.backButtons)e.addEventListener("click",this.__onBackClicked.bind(this));this.categoryItems=document.querySelectorAll("[data-show-category]");for(let e of this.categoryItems)e.addEventListener("click",this.__onCategoryClicked.bind(this));this.qaItems=document.querySelectorAll(".qa-item");for(let e of this.qaItems)e.querySelector(".headline").addEventListener("click",this.__onQAHeadlineClicked.bind(this));let e;if(window.pager=this.pager=new Pager({container:document.querySelector(".icony-pager")}),this.pager.on("pageChange",this.__onPagerPageChange.bind(this)),this.submitButton=document.querySelector("[data-action=submit]"),this.form=document.querySelector("#contact-form"),this.formValidation=new FormValidation(this.form,[{name:"firstname",filters:[FormValidation.Filter.NotEmpty(101)]},{name:"lastname",filters:[FormValidation.Filter.NotEmpty(102)]},{name:"email",filters:[FormValidation.Filter.NotEmpty(103),FormValidation.Filter.Email(104)]},{name:"customer_id",filters:[FormValidation.Filter.Numeric()]},{name:"subject",filters:[FormValidation.Filter.NotEmpty(105)]},{name:"comment",filters:[FormValidation.Filter.NotEmpty(106)]}]),this.formValidation.addError(101,IconyLang.get("txt_err_empty_firstname"),["firstname"]),this.formValidation.addError(102,IconyLang.get("txt_err_empty_lastname"),["lastname"]),this.formValidation.addError(103,IconyLang.get("txt_err_empty_email"),["email"]),this.formValidation.addError(104,IconyLang.get("txt_err_invalid_email"),["email"]),this.formValidation.addError(105,IconyLang.get("txt_err_empty_subject"),["subject"]),this.formValidation.addError(106,IconyLang.get("txt_err_empty_comment"),["comment"]),this.formValidation.onFieldError((()=>{setTimeout((()=>{this.pager.measurePage()}),150)})),this.submitButton.addEventListener("click",this.__onSubmitClicked.bind(this)),this.goDirectlyToForm=!1,(e=IconyRouter.parseGetParams())&&e.has("s")&&e.s){this.goDirectlyToForm=!0,this.pager.setPage(3);let e=location.href.split("?")[0];e&&window.history.replaceState({},document.title,e)}this.resizeTimer=null}onResize(){this.pager&&(this.pager.measure(),this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout((()=>{this.pager.measurePage()}),250))}__onCategoryClicked(e){e.preventDefault(),this.pager.next();let t=e.currentTarget.getAttribute("data-show-category"),i=this.pager.getPage(2),n=Array.from(i.querySelectorAll("[data-category]"));for(let e of n)e.classList.add("hidden");i.querySelector('[data-category="'+t+'"]').classList.remove("hidden"),this.pager.measurePage(2)}__onBackClicked(e){e.preventDefault(),this.pager.previous()}__onPagerPageChange(e){this.pager.isPage(3)&&!this.goDirectlyToForm&&this.pager.measurePage(),1===this.pager.getCurrentPageIndex()&&this.__collapseAllQAItems()}__onSubmitClicked(e){e.preventDefault(),this.formValidation.setFormDisabled(!0),this.formValidation.validateAll().then((()=>{let e=this.formValidation.getFormData();IconyAPI.call(Object.assign({},{method:IconyAPI.HelpSubmitForm},ObjectUtils.formDataToObject(e))).then((()=>{this.pager.next(),this.formValidation.resetForm()})).catch((()=>{let e;this.pager.next(),this.formValidation.setFormDisabled(!1),(e=this.pager.getPage())&&(e.querySelector("[data-result=success]").style.display="none",e.querySelector("[data-result=error]").style.display="block")}))})).catch((()=>{this.pager.measurePage(),this.formValidation.getNextFailingFieldElement()&&IDQ.scrollToElement(this.formValidation.getNextFailingFieldElement(),-60),this.formValidation.setFormDisabled(!1)}))}__onQAHeadlineClicked(e){let t=IDQ.nextMatchingParent(e.target,".qa-item");this.__setQAItemExpanend(t,!this.__isQAItemOpen(t))}__setQAItemExpanend(e,t){let i=e.querySelector(".content"),n=e.querySelector(".inner");t?(e.classList.add("open"),i.style.height=n.clientHeight+"px",this.pager.setPageHeight(this.pager.getPage().clientHeight+n.clientHeight)):(e.classList.remove("open"),i.style.height="0px",this.pager.setPageHeight(this.pager.getPage().clientHeight-n.clientHeight))}__collapseAllQAItems(){for(let e of this.qaItems){let t=e.querySelector(".content");e.classList.remove("open"),t.style.height="0px"}}__isQAItemOpen(e){return e.classList.contains("open")}__onNextClicked(e){e.preventDefault(),this.pager.next()}}class Privacy extends IconyViewController{onShow(){var e=document.querySelector(".static-page-toc ul"),t=document.querySelector(".privacy-text-content");this.toc=new StaticPageToc(e,t)}}class StaticPageToc{constructor(e,t){this.tocList=e,this.contents=t,this.currentVisibilty=new Map,this.lastVisibel=null,this.observer=this.__initObserver(),this.mobileToc=null,this.contents.querySelectorAll(".section-headline").forEach((e=>{this.observer.observe(e)}));var i=this.tocList.querySelectorAll("a");for(var n of i)IDQ.addEventHandler(n,"click",this.__clickOnNav.bind(this));ResponsiveHelper.isMobile&&this.__initMobileToc()}__initObserver(){var e=-document.querySelector("header").offsetHeight+"px";return new IntersectionObserver(this.__observerCallback.bind(this),{threshold:.1,rootMargin:e})}__initMobileToc(){this.mobileToc=IDQ.htmlToElement('\n    <div class="mobile-toc panel bg-box-greyscale-weight-100 panel-shadow">\n      <span class="toc-desc">Inhaltsverzeichnis</span>\n      <div class="toc-container">\n        <div class="toc-list">\n\n        </div>\n      </div>\n    </div>');var e=this.tocList.cloneNode(!0);this.mobileToc.querySelector(".toc-list").appendChild(e),document.querySelector("#privacy").appendChild(this.mobileToc),IDQ.addEventHandler(this.mobileToc,"click",this.__openMobileToc.bind(this));var t=this.mobileToc.querySelectorAll("a");for(var i of t)IDQ.addEventHandler(i,"click",this.__clickOnMobileNav.bind(this));t[0].classList.add("active")}__observerCallback(e){var t=!1;e.forEach((e=>{const t=e.target.getAttribute("id");var i=this.tocList.querySelector(`a[href="#${t}"]`);null!=i&&this.currentVisibilty.set(i,e.isIntersecting)}));e=Array.from(this.currentVisibilty.entries()),t=!1;for(let i of e)0==t&&i[1]?(i[0].parentElement.classList.add("active"),t=!0,this.lastVisibel=i[0]):i[0].parentElement.classList.remove("active");0==t&&null!=this.lastVisibel&&this.lastVisibel.parentElement.classList.add("active"),null!=this.lastVisibel&&null!=this.mobileToc&&this.__setCurrentMobile(this.lastVisibel.hash)}__clickOnNav(e){var t;e.preventDefault(),(t=e.target.classList.contains("toc-item-child")?this.contents.querySelector(e.target.parentElement.hash):this.contents.querySelector(e.target.hash))&&IDQ.scrollToElement(t,-20)}__openMobileToc(){this.mobileToc.classList.contains("open")?this.mobileToc.classList.remove("open"):this.mobileToc.classList.add("open")}__clickOnMobileNav(e){if(e.preventDefault(),!this.mobileToc.classList.contains("open"))return;let t;if(t=e.target.classList.contains("toc-item-child")?e.target.parentElement:e.target,!t.classList.contains("active")){var i=document.querySelector(t.hash);i&&IDQ.scrollToElement(i,-80-t.offsetHeight)}}__setCurrentMobile(e){this.currentID=e;var t=this.mobileToc.querySelectorAll("a");for(i of t)i.classList.remove("active");var i=this.mobileToc.querySelector(`[href="${e}"]`);null!=i&&i.classList.add("active")}}class IconyPlatform extends IconyAPP{initRoutes(){this.router.addGlobalHandler(GAC),this.router.addViewController("frontpage",FrontPage),null==document.getElementById("registration-onboarding")?this.router.addViewController("registration",Registration):this.router.addViewController("registration",OnboardingRegistration),this.router.addViewController("registration_clean",Registration),this.router.addViewController("profile",Registration),this.router.addViewController("login",Login),this.router.addViewController("logout",Login),this.router.addViewController("coupon",Coupon),this.router.addViewController("coupon_redeem",Coupon),this.router.addViewController("coupon_code",Coupon),this.router.addViewController("help",Help),this.router.addViewController("help_search",Help),this.router.addViewController("contact_cancel",ContactCancelForm),this.router.addViewController("contact",Contact),this.router.addViewController("privacy",Privacy)}onStart(){document.querySelectorAll(":not(:defined)").length&&require("ui/custom"),ResponsiveHelper.init(),this.navigationController=new NavigationController({}),this.navigationController.router=this.router,this.navigationController.emit("create"),this.navigationController.emit("show"),this.navigationController.state.visible=!0,CCP.init(),WindowsFlagEmojiPolyfill.addPolyfill()}onPageHide(){this.navigationController.emit("hide")}onPageResize(e){this.navigationController.trigger("resize",{originalEvent:e})}}window.app=new IconyPlatform({listenForSoftwareupdates:!1}),window.app.start();