PageSourceSearch

https://www.clic-it-learningcommunities.nl/.wh/ea/ap/utwente_base.ws2016/ap.mjs

js clic-it-learningcommunities.nl collected 2026-10-07 01:14:51 UTC 1,047,895 bytes, 76 lines download raw bytes

vendor: 4,698 bytes, line 1
1import{$ as L,$a as lo,A as lr,Aa as xi,B as Bi,Ba as Qo,C as fp,Ca as De,D as Jo,Da as He,E as _p,Ea as _f,F as wp,Fa as Cp,G as bp,Ga as gi,H as no,Ha as cr,J as V,Ja as ni,K as dr,Ka as oa,L as ro,La as wf,M as vp,Ma as K,N as yp,Na as q,O as oi,Oa as W,P as Vi,Pa as A,Q as Ko,Qa as Lp,R as jt,Ra as Fp,S as xp,Sa as bf,T as ge,Ta as ri,U as he,Ua as Zo,V as gf,Va as Ap,W as ue,X as re,Xa as Rt,Y as Zs,Ya as en,Z as kp,Za as si,_ as so,a as dp,aa as Pe,ab as Ie,b as it,bb as tn,c as cp,ca as B,cb as y,d as st,da as Ae,db as yt,e as Fe,ea as Tp,eb as lt,f as hi,fa as Q,fb as ot,g as ui,ga as yi,gb as de,h as M,ha as ao,hb as ai,i as Di,ia as ea,ib as Np,j as ii,ja as wt,jb as pr,k as Xo,ka as ta,kb as jp,l as pp,la as Sp,lb as Rp,m as Ks,ma as J,mb as Mp,n as F,na as bt,nb as na,o as C,p as k,pa as Ep,q as Hi,qa as z,r as _t,ra as h,sa as ff,t as Wi,ta as at,u as hp,ua as b,v as up,va as Te,w as mp,wa as ia,x as gp,xa as mi,y as Qs,ya as vt,z as Go,za as Yi}from"/.wh/ea/ap/utwente_base.ws2016/chunk-5KMQLE6B.mjs";var yh=it((zk,Ea)=>{"use strict";var _o=typeof Reflect=="object"?Reflect:null,ph=_o&&typeof _o.apply=="function"?_o.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)},kr;_o&&typeof _o.ownKeys=="function"?kr=_o.ownKeys:Object.getOwnPropertySymbols?kr=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:kr=function(e){return Object.getOwnPropertyNames(e)};function Bf(i){console&&console.warn&&console.warn(i)}var uh=Number.isNaN||function(e){return e!==e};function fe(){fe.init.call(this)}Ea.exports=fe;Ea.exports.once=Xf;fe.EventEmitter=fe;fe.prototype._events=void 0;fe.prototype._eventsCount=0;fe.prototype._maxListeners=void 0;var hh=10;function Tr(i){if(typeof i!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof i)}Object.defineProperty(fe,"defaultMaxListeners",{enumerable:!0,get:function(){return hh},set:function(i){if(typeof i!="number"||i<0||uh(i))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+i+".");hh=i}});fe.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};fe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||uh(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function mh(i){return i._maxListeners===void 0?fe.defaultMaxListeners:i._maxListeners}fe.prototype.getMaxListeners=function(){return mh(this)};fe.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var n=e==="error",r=this._events;if(r!==void 0)n=n&&r.error===void 0;else if(!n)return!1;if(n){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=r[e];if(l===void 0)return!1;if(typeof l=="function")ph(l,this,t);else for(var d=l.length,c=bh(l,d),o=0;o<d;++o)ph(c[o],this,t);return!0};function gh(i,e,t,o){var n,r,s;if(Tr(t),r=i._events,r===void 0?(r=i._events=Object.create(null),i._eventsCount=0):(r.newListener!==void 0&&(i.emit("newListener",e,t.listener?t.listener:t),r=i._events),s=r[e]),s===void 0)s=r[e]=t,++i._eventsCount;else if(typeof s=="function"?s=r[e]=o?[t,s]:[s,t]:o?s.unshift(t):s.push(t),n=mh(i),n>0&&s.length>n&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=i,a.type=e,a.count=s.length,Bf(a)}return i}fe.prototype.addListener=function(e,t){return gh(this,e,t,!1)};fe.prototype.on=fe.prototype.addListener;fe.prototype.prependListener=function(e,t){return gh(this,e,t,!0)};function Vf(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function fh(i,e,t){var o={fired:!1,wrapFn:void 0,target:i,type:e,listener:t},n=Vf.bind(o);return n.listener=t,o.wrapFn=n,n}fe.prototype.once=function(e,t){return Tr(t),this.on(e,fh(this,e,t)),this};fe.prototype.prependOnceListener=function(e,t){return Tr(t),this.prependListener(e,fh(this,e,t)),this};fe.prototype.removeListener=function(e,t){var o,n,r,s,a;if(Tr(t),n=this._events,n===void 0)return this;if(o=n[e],o===void 0)return this;if(o===t||o.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit
1("removeListener",e,o.listener||t));else if(typeof o!="function"){for(r=-1,s=o.length-1;s>=0;s--)if(o[s]===t||o[s].listener===t){a=o[s].listener,r=s;break}if(r<0)return this;r===0?o.shift():Yf(o,r),o.length===1&&(n[e]=o[0]),n.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this};fe.prototype.off=fe.prototype.removeListener;fe.prototype.removeAllListeners=function(e){var t,o,n;if(o=this._events,o===void 0)return this;if(o.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):o[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete o[e]),this;if(arguments.length===0){var r=Object.keys(o),s;for(n=0;n<r.length;++n)s=r[n],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(t=o[e],typeof t=="function")this.removeListener(e,t);else if(t!==void 0)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this};function _h(i,e,t){var o=i._events;if(o===void 0)return[];var n=o[e];return n===void 0?[]:typeof n=="function"?t?[n.listener||n]:[n]:t?$f(n):bh(n,n.length)}fe.prototype.listeners=function(e){return _h(this,e,!0)};fe.prototype.rawListeners=function(e){return _h(this,e,!1)};fe.listenerCount=function(i,e){return typeof i.listenerCount=="function"?i.listenerCount(e):wh.call(i,e)};fe.prototype.listenerCount=wh;function wh(i){var e=this._events;if(e!==void 0){var t=e[i];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}fe.prototype.eventNames=function(){return this._eventsCount>0?kr(this._events):[]};function bh(i,e){for(var t=new Array(e),o=0;o<e;++o)t[o]=i[o];return t}function Yf(i,e){for(;e+1<i.length;e++)i[e]=i[e+1];i.pop()}function $f(i){for(var e=new Array(i.length),t=0;t<e.length;++t)e[t]=i[t].listener||i[t];return e}function Xf(i,e){return new Promise(function(t,o){function n(s){i.removeListener(e,r),o(s)}function r(){typeof i.removeListener=="function"&&i.removeListener("error",n),t([].slice.call(arguments))}vh(i,e,r,{once:!0}),e!=="error"&&Gf(i,n,{once:!0})})}function Gf(i,e,t){typeof i.on=="function"&&vh(i,"error",e,t)}function vh(i,e,t,o){if(typeof i.on=="function")o.once?i.once(e,t):i.on(e,t);else if(typeof i.addEventListener=="function")i.addEventListener(e,function n(r){o.once&&i.removeEventListener(e,n),t(r)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof i)}});var La=it((qk,xh)=>{"use strict";A();var Jf=yh(),Ca=class extends Jf{constructor(e){super(),e||(e={}),this.options={url:e.url||"",log:!!(e.log||W.rpc),withcredentials:"withCredentials"in e&&e.withcredentials},this.conn=null,this.__date_server=null,this.__date_client=null,this.__date_diff=null}destroy(){this.stopCurrentRequest(),this.conn=null}stopCurrentRequest(){this.conn&&(this.conn.onreadystatechange=null,this.conn.onloadend=null,this.conn.abort()),this.jsoncheckinterval&&(clearTimeout(this.jsoncheckinterval),this.jsoncheckinterval=null)}ensureConnection(){this.conn||(this.conn=new XMLHttpRequest)}startXMLHTTPRequest(e,t,o,n){this.ensureConnection();let r=!n||!n.synchronous;this.laststateevent=null,this.conn.abort(),this.have_response=!1,this.conn.open(e.toUpperCase(),t,r),n&&n.headers&&Object.keys(n.headers).forEach(s=>{this.conn.setRequestHeader(s,n.headers[s])}),this.options.withcredentials&&(this.conn.withCredentials=!0),this.conn.onreadystatechange=this.onStateChange.bind(this),this.conn.onloadend=this.onStateChange.bind(this),this.conn.onabort=this.onAbort.bind(this),this.emit("requeststart",{target:this}),this.conn.send(o),r||this.onStateChange()}onAbort(e){this.laststateevent&&(this.laststateevent.isaborted=!0)}onStateChange(e){if(this.conn.readyState!==4||this.have_response)return;this.have_response=!0;let t=this.conn.getResponseHeader("date");if(t!==""){let n=Date.parse(t);this.__date_server=n,this.__date_client=new Date,this.__date_diff=this.__date_server-this.__date_client}let o={target:this,success:this.conn.status===200,internalerror:this.conn.status===500,message:this.conn.status,responsetext:this.conn.responseText,responsejson:null};try{o.responsejson=JSON.parse(o.responsetext)}catch{}
1this.laststateevent=o,this.emit("requestend",o)}};xh.exports=Ca});var wo=it((Dk,kh)=>{"use strict";re();var Kf=La(),Qf=Math.floor(Math.random()*1e3),Fa=class i extends Kf{static get HTTP_ERROR(){return-1}static get JSON_ERROR(){return-2}static get PROTOCOL_ERROR(){return-3}static get RPC_ERROR(){return-4}static get OFFLINE_ERROR(){return-5}static get TIMEOUT_ERROR(){return-6}static get SERVER_ERROR(){return-7}constructor(e){super(e),e||(e={}),this.lastid=0,this.requestqueue=[],this.cachecounter=0,this.activerequest=null,this.haveresponse=!1,this.options.waittimeout="waittimeout"in e?e.waittimeout:500,this.options.appendfunctionname="appendfunctionname"in e?e.appendfunctionname:!1,this.waitcallback=null,this.waittimeoutid=null,this.waitingnow=!1,this.on("requestend",this.onResponse.bind(this))}destroy(){super.destroy(),this.requestqueue=[],this.activerequest=null,this.waittimeoutid&&(clearTimeout(this.waittimeoutid),this.waittimeoutid=null)}promiseRequest(e,t,o){let n=Promise.withResolvers(),r=this.request(e,t,n.resolve,(s,a,l)=>{n.reject(new Error(a))},o);return n.promise.__jsonrpcinfo={deferred:n,req:r},n.promise}
1async(e,...t){return this.promiseRequest(e,t)}_doAsyncAbort(e,t,o){if(!e.__jsonrpcinfo)throw new Error("The promise is not an async JSONRPC request");o?e.__jsonrpcinfo.deferred.reject(o):e.__jsonrpcinfo.deferred.resolve(t),e.__jsonrpcinfo.req.cancel()}rpcResolve(e,t){this._doAsyncAbort(e,t)}rpcReject(e,t){this._doAsyncAbort(e,null,t)}request(e,t,o,n,r){if(!t||typeof t!="object"||t.length===void 0)throw new Error("The parameters passed to request must be an Array");let s=++this.lastid,a;r&&r.url?a=r.url+(r.appendfunctionname?(r.url.match(/\/$/)?"":"/")+e:""):this.options.url?a=this.options.url+(this.options.appendfunctionname?(this.options.url.match(/\/$/)?"":"/")+e:""):a=location.href;let l=Math.max(r&&typeof r.timeout=="number"?r.timeout:0,0),d=r&&typeof r.waittimeout=="number"?r.waittimeout:this.options.waittimeout,c=r&&r.synchronous||!1,p=r&&r.errortrace||null;this.options.log&&console.log("JSONRPC request",e,t,r,"timeout:",l,"waitTimeout:",d);let m=new Aa(this,s,e,t,a,l,d,o,n,c,p);return(this.options.log||!ii)&&(m.stack=new Error().stack),this.requestqueue.push(m),this.options.log&&console.log("JSONRPC request is on queue"),this.processNextRequest(),m}handleError(e,t,o,n){e&&setTimeout(()=>e(t,o,n),0),setTimeout(()=>
1this.emit(["error",{target:this,errorcode:t,errormessage:o,rpcid:n}]),0)}isRequestPending(){return this.activerequest!==null||this.requestqueue.length}__cancelRequest(e){if(typeof e=="number"){if(this.activerequest===e){this.stopCurrentRequest(),this.activerequest=null;let t=this.requestqueue.shift();t.timeout&&typeof t.timeout!="boolean"&&clearTimeout(t.timeout),this.processNextRequest()}else for(let t=0;t<this.requestqueue.length;++t)if(this.requestqueue[t].id===e){this.requestqueue.splice(t,1);break}}}processNextRequest(){if(this.activerequest){this.options.log&&console.log("JSONRPC request #"+this.activerequest+" pending, not scheduling a new one yet"),this.handleWaitTimeouts();return}let e=null;for(;!e;){if(e=this.requestqueue[0],!e){this.options.log&&console.log("JSONRPC request - processNextRequest, queue is empty");return}e.timeout&&typeof e.timeout=="boolean"&&(this.requestqueue=this.requestqueue.filter(t=>t!==e),e=this.requestqueue[0])}this.activerequest=e.id,e.timeout&&(e.timeout=setTimeout(()=>this.onTimeout(e),e.timeout)),this.options.log&&console.log("JSONRPC request #"+e.id+" offering for XMLHTTP"),this.startXMLHTTPRequest("post",e.url,JSON.stringify(e.request),{headers:{"Content-Type":"application/json; charset=utf-8"},synchronous:e.synchronous}),this.handleWaitTimeouts()}onResponse(e){this.activerequest=null;let t=this.requestqueue[0];if(!t)return;if(this.requestqueue=this.requestqueue.slice(1),t.timeout){if(typeof t.timeout=="boolean"){this.processNextRequest();return}clearTimeout(t.timeout)}let o=-1,n=null;if(e.success){let r=e.responsejson;r?r.id===null||r.id!==t.id?(o=i.PROTOCOL_ERROR,n="Protocol error: invalid id"):r.error!==null?(o=i.RPC_ERROR,n=r.error,this.options.log&&console.log("RPC error:",n.message?n.message:"*no message*")):"result"in r?(o=0,n=r.result):(o=i.PROTOCOL_ERROR,n="Could not interpret response"):(o=i.JSON_ERROR,n="Invalid JSON response")}else if(o=i.HTTP_ERROR,n="HTTP Error: "+e.message,e.internalerror){let r=null;try{r=e.responsejson;let s;if(r&&r.error&&r.error.data){s=r.error.data.trace||r.error.data.errors||r.error.data.list||[],console.group();let a="RPC #"+Qf+":"+t.id+" failed: "+r.error.message;console.warn(a),t.errortrace&&t.errortrace.push(a),s.forEach(l=>{if(l.filename||l.line){let d=l.filename+"#"+l.line+"#"+l.col+(l.func?" ("+l.func+")":"");console.warn(d),t.errortrace&&t.errortrace.push(d)}}),console.groupEnd()}o=i.SERVER_ERROR,n=r.error&&`${r.error.message} from ${t.url}`||"Unknown error"}catch{}}this.processNextRequest(),this.options.log&&(console.log("JSONRPC request",t.request.method,"status:",o,"time:",new Date().getTime()-t.scheduled,"ms, result:"),console.log(n)),setTimeout(()=>t.__completedCall(o,n,e),0)}onTimeout(e){e.timeout=!0,this.activerequest===e.id&&(this.activerequest=null,this.stopCurrentRequest(),this.processNextRequest()),this.handleError(e.onfailure,i.TIMEOUT_ERROR,"Timeout while waiting for response",e.id)}onWaitTimeout(){this.waittimeoutid=null,this.handleWaitTimeouts()}handleWaitTimeouts(){if(this.waittimeoutid&&(clearTimeout(this.waittimeoutid),this.waittimeoutid=null),!this.waitCallback)return;let e=!1,t=-1,o=new Date().getTime();for(let n=0;n<this.requestqueue.length;++n){let r=this.requestqueue[n];if(r.waitTimeout>=0){let s=o-r.scheduled;if(s>=r.waitTimeout)e=!0;else{let a=r.waitTimeout-s;(t<0||t>a)&&(t=a)}}}this.waitingNow!==e&&(this.waitingNow=e,setTimeout(()=>this.waitCallback(e),0)),t>=0&&(this.waittimeoutid=setTimeout(()=>this.onWaitTimeout(),t))}getEstimatedServerTime(){return new Date().getTime()+this.__date_diff}getEstimatedServerDate(){return new Date(this.getEstimatedServerTime())}},Aa=class{constructor(e,t,o,n,r,s,a,l,d,c,p){this.cancelled=!1,this.stack=null,e.options.log&&console.log("req",this),this.parent=e,this.id=t,this.request={id:t,method:o,params:n||[]},this.url=r,this.onsuccess=l,this.onfailure=d,this.timeout=s,this.scheduled=new Date-0,this.waittimeout=a,this.synchronous=c,this.errortrace=p}onStartPreload(){}cancel(){this.cancelled=!0,this.parent.__cancelRequest(this.id)}__completedCall(e,t,o){o.isaborted&&(this.cancelled=!0),e===0?this.onsuccess&&!this.cancelled&&this.onsuccess(t):this.cancelled||(this.stack&&(console.log("Stack at calling point:"),console.log(this.stack)),this.parent.handleError(this.onfailure,e,t,this.id))}};kh.exports=Fa});var Ku=it((A5,ds)=>{(function(i,e,t){var o=i.requestAnimationFrame||i.webkitRequestAnimationFrame||i.mozRequestAnimationFrame||i.oRequestAnimationFrame||i.msRequestAnimationFrame||function(l){i.setTimeout(l,16.666666666666668)},n=(function(){var l={},d=e.createElement("div").style,c=(function(){for(var u=["t","webkitT","MozT","msT","OT"],w,f=0,g=u.length;f<g;f++)if(w=u[f]+"ransform",w in d)return u[f].substr(0,u[f].length-1);return!1})();function p(u){return c===!1?!1:c===""?u:c+u.charAt(0).toUpperCase()+u.substr(1)}l.getTime=Date.now||function(){return new Date().getTime()},l.extend=function(u,w){for(var f in w)u[f]=w[f]},l.addEvent=function(u,w,f,g){u.addEventListener(w,f,!!g)},l.removeEvent=function(u,w,f,g){u.removeEventListener(w,f,!!g)},l.prefixPointerEvent=function(u){return i.MSPointerEvent?"MSPointer"+u.charAt(7).toUpperCase()+u.substr(8):u},l.momentum=function(u,w,f,g,_,v){var T=u-w,S=t.abs(T)/f,N,U;return v=v===void 0?6e-4:v,N=u+S*S/(2*v)*(T<0?-1:1),U=S/v,N<g?(N=_?g-_/2.5*(S/8):g,T=t.abs(N-u),U=T/S):N>0&&(N=_?_/2.5*(S/8):0,T=t.abs(u)+N,U=T/S),{destination:t.round(N),duration:U}};var m=p("transform");return l.extend(l,{hasTransform:m!==!1,hasPerspective:p("perspective")in d,hasTouch:"ontouchstart"in i,hasPointer:!!(i.PointerEvent||i.MSPointerEvent),hasTransition:p("transition")in d}
1),l.isBadAndroid=(function(){var u=i.navigator.appVersion;if(/Android/.test(u)&&!/Chrome\/\d/.test(u)){var w=u.match(/Safari\/(\d+.\d)/);return w&&typeof w=="object"&&w.length>=2?parseFloat(w[1])<535.19:!0}else return!1})(),l.extend(l.style={},{transform:m,transitionTimingFunction:p("transitionTimingFunction"),transitionDuration:p("transitionDuration"),transitionDelay:p("transitionDelay"),transformOrigin:p("transformOrigin")}),l.hasClass=function(u,w){var f=new RegExp("(^|\\s)"+w+"(\\s|$)");return f.test(u.className)},l.addClass=function(u,w){if(!l.hasClass(u,w)){var f=u.className.split(" ");f.push(w),u.className=f.join(" ")}},l.removeClass=function(u,w){if(l.hasClass(u,w)){var f=new RegExp("(^|\\s)"+w+"(\\s|$)","g");u.className=u.className.replace(f," ")}},l.offset=function(u){for(var w=-u.offsetLeft,f=-u.offsetTop;u=u.offsetParent;)w-=u.offsetLeft,f-=u.offsetTop;return{left:w,top:f}},l.preventDefaultException=function(u,w){for(var f in w)if(w[f].test(u[f]))return!0;return!1},l.extend(l.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3}),l.extend(l.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(u){return u*(2-u)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(u){return t.sqrt(1- --u*u)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(u){var w=4;return(u=u-1)*u*((w+1)*u+w)+1}},bounce:{style:"",fn:function(u){return(u/=1)<1/2.75?7.5625*u*u:u<2/2.75?7.5625*(u-=1.5/2.75)*u+.75:u<2.5/2.75?7.5625*(u-=2.25/2.75)*u+.9375:7.5625*(u-=2.625/2.75)*u+.984375}},elastic:{style:"",fn:function(u){var w=.22,f=.4;return u===0?0:u==1?1:f*t.pow(2,-10*u)*t.sin((u-w/4)*(2*t.PI)/w)+1}}}),l.tap=function(u,w){var f=e.createEvent("Event");f.initEvent(w,!0,!0),f.pageX=u.pageX,f.pageY=u.pageY,f.tapbytouch=u.type=="touchend",f.tapbymouse=u.type=="mouseup",u.target.dispatchEvent(f)},l.click=function(u){var w=u.target,f;/(SELECT|INPUT|TEXTAREA)/i.test(w.tagName)||(f=e.createEvent(i.MouseEvent?"MouseEvents":"Event"),f.initEvent("click",!0,!0),f.view=u.view||i,f.detail=1,f.screenX=w.screenX||0,f.screenY=w.screenY||0,f.clientX=w.clientX||0,f.clientY=w.clientY||0,f.ctrlKey=!!u.ctrlKey,f.altKey=!!u.altKey,f.shiftKey=!!u.shiftKey,f.metaKey=!!u.metaKey,f.button=0,f.relatedTarget=null,f._constructed=!0,w.dispatchEvent(f))},l})();function r(l,d){this.wrapper=typeof l=="string"?e.querySelector(l):l,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller.style,this.options={resizeScrollbars:!0,mouseWheelSpeed:20,snapThreshold:.334,disablePointer:!n.hasPointer,disableTouch:n.hasPointer||!n.hasTouch,disableMouse:n.hasPointer||n.hasTouch,startX:0,startY:0,scrollY:!0,directionLockThreshold:5,momentum:!0,bounce:!0,bounceTime:600,bounceEasing:"",preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0,bindToWrapper:typeof i.onmousedown>"u",autoUpdatePosition:!0,overrideMeasurements:!1};for(var c in d)this.options[c]=d[c];this.translateZ=this.options.HWCompositing&&n.hasPerspective?" translateZ(0)":"",this.options.useTransition=n.hasTransition&&this.options.useTransition,this.options.useTransform=n.hasTransform&&this.options.useTransform,this.options.eventPassthrough=this.options.eventPassthrough===!0?"vertical":this.options.eventPassthrough,this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault,this.options.scrollY=this.options.eventPassthrough=="vertical"?!1:this.options.scrollY,this.options.scrollX=this.options.eventPassthrough=="horizontal"?!1:this.options.scrollX,this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough,this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold,this.options.bounceEasing=typeof this.options.bounceEasing=="string"?n.ease[this.options.bounceEasing]||n.ease.circular:this.options.bounceEasing,this.options.resizePolling=this.options.resizePolling===void 0?60:this.options.resizePolling,this.options.tap===!0&&(this.options.tap="tap"),!this.options.useTransition&&!this.options.useTransform&&(/relative|absolute/i.test(this.scrollerStyle.position)||(this.scrollerStyle.position="relative")),this.options.shrinkScrollbars=="scale"&&(this.options.useTransition=!1),this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1,d.overrideMeasurements&&(this.wrapperW
1idth=d.wrapperWidth,this.scrollerWidth=d.scrollerWidth,this.maxScrollX=-d.maxScrollX,this.hasHorizontalScroll=d.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=d.scrollY&&this.maxScrollY<0),this.x=0,this.y=0,this.directionX=0,this.directionY=0,this._events={},this._init(),this.refresh(),this.scrollTo(this.options.startX,this.options.startY),this.enable()}r.prototype={version:"5.2.0",_init:function(){this._initEvents(),(this.options.scrollbars||this.options.indicators)&&this._initIndicators(),this.options.mouseWheel&&this._initWheel(),this.options.snap&&this._initSnap(),this.options.keyBindings&&this._initKeys()},destroy:function(){this._initEvents(!0),clearTimeout(this.resizeTimeout),this.resizeTimeout=null,this._execEvent("destroy")},_transitionEnd:function(l){l.target!=this.scroller||!this.isInTransition||(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,this._execEvent("scrollEnd")))},_start:function(l){if(n.eventType[l.type]!=1){var d;if(l.which?d=l.button:d=l.button<2?0:l.button==4?1:2,d!==0)return}if(!(!this.enabled||this.initiated&&n.eventType[l.type]!==this.initiated)){this.options.preventDefault&&!n.isBadAndroid&&!n.preventDefaultException(l.target,this.options.preventDefaultException)&&l.preventDefault();var c=l.touches?l.touches[0]:l,p;this.initiated=n.eventType[l.type],this.moved=!1,this.distX=0,this.distY=0,this.directionX=0,this.directionY=0,this.directionLocked=0,this.startTime=n.getTime(),this.options.useTransition&&this.isInTransition?(this._transitionTime(),this.isInTransition=!1,p=this.getComputedPosition(),this._translate(t.round(p.x),t.round(p.y)),this._execEvent("scrollEnd")):!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,this._execEvent("scrollEnd")),this.startX=this.x,this.startY=this.y,this.absStartX=this.x,this.absStartY=this.y,this.pointX=c.pageX,this.pointY=c.pageY,this._execEvent("beforeScrollStart")}},_move:function(l){if(!(!this.enabled||n.eventType[l.type]!==this.initiated)){this.options.preventDefault&&l.preventDefault();var d=l.touches?l.touches[0]:l,c=d.pageX-this.pointX,p=d.pageY-this.pointY,m=n.getTime(),u,w,f,g;if(this.pointX=d.pageX,this.pointY=d.pageY,this.distX+=c,this.distY+=p,f=t.abs(this.distX),g=t.abs(this.distY),!(m-this.endTime>300&&f<10&&g<10)){if(!this.directionLocked&&!this.options.freeScroll&&(f>g+this.options.directionLockThreshold?this.directionLocked="h":g>=f+this.options.directionLockThreshold?this.directionLocked="v":this.directionLocked="n"),this.directionLocked=="h"){if(this.options.eventPassthrough=="vertical")l.preventDefault();else if(this.options.eventPassthrough=="horizontal"){this.initiated=!1;return}p=0}else if(this.directionLocked=="v"){if(this.options.eventPassthrough=="horizontal")l.preventDefault();else if(this.options.eventPassthrough=="vertical"){this.initiated=!1;return}c=0}c=this.hasHorizontalScroll?c:0,p=this.hasVerticalScroll?p:0,u=this.x+c,w=this.y+p,(u>0||u<this.maxScrollX)&&(u=this.options.bounce?this.x+c/3:u>0?0:this.maxScrollX),(w>0||w<this.maxScrollY)&&(w=this.options.bounce?this.y+p/3:w>0?0:this.maxScrollY),this.directionX=c>0?-1:c<0?1:0,this.directionY=p>0?-1:p<0?1:0,this.moved||this._execEvent("scrollStart"),this.moved=!0,this._translate(u,w),m-this.startTime>300&&(this.startTime=m,this.startX=this.x,this.startY=this.y)}}},_end:function(l){if(!(!this.enabled||n.eventType[l.type]!==this.initiated)){this.options.preventDefault&&!n.preventDefaultException(l.target,this.options.preventDefaultException)&&l.preventDefault();var d=l.changedTouches?l.changedTouches[0]:l,c,p,m=n.getTime()-this.startTime,u=t.round(this.x),w=t.round(this.y),f=t.abs(u-this.startX),g=t.abs(w-this.startY),_=0,v="";if(this.isInTransition=0,this.initiated=0,this.endTime=n.getTime(),!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(u,w),!this.moved){this.options.tap&&n.tap(l,this.options.tap),this.options.click&&n.click(l),this._execEvent("scrollCancel");return}if(this.options.momentum&&m<300&&(c=this.hasHorizontalScroll?n.momentum(this.x,this.startX,m,this.maxScrollX,this.options.bounce?this.wrapperW
1idth:0,this.options.deceleration):{destination:u,duration:0},p=this.hasVerticalScroll?n.momentum(this.y,this.startY,m,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:w,duration:0},u=c.destination,w=p.destination,_=t.max(c.duration,p.duration),this.isInTransition=1),this.options.snap){var T=this._nearestSnap(u,w);this.currentPage=T,_=this.options.snapSpeed||t.max(t.max(t.min(t.abs(u-T.x),1e3),t.min(t.abs(w-T.y),1e3)),300),u=T.x,w=T.y,this.directionX=0,this.directionY=0,v=this.options.bounceEasing}if(u!=this.x||w!=this.y){(u>0||u<this.maxScrollX||w>0||w<this.maxScrollY)&&(v=n.ease.quadratic),this.scrollTo(u,w,_,v);return}this._execEvent("scrollEnd")}}},_resize:function(){var l=this;clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(function(){l.refresh()},this.options.resizePolling)},resetPosition:function(l){var d=this.x,c=this.y;return l=l||0,!this.hasHorizontalScroll||this.x>0?d=0:this.x<this.maxScrollX&&(d=this.maxScrollX),!this.hasVerticalScroll||this.y>0?c=0:this.y<this.maxScrollY&&(c=this.maxScrollY),d==this.x&&c==this.y?!1:(this.scrollTo(d,c,l,this.options.bounceEasing),!0)},disable:function(){this.wrapper.style.touchAction="",this.enabled=!1},enable:function(){this.enabled=!0;var l="none";this.options.eventPassthrough=="vertical"?l="pan-y":this.options.eventPassthrough=="horizontal"&&(l="pan-x"),this.wrapper.style.touchAction=l,l!="none"&&(this.wrapper.style.touchAction+=" pinch-zoom")},refresh:function(){var l=this.wrapper.offsetHeight;this.wrapperWidth=this.wrapper.clientWidth,this.wrapperHeight=this.wrapper.clientHeight,this.options.overrideMeasurements||(this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.maxScrollX=this.wrapperWidth-this.scrollerWidth,this.maxScrollY=this.wrapperHeight-this.scrollerHeight),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.endTime=0,this.directionX=0,this.directionY=0,this.wrapperOffset=n.offset(this.wrapper),this._execEvent("refresh"),this.resetPosition()},on:function(l,d){this._events[l]||(this._events[l]=[]),this._events[l].push(d)},off:function(l,d){if(this._events[l]){var c=this._events[l].indexOf(d);c>-1&&this._events[l].splice(c,1)}},_execEvent:function(l){if(this._events[l]){var d=0,c=this._events[l].length;if(c)for(;d<c;d++)this._events[l][d].apply(this,[].slice.call(arguments,1))}},scrollBy:function(l,d,c,p){l=this.x+l,d=this.y+d,c=c||0,this.scrollTo(l,d,c,p)},scrollTo:function(l,d,c,p){this._execEvent("scrollStart"),this.animframe&&cancelAnimationFrame(this.animframe),p=p||n.ease.circular,this.isInTransition=this.options.useTransition&&c>0;var m=this.options.useTransition&&p.style;!c||m?(m&&(this._transitionTimingFunction(p.style),this._transitionTime(c)),this._translate(l,d)):this._animate(l,d,c,p.fn)},scrollToElement:function(l,d,c,p,m){if(l=l.nodeType?l:this.scroller.querySelector(l),!!l){var u=n.offset(l);u.left-=this.wrapperOffset.left,u.top-=this.wrapperOffset.top,c===!0&&(c=t.round(l.offsetWidth/2-this.wrapper.offsetWidth/2)),p===!0&&(p=t.round(l.offsetHeight/2-this.wrapper.offsetHeight/2)),u.left-=c||0,u.top-=p||0,u.left=u.left>0?0:u.left<this.maxScrollX?this.maxScrollX:u.left,u.top=u.top>0?0:u.top<this.maxScrollY?this.maxScrollY:u.top,d=d==null||d==="auto"?t.max(t.abs(this.x-u.left),t.abs(this.y-u.top)):d,this.scrollTo(u.left,u.top,d,m)}},_transitionTime:function(l){if(!this.options.autoUpdatePosition&&this.options.useTransition){l=l||0;var d=n.style.transitionDuration;if(d){if(this.scrollerStyle[d]=l+"ms",!l&&n.isBadAndroid){this.scrollerStyle[d]="0.0001ms";var c=this;o(function(){c.scrollerStyle[d]==="0.0001ms"&&(c.scrollerStyle[d]="0s")})}if(this.indicators)for(var p=this.indicators.length;p--;)this.indicators[p].transitionTime(l)}}},_transitionTimingFunction:function(l){if(!this.options.autoUpdatePosition&&(this.scrollerStyle[n.style.transitionTimingFunction]=l,this.indicators))for(var d=this.indicators.length;d--;)this.indicators[d].transitionTimingFunction(l)},_translate:function(l,d){if(this.options.autoUpdatePosition&&(this.options.useTransform?this.scrollerStyle[n.style.transform]="translate("+l+"px,"+d+"px)"+this.translateZ:(l=t.round(l),d=t.round(d),this.scrollerStyle.left=l+"px",this.scrollerStyle.top=d+"px")),this.x=l,this.y=d,this.indicators)for(var c=this.indicators.length;c--;)this.indicators[c].updatePosition()},_initEvents:function(l){var d=l?n.removeEvent:n.addEvent,c=this.options.bindToWrapper?this.wrapper:i;this.options.overrideMeasurements||(d(i,"orientationchange",this),d(i,"resize",this)),this.options.click&&d(this.wrapper,"click",this,
1!0),this.options.disableMouse||(d(this.wrapper,"mousedown",this),d(c,"mousemove",this),d(c,"mousecancel",this),d(c,"mouseup",this)),n.hasPointer&&!this.options.disablePointer&&(d(this.wrapper,n.prefixPointerEvent("pointerdown"),this),d(c,n.prefixPointerEvent("pointermove"),this),d(c,n.prefixPointerEvent("pointercancel"),this),d(c,n.prefixPointerEvent("pointerup"),this)),n.hasTouch&&!this.options.disableTouch&&(d(this.wrapper,"touchstart",this),d(c,"touchmove",this),d(c,"touchcancel",this),d(c,"touchend",this)),d(this.scroller,"transitionend",this),d(this.scroller,"webkitTransitionEnd",this),d(this.scroller,"MSTransitionEnd",this)},getComputedPosition:function(){var l=i.getComputedStyle(this.scroller,null),d,c;return this.options.useTransform?(l=l[n.style.transform].split(")")[0].split(", "),d=+(l[12]||l[4]),c=+(l[13]||l[5])):(d=+l.left.replace(/[^-\d.]/g,""),c=+l.top.replace(/[^-\d.]/g,"")),{x:d,y:c}},_initIndicators:function(){var l=this.options.interactiveScrollbars,d=typeof this.options.scrollbars!="string",c=[],p,m=this;this.indicators=[],this.options.scrollbars&&(this.options.scrollY&&(p={el:s("v",l,this.options.scrollbars),interactive:l,defaultScrollbars:!0,customStyle:d,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenX:!1},this.wrapper.appendChild(p.el),c.push(p)),this.options.scrollX&&(p={el:s("h",l,this.options.scrollbars),interactive:l,defaultScrollbars:!0,customStyle:d,resize:this.options.resizeScrollbars,shrink:this.options.shrinkScrollbars,fade:this.options.fadeScrollbars,listenY:!1},this.wrapper.appendChild(p.el),c.push(p))),this.options.indicators&&(c=c.concat(this.options.indicators));for(var u=c.length;u--;)this.indicators.push(new a(this,c[u]));function w(f){if(m.indicators)for(var g=m.indicators.length;g--;)f.call(m.indicators[g])}this.options.fadeScrollbars&&(this.on("scrollEnd",function(){w(function(){this.fade()})}),this.on("scrollCancel",function(){w(function(){this.fade()})}),this.on("scrollStart",function(){w(function(){this.fade(1)})}),this.on("beforeScrollStart",function(){w(function(){this.fade(1,!0)})})),this.on("refresh",function(){w(function(){this.refresh()})}),this.on("destroy",function(){w(function(){this.destroy()}),delete this.indicators})},_initWheel:function(){n.addEvent(this.wrapper,"wheel",this),n.addEvent(this.wrapper,"mousewheel",this),n.addEvent(this.wrapper,"DOMMouseScroll",this),this.on("destroy",function(){clearTimeout(this.wheelTimeout),this.wheelTimeout=null,n.removeEvent(this.wrapper,"wheel",this),n.removeEvent(this.wrapper,"mousewheel",this),n.removeEvent(this.wrapper,"DOMMouseScroll",this)})},_wheel:function(l){if(this.enabled){l.preventDefault();var d,c,p,m,u=this;if(this.wheelTimeout===void 0&&u._execEvent("scrollStart"),clearTimeout(this.wheelTimeout),this.wheelTimeout=setTimeout(function(){u.options.snap||u._execEvent("scrollEnd"),u.wheelTimeout=void 0},400),"deltaX"in l)l.deltaMode===1?(d=-l.deltaX*this.options.mouseWheelSpeed,c=-l.deltaY*this.options.mouseWheelSpeed):(d=-l.deltaX,c=-l.deltaY);else if("wheelDeltaX"in l)d=l.wheelDeltaX/120*this.options.mouseWheelSpeed,c=l.wheelDeltaY/120*this.options.mouseWheelSpeed;else if("wheelDelta"in l)d=c=l.wheelDelta/120*this.options.mouseWheelSpeed;else if("detail"in l)d=c=-l.detail/3*this.options.mouseWheelSpeed;else return;if(d*=this.options.invertWheelDirection,c*=this.options.invertWheelDirection,this.hasVerticalScroll||(d=c,c=0),this.options.snap){p=this.currentPage.pageX,m=this.currentPage.pageY,d>0?p--:d<0&&p++,c>0?m--:c<0&&m++,this.goToPage(p,m);return}p=this.x+t.round(this.hasHorizontalScroll?d:0),m=this.y+t.round(this.hasVerticalScroll?c:0),this.directionX=d>0?-1:d<0?1:0,this.directionY=c>0?-1:c<0?1:0,p>0?p=0:p<this.maxScrollX&&(p=this.maxScrollX),m>0?m=0:m<this.maxScrollY&&(m=this.maxScrollY),this.scrollTo(p,m,0)}},_initSnap:function(){this.currentPage={},typeof this.options.snap=="string"&&(this.options.snap=this.scroller.querySelectorAll(this.options.snap)),this.on("refresh",function(){var l=0,d,c=0,p,m,u,w=0,f,g=this.options.snapStepX||this.wrapperW
1idth,_=this.options.snapStepY||this.wrapperHeight,v;if(this.pages=[],!(!this.wrapperWidth||!this.wrapperHeight||!this.scrollerWidth||!this.scrollerHeight)){if(this.options.snap===!0)for(m=t.round(g/2),u=t.round(_/2);w>-this.scrollerWidth;){for(this.pages[l]=[],d=0,f=0;f>-this.scrollerHeight;)this.pages[l][d]={x:t.max(w,this.maxScrollX),y:t.max(f,this.maxScrollY),width:g,height:_,cx:w-m,cy:f-u},f-=_,d++;w-=g,l++}else for(v=this.options.snap,d=v.length,p=-1;l<d;l++)(l===0||v[l].offsetLeft<=v[l-1].offsetLeft)&&(c=0,p++),this.pages[c]||(this.pages[c]=[]),w=t.max(-v[l].offsetLeft,this.maxScrollX),f=t.max(-v[l].offsetTop,this.maxScrollY),m=w-t.round(v[l].offsetWidth/2),u=f-t.round(v[l].offsetHeight/2),this.pages[c][p]={x:w,y:f,width:v[l].offsetWidth,height:v[l].offsetHeight,cx:m,cy:u},w>this.maxScrollX&&c++;this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0),this.options.snapThreshold%1===0?(this.snapThresholdX=this.options.snapThreshold,this.snapThresholdY=this.options.snapThreshold):(this.snapThresholdX=t.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold),this.snapThresholdY=t.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold))}}),this.on("flick",function(){console.info("FLICK");var l=this.options.snapSpeed||t.max(t.max(t.min(t.abs(this.x-this.startX),1e3),t.min(t.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,l)})},_nearestSnap:function(l,d){if(this.options.getNearestSnap){var c=this.options.getNearestSnap(l,d,this);return c}if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var p=0,m=this.pages.length,u=0;if(t.abs(l-this.absStartX)<this.snapThresholdX&&t.abs(d-this.absStartY)<this.snapThresholdY)return this.currentPage;for(l>0?l=0:l<this.maxScrollX&&(l=this.maxScrollX),d>0?d=0:d<this.maxScrollY&&(d=this.maxScrollY);p<m;p++)if(l>=this.pages[p][0].cx){l=this.pages[p][0].x;break}for(m=this.pages[p].length;u<m;u++)if(d>=this.pages[0][u].cy){d=this.pages[0][u].y;break}return p==this.currentPage.pageX&&(p+=this.directionX,p<0?p=0:p>=this.pages.length&&(p=this.pages.length-1),l=this.pages[p][0].x),u==this.currentPage.pageY&&(u+=this.directionY,u<0?u=0:u>=this.pages[0].length&&(u=this.pages[0].length-1),d=this.pages[0][u].y),{x:l,y:d,pageX:p,pageY:u}},goToPage:function(l,d,c,p){if(p=p||this.options.bounceEasing,this.options.getPage){var m=this.options.getPage(l,d),u=m.x,w=m.y;c=c===void 0?this.options.snapSpeed||t.max(t.max(t.min(t.abs(u-this.x),1e3),t.min(t.abs(w-this.y),1e3)),300):c,this.currentPage={x:m.x,y:m.y,pageX:m.x,pageY:m.y},this.scrollTo(u,w,c,p);return}l>=this.pages.length?l=this.pages.length-1:l<0&&(l=0),d>=this.pages[l].length?d=this.pages[l].length-1:d<0&&(d=0);var u=this.pages[l][d].x,w=this.pages[l][d].y;c=c===void 0?this.options.snapSpeed||t.max(t.max(t.min(t.abs(u-this.x),1e3),t.min(t.abs(w-this.y),1e3)),300):c,this.currentPage={x:u,y:w,pageX:l,pageY:d},this.scrollTo(u,w,c,p)},next:function(l,d){var c=this.currentPage.pageX,p=this.currentPage.pageY;c++,c>=this.pages.length&&this.hasVerticalScroll&&(c=0,p++),this.goToPage(c,p,l,d)},prev:function(l,d){var c=this.currentPage.pageX,p=this.currentPage.pageY;c--,c<0&&this.hasVerticalScroll&&(c=0,p--),this.goToPage(c,p,l,d)},_initKeys:function(l){var d={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40},c;if(typeof this.options.keyBindings=="object")for(c in this.options.keyBindings)typeof this.options.keyBindings[c]=="string"&&(this.options.keyBindings[c]=this.options.keyBindings[c].toUpperCase().charCodeAt(0));else this.options.keyBindings={};for(c in d)this.options.keyBindings[c]=this.options.keyBindings[c]||d[c];n.addEvent(i,"keydown",this),this.on("destroy",function(){n.removeEvent(i,"keydown",this)})},_key:function(l){if(this.enabled){console.log(this.tempid);var d=this.options.snap,c=d?this.currentPage.pageX:this.x,p=d?this.currentPage.pageY:this.y,m=n.getTime(),u=this.keyTime||0,w=.25,f;switch(this.options.useTransition&&this.isInTransition&&(f=this.getComputedPosition(),this._translate(t.round(f.x),t.round(f.y)),this.isInTransition=!1),this.keyAcceleration=m-u<200?t.min(this.keyAcceleration+w,50):0,l.keyCode){case this.options.keyBindings.pageUp:this.hasHorizontalScroll&&!this.hasVerticalScroll?c+=d?1:this.wrapperW
1idth:p+=d?1:this.wrapperHeight;break;case this.options.keyBindings.pageDown:this.hasHorizontalScroll&&!this.hasVerticalScroll?c-=d?1:this.wrapperWidth:p-=d?1:this.wrapperHeight;break;case this.options.keyBindings.end:c=d?this.pages.length-1:this.maxScrollX,p=d?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:c=0,p=0;break;case this.options.keyBindings.left:c+=d?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:p+=d?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:c-=d?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:p-=d?1:5+this.keyAcceleration>>0;break;default:return}if(d){this.goToPage(c,p);return}c>0?(c=0,this.keyAcceleration=0):c<this.maxScrollX&&(c=this.maxScrollX,this.keyAcceleration=0),p>0?(p=0,this.keyAcceleration=0):p<this.maxScrollY&&(p=this.maxScrollY,this.keyAcceleration=0),this.scrollTo(c,p,0),this.keyTime=m}},_animate:function(l,d,c,p){var m=this,u=this.x,w=this.y,f=n.getTime(),g=f+c;this.animframe&&cancelAnimationFrame(this.animframe);function _(){var v=n.getTime(),T,S,N;if(v>=g){m.isAnimating=!1,m._translate(l,d),m.resetPosition(m.options.bounceTime)||m._execEvent("scrollEnd");return}v=(v-f)/c,N=p(v),T=(l-u)*N+u,S=(d-w)*N+w,m._translate(T,S),m.isAnimating&&(m.animframe=o(_))}this.isAnimating=!0,_()},handleEvent:function(l){switch(l.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(l);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(l);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(l);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"MSTransitionEnd":this._transitionEnd(l);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(l);break;case"keydown":this._key(l);break;case"click":this.enabled&&!l._constructed&&(l.preventDefault(),l.stopPropagation());break}}};function s(l,d,c){var p=e.createElement("div"),m=e.createElement("div");return c===!0&&(p.style.cssText="position:absolute;z-index:9999",m.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),m.className="iScrollIndicator",l=="h"?(c===!0&&(p.style.cssText+=";height:7px;left:2px;right:2px;bottom:0",m.style.height="100%"),p.className="iScrollHorizontalScrollbar"):(c===!0&&(p.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px",m.style.width="100%"),p.className="iScrollVerticalScrollbar"),p.style.cssText+=";overflow:hidden",d||(p.style.pointerEvents="none"),p.appendChild(m),p}function a(l,d){this.wrapper=typeof d.el=="string"?e.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=l,this.options={listenX:!0,listenY:!0,interactive:!1,resize:!0,defaultScrollbars:!1,shrink:!1,fade:!1,speedRatioX:0,speedRatioY:0};for(var c in d)this.options[c]=d[c];if(this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.interactive&&(this.options.disableTouch||(n.addEvent(this.indicator,"touchstart",this),n.addEvent(i,"touchend",this)),this.options.disablePointer||(n.addEvent(this.indicator,n.prefixPointerEvent("pointerdown"),this),n.addEvent(i,n.prefixPointerEvent("pointerup"),this)),this.options.disableMouse||(n.addEvent(this.indicator,"mousedown",this),n.addEvent(i,"mouseup",this))),this.options.fade){this.wrapperStyle[n.style.transform]=this.scroller.translateZ;var p=n.style.transitionDuration;if(!p)return;this.wrapperStyle[p]=n.isBadAndroid?"0.0001ms":"0ms";var m=this;n.isBadAndroid&&o(function(){m.wrapperStyle[p]==="0.0001ms"&&(m.wrapperStyle[p]="0s")}),this.wrapperStyle.opacity="0"}}a.prototype={handleEvent:function(l){switch(l.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(l);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(l);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(l);break}},destroy:function(){this.options.fadeScrollbars&&(clearTimeout(this.fadeTimeout),this.fadeTimeout=null),this.options.interactive&&(n.removeEvent(this.indicator,"touchstart",this),n.removeEvent(this.indicator,n.prefixPointerEvent("pointerdown"),this),n.removeEvent(this.indicator,"mousedown",this),n.removeEvent(i,"touchmove",this),n.removeEvent(i,n.prefixPointerEvent("pointermove"),this),n.removeEvent(i,"mousemove",this),n.removeEvent(i,"touchend",this),n.removeEvent(i,n.prefixPointerEvent("pointerup"),this),n.removeEvent(i,"mouseup",this)),this.options.defaultScrollbars&&this.wrapper.parentNode.removeChild(this.wrapper)},_start:function(l){var d=l.touches?l.touches[0]:l;l.preventDefault(),l.stopPropagation(),this.transitionTime(),this.initiated=!0,this.moved=!1,this.lastPointX=d.pageX,this.lastPointY=d.pageY,this.startTime=n.getTime(),this.options.disableTouch||n.addEvent(i,"touchmove",this),this.options.disablePointer||n.addEvent(i,n.prefixPointerEvent("pointermove"),this),this.options.disableMouse||n.addEvent(i,"mousemove",this),this.scroller._execEvent("beforeScrollStart")},_move:function(l){var d=l.touches?l.touches[0]:l,c,p,m,u,w=n.getTime();this.moved||this.scroller._execEvent("scrollStart"),this.moved=!0,c=d.pageX-this.lastPointX,this.lastPointX=d.pageX,p=d.pageY-this.lastPointY,this.lastPointY=d.pageY,m=this.x+c,u=this.y+p,this._pos(m,u),l.preventDefault(),l.stopPropagation()},_end:function(l){if(this.initiated){if(this.initiated=!1,l.preventDefault(),l.stopPropagation(),n.removeEvent(i,"touchmove",this),n.removeEvent(i,n.prefixPointerEvent("pointermove"),this),n.removeEvent(i,"mousemove",this),this.scroller.options.snap){var d=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),c=this.options.snapSpeed||t.max(t.max(t.min(t.abs(this.scroller.x-d.x),1e3),t.min(t.abs(this.scroller.y-d.y),1e3)),300);(this.scroller.x!=d.x||this.scroller.y!=d.y)&&(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=d,this.scroller.scrollTo(d.x,d.y,c,this.scroller.options.bounceEasing))}this.moved&&this.scroller._execEvent("scrollEnd")}},transitionTime:function(l){l=l||0;var d=n.style.transitionDuration;
1if(d&&(this.indicatorStyle[d]=l+"ms",!l&&n.isBadAndroid)){this.indicatorStyle[d]="0.0001ms";var c=this;o(function(){c.indicatorStyle[d]==="0.0001ms"&&(c.indicatorStyle[d]="0s")})}},transitionTimingFunction:function(l){this.indicatorStyle[n.style.transitionTimingFunction]=l},refresh:function(){if(!this.options.overrideMeasurements){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll?(n.addClass(this.wrapper,"iScrollBothScrollbars"),n.removeClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="8px":this.wrapper.style.bottom="8px")):(n.removeClass(this.wrapper,"iScrollBothScrollbars"),n.addClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="2px":this.wrapper.style.bottom="2px"));var l=this.wrapper.offsetHeight;this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.options.resize?(this.indicatorWidth=t.max(t.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px"):this.indicatorWidth=this.indicator.clientWidth,this.maxPosX=this.wrapperWidth-this.indicatorWidth,this.options.shrink=="clip"?(this.minBoundaryX=-this.indicatorWidth+8,this.maxBoundaryX=this.wrapperWidth-8):(this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX),this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.options.resize?(this.indicatorHeight=t.max(t.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px"):this.indicatorHeight=this.indicator.clientHeight,this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.options.shrink=="clip"?(this.minBoundaryY=-this.indicatorHeight+8,this.maxBoundaryY=this.wrapperHeight-8):(this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY),this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()}},updatePosition:function(){var l=this.options.listenX&&t.round(this.sizeRatioX*this.scroller.x)||0,d=this.options.listenY&&t.round(this.sizeRatioY*this.scroller.y)||0;this.options.ignoreBoundaries||(l<this.minBoundaryX?(this.options.shrink=="scale"&&(this.width=t.max(this.indicatorWidth+l,8),this.indicatorStyle.width=this.width+"px"),l=this.minBoundaryX):l>this.maxBoundaryX?this.options.shrink=="scale"?(this.width=t.max(this.indicatorWidth-(l-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",l=this.maxPosX+this.indicatorWidth-this.width):l=this.maxBoundaryX:this.options.shrink=="scale"&&this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),d<this.minBoundaryY?(this.options.shrink=="scale"&&(this.height=t.max(this.indicatorHeight+d*3,8),this.indicatorStyle.height=this.height+"px"),d=this.minBoundaryY):d>this.maxBoundaryY?this.options.shrink=="scale"?(this.height=t.max(this.indicatorHeight-(d-this.maxPosY)*3,8),this.indicatorStyle.height=this.height+"px",d=this.maxPosY+this.indicatorHeight-this.height):d=this.maxBoundaryY:this.options.shrink=="scale"&&this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px")),this.x=l,this.y=d,this.scroller.options.useTransform?this.indicatorStyle[n.style.transform]="translate("+l+"px,"+d+"px)"+this.scroller.translateZ:(this.indicatorStyle.left=l+"px",this.indicatorStyle.top=d+"px")},_pos:function(l,d){l<0?l=0:l>this.maxPosX&&(l=this.maxPosX),d<0?d=0:d>this.maxPosY&&(d=this.maxPosY),l=this.options.listenX?t.round(l/this.sizeRatioX):this.scroller.x,d=this.options.listenY?t.round(d/this.sizeRatioY):this.scroller.y,this.scroller.scrollTo(l,d)},fade:function(l,d){if(!(d&&!this.visible)){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=l?250:500,p=l?0:300;l=l?"1":"0",this.wrapperStyle[n.style.transitionDuration]=c+"ms",this.fadeTimeout=setTimeout((function(m){this.wrapperStyle.opacity=m,this.visible=+m}).bind(this,l),p)}}},r.utils=n,typeof ds<"u"&&ds.exports?ds.exports=r:typeof define=="function"&&define.amd?define(function(){return r}):i.IScroll=r})(window,document,Math)});var Zu,Qu,bi,cs=dp(()=>{A();Zu=st(Ku()),Qu=0;window.__spc_carrousels||(window.__spc_carrousels=[]);bi=class{constructor(e,t){if(window.__spc_carrousels.push(this),Qu++,this.tempid=Qu,this.logprefix="name"in t?"[SPC/CARROUSEL/"+t.name+"]":"[SPC/CARROUSEL #"+this.tempid+"]",!e){console.error("SpellcoderCarrousel got null as node.");return}var o=bt(e,"data-carrousel-options");
1if(this.options=Object.assign({gap:20,slidewidth:0,height:0,updateviewportheight:!0,paddingLeft:0,paddingRight:0,activeslidealignment:"left",vertical_align:"top",interactable:!0,useiscroll:!0,draggable:!0,snap:!0,blockscrolloncontentleft:!1,scroll_deceleration:.004,items:"",renderinfo:null,masonry_renderinfo:[],contentnode:null,buttonprevious:null,buttonnext:null,slideskip:1,contentwidth:null,nextSlideDelay:5e3,transitionDuration:750,eventPassthrough:!0,initialslide:0,activateslidewithclick:!0,keyboardnavigation:!0,randomizeslides:!1,autodraw_firstframe:!0,debugoptions:!1,debugslides:!1,debugdimensions:!1,debugdraw:!1,delayfirstframe:!1,ondrawframe:null,items_positions_ordered:!0},o,t),this.node=e,this.nodes={dragarea:this.getSelfOrChild(e,"carrousel__dragarea"),viewport:this.getSelfOrChild(e,"carrousel__viewport"),content:this.options.contentnode?this.options.contentnode:this.getSelfOrChild(e,"carrousel__content"),btn_prev:this.options.buttonprevious?this.options.buttonprevious:this.getSelfOrChild(e,"carrousel__previous"),btn_next:this.options.buttonnext?this.options.buttonnext:this.getSelfOrChild(e,"carrousel__next")},this.options.debugoptions&&(console.groupCollapsed(this.logprefix),console.log("Computed options",this.options),console.groupEnd()),this.nodes.dragarea||(this.nodes.dragarea=this.node),this.nodes.viewport||(this.nodes.viewport=this.node),this.nodes.content||(this.nodes.content=this.nodes.viewport),this.nodes.viewport.tabIndex=-1,this.nodes.viewport.addEventListener("keydown",this.onKeyPress.bind(this)),this.items=[],this.items_onscreen=[],this.visiblenodes=[],this.scrollleft=0,this.width_viewport=0,this.width_content=0,this.largestslideheight=0,this.slide_virtualstartidx=-1,this.slide_offset=0,this.activeslideidx=this.options.initialslide,this.activeslidenode=null,this.alignedslide=null,this.alignedslideidx=this.options.initialslide,this.alignedslidenode=null,this.animationframe=null,this.finishedinit=!1,"renderinfo"in t)this.importRenderInfo(t.renderinfo);else if("masonry_renderinfo"in t)this.importSlidesFromMasonry(t.masonry_renderinfo);else if("items"in t)if(typeof t.items=="string"){console.log("items is a selector string");let n=e.querySelectorAll(t.items);if(n.length==0){console.warn("No slides specified for the carrousel.");return}this.setSlides(n)}else(t.items instanceof NodeList||t.items instanceof Array)&&(console.log("items is a NodeList"),this.setSlides(t.items));else{let n=e.querySelectorAll(".carrousel__cell");if(n.length==0){console.warn("No slides specified for the carrousel.");return}this.setSlides(n)}this.options.contentwidth&&(this.width_content=this.options.contentwidth),this.__determineContainerWidth(),this.virtualwidth=2147483645,this.options.blockscrolloncontentleft?this.scrollleft=0:this.scrollleft=Math.round(this.virtualwidth/2),this.attemptFinishInit()}attemptFinishInit(){if(this.width_content==0){console.info("Carrousel",this.options.name,"cancelled init (content width is 0)");return}else console.info("Carrousel",this.options.name,"is finishing init");let e=this.scrollleft;if(this.options.initialslide!="none"?(e=this.__getLeftForSlide(this.options.initialslide),isNaN(e)&&console.error("Cannot determine initial X position. (internal slides info corrupt?)")):e=this.scrollleft-this.scrollleft%this.width_content,this.options.useiscroll){let t={useTransition:!1,tap:!0,eventPassthrough:this.options.eventPassthrough,deceleration:this.options.scroll_deceleration,autoUpdatePosition:!1,overrideMeasurements:!0,wrapperWidth:this.width_viewport,scrollerWidth:0,maxScrollX:this.virtualwidth,startX:-e,scrollX:!0,scrollY:!1,snap:this.options.snap,getNearestSnap:this.getNearestSnap.bind(this),getPage:this.getPage.bind(this),mouseWheel:!1,name:""};this.options.debugoptions&&console.log(t),this.iscroll=new Zu.default(this.nodes.dragarea,t),this.iscroll.tempid=this.options.name+"-iscroll",this.iscroll.on("scrollEnd",this.onScrollEnd.bind(this)),(!this.options.interactable||!this.options.draggable)&&this.iscroll.disable(),this.prevtime=-1,this.nodes.btn_prev&&this.nodes.btn_prev.addEventListener("click",this.__onPreviousSlideClick.bind(this)),this.nodes.btn_next&&this.nodes.btn_next.addEventListener("click",this.__onNextSlideClick.bind(this)),this.nodes.viewport.addEventListener("tap",this.__detectCellTap.bind(this))}else this.scrollleft=0,this.scrollleft_next=e;this.finishedinit=!0,this.options.delayfirstframe||this.onAnimFrame
1(0,!0)}destroy(){this.iscroll.destroy(),cancelAnimationFrame(this.animationframe);let e=window.__spc_carrousels.indexOf(this);window.__spc_carrousels.splice(e,1)}getSelfOrChild(e,t){return e.classList.contains(t)?e:e.querySelector("."+t)}setOptions(e){Object.assign(this.options,e)}onAnimFrame(e,t){window.cancelAnimationFrame(this.animationframe),this.animationframe=null;var o=window.devicePixelRatio;o||(o=1);var n;if(this.options.useiscroll){if(isNaN(this.iscroll.x))return;n=-Math.round(this.iscroll.x*o)/o}else n=Math.round(this.scrollleft_next*o)/o;if(t||this.scrollleft!=n)this.scrollleft=n,this.__redraw_slides(!0);else if(this.options.ondrawframe){var r=this.scrollleft%this.width_content;this.options.ondrawframe.bind(this)({scrollleft:this.scrollleft,contentleft:r,contentwidth:this.width_content,draw:!1})}this.animationframe||(this.animationframe=requestAnimationFrame(this.onAnimFrame.bind(this)))}scrollTo(e,t){this.options.useiscroll?this.iscroll.scrollTo(-e,0,t?this.options.transitionDuration:0):(console.info(this.options.name+" no iscroll"),this.scrollleft_next=e,this.__redraw_slides(!0))}scrollBy(e,t){this.options.useiscroll?this.iscroll.scrollTo(this.iscroll.x-e,0,t?this.options.transitionDuration:0):(console.info(this.options.name+" no iscroll"),this.scrollleft_next+=newx,this.__redraw_slides(!0))}scrollToContent(e,t,o){let n=Math.floor(this.scrollleft/this.width_content)*this.width_content,r=n+this.width_content;t?this.scrollTo(r,o):this.scrollTo(n,o)}jumpToSlide(e,t,o){if(e>=this.items.length){console.error("Slide #"+e+" doesn't exist.");return}this.activeslideidx=e;var n=this.__getLeftForSlide(e,o);this.iscroll.scrollTo(-n,0,t?this.options.transitionDuration:0)}jumpToVirtualSlide(e){if(e<0){console.error("Negative virtual slide idx not supported.");return}var t=this.__getVirtualLeftForSlide(e);this.iscroll.scrollTo(-t,0,this.options.transitionDuration)}previousSlide(){this.slide_virtualstartidx==-1&&(this.slide_virtualstartidx=this.alignedslidevirtualidx),this.slide_offset-=this.options.slideskip,this.jumpToVirtualSlide(this.slide_virtualstartidx+this.slide_offset,!0)}nextSlide(){this.slide_virtualstartidx==-1&&(this.slide_virtualstartidx=this.alignedslidevirtualidx),this.slide_offset+=this.options.slideskip,this.options.name=="videos"&&console.log("nextSlide to ",this.slide_virtualstartidx,"+",this.slide_offset,"=",this.slide_virtualstartidx+this.slide_offset),this.jumpToVirtualSlide(this.slide_virtualstartidx+this.slide_offset,!0)}onScrollEnd(){this.slide_virtualstartidx=-1,this.slide_offset=0}__determineContainerWidth(){this.width_viewport=this.nodes.viewport.clientWidth,this.options.debugdimensions&&console.log(this.logprefix,"New carrousel width_viewport is ",this.width_viewport),this.width_viewport==0&&console.warn("clientWidth of carrousel viewport is 0.")}refresh(){this.__determineContainerWidth(),this.jumpToSlide(this.alignedslideidx,!1),this.__redraw_slides(!0),this.slide_virtualstartidx=-1,this.slide_offset=0}drawFrame(){this.__redraw_slides(!0)}importRenderInfo(e){this.width_content=e.width,this.largestslideheight=e.height;for(let t of e.items)t.usecount=0,t.nodecopies=[t.node],this.items_onscreen.push(t.node),t.node.__iteminfo=t;this.items=e.items,this.__relayoutViewport()}importSlidesFromMasonry(e){if(e.width==0){console.error("Cannot import data from masonry, it's width is reported to be 0.");return}this.width_content=e.width,this.largestslideheight=e.height;for(let o of e.items){var t={node:o.node,width:o.width,width_real:o.width,height:o.height,left:o.left,right:o.left+o.width,usecount:0,nodecopies:[o.node]};this.items.push(t),this.items_onscreen.push(o.node),o.node.style.left="0",o.node.__iteminfo=t}this.options.randomizeslides&&this._randomizeSlides(),this.__relayoutViewport()}setSlides(e){this.options.debugdimensions&&console.info(this.logprefix,"setSlides");let t=0,o=0;this.width_content=0;var n=Math.round(this.options.slidewidth);for(let d of e){var r=d.offsetWidth,s=d.offsetHeight;s>o&&(o=s);var a=n>0?n:r,l={node:d,width:a,width_real:r,height:s,left:t,right:t+a,usecount:0,nodecopies:[d]};n>0&&(l.left+=(a-r)/2),this.items.push(l),this.items_onscreen.push(d),t+=a+this.options.gap,this.width_content+=a+this.options.gap,d.__iteminfo=l}this.options.randomizeslides&&this._randomizeSlides(),this.largestslideheight=o,this.options.debugdimensions&&this._logSlides(),this.__relayoutViewport()}_randomizeSlides(){for(let e=this.items.length-1;e>0;--e){let t=Math.floor(Math.random()*(e+1)),o=this.items[e];this.items[e]=this.items[t],this.items[t]=o,o=this.items_onscreen[e],this.items_onscreen[e]=this.items_onscreen[t],this.items_onscreen[t]=o}}_addToLog(e){console.info(this.logprefix+" "+e)}_logSlides(){if(this.options.debugdimensions){this._addToLog("largest slide height is "+this.largestslideheight);for(let e of this.items)this._addToLog("slide is "+e.width+"x"+e.height)}}relayoutSlides(){this.options.debugdimensions&&console.info(this.logprefix,"relayoutSlides");let e=0,t=0,o=0;for(var n=Math.round(this.options.slidewidth),r=0;r<this.items.length;r++){var s=this.items[r],a=s.node.offsetWidth,l=s.node.offsetHeight;l>t&&(t=l);var d=n>0?n:a;s.width=d,s.width_real=a,s.height=l,s.left=e,s.right=e+d,n>0&&(s.left+=(d-a)/2),e+=d+this.options.gap,o+=d+this.options.gap}if(o==0){console.error("Content width is 0");return}this.width_content=o,this.largestslideheight=t,this.options.debugdimensions&&this._logSlides(),this.__relayoutViewport(),this.finishedinit||this.attemptFinishInit()}__relayoutViewport(){this.width_viewport=this.nodes.viewport.clientWidth;let e=0;this.options.height?e=this.options.height:(this.options.debugdimensions&&console.info("No options.height set, using the largestslideheight"),e=this.largestslideheight),this.options.debugdimensions&&console.log("__relayoutViewport reads width (",this.width_viewport,") and sets viewport height to",e),this.options.updateviewportheight&&(this.nodes.viewport.style.height=e+"px")}onKeyPress(e){if(!(!this.options.interactable||!this.options.keyboardnavigation))switch(e.keyCode){case 37:{e.preventDefault(),e.stopPropagation(),this.previousSlide();break}case 39:{e.preventDefault(),e.stopPropagation(),this.nextSlide();break}case 27:{e.preventDefault(),e.stopPropagation(),L(this.node,"wh:closeslideshow",{bubbles:!1,cancelable:!1,detail:{carrousel:this}});break}}}__onPreviousSlideClick(e){e.preventDefault(),e.stopPropagation(),this.previousSlide(e)}__onNextSlideClick(e){e.preventDefault(),e.stopPropagation(),this.nextSlide(e)}__detectCellTap(e){if(this.options.activateslidewithclick){var t=yi(e.target,".carrousel__cell");if(t){var o=this.items.indexOf(t.__iteminfo);if(o!=this.activeslideidx){console.info(this.items[o]);var n=this.nodes.viewport.getBoundingClientRect(),r=e.pageX-n.left,s=!1;switch(this.options.activeslidealignment){case"":case"viewport_left":s=!0;break;case"viewport_middle":s=r>this.width_viewport/2;break;case"left":s=r>this.options.paddingLeft;break;case"middle":var a=this.width_viewport-this.options.paddingLeft-this.options.paddingRight,l=a/2+this.options.paddingLeft;s=r>l;break}this.jumpToSlide(o,!0,s)}}}}__getVirtualLeftForSlide(e){var t=this.items.length,o=e%t,n=Math.floor(e/t),r=n*this.width_content+this.__getActivationCenterForSlide(o);return r}__getActivationCenterForSlide(e){var t=this.items[e].left;switch(this.options.activeslidealignment){case"":case"viewport_left":break;case"viewport_middle":t-=(this.width_viewport-this.items[e].width_real)/2;break;case"left":t-=this.options.paddingLeft;break;case"middle":var o=this.width_viewport-this.options.paddingLeft-this.options.paddingRight;t-=(o-this.items[e].width_real)/2+this.options.paddingLeft;break}return t}__getLeftForSlide(e,t){var o=e<0,n;e<0?(e++,e=this.items.length-1- -e%this.items.length,n=-Math.floor(-e%this.items.length)):(e=e%this.items.length,n=Math.floor(e/this.items.length));var r=this.__getActivationCenterForSlide(e);console.info("wanted_left_within_content",r);var s=this.scrollleft+r-this.scrollleft%this.width_content;return t&&s<this.scrollleft?s+=this.width_content:!t&&s>this.scrollleft&&(s-=this.width_content),s}__getContentScrollToVirtualScroll(e,t){return this.scrollleft-this.scrollleft%this.width_content+e}getPage(e,t){console.info("getPage"),e<0&&(console.error("pageX should not be negative."),e=-e);var o=Math.floor(e/this.items.length),n=e%this.items.length;console.log("iScroll pageX",e,"is actually contentrepetition",o," slide #"+n);var r={x:-(o*this.width_content+this.items[n].left),y:0,pageX:e,pageY:t};return console.info("getPage",e," returns ",r),r}getNearestSnap(e,t,o){console.info("getNearestSnap"),e=-e,this.__redraw_slides(!1,e);var n=this.renderinfo,r={x:-this.__getVirtualLeftForSlide(n.newactiveslidevirtualidx),y:0,pageX:n.new
1activeslidevirtualidx,pageY:0};return r}__getActivationX(){var e=0;switch(this.options.activeslidealignment){case"":case"viewport_left":break;case"viewport_middle":e=this.width_viewport/2;break;case"left":e=this.options.paddingLeft;break;case"middle":var t=this.width_viewport-this.options.paddingLeft-this.options.paddingRight;e=t/2+this.options.paddingLeft;break}return e}__redraw_slides(e,t){if(!(this.width_viewport==0||this.width_content==0)){if(isNaN(this.scrollleft)){console.error("scrolleft is NaN");return}var o=t||this.scrollleft,n=o%this.width_content,r=n,s=r+this.width_viewport;if(this.options.ondrawframe&&e&&this.options.ondrawframe.bind(this)({scrollleft:o,contentleft:n,contentwidth:this.width_content,draw:!0}),this.items.length!=0){var a=this.__getActivationX(),l=[];this.visiblenodes=[];var d=0,c=this.items.length,p=0;this.options.debugdraw&&console.log("__redraw_slides()",{scrollleft:n,content_offset:n,width_content:this.width_content,visible_left:r,visible_right:s});for(var m=0;m<this.items.length;m++)this.items[m].usecount=0;for(var u=0,w=-1,f=null,g=null,_=-1,v=Math.floor(o/this.width_content)*this.items.length;d<1e3;){d==999&&console.log("__redraw_slides() overflow",{absolute_scrollleft:o,scrollleft:n,width_content:this.width_content,visible_left:r,visible_right:s,activation_x:a,virtualslideidx:v});var T=this.items[p];if(T.right+u<r){p++,v++,p==c&&(p=0,u+=this.width_content);continue}let le=T.left+u>s;if(le&&this.options.items_positions_ordered)break;if(!le){var S=T.left+u-n;if(e){var N;T.usecount<T.nodecopies.length?N=T.nodecopies[T.usecount]:(N=T.node.cloneNode(!0),N.__iteminfo=T,T.nodecopies.push(N),this.nodes.content.appendChild(N)),N._wh_carrouseldata={slideidx:p,virtualslideidx:v};var U=this.options.height?this.options.height:this.largestslideheight,$=0;this.options.vertical_align=="middle"?$=Math.round(U-T.height)/2:this.options.vertical_align=="bottom"&&($=Math.round(U-T.height));let ze="translate3D("+S+"px,"+$+"px,0)";T.scale&&(ze+=" scale("+T.scale+")"),N.style.transform=ze;var ne=N.querySelector(".carrousel__cell-image");ne&&(ne.style.backgroundImage=""),l.push(N),T.usecount++}var ee=Math.abs(a-S),ae=ee;this.visiblenodes.push({x:S,y:$,width:T.width,height:T.height}),(_==-1||ae<_)&&(w=p,f=N,g=v,_=ae)}p++,v++,p==c&&(p=0,u+=this.width_content),d++}if(d!=0){if(e){for(var m=0;m<this.items_onscreen.length;m++){var me=this.items_onscreen[m];l.indexOf(me)==-1&&(me.style.webkitTransform="translate3D(-50000px,0,0)",me.style.transform="translate3D(-50000px,0,0)")}this.items_onscreen=l,w>-1&&(this.alignedslidenode!=f&&this.__setActiveSlide(T,w,f,g),this.alignedslideidx=w,this.alignedslidevirtualidx=g)}return this.renderinfo={newactiveslideidx:w,newactivenode:f,newactiveslidevirtualidx:g,newactiveslide_dist:_,width_viewport:this.width_viewport,width_content:this.width_content},this.renderinfo}}}}__setActiveSlide(e,t,o,n){this.options.name=="videos"&&console.log("New active slide",t,o,"prev",this.alignedslidenode),this.alignedslidenode!=o&&(this.alignedslidenode&&this.alignedslidenode.classList.remove("carrousel__cell--aligned"),o.classList.add("carrousel__cell--aligned")),L(this.node,"wh:activeslidechange",{bubbles:!1,cancelable:!1,detail:{carrousel:this,previousactive:this.alignedslide,previousactiveidx:this.alignedslideidx,previousactivenode:this.alignedslidenode,nextactive:e,nextactiveidx:t,nextactivenode:o}}),this.activeslide=e,this.alignedslidenode=o}}});var Ul=it((R5,sm)=>{"use strict";A();cs();var ps=null,In=null,im=0,em=!1;function Pb(i){if(i.node.clientHeight==0)return;ql(i.node);let e=rm();i.setOptions(e),i.relayoutSlides(),i.refresh()}function Ib(){In&&(ps?(console.log("update active photoviewer"),Pb(ps)):ql(In))}function zb(i){let t=i.split("-")[0];console.info("doActivateSlideshowByHash",i);let o=document.querySelector('.carrousel__cell[data-hash^="'+t+'-"]');if(o||(o=document.querySelector('.carrousel__cell[data-hash="'+t+'"]')),console.info('.carrousel__cell[data-hash="'+t+"]"),!o)return;let n=o.closest(".photoalbumwidget__slideshow"),r=n.querySelectorAll(".carrousel__cell"),s=Array.from(r).indexOf(o);om(n,s)}function qb(i,e){let t=i+"-slideshow",o=document.getElementById(t);if(!o){console.error("Cannot find slideshow container ",t);return}om(o,e)}function om(i,e){let t=i.hasAttribute("data-carrousel-options");em||(window.addEventListener("resize",Ib),em=!0),im=document.body.scrollTop||document.documentElement.scrollTop,document.body.appendChild(i);let o=i;o.addEventListener("wh:activeslidechange",Ub),o.addEventListener("wh:closeslideshow",nm),i.classList.add("html__fullscreenelement"),document.documentElement.classList.add("html--onlyfullscreenelement"),i.classList.add("prepare");let n=rm();ql(o);let r=o.__carrousel;if(o.clientHeight==0&&console.error("Failed to resize fullscreen slideshow."),t)r?(r.setOptions(n),r.relayoutSlides(),r.jumpToSlide(e)):(n.initialslide=e,r=new bi(o,n),r.node.addEventListener("tap",tm),o.__carrousel=r),r.drawFrame();else{i.addEventListener("click",tm);let s=i.querySelectorAll(".carrousel__cell-image");for(let a of s)a.style.backgroundImage=""}document.clientWidth,i.classList.add("visible"),t&&r.nodes.viewport.focus(),document.body.scrollTop=0,document.documentElement.scrollTop=0,t&&(ps=o.__carrousel),In=i}function nm(){let i=In;i.classList.remove("prepare"),i.classList.remove("active"),i.classList.remove("html__fullscreenelement"),document.documentElement.classList.remove("html--onlyfullscreenelement");let e=document.querySelector(".header__universe");e&&(e.style.display="block"),window.scrollTo(0,im),ps=null,In=null,history.replaceState(void 0,void 0,".")}function tm(i){let e=i.target.closest(".fsslideshow__button");e&&e.classList.contains("fsslideshow__close")&&nm()}function Ub(i){let e=i.target.closest(".fsslideshow"),t=e.querySelector(".fsslideshow__title"),o=e.querySelector(".fsslideshow__download"),n=e.querySelector(".carrousel").__carrousel,r=i.detail.nextactivenode;t.textContent=i.detail.nextactiveidx+1+"/"+i.detail.carrousel.items.length+" "+i.detail.nextactivenode.getAttribute("data-title"),o.href=r.getAttribute("data-download"),o.setAttribute("download",r.getAttribute("data-filename"));let s=r.getAttribute("data-hash");history.replaceState(void 0,void 0,"#fsviewer-"+s)}function rm(){let i=window.innerWidth,e=window.innerHeight;return{activeslidealignment:"middle",vertical_align:"middle",gap:i/20,slidewidth:i,height:e,autodraw_firstframe:!1,eventPassthrough:!1}}function ql(i){let e,t;getComputedStyle(i);let o=i.getBoundingClientRect();e=o.width,t=o.height;let n=e*.75,r=t-130,s=window.devicePixelRatio;s||(s=1);let a=i.querySelectorAll(".carrousel__cell-image");for(let l=0;l<a.length;l++){let d=a[l],c=parseInt(d.getAttribute("data-width")),p=parseInt(d.getAttribute("data-height")),m=n/c,u=r/p,w=m<u?m:u,f=Math.round(c*w*s)/s,g=Math.round(p*w*s)/s;d.style.width=f+"px",d.style.height=g+"px"}}b(".fsslideshow",(i,e)=>{if(e!=0)return;let t=window.location.hash;t!=""&&(t=t.substr(1)),t.substr(0,9)=="fsviewer-"&&zb(t.substr(9))});sm.exports={doActivateSlideshow:qb}});var Dl=it((am,hs)=>{(function(i,e){typeof define=="function"&&define.amd?define(e):typeof hs=="object"&&hs.exports?hs.exports=e():i.EvEmitter=e()})(typeof window<"u"?window:am,function(){"use strict";function i(){}var e=i.prototype;return e.on=function(t,o){if(!(!t||!o)){var n=this._events=this._events||{},r=n[t]=n[t]||[];return r.indexOf(o)==-1&&r.push(o),this}},e.once=function(t,o){if(!(!t||!o)){this.on(t,o);var n=this._onceEvents=this._onceEvents||{},r=n[t]=n[t]||{};return r[o]=!0,this}},e.off=function(t,o){var n=this._events&&this._events[t];if(!(!n||!n.length)){var r=n.indexOf(o);return r!=-1&&n.splice(r,1),this}},e.emitEvent=function(t,o){var n=this._events&&this._events[t];if(!(!n||!n.length)){n=n.slice(0),o=o||[];for(var r=this._onceEvents&&this._onceEvents[t],s=0;s<n.length;s++){var a=n[s],l=r&&r[a];l&&(this.off(t,a),delete r[a]),a.apply(this,o)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},i})});var ms=it((M5,us)=>{(function(i,e){typeof define=="function"&&define.amd?define(e):typeof us=="object"&&us.exports?us.exports=e():i.getSize=e()})(window,function(){"use strict";function e(m){var u=parseFloat(m),w=m.indexOf("%")==-1&&!isNaN(u);return w&&u}function t(){}var o=typeof console>"u"?t:function(m){console.error(m)},n=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],r=n.length;function s(){for(var m={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},u=0;u<r;u++){var w=n[u];m[w]=0}return m}function a(m){var u=getComputedStyle(m);return u||o("Style returned "+u+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),u}var l=!1,d;function c(){if(!l){l=!0;var m=document.createElement("div");m.style.width="200px",m.style.padding="1px 2px 3px 4px",m.style.borderStyle="solid",m.style.borderWidth="1px 2px 3px 4px",m.style.boxSizing="border-box";var u=document.body||document.documentElement;
1u.appendChild(m);var w=a(m);d=Math.round(e(w.width))==200,p.isBoxSizeOuter=d,u.removeChild(m)}}function p(m){if(c(),typeof m=="string"&&(m=document.querySelector(m)),!(!m||typeof m!="object"||!m.nodeType)){var u=a(m);if(u.display=="none")return s();var w={};w.width=m.offsetWidth,w.height=m.offsetHeight;for(var f=w.isBorderBox=u.boxSizing=="border-box",g=0;g<r;g++){var _=n[g],v=u[_],T=parseFloat(v);w[_]=isNaN(T)?0:T}var S=w.paddingLeft+w.paddingRight,N=w.paddingTop+w.paddingBottom,U=w.marginLeft+w.marginRight,$=w.marginTop+w.marginBottom,ne=w.borderLeftWidth+w.borderRightWidth,ee=w.borderTopWidth+w.borderBottomWidth,ae=f&&d,me=e(u.width);me!==!1&&(w.width=me+(ae?0:S+ne));var le=e(u.height);return le!==!1&&(w.height=le+(ae?0:N+ee)),w.innerWidth=w.width-(S+ne),w.innerHeight=w.height-(N+ee),w.outerWidth=w.width+U,w.outerHeight=w.height+$,w}}return p})});var lm=it((O5,gs)=>{(function(i,e){"use strict";typeof define=="function"&&define.amd?define(e):typeof gs=="object"&&gs.exports?gs.exports=e():i.matchesSelector=e()})(window,function(){"use strict";var e=(function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var o=["webkit","moz","ms","o"],n=0;n<o.length;n++){var r=o[n],s=r+"MatchesSelector";if(t[s])return s}})();return function(o,n){return o[e](n)}})});var dm=it((P5,fs)=>{(function(i,e){typeof define=="function"&&define.amd?define(["desandro-matches-selector/matches-selector"],function(t){return e(i,t)}):typeof fs=="object"&&fs.exports?fs.exports=e(i,lm()):i.fizzyUIUtils=e(i,i.matchesSelector)})(window,function(e,t){"use strict";var o={};o.extend=function(s,a){for(var l in a)s[l]=a[l];return s},o.modulo=function(s,a){return(s%a+a)%a};var n=Array.prototype.slice;o.makeArray=function(s){if(Array.isArray(s))return s;if(s==null)return[];var a=typeof s=="object"&&typeof s.length=="number";return a?n.call(s):[s]},o.removeFrom=function(s,a){var l=s.indexOf(a);l!=-1&&s.splice(l,1)},o.getParent=function(s,a){for(;s.parentNode&&s!=document.body;)if(s=s.parentNode,t(s,a))return s},o.getQueryElement=function(s){return typeof s=="string"?document.querySelector(s):s},o.handleEvent=function(s){var a="on"+s.type;this[a]&&this[a](s)},o.filterFindElements=function(s,a){s=o.makeArray(s);var l=[];return s.forEach(function(d){if(d instanceof HTMLElement){if(!a){l.push(d);return}t(d,a)&&l.push(d);for(var c=d.querySelectorAll(a),p=0;p<c.length;p++)l.push(c[p])}}),l},o.debounceMethod=function(s,a,l){l=l||100;var d=s.prototype[a],c=a+"Timeout";s.prototype[a]=function(){var p=this[c];clearTimeout(p);var m=arguments,u=this;this[c]=setTimeout(function(){d.apply(u,m),delete u[c]},l)}},o.docReady=function(s){var a=document.readyState;a=="complete"||a=="interactive"?setTimeout(s):document.addEventListener("DOMContentLoaded",s)},o.toDashed=function(s){return s.replace(/(.)([A-Z])/g,function(a,l,d){return l+"-"+d}).toLowerCase()};var r=e.console;return o.htmlInit=function(s,a){o.docReady(function(){var l=o.toDashed(a),d="data-"+l,c=document.querySelectorAll("["+d+"]"),p=document.querySelectorAll(".js-"+l),m=o.makeArray(c).concat(o.makeArray(p)),u=d+"-options",w=e.jQuery;m.forEach(function(f){var g=f.getAttribute(d)||f.getAttribute(u),_;try{_=g&&JSON.parse(g)}catch(T){r&&r.error("Error parsing "+d+" on "+f.className+": "+T);return}var v=new s(f,_);w&&w.data(f,a,v)})})},o})});var cm=it((I5,_s)=>{(function(i,e){typeof define=="function"&&define.amd?define(["ev-emitter/ev-emitter","get-size/get-size"],e):typeof _s=="object"&&_s.exports?_s.exports=e(Dl(),ms()):(i.Outlayer={},i.Outlayer.Item=e(i.EvEmitter,i.getSize))})(window,function(e,t){"use strict";function o(f){for(var g in f)return!1;return g=null,!0}var n=document.documentElement.style,r=typeof n.transition=="str
1ing"?"transition":"WebkitTransition",s=typeof n.transform=="string"?"transform":"WebkitTransform",a={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],l={transform:s,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"};function d(f,g){f&&(this.element=f,this.layout=g,this.position={x:0,y:0},this._create())}var c=d.prototype=Object.create(e.prototype);c.constructor=d,c._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},c.handleEvent=function(f){var g="on"+f.type;this[g]&&this[g](f)},c.getSize=function(){this.size=t(this.element)},c.css=function(f){var g=this.element.style;for(var _ in f){var v=l[_]||_;g[v]=f[_]}},c.getPosition=function(){var f=getComputedStyle(this.element),g=this.layout._getOption("originLeft"),_=this.layout._getOption("originTop"),v=f[g?"left":"right"],T=f[_?"top":"bottom"],S=parseFloat(v),N=parseFloat(T),U=this.layout.size;v.indexOf("%")!=-1&&(S=S/100*U.width),T.indexOf("%")!=-1&&(N=N/100*U.height),S=isNaN(S)?0:S,N=isNaN(N)?0:N,S-=g?U.paddingLeft:U.paddingRight,N-=_?U.paddingTop:U.paddingBottom,this.position.x=S,this.position.y=N},c.layoutPosition=function(){var f=this.layout.size,g={},_=this.layout._getOption("originLeft"),v=this.layout._getOption("originTop"),T=_?"paddingLeft":"paddingRight",S=_?"left":"right",N=_?"right":"left",U=this.position.x+f[T];g[S]=this.getXValue(U),g[N]="";var $=v?"paddingTop":"paddingBottom",ne=v?"top":"bottom",ee=v?"bottom":"top",ae=this.position.y+f[$];g[ne]=this.getYValue(ae),g[ee]="",this.css(g),this.emitEvent("layout",[this])},c.getXValue=function(f){var g=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!g?f/this.layout.size.width*100+"%":f+"px"},c.getYValue=function(f){var g=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&g?f/this.layout.size.height*100+"%":f+"px"},c._transitionTo=function(f,g){this.getPosition();var _=this.position.x,v=this.position.y,T=f==this.position.x&&g==this.position.y;if(this.setPosition(f,g),T&&!this.isTransitioning){this.layoutPosition();return}var S=f-_,N=g-v,U={};U.transform=this.getTranslate(S,N),this.transition({to:U,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},c.getTranslate=function(f,g){var _=this.layout._getOption("originLeft"),v=this.layout._getOption("originTop");return f=_?f:-f,g=v?g:-g,"translate3d("+f+"px, "+g+"px, 0)"},c.goTo=function(f,g){this.setPosition(f,g),this.layoutPosition()},c.moveTo=c._transitionTo,c.setPosition=function(f,g){this.position.x=parseFloat(f),this.position.y=parseFloat(g)},c._nonTransition=function(f){this.css(f.to),f.isCleaning&&this._removeStyles(f.to);for(var g in f.onTransitionEnd)f.onTransitionEnd[g].call(this)},c.transition=function(f){if(!parseFloat(this.layout.options.transitionDuration)){this._nonTransition(f);return}var g=this._transn;for(var _ in f.onTransitionEnd)g.onEnd[_]=f.onTransitionEnd[_];for(_ in f.to)g.ingProperties[_]=!0,f.isCleaning&&(g.clean[_]=!0);if(f.from){this.css(f.from);var v=this.element.offsetHeight;v=null}this.enableTransition(f.to),this.css(f.to),this.isTransitioning=!0};function p(f){return f.replace(/([A-Z])/g,function(g){return"-"+g.toLowerCase()})}var m="opacity,"+p(s);c.enableTransition=function(){if(!this.isTransitioning){var f=this.layout.options.transitionDuration;f=typeof f=="number"?f+"ms":f,this.css({transitionProperty:m,transitionDuration:f,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(a,this,!1)}},c.onwebkitTransitionEnd=function(f){this.ontransitionend(f)},c.onotransitionend=function(f){this.ontransitionend(f)};var u={"-webkit-transform":"transform"};c.ontransitionend=function(f){if(f.target===this.element){var g=this._transn,_=u[f.propertyName]||f.propertyName;if(delete g.ingProperties[_],o(g.ingProperties)&&this.disableTransition(),_ in g.clean&&(this.element.style[f.propertyName]="",delete g.clean[_]),_ in g.onEnd){var v=g.onEnd[_];v.call(this),delete g.onEnd[_]}this.emitEvent("transitionEnd",[this])}},c.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(a,this,!1),this.isTransitioning=!1},c._removeStyles=function(f){var g={};for(var _ in f)g[_]="";this.css(g)};var w={transitionProperty:"",transitionDuration:"",transitionDelay:""};return c.removeTransitionStyles=function(){this.css(w)},c.stagger=function(f){f=isNaN(f)?0:f,this.staggerDelay=f+"ms"},c.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},c.remove=function(){if(!r||!parseFloat(this.layout.options.transitionDuration)){this.removeElem();return}this.once("transitionEnd",function(){this.removeElem()}),this.hide()},c.reveal=function(){delete this.isHidden,this.css({display:""});var f=this.layout.options,g={},_=this.getHideRevealTransitionEndProperty("visibleStyle");g[_]=this.onRevealTransitionEnd,this.transition({from:f.hiddenStyle,to:f.visibleStyle,isCleaning:!0,onTransitionEnd:g})},c.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},c.getHideRevealTransitionEndProperty=function(f){var g=this.layout.options[f];if(g.opacity)return"opacity";for(var _ in g)return _},c.hide=function(){this.isHidden=!0,this.css({display:""});var f=this.layout.options,g={},_=this.getHideRevealTransitionEndProperty("hiddenStyle");g[_]=this.onHideTransitionEnd,this.transition({from:f.visibleStyle,to:f.hiddenStyle,isCleaning:!0,onTransitionEnd:g})},c.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},c.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},d})});var pm=it((z5,ws)=>{(function(i,e){"use strict";typeof define=="function"&&define.amd?define(["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(t,o,n,r){return e(i,t,o,n,r)}):typeof ws=="object"&&ws.exports?ws.exports=e(i,Dl(),ms(),dm(),cm()):i.Outlayer=e(i,i.EvEmitter,i.getSize,i.fizzyUIUtils,i.Outlayer.Item)})(window,function(e,t,o,n,r){"use strict";var s=e.console,a=e.jQuery,l=function(){},d=0,c={};function p(g,_){var v=n.getQueryElement(g);if(!v){s&&s.error("Bad element for "+this.constructor.namespace+": "+(v||g));return}this.element=v,a&&(this.$element=a(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(_);var T=++d;this.element.outlayerGUID=T,c[T]=this,this._create();var S=this._getOption("initLayout");S&&this.layout()}p.namespace="outlayer",p.Item=r,p.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var m=p.prototype;n.extend(m,t.prototype),m.option=function(g){n.extend(this.options,g)},m._getOption=function(g){var _=this.constructor.compatOptions[g];return _&&this.options[_]!==void 0?this.options[_]:this.options[g]},p.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},m._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var g=this._getOption("resize");g&&this.bindResize()},m.reloadItems=function(){this.items=this._itemize(this.element.children)},m._itemize=function(g){for(var _=this._filterFindItemElements(g),v=this.constructor.Item,T=[],S=0;S<_.length;S++){var N=_[S],U=new v(N,this);T.push(U)}return T},m._filterFindItemElements=function(g){return n.filterFindElements(g,this.options.itemSelector)},m.getItemElements=function(){return this.items.map(function(g){return g.element})},m.layout=function(){this._resetLayout(),this._manageStamps();var g=this._getOption("layoutInstant"),_=g!==void 0?g:!this._isLayoutInited;this.layoutItems(this.items,_),this._isLayoutInited=!0}
1,m._init=m.layout,m._resetLayout=function(){this.getSize()},m.getSize=function(){this.size=o(this.element)},m._getMeasurement=function(g,_){var v=this.options[g],T;v?(typeof v=="string"?T=this.element.querySelector(v):v instanceof HTMLElement&&(T=v),this[g]=T?o(T)[_]:v):this[g]=0},m.layoutItems=function(g,_){g=this._getItemsForLayout(g),this._layoutItems(g,_),this._postLayout()},m._getItemsForLayout=function(g){return g.filter(function(_){return!_.isIgnored})},m._layoutItems=function(g,_){if(this._emitCompleteOnItems("layout",g),!(!g||!g.length)){var v=[];g.forEach(function(T){var S=this._getItemLayoutPosition(T);S.item=T,S.isInstant=_||T.isLayoutInstant,v.push(S)},this),this._processLayoutQueue(v)}},m._getItemLayoutPosition=function(){return{x:0,y:0}},m._processLayoutQueue=function(g){this.updateStagger(),g.forEach(function(_,v){this._positionItem(_.item,_.x,_.y,_.isInstant,v)},this)},m.updateStagger=function(){var g=this.options.stagger;if(g==null){this.stagger=0;return}return this.stagger=f(g),this.stagger},m._positionItem=function(g,_,v,T,S){T?g.goTo(_,v):(g.stagger(S*this.stagger),g.moveTo(_,v))},m._postLayout=function(){this.resizeContainer()},m.resizeContainer=function(){var g=this._getOption("resizeContainer");if(g){var _=this._getContainerSize();_&&(this._setContainerMeasure(_.width,!0),this._setContainerMeasure(_.height,!1))}},m._getContainerSize=l,m._setContainerMeasure=function(g,_){if(g!==void 0){var v=this.size;v.isBorderBox&&(g+=_?v.paddingLeft+v.paddingRight+v.borderLeftWidth+v.borderRightWidth:v.paddingBottom+v.paddingTop+v.borderTopWidth+v.borderBottomWidth),g=Math.max(g,0),this.element.style[_?"width":"height"]=g+"px"}},m._emitCompleteOnItems=function(g,_){var v=this;function T(){v.dispatchEvent(g+"Complete",null,[_])}var S=_.length;if(!_||!S){T();return}var N=0;function U(){N++,N==S&&T()}_.forEach(function($){$.once(g,U)})},m.dispatchEvent=function(g,_,v){var T=_?[_].concat(v):v;if(this.emitEvent(g,T),a)if(this.$element=this.$element||a(this.element),_){var S=a.Event(_);S.type=g,this.$element.trigger(S,v)}else this.$element.trigger(g,v)},m.ignore=function(g){var _=this.getItem(g);_&&(_.isIgnored=!0)},m.unignore=function(g){var _=this.getItem(g);_&&delete _.isIgnored},m.stamp=function(g){g=this._find(g),g&&(this.stamps=this.stamps.concat(g),g.forEach(this.ignore,this))},m.unstamp=function(g){g=this._find(g),g&&g.forEach(function(_){n.removeFrom(this.stamps,_),this.unignore(_)},this)},m._find=function(g){if(g)return typeof g=="string"&&(g=this.element.querySelectorAll(g)),g=n.makeArray(g),g},m._manageStamps=function(){!this.stamps||!this.stamps.length||(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},m._getBoundingRect=function(){var g=this.element.getBoundingClientRect(),_=this.size;this._boundingRect={left:g.left+_.paddingLeft+_.borderLeftWidth,top:g.top+_.paddingTop+_.borderTopWidth,right:g.right-(_.paddingRight+_.borderRightWidth),bottom:g.bottom-(_.paddingBottom+_.borderBottomWidth)}},m._manageStamp=l,m._getElementOffset=function(g){var _=g.getBoundingClientRect(),v=this._boundingRect,T=o(g),S={left:_.left-v.left-T.marginLeft,top:_.top-v.top-T.marginTop,right:v.right-_.right-T.marginRight,bottom:v.bottom-_.bottom-T.marginBottom};return S},m.handleEvent=n.handleEvent,m.bindResize=function(){e.addEventListener("resize",this),this.isResizeBound=!0},m.unbindResize=function(){e.removeEventListener("resize",this),this.isResizeBound=!1},m.onresize=function(){this.resize()},n.debounceMethod(p,"onresize",100),m.resize=function(){!this.isResizeBound||!this.needsResizeLayout()||this.layout()},m.needsResizeLayout=function(){var g=o(this.element),_=this.size&&g;return _&&g.innerWidth!==this.size.innerWidth},m.addItems=function(g){var _=this._itemize(g);return _.length&&(this.items=this.items.concat(_)),_},m.appended=function(g){var _=this.addItems(g);_.length&&(this.layoutItems(_,!0),this.reveal(_))},m.prepended=function(g){var _=this._itemize(g);if(_.length){var v=this.items.slice(0);this.items=_.concat(v),this._resetLayout(),this._manageStamps(),this.layoutItems(_,!0),this.reveal(_),this.layoutItems(v)}},m.reveal=function(g){if(this._emitCompleteOnItems("reveal",g),!(!g||!g.length)){var _=this.updateStagger();g.forEach(function(v,T){v.stagger(T*_),v.reveal()})}},m.hide=function(g){if(this._emitCompleteOnItems("hide",g),!(!g||!g.length)){var _=this.updateStagger();g.forEach(function(v,T){v.stagger(T*_),v.hide()})}},m.revealItemElements=function(g){var _=this.getItems(g);this.reveal(_)},m.hideItemElements=function(g){var _=this.getItems(g);this.hide(_)},m.getItem=function(g){for(var _=0;_<this.items.length;_++){var v=this.items[_];if(v.element==g)return v}},m.getItems=function(g){g=n.makeArray(g);var _=[];return g.forEach(function(v){var T=this.getItem(v);T&&_.push(T)},this),_},m.remove=function(g){var _=this.getItems(g);this._emitCompleteOnItems("remove",_),!(!_||!_.length)&&_.forEach(function(v){v.remove(),n.removeFrom(this.items,v)},this)},m.destroy=function(){var g=this.element.style;
1g.height="",g.position="",g.width="",this.items.forEach(function(v){v.destroy()}),this.unbindResize();var _=this.element.outlayerGUID;delete c[_],delete this.element.outlayerGUID,a&&a.removeData(this.element,this.constructor.namespace)},p.data=function(g){g=n.getQueryElement(g);var _=g&&g.outlayerGUID;return _&&c[_]},p.create=function(g,_){var v=u(p);return v.defaults=n.extend({},p.defaults),n.extend(v.defaults,_),v.compatOptions=n.extend({},p.compatOptions),v.namespace=g,v.data=p.data,v.Item=u(r),n.htmlInit(v,g),a&&a.bridget&&a.bridget(g,v),v};function u(g){function _(){g.apply(this,arguments)}return _.prototype=Object.create(g.prototype),_.prototype.constructor=_,_}var w={ms:1,s:1e3};function f(g){if(typeof g=="number")return g;var _=g.match(/(^\d*\.?\d*)(\w*)/),v=_&&_[1],T=_&&_[2];if(!v.length)return 0;v=parseFloat(v);var S=w[T]||1;return v*S}return p.Item=r,p})});var hm=it((q5,bs)=>{(function(i,e){typeof define=="function"&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):typeof bs=="object"&&bs.exports?bs.exports=e(pm(),ms()):i.Masonry=e(i.Outlayer,i.getSize)})(window,function(e,t){"use strict";var o=e.create("masonry");o.compatOptions.fitWidth="isFitWidth";var n=o.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var r=0;r<this.cols;r++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var r=this.items[0],s=r&&r.element;this.columnWidth=s&&t(s).outerWidth||this.containerWidth}var a=this.columnWidth+=this.gutter,l=this.containerWidth+this.gutter,d=l/a,c=a-l%a,p=c&&c<1?"round":"floor";d=Math[p](d),this.cols=Math.max(d,1)},n.getContainerWidth=function(){var r=this._getOption("fitWidth"),s=r?this.element.parentNode:this.element,a=t(s);this.containerWidth=a&&a.innerWidth},n._getItemLayoutPosition=function(r){r.getSize();var s=r.size.outerWidth%this.columnWidth,a=s&&s<1?"round":"ceil",l=Math[a](r.size.outerWidth/this.columnWidth);l=Math.min(l,this.cols);for(var d=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",c=this[d](l,r),p={x:this.columnWidth*c.col,y:c.y},m=c.y+r.size.outerHeight,u=l+c.col,w=c.col;w<u;w++)this.colYs[w]=m;return p},n._getTopColPosition=function(r){var s=this._getTopColGroup(r),a=Math.min.apply(Math,s);return{col:s.indexOf(a),y:a}},n._getTopColGroup=function(r){if(r<2)return this.colYs;for(var s=[],a=this.cols+1-r,l=0;l<a;l++)s[l]=this._getColGroupY(l,r);return s},n._getColGroupY=function(r,s){if(s<2)return this.colYs[r];var a=this.colYs.slice(r,r+s);return Math.max.apply(Math,a)},n._getHorizontalColPosition=function(r,s){var a=this.horizontalColIndex%this.cols,l=r>1&&a+r>this.cols;a=l?0:a;var d=s.size.outerWidth&&s.size.outerHeight;return this.horizontalColIndex=d?a+r:this.horizontalColIndex,{col:a,y:this._getColGroupY(a,r)}},n._manageStamp=function(r){var s=t(r),a=this._getElementOffset(r),l=this._getOption("originLeft"),d=l?a.left:a.right,c=d+s.outerWidth,p=Math.floor(d/this.columnWidth);p=Math.max(0,p);var m=Math.floor(c/this.columnWidth);m-=c%this.columnWidth?0:1,m=Math.min(this.cols-1,m);for(var u=this._getOption("originTop"),w=(u?a.top:a.bottom)+s.outerHeight,f=p;f<=m;f++)this.colYs[f]=Math.max(w,this.colYs[f])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var r={height:this.maxY};return this._getOption("fitWidth")&&(r.width=this._getContainerFitWidth()),r},n._getContainerFitWidth=function(){for(var r=0,s=this.cols;--s&&this.colYs[s]===0;)r++;return(this.cols-r)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var r=this.containerWidth;return this.getContainerWidth(),r!=this.containerWidth},o})});var Oi={};cp(Oi,{createService:()=>Gv,default:()=>$n});function Xv(){let i=window.location.href.match(new RegExp("[?&#]wh-debug=([^&#?]*)"));return i?"?wh-debug="+i[1]:""}function Gv(i){let e=new xd(i);return new Proxy(e,new kd)}var $v,yd,$n,xd,kd,Pi=dp(()=>{"use strict";A();$v=1;yd=class{abortcontroller=new AbortController;timeout;_callurl;_fetchoptions;promise;timedout=!1;aborted=!1;legacyresolve;client;options;constructor(e,t,o,n,r,s,a){this.client=e,this.options=r,a.signal=this.abortcontroller.signal,r.timeout>0&&(this.timeout=r.timeout,setTimeout(()=>this._handleTimeout(),r.timeout)),r.signal&&r.signal.addEventListener("abort",()=>this._abort()),this._callurl=s,this._fetchoptions=a;let l=fetch(this._callurl,this._fetchoptions);this.promise=this._completeCall(t,o,n,l),this.promise.__jsonrpcinfo=this}_handleTimeout(){this.timedout=!0,this.abortcontroller.abort()}_abort(){this.aborted=!0,this.abortcontroller.abort()}_legacyResolve(e){this.legacyresolve=e,this.abortcontroller.abort()}async _completeCall(e,t,o,n){let r;try{for(;;){if(r=await n,r.status===429&&!("retry429"in this.options&&!this.options.retry429)&&r.headers.get("Retry-After")){let a=parseInt(r.headers.get("Retry-After"));this.options.debug&&console.warn(`[rpc] We are being throttled (429 Too Many Requests) - retrying after ${a} seconds`),await new Promise(l=>setTimeout(l,a*1e3)),n=fetch(this._callurl,this._fetchoptions);continue}break}}catch(a){if(this.options.debug&&console.log(`[rpc] #${o} Exception invoking '${e}'`,a),this.aborted)throw new Error("RPC Aborted");if(this.timedout)throw new Error(`RPC Timeout: timeout was set to ${this.timeout} milliseconds`);if(this.legacyresolve&&this.legacyresolve.resolve)return this.legacyresolve.resolve;throw new Error("RPC Failed: exception: "+a)}let s;try{s=await r.json(),this.options.debug&&console.log(`[rpc] #${o} Received response to '${e}'`,s)}catch(a){this.options.debug&&console.warn(`[rpc] #${o}
1 Response was not valid JSON`,a)}if(!s)throw new Error("RPC Failed: Invalid JSON/RPC response received");if(s&&s.error)throw this.client._tryLogError(t,s.error),new Error("RPC Error: "+(s.error.message||"Unknown error"));if(r.status===200&&s&&s.id!==o)throw new Error("RPC Failed: Invalid JSON/RPC response received");return this.options.wrapresult?{status:r.status,result:s.result||null,error:s.error||null,retryafter:r.headers.get("Retry-After")?parseInt(r.headers.get("Retry-After")):null}:s.result}},$n=class{options;url;addfunctionname;urlappend;constructor(e,t){this.options={timeout:0,debug:W.rpc,...t};let o;e?(o=e.match(/^([a-z0-9_]+):([a-z0-9_]+)$/),o?this.url=`${location.origin}/wh_services/${o[1]}/${o[2]}`:this.url=e):this.url=location.href,this.addfunctionname=this.options.addfunctionname!==void 0?this.options.addfunctionname:!!o,this.urlappend=this.options.urlappend!==void 0?this.options.urlappend:o?Xv():""}setOptions(e){this.options={...this.options,...e}}_handleLegacyRPCResolve(e,t){if(!e.__jsonrpcinfo)throw new Error("The promise is not an async JSONRPC request");e.__jsonrpcinfo._legacyResolve({resolve:t})}_tryLogError(e,t){let o=t.data?t.data.trace||t.data.list||[]:[];console.group(),console.warn("RPC failed:",t.message),o.forEach(n=>{if(n.filename||n.line){let r=n.filename+"#"+n.line+"#"+n.col+(n.func?" ("+n.func+")":"");console.log(r)}}),e&&(console.warn("Stack at calling point"),console.log(e)),console.groupEnd()}invoke(...e){let t;typeof e[0]=="object"?t={...this.options,...e.shift()}:t=this.options;let o=e.shift(),n=this.url;this.addfunctionname&&(n+=`/${o}`),n+=this.urlappend;let r=++$v,s;t.debug&&(s=new Error().stack,console.log(`[rpc] #${r} Invoking '${o}'`,e,n));let a={method:"POST",credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json; charset=utf-8"},body:JSON.stringify({id:r,method:o,params:e||[]}),keepalive:!!t.keepalive};return new yd(this,o,s,r,t,n,a).promise}},xd=class{rpcclient;static get HTTP_ERROR(){return-1}static get JSON_ERROR(){return-2}static get PROTOCOL_ERROR(){return-3}static get RPC_ERROR(){return-4}static get OFFLINE_ERROR(){return-5}static get TIMEOUT_ERROR(){return-6}static get SERVER_ERROR(){return-7}constructor(e){this.rpcclient=new $n(e)}rpcResolve(e,t){this.rpcclient._handleLegacyRPCResolve(e,t)}invoke(...e){return this.rpcclient.invoke(...e)}},kd=class{get(e,t,o){return t in e?Reflect.get(e,t,o):(...n)=>e.invoke(t,...n)}}});var Ld=it((PN,Cd)=>{"use strict";var Kv=(function(){var i="v1.2.0",e=null,t=null,o=null;async function n(x){let j=x.url,O=x.success,D=x.error,X=x.dataType,P={credentials:"same-origin",redirect:"follow"},E;for(let H=0;H<3;++H){j=j.replace("//www.webhare-test.utsp.utwente.nl/","//serviceportal.webhare-test.utsp.utwente.nl/");try{if(E=await fetch(j,P),E.status===200){if(E.redirected){j=E.url;continue}try{let G=X==="json"?await E.json():null;O(G);return}catch(G){D(E,null,G.message);return}}else{let G=E.statusText;G||(G="Not available"),D(E,null,G);return}}catch{D(E,null,"Connection error");return}}D(E,null,"Max tries exceeded")}function r(){try{Object.keys(localStorage).filter(function(x){return x.substr(0,8)=="searsia-"}).forEach(function(x){localStorage.removeItem(x)})}catch{}}function s(x,j){if(j!=null)try{window.localStorage["searsia-"+x]=j}catch{}}function a(x){try{window.localStorage["searsia-"+x]=null}catch{}}function l(x){var j=null;try{j=window.localStorage["searsia-"+x]}catch{}return j}function d(x){var j=!1;try{j=window.localStorage.hasOwnProperty("searsia-"+x)}catch{}return j}function c(x){o=x,s("mother",JSON.stringify(x)),x.id!=null?e=x.id:e="searsia",s("id",e)}function p(){var x;return o??(x=l("mother"),x?JSON.parse(x):null)}function m(x){t=x,s("apitemplate",x)}function u(){return t??l("apitemplate")}function w(){return e??l("id")}function f(x){var j=w();j!=null&&s(j+"/"+x.id,JSON.stringify(x))}function g(x){var j,O=w();return O==null?null:(j=l(O+"/"+x),j?JSON.parse(j):null)}function _(x){var j=w();return j==null?!1:d(j+"/"+x)}function v(x){var j=w();j!=null&&a(j+"/"+x)}function T(x,j,O,D,X){x[0]=="/"&&(x=u().split("/").slice(0,3).join("/")+x);var P,E,H,G=".json";return D&&(P=x.lastIndexOf("/"),E=x.indexOf("?"),P>4&&E>P&&(x.substring(P+1,E).indexOf(G)!==-1?H=G:H="",x=x.substring(0,P+1)+D+H+x.substring(E,x.length))),O==null&&(O=1),X==null&&(X=""),x=x.replace(/\{q\??\}/g,j),x=x.replace(/\{searchTerms\??\}/g,j),x=x.replace(/\{startPage\??\}/,O),x=x.replace(/\{resultType\??\}/,X),x.replace(/\{[A-Za-z]+\?\}/g,"")}function S(x,j){var O,D=x.length,X=100;if(D<X||j.score>x[X-1].score){for(D<X&&(D+=1),O=D-1;O>0&&x[O-1].score<j.score;)x[O]=x[O-1],O-=1;x[O]=j}}function N(x){return x.toLowerCase().replace(new RegExp("[^a-z0-9]+","g")," ").replace(new RegExp("^ +| +$","g"),"")}function U(x){return x=x.replace(/&/g,"&amp;"),x=x.replace(/"/g,"&#34;"),x}function $(x){return x=x.replace(/&/g,"&amp;"),x=x.replace(/</g,"&lt;"),x=x.replace(/>/g,"&gt;"),x}function ne(x,j){var O,D,X,P,E=0;for(P=N(x).split(/ +/),O=0;O<j.length;O+=1)for(X=P.length,X>1e3&&(X=1e3),D=0;D<X;)j[O]===P[D]&&(E+=1,D=X),D+=1;return E}function ee(x,j,O){var D,X,P="",E="";return x!=null&&x.length>O&&(j<0&&(j=0),j>2?(D=x.indexOf(" ",j-1),D===-1?D=j:D+=1,P="... "):D=0,j+O<x.length?(X=x.lastIndexOf(" ",j+O),X===-1&&(X=j+O-3),E=" ..."):X=j+O,x=P+x.substr(D,X-D)+E),x}
1function ae(x,j){var O,D,X,P,E,H;for(O=0;O<x.length;O+=1)if(E=-1,H=-1,j.length<2&&(E=0),x[O].description!=null){for(P=x[O].description.toLowerCase(),D=0;D<j.length;)E===-1?E=P.indexOf(j[D]):H===-1&&(X=E-120,X<0&&(X=0),H=P.indexOf(j[D],X),H===-1&&(H=P.indexOf(j[D]))),D+=1;E===-1&&(E=0),H===-1&&(H=0),E>H&&(X=E,E=H,H=X),H-E<120?P=ee(x[O].description,E-40,192):(P=ee(x[O].description,E-40,92),P+=ee(x[O].description,H-40,92)),x[O].description=P}}function me(x,j,O){var D,X,P,E,H,G,Z=[],oe=0,te=0;for(j=N(ie(j)),D=j.split(/ +/).sort(function(Ue,Re){return Re.length-Ue.length}),X=D.length,Z=[],H=0;te<x.hits.length&&(P=x.hits[te],E=0,G=0,P.title!=null&&(G=ne(P.title,D)),G===0&&P.url!=null&&(G=ne(P.url,D)/1.1),G<X&&P.description!=null&&(E=ne(P.description,D)),G*1.1>E?E=G*1.1:E+=G/10,E>0&&(E>=X&&(oe+=1),P.score=E,S(Z,P),E>H&&(H=E)),!(oe>=100));)te+=1;return O&&(ae(Z,D),x.hits=Z),H}function le(x,j){return j.match(/^https?:\/\//)||j.match(/^\/\//)?j:x==null?null:j.match(/^\//)?x.replace(/([a-z])\/.*$/,"$1")+j:x.replace(/\/[^/]+$/,"/")+j}function ze(x){if(!x)return null;var j=x.match(/:\/\/(www\.)?(.[^/:]+)/);return j==null?null:j[2]}function Se(){var x,j,O={q:"",r:"",p:"",t:""},D=window.location.search.substring(1),X=D.split("&");for(x=0;x<X.length;x+=1)j=X[x].split("="),j[0]==="q"?(O.q=j[1],O.q=O.q.replace(/%3C.*?%3E/g,""),O.q=O.q.replace(/%3C|%3E/g,""),O.q=O.q.replace(/^\++|\++$/g,"")):j[0]==="r"?O.r=j[1]:j[0]==="p"?O.p=j[1]:j[0]==="t"&&(O.t=j[1]);return O}function ie(x){return x=x.replace(/\+/g," "),x=decodeURIComponent(x),$(x)}function Le(x){return x=ie(x),x=x.replace(/&amp;/g,"&"),x}function qe(x){return x=encodeURIComponent(x),x=x.replace(/%20/g,"+"),x}function qi(x,j,O,D){var X,P,E,H,G=!0,Z=!0,oe=!1,te=!0,Ue=x.hits.length-1,Re=null,ve=10;for(Ue>=ve&&(ve=Ue+1),E=x.resource,Re=Number(E.prior),(isNaN(Re)||Re==null)&&(Re=0),E.urltemplate!=null&&(H=ze(E.urltemplate)),X=Ue;X>=0;X-=1)P=x.hits[X],P.title==null?(P.title="Title",console.log("WARNING: result without title")):P.title=$(P.title),P.score=1/Math.sqrt(D)-X/ve,P.score<.001&&(P.score=.001),P.url==null?E.urltemplate!=null?P.url=T(E.urltemplate,qe(P.title),1,"",O):P.url=T("?q={searchTerms}&t={resultType?}",qe(P.title),null,null,O):(E.urltemplate?P.url=le(E.urltemplate,P.url):P.url=le(E.apitemplate,P.url),(H==null||H!==ze(P.url))&&(oe=!0),P.url=$(P.url)),P.description!=null&&(P.description=$(P.description),te=!1),P.image!=null&&(P.image=U(le(E.urltemplate,P.image)),te=!1),P.favicon==null&&E.favicon!=null&&(P.favicon=E.favicon),P.favicon!=null&&(P.favicon=U(P.favicon)),(P.tags==null||P.tags.indexOf("small")===-1)&&(Z=!1),(P.tags==null||P.tags.indexOf("image")===-1)&&(G=!1);G?E.type="images":Z||te?E.type="small":oe?E.type="full":E.type="web"}function or(x,j,O,D,X,P,E){var H,G,Z=!0,oe=0;D.resource&&D.resource.apitemplate&&f(D.resource),D.hits&&D.hits.length&&(oe=D.hits.length,H=me(D,x,!1),G=me(P,x,!0)),(oe===0||G-.5>H)&&(D=P,Z=!1,oe=D.hits.length),oe>0&&(qi(D,x,j,X),E({searsia:i,status:"hits",sessionid:O,resource:D.resource,hits:D.hits,rank:X,query:x,live:Z}))}function Xs(x,j,O,D,X){var P=0;function E(Nt,Vo){P===0&&Vo({searsia:i,sessionid:Nt,status:"done"})}function H(Nt,Vo,Yo,sr,ap,Js,$o){var lp=u();lp==null?$o({searsia:i,status:"error",sessionid:Yo,resource:{id:sr},message:"No API template found."}):(P+=1,n({url:T(lp,Nt,1,sr,Vo),success:function(ar){or(Nt,Vo,Yo,ar,ap,Js,$o),P-=1,E(Yo,$o)}
1,error:function(ar,ix,ox){ar&&ar.status===410?v(sr):or(Nt,Vo,Yo,Js,ap,Js,$o),console.log("WARNING: "+sr+" unavailable."),P-=1,E(Yo,$o)},timeout:12e3,dataType:"json"}))}var G,Z,oe,te=0,Ue=1,Re=[],ve=D.resource;if(ve!=null?(c(ve),ve.rerank!=null&&me(D,x,!0)):ve=p(),X({searsia:i,status:"start",sessionid:O,resource:ve}),Z=D.hits,Z==null||Z.length===0){X({searsia:i,status:"done",sessionid:O});return}for(;te<Z.length;){if(G=Z[te].rid,G==null)D.resource!=null&&D.resource.urltemplate!=null&&(Z[te].url=le(D.resource.urltemplate,Z[te].url)),X({searsia:i,hits:[Z[te]],query:x,status:"hits",sessionid:O,rank:Ue}),Ue+=1;else if(Re[G]!==1){if(oe={hits:[]},_(G)){for(oe.resource=g(G);te<Z.length&&Z[te].rid===G;)Z[te].title!=null&&Z[te].title!==""&&(Z[te].url!=null||oe.resource.urltemplate!=null)&&(Z[te].foundBefore==null||Date.now()-new Date(Z[te].foundBefore).getTime()<12096e5)&&oe.hits.push(Z[te]),te+=1;te-=1}else oe.resource={id:G};H(x,j,O,G,Ue,oe,X),Re[G]=1,Ue+=1}te+=1}}function Gs(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(x){var j=Math.random()*16|0,O=x==="x"?j:j&3|8;return O.toString(16)})}function nr(x,j){var O,D,X,P=null,E=u(),H=Gs();if(E==null){j({status:"error",error:"First initialize with searsia.initClient(apiTemplate)"});return}if(x.q==null||x.q===""){j({status:"error",sessionid:H,error:"No query."});return}if(x.q.length>150){j({status:"error",sessionid:H,error:"Query too long."});return}return D=qe(x.q),x.p==null?X=1:X=x.p,x.t&&(P=x.t),O=T(E,D,X,null,P),n({url:O,success:function(G){Xs(D,P,H,G,j)},error:function(G,Z,oe){console.log("ERROR: "+oe),j({status:"error",sessionid:H,error:"Temporarily out of order. Please try again later."})},timeout:1e4,dataType:"json"}),H}function rr(x){var j=u();j==null?x({status:"error",error:"If you see this then searsiaclient needs to be initialized with searsia.initClient(apiTemplate)"}):n({url:T(j,"","",null,null),success:function(O){O.resource!=null&&(O.status="connect",c(O.resource)),x(O)},error:function(O,D,X){console.log("ERROR: "+X),x({status:"error",error:X})},timeout:1e4,dataType:"json"})}function Ui(x){var j=u(),O=null;return x!==j?(r(),m(x)):O=p(),O?{resource:O}:null}return{urlParameters:function(){return Se()},printableQuery:function(x){return ie(x)},formQuery:function(x){return Le(x)},encodedQuery:function(x){return qe(x)},correctUrl:function(x,j){return le(x,j)},fillUrlTemplate:function(x,j,O,D,X){return T(x,j,O,D,X)},initClient:function(x){return Ui(x)},connectToServer:function(x){rr(x)},searchFederated:function(x,j){return nr(x,j)}}})();typeof Cd<"u"&&(Cd.exports=Kv)});var Bm=it((IN,Ii)=>{"use strict";var Qv={alsosearched:{type:"related"},alumni:{type:"news"},beeldbank:{type:"image"},bussen:{type:"pubtrans",group:"bus"},courses:{type:"courses"},cultuur:{type:"event"},didyoumean:{type:"didyoumean"},essays:{type:"publication"},evenementen:{type:"event"},facebook:{type:"news"},flickr:{type:"image"},forecast:{type:"weather",group:"weather"},instagram:{type:"image"},maps:{type:"location"},nieuws:{type:"news"},people:{type:"people"},publications:{type:"publication"},serviceportal:{type:"serviceportal"},treinen:{type:"pubtrans",group:"train"},utoday:{type:"news"},vimeo:{type:"video"},youtube:{type:"video"}},Zv=["courses","evenementen","googlecustom","nieuws","people","serviceportal"],e0={nl:["de","een","en","het","of","a","an","and","or","the"],en:["a","an","and","or","the"]};typeof Ii<"u"&&(Ii.exports.MIN_SUGGEST_LENGTH=3,Ii.exports.NUM_SUGGESTIONS=5,Ii.exports.NUM_RELATED=5,Ii.exports.SEARSIA_SOURCES=Qv,Ii.exports.SEARSIA_DUPLICATE_RESOURCES=Zv,Ii.exports.QUERY_STOPWORDS=e0)});Ks();function Op(i){let e=[],t=new URL(location.href).searchParams.get(i);if(t&&e.push(...t.split(",")),typeof document<"u"){let o=document.cookie.match(`(?:^|;)\\s*${i}=([^;]*)`);if(o){let n=decodeURIComponent(o[1]);n&&e.push(...n.split(".").filter(r=>!r.startsWith("sig=")))}}if(typeof sessionStorage<"u"){let o=sessionStorage.getItem(i);o&&e.push(...o.split(","))}return e}hp();he();var on,ra,co="production",Pp=typeof document<"u"?document.querySelector("script#wh-config"):null;if(Pp?.textContent){let i=JSON.parse(Pp.textContent);on=jt(i,["siteroot","dtapstage","islive"]),ra=i.siteRoot??i.siteroot,co=i.dtapStage??i.dtapstage}pp(co,"/");if(typeof location<"u")for(let i of Op("wh-debug"))M[i]=!0;var Y={server:0,...on,obj:on?.obj||{},site:on?.site||{},siteRoot:ra||"",dtapstage:co,islive:co==="production"||co==="acceptance",siteroot:ra||""};typeof document<"u"&&(Y.locale=Wi().tag);if(co==="development")for(let i of["islive","dtapstage","siteroot","locale"])Object.defineProperty(Y,i,{get(){throw new Error(`frontendConfig.${i} will be removed`)}});function We(i,{allowMissing:e=!1}={}
1){let t=on?.[i];if(!t){if(e)return null;throw new Error(`Missing frontend data object: ${i}`)}return t}function sa(){return Y.siteRoot}gf();(function(){if("Iterator"in globalThis)return;let i={},e=Object.getPrototypeOf([][Symbol.iterator]()),t=Object.getPrototypeOf(e);Object.setPrototypeOf(t,i),Object.defineProperties(i,{[Symbol.iterator]:{value(){return this}},map:{*value(a){let l=this,d=l.next();for(;!d.done;){let p=yield a(d.value);d=l.next(p)}return d.value}},filter:{*value(a){let l=this,d=l.next(),c;for(;!d.done;){let p=d.value;a(p)&&(c=yield p),d=l.next(c)}return d.value}},find:{value(a){let l=this,d=l.next();for(;!d.done;){let c=d.value;if(a(c))return c;d=l.next()}}},every:{value(a){let l=this,d=l.next();for(;!d.done;){let c=d.value;if(!a(c))return!1;d=l.next()}return!0}},some:{value(a){let l=this,d=l.next();for(;!d.done;){let c=d.value;if(a(c))return l.return(),!0;d=l.next()}return!1}},toArray:{value(a=1/0){let l=[],d=this,c=d.next();for(;!c.done;){let p=c.value;if(a<=0)return l;l.push(p),a!==1/0&&a--,c=d.next()}return l}},take:{*value(a){if(a=Number(a),a<0)throw new RangeError("Invalid limit.");let l=this,d=l.next(),c=a,p;for(;!d.done;){let m=d.value;if(c<=0)return;p=yield m,d=l.next(p),c--}return d.value}},drop:{*value(a){if(a=Number(a),a<0)throw new RangeError("Invalid limit.");let l=this,d=l.next(),c=a,p;for(;!d.done;){let m=d.value;if(c>0){d=l.next(p),c--;continue}p=yield m,d=l.next(p)}return d.value}},asIndexedPairs:{*value(){let a=this,l=a.next(),d=0;for(;!l.done;){let c=l.value,p=yield[d,c];l=a.next(p),d++}return l.value}},flatMap:{*value(a){if(typeof a!="function")throw new TypeError("Mapper must be a function.");let l=this,d=l.next(),c;for(;!d.done;){let p=d.value,m=a(p);Symbol.iterator in m?c=yield*m[Symbol.iterator]():c=yield m,d=l.next(c)}return d.value}},reduce:{value(a,l){let d=l,c=this;d===void 0&&(d=c.next().value);let p=c.next();for(;!p.done;){let m=p.value;d=a(d,m),p=c.next()}return d}},forEach:{value(a){let l=this,d=l.next();for(;!d.done;){let c=d.value;a(c),d=l.next()}}},[Symbol.toStringTag]:{value:"IteratorPrototype"},count:{value(){let a=0,l=this,d=l.next();for(;!d.done;)a++,d=l.next();return a}},join:{value(a){let l="",d=!0,c=this,p=c.next();for(;!p.done;){let m=p.value;d?(d=!1,l+=m):l+=a+m,p=c.next()}return l}},chain:{*value(...a){yield*this;for(let l of a)yield*l}},zip:{*value(...a){let l=[this,...a].map(p=>Symbol.iterator in p?p[Symbol.iterator]():p),d=l.map(p=>p.next()),c;for(;d.every(p=>!p.done);)c=yield d.map(p=>p.value),d=l.map(p=>p.next(c))}},takeWhile:{*value(a){let l=this,d=l.next(),c;for(;!d.done;){let p=d.value;if(a(p))c=yield p;else return;d=l.next(c)}return d.value}},dropWhile:{*value(a){let l=this,d=l.next(),c,p=!1;for(;!d.done;){let m=d.value;if(!p&&a(m)){d=l.next(c);continue}p=!0,c=yield m,d=l.next(c)}return d.value}},fuse:{*value(){let a=this,l=a.next(),d;for(;!l.done;){let c=l.value;if(c!=null)d=yield c;else return;l=a.next(d)}return l.value}},partition:{value(a){let l=[],d=[],c=this,p=c.next();for(;!p.done;){let m=p.value;a(m)?l.push(m):d.push(m),p=c.next()}return[l,d]}},findIndex:{value(a){let l=this,d=0,c=l.next();for(;!c.done;){let p=c.value;if(a(p))return d;c=l.next(),d++}return-1}},max:{value(){let a=-1/0,l=this,d=l.next();for(;!d.done;){let c=d.value;a<c&&(a=c),d=l.next()}return a}},min:{value(){let a=1/0,l=this,d=l.next();for(;!d.done;){let c=d.value;a>c&&(a=c),d=l.next()}return a}},cycle:{*value(){let a=[],l=this,d=l.next();for(;!d.done;){let c=d.value;a.push(c);let p=yield c;d=l.next(p)}for(;;)yield*a}}});function o(a){if(a===null)return!1;let l=typeof a;return l==="object"||l==="function"}function n(a){if(!o(a))throw new TypeError;let l=a[Symbol.iterator],d;if(typeof l!="function"?d=a:d=l.call(a),!o(d))throw new TypeError;return d}if(!("Iterator"in globalThis)){let a=function(){};a.prototype=i,globalThis.Iterator=a}class r extends Iterator{#e;constructor(l){super(),this.#e=l}next(...l){return this.#e.next(...l)}return(l){let d=this.#e.return;return d===void 0?{done:!0,value:l}:d.call(this.#e)}}function s(a){let l=n(a);return l instanceof Iterator?l:new r(l)}Object.defineProperty(Iterator,"from",{writable:!0,enumerable:!1,
1configurable:!0,value:s})})();q();var aa;function vf(i){if(!_t(i.target)||!aa?.interfaceServers)return;let e=i.target.closest("a[href]");if(!e)return;let t=e.href;if(t.split("#")[0]!==location.href.split("#")[0])for(let o of aa.interfaceServers)try{window.top?.postMessage({type:"webhare-navigation",location:t},o)}catch{}}async function yf(){try{aa=await(await fetch("/.wh/ea/config/cms.json")).json()}catch(i){console.log("Failed to get CMS configuration",i);return}window.addEventListener("click",vf)}typeof window<"u"&&window!==window.top&&yf();q();re();he();globalThis.dataLayer||=[];var Ip;function qp(){globalThis.dataLayer&&(M.anl&&globalThis.dataLayer.slice(globalThis.dataLayer.indexOf(Ip)+1).forEach(i=>console.log("[anl] dataLayer.push:",i)),Ip=globalThis.dataLayer[globalThis.dataLayer.length-1])}function be(i,e){if(i.eventCallback){let t=i.eventCallback,o;new Promise(n=>o=n).then(()=>t()),setTimeout(()=>o,e?.timeout||200)}globalThis.dataLayer?.push(i),qp()}function xf(i){let e={},t={},o=k(i,"input[type=radio], input[type=checkbox]");for(let n of o){if(!n.name||e[n.name])continue;e[n.name]=!0;let r=0,s=[],a=[],l=o.filter(d=>d.name===n.name);for(let d of l.filter(c=>c.checked)){let c="form_"+n.name+(r?"_"+r:""),p=d.dataset.gtmTag||k(`label[for="${CSS.escape(d.id)}"]`).map(m=>m.textContent).filter(m=>!!m).join(" ");p=p.trim(),t[c]=d.value,t[c+"_label"]=p,++r,s.push(d.value),a.push(p)}if(s.length){let d="form_"+n.name+"_all";t[d]=s.join(";"),t[d+"_label"]=a.join(";")}}for(let n of i.querySelectorAll("input:not([type=radio]):not([type=checkbox]),select,textarea")){if(!n.name||e[n.name])continue;e[n.name]=!0;let r=n.value;if(t["form_"+n.name]=r,n.matches("select")){let s=n.options[n.selectedIndex];s&&(t["form_"+n.name+"_label"]=s.dataset.gtmTag||s.textContent)}}return t}var zp;function hr(){zp||(zp=!0,M.anl&&setInterval(qp,100))}function la(i){hr(),addEventListener("wh:form-analytics",e=>{let t={event:`${i?.eventPrefix||"platform:form_"}${e.detail.event}`};for(let[n,r]of Object.entries(e.detail))n!=="event"&&["string","number","boolean"].includes(typeof r)&&(t[`formmeta_${n}`]=r);let o=e.target;o?.dataset.gtmSubmit&&(Object.assign(t,JSON.parse(o.dataset.gtmSubmit)),Object.assign(t,xf(o))),be(t)})}q();q();q();re();Ks();var Qe,ki,po;function Up(i,e,t){if(typeof i!="string")throw new Error("Cookiename must be of type 'string'");if(M.cst&&console.log(`[cst] consenthandler initialized. cookiename: '${i}'`),ki=i,po={cookieduration:365,defaultconsent:[],...t},e)try{Qe=JSON.parse(vt(ki)),M.cst&&console.log("[cst] initial consent state:",Qe)}catch{}(!Qe||typeof Qe!="object"||Qe.v!==2||typeof Qe.c!="object")&&(Qe={v:2}),"c"in Qe?Bp():e&&J(e),Wp()}function Dp(i){if(i===void 0)throw new Error("hasConsent required a string argument");let e=nn();if(!(!e||!e.consent))return e.consent.includes(i)}function Hp(i){if(ki===void 0)throw new Error("Invoke consenthandler.setup before modifying consent state!");if(typeof i!="object"||!Array.isArray(i))throw new Error("Expecting an array in call to setConsent");let e=nn(),t=!1;if(e?.consent)for(let o of e.consent)i.includes(o)||(t=!0);if(!Qe)throw new Error("Attempting to change consent status before invoking consenthandler.setup");Qe.c=i.sort(),Qe.lc=new Date().toISOString(),Bp(),t&&(console.log("[cst] Reloading to handle revoked consent"),ue({type:"reload"})),Wp()}function nn(){return Qe?"c"in Qe?{consent:Qe.c,isdefault:!1}:po?.defaultconsent&&po?.defaultconsent.length>0?{consent:po.defaultconsent,isdefault:!0}:{consent:void 0,isdefault:!1}:null}function ur(i,e){window.addEventListener("wh:consent-changed",o=>{o.detail.consent?.includes(i)&&e(o.detail)});let t=nn();t&&t.consent&&t.consent.includes(i)&&(M.cst&&console.log("[anl] Invoking callback",t),e(t))}function kf(){let i=k(".wh-requireconsent__overlay"),e=nn().consent;M.cst&&console.log(`[cst] update ${i.length} consent overlay(s). ${e?`consent: ${e.length?e.join(", "):"<none>"}`:"<undefined>"}`),i.forEach(t=>{let o=t.closest(".wh-requireconsent");o&&o.dataset.whConsentRequired&&(t.hidden=e?.includes(o.dataset.whConsentRequired)||!1)})}function Wp(){let i=nn();if(!i||!i.consent){document.documentElement.dataset.whConsent="unknown";return}
1document.documentElement.dataset.whConsent=i.consent.length?i.consent.join(" "):"denied",M.cst&&console.log("[cst] Firing wh:consent-changed with",i),L(window,"wh:consent-changed",{bubbles:!1,cancelable:!1,detail:i}),J(kf)}function Bp(){ki&&mi(ki,JSON.stringify(Qe),{duration:po.cookieduration,domain:po.cookiedomain})}window.whResetConsent=function(){if(ki===void 0)throw new Error("Consent handler not setup");if(!ki)throw new Error("Consent handler is not handling storage");Yi(ki),console.log("Reloading for whResetConsent"),ue({type:"reload"})};var mr=We("socialite:gtm",{allowMissing:!0}),Vp;function Tf(i){let e=i.getAttribute("push");e&&window.dataLayer.push(...JSON.parse(e))}async function Sf(){if(Vp||!mr)return!1;Vp=!0,window.dataLayer.push({"gtm.start":Date.now()}),await new Promise(i=>window.setTimeout(i,1)),window.dataLayer.push({event:"gtm.js"}),await gi("https://www.googletagmanager.com/gtm.js?id="+encodeURIComponent(mr.a))}b("wh-socialite-gtm",Tf);mr?.a&&!mr?.m&&Sf();window.__gtmformsubmit=1;hr();A();Zo();var ca;async function Ef(i){let e={countrylang:i?.countrylang},t=await ri("publisher:rpc").getIPInfo(e),o={countrycode:t?t.country:"",creationdate:Date.now()};return t&&i?.countrylang&&(o={...o,["countrylang_"+i.countrylang]:t.countryname}),localStorage.setItem("_wh.geoinfo",JSON.stringify(o)),o}async function pa(i){let e={cachedays:7,countrylang:"",...i};ca&&await ca;let t=Promise.withResolvers();ca=t.promise;let o;try{let r=localStorage.getItem("_wh.geoinfo");r||(localStorage.setItem("_wh.geoinfo",JSON.stringify({dummy:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"})),r=localStorage.getItem("_wh.geoinfo")||""),o=JSON.parse(r)}catch(r){return console.error(r),t.resolve(),null}let n=!1;if((!o.creationdate||o.creationdate+e.cachedays*86400*1e3<=Date.now()||e.countrylang&&o.countrycode&&!("countrylang_"+e.countrylang in o))&&(n=!0),n&&(o=await Ef(i)),t.resolve(),o&&o.countrycode){let r={countrycode:o.countrycode};return e.countrylang&&(r.countryname=o["countrylang_"+e.countrylang]),r}return null}_f();var Yp=De,ha=He,$p=xi,Xp=Qo;q();var Jp=ia,Ti=vt,Kp=mi,gr=Yi;q();he();q();Zo();re();q();re();bf();he();function Qp(i){return i.startsWith("http:")||i.startsWith("https:")}function Lf(){if(!Xo)throw new Error("You must set the baseUrl option when using the RPC Client outside Webhare");return Qp(Xo)?Xo:new URL(Xo,location.origin)}var ma=class{client;options;abortcontroller;timeout;_callurl;_fetchoptions;promise;timedout;aborted;constructor(e,t,o,n,r,s){this.client=e,this.options=n,(n.timeout||n.signal)&&(this.abortcontroller=new AbortController,s.signal=this.abortcontroller.signal,n.timeout&&n.timeout>0&&(this.timeout=n.timeout,setTimeout(()=>this._handleTimeout(),n.timeout)),n.signal&&n.signal.addEventListener("abort",()=>this._abort())),this._callurl=r.toString(),this._fetchoptions=s;let a=fetch(this._callurl,this._fetchoptions);this.promise=this._completeCall(t,o,a)}_handleTimeout(){this.timedout=!0,this.abortcontroller?.abort()}_abort(){this.aborted=!0,this.abortcontroller?.abort()}async _completeCall(e,t,o){let n;for(;;){try{n=await o}catch(s){throw this.client.debug&&console.log(`[rpc] Exception invoking '${e}'`,s),this.aborted?new Error("RPC Aborted"):this.timedout?new Error(`RPC Timeout: timeout was set to ${this.timeout} milliseconds`):new Error("RPC Failed: exception: "+s)}if(this.options.onResponse?.(n),n.status===429&&!("retry429"in this.options&&!this.options.retry429)&&n.headers.get("Retry-After")){let s=parseInt(n.headers.get("Retry-After")||"");this.client.debug&&console.warn(`[rpc] We are being throttled (429 Too Many Requests) - retrying after ${s} seconds`),await new Promise(a=>setTimeout(a,s*1e3)),o=fetch(this._callurl,this._fetchoptions);continue}break}let r;try{if(r=ro(await n.text()),r.consoleLog)for(let s of r.consoleLog)console.log(`[remote:${s.method}] ${s.location?`${s.location.filename.split("/").at(-1)}:${s.location.line}: `:""}${s.data}`);this.client.debug&&console.log(`[rpc] Received response to '${e}'`,jt(r,["consoleLog","trace"]))}catch(s){throw this.client.debug&&console.warn("[rpc] Response was not val
1id JSON",s),new Error("RPC Failed: Invalid response received",{cause:s})}if("error"in r){let s=new Error(`RPC Error: ${r.error}`);if(r.trace)try{Fp(s,r.trace)}catch{}throw this.options.debug&&(console.group(),console.warn("RPC failed:",s),t&&(console.warn("Stack at calling point"),console.log(t)),console.groupEnd()),s}return r.result}},ga=class{url;options;constructor(e,t){this.url=e,this.options={timeout:0,debug:!1,...t}}get debug(){return this.options.debug||M.rpc}_tryLogError(e,t){}invoke(e,t){let o=Qp(this.url)?new URL(this.url+e):new URL(this.url+e,this.options.baseUrl||Lf()),n=null,r={method:"POST",headers:new Headers({Accept:"application/json","Content-Type":"application/json; charset=utf-8",...this.options.headers}),body:dr(t,{typed:!0})};return typeof location<"u"&&o.searchParams.set("pathname",location.pathname),this.debug&&(n=Lp(new Error),console.log(`[rpc] Invoking '${e}'`,t)),this.options.onBeforeRequest?.(o,r),new ma(this,e,n,this.options,o,r).promise}},fa=class{client;constructor(e){this.client=e}get(e,t,o){if(!["then","catch","finally"].includes(t))return t==="withOptions"?n=>{let r={...this.client.options,...n,headers:{...this.client.options.headers,...n.headers}};return ho(this.client.url,r)}:(...n)=>this.client.invoke(t,n)}};function ho(i,e){if(!i)throw new Error("You must specify either a WebHare rpcService name or a full URL");let t=i.match(/^([a-z0-9_]+):([a-z0-9_]+)$/);if(t)i=`/.wh/rpc/${t[1]}/${t[2]}/`;else if(!i.endsWith("/"))throw new Error("Service URL must end in a slash");let o=new ga(i,e);return new Proxy({},new fa(o))}var Zp="_publicauthdata";he();function Ff(){return We("wrd:auth",{allowMissing:!0})?.cookiename||null}function eh(){let i=Ff();if(!i)return null;try{return ro(vt(i+Zp))}catch{return null}}function fr(){return(eh()?.expiresMs||0)>Date.now()}function _r(){return fr()?eh()?.userInfo:null}function wr(i,e){let t=ri("wrd:auth");e?.passive&&(e={prompt:"none",...e,passive:void 0});let o=Promise.withResolvers();return t.startLogin2(location.pathname+location.search+location.hash,i,bp(e)||{}).then(n=>{ue(n)}).catch(n=>{o.reject(n)}),o.promise}function _a(){window.triggerWebHareSSO=wr}function br(i){return`/.wh/ea/ap/${i.replace(":",".")}/`}q();async function vr(i,e){let t=e?.doc??document,o=`${br(i)}ap.`;t.querySelector(`script[src$="${CSS.escape(o+"mjs")}"`)||await Promise.all([gi(o+"mjs",{module:!0,doc:t}),cr(o+"css",{doc:t})])}function wa(i){typeof window<"u"&&window.top===window&&De("wh-feedback:accesstoken")?.match(/^[^.]*\.[^.]*\.[^.]*$/)&&(window.whAuthorModeOptions=i,vr("platform:authormode"))}q();he();re();var Nf=/^([a-z0-9][-a-z0-9_]*[a-z0-9]):([a-z0-9][-.a-z0-9_]*[a-z0-9])$/,jf=/^(ds_[0-9a-z_]+)|(dn_[0-9a-z_]+)|(db_[0-9a-z_]+)$/,th=30,va,ba,Rf=!1,Mf=0,Si,uo;function Of(i){return{url:"/.wh/ea/pxl/",altSampleRate:0,altUrl:"/.wh/ea/pxl/alt/",sessionExpiration:th,noBrowser:!1,beacon:!1,...va,...i}}function $i(i,...e){if(console.error("[pxl] "+i,...e),!ii)throw new Error(i);return null}function Pf(i,e,t,o){if(o={...va,...o},typeof e!="string")return $i(`Invalid eventname name '${e}', expected string, got ${typeof e}`);if(!Nf.test(e))return $i(`Invalid eventname name '${e}', must be a valid module:event name`);if(t&&typeof t!="object")return $i(`Invalid data, expected object, got ${typeof t}`);ba||(ba=oi());let n=typeof document<"u"?new URL(i,document.baseURI):new URL(i);n.searchParams.set("pe",e),n.searchParams.set("pp",ba),n.searchParams.set("pc",String(++Mf)),n.searchParams.set("ps",xa()),n.searchParams.set("pi",o?.pi??ya()),o.altSampleRate&&n.searchParams.set("pr",String(o.altSampleRate));let r=ni();if(n.searchParams.set("bt",r.triplet),r.device&&n.searchParams.set("bd",r.device),typeof document<"u"&&(document.documentElement.dataset.whOb&&n.searchParams.set("ob",document.documentElement.dataset.whOb.substring(0,20)),document.location&&n.searchParams.set("bl",document.location.href.substring(0,1e3)),document.referrer&&n.searchParams.set("br",document.referrer.substring(0,1e3)),o.noBrowser||(n.searchParams.set("bu",window.navigator.userAgent.
1substring(0,300)),window.screen.width&&window.screen.height&&n.searchParams.set("bs",`${window.screen.width}x${window.screen.height}`),window.devicePixelRatio&&n.searchParams.set("bp",String(window.devicePixelRatio)))),t)for(let[s,a]of Object.entries(t)){let l=jf.exec(s);if(!l)return $i(`Invalid data field name '${s}', should be ds_XXX, dn_XXX or db_XXX with X consisting of characters in the range 0 - 9, a - z or an underscore`);let d=typeof a;if(l[1]){if(a&&d!=="string")return $i(`Invalid value type '${d}', expected 'string' for field '${s}'`);n.searchParams.set(s,a||"")}else if(l[2]){if(a&&d!=="number")return $i(`Invalid value type '${d}', expected 'number' for field '${s}'`);n.searchParams.set(s,String(a)||"0")}else if(l[3]){if(a&&d!=="boolean")return $i(`Invalid value type '${d}', expected 'boolean' for field '${s}'`);n.searchParams.set(s,a?"true":"false")}}return n}function ya(){if(!Si)try{let i=localStorage.getItem("_wh.ti");i&&new Date(i)>new Date&&(Si=localStorage.getItem("_wh.pi")||void 0,Si&&M.pxl&&console.log(`[pxl] Using id ${Si} from localStorage`)),Si||=oi();let e=va?.sessionExpiration??th,t=new Date(Date.now()+e*24*60*60*1e3);localStorage.setItem("_wh.pi",Si),localStorage.setItem("_wh.ti",t.toISOString())}catch{Si||=oi()}return Si}function xa(){if(!uo)try{uo=sessionStorage["_wh.ps"],uo||=oi(),sessionStorage["_wh.ps"]=uo}catch{uo||=oi()}return uo}function Be(i,e,t){let o=Of(t),n=Rf?o.altUrl:o.url;M.pxl&&console.log(`[pxl] Event '${i}'`,e),(async()=>{let r=Pf(n,i,e,o);if(!r)return;if(o.beacon&&typeof navigator<"u"&&navigator.sendBeacon){navigator.sendBeacon(r);return}M.pxl&&console.log(`[pxl] Pinging pxl '${r}'`);let s=await fetch(r,{mode:"no-cors",method:"HEAD",credentials:"same-origin",cache:"no-store",keepalive:!0});if(s.type==="opaque"){M.pxl&&console.log(`[pxl] Assuming succesful pxl event '${i}'`);return}if(!s.ok){console.error(`[pxl] Failed to send pxl event '${i}'`,s);return}o.onComplete&&await s.text(),M.pxl&&console.log(`[pxl] Successfully sent pxl event '${i}'`)})().catch(r=>{console.error(`[pxl] Error while sending pxl event '${i}'`,r)}).finally(()=>{o.onComplete?.()})}re();var oh=new Map;function yr(i,...e){let[t,o]=e,n={};for(let[r,s]of Object.entries(t??{}))if(s!==void 0)if(typeof s=="string")n[`ds_${r}`]=s;else if(typeof s=="number")n[`dn_${r}`]=s;else if(typeof s=="boolean")n[`db_${r}`]=s;else throw new Error(`Invalid type '${typeof s}' for PXL data key '${r}'`);Be(i,n,o)}function ka(i){let e=i?.eventPrefix||"platform:form_",t=oh.get(e);if(t&&Di!=="production")return console.error(`Duplicate setupFormAnalytics for prefix '${e}', earlier registration: `,t);oh.set(e,new Error),addEventListener("wh:form-analytics",o=>{let n={};for(let[r,s]of Object.entries(o.detail))r!=="event"&&["string","number","boolean"].includes(typeof s)&&(n[`formmeta_${r}`]=s);yr(`${e}${o.detail.event}`,n,o.detail.event==="abandoned"?{beacon:!0}:void 0)})}function mo(){return performance.getEntries()[0]?.serverTiming?.find(i=>i.name==="remoteip")?.description??null}re();function zf(){let i=document.getElementById("wh-console-log");if(i){let e=atob(i.textContent||"");console.group("[etr] Server-side console output"),console.log(e),console.groupEnd()}}J(zf);var xr="."+document.domain.split(".").slice(location.host.match(/webhare.(nl|dev)$/)?1:-2).join(".");function nh(){let i=(document.documentElement.lang||"").split("-")[0].toLowerCase();return["nl","de"].includes(i)?i:"en"}var Ta=class{_consent=!1;cookieName="utwente__avgconsent";avg=!0;constructor(){}reset(){Yi(this.cookieName,{domain:xr}),He("utwente-design:cookiebar-variant",null),location.reload()}info(){console.log("[utwente-avg-api] Cookiedomain = "+xr),console.log("[utwente-avg-api] Prefs = "+JSON.stringify(ye._getPrefs())),console.log("[utwente-avg-api] Settings = "+JSON.stringify({consent:ye._consent}))}getNewTexts(){let e="https://"+(location.host.match(/webhare.nl$/)?"utwente":"www")+xr;switch(nh()){case"nl":return{privacylink:"https://www.utwente.nl/over-de-website/",cookielink:e+"/nl/cookies/",accept:"Accepteren",reject:"Weigeren"};case"de":return{privacylink:"https://www.utwente.nl/de/ueber-unsere-webseite/",cookielink:e+"/de/cookies/",accept:"Zustimmen",reject:"Ablehnen"};default:return{privacylink:"https://www.utwente.nl/en/about-our-website/",cookielink:e+"/en/cookie
1s/",accept:"Accept",reject:"Reject"}}}getNewContent(e,t){switch(nh()){case"nl":return[h("h2",null,"Cookies"),h("p",null,"We gebruiken cookies en vergelijkbare technologie\xEBn en verwerken je persoonlijke gegevens (bijv. IP-adres) voor gepersonaliseerde content, advertenties en voor media integraties van externe aanbieders. Voor het gebruiken en analyseren van de website plaatsen wij altijd functionele en strikt analytische cookies. De gegevensverwerking voor niet-functionele en niet-analytische cookies vereist jouw toestemming. Voor meer informatie over het gebruik van je gegevens, bezoek onze ",h("a",{href:t},"privacyverklaring")," of ons ",h("a",{href:e},"cookiebeleid"),".")];case"de":return[h("h2",null,"Cookies"),h("p",null,"Wir verwenden Cookies und \xE4hnliche Technologien und verarbeiten deine personenbezogenen Daten (z.B. IP-Adresse) f\xFCr personalisierte Inhalte, Werbung und die Einbindung von Drittanbieter-Medien. Funktionale und strikt analytische Cookies werden immer gesetzt. F\xFCr nicht notwendige und nicht analytische Cookies ben\xF6tigen wir deine Einwilligung. Weitere Informationen findest du in unserer ",h("a",{href:t},"Datenschutzerkl\xE4rung")," oder unseren ",h("a",{href:e},"Cookie-Richtlinien"),".")];case"en":return[h("h2",null,"Cookies"),h("p",null,"We use cookies and similar technologies to process your personal data (e.g. IP address) for personalised content, ads and third-party media integrations. Functional and strictly analytical cookies are always set. Non-essential and non-analytical cookies require your permission. For more details, see our ",h("a",{href:t},"privacy statement")," or ",h("a",{href:e},"cookie policy"),".")]}}_showBar(){let e=()=>{ye._setPrefs({c:!1}),r.close()},t=()=>{ye._setPrefs({c:!0}),r.close()},o=this.getNewTexts(),n=[h("button",{type:"button",class:"wh-form__button",onClick:e},o.reject),h("button",{type:"button",class:"wh-form__button",onClick:t},o.accept)],r=h("dialog",{"data-nosnippet":!0,class:"utwente-cookiedialog"},this.getNewContent(o.cookielink,o.privacylink),h("div",{class:"utwente-cookiedialog__buttons"},n));document.body.appendChild(r),r.showModal(),getComputedStyle(r).display==="none"?r.close():document.activeElement?.blur?.()}_getPrefs(){try{let e=JSON.parse(vt(this.cookieName)||"{}");if(e?.v==="1"&&(this.cookieName="utwente__cookieprefs",e=JSON.parse(vt(this.cookieName)||"{}")),e.v===1)return{...e,isset:!0}}catch(e){console.log("Error parsing cookie",e)}return{isset:!1,c:!1}}_handlePrefs(e,{ischange:t=!1}){ye._consent=!!e.c;try{let o={utwenteAnalytics:!0,utwenteConsent:ye._consent};be({event:"utwente.cookiesettings",...o}),t&&be({event:"utwente.cookieconsent",...o}),document.documentElement.classList[ye._consent?"add":"remove"]("utwente--consent");let n=document.createEvent("HTMLEvents");n.initEvent("wh:consent-change",!0,!1),document.dispatchEvent(n)}catch(o){console.error(o)}}_setCookie(e){let t=JSON.stringify(e),o=new Date(Date.now()+86400*365*1e3);mi(this.cookieName,t,{domain:xr,expires:o,sameSite:"None",secure:!0})}_setPrefs(e){let t=this._getPrefs(),o={c:e.c??t.c,v:1,lc:new Date().toUTCString()};ye._setCookie(o),o.isset=!0,ye._handlePrefs(o,{ischange:!0})}setup(){let e=ye._getPrefs();if(ye._handlePrefs(e,{ischange:!1}),e.isset)ye._setCookie(e);else{if(document.documentElement.classList.contains("utwente--nocookiebar")||document.documentElement.classList.contains("wh-isstaticdownload")||document.documentElement.classList.contains("wh-widgetpreview")||document.querySelector("form.ut-cookiewidget, div.widget-cookiesettings")||location.host.match(/utchallenge.nl$/)||window.top!==window.self)return;ye._showBar()}}_save(){let e=document.querySelector("#utwenteCookiesConsent")?.checked||!1;this._setPrefs({c:e})}_accept(){this.acceptMarketingCookies()}acceptMarketingCookies(){this._setPrefs({c:!0})}getConsent(){return ye._consent}getAnalytics(){return!0}getCookieSettingsLink(){return this.getNewTexts().cookielink}getExplicitAnalytics(){return!0}},ye=new Ta;function rh(i){let e=i.elements.namedItem("thirdparty")??ge("Missing checkbox named 'thirdparty' in cookie settings form");e.checked=ye.getConsent(),e.addEventListener("change",t=>{ye._setPrefs({c:e.checked})}),i.inert=!1}function sh(){function i(){let e=[];ye.getConsent()&&e.push("marketing"),ye.getAnalytics()&&e.push("analytics"),Hp(e)}
1Up(""),window.addEventListener("wh:consent-change",i),i(),b(".utwente__marketing__checkbox",e=>e.addEventListener("change",function(){e.checked&&ye._setPrefs({c:!0})}))}J(()=>ye.setup());window.utwenteSetConsent=(i,e)=>ye._setPrefs({c:e});window.utwenteResetCookies=()=>ye.reset();var dt=ye;q();var ah=!1;window._cb=window._cb||[];function Uf(i){Dp("marketing")||(i.querySelector(".cb_online").style.display="",i.querySelector(".cb_offline").style.display="none");let e=function(o){_t(o.target)&&o.target.closest("#my_cb_button")||(i.classList.remove("cobrowserchatcontrol--opencontrol"),window.removeEventListener("touchstart",e))};i.querySelector(".cb_chatbutton")?.addEventListener("click",function(){i.classList.add("cobrowserchatcontrol--activated")}),i.querySelector(".cb_online .cb_chatbutton")?.addEventListener("click",function(){window.dataLayer.push({event:"chat-klik"})}),i.addEventListener("touchstart",function(o){i.classList.contains("cobrowserchatcontrol--opencontrol")||(o.preventDefault(),i.classList.add("cobrowserchatcontrol--opencontrol"),window.addEventListener("touchstart",e))});let t=document.querySelector("input#cobrowserchatcontrol_accept_cookies");t&&t.addEventListener("change",function(){t.checked&&(dt._setPrefs({c:!0}),Sa())})}function Sa(){let i=document.querySelector("#my_cb_button .cb_online");i&&ah&&getComputedStyle(i).display!=="none"?document.querySelector("#my_cb_button .cb_online .cb_click")?.click():setTimeout(Sa,200)}function Df(){let i=F("#my_cb_button");i&&(i.querySelector(".cb_online").style.display="none",i.querySelector(".cb_offline").style.display="",ah=!0,window._cb.push(["setSourceHash","58886d0920b635.17133377"]),window._cb.push(["setPrivacyLevel","allowTracking"]),window._cb.push(["setEndpoint","https://app.cobrowser.com//sdk/"]),window._cb.push(["setDataEndpoint","https://app.cobrowser.com//"]),window._cb.push(["setVersion",""]),window._cb.push(["forceTransport","jsonp"]),window._cb.push(["addPageview"]),window._cb.push(["setDefaultCss",!0]),window._cb.push(["setAutoLoad",!0]),window._cb.push(["setDebugMode",!1]),(location.pathname.startsWith("/en/online-open-day/")||location.pathname.startsWith("/en/online-open-day-int/"))&&window._cb.push(["pollAvailability",5e3]),document.body.appendChild(z("script",{id:"cb_script",src:"https://app.cobrowser.com/sdk/loader.js"})))}function lh(){b("#my_cb_button",Uf),ur("marketing",()=>Df()),location.hash&&location.hash.includes("#cobrowser")&&Sa()}q();sh();A();var go={};function ct(){return go||{}}function fo(){return go.guid||null}function fi(i){let e=fo();go={...go,...i},Kp("ut-settings",JSON.stringify(go),{duration:365}),e!==fo()&&L(window,"ut-settings-changed",{bubbles:!0,cancelable:!1,detail:{userguid:fo()}})}try{go=JSON.parse(Ti("ut-settings"))||{}}catch{}re();q();function dh(){try{return JSON.parse(vt("ut-sess"))||{}}catch{return{}}}function Hf(i){mi("ut-sess",JSON.stringify(i))}function ch(i){return{device:ni().triplet,firstreferrer:i}}function Ze(){let i=dh(),e=ct(),t={device:ni().triplet,firstreferrer:(e?e.firstreferrer:"")||"",firstrefertime:(e?e.firstrefertime:0)||0,sessionreferrer:i.referrer||"",sessionstart:i.start||0,clientid:(e?e.clientid:"")||""};if(dt.getConsent())for(let n of["gclid","gbraid","wbraid"])i[n]&&(t[n]=i[n]);let o=Object.keys(li()).filter(n=>n.startsWith("usertype-"))[0];return o?{...t,beaconusertype:o.substring(9)}:t}function Wf(){let i=ct(),e=(document.referrer||"direct:").substr(0,1e3);if(e){let r=new URL(e),s=new URL(location.href).searchParams;for(let a of s.keys())a.match(/^(gclid|utm_.*|fbclid|dyn_.*)$/)&&r.searchParams.set(a,s.get(a));e=r.toString()}let t=dh(),o=null;t.start||(M.anl&&console.log("[anl] trackFirstReferrer: stored as session referrer: "+e),o={referrer:e,start:Date.now()});let n=new URL(location.href);for(let r of["gclid","wbraid","gbraid"])n.searchParams.has(r)&&(o={...o,[r]:n.searchParams.get(r)||""});if(o&&Hf({...t,...o}),i.firstrefertime){let r=(Date.now()-i.firstrefertime)/864e5;if(r<90){M.anl&&console.log("[anl] trackFirstReferrer: ignoring referrer because currently stored referrer is "+r+" days old");return}}
1fi({firstreferrer:e,firstrefertime:Date.now()}),M.anl&&console.log("[anl] trackFirstReferrer: stored as first referrer: "+e)}Wf();A();var Xi={};cp(Xi,{WRDAuthenticationProvider:()=>rn,default:()=>e_,getDefaultAuth:()=>ht});A();q();re();lo();var Sh=st(wo());re();q();var Mt=null;function Zf(i){return i=i.split("/").slice(3).join("/"),i?"?b="+encodeURIComponent(i):""}function Th(i){return i.split("/").slice(0,3).join("/")}var rn=class{userinfo=null;constructor(e){e||(e={}),this.cookiename="cookiename"in e?e.cookiename:"webharelogin",this.refresh(),window.$wh$legacyAuthProvider=this}refresh(){this.isloggedin=!1,this.userinfo=_r(),this.logouturl="",this.loginservice=new Sh.default({url:"/wh_services/wrd/auth"});let e=Ti(this.cookiename+"_j"),t=Ti(this.cookiename+"_c");if(W.aut&&(console.log("[aut] "+this.cookiename+"_j="+e),console.log("[aut] "+this.cookiename+"_c="+t)),!!e&&!(!t||t.substr(0,e.length)!==e)&&(W.aut&&console.log("[aut] looks like we're still logged in"),this.isloggedin=!0,t.length>1))try{this.userinfo=JSON.parse(t.substr(e.length))}catch{}}getCurrentSessionId(){return Ti(this.cookiename+"_j")||""}logout(){let e=location.href;if(this.logouturl){let o=new URL(this.logouturl,e).toString();if(Th(e)!==Th(o))throw new Error("A logout URL is not allowed to change the origin");e=o}let t="/.wrd/auth/logout.shtml"+Zf(e);location.replace(t)}setupLoginForm(e){if(!e)throw new Error("No such form");new si(e,{Enter:t=>this._handleLoginForm(e,t)}),e.addEventListener("submit",t=>this._handleLoginForm(e,t)),e.addEventListener("click",t=>this._handleLoginClick(e,t))}_handleLoginClick(e,t){if(!e.hasAttribute("data-wh-wrdauth-attached")&&_t(t.target)&&t.target.closest(".wh-wrdauth__loginbutton"))return this._handleLoginForm(e,t)}_handleLoginForm(e,t){if(e.hasAttribute("data-wh-wrdauth-attached"))return;B(t);let o=e.querySelector('*[name="login"]'),n=e.querySelector('*[name="password"]'),r=e.querySelector('*[name="persistent"]');if(!o)throw new Error("No field named 'login' found");if(!n)throw new Error("No field named 'password' found");let s=r&&r.checked;this._tryLogin(e,o.value,n.value,{persistent:s})}login(e,t,o){return o={...o},new Promise((n,r)=>{let a={logincontrol:new URL(location.href).searchParams.get("wrdauth_logincontrol")||""};return this.loginservice.request("Login",[location.href,e,t,!!o.persistent,a],function(l){n(l)},function(l){r(l)})})}loginSecondFactor(e,t,o,n){return new Promise((r,s)=>{let l={logincontrol:new URL(location.href).searchParams.get("wrdauth_logincontrol")||""};return this.loginservice.request("LoginSecondFactor",[location.href,e,t,{...o},l],function(d){r(d)},function(d){s(d)})})}getAfterLoginSubmitInstruction(e={}){let t=new URL(location.href),o=e.logincontrol||t.searchParams.get("wrdauth_logincontrol")||"";return new Promise((n,r)=>{this.loginservice.request("getAfterLoginSubmitInstruction",[location.href,o],function(s){n(s)},function(s){r(s)})})}_tryLogin(e,t,o,n){let r=Q();e&&e.classList.add("submitting"),this.login(t,o,n).then(s=>this.onLoginSuccess(r,e,s)).catch(s=>this._onLoginFailure(r,e,n,s))}onLoginSuccess(e,t,o){t&&t.classList.remove("submitting");let n=()=>this._completeLoginSuccess(e,o,t);L(t||document.documentElement,"wh:wrdauth-onlogin",{bubbles:!0,cancelable:!0,detail:{callback:n,userinfo:o.userinfo},defaulthandler:n})}_completeLoginSuccess(e,t,o){if(e.release(),t.success){if(t.submitinstruction){ue(t.submitinstruction);return}console.log("Reloading after succesfull login"),ue({type:"reload"});return}this._failLogin("The specified login data is incorrect.",t,o)}_onLoginFailure(e,t,o,n,r){t&&t.classList.remove("submitting"),e.release(),this._failLogin("An error has occurred.",{code:n},t)}_failLogin(e,t,o){["REQUIRESETUPSECONDFACTOR","FAILEDVALIDATIONCHECKS","REQUIRESECONDFACTOR"].includes(t.code)&&(console.error(`Code "${t.code}" is NOT supported by @mod-wrd/js/auth - you will need to remove this library and fully switch to setupAuth in @webhare/frontend to support password requirements and/or MFA`),e="An internal error has occured in the account management system. Please contact the webmaster.");let n={message:e,code:t.code,data:t.data};!L(o||document.documentElement,"wh:wrdauth-loginfailed",{bubbles:!0,cancelable:!0,detail:n})||alert(e)}isLoggedIn(){return fr()}getUserInfo(){return _r()}setLogoutURL(e){this.logouturl=e}startLogin(e,t,o){o=o||{};let n=Promise.withResolvers();return this.loginservice.request("StartLogin",[e,t,location.href,o],n.resolve,n.reject),n.promise}startSAMLLogin(e,t){return this.startLogin("saml",e,t)}setupPage(){document.documentElement.classList.toggle("wh-wrdauth-loggedin",this.isLoggedIn()),document.documentElement.classList.toggle("wh-wrdauth--isloggedin",this.isLoggedIn())}static getDefaultAuth(){return Mt}};function ht(){return Mt}window.$wh&&window.$wh.WRDAuthenticationProvider?console.log("Both designfiles wrd.auth and @mod-wrd/js/auth are loaded. @mod-wrd/js/auth will not activate"):Y["wrd:auth"]&&(Mt=new rn(Y["wrd:auth"]),Mt.setupPage(),b(".wh-wrdauth__logout, .whplugin-wrdauth-logout",i=>{i.whplugin_processed=!0,i.addEventListener("click",e=>{e.stopPropagation(),e.preventDefault(),Mt.logout()})}),b(".wh-wrdauth__loginform, .whplugin-wrdauth-loginform",i=>{i.whplugin_processed=!0,Mt.setupLoginForm(i)}),Mt.userinfo&&(b("*[data-wrdauth-text]",i=>{let e=i.dataset.wrdauthText;e in Mt.userinfo&&(i.textContent=Mt.userinfo[e])}),b("*[data-wrdauth-value]",i=>{let e=i.dataset.wrdauthValue;e in Mt.userinfo&&(i.value=Mt.userinfo[e])})));var e_=rn;window.$wh$wrdauth=!0;function Sr(i){return i?i.startsWith("2001:67c:2564:")||i.startsWith("2001:610:1908:")||i.startsWith("130.89.")||i.startsWith("145.126.")&&parseInt(i.split(".")[2])<=95?"internal":"external":""}re();function Gi({prompt:i=!1,silent:e=!1,redirect:t=""}={}){let o=t||location.href,n=new URL("/.utdesign/auth/login.shtml",location.href);return n.searchParams.set("goto",o.substr(location.origin.length+1)),i&&n.searchParams.set("prompt","1"),e&&n.searchParams.set("silent","1"),n.toString()}function Ji(){return Xi?.getDefaultAuth()?.getUserInfo()}b(".ut-login--clicktologin,a[href^='x-ut-login:']",i=>i.addEventListener("click",e=>{B(e),location.href=Gi({redirect:i.dataset.redirect?i.dataset.redirect:""})}));(Di==="development"||Di==="test")&&console.log("To debug your login settings go to",new URL("/.utdesign/auth/userinfo.shtml?path="+encodeURIComponent(location.pathname),location.href).toString());var Er=Ji();window.dataLayer?.push({isloggedin:Er?"true":"false",logintype:Er?Er.isemployee?"Yes - employee":Er.isstudent?"Yes - student":"Yes - other":"No",company:Ji()?.company??"",network:Sr(mo())});Ks();var Ei={},Na=null;function t_(i){if(i.data&&i.data.formdone&&(window.dataLayer&&window.dataLayer.push({event:"formulier-submit",form:i.data.formdone+"-"+(i.data.country||""),form_programme:i.data.study||"",url:location.href}),!location.href.includes("ut-mld-no-redirect")))switch(i.data.formdone){case"meeloopdagen-ba-de":setTimeout(()=>document.location="/de/schnuppertag/bachelor/danke",100);break;case"meeloopdagen-ba-nl":setTimeout(()=>document.location="/meeloopdag/bachelor/bedankt",100);break;case"meeloopdagen-ba-int":setTimeout(()=>document.location="/en/student-for-a-day/bachelor/thanks",100);break;case"meeloopdagen-ma-de":setTimeout(()=>document.location="/de/schnuppertag/master/danke",100);break;case"meeloopdagen-ma-nl":setTimeout(()=>document.location="/meeloopdag/master/bedankt",100);break;case"meeloopdagen-ma-int":setTimeout(()=>document.location="/en/student-for-a-day/master/thanks",100);break}}function Eh(i){if(window.ga&&window.ga.getAll){for(let e of window.ga.getAll())if(e.get("trackingId")===i)return e}return null}function Ch(){let i=window.setTimeout(Ch,500),e=Eh("UA-9767236-1")||Eh("UA-9767236-16");if(e){let t=e.get("clientId");t&&(t!==ct().clientid&&fi({clientid:t}),window.clearTimeout(i),Xp("didclientidcheck",!0))}}function i_(){let i=ct(),e={paginatitel:document.title,fileid:document.documentElement.dataset.id||0,hoofdniveau:document.documentElement.dataset.hoofdniveau||"",subniveau:document.documentElement.dataset.subniveau||"",taal:(document.documentElement.lang||"").split("-")[0],opleiding:document.documentElement.dataset.programme||"",type:document.documentElement.dataset.targetinterest||"",userid:fo()||"",site:document.documentElement.dataset.site||"",experimentId:document.documentElement.dataset.experimentId||"",experimentVariant:document.documentElement.dataset.experimentVariant||"",country:i?.country||"",countryname:i?.countryname||"",network:Sr(mo())};window.dataLayer.push(e)}async function ut(){Na||(Na=pa({cachedays:1,countrylang:"en"}));let i=await Na;return i&&(fi({country:i.countrycode,countryname:i.countryname}),window.dataLayer.push({country:i.countrycode,countryname:i.countryname})),i?.countrycode||null}function Cr(){return new URL(location.href).searchParams.get("ut-countrycode")||ct().country||null}function mt(i,e){let t={};i&&(t.guid=i),e&&(t.firstname=e),fi(t),window.dataLayer&&window.dataLayer.push({userid:fo()||""})}function o_(i){if(!i.detail.extrasubmit.referralinfo){i.detail.extrasubmit.referralinfo=Ze();let e=Object.keys(Ei).filter(t=>t.startsWith("usertype-"))[0];e&&(i.detail.extrasubmit.referralinfo.beaconusertype=e.substr(9))}}function li(){return Ei}function Lh(){try{return localStorage["umc-beacons"]=JSON.stringify(Ei),window.setTimeout(function(){L(window,"ut-beaconchange",{bubbles:!0,cancelable:!0})},0),!0}catch(i){return console.log(i),!1}}function Ci(i,e){e||(e=Date.now()),window.dataLayer&&window.dataLayer.push({event:"trigger-user-beacon",beacon:i}),M.umc&&console.log(`[umc] Added ${i} with timestamp ${e}`),Ei[i]=e,Lh()}function bo(i){Ei[i]&&(window.dataLayer&&window.dataLayer.push({event:"clear-user-beacon",beacon:i}),M.umc&&console.log("[umc] Clearing "+i),delete Ei[i],Lh())}function n_(){Jp().filter(o=>
1o.name.match(/^ut-umc-setbeacon-/)).forEach(o=>{Ci(o.name.substr(17),parseInt(o.value)),gr(o.name,{domain:location.host.substr(location.host.indexOf("."))})});let i=Ji(),e="";i&&(i.isemployee?e="employee":i.isstudent&&(e="student"));let t=Ti("ut-user-type");if(t&&(["student","employee"].includes(e)||(e=t),location.host.endsWith(".utwente.nl")?gr("ut-user-type",{domain:"utwente.nl"}):gr("ut-user-type")),e){let o=`usertype-${e}`;Object.keys(Ei).filter(n=>n!==o&&n.startsWith("usertype-")).forEach(bo),Ci(o)}}function r_(i){i.dataset.gtm&&window.dataLayer.push(JSON.parse(i.dataset.gtm))}try{Ei=JSON.parse(localStorage["umc-beacons"])||{}}catch{}b(".ut-beacon",i=>Ci(i.dataset.setbeacon));b("ut-anl",i=>r_(i));window.addEventListener("wh:form-preparesubmit",o_);n_();la({eventPrefix:"publisher:form"});addEventListener("wh:form-analytics",i=>{i.detail.event==="submitted"&&i.target.dataset.gtmSubmit&&setTimeout(()=>be({event:"formulier-submit"}),1)});i_();window.addEventListener("message",i=>t_(i));ut().then(()=>{},()=>{});$p("didclientidcheck")||window.addEventListener("load",Ch);re();var s_=1;async function a_(){for(let i of We("utwente_base:nextpager",{allowMissing:!0})?.predictions||[])await fetch(i,{mode:"no-cors"})}async function l_(){if(!document.documentElement.lang.startsWith("en"))return;let i=M["ut-performance-optin"],e=i?1:s_;Math.random()>e||await ut()==="NL"&&!i||document.referrer&&document.referrer.startsWith(location.origin)&&yr("utwente_base:internal_referrer")}function Fh(){l_(),document.documentElement.lang.startsWith("en")&&J(()=>window.setTimeout(()=>{a_()},5e3))}A();function Ah(i){return i?.activeElement||null}function d_(){let i=window;for(;i.frameElement;)i=i.parent;return i}function Nh(i){return i&&i?.matches?.("iframe")?i:null}function sn(i){try{let e=Ah(d_().document);for(;;){let t=Nh(e);if(t&&(!i||t.ownerDocument!==i))e=Ah(t.contentDocument);else break}return e&&i&&e.ownerDocument!==i?null:e}catch{return null}}function ja(i,{ignoreInertAttribute:e=!1}={}){return!i.closest||!e&&i.closest("[inert]")?!1:i.contentEditable==="true"||i.shadowRoot?.delegatesFocus?!0:i.tabIndex>=0&&!i.disabled&&!(i.tagName==="A"&&!i.href)}function Ki(i,e){typeof e!="object"&&(e={recurseFrames:e});let t=[];if(!i)return t;for(let o of i.children){let n=getComputedStyle(o);if(!n||n.display==="none"||n.visibility==="hidden")continue;let r;if(e?.recurseFrames&&(r=Nh(o)))try{let a=Ki(r.contentDocument.documentElement,e);a.length&&(t=t.concat(a))}catch{}else ja(o,e)&&t.push(o);if(o.isContentEditable)continue;let s=Ki(o,e);s.length&&(t=t.concat(s))}return t}lo();var xt=[],an=null,Lr=null,ln=null;function c_(i){xt.length&&(B(i),xt[xt.length-1].options.allowcancel&&xt[xt.length-1].resolve(null))}function jh(i,e){if(!xt.length)return;B(i);let t=Ki(xt[xt.length-1].contentnode,!0),o=sn(),n=o?t.indexOf(o)+e:-1,r=n<0?t[t.length-1]:n>=t.length?t[0]:t[n];r&&at(r)}var Fr=class{options;_borrowedfrom=null;_borrowednext=null;contentnode;buttonsnode=null;_deferred;open;_previousfocus=null;constructor(e){if(this.options={allowcancel:!0,...e},this.options.borrow&&typeof this.options.borrow=="string"){let t=document.querySelector(this.options.borrow);if(!t)throw new Error("Invalid 'borrow' selectior: "+this.options.borrow);this.options.borrow=t}this.options.borrow&&(this._borrowedfrom=this.options.borrow.parentElement,this._borrowednext=this.options.borrow.nextElementSibling),this.options.signal&&this.options.signal.addEventListener("abort",()=>{this.resolve(null)}),this.contentnode=null,this._deferred=Promise.withResolvers(),this.open=!1}async runModal(){if(this.open)throw new Error("Attempting to re-open already opened dialog");an||(an=new si(window,{Escape:e=>c_(e),Tab:e=>jh(e,1),"Shift+Tab":e=>jh(e,-1)},{captureunsafekeys:!0,listenoptions:{capture:!0}})),this._previousfocus=sn(),this._openDialog(),this.open=!0,xt.push(this);try{return this.afterShow(),this._checkFocus(),await this._deferred.promise}finally{this.open&&this.closeDialog()}}_openDialog(){throw new Error("_openDialog not overridden by dialog class")}_checkFocus(){let e=Ki(this.contentnode,!0);e.length!==0?at(e[0]):at(document.body)}closeDialog(){if(!this.open)return;let e=xt.indexOf(this);e>=0&&xt.splice(e,1),this.open=!1,this.options.borrow&&(this._borrowedfrom?this._borrowedfrom.insertBefore(this.options.borrow,this._borrowednext):this._borrowednext?.remove()),this.options.focusonclose?at(this.options.focusonclose):this._previousfocus&&at(this._previousfocus),xt.length===0&&an&&(an.destroy(),an=null)}resolve(e){this.open&&this.closeDialog(),this._deferred.resolve(e)}afterShow(){}};function Rh(i,e){if(Lr){console.error("Duplicate setupDialogs call!");return}Lr=i,ln={messageboxclassbase:"dompack-messagebox__",...e}}function xe(i){if(!Lr)throw new Error("Cannot create dialog, no dialog class defined");let e=Lr(i);return e.options.borrow&&e.contentnode?.appendChild(e.options.borrow),e}async function Ne(i,e,t){e=e||[],t={allowcancel:e.length===0,...t};let o=xe(t),n=e.map(r=>z("button",{type:"button",className:ln?ln.messageboxclassbase+"button "+(r.className||""):"",textContent:r.title,on:{click:()=>o.resolve(r.result||r.title)},dataset:{messageboxResult:r.result||r.title}}
1));return typeof i=="string"&&(i=z("p",{textContent:i})),Array.isArray(i)?o.contentnode?.append(...i):o.contentnode?.append(i),o.buttonsnode?o.buttonsnode.append(...n):o.contentnode?.append(z("div",{className:ln?ln.messageboxclassbase+"buttongroup":"",childNodes:n})),o.runModal()}A();A();de();ot();function p_(i=document.body){typeof document>"u"||!i||Array.from(i.querySelectorAll("*[data-texttid]")).forEach(function(e){e.textContent=I(e.getAttribute("data-texttid")||"")})}typeof document<"u"&&document.addEventListener("DOMContentLoaded",()=>p_());var I=((...i)=>y(...i));Object.defineProperty(I,"tidLanguage",{get:Ie,set:tn});I.html=yt;var Pt=(ot(),Fe(lt)).registerTexts;Pt("publisher","en",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","nl",{site:{rtd:{embedvideo:{"playbutton-aria":"Speel video af",unrecognized:"De URL is niet herkend als een ondersteunde video URL",videourl:"Video URL"}}}});Pt("publisher","de",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","ar",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","bg",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","el",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","es",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","id",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","pt",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","ro",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});Pt("publisher","zh",{site:{rtd:{embedvideo:{"playbutton-aria":"Play video",unrecognized:"The URL is not recognized as a supported video URL",videourl:"Video URL"}}}});var h_="www.youtube.com",u_=["yuja"];window.__videosources||(window.__videosources=[]);function Mh(i,e){e={getPlaybackURL:"",...e},window.__videosources.push({tag:i,...e})}function Ma(i){let e=i&&i.inert,t=document.createElement("iframe");return t.style.width="100%",t.style.height="100%",t.setAttribute("frameborder",0),t.setAttribute("allowfullscreen",""),e&&t.setAttribute("inert",""),t.setAttribute("allow","autoplay; fullscreen"),t}function m_(i,e,t){let o=Ma(t),n=[];t.autoplay&&n.push("autoplay=1"),(e.mute||t.mute)&&n.push("mute=1"),e.starttime&&n.push("start="+Math.floor(e.starttime)),e.endtime&&n.push("end="+Math.floor(e.endtime)),typeof t.controls<"u"&&!t.controls&&n.push("controls=0"),(e.loop||t.loop)&&n.push("loop=1","playlist="+e.id),n.push("rel=0","enablejsapi=1","origin="+location.origin);let r=`//${h_}/embed/${e.id}`;n.length>0&&(r+="?"+n.join("&")),o.src=r,o.title=e.title?"YouTube video: "+e.title:"YouTube video",i.appendChild(o)}function g_(i,e,t){let o=Ma(t),n=[];t.autoplay&&n.push("autoplay=1"),(e.mute||t.mute)&&n.push("muted=1"),e.endtime&&console.warn("setting an endtime doesn't work for Vimeo video's"),t.controls===!1&&console.warn("disabling video controls not possible for Vimeo video's"),(e.loop||t.loop)&&n.push("loop=1"),t.background&&n.push("background=1"),t.api&&(n.push("api="+t.api),t.player_id&&n.push("player_id="+t.player_id));let r="//player.vimeo.com/video/"+e.id;if(n.length>0&&(r+="?"+n.join("&")),e.starttime){let s=e.starttime,a=Math.floor(s/60),l=s%60;r+="#t="+a+"m"+l+"s"}o.src=r,o.title=e.title?"Vimeo video: "+e.title:"Vimeo video",i.appendChild(o)}function Oa(i,e,t){let o={inert:!1,...t};if(!i.__initalized_iframe)switch(i.__initalized_iframe=!0,i.setAttribute("data-iframeloaded",""),e.network){case"youtube":m_(i,e,o);break;case"vimeo":g_(i,e,o);break;default:{let n=Ma(o),r=null;for(let s of window.__videosources)if(s.tag===e.network){r=s;break}if(r){let s=r.getPlaybackURL(e,o);n.src=s,n.title=e.title?"Video: "+e.title:"Video",i.appendChild(n)}else console.warn(`Unknown video network "${e.network}".`);break}}}function Oh(i){let e=JSON.parse(i.dataset.video),t=i.dataset.videoOptions?JSON.parse(i.dataset.videoOptions):{};i.innerHTML="",Oa(i,e,t)}function Ph(i){let e=JSON.parse(i.dataset.whVideo),t=k(i,".wh-video--activate");u_.includes(e.network)&&Oa(t[0],e,{autoplay:!1,inert:!0});for(let o of t){o.__initialized=!1,o.__initalized_iframe=!1,o.addEventListener("click",function(){dn(o,e)});let n=o.querySelector(".wh-video__playbutton");n.setAttribute("tabindex","0"),n.setAttribute("role","button"),n.setAttribute("aria-label",I("publisher:site.rtd.embedvideo.playbutton-aria")),n.addEventListener("click",function(){dn(o,e,{autoplay:!0})}),n.addEventListener("keypress",function(r){r.keyCode!==13&&r.keyCode!==32||(r.preventDefault(),dn(o,e,{autoplay:!0}))}),e.autoplay&&(i.dataset.whConsentRequired?ur(i.dataset.whConsentRequired,()=>dn(o,{...e,mute:!0},{autoplay:!0})):dn(o,{...e,mute:!0},{autoplay:!0}))}}function dn(i,e,t){if(!i.__initialized)if(i.querySelector(".wh-video__innerframe__preview").hidden=!0,i.__initialized=!0,i.hasAttribute("data-iframeloaded")){let o=i.querySelector("iframe");switch(o.removeAttribute("inert"),e.network){case"youtube":o.contentWindow.postMessage(JSON.stringify({event:"command",func:"playVideo"}),"https://www.youtube.com");break;case"yuja":o.contentWindow.postMessage({name:"Play"},"*");break}}else Oa(i,e,t)}Mh("yuja",{getPlaybackURL:__});b(".wh-video",i=>i.dataset.video?Oh(i):Ph(i));function __(i,e){let t=[],o=new URL("https://www.example.org/?"+i.id).searchParams,n=o.get("h"),r=o.get("v"),s=o.get("a"),a=`//${n}/V/Video`;return t.push("v="+encodeURIComponent(r)),t.push("a="+encodeURIComponent(s)),e.starttime&&t.push("starttime="+e.starttime),e.endtime&&console.warn("setting an endtime doesn't work for Yuja video's"),e.controls||console.warn("disabling video controls not possible for Yuja video's"),e.loop&&console.warn("loop isn't supported for Yuja video's"),t.length>0&&(a+="?"+t.join("&")),a}q();re();q();re();if(Y.site.colorscheme){let w=function(T){if(a=T,l=F(".theme__docstate-cta"),d=F(".theme__docstate-cta-hover"),!o||t.length<=1){M.uds&&console.log("[uds] No color animation",o,t);return}let S=De("ucs-start");S?(S=(Date.now()-S)%(n*1e3),S>0&&(s=-~~(S/1e3))):He("ucs-start",Date.now());let N=!1;if(window.CSS.registerProperty)try{getComputedStyle(a).getPropertyValue("--theme-color")?M.uds&&console.log("[uds] Using --theme-color* @property's"):(M.uds&&console.log("[uds] Register --theme-color* properties"),window.CSS.registerProperty({name:"--theme-color",syntax:"<color>",initialValue:"transparent",inherits:!1}),window.CSS.registerProperty({name:"--theme-color-cta",syntax:"<color>",initialValue:"transparent",inherits:!1}),window.CSS.registerProperty({name:"--theme-color-cta-hover",syntax:"<color>",initialValue:"transparent",inherits:!1})),!e&&!M.unc&&v(document.documentElement,["colorscheme","colorscheme-cta","colorscheme-cta-hover"]),a.style.backgroundColor="var(--theme-color)",l.style.backgroundColor="var(--theme-color-cta)",d.style.backgroundColor="var(--theme-color-cta-hover)",N=!0}catch(U){M.uds&&console.error("[uds] Registration failed",U)}if(N||(M.uds&&console.log("[uds] @property and registerProperty not available, falling back to color sync"),!e&&!M.unc&&(v(a,"colorscheme-background"),v(l,"colorscheme-background-cta"),v(d,"colorscheme-background-cta-hover"),window.setInterval(f,1e3/r),f())),e||M.unc){let U=t[1];M.uds&&console.log("[uds] Color animation disabled, showing random color",U),p=U,m=U,u=U,_()}},f=function(){c=c||requestAnimationFrame(g)},g=function(){c=null;let T=[],S=getComputedStyle(a).backgroundColor;S!==p&&(p=S,T.push("color")),S=getComputedStyle(l).backgroundColor,S!==m&&(m=S,T.push("color-cta")),S=getComputedStyle(d).backgroundColor,S!==u&&(u=S,T.push("color-cta-hover")),T.length&&_(T)},_=function(T){p&&(!T||T.includes("color"))&&document.documentElement.style.setProperty("--theme-color",p),m&&(!T||T.includes("color-cta"))&&document.documentElement.style.setProperty("--theme-color-cta",m),u&&(!T||T.includes("color-cta-hover"))&&document.documentElement.style.setProperty("--theme-color-cta-hover",u)},v=function(T,S){let N=e||M.unc?"paused":"",$=(Array.isArray(S)?S:[S]).map(ne=>`${ne} ${n}s ${s}s steps(${r*10}, end) infinite ${N}`).join(", ");
1if(T.style.animation=$,s){let ne=new MutationObserver(()=>{let ee=parseInt(T.style.animationDelay);ee||(M.uds&&console.warn(`[uds] Resetting ${S} animation delay`,ee,s),T.style.animationDelay=`${s}s`),ne.disconnect()});ne.observe(T,{attributes:!0,attributeFilter:["style"]})}};w_=w,b_=f,v_=g,y_=_,x_=v;let i=ni(),e=i.name==="chrome"&&i.platform==="android",t=Y.site.colorscheme,o=Y.site.animatethemecolor??!0,n=t.length*10,r=5,s=0,a=null,l=null,d=null,c=null,p,m,u;b(".theme__docstate",T=>w(T))}var w_,b_,v_,y_,x_;var Ih=ni(),M1=Ih.name==="chrome"&&Ih.platform==="android";A();var Ar=class extends Fr{_dialogclass;holdernode;modalitynode;constructor(e,t){super(t),this._dialogclass=e,this.contentnode=z("div",{className:this._dialogclass}),this.holdernode=z("div",{className:this._dialogclass+"__holder",childNodes:[this.contentnode]}),this.modalitynode=z("div",{className:this._dialogclass+"__modalbg",childNodes:[this.holdernode],on:{click:o=>this._onModalityClick(o),wheel:o=>B(o)}}),t?.theme&&this.modalitynode.classList.add(t.theme)}_openDialog(){document.body.appendChild(this.modalitynode)}closeDialog(){this.modalitynode.remove(),super.closeDialog()}_onModalityClick(e){this.holdernode.contains(e.target)||(B(e),this.options.allowcancel&&this.resolve(null))}afterShow(){Te(this.holdernode)}};A();de();var It=(ot(),Fe(lt)).registerTexts;It("utwente_base","en",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","nl",{"site-common":{texts:{"cookies-accept":"Accepteer","cookies-cookies":"cookies","cookies-touse":"Om deze functionaliteit te gebruiken:",no:"Nee",yes:"Ja"}}});It("utwente_base","de",{"site-common":{texts:{"cookies-accept":"akzeptieren","cookies-cookies":"Cookies","cookies-touse":"Zur Nutzung dieser Funktion:",no:"Nein",yes:"Ja"}}});It("utwente_base","ar",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","bg",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","el",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","es",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","id",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","pt",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","ro",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});It("utwente_base","zh",{"site-common":{texts:{"cookies-accept":"Accept","cookies-cookies":"cookies","cookies-touse":"To use this functionality you first need to:",no:"No",yes:"Yes"}}});function di(i){return getComputedStyle(i)}function nt(i,e){for(var t in e){var o=e[t];typeof o=="number"&&(o=o+"px"),i.style[t]=o}return i}function Nr(i){var e=document.createElement("div");return e.className=i,e}var zh=typeof Element<"u"&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function Li(i,e){if(!zh)throw new Error("No element matching method supported");return zh.call(i,e)}function yo(i){i.remove?i.remove():i.parentNode&&i.parentNode.removeChild(i)}function qh(i,e){return Array.prototype.filter.call(i.children,function(t){return Li(t,e)})}var je={main:"ps",rtl:"ps__rtl",element:{thumb:function(i){return"ps__thumb-"+i},rail:function(i){return"ps__rail-"+i},consuming:"ps__child--consume"},state:{focus:"ps--focus",clicking:"ps--clicking",active:function(i){return"ps--active-"+i},scrolling:function(i){return"ps--scrolling-"+i}}},Hh={x:null,y:null};function Wh(i,e){var t=i.element.classList,o=je.state.scrolling(e);t.contains(o)?clearTimeout(Hh[e]):t.add(o)}function Bh(i,e){Hh[e]=setTimeout(function(){return i.isAlive&&i.element.classList.remove(je.state.scrolling(e))},i.settings.scrollingThreshold)}function T_(i,e){Wh(i,e),Bh(i,e)}var cn=function(e){this.element=e,this.handlers={}},Vh={isEmpty:{configurable:!0}};cn.prototype.bind=function(e,t){typeof this.handlers[e]>"u"&&(this.handlers[e]=[]),this.handlers[e].push(t),this.element.addEventListener(e,t,!1)};cn.prototype.unbind=function(e,t){var o=this;this.handlers[e]=this.handlers[e].filter(function(n){return t&&n!==t?!0:(o.element.removeEventListener(e,n,!1),!1)})};cn.prototype.unbindAll=function(){for(var e in this.handlers)this.unbind(e)};Vh.isEmpty.get=function(){var i=this;return Object.keys(this.handlers).every(function(e){return i.handlers[e].length===0})};Object.defineProperties(cn.prototype,Vh);var xo=function(){this.eventElements=[]};xo.prototype.eventElement=function(e){var t=this.eventElements.filter(function(o){return o.element===e})[0];return t||(t=new cn(e),this.eventElements.push(t)),t};xo.prototype.bind=function(e,t,o){this.eventElement(e).bind(t,o)};xo.prototype.unbind=function(e,t,o){var n=this.eventElement(e);n.unbind(t,o),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)};
1xo.prototype.unbindAll=function(){this.eventElements.forEach(function(e){return e.unbindAll()}),this.eventElements=[]};xo.prototype.once=function(e,t,o){var n=this.eventElement(e),r=function(s){n.unbind(t,r),o(s)};n.bind(t,r)};function jr(i){if(typeof window.CustomEvent=="function")return new CustomEvent(i);var e=document.createEvent("CustomEvent");return e.initCustomEvent(i,!1,!1,void 0),e}function Rr(i,e,t,o,n){o===void 0&&(o=!0),n===void 0&&(n=!1);var r;if(e==="top")r=["contentHeight","containerHeight","scrollTop","y","up","down"];else if(e==="left")r=["contentWidth","containerWidth","scrollLeft","x","left","right"];else throw new Error("A proper axis should be provided");S_(i,t,r,o,n)}function S_(i,e,t,o,n){var r=t[0],s=t[1],a=t[2],l=t[3],d=t[4],c=t[5];o===void 0&&(o=!0),n===void 0&&(n=!1);var p=i.element;i.reach[l]=null,p[a]<1&&(i.reach[l]="start"),p[a]>i[r]-i[s]-1&&(i.reach[l]="end"),e&&(p.dispatchEvent(jr("ps-scroll-"+l)),e<0?p.dispatchEvent(jr("ps-scroll-"+d)):e>0&&p.dispatchEvent(jr("ps-scroll-"+c)),o&&T_(i,l)),i.reach[l]&&(e||n)&&p.dispatchEvent(jr("ps-"+l+"-reach-"+i.reach[l]))}function ke(i){return parseInt(i,10)||0}function E_(i){return Li(i,"input,[contenteditable]")||Li(i,"select,[contenteditable]")||Li(i,"textarea,[contenteditable]")||Li(i,"button,[contenteditable]")}function C_(i){var e=di(i);return ke(e.width)+ke(e.paddingLeft)+ke(e.paddingRight)+ke(e.borderLeftWidth)+ke(e.borderRightWidth)}var vo={isWebKit:typeof document<"u"&&"WebkitAppearance"in document.documentElement.style,supportsTouch:typeof window<"u"&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:typeof navigator<"u"&&navigator.msMaxTouchPoints,isChrome:typeof navigator<"u"&&/Chrome/i.test(navigator&&navigator.userAgent)};function _i(i){var e=i.element,t=Math.floor(e.scrollTop),o=e.getBoundingClientRect();i.containerWidth=Math.round(o.width),i.containerHeight=Math.round(o.height),i.contentWidth=e.scrollWidth,i.contentHeight=e.scrollHeight,e.contains(i.scrollbarXRail)||(qh(e,je.element.rail("x")).forEach(function(n){return yo(n)}),e.appendChild(i.scrollbarXRail)),e.contains(i.scrollbarYRail)||(qh(e,je.element.rail("y")).forEach(function(n){return yo(n)}),e.appendChild(i.scrollbarYRail)),!i.settings.suppressScrollX&&i.containerWidth+i.settings.scrollXMarginOffset<i.contentWidth?(i.scrollbarXActive=!0,i.railXWidth=i.containerWidth-i.railXMarginWidth,i.railXRatio=i.containerWidth/i.railXWidth,i.scrollbarXWidth=Uh(i,ke(i.railXWidth*i.containerWidth/i.contentWidth)),i.scrollbarXLeft=ke((i.negativeScrollAdjustment+e.scrollLeft)*(i.railXWidth-i.scrollbarXWidth)/(i.contentWidth-i.containerWidth))):i.scrollbarXActive=!1,!i.settings.suppressScrollY&&i.containerHeight+i.settings.scrollYMarginOffset<i.contentHeight?(i.scrollbarYActive=!0,i.railYHeight=i.containerHeight-i.railYMarginHeight,i.railYRatio=i.containerHeight/i.railYHeight,i.scrollbarYHeight=Uh(i,ke(i.railYHeight*i.containerHeight/i.contentHeight)),i.scrollbarYTop=ke(t*(i.railYHeight-i.scrollbarYHeight)/(i.contentHeight-i.containerHeight))):i.scrollbarYActive=!1,i.scrollbarXLeft>=i.railXWidth-i.scrollbarXWidth&&(i.scrollbarXLeft=i.railXWidth-i.scrollbarXWidth),i.scrollbarYTop>=i.railYHeight-i.scrollbarYHeight&&(i.scrollbarYTop=i.railYHeight-i.scrollbarYHeight),L_(e,i),i.scrollbarXActive?e.classList.add(je.state.active("x")):(e.classList.remove(je.state.active("x")),i.scrollbarXWidth=0,i.scrollbarXLeft=0,e.scrollLeft=i.isRtl===!0?i.contentWidth:0),i.scrollbarYActive?e.classList.add(je.state.active("y")):(e.classList.remove(je.state.active("y")),i.scrollbarYHeight=0,i.scrollbarYTop=0,e.scrollTop=0)}function Uh(i,e){return i.settings.minScrollbarLength&&(e=Math.max(e,i.settings.minScrollbarLength)),i.settings.maxScrollbarLength&&(e=Math.min(e,i.settings.maxScrollbarLength)),e}function L_(i,e){var t={width:e.railXWidth},o=Math.floor(i.scrollTop);e.isRtl?t.left=e.negativeScrollAdjustment+i.scrollLeft+e.containerWidth-e.contentWidth:t.left=i.scrollLeft,e.isScrollbarXUsingBottom?t.bottom=e.scrollbarXBottom-o:t.top=e.scrollbarXTop+o,nt
1(e.scrollbarXRail,t);var n={top:o,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?n.right=e.contentWidth-(e.negativeScrollAdjustment+i.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth-9:n.right=e.scrollbarYRight-i.scrollLeft:e.isRtl?n.left=e.negativeScrollAdjustment+i.scrollLeft+e.containerWidth*2-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:n.left=e.scrollbarYLeft+i.scrollLeft,nt(e.scrollbarYRail,n),nt(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),nt(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}function F_(i){var e=i.element;i.event.bind(i.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),i.event.bind(i.scrollbarYRail,"mousedown",function(t){var o=t.pageY-window.pageYOffset-i.scrollbarYRail.getBoundingClientRect().top,n=o>i.scrollbarYTop?1:-1;i.element.scrollTop+=n*i.containerHeight,_i(i),t.stopPropagation()}),i.event.bind(i.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),i.event.bind(i.scrollbarXRail,"mousedown",function(t){var o=t.pageX-window.pageXOffset-i.scrollbarXRail.getBoundingClientRect().left,n=o>i.scrollbarXLeft?1:-1;i.element.scrollLeft+=n*i.containerWidth,_i(i),t.stopPropagation()})}function A_(i){Dh(i,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),Dh(i,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])}function Dh(i,e){var t=e[0],o=e[1],n=e[2],r=e[3],s=e[4],a=e[5],l=e[6],d=e[7],c=e[8],p=i.element,m=null,u=null,w=null;function f(v){v.touches&&v.touches[0]&&(v[n]=v.touches[0].pageY),p[l]=m+w*(v[n]-u),Wh(i,d),_i(i),v.stopPropagation(),v.type.startsWith("touch")&&v.changedTouches.length>1&&v.preventDefault()}function g(){Bh(i,d),i[c].classList.remove(je.state.clicking),i.event.unbind(i.ownerDocument,"mousemove",f)}function _(v,T){m=p[l],T&&v.touches&&(v[n]=v.touches[0].pageY),u=v[n],w=(i[o]-i[t])/(i[r]-i[a]),T?i.event.bind(i.ownerDocument,"touchmove",f):(i.event.bind(i.ownerDocument,"mousemove",f),i.event.once(i.ownerDocument,"mouseup",g),v.preventDefault()),i[c].classList.add(je.state.clicking),v.stopPropagation()}i.event.bind(i[s],"mousedown",function(v){_(v)}),i.event.bind(i[s],"touchstart",function(v){_(v,!0)})}function N_(i){var e=i.element,t=function(){return Li(e,":hover")},o=function(){return Li(i.scrollbarX,":focus")||Li(i.scrollbarY,":focus")};function n(r,s){var a=Math.floor(e.scrollTop);if(r===0){if(!i.scrollbarYActive)return!1;if(a===0&&s>0||a>=i.contentHeight-i.containerHeight&&s<0)return!i.settings.wheelPropagation}var l=e.scrollLeft;if(s===0){if(!i.scrollbarXActive)return!1;if(l===0&&r<0||l>=i.contentWidth-i.containerWidth&&r>0)return!i.settings.wheelPropagation}return!0}i.event.bind(i.ownerDocument,"keydown",function(r){if(!(r.isDefaultPrevented&&r.isDefaultPrevented()||r.defaultPrevented)&&!(!t()&&!o())){var s=document.activeElement?document.activeElement:i.ownerDocument.activeElement;if(s){if(s.tagName==="IFRAME")s=s.contentDocument.activeElement;else for(;s.shadowRoot;)s=s.shadowRoot.activeElement;if(E_(s))return}var a=0,l=0;switch(r.which){case 37:r.metaKey?a=-i.contentWidth:r.altKey?a=-i.containerWidth:a=-30;break;case 38:r.metaKey?l=i.contentHeight:r.altKey?l=i.containerHeight:l=30;break;case 39:r.metaKey?a=i.contentWidth:r.altKey?a=i.containerWidth:a=30;break;case 40:r.metaKey?l=-i.contentHeight:r.altKey?l=-i.containerHeight:l=-30;break;case 32:r.shiftKey?l=i.containerHeight:l=-i.containerHeight;break;case 33:l=i.containerHeight;break;case 34:l=-i.containerHeight;break;case 36:l=i.contentHeight;break;case 35:l=-i.contentHeight;break;default:return}i.settings.suppressScrollX&&a!==0||i.settings.suppressScrollY&&l!==0||(e.scrollTop-=l,e.scrollLeft+=a,_i(i),n(a,l)&&r.preventDefault())}})}function j_(i){var e=i.element;function t(s,a){var l=Math.floor(e.scrollTop),d=e.scrollTop===0,c=l+e.offsetHeight===e.scrollHeight,p=e.scrollLeft===0,m=e.scrollLeft+e.offsetWidth===e.scrollWidth,u;return Math.abs(a)>Math.abs(s)?u=d||c:u=p||m,u?!i.settings.wheelPropagation:!0}function o(s){var a=s.deltaX,l=-1*s.deltaY;return(typeof a>"u"||typeof l>"u")&&(a=-1*s.wheelDeltaX/6,l=s.wheelDeltaY/6),s.deltaMode&&s.deltaMode===1&&(a*=10,l*=10),a!==a&&l!==l&&(a=0,l=s.wheelDelta),s.shiftKey?[-l,-a]:[a,l]}function n(s,a,l){if(!vo.isWebKit&&e.querySelector("select:focus"))return!0;
1if(!e.contains(s))return!1;for(var d=s;d&&d!==e;){if(d.classList.contains(je.element.consuming))return!0;var c=di(d);if(l&&c.overflowY.match(/(scroll|auto)/)){var p=d.scrollHeight-d.clientHeight;if(p>0&&(d.scrollTop>0&&l<0||d.scrollTop<p&&l>0))return!0}if(a&&c.overflowX.match(/(scroll|auto)/)){var m=d.scrollWidth-d.clientWidth;if(m>0&&(d.scrollLeft>0&&a<0||d.scrollLeft<m&&a>0))return!0}d=d.parentNode}return!1}function r(s){var a=o(s),l=a[0],d=a[1];if(!n(s.target,l,d)){var c=!1;i.settings.useBothWheelAxes?i.scrollbarYActive&&!i.scrollbarXActive?(d?e.scrollTop-=d*i.settings.wheelSpeed:e.scrollTop+=l*i.settings.wheelSpeed,c=!0):i.scrollbarXActive&&!i.scrollbarYActive&&(l?e.scrollLeft+=l*i.settings.wheelSpeed:e.scrollLeft-=d*i.settings.wheelSpeed,c=!0):(e.scrollTop-=d*i.settings.wheelSpeed,e.scrollLeft+=l*i.settings.wheelSpeed),_i(i),c=c||t(l,d),c&&!s.ctrlKey&&(s.stopPropagation(),s.preventDefault())}}typeof window.onwheel<"u"?i.event.bind(e,"wheel",r):typeof window.onmousewheel<"u"&&i.event.bind(e,"mousewheel",r)}function R_(i){if(!vo.supportsTouch&&!vo.supportsIePointer)return;var e=i.element;function t(w,f){var g=Math.floor(e.scrollTop),_=e.scrollLeft,v=Math.abs(w),T=Math.abs(f);if(T>v){if(f<0&&g===i.contentHeight-i.containerHeight||f>0&&g===0)return window.scrollY===0&&f>0&&vo.isChrome}else if(v>T&&(w<0&&_===i.contentWidth-i.containerWidth||w>0&&_===0))return!0;return!0}function o(w,f){e.scrollTop-=f,e.scrollLeft-=w,_i(i)}var n={},r=0,s={},a=null;function l(w){return w.targetTouches?w.targetTouches[0]:w}function d(w){return w.pointerType&&w.pointerType==="pen"&&w.buttons===0?!1:!!(w.targetTouches&&w.targetTouches.length===1||w.pointerType&&w.pointerType!=="mouse"&&w.pointerType!==w.MSPOINTER_TYPE_MOUSE)}function c(w){if(d(w)){var f=l(w);n.pageX=f.pageX,n.pageY=f.pageY,r=new Date().getTime(),a!==null&&clearInterval(a)}}function p(w,f,g){if(!e.contains(w))return!1;for(var _=w;_&&_!==e;){if(_.classList.contains(je.element.consuming))return!0;var v=di(_);if(g&&v.overflowY.match(/(scroll|auto)/)){var T=_.scrollHeight-_.clientHeight;if(T>0&&(_.scrollTop>0&&g<0||_.scrollTop<T&&g>0))return!0}if(f&&v.overflowX.match(/(scroll|auto)/)){var S=_.scrollWidth-_.clientWidth;if(S>0&&(_.scrollLeft>0&&f<0||_.scrollLeft<S&&f>0))return!0}_=_.parentNode}return!1}function m(w){if(d(w)){var f=l(w),g={pageX:f.pageX,pageY:f.pageY},_=g.pageX-n.pageX,v=g.pageY-n.pageY;if(p(w.target,_,v))return;o(_,v),n=g;var T=new Date().getTime(),S=T-r;S>0&&(s.x=_/S,s.y=v/S,r=T),t(_,v)&&w.preventDefault()}}function u(){i.settings.swipeEasing&&(clearInterval(a),a=setInterval(function(){if(i.isInitialized){clearInterval(a);return}if(!s.x&&!s.y){clearInterval(a);return}if(Math.abs(s.x)<.01&&Math.abs(s.y)<.01){clearInterval(a);return}if(!i.element){clearInterval(a);return}o(s.x*30,s.y*30),s.x*=.8,s.y*=.8},10))}vo.supportsTouch?(i.event.bind(e,"touchstart",c),i.event.bind(e,"touchmove",m),i.event.bind(e,"touchend",u)):vo.supportsIePointer&&(window.PointerEvent?(i.event.bind(e,"pointerdown",c),i.event.bind(e,"pointermove",m),i.event.bind(e,"pointerup",u)):window.MSPointerEvent&&(i.event.bind(e,"MSPointerDown",c),i.event.bind(e,"MSPointerMove",m),i.event.bind(e,"MSPointerUp",u)))}var M_=function(){return{handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1}},O_={"click-rail":F_,"drag-thumb":A_,keyboard:N_,wheel:j_,touch:R_},pn=function(e,t){var o=this;if(t===void 0&&(t={}),typeof e=="string"&&(e=document.querySelector(e)),!e||!e.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=e,e.classList.add(je.main),this.settings=M_();for(var n in t)this.settings[n]=t[n];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var r=function(){return e.classList.add(je.state.focus)},s=function(){return e.classList.remove(je.state.focus)};this.isRtl=di(e).direction==="rtl",this.isRtl===!0&&e.classList.add(je.rtl),this.isNegativeScroll=(function(){var d=e.scrollLeft,c=null;return e.scrollLeft=-1,c=e.scrollLeft<0,e.scrollLeft=d,c})(),this.negativeScrollAdjustment=this.isNegativeScroll?e.scrollWidth-e.clientWidth:0,this.event=new xo,this.ownerDocument=e.ownerDocument||document,this.scrollbarXRail=Nr(je.element.rail("x")),e.appendChild(this.scrollbarXRail),this.scrollbarX=Nr(je.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",r),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var a=di(this.scrollbarXRail);this.scrollbarXBottom=parseInt(a.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=ke(a.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=ke(a.borderLeftWidth)+ke(a.borderRightWidth),nt
1(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=ke(a.marginLeft)+ke(a.marginRight),nt(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=Nr(je.element.rail("y")),e.appendChild(this.scrollbarYRail),this.scrollbarY=Nr(je.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",r),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var l=di(this.scrollbarYRail);this.scrollbarYRight=parseInt(l.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=ke(l.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?C_(this.scrollbarY):null,this.railBorderYWidth=ke(l.borderTopWidth)+ke(l.borderBottomWidth),nt(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=ke(l.marginTop)+ke(l.marginBottom),nt(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:e.scrollLeft<=0?"start":e.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:e.scrollTop<=0?"start":e.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(d){return O_[d](o)}),this.lastScrollTop=Math.floor(e.scrollTop),this.lastScrollLeft=e.scrollLeft,this.event.bind(this.element,"scroll",function(d){return o.onScroll(d)}),_i(this)};pn.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,nt(this.scrollbarXRail,{display:"block"}),nt(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=ke(di(this.scrollbarXRail).marginLeft)+ke(di(this.scrollbarXRail).marginRight),this.railYMarginHeight=ke(di(this.scrollbarYRail).marginTop)+ke(di(this.scrollbarYRail).marginBottom),nt(this.scrollbarXRail,{display:"none"}),nt(this.scrollbarYRail,{display:"none"}),_i(this),Rr(this,"top",0,!1,!0),Rr(this,"left",0,!1,!0),nt(this.scrollbarXRail,{display:""}),nt(this.scrollbarYRail,{display:""}))};pn.prototype.onScroll=function(e){this.isAlive&&(_i(this),Rr(this,"top",this.element.scrollTop-this.lastScrollTop),Rr(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)};pn.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),yo(this.scrollbarX),yo(this.scrollbarY),yo(this.scrollbarXRail),yo(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)};pn.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(e){return!e.match(/^ps([-_].+|)$/)}).join(" ")};var kt=pn;async function Yh(i){let e=h("span",null,i.split(`
2`).map(t=>[t,h("br",null)]));return Ne(e,[{result:"yes",title:y("utwente_base:site-common.texts.yes")},{result:"no",title:y("utwente_base:site-common.texts.no")}],{allowcancel:!0})}var Mr=class extends Ar{utheadernode=h("div",{class:"ut-dialog__header"});ps;constructor(e){if(super("ut-dialog",e),e&&e.allowcancel){let o=h("button",{class:"ut-dialog--isclose ut-dialog__closeicon UT-icon-UT_icon_47_cross-16px",onClick:n=>{B(n),this.resolve("close")},"aria-label":y("utwente_base:frontend.ws2016.js.dialog-close-arialabel"),type:"button"});this.holdernode.appendChild(o)}this.contentnode.before(this.utheadernode),this.modalitynode?.addEventListener("wheel",o=>B(o)),(!e||!e.nativescroll)&&(this.ps=new kt(this.contentnode,{swipePropagation:!1,wheelPropagation:!1,suppressScrollX:!0})),new ResizeObserver(()=>this._checkContents()).observe(this.contentnode)}afterShow(){this.holdernode.clientHeight,this.holdernode.classList.add("ut-dialog--aftershow"),this.holdernode.setAttribute("tabindex","-1"),this.holdernode.focus(),k(this.holdernode,".wh-form__button").forEach(e=>e.classList.add("cta__button")),Te(this.holdernode),this.ps&&setTimeout(()=>this.ps.update(),510)}_checkContents(){this.holdernode.parentNode.classList.toggle("ut-dialog--expanded",this.contentnode.scrollHeight>this.contentnode.offsetHeight),this.ps&&this.ps.update()}};function Qi(i,e,t){t||(t={});let o=document.querySelector(".dialog__modal");if(o&&hn(),o=document.createElement("div"),o.className="dialog__modal"+(t.theme?" "+t.theme:""),t.theme&&o.classList.contains("withbackground"))if(t.background)o.style.backgroundImage="url("+t.background+")";else{let s=document.querySelector(".header__photo-0--background");if(s){let a=window.getComputedStyle(s,null).getPropertyValue("background-image");a&&(o.style.backgroundImage=a)}}let n=document.createElement("div");if(n.className="dialog__body",o.appendChild(n),i!==""){let s=document.createElement("div");s.className="title",s.innerHTML=i,n.appendChild(s)}if(!t.disable_close){let s=document.createElement("button");
2s.className="close UT-icon-UT_icon_47_cross-16px",s.setAttribute("type","button"),s.setAttribute("aria-label",y("utwente_base:frontend.ws2016.js.dialog-close-arialabel")),t.position_close&&t.position_close==="outside"?o.appendChild(s):n.appendChild(s)}let r=document.createElement("div");return r.className="dialog__content",n.appendChild(r),typeof e=="object"?r.appendChild(e):typeof e=="string"&&(r.innerHTML=e),t.disable_close||(o.addEventListener("click",hn),document.body.addEventListener("keydown",hn)),document.body.appendChild(o),n.clientHeight,o.classList.add("aftershow"),o}function hn(i){let e=document.querySelector(".dialog__modal");e&&(i&&(i.type==="keydown"&&i.keyCode!==27||i.type==="click"&&i.target!==e&&!i.target.classList.contains("close"))||(document.body.removeEventListener("keydown",hn),e.removeEventListener("click",hn),document.body.removeChild(e)))}A();en();b(".wh-rtd__tablewrap",i=>{let e=h("div",{class:"wh-rtd__tablewrap__scrollcontainer"});for(let t=0;t<i.children.length;++t)e.appendChild(i.children[t]);i.appendChild(e),Rt()==="ios"||Rt()==="android"?e.classList.add("nativescroll"):new kt(e,{swipePropagation:!0,wheelPropagation:!0,suppressScrollY:!0})});b(".article .wh-newsletter__formwidget",i=>i.classList.add("main__contents--fullwidth"));q();J(()=>{setTimeout(()=>{fetch("https://cdn.fonts.net/t/1.css?apiType=css&projectid=7c052a08-29f5-4c10-ab60-eeb1623773d6",{priority:"low"}).then(()=>{},()=>{})},200)});A();de();var zt=(ot(),Fe(lt)).registerTexts;zt("utwente_base","en",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
3`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
3oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","nl",{frontend:{ws2016:{js:{addtocalendar:"Voeg aan kalender toe","consentblock-accept3thpartycookies":"Accepteer cookies van derden","consentblock-facebook-accept3thpartycookies-suffix":"om de plugin te laden.","consentblock-facebook-line1":"Deze Facebook-plugin plaatst marketingcookies.","consentblock-facebook-title":"Dit element plaatst cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"om de speler te laden.","consentblock-soundcloud-directlink":"de website van SoundCloud.","consentblock-soundcloud-directlink-prefix":"Luisteren zonder cookies kan op","consentblock-soundcloud-line1":["De speler van ",1," plaatst marketingcookies."],"consentblock-soundcloud-title":"Deze audiospeler plaatst cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"om de tijdlijn te bekijken.","consentblock-twitterembed-line1":"De Twitter/X tijdlijn plaatst marketingcookies.","consentblock-video-accept3thpartycookies-suffix":"om de speler te laden.","consentblock-video-directlink":["de website van ",1,"."],"consentblock-video-directlink-prefix":"Kijken zonder cookies kan op","consentblock-video-line1":["De speler ",{t:"ifparam",p:1,value:"",subs:[],subselse:["van ",1]}," plaatst marketingcookies."],"consentblock-video-title":"Deze videospeler plaatst cookies",details:"Details","dialog-close-arialabel":"Sluit popup",email:"Je e-mailadres","error-imagenotfound":"Afbeelding niet gevonden","error-invalidemail":"Fout in e-mailadres","error-invalidurl":"Onbekende url",imageissendto:"Afbeelding is verstuurd naar:","landmark-deeplinks-arialabel":"Inhoudsopgave",list:"Lijst",nosuggestresults:"Geen resultaten",notavali
3dmobilephonenumber:"Dit is geen geldig mobiel nummer.",notavalidphonenumber:"Dit is geen geldig telefoonnummer.",readmore:"Lees verder",starsrequired:"* betekent dat een veld verplicht is",submit:"Verstuur",submitting:"Versturen...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"Er zijn geen resultaten","feedbackbar-result":"Resultaat","feedbackbar-results":[1," resultaten"],"feedbackbar-resultslimited":["De eerste ",2," resultaten worden getoond (van de totaal ",1," resultaten)"],hidefilters_header:"Verberg filters",search:"Zoeken",showfilters_header:"Toon filters","tease-noresults":"Geen resultaten","tease-result":["Toon ",1," resultaat"],"tease-results":["Toon ",1," resultaten"]},managedcta:{beacon:["Het beacon '",1,"' is getriggerd"],"beacon-maxdays":["Het beacon '",1,"' is getriggerd in de afgelopen ",{t:"ifparam",p:2,value:"1",subs:["dag"],subselse:[2," dagen"]}],"beacons-skipped":["Het beacon '",1,"' is niet getriggerd"],"beacons-skipped-none":"Geen enkel beacon is getriggerd","beacons-skipped-time":["Het beacon '",1,"' zou getriggerd moeten zijn voor ",2,", maar het is nu ",3],countries:["Het GeoIP-land is een van ",1],"countries-skipped":["De landcode '",2,"' is niet een van ",1],explanation:"Deze CTA wordt getoond wanneer","explanation-skipped":"Deze CTA wordt niet getoond omdat",noctatoshow:"Geen van de CTA's voldoet aan de voorwaarden",publish_from:["De pagina wordt bekeken na ",1],"publish_from-skipped":["De huidige datum ",2," ligt voor de publicatiedatum ",1],publish_until:["De pagina wordt bekeken voor ",1],"publish_until-skipped":["De huidige datum ",2," ligt na de publicatiedatum ",1],query:["De zoekterm matcht een van de zoektermen ",1],"query-skipped":["De zoekterm '",1,"' matcht met geen van de zoektermen"],"query-skipped-error":["De zoekterm '",1,"' veroorzaakte een fout: ",2],regex:["De URL matcht een van de reguliere expressies ",1],"regex-exclude":["De URL matcht geen van de reguliere expressies ",1],"regex-skipped":["De URL '",2,"' matcht de reguliere expressie ",1],"regex-skipped-error":["De reguliere expressie '",1,"' veroorzaakte een fout: ",2],"regex-skipped-none":["De URL '",1,"' matcht geen van de reguliere expressies"]},meetings:{"error-description":["Er is een fout opgetreden bij verwerken van de bijeenkomst.",`
4`,"Probeer het later opnieuw"],"error-title":"Fout tijdens verwerken","thanks-description":"Uw verzoek voor de bijeenkomst is opgeslagen. Er wordt binnenkort contact met u opgenomen.","thanks-title":"Bijeenkomst is opgeslagen"},neoform:{authorizednotset:"Om de zichtbaarheid te beperken moet minstens \xE9\xE9n ontvanger of type medewerker worden geselecteerd.","image-invalid-width":["De breedte van de afbeelding voldoet niet aan de eisen van ",2," pixels. Het vult niet het hele gebied bovenaan de pagina. We vullen de ontbrekende ruimte met een gegenereerde achtergrond. Als je dit niet wilt, upload dan een afbeelding die voldoet aan de minimale breedteeisen (",2," pixels)."],"image-read-error":"De ge\xFCploade afbeelding kon niet worden gelezen.",minheight:["De afbeelding is te klein. Deze moet minimaal ",2," pixels hoog zijn."]},newsevents:{archive:"Toon archief",next_article:"Volgend event","next_article-news":"Volgend bericht",noresults:"Geen resultaten",noupcoming:"Er zijn op dit moment geen aankomende evenementen",previous_article:"Vorig event","previous_article-news":"Vorig bericht","thanks-cultural":"Bedankt voor de reservering","thanks-event":"Bedankt voor de registratie",upcoming:"Ga naar evenementen"},osiris:{back:"Terug",goal:"Doel",loading:"Laden...",more:"Lees meer",moredetailslink:['Ga naar <a href="',1,'" target="osiris">het detailoverzicht</a> in de OSIRIS Onderwijscatalogus'],nocoursefound:"Vak niet gevonden"},pagefilters:{"close-filters":"Verberg filters","daterange-from":"Van","daterange-till":"Tot",reset:"Filters wissen","search-placeholder":"Zoeken","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 resultaat"],subselse:[1," resultaten"]}],"show-filters":"Toon filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["Geen resultaten"],subselse:["Toon ",{t:"ifparam",p:1,value:"1",subs:["1 resultaat"],subselse:[1," resultaten"]}]}]},searchsheet:{allevents:"Toon alle events",downloadmap:"Download de plattegrond",event:"Event",events:"Events",filteredresults:"Sommige zoekresultaten zijn verwijderd",image:"Afbeelding",location:"Locatie",news:"Nieuws","overflow--email":"Stuur een e-mail",people:"Persoon",peoplepage:"People Page",publication:"Publicatie",related:"Gerelateerde zoekopdrachten",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["Geen resultaten"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 resultaat"],subselse:[1," resultaten"]}]}]},' voor "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Bedoelde je misschien "%S%',3,'%/S%"?']}],route:"Route",searchall:". Probeer %S%alles te doorzoeken%/S%.",searchdone:"Er zijn geen verdere zoekresultaten!",searching:['Zoeken naar "',1,'"...'],suggestedresult:"Voorgesteld resultaat",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download als XLSX"},ufondsdonaties:{"error-description":"Probeer a.u.b. opnieuw.","error-title":"Betaling mislukt.","thanks-description":["Veel dank voor uw donatie!",`
5`,`
6`,"Universiteitsfonds Twente"],"thanks-title":"Bedankt"}}}}});zt("utwente_base","de",{frontend:{ws2016:{js:{addtocalendar:"Zum Kalender hinzuf\xFCgen","consentblock-accept3thpartycookies":"Bitte akzeptiere Cookies von Dritten","consentblock-facebook-accept3thpartycookies-suffix":"um dieses Element zu anzuzeigen.","consentblock-facebook-line1":"Dieses Element von Facebook setzt Marketing-Cookies.","consentblock-facebook-title":"Dieses Element setzt Cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"um den Player zu starten.","consentblock-soundcloud-directlink":"der Webseite von SoundCloud m\xF6glich.","consentblock-soundcloud-directlink-prefix":"Abspielen ohne Cookies zu laden ist auf","consentblock-soundcloud-line1":["Der Player von ",1," setzt Marketing-Cookies."],"consentblock-soundcloud-title":"Dieser Audio-Stream setzt Cookies","consentblock-video-accept3thpartycookies-suffix":"um den Player zu starten.","consentblock-video-directlink":["auf der Webseite von ",1," m\xF6glich."],"consentblock-video-directlink-prefix":"Abspielen ohne Cookies zu laden ist","consentblock-video-line1":["Der Player ",{t:"ifparam",p:1,value:"",subs:[],subselse:["von ",1]}," setzt Marketing-Cookies."],"consentblock-video-title":"Dieser Videoplayer setzt Cookies","landmark-deeplinks-arialabel":"Inhaltsverzeichnis",list:"Liste",nosuggestresults:"Keine Ergebnisse",notavalidmobilephonenumber:"Dies ist keine g\xFCltige Mobilnummer.",notavalidphonenumber:"Dies ist keine g\xFCltige Telefonnummer.",readmore:"Weiter Lesen",starsrequired:"* zeigt ein Pflichtfeld an",filteredoverview:{"feedbackbar-noresults":"Keine Ergebnis","feedbackbar-result":"Ergebnis","feedbackbar-results":[1," Ergebnisse"],hidefilters_header:"Filter ausblenden",showfilters_header:"Filter anzeigen","tease-noresults":"Es gibt keine Ergebnisse","tease-result":["Es gibt ",1," Ergebnis"],"tease-results":["Es gibt ",1," Ergebnisse"]},newsevents:{archive:"Zum Archief",next_article:"N\xE4chste event","next_article-news":"N\xE4chste Artikel",noresults:"Keine Ergebnisse",noupcoming:"Im Moment sind keine neuen Events bekannt",previous_article:"Vorhergehende event","previous_article-news":"Vorhergehende Artikel","thanks-cultural":"Vielen Dank f\xFCr die Reservierung","thanks-event":"Vielen Dank f\xFCr die Registrierung",upcoming:"Zu den aktuellen Events"},osiris:{back:"Zur\xFCck",goal:"Ziel",loading:"Laden...",more:"Weiterlesen",moredetailslink:['<a href="',1,'" target="osiris">Mehr Details</a> aus dem OSIRIS Vorlesungsverzeichnis'],nocoursefound:"Kurs nicht gefunden"},pagefilters:{"close-filters":"Filter ausblenden","daterange-from":"Von","daterange-till":"Bis",reset:"Filters L\xF6schen","search-placeholder":"Suchen","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 Ergebniss"],subselse:[1," Ergebnisse"]}],"show-filters":"Zeige Filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["Keine Ergebnisse"],subselse:["Zeige ",{t:"ifparam",p:1,value:"1",subs:["1 Ergebniss"],subselse:[1," Ergebnisse"]}]}]},searchsheet:{allevents:"Alle Events zeigen",downloadmap:"Download Campus-Karte",event:"Event",events:"Events",filteredresults:"Einzelne Suchergebnisse wurden gel\xF6scht",image:"Foto",location:"Ort",news:"News","overflow--email":"E-Mail versenden",people:"Personen",peoplepage:"Pers\xF6nliche Seite",publication:"Publikation",related:"\xC4hnliche Suchauftr\xE4ge",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["Keine Ergebnisse"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 Ergebnis"],subselse:[1," Ergebnisse"]}]}]},' f\xFCr "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Suchst du "%S%',3,'%/S%"?']}],route:"Wegbeschreibung",searchall:". Du kannst versuchen %S%alle zu suchen%/S%.",searchdone:"Keine weiteren Suchergebnisse vorhanden!",searching:['Suche "',1,'"...'],suggestedresult:"Vorgeschlagene Ergebnisse",utoday:"UToday",video:"Video"}}}}});zt("utwente_base","ar",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses co
6okies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
7`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
7oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","bg",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
8`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
8oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","el",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
9`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
9oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","es",{frontend:{ws2016:{js:{starsrequired:"* campo obligatorio",addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
10`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
10oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","id",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
11`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
11oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","pt",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
12`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
12oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","ro",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
13`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
13oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});zt("utwente_base","zh",{frontend:{ws2016:{js:{addtocalendar:"Add to calendar","consentblock-accept3thpartycookies":"Accept third-party cookies","consentblock-facebook-accept3thpartycookies-suffix":"to load the plugin.","consentblock-facebook-line1":"This Facebook plugin uses marketing cookies.","consentblock-facebook-title":"This element uses cookies","consentblock-soundcloud-accept3thpartycookies-suffix":"to load the player.","consentblock-soundcloud-directlink":"the SoundCloud website.","consentblock-soundcloud-directlink-prefix":"Listen without cookies on","consentblock-soundcloud-line1":["The ",1," player uses marketing cookies."],"consentblock-soundcloud-title":"This audio player uses cookies","consentblock-twitterembed-accept3thpartycookies-suffix":"to view the timeline.","consentblock-twitterembed-line1":"The Twitter/X timeline uses marketing cookies.","consentblock-video-accept3thpartycookies-suffix":"to load the player.","consentblock-video-directlink":["the ",1," website."],"consentblock-video-directlink-prefix":"Watch without cookies on","consentblock-video-line1":["The ",1," player uses marketing cookies."],"consentblock-video-title":"This video player uses cookies",details:"Details","dialog-close-arialabel":"Close dialog",email:"Your email address","error-imagenotfound":"Unable to send image","error-invalidemail":"Invalid email","error-invalidurl":"Invalid url",imageissendto:"The image is send to:","landmark-deeplinks-arialabel":"Table of contents",list:"List",nosuggestresults:"No results",notavalidmobilephonenumber:"This is not a valid mobile phone number.",notavalidphonenumber:"This is not a valid phone number.",readmore:"Read more",starsrequired:"* indicates a required field",submit:"Submit",submitting:"Submitting...",calendar:{appleical:"Apple iCal",facebook:"Facebook Event",google:"Google Calendar",outlook:"Outlook Calendar",outlookcom:"Outlook.com",yahoo:"Yahoo Kalender"},filteredoverview:{"feedbackbar-noresults":"No results","feedbackbar-result":"Result","feedbackbar-results":[1," results"],"feedbackbar-resultslimited":["Showing the first ",2," results (out of a total of ",1," results)"],hidefilters_header:"Hide filter",search:"Search",showfilters_header:"Filter","tease-noresults":"No results","tease-result":["Show ",1," result"],"tease-results":["Show ",1," results"]},managedcta:{beacon:["The beacon '",1,"' has been triggered"],"beacon-maxdays":["The beacon '",1,"' has been triggered in the last ",{t:"ifparam",p:2,value:"1",subs:["day"],subselse:[2," days"]}],"beacons-skipped":["The beacon '",1,"' was not triggered"],"beacons-skipped-none":"No beacons are triggered","beacons-skipped-time":["The beacon '",1,"' should have been triggered before ",2,", but is it ",3],countries:["The GeoIP country is one of ",1],"countries-skipped":["The current country code '",2,"' is not one of ",1],explanation:"This CTA is shown if","explanation-skipped":"This CTA is not shown because",noctatoshow:"None of the CTAs satisfy the conditions",publish_from:["The page is viewed after ",1],"publish_from-skipped":["The current date ",2," is before the publication date ",1],publish_until:["The page is viewed before ",1],"publish_until-skipped":["The current date ",2," is after publication date ",1],query:["The search term matches one of the search terms ",1],"query-skipped":["The search term '",1,"'does not match any of the search terms"],"query-skipped-error":["The search term '",1,"' caused an error: ",2],regex:["The URL matches one of the regular expressions ",1],"regex-exclude":["The URL matches none of the regular expressions ",1],"regex-skipped":["The URL '",2,"' matches regular expression ",1],"regex-skipped-error":["The regular expression '",1,"' caused an error: ",2],"regex-skipped-none":["The URL '",1,"' matches none of the regular expressions"]},meetings:{"error-description":["An error occurred while processing the meeting.",`
14`,"Please try again later."],"error-title":"Error while processing","thanks-description":"Your request for the meeting is successfully stored. You will be contacted soon.","thanks-title":"Meeting is stored"},neoform:{authorizednotset:"To limit visibility, select at least one of the recipients or employee types.","image-invalid-width":["The width of the picture does not meet the requirements of ",2," pixels. It does not fill the whole header area. We will fill the missing space with a generated background. If you don't want this, please upload a picture that meets the minimum width requirements (",2," pixels)."],"image-read-error":"The uploaded image could not be read.",minheight:["The image is too small. It should be at least ",2," pixels high."]},newsevents:{archive:"Show archive",next_article:"Next event","next_article-news":"Next article",n
14oresults:"No results",noupcoming:"No upcoming events available",previous_article:"Previous event","previous_article-news":"Previous article","thanks-cultural":"Thank you for the reservation","thanks-event":"Thank you for the registration",upcoming:"Go to events"},osiris:{back:"Back",goal:"Goal",loading:"Loading...",more:"Read more",moredetailslink:['Go to <a href="',1,'" target="osiris">the detailed overview</a> in the OSIRIS Course Catalog'],nocoursefound:"Course not found"},pagefilters:{"close-filters":"Hide filters","daterange-from":"From","daterange-till":"Till",reset:"Reset filters","search-placeholder":"Search","search-xresults":[{t:"ifparam",p:1,value:"1",subs:["1 results"],subselse:[1," results"]}],"show-filters":"Show filters","show-xresults":[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:["Show ",{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},searchsheet:{allevents:"Show all events",downloadmap:"Download the campus map",event:"Event",events:"Events",filteredresults:"Some search results have been deleted",image:"Image",location:"Location",news:"News","overflow--email":"Send an email",people:"People",peoplepage:"People Page",publication:"Publication",related:"Related searches",results:[{t:"tag",tag:"b",subs:[{t:"ifparam",p:1,value:"0",subs:["No results"],subselse:[{t:"ifparam",p:1,value:"1",subs:["1 result"],subselse:[1," results"]}]}]},' for "',2,'"',{t:"ifparam",p:3,value:"",subs:[],subselse:['. Did you mean "%S%',3,'%/S%"?']}],route:"Route",searchall:". You can try to %S%search all instead%/S%.",searchdone:"We found no further search results!",searching:['Searching for "',1,'"...'],suggestedresult:"Suggested result",utoday:"UToday",video:"Video"},tablewithfilter:{downloadxlsx:"Download as XLSX"},ufondsdonaties:{"error-description":"Please try again.","error-title":"Payment failed.","thanks-description":"Thank you for your donation!","thanks-title":"Thank you"}}}}});var $h={},Xh={};function P_(i,e,t){let o=e.split(":"),n=o.length===1;if(o.length>2){console.error(`Illegal merge expression: '${e}'`,i);return}let r="",s=(n?o[0]:o[1]).trim(),a=s.split("(");if(a.length>1){if(a.length!==2){console.error(`Illegal merge value: '${e}'`,i);return}r=a[0].trim();let c=a[1].split(")");if(c.length!==2||c[1]!==""){console.error(`Illegal merge value: '${e}'`,i);return}s=c[0].trim()}let l=t;if(s!=="*"){let c=s.split(".");for(let p=0;p<c.length;++p)if(l=l[c[p].trim()],typeof l>"u")return}if(n){r&&Xh[r]?Xh[r](i,l):console.error(r?`Unknown updating function '${r}' in '${e}'`:`A function is required for merges without a property (in '${e}')`,i);return}let d=o[0].trim();if(r)if($h[r])l=$h[r](l);else{console.error(`Unknown formatting function '${r}' in '${e}'`,i);return}if(typeof l!="string"&&typeof l!="number"){console.error(`Got a value of type ${typeof l} in '${e}'`,i);return}switch(d){case"events":case"styles":case"children":case"on":case"className":case"class":case"style":case"dataset":case"childNodes":{console.error(`Cannot modify '${d}' with merge`,i);return}default:{i[d]=l;return}}}async function ko(i,e,{filter:t}={}){let o=i.querySelectorAll("*[data-merge],*[data-wh-merge]");for(let n of Array.from(o)){if(n.nodeType!==1||t&&!t(n))continue;let r=(n.dataset.merge||n.dataset.whMerge)?.split(";");if(r)for(let s of r)P_(n,s,e)}}q();re();A();A();function Gh(i){return i.getFullYear()+"-"+("0"+(i.getMonth()+1)).slice(-2)+"-"+("0"+i.getDate()).slice(-2)}q();q();q();he();re();var Fi=Symbol("RegisteredField");de();he();q();function Ia(i,e,t){switch(e.matchtype){case"AND":case"OR":{let o=!1;for(let n of e.conditions)o=Ia(i,n,t)||o;return o}case"NOT":return Ia(i,e.condition,t);default:{let o=t.get(e.field);if(o&&i.querySelector(`[name="${o}"]`))return e.field=o,!0}}return!1}var mn=class{valueNode;nextrowid=0;template;insertPoint;arrayBaseName;handler;node;name;constructor(e,t,o,n){if(this.handler=e,this.node=t,this.name=n,this.arrayBaseName=t.dataset.whFormGroupFor||ge("Missing array base name"),this.template=F(t,"template")||ge("Missing array template"),this.insertPoint=this.template.parentNode.lastElementChild,!this.insertPoint.matches(".wh-form__arrayadd"))throw new Error("Missing array insert point");this.insertPoint.addEventListener("click",r=>this.onAddRow(r)),Ae(t,"click",r=>this._onClick(r)),this.valueNode=F(t,"input.wh-form__arrayinput")??ge("Missing array input"),this.valueNode.whUseFormGetValue=!0,this.valueNode.addEventListener("wh:form-getvalue",r=>this._onGetValue(r)),this.valueNode.addEventListener("wh:form-setvalue",r=>this._onSetValue(r));for(let r of k(this.node,".wh-form__arrayrow"))this._fixupRowNode(r);this._checkValidity()}get form(){let e=za(this.node.closest("form")??ge("Could not find <form>"))??ge("Could not find form for arrayfield");if(!e._getFieldsToValidate)throw new Error("The <form> is not ready yet");return e}addRow(){let e=this.template.content.cloneNode(!0);e.firstElementChild.dataset.whFormRowid=String(this.nextrowid++),this.insertPoint.parentNode.insertBefore(e,this.insertPoint);let t=this.insertPoint.previousElementSibling;return Te(t),Pr(t),this._fixupRowNode(t),this._checkValidity(),this.form.__scheduleUpdateConditions(),this.insertPoint.previousSibling}onAddRow(e){B(e),this.addRow()}_onClick(e){let t=e.target.closest(".wh-form__arraydelete");t&&(e.preventDefault(),this._removeRowNode(t.closest(".wh-form__arrayrow")))}getRowHandler(e){let t=this.valueNode.name+"."+e.dataset.whFormRowid,o=gn(e,t).filter(n=>n.dataset.whFormCellname!=="row_uid");return new To(this.handler,t,o)}getValue(){let e=[];for(let t of k(this.node,".wh-form__arrayrow").filter(o=>o.parentNode===this.template.parentNode)){let n=this.getRowHandler(t).getValue();e.push(n)}return e}_onGetValue(e){e.preventDefault(),e.stopPropagation();let t=[];for(let o of k(this.node,".wh-form__arrayrow").filter(n=>n.parentNode===this.template.parentNode)){let n=this._queryAllFields(o),r=n.map(s=>this.form._getQueryiedFieldValue(s));
14t.push(Promise.all(r).then(s=>{let a={formrowid:o.dataset.whFormRowid};return s.forEach((l,d)=>{let c=n[d],p=c.multi?c.nodes[0]:c.node;a[p.dataset.whFormCellname]=l}),a}))}Promise.all(t).then(o=>e.detail.deferred.resolve(o))}setValue(e){if(!Array.isArray(e))throw new Error(`Invalid value for array field '${this.name}': ${JSON.stringify(e)}`);for(;this.insertPoint.previousElementSibling?.classList.contains("wh-form__arrayrow");)this._removeRowNode(this.insertPoint.previousElementSibling);for(let t of e){let o=this.addRow();this.getRowHandler(o).setValue(t)}this._checkValidity()}_onSetValue(e){for(e.preventDefault(),e.stopPropagation();this.insertPoint.previousElementSibling?.classList.contains("wh-form__arrayrow");)this._removeRowNode(this.insertPoint.previousElementSibling);if(Array.isArray(e.detail.value))for(let t of e.detail.value){let o=this.addRow();for(let n of this._queryAllFields(o))for(let r of n.multi?n.nodes:[n.node])r.dataset.whFormCellname&&r.dataset.whFormCellname in t&&this.form.setFieldValue(r,t[r.dataset.whFormCellname])}this._checkValidity()}_fixupRowNode(e){let t=e.dataset.whFormRowid,o=new Map;for(let n of gn(e,this.arrayBaseName)){let r=n.closest(".wh-form__fieldgroup--array");if(r&&r!==this.node&&!(n.matches(".wh-form__arrayinput")&&r.parentNode.closest(".wh-form__fieldgroup--array")===this.node))continue;let s=qt(n);n.dataset.whFormCellname||=s.substring(this.arrayBaseName.length+1);let a=n.dataset.whFormCellname,l=this.valueNode.name+"."+t+"."+a;if(Jh(n,l),o.set(s,l),n.id){let d=k(e,`label[for="${n.id}"]`);n.id+="-"+t;for(let c of d)c.htmlFor=n.id}for(let d of["visible","enabled","required"])for(let c of k(e,`[data-wh-form-${d}-if]`)){let p=fn(c.dataset[`whForm${d[0].toUpperCase()+d.slice(1)}If`]);Ia(e,p,o)&&(c.dataset[`whForm${d[0].toUpperCase()+d.slice(1)}If`]=JSON.stringify({c:p}))}}this.getRowHandler(e)}_removeRowNode(e){e.remove(),this._checkValidity()}_checkValidity(){let e=parseInt(this.valueNode.dataset.whMin||"0"),t=parseInt(this.valueNode.dataset.whMax||"0"),o=this.node.querySelectorAll(".wh-form__arrayrow").length;o<e?this.valueNode.setCustomValidity(y("publisher:site.forms.commonerrors.minarray",e)):t>0&&o>t?this.valueNode.setCustomValidity(y("publisher:site.forms.commonerrors.maxarray",t)):this.valueNode.setCustomValidity(""),t>0&&o>=t?this.node.classList.add("wh-form__array--maxrows"):this.node.classList.remove("wh-form__array--maxrows")}_queryAllFields(e){return this.form._queryAllFields({startnode:e,skipfield:this.valueNode})}};he();function q_(i){return i.startsWith("__formfield")?i:wp(i)}function qa(i){return i.startsWith("__formfield")?i:_p(i)}function Ir(i,e){switch(i){case"number":return parseFloat(e);case"boolean":return e==="true";case"date":return new Date(e)}}function Ya(i,e,t){switch(i){case null:if(typeof e!="string")throw new Error(`Invalid type ${typeof e} for string field ${t}: ${e}`);return e;case"number":if(typeof e!="number")throw new Error(`Invalid type ${typeof e} for number field ${t}: ${e}`);return String(e);case"boolean":if(typeof e!="boolean")throw new Error(`Invalid type ${typeof e} for boolean field ${t}: ${e}`);return String(e);case"date":if(!up(e))throw new Error(`Invalid type ${typeof e} for date field ${t}: ${e}`);return e.toISOString()}}var Ua=class{valuetype;form;field;constructor(e,t){this.form=e,this.field=t,this.valuetype=t.dataset.whFormValueType,!this.valuetype&&t.matches("input[type=number]")&&(this.valuetype="number")}getValue(){if(this.field.matches("input[type=checkbox]"))return this.field.checked;if(this.field.matches("input[type=date]"))return this.field.valueAsDate;if(this.field.tagName==="SELECT"){let e=this.field.selectedOptions[0];return!e||e.dataset.placeholder!==void 0?null:this.valuetype?Ir(this.valuetype,e.value):e.value}return this.valuetype?Ir(this.valuetype,this.field.value):this.field.value}setValue(e){if(this.field.matches("input[type=checkbox]")){let t=!!e;if(t===this.field.checked)return;this.field.checked=t}else if(this.field.matches("input[type=date]")){if(this.field?.valueAsDate?.getTime()===e?.getTime())return;this.field.valueAsDate=e}else if(this.field.tagName==="SELECT"&&e===null){let t=this.field.options[0]?.dataset.placeholder!==void 0?0:-1;
14if(this.field.selectedIndex===t)return;this.field.selectedIndex=t}else{let t=this.valuetype?Ya(this.valuetype,e,this.field.name):e;if(this.field.value===t)return;this.field.value=t}this.form.__scheduleUpdateConditions()}},Da=class{valuetype;form;name;rnodes;constructor(e,t,o){this.form=e,this.name=t,this.rnodes=o;let n=o[0].closest(".wh-form__fieldgroup");n?this.valuetype=n.dataset.whFormValueType:(console.error("Missing group for radiofield ",n),console.error('if a radio field does not want to participate in the form, it should set attribute form=""'))}getValue(){let e=this.rnodes.find(t=>t.checked);return e?this.valuetype?Ir(this.valuetype,e.value):e.value:null}setValue(e){if(e===null){for(let r of this.rnodes)r.checked=!1;this.form.__scheduleUpdateConditions();return}let t=`radio group ${this.name}`,o=Ya(this.valuetype,e,t),n=this.rnodes.find(r=>r.value===o);if(!n)throw new Error(`No such value '${o}' in radio group '${this.name}`);n.checked=!0,this.form.__scheduleUpdateConditions()}},Ha=class{valuetype;form;name;cboxes;constructor(e,t,o){this.form=e,this.name=t,this.cboxes=o,this.valuetype=(o[0].closest(".wh-form__fieldgroup")??ge("RadioFormFieldHandler: Missing group")).dataset.whFormValueType}getValue(){return this.cboxes.filter(e=>e.checked).map(e=>this.valuetype?Ir(this.valuetype,e.value):e.value)}setValue(e){let t=`checkbox group '${this.name}'`;if(!Array.isArray(e))throw new Error(`Value for ${t} should be an array, got '${JSON.stringify(e)}'`);let o=e.map(r=>Ya(this.valuetype,r,t));this.cboxes.forEach(r=>r.checked=o.includes(r.value)),this.form.__scheduleUpdateConditions();let n=o.filter(r=>!this.cboxes.some(s=>s.value===r));if(n.length)throw new Error(`Invalid value(s) for ${t}: ${n.join(", ")}`)}},Wa=class{form;field;constructor(e,t){this.form=e,this.field=t}getValue(){return this.field.getValue()}setValue(e){this.field.setValue(e)}},Ba=class extends Wa{node;constructor(e,t,o){t[Fi]||=new mn(e,t,o,qt(o[0])),super(e,t[Fi]),this.node=t}__scheduleUpdateConditions(){this.form.__scheduleUpdateConditions()}},_n=class{fieldmap=new Map;fieldName;constructor(e,t){this.fieldName=e;let o=e?e.length+1:0,n=Map.groupBy(t,r=>qt(r).substring(o).split(".")[0]);for(let[r,s]of n){let a=(e?e+".":"")+r;if(!r){console.error("There are fields without a name:",s);continue}if(s[0].matches("input[type=radio]")){this.fieldmap.set(r,new Da(this,a,s));continue}if(s[0].matches(".wh-form__arrayinput")){let d=s[0].closest(".wh-form__fieldgroup--array");if(d){this.fieldmap.set(r,new Ba(this,d,s));continue}}if(qt(s[0])===a){if(s[0].matches("input[type=checkbox]")&&s[0].closest(".wh-form__fieldgroup--checkboxgroup")){this.fieldmap.set(r,new Ha(this,a,s));continue}this.fieldmap.set(r,new Ua(this,s[0]));continue}s[0].matches('select[name$=".country"][data-orderingdata]')?this.fieldmap.set(r,new Va(this,a,s)):this.fieldmap.set(r,new To(this,a,s))}}getField(e,t){let o=q_(e),n=this.fieldmap.get(o);if(n)return n;if(t?.allowMissing)return null;throw new Error(`Field '${e}' not found in this form`)}getFieldNames(){return[...this.fieldmap.keys()].map(qa)}assign(e,{ignoreUnknownFields:t=!0}={}){for(let[o,n]of Object.entries(e)){let r=this.getField(o,{allowMissing:t});r&&r.setValue(n)}}},To=class extends _n{form;constructor(e,t,o){super(t,o),this.form=e}getValue(){let e={};for(let[t,o]of this.fieldmap){let n=o.getValue();n!==void 0&&(e[qa(t)]=n)}return e}setValue(e){if(typeof e!="object"||e===null)throw new Error(`Invalid value for record field '${this.fieldName}': ${e}`);for(let[t,o]of this.fieldmap){let n=qa(t);n in e&&o.setValue(e[n])}}__scheduleUpdateConditions(){this.form.__scheduleUpdateConditions()}},Va=class extends To{constructor(e,t,o){super(e,t,o)}getValue(){let e=super.getValue();return e?.country?e?.nrDetail!==void 0?{...jt(e,["nrDetail"]),houseNumber:e.nrDetail}:e:null}setValue(e){if(e===null){super.setValue({country:null,city:"",street:"",zip:"",nrDetail:"",state:""});return}super.setValue(e?.houseNumber!==void 0?{...jt(e,["houseNumber"]),nrDetail:e.houseNumber}:e)}},zr=class{form;constructor(e){this.form=e}get(e,t){let o=typeof t=="string"?this.form.getField(t,{allowMissing:!0}):null;return o?o.getValue():e[t]}set(e,t,o){return this.form.getField(t).setValue(o),!0}ownKeys(e){return this.form.getFieldNames()}getOwnPropertyDescriptor(e,t){return{enumerable:!0,configurable:!0}}};wf();var vn=!1,bn=null,Kh;function U_(i){let e=new DocumentFragment;for(let t of i.split(/\r?\n/))e.childNodes.length&&e.appendChild(document.createElement("br")),e.append(t);return e}function D_(i,e){if(typeof e=="number"){if(e<0||e>=i.pages.length)throw new Error(`Cannot navigate to nonexisting page #${e}`);return e}let t=i.pages.indexOf(e);if(t===-1)throw console.error("Cannot find page by element",e),new Error("Cannot find page");return t}function Qh(i){return i.failed.map(e=>qt(e)||e.dataset.whFormGroupFor||"?").sort().filter((e,t,o)=>o.indexOf(e)===t).join(" ")}function H_(i){return i.matches("input[type=radio],input[type=checkbox]")?i.closest(".wh-form__fieldgroup")?.classList.contains("wh-form__field--everfailed"):i.classList.contains("wh-form__field--everfailed")}function Ur(i,e){if((e||bn)&&$a(),vn){M.fhv&&console.log("[fhv] doValidation: validations are delayed. now pending: ",i),bn=i;return}let t=i.closest?.("form");if(!t||!t.propWhFormhandler)return;t.propWhFormhandler.validate([i],{focusfailed:!1,iffailedbefore:e})}function W_(){vn&&$a(),vn=!0}
14function $a(){if(vn&&(vn=!1,bn)){let i=bn;M.fhv&&console.log("[fhv] releasePendingValidations: ",i),bn=null,Ur(i,!1)}}var eu=null;function B_(i){eu=i.target,Ur(i.target,!1)}function V_(i){i.relatedTarget&&eu!==i.relatedTarget&&Ur(i.relatedTarget,!1)}function Zh(i){Ur(i.target,!0)}var et=class extends _n{elements;_formsessionid=oi();_firstinteraction;_submitstart;validationqueue=new Array;_submitter=null;_submittimeout;isInteractive=!0;didLegacyWarning=!1;inSubmit=!1;exitButtonNavigateTo;#e="";data=new Proxy({},new zr(this));node;constructor(e){if(e.nodeName!=="FORM")throw new Error("Specified node is not a <form>");if(super("",gn(e,"")),this.node=e,this.elements=e.elements,this.node.propWhFormhandler)throw new Error("Specified node already has an attached form handler");this.node.propWhFormhandler=this,Kh||(Kh=!0,window.addEventListener("mouseup",$a,!0),window.addEventListener("focusin",V_,!0)),Pr(this.node),Ae(this.node,"click",o=>this._checkClick(o)),Ae(this.node,"dompack:takefocus",o=>this._onTakeFocus(o)),Ae(this.node,"input",o=>this._onInputChange(),{capture:!0}),Ae(this.node,"change",o=>this._onInputChange(),{capture:!0}),Ae(this.node,"submit",o=>this._submit(o,null)),Ae(this.node,"wh:form-dosubmit",o=>{throw new Error("wh:form-dosubmit is no longer supported")}),Ae(this.node,"wh:form-setfielderror",o=>this._doSetFieldError(o)),Ae(this.node,"mousedown",W_),Ae(this.node,"focusout",B_,{capture:!0}),Ae(this.node,"input",Zh,{capture:!0}),Ae(this.node,"change",Zh,{capture:!0}),Ae(this.node,"focusin",this.#i,{capture:!0}),this.node.noValidate=!0,this._rewriteEnableOn(),this._updateConditions(!0),this._applyPrefills();let t=this._getPageState();this._updatePageVisibility(t.pages,0),this._updatePageNavigation()}static getForNode(e){return e.propWhFormhandler||null}getElementByName(e){return this.node.elements.namedItem(e)}getLangCode(){return this.node.closest("[lang]")?.lang??"en"}#i=e=>{if(this.node.contains(e.target)){let t=qt(e.target)||e.target.dataset.whFormGroupFor;t&&(this.#e=t)}};#t=()=>{this.sendFormEvent({event:"abandoned",lastfocused:this.#e,pagenum:this.getCurrentPageNumber()})};__formStarted(){}sendFormEvent(e){let t=Date.now();if(e?.event==="submitted"&&removeEventListener("pagehide",this.#t),!this._firstinteraction){if(!this.isInteractive){e?.event&&M.anl&&console.log(`[anl] Form is supressing broadcast of '${e?.event}' because it hasn't been interacted with yet`);return}this._firstinteraction=t,this.sendFormEvent({event:"started"}),addEventListener("pagehide",this.#t)}if(!e)return;this._firstinteraction||=t;let o=this._getPageState(),n={...e,id:this.node.dataset.whFormId||"",session:this._formsessionid,pagetitle:this._getPageTitle(o.curpage),pagenum:o.curpage+1,time:t-this._firstinteraction,objref:this.node.dataset.whFormObjref||""};this._submitstart&&(n.waittime=Date.now()-this._submitstart),L(this.node,"wh:form-analytics",{bubbles:!0,cancelable:!1,detail:n})}_rewriteEnableOn(){for(let e of k(this.node,"*[data-wh-form-enable]"))for(let t of e.dataset.whFormEnable.split(" ")){let o=this.getElementByName(t);if(o&&o instanceof HTMLElement){let n=(e instanceof HTMLOptionElement?e.closest("select"):e)?.name;if(!n)continue;let r={field:n,matchtype:"IN",value:e.value};o.dataset.whFormEnabledIf&&(r={conditions:[fn(o.dataset.whFormEnabledIf),r],matchtype:"AND"}),o.dataset.whFormEnabledIf=JSON.stringify({c:r})}}}_applyPrefills(){let e=new URL(location.href).searchParams;for(let t of this._queryAllFields()){let o=e.getAll(t.name);if(o.length){if(t.multi&&t.nodes[0].type==="checkbox")for(let n of t.nodes){let r=o.includes(n.value);r!==n.checked&&this.setFieldValue(n,r)}else if(t.multi){let n=t.nodes.filter(r=>r.value===o[o.length-1])[0];n&&!n.checked&&this.setFieldValue(n,!0),n||t.nodes.filter(r=>r.checked).forEach(r=>this.setFieldValue(r,!1))}else if(t.node.matches("input:not([type=file]),select,textarea")){if(!this._isNowSettable(t.node))continue;this.setFieldValue(t.node,o[o.length-1])}}}}_updateFieldGroupMessageState(e,t,o){let n=e.closest(".wh-form__fieldgroup");if(!n)return;let r=n.classList.contains("wh-form__field--"+t)?n:n.querySelector(".wh-form__field--"+t),s=(r&&r.closest(".wh-form__fieldgroup")===n?o(r):null)||null;n.classList.toggle("wh-form__fieldgroup--"+t,!!s),s&&(e.classList.contains("wh-form__field--everfailed")||(M.fhv&&console.log("[fhv] marking as everfailed",e,"because of error",s),e.classList.add("wh-form__field--everfailed")));let a=e.closest("[role=group],.wh-form__subfield,wh-form__fieldgroup"),d=(a?.role==="group"?a:null)??e,c="",p=n.querySelector(".wh-form__"+t);if(p)c=p.id;else{if(!s)return;c="whform-msg-"+Math.floor((1+Math.random())*268435456).toString(16);let u=e.closest(".wh-form__fields")||n.querySelector(".wh-form__fields")||n;p=z("div",{className:"wh-form__"+t}),p.id=c,u.appendChild(p)}s?(p.replaceChildren(typeof s=="string"?U_(s):s),this._addDescribedBy(d,c),t==="error"&&d.setAttribute("aria-invalid","true")):(p.replaceChildren(),this._removeDescribedBy(d,c),d.removeAttribute("aria-invalid"))}_addDescribedBy(e,t){let o=e.getAttribute("aria-describedby")??"",n=o!==""?o.split(" "):[];n.indexOf(t)===-1&&(n.push(t),e.setAttribute("aria-describedby",n.join(" ")))}_removeDescribedBy(e,t){let o=e.getAttribute("aria-describedby")??"",n=o!==""?o.split(" "):[];for(let r=0;r<n.length;r++)if(n[r]===t){n.splice(r,1);break}n.length>0?e.setAttribute("aria-describedby",n.join(" ")):e.removeAttribute("aria-describedby")}_updateFieldGroupErrorState(e){this._updateFieldGroupMessageState(e,"error",t=>Ai(t).getError())}_updateFieldGroupSuggestionState(e){this._updateFieldGroupMessageState(e,"suggestion",t=>t.propWhValidationSuggestion||"")}_doSetFieldError(e){B(e),this._reportFieldValidity(e.target)}
14_reportFieldValidity(e){let t=Ai(e).getState();return e.classList.toggle("wh-form__field--error",!!t?.error),e.classList.toggle("wh-form__field--suggestion",!!t?.suggested),this._updateFieldGroupErrorState(e),this._updateFieldGroupSuggestionState(e),!(t&&"error"in t)}async validateAndSubmit(e){await this._submit(null,e)}beforeSubmit(e){return!0}async _submit(e,t){if(this.node.classList.contains("wh-form--submitting")||this.inSubmit){e?.preventDefault();return}let o=this._submitter||this.node.querySelector(oa);this._submitter=null,M.fhv&&console.log("[fhv] received submit event, submitter:",o);let n=null;o&&(n=document.createElement("input"),n.name=o.name,n.value=o.value,n.type="hidden",this.node.appendChild(n));try{this.inSubmit=!0;let r=this.beforeSubmit(t);if(!r||Qs(r)&&!await r)return;if(!L(this.node,"wh:form-beforesubmit",{bubbles:!0,cancelable:!0})){console.error("The use of wh:form-beforesubmit is deprecated and will be removed in a future version. Use onBeforeSubmit instead");return}await this._doSubmit(e,t)}finally{n?.remove(),this.inSubmit=!1}}_shouldValidateField(e){return(e.whFormsApiChecker||e.matches(`${qr},*[data-wh-form-name],*[data-wh-form-custom-validator`))&&this._isPartOfForm(e)}_getFieldsToValidate(e){return k(e??this.node,"*").filter(t=>this._shouldValidateField(t))}resetServerSideErrors(){for(let e of this._getFieldsToValidate())Ai(e)?.explicit?.serverside&&e.propWhCleanupFunction&&e.propWhCleanupFunction()}async _doSubmit(e,t){e&&e.preventDefault();let o=Q({modal:!0});this._submitstart=Date.now(),this._submittimeout=setTimeout(()=>this._submitHasTimedOut(),5e3),this.node.classList.add("wh-form--submitting");try{this.resetServerSideErrors();let n=await this.validate();if(n.valid){let r=await this.submit(t);r.result&&r.result.submittype&&r.result.submittype!==this._getVariableValueForConditions("formsubmittype")&&(this.node.setAttribute("data-wh-form-var-formsubmittype",r.result.submittype),this._updateConditions(!1))}else this.sendFormEvent({event:"failed",errorfields:Qh(n),errorsource:"client"})}finally{o.release(),this.node.classList.remove("wh-form--submitting"),this._submittimeout&&(clearTimeout(this._submittimeout),this._submittimeout=void 0),this._submitstart=void 0}}_submitHasTimedOut(){this.sendFormEvent({event:"slow",waitfor:"submit"})}async submit(e){return this.node.submit(),{}}_onTakeFocus(e){let t=e.target.closest(".wh-form__page");if(t&&t.classList.contains("wh-form__page--hidden")){let o=k(this.node,".wh-form__page").findIndex(n=>n===t);o>=0&&this.gotoPage(o)}}_checkClick(e){let t=e.target?.closest("*[data-wh-form-action]");if(!t){let o=e.target.closest(oa);if(o?.form===this.node){if(!this.node.classList.contains("wh-form--allowsubmit")){B(e),this.node.classList.contains("wh-form--allownext")&&this.executeFormAction("next");return}this._submitter=o,setTimeout(()=>this._submitter=null)}return}B(e),this.executeFormAction(t.dataset.whFormAction)}_getPageState(){let e=k(this.node,".wh-form__page"),t=e.findIndex(o=>!o.classList.contains("wh-form__page--hidden"));return{pages:e,curpage:t}}_updatePageVisibility(e,t){e.forEach((o,n)=>{o.classList.toggle("wh-form__page--hidden",n!==t),o.classList.toggle("wh-form__page--visible",n===t)})}getCurrentPage(){let e=this._getPageState();return e.curpage>=0?e.pages[e.curpage]:null}scrollIntoView(e){let t=e;e=(e?e.closest(".wh-form__fieldgroup"):void 0)||this.node,e=e.querySelector(".wh-anchor")||e,t&&e!==t&&M.fhv?console.log("[fhv] Modified scroll target from ",t," to anchor ",e):M.fhv&&console.log("[fhv] Scroll to ",e),e.scrollIntoView()}getCurrentPageNumber(){return this._getPageState().curpage}async gotoPage(e,{__isSubmit:t=!1}={}){let o=this._getPageState(),n=D_(o,e);if(o.curpage===n)return;let r=n>o.curpage;t||this.sendFormEvent({event:r?t?"submitted":"nextpage":"previouspage",targetpagenum:n+1,targetpagetitle:this._getPageTitle(n)}),this._updatePageVisibility(o.pages,n),r&&ko(o.pages[n],{form:await this.getFormValue()}),this._updatePageNavigation(),this.scrollIntoView(),L(o.pages[n],"wh:form-pagechange",{bubbles:!0,cancelable:!1,detail:{formHandler:this}})}_getDestinationPage(e,t){let o=e.curpage+t;for(;o>=0&&o<e.pages.length&&(e.pages[o].propWhFormCurrentVisible===!1||e.pages[o].dataset.whFormPagerole==="captcha");)o=o+t;return o<0||o>=e.pages.length?-1:o}_getPageTitle(e){let t=this._getPageState().pages[e];return t?t.dataset.whFormPagetitle||"#"+(e+1):""}async executeFormAction(e){switch(e){case"previous":{if(this.node.classList.contains("wh-form--allowprevious")){let t=this._getPageState();t.curpage>0?this.gotoPage(this._getDestinationPage(t,-1)):this.node.dataset.whFormBacklink&&ue({type:"redirect",url:this.node.dataset.whFormBacklink})}return}case"next":{let t=this._getPageState();if(this.node.classList.contains("wh-form--allownext")){this.resetServerSideErrors();let o=await this.validate(t.pages[t.curpage]);o.valid?this.gotoPage(this._getDestinationPage(t,1)):this.sendFormEvent({event:"failed",errorfields:Qh(o),errorsource:"nextpage"})}return}
14case"exit":{if(!this.exitButtonNavigateTo)throw new Error("No exit navigation target set for this form");ue(this.exitButtonNavigateTo);return}default:console.error(`Unknown form action '${e}'`)}}async refreshConditions(){await this._updateConditions(!1)}_onInputChange(){this.sendFormEvent(),this._updateConditions(!1)}async _updateConditions(e){let t=[],o=[],n=!1;for(let d of k(this.node,".wh-form__page")){let c=!0;d.dataset.whFormVisibleIf&&(c=this._matchesCondition(d.dataset.whFormVisibleIf),c||t.push(d),c!==d.propWhFormCurrentVisible&&(n=!0,d.propWhFormCurrentVisible=c,o.push(d)))}n&&this._updatePageNavigation();let r=new Array,s=[],a=[],l=[];for(let d of k(this.node,".wh-form__fieldgroup")){let c=d.closest(".wh-form__page"),p=(!c||!t.includes(c))&&this._matchesCondition(d.dataset.whFormVisibleIf);p||s.push(d);let m=p&&this._matchesCondition(d.dataset.whFormEnabledIf);m&&a.push(d),d.propWhFormInitialRequired===void 0&&(d.propWhFormInitialRequired=d.classList.contains("wh-form__fieldgroup--required"));let u=m&&(d.dataset.whFormRequiredIf?this._matchesCondition(d.dataset.whFormRequiredIf):d.propWhFormInitialRequired);u&&l.push(d),(p!==d.propWhFormCurrentVisible||m!==d.propWhFormCurrentEnabled||u!==d.propWhFormCurrentRequired)&&(d.propWhFormCurrentVisible=p,d.propWhFormCurrentEnabled=m,d.propWhFormCurrentRequired=u,d.classList.toggle("wh-form__fieldgroup--disabled",!m),d.classList.toggle("wh-form__fieldgroup--hidden",!p),d.classList.toggle("wh-form__fieldgroup--required",u),o.push(d))}for(let d of k(this.node,".wh-form__fieldline")){let c=d.closest(".wh-form__fieldgroup");if(!c)continue;let p=!s.includes(c)&&this._matchesCondition(d.dataset.whFormVisibleIf),m=p&&a.includes(c)&&this._matchesCondition(d.dataset.whFormEnabledIf),u=m&&l.includes(c);p!==d.propWhFormlineCurrentVisible&&(d.propWhFormlineCurrentVisible=p,d.classList.toggle("wh-form__fieldline--hidden",!p));let w=k(d,`${qr},[data-wh-form-state-listener='true']`);for(let f of w){f.dataset.whFormSavedEnabled||(f.dataset.whFormSavedEnabled=("disabled"in f?!f.disabled:!("whFormDisabled"in f.dataset)).toString()),f.dataset.whFormSavedRequired||(f.dataset.whFormSavedRequired=(!!("required"in f&&f.required)).toString());let g=m&&f.dataset.whFormSavedEnabled==="true"&&this._matchesCondition(f.dataset.whFormEnabledIf);(!f.dataset.whFormCurrentEnabled||g!==(f.dataset.whFormCurrentEnabled==="true"))&&(f.dataset.whFormCurrentEnabled=g?"true":"false",L(f,"wh:form-enable",{bubbles:!0,cancelable:!0,detail:{enabled:g}})&&(wn(f)?f.disabled=!g:g?f.removeAttribute("data-wh-form-disabled"):f.setAttribute("data-wh-form-disabled","")),!e&&!g&&!r.includes(f)&&r.push(f));let _=(f.dataset.whFormSavedRequired==="true"||u)&&g&&p;(!f.dataset.whFormCurrentRequired||f.dataset.whFormCurrentRequired!==(_?"true":"false"))&&(f.dataset.whFormCurrentRequired=_?"true":"false",L(f,"wh:form-require",{bubbles:!0,cancelable:!0,detail:{required:_}})&&(wn(f)?(!Hi(f)||f.type!=="checkbox")&&(f.required=_):_?f.setAttribute("data-wh-form-required",""):f.removeAttribute("data-wh-form-required")),!e&&!_&&c.classList.contains("wh-form__fieldgroup--error")&&!r.includes(f)&&r.push(f))}}for(let d of k(this.node,".wh-form__fieldgroup select option")){let c=this._matchesCondition(d.dataset.whFormVisibleIf);d.dataset.whFormSavedEnabled||(d.dataset.whFormSavedEnabled=(!d.disabled).toString()),d.dataset.whFormSavedHidden||(d.dataset.whFormSavedHidden=d.hidden.toString());let p=c&&d.dataset.whFormSavedEnabled==="true",m=!c||d.dataset.whFormSavedHidden==="true";if(p!==(d.dataset.whFormCurrentEnabled==="true")||m!==(d.dataset.whFormCurrentHidden==="true")){d.dataset.whFormCurrentEnabled=p?"true":"false",d.dataset.whFormCurrentHidden=m?"true":"false",d.disabled=!p,d.hidden=m;let u=d.closest("select");u&&d.selected&&(!p||m)&&d.dataset.placeholder===void 0&&(u.options[0].dataset.placeholder!==void 0?u.selectedIndex=0:(u.selectedIndex=-1,u.__didPlaceholderWarning||(u.__didPlaceholderWarning=!0,console.warn("This <select> lacks an explicit placeholder so we had to set selectedIndex to -1",u)))),u&&!e&&!r.includes(u)&&r.push(u)}}r.length&&await this.validate(r,{focusfailed:!1,iffailedbefore:!0}),this.fixupMergeFields(o)}__scheduleUpdateConditions=Jo(()=>this._updateConditions(!1),{coalesce:!0});async fixupMergeFields(e){let t=await this.getFormValue();for(let o of e)if(o.propWhFormCurrentVisible){for(let n of k(o,"*[data-wh-dont-merge]"))n.dataset.merge=n.dataset.whDontMerge,n.removeAttribute("data-wh-dont-merge");ko(o,{form:t})}else for(let n of k(o,"*[data-merge]"))n.dataset.whDontMerge=n.dataset.merge,n.removeAttribute("data-merge")}_matchesCondition(e){return e?this._matchesConditionRecursive(fn(e)):!0}_getConditionRawValue(e,t){if(this.node.hasAttribute("data-wh-form-var-"+e))return this.node.getAttribute("data-wh-form-var-"+e);let o=this.getElementByName(e);
14if(!o)return console.error(`No match for conditional required field '${e}'`),null;if(Xa(o)){let n=null;for(let r of o)if((t&&t.checkdisabled||this._isNowSettable(r))&&r.checked){if(r.type!=="checkbox")return r.value;n||(n=[]),n.push(r.value)}return n}else if((!t||!t.checkdisabled)&&!this._isNowSettable(o))return null;return o.type==="checkbox"?o.checked?[o.value]:null:o.type==="radio"?o.checked?o.value:null:o.value}_getVariableValueForConditions(e,t){if(this.node.hasAttribute("data-wh-form-var-"+e))return this.node.getAttribute("data-wh-form-var-"+e);let o=e.split("$");if(o.length>1){let s=o.join(".");if(this.node.hasAttribute("data-wh-form-var-"+s))return this.node.getAttribute("data-wh-form-var-"+s)}let n=this._getConditionRawValue(o[0],t);if(o.length===1||n===null)return n;let r=this.getElementByName(o[0]);if(!r)return console.error(`No match for conditional required field '${e}'`),null;if(r instanceof HTMLSelectElement){if(Array.isArray(n)){let s=n;n=[];for(let a of s){let l=F(r,`option[value="${CSS.escape(a)}"]`);if(!l?.dataset.__extrafields)return null;let d=JSON.parse(l.dataset.__extrafields);n.push(d[o[1]])}}else{let s=F(r,`option[value="${CSS.escape(n)}"]`);if(!s?.dataset.__extrafields)return null;n=JSON.parse(s.dataset.__extrafields)[o[1]]}return n}else return console.error("Subfield matching not supported for non-select fields"),null}_matchesConditionRecursive(e){switch(e.matchtype){case"AND":for(let o of e.conditions)if(!this._matchesConditionRecursive(o))return!1;return!0;case"OR":for(let o of e.conditions)if(this._matchesConditionRecursive(o))return!0;return!1;case"NOT":return!this._matchesConditionRecursive(e.condition);case"AGE<":case"AGE>=":{let o=this._getVariableValueForConditions(e.field);if(!o)return!1;let n=new Date,r=new Date(Array.isArray(o)?o[0]:o),s=n.getFullYear()-r.getFullYear();return(n.getMonth()<r.getMonth()||n.getMonth()===r.getMonth()&&n.getDate()<r.getDate())&&--s,e.matchtype==="AGE<"?s<e.value:s>=e.value}}let t=this._getVariableValueForConditions(e.field,e.options);if(e.matchtype==="HASVALUE")return!!t==!!e.value;if(["IN","HAS","IS"].includes(e.matchtype)){let o=e.options?.matchcase!==!1,n=Array.isArray(e.value)?e.value:e.value?[e.value]:[],r=Array.isArray(t)?t:t?[t]:[];return o||r.forEach((s,a)=>r[a]=r[a].toUpperCase()),!(!r.some(s=>n.includes(s))||(e.matchtype==="HAS"||e.matchtype==="IS")&&n.some(s=>!r.includes(s))||e.matchtype==="IS"&&r.some(s=>!n.includes(s)))}return console.error(`No support for conditional type '${e.matchtype}'`),!1}_updatePageNavigation(){let e=this._getPageState(),t=this._getDestinationPage(e,1),o=t!==-1,n=e.pages[e.curpage]?e.pages[e.curpage].dataset.whFormPagerole:"",r=o?e.pages[t].dataset.whFormPagerole:"";this.node.classList.toggle("wh-form--allowprevious",!!(e.curpage>0&&n!=="thankyou"||e.curpage<=0&&this.node.dataset.whFormBacklink)),this.node.classList.toggle("wh-form--allownext",o&&r!=="thankyou"),this.node.classList.toggle("wh-form--allowsubmit",n==="thankyou"?e.pages[e.curpage].dataset.whFormExitButton!==void 0:!o||r==="thankyou")}_navigateToThankYou(e){let t=this._getPageState();if(t.curpage>=0){let o=this._getDestinationPage(t,1);if(o!==-1&&t.pages[o]&&t.pages[o].dataset.whFormPagerole==="thankyou"){let n=t.pages[o].dataset.whFormNavigateTo,r=t.pages[o].dataset.whFormExitButton,s=n?JSON.parse(n):null;s&&(this.exitButtonNavigateTo=s);let a=parseInt(t.pages[o].dataset.whFormPageredirectDelay??"");if(r){let l=this.node.querySelector(".wh-form__button--submit"),d=l?.querySelector(".wh-form__buttonlabel");l&&d?(l.dataset.whFormAction="exit",d.textContent=r):console.error(`Unable to find the submit button '.wh-form__button--submit .wh-form__buttonlabel' - I need to replace its label with '${r}'!`)}if(s&&!(a>=0)&&!r){ue(s);return}this.updateRichValues(t.pages[o],e),this.gotoPage(o,{__isSubmit:!0}),s&&a>=0&&setTimeout(()=>ue(s),a*1e3||100)}}}updateRichValues(e,t){if(t)for(let{field:o,value:n}of t){let r=e.querySelector(`.wh-form__fieldgroup--richtext[data-wh-form-group-for="${CSS.escape(o)}"] .wh-form__richtext`);r&&(r.innerHTML=n,Te(r))}}ensureLegacyWarning(e){!this.didLegacyWarning&&!ii&&console.warn(`[form] ${Ni(e)} is using wh:form-getvalue/wh:form-setvalue events. It should switch to JSFormElement`),this.didLegacyWarning=!0}async getFieldValue(e){if(e[Fi])return e[Fi].getValue();if(e.hasAttribute("data-wh-form-name")||e.whUseFormGetValue){let t=Promise.withResolvers();if(!L(e,"wh:form-getvalue",{bubbles:!0,cancelable:!0,detail:{deferred:t}}))return this.ensureLegacyWarning(e),t.promise}if(!wn(e)){M.fhv&&console.log("[fhv] Cannot get value on non-FormControl",e);return}return e.matches("input[type=file]")?[...e.files||[]].map(t=>({fileName:t.name,file:t,link:null})):e.value}setFieldValue(e,t){if(e[Fi])return e[Fi].setValue(t);if(e.hasAttribute("data-wh-form-name")&&!L(e,"wh:form-setvalue",{bubbles:!0,cancelable:!0,detail:{value:t}})){this.ensureLegacyWarning(e);return}if(!wn(e)){console.error("Cannot set value on non-FormControl",e,t);return}if(typeof t!="string"&&typeof t!="number"&&typeof t!="boolean"){console.error(`Setting value of type ${typeof t} on a FormControl`,e,t);return}let o=this.isInteractive;try{this.isInteractive=!1,Hi(e)?Pe(e,t):e.value=t}finally{this.isInteractive=o}}_isPartOfForm(e){return!("form"in e)||e.form===this.node||!document.contains(e)||!this.node&&!e.hasAttribute("form")}_queryAllFields(e){let t=new Array,o=e&&e.skiparraymembers;
14for(let n of this._getFieldsToValidate(e?.startnode)){if(e&&n===e.skipfield||!this._isPartOfForm(n)||e&&e.onlysettable&&!this._isNowSettable(n)||o&&n.closest(".wh-form__arrayrow"))continue;let r=qt(n);if(!r)continue;let s=t.find(a=>a.name===r);if(tu(n)){if(!s)s={name:r,multi:!0,nodes:[]},t.push(s);else if(!s.multi){console.error(`[fhv] Encountered duplicate field '${r}'`,n);continue}s.nodes.push(n)}else{if(s){console.error(`[fhv] Encountered duplicate field '${r}'`,n);continue}t.push({name:r,multi:!1,node:n})}}return t}getFormElementNames(){return this._queryAllFields().map(e=>e.name)}_getQueryiedFieldValue(e){return e.multi?e.nodes.filter(t=>t.checked).map(t=>t.value):this.getFieldValue(e.node)}async getFormValue(){let e={},t=new Array;for(let o of this._queryAllFields({onlysettable:!0,skiparraymembers:!0}))this._processFieldValue(e,t,o.name,this._getQueryiedFieldValue(o));return await Promise.all(t),e}_isNowSettable(e){if("disabled"in e&&e.disabled)return!1;let t=e.closest(".wh-form__fieldgroup");if(t&&(t.classList.contains("wh-form__fieldgroup--disabled")||t.classList.contains("wh-form__fieldgroup--hidden")))return!1;let o=e.closest(".wh-form__page");return!(o&&o.propWhFormCurrentVisible===!1)}_processFieldValue(e,t,o,n){n!==void 0&&(Qs(n)?t.push(new Promise((r,s)=>{n.then(a=>{a!==void 0&&(e[o]=a),r()}).catch(a=>s(a))})):e[o]=n)}getOptions(e){let t=this.getElementByName(e);return t instanceof RadioNodeList?[...t].map(o=>({inputnode:o,fieldline:o.closest(".wh-form__fieldline"),value:o.value})):[]}getSelectedOptions(e){let t=this.getOptions(e);return t=t.filter(o=>o.inputnode.checked),t}getSelectedOption(e){let t=this.getSelectedOptions(e);return t.length?t[0]:null}getFieldGroup(e){let t=this.getElementByName(e);return t instanceof RadioNodeList&&(t=t[0]),t?t.closest(".wh-form__fieldgroup"):null}getValues(e){return this.getSelectedOptions(e).map(t=>t.value)}getValue(e){let t=this.getValues(e);return t.length?t[0]:null}static setupValidator(e,t){Me(e,t)}static setFieldError(e,t,o){_e(e,t,o)}setFieldError(e,t,o){_e(e,t,o)}async validateSingleFormField(e){return!0}async _validateSingleFieldOurselves(e){let t=Ai(e);if(!t.explicit&&Ga(e))return Ja(e),this._reportFieldValidity(e);if(t.dynamicError=null,await this.validateSingleFormField(e),!t.dynamicError){for(let o of t.validators)if(t.dynamicError=await o(e)||null,t.dynamicError)break}return!t.dynamicError&&e.whFormsApiChecker&&await e.whFormsApiChecker(),this._reportFieldValidity(e)}async validate(e,t){if(M.fdv)return console.warn("[fdv] Validation of form was skipped"),{valid:!0,failed:[],firstfailed:null};let o=Promise.withResolvers();return this.validationqueue.push({defer:o,limitset:e,options:t}),this.validationqueue.length===1&&this._executeNextValidation(),o.promise}async _executeNextValidation(){for(;this.validationqueue.length;){let e=this.validationqueue[0];try{let t=await this._executeQueuedValidation(e.limitset,e.options);e.defer.resolve(t)}catch(t){e.defer.reject(t)}this.validationqueue.shift()}}async _executeQueuedValidation(e,t){let o=e;e||(e=this._getFieldsToValidate());let n=new Set;for(let a of Array.isArray(e)?e:[e]){if(a.matches("input[type=radio],input[type=checkbox]")){let l=a.closest(".wh-form__fieldgroup");l&&n.add(l);continue}this._shouldValidateField(a)&&n.add(a);for(let l of this._getFieldsToValidate(a))n.add(l)}let r=[...n];t&&t.iffailedbefore&&(r=r.filter(a=>H_(a))),M.fhv&&console.log("[fhv] Validation of %o expanded to %d elements: %o",o,r.length,[...r]);let s=Q();try{if(!r.length)return{valid:!0,failed:[],firstfailed:null};let a=await Promise.all(r.map(c=>this._validateSingleFieldOurselves(c))),l=r.filter((c,p)=>!a[p]),d={valid:l.length===0,failed:l,firstfailed:null};if(d.firstfailed=d.failed.length?d.failed[0]:null,d.firstfailed&&(!t||t.focusfailed)){let c=ja(d.firstfailed)?d.firstfailed:Ki(d.firstfailed)[0];c&&at(c,{preventScroll:!0}),this.scrollIntoView(d.firstfailed)}return M.fhv&&console.log(`[fhv] Validation of ${r.length} fields done, ${d.failed.length} failed`,d),d}finally{s.release()}}reset(){this.node.reset(),this.gotoPage(0)}};re();he();pr();var Ka;async function iu(i,e={}){Ka||(Ka=new Map);let t=dr({address:i,options:e},{stable:!0});return await Vi(Ka,t,{insert:()=>ai().verifyAddress(location.pathname,i,e)})}he();var Dr=class{node;fieldgroup;pos;constructor(e,t){this.node=e,this.pos=t,this.fieldgroup=e.closest(".wh-form__fieldgroup")??ge("Could not find fieldgroup for field")}},yn=class{numvaliditycalls=0;node;formnode;countryNode;currentcountry;fieldName;orderingData;allFields=new Map;_updatingFields=!1;constructor(e){if(this.node=e,this.formnode=e.closest("form")??ge("Could not find form for addressfield"),this.countryNode=C(this.node,"select.wh-form__pulldown"),!this.countryNode)throw new Error("Could not find country select node");if(!this.countryNode.dataset.orderingdata)throw new Error("Addressfield not properly configured");this.currentcountry=this.countryNode.value,this.fieldName=this.countryNode.name.substr(0,this.countryNode.name.lastIndexOf(".")),this.orderingData=JSON.parse(this.countryNode.dataset.orderingdata);let t=this.fieldName.length+1;this.allFields=new Map;let o=0;this.allFields.set(this.countryNode.name.substr(t),new Dr(this.countryNode,++o));for(let n of k(this.formnode,`[name^='${this.fieldName}.']`))this.allFields.set(n.name.substring(t),new Dr(n,++o)),n.addEventListener("change",r=>this._gotFieldChange(r));this.orderingData&&(this.countryNode.addEventListener("change",()=>this._reconfigureFieldOrdering()),this._reconfigureFieldOrdering())}_gotFieldChange(e){this._updatingFields||(e.target===this.countryNode&&this.currentcountry!==this.countryNode.value&&(this._clearErrors(),this.currentcountry=this.countryNode.value),!(this._getFieldValue("country")==="NL"&&(!this._getFieldValue("zip")||!this._getFieldValue("nr_detail")))&&this._checkValidity(e))}_getFieldValue(e){let t=this.allFields.get(e);return t?t.node.value:""}_getFirstCountrySpecificField(){let e=null;for(let[t,o]of this.allFields.entries())t!=="country"&&!o.fieldgroup.classList.contains("wh-form__fieldgroup--hidden")&&(!e||e.pos>o.pos)&&(e=o);return e??ge("Cannot find field for error")}_reconfigureFieldOrdering(){let e=this.countryNode.value;if(e){let t=this.orderingData.find(o=>o.countries.length===0||o.countries.includes(e));if(t){let o;for(let n=0;n<t.fieldorder.length;++n){let r=this.allFields.get(t.fieldorder[n]);if(!r)continue;r.pos=n+1;let s=r.fieldgroup;o&&o.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_PRECEDING&&o.parentNode.insertBefore(s,o.nextSibling),o=s}}}for(let t of["street","city"]){let o=this.allFields.get(t);o&&(e.toUpperCase()==="NL"?o.node.setAttribute("data-wh-form-skipnativevalidation",""):o.node.removeAttribute("data-wh-form-skipnativevalidation"))}}
14_clearErrors(){this.allFields.forEach(e=>_e(e.node,"",{reportimmediately:!0}))}_getCurState(){let e={country:""},t=[],o=!1,n=!0;return this.allFields.forEach((r,s)=>{r.fieldgroup.classList.contains("wh-form__fieldgroup--hidden")||(t.push(r.node.closest(".wh-form__fieldgroup")),e[s]=r.node.value,!o&&s!=="country"&&r.node.value&&(o=!0),r.node.required&&!r.node.value&&!r.node.hasAttribute("data-wh-form-skipnativevalidation")&&(n=!1))}),{value:e,visiblefields:t,anyset:o,allrequiredset:n,lookupkey:JSON.stringify(e)}}async _checkValidity(e){let t=et.getForNode(this.formnode)??ge("Parent form for address field not yet initialized"),o=this._getCurState();if(!o.anyset){this._clearErrors();return}if(!o.allrequiredset)return;let n,r=Q();try{o.visiblefields.forEach(s=>s.classList.add("wh-form__fieldgroup--addresslookup")),++this.numvaliditycalls,n=await iu(o.value,{lang:t.getLangCode(),checks:this.node.dataset.checks?.split(" ")??[]})}catch(s){console.error(`Error while validating value: ${s}`);return}finally{--this.numvaliditycalls===0&&o.visiblefields.forEach(s=>s.classList.remove("wh-form__fieldgroup--addresslookup")),r.release()}if(this._getCurState().lookupkey===o.lookupkey){M.fhv&&console.log(`[fhv] Validation result for address '${this.fieldName}': ${n.status}`),M.fdv&&(["different_citystreet","incomplete"].includes(n.status)?console.warn(`[fdv] Address validation was performed, processing incomplete address (status: '${n.status}')`):(console.warn(`[fdv] Ignoring return status '${n.status}' of address validation`),n.status="ok")),this._clearErrors();for(let s of n.errors){let a=this.allFields.get(s.fields[0])??this._getFirstCountrySpecificField();a&&t.setFieldError(a.node,s.message,{reportimmediately:!0})}if(n.corrections){let s=!1;this._updatingFields=!0;for(let[a,l]of Object.entries(n.corrections)){let d=this.allFields.get(a);d&&d.node.value!==l&&(Pe(d.node,l),s=!0)}this._updatingFields=!1,s&&t.refreshConditions()}}}};de();he();function ou(i,e,t,o){if(!Go(e,t,o,{minYear:1}))return"";let n="";for(let r of i.split(""))switch(r.toUpperCase()){case"Y":n+=("000"+e).slice(-4);break;case"M":n+=("0"+t).slice(-2);break;case"D":n+=("0"+o).slice(-2);break;default:n+=r;break}return n}function nu(i,e,t){if(!e)return null;let n=e.replace(/[./]/g,"-").split("-");if(n.length===3){i=i.toLowerCase();let r=i.indexOf("d"),s=i.indexOf("m"),a=i.indexOf("y"),l=0+(r>s?1:0)+(r>a?1:0),d=0+(s>r?1:0)+(s>a?1:0),c=0+(a>r?1:0)+(a>s?1:0),p=parseInt(n[l],0),m=parseInt(n[d],0),u=parseInt(n[c],0);if(Go(u,m,p))return{year:u,month:m,day:p}}if(t&&t.nofail)return null;throw new Error(`Invalid date value: '${e}'`)}function Hr(i,e){return nu("y-m-d",i,e)}he();function $_(i){let e=k(i,"input[type='checkbox']"),t=Number(i.dataset.whMin)||0,o=Number(i.dataset.whMax)||0,n=e.some(s=>!s.disabled),r=e.filter(s=>s.checked).length;if(n){if(r<t)return y("publisher:site.forms.commonerrors.mincheck",t);if(o>0&&r>o)return y("publisher:site.forms.commonerrors.maxcheck",o)}}function X_(i){let e=k(i,"input[type='radio']");if(e.some(o=>o.required)&&!e.some(n=>n.checked&&!n.disabled))return y("publisher:site.forms.commonerrors.required")}function xn(i){let e=Hr(i);return e?ou("D-M-Y",e.year,e.month,e.day):""}function G_(i){if(i.getAttribute("type")!=="date"||!i.value)return"";let e=i.value.match(/^([0-9]+)-([0-9]+)-([0-9]+)$/)||[],t=parseInt(e[1]),o=parseInt(e[2]),n=parseInt(e[3]);if(!Go(t,o,n))return y("publisher:site.forms.commonerrors.default");let r=("0000"+t).substr(-4)+"-"+("00"+o).substr(-2)+"-"+("00"+n).substr(-2),s=i.getAttribute("min"),a=i.getAttribute("max");return s&&r<s?y("publisher:site.forms.commonerrors.min",xn(s)):a&&r>a?y("publisher:site.forms.commonerrors.max",xn(a)):""}function J_(i){if(i.getAttribute("type")!=="time"||!i.value)return"";let e=i.value.match(/^([0-9]+):([0-9]+)(:([0-9]+))?$/)||[],t=parseInt(e[1]),o=parseInt(e[2]),n=parseInt(e[3]);return isNaN(t)||isNaN(o)||t<0||t>23||o<0||o>59||!isNaN(n)&&(n<0||n>59)?y("publisher:site.forms.commonerrors.default"):""}function Pr(i){for(let e of k(i,"input[type=date]")){for(let t of["whMin","whMax","whValue"])if(e.dataset[t]){let o=e.dataset[t].match(/^now((\+|-)\d+d)?$/);if(o){let n=t.substr(2).toLowerCase(),r;o[1]?r=new Date(Date.now()+parseInt(o[1])*86400*1e3):r=new Date,e[n]=Gh(r)}}e.type!=="date"&&!e.whValidationPolyfilled&&(e.whValidationPolyfilled=!0,Me(e,G_))}for(let e of k(i,"input[type=time][data-wh-value]")){if(e.dataset.whValue.match(/^now$/)){let o=new Date,n=("0"+o.getHours()).substr(-2)+"-"+("0"+o.getMinutes()).substr(-2);parseInt(e.getAttribute("step")||"0")%60&&(n+="-"+("0"+o.getSeconds()).substr(-2)),e.value=n}e.type!=="time"&&!e.whValidationPolyfilled&&(e.whValidationPolyfilled=!0,Me(e,J_))}for(let e of k(i,".wh-form__fieldgroup--checkboxgroup"))Me(e,$_);for(let e of k(i,".wh-form__fieldgroup--radiogroup"))Me(e,X_),k(e,"input[type='radio']").forEach(t=>t.dataset.whFormSkipnativevalidation="true");for(let e of k(i,".wh-form__fieldgroup--addressfield"))new yn(e)}de();q();var Ut=class extends HTMLElement{static formAssociated=!0;static observedAttributes=["required","disabled"];constructor(){super()}get name(){return this.getAttribute("name")||""}set name(e){this.setAttribute("name",e)}get required(){return this.hasAttribute("required")}set required(e){e?this.setAttribute("required",""):this.removeAttribute("required"),this.refreshState()}get disabled(){return this.hasAttribute("disabled")}set disabled(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.refreshState()}refreshState(){}attributeChangedCallback(e,t,o){["disabled","required"].includes(e)&&this.refreshState()}};he();
14var qr="[name]:not(button):not(a):not(output)";function K_(i){return _t(i)&&i.tagName==="INPUT"}function wn(i){return Hi(i)||i instanceof Ut}function tu(i){return K_(i)&&["radio","checkbox"].includes(i.type)}function Xa(i){return i instanceof RadioNodeList}function qt(i){return i.dataset.whFormName||i.name||""}function Jh(i,e){if(i.dataset.whFormName!==void 0)i.dataset.whFormName=e;else if(i.name!==void 0)i.name=e;else throw new Error("Cannot set name on field without existing name")}function Ni(i){return Xa(i)?`radiogroup '${i.item(0)?.name||i.item(0)?.id||"<unnamed>"}'`:Hi(i)?`native field '${i.name||i.id||"<unnamed>"}'`:i.dataset.whFormName?`custom field '${i.dataset.whFormName||i.id||"<unnamed>"}'`:i.classList.contains("wh-form__fieldgroup")?`field group '${i.dataset.whFormGroupFor||i.id||"<unnamed>"}'`:`${i.tagName} element '${i.id||"<unnamed>"}'`}function su(i){for(let e of k(i,"wh-fileedit")){let t=document.createElement("input");t.type="file";for(let o of e.attributes)t.setAttribute(o.name,o.value);e.replaceWith(t)}}function Q_(i){let e=i.validity;if(e.customError&&i.validationMessage)return i.validationMessage;if(e.valueMissing)return y("publisher:site.forms.commonerrors.required");if(i instanceof HTMLInputElement){if(e.rangeOverflow){let t=i.type==="date"?xn(i.max):i.max;return y("publisher:site.forms.commonerrors.max",t)}if(e.rangeUnderflow){let t=i.type==="date"?xn(i.min):i.min;return y("publisher:site.forms.commonerrors.min",t)}if(e.tooShort)return y("publisher:site.forms.commonerrors.minlength",i.minLength);if(e.tooLong)return y("publisher:site.forms.commonerrors.maxlength",i.maxLength);if(e.stepMismatch)return!i.step||parseInt(i.step)===1?y("publisher:site.forms.commonerrors.step1mismatch"):y("publisher:site.forms.commonerrors.stepmismatch",i.step)}if(e.badInput)return y("publisher:site.forms.commonerrors.default");if(e.typeMismatch&&["email","url","number"].includes(i.type))return y("publisher:site.forms.commonerrors."+i.type);for(let t of["badInput","customError","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","typeMismatch","valueMissing"])if(e[t])return t;return"?"}function Ga(i){return Hi(i)&&!i.hasAttribute("data-wh-form-skipnativevalidation")&&!i.checkValidity()}function Qa(i){return Ga(i)?Q_(i):null}function fn(i){return JSON.parse(i).c}function gn(i,e){let t=i.closest("form");if(!t)throw new Error("No form found for element");let o=k(i,qr).filter(n=>!("form"in n)||n.form===t);return e?o.filter(n=>qt(n).startsWith(e+".")):o}function za(i,{allowMissing:e=!1}={}){return i.propWhFormhandler||(e?null:ge("No form handler found for form"))}function Z_(i){let e=i.closest(".wh-form__fieldgroup")||i;i.propWhCleanupFunction=()=>{e.removeEventListener("change",i.propWhCleanupFunction,!0),e.removeEventListener("input",i.propWhCleanupFunction,!0),e.removeEventListener("blur",i.propWhCleanupFunction,!0),_e(i,"",{serverside:!0}),i.propWhCleanupFunction=void 0},e.addEventListener("change",i.propWhCleanupFunction,!0),e.addEventListener("input",i.propWhCleanupFunction,!0),i.closest("form[novalidate]")||e.addEventListener("blur",i.propWhCleanupFunction,!0)}var Za=class{el;explicit=null;dynamicError=null;validators=[];constructor(e){this.el=e}getState(){let e=this.getError();return e?{error:e}:this.el.propWhValidationSuggestion?{suggested:this.el.propWhValidationSuggestion}:null}getError(){return this.explicit?.error||this.dynamicError||Qa(this.el)||null}hasError(){return!!this.getError()}},au=new WeakMap;function Ai(i){let e=au.get(i);if(e)return e;let t=new Za(i);return au.set(i,t),t}function _e(i,e,t){if(!_t(i))throw new Error("Field is not a valid target for handling errors");let o=Ai(i);if(e)M.fhv&&console.log(`[fhv] ${o.explicit?"Updating":"Setting"} error state for ${Ni(i)}`,i,e,t),o.explicit={error:e,serverside:t?.serverside||!1,reportimmediately:t?.reportimmediately||!1,metadata:t?.metadata},t?.serverside&&Z_(i);else{if(!o.explicit)return;o.explicit=null,M.fhv&&console.log(`[fhv] Clearing error state for ${Ni(i)}`,i,e,t)}Ja(i)}function Ja(i){let e=Ai(i);L(i,"wh:form-setfielderror",{bubbles:!0,cancelable:!0,detail:{error:e.explicit?.error||Qa(i)||"",reportimmediately:e.explicit?.reportimmediately||!1,serverside:e.explicit?.serverside||!1,metadata:e.explicit?.metadata}})}
14function Me(i,e){Ai(i).validators.push(e),i.dataset.whFormCustomValidator=((i.dataset.whFormCustomValidator||"")+" "+(e.name||"?")).trim()}q();pr();A();de();pr();he();re();var kn={};function lu(i){return!(i.disabled||i.readOnly||i.autocomplete&&i.autocomplete.split(" ").includes("username"))}function ew(i,e,t,o){B(i),t.value=o,t.propWhValidationSuggestion=null,e._reportFieldValidity(t)}async function du(i,e){e.dataset.whFormEmailBlocked&&(delete e.dataset.whFormEmailBlocked,_e(e,""));let t=e.value;if(!t||!lu(e))return!0;if(!vp(t))return e.dataset.whFormEmailBlocked="true",_e(e,y("publisher:site.forms.commonerrors.email")),!1;let o="e_"+e.name+"."+t;if(kn[o]===void 0){let r="getRPCFormIdentifier"in i?ai().formValidateEmail({...i.getRPCFormIdentifier(),field:e.name},t):ai().validateEmail(Ie(),t);kn[o]=fp(r,3e3,"Timeout")}let n;try{n=await kn[o]}catch(r){M.fhv&&console.log("[fhv] Email validation error or timeout for value",t,r)}if(t!==e.value||!lu(e))return!0;if(n?.blocked)return e.dataset.whFormEmailBlocked="true",_e(e,n.blocked),!1;if(n?.force)return e.value=n.force,kn["e_"+e.name+"."+n.force]=Promise.resolve({}),!0;if(n?.suggestion){let r=y("publisher:site.forms.commonerrors.email_suggestion","___SUGGESTION___").split("___SUGGESTION___");return kn["e_"+e.name+"."+n.suggestion]=Promise.resolve({}),e.propWhValidationSuggestion=h("span",{class:"wh-form__emailcorrection"},r[0],h("a",{href:"#",class:"wh-form__emailcorrected",on:{click:s=>ew(s,i,e,n.suggestion)}},n.suggestion),r[1]),!0}return!0}re();he();na();Zo();q();de();var Dt=(ot(),Fe(lt)).registerTexts;Dt("publisher","en",{site:{captcha:{explain:"Please check the box below",title:"Verification"}}});Dt("publisher","nl",{site:{captcha:{explain:"Vink het vakje hieronder aan",title:"Verificatie"}}});Dt("publisher","de",{site:{captcha:{explain:"Bitte setze das H\xE4kchen",title:"Kontrolle"}}});Dt("publisher","ar",{site:{captcha:{explain:"\u064A\u0631\u062C\u0649 \u062C\u0639\u0644 \u0639\u0644\u0627\u0645\u0629 \u0623\u0644\u0625\u062E\u062A\u064A\u0627\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0631\u0628\u0639 \u0623\u062F\u0646\u0649",title:"\u0642\u0631\u0628\u062A \u0627\u0644\u0625\u0646\u062A\u0647\u0627\u0621"}}});Dt("publisher","bg",{site:{captcha:{explain:"\u041C\u043E\u043B\u044F, \u043F\u0440\u043E\u0432\u0435\u0440\u0435\u0442\u0435 \u043F\u043E\u043B\u0435\u0442\u043E \u043E\u0442\u0434\u043E\u043B\u0443",title:"\u041F\u043E\u0447\u0442\u0438 \u0435 \u0433\u043E\u0442\u043E\u0432\u043E"}}});Dt("publisher","el",{site:{captcha:{explain:"\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03B5\u03BB\u03AD\u03B3\u03BE\u03C4\u03B5 \u03C4\u03BF \u03C0\u03B1\u03C1\u03B1\u03BA\u03AC\u03C4\u03C9 \u03C0\u03BB\u03B1\u03AF\u03C3\u03B9\u03BF",title:"\u03A3\u03C7\u03B5\u03B4\u03CC\u03BD \u03AD\u03C4\u03BF\u03B9\u03BC\u03BF"}}});Dt("publisher","es",{site:{captcha:{explain:"Por favor, marque la casilla a continuaci\xF3n",title:"Casi listo"}}});Dt("publisher","id",{site:{captcha:{explain:"Mohon centang kotak dibawah",title:"Hampir selesai"}}});Dt("publisher","pt",{site:{captcha:{explain:"Por favor, marque o campo abaixo.",title:"Quase pronto."}}});Dt("publisher","ro",{site:{captcha:{explain:"Te rug\u0103m s\u0103 verifici c\u0103su\u021Ba de mai jos",title:"Aproape terminat"}}});Dt("publisher","zh",{site:{captcha:{explain:"\u8BF7\u67E5\u770B\u4E0B\u65B9\u65B9\u6846",title:"\u63A5\u8FD1\u5B8C\u6210"}}});var ji={};async function cu(i,e,t){if(!ji[i.name])throw new Error(`Captcha provider '${i.name}' not registered`);if(!t?.onResponse)throw new Error("onResponse callback is required");let o={title:t?.title??y("publisher:site.captcha.title"),onResponse:t?.onResponse??(()=>{})};await ji[i.name].initialize(i,e,o)}A();de();A();na();de();var Ht=(ot(),Fe(lt)).registerTexts;Ht("publisher","en",{site:{forms:{"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image",nextpage:"Next",previouspage:"Previous",selectfile:"Select file","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year",starsrequired:"* indicates a required field",submit:"Submit","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file",addressfield:{address_not_found:"The address could not be found.",invalid_nr_detail:"Invalid house number.",invalid_zip:"Invalid ZIP or postal code.",zip_not_found:"Unknown combination of postal code and house number."},commonerrors:{alphanum:"This value should be alphanumeric.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",check:["You must select between ",1," and ",2," choices."],date:"This is not a valid date",default:"This value seems to be invalid.",digits:"This value should be digits.",email:"This value should be a valid email.",email_baddomain:["Due to difficulties with mailing to ",1," email addresses we kindly request you to use an alternative email provider."],email_suggestion:["Did you mean ",1,"?"],equalto:"This value should be the same.",formunavailable:"This form is currently unavailable",integer:"This value should be a valid integer.",length:["This value length is invali
14d. It should be between ",1," and ",2," characters long."],max:["This value should be lower than or equal to ",1,"."],maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxcheck:["You must select ",{t:"ifparam",p:1,value:"1",subs:["1 choice"],subselse:[1," choices"]}," or fewer."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxlength:["This value is too long. It should have ",{t:"ifparam",p:1,value:"1",subs:["1 character"],subselse:[1," characters"]}," or fewer."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],min:["This value should be greater than or equal to ",1,"."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],mincheck:["You must select at least ",{t:"ifparam",p:1,value:"1",subs:["1 choice"],subselse:[1," choices"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minlength:["This value is too short. It should have ",{t:"ifparam",p:1,value:"1",subs:["1 character"],subselse:[1," characters"]}," or more."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],notblank:"This value should not be blank.",number:"This value should be a valid number.",pattern:"This value seems to be invalid.",range:["This value should be between ",1," and ",2,"."],required:"This value is required.",step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded",url:"This value should be a valid url."}}}});Ht("publisher","nl",{site:{forms:{"imgedit-explain-upload":"Sleep bestanden hier of klik om te uploaden","imgedit-groupelement-replace":[1,", Vervang afbeelding"],"imgedit-groupelement-upload":[1,", Upload afbeelding"],"imgedit-remove":"Verwijder afbeelding",nextpage:"Volgende",previouspage:"Vorige",selectfile:"Selecteer bestand","splitdatetime-day-arialabel":"dag","splitdatetime-hours-arialabel":"uur","splitdatetime-minutes-arialabel":"minuut","splitdatetime-month-arialabel":"maand","splitdatetime-seconds-arialabel":"seconde","splitdatetime-year-arialabel":"jaar",starsrequired:"* betekent dat een veld verplicht is",submit:"Versturen","upload-emptytext":"Geen bestand geselecteerd","upload-filename":["Geselecteerde bestand is ",1],"upload-remove":"Verwijder bestand",addressfield:{address_not_found:"Het adres kon niet worden gevonden.",invalid_nr_detail:"Ongeldig huisnummer.",invalid_zip:"Ongeldige postcode.",zip_not_found:"Combinatie van postcode en huisnummer komt niet voor."},commonerrors:{alphanum:"De waarde moet alfanumeriek zijn.",badfiletype:"Dit bestandstype is niet toegestaan",check:["Kies minimaal ",1," en maximaal ",2," items."],date:"Dit is geen geldige datum.",default:"Deze waarde is onjuist.",digits:"De waarde moet numeriek zijn.",email:"Dit is geen geldig e-mailadres.",email_baddomain:["Vanwege problemen met het e-mailen naar ",1," e-mailadressen, willen we je vragen om een alternatief e-mailadres te gebruiken."],email_suggestion:["Bedoel je ",1,"?"],equalto:"De waardes moeten identiek zijn.",formunavailable:"Dit formulier is momenteel niet beschikbaar",integer:"De waarde moet een nummer zijn.",length:["De waarde moet tussen ",1," en ",2," karakters lang zijn."],max:["De waarde mag niet groter zijn dan ",1,"."],maxarray:["U kunt maximaal ",{t:"ifparam",p:1,value:"1",subs:["1 onderdeel"],subselse:[1," onderdelen"]}," toevoegen."],maxcheck:["Kies maximaal ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["De afbeelding is te groot. Deze mag maximaal ",2," pixels hoog zijn."],maxlength:["De waarde is te lang. Deze mag maximaal ",{t:"ifparam",p:1,value:"1",subs:["1 karakter"],subselse:[1," karakters"]}," lang zijn."],maxwidth:["De afbeelding is te groot. Deze mag maximaal ",2," pixels breed zijn."],min:["De waarde mag niet lager zijn dan ",1,"."],minarray:["U moet minimaal ",{t:"ifparam",p:1,value:"1",subs:["1 onderdeel"],subselse:[1," onderdelen"]}," toevoegen."],mincheck:["Kies minimaal ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["De afbeelding is te klein. Deze moet minimaal ",2," pixels hoog zijn."],minlength:["De tekst is te kort. Deze moet uit minimaal ",{t:"ifparam",p:1,value:"1",subs:["1 karakter"],subselse:[1," karakters"]}," bestaan."],minwidth:["De afbeelding is te klein. Deze moet minimaal ",2," pixels breed zijn."],notblank:"De waarde mag niet leeg zijn.",number:"De waarde moet een nummer zijn.",pattern:"De waarde is onjuist.",range:["De waarde moet tussen ",1," en ",2," liggen."],required:"Dit veld is verplicht.",step1mismatch:"De waarde moet een geheel getal zijn",stepmismatch:["De waarde moet een meervoud zijn van ",1,"."],time:"Dit is geen geldige tijd.",unacceptableemail:"Dit e-mailadres is hier niet toegestaan",upload_cannotcheck:"Dit bestand kan niet ge\xFCpload worden omdat we het momenteel niet kunnen verifi\xEBren",upload_suspicious:"Dit bestand ziet er verdacht uit en kan helaas niet ge\xFCpload worden",url:"Dit is geen geldige URL."}}}});Ht("publisher","de",{site:{forms:{nextpage:"Weiter",previouspage:"Zur\xFCck",selectfile:"Datei ausw\xE4hlen",starsrequired:"* zeigt ein Pflichtfeld an",submit:"Abschicken",addressfield:{address_not_found:"Die Adresse konnte nicht gefunden werden.",invalid_nr_detail:"Ung\xFCltige Hausnummer.",invalid_zip:"Ung\xFCltige Postleitzahl.",zip_not_found:"Unbekannte Postleitzahl/Hausnummer Kombination."},commonerrors:{alphanum:"Die Eingabe darf nur Zahlen und/oder Buchstaben befassen.",check:["W\xE4hle zwischen ",1," und ",2," Angaben."],default:"Die Eingabe ist nicht korrekt.",digits:"Die Eingabe darf nur Zahlen enthalten.",email:"Die Eingabe muss eine g\xFCltige E-Mail-Adresse sein.",email_baddomain:["Aufgrund von technischen Schwierigkeiten mit dem Mailprovider ",1," ben\xF6tigen wir eine andere E-Mail Adresse."],email_suggestion:["Meinst du ",1,"?"],equalto:"Dieses Feld muss \xFCbereinstimmen mit dem anderen Feld.",integer:"Die Eingabe muss eine Zahl sein.",length:["Die L\xE4nge der Eingabe ist ung\xFCltig. Es k\xF6nnen zwischen ",1," und ",2," Zeichen eingegeben werden."],max:["Die Eingabe muss kleiner oder gleich ",1," sein."],maxcheck:["W\xE4hle maximal ",1," Angaben aus."],maxlength:["Die Eingabe ist zu lang. Es d\xFCrfen h\xF6chstens ",1," Zeichen eingegeben werden."],min:["Die Eingabe muss gr\xF6\xDFer oder gleich ",1," sein."],mincheck:["Die Eingabe ist zu kurz. Es m\xFCssen mindestens ",1," Zeichen eingegeben werden."],minlength:["W\xE4hle mindestens ",1," Optionen aus."],notblank:"Die Eingabe darf nicht leer sein.",number:"Die Eingabe muss eine Zahl sein.",pattern:"Die Eingabe ist ung\xFCltig.",range:["Die Eingabe muss zwischen ",1," und ",2," liegen."],required:"Dies ist ein Pflichtfeld.",url:"Die Eingabe muss eine g\xFCltige URL sein.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","ar",{site:{forms:{nextpage:"\u0627\u0644\u062A\u0627\u0644\u0649",previouspage:"\u0627\u0644\u0633\u0627\u0628\u0642",selectfile:"\u062D\u062F\u062F \u0627\u0644\u0645\u0644\u0641",starsrequired:"\u064A\u0634\u064A\u0631 \u0625\u0644\u0649 \u062D\u0642\u0644 \u0645\u0637\u0644\u0648\u0628 *",submit:"\u0642\u062F\u0645",addressfield:{address_not_found:"\u0644\u0645 \u064A\u062A\u0645\u0643\u0646 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0639\u0646\u0648\u0627\u0646.",invalid_nr_detail:"\u0631\u0642\u0645 \u0627\u0644\u0645\u0646\u0632\u0644 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D \u0645\u0639 \u0627\u0644\u0625\u0636\u0627\u0641\u0629.",invalid_zip:"\u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0628\u0631\u064A\u062F\u064A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D.",zip_not_found:"\u062A\u0631\u0643\u064A\u0628\u0629 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0628\u0631\u064A\u062F\u064A \u0648\u0631\u0642\u0645 \u0627\u0644\u0645\u0646\u0632\u0644 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641\u0629."},commonerrors:{alphanum:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u062D\u0631\u0648\u0641 \u0648\u0623\u0631\u0642\u0627\u0645 \u0641\u0642\u0637",check:["\u064A\u062C\u0628 \u0627\u062E\u062A\u064A\u0627\u0631 \u0628\u064A\u0646 ",1," \u0648 ",2," \u062E\u064A\u0627\u0631."],default:"\u
14062A\u0623\u0643\u062F \u0645\u0646 \u0635\u062D\u0629 \u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629",digits:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0623\u0631\u0642\u0627\u0645",email:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0628\u0631\u064A\u062F \u0627\u0644\u0643\u062A\u0631\u0648\u0646\u064A \u0635\u0627\u0644\u062D",email_baddomain:["\u0646\u0638\u0631\u064B\u0627 \u0644\u0635\u0639\u0648\u0628\u0629 \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0628\u0631\u064A\u062F \u0625\u0644\u0649 ",1," \u0639\u0646\u0627\u0648\u064A\u0646 \u0627\u0644\u0628\u0631\u064A\u062F \u0627\u0644\u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A \u064A\u0631\u062C\u0649 \u0625\u0633\u062A\u062E\u062F\u0627\u0645 \u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A \u0628\u062F\u064A\u0644"],email_suggestion:["\u0647\u0644 \u062A\u0642\u0635\u062F ",1,"\u061F"],equalto:"\u062A\u0623\u0643\u062F \u0645\u0646 \u062A\u0637\u0627\u0628\u0642 \u0627\u0644\u0642\u064A\u0645\u062A\u064A\u0646 \u0627\u0644\u0645\u062F\u062E\u0644\u0629.",integer:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0639\u062F\u062F \u0635\u062D\u064A\u062D \u0628\u062F\u0648\u0646 \u0643\u0633\u0648\u0631",length:["\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629. \u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0642\u064A\u0645\u0629 \u0628\u064A\u0646 ",1," \u0648",2," \u062E\u0627\u0646\u0629"],max:["\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u064A\u062C\u0628 \u0623\u0646 \u062A\u0633\u0627\u0648\u064A \u0623\u0648 \u062A\u0643\u0648\u0646 \u0623\u0642\u0644 \u0645\u0646 ",1,"."],maxcheck:["\u064A\u062C\u0628 \u0627\u062E\u062A\u064A\u0627\u0631 ",1," \u062E\u064A\u0627\u0631 \u0623\u0648 \u0623\u0642\u0644"],maxlength:["\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u0637\u0648\u064A\u0644\u0629 \u0628\u0627\u0644\u063A\u0627\u064A\u0629. \u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 ",1," \u062D\u0631\u0648\u0641 \u0623\u0648 \u0623\u0642\u0644"],min:["\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u064A\u062C\u0628 \u0623\u0646 \u062A\u0633\u0627\u0648\u064A \u0623\u0648 \u062A\u0643\u0648\u0646 \u0623\u0643\u0628\u0631 \u0645\u0646 ",1,"."],mincheck:["\u064A\u062C\u0628 \u0627\u062E\u062A\u064A\u0627\u0631 ",1," \u062E\u064A\u0627\u0631 \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644."],minlength:["\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u0642\u0635\u064A\u0631\u0629 \u0628\u0627\u0644\u063A\u0627\u064A\u0629. \u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 ",1," \u062D\u0631\u0641 \u0623\u0648 \u0623\u0643\u062B\u0631"],notblank:"\u062A\u0623\u0643\u062F \u0645\u0646 \u062A\u0639\u0628\u0626\u0629 \u0627\u0644\u062D\u0642\u0644",number:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0631\u0642\u0645 \u0635\u0627\u0644\u062D",pattern:"\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629",range:["\u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u062F\u062E\u0644\u0629 \u064A\u062C\u0628 \u0623\u0646 \u062A\u0643\u0648\u0646 \u0628\u064A\u0646 ",1," \u0648 ",2,"."],required:"\u0647\u0630\u0627 \u0627\u0644\u062D\u0642\u0644 \u0645\u0637\u0644\u0648\u0628",url:"\u062A\u0623\u0643\u062F \u0645\u0646 \u0625\u062F\u062E\u0627\u0644 \u0631\u0627\u0628\u0637 \u0635\u0627\u0644\u062D",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","bg",{site:{forms:{nextpage:"\u041D\u0430\u043F\u0440\u0435\u0434.",previouspage:"\u041D\u0430\u0437\u0430\u0434.",selectfile:"\u0418\u0437\u0431\u0435\u0440\u0438 \u0444\u0430\u0439\u043B.",starsrequired:"* \u041E\u0431\u043E\u0437\u043D\u0430\u0447\u0430\u0432\u0430 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E \u043F\u043E\u043B\u0435",submit:"\u041A\u0430\u0447\u0438.",addressfield:{address_not_found:"\u0410\u0434\u0440\u0435\u0441\u044A\u0442 \u043D\u0435 \u0431\u0435 \u043D\u0430\u043C\u0435\u0440\u0435\u043D.",invalid_nr_detail:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u043E\u043C\u0435\u0440.",invalid_zip:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043F\u043E\u0449\u0435\u043D\u0441\u043A\u0438 \u043A\u043E\u0434.",zip_not_found:"\u041D\u0435\u043F\u043E\u0437\u043D\u0430\u0442\u0430 \u043A\u043E\u043C\u0431\u0438\u043D\u0430\u0446\u0438\u044F \u043D\u0430 \u043F\u043E\u0449\u0435\u043D\u0441\u043A\u0438 \u043A\u043E\u0434 \u0438 \u043D\u043E\u043C\u0435\u0440 \u043D\u0430 \u043A\u044A\u0449\u0430\u0442\u0430."},commonerrors:{alphanum:"\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u0430\u0434\u044A\u0440\u0436\u0430 \u0441\u0430\u043C\u043E \u0431\u0443\u043A\u0432\u0438 \u0438\u043B\u0438 \u0446\u0438\u0444\u0440\u0438.",check:["\u0422\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043C\u0435\u0436\u0434\u0443 ",1," \u0438 ",2," \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0438."],default:"\u
14041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442.",digits:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0438 \u0446\u0438\u0444\u0440\u0438.",email:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441.",email_baddomain:"\u041F\u043E\u0440\u0430\u0434\u0438 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u0440\u0438\u0447\u0438\u043D\u0438, \u0412\u0438 \u043C\u043E\u043B\u0438\u043C \u0434\u0430 \u0438\u0437\u043F\u043E\u043B\u0437\u0432\u0430\u0442\u0435 \u0440\u0430\u0437\u043B\u0438\u0447\u0435\u043D \u0438\u043C\u0435\u0439\u043B \u0434\u043E\u0441\u0442\u0430\u0432\u0447\u0438\u043A.",email_suggestion:["\u0418\u043C\u0430\u0445\u0442\u0435 \u043F\u0440\u0435\u0434\u0432\u0438\u0434 ",1,"?"],equalto:"\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430.",integer:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u043E\u043C\u0435\u0440.",length:["\u0414\u044A\u043B\u0436\u0438\u043D\u0430\u0442\u0430 \u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043C\u0435\u0436\u0434\u0443 ",1," \u0438 ",2," \u0441\u0438\u043C\u0432\u043E\u043B\u0430."],max:["\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u043C\u0430\u043B\u043A\u0430 \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u0430 \u043D\u0430 ",1,"."],maxcheck:["\u0422\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043D\u0430\u0439-\u043C\u043D\u043E\u0433\u043E ",1," \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0438."],maxlength:["\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0435 \u043F\u0440\u0435\u043A\u0430\u043B\u0435\u043D\u043E \u0434\u044A\u043B\u0433\u0430. \u041C\u0430\u043A\u0441. \u0434\u044A\u043B\u0436\u0438\u043D\u0430: ",1," \u0441\u0438\u043C\u0432\u043E\u043B\u0430."],min:["\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043F\u043E-\u0433\u043E\u043B\u044F\u043C\u0430 \u0438\u043B\u0438 \u0440\u0430\u0432\u043D\u0430 \u043D\u0430 ",1,"."],mincheck:["\u0422\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043F\u043E\u043D\u0435 ",1," \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0438."],minlength:["\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0435 \u043F\u0440\u0435\u043A\u0430\u043B\u0435\u043D\u043E \u043A\u0440\u0430\u0442\u043A\u0430. \u041C\u0438\u043D. \u0434\u044A\u043B\u0436\u0438\u043D\u0430: ",1," \u0441\u0438\u043C\u0432\u043E\u043B\u0430."],notblank:"\u041F\u043E\u043B\u0435\u0442\u043E \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E.",number:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u043E\u043C\u0435\u0440.",pattern:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442.",range:["\u0421\u0442\u043E\u0439\u043D\u043E\u0441\u0442\u0442\u0430 \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043C\u0435\u0436\u0434\u0443 ",1," \u0438 ",2,"."],required:"\u041F\u043E\u043B\u0435\u0442\u043E \u0435 \u0437\u0430\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E.",url:"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D URL \u0430\u0434\u0440\u0435\u0441.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","el",{site:{forms:{nextpage:"\u0395\u03C0\u03CC\u03BC\u03B5\u03BD\u03BF",previouspage:"\u03A0\u03C1\u03BF\u03B7\u03B3\u03BF\u03CD\u03BC\u03B5\u03BD\u03BF",selectfile:"\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF",starsrequired:"* \u03C5\u03C0\u03BF\u03B4\u03B7\u03BB\u03CE\u03BD\u03B5\u03B9 \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03BF\u03C5 \u03B1\u03C0\u03B1\u03B9\u03C4\u03B5\u03AF\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03C3\u03C5\u03BC\u03C0\u03BB\u03B7\u03C1\u03C9\u03B8\u03B5\u03AF",submit:"\u03A5\u03C0\u03BF\u03B2\u03AC\u03BB\u03BB\u03B5\u03C4\u03B5",addressfield:{address_not_found:"\u0394\u03B5\u03BD \u03AE\u03C4\u03B1\u03BD \u03B4\u03C5\u03BD\u03B1\u03C4\u03AE \u03B7 \u03B5\u03CD\u03C1\u03B5\u03C3\u03B7 \u03C4\u03B7\u03C2 \u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7\u03C2.",invalid_nr_detail:"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03C3\u03C0\u03B9\u03C4\u03B9\u03BF\u03CD.",invalid_zip:"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03C4\u03B1\u03C7\u03C5\u03B4\u03C1\u03BF\u03BC\u03B9\u03BA\u03CC\u03C2 \u03BA\u03CE\u03B4\u03B9\u03BA\u03B1\u03C2.",zip_not_found:"\u0386\u03B3\u03BD\u03C9\u03C3\u03C4\u03BF\u03C2 \u03C3\u03C5\u03BD\u03B4\u03C5\u03B1\u03C3\u03BC\u03CC\u03C2 \u03C4\u03B1\u03C7\u03C5\u03B4\u03C1\u03BF\u03BC\u03B9\u03BA\u03BF\u03CD \u03BA\u03CE\u03B4\u03B9\u03BA\u03B1 \u03BA\u03B1\u03B9 \u03B1\u03C1\u03B9\u03B8\u03BC\u03BF\u03CD \u03BA\u03B1\u03C4\u03BF\u03B9\u03BA\u03AF\u03B1\u03C2."},commonerrors:{alphanum:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B1\u03BB\u03C6\u03B1\u03C1\u03B9\u03B8\u03BC\u03B7\u03C4\u03B9\u03BA\u03CC.",check:["\u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03C4\u03B5 \u03BC\u03B5\u03C4\u03B1\u03BE\u03CD ",1," \u03BA\u03B1\u03B9 ",2," \u03B5\u03C0\u03AF\u03BB\u03BF\u03B3\u03C9\u03BD."],default:"\u
140397 \u03C4\u03B9\u03BC\u03AE \u03C6\u03B1\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7.",digits:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C8\u03B7\u03C6\u03AF\u03B1.",email:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03BD\u03B1 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF email.",email_baddomain:["\u039B\u03CC\u03B3\u03C9 \u03B4\u03C5\u03C3\u03BA\u03BF\u03BB\u03B9\u03CE\u03BD \u03BC\u03B5 \u03C4\u03B7\u03BD \u03B1\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE e-mail \u03C3\u03B5 ",1," \u03B4\u03B9\u03B5\u03C5\u03B8\u03CD\u03BD\u03C3\u03B5\u03B9\u03C2 \u03B7\u03BB\u03B5\u03BA\u03C4\u03C1\u03BF\u03BD\u03B9\u03BA\u03BF\u03CD \u03C4\u03B1\u03C7\u03C5\u03B4\u03C1\u03BF\u03BC\u03B5\u03AF\u03BF\u03C5, \u03C3\u03B1\u03C2 \u03C0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03BF\u03CD\u03BC\u03B5 \u03BD\u03B1 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03C4\u03B5 \u03AD\u03BD\u03B1\u03BD \u03B5\u03BD\u03B1\u03BB\u03BB\u03B1\u03BA\u03C4\u03B9\u03BA\u03CC \u03C0\u03AC\u03C1\u03BF\u03C7\u03BF \u03B7\u03BB\u03B5\u03BA\u03C4\u03C1\u03BF\u03BD\u03B9\u03BA\u03BF\u03CD \u03C4\u03B1\u03C7\u03C5\u03B4\u03C1\u03BF\u03BC\u03B5\u03AF\u03BF\u03C5."],email_suggestion:["\u039C\u03AE\u03C0\u03C9\u03C2 \u03B5\u03BD\u03BD\u03BF\u03B5\u03AF\u03C4\u03B5 ",1,";"],equalto:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B7 \u03AF\u03B4\u03B9\u03B1.",integer:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03BD\u03B1\u03C2 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03BA\u03AD\u03C1\u03B1\u03B9\u03BF\u03C2.",length:["\u03A4\u03BF \u03BC\u03AE\u03BA\u03BF\u03C2 \u03C4\u03BF\u03C5 \u03BA\u03B5\u03B9\u03BC\u03AD\u03BD\u03BF\u03C5 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF. \u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B5\u03C4\u03B1\u03BE\u03CD ",1," \u03BA\u03B1\u03B9 ",2," \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03C9\u03BD."],max:["\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B9\u03BA\u03C1\u03CC\u03C4\u03B5\u03C1\u03B7 \u03AE \u03AF\u03C3\u03B7 \u03BC\u03B5 ",1,"."],maxcheck:["\u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03C4\u03B5 ",1," \u03AE \u03BB\u03B9\u03B3\u03CC\u03C4\u03B5\u03C1\u03B5\u03C2 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AD\u03C2."],maxlength:["\u0397 \u03BA\u03B5\u03AF\u03BC\u03B5\u03BD\u03BF \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF. \u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ",1," \u03AE \u03BA\u03B1\u03B9 \u03BB\u03B9\u03B3\u03CC\u03C4\u03B5\u03C1\u03BF\u03B9 \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2."],min:["\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B5\u03B3\u03B1\u03BB\u03CD\u03C4\u03B5\u03C1\u03B7 \u03AE \u03AF\u03C3\u03B7 \u03BC\u03B5 ",1,"."],mincheck:["\u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03BE\u03B5\u03C4\u03B5 \u03C4\u03BF\u03C5\u03BB\u03AC\u03C7\u03B9\u03C3\u03C4\u03BF\u03BD ",1," \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AD\u03C2."],minlength:["\u03A4\u03BF \u03BA\u03B5\u03AF\u03BC\u03B5\u03BD\u03BF \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC. \u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ",1," \u03AE \u03BA\u03B1\u03B9 \u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03BF\u03B9 \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2."],notblank:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03B4\u03B5\u03BD \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BA\u03B5\u03BD\u03AE.",number:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03BD\u03B1\u03C2 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2.",pattern:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C6\u03B1\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7.",range:["\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BC\u03B5\u03C4\u03B1\u03BE\u03CD ",1," \u03BA\u03B1\u03B9 ",2,"."],required:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03B1\u03C5\u03C4\u03AE \u03B1\u03C0\u03B1\u03B9\u03C4\u03B5\u03AF\u03C4\u03B1\u03B9.",url:"\u0397 \u03C4\u03B9\u03BC\u03AE \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03AD\u03BD\u03B1 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF url.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","es",{site:{forms:{nextpage:"Siguiente",previouspage:"Anterior",selectfile:"Seleccionar archivo",starsrequired:"* Campos obligatorios",submit:"Enviar",addressfield:{address_not_found:"La direcci\xF3n no pudo ser encontrada.",invalid_nr_detail:"N\xFAmero de casa con adici\xF3n inv\xE1lido.",invalid_zip:"C\xF3digo postal inv\xE1lido.",zip_not_found:"Combinaci\xF3n desconocida de c\xF3digo postal y n\xFAmero de casa."},commonerrors:{alphanum:"Este valor debe ser alfanum\xE9rico.",check:["Debe seleccionar entre ",1," y ",2," opciones."],default:"Este valor parece ser inv\xE1lido.",digits:"Este valor debe ser un d\xEDgito v\xE1lido.",email:"Este valor debe ser un correo v\xE1lido.",email_baddomain:["Debido a las dificultades con el env\xEDo de correos a ",1," direcciones de correo electr\xF3nico, le pedimos amablemente que utilice un proveedor de correo electr\xF3nico alternativo."],email_suggestion:["\xBFSe refiere a ",1,"?"],equalto:"Este valor debe ser id\xE9ntico.",integer:"Este valor debe ser un n\xFAmero entero v\xE1lido.",length:["Esta longitud de valor no es v\xE1lida. Debe tener entre ",1," y ",2," caracteres de longitud."],max:["Este valor debe ser menor o igual a ",1,"."],maxcheck:["Debe seleccionar ",1," opciones o menos."],maxlength:["Este valor es muy largo. La longitud m\xE1xima es de ",1," caracteres."],min:["Este valor debe ser mayor o igual que ",1,"."],mincheck:["Debe seleccionar al menos ",1," opciones."],minlength:["Este valor es muy corto. La longitud m\xEDnima es de ",1," caracteres."],notblank:"Este valor no debe estar en blanco.",number:"Este valor debe ser un n\xFAmero v\xE1lido.",pattern:"Este valor parece ser inv\xE1lido.",range:["Este valor debe estar entre ",1," y ",2,"."],required:"Este valor es necesario.",url:"Este valor debe ser una URL v\xE1lida.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","id",{site:{forms:{nextpage:"Lanjut",previouspage:"Sebelumnya",selectfile:"Pilih file",starsrequired:"* menandakan bagian yang harus diisi",submit:"Kirim",addressfield:{address_not_found:"Alamat tidak ditemukan.",invalid_nr_detail:"Nomor rumah (dengan penambahan) ti
14dak ditemukan.",invalid_zip:"Kode pos tidak ditemukan.",zip_not_found:"Kombinasi nomor rumah dan kodepos tidak ditemukan."},commonerrors:{alphanum:"harus berupa alphanumeric",check:["pilih antar ",1," dan ",2," pilihan"],default:"Isi tidak valid",digits:"Harus berupa digit",email:"Email tidak valid",email_baddomain:["Karena ada kesulitan dengan provider email ",1,", kami meminta anda menggunakan provider email alternatif"],email_suggestion:["Apakah yang kamu maksud ",1,"?"],equalto:"Isi harus sama",integer:"Angka tidak valid",length:["Panjang karakter harus dalam rentang ",1," dan ",2],max:["Harus lebih kecil atau sama dengan ",1,"."],maxcheck:["Pilih maksimal ",1," pilihan"],maxlength:["Isian terlalu panjang, maksimal ",1," karakter atau kurang."],min:["Isi Harus lebih besar atau sama dengan ",1,"."],mincheck:["Pilih minimal ",1," pilihan"],minlength:["Terlalu pendek, minimal ",1," karakter atau lebih."],notblank:"Tidak boleh kosong",number:"Angka tidak valid",pattern:"Tidak valid",range:["Isi harus dalam rentang ",1," dan ",2,"."],required:"Isian harus disi",url:"Isi harus berupa URL valid",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","pt",{site:{forms:{nextpage:"Pr\xF3ximo.",previouspage:"Anterior",selectfile:"Selecionar o arquivo",starsrequired:"* Preenchimento obrigat\xF3rio",submit:"Enviar",addressfield:{address_not_found:"O endere\xE7o n\xE3o p\xF4de ser encontrado.",invalid_nr_detail:"N\xFAmero de casa inv\xE1lido.",invalid_zip:"CEP ou caixa postal inv\xE1lido.",zip_not_found:"Combina\xE7\xE3o desconhecida de c\xF3digo postal e n\xFAmero de casa."},commonerrors:{alphanum:"Este campo deve ser alfa num\xE9rico.",check:["Voc\xEA deve escolher entre ",1," e ",2," op\xE7\xF5es."],default:"Este valor parece ser inv\xE1lido.",digits:"Este campo deve conter apenas d\xEDgitos.",email:"Este campo deve ser um email v\xE1lido.",email_baddomain:["Devido a dificuldades com o envio de correio para ",1," endere\xE7os de e-mail, pedimos que use um provedor de e-mail alternativo"],email_suggestion:["Voc\xEA quis dizer ",1,"?"],equalto:"Este valor deveria ser igual.",integer:"Este campo deve ser um inteiro v\xE1lido.",length:["O tamanho deste campo \xE9 inv\xE1lido. Ele deveria ter entre ",1," e ",2," caracteres."],max:["Este campo deve ser menor ou igual a ",1,"."],maxcheck:["Voc\xEA deve escolher ",1," op\xE7\xF5es ou mais"],maxlength:["Este campo \xE9 grande demais. Ele deveria ter ",1," caracteres ou menos."],min:["Este campo deve ser maior ou igual a ",1,"."],mincheck:["Voc\xEA deve escolher pelo menos ",1," op\xE7\xF5es."],minlength:["Este campo \xE9 pequeno demais. Ele deveria ter ",1," caracteres ou mais."],notblank:"Este campo n\xE3o pode ficar vazio.",number:"Este campo deve ser um n\xFAmero v\xE1lido.",pattern:"Este campo parece estar inv\xE1lido.",range:["Este campo deve estar entre ",1," e ",2,"."],required:"Este campo \xE9 obrigat\xF3rio.",url:"Este campo deve ser um URL v\xE1lida.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","ro",{site:{forms:{nextpage:"Urm\u0103torul/ Urm\u0103toarea ( if it's not followed by a noun the first version is fine; if it's followed by a noun the translation might change)",previouspage:"Anterior",selectfile:"Selecteaz\u0103 fi\u0219ier",starsrequired:"* c\xE2mpuri obligatorii",submit:"Trimite",addressfield:{address_not_found:"Adresa nu a putut fi g\u0103sit\u0103.",invalid_nr_detail:"Num\u0103r de cas\u0103 invalid.",invalid_zip:"Cod po\u0219tal invalid.",z
14ip_not_found:"Combina\u021Bie de cod po\u0219tal \u0219i num\u0103r de cas\u0103 invalid\u0103."},commonerrors:{alphanum:"Trebuie s\u0103 con\u021Bin\u0103 doar cifre sau litere.",check:["Trebuie s\u0103 selectezi \xEEntre variantele ",1," \u0219i ",2," ."],default:"Aceast\u0103 valoare pare s\u0103 fie incorect\u0103.",digits:"Aceast\u0103 valoare ar trebui s\u0103 fie numeric\u0103.",email:"Aceast\u0103 valoare ar trebui s\u0103 fie o adres\u0103 de email valid\u0103.",email_baddomain:["Datorit\u0103 dificult\u0103\u021Bilor cu trimiterea mesajelor la adresa de email ",1,"  te rug\u0103m s\u0103 folose\u0219ti o alt\u0103 adres\u0103 de email."],email_suggestion:["Voiai s\u0103 scrii ",1,"?"],equalto:"Aceast\u0103 valoare ar trebui s\u0103 fie la fel.",integer:"Aceast\u0103 valoare ar trebui s\u0103 reprezinte un \xEEntreg.",length:["Lungimea acestei valori este invalid\u0103. Ar trebui s\u0103 con\u021Bin\u0103 un num\u0103r de caractere cuprins \xEEntre ",1," \u0219i ",2,"."],max:["Aceast\u0103 valoare ar trebui s\u0103 fie mai mic\u0103 sau egal\u0103 cu ",1,"."],maxcheck:["Trebuie s\u0103 selectezi minim ",1," variante sau mai pu\u021Bine."],maxlength:["Aceast\u0103 valoare este prea lung\u0103. Ar trebui s\u0103 con\u021Bin\u0103 ",1," caractere sau mai pu\u021Bine."],min:["Aceast\u0103 valoare ar trebui s\u0103 fie mai mare sau egal\u0103 cu ",1,"."],mincheck:["Trebuie s\u0103 selectezi cel pu\u021Bin ",1," variante."],minlength:["Aceast\u0103 valoare este prea scurt\u0103. Ar trebui s\u0103 aib\u0103 ",1," caractere sau mai multe."],notblank:"Aceast\u0103 valoare nu ar trebui l\u0103sat\u0103 necompletat\u0103.",number:"Trebuie s\u0103 scrii un num\u0103r valid",pattern:"Acest c\xE2mp nu este completat corect.",range:["Valoarea trebuie s\u0103 fie \xEEntre ",1," \u0219i ",2,"."],required:"Aceast\u0103 valoare trebuie completat\u0103.",url:"Aceast\u0103 valoare ar trebui s\u0103 fie un URL valid.",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});Ht("publisher","zh",{site:{forms:{nextpage:"\u4E0B\u4E00\u6B65",previouspage:"\u4E0A\u4E00\u6B65",selectfile:"\u9009\u62E9\u6587\u4EF6",starsrequired:"* \u7531\u661F\u53F7\u6807\u6CE8\u7684\u95EE\u9898\u662F\u5FC5\u987B\u56DE\u7B54\u7684",submit:"\u63D0\u4EA4",addressfield:{address_not_found:"\u67E5\u65E0\u672C\u5730\u5740",invalid_nr_detail:"\u65E0\u6548\u623F\u95F4\u53F7",invalid_zip:"\u65E0\u6548\u90AE\u653F\u7F16\u7801",zip_not_found:"\u672A\u77E5\u7684\u623F\u95F4\u53F7\u4E0E\u90AE\u653F\u7F16\u7801\u7EC4\u5408"},commonerrors:{alphanum:"\u8BF7\u8F93\u5165\u5B57\u6BCD\u6216\u6570\u5B57",check:["\u8BF7\u9009\u62E9 ",1," \u5230 ",2," \u4E2A\u9009\u9879"],default:"\u4E0D\u6B63\u786E\u7684\u503C",digits:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u53F7\u7801",email:"\u8BF7\u8F93\u5165\u4E00\u4E2A\u6709\u6548\u7684\u7535\u5B50\u90AE\u7BB1\u5730\u5740",email_baddomain:["\u56E0\u4E3A\u6280\u672F\u539F\u56E0\uFF0C\u6211\u4EEC\u65E0\u6CD5\u53D1\u9001\u90AE\u4EF6\u5230",1,"\u90AE\u7BB1\uFF0C\u6211\u4EEC\u6073\u8B
14F7\u60A8\u66F4\u6362\u4F7F\u7528\u53E6\u5916\u7684\u90AE\u7BB1\u5730\u5740"],email_suggestion:["\u4F60\u7684\u610F\u601D\u662F",1,"\uFF1F"],equalto:"\u8F93\u5165\u503C\u5E94\u8BE5\u76F8\u540C",integer:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u6574\u6570",length:["\u5B57\u7B26\u957F\u5EA6\u5E94\u8BE5\u5728 ",1," \u5230 ",2," \u4E4B\u95F4"],max:["\u8F93\u5165\u503C\u8BF7\u5C0F\u4E8E\u6216\u7B49\u4E8E ",1],maxcheck:["\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC7 ",1," \u4E2A\u9009\u9879"],maxlength:["\u8BF7\u8F93\u5165\u81F3\u591A ",1," \u4E2A\u5B57\u7B26"],min:["\u8F93\u5165\u503C\u8BF7\u5927\u4E8E\u6216\u7B49\u4E8E ",1],mincheck:["\u8BF7\u81F3\u5C11\u9009\u62E9 ",1," \u4E2A\u9009\u9879"],minlength:["\u8BF7\u8F93\u5165\u81F3\u5C11 ",1," \u4E2A\u5B57\u7B26"],notblank:"\u8BF7\u8F93\u5165\u503C",number:"\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u6570\u5B57",pattern:"\u65E0\u6548\u503C",range:["\u8F93\u5165\u503C\u5E94\u8BE5\u5728 ",1," \u5230 ",2," \u4E4B\u95F4"],required:"\u5FC5\u586B\u9879",url:"\u8BF7\u8F93\u5165\u4E00\u4E2A\u6709\u6548\u7684\u94FE\u63A5",badfiletype:"This file type is not allowed",cannotprocessfile:"This file looks suspicious and can unfortunately not be uploaded",date:"This is not a valid date",formunavailable:"This form is currently unavailable",maxarray:["You can add at most ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],maxheight:["The image is too big. It should be at most ",2," pixels high."],maxsignupsreached:"The maximum number of signups has been reached",maxwidth:["The image is too big. It should be at most ",2," pixels wide."],minarray:["You must add at least ",{t:"ifparam",p:1,value:"1",subs:["1 item"],subselse:[1," items"]},"."],minheight:["The image is too small. It should be at least ",2," pixels high."],minwidth:["The image is too small. It should be at least ",2," pixels wide."],step1mismatch:"The value must be a whole number",stepmismatch:["The value should be a multiple of ",1,"."],time:"This is not a valid time",unacceptableemail:"This email address is not acceptable here",upload_cannotcheck:"This file cannot be uploaded as we are currently unable to verify it",upload_suspicious:"This file looks suspicious and can unfortunately not be uploaded"},"imgedit-explain-upload":"Drag and drop files here or click to upload","imgedit-groupelement-replace":[1,", Replace image"],"imgedit-groupelement-upload":[1,", Upload image"],"imgedit-remove":"Remove image","splitdatetime-day-arialabel":"day","splitdatetime-hours-arialabel":"hour","splitdatetime-minutes-arialabel":"minute","splitdatetime-month-arialabel":"month","splitdatetime-seconds-arialabel":"second","splitdatetime-year-arialabel":"year","upload-emptytext":"No file chosen","upload-filename":["Uploaded file is ",1],"upload-remove":"Remove file"}}});function iw(i,e){if(e.includes(i))return!0;let t=i.split("/")[0];return!!(["image","video","audio"].includes(t)&&e.includes(t+"/*"))}var So=class extends Ut{root;maindiv;group;currentFiles=new Array;maxFiles;constructor(){super(),this.root=this.attachShadow({mode:"open",delegatesFocus:!0}),this.maindiv=document.createElement("div"),this.maindiv.inert=this.disabled;let e=document.createElement("link");
14e.rel="stylesheet",e.href="/.wh/ea/p/forms/controls.css",this.root.append(e,this.maindiv),this.group=this.closest(".wh-form__fieldgroup"),this.whFormsApiChecker=async()=>{await this._check()},this.maxFiles=parseInt(this.getAttribute("max-files"))||1,this.getAttribute("value")&&this.#e(JSON.parse(this.getAttribute("value"))),this.group&&(this.group.addEventListener("dragover",t=>t.preventDefault()),this.group.addEventListener("dragenter",t=>t.preventDefault()),this.group.addEventListener("drop",t=>this.doDrop(t)))}isSet(){return this.currentFiles.length>0}async _check(){let e=this.required&&!this.isSet();return e?_e(this,y("publisher:site.forms.commonerrors.required"),{reportimmediately:!1}):_e(this,"",{reportimmediately:!1}),e}refreshState(){this.maindiv.inert=this.disabled}get value(){return this.currentFiles}set value(e){this.#e(e),this.refresh()}#e(e){let t=[];for(let o of e){if(o?.file){if(!this._isAcceptableType(o.file.type))throw new Error(`File type ${o.file.type} is not acceptable for ${Ni(this)}`);t.push({fileName:o.fileName||o.file.name,file:o.file,link:null})}else if(o?.link)t.push({fileName:o.fileName||"",file:null,link:o.link});else throw new Error(`Incorrect value type received for ${Ni(this)} - expect 'file' or 'link' to be set`);if(t.length>=this.maxFiles)break}this.currentFiles=t}_isAcceptableType(e){let t=this.getAttribute("accept")?.split(",").map(o=>o.trim())??[];return!t.length||iw(e,t)}doDrop(e){e.preventDefault();let t=e.dataTransfer?.files;t&&this.processUpload(t[0])}async uploadFile(e){var r=[];try{e.preventDefault();if(this.disabled||this.currentFiles.length>=this.maxFiles)return;let t=this.getAttribute("accept")?.split(",")??[];let o=hi(r,Q());void 0;let n=await Rp({accept:t});if(!n)return;await this.processUpload(n)}catch(s){var a=s,l=!0}finally{ui(r,a,l)}}async processUpload(e){if(!(this.disabled||this.currentFiles.length>=this.maxFiles)){if(!this._isAcceptableType(e.type)){let t=this.dataset.whAccepterror||y("publisher:site.forms.commonerrors.badfiletype");_e(this,t,{reportimmediately:!0});return}this.currentFiles.push({fileName:e.name,file:e,link:null}),this.refresh(),L(this,"change",{bubbles:!0,cancelable:!1})}}deleteFile(e,t){e&&B(e),this.currentFiles.splice(t,1),this.refresh(),L(this,"change",{bubbles:!0,cancelable:!1})}setupUploadButton(e){e.addEventListener("click",t=>{this.uploadFile(t)})}setupDeleteButton(e,t){e.addEventListener("click",o=>this.deleteFile(o,t)),e.ariaLabel=y("publisher:site.forms.imgedit-remove")}};he();var Wr=class extends So{constructor(){super(),this.refresh()}#e(){let e=document.createElement("div");return e.classList.add("file"),e}refresh(){let e=[];for(let[t,o]of this.currentFiles.entries()){let n=this.#e(),r=gp(o)?o.name:o.fileName,s=h("input",{part:"filename",class:"file__name",type:"text",value:r,readonly:!0}),a=h("button",{part:"button deletebutton",class:"deletebutton file__deletebutton"});this.setupDeleteButton(a,t),n.append(s,a),e.push(n)}if(this.currentFiles.length<this.maxFiles){let t=this.#e();t.classList.add("file--placeholder");let o=h("input",{part:"filename",class:"file__name",type:"text",value:"",placeholder:y("publisher:site.forms.upload-emptytext"),disabled:!0,readonly:!0}),n=h("button",{part:"button selectbutton",type:"button",class:"wh-form__uploadfieldselect wh-form__button"},h("span",{class:"wh-form__buttonlabel"},y("publisher:site.forms.selectfile")));this.setupUploadButton(t),t.append(o,n),e.push(t)}this.maindiv.replaceChildren(...e)}},Tn=class{constructor(e){customElements.get("wh-fileedit")||customElements.define("wh-fileedit",Wr)}};q();he();de();na();var pu,ow=new WeakMap;function nw(i){return Vi(ow,i,{insert:()=>{let e=URL.createObjectURL(i);return pu||=new FinalizationRegistry(t=>URL.revokeObjectURL(t)),pu.register(i,e),e}})}async function rw(i){let e=await Cp(await Mp(i));return{width:e.naturalWidth,height:e.naturalHeight}}var Br=class i extends So{static observedAttributes=["min-width","max-width","min-height","max-height"];static texts=null;minWidth;maxWidth;minHeight;maxHeight;constructor(){super(),this.maindiv.classList.add("images"),this.minWidth=parseInt(this.getAttribute("min-width")||"0")||0,this.maxWidth=parseInt(this.getAttribute("max-width")||"0")||0,this.minHeight=parseInt(this.getAttribute("min-height")||"0")||0,this.maxHeight=parseInt(this.getAttribute("max-height")||"0")||0,this.refresh()}attributeChangedCallback(e,t,o){let n=parseInt(o);if(!isNaN(n))switch(e){case"min-width":{this.minWidth=n;break}case"max-width":{this.maxWidth=n;break}case"min-height":{this.minHeight=n;break}case"max-height":{this.maxHeight=n;break}}}static setTexts(e){i.texts||(i.texts={}),Object.assign(i.texts,e),k("wh-imgedit").forEach(t=>t.refresh())}async _check(){let e=await super._check();if(!e&&this.isSet()&&(this.minWidth||this.maxWidth||this.minHeight||this.maxHeight)){for(let t of this.currentFiles)if(t.file){let o=await rw(t.file);this.minWidth&&o.width<this.minWidth?_e(this,y("publisher:site.forms.commonerrors.minwidth",o.width,this.minWidth),{reportimmediately:!1}):this.maxWidth&&o.width>this.maxWidth?_e(this,y("publisher:site.forms.commonerrors.maxwidth",o.width,this.maxWidth),{reportimmediately:!1}):this.minHeight&&o.height<this.minHeight?_e(this,y("publisher:site.forms.commonerrors.minheight",o.height,this.minHeight),{reportimmediately:!1}):this.maxHeight&&o.height>this.maxHeight&&_e(this,y("publisher:site.forms.commonerrors.maxheight",o.height,this.maxHeight),{reportimmediately:!1})}}return e}refresh(){let e=[];for(let[t,o]of this.currentFiles.entries()){let n=z("div",{class:"image",part:"image"}),r=z("img",{class:"image__img",src:o.link??nw(o.file)}),s=z("button",{part:"button deletebutton",class:"deletebutton image__deletebutton"});this.setupDeleteButton(s,t),n.append(r,s),e.push(n)}if(this.currentFiles.length<this.maxFiles){let t=z("div",{class:"image image--placeholder",part:"image placeholder"}),o=z("div",{class:"image__content"}),n=z("div",{class:"image__uploadicon",part:"uploadicon"}),r=z("div",{class:"image__explain",textContent:i.texts?.explainUpload||y("publisher:site.forms.imgedit-explain-upload")});t.append(o),o.append(n,r),t.tabIndex=0,this.setupUploadButton(t),e.push(t)}this.maindiv.replaceChildren(...e)}},Sn=class{constructor(e){customElements.get("wh-imgedit")||customElements.define("wh-imgedit",Br)}};
14q();he();var Yr,Vr,hu,sw=150,aw=5e3;async function uu(i,e){var n=[];try{let t=hi(n,Q());void 0;let o=[...new Set(k(i,"[name]").map(l=>l.tagName.toLowerCase()))].filter(l=>l.includes("-"));if(o.length){let l=Promise.all(o.map(c=>customElements.whenDefined(c))).then(()=>({timeout:!1})),d=Date.now()+sw;for(;;){let c=lr(new Date(d)).then(()=>({timeout:!0}));if(!(await Promise.race([l,c])).timeout)break;let m=o.filter(u=>!customElements.get(u)).join(", ");if(m==="wh-fileedit"){console.warn('Developers: we recommend explicitly registering a component for ".wh-form__upload"'),su(i);break}console.warn(`Still waiting for the following custom elements to be defined in form ${i.id??i.dataset.whFormId}:`,m),d=Date.now()+aw}}e(i)}catch(r){var s=r,a=!0}finally{ui(n,s,a)}}function mu(i){Object.keys(i).length&&(Yr={...Yr,...i},L(window,"wh:form-configure",{bubbles:!0,cancelable:!1,detail:Yr}))}function el(i){if(!Vr){let e=t=>new ce(t);i={"publisher:form":e,"publisher:rpc":e,...i},Vr=new Map}for(let[e,t]of Object.entries(i))Vi(Vr,e,{insert:()=>t,update:o=>{if("promise"in o)return o.resolve(t),o;throw new Error(`Handler '${e}' is already registered`)}});hu||(b("form[data-wh-form-handler]",e=>{let t=Vi(Vr,e.dataset.whFormHandler,{insert:()=>Promise.withResolvers()});"promise"in t?t.promise.then(o=>uu(e,o)):uu(e,t)}),hu=!0)}function Ri(i,e){el({[i]:e})}function gu(){return Yr}he();A();lo();A();lo();hp();de();q();q();var En,$r;window.$wh__ongooglerecaptchaloaded=function(){En.resolve()};function pw(){return En=Promise.withResolvers(),document.querySelector("head,body").append(h("script",{src:"https://www.google.com/recaptcha/api.js?onload=$wh__ongooglerecaptchaloaded&render=explicit"})),En.promise}async function hw(i,e,t){let o=Q({modal:!0});try{await(En?En.promise:pw());let n=h("div",{class:"wh-captcha__googlerecaptchaholder"});if(e.append(n),i.apikey==="mock")n.appendChild(h("label",{class:"wh-captcha__mock"},h("input",{type:"checkbox",on:{click:()=>t.onResponse("mock")}}),"I am a human, beep-bop"));else{let r=window.grecaptcha.render(n,{sitekey:i.apikey,...$r?.language?{hl:$r.language}:{},callback:()=>{let s=window.grecaptcha?window.grecaptcha.getResponse(r):"";t.onResponse(s)}})}}finally{o.release()}}function tl(i){if(ji["google-recaptcha"])throw new Error("Duplicate google recaptcha initialization");$r={...$r,...i},ji["google-recaptcha"]={initialize:hw}}q();var _u="https://cdn.jsdelivr.net/npm/@friendlycaptcha/[email protected]/site.min.js",wu,fu=!1;async function uw(i,e,t){let o=document.createElement("div");if(o.className="frc-captcha",o.dataset.sitekey=i.apikey,wu==="eu"&&(o.dataset.apiEndpoint="eu"),o.addEventListener("frc:widget.complete",(l=>t.onResponse(l.detail.response))),e.append(o),fu)window.frcaptcha.attach();else{var n=[];try{let l=hi(n,Q());void 0;await gi(_u,{module:!0});fu=!0}catch(r){var s=r,a=!0}finally{ui(n,s,a)}}}function il(i){if(ji["friendly-captcha"])throw new Error("Duplicate friendly captcha initialization");i?.script&&(_u=i.script),i?.endpoint&&(wu=i.endpoint),ji["friendly-captcha"]={initialize:uw}}function Xr(i){el(i?.handlers??{}),i&&mu(jt(i,["handlers"]))}de();var Jr=class extends Ut{value="";provider=null;constructor(){super(),this.addEventListener("wh:form-setfielderror",t=>{this._setFieldError(t)}),this.whFormsApiChecker=()=>this.check();let e=this.closest("form");e&&e.addEventListener("reset",()=>this.onReset())}check(){this.value?_e(this,"",{reportimmediately:!1}):_e(this,y("publisher:site.forms.commonerrors.required"),{reportimmediately:!1})}setup(e){if(this.provider)throw new Error("CaptchaField is already setup");this.provider=e,this.initialize()}initialize(){this.value="",this.replaceChildren(),cu(this.provider,this,{onResponse:e=>{this.value=e}})}onReset(){this.initialize()}async _setFieldError(e){B(e),e.detail.error&&this.value&&(console.log("Captcha response was rejected, resetting"),this.onReset())}};function ol(i,e){let t=z("wh-captcha",{class:"wh-form__captcha",dataset:{whFormName:"__form_captcha",whFormRequired:"true"}}),o=z("div",{class:"wh-form__captchapage"},[z("div",{class:"wh-form__fieldgroup",dataset:{whFormGroupFor:"__form_captcha"}},[z("label",{class:"wh-form__label"},[y("publisher:site.captcha.title")]),z("div",{class:"wh-form__fields"},[z("div",{class:"wh-form__fieldline"},[t])])])]),n=F(i.node,".wh-form__navbuttons");return n?n.before(o):i.node.appendChild(o),t.setup(e),t}customElements.define("wh-captcha",Jr);function vu(i){return Object.entries(i).map(e=>({name:e[0],value:e[1]}))}function nl(i){return{target:i,url:location.href.split("/").slice(3).join("/")}}var Kr=class{target;cache;offline;constructor(e,t,o){this.target=nl(e),this.cache=t||new WeakMap,this.offline=o}async uploadFile(e){if(this.offline)throw new Error("Cannot upload files in offline mode");let t=this.cache.get(e);if(t)return t;let o=new jp(e),n=await Np().requestUpload(this.target,o.manifest),r=await o.upload(n);return this.cache.set(e,r),r}async convertSubmittable(e){if(Array.isArray(e))return await Promise.all(e.map(t=>this.getSubmittable(t)));if(e&&typeof e=="object"){if(mp(e))return await this.uploadFile(e);let t={};
14for(let[o,n]of Object.entries(e))t[o]=await this.getSubmittable(n);return t}return e}async getSubmittable(e){return await this.convertSubmittable(e)}};async function bu(i,e,t){let n=await new Kr(i,t?.uploadCache||null,t?.offline||!1).getSubmittable(e);if(t?.__setupEvent){let s=t.__setupEvent;s.extrasubmitdata=t.extraSubmit||null,s.submitted=n}return{...nl(i),vals:vu(n),extrasubmit:t?.extraSubmit||null}}async function Gr(i){return await ri("publisher:forms").formSubmit(i)}var ce=class extends et{__formhandler={errors:[],warnings:[],formid:"",url:"",target:"",submitting:!1};#e=!1;#i=new WeakMap;#t=!1;pendingrpcs=new Array;constructor(e){if(super(e),this.__formhandler.formid=e.dataset.whFormId||"",this.__formhandler.url=location.href.split("/").slice(3).join("/"),this.__formhandler.target=e.dataset.whFormTarget||"",window.addEventListener("wh:form-configure",()=>this.checkCaptcha()),this.node.addEventListener("focusin",this.#o,!0),!this.__formhandler.target)if(this.__formhandler.formid)console.error("This page needs to be republished!");else throw ii||console.error("Missing data-wh-form-target on form, did your witty apply '[form.formattributes]' to the <form> tag ?",e),new Error("Form does not appear to be a WebHare form");this.checkCaptcha()}getRPCFormIdentifier(){return nl(this.__formhandler.target)}async#n(){let e=await this.getFormValue();return await new Kr(this.__formhandler.target,this.#i,!1).getSubmittable(e)}async _invokeRPC(e,t,o){let n=Promise.withResolvers();e||this.onRPC(n.promise);let r=Q({modal:!e});try{let s=ai().formInvoke({...this.getRPCFormIdentifier(),vals:vu(await this.#n()),methodname:t,args:o});this.pendingrpcs.push(s);let a=await s;return this._processMessages(a.messages),a.result}finally{r.release(),n.resolve()}}processFieldMessage(e,t,o){if(e.startsWith("#page.")){let n=e==="#page.thankyou"?this.node.querySelector(".wh-form__page[data-wh-form-pagerole=thankyou]"):null;if(!n){console.warn("Message for non-page field: "+e+", prop: "+t+", value: "+String(o));return}if(t==="data"){let r=o;n.dataset.whFormNavigateTo=r.redirect?JSON.stringify(r.redirect):void 0,n.dataset.whFormExitButton=r.exitbutton}}else{let n=this.node.querySelector(`*[name="${CSS.escape(e)}"], *[data-wh-form-name="${CSS.escape(e)}"]`);if(!n){console.warn("Message for non-existent field: "+e+", prop: "+t+", value: "+String(o));return}if(t==="value"){this.setFieldValue(n,o);return}}console.warn("Unknown field message: field: "+e+", prop: "+t+", value: "+String(o))}getFormExtraSubmitData(){return{}}onRPC(e){}invokeRPC(e,...t){return this._invokeRPC(!1,e,t)}invokeBackgroundRPC(e,...t){return this._invokeRPC(!0,e,t)}_processMessages(e){for(let t of e)this.processFieldMessage(t.field,t.prop,t.data)}async _flushPendingRPCs(){for(;this.pendingrpcs.length;)try{await this.pendingrpcs.pop()}catch{}}async buildFormSubmission(e,t){let o=this.getFormExtraSubmitData(),n=await this.getFormValue(),r={...e,...await o};return await this._flushPendingRPCs(),L(this.node,"wh:form-preparesubmit",{bubbles:!0,cancelable:!1,detail:{extrasubmit:r}}),await bu(this.__formhandler.target,n,{extraSubmit:r,offline:!1,uploadCache:this.#i,__setupEvent:t?.__setupEvent})}#o=()=>{this.#e=!0,this.checkCaptcha()};checkCaptcha(){let e=gu();(e?.captcha==="onLoad"||e?.captcha==="onActivate"&&this.#e)&&this.node.dataset.whFormCaptcha!==void 0&&!this.#t&&!this.getElementByName("__form_captcha")&&(this.#t=!0,ai().getCaptchaConfiguration(this.getRPCFormIdentifier()).then(o=>{o&&ol(this,o)}))}async submitForm(e){return await Gr(e)}async submit(e){if(this.__formhandler.submitting)throw new Error("The form is already being submitted");let t=Promise.withResolvers(),o=!1;this.onRPC(t.promise);let n={form:this.node,rpchandler:this,submitted:{},errors:[],result:null};try{this.__formhandler.submitting=!0;let r=await this.buildFormSubmission(e,{__setupEvent:n});M.fhv&&console.log("[fhv] start submission",r),o=!0;let s=await this.submitForm(r);if(o=!1,M.fhv&&console.log("[fhv] received response",s),this._processMessages(s.messages),!L(this.node,"wh:form-response",{bubbles:!0,cancelable:!0,detail:s}))return s;n.result=s.result,n.errors=s.errors;let a=!1,l=[];for(let d of s.errors){if(!d.name){l.push(d);continue}let c=this.node.querySelector('[name="'+d.name+'"], [data-wh-form-name="'+d.name+'"]');
14if(!c)if(d.name==="__form_captcha"){let p=d.metadata;c=ol(this,p.provider)}else{console.error("[fhv] Unable to find node '"+d.name+"' which caused error:"+d.message);continue}a||(at(c),a=!0),_e(c,d.message,{reportimmediately:!0,serverside:!0,metadata:d.metadata})}if(s.success)this.sendFormEvent({event:"submitted"}),L(this.node,"wh:form-submitted",{bubbles:!0,cancelable:!0,detail:n})&&(ko(this.node,{form:await this.getFormValue()}),this._navigateToThankYou(s.result&&s.result.richvalues),this.onSubmitSuccess(s.result));else{let d=s.errors.map(c=>c.name||"*").sort().join(" ");this.sendFormEvent({event:"failed",errorfields:d,errorsource:"server"}),l.length&&L(this.node,"wh:form-globalerrors",{bubbles:!0,cancelable:!0,detail:{globalerrors:l}})&&this.displayGlobalErrors(l),L(this.node,"wh:form-failed",{bubbles:!0,cancelable:!0,detail:n})&&this.onSubmitFailed(s.errors,s.result)}return Ko(s,["result"])}catch(r){throw this.sendFormEvent({event:"exception",exception:String(r),errorsource:o?"server":"client"}),L(this.node,"wh:form-exception",{bubbles:!0,cancelable:!0,detail:n})&&this.onSubmitException(r),r}finally{t.resolve(),this.__formhandler.submitting=!1}}displayGlobalErrors(e){try{let t=e.map(o=>z("p",{textContent:o.message}));Ne(t,[{title:"OK"}])}catch(t){console.error("runMessageBox failed",t),alert(e.map(o=>o.message).join(`
15`))}}getFirstFailedGroup(){return this.node.querySelector(".wh-form__fieldgroup-error")}onSubmitSuccess(e){this.node.getBoundingClientRect().top<0&&this.node.scrollIntoView({block:"start",behavior:"smooth"}),e&&e.resultsguid&&(this.node.dataset.whFormResultguid=e.resultsguid),e&&e.submitinstruction&&ue(e.submitinstruction)}onSubmitFailed(e,t){}onSubmitException(e){}async validateSingleFormField(e){if(e instanceof HTMLInputElement&&e.type==="email"){sn()===e&&e.propWhValidationSuggestion&&(e.propWhValidationSuggestion=null);let t=du(this,e);if(this.pendingrpcs.push(t),!await t)return!1}return!0}};re();function se(i,e){Ri(i,t=>{let o=e(t);return!ii&&o instanceof et&&!(o instanceof ce)&&console.warn(`Form handler for '${i}' is deriving from @mod-publisher/js/forms#FormBase - it should derive from RPCFormBase (In WH5.7+, the FormBase exported by @webhare/forms will *be* the RPCFormBase)`),o})}Xr({handlers:{"publisher:form":i=>new et(i)}});ka();A();var rl=class extends Ut{rte=null;node;onInsertVideo;constructor(){super(),this.node=this,this.node.whRTDField=this}async connectedCallback(){var a=[];try{let e=JSON.parse(this.node.dataset.whRtdoptions||"{}");let t=e.structure||null;let o=this.node.getAttribute("hidebuttons")?.split(" ")||[];t&&!t.blockstyles.some(p=>p.type==="table")&&o.push("table");o.push("object-insert");o.push("action-showformatting");let n={enabled:!0,readonly:!1,structure:t,allowtags:null,hidebuttons:o,editembeddedobjects:!1,...e};let r=hi(a,Q());void 0;let s=await import("/.wh/ea/ap/utwente_base.ws2016/richeditor-FMEEYC25.mjs");this.rte=s.createRTE(this.node,{...n,enabled:!this.disabled});this.node.rte=this.rte;this.node.addEventListener("wh:richeditor-action",p=>{this.executeAction(p)});this.node.addEventListener("wh:richeditor-dirty",p=>L(this.node,"input",{bubbles:!0,cancelable:!1}))}catch(l){var d=l,c=!0}finally{ui(a,d,c)}}get value(){return this.rte?this.rte.getValue():this.node.innerHTML}set value(e){if(typeof e!="string")throw new Error(`Invalid value for RTE field: ${typeof e}`);this.rte?this.rte.setValue(e):this.node.innerHTML=e}async executeAction(e){if(e.detail.action==="object-video"&&this.onInsertVideo){e.stopPropagation(),e.preventDefault(),this.onInsertVideo(this.node);return}}async insertVideoByURL(e){let t=this.node.closest("form")?.propWhFormhandler;if(!t)throw new Error("RTE no longer associated with a form");let o=await t.invokeRPC(this.name+".insertVideoByUrl",e);return o.success?(this.rte.getEditor().insertEmbeddedObject(o.embeddedobject),{success:!0}):{success:!1,message:"Video URL not understood"}}set disabled(e){super.disabled=e,this._updateEnabledStatus(!e)}_updateEnabledStatus(e){this.rte?.setEnabled(e),e?this.node.removeAttribute("data-wh-form-disabled"):this.node.setAttribute("data-wh-form-disabled","")}static getForNode(e){return e.whRTDField||null}},Cn=class{constructor(e,t){let o=t?.hidebuttons||[];t?.onInsertVideo||o.push("object-video"),o.length&&e.setAttribute("hidebuttons",o.join(" ")),customElements.whenDefined("wh-rtdedit").then(()=>{t?.onInsertVideo&&(e.onInsertVideo=t.onInsertVideo)}),customElements.get("wh-rtdedit")||customElements.define("wh-rtdedit",rl)}};
15q();pr();var sl=class extends ce{dialog;rtd;constructor(e,t,o){super(e),this.dialog=t,this.rtd=o}async onSubmitSuccess(e){e.video&&(this.rtd.insertVideoByURL("x-wh-embedvideo:"+e.video.network+":"+e.video.videoid),this.dialog.resolve(null))}};async function yu(i){let e=Q(),t=i.closest("form")?.propWhFormhandler;if(!t)throw console.error("Cannot find formhandler for node",i),new Error("Cannot find formhandler for RTD node");let o=await ai().requestBuiltinForm(t.getRPCFormIdentifier(),"rtd","embedvideo"),n=xe();n.contentnode.innerHTML=o.html,new sl(C(n.contentnode,"form"),n,i),e.release(),await n.runModal()}A();A();var Ln=class{constructor(e){this._class=(e?e.baseclass:"")||"selectlist",this._fixitemswidth=!(e&&!e.fixitemswidth)}scrollOptionIntoView(e){e.scrollIntoView()}_generateItems(e){this._items?Sp(this._items):this._items=z("div",{className:this._class+"__items",on:{mouseup:t=>this._clickItem(t),mousedown:t=>this._preventFocusLoss(t),click:t=>this._clickItem(t)}}),this._generateItemNodes(e)}_preventFocusLoss(e){e.preventDefault()}_clickItem(e){B(e);let t=e.target.closest("."+this._class+"__item");t&&this._doSelectItem(t)&&this.closeSelectList()}_isOpen(){return this._anchornode.classList.contains(this._class+"--open")}_openSelectList(){if(this._isOpen())return;let e=this._anchornode.getBoundingClientRect(),t=this._items.getBoundingClientRect();this._openbottom=!0;let o=window.innerHeight-e.bottom,n=e.top;t.bottom>window.innerHeight&&(this._openbottom=o>=n/2),this._anchornode.style.minWidth=e.width+"px",this._items.style.minWidth=e.width+"px",this._fixitemswidth&&(this._items.style.width=this._items.style.minWidth),this._anchornode.classList.add(this._class+"--open"),this._items.classList.add(this._class+"__items--open"),this._openbottom?this._items.style.maxHeight=o+"px":this._items.style.maxHeight=n+"px",this._boundGlobalMouseDown||(this._boundGlobalMouseDown=s=>this._globalMouseDown(s)),window.addEventListener("mousedown",this._boundGlobalMouseDown,!0),window.addEventListener("touchstart",this._boundGlobalMouseDown,!0),document.body.appendChild(this._items);let r=this._items.querySelector(`.${this._class}__item--selected`);r&&this.scrollOptionIntoView(r),this._lastpulldowncoords={},this._positionSelectList(),this._items.style.left=Math.ceil(e.left)+"px"}_positionSelectList(){if(!this._isOpen())return;let e=this._anchornode.getBoundingClientRect();(this._lastpulldowncoords.top!==e.top||this._lastpulldowncoords.left!==e.left||this._lastpulldowncoords.bottom!==e.bottom)&&(this._lastpulldowncoords=e,this._openbottom?(this._items.style.top=Math.floor(e.bottom)+"px",this._items.style.bottom=""):(this._items.style.top="",this._items.style.bottom=Math.floor(window.innerHeight-e.top)+"px")),requestAnimationFrame(()=>this._positionSelectList())}_globalMouseDown(e){!ao(this._anchornode,e.target)&&!ao(this._items,e.target)&&this.closeSelectList()}closeSelectList(){this._isOpen()&&(window.removeEventListener("mousedown",this._boundGlobalMouseDown,!0),window.removeEventListener("touchstart",this._boundGlobalMouseDown,!0),W.meo||(this._anchornode.style.minWidth="",this._items.style.minWidth="",this._fixitemswidth&&(this._items.style.width=""),this._anchornode.classList.remove(this._class+"--open"),this._items.classList.remove(this._class+"__items--open")))}};lo();var xu=!1;function fw(){let i=Q();setTimeout(function(){k("select").forEach(e=>{e._dompackValueUpdated&&e._dompackValueUpdated()}),i.release()})}function ku(i){Object.defineProperty(i,"value",{configurable:!0,get:_w,set:ww})}function al(i){Object.defineProperty(i,"selectedIndex",{configurable:!0,get:bw,set:vw})}function _w(){let i=this.options[this.selectedIndex];return i?i.value:""}function ww(i){this._flushObservations();let e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this),"value").set;e?e.apply(this,[i]):(delete this.value,this.value=i,ku(this)),this._dompackValueUpdated()}function bw(){let i=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this),"selectedIndex").get;if(i)return i.apply(this,[]);delete this.selectedIndex;let e=this.selectedIndex;return al(this),e}function vw(i){let e=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this),"selectedIndex").set;e?e.apply(this,[i]):(delete this.selectedIndex,this.selectedIndex=i,al(this)),this._dompackValueUpdated()}var Eo=class extends Ln{constructor(e,t,o){typeof t=="string"&&(t={...o,baseclass:t}),super(t),window.MutationObserver&&(xu||(document.addEventListener("reset",fw,!0),xu=!0),this._replacednode=e,this._replacednode.classList.add(this._class+"--replaced"),this._replacednode.addEventListener("change",n=>{n.detail&&n.detail.__norefresh||this.refresh()}),this._replacednode.addEventListener("dompack:takefocus",n=>this._takeFocus(n)),ku(this._replacednode),al(this._replacednode),this._replacednode._flushObservations=()=>this.refresh({generateitems:!0}),this._replacednode._dompackValueUpdated=()=>this.refresh(),this._arrow=z("div",{className:this._class+"__arrow"}),this._control=z("div",{className:this._class+"__control",childNodes:[this._arrow]}),this._area=z("div",{className:this._class+"__area",childNodes:[this._control,this._items]}),this._anchornode=z("div",{className:this._class,childNodes:[this._area],on:{mousedown:n=>this._controlMouseDown(n),blur:n=>this._onBlur(n)},tabIndex:0}),ea(this._replacednode,this._anchornode),this.refresh({insertitems:!0,generateitems:!0}),this._observer=new MutationObserver(n=>this._onObserve(n)),this._observer.observe(this._replacednode,{attributes:!0,attributeFilter:["disabled","class"],subtree:!0,childList:!0}),new si(this._anchornode,{ArrowUp:n=>this._onArrow(n,-1),ArrowDown:n=>this._onArrow(n,1),Enter:n=>this._onEnter()," ":n=>this._onSpace(n),Escape:n=>this._onEscape()},{onkeypress:(n,r)=>this._onKey(n,r)}))}refresh(e){this._refreshNewnodeClasses(),e&&e.generateitems?this._generateItems():this._updateItems(),e&&e.insertitems&&this._area.appendChild(this._items),this._updateDisplayValue(),this._isOpen()||Te(this._area)}
15_onArrow(e,t){if(B(e),!this._isOpen()){this._openSelectList();return}this._loopToItem(t,null)}_activateCurrentItem(){let e=this._items.querySelector(`.${this._class}__item--selected`);e&&this._doSelectItem(e)&&this.closeSelectList()}_onEnter(){this._isOpen()&&this._activateCurrentItem()}_onEscape(){let e=Array.from(this._items.querySelectorAll(`.${this._class}__item`)),t=e.findIndex(o=>o.classList.contains(this._class+"__item--selected"));t!==this._replacednode.selectedIndex&&(t>=0&&e[t].classList.remove(this._class+"__item--selected"),this._replacednode.selectedIndex>=0&&e[this._replacednode.selectedIndex].classList.add(this._class+"__item--selected"),this.closeSelectList())}_onSpace(e){B(e),this._isOpen()?this._activateCurrentItem():this._openSelectList()}_loopToItem(e,t){let o=Array.from(this._items.querySelectorAll(`.${this._class}__item`)),n=o.findIndex(s=>s.classList.contains(this._class+"__item--selected"));n<0&&(n=0);let r=n;for(let s=o.length;s>0;--s){if(r+=e,r===o.length?r=0:r<0&&(r=o.length-1),r===n)return;if(!o[r].classList.contains(this._class+"__item--disabled")&&(!t||t(o[r]))){this._isOpen()?(o[n].classList.remove(this._class+"__item--selected"),o[r].classList.add(this._class+"__item--selected"),this.scrollOptionIntoView(o[r])):this._doSelectItem(o[r]);return}}}_onKey(e,t){if(t.length!==1||t===" ")return!0;t=t.toUpperCase(),this._loopToItem(1,o=>{let n=o.textContent.trim();return n[0]&&n[0].toUpperCase()===t}),B(e)}_onBlur(){W.meo||this.closeSelectList()}_takeFocus(e){e.preventDefault(),at(this._anchornode)}_onObserve(e){let t=e.some(o=>o.type==="childList"||o.type==="attributes"&&(o.attributeName==="class"||o.attributeName==="disabled"));this.refresh({generateitems:t}),L(this._replacednode,"dompack:-internal-refreshed",{bubbles:!1,cancelable:!1})}_refreshNewnodeClasses(){ta(this._anchornode,this._class+"--disabled",this._replacednode.disabled)}_generateOptions(e,t,o){for(let n of e)if(!t&&n.nodeName==="OPTGROUP"){let r=z("div",{className:this._class+"__optgroup "+n.className,textContent:n.getAttribute("label")||"\xA0",dataset:{...n.dataset,dompackPulldownIndex:-1},_pulldownidx:-1});this._items.appendChild(r),o=this._generateOptions(n.childNodes,!0,o)}else if(n.nodeName==="OPTION"){let r=z("div",{className:this._class+"__item "+(t?this._class+"__item--ingroup ":"")+n.className,textContent:n.textContent||"\xA0",dataset:{...n.dataset,dompackPulldownIndex:o},_pulldownidx:o});n.disabled&&r.classList.add(this._class+"__item--disabled"),n.selected&&r.classList.add(this._class+"__item--selected"),this._items.appendChild(r),++o}return o}_updateItems(){if(k(this._items,"."+this._class+"__item--selected").forEach(e=>e.classList.remove(this._class+"__item--selected")),this._replacednode.selectedIndex>=0){let e=this._items.querySelector(`*[data-dompack-pulldown-index="${this._replacednode.selectedIndex}"]`);e&&e.classList.add(this._class+"__item--selected")}k(this._items,"."+this._class+"__item--disabled").filter(e=>!this._replacednode.options[e._pulldownidx].disabled).forEach(e=>e.classList.remove(this._class+"__item--disabled")),Array.from(this._replacednode.options).forEach((e,t)=>{if(e.disabled){let o=this._items.querySelector(`*[data-dompack-pulldown-index="${t}"]`);o&&o.classList.add(this._class+"__item--disabled")}})}_generateItemNodes(e){this._generateOptions(this._replacednode.childNodes,!1,0)}_updateDisplayValue(){let e=this._replacednode.options[this._replacednode.selectedIndex],t=z("div",{className:this._class+"__current",textContent:(e?e.textContent:"")||"\xA0"});e&&(t.dataset.optionvalue=e.value,Object.keys(e.dataset).forEach(o=>t.dataset["option"+o.substr(0,1).toUpperCase()+o.substr(1)]=e.dataset[o])),this._current?this._control.replaceChild(t,this._current):this._control.insertBefore(t,this._arrow),this._current=t,Te(this._current)}closeSelectList(){super.closeSelectList(),this._area.appendChild(this._items)}_controlMouseDown(e){if(e.button!==0||ao(this._items,e.target))return;let t=this._isOpen();!t&&this._replacednode.disabled||(this._anchornode.focus(),e.preventDefault(),e.stopPropagation(),t?this.closeSelectList():this._openSelectList())}_doSelectItem(e){return this._replacednode.options[e._pulldownidx].disabled?!1:(this._replacednode.selectedIndex===e._pulldownidx||(this._replacednode.selectedIndex=e._pulldownidx,kp(this._replacednode,{detail:{__norefresh:!0}})),!0)}};q();var yw=class{main;placeholder;values;single;multiString;max;value;valueText;valueDelete;valueOut;deselect;deselectPath;arrow;arrowClose;arrowOpen;content;contentOpen;dirAbove;dirBelow;search;searchHighlighter;searching;status;addable;addablePath;list;optgroup;optgroupLabel;optgroupLabelText;optgroupActions;optgroupSelectAll;optgroupSelectAllBox;optgroupSelectAllCheck;optgroupClosable;option;optionDelete;highlighted;modalOverlay;modalDialog;modalTitle;modalClose;modalContent;mainOpen;close;selected;error;disabled;hide;constructor(i){i||={};let e=(t="",o="")=>`${t} ${o}`.trim();this.main=e("ss-main",i.main),this.placeholder=e("ss-placeholder",i.placeholder),this.values=e("ss-values",i.values),this.single=e("ss-single",i.single),this.multiString=e("ss-multi-string",i.multiString),this.max=e("ss-max",i.max),this.value=e("ss-value",i.value),this.valueText=e("ss-value-text",i.valueText),this.valueDelete=e("ss-value-delete",i.valueDelete),this.valueOut=e("ss-value-out",i.valueOut),this.deselect=e("ss-deselect",i.deselect),this.deselectPath=i.deselectPath||"M10,10 L90,90 M10,90 L90,10",this.arrow=e("ss-arrow",i.arrow),this.arrowClose=i.arrowClose||"M10,30 L50,70 L90,30",this.arrowOpen=i.arrowOpen||"M10,70 L50,30 L90,70",this.content=e("ss-content",i.content),this.contentOpen=e("ss-open",i.contentOpen),this.dirAbove=e("ss-dir-above",i.dirAbove),this.dirBelow=e("ss-dir-below",i.dirBelow),this.search=e("ss-search",i.search),this.searchHighlighter=e("ss-search-highlight",i.searchHighlighter),this.searching=e("ss-searching",i.searching),this.status=e("ss-status",i.status),this.addable=e("ss-addable",i.addable),this.addablePath=i.addablePath||"M50,10 
15L50,90 M10,50 L90,50",this.list=e("ss-list",i.list),this.optgroup=e("ss-optgroup",i.optgroup),this.optgroupLabel=e("ss-optgroup-label",i.optgroupLabel),this.optgroupLabelText=e("ss-optgroup-label-text",i.optgroupLabelText),this.optgroupActions=e("ss-optgroup-actions",i.optgroupActions),this.optgroupSelectAll=e("ss-selectall",i.optgroupSelectAll),this.optgroupSelectAllBox=i.optgroupSelectAllBox||"M15,15 L85,15 L85,85 L15,85 Z",this.optgroupSelectAllCheck=i.optgroupSelectAllCheck||"M25,50 L42,68 L75,32",this.optgroupClosable=e("ss-closable",i.optgroupClosable),this.option=e("ss-option",i.option),this.optionDelete=i.optionDelete||"M10,10 L90,90 M10,90 L90,10",this.highlighted=e("ss-highlighted",i.highlighted),this.modalOverlay=e("ss-modal-overlay",i.modalOverlay),this.modalDialog=e("ss-modal-dialog",i.modalDialog),this.modalTitle=e("ss-modal-title",i.modalTitle),this.modalClose=e("ss-modal-close",i.modalClose),this.modalContent=e("ss-modal-content",i.modalContent),this.mainOpen=e("ss-open",i.mainOpen),this.close=e("ss-close",i.close),this.selected=e("ss-selected",i.selected),this.error=e("ss-error",i.error),this.disabled=e("ss-disabled",i.disabled),this.hide=e("ss-hide",i.hide)}getFirst(i){return this[i].split(" ")[0]}},An=200,xw=["transform","opacity"];function kw(i,e=An){let t=i.trim();if(!t)return e;if(t.endsWith("ms")){let n=parseFloat(t);return Number.isNaN(n)?e:n}if(t.endsWith("s")){let n=parseFloat(t);return Number.isNaN(n)?e:n*1e3}let o=parseFloat(t);return Number.isNaN(o)?e:o}function Eu(i,e=An){return kw(getComputedStyle(i).getPropertyValue("--ss-animation-timing").trim(),e)}function ll(i,e,t=An){let o=Eu(i,t)+50;return e===void 0?o:Math.max(o,e)}function Cu(){return typeof window>"u"||typeof window.matchMedia!="function"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Tw(i){return i===void 0?null:new Set(Array.isArray(i)?i:[i])}function Sw(i,e,t=An,o){if(Cu()||o?.aborted)return Promise.resolve();let n=Tw(e);return new Promise(r=>{let s=null,a=!1,l=()=>{a||(a=!0,i.removeEventListener("transitionend",c),o?.removeEventListener("abort",d),s&&clearTimeout(s),r())},d=()=>l(),c=p=>{p.target===i&&(n&&(!n.has(p.propertyName)||(n.delete(p.propertyName),n.size>0))||l())};o?.addEventListener("abort",d,{once:!0}),i.addEventListener("transitionend",c),s=setTimeout(l,t)})}function Ew(i,e,t=An,o){return Cu()||o?.aborted?Promise.resolve():new Promise(n=>{let r=null,s=!1,a=()=>{s||(s=!0,i.removeEventListener("animationend",d),o?.removeEventListener("abort",l),r&&clearTimeout(r),n())},l=()=>a(),d=c=>{c.target===i&&(e&&c.animationName!==e||a())};o?.addEventListener("abort",l,{once:!0}),i.addEventListener("animationend",d),r=setTimeout(a,t)})}var Cw=class{id="";style="";class=[];isMultiple=!1;isOpen=!1;isFullOpen=!1;disabled;alwaysOpen;showSearch;focusSearch;keepSearch;ariaLabel;searchPlaceholder;searchText;searchingText;resultsText;deselectText;removeText;searchHighlight;closeOnSelect;contentLocation;contentPosition;contentWidth;openPosition;placeholderText;allowDeselect;hideSelected;multiString;keepOrder;showOptionTooltips;minSelected;maxSelected;timeoutDelay;maxValuesShown;maxValuesMessage;addableText;selectAll;selectAllText;unselectAllText;modal;modalTitle;constructor(i){i||={},this.id="ss-"+dl(),this.style=i.style||"",this.class=i.class||[],this.disabled=i.disabled!==void 0&&i.disabled,this.alwaysOpen=i.alwaysOpen!==void 0&&i.alwaysOpen,this.showSearch=i.showSearch===void 0||i.showSearch,this.focusSearch=i.focusSearch===void 0||i.focusSearch,this.keepSearch=i.keepSearch!==void 0&&i.keepSearch,this.ariaLabel=i.ariaLabel||"Combobox",this.searchPlaceholder=i.searchPlaceholder||"Search...",this.searchText=i.searchText||"No Results",this.searchingText=i.searchingText||"Searching...",this.resultsText=i.resultsText||"{count} results available",this.deselectText=i.deselectText||"Clear",this.removeText=i.removeText||"Remove",this.searchHighlight=i.searchHighlight!==void 0&&i.searchHighlight,this.closeOnSelect=i.closeOnSelect===void 0||i.closeOnSelect,this.contentLocation=i.contentLocation||document.body,this.contentPosition=i.contentPosition||"absolute",this.contentWidth=i.contentWidth||"",this.openPosition=i.openPosition||"auto",this.placeholderText=i.placeholderText===void 0?"Select Value":i.placeholderText,this.allowDeselect=i.allowDeselect!==void 0&&i.allowDeselect,this.hideSelected=i.hideSelected!==void 0&&i.hideSelected,this.multiString=i.multiString!==void 0&&i.multiString,this.keepOrder=i.keepOrder!==void 0&&i.keepOrder,this.showOptionTooltips=i.showOptionTooltips!==void 0&&i.showOptionTooltips,this.minSelected=i.minSelected||0,this.maxSelected=i.maxSelected||1e3,this.timeoutDelay=i.timeoutDelay||200,this.maxValuesShown=i.maxValuesShown||20,this.maxValuesMessage=i.maxValuesMessage||"{number} selected",this.addableText=i.addableText||'Press "Enter" to add {value}',this.selectAll=i.selectAll!==void 0&&i.selectAll,this.selectAllText=i.selectAllText||"Select All",this.unselectAllText=i.unselectAllText||"Unselect All",this.modal=i.modal||"mobile",this.modalTitle=i.modalTitle||""}};function Lu(i){if(!i)return{};let e={};for(let t of Object.keys(i)){let o=i[t];o!==void 0&&(e[t]=o)}return e}function Lw(i){let e=i.cloneNode(!0);return e.querySelectorAll("select, option, optgroup, textarea, input, button").forEach(t=>t.remove()),e.textContent?.replace(/\s+/g," ").trim()||""}function Fw(i){if(i.labels&&i.labels.length>
vendor: 71,971 bytes, line 15
150){let e=Array.from(i.labels).map(Lw).filter(Boolean);if(e.length>0)return[...new Set(e)].join(" ")}return i.getAttribute("aria-label")?.trim()||""}function dl(){return Math.random().toString(36).substring(2,10)}function Fu(i,e){function t(n,r){return r&&n&&n.classList&&n.classList.contains(r)||r&&n&&n.dataset&&n.dataset.id&&n.dataset.id===e?n:null}function o(n,r){return!n||n===document?null:t(n,r)?n:o(n.parentNode,r)}return t(i,e)||o(i,e)}function Qr(i,e=50,t=!1){let o;return function(...n){let r=self,s=()=>{o=null,t||i.apply(r,n)},a=t&&!o;clearTimeout(o),o=setTimeout(s,e),a&&i.apply(r,n)}}function Fn(i,e){if(i.length!==e.length)return!1;let t=[...i].sort(),o=[...e].sort();return t.every((n,r)=>n===o[r])}var Aw=["id","value","text","html","defaultSelected","selected","display","disabled","placeholder","class","style","mandatory"];function Nw(i,e){let t=Object.keys(i),o=Object.keys(e);if(t.length!==o.length)return!1;for(let n of t)if(i[n]!==e[n])return!1;return!0}function Tu(i,e){switch(e){case"id":return i.id||"";case"value":return i.value===void 0?i.text||"":i.value||"";case"text":return i.text||"";case"html":return i.html||"";case"defaultSelected":return i.defaultSelected??!1;case"selected":return i.selected??!1;case"display":return i.display??!0;case"disabled":return i.disabled??!1;case"placeholder":return i.placeholder??!1;case"class":return i.class||"";case"style":return i.style||"";case"mandatory":return i.mandatory??!1;default:return i.data||{}}}function Su(i){return!!i&&typeof i=="object"&&"label"in i&&"options"in i}function Au(i,e){for(let t of Aw)if(Tu(i,t)!==Tu(e,t))return!1;return Nw(i.data||{},e.data||{})}function jw(i,e){let t=a=>({id:a.id||"",label:a.label||"",selectAll:a.selectAll??!1,closable:a.closable||"off"}),o=t(i),n=t(e);if(o.id!==n.id||o.label!==n.label||o.selectAll!==n.selectAll||o.closable!==n.closable)return!1;let r=i.options||[],s=e.options||[];if(r.length!==s.length)return!1;for(let a=0;a<r.length;a++)if(!Au(r[a],s[a]))return!1;return!0}function Rw(i,e){if(i===e)return!0;if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++){let o=i[t],n=e[t],r=Su(o);if(r!==Su(n))return!1;if(r){if(!jw(o,n))return!1;continue}if(!Au(o,n))return!1}return!0}function Mw(i){let e=i.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,t=>"-"+t.toLowerCase());return i[0]===i[0].toUpperCase()?e.substring(1):e}function Ow(i,e=typeof window<"u"?window.innerWidth:768){return i==="on"||i==="mobile"&&e<768}var Pw=class{handlers;attached=!1;constructor(i){this.handlers=i}attach(i){this.attached||(this.attached=!0,window.addEventListener("resize",this.resizeHandler,!1),i.listenScroll&&window.addEventListener("scroll",this.scrollHandler,!1),document.addEventListener("visibilitychange",this.visibilityHandler))}attachDocumentClick(){document.addEventListener("click",this.handlers.onDocumentClick)}detachDocumentClick(){document.removeEventListener("click",this.handlers.onDocumentClick)}detach(i){this.attached&&(this.attached=!1,this.detachDocumentClick(),window.removeEventListener("resize",this.resizeHandler,!1),i.listenScroll&&window.removeEventListener("scroll",this.scrollHandler,!1),document.removeEventListener("visibilitychange",this.visibilityHandler))}resizeHandler=Qr(()=>{this.handlers.onWindowResize()});scrollHandler=Qr(()=>{this.handlers.onWindowScroll()});visibilityHandler=()=>{this.handlers.onVisibilityChange()}},Iw=class{handlers;options;state="closed";pendingTimer=null;waitResolvers=[];generation=0;animationAbort=null;constructor(i,e){this.handlers=i,this.options=e}get isOpen(){return this.state==="opening"||this.state==="open"}get isFullOpen(){return this.state==="open"}async requestOpen(){if(this.state==="opening"||this.state==="open")return;this.cancelPending();let i=++this.generation;if(this.handlers.beforeOpen&&this.handlers.beforeOpen(),this.state="opening",await this.waitForPhase("open",i),i!==this.generation){this.state==="opening"&&(this.state="closed");return}this.state="open",this.handlers.afterOpen&&this.handlers.afterOpen(),this.handlers.onOpenReady&&this.handlers.onOpenReady()}async requestClose(i={source:"api",selectionChanged:!1}){if(this.state==="closed"||this.state==="closing"||this.handlers.beforeClose&&this.handlers.beforeClose(i)===!1)return!1;this.cancelPending();let e=++this.generation;return this.handlers.onClose&&this.handlers.onClose(i),this.state="closing",await this.waitForPhase("close",e),e===this.generation&&(this.state="closed",this.handlers.afterClose&&this.handlers.afterClose(),this.handlers.onCloseReady&&this.handlers.onCloseReady(),!0)}cancelPending(){this.generation++,this.animationAbort?.abort(),this.animationAbort=null,this.pendingTimer&&=(clearTimeout(this.pendingTimer),null);let i=this.waitResolvers.splice(0);for(let e of i)e()}destroy(){this.cancelPending(),this.state="closed"}waitForPhase(i,e){return new Promise(t=>{let o=!1,n=()=>{if(o)return;o=!0;let r=this.waitResolvers.indexOf(n);r!==-1&&this.waitResolvers.splice(r,1),t()};if(this.waitResolvers.push(n),this.options.waitForAnimation){let r=new AbortController;this.animationAbort=r,this.options.waitForAnimation(i,r.signal).catch(()=>{}).finally(()=>{this.animationAbort===r&&(this.animationAbort=null),n()})}else this.pendingTimer=setTimeout(()=>{this.pendingTimer=null,n()},this.options.timeoutDelay)}).then(()=>{this.generation})}},pe=class{id;value;text;html;defaultSelected;selected;display;disabled;placeholder;class;style;data;mandatory;constructor(i){this.id=!i.id||i.id===""?dl():i.id,this.value=i.value===void 0?i.text||"":i.value||"",this.text=i.text||"",this.html=i.html||"",this.defaultSelected=i.defaultSelected!==void 0&&i.defaultSelected,this.selected=i.selected!==void 0&&i.selected,this.display=i.display===void 0||i.display,this.disabled=i.disabled!==void 0&&i.disabled,this.mandatory=i.mandatory!==void 0&&i.mandatory,this.placeholder=i.placeholder!==void 0&&i.placeholder,this.class=i.class||"",this.style=i.style||"",this.data=Lu(i.data)}},Ye=class{id;label;selectAll;closable;options;constructor(i){if(this.id=!i.id||i.id===""?dl():i.id,this.label=i.label||"",this.selectAll=i.selectAll!==void 0&&i.selectAll,this.closable=i.closable||"off",this.options=[],i.options)for(let e of i.options)this.options.push(new pe(e))}},zw=class{selectType="single";data=[];selectedOrder=[];catalog=null;constructor(i,e){this.selectType=i,this.setData(e),this.snapshotCatalog()}validateDataArray(i){if(!Array.isArray(i))return Error("Data must be an array");for(let e of i)if(e)if(e instanceof Ye||"label"in e){if(!("label"in e))return Error("Optgroup must have a label");if("options"in e&&e.options)for(let t of e.options){let o=this.validateOption(t);if(o)return o}}else if(e instanceof pe||"text"in e){let t=this.validateOption(e);if(t)return t}else return Error("Data object must be a valid optgroup or option");return null}validateOption(i){return"text"in i?null:Error("Option must have a text")}partialToFullData(i){let e=[];return i.forEach(t=>{if(t){if(t instanceof Ye||"label"in t){let o=[];"options"in t&&t.options&&t.options.forEach(n=>{o.push(new pe(n))}),o.length>0&&e.push(new Ye(t))}(t instanceof pe||"text"in t)&&e.push(new pe(t))}}),e}snapshotCatalog(){this.catalog=this.cloneData(this.data)}getCatalogData(){return this.cloneData(this.catalog??this.data)}cloneData(i){return i.map(e=>e instanceof Ye?new Ye({id:e.id,label:e.label,selectAll:e.selectAll,closable:e.closable,options:e.options.map(t=>new pe(t instanceof pe?{...t}:t))}):new pe({...e}))}optionMatchesSelected(i,e){return i.id===e.id||e.value!==""&&i.value!==""&&i.value===e.value}findOptionInData(i,e){for(let t of i){if(t instanceof pe){if(this.optionMatchesSelected(t,e))return t;continue}for(let o of t.options)if(this.optionMatchesSelected(o,e))return o}return null}setData(i,e=!1){let t=this.partialToFullData(i),o=[];if(e){o=this.getSelectedOptions();let n=[];o.forEach(a=>{this.findOptionInData(t,a)||n.push(a)}),this.data=[...n,...t];let r=this.selectType==="single"&&o.length===0,s=o.map(a=>{let l=this.findOptionInData(this.data,a);return l?l.id:a.id});this.setSelectedBy("id",s,r)}else this.data=t;!e&&this.selectType==="single"&&this.setSelectedBy("id",this.getSelected(),!1)}getData(i=!0){return this.filter(null,!0,i)}getDataOptions(i=!0){return this.filter(null,!1,i)}addOption(i,e=!1){if(e){let t=[new pe(i)];this.setData(t.concat(this.getData()))}else this.setData(this.getData().concat(new pe(i)))}setSelectedBy(i,e,t=!1){let o=null,n=!1,r=[];for(let a of this.data){if(a instanceof Ye)for(let l of a.options){o||=l;let d=l[i]||"";l.selected=!n&&e.includes(d),l.selected&&(r.push(l),this.selectType==="single"&&(n=!0))}a instanceof pe&&(o||=a,a.selected=!n&&e.includes(a[i]),a.selected&&(r.push(a),this.selectType==="single"&&(n=!0)))}this.selectType==="single"&&o&&!n&&!t&&(o.selected=!0,r.push(o));let s=e.map(a=>r.find(l=>l[i]===a)?.id||"");this.selectedOrder=s}getSelected(){return this.getSelectedOptions().map(i=>i.id)}getSelectedValues(){return this.getSelectedOptions().map(i=>i.value)}getSelectedOptions(){let i=[];for(let e of this.data)if(e instanceof Ye)for(let t of e.options)t.selected&&i.push(t);else e.selected&&i.push(e);return i}getOptgroupByID(i){for(let e of this.data)if(e instanceof Ye&&e.id===i)return e;return null}getOptionByID(i){for(let e of this.data)if(e instanceof Ye){for(let t of e.options)if(t.id===i)return t}else if(e.id===i)return e;return null}getSelectType(){return this.selectType}getFirstOption(){let i=null;for(let e of this.data)if(e instanceof Ye?i=e.options[0]:e instanceof pe&&(i=e),i)break;return i}search(i,e){return i=i.trim(),i===""?this.getData(!1):this.filter(t=>e(t,i),!0,!1)}createOptgroupView(i,e){let t=new Ye({id:i.id,label:i.label,selectAll:i.selectAll,closable:i.closable,options:[]});return t.options=e,t}filter(i,e,t=!0){let o=[];return this.data.forEach(n=>{if(n instanceof Ye){let r=[];if(n.options.forEach(s=>{(!i||i(s))&&(e?r.push(t?new pe(s):s):o.push(t?new pe(s):s))}),r.length>0)if(t){let s=new Ye(n);s.options=r,o.push(s)}else o.push(this.createOptgroupView(n,r))}n instanceof pe&&(!i||i(n))&&o.push(t?new pe(n):n)}),o}selectedOrderOptions(i){let e=[];return this.selectedOrder.forEach(t=>{let o=i.find(n=>n.id===t);o&&e.push(o)}),i.forEach(t=>{let o=!1;e.forEach(n=>{if(t.id===n.id){o=!0;return}}),o||e.push(t)}),e}},qw=class{settings;store;callbacks;lastSelectedOption;lastRenderedOptions;optionsListIsFullData=!1;lastSearchFilterTerm="";main;content;classes;positionObserver=null;positionObserverRaf=0;overflowShiftRaf=0;modalElements=null;modalSessionActive=null;bodyScrollLocked=!1;savedBodyOverflow="";constructor(i,e,t,o){this.store=t,this.settings=i,this.classes=e,this.callbacks=o,this.lastSelectedOption=null,this.lastRenderedOptions=[],this.main=this.mainDiv(),this.content=this.contentDiv(),this.updateClassStyles(),this.updateAriaAttributes(),this.settings.contentPosition!=="relative"&&(this.content.main.style.top="-9999px",this.content.main.style.left="-9999px",this.content.main.style.margin="0",this.content.main.style.width="auto"),this.settings.contentLocation&&this.settings.contentLocation.appendChild(this.content.main),this.settings.modal!=="off"&&!this.settings.alwaysOpen&&(this.modalElements=this.createModalElements(),document.body.appendChild(this.modalElements.overlay))}requestClose(i,e){this.callbacks.close({source:i,option:e?.option,selectionChanged:e?.selectionChanged??!1})}selectionChanged(i,e){if(i.length!==e.length)return!0;let t=i.map(n=>n.id).sort(),o=e.map(n=>n.id).sort();return t.some((n,r)=>n!==o[r])}closeOnSingleSelectReclick(i){this.settings.closeOnSelect&&this.requestClose("select",{option:i,selectionChanged:!1})}addClasses(i,e){if(!e||e.trim()==="")return;let t=e.split(" ").filter(o=>o.trim()!=="");for(let o of t)i.classList.add(o.trim())}removeClasses(i,e){if(!e||e.trim()==="")return;let t=e.split(" ").filter(o=>o.trim()!=="");for(let o of t)i.classList.remove(o.trim())}enable(){this.removeClasses(this.main.main,this.classes.disabled),this.main.main.setAttribute("aria-disabled","false"),this.content.search.input.disabled=!1}disable(){this.addClasses(this.main.main,this.classes.disabled),this.main.main.setAttribute("aria-disabled","true"),this.content.search.input.disabled=!0}open(){this.main.arrow.path.setAttribute("d",this.classes.arrowOpen),this.main.main.setAttribute("aria-expanded","true");let i=this.resolveModalView();if(!i){let t=this.settings.openPosition==="up"?this.classes.dirAbove:this.classes.dirBelow;this.addClasses(this.main.main,t),this.addClasses(this.content.main,t)}this.addClasses(this.content.main,this.classes.contentOpen),this.content.search.input.removeAttribute("aria-hidden"),i?this.showModal():this.moveContent();let e=this.store.getSelectedOptions();if(e.length){let t=e[e.length-1].id,o=this.content.list.querySelector('[data-id="'+t+'"]');o&&this.ensureElementInView(this.content.list,o)}}isModalViewActive(){return this.modalSessionActive===!0}resolveModalView(){return this.settings.alwaysOpen||this.settings.modal==="off"||!this.modalElements?!1:(this.modalSessionActive===null&&(this.modalSessionActive=Ow(this.settings.modal)),this.modalSessionActive)}createModalElements(){let i=document.createElement("div");this.addClasses(i,this.classes.modalOverlay),this.addClasses(i,this.classes.hide),i.dataset.id=this.settings.id;let e=document.createElement("div");this.addClasses(e,this.classes.modalDialog),e.setAttribute("role","dialog"),e.setAttribute("aria-modal","true");let t=null;this.settings.modalTitle?(t=document.createElement("div"),this.addClasses(t,this.classes.modalTitle),t.id=`${this.settings.id}-modal-title`,t.textContent=this.settings.modalTitle,e.setAttribute("aria-labelledby",t.id)):e.setAttribute("aria-label",this.settings.ariaLabel);let o=document.createElement("button");o.type="button",this.addClasses(o,this.classes.modalClose),o.setAttribute("aria-label","Close"),o.onclick=s=>{s.stopPropagation(),this.requestClose("modal")};let n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100");let r=document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d",this.classes.deselectPath),n.appendChild(r),o.appendChild(n),i.onclick=s=>{s.target===i&&this.requestClose("modal")},t&&e.appendChild(t),i.appendChild(e),{overlay:i,dialog:e,closeButton:o,title:t}}showModal(){this.modalElements&&(this.modalElements.dialog.appendChild(this.content.main),this.addClasses(this.content.main,this.classes.modalContent),this.content.main.appendChild(this.modalElements.closeButton),this.content.main.style.top="",this.content.main.style.left="",this.content.main.style.margin="",this.content.main.style.width="",this.removeClasses(this.modalElements.overlay,this.classes.hide),requestAnimationFrame(()=>{this.modalElements&&this.addClasses(this.modalElements.overlay,this.classes.contentOpen)}),this.lockBodyScroll())}lockBodyScroll(){this.bodyScrollLocked||=(this.savedBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden",!0)}unlockBodyScroll(){this.bodyScrollLocked&&(document.body.style.overflow=this.savedBodyOverflow,this.bodyScrollLocked=!1,this.savedBodyOverflow="")}restoreContentOffscreen(){this.settings.contentLocation&&this.settings.contentLocation.appendChild(this.content.main),this.settings.contentPosition!=="relative"&&(this.content.main.style.top="-9999px",this.content.main.style.left="-9999px",this.content.main.style.margin="0",this.content.main.style.width="auto")}finalizeModalClose(){this.modalElements&&this.content.main.parentElement===this.modalElements.dialog&&(this.addClasses(this.modalElements.overlay,this.classes.hide),this.removeClasses(this.modalElements.overlay,this.classes.contentOpen),this.removeClasses(this.content.main,this.classes.modalContent),this.modalElements.closeButton.remove(),this.restoreContentOffscreen(),this.unlockBodyScroll())}waitForAnimation(i,e){let t=ll(this.content.main,this.settings.timeoutDelay);return Sw(this.content.main,xw,t,e)}close(){this.main.main.setAttribute("aria-expanded","false"),this.main.arrow.path.setAttribute("d",this.classes.arrowClose);let i=this.modalSessionActive===!0;this.removeClasses(this.content.main,this.classes.contentOpen),i||(this.removeClasses(this.main.main,this.classes.dirAbove),this.removeClasses(this.main.main,this.classes.dirBelow)),i&&this.modalElements&&this.removeClasses(this.modalElements.overlay,this.classes.contentOpen),this.modalSessionActive=null,this.content.search.input.setAttribute("aria-hidden","true"),this.main.main.removeAttribute("aria-activedescendant"),this.clearValueChipHighlight()}clearDirectionClasses(){this.removeClasses(this.main.main,this.classes.dirAbove),this.removeClasses(this.main.main,this.classes.dirBelow),this.removeClasses(this.content.main,this.classes.dirAbove),this.removeClasses(this.content.main,this.classes.dirBelow)}updateClassStyles(){if(this.main.main.className="",this.main.main.removeAttribute("style"),this.content.main.className="",this.content.main.removeAttribute("style"),this.addClasses(this.main.main,this.classes.main),this.addClasses(this.content.main,this.classes.content),this.settings.style!==""&&(this.main.main.style.cssText=this.settings.style,this.content.main.style.cssText=this.settings.style),this.settings.class.length)for(let i of this.settings.class)i.trim()!==""&&(this.main.main.classList.add(i.trim()),this.content.main.classList.add(i.trim()));(this.settings.contentPosition==="relative"||this.settings.contentPosition==="fixed")&&this.content.main.classList.add("ss-"+this.settings.contentPosition)}updateAriaAttributes(){let i=this.content.list.id;this.main.main.role="combobox",this.main.main.setAttribute("aria-haspopup","listbox"),this.main.main.setAttribute("aria-controls",i),this.main.main.setAttribute("aria-expanded","false"),this.content.list.setAttribute("role","listbox"),this.content.list.setAttribute("aria-label",this.settings.ariaLabel+" listbox"),this.settings.isMultiple&&this.content.list.setAttribute("aria-multiselectable","true"),this.content.search.input.setAttribute("aria-controls",i)}mainDiv(){let i=document.createElement("div");i.dataset.id=this.settings.id,i.setAttribute("aria-label",this.settings.ariaLabel),i.tabIndex=0,i.onkeydown=l=>{switch(l.key){case"ArrowUp":case"ArrowDown":return this.callbacks.open(),l.key==="ArrowDown"?this.highlight("down"):this.highlight("up"),!1;case"Tab":return this.requestClose("tab"),!0;case"Enter":case" ":this.callbacks.open();let d=this.content.list.querySelector("."+this.classes.getFirst("highlighted"));return d&&d.click(),!1;case"Escape":return this.requestClose("escape"),!1}return l.key.length===1&&this.callbacks.open(),!0},i.onclick=l=>{this.settings.disabled||(this.settings.isOpen?this.requestClose("toggle"):this.callbacks.open())};let e=document.createElement("div");this.addClasses(e,this.classes.values),i.appendChild(e);let t=document.createElement("div");this.addClasses(t,this.classes.deselect),t.setAttribute("role","button"),t.setAttribute("aria-label",this.settings.deselectText),t.setAttribute("tabindex","0");let o=this.store?.getSelectedOptions();!this.settings.allowDeselect||this.settings.isMultiple&&o&&o.length<=0||this.isAtMinSelected()?this.addClasses(t,this.classes.hide):this.removeClasses(t,this.classes.hide),t.onclick=l=>{if(l.stopPropagation(),this.settings.disabled||this.settings.isMultiple&&this.isAtMinSelected())return;let d=!0,c=this.store.getSelectedOptions(),p=[],m="";if(this.settings.isMultiple){let u=this.settings.minSelected,w=this.store.getSelected();if(u>0&&w.length>u)m=this.getMinimumSelectionIds(),p=c.filter(f=>m.includes(f.id));else if(u<=0)m=[];else return}if(this.callbacks.beforeChange&&(d=this.callbacks.beforeChange(p,c)===!0),d){if(this.settings.isMultiple)this.callbacks.setSelected(m,!1),this.updateDeselectAll();else{let u=this.store.getFirstOption(),w=u?u.id:"";this.callbacks.setSelected(w,!1)}this.settings.closeOnSelect&&this.requestClose("deselect",{selectionChanged:!0}),this.callbacks.afterChange&&this.callbacks.afterChange(this.store.getSelectedOptions())}},t.onkeydown=l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),t.click())};let n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100");let r=document.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d",this.classes.deselectPath),n.appendChild(r),t.appendChild(n),i.appendChild(t);let s=document.createElementNS("http://www.w3.org/2000/svg","svg");this.addClasses(s,this.classes.arrow),s.setAttribute("viewBox","0 0 100 100");let a=document.createElementNS("http://www.w3.org/2000/svg","path");return a.setAttribute("d",this.classes.arrowClose),this.settings.alwaysOpen&&this.addClasses(s,this.classes.hide),s.appendChild(a),i.appendChild(s),{main:i,values:e,deselect:{main:t,svg:n,path:r},arrow:{main:s,path:a}}}mainFocus(i){i!=="click"&&this.main.main.focus({preventScroll:!0})}placeholder(){let i=this.store.filter(o=>o.placeholder,!1,!1),e=this.settings.placeholderText;i.length&&(i[0].html===""?i[0].text!==""&&(e=i[0].text):e=i[0].html);let t=document.createElement("div");return this.addClasses(t,this.classes.placeholder),t.innerHTML=e,t}renderValues(){if(!this.settings.isMultiple){this.renderSingleValue();return}this.renderMultipleValues(),this.updateDeselectAll()}renderSingleValue(){let i=this.store.filter(t=>t.selected&&!t.placeholder,!1,!1),e=i.length>0?i[0]:null;if(!e)this.main.values.innerHTML=this.placeholder().outerHTML;else{let t=document.createElement("div");this.addClasses(t,this.classes.single),e.html?t.innerHTML=e.html:t.innerText=e.text,this.main.values.innerHTML=t.outerHTML}!this.settings.allowDeselect||!i.length?this.addClasses(this.main.deselect.main,this.classes.hide):this.removeClasses(this.main.deselect.main,this.classes.hide)}renderMultipleValues(){let i=this.main.values.childNodes,e=this.store.filter(n=>n.selected&&n.display,!1,!1);if(e.length===0){this.main.values.innerHTML=this.placeholder().outerHTML;return}{let n=this.main.values.querySelector("."+this.classes.getFirst("placeholder"));n&&n.remove()}if(this.settings.multiString){let n=e;this.settings.keepOrder&&(n=this.store.selectedOrderOptions(n));let r=document.createElement("div");this.addClasses(r,this.classes.multiString),r.textContent=n.map(s=>s.text).join(", "),this.settings.showOptionTooltips&&r.setAttribute("title",r.textContent),this.main.values.innerHTML=r.outerHTML;return}if(e.length>this.settings.maxValuesShown){let n=document.createElement("div");this.addClasses(n,this.classes.max),n.textContent=this.settings.maxValuesMessage.replace("{number}",e.length.toString()),this.main.values.innerHTML=n.outerHTML;return}{let n=this.main.values.querySelector("."+this.classes.getFirst("max"));n&&n.remove()}this.settings.keepOrder&&(e=this.store.selectedOrderOptions(e));let t=[];for(let n=0;n<i.length;n++){let r=i[n],s=r.getAttribute("data-id");s&&(e.filter(a=>a.id===s,!1).length||t.push(r))}let o=ll(this.content.main,this.settings.timeoutDelay);for(let n of t)this.addClasses(n,this.classes.valueOut),Ew(n,"ss-valueOut",o).then(()=>{this.main.values.hasChildNodes()&&this.main.values.contains(n)&&this.main.values.removeChild(n)});i=this.main.values.childNodes;for(let n=0;n<e.length;n++){let r=!0;for(let s=0;s<i.length;s++)e[n].id===String(i[s].dataset.id)&&(r=!1);r&&(this.settings.keepOrder||i.length===0?this.main.values.appendChild(this.multipleValue(e[n])):n===0?this.main.values.insertBefore(this.multipleValue(e[n]),i[n]):i[n-1].insertAdjacentElement("afterend",this.multipleValue(e[n])))}this.updateMultipleValueDeleteVisibility()}isAtMinSelected(){return this.settings.isMultiple&&this.settings.minSelected>0&&this.store.getSelectedOptions().length<=this.settings.minSelected}getMinimumSelectionIds(){let i=this.store.getSelectedOptions();return this.settings.keepOrder&&(i=this.store.selectedOrderOptions(i)),i.slice(0,this.settings.minSelected).map(e=>e.id)}getValueChips(){return!this.settings.isMultiple||this.settings.multiString?[]:Array.from(this.main.values.querySelectorAll("."+this.classes.getFirst("value"))).filter(i=>{if(i.classList.contains(this.classes.getFirst("valueOut")))return!1;let e=i.querySelector("."+this.classes.getFirst("valueDelete"));return!!e&&!e.classList.contains(this.classes.getFirst("hide"))})}getHighlightedValueChip(){return this.getValueChips().find(i=>i.classList.contains(this.classes.getFirst("highlighted")))??null}clearValueChipHighlight(){for(let i of Array.from(this.main.values.querySelectorAll("."+this.classes.getFirst("value"))))this.removeClasses(i,this.classes.highlighted)}highlightValueChip(i){this.clearValueChipHighlight(),i&&this.addClasses(i,this.classes.highlighted)}navigateValueChips(i){let e=this.getValueChips();if(e.length===0)return!1;let t=this.getHighlightedValueChip(),o=t?e.indexOf(t):-1;return i==="left"?(o===-1?this.highlightValueChip(e[e.length-1]):o>0&&this.highlightValueChip(e[o-1]),!0):o!==-1&&(o<e.length-1?this.highlightValueChip(e[o+1]):this.clearValueChipHighlight(),!0)}deleteValueChip(i=!1){let e=this.getValueChips();if(e.length===0)return!1;let t=this.getHighlightedValueChip();if(i&&!t)return!1;let o=t??e[e.length-1],n=o.querySelector("."+this.classes.getFirst("valueDelete"));if(!n)return!1;let r=e.indexOf(o),s=t?e[r-1]??e[r+1]??null:null;return n.click(),s&&s!==o&&this.main.values.contains(s)?this.highlightValueChip(s):this.clearValueChipHighlight(),!0}updateMultipleValueDeleteVisibility(){if(!this.settings.isMultiple||this.settings.multiString)return;let i=!this.isAtMinSelected(),e=this.main.values.querySelectorAll("."+this.classes.getFirst("valueDelete"));for(let t of e)i?this.removeClasses(t,this.classes.hide):this.addClasses(t,this.classes.hide)}multipleValue(i){let e=document.createElement("div");this.addClasses(e,this.classes.value),e.dataset.id=i.id;let t=document.createElement("div");if(this.addClasses(t,this.classes.valueText),t.textContent=i.text,e.appendChild(t),!i.mandatory){let o=document.createElement("div");this.addClasses(o,this.classes.valueDelete),o.setAttribute("tabindex","0"),o.setAttribute("role","button"),o.setAttribute("aria-label",`${this.settings.removeText} ${i.text}`),this.isAtMinSelected()&&this.addClasses(o,this.classes.hide),o.onclick=s=>{if(s.preventDefault(),s.stopPropagation(),this.settings.disabled)return;let a=!0,l=this.store.getSelectedOptions(),d=l.filter(c=>c.selected&&c.id!==i.id,!0);if(!(this.settings.minSelected&&d.length<this.settings.minSelected)&&(this.callbacks.beforeChange&&(a=this.callbacks.beforeChange(d,l)===!0),a)){let c=[];for(let p of d){if(p instanceof Ye)for(let m of p.options)m.id&&c.push(m.id);p instanceof pe&&c.push(p.id)}this.callbacks.setSelected(c,!1),this.settings.closeOnSelect&&this.requestClose("deselect",{selectionChanged:!0}),this.callbacks.afterChange&&this.callbacks.afterChange(d),this.updateDeselectAll(),this.updateMultipleValueDeleteVisibility()}};let n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100");let r=document.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d",this.classes.optionDelete),n.appendChild(r),o.appendChild(n),e.appendChild(o),o.onkeydown=s=>{s.key==="Enter"&&o.click()}}return e}contentDiv(){let i=document.createElement("div");i.dataset.id=this.settings.id;let e=this.searchDiv();i.appendChild(e.main);let t=document.createElement("div");this.addClasses(t,this.classes.status),t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),t.setAttribute("role","status"),i.appendChild(t);let o=this.listDiv();return i.appendChild(o),{main:i,search:e,status:t,list:o}}announce(i){this.settings.showSearch&&(this.content.status.textContent=i)}moveContent(){if(!this.isModalViewActive()){if(this.settings.contentPosition==="relative"){this.moveContentBelow();return}if(this.settings.openPosition==="down"){this.moveContentBelow();return}if(this.settings.openPosition==="up"){this.moveContentAbove();return}this.putContent()==="up"?this.moveContentAbove():this.moveContentBelow()}}startPositionTracking(){this.settings.contentPosition!=="absolute"||this.isModalViewActive()||(this.stopPositionTracking(),!(typeof ResizeObserver>"u")&&(this.positionObserver=new ResizeObserver(()=>{this.settings.isOpen&&(cancelAnimationFrame(this.positionObserverRaf),this.positionObserverRaf=requestAnimationFrame(()=>{this.moveContent()}))}),this.observePositionTargets()))}stopPositionTracking(){cancelAnimationFrame(this.positionObserverRaf),this.positionObserver?.disconnect(),this.positionObserver=null,this.cancelOverflowShift()}observePositionTargets(){if(!this.positionObserver)return;let i=new Set,e=n=>{!n||i.has(n)||(i.add(n),this.positionObserver.observe(n))};e(this.main.main);let t=this.main.main.parentElement,o=this.settings.contentLocation;for(let n=0;t&&n<8&&(e(t),t!==o);n++)t=t.parentElement}searchDiv(){let i=document.createElement("div"),e=document.createElement("input"),t=document.createElement("div");this.addClasses(i,this.classes.search);let o={main:i,input:e},n=this.settings.selectAll&&this.settings.isMultiple;this.settings.showSearch||(e.readOnly=!0,n?this.addClasses(e,this.classes.hide):this.addClasses(i,this.classes.hide)),e.type="search",e.id=`${this.settings.id}-search`,e.placeholder=this.settings.searchPlaceholder,e.tabIndex=-1,e.setAttribute("aria-label",this.settings.searchPlaceholder),e.setAttribute("aria-autocomplete","list"),e.setAttribute("autocapitalize","off"),e.setAttribute("autocomplete","off"),e.setAttribute("autocorrect","off"),e.setAttribute("aria-hidden","true");let r=Qr(()=>{this.callbacks.search(e.value)},100);if(e.oninput=s=>{s.target.value!==""&&this.clearValueChipHighlight(),r()},e.onkeydown=s=>{switch(s.key){case"ArrowUp":case"ArrowDown":return this.clearValueChipHighlight(),s.key==="ArrowDown"?this.highlight("down"):this.highlight("up"),!1;case"ArrowLeft":case"ArrowRight":return e.value!==""||!this.navigateValueChips(s.key==="ArrowLeft"?"left":"right")||(s.preventDefault(),!1);case"Backspace":return e.value!==""||!this.deleteValueChip()||(s.preventDefault(),!1);case"Delete":return e.value!==""||!this.getHighlightedValueChip()||!this.deleteValueChip(!0)||(s.preventDefault(),!1);case"Tab":return this.requestClose("tab"),!0;case"Escape":return this.requestClose("escape"),!1;case"Enter":let a=this.content.list.querySelector("."+this.classes.getFirst("highlighted"));return a?(a.click(),!1):!this.callbacks.addable||(t.click(),!1)}return s.key.length===1&&this.clearValueChipHighlight(),!0},i.appendChild(e),n){let s=this.createSelectAllControl(()=>this.toggleGlobalSelectAll());i.appendChild(s),o.selectAll=s}if(this.callbacks.addable){this.addClasses(t,this.classes.addable);let s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("viewBox","0 0 100 100");let a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.classes.addablePath),s.appendChild(a),t.appendChild(s),t.onclick=l=>{if(l.preventDefault(),l.stopPropagation(),!this.callbacks.addable)return;let d=this.content.search.input.value.trim();if(d===""){this.content.search.input.focus();return}let c=m=>{let u=new pe(m);if(this.callbacks.addOption(u),this.settings.isMultiple){let w=this.store.getSelected();w.push(u.id),this.callbacks.setSelected(w,!0)}else this.callbacks.setSelected([u.id],!0);if(this.callbacks.search(""),this.settings.closeOnSelect){let w=Eu(this.content.main);setTimeout(()=>{this.requestClose("select",{selectionChanged:!0})},w)}},p=this.callbacks.addable(d);p!==!1&&p!=null&&(p instanceof Promise?p.then(m=>{typeof m=="string"?c({text:m,value:m}):p instanceof Error?this.renderError(p.message):c(m)}):typeof p=="string"?c({text:p,value:p}):p instanceof Error?this.renderError(p.message):c(p))},i.appendChild(t),o.addable={main:t,svg:s,path:a}}return o}searchFocus(){this.content.search.input.focus({preventScroll:!0})}getOptions(i=!1,e=!1,t=!1){let o="."+this.classes.getFirst("option");return i&&(o+=":not(."+this.classes.getFirst("placeholder")+")"),e&&(o+=":not(."+this.classes.getFirst("disabled")+")"),t&&(o+=":not(."+this.classes.getFirst("hide")+")"),Array.from(this.content.list.querySelectorAll(o))}highlight(i){let e=this.getOptions(!0,!0,!0);if(e.length===0)return;if(e.length===1&&!e[0].classList.contains(this.classes.getFirst("highlighted"))){this.addClasses(e[0],this.classes.highlighted);return}let t=!1;for(let n of e)n.classList.contains(this.classes.getFirst("highlighted"))&&(t=!0);if(!t){for(let n of e)if(n.classList.contains(this.classes.getFirst("selected"))){this.addClasses(n,this.classes.highlighted);break}}for(let n=0;n<e.length;n++)if(e[n].classList.contains(this.classes.getFirst("highlighted"))){let r=e[n];this.removeClasses(r,this.classes.highlighted);let s=r.parentElement;if(s&&s.classList.contains(this.classes.getFirst("mainOpen"))){let d=s.querySelector("."+this.classes.getFirst("optgroupLabel"));d&&d.click()}let a=e[i==="down"?n+1<e.length?n+1:0:n-1>=0?n-1:e.length-1];this.addClasses(a,this.classes.highlighted),this.ensureElementInView(this.content.list,a),a.id&&this.main.main.setAttribute("aria-activedescendant",a.id);let l=a.parentElement;if(l&&l.classList.contains(this.classes.getFirst("close"))){let d=l.querySelector("."+this.classes.getFirst("optgroupLabel"));d&&d.click()}return}let o=e[i==="down"?0:e.length-1];this.addClasses(o,this.classes.highlighted),o.id&&this.main.main.setAttribute("aria-activedescendant",o.id),this.ensureElementInView(this.content.list,o)}listDiv(){let i=document.createElement("div");this.addClasses(i,this.classes.list);let e=this.settings.id+"-list";return i.id=e,i.dataset.id=e,i}renderError(i){this.optionsListIsFullData=!1,this.content.list.innerHTML="";let e=document.createElement("div");this.addClasses(e,this.classes.error),e.textContent=i,this.content.list.appendChild(e)}renderSearching(){this.optionsListIsFullData=!1,this.content.list.innerHTML="";let i=document.createElement("div");this.addClasses(i,this.classes.searching),i.textContent=this.settings.searchingText,this.content.list.appendChild(i),this.announce(this.settings.searchingText)}renderOptions(i){if(this.lastSearchFilterTerm="",this.lastRenderedOptions=i.map(t=>t instanceof pe?[t]:t.options.map(o=>new pe(o))).flat(),this.content.list.innerHTML="",i.length===0){this.optionsListIsFullData=!1;let t=document.createElement("div");if(this.addClasses(t,this.classes.search),this.callbacks.addable){let o=this.settings.addableText.replace("{value}",this.content.search.input.value);t.innerHTML=o,this.announce(o)}else t.innerHTML=this.settings.searchText,this.announce(this.settings.searchText);this.content.list.appendChild(t);return}this.settings.allowDeselect&&!this.settings.isMultiple&&(this.store.filter(t=>t.placeholder,!1,!1).length||this.store.addOption(new pe({text:"",value:"",selected:!1,placeholder:!0}),!0));let e=document.createDocumentFragment();for(let t of i){if(t instanceof Ye){let o=document.createElement("div");this.addClasses(o,this.classes.optgroup);let n=document.createElement("div");this.addClasses(n,this.classes.optgroupLabel),o.appendChild(n);let r=document.createElement("div");this.addClasses(r,this.classes.optgroupLabelText),r.textContent=t.label,n.appendChild(r);let s=document.createElement("div");if(this.addClasses(s,this.classes.optgroupActions),n.appendChild(s),this.settings.isMultiple&&t.selectAll){let a=this.createSelectAllControl(()=>{let l=this.store.getSelected();if(this.isOptgroupAllSelected(t.options,new Set(l))){let d=l.filter(c=>{for(let p of t.options)if(c===p.id)return!1;return!0});this.callbacks.setSelected(d,!0);return}{let d=t.options.map(p=>p.id).filter(p=>p!==void 0),c=l.concat(d);for(let p of t.options)p.id&&!this.store.getOptionByID(p.id)&&this.callbacks.addOption(new pe(p));this.callbacks.setSelected(c,!0);return}},this.isOptgroupAllSelected(t.options));s.appendChild(a)}if(t.closable!=="off"){let a=document.createElement("div");this.addClasses(a,this.classes.optgroupClosable);let l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.setAttribute("viewBox","0 0 100 100"),this.addClasses(l,this.classes.arrow),a.appendChild(l);let d=document.createElementNS("http://www.w3.org/2000/svg","path");l.appendChild(d),t.options.some(c=>c.selected)||this.content.search.input.value.trim()!==""?(this.addClasses(a,this.classes.mainOpen),d.setAttribute("d",this.classes.arrowOpen)):t.closable==="open"?(this.addClasses(o,this.classes.mainOpen),d.setAttribute("d",this.classes.arrowOpen)):t.closable==="close"&&(this.addClasses(o,this.classes.close),d.setAttribute("d",this.classes.arrowClose)),n.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.isClosableOptgroupOpen(o,a)?(this.removeClasses(o,this.classes.mainOpen),this.removeClasses(a,this.classes.mainOpen),this.addClasses(o,this.classes.close),d.setAttribute("d",this.classes.arrowClose)):(this.closeOtherClosableOptgroups(o),this.removeClasses(o,this.classes.close),this.removeClasses(a,this.classes.mainOpen),this.addClasses(o,this.classes.mainOpen),d.setAttribute("d",this.classes.arrowOpen))}),s.appendChild(a)}o.appendChild(n);for(let a of t.options)o.appendChild(this.option(new pe(a))),e.appendChild(o)}t instanceof pe&&e.appendChild(this.option(t))}this.content.list.appendChild(e),this.setOptionsListFullData(i),this.announce(this.settings.resultsText.replace("{count}",String(this.lastRenderedOptions.length))),this.updateGlobalSelectAllState()}canFilterOptionsInPlace(){return this.optionsListIsFullData?this.content.list.querySelector("."+this.classes.getFirst("option"))!==null:!1}resetSearchFilterState(){this.lastSearchFilterTerm=""}filterOptionsInPlace(i,e){let t=i.trim();if(t===this.lastSearchFilterTerm)return;this.lastSearchFilterTerm=t;let o=[],n=this.content.list.querySelectorAll("."+this.classes.getFirst("option"));for(let r of n){let s=r.dataset.id;if(!s)continue;let a=this.store.getOptionByID(s);if(!a)continue;let l=a.placeholder||!a.display||a.selected&&this.settings.hideSelected,d=e(a,t);l||!d?(this.addClasses(r,this.classes.hide),this.removeClasses(r,this.classes.highlighted)):(this.removeClasses(r,this.classes.hide),this.setOptionElementContent(r,a,t),o.push(a)),a.selected?(this.addClasses(r,this.classes.selected),r.setAttribute("aria-selected","true")):(this.removeClasses(r,this.classes.selected),r.setAttribute("aria-selected","false"))}this.lastRenderedOptions=o,this.updateOptgroupVisibilityAfterSearch(t),o.length===0?this.updateSearchResultsMessage(0,t):(this.removeListSearchMessage(),this.announce(this.settings.resultsText.replace("{count}",String(o.length)))),this.updateOptgroupSelectAllStates(),this.updateGlobalSelectAllState()}setOptionsListFullData(i){let e=this.store.getDataOptions(!1),t=i.map(n=>n instanceof pe?[n]:n.options.map(r=>new pe(r))).flat();if(t.length!==e.length){this.optionsListIsFullData=!1;return}let o=new Set(e.map(n=>n.id));this.optionsListIsFullData=t.every(n=>o.has(n.id))}isClosableOptgroupOpen(i,e){return i.classList.contains(this.classes.getFirst("close"))?!1:i.classList.contains(this.classes.getFirst("mainOpen"))||e.classList.contains(this.classes.getFirst("mainOpen"))}closeClosableOptgroup(i){let e=i.querySelector("."+this.classes.getFirst("optgroupClosable"));if(!e||i.classList.contains(this.classes.getFirst("close")))return;this.removeClasses(i,this.classes.mainOpen),this.removeClasses(e,this.classes.mainOpen),this.addClasses(i,this.classes.close);let t=e.querySelector("path");t&&t.setAttribute("d",this.classes.arrowClose)}closeOtherClosableOptgroups(i){let e=this.content.list.querySelectorAll("."+this.classes.getFirst("optgroup"));for(let t of e)t!==i&&this.closeClosableOptgroup(t)}updateOptgroupVisibilityAfterSearch(i){let e=this.content.list.querySelectorAll("."+this.classes.getFirst("optgroup"));for(let t of e){let o=t.querySelectorAll("."+this.classes.getFirst("option")),n=!1;for(let r of o)if(!r.classList.contains(this.classes.getFirst("hide"))){n=!0;break}if(!n){this.addClasses(t,this.classes.hide);continue}this.removeClasses(t,this.classes.hide),i!==""&&(this.removeClasses(t,this.classes.close),this.addClasses(t,this.classes.mainOpen))}}updateSearchResultsMessage(i,e){if(this.removeListSearchMessage(),i>0)return;let t=document.createElement("div");if(this.addClasses(t,this.classes.search),this.callbacks.addable){let o=this.settings.addableText.replace("{value}",e);t.innerHTML=o,this.announce(o)}else t.innerHTML=this.settings.searchText,this.announce(this.settings.searchText);this.content.list.appendChild(t)}removeListSearchMessage(){this.content.list.querySelectorAll("."+this.classes.getFirst("search")).forEach(i=>i.remove())}setOptionElementContent(i,e,t){let o=t.trim();this.settings.searchHighlight&&o!==""?i.innerHTML=this.highlightText(e.html===""?e.text:e.html,o,this.classes.searchHighlighter):e.html===""?i.textContent=e.text:i.innerHTML=e.html,this.settings.showOptionTooltips&&i.textContent?i.setAttribute("title",i.textContent):i.removeAttribute("title")}hasRenderedOptions(){return this.content.list.querySelector("."+this.classes.getFirst("option"))!==null}canUpdateOptionSelectionInPlace(){return this.content.search.input.value.trim()===""&&this.hasRenderedOptions()}updateOptionSelection(){let i=new Set(this.store.getSelected()),e=this.content.list.querySelectorAll("."+this.classes.getFirst("option")),t=null;for(let o of e){let n=o.dataset.id;if(!n)continue;let r=this.store.getOptionByID(n);if(!r)continue;let s=i.has(n);s?(this.addClasses(o,this.classes.selected),o.setAttribute("aria-selected","true"),t=o):(this.removeClasses(o,this.classes.selected),o.setAttribute("aria-selected","false")),this.settings.hideSelected&&(s?this.addClasses(o,this.classes.hide):(this.removeClasses(o,this.classes.hide),r.display||this.addClasses(o,this.classes.hide)))}!this.settings.isMultiple&&t?this.main.main.setAttribute("aria-activedescendant",t.id):!this.settings.isMultiple&&i.size===0&&this.main.main.removeAttribute("aria-activedescendant"),this.updateOptgroupSelectAllStates(),this.updateGlobalSelectAllState()}createSelectAllControl(i,e=!1){let t=document.createElement("div");this.addClasses(t,this.classes.optgroupSelectAll),t.setAttribute("role","checkbox"),t.setAttribute("aria-checked",e?"true":"false"),t.setAttribute("aria-label",this.selectAllLabel(e)),t.tabIndex=-1,e&&this.addClasses(t,this.classes.selected);let o=document.createElement("span");o.textContent=this.selectAllLabel(e),t.appendChild(o);let n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox","0 0 100 100"),n.setAttribute("aria-hidden","true"),t.appendChild(n);let r=document.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d",this.classes.optgroupSelectAllBox),n.appendChild(r);let s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",this.classes.optgroupSelectAllCheck),n.appendChild(s),t.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),i()}),t}getSelectableOptions(){return this.store.getDataOptions(!1).filter(i=>!i.disabled&&!i.placeholder&&i.display)}isGlobalAllSelected(i){let e=this.getSelectableOptions();if(e.length===0)return!1;let t=i||new Set(this.store.getSelected());for(let o of e)if(!t.has(o.id))return!1;return!0}toggleGlobalSelectAll(){let i=this.getSelectableOptions(),e=new Set(this.store.getSelected());if(this.isGlobalAllSelected(e)){let t=new Set(i.map(n=>n.id)),o=this.store.getSelected().filter(n=>!t.has(n));this.callbacks.setSelected(o,!0);return}this.callbacks.setSelected(i.map(t=>t.id),!0)}updateGlobalSelectAllState(){let i=this.content.search.selectAll;if(!i||!this.settings.isMultiple||!this.settings.selectAll)return;let e=this.isGlobalAllSelected();e?this.addClasses(i,this.classes.selected):this.removeClasses(i,this.classes.selected),i.setAttribute("aria-checked",e?"true":"false"),i.setAttribute("aria-label",this.selectAllLabel(e));let t=i.querySelector("span");t&&(t.textContent=this.selectAllLabel(e))}updateOptgroupSelectAllStates(){if(!this.settings.isMultiple)return;let i=new Set(this.store.getSelected()),e=this.content.list.querySelectorAll("."+this.classes.getFirst("optgroup"));for(let t of e){let o=t.querySelector("."+this.classes.getFirst("optgroupSelectAll"));if(!o)continue;let n=t.querySelectorAll("."+this.classes.getFirst("option")),r=n.length>0;for(let a of n){let l=a.dataset.id;if(!l||!i.has(l)){r=!1;break}}r?this.addClasses(o,this.classes.selected):this.removeClasses(o,this.classes.selected),o.setAttribute("aria-checked",r?"true":"false"),o.setAttribute("aria-label",this.selectAllLabel(r));let s=o.querySelector("span");s&&(s.textContent=this.selectAllLabel(r))}}selectAllLabel(i){return i?this.settings.unselectAllText:this.settings.selectAllText}isOptgroupAllSelected(i,e){if(i.length===0)return!1;for(let t of i)if(!(e?t.id&&e.has(t.id):t.selected))return!1;return!0}option(i){if(i.placeholder){let t=document.createElement("div");return this.addClasses(t,this.classes.option),this.addClasses(t,this.classes.hide),t}let e=document.createElement("div");return e.dataset.id=i.id,e.id=this.settings.id+"-"+i.id,this.addClasses(e,this.classes.option),e.setAttribute("role","option"),i.class&&i.class.split(" ").forEach(t=>{e.classList.add(t)}),i.style&&(e.style.cssText=i.style),this.setOptionElementContent(e,i,this.content.search.input.value),i.display||this.addClasses(e,this.classes.hide),i.disabled&&this.addClasses(e,this.classes.disabled),i.selected&&this.settings.hideSelected&&this.addClasses(e,this.classes.hide),i.selected?(this.addClasses(e,this.classes.selected),e.setAttribute("aria-selected","true"),this.main.main.setAttribute("aria-activedescendant",e.id)):(this.removeClasses(e,this.classes.selected),e.setAttribute("aria-selected","false")),e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();let o=this.store.getSelected(),n=t.currentTarget,r=String(n.dataset.id),s=this.store.getOptionByID(r)??i,a=o.includes(r),l=t.ctrlKey||t.metaKey;if(i.disabled)return;if(!this.settings.isMultiple&&a&&!this.settings.allowDeselect){this.closeOnSingleSelectReclick(s);return}if(a&&s.mandatory){this.closeOnSingleSelectReclick(s);return}if(this.settings.isMultiple&&this.settings.maxSelected<=o.length&&!a||this.settings.isMultiple&&this.settings.minSelected>=o.length&&a&&!l)return;let d=!1,c=this.store.getSelectedOptions(),p=[];if(this.settings.isMultiple){let m=c.some(u=>u.id===r);if(t.shiftKey&&this.lastSelectedOption){let u=this.lastRenderedOptions,w=u.findIndex(g=>g.id===this.lastSelectedOption.id),f=u.findIndex(g=>g.id===i.id);if(w>=0&&f>=0){let g=Math.min(w,f),_=Math.max(w,f),v=u.slice(g,_+1).filter(T=>!c.find(S=>S.id===T.id));p=c.length+v.length<=this.settings.maxSelected?c.concat(v):c}else p=c}else p=m?c.filter(u=>u.id!==r):c.concat(s),this.lastSelectedOption=s}if(this.settings.isMultiple||(p=a?[]:[s]),this.callbacks.beforeChange||(d=!0),this.callbacks.beforeChange&&(d=this.callbacks.beforeChange(p,c)!==!1),d){this.store.getOptionByID(r)||this.callbacks.addOption(i),this.callbacks.setSelected(p.map(u=>u.id),!1);let m=t.ctrlKey||t.metaKey||t.shiftKey;this.settings.closeOnSelect&&!(this.settings.isMultiple&&m)&&this.requestClose("select",{option:s,selectionChanged:this.selectionChanged(c,p)}),this.callbacks.afterChange&&this.callbacks.afterChange(p)}}),e}destroy(){this.stopPositionTracking(),this.modalElements?(this.unlockBodyScroll(),this.content.main.parentElement===this.modalElements.dialog&&this.restoreContentOffscreen(),this.modalElements.overlay.remove(),this.modalElements=null):this.bodyScrollLocked&&this.unlockBodyScroll(),this.main.main.remove(),this.content.main.remove(),this.removeDetachedInstanceDom()}removeDetachedInstanceDom(){let i=this.settings.id,e=this.classes.getFirst("main"),t=this.classes.getFirst("content"),o=this.classes.getFirst("modalOverlay");document.querySelectorAll(`[data-id="${i}"]`).forEach(n=>{(n.classList.contains(e)||n.classList.contains(t)||n.classList.contains(o))&&n.remove()})}highlightText(i,e,t){let o=e.trim();if(o==="")return i;let n=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=document.createElement("div");r.innerHTML=i;let s=a=>{if(a.nodeType===Node.TEXT_NODE){let l=a.textContent||"",d=RegExp("("+n+")","i");if(d.test(l)){let c=document.createElement("span");l.split(d).forEach((p,m)=>{if(p&&d.test(p)){let u=document.createElement("mark");u.className=t,u.textContent=p,c.appendChild(u)}else p&&c.appendChild(document.createTextNode(p))}),a.parentNode?.replaceChild(c,a)}}else a.nodeType===Node.ELEMENT_NODE&&Array.from(a.childNodes).forEach(l=>s(l))};return Array.from(r.childNodes).forEach(a=>s(a)),r.innerHTML}setContentDirection(i){let e=i==="above",t=e?this.classes.dirAbove:this.classes.dirBelow,o=e?this.classes.dirBelow:this.classes.dirAbove;if(this.removeClasses(this.main.main,o),this.addClasses(this.main.main,t),this.removeClasses(this.content.main,o),this.addClasses(this.content.main,t),e){let n=this.main.main.offsetHeight,r=this.content.main.offsetHeight;this.content.main.style.margin="-"+(n+r-1)+"px 0px 0px 0px"}else this.content.main.style.margin="-1px 0px 0px 0px"}setContentPosition(){let i=this.main.main.getBoundingClientRect();if(this.settings.contentPosition==="relative"){this.applyContentWidth(i);return}this.cancelOverflowShift();let e,t;this.settings.contentPosition==="fixed"?(e=i.top+i.height,t=i.left):(e=i.top+window.scrollY+i.height,t=i.left+window.scrollX),this.content.main.style.top=e+"px",this.content.main.style.left=t+"px",this.applyContentWidth(i);let o=this.getKnownContentWidth(i);if(o!==null){this.content.main.style.left=this.adjustLeftForOverflow(t,i.left,o)+"px";return}this.overflowShiftRaf=requestAnimationFrame(()=>{this.overflowShiftRaf=0,this.applyOverflowShiftFromMeasure()})}applyContentWidth(i){let e=this.settings.contentWidth;if(this.content.main.style.width="",this.content.main.style.minWidth="",this.content.main.style.maxWidth="",!e){this.settings.contentPosition!=="relative"&&(this.content.main.style.width=i.width+"px");return}e.startsWith(">")?this.content.main.style.minWidth=e.slice(1):e.startsWith("<")?this.content.main.style.maxWidth=e.slice(1):this.content.main.style.width=e}cancelOverflowShift(){this.overflowShiftRaf&&=(cancelAnimationFrame(this.overflowShiftRaf),0)}getKnownContentWidth(i){let e=this.settings.contentWidth;if(!e)return i.width;if(e.startsWith(">")||e.startsWith("<")||e.includes("%"))return null;let t=parseFloat(e);return Number.isNaN(t)?null:t}adjustLeftForOverflow(i,e,t){let o=e+t;if(o<=window.innerWidth)return i;let n=i-(o-(window.innerWidth-20));return this.settings.contentPosition==="fixed"?Math.max(0,n):Math.max(window.scrollX,n)}applyOverflowShiftFromMeasure(){let i=this.content.main.getBoundingClientRect().right;if(i<=window.innerWidth)return;let e=i-(window.innerWidth-20),t=(parseFloat(this.content.main.style.left)||0)-e;this.settings.contentPosition==="fixed"?this.content.main.style.left=Math.max(0,t)+"px":this.content.main.style.left=Math.max(window.scrollX,t)+"px"}moveContentAbove(){this.setContentDirection("above"),this.setContentPosition()}moveContentBelow(){this.setContentDirection("below"),this.setContentPosition()}ensureElementInView(i,e){let t=i.scrollTop+i.offsetTop,o=t+i.clientHeight,n=e.offsetTop,r=n+e.clientHeight;n<t?i.scrollTop-=t-n:r>o&&(i.scrollTop+=r-o)}putContent(){let i=this.main.main.offsetHeight,e=this.main.main.getBoundingClientRect(),t=this.content.main.offsetHeight;return window.innerHeight-(e.top+i)<=t&&e.top>t?"up":"down"}updateDeselectAll(){if(!this.store||!this.settings)return;let i=this.store.getSelectedOptions(),e=i&&i.length>0,t=this.settings.isMultiple,o=this.settings.allowDeselect,n=this.isAtMinSelected(),r=this.main.deselect.main,s=this.classes.hide;o&&!(t&&!e)&&!n?this.removeClasses(r,s):this.addClasses(r,s)}};function Uw(i,e){let t={classChanged:!1,disabledChanged:!1,optgroupOptionChanged:!1,selectionChanged:!1};for(let o of i){if(o.target===e&&(o.attributeName==="disabled"&&(t.disabledChanged=!0),o.attributeName==="class"&&(t.classChanged=!0),o.type==="childList")){for(let n of Array.from(o.addedNodes))if(n.nodeName==="OPTION"&&n.value===e.value){t.selectionChanged=!0;break}t.optgroupOptionChanged=!0}(o.target.nodeName==="OPTGROUP"||o.target.nodeName==="OPTION")&&(t.optgroupOptionChanged=!0)}return t}var Dw=class{select;onValueChange;onClassChange;onDisabledChange;onOptionsChange;onLabelClick;listen=!1;observer=null;isUpdating=!1;pendingOptionsChange=null;preventNativeSelect=null;preventNativeSelectMousedown=null;preventNativeSelectFocus=null;restoreAriaHiddenOnBlur=null;constructor(i){this.select=i,this.valueChange=this.valueChange.bind(this),this.select.addEventListener("change",this.valueChange,{passive:!0}),this.observer=new MutationObserver(this.observeCall.bind(this)),this.changeListen(!0)}enable(){this.select.disabled=!1}disable(){this.select.disabled=!0}hideUI(){this.select.tabIndex=-1,this.select.style.position="absolute",this.select.style.width="1px",this.select.style.height="1px",this.select.style.opacity="0",this.select.style.overflow="hidden",this.select.style.pointerEvents="none",this.select.style.margin="0",this.select.style.padding="0",this.select.style.borderWidth="0",this.select.style.clipPath="inset(50%)",document.activeElement!==this.select&&this.select.setAttribute("aria-hidden","true"),this.preventNativeSelect||(this.preventNativeSelect=i=>{i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation()},this.preventNativeSelectMousedown=i=>{i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation()},this.preventNativeSelectFocus=i=>{this.select.removeAttribute("aria-hidden"),i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation()},this.restoreAriaHiddenOnBlur=()=>{this.select.setAttribute("aria-hidden","true")},this.select.addEventListener("click",this.preventNativeSelect,{capture:!0,passive:!1}),this.select.addEventListener("mousedown",this.preventNativeSelectMousedown,{capture:!0,passive:!1}),this.select.addEventListener("focus",this.preventNativeSelectFocus,{capture:!0,passive:!1}),this.select.addEventListener("blur",this.restoreAriaHiddenOnBlur,{capture:!0,passive:!0}))}showUI(){this.select.removeAttribute("tabindex"),this.select.style.position="",this.select.style.width="",this.select.style.height="",this.select.style.opacity="",this.select.style.overflow="",this.select.style.pointerEvents="",this.select.style.margin="",this.select.style.padding="",this.select.style.borderWidth="",this.select.style.clipPath="",this.select.removeAttribute("aria-hidden"),this.preventNativeSelect&&=(this.select.removeEventListener("click",this.preventNativeSelect,{capture:!0}),null),this.preventNativeSelectMousedown&&=(this.select.removeEventListener("mousedown",this.preventNativeSelectMousedown,{capture:!0}),null),this.preventNativeSelectFocus&&=(this.select.removeEventListener("focus",this.preventNativeSelectFocus,{capture:!0}),null),this.restoreAriaHiddenOnBlur&&=(this.select.removeEventListener("blur",this.restoreAriaHiddenOnBlur,{capture:!0}),null)}changeListen(i){this.listen=i,i&&this.observer&&this.observer.observe(this.select,{subtree:!0,childList:!0,attributes:!0}),i||this.observer&&this.observer.disconnect()}valueChange(i){return this.listen&&this.onValueChange&&this.onValueChange(this.getSelectedOptions()),!0}observeCall(i){if(!this.listen)return;let{classChanged:e,disabledChanged:t,optgroupOptionChanged:o,selectionChanged:n}=Uw(i,this.select),r=n;if(e&&this.onClassChange&&this.onClassChange(this.select.className.split(" ")),t&&this.onDisabledChange&&(this.changeListen(!1),this.onDisabledChange(this.select.disabled),this.changeListen(!0)),o&&this.clearLeftoverHiddenDisplay(i),o&&this.onOptionsChange){if(this.isUpdating){if(this.select.options.length>0){let s=this.getData();s.length>0&&(this.pendingOptionsChange=s)}r&&this.select.dispatchEvent(new Event("change"));return}this.changeListen(!1),this.onOptionsChange(this.getData()),this.changeListen(!0),r=!1}r&&this.select.dispatchEvent(new Event("change"))}getData(){let i=[],e=this.select.childNodes;for(let t of e)t.nodeName==="OPTGROUP"&&i.push(this.getDataFromOptgroup(t)),t.nodeName==="OPTION"&&i.push(this.getDataFromOption(t));return i}getDataFromOptgroup(i){let e={id:i.id,label:i.label,selectAll:i.dataset?i.dataset.selectall==="true":!1,closable:i.dataset?i.dataset.closable:"off",options:[]},t=i.childNodes;for(let o of t)o.nodeName==="OPTION"&&e.options.push(this.getDataFromOption(o));return e}clearLeftoverHiddenDisplay(i){for(let e of i){if(e.target.nodeName!=="OPTION"||e.attributeName!=="hidden")continue;let t=e.target;!t.hidden&&t.style.display==="none"&&(t.style.display="")}}getDataFromOption(i){let e=i.hidden||i.hasAttribute("hidden");return{id:i.id,value:i.value,text:i.text,html:i.dataset&&i.dataset.html?i.dataset.html:"",defaultSelected:i.defaultSelected,selected:i.selected,display:i.style.display!=="none"&&!e,disabled:i.disabled,mandatory:i.dataset?i.dataset.mandatory==="true":!1,placeholder:i.dataset.placeholder==="true",class:i.className,style:i.style.cssText,data:Lu(i.dataset)}}getSelectedOptions(){let i=[],e=this.select.childNodes;for(let t of e){if(t.nodeName==="OPTGROUP"){let o=t.childNodes;for(let n of o)if(n.nodeName==="OPTION"){let r=n;r.selected&&i.push(this.getDataFromOption(r))}}if(t.nodeName==="OPTION"){let o=t;o.selected&&i.push(this.getDataFromOption(o))}}return i}getSelectedValues(){return this.getSelectedOptions().map(i=>i.value)}hasOptionValues(i){if(i.length===0)return!0;let e=new Set(Array.from(this.select.options).map(t=>t.value));return i.every(t=>e.has(t))}setSelected(i){this.changeListen(!1);let e=this.select.childNodes;for(let o of e){if(o.nodeName==="OPTGROUP"){let n=o.childNodes;for(let r of n)if(r.nodeName==="OPTION"){let s=r;s.selected=i.includes(s.id)}}if(o.nodeName==="OPTION"){let n=o;n.selected=i.includes(n.id)}}let t=this.getSelectedOptions();this.select.multiple||(this.select.value=t.length===1?t[0].value:""),this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.changeListen(!0)}setSelectedByValue(i){this.changeListen(!1);let e=this.select.childNodes;for(let o of e){if(o.nodeName==="OPTGROUP"){let n=o.childNodes;for(let r of n)if(r.nodeName==="OPTION"){let s=r;s.selected=i.includes(s.value)}}if(o.nodeName==="OPTION"){let n=o;n.selected=i.includes(n.value)}}let t=this.getSelectedOptions();this.select.multiple||(this.select.value=t.length===1?t[0].value:""),this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.changeListen(!0)}updateSelect(i,e,t){this.changeListen(!1),i&&(this.select.dataset.id=i),e&&(this.select.style.cssText=e),t&&(this.select.className="",t.forEach(o=>{o.trim()!==""&&this.select.classList.add(o.trim())})),this.changeListen(!0)}updateOptions(i){if(!i||i.length===0)return;this.isUpdating=!0,this.pendingOptionsChange=null,this.changeListen(!1);let e=this.getSelectedValues();this.select.innerHTML="";for(let t of i)t instanceof Ye&&this.select.appendChild(this.createOptgroup(t)),t instanceof pe&&this.select.appendChild(this.createOption(t));if(Fn(e,this.getSelectedValues())||this.select.dispatchEvent(new Event("change",{bubbles:!0})),this.changeListen(!0),this.isUpdating=!1,this.pendingOptionsChange!==null){let t=this.pendingOptionsChange;t.length>0&&this.onOptionsChange?(this.pendingOptionsChange=null,this.changeListen(!1),this.onOptionsChange(t),this.changeListen(!0)):this.pendingOptionsChange=null}}createOptgroup(i){let e=document.createElement("optgroup");if(e.id=i.id,e.label=i.label,i.selectAll&&(e.dataset.selectAll="true"),i.closable!=="off"&&(e.dataset.closable=i.closable),i.options)for(let t of i.options)e.appendChild(this.createOption(t));return e}createOption(i){let e=document.createElement("option");return e.id=i.id,e.value=i.value,e.textContent=i.text,i.html!==""&&e.setAttribute("data-html",i.html),e.defaultSelected=i.defaultSelected,e.selected=i.selected,i.disabled&&(e.disabled=!0),e.hidden=!i.display,i.placeholder&&e.setAttribute("data-placeholder","true"),i.mandatory&&e.setAttribute("data-mandatory","true"),i.class&&i.class.split(" ").forEach(t=>{e.classList.add(t)}),i.data&&typeof i.data=="object"&&Object.keys(i.data).forEach(t=>{e.setAttribute("data-"+Mw(t),i.data[t])}),e}setupLabelHandlers(){let i=[],e=this.select.id;e&&document.querySelectorAll(`label[for="${e}"]`).forEach(o=>i.push(o));let t=this.select.parentElement;for(;t&&t!==document.body;){if(t.tagName==="LABEL"){i.push(t);break}t=t.parentElement}Array.from(new Set(i)).forEach(o=>{if(o.__slimSelectLabelHandler)return;let n=r=>{let s=r.target,a=Fu(s,this.select.dataset.id);r.preventDefault(),!a&&this.onLabelClick&&this.onLabelClick()};o.__slimSelectLabelHandler=n,o.addEventListener("click",n,{capture:!0,passive:!1})})}removeLabelHandlers(){let i=[],e=this.select.id;e&&document.querySelectorAll(`label[for="${e}"]`).forEach(o=>i.push(o));let t=this.select.parentElement;for(;t&&t!==document.body;){if(t.tagName==="LABEL"){i.push(t);break}t=t.parentElement}Array.from(new Set(i)).forEach(o=>{let n=o.__slimSelectLabelHandler;n&&(o.removeEventListener("click",n,{capture:!0}),delete o.__slimSelectLabelHandler)})}destroy(){this.changeListen(!1),this.select.removeEventListener("change",this.valueChange),this.preventNativeSelect&&=(this.select.removeEventListener("click",this.preventNativeSelect,{capture:!0}),null),this.preventNativeSelectMousedown&&=(this.select.removeEventListener("mousedown",this.preventNativeSelectMousedown,{capture:!0}),null),this.preventNativeSelectFocus&&=(this.select.removeEventListener("focus",this.preventNativeSelectFocus,{capture:!0}),null),this.restoreAriaHiddenOnBlur&&=(this.select.removeEventListener("blur",this.restoreAriaHiddenOnBlur,{capture:!0}),null),this.observer&&=(this.observer.disconnect(),null),this.removeLabelHandlers(),delete this.select.dataset.id,this.showUI()}};function Hw(i,e){return Rw(i.getData(!1),e)}function Ww(i,e){let t=Array.isArray(e)?e:[e],o=i.getDataOptions(!1),n=[];for(let r of t){if(o.find(s=>s.id==r)){n.push(r);continue}for(let s of o.filter(a=>a.value==r))n.push(s.id)}return n}var Bw=class{deps;queue=[];flushScheduled=!1;isSyncing=!1;constructor(i){this.deps=i}enqueue(i){if(this.queue.push(i),i.source==="native"){this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flush()));return}this.isSyncing||this.flush()}flush(){if(this.flushScheduled=!1,this.queue.length===0)return;let i=this.coalesceBatch(this.queue);this.queue=[],this.isSyncing=!0;try{for(let e of i)this.applyChange(e)}finally{this.isSyncing=!1,this.queue.length>0&&this.flush()}}coalesceBatch(i){let e=i.some(n=>n.type==="structure"),t=i.some(n=>n.type==="addOption");if(e||t){let n=i.filter(s=>s.type==="structure"||s.type==="addOption"),r=n[n.length-1];return r?.type==="structure"?[r]:n}let o=i.filter(n=>n.type==="selection");return o.length>0?[o[o.length-1]]:i}applyChange(i){switch(i.type){case"structure":this.applyStructure(i.data,i.source,i.preserveSelection,i.isSearchResult);break;case"selection":this.applySelection(i.values,i.source,i.runAfterChange!==!1);break;case"addOption":this.applyAddOption(i.option)}}applyStructure(i,e,t=!1,o=!1){let{store:n,select:r,render:s,events:a}=this.deps;if(!o&&Hw(n,i))return;let l=n.getSelected(),d=n.validateDataArray(i);if(d){a.error?a.error(d):this.deps.onError&&this.deps.onError(d);return}n.setData(i,t);let c=n.getData(!1);o||n.snapshotCatalog(),o||r.updateOptions(c),s.renderValues(),s.renderOptions(c),a.afterChange&&!Fn(l,n.getSelected())&&a.afterChange(n.getSelectedOptions())}syncNativeSelection(){let{store:i,select:e}=this.deps,t=i.getSelectedOptions(),o=i.getSelectedValues();if(!e.hasOptionValues(o)){if(t.length>0){e.updateOptions(t);return}let n=i.getCatalogData().find(r=>r instanceof pe&&r.placeholder===!0);if(n){e.updateOptions([new pe({...n,selected:!0})]);return}}e.setSelectedByValue(o)}applySelection(i,e,t){let{store:o,select:n,render:r,events:s}=this.deps,a=o.getSelected(),l=Ww(o,i);if(Fn(a,l))return;o.setSelectedBy("id",l),this.syncNativeSelection(),r.renderValues();let d=r.content.search.input.value.trim();d===""?r.canUpdateOptionSelectionInPlace()?r.updateOptionSelection():r.renderOptions(o.getData(!1)):r.hasRenderedOptions()?r.updateOptionSelection():this.deps.search&&this.deps.search(d),t&&s.afterChange&&!Fn(a,o.getSelected())&&s.afterChange(o.getSelectedOptions())}applyAddOption(i){let{store:e,select:t,render:o,events:n}=this.deps,r=e.getSelected(),s=o.content.search.input.value.trim()!==""&&!!this.deps.search,a=i.value??i.text??"",l=c=>{for(let p of c){if(p instanceof Ye){if(p.options.some(m=>(m.value??m.text)===a))return!0;continue}if((p.value??p.text)===a)return!0}return!1};if(!l(e.getData(!1)))if(s){let c=e.getCatalogData();l(c)||e.setData([...c,new pe(i)],!0),e.snapshotCatalog()}else e.addOption(i),e.snapshotCatalog();let d=e.getData(!1);if(s){let c=e.getSelectedOptions();c.length>0&&t.updateOptions(c)}else t.updateOptions(d);o.renderValues(),o.renderOptions(d),n.afterChange&&!Fn(r,e.getSelected())&&n.afterChange(e.getSelectedOptions())}},Wt=class{selectEl;settings;cssClasses;select;store;render;sync;lifecycle;globalEvents;searchGeneration=0;events={search:void 0,searchFilter:(i,e)=>i.text.toLowerCase().indexOf(e.toLowerCase())!==-1,addable:void 0,beforeChange:void 0,afterChange:void 0,beforeOpen:void 0,afterOpen:void 0,beforeClose:void 0,afterClose:void 0};constructor(i){if(this.selectEl=typeof i.select=="string"?document.querySelector(i.select):i.select,!this.selectEl){i.events&&i.events.error&&i.events.error(Error("Could not find select element"));return}if(this.selectEl.tagName!=="SELECT"){i.events&&i.events.error&&i.events.error(Error("Element isnt of type select"));return}this.selectEl.dataset.ssid&&this.destroy(),this.settings=new Cw(i.settings),i.settings?.selectAll===void 0&&this.selectEl.dataset.selectall==="true"&&(this.settings.selectAll=!0),this.cssClasses=new yw(i.cssClasses);let e=["beforeOpen","afterOpen","afterClose"];for(let s in i.events)i.events.hasOwnProperty(s)&&(e.indexOf(s)===-1?this.events[s]=i.events[s]:this.events[s]=Qr(i.events[s],100));this.settings.disabled=i.settings?.disabled?i.settings.disabled:this.selectEl.disabled,this.settings.isMultiple=this.selectEl.multiple,this.settings.style=this.selectEl.style.cssText,this.settings.class=this.selectEl.className.split(" "),this.select=new Dw(this.selectEl),this.selectEl.id||(this.selectEl.id=this.settings.id),this.select.updateSelect(this.settings.id,this.settings.style,this.settings.class),this.select.hideUI(),this.select.onClassChange=s=>{this.settings.class=s,this.render.updateClassStyles()},this.select.onDisabledChange=s=>{s?this.disable():this.enable()},this.select.onLabelClick=()=>{this.settings.disabled||(this.settings.isOpen?this.close({source:"toggle",selectionChanged:!1}):this.open())};let t=i.data?i.data:this.select.getData();this.store=new zw(this.settings.isMultiple?"multiple":"single",t),i.data&&this.select.updateOptions(this.store.getData());let o={open:this.open.bind(this),close:this.close.bind(this),addable:this.events.addable?this.events.addable:void 0,setSelected:(s,a)=>{this.sync.enqueue({type:"selection",values:s,source:"ui",runAfterChange:a})},addOption:s=>{this.sync.enqueue({type:"addOption",option:s,source:"ui"})},search:this.search.bind(this),beforeChange:this.events.beforeChange,afterChange:this.events.afterChange};this.settings.modalTitle=i.settings?.modalTitle??Fw(this.selectEl),this.render=new qw(this.settings,this.cssClasses,this.store,o),this.settings.timeoutDelay=ll(this.render.content.main,i.settings?.timeoutDelay),this.sync=new Bw({select:this.select,store:this.store,render:this.render,events:this.events,search:this.search.bind(this)}),this.select.onValueChange=s=>{this.sync.enqueue({type:"selection",values:s.map(a=>a.id||a.value),source:"native"})},this.select.onOptionsChange=s=>{this.sync.enqueue({type:"structure",data:s||[],source:"native"})},this.lifecycle=new Iw({beforeOpen:this.events.beforeOpen,afterOpen:this.events.afterOpen,beforeClose:s=>this.events.beforeClose?.(s),onClose:s=>this.applyClose(s),afterClose:()=>{this.render.clearDirectionClasses(),this.render.finalizeModalClose(),this.events.afterClose&&this.events.afterClose()},onOpenReady:()=>this.globalEvents.attachDocumentClick(),onCloseReady:()=>this.globalEvents.detachDocumentClick()},{timeoutDelay:this.settings.timeoutDelay,waitForAnimation:(s,a)=>this.render.waitForAnimation(s,a)}),this.globalEvents=new Pw({onDocumentClick:this.documentClick.bind(this),onWindowResize:()=>{!this.settings.isOpen&&!this.settings.isFullOpen||this.render.moveContent()},onWindowScroll:()=>{!this.settings.isOpen&&!this.settings.isFullOpen||this.render.moveContent()},onVisibilityChange:()=>{document.hidden&&this.close({source:"api",selectionChanged:!1})}}),this.render.renderValues(),this.render.renderOptions(this.store.getData(!1));let n=this.selectEl.getAttribute("aria-label"),r=this.selectEl.getAttribute("aria-labelledby");if(n)this.render.main.main.setAttribute("aria-label",n);else if(r)this.render.main.main.removeAttribute("aria-label"),this.render.main.main.setAttribute("aria-labelledby",r);else if(this.selectEl.labels&&this.selectEl.labels.length>0){let s=Array.from(this.selectEl.labels).map((a,l)=>(a.id||=`${this.settings.id}-label-${l}`,a.id));this.render.main.main.removeAttribute("aria-label"),this.render.main.main.setAttribute("aria-labelledby",s.join(" "))}this.selectEl.parentNode&&this.selectEl.parentNode.insertBefore(this.render.main.main,this.selectEl.nextSibling),this.globalEvents.attach({listenScroll:this.settings.openPosition==="auto"}),this.settings.disabled&&this.disable(),this.settings.alwaysOpen&&this.open(),this.select.setupLabelHandlers(),this.selectEl.slim=this}enable(){this.settings.disabled=!1,this.select.enable(),this.render.enable()}disable(){this.settings.disabled=!0,this.select.disable(),this.render.disable()}getData(){return this.store.getData()}setData(i){this.sync.enqueue({type:"structure",data:i,source:"api"})}getSelected(){let i=this.store.getSelectedOptions();return this.settings.keepOrder&&(i=this.store.selectedOrderOptions(i)),i.map(e=>e.value)}setSelected(i,e=!0){this.sync.enqueue({type:"selection",values:i,source:"api",runAfterChange:e})}addOption(i){this.sync.enqueue({type:"addOption",option:i,source:"api"})}open(){if(this.settings.disabled||this.settings.isOpen)return;this.lifecycle.cancelPending(),this.render.open(),this.settings.showSearch&&this.settings.focusSearch&&this.render.searchFocus(),this.settings.isOpen=!0,this.lifecycle.requestOpen().then(()=>{this.settings.isOpen&&(this.settings.isFullOpen=this.lifecycle.isFullOpen,this.settings.isOpen=this.lifecycle.isOpen)}),this.settings.contentPosition==="absolute"&&!this.render.isModalViewActive()&&this.render.startPositionTracking();let i=this.render.content.search.input.value.trim();i!==""&&this.search(i)}close(i={source:"api",selectionChanged:!1}){!this.settings.isOpen||this.settings.alwaysOpen||this.lifecycle.requestClose(i).then(e=>{e&&(this.settings.isOpen||(this.settings.isOpen=this.lifecycle.isOpen,this.settings.isFullOpen=this.lifecycle.isFullOpen))})}applyClose(i){this.render.close(),!this.settings.keepSearch&&this.render.content.search.input.value!==""&&(this.sync.flush(),this.search(""));let e=i.source==="outside"||i.source==="toggle";this.render.mainFocus(e?"click":null),this.settings.isOpen=!1,this.settings.isFullOpen=!1,this.render.stopPositionTracking()}search(i){let e=i.trim();if(e===""){this.render.content.search.input.value="",this.clearSearch();return}if(this.render.content.search.input.value!==i&&(this.render.content.search.input.value=i),this.events.search){this.runApiSearch(e);return}this.runLocalSearch(e)}clearSearch(){if(this.searchGeneration++,!this.events.search&&this.render.canFilterOptionsInPlace()){this.render.filterOptionsInPlace("",this.events.searchFilter),this.render.resetSearchFilterState();return}this.render.resetSearchFilterState(),this.sync.enqueue({type:"structure",data:this.store.getCatalogData(),source:"api",preserveSelection:!0}
15)}runLocalSearch(i){if(this.render.canFilterOptionsInPlace()){this.render.filterOptionsInPlace(i,this.events.searchFilter);return}let e=this.store.search(i,this.events.searchFilter);this.render.renderOptions(e)}runApiSearch(i){let e=++this.searchGeneration;this.render.renderSearching();let t=this.events.search(i,this.store.getSelectedOptions(),this.store.getCatalogData()),o=n=>{e===this.searchGeneration&&this.render.content.search.input.value.trim()===i&&this.sync.enqueue({type:"structure",data:n,source:"api",preserveSelection:!0,isSearchResult:!0})};if(t instanceof Promise){t.then(o).catch(n=>{e===this.searchGeneration&&this.render.renderError(typeof n=="string"?n:n.message)});return}if(Array.isArray(t)){o(t);return}this.render.renderError("Search event must return a promise or an array of data")}destroy(){this.lifecycle.destroy(),this.render.stopPositionTracking(),this.globalEvents.detach({listenScroll:this.settings.openPosition==="auto"}),this.store.setData([]),this.render.destroy(),this.select.destroy(),delete this.selectEl.slim}documentClick(i){this.settings.isOpen&&i.target&&!Fu(i.target,this.settings.id)&&this.close({source:"outside",selectionChanged:!1})}};function Nu(i){i=` ${i.replace(/ +/g," ").trim().toLowerCase()} `;let e=[];for(let t=0;t<i.length-2;++t){let o=i.substring(t,t+3);o[1]!==" "&&e.push(o)}return e}var Mi=class{constructor(e){this.strs=e;this.total=e.length;for(let t of e){let o=Nu(t),n=new Set(o);for(let s of n){let a=this.trigram_occ.get(s)||0;this.trigram_occ.set(s,a+1)}let r={str:t,trigrams:o};this.l.push(r)}}strs;total;trigram_occ=new Map;l=new Array;score(e){let t=Nu(e).filter(n=>n[2]!==" "),o=[];for(let n of this.l){let r=0;for(let s of t)n.trigrams.indexOf(s)!==-1&&(r+=this.total/(this.trigram_occ.get(s)||999999));o.push({str:n.str,score:r})}return o.toSorted((n,r)=>r.score-n.score)}};de();var cl=class{input;ss;phoneinput;countries=[];mobileonly=!1;constructor(e){this.input=e,this.input.hidden=!0,this.mobileonly=this.input.dataset.mobileonly==="1",this.input.addEventListener("input",()=>this.syncValueToCustomComponents());let t=this.input.closest(".wh-form__fieldgroup");t&&t.classList.add("wh-form__fieldgroup--slimselect");let o=h("div",{class:"phonefield-fieldswrapper"});this.input.before(o),this.countries=JSON.parse(this.input.dataset.countries||"[]");let n=this.countries.map(s=>({text:`${s.title} (+${s.phone})`,value:s.code,html:`<span class="utwente-flags utwente-flags-${s.code.toLowerCase()}"></span><div class="title">${s.title}</div><span class="phoneprefix">+${s.phone}</span>`})),r=h("select",{class:"webform-utwente--phonefield__country"});o.append(r),this.ss=new Wt({select:r,data:n,events:{afterChange:()=>this.syncValueFromCustomComponents()},settings:{modal:"off"}}),this.phoneinput=h("input",{type:"tel",class:"webform-utwente--phonefield__input",placeholder:this.input.placeholder}),this.phoneinput.value=this.input.value.replace(/[^0-9+\s]/g,"").trim(),this.phoneinput.addEventListener("input",()=>this.syncValueFromCustomComponents()),this.phoneinput.addEventListener("change",()=>this.onChange()),this.input.value&&this.syncValueToCustomComponents(),o.append(this.phoneinput),Me(this.input,s=>this.validatePhoneNumber(s)),this.phoneinput.value===""?this.prefillCountryCode():this.syncValueFromCustomComponents()}onChange(){let e=this.countries.find(t=>this.input.value.startsWith(`+${t.phone}`));if(e){let t=this.input.value.substring(e.phone.length+1).trim();if(["BE","DE","NL"].includes(e.code)){for(;t.startsWith("0");)t=t.substring(1);this.phoneinput.value=t&&!t.startsWith("+")?"0"+t:t}else this.phoneinput.value=t}}validatePhoneNumber(e){let t=this.ss?this.ss.getSelected():[],o=t.length?t[0]:"",n=o?this.countries.find(a=>a.code===o):"",r=n?`+${n.phone}`:"",s=e.value.replace(/[^0-9]/g,"");if(this.input.required){if(s.length<6||s.length>15)return y("utwente_base:frontend.ws2016.js.notavalidphonenumber")}else if(r!==""&&this.input.value===r&&(this.input.value=""),this.input.value!==""&&(s.length<6||s.length>15))return y("utwente_base:frontend.ws2016.js.notavalidphonenumber");if(this.mobileonly&&this.input.value!==""&&!this.isValidMobileNumber(o,this.input.value))return y("utwente_base:frontend.ws2016.js.notavali
15dmobilephonenumber")}isValidMobileNumber(e,t){let o="+"+t.replace(/[^0-9]/g,"");return e==="BE"?/^\+324[56789]\d{7}$/.test(o):e==="DE"?/^\+49[1-9]\d{1,4}\d{6,10}$/.test(o):e==="NL"?/^\+316\d{8}$/.test(o):!0}syncValueFromCustomComponents(){let e=this.ss?this.ss.getSelected():[],t=e.length?e[0]:"",o=e.length?this.countries.find(a=>a.code===t):"",n=o?`+${o.phone}`:"",r=this.phoneinput.value.replace(/[^0-9+\s]/g,"").trim();if(r.startsWith("+")){let a=this.countries.find(l=>r.startsWith(`+${l.phone}`));a&&(this.ss.setSelected(a.code,!1),n=`+${a.phone}`,r=r.substring(a.phone.length+1).trim(),this.phoneinput.value=r)}if(this.updatePlaceholderForCountry(t),["BE","DE","NL"].includes(t))for(;r.startsWith("0");)r=r.substring(1);let s=r?n+r:"";this.input.value!==s&&Pe(this.input,s)}updatePlaceholderForCountry(e){e==="BE"?this.phoneinput.placeholder="(0)470123456":e==="DE"?this.phoneinput.placeholder="(0)1701234567":e==="NL"&&(this.phoneinput.placeholder="(0)612345678")}syncValueToCustomComponents(){let e=this.countries.find(t=>this.input.value.startsWith(`+${t.phone}`));e?this.ss.setSelected(e.code,!1):this.syncValueFromCustomComponents()}async prefillCountryCode(){let e=await ut();e&&this.countries.find(t=>t.code===e)&&(this.ss.selectEl.dataset.prefilledCountry=e,this.ss.setSelected(e))}};b(".webform-utwente--phonefield input[name$='.phone'][data-countries]",i=>new cl(i));A();function Vw(i){let e=i.closest(".wh-form__page");if(!e||e.dataset.whFormPagerole==="thankyou")return!1;if(e.parentNode.querySelectorAll(".wh-form__page")[0]!==e)return!0;let t=i.closest(".wh-form__fieldgroup");if(!t)return!1;for(let o=t;o;o=o.previousElementSibling)if(o.classList.contains("wh-form__fieldgroup")&&!o.classList.contains("wh-form__fieldgroup--richtext")&&!o.classList.contains("wh-form__fieldgroup--group"))return!0;return!1}function Yw(i){Vw(i)&&(i.target="_blank")}b("form.wh-form a[href]",Yw);re();var ju=document.documentElement.lang.substr(0,2).toLowerCase(),pl=null;k(".wh-form .wh-form__fieldgroup.ut-prefilled").forEach(i=>{k(i,"input:not([readonly]):not([disabled]),select:not([readonly]):not([disabled]),textarea:not([readonly]):not([disabled])").forEach(t=>t.addEventListener("change",()=>i.classList.add("ut-prefilled--changed")))});function $w(i){pl||=h("div",{class:"rpc__overlay ut-spinner--showembeddedspinner"},h("div",{class:"rpc__overlaywait"},h("span",{class:"rpc__spinner"},h("span",{class:"UT-icon-UT_icon_112_settings-24px ut-spinner"})),ju==="nl"?"Een ogenblik geduld...":ju==="de"?"Bitte warte einen Moment...":"Please wait a moment...")),i.detail.show?document.body.appendChild(pl):document.body.removeChild(pl)}function Xw(i){(i.maxLength<=0||i.maxLength>100)&&(i.maxLength=100)}b(".wh-form.wh-styledinput",i=>{let e=i.closest("[lang]")?.getAttribute("lang")??document.documentElement.lang??"en",t=Ie();tn(e.substring(0,2));let o=y("utwente_base:frontend.ws2016.js.starsrequired");tn(t),i.querySelector(".wh-form__fieldgroup--required")&&i.appendChild(h("div",{class:"wh-form__requirednote"},h("p",null,o)))});b(".utwente-check-studylink-number input",i=>{i.minLength=7,i.maxLength=7,i.type="tel",i.pattern="[0-9]{7}",Me(i,e=>{if(!e.value.match(/^[0-9]{7}$/))return"This is not a valid student number. To find your student number please check your Osiris application mail or login to the Osiris application system."})});M["ut-nocustomselect"]||(b(".wh-styledinput select:not(.wh-form__prefillcontrol)",i=>{i.closest(".wh-form__fieldgroup--slimselect")||new Eo(i,"ut-pulldown")}),b(".wh-formcontrol-styling select:not(.wh-form__prefillcontrol)",i=>new Eo(i,"ut-pulldown")));b(".wh-form__imgedit",i=>new Sn(i));b(".wh-form__upload",i=>new Tn(i));b(".wh-form__rtd",i=>new Cn(i,{hidebuttons:["table"],onInsertVideo:yu}));b("input[type=email]",Xw);window.addEventListener("dompack:busymodal",$w);A();var hl,ml=0,ul,Co=Y.site.colorscheme.length*10;window.addEventListener("animationstart",Gw);function Gw(i){["colorscheme-background","colorscheme-color","colorscheme-fill","colorscheme-color-border","colorscheme-cta-color","colorscheme-cta-background","colorscheme-cta-hover-background","colorscheme-cta-hover-color","colorscheme-cta-hover-color-border"].indexOf(i.animationName)!=-1&&Jw(i.target,i.animationName)}function Ru(){let i;if(!ul)ul=new Date().getTime(),i=ml*1e3;else{let e=new Date().getTime()-ul;i=ml*1e3-e}return i}function Bt(i,e){let t=gl(e);i.style.animation=t}function gl(i){let e=Ru()%(Co*1e3),t=W.unc?"paused":"";return`${i} ${Co}s steps(${Co*2}, end) ${e}ms infinite ${t}`}function Jw(i,e){let o=`${Ru()%(Co*1e3)}ms`;i.style.animationDelay=o,i.style.animationDuration=Co+"s"}b(".docstate",i=>{if(!hl){if(localStorage["ucs-start"]){let e=parseInt(localStorage["ucs-start"],10);isNaN(e)||(e=(Date.now()-e)%(Co*1e3),e>0&&(ml=-Math.floor(e/1e3)))}else localStorage["ucs-start"]=Date.now();if(hl=i,Y.site.animatethemecolor&&Y.site.colorscheme.length>1){document.documentElement.classList.add("animatedcolorscheme"),Bt(hl,"colorscheme-background");let e=[".themecolor--bg",".docstate"],t=[".themecolor--fg",".inlinecta__icon",".rtdinset__icon"],o=[".themecolor--fg.themecolor--br"],n=[".cta--transparent",".cta-themecolor--bg"],r=[".cta-themecolor--fg.cta-themecolor--br"],s=[".wh-form__button:not(.wh-form__button--previous)",".cta__button",".inlinecta__button"];b(e.join(","),l=>Bt(l,"colorscheme-background")),b(t.join(","),l=>Bt(l,"colorscheme-color")),b(o.join(","),l=>Bt(l,"colorscheme-color-border")),b(s.join(","),l=>Kw(l)),b(n.join(","),l=>Bt(l,"colorscheme-cta-background")),b(r.join(","),l=>Bt(l,"colorscheme-cta-color-border"));let a=[".ut-querymatch"];document.head.appendChild(h("style",null,a.join(`::before
16        {
17          animation: ${gl("colorscheme-background")};
18        })`)+`::before
19        {
20          animation: ${gl("colorscheme-background")};
21        }`))}}});function Kw(i){i.closest(".cta--transparent")?Bt(i,"colorscheme-cta-color"):Bt(i,"colorscheme-cta-background")}window.addEventListener("load",i=>Te(document.body));A();function Zw(i){i.preventDefault();let e=this.getAttribute("data-windowopen").split(",");window.open(this.href,"",`width=${e[0]},height=${e[1]},scrollbars=yes`)}b("[data-windowopen]",i=>{i.addEventListener("click",Zw.bind(i))});A();var eb=new XMLHttpRequest;function Nn(i,e){return e={timeout:0,responseType:"text",reuseRequest:!0,method:"GET",requestHeaders:[],data:null,...e},new Promise((t,o)=>{let n;e.reuseRequest?(n=eb,n.readyState!==XMLHttpRequest.UNSENT&&n.readyState!==XMLHttpRequest.DONE&&(n.abort(),n._reject&&n._reject(Error("abort")))):n=new XMLHttpRequest,n._reject=o,n.onreadystatechange=()=>{if(n.readyState===XMLHttpRequest.DONE){if(n.status!==200){n.status&&o(Error(`status:${n.status}`));return}t(e.responseType==="xml"?n.responseXML:n.response)}},n.ontimeout=()=>{o(Error("status:408"))},n.open(e.method,i,!0),n.timeout=e.timeout,n.responseType=e.responseType==="xml"?"":e.responseType;for(let r of e.requestHeaders)n.setRequestHeader(r.header,r.value);e.data?n.send(e.data):n.send()})}A();A();var wl=Symbol(),bl=Symbol(),tb={autoplay:!1,muted:!1,controls:!0,loop:!1,poster:""};function ib(i,e){let t=Object.assign(tb,e);e=Object.assign(t,e);let o,n=[];
21switch(i.network){case"youtube":n.push("autoplay="+(e.autoplay?"1":"0")),i.starttime&&n.push("start="+Math.floor(i.starttime)),i.endtime&&n.push("end="+Math.floor(i.endtime)),e.controls||n.push("controls=0"),e.loop&&(n.push("loop=1"),n.push("playlist="+i.id)),n.push("rel=0"),n.push("enablejsapi=1"),n.push("origin="+location.protocol+"//"+location.hostname),n.push("iv_load_policy=3"),n.push("modestbranding=1");let r="//www.youtube.com/embed/"+i.id;return n.length>0&&(r+="?"+n.join("&")),o=fl(),o.src=r,e.api?ob(o):_l(o);case"vimeo":n.push("autoplay="+(e.autoplay?"1":"0")),i.endtime&&console.warn("setting an endtime doesn't work for Vimeo video's"),e.controls||console.warn("disabling video controls not possible for Vimeo video's"),e.loop&&n.push("loop=1"),e.background&&n.push("background=1");let s="//player.vimeo.com/video/"+i.id;if(n.length>0&&(s+="?"+n.join("&")),i.starttime){let a=i.starttime,l=Math.floor(a/60),d=a%60;s+="#t="+l+"m"+d+"s"}return o=fl(),o[bl]=!1,o.addEventListener("load",a=>o[bl]=!0),o.src=s,e.api?nb(o):_l(o);case"yuja":{let a=new URL("https://www.example.org/?"+i.id).searchParams,l=a.get("h"),d=a.get("v"),c=a.get("a"),p=`//${l}/V/Video`;return n.push("v="+encodeURIComponent(d)),n.push("a="+encodeURIComponent(c)),e.starttime&&n.push("starttime="+e.starttime),e.endtime&&console.warn("setting an endtime doesn't work for Yuja video's"),e.controls||console.warn("disabling video controls not possible for Yuja video's"),e.loop&&console.warn("loop isn't supported for Yuja video's"),n.length>0&&(p+="?"+n.join("&")),o=fl(),o.src=p,rb(o);break}case"videofile":return o=document.createElement("video"),o.loop=!!e.loop,o.controls=!!e.controls,o.muted=!!e.muted,e.poster&&(o.poster=e.poster),o.style.width="100%",o.style.height="100%",o.src=i.id,e.api?sb(o):_l(o);default:console.error("Unknown video type");break}return o}function fl(){let i=document.createElement("iframe");return i.style.width="100%",i.style.height="100%",i.frameBorder=0,i.allowFullscreen=!0,i.setAttribute("allow","autoplay"),i}function Tt(i){return!!i[wl]}function St(i,e){if(i[wl])return;i.innerHTML="",i[wl]=!0;let t=JSON.parse(i.getAttribute("data-video")),o=i.hasAttribute("data-video-options")?JSON.parse(i.getAttribute("data-video-options")):{};return o=Object.assign(o,e),new Promise((n,r)=>{ib(t,o).then(s=>{i.appendChild(s.node),n(s)})})}var Lo=class{constructor(e){this.node=e,this.network="static"}play(){}pause(){}getPaused(){return Promise.resolve()}getFinished(){return Promise.resolve()}setLoop(e){}seekTo(e){}getCurrentTime(){return Promise.resolve()}getDuration(){return Promise.resolve()}setVolume(e){}getVolume(){return Promise.resolve()}getVideoUrl(){return Promise.resolve()}onReady(){L(this.node,"video:ready",{bubbles:!0,cancelable:!1,detail:{player:this}})}onPlay(){L(this.node,"video:play",{bubbles:!0,cancelable:!1,detail:{player:this}})}onPause(){L(this.node,"video:pause",{bubbles:!0,cancelable:!1,detail:{player:this}})}onFinish(){L(this.node,"video:finish",{bubbles:!0,cancelable:!1,detail:{player:this}})}},Zr=class extends Lo{constructor(e){super(e),this.network="youtube",this.player=new YT.Player(this.node,{events:{onReady:this.onReady.bind(this),onStateChange:this.onStateEvent.bind(this)}})}play(){this.player.playVideo()}pause(){this.player.pauseVideo()}getPaused(){return Promise.resolve(this.player.getPlayerState()===YT.PlayerState.PAUSED)}getFinished(){return Promise.resolve(this.player.getPlayerState()===YT.PlayerState.ENDED)}setLoop(e){this.player.setLoop(!!e)}seekTo(e){this.player.seekTo(e,!0)}getCurrentTime(){return Promise.resolve(this.player.getCurrentTime())}getDuration(){return Promise.resolve(this.player.getDuration())}setVolume(e){this.player.setVolume(e)}getVolume(){return Promise.resolve(this.player.getVolume())}getVideoUrl(){return Promise.resolve(this.player.getVideoUrl())}onStateEvent(e){e.data===YT.PlayerState.PLAYING?this.onPlay():e.data===YT.PlayerState.PAUSED?this.onPause():e.data===YT.PlayerState.ENDED&&this.onFinish()}},es=class extends Lo{constructor(e){super(e),this.network="vimeo",this.node[bl]?this.initPlayer():this.node.addEventListener("load",this.initPlayer.bind(this))}initPlayer(){this.player=new Vimeo.Player(this.node),this.player.ready().then(this.onReady.bind(this)),this.player.on("play",this.onPlay.bind(this)),this.player.on("pause",this.onPause.bind(this)),this.player.on("ended",this.onFinish.bind(this))}play(){this.player&&this.player.play()}pause(){this.player&&this.player.pause()}getPaused(){return this.player?this.player.getPaused():Promise.reject()}
21getFinished(){return this.player?this.player.getFinished():Promise.reject()}setLoop(e){if(!this.player)return Promise.reject();this.player.setLoop(e)}seekTo(e){if(!this.player)return Promise.reject();this.player.setCurrentTime(e)}getCurrentTime(){return this.player?this.player.getCurrentTime():Promise.reject()}getDuration(){return this.player?this.player.getDuration():Promise.reject()}setVolume(e){if(!this.player)return Promise.reject();this.player.setVolume(e/100)}getVolume(){return this.player?this.player.getVolume().then(e=>e*100):Promise.reject()}getVideoUrl(){return this.player?this.player.getVideoUrl():Promise.reject()}},vl=class extends Lo{constructor(e){super(e),this.network="html5",this.node.addEventListener("loadedmetadata",this.onReady.bind(this)),this.node.addEventListener("play",this.onPlay.bind(this)),this.node.addEventListener("pause",this.onPause.bind(this)),this.node.addEventListener("ended",this.onFinish.bind(this))}play(){this.node.play()}pause(){this.node.pause()}getPaused(){return Promise.resolve(this.node.paused)}getFinished(){return Promise.resolve(this.node.ended)}setLoop(e){this.node.loop=!!e}seekTo(e){this.node.currentTime=e}getCurrentTime(){return Promise.resolve(this.node.currentTime)}getDuration(){return Promise.resolve(this.node.duration)}setVolume(e){this.node.volume=e/100}getVolume(){return Promise.resolve(this.node.volume*100)}getVideoUrl(){return Promise.resolve(this.node.src)}},yl=class{constructor(e){this.node=e,this.network="static",this.node_parent=e.parentNode}play(){return console.info("asking to play"),this.node.contentWindow.postMessage(JSON.stringify({name:"Play"}),"*"),Promise.resolve()}pause(){return console.info("asking to pause"),this.node.contentWindow.postMessage(JSON.stringify({name:"Pause"}),"*"),Promise.resolve()}getPaused(){return Promise.resolve()}getFinished(){return Promise.resolve()}setLoop(e){}seekTo(e){}getCurrentTime(){return Promise.resolve()}getDuration(){return Promise.resolve()}setVolume(e){}getVolume(){return Promise.resolve()}getVideoUrl(){return Promise.resolve()}onReady(){L(this.node,"video:ready",{bubbles:!0,cancelable:!1,detail:{player:this}})}onPlay(){L(this.node,"video:play",{bubbles:!0,cancelable:!1,detail:{player:this}})}onPause(){L(this.node,"video:pause",{bubbles:!0,cancelable:!1,detail:{player:this}})}onFinish(){L(this.node,"video:finish",{bubbles:!0,cancelable:!1,detail:{player:this}})}};function _l(i){return Promise.resolve(new Lo(i,"static"))}var $e={};window.onYouTubeIframeAPIReady=function(){$e.youtube.ready=!0;for(let i of $e.youtube.waiters)i.deferred.resolve(new Zr(i.node))};function ob(i){if(!$e.youtube){$e.youtube={ready:!1,waiters:[]};let e=document.createElement("script");e.src="//www.youtube.com/iframe_api",e.async=!0,document.head.appendChild(e)}if($e.youtube.ready)return Promise.resolve(new Zr(i));{let e=Bi();return $e.youtube.waiters||($e.youtube.waiters=[]),$e.youtube.waiters.push({deferred:e,node:i}),e.promise}}function nb(i){if(!$e.vimeo){$e.vimeo={ready:!1,waiters:[]};let e=document.createElement("script");e.src="//player.vimeo.com/api/player.js",e.async=!0,e.addEventListener("load",t=>{$e.vimeo.ready=!0;for(let o of $e.vimeo.waiters)o.deferred.resolve(new es(o.node))}),document.head.appendChild(e)}if($e.vimeo.ready)return Promise.resolve(new es(i));{let e=Bi();return $e.vimeo.waiters||($e.vimeo.waiters=[]),$e.vimeo.waiters.push({deferred:e,node:i}),e.promise}}function rb(i){return Promise.resolve(new yl(i))}function sb(i){return Promise.resolve(new vl(i))}A();var jn=class{constructor(e,t){e&&(this.options={threshold_distance:15,threshold_speed:.3,enablemouseswipe:!0,...t},this.swipeinfo=null,this.node=e,this.options.enablemouseswipe&&(e.addEventListener("mousedown",o=>this.onTouchStart(o)),e.addEventListener("mousemove",o=>this.onTouchMove(o)),e.addEventListener("mouseup",o=>this.onTouchEnd(o))),this.touchEnabled()&&(e.addEventListener("touchstart",o=>this.onTouchStart(o)),e.addEventListener("touchmove",o=>this.onTouchMove(o)),e.addEventListener("touchend",o=>this.onTouchEnd(o))))}touchEnabled(){return"createTouch"in document}onTouchStart(e){this.swipeinfo={starttime:new Date().getTime(),endtime:-1,start:{x:e.pageX,y:e.pageY},end:{x:e.pageX,y:e.pageY},target:e.target,direction:""}}onTouchMove(e){this.swipeinfo&&(this.swipeinfo.end={x:e.pageX,y:e.pageY})}onTouchEnd(e){if(!this.swipeinfo)return;let t=this.swipeinfo.end.x-this.swipeinfo.start.x,o=this.swipeinfo.end.y-this.swipeinfo.start.y;this.swipeinfo.endtime=new Date().getTime();let n=Math.abs(t),r=Math.abs(o);n>this.options.threshold_distance&&n/(this.swipeinfo.endtime-this.swipeinfo.starttime)>this.options.threshold_speed&&(this.swipeinfo.direction+=t>0?"e":"w"),r>this.options.threshold_distance&&r/(this.swipeinfo.endtime-this.swipeinfo.starttime)>this.options.threshold_speed&&(this.swipeinfo.direction+=o>0?"s":"n"),this.swipeinfo.direction!==""&&L(this.node,"wh:swipe",{bubbles:!0,cancelable:!1,detail:this.swipeinfo}),this.swipeinfo=null}};var gt=class{constructor(e,t){this.nodes=[],this.players=[],this.dotNodes=[],this.curSlide=-1,this.options={timeout:5e3,dotNodes:null,pauseNode:null,enableswipe:!0,...t};for(let o of e)o.addEventListener("transitionend",this.onSlide.bind(this)),this.nodes.length?(o.classList.add("slideshow--slidein"),o.style.zIndex=0):(this.containerNode=o.parentNode,this.containerNode.style.zIndex=0,o.style.zIndex=2),this.nodes.push(o),o.style.display="block";if(this.nodes.length){if(this.nodes.length===1){let o=this.nodes[0];o.hasAttribute("data-video")&&this.initializeVideoSlide(o,0,!1);return}this.containerNode&&this.options.enableswipe&&(new jn(this.containerNode),this.containerNode.addEventListener("wh:swipe",(function(o){if
21(o.detail.direction==="w"){let n=this.curSlide+1;this.nextNode(n>=this.nodes.length?0:n,!1)}else if(o.detail.direction==="e"){let n=this.curSlide-1;this.nextNode(n<0?this.nodes.length-1:n,!0)}}).bind(this))),this.options.pauseNode&&(this.options.pauseNode.addEventListener("mouseover",this.pause.bind(this)),this.options.pauseNode.addEventListener("mouseout",this.play.bind(this))),this.options.dotNodes&&Array.from(this.options.dotNodes).forEach((o,n)=>{this.dotNodes.push(o),o.addEventListener("click",r=>{this.nextNode(n),this.resume()})}),this.nextNode()}}nextNode(e,t){clearTimeout(this.nextTimeout),this.paused||(this.nextTimeout=setTimeout(this.nextNode.bind(this),this.options.timeout)),this.slideTimeout&&cancelAnimationFrame(this.slideTimeout),this.slideTimeout=requestAnimationFrame(()=>{if(typeof e<"u"){if(e===this.curSlide)return;this.nextSlide=e,this.prevNode&&this.prevNode.classList.contains("slideshow--slideout")&&(this.prevNode.style.zIndex=0,this.prevNode.classList.remove("slideshow--slideout"),this.prevNode.classList.add("slideshow--slidein"))}this.prevNode=this.curSlide<0?null:this.nodes[this.curSlide],this.containerNode.classList.remove("slideshow--slideleft"),typeof this.nextSlide<"u"&&this.nextSlide!==null?((this.nextSlide<this.curSlide&&typeof t!="boolean"||t)&&this.containerNode.classList.add("slideshow--slideleft"),this.curSlide=this.nextSlide,this.nextSlide=null):++this.curSlide,this.curSlide>=this.nodes.length&&(this.curSlide=0);let o=this.nodes[this.curSlide];o.hasAttribute("data-video")&&o.addEventListener("click",n=>this.initializeVideoSlide(o,this.curSlide,!0)),this.slideTimeout=null,this.prevNode&&(this.prevNode.style.zIndex=1,o.style.zIndex=2,this.prevNode.classList.add("slideshow--slideout"),o.classList.remove("slideshow--slidein")),this.dotNodes.forEach((n,r)=>{r===this.curSlide?n.classList.add("slideshow--activedot"):n.classList.remove("slideshow--activedot")}),L(window,"ws:nextslide",{bubbles:!0,cancelable:!1,detail:{target:this,idx:this.curSlide}})})}initializeVideoSlide(e,t,o){dt.getConsent()&&(Tt(e)?this.players[t]&&(e.classList.remove("widget__photoslide--poster"),this.players[t].play()):St(e).then(n=>{this.players[t]=n,e.classList.remove("widget__photoslide--poster"),e.addEventListener("video:play",r=>this.stop()),e.addEventListener("video:pause",r=>this.toggleDotNodes(!0)),e.addEventListener("video:finish",r=>this.resume()),o&&e.addEventListener("video:ready",r=>n.play())}))}pause(){this.paused=!0,this.nextTimeout&&(clearTimeout(this.nextTimeout),this.nextTimeout=null,this.dotNodes.forEach((e,t)=>{t===this.curSlide&&e.classList.add("slideshow--paused")}))}play(){this.stopped||(this.paused=!1,this.nextTimeout||(this.nextTimeout=setTimeout(this.nextNode.bind(this),this.options.timeout/2)),this.dotNodes.forEach(e=>e.classList.remove("slideshow--paused")))}stop(){this.pause(),this.stopped=!0,this.toggleDotNodes(!1)}resume(){this.stopped=!1,this.toggleDotNodes(!0);for(let e of this.nodes)e.classList.add("widget__photoslide--poster");this.play()}toggleDotNodes(e){this.dotNodes.forEach(t=>t.style.display=e?"":"none")}onSlide(e){e.target===e.currentTarget&&e.target.classList.contains("slideshow--slideout")&&(e.target.style.zIndex=0,e.target.classList.remove("slideshow--slideout"),e.target.classList.add("slideshow--slidein"))}};function Rn(i,e){e||(e={}),e.debug;let t=typeof i,n=i instanceof NodeList||i instanceof HTMLCollection||i instanceof Array?i:[i];for(let r=0;r<n.length;r++){let s=n[r];ab(s,e)}}function ab(i,e){let t,o;if(!i){console.error("No textcontainer specified.");return}let n="node_applystyle"in e?e.node_applystyle:i,r="node_measurewidth"in e?e.node_measurewidth:i,s="node_measureheight"in e?e.node_measureheight:i;e.lineheight&&(n.style.lineHeight=e.lineheight),e.debug&&(e.container?console.log("Using specified container to determine max size of text"):console.log("Using parentnode of text to determine max size of text")),e.maxwidth&&(t=e.maxwidth),e.maxheight&&(o=e.maxheight),"minfontsize"in e||(e.minfontsize=5),"maxfontsize"in e||(e.maxfontsize=100),"fontsizethreshold"in e||(e.fontsizethreshold=(e.maxfontsize-e.minfontsize)/10),e.fontsizethreshold<.1&&(e.fontsizethreshold=.1);let a=i.textContent;a===void 0&&(a=i.innerText),e.debug&&(console.groupCollapsed("$wh.makeTextFit",a.substr(0,64)),console.dir({textcontainer:i,node_applystyle:n,node_measurewidth:r,node_measureheight:s,maxwidth:t,maxheight:o})),a==""&&console.warn("Empty text, no need to resize.");let l=i.getBoundingClientRect(),d,c=l.bottom-l.top;c==0&&(console.warn("No text, specified textcontainer is inline or display is set to none on textcontainer or it's parents."),e.debug&&console.groupEnd());let p,m=e.minfontsize,u=e.maxfontsize,w,f,g,_=0;do{let v=m+(u-m)/2;n.style.fontSize=v.toFixed(2)+"px",d=r.scrollWidth,c=s.offsetHeight,e.debug&&console.log("font-size "+v.toFixed(2)+" results in "+d.toFixed(2)+" x "+c.toFixed(2)),(!t||d<=t)&&(!o||c<=o)?v>m&&(m=v):v<u&&(u=v);let T=u-m;T<e.fontsizethreshold&&T>-e.fontsizethreshold&&(w=m),_++}while(_<100&&!w);_==100&&console.error("Could not determine an optimal fontsize or got stuck in a loop."),e.debug&&console.log("Optimal fontsize "+w+" determined in "+_+" steps."),n.style.fontSize=w.toFixed(2)+"px",e.debug&&console.groupEnd()}var Mu=!1;window.addEventListener("ws:responsivemode",lb);window.addEventListener("resize",Ou);window.addEventListener("load",Ou);function lb(i){let e=["xxsmall","xsmall","small","medium"].indexOf(i.detail.mode)>-1;if(Mu=!e,e){let t=document.querySelector(".cta__title");if(!t)return;t.style.fontSize="",t.style.lineHeight="";return}}function Ou(){let i=document.querySelector(".cta__title");if(!i)return;let e=document.querySelector(".headercta");if(!Mu)return;let t=document.querySelector(".header__content").clientHeight,o=document.querySelector(".header__title"),n;if(o){let r=o.clientHeight;n=t-r-80}else n=t-40;Rn(i,{maxwidth:280,maxheight:n,node_applystyle:i,node_measurewidth:i,node_measureheight:e,minfontsize:20,maxfontsize:40,fontsizethreshold:1,lineheight:"100%"})}q();var xl=class{node;y=0;isSticky=!1;largescreen;ctablock=null;managedcta=null;ctabar=null;ctabtns=[];constructor(e){this.node=e,this.largescreen=window.matchMedia("(min-width: 1280px)"),window.addEventListener("scroll",()=>this.onScroll(),{passive:!0}),window.addEventListener("load",()=>this.onResize()),window.addEventListener("resize",()=>this.onResize()),document.addEventListener("ws:programmedetailsheader-toggle",()=>this.onResize()),document.fonts.ready.then(()=>this.onResize()).catch(t=>console.error(t)),this.onResize(),this.ctabar=F(".header-ctabar"),this.ctablock=F(".header-ctablock"),this.ctablock?(this.ctabtns=k(this.ctablock,".header-cta__button"),this.managedcta=F(this.ctablock,".managedcta"),this.checkCTAVisibility(),new MutationObserver(()=>this.checkCTAVisibility()).observe(this.ctablock,{subtree:!1,attributes:!0,characterData:!1}),this.managedcta&&new MutationObserver(()=>this.checkCTAVisibility()).observe(this.managedcta,{subtree:!1,attributes:!0,characterData:!1})):this.ctabar&&this.ctabar.classList.add("header-ctabar--showprimary")}checkCTAVisibility(){if(this.managedcta&&this.ctablock&&(this.ctablock.hidden=!1,this.ctablock.hidden||=this.managedcta.offsetParent===null),this.ctabar){let e=!1;this.ctablock.hidden||this.ctabtns.forEach(t=>{e||=t.offsetParent!==null,t.closest(".has-expired-countdown")&&t.closest(".header-countdown-inprogress")&&(e=!1)}),this.ctabar.classList.toggle("header-ctabar--showprimary",!e)}}onResize(){this.node.classList.remove("header-ctabar--sticky"),this.isSticky=!1,this.y=this.node.getBoundingClientRect().top+window.scrollY,this.largescreen.matches&&(this.y-=60),this.onScroll()}onScroll(){let e=window.scrollY>this.y;e!==this.isSticky&&(this.isSticky=e,this.node.classList.toggle("header-ctabar--sticky",e))}};b("#dialog-brochurerequestform-template",i=>{let e=F(i.content,".brochurerequestform-container");if(e)k(e,".wh-form").forEach(t=>t.classList.add("largedialog")),k(".header-ctabar__button--brochure").forEach(t=>{t.addEventListener("click",()=>{let o=xe({allowcancel:!0,borrow:e});o.contentnode?.classList.add("ut-dialog--large"),o.runModal()})});else{let t=F(i.content,".widget-wh-form");t&&(t.classList.add("largedialog"),k(".header-ctabar__button--brochure").forEach(o=>{o.addEventListener("click",()=>{let n=xe({allowcancel:!0,borrow:t});n.contentnode?.classList.add("ut-dialog--large"),n.runModal()})}))}});b(".header-ctabar",i=>new xl(i));var kl=!1,Vt=null,is=[],ts,Tl=!1;var o5=Y.site.colorscheme.length*10,Sl=!1,db=!W.unh&&!document.documentElement.classList.contains("ws2016--iframed");async function cb(i){let e=i.getAttribute("data-element");
21if(e=="-none-")return!1;if(e){let t=Y.site.universeelements.filter(o=>o.filename==e);e=t.length?t[0]:null}if(!e){let t=localStorage["ucs-element"]||"",o=Y.site.universeelements.filter(n=>n.filename!=t);o.length&&(e=o[Math.floor(Math.random()*o.length)])}if(e){localStorage["ucs-element"]=e.filename,Tl=await new Promise(o=>{let n=document.createElement("svg"),r=document.createElement("path");Bt(n,"colorscheme-fill"),n.appendChild(r),document.body.appendChild(n),setTimeout(()=>{requestAnimationFrame(()=>{let s=getComputedStyle(r).fill;document.body.removeChild(n),o(s=="black"||s=="rgb(0, 0, 0)")})},1)});let t=await Nn(Y.imgroot+"elements/"+e.filename,{responseType:"xml"});if(t){for(let o of Array.from(t.getElementsByTagName("style")))o.parentNode.removeChild(o);return e.svg=t.documentElement,e}else return!1}return!1}function pb(){Sl=!0,W.unc||is.forEach(i=>{i.colorPathNode.style.animationPlayState="paused"})}function hb(){Sl=!1,W.unc||is.forEach(i=>{i.colorPathNode.style.animationPlayState=""})}window.pauseHeaderAnimation=pb;window.unPauseHeaderAnimation=hb;function Pu(i,e){W.unr||i&&i.currentTarget!=i.target||(i&&(e=i.target),e.classList.toggle("header__universe-container--rotate"))}function Iu(){ts||(ts=document.body.querySelector(".docstate")),!Sl&&ts&&is.forEach(i=>{i.colorPathNode.style.fill=getComputedStyle(ts).backgroundColor})}db&&b(".header__universe, .widgetsblock",function(){kl||(kl=!0)});b(".header__universe-container",async function(i){if(!kl)return;let e=Vt===null;if(e&&(Vt=await cb(i)),Vt){let t=document.importNode(Vt.svg,!0);i.insertBefore(t,i.firstChild);let o=t.querySelector(".header__universe-color");is.push({containerNode:i,svgNode:t,colorPathNode:o}),Vt.reverse?i.classList.add("header__universe-container--counterclockwise"):i.classList.add("header__universe-container--clockwise"),i.addEventListener("transitionend",Pu),Vt.width&&(t.style.width=`${Vt.width}px`),Vt.top&&(t.style.marginTop=`${Vt.top}px`),t._wsTmpTransform=getComputedStyle(t).transform,t.style.marginLeft=`${Math.round(-t.clientWidth/2)+(Vt.left||0)}px`,!Tl&&Y.site.animatethemecolor&&Bt(o,"colorscheme-fill"),Pu(null,i)}e&&Vt&&Tl&&Y.site.animatethemecolor&&(console.warn("Fallback for svg path animation active"),setInterval(Iu,500),Iu())});b(".header",i=>{new gt(i.querySelectorAll(".header__slide"),{dotNodes:i.querySelectorAll(".header__sliderdot"),pauseNode:i}),window.addEventListener("scroll",()=>{window.pageYOffset>0?document.documentElement.classList.add("html__scrolled"):document.documentElement.classList.remove("html__scrolled")})});q();A();var Zi=class{constructor(e,t){this.options={translateAnchor:null,...t};for(let o of e){let n=o.getAttribute("href");if(n.indexOf("#")>=0&&(this.options.translateAnchor&&(n=this.options.translateAnchor(n)),n)){let r=document.getElementById(n.substr(n.indexOf("#")+1));r&&(o.addEventListener("click",s=>{s.preventDefault(),r.scrollIntoView({block:"start",behavior:"smooth"})}),r.setAttribute("data-scrollevent","0"))}}}};A();var El=class{constructor(){this.scrollactions=[],this.elements=[],this.scrollfn=this.onScroll.bind(this),this.resizefn=this.onResize.bind(this),window.addEventListener("scroll",this.scrollfn),window.addEventListener("resize",this.resizefn),this.isinit=!0,this.onResize(),J(()=>{this.addNodes(document.querySelectorAll("[data-scrollevent]"))})}addNodes(e){if(e.length)for(let t=0;t<e.length;++t){let o=e[t].getAttribute("data-scrollevent");o=o?parseInt(o):0;let n={state:"",node:e[t],treshhold:o,boundingrect:null,actions:[],data:null,measure:""},r=e[t].getAttribute("data-scrollvisibleclass");r&&e[t].addEventListener("wh:visibilitychange",()=>e[t].classList.add(r));let s=e[t].getAttribute("data-scrolleventmeasure");s!=""&&(n.measure=s);let a=e[t].getAttribute("data-scrollparallax");if(typeof a=="string"){let d=e[t].hasAttribute("data-scrollparallaxfree"),c=e[t].firstElementChild;if(c){let p=Number(a);n.data={innernode:c,parallax:p||.2,limitparallax:!d},n.actions.push("parallax"),this.scrollactions.push(n)}}let l=e[t].getAttribute("data-scrollzoom");if(typeof l=="string"){let d=e[t].firstElementChild;d&&(n.data={innernode:d,zoom:l!==0?Math.abs(l):1},n.actions.push("zoom"),this.scrollactions.push(n))}this.elements=this.elements.filter(d=>d.node!=e[t]),this.elements.push(n)}}onScrollActions(){for(let e=0;e<this.scrollactions.length;e++){let t=this.scrollactions[e];if(t.state=="visible"){if(t.actions.indexOf("parallax")!=-1){let o=t.data.innernode.clientHeight;if(t.data.limitparallax&&!o)continue;let n=t.node.clientHeight,r=o-n,s=2*(t.boundingrect.bottom/(this.viewport_height+n)-.5),a=r*-.5,l=t.data.parallax;t.data.limitparallax&&Math.abs(l)>r&&(l=l<0?-r:r),t.data.innernode.style.transform||(t.data.innernode.style.top="auto",t.data.innernode.style.bottom="auto"),t.data.innernode.style.transform="translate(0,"+(a+s*l)+"px)"}
21if(t.actions.indexOf("zoom")!=-1)if(t.boundingrect.top<=0){let o=t.node.clientHeight,n=-t.boundingrect.top/o,r=1+n*t.data.zoom;t.data.innernode.style.transform="scale("+r+","+r+")",t.data.innernode.style.opacity=1-n}else t.data.innernode.style.transform="scale(1,1)",t.data.innernode.style.opacity=1}}}onScroll(e){let t=window.scrollY;this.isscrollup=this.lastscroll?this.lastscroll>t:!1,this.lastscroll=t,this.checkElementsVisibility(),this.onScrollActions()}checkElementsVisibility(){for(let e=this.elements.length-1;e>=0;--e){let t=!1,o=this.isinit?0:this.elements[e].treshhold,n;if(this.elements[e].measure=="content"){let r=this.elements[e].node.firstElementChild;for(;r&&(n=r.getBoundingClientRect(),!(n.height>0&&(t=n.top>=o&&this.viewport_height-n.top>=o||n.bottom>o&&this.viewport_height-n.bottom>o,t)));)r=r.nextElementSibling}else{if(n=this.elements[e].node.getBoundingClientRect(),n.height==0)continue;this.elements[e].boundingrect=n,t=n.top>=o&&this.viewport_height-n.top>=o||n.bottom>o&&this.viewport_height-n.bottom>o}t?this.elements[e].state!="visible"&&(this.elements[e].state="visible",L(this.elements[e].node,"wh:visibilitychange",{bubbles:!0,cancelable:!1,detail:{scrolldirection:this.isinit?"":this.isscrollup?"up":"down",target:this.elements[e],visible:!0,nodebounds:n}})):this.elements[e].state=="visible"&&(this.elements[e].state="hide",L(this.elements[e].node,"wh:visibilitychange",{bubbles:!0,cancelable:!1,detail:{scrolldirection:this.isinit?"":this.isscrollup?"up":"down",target:this.elements[e],visible:!1,nodebounds:n}}))}this.isinit=!1}onResize(e){let t=window.innerHeight;this.viewport_height&&this.viewport_height==t||(this.viewport_height=t,this.onScroll())}},ub=new El,os=ub;q();function mb(){window.addEventListener("resize",Ll),Ll()}function Ll(){if(window.innerWidth<=640)return;let i=document.querySelectorAll(".embeddedobject.imageblock > img[data-wide]"),e=i.length;for(let t of i){let o=t.getAttribute("data-wide");o&&(t.src=o),t.removeAttribute("data-wide"),e--}e<=0&&window.removeEventListener("resize",Ll)}var Cl=0,gb=3;function Fl(i,e="foldablecontent"){i.classList.add(e+"--open");let t=i.querySelector("."+e+"__foldcontainer");t.style.height="auto",t.style.overflow="inherit"}function ns(i="foldablecontent"){for(let e of document.querySelectorAll("."+i+":not(."+i+"--active)")){e.classList.add(i+"--active");let t=e.querySelector("."+i+"__title"),o=e.querySelector("."+i+"__foldcontainer"),n=e.querySelector("."+i+"__text");if(!o){console.warn("No expandable content for",e);continue}let r=a=>{a.detail.open?Fl(e,i):(e.classList.remove(i+"--open"),o.style.height="")},s=a=>{a.type=="touchend"&&a.preventDefault(),!(Cl>=gb)&&(e.classList.contains(i+"--disabled")||(e.classList.toggle(i+"--open")?(o.style.height=0,o.classList.add(i+"__foldcontainer--active"),o.style.height=n.getBoundingClientRect().height+"px"):(o.style.overflow="",o.style.height=n.getBoundingClientRect().height+"px",o._wsTmpHeight=getComputedStyle(o).height,o.classList.add(i+"__foldcontainer--active"),o.style.height="0"),L(e,"ws:foldable-status",{bubbles:!0,cancelable:!1,detail:{open:e.classList.contains(i+"--open")}})))};t.addEventListener("click",s),e.addEventListener("ws:foldable-toggle",s),e.addEventListener("ws:foldable-set",r),t.addEventListener("touchstart",()=>Cl=0,{passive:!0}),t.addEventListener("touchmove",()=>++Cl,{passive:!0}),t.addEventListener("touchend",s),o.addEventListener("transitionend",a=>{a.currentTarget==a.target&&(o.classList.remove(i+"__foldcontainer--active"),e.classList.contains(i+"--open")?(o.style.height="auto",o.style.overflow="inherit"):o.style.height="")})}}function fb(i){if(i&&!i.target.closest(".togglespecializations"))return;i&&i.preventDefault();let e=i.target.closest(".studyfinder__programme");if(!e)return;let t=e.querySelector(".programme_specializations");t&&(t.classList.contains("show")?(t.style.height=t.clientHeight+"px",t.clientWidth,t.classList.remove("show"),t.style.height="0px"):(t.style.height=t.children[0].clientHeight+"px",t.clientWidth,t.classList.add("show"),setTimeout(function(){t.classList.contains("show")&&(t.style.height="auto")},300)))}function _b(i){console.info("Initializing StudyFinder widget",i);let e=i.querySelector(".sfwidget__showall");e&&e.addEventListener("click",t=>wb(t)),i.addEventListener("click",fb)}function wb(i){console.log(K),i.target.closest(".embeddedobject").classList.add("sfwidget--expand")}b(".embeddedobject__studyfinder",i=>_b(i));b(".embeddedobject",i=>{let e=i.previousElementSibling;if(e&&(e.nodeName=="P"||e.nodeName=="H2"||e.nodeName=="H3"||e.nodeName=="H4")&&(e.innerHTML==""||e.innerHTML=="<br>")){let t=e.previousElementSibling;t&&t.classList.contains("embeddedobject")&&i.parentElement.removeChild(e)}});J(function(){mb()});function Et(i,e){return e={element:document.documentElement,timeout:1e4,...e},new Promise((t,o)=>{let n={timeout:-1,property:i,element:e.element,resolve:t};e.timeout>0&&(n.timeout=setTimeout(()=>{n.timeout=0,o(new Error(`Timeout after ${e.timeouts}ms reading CSS variable '${i}'`))},e.timeout)),Du(n)})}function Du(i){if(i.timeout===0)return;let e=getComputedStyle(i.element).getPropertyValue(i.property);if(e){clearTimeout(i.timeout),i.resolve(e);return}requestAnimationFrame(()=>Du(i))}function rs(i,e,t){t={element:document.documentElement,...t},t.element.style.setProperty(i,e)}var Al=[],qu=!1;function Hu(i,e){if(!qu||i){let o=document;e&&e.basenode&&typeof e.basenode=="object"&&(o=e.basenode),Al=[];let n=o.querySelectorAll("[data-ellipsislines]");for(let r of n){if(r.clientHeight==0)continue;let s=r.firstElementChild;!s||s.clientHeight==0||Al.push({text:s.textContent,dimensions:"",node:r,innernode:s})}qu=!0}for(let o of Al){let n=o.node.clientWidth+"x"+o.node.clientHeight;if(n==o.dimensions)continue;o.dimensions=n,o.innernode.textContent=o.text;let r=o.innernode.clientHeight,s=o.node.clientHeight;if(s>=r)continue;let a=!1,l=o.text.length,d=l;for(;!a;){if(l=Math.round(l/2),o.innernode.textContent=o.text.substr(0,l)+"...",r=o.innernode.clientHeight,a=s>=r,s>=r){for(let c=l+1;c<d;++c)if(o.innernode.textContent=o.text.substr(0,c)+"...",r=o.innernode.clientHeight,s<r){o.innernode.textContent=o.text.substr(0,c-1)+"...";break}}d=l}}}var Nl=[],Uu=!1;function ss(i){if(!Uu||i){Nl=[];for(let e of document.querySelectorAll("[data-fontfit-height],[data-fontfit-width]")){let t=e.getAttribute("data-fontfit-height"),o=t?1*t.replace(/[^0-9.]/g,""):0;o<=0&&(o=100,t="100%");let n=e.getAttribute("data-fontfit-width"),r=n?1*n.replace(/[^0-9.]/g,""):0;r<=0&&(r=100,n="100%");let s=null,a=e.getAttribute("data-fontfit-wrapper");a&&(s=e.closest(a)),s||(s=e.parentNode),Nl.push({node:e,dimensions:"",wrappernode:s,maxheight:o,maxwidth:r,width_isperc:n.indexOf("%")!=-1,height_isperc:t.indexOf("%")!=-1,debug:e.getAttribute("data-fontfit-debug")=="true"})}Uu=!0}for(let e of Nl){e.debug&&console.groupCollapsed("fitFonts",e);let t=e.wrappernode.getBoundingClientRect(),o=t.height,n=t.width,r=n+"x"+o;if(r==e.dimensions){e.debug&&(console.warn("No need to fit",{wrapper:r,item:e.dimensions}),console.groupEnd());continue}e.dimensions=r,e.node.style.fontSize=null,e.node.style.lineHeight=null;let s=window.getComputedStyle(e.node,null).getPropertyValue("font-size"),a=s.replace(/[0-9.]/g,""),l=1*s.replace(/[^0-9.]/g,"");if(l<=0){e.debug&&(console.warn("Unable to get fontsize",{fontsize:s,fontunit:a,fontnum:l}),console.groupEnd());continue}let d=window.getComputedStyle(e.node,null).getPropertyValue("line-height"),c=d.replace(/[0-9.]/g,""),p=1*d.replace(/[^0-9.]/g,""),m=e.node.innerHTML;e.node.innerHTML='<span class="wh-measure" style="display:inline;">'+m+"</span>";
21let u=e.node.querySelector(".wh-measure"),w=e.height_isperc?e.maxheight*o*.01:e.maxheight;w>o&&(w=o);let f=e.width_isperc?e.maxwidth*n*.01:e.maxwidth;f>f&&(f=n);let g=u.getBoundingClientRect();if(g.height==0||g.height<=w&&g.width<=f){e.node.removeChild(u),e.node.innerHTML=m,e.debug&&(console.warn("Contents fits or isn't visible",{measurement:g,maxheight:w,maxwidth:f}),console.groupEnd());continue}let _=!1;for(;!_;)e.node.style.fontSize=l+a,e.node.style.lineHeight=p+c,g=u.getBoundingClientRect(),_=w>=g.height&&f>=g.width||l<3,--l,--p;e.node.removeChild(u),e.node.innerHTML=m,e.debug&&(console.log("done!",{fontunit:a,fontnum:l,lineunit:c,linenum:p}),console.groupEnd())}}de();function Wu(){document.documentElement.classList.contains("ut--factsfigures")&&bb(document)}function bb(i){let e=i.querySelectorAll(".contentpart__main, .widgetsblock");if(e.length===0)return;let t=[];for(let n of e)if(n.classList.contains("contentpart__main")){let r=Array.from(n.children);t=[...t,...r]}else n.classList.contains("widgetsblock")&&t.push(n);if(t.length===0)return;let o=[];for(let n=0;n<t.length;n++){let r=[],s=t[n];if(s.classList.contains("widgetsblock"))r.push("widgetsblock");else if(s.classList.contains("embeddedobject"))for(let a of s.classList)a.substring(0,16)==="embeddedobject--"&&r.push(a);r===""&&(s.classList.add("smartlayout--rtdtext"),r.push("elem-"+s.tagName.toLowerCase())),o.push(r)}for(let n=0;n<t.length;n++){let r=t[n];if(n>0&&o[n-1]!==""?r.setAttribute("data-contentabove",o[n-1].join(" ")):r.removeAttribute("data-contentabove"),n<t.length-1&&o[n+1]!=="")r.setAttribute("data-contentbelow",o[n+1].join(" "));else if(r.removeAttribute("data-contentbelow"),n>0){let s=document.querySelector(".footer");s&&s.setAttribute("data-contentabove",o[n-1].join(" "))}}}var jl=null,vb=300,Rl=location.hash;function Vu(i){i.classList.add("foldabledeeplink--open");let e=i.querySelector(".foldabledeeplink__foldcontainer");e&&(e.style.height="auto",e.style.overflow="inherit")}function Bu(i){if(i!==jl)if(jl=i,jl==="small"){let e=document.location.hash.replace("#","");for(let t of document.querySelectorAll(".foldabledeeplink")){if(e){let o=t.querySelector("[id]");o&&o.id===e&&Vu(t)}t.classList.remove("foldabledeeplink--disabled")}}else for(let e of document.querySelectorAll(".foldabledeeplink"))e.classList.add("foldabledeeplink--disabled")}function Ml(){let i="",e,t=k(".main__deeplink");for(let n of t){let r=n.getAttribute("href")||"";if(!r.startsWith("#"))continue;let s=document.getElementById(r.substr(1));s&&((s.classList.contains("wh-rtd__anchor")||s.classList.contains("wh-anchor"))&&(s=s.closest("h2")||s),s.getBoundingClientRect().y<=window.innerHeight/3&&(e=n,i=r))}if(e&&e.classList.contains("isvisible"))return;let o=F(".main__deeplink.isvisible");if(!(!e&&!o))if(o&&o.classList.remove("isvisible"),e){e.classList.add("isvisible");let n=!0;for(let r of t)r===e&&(n=!1),n?r.classList.add("isbefore"):r.classList.remove("isbefore");history.replaceState&&setTimeout(function(){history.replaceState(null,"",document.location.href.split("#")[0]+i)},10)}else history.replaceState&&setTimeout(function(){history.replaceState(null,"",document.location.href.split("#")[0])},10)}function yb(){for(let i of document.querySelectorAll(".contentpart__main, .wh-form__richtext, .ut-wrapfloats, .ut-rtd-blocks__body")){if(!i.querySelector(":scope > p > img.wh-rtd__img--floatleft, :scope > p > img.wh-rtd__img--floatright"))continue;let e=[],t=i.firstElementChild;for(;t;){let o=t.nextElementSibling;if(t.nodeName==="P"&&(e.length||t.querySelector(":scope > img.wh-rtd__img--floatleft, :scope > img.wh-rtd__img--floatright")))e.push(t);else{if(e.length>1){let n=h("section",{class:"ut-floatwrapper"});n.append(...e),t.before(n)}e=[]}t=o}if(e.length>1){let o=h("section",{class:"ut-floatwrapper"});o.append(...e),i.append(o)}}}function xb(){k("details:not(.ut-no-refold) > summary").forEach(i=>{let e=i.parentElement;e.removeChild(i),e.replaceWith(h("div",{class:"foldablecontent"},h("div",{class:"foldablecontent__title"},Array.from(i.childNodes)),h("div",{class:"foldablecontent__foldcontainer"},h("div",{class:"foldablecontent__text"},Array.from(e.childNodes)))))})}function Yu(){yb(),Wu(),xb(),Tb(),!document.documentElement.dataset.nodeeplinks&&(document.documentElement.classList.contains("ws2016--iframed")&&(window.innerWidth>=483&&window.innerWidth<=490||window.innerWidth>=530&&window.innerWidth<=540)||kb())}function kb(){for(let r of k(".wh-rtd__tablewrap"))r.classList.add("ut--dontfoldcontent");let i=[];
21for(let r of k("h2:not([data-ut-ignore-deeplink]):not(.wh-form__grouptitle)")){if(r.closest(".wh-details__container"))continue;let s=r.closest(".wh-form__page");if(s&&s.previousElementSibling&&s.previousElementSibling.classList.contains("wh-form__page")||r.closest(".wh-rtd__tablecell"))continue;let a;r.id&&(a=r);let l=r.querySelector("a[id]");if(l&&(a=l),!!a){if(document.querySelectorAll(`*[id='${a.id}']`).length>1){let d=1,c=a.id+"-"+d;for(;document.getElementById(c);)c=a.id+"-"+ ++d;a.id=c}i.push(h("li",{class:"main__deeplinkitem"},h("a",{class:"main__deeplink",title:r.textContent,propTarget:r,href:"#"+a.id},r.textContent)))}}if(i.length<=1)return;let e=h("nav",{class:"main__deeplinks","aria-label":y("utwente_base:frontend.ws2016.js.landmark-deeplinks-arialabel")},h("ul",{class:"main__deeplinklist"},i)),t;F("main")?.prepend(h("div",{class:"contentpart__deeplinks"},e)),Et("--breakpoint-deeplinks").then(r=>{t=matchMedia(`(max-width: ${r})`),Bu(t.matches?"small":"wide"),t.addEventListener("change",s=>Bu(s.matches?"small":"wide"))});let o=k(e,".main__deeplink");new Zi(o,{duration:vb}),os.addNodes(o),Ml(),window.addEventListener("scroll",Ml),window.addEventListener("ws:resize",Ml);let n=[];o.forEach(r=>{let s=r.getAttribute("href")||"";if(!s.startsWith("#"))return;let a=document.getElementById(s.substr(1));a&&((a.classList.contains("wh-rtd__anchor")||a.classList.contains("wh-anchor"))&&(a=a.closest("h2")||a),n.unshift(a))}),Ol(o),window.addEventListener("load",()=>Ol(o)),window.addEventListener("ws:resize",()=>Ol(o))}function Tb(){let i;Rl&&Rl.length>1&&(i=document.getElementById(Rl.substr(1)),i&&as(i)),window.addEventListener("hashchange",()=>{if(location.hash.length<=1)return;let e=document.getElementById(location.hash.substr(1));e&&as(e)})}function as(i){let e=i,t=[];for(i?.matches(".foldablecontent, .foldabledeeplink")&&t.unshift(i);e=e?.parentElement?.closest(".foldablecontent, .foldabledeeplink")||null,!!e;)t.unshift(e);t.forEach(o=>{o.classList.contains("foldabledeeplink")?Vu(o):o.classList.contains("foldablecontent")?Fl(o):console.log("don't know how to open ",o)})}function Ol(i){i.forEach(e=>{let t=e.title,o=t.length;e.textContent=t;let n=e.parentElement?.clientHeight||0,r=e.clientHeight;for(;r>n&&o>0;)t=t.substring(0,o-1),e.textContent=t,r=e.clientHeight,--o;let s=e.parentElement?.clientWidth||0;for(;e.clientWidth>s;)t=t.substring(0,o-1),e.textContent=t,r=e.clientHeight,--o;e.title!==t&&(e.textContent=t.substring(0,o-4)+"...")})}J(Yu);A();function Mn(i,e,t){let o=i.querySelector("."+t+"--showall");o&&o.addEventListener("click",n=>{if(o.parentNode){let s=getComputedStyle(o);i.setAttribute("data-height",parseInt(i.getAttribute("data-height"))-parseInt(s.height)-parseInt(s.marginTop)),o.parentNode.removeChild(o),i._wsTmpHeight=getComputedStyle(i).height}let r=i.querySelector("."+e);r.classList.contains(e+"--init")&&(r.setAttribute("data-height",r.clientHeight+"px"),r.classList.remove(e+"--init"),r._wsTmpHeight=getComputedStyle(r).height),requestAnimationFrame(()=>{o.classList.contains(t+"--open")?(o.classList.remove(t+"--open"),r.classList.remove(e+"--open"),r.style.height="",i.setAttribute("data-height",parseInt(i.getAttribute("data-height"))-parseInt(r.getAttribute("data-height"))+"px"),i.style.height=i.getAttribute("data-height")):(o.classList.add(t+"--open"),r.classList.add(e+"--open"),r.style.height=r.getAttribute("data-height"),i.setAttribute("data-height",parseInt(i.getAttribute("data-height"))+parseInt(r.getAttribute("data-height"))+"px"),i.style.height=i.getAttribute("data-height"))})})}var ls;function Eb(i){if(i.detail.level<=3){if(ls!="wide"){for(let e of document.querySelectorAll(".footer__linksection")){let t=e.querySelector(".footer__sectiontitle");t&&t.classList.remove("footer__sectiontitle--open");let o=e.querySelector(".footer__sectionlinks");o&&(o.classList.remove("footer__sectionlinks--open"),o.style.height="")}ls="wide"}}else if(ls!="small"){for(let e of document.querySelectorAll(".footer__sectionlinks"))e.style.height="";ls="small"}}b(".footer__linksection",i=>{let e=i.querySelector(".footer__sectiontitle");if(e&&e.addEventListener("click",t=>{let o=t.target.closest(".footer__sectiontitle");if(getComputedStyle(o).display!="block")return;let n=i.querySelector(".footer__sectionlinks");n.classList.contains("footer__sectionlinks--init")&&(n.setAttribute("data-height",n.clientHeight+"px"),n.classList.remove("footer__sectionlinks--init"),n._wsTmpHeight=getComputedStyle(n).height),requestAnimationFrame(()=>{o.classList.contains("footer__sectiontitle--open")?(o.classList.remove("footer__sectiontitle--open"),n.classList.remove("footer__sectionlinks--open"),n.style.height=""):(o.classList.add("footer__sectiontitle--open"),n.classList.add("footer__sectionlinks--open"),n.style.height=n.getAttribute("data-height"))})}),i.classList.contains("footer__linksection--logos")){let t=i.querySelector(".footer__logos");new gt(t.querySelectorAll(".footer__logoslide"),{dotNodes:t.querySelectorAll(".footer__logosliderdot"),pauseNode:t})}});b(".footer__sectionlinks",i=>Mn(i,"footer__sectionlinksall","footer__sectionlink"));window.addEventListener("ws:responsivemode",Eb);A();A();function Cb(i,e){e.split(`
22`).forEach(function(t,o){o==0?i.textContent=t:(i.appendChild(z("br")),i.appendChild(document.createTextNode(t)))})}function $u(i,e){for(i=i.firstChild;i;i=i.nextSibling){let t=i.cloneNode(!1);$u(i,t),e.appendChild(t)}}
22function Lb(){let i=this.ownerDocument.createDocumentFragment();return $u(this,i),i}function Fb(i,e){let t=i[e.getAttribute("data-template-iterate")];e.removeAttribute("data-template-iterate");let o=[];Array.from(t).forEach(function(n){let r=e.cloneNode(!0);for(On(n,r);r.firstChild;)o.push(r.firstChild),r.removeChild(r.firstChild)}),e.replaceChildren(),o.forEach(n=>e.appendChild(n))}function Ab(i,e,t){let o=i[e.getAttribute("data-template-repeat")];e.removeAttribute("data-template-repeat"),Array.from(o).forEach(function(n){let r=e.cloneNode(!0);On(n,r),e.parentNode.insertBefore(r,e)}),e.parentNode.removeChild(e)}function Xu(i,e){if(i==="this")return e;if(typeof i=="string")return e[i];let t={};return Object.keys(i).forEach(o=>{let n=Xu(i[o],e);n!=null&&(t[o]=n)}),t}function Pl(i,e,t){if(!("rangestart"in i))W.tpl&&console.log("[tpl] Instantiating node",t||i,"with",e),On(e,i);else{let o;W.tpl&&(t?console.log("[tpl] Instantiating node",t,"with",e):i.rangelimit?console.log("[tpl] Instantiating range [",i.rangestart,"-",i.rangelimit,"[ with",e):console.log("[tpl] Instantiating range [",i.rangestart,"...] with",e));for(let n=i.rangestart;n&&n!=i.rangelimit;n=o)o=n.nextSibling,On(e,n)}}function On(i,e){if(e.hasAttribute){if(e.hasAttribute("data-template-repeat")){Ab(i,e);return}if(e.hasAttribute("data-template-set")){let o=bt(e,"data-template-set"),n=Xu(o,i);n.textContentBR&&(Cb(e,n.textContentBR+""),delete n.textContentBR),["style","dataset"].forEach(r=>{n[r]&&(Object.assign(e[r],n[r]),delete n[r])}),Object.assign(e,n),e.removeAttribute("data-template-set")}if(e.hasAttribute("data-template-if"))if(e.getAttribute("data-template-if").split(" ").some(function(n){return n&&(n[0]!="!"&&!i[n]||n[0]=="!"&&i[n.substr(1)])})){e.parentNode.removeChild(e);return}else e.removeAttribute("data-template-if");if(e.hasAttribute("data-template-store"))throw new Error("data-template-store is no longer supported");e.hasAttribute("data-template-iterate")&&Fb(i,e)}let t=e.firstChild;for(;t;){let o=t.nextSibling;On(i,t),t=o}if(e.hasAttribute&&e.parentNode&&e.hasAttribute("data-template-flatten")){for(;e.firstChild;)e.parentNode.insertBefore(e.firstChild,e);e.parentNode.removeChild(e)}}function Nb(i,e){let t=e.content;return t||(t=Lb.apply(e)),i.importNode(t,!0)}function jb(i,e){let t=i.ownerDocument.importNode(i.content,!0);return Pl({rangestart:t.firstChild},e,i),t}function Gu(i,e,t){if(e instanceof Array){e.forEach(a=>Gu(i,a,t));return}let o=i.content.cloneNode(!0),n=null,r;if(t&&t.injectinto)s=t.injectinto.lastChild,t.injectinto.appendChild(o),n=t.injectinto,r={rangestart:s?s.nextSibling:t.injectinto.firstChild,rangelimit:s};else{var s=i.previousSibling;i.parentNode.insertBefore(o,i),n=i.parentNode,r={rangestart:s?s.nextSibling:i.parentNode.firstChild,rangelimit:i}}Pl(r,e),L(n,"wh:template-expandedchild",{bubbles:!1,cancelable:!0})}var Rb={importTemplate:Nb,expandTemplate:Gu,expandTemplateContent:Pl,instantiate:jb},Il=Rb;var Ao,zl;ResizeObserver?Ao=new ResizeObserver(i=>Mb(i)):window.addEventListener("resize",()=>zl=zl||requestAnimationFrame(i=>Ob(i)));var No=new Map;function Mb(i){for(let e of i){let t=No.get(e.target);t&&t(e)}}function Ob(){for(let[i,e]of No.entries()){let t=i.getBoundingClientRect();(t.height!=e.rect.height||t.width!=e.rect.width)&&(e.rect=t,e.callback({target:i,boundingClientRect:t}))}zl=null}function Pn(i,e){Ao&&Ao.observe(i),Ao?No.set(i,e):No.set(i,{callback:e,rect:i.getBoundingClientRect()})}function Ju(i){No.has(i)&&(No.delete(i),Ao&&Ao.unobserve(i))}var Um=st(wo());var Dm=st(Ul());A();var mm=st(hm());A();var zn=class{constructor(e,t){let o=bt(e,"data-masonry-options");this.options={columns:3,columnwidth:0,gutter_x:10,gutter_y:10,debug:!1,items:null,ignoreclass:"hide",righttoleft:!1},o&&this.setOptions(o),t&&this.setOptions(t),typeof e=="string"?this.container=document.getElementById(e):this.container=e,this.__height=0,this.__columnwidth=0,this.__itemdata=[],this.__visiblewidgetscount=0,this.__singlerow=!0,this.__columncontainers=[],this.__items_dirty=!0,this.__leftoffset=0,this.__containerwidth=0,this.__widgetrecs=[],this.ignore_resize_events=!1,this.refresh()}setOptions(e){"gutter"in e&&(e.gutter_x=e.gutter,e.gutter_y=e.gutter,delete e.gutter),"items"in e&&(this.__items_dirty=!0),Object.assign(this.options,e)}refresh(e){this.options.debug&&(console.log("$wh.Masonry.refresh()"),console.trace());let t=this.container.clientWidth;if(t==0){console.warn("Cannot determine size of mansonry container (got 0).",this.container);return}this.ignore_resize_events=!0;let o=window.getComputedStyle(this.container),n=parseInt(o.paddingTop,10),r=parseInt(o.paddingBottom,10),s=parseInt(o.paddingLeft,10),a=parseInt(o.paddingRight,10);this.__padding={top:n,bottom:r,left:s,right:a},this.__leftoffset=s,this.__containerwidth=t-s-a;let l;this.options.items?typeof this.options.items=="string"?l=this.container.querySelectorAll(this.options.items):l=this.options.items:l=this.container.querySelectorAll(".wh-masonry-item"),this.pvt_relayout(l,e),this.ignore_resize_events=!1}refreshHeights(){this.pvt_relayout(null,!0)}getLastRenderInfo(){return{container:this.container,visiblewidgetscount:this.__visiblewidgetscount,width:this.__containerwidth,height:this.__height,items:this.__itemdata,singlerow:this.__singlerow}}onLayoutChange(e){e!=this.container&&this.refreshHeights()}pvt_relayout(e,t){this.options.debug&&console.group("$wh.Masonry.refresh()",t?"FORCE":"");let o=0,n=this.options.columnwidth;n||(n=(this.__containerwidth-(this.options.columns-1)*this.options.gutter_x)/this.options.columns);let r=this.options.columns,s=!0,a=[];for(var l=0;l<r;l++)a.push(0);let d,c=this.__items_dirty||this.__columnwidth!=n;if(c){d=[];for(var p=0;p<e.length;p++){var m=e[p];let f=m.getAttribute("data-cols");f=f?parseInt(f):1,f>this.options.columns&&(f=this.options.columns);let g=n*f+(f-1)*this.options.gutter_x;m.style.position="absolute",m.style.width=g+"px",m.style.height="",d.push({node:m,width:g,height:null,cols:f})}}else d=this.__itemdata;if(c||t){this.options.debug&&console.log("Firing ws:relayoutwidgetcontent event");for(var p=0;p<e.length;p++){var m=e[p];L(m,"ws:relayoutwidgetcontent",{bubbles:!0,cancelable:!1,detail:{force:t}})}this.options.debug&&console.log("Continue dompack-masonry layouting.")}for(var p=0;p<d.length;p++)d[p].height=d[p].node.clientHeight;for(var p=0;p<d.length;p++){let g=d[p];var m=g.node;let v=g.height;if(this.options.debug&&console.log("#"+p,v+"px",m.className),v==0||this.options.ignoreclass!=""&&m.classList.contains(this.options.ignoreclass))continue;o++;let T=-1,S=0;this.options.debug&&console.info(a);for(var l=0;l<=r-g.cols;++l){var u=this.options.righttoleft?r-g.cols-l:l;
22let $=Math.max.apply(null,a.slice(u,u+g.cols));(T==-1||$<S)&&(T=u,S=$)}a[T]>0&&(S>0&&(s=!1),S+=this.options.gutter_y);for(var u=0;u<g.cols;++u){let $=S+v;a[T+u]=$}g.col=T,g.left=this.__leftoffset+(T*n+T*this.options.gutter_x),g.top=S;let N={position:"absolute",left:g.left,top:g.top+this.__padding.top};this.options.debug&&console.log("Will be placed into col",T),m.style.position=N.position,m.style.left=N.left+"px",m.style.top=N.top+"px"}let w=Math.max.apply(null,a)+this.__padding.top+this.__padding.bottom;this.options.columnwidth&&(this.container.style.width=this.options.columnwidth*this.options.columns+(this.options.columns-1)*this.options.gutter_x+"px"),this.container.style.height=w+"px",this.options.debug&&(console.log(this.container,"has",o,"visible widgets"),console.groupEnd()),this.__itemdata=d,this.__columnwidth=n,this.__height=w,this.__visiblewidgetscount=o,this.__singlerow=s}};var qn=[];window.widgetContainers=qn;var um,Hl;function Db(i){qn.push(i),i.classList.contains("widgetsblock__contents--equalheight")||i.classList.contains("widgetsblock__contents--singlewidget")?i._whMasonryType="none":i._whMasonryType="dompack-masonry"}function Hb(){clearTimeout(um),um=setTimeout(i=>Wb(i),250)}function Wb(){gm();for(let i of qn)_m(i)}function Bb(i){gm();for(let e of qn)(!i.detail.container||e==i.detail.container)&&_m(e,!!i.detail.force)}function gm(){L(window,"ws:widgetholders-beforerelayout",{bubbles:!1,cancelable:!1})}function Wl(i){for(let e of qn)e._whMasonryType=="dompack-masonry"?fm(e):e._whMasonryType=="desandro"&&Vb(i,e)}function Vb(i,e){i!=Hl&&(Hl=i,Hl=="small"?(e._wsMasonry&&(e._wsMasonry.destroy(),e._wsMasonry=null),e.closest(".widgetsblock").classList.remove("widgetsblock--defaultlayout")):(e.closest(".widgetsblock").classList.add("widgetsblock--defaultlayout"),e._wsMasonry||(e._wsMasonry=new mm.default(e,{itemSelector:".widget",columnWidth:".widgetsblock__contents-sizer",fitWidth:!0,gutter:15}))))}function fm(i,e){let t={};i.classList.add("widgetsblock--dompackmasonry");let n=window.getComputedStyle(i,"::before").content;if(n!=""&&n.startsWith('"')&&(n=n.substring(1,n.length-1)),n!="none"){let r=n.split(":");t={columns:parseInt(r[0]),gutter:parseInt(r[1])}}else t={columns:2,gutter:30};i._wsMasonry?(i._wsMasonry.setOptions(t),i._wsMasonry.refresh(e)):i._wsMasonry=new zn(i,{...t,items:".widget",breakclass:".widget__break__title"})}function _m(i,e){if(i._whMasonryType=="desandro"){let t=i.querySelectorAll(".widget");for(let o of t)L(o,"ws:relayoutwidgetcontent",{bubbles:!0,cancelable:!1,detail:{force:e}});i._wsMasonry&&i._wsMasonry.layout()}else i._whMasonryType=="dompack-masonry"&&fm(i,e)}b(".widgetsblock__contents",i=>Db(i));window.addEventListener("ws:relayoutwidgets",Bb);window.addEventListener("ws:responsivemode",i=>Wl(i.detail.level<=1?"small":"wide"));window.addEventListener("resize",Hb);Et("--breakpoint-phone").then(i=>{let e=matchMedia(`(max-width: ${i})`);e.addEventListener("change",t=>Wl(t.matches?"small":"wide")),Wl(e.matches?"small":"wide")});A();function Ee(i){L(window,"ws:relayoutwidgets",{bubbles:!0,cancelable:!1,detail:{container:i?i.closest(".widgetsblock__contents"):null}})}window.__relayoutWidgets=Ee;function wm(i){L(window,"ws:relayoutwidgets",{bubbles:!0,cancelable:!1,detail:{container:i?i.closest(".widgetsblock__contents"):null,force:!0}})}A();cs();var Vl,jo=[];window.carrouselwidgets=jo;function ym(i){let e=i.previousElementSibling||i.nextElementSibling,t,o,n=!1;e||(o=!0,e=i,n=i.classList.contains(".main__contents--fullwidth"),i.classList.remove(".main__contents--fullwidth")),t=window.getComputedStyle(e);let r=(document.querySelector(".main__contents,.page-content")||document.querySelector(".contentpart__main")).clientWidth,s={spaceLeft:parseInt(t.marginLeft,10)+parseInt(t.paddingLeft,10),spaceRight:parseInt(t.marginRight,10)+parseInt(t.paddingRight,10),contentWidth:e.offsetWidth-parseInt(t.paddingLeft,10)-parseInt(t.paddingRight,10),fullwidth:r};return s.spaceRight=s.fullwidth-s.spaceLeft-s.contentWidth,o&&n&&i.classList.add(".main__contents--fullwidth"),s}function Yb(i){window.pauseHeaderAnimation&&window.pauseHeaderAnimation()}function bm(i){window.unPauseHeaderAnimation&&window.unPauseHeaderAnimation()}function xm(){for(let i of jo){let e=ym(i.node);km(i);let t=i.carrousel;t.setOptions({paddingLeft:e.spaceLeft,paddingRight:e.spaceRight}),t.refresh()}}function vm(){for(let i of jo)i.carrousel.relayoutSlides();xm()}function km(i){let e=i.carrousel,t=i.node.querySelector(".carrousel__next");if(!t||t.clientHeight==0){i.node.style.minHeight="";return}let o=e.nodes.viewport.querySelector(".carrousel__cell-image");if(o){let n=i.node.getBoundingClientRect(),s=o.getBoundingClientRect().bottom-n.top+60+20+20;i.node.style.minHeight=s+"px"}}function $b(i){let e=i.target.closest(".carrouselwidget");if(!e)return;let t=i.target.closest(".carrousel__cell");if(!t)return;if(i.target.closest(".carrousel__cell-playbutton")){i.preventDefault(),i.stopPropagation();
22let n=t.querySelector("[data-video]");n&&(t.classList.add("active"),Tt(n)?t._wsVideoPlayer.play():St(n).then(r=>t._wsVideoPlayer=r))}else i.target.closest(".video-close")&&(i.preventDefault(),i.stopPropagation(),t.classList.remove("active"),t._wsVideoPlayer.pause());let o=i.target.closest("a");if(o){let n=getComputedStyle(t),r=n.transform||n.webkitTransform||n.mozTransform,s=r.match(/^matrix3d\((.+)\)$/),a=-1;s?a=parseFloat(s[1].split(", ")[12]):(s=r.match(/^matrix\((.+)\)$/),s&&(a=parseFloat(s[1].split(", ")[4])));let l=parseInt(n.width),d=jo.filter(p=>p.node==e);d=d.length?d[0]:null;let c=d.carrousel.nodes.viewport.getBoundingClientRect();(a>=0&&a+l<c.width||t.classList.contains("carrousel__cell--aligned"))&&(location.href=o.href),i.preventDefault(),i.stopPropagation()}}function Xb(i){i.preventDefault()}b(".carrouselwidget",(i,e)=>{e||(Vl=ym(i));let t=new bi(i,{paddingLeft:Vl.spaceLeft,paddingRight:Vl.spaceRight}),o={node:i,carrousel:t,islarge:i.classList.contains("carrouselwidget--large")};jo.push(o),km(o),i.addEventListener("tap",$b),i.addEventListener("click",Xb),t.iscroll&&(t.iscroll.on("scrollStart",()=>Yb("scrollStart")),t.iscroll.on("flick",()=>bm("flick")),t.iscroll.on("scrollEnd",()=>bm("scrollEnd"))),e||(window.addEventListener("resize",xm),window.__carrouselwidgets=jo,document.addEventListener("DOMContentLoaded",vm),window.addEventListener("load",vm))},{afterdomready:!0});A();A();var Yl=class{constructor(e,t){this.container=null,this.gridcontainer=null,this.items=[],this.newinforefreshtimer=null,this.waitingforimagecount=0,this.options={width:0,height:0,row_height:256,column_width:256,gutter_x:2,gutter_y:2,debug:!1,debug_layout:!1,fill_last_strip_threshold:40},this.options={...this.options,...t},this.gridcontainer=document.createElement("div"),this.gridcontainer.style.position="relative",typeof this.container=="string"?this.container=document.querySelector(e):this.container=e}setOptions(e){Object.assign(this.options,e)}refresh(){this.refreshHorizontal()}refreshHorizontal(){var e=this.options.width,t=this.options.row_height;if(e==0&&(e=this.container.clientWidth,e==0)){console.warn("Cannot draw, the clientWidth of the specified container is 0 (display: none; ?).");return}var o=0,n=this.items.length,r=0,s=0,a=0,l=0;this.options.debug=this.options.debug||this.options.debug_layout,this.options.debug&&(console.groupCollapsed?console.groupCollapsed("JustifiedContentGrid refresh"):console.group("JustifiedContentGrid refresh"),console.log(n,"images"),this.options.debug_layout||console.log("You can also use debug_layout for more information.")),this.options.debug_layout&&console.log("strip_width:",e);for(var d=999,c=999;o<n&&a<c&&d>0;){d--;var p=0,r=0,s=0;a>0&&(l+=this.options.gutter_y);for(var m=[],u=null;o<n&&s<e;){u=this.items[o];var w=Math.ceil(u.width*(t/u.height));u.width_apply=w,s+=u.width_apply+(p==0?0:this.options.gutter_x),s<e&&(r=s,m.push(u),o++),p++}p--;var f=0;if(r!=e){var g=e-r,_=s-e;if(m.length==0){m.push(u),p++;var v=e/u.width,T=t/u.height,S=v>T?v:T,N=Math.ceil(u.width*S),U=Math.ceil(u.height*S);u.width_apply=N,u.node_applied={left:0,top:l,width:e,height:t},u.node.style.left="0",u.node.style.top=l+"px",u.node.style.width=e+"px",u.node.style.height=t+"px",u.img_applied={left:(e-N)/2,to
22p:(t-U)/2,width:u.width_apply},u.img.style.width=u.width_apply+"px",u.img.style.left=u.img_applied.left+"px",u.img.style.top=u.img_applied.top+"px",p++,o++,a++,l+=t,this.options.debug_layout&&console.log(o,"will fill it's own row (panoramic)");continue}o==n&&this.options.fill_last_strip_threshold<g?(m.push(u),p++,this.options.debug_layout&&console.log(o,"last image but no need to grow (fill_last_strip_threshold lower than empty space")):g<_?(f=g,this.options.debug_layout&&console.log(o,"will distribute",f,"to items in row")):(f=-_,m.push(u),this.options.debug_layout&&console.log(o,"will shrink",f,"to make a last image fit in the row"),p++,o++)}this.options.debug_layout&&console.info("Row #"+a+" contains ",m.length,"images");var $=Math.floor(f/p),ne=f-$*p;this.options.debug_layout&&(console.info("We need to grow"),console.info({compensatex:f,columns:p,add_each_item:$,add_last_item:ne}));for(var ee=0,ae=0;ae<p;ae++){var u=m[ae];if(u.width_apply_orig=u.width_apply,f!=0&&(u.width_apply+=$,ae==p-1&&(u.width_apply+=ne)),u.node_applied={left:ee,top:l,width:u.width_apply,height:t},f>0){var me=u.height*(u.width_apply/u.width);u.img_applied={left:0,top:Math.round((t-me)/2),width:u.width_apply}}else f<0?u.img_applied={left:Math.round((u.width_apply-u.width_apply_orig)/2),top:0,width:u.width_apply_orig}:f==0&&(u.img_applied={left:0,top:0,width:u.width_apply_orig});u.node.style.left=u.node_applied.left+"px",u.node.style.top=u.node_applied.top+"px",u.node.style.width=u.node_applied.width+"px",u.node.style.height=u.node_applied.height+"px",u.img.style.left=u.img_applied.left+"px",u.img.style.top=u.img_applied.top+"px",u.img.style.width=u.img_applied.width+"px",ee+=u.width_apply+this.options.gutter_x}a++,l+=t}this.gridcontainer.style.width=this.options.width+"px",this.gridcontainer.style.height=l+"px",this.options.debug&&(console.log("The grid consists of",a,"rows"),console.groupEnd())}importItems(e){for(var t=document.createDocumentFragment(),o=0;o<e.length;o++){var n=e[o],r=document.createElement("div");r.style.cssText="position: absolute; overflow: hidden;",r.appendChild(n.contentnode),t.appendChild(r),n.node=r}this.gridcontainer.appendChild(t)}},Ro=class extends Yl{constructor(e,t){super(e,t);for(var o=e.children,n=o.length,r=[],s=0;s<n;s++){var a=o[s],l;if(a.tagName!="IMG"){if(l=a,a=a.querySelector("img"),!a){console.warn("missing image node");continue}}else l=a;a.style.position="absolute";var d=a.getAttribute("data-width"),c=a.getAttribute("data-height");d===null?d=a.naturalWidth:d=parseInt(d),c===null?c=a.naturalHeight:c=parseInt(c),a.removeAttribute("width"),a.removeAttribute("height");var p={img:a,contentnode:l,node:null,width:d,height:c};r.push(p),(d==0||c==0)&&(this.waitingforimagecount++,a.addEventListener("load",this.__onImageLoad.bind(this,p)))}this.importItems(r),this.items=this.items.concat(r),this.container.appendChild(this.gridcontainer)}__onImageLoad(e,t){this.options.debug&&console.log("Updating image size");var o=t.target;e.width=o.naturalWidth,e.height=o.naturalHeight,o.dataset.width=e.width,o.dataset.height=e.height,this.waitingforimagecount--,this.waitingforimagecount==0?(clearTimeout(this.newinforefreshtimer),this.__forceRefresh()):this.newinforefreshtimer||(this.newinforefreshtimer=setTimeout(()=>this.__forceRefresh(),250))}__forceRefresh(){this.newinforefreshtimer=null,this.refresh()}};var Sm=st(Ul());A();en();J(()=>{let i=Rt()==="ios";document.documentElement.classList.add(i?"nohover":"allowhover")});var Em=[];function Tm(){for(let i of Em){let e=Cm(i.container);i.setOptions(e),i.refresh()}}function Gb(i){let e=i.target.closest(".photoalbumwidget__item");if(!e)return;let t=i.target.closest(".photoalbumwidget"),o=t.getAttribute("data-instanceid"),n=t.querySelectorAll(".photoalbumwidget__item");n=Array.from(n);let r=n.indexOf(e);if(r===-1)return;let s=document.querySelector(".header__universe");s&&(s.style.display="none"),Sm.doActivateSlideshow(o,r)}function Cm(i){let e=window.devicePixelRatio;e||(e=1);let t=i.clientWidth;return{width:Math.round(t*e)/e,row_height:Math.round(t/2.75*e)/e,gutter_x:Math.round(t*e/50)/e,gutter_y:Math.round(t*e/50)/e}}b(".photoalbumwidget",(i,e)=>{let t=i.querySelector(".justifiedmediagrid"),o=Cm(t),n=new Ro(t,o);Em.push(n),n.refresh(),t.addEventListener("click",Gb),e||(window.addEventListener("resize",Tm),window.addEventListener("load",Tm))},{afterdomready:!0});A();A();cs();window.__dompack_cslideshow_idx=0;window.__dompack_cslideshows=[];var $l;window.IntersectionObserver&&($l=new IntersectionObserver(Kb));document.addEventListener("visibilitychange",Jb);function Jb(){for(let i of window.__dompack_cslideshows)i.__handleVisibilityChange()}function Kb(i,e){let t=[],o=[];for(let n of i)n.isIntersecting?t.push(n.target):o.push(n.target);for(let n of window.__dompack_cslideshows){let r=t.indexOf(n.node)>-1;!r&&o.indexOf(n.node)===-1||(n.inviewport=r,n.__handleVisibilityChange())}}var eo=class{constructor(e,t){if(!e){console.error("CarrouselSlideshow got null as node.");return}window.__dompack_cslideshow_idx++,window.__dompack_cslideshows.push(this);let o=bt(e,"data-carrousel-options");this.node=e,this.inviewport=this.__determineInViewport(e),this.lastautoslidetime=null,this.scrolling=!1,this.ignore_scroll=!1,this.options={autoplay:!0,autoplay_initialdelay:0,autoplay_freezeslideduration:6e3,transitionDuration:1500,eventPassthrough:!0,updateviewportheight:!1,jumpbuttons:".carrousel__jumpbutton",jumpbutton_selectedclass:"active",buttonprevious:null,buttonnext:null,debug:!1,autoresize:!0,name:"slideshow"+window.__dompack_cslideshow_idx,...o,...t},this.options.debug&&console.log("CarrouselSlideshow options",this.options),this.autoplaytimer=null,this.playing=this.options.autoplay;let n={transitionDuration:this.options.transitionDuration,eventPassthrough:this.options.eventPassthrough,gap:0,updateviewportheight:this.options.updateviewportheight};"items"in this.options&&(n.items=this.options.items),this.options.debug&&console.info("Carrousel options",n),this.carrousel=new bi(e,n);let r=this.carrousel.nodes.dragarea;r.addEventListener("dragstart",s=>
22this.doHandleDragStart(s)),r.addEventListener("click",s=>this.doHandleLinkClick(s)),r.addEventListener("tap",s=>this.doHandleLinkTap(s)),this.jumpbuttonnodes=[],typeof this.options.jumpbuttons=="string"?this.jumpbuttonnodes=this.node.querySelectorAll(this.options.jumpbuttons):this.jumpbuttonnodes=this.options.jumpbuttons;for(let s=0;s<this.jumpbuttonnodes.length;s++)this.jumpbuttonnodes[s].addEventListener("click",a=>this.__doJumpToSlide(s,a)),this.jumpbuttonnodes[s].addEventListener("tap",a=>this.__doJumpToSlide(s,a));this.options.buttonprevious&&this.options.buttonprevious.addEventListener("click",this.__handlePrevButton.bind(this)),this.options.buttonnext&&this.options.buttonnext.addEventListener("click",this.__handleNextButton.bind(this)),this.node.addEventListener("wh:activeslidechange",this.onSlideChange.bind(this)),this.carrousel.iscroll&&(this.carrousel.iscroll.on("scrollStart",this.__onScrollStart.bind(this)),this.carrousel.iscroll.on("scrollEnd",this.__onScrollEnd.bind(this))),this.options.autoresize&&(this.options.debug&&console.info("AUTORESIZE enabled"),this.bindedrefresh=this.relayoutSlides.bind(this),window.addEventListener("resize",this.bindedrefresh),document.addEventListener("DOMContentLoaded",this.bindedrefresh),window.addEventListener("load",this.bindedrefresh)),$l&&$l.observe(e),this.playing&&this.__applyCurrentAutoplay(this.options.autoplay_initialdelay)}doHandleDragStart(e){e.preventDefault()}doHandleLinkClick(e){e.target.closest("a")&&e.preventDefault()}doHandleLinkTap(e){let t=e.target.closest("a");t&&window.open(t.href,"_blank")}destroy(){clearTimeout(this.autoplaytimer),this.autoplaytimer=null,this.playing=!1,this.bindedrefresh&&(window.removeEventListener("resize",this.bindedrefresh),document.removeEventListener("DOMContentLoaded",this.bindedrefresh),window.removeEventListener("load",this.bindedrefresh)),this.carrousel.destroy()}__determineInViewport(e){let o=document.body.getBoundingClientRect().height,n=e.getBoundingClientRect();return n.bottom>=0||n.top<=o}__handlePrevButton(){this.carrousel.previousSlide()}__handleNextButton(){this.carrousel.nextSlide()}relayoutSlides(){this.options.debug&&console.info("relayoutSlides"),this.ignore_scroll=!0,this.carrousel.relayoutSlides(),this.carrousel.refresh(),this.ignore_scroll=!1}pause(){this.playing=!1,this.__applyCurrentAutoplay()}play(){this.playing=!0,this.__applyCurrentAutoplay()}refresh(){this.relayoutSlides()}onSlideChange(e){let t=this.jumpbuttonnodes.length;t>e.detail.previousactiveidx&&this.jumpbuttonnodes[e.detail.previousactiveidx].classList.remove(this.options.jumpbutton_selectedclass),t>e.detail.nextactiveidx&&this.jumpbuttonnodes[e.detail.nextactiveidx].classList.add(this.options.jumpbutton_selectedclass)}__handleVisibilityChange(){this.options.debug&&console.info(this.options.name,"Page visible: ",!document.hidden,"Slideshow in viewport",this.inviewport),this.__applyCurrentAutoplay()}__onScrollStart(e){this.ignore_scroll||(this.scrolling=!0)}__onScrollEnd(e){this.ignore_scroll||(this.scrolling=!1)}__doJumpToSlide(e,t){t.preventDefault(),this.carrousel.jumpToSlide(e)}__applyCurrentAutoplay(e){if(this.options.debug&&console.log("__applyCurrentAutoplay"),e||(e=0),this.scrolling){this.options.debug&&console.log("Not scheduling or cancelling a slide during scrolling.");return}this.playing&&!document.hidden&&this.inviewport?this.autoplaytimer?this.options.debug&&console.log("Timer already running..."):(this.options.debug&&console.log("Setting new timer for auto slide"),this.autoplaytimer=setTimeout(this.__nextSlideByTimer.bind(this),this.options.autoplay_freezeslideduration+e)):(this.options.debug&&console.log("No autoplay",{play:this.playing,dochidden:document.hidden,inviewport:this.inviewport}),this.autoplaytimer&&(clearTimeout(this.autoplaytimer),this.autoplaytimer=null))}__nextSlideByTimer(){this.options.autoplay&&(this.lastautoslidetime=new Date().getTime(),this.carrousel.nextSlide(),this.autoplaytimer=setTimeout(this.__nextSlideByTimer.bind(this),this.options.autoplay_freezeslideduration))}};window.__widget_slideshow=[];var Xl=class{constructor(e){if(this.widgetnode=e,e.classList.contains("slideshowwidget--multipleslides")){this.slideinfonodes=e.querySelectorAll(".slideshowwidget__slideinfo");let t=e.querySelector(".slideshowwidget__previousbutton"),o=e.querySelector(".slideshowwidget__nextbutton");this.slideshow=new eo(this.widgetnode,{jumpbuttons:".slideshowwidget__slidedot",jumpbutton_selectedclass:"slideshow--activedot",autoplay:!0,eventPassthrough:!0,buttonprevious:t,buttonnext:o,transitionDuration:500}),this.widgetnode.addEventListener("mouseenter",()=>this.pauseSlideshow()),this.widgetnode.addEventListener("mouseleave",()=>this.resumeSlideshow()),t.addEventListener("click",()=>this.stopSlideshow()),o.addEventListener("click",()=>this.stopSlideshow()),window.__widget_slideshow.push({node:e,widget:this,slideshow:this.slideshow}),e.addEventListener("wh:activeslidechange",n=>this.onSlideChange(n)),e.addEventListener("tap",n=>this.doCheckForSlideshowVideoTrigger(n))}else e.addEventListener("click",t=>this.doCheckForSlideshowVideoTrigger(t))}onSlideChange(e){this.slideinfonodes[e.detail.previousactiveidx].classList.remove("active"),this.slideinfonodes[e.detail.nextactiveidx].classList.add("active"),e.detail.previousactivenode&&this.deactivateSlide(e.detail.previousactivenode)}pauseSlideshow(){this.deactivated||(this.slideshow.scrolling=!1,this.slideshow.pause(),this.widgetnode.classList.add("slideshow--paused"))}resumeSlideshow(){this.deactivated||(this.slideshow.play(),this.widgetnode.classList.remove("slideshow--paused"))}stopSlideshow(){this.slideshow.scrolling=!1,this.slideshow.pause(),this.deactivated=!0,this.widgetnode.classList.remove("slideshow--paused")}stopVideoSlide(e){console.log("stopCarrouselVideo",e),this.passBlockPointerEvents(!1);try{e._wsVideoPlayer&&e._wsVideoPlayer.pause()}catch{}this.slideshow&&this.slideshow.play()}deactivateSlide(e){e._wsVideoPlayer&&this.stopVideoSlide(e),this.widgetnode.classList.remove("slideshowwidget--videoplaying"),e.classList.remove("active")}passBlockPointerEvents(e){this.slideshow&&(this.slideshow.carrousel.iscroll.options.preventDefault=!e)}doCheckForSlideshowVideoTrigger(e){if(!e.target.closest(".slideshowwidget"))return;let o=e.target.closest(".carrousel__cell");if(!o)return;
22let n=o.querySelector("[data-video]");n&&(this.widgetnode.classList.add("main__contents--overdeeplinks"),e.target.closest(".video-close")?(e.preventDefault(),e.stopPropagation(),this.deactivateSlide(o)):(e.preventDefault(),e.stopPropagation(),o.classList.add("active"),Tt(n)?(this.widgetnode.classList.add("slideshowwidget--videoplaying"),this.slideshow&&(this.slideshow.scrolling=!1,this.slideshow.pause()),this.passBlockPointerEvents(!0),o._wsVideoPlayer.play()):St(n).then(r=>{this.passBlockPointerEvents(!0),this.widgetnode.classList.add("slideshowwidget--videoplaying"),this.slideshow&&(this.slideshow.scrolling=!1,this.slideshow.pause()),o._wsVideoPlayer=r})))}};b(".slideshowwidget",i=>new Xl(i));A();var rt;b(".embeddedobject--progress",i=>{"scrollRestoration"in history&&(history.scrollRestoration="manual");let e=new URL(location.href),o=(e.searchParams.get("step")||"").split("/"),n=o[0],r=o.length>1?o[1]:"",s=e.searchParams.get("activesteps"),a=[];s&&(a=s.split(","));let l=Array.from(i.querySelectorAll(".progress__item"));rt=i.querySelector('[data-progresstag="'+n+'"]');let d=l.indexOf(rt);for(let c=0;c<=d;c++){let p=l[c];c<d?p.classList.add("progress__item--passed"):(r==="passed"||r===""?rt.classList.add("progress__item--passed"):r==="conditional"?rt.classList.add("progress__item--conditional"):rt.classList.add("progress__item--failed"),rt.classList.add("progress__item--currentitem"));let m=p.getAttribute("data-progresstag");(a.indexOf(m)>-1||p===rt)&&p.classList.add("progress__item--active")}rt&&(rt.classList.add("foldablecontent--open"),rt.querySelector(".foldablecontent__foldcontainer").style.cssText="height:auto;overflow:inherit;")});function Gl(){rt&&(document.querySelector(".embeddedobject--progress").scrollIntoView(),rt.scrollIntoViewIfNeeded?rt.scrollIntoViewIfNeeded():rt.scrollIntoView())}window.addEventListener("DOMContentLoaded",Gl);window.addEventListener("load",function(){Gl(),"scrollRestoration"in history||setTimeout(Gl,100)});A();q();function Qb(i){var e=document,t=i.container||e.createElement("div"),o=i.preventSubmit||0;t.id=t.id||"autocomplete-"+v();var n=t.style,r=i.debounceWaitMs||0,s=i.disableAutoSelect||!1,a=t.parentElement,l=[],d="",c=2,p=i.showOnFocus,m,u=0,w,f=!1,g=!1;if(i.minLength!==void 0&&(c=i.minLength),!i.input)throw new Error("input undefined");var _=i.input;t.className=[t.className,"autocomplete",i.className||""].join(" ").trim(),t.setAttribute("role","listbox"),_.setAttribute("role","combobox"),_.setAttribute("aria-expanded","false"),_.setAttribute("aria-autocomplete","list"),_.setAttribute("aria-controls",t.id),_.setAttribute("aria-owns",t.id),_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-haspopup","listbox"),n.position="absolute";function v(){return Date.now().toString(36)+Math.random().toString(36).substring(2)}function T(){var E=t.parentNode;E&&E.removeChild(t)}function S(){w&&window.clearTimeout(w)}function N(){t.parentNode||(a||e.body).appendChild(t)}function U(){return!!t.parentNode}function $(){u++,l=[],d="",m=void 0,_.setAttribute("aria-activedescendant",""),_.setAttribute("aria-expanded","false"),T()}function ne(){if(!U())return;_.setAttribute("aria-expanded","true"),n.height="auto",n.width=_.offsetWidth+"px";var E=0,H;function G(){var Z=e.documentElement,oe=Z.clientTop||e.body.clientTop||0,te=Z.clientLeft||e.body.clientLeft||0,Ue=window.pageYOffset||Z.scrollTop,Re=window.pageXOffset||Z.scrollLeft;H=_.getBoundingClientRect();var ve=H.top+_.offsetHeight+Ue-oe,Nt=H.left+Re-te;n.top=ve+"px",n.left=Nt+"px",E=window.innerHeight-(H.top+_.offsetHeight),E<0&&(E=0),n.top=ve+"px",n.bottom="",n.left=Nt+"px",n.maxHeight=E+"px"}G(),G(),i.customize&&H&&i.customize(_,H,t,E)}function ee(){t.textContent="",_.setAttribute("aria-activedescendant","");var E=function(te,Ue,Re){var ve=e.createElement("div");return ve.textContent=te.label||"",ve};i.render&&(E=i.render);var H=function(te,Ue){var Re=e.createElement("div");return Re.textContent=te,Re};i.renderGroup&&(H=i.renderGroup);var G=e.createDocumentFragment(),Z=v();if(l.forEach(function(te,Ue){if(te.group&&te.group!==Z){Z=te.group;var Re=H(te.group,d);Re&&(Re.className+=" group",G.appendChild(Re))}var ve=E(te,d,Ue);ve&&(ve.id=t.id+"_"+Ue,ve.setAttribute("role","option"),ve.addEventListener("click",function(Nt){g=!0;try{i.onSelect(te,_)}finally{g=!1}$(),Nt.preventDefault(),Nt.stopPropagation()}),te===m&&(ve.className+=" selected",ve.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",ve.id)),G.appendChild(ve))}),t.appendChild(G),l.length<1)if(i.emptyMsg){var oe=e.createElement("div");oe.id=t.id+"_"+v(),oe.className="empty",oe.textContent=i.emptyMsg,t.appendChild(oe),_.setAttribute("aria-activedescendant",oe.id)}else{$();return}N(),ne(),Se()}function ae(){U()&&ee()}function me(){ae()}function le(E){E.target!==t?ae():E.preventDefault()}function ze(){g||Ui(0)}function Se(){var E=t.getElementsByClassName("selected");if(E.length>0){var H=E[0],G=H.previousElementSibling;if(G&&G.className.indexOf("group")!==-1&&!G.previousElementSibling&&(H=G),H.offsetTop<t.scrollTop)t.scrollTop=H.offsetTop;else{var Z=H.offsetTop+H.offsetHeight,oe=t.scrollTop+t.offsetHeight;Z>oe&&(t.scrollTop+=Z-oe)}}}function ie(){var E=l.indexOf(m);m=E===-1?void 0:l[(E+l.length-1)%l.length],qe(E)}function Le(){var E=l.indexOf(m);m=l.length<1?void 0:E===-1?l[0]:l[(E+1)%l.length],qe(E)}function qe(E){l.length>0&&(or(E),qi(l.indexOf(m)),Se())}function qi(E){var H=e.getElementById(t.id+"_"+E);H&&(H.classList.add("selected"),H.setAttribute("aria-selected","true"),_.setAttribute("aria-activedescendant",H.id))}function or(E){var H=e.getElementById(t.id+"_"+E);H&&(H.classList.remove("selected"),H.removeAttribute("aria-selected"),_.removeAttribute("aria-activedescendant"))}function Xs(E,H){var G=U();if(H==="Escape")$();else{if(!G||l.length<1)return;H==="ArrowUp"?ie():Le()}E.preventDefault(),G&&E.stopPropagation()}function Gs(E){if(m){o===2&&E.preventDefault(),g=!0;try{i.onSelect(m,_)}finally{g=!1}$()}o===1&&E.preventDefault()}function nr(E){var H=E.key;switch(H){case"ArrowUp":case"ArrowDown":case"Escape":Xs(E,H);break;case"Enter":Gs(E);break}}function rr(){p&&Ui(1)}function Ui(E){_.value.length>=c||E===1?(S(),w=window.setTimeout(function(){return x(_.value,E,_.selectionStart||0)},E===0||E===2?r:0)):$()}function x(E,H,G){if(!f){var Z=++u;i.fetch(E,function(oe){u===Z&&oe&&(l=oe,d=E,m=l.length<1||s?void 0:l[0],ee())},H,G)}}function j(E){if(i.keyup){i.keyup({event:E,fetch:function(){return Ui(0)}});return}!U()&&E.key==="ArrowDown"&&Ui(0)}function O(E){i.click&&i.click({event:E,fetch:function(){return Ui(2)}})}function D(){setTimeout(function(){e.activeElement!==_&&$()},200)}
22function X(){x(_.value,3,_.selectionStart||0)}t.addEventListener("mousedown",function(E){E.stopPropagation(),E.preventDefault()}),t.addEventListener("focus",function(){return _.focus()}),T();function P(){_.removeEventListener("focus",rr),_.removeEventListener("keyup",j),_.removeEventListener("click",O),_.removeEventListener("keydown",nr),_.removeEventListener("input",ze),_.removeEventListener("blur",D),window.removeEventListener("resize",me),e.removeEventListener("scroll",le,!0),_.removeAttribute("role"),_.removeAttribute("aria-expanded"),_.removeAttribute("aria-autocomplete"),_.removeAttribute("aria-controls"),_.removeAttribute("aria-activedescendant"),_.removeAttribute("aria-owns"),_.removeAttribute("aria-haspopup"),S(),$(),f=!0}return _.addEventListener("keyup",j),_.addEventListener("click",O),_.addEventListener("keydown",nr),_.addEventListener("input",ze),_.addEventListener("blur",D),_.addEventListener("focus",rr),window.addEventListener("resize",me),e.addEventListener("scroll",le,!0),{destroy:P,fetch:X}}var Lm=Qb;function ft(i){return Lm(i)}de();var Nm=st(wo());he();var Fm=new RegExp("\\w+","g"),Zb=new RegExp("(.*[^\\w])?(\\w+)$"),Mo=class{index=new Map;items=new Map;_searchFields=[];_autoSearchFields=!0;_suggestFields=[];_autoSuggestFields=!0;_completeSuggestFields=[];get searchFields(){return this._searchFields}set searchFields(e){this._searchFields=e,this._autoSearchFields=!1}get suggestFields(){return this._autoSuggestFields?this._searchFields:this._suggestFields}set suggestFields(e){this._suggestFields=e,this._autoSuggestFields=!1}get completeSuggestFields(){return this._completeSuggestFields}set completeSuggestFields(e){this._completeSuggestFields=e}indexItem(e){let t=new Map;for(let[o,n]of Object.entries(e)){if(typeof n!="string")continue;this._autoSearchFields&&!this._searchFields.includes(o)&&this._searchFields.push(o);let r=n.toLowerCase(),s,a=0;for(;(s=Fm.exec(r))!==null;){let l=o+":"+s[0],d=s.index,c=this.index.get(l);c||(c=new Map,this.index.set(l,c));let p=c.get(e);p||(p={positions:[]},c.set(e,p)),p.positions.push(d),++a}t.set(o,a)}this.items.set(e,{fields:t})}suggest(e){let t=new Map,o=Zb.exec(e);if(o){let r=o[1]||"",s=o[2],a;r&&(a=this.#e(r).results);for(let[l,d]of this.index){let c=l.split(":")[0];if(!this.suggestFields.includes(c))continue;let p=l.substr(c.length+1),m=this.#t(s,p,{startsWithScore:.9});if(m){let u=r+p;if(t.has(u)||t.set(u,[m]),this.completeSuggestFields.includes(c))for(let w of d.keys()){if(a&&!a.has(w))continue;let f=[m];a&&f.push(...a.get(w)),u=w[c];let g=t.get(u);g?g.push(...f):t.set(u,f)}}}}if(!t)return[];let n=this.#n(t);return this.#o(n)}search(e){let t=this.#e(e);return{items:this.#o(t.results),terms:t.terms}}#e(e){let t=new Map,o=[];e=e.toLowerCase();for(let r of this.searchFields){let s,a=e.match(Fm);if(a)for(let l of a){let d=this.#i(r,l);if(d.results.size){for(let c of d.terms)o.includes(c)||o.push(c);if(s){for(let[c,p]of d.results)s.has(c)&&s.get(c).push(...p.scores);for(let c of s.keys())d.results.has(c)||s.delete(c)}else{s=new Map;for(let[c,p]of d.results)s.set(c,p.scores)}}}if(s)for(let[l,d]of s){let c=t.get(l);c?c.push(...d):t.set(l,d)}}return{results:this.#n(t),terms:o}}#i(e,t){let o,n=[],r=this.index.get(e+":"+t);if(r)o=new Map(Array.from(r).map(s=>[s[0],{scores:[1],term:t,positions:s[1].positions}])),n.push(t);else{o=new Map;for(let[s,a]of this.index){let l=s.split(":")[0];if(l!==e&&e!=="*")continue;let d=s.substr(l.length+1),c=this.#t(t,d);if(c){for(let p of Array.from(a))o.has(p[0])?o.get(p[0]).scores.push(c):o.set(p[0],{scores:[c],term:d,positions:p[1].positions});n.push(d)}}for(let[s,a]of o)o.get(s).scores=[a.scores.reduce((l,d,c)=>(l*c+d)/(c+1))]}return{results:o,terms:n}}#t(e,t,{limitDistance:o=2,startsWithScore:n=.25}={}){if(e===t)return 1;let r=0;if(Math.min(e.length,t.length)>=2*o){let s=yp(e,t);s<=o&&(r=Math.max(r,(o-s+1)/o))}return t.startsWith(e)&&(r=Math.max(r,n)),r}#n(e){let t=new Map;for(let[o,n]of e)t.set(o,[n.reduce((r,s,a)=>(r*a+s)/(a+1))]);return t}#o(e){return Array.from(e).sort((t,o)=>o[1][0]-t[1][0]).map(t=>t[0])}};re();var ev=["words","query"],Jl={},Am=[];function Kl(i,e){return e&&e<i?y("utwente_base:frontend.ws2016.js.filteredoverview.feedbackbar-resultslimited",i,e):i===1?y("utwente_base:frontend.ws2016.js.filteredoverview.feedbackbar-result",i):i>1?y("utwente_base:frontend.ws2016.js.filteredoverview.feedbackbar-results",i):y("utwente_base:frontend.ws2016.js.filteredoverview.feedbackbar-noresults")}function tv(i){return i===1?y("utwente_base:frontend.ws2016.js.filteredoverview.tease-result",i):i>1?y("utwente_base:frontend.ws2016.js.filteredoverview.tease-results",i):y("utwente_base:frontend.ws2016.js.filteredoverview.tease-noresults")}var Un=class{debug=M["ut-filters"];form;resultscountnode=null;options;resultscountcontainer=null;constructor(e){this.options={...e},this.form=C(".filteredoverview__form"),this.hideFiltersMaybe();for(let t of document.body.querySelectorAll(".filteredoverview__toggleaction"))t.addEventListener("mousedown",o=>o.preventDefault()),t.addEventListener("mouseup",()=>this.toggleFiltersExpanded()),t.addEventListener("keydown",o=>this.toggleFiltersExpandedIfEnter(o))}setFiltersExpanded(e){document.documentElement.classList.toggle("showfilters",e);let t=this.form.querySelectorAll("input[name], select[name]");for(let o=0;o<t.length;o++)e?t[o].removeAttribute("tabindex"):t[o].setAttribute("tabindex","-1");this.checkNeedToShowTeaserBar()}toggleFiltersExpandedIfEnter(e){e.key==="Enter"&&this.toggleFiltersExpanded()}toggleFiltersExpanded(){this.setFiltersExpanded(!document.documentElement.classList.contains("showfilters"))}isFilterBarExpanded(){return document.documentElement.classList.contains("showfilters")}hideFiltersMaybe(){if(this.debug&&console.log("[ut-filters] hideFiltersMaybe"),!Y.obj.filteredoverview){console.warn("No filteredoverview settings found.");return}let e=Y.obj.filteredoverview.expandwhen;switch(this.debug&&console.log("[ut-filters] expandwhen",e),e){case"openfirstvisit":{if
22(!("whfsid"in Y.obj.filteredoverview))console.warn("Cannot determine expand state for filteredoverview, no filteredoverview.whfsid specified.");else{let t="pageseen"+Y.obj.filteredoverview.whfsid,o=!(t in sessionStorage);this.setFiltersExpanded(o),sessionStorage[t]="true"}break}case"alwaysopen":{this.setFiltersExpanded(!0);break}case"defaultclosed":{this.setFiltersExpanded(!1);break}}}setTeaserResultCount(e,t){this.resultscountnode||this.__createResultsCountNode();let o=this.options.getResultsTeaserText??tv;this.resultscountnode.textContent=o(e,t)}__createResultsCountNode(){let e=document.createElement("a");e.className="filteredoverview__teaser",e.href="#results";let t=document.createElement("div");t.className="filteredoverview__teaser__content",e.appendChild(t),document.body.appendChild(e),this.resultscountcontainer=e,this.resultscountnode=t,window.addEventListener("resize",()=>this.checkNeedToShowTeaserBar()),document.addEventListener("scroll",()=>this.checkNeedToShowTeaserBar()),this.checkNeedToShowTeaserBar()}setHoveringFeedbackText(e){this.resultscountnode&&(this.resultscountnode.textContent=e)}checkNeedToShowTeaserBar(){if(!this.resultscountcontainer)return;let e=document.body.getBoundingClientRect().height,t=document.querySelector('#results, a[name="results"]');if(!t){this.debug&&console.warn("Missing results anchor");return}let n=t.getBoundingClientRect().top>e;this.resultscountcontainer.classList.toggle("filteredoverview__teaser--aboveresults",n)}},Xe=class extends Un{filters={};filters_titles={};gotfiltersfromurl=!1;feedbackcontainer;feedbacknode;resultsnode;resetnode;oldfilterstr="";constructor(e){super(e),this.options.filterpagetype?be({filterpagetype:this.options.filterpagetype}):console.error("Please set the filterpagetype for this page (for tracking)"),this.feedbackcontainer=F(".filteredoverview__feedbackandviewbar"),this.feedbacknode=F(".filteredoverview__feedback"),this.resultsnode=F(".filteredoverview__results"),this.debug&&(this.form.classList.add("filteredoverview--debugmode"),console.log("[ut-filters]",{fbc:this.feedbackcontainer,fbn:this.feedbacknode,rsn:this.resultsnode}));let t=document.querySelector(".filtertags__items");t&&t.addEventListener("click",o=>this.doCheckForTagRemoval(o)),this.__attachChangeEvents(),this.__initFiltersFromURL(),this.prefillFormWithFilterValues(this.filters),this.resetnode=this.form.querySelector(".filteredoverview__resetfilters"),this.resetnode&&this.resetnode.addEventListener("click",o=>this.resetFilters()),window.addEventListener("pageshow",o=>this.collapseFilterIfReturned(o)),this.debug&&console.log("[ut-filters] FilteredOverview clientside mode",this.form),this.form.addEventListener("submit",o=>{o.preventDefault(),this.doFilter(o)})}filternodes;__attachChangeEvents(){if(this.filternodes=k(this.form,"input[name], select[name]"),this.options.additionalform){let e=k(this.options.additionalform,"input[name], select[name]");this.filternodes=[...this.filternodes,...e]}for(let e of this.filternodes)e.addEventListener("change",t=>this.onFilterChange(t))}__initFiltersFromURL(){if(this.oldfilterstr="",this.filters=this.getFiltersFromURL(),Object.keys(this.filters).length>0&&(this.gotfiltersfromurl=!0),this.debug&&console.log("[ut-filters] Filters from URL",this.filters),!this.filters.language)for(let e of this.form.querySelectorAll("input[name='language']"))this.filters.language||(this.filters.language=[]),this.filters.language.push(e.value);document.documentElement.classList.contains("coursefinderpage")&&(this.oldfilterstr=JSON.stringify(this.filters))}collapseFilterIfReturned(e){e.persisted&&this.setFiltersExpanded(!1)}isFilterActive(){return Object.keys(this.filters).length}getFiltersFromURL(){let e={},t=[];for(let o of this.filternodes){let n=t.indexOf(o.name)===-1?this.getUrlParam(o.name):"";if(n!==""){let r=o.nodeName==="INPUT"?o.getAttribute("type"):"";if(r==="checkbox"){let s=n.split(",");e[o.name]=s}else r==="radio"||o.nodeName,e[o.name]=n;t.push(o.name)}}return this.processFiltersFromURL(),e}prefillFormWithFilterValues(e){this.debug&&console.log("[ut-filters] Apply filters to DOM",e);for(let t of this.filternodes){let o=t.nodeName==="INPUT"?t.getAttribute("type"):"";o==="checkbox"?t.checked=e[t.name]&&e[t.name].indexOf(t.value)>-1:o==="radio"?t.checked=e[t.name]===t.value:e[t.name]&&(t.value=e[t.name])}}applyFiltersToURL(){if(this.debug&&console.log("[ut-filters] Apply filters to URL",this.filters),!history.replaceState)return;let e=new URL(location.href);for(let o of Object.keys(this.filters)){let n=this.filters[o];typeof n=="string"?n!==""&&e.searchParams.set(o,n):typeof n=="boolean"?n&&e.searchParams.set(o,""):Array.isArray(n)&&n.length>0&&e.searchParams.set(o,n.join(","))}typeof this.isdetailsview<"u"&&(this.isdetailsview||(e.hash="#listview")),history.replaceState(null,"",e);let t=document.querySelectorAll("a.filteredoverview__updatelinkquery");for(let o of t){let n=new URL(o.href);n.search=search,o.href=n.href}}onFilterChange(e){this.doFilter(e)}updateFilters(e){let t=!!e;this.filters={},this.filters_titles={};for(let o of this.filternodes)if(o.nodeName==="SELECT")o.value!==""&&(this.filters[o.name]=o.value,this.filters_titles[o.name]=o.options[o.selectedIndex].text);else if(o.nodeName==="INPUT"){let n=o.getAttribute("type");if(n==="checkbox"){if(!o.checked)continue;this.filters[o.name]||(this.filters[o.name]=[],this.filters_titles[o.name]=[]),this.filters[o.name].push(o.value);let r="";if(o.id!==""){let s=document.querySelector('label[for="'+o.id+'"]:not(:empty)');s?r=s.textContent:r="??"}this.filters_titles[o.name].push(r)}else if(n==="radio"){if(!o.checked)continue;o.value!==""&&(this.filters[o.name]=o.value);let r="";if(o.id!==""){let s=document.querySelector('label[for="'+o.id+'"]');s?r=s.textContent:r="??"}this.filters_titles[o.name]=r}else o.value!==""&&(this.filters[o.name]=o.value,this.filters_titles[o.name]=o.value)}this.sendCurrentFiltersToDataLayer(t),this.onFormFiltersUpdate(this.filters,e),document.documentElement.classList.contains("page--studyfinder")&&this.filters.language&&this.form.language.length===this.filters.language.length&&delete this.filters.language}sendCurrentFiltersToDataLayer(e){if(e){let t={};
22Object.keys(this.filters_titles).forEach(o=>{let n=this.filters_titles[o];Array.isArray(n)&&(n=n.join(", ")),t["filter_"+o]=n,(!Jl[o]||Jl[o]!==n)&&(Jl[o]=n,be({event:"set_filter",filtername:o,filtervalue:n}))}),Am.filter(o=>!(o in this.filters_titles)).forEach(o=>{be({event:"set_filter",filtername:o,filtervalue:""})}),be({event:"set_filters",...t})}Am=Object.keys(this.filters_titles)}resetFilters(e){for(let t of this.filternodes){if(e&&t.name==="words")continue;let o=t.nodeName==="INPUT"?t.getAttribute("type"):"";o==="checkbox"||o==="radio"?t.checked=t.name==="language":t.value=""}this.doFilter()}doFilter(e){this.doFilterInternal(e)}doFilterForced(){this.doFilterInternal(null,!0)}refreshFilterFeedbackUI(){this.syncFilterTags();let e=Object.keys(this.filters).length;e===1&&this.filters.language&&this.filters.language.length===this.languagescount&&--e,this.form.classList[e>0?"add":"remove"]("filteredoverview--filteractive"),this.feedbackcontainer&&this.feedbackcontainer.classList[e>0?"add":"remove"]("filteredoverview--filteractive")}async doFilterInternal(e,t=!1){this.debug&&console.log("[ut-filters] FilteredOverview:doFilter",{evt:e}),this.updateFilters(e);let o=JSON.stringify(this.filters);if(!(o===this.oldfilterstr&&!t)){if(this.oldfilterstr=o,this.refreshFilterFeedbackUI(),this.applyFiltersToURL(),typeof this.filters.words<"u"&&this.filters.words!==""){if(this.rpccache&&this.rpccache.words===this.filters.words)this.showResults();else{let n=await this.doSearchWords(this.filters.words);this.rpccache=n,this.debug&&console.log("rpccache",n),this.showResults()}return}this.rpccache=null,this.showResults()}}async doSearchWords(e){return this.rpc||(this.rpc=new Nm.default),await this.rpc.async("SearchWords",e)}showNoResults(e){e?document.documentElement.classList.add("filteredoverview--noresults"):document.documentElement.classList.remove("filteredoverview--noresults")}processFiltersFromURL(){this.debug&&console.log("[ut-filters] processFiltersFromURL not used.")}onFormFiltersUpdate(e,t){}doCheckForTagRemoval(e){let t=e.target.closest(".filtertags__item");if(!t)return;e.preventDefault();let o=t.getAttribute("data-name"),n=t.getAttribute("data-value");if(!this.form[o]){console.error("Failed to find field/option belonging to the removed tag",o,n);return}if(this.form[o]instanceof RadioNodeList)for(let r of this.form[o])r.value===n&&(r.checked=!1);else this.form[o].value="";this.doFilter()}getFlatActiveFilterValuesList(){let e=[];for(let t in this.filters)ev.indexOf(t)>-1||e.push({name:t,value:this.filters[t],title:this.filters_titles[t]});return e}currenttags={};syncFilterTags(){let e=document.querySelector(".filtertags__items");if(!e)return;for(let n of Object.keys(this.currenttags))this.currenttags[n].isnew=!1,this.currenttags[n].isused=!1;let t=this.getFlatActiveFilterValuesList();this.onMapFilterTags&&(t=this.onMapFilterTags(t,this.filters));for(let n of t)if(Array.isArray(n.value))for(let r=0;r<n.value.length;r++){let s="_"+n.name+"="+n.value[r];this.currenttags[s]||(this.currenttags[s]={title:n.title[r],name:n.name,value:n.value[r],isnew:!0,node:null}),this.currenttags[s].isused=!0}else{let r="_"+n.name+"="+n.value;this.currenttags[r]||(this.currenttags[r]={title:n.title,name:n.name,value:n.value,isnew:!0,node:null}),this.currenttags[r].isused=!0}for(let n of Object.keys(this.currenttags)){let r=this.currenttags[n];if(r.isnew){let s=document.createElement("div");s.className="filtertags__item",s.setAttribute("data-name",r.name),s.setAttribute("data-value",r.value);let a=document.createElement("div");a.className="filtertags__item__title",a.textContent=r.title;let l=document.createElement("div");l.className="filtertags__item__remove UT-icon-UT_icon_47_cross-16px",s.appendChild(a),s.appendChild(l),e.appendChild(s),s.__tag=r,this.currenttags[n].node=s}}let o=document.querySelector(".filteredoverview__feedbackandviewbar");o&&o.classList.toggle("filteredoverview__filtertags--active",t.length>0),document.clientWidth;for(let n of Object.keys(this.currenttags)){let r=this.currenttags[n];r.isnew&&(r.node.clientWidth,r.node.classList.add("visible")),r.isused||(r.node.classList.remove("visible"),setTimeout(()=>r.node?.remove(),200),delete this.currenttags[n])}}getUrlParam(e){let t=location.search.replace(/\+/g,"%20");return(e=new RegExp("[?&]"+encodeURIComponent(e)+"=([^&]*)").exec(t))?decodeURIComponent(e[1]):""}setFeedback(e,t,o){if(this.showNoResults(e===0),this.feedbacknode){let n=this.options.getResultsFeedbackText??Kl;this.feedbacknode.textContent=n(e,t)}this.setTeaserResultCount(e,t)}},ci=class extends Xe{items=[];itemscontainer;searchIndex=new Mo;constructor(e){super(e);let t=e?.itemsselector||"";this.itemscontainer=C(".filteredoverview__items"),this.debug&&console.log("[ut-filters]",{form:this.form,itemscontainer:this.itemscontainer});let o=this.itemscontainer.querySelectorAll(t);o.length===0?console.error("No items in filteredoverview? selector = "):this.debug&&console.log("[ut-filters] Filteredoverview with "+o.length+" items"),this.setFeedback(o.length,o.length,o.length),this.items=[];
22for(let n of o)this.items.push({node:n,filterdata:n.dataset.filterdata?JSON.parse(n.dataset.filterdata):null,title:n.querySelector("[data-autocompletesource-title]"),description:n.querySelector("[data-autocompletesource-description]")});this._initClientsideAutosuggest(),this.isFilterActive()&&this.doFilter()}_initClientsideAutosuggest(){let e=this.form.querySelector("input[data-autocomplete-clientside]");e&&(this._initClientsideSearchIndex(),ft({input:e,className:"ut-autocomplete",preventSubmit:1,fetch:async(t,o)=>{let n=this.searchIndex.suggest(t).slice(0,10);o(n.map(r=>({label:r,value:r})))},onSelect:t=>{e.value=t.value,this.doFilter()}}))}_initClientsideSearchIndex(){this.searchIndex.searchFields=["title","description"],this.searchIndex.completeSuggestFields=["title"];for(let e of this.items)this.searchIndex.indexItem({node:e.node,title:e.title?.textContent??"",description:e.description?.textContent??"",titleNode:e.title,descriptionNode:e.description})}isMatch(e){if(this.searchIndexMatch&&!this.searchIndexMatch.items.filter(o=>o.node===e)[0])return!1;for(let t of Object.keys(this.filters))if(e.hasAttribute(`data-filter-${t}`)){let o=this.filters[t];if(e.getAttribute(`data-filter-${t}-matchtype`)==="partialtext"){if(e.getAttribute(`data-filter-${t}`).includes(o))return!0;continue}let r=e.getAttribute(`data-filter-${t}`).split(" ");if(Array.isArray(o)){if(!r.some(s=>o.includes(s)))return!1}else if(!r.includes(o))return!1}return!0}runFilterByDataTags(){this.debug&&console.log("[ut-filters] runFilterByDataTags",this.filters),this.searchIndex&&(this.filters.query?this.searchIndexMatch=this.searchIndex.search(this.filters.query):this.searchIndexMatch=null),this.items.forEach(t=>t.node.hidden=!this.isMatch(t.node));let e=this.items.filter(t=>!t.node.hidden).length;this.setFeedback(e,e,this.items.length)}showResults(){this.debug&&console.log("[ut-filters] showResults",this.filters);let e=0;for(let t=0;t<this.items.length;++t){let o=this.items[t].node,n=this.items[t].filterdata,r=!1;for(let a of Object.keys(this.filters)){if(a==="status"){let c=this.filters[a];if(c.indexOf("ongoing")>-1&&n.graduationyear===0)continue;if(c.indexOf("graduated")>-1){if(this.form.graduationyear.value===0){if(n.graduationyear>0)continue}else if(this.form.graduationyear.value===n.graduationyear)continue}r=!0;continue}else{if(a==="graduationyear")continue;if(a==="words"){this.debug&&console.log("[ut-filters] Is",o.dataset.id,"IN",this.rpccache.ids),this.rpccache&&this.rpccache.ids.indexOf(o.dataset.id)===-1&&(r=!0);continue}else if(a==="query"){if(!("searchtext"in n)){console.error("searchtext field missing in item's filterdata.");continue}this.debug&&console.log("[ut-filters] Got",n.searchtext,`
23`,"Looking for",this.filters.query.toLowerCase());let c=this.filters.query.toLowerCase().split(" "),p=!0;for(let m of c)if(n.searchtext.indexOf(m)===-1){p=!1;break}p||(r=!0);continue}}if(!(a in n)){this.debug&&console.log("Cannot find search key '"+a+"'");continue}let l=n[a],d=this.filters[a];if(this.debug&&console.log("[ut-filters] Looking for",d,"in",l),Array.isArray(d)&&Array.isArray(l))for(let c=0;c<d.length;++c){let p=!1;if(l.indexOf(this.filters[a][c])>-1){p=!0;break}p||(r=!0)}else if(Array.isArray(l))l.indexOf(this.filters[a])===-1&&(r=!0);else{let c=typeof l=="number"?parseInt(this.filters[a]):this.filters[a];l!==c&&(r=!0)}}let s=!r;o.classList[s?"remove":"add"]("hidden"),s&&++e}this.setFeedback(e,e,this.items.length)}};A();var Dn=class{constructor(e,t){let o=bt(e,"data-masonry-options");this.initialized=!1,this.options={columns:3,columnwidth:0,gutter_x:10,gutter_y:10,margin_header_top:23,margin_header_bottom:23,debug:!1,items:null,ignoreclass:"hide",breakclass:"",righttoleft:!1},this.items=[],typeof e=="string"?this.container=document.getElementById(e):this.container=e,o&&this.setOptions(o),t&&this.setOptions(t),this.__height=0,this.__columnwidth=0,this.__visiblewidgetscount=0,this.__singlerow=!0,this.__columncontainers=[],this.__padding=0,this.__items_dirty=!0,this.__leftoffset=0,this.__containerwidth=0,this.ignore_resize_events=!1,this.initialized=!0}setItems(e){this.__items_dirty=!0;let t=[];for(let o of e){let n=o.getAttribute("data-cols");n=n?parseInt(n):1;let r={node:o,width:null,height:null,col:null,colwanted:null,colswanted:n,breakbefore:this.options.breakclass!=""&&o.classList.contains(this.options.breakclass)};t.push(r)}this.items=t}setOptions(e){"gutter"in e&&(e.gutter_x=e.gutter,e.gutter_y=e.gutter,delete e.gutter);let t=!1,o;"items"in e&&(t=!0,typeof e.items=="string"?(this.options.debug&&console.info("Finding widgets by query:",e.items,"in",this.container),o=this.container.querySelectorAll(e.items)):o=e.items,delete e.items),Object.assign(this.options,e),t&&this.setItems(o)}refresh(e){if(!this.initialized){this.options.debug&&console.info("Refresh called before initialization in ready!!");return}this.options.debug&&console.log("$wh.Masonry.refresh()");let t=this.container.clientWidth;if(t==0){console.warn("Cannot determine size of mansonry container (got 0).",this.container);return}this.ignore_resize_events=!0;let o=window.getComputedStyle(this.container),n=parseInt(o.paddingTop,10),r=parseInt(o.paddingBottom,10),s=parseInt(o.paddingLeft,10),a=parseInt(o.paddingRight,10);this.__padding={top:n,bottom:r,left:s,right:a},this.__leftoffset=s,this.__containerwidth=t-s-a,this.pvt_relayout(),this.ignore_resize_events=!1}refreshHeights(e){this.pvt_relayout(null,!0)}getLastRenderInfo(){return{container:this.container,visiblewidgetscount:this.__visiblewidgetscount,width:this.__containerwidth,height:this.__height,items:this.items,singlerow:this.__singlerow}}pvt_relayout(e){this.options.debug&&console.group("$wh.Masonry.pvt_relayout()");let t=0,o=this.options.columnwidth;if(o||(o=(this.__containerwidth-(this.options.columns-1)*this.options.gutter_x)/this.options.columns),this.options.debug&&console.info("Colwidth OLD:",this.__columnwidth,", NEW:",o),o==0){console.error("Cannot render, columnwidth is 0");return}if(isNaN(this.options.columns)){console.error("options.columns MUST be a number!");return}let n=this.options.columns,r=!0,s=[];for(var a=0;a<n;a++)s.push(0);let l=[];for(var a=0;a<n;a++)l.push([]);let d;if(e||(d=this.items),this.options.debug&&console.info("$wh.Masonry relayouting "+d.length+" items"),this.__items_dirty||this.__columnwidth!=o)for(let w of d){let f=w.colswanted>this.options.columns?this.options.columns:w.colswanted,g=o*f+(f-1)*this.options.gutter_x;w.node.style.position="absolute",w.node.style.width=Math.floor(g)+"px",w.node.style.height="",w.width=g,w.cols=f}for(let w of d)w.height=w.node.clientHeight;this.options.debug&&console.log("relayout mainloop");for(let w=0;w<d.length;w++){let f=d[w],g=f.node,_=f.height;if(this.options.debug&&console.log("#"+w,_+"px",g.className),_==0||this.options.ignoreclass!=""&&g.classList.contains(this.options.ignoreclass))continue;if(t++,f.breakbefore){let S=0;for(var c=0;c<n;++c){let N=l[c].length;if(N==0)continue;let U=l[c][N-1];U.top>m&&(S=U.top)}if(S>0){S+=160;for(var c=0;c<n;++c)s[c]<S&&(s[c]=S)}}this.options.debug&&console.info(s);var p=-1,m=0;if(f.colwanted!==null&&f.colwanted<n)p=f.colwanted,m=s[f.colwanted];else for(var a=0;a<=n-f.cols;++a){let N=this.options.righttoleft?n-f.cols-a:a,U=Math.max.apply(null,s.slice(N,N+f.cols));(p==-1||U<m)&&(p=N,m=U)}m>0&&(r=!1,g.classList.contains("timeline__header")?l[p].length>0&&l[p][l[p].length-1].breakbefore?m+=this.options.margin_header_top:m+=this.options.gutter_y:l[p].length>0&&l[p][l[p].length-1].breakbefore?m+=this.options.margin_header_bottom:m+=this.options.gutter_y);let v=m+_;for(var c=0;c<f.cols;++c)s[p+c]=v,l[p+c].push(f);f.col=p,f.left=this.__leftoffset+(p*o+p*this.options.gutter_x),f.top=m;let T={position:"absolute",left:f.left,top:f.top+this.__padding.top};this.options.debug&&console.log("Will be placed into col",p),g.style.position=T.position,g.style.left=T.left+"px",g.style.top=T.top+"px"}let u=Math.max.apply(null,s)+this.__padding.top+this.__padding.bottom;this.options.columnwidth&&(this.container.style.width=this.options.columnwidth*this.options.columns+(this.options.columns-1)*this.options.gutter_x+"px"),this.container.style.height=u+"px",this.options.debug&&(console.log(this.container,"has",t,"visible widgets"),console.groupEnd()),this.__itemdata=d,this.__columnwidth=o,this.__height=u,this.__visiblewidgetscount=t,this.__singlerow=r}};window.__timelines=[];var jm=document.documentElement.classList.contains("utwente--ws2026")?-120:-60,Ql=class extends Xe{constructor(e){super({...e,filterpagetype:"timeline"}),this.itemscontainer=document.querySelector(".timeline__items");let t=this.itemscontainer.querySelectorAll(".timeline__item");this.items=[];for(let o of t)this.items.push({node:o,data:JSON.parse(o.dataset.f
23ilterdata)});this.isFilterActive()&&this.doFilter()}showResults(){let e=0,t=[];for(let o of this.items){let n=!1;for(let s in this.filters){if(!(s in o.data)){this.debug_search&&console.log("Cannot find search key '"+s+"'");continue}let a=o.data[s],l=this.filters[s];if(this.debug_search&&console.log("Looking for",l,"in",a),Array.isArray(l)&&Array.isArray(a))for(let d=0;d<l.length;++d){let c=!1;if(a.indexOf(this.filters[s][d])>-1){c=!0;break}c||(n=!0)}else if(Array.isArray(a))a.indexOf(this.filters[s])===-1&&(n=!0);else{let d=typeof a=="number"?parseInt(this.filters[s]):this.filters[s];a!==d&&(n=!0)}}let r=!n;o.node.classList[r?"remove":"add"]("timeline__item--hide"),r&&(t.indexOf(o.data.year)===-1&&t.push(o.data.year),++e),this.debug_search&&console.groupEnd()}this.setFeedback(e);for(let o of window.__timelines)o.widgetnode.classList[e===0?"add":"remove"]("embeddedobject--timeline--noresults"),o.yearsinresults=t,o.refreshYearBookmarks(),o.refresh()}},Zl=class{constructor(e){window.__timelines.push(this),this.isFilterPage=e.classList.contains("timeline--timelinepage"),this.widgetnode=e,this.masonrynode=e.querySelector(".timeline__items"),this.masonry=null,this.preprocessItems(),window.addEventListener("load",t=>this.refresh(t)),window.addEventListener("resize",t=>this.refresh(t)),window.addEventListener("scroll",t=>this.onScroll()),this.refresh(),F(".timeline--timelinepage")&&(this.createYearBookmarks(),this.refreshYearBookmarks()),e.addEventListener("click",t=>this.doCheckForVideoTrigger(t)),this.scroller=new Zi([],{sethash:!1,offsety:jm})}onScroll(){this.refreshYearBookmarks()}preprocessItems(){let e=this.widgetnode.querySelectorAll(".timeline__item,.timeline__header,.timeline__break");this.items=[],this.years=[],this.yearsinresults=[];for(let t of e)if(!t.classList.contains("timeline__break"))if(t.classList.contains("timeline__header")){let o=parseInt(t.dataset.year);this.years.push({bookmarknode:null,headernode:t,year:o}),this.yearsinresults.push(o)}else this.items.push({node:t,data:JSON.parse(t.dataset.filterdata)});for(let t of e){let o=t.nextElementSibling;o&&o.classList.contains("timeline__item__label")&&(t.labelnode=o)}}onYearBookmarkClick(e,t){e.preventDefault(),e.stopPropagation();for(let o of this.items)if(!(o.data.year>t)&&!o.node.classList.contains("timeline__item--hide")){if("scrollBehavior"in document.documentElement.style){let n=document.documentElement.getBoundingClientRect(),s=o.node.getBoundingClientRect().top-n.top+jm;window.scrollTo({behavior:"smooth",top:s})}else this.scroller.scrollTo(o.node,e);return}}refresh(e){let t={},n=window.getComputedStyle(this.masonrynode,"::before").content;if(n!==""&&n.substring(0,1)==='"'&&(n=n.substring(1,n.length-1)),n!=="none"){let r=n.split(":");t={columns:parseInt(r[0]),gutter_y:parseInt(r[1]),margin_header_top:parseInt(r[2]),margin_header_bottom:parseInt(r[3])},r.length>3?t.columns>1?(t.columnwidth=this.isFilterPage?this.masonrynode.clientWidth*.5-55:this.masonrynode.clientWidth*.42,t.gutter_x=this.masonrynode.clientWidth-t.columnwidth*t.columns/(t.columns-1)):(t.columnwidth=this.masonrynode.clientWidth,t.gutter_x=0):t.columnwidth=null}else t={columns:2,gutter_y:50,gutter_y_header:35,columnwidth:null};this.masonry?(this.masonry.setOptions(t),this.masonry.refresh()):(this.masonry=new Dn(this.masonrynode,{...t,items:".timeline__item,.timeline__header",ignoreclass:"timeline__item--hide",breakclass:"timeline__header"}),this.masonry.refresh()),this.repositionLabels()}repositionLabels(){let e=this.masonry.getLastRenderInfo();for(let t=0;t<e.items.length;t++){let o=e.items[t];o.node.classList[o.col===0?"add":"remove"]("timeline__content--leftside"),o.node.classList[o.col!==0?"add":"remove"]("timeline__content--rightside"),o.node.labelnode&&(o.node.labelnode.classList[o.col===0?"add":"remove"]("timeline__item__label--leftside"),o.node.labelnode.classList[o.col!==0?"add":"remove"]("timeline__item__label--rightside"),o.node.labelnode.style.top=o.top+"px")}}determineVisibleYears(){let e=document.documentElement.getBoundingClientRect(),t=[];for(let o of this.items){if(t.indexOf(o.data.year)>-1||o.node.classList.contains("timeline__item--hide"))continue;let n=o.node.getBoundingClientRect();n.bottom>0&&n.top<e.height&&t.push(o.data.year)}return t}createYearBookmarks(){let e=document.createElement("div");e.className="timeline__bookmarks",this.bookmarkcontainer=e;let t=document.createElement("div");t.className="timeline__bookmarks__inner",this.bookmarkcontainer2=t,this.bookmarkcontainer.appendChild(t),this.widgetnode.insertBefore(e,this.widgetnode.firstChild);for(let o of this.years){let n=document.createElement("div");n.className="timeline__bookmarks__item",n.appendChild(document.createTextNode(o.year)),n.addEventListener("click",r=>this.onYearBookmarkClick(r,o.year)),t.appendChild(n),o.bookmarknode=n}}refreshYearBookmarks(){if(!this.bookmarkcontainer)return;let e=this.determineVisibleYears();for(let t of this.years)if(this.yearsinresults.indexOf(t.year)===-1)t.bookmarknode.classList.add("timeline__bookmarks__item--hide"),t.bookmarknode.classList.remove("timeline__bookmarks__item--inview"),t.headernode.classList.add("timeline__item--hide");else{t.bookmarknode.classList.remove("timeline__bookmarks__item--hide"),t.headernode.classList.remove("timeline__item--hide");let o=e.indexOf(t.year)>-1;t.bookmarknode.classList[o?"add":"remove"]("timeline__bookmarks__item--inview")}}doCheckForVideoTrigger(e){let t=e.target.closest(".timeline__item");if(e.target.closest(".generic_videocontainer__closevideo")){e.preventDefault(),e.stopPropagation(),t._wsVideoPlayer&&(t._wsVideoPlayer.pause(),t.classList.remove("genericvideoplayeractive"));return}if(!e.target.closest(".timeline__item__playbutton"))return;
23let o=t.querySelector("[data-video]");o&&(e.preventDefault(),e.stopPropagation(),Tt(o)?(t.classList.add("genericvideoplayeractive"),t._wsVideoPlayer.play()):St(o).then(n=>{t.classList.add("genericvideoplayeractive"),t._wsVideoPlayer=n}))}};b(".embeddedobject--timeline",i=>new Zl(i));J(()=>{document.documentElement.classList.contains("page--timeline")&&(window.filteredoverview=new Ql({itemsselector:".timeline__item"}))});A();A();function ys(i){let e=JSON.parse(i);return e.publish_from=Date.parse(e.publish_from)||null,e.publish_until=Date.parse(e.publish_until)||null,e.regexes&&e.regexes.forEach(t=>t.regex=new RegExp(t.regex,"i")),e.queries&&(e.queries=e.queries.map((t,o)=>{let n=new RegExp(t,"i");return n._term=e._queryterms[o],n})),e}var Oe=class extends Error{constructor(e,t,...o){super(...o),this.name="CTAMatchError",this._prop=e,this._values=t}get prop(){return this._prop}get values(){return this._values}};function Hn(i,e){let t=e.date||Date.now();if(W.umc&&console.info("[umc] tryMatchCTAConfig",i,e,t),i.publish_from&&t<i.publish_from)throw new Oe("publish_from",{expected:i.publish_from,got:t},`Not yet published: ${t} < ${i.publish_from}`);if(i.publish_until&&t>=i.publish_until)throw new Oe("publish_until",{expected:i.publish_until,got:t},`No longer published: ${t} >= ${i.publish_until}`);if(i.countries&&i.countries.length&&(!e.country||!i.countries.includes(e.country)))throw new Oe("countries",{expected:i.countries,got:e.country},`'${e.country}' not in [ '${i.countries.join("', '")}' ]`);if(i.beacons&&i.beacons.length){if(!e.beacons)throw new Oe("beacons",{},"No beacons triggered");let o;for(let n of i.beacons){if(!e.beacons[n.tag]){if(i.anybeacon)continue;throw new Oe("beacons",{expected:n.tag},`Beacon ${n.tag} not triggered`)}let r=n.maxdays*24*60*60*1e3,s=parseInt(e.beacons[n.tag]);if(r>0&&t>s+r){if(i.anybeacon)continue;throw new Oe("beacons",{expected:s+r,got:t,tag:n.tag},`Beacon ${n.tag} too old: ${t} > ${s} + ${r}`)}o=!0}if(!o)throw new Oe("beacons",{expected:i.beacons},"No allowed beacon triggered")}if(i.regexes&&i.regexes.length){let o=null,n=!0;for(let r of i.regexes){n=n&&r.exclude;try{if(r.regex.test(e.url)){o=r;break}}catch(s){throw new Oe("regexes",{expected:r.regex.source,error:s},`Error while trying to match regular expression '${r.regex.source}': ${s}`)}}if(o){if(o.exclude)throw new Oe("regexes",{expected:o.regex.source,got:e.url},`URL ${e.url} matches exclusion regular expression '${o.regex.source}'`);W.umc&&console.info(`[umc] URL ${e.url} matches inclusion regular expression '${o.regex.source}'`)}else if(n)W.umc&&console.info(`[umc] URL ${e.url} not matching any regular expression`);else throw new Oe("regexes",{got:e.url},`URL ${e.url} not matching any regular expression`)}if(i.queries&&i.queries.length){for(let o of i.queries)try{if(o.test(e.query)){W.umc&&console.info(`[umc] Query '${e.query}' matches search term '${o.source}'`);return}}catch(n){throw new Oe("queries",{expected:o.source,error:n},`Error while trying to match search term '${o.source}': ${n}`)}throw new Oe("queries",{got:e.query||""},`Query '${e.query||""}' not matching any search term`)}}de();var Ge=Symbol(),Wn="",xs=null,Rm=[];function iv(i){Wn=Wn||Cr(),xs||(xs=li(),W.umc&&console.log("[umc] User beacons",xs));let e={displayed:!1,ctas:[],curcta:""};for(let t of i.querySelectorAll(".cta--managed"))e.ctas.push({node:t,config:ys(t.dataset.ctaconfig)});if(W.umc){let t=e.ctas.map(o=>o.config.tag).join(", ");console.log(`[umc] Found a managed CTA ${i.dataset.ctatag} with ${e.ctas.length} CTAs: ${t}`)}i[Ge]=e,td(i),Rm.push(i),Wn||(W.umc&&console.log("[umc] Requesting user country"),ut().then(t=>{Wn=t,td(i)})),os.addNodes([i]),i.addEventListener("wh:visibilitychange",rv),i.addEventListener("click",sv),window.addEventListener("ut-beaconchange",ov)}function ov(){Rm.forEach(td)}function td(i){if(!i[Ge]||i[Ge].displayed){W.umc&&console.log(`[umc] Not updating managed CTA ${i.dataset.ctatag}, it's already been displayed`);return}if(document.documentElement.dataset.site?.match(/Repository/i)||document.documentElement.classList.contains("wh-widgetpreview")){document.documentElement.classList.add("ut--ctapreview"),nv(i);return}let e=!1,o=(new URL(location.href).searchParams.get("showcta")||"").split(":");i[Ge].curcta=null;let n=null;for(let r of i[Ge].ctas){if(o[0]==i.dataset.ctatag)o.length==1||o[1]==r.config.tag?(W.umc&&console.info(`[umc] Showing forced CTA ${r.config.tag}`),r.node.classList.add("cta--show"),n=r):(W.umc&&console.warn(`[umc] Not showing CTA ${r.config.tag}: Not matched by URL variable: '${r.config.tag}' != '${o[1]}'`),r.node.classList.remove("cta--show"));else if(e)r.node.classList.remove("cta--show");else try{Hn(r.config,{country:Wn,beacons:xs,url:location.href}),W.umc&&console.info(`[umc] Showing CTA ${r.config.tag}`),r.node.classList.add("cta--show"),i[Ge].curcta=r.config.tag,n=r,e=!0}catch(s){if(s instanceof Oe)W.umc&&console.warn(`[umc] Not showing CTA ${r.config.tag}: ${s.message}`),r.node.classList.remove("cta--show");else throw s}r.node._wsTmpDisplay=getComputedStyle(r.node).display}n&&(i.style.display="block",i.hidden=!1,i._wsTmpDisplay=getComputedStyle(i).display,setTimeout(()=>{L(i,"ws:managed-cta",{bubbles:!0,cancelable:!1,detail:{cta:n}})},1))}function nv(i){let e=new URL(location.href).searchParams,t=JSON.parse(e.get("testprops"));t&&(t={...t,url:t.url||location.href}),i.style.display="block",i.hidden=!1,i[Ge].curcta=null;let o=i[Ge].ctas.some(n=>{let r;if(t)try{return Hn(n.config,t),W.umc&&console.info(`[umc] Showing CTA ${n.config.tag}`),n.node.classList.add("cta--show"),i[Ge].curcta=n.config.tag,!0}catch(a){if(a instanceof Oe){if(W.umc&&console.warn(`[umc] Not showing CTA ${n.config.tag}: ${a.message}`),!t||!t.showskipped){n.node.classList.remove("cta--show");return}r=a}else throw a}if(n.node.classList.add("cta--show"),n.node.querySelector(".ut--cta__explain"))return;let s=[];if(n.config.publish_from&&(r&&r.prop=="publish_from"?s.push(y("utwente_base:frontend.ws2016.js.managedcta.publish_from-skipped",new Date(r.values.expected).toLocaleStr
23ing(),new Date(r.values.got).toLocaleString())):r||s.push(y("utwente_base:frontend.ws2016.js.managedcta.publish_from",new Date(n.config.publish_from).toLocaleString()))),n.config.publish_until&&(r&&r.prop=="publish_until"?s.push(y("utwente_base:frontend.ws2016.js.managedcta.publish_until-skipped",new Date(r.values.expected).toLocaleString(),new Date(r.values.got).toLocaleString())):r||s.push(y("utwente_base:frontend.ws2016.js.managedcta.publish_until",new Date(n.config.publish_until).toLocaleString()))),n.config.countries&&n.config.countries.length&&(r&&r.prop=="countries"?s.push(y("utwente_base:frontend.ws2016.js.managedcta.countries-skipped",r.values.expected.join(", "),r.values.got)):r||s.push(y("utwente_base:frontend.ws2016.js.managedcta.countries",n.config.countries.join(", ")))),n.config.beacons&&(r&&r.prop=="beacons"?!r.values.expected&&!r.values.got?s.push(y("utwente_base:frontend.ws2016.js.managedcta.beacons-skipped-none")):r.values.got?s.push(y("utwente_base:frontend.ws2016.js.managedcta.beacons-skipped-time",r.values.tag,new Date(r.values.expected).toLocaleString(),new Date(r.values.got).toLocaleString())):s.push(y("utwente_base:frontend.ws2016.js.managedcta.beacons-skipped",r.values.expected)):r||s.push(...n.config.beacons.map(a=>a.maxdays?y("utwente_base:frontend.ws2016.js.managedcta.beacon-maxdays",a.tag,a.maxdays):y("utwente_base:frontend.ws2016.js.managedcta.beacon",a.tag)))),n.config.regexes&&n.config.regexes.length){if(r&&r.prop=="regexes")r.values.error?s.push(y("utwente_base:frontend.ws2016.js.managedcta.regex-skipped-error",r.values.expected,r.values.error)):r.values.expected?s.push(y("utwente_base:frontend.ws2016.js.managedcta.regex-skipped",`/${r.values.expected}/`,r.values.got)):s.push(y("utwente_base:frontend.ws2016.js.managedcta.regex-skipped-none",r.values.got));else if(!r){let a=n.config.regexes.filter(d=>!d.exclude).map(d=>d.regex.source);a.length&&s.push(y("utwente_base:frontend.ws2016.js.managedcta.regex",`[ /${a.join("/, /")}/ ]`));let l=n.config.regexes.filter(d=>d.exclude).map(d=>d.regex.source);l.length&&s.push(y("utwente_base:frontend.ws2016.js.managedcta.regex-exclude",`[ /${l.join("/, /")}/ ]`))}}n.config.queries&&n.config.queries.length&&(r&&r.prop=="queries"?r.values.error?s.push(y("utwente_base:frontend.ws2016.js.managedcta.query-skipped-error",r.values.expected,r.values.error)):s.push(y("utwente_base:frontend.ws2016.js.managedcta.query-skipped",r.values.got)):r||s.push(y("utwente_base:frontend.ws2016.js.managedcta.query",`[ '${n.config.queries.map(a=>a._term).join("', '")}' ]`))),s.length?n.node.after(h("div",{class:"ut--cta__explain"},t&&t.showskipped?y("utwente_base:frontend.ws2016.js.managedcta.explanation-skipped"):y("utwente_base:frontend.ws2016.js.managedcta.explanation"),":",h("ul",{class:"unordered"},s.map(a=>h("li",null,a))))):n.node.after(h("div",{class:"ut--cta__explain ut--cta__explain--empty"}))});t&&t.showskipped&&!o&&i.append(h("div",{class:"ut--cta__explain ut--cta__explain--nocta"},y("utwente_base:frontend.ws2016.js.managedcta.noctatoshow")))}function rv(i){let e=i.target;if(i.detail.visible&&!e[Ge].displayed&&(W.umc&&console.info(`[umc] Managed CTA ${e.dataset.ctatag} is displayed`,e),e[Ge].displayed=!0,window.dataLayer&&e[Ge].curcta)){let t={event:"cta-display","cta-tag-main":e.dataset.ctatag};e[Ge].curcta&&(t["cta-tag-variant"]=e[Ge].curcta),window.dataLayer.push(t)}}function sv(i){let e=i.target;if(e.href||(e=e.closest("[href]")),e){let t=e.closest(".managedcta");t&&t[Ge]&&(W.umc&&console.info(`[umc] Received link click in managed CTA ${t.dataset.ctatag}`),i.stopPropagation(),i.preventDefault(),be({event:"cta-click","cta-tag-main":t.dataset.ctatag,"cta-tag-variant":t[Ge].curcta||void 0,eventCallback:()=>location.href=e.href}))}}b(".managedcta",iv);A();window.__slideshows_banner=[];var id=class{constructor(e){this.widgetnode=e,this.slides=e.querySelectorAll(".carrousel__cell"),!(this.slides.length<2)&&(window.__slideshows_banner.push(this),this.slideshow=new eo(e,{jumpbuttons:".banner__slidedot",jumpbutton_selectedclass:"banner--activedot",autoplay:!0,eventPassthrough:!0,autoplay_freezeslideduration:5e3,transitionDuration:500,updateviewportheight:!0}),this.refresh())}refresh(){for(let t of this.slides)t.style.minHeight="";let e=0;for(let t of this.slides){let o=t.offsetHeight;o>e&&(e=o)}for(let t of this.slides)t.style.minHeight=e+"px";this.widgetnode.querySelector(".banner__viewport").style.height=e+"px"}};function Mm(){for(let i of window.__slideshows_banner)i.refresh()}b(".embeddedobject--banner",i=>new id(i));window.addEventListener("resize",Mm);window.addEventListener("load",Mm);q();window.widgets_lpct=[];var av=-60,od=class{container;pointer;categorylist;contentpanel;
23constructor(e){window.widgets_lpct.push(this),this.container=e,this.pointer=C(this.container,".lpct__pointer"),this.categorylist=C(this.container,".lpct__categorylist"),this.contentpanel=C(this.container,".lpct__categoriespanel"),this.container.addEventListener("click",t=>this.doCheckForTabClick(t)),this.refresh(),C(this.pointer,"path").style.display=""}doCheckForTabClick(e){let t=e.target.closest(".lpct__categorylist__item");if(!t)return;let o=k(this.container,".lpct__categorylist__item"),n=k(this.container,".lpct__category");for(let d of o)d.classList.remove("lpct__categorylist__item--active"),d.classList.remove("lpct__categorylist__item--activeinitial");for(let d of n)d.classList.remove("lpct__category--active"),d.classList.remove("lpct__category--activeinitial");t.classList.add("lpct__categorylist__item--active");let r=Array.from(o).indexOf(t);n[r].classList.add("lpct__category--active");let s=n[r].getBoundingClientRect(),a=this.categorylist.getBoundingClientRect(),l=document.documentElement.getBoundingClientRect();if(a.top<0||s.top>l.height*.75){let d=a.top-l.top+av;window.scrollTo({top:d,behavior:"smooth"})}Om(this.pointer,t,this.contentpanel)}refresh(){let e=F(this.container,".lpct__categorylist__item--active");e||(e=F(this.container,".lpct__categorylist__item--activeinitial")),e&&Om(this.pointer,e,this.contentpanel)}};function Om(i,e,t){let o=i.getBoundingClientRect(),n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),s=n.top-o.top+n.height/2,a=r.top-o.top+r.height/2,l=o.width,d=a-s,c=d<0?-d:d,p=15,m=15;if(p*2>l&&(p=p/2),m*2>c){C(i,"path").setAttribute("d",`M0,${s} ${l},${s}`);return}let u=0,w=l/2-p,f=l/2,g=l/2+p,_=l,v=s,T=s+(d<0?-m:m),S=a-(d<0?-m:m),N=a,U=`M${u} ${v}
24              L${w} ${v}
25              C${f},${v} ${f},${T} ${f},${T}
26              L${f} ${S}
27              C${f},${N} ${g},${N} ${g},${N}
28              L${_} ${N}
29             `;C(i,"path").setAttribute("d",U)}function nd(){for(let i of window.widgets_lpct)i.refresh()}window.refreshit=nd;b(".embeddedobject--linkspercategory_tabs",i=>new od(i));window.addEventListener("load",()=>nd());window.addEventListener("ws:resize",()=>nd());A();function lv(i){let e=!1;if(document.documentElement.classList.contains("wh-widgetpreview")){e=!0;let t=Math.round(1*i.getAttribute("data-percentage")),o=2*Math.PI*68,n=i.querySelector(".progresscircle__fill"),r=i.querySelector(".percentage");n.style.strokeDashoffset=Math.round(o-o*.01*t+6),r.innerHTML=Math.round(t)}i.addEventListener("wh:visibilitychange",function(t){if(e||!t.detail.visible)return;let o=Math.round(1*i.getAttribute("data-percentage")),n=2*Math.PI*68,r=i.querySelector(".progresscircle__fill"),a=Math.round(1500/(2*o)),l=0,d=i.querySelector(".percentage"),c=setTimeout(p,a);function p(){l+=.5,r.style.strokeDashoffset=Math.round(n-n*.01*l+6),d.innerHTML=Math.round(l),l<o&&setTimeout(p,a)}e=!0})}function dv(i){let e=!1;if(document.documentElement.classList.contains("wh-widgetpreview")){e=!0;let t=Math.round(1*i.getAttribute("data-percentage"));i.querySelector(".progressbar__progress").style.width=t+"%";let o=i.querySelector(".percentage");o.innerHTML=t}i.addEventListener("wh:visibilitychange",function(t){if(e||!t.detail.visible)return;let o=Math.round(1*i.getAttribute("data-percentage"));i.querySelector(".progressbar__progress").style.width=o+"%";let r=Math.round(2e3/o),s=0,a=i.querySelector(".percentage"),l=setTimeout(d,r);function d(){s++,a.innerHTML=s,s<o&&setTimeout(d,r)}e=!0})}function cv(i){for(let t of i.querySelectorAll(".path, .label"))t.addEventListener("mouseover",function(){if(t.getAttribute("class").indexOf("hover")!=-1)return;let o=1*t.getAttribute("data-index");for(let n of i.querySelectorAll(".path, .label"))1*n.getAttribute("data-index")==o?n.setAttribute("class",n.nodeName=="path"?"path hover":"label hover"):n.setAttribute("class",n.nodeName=="path"?"path":"label")}),t.addEventListener("mouseout",function(){if(t.getAttribute("class").indexOf("hover")==-1)return;let o=t.getAttribute("data-index");for(let n of i.querySelectorAll(".path[data-index='"+o+"'], .label[data-index='"+o+"']"))n.setAttribute("class",n.nodeName=="path"?"path":"label")});let e=!1;i.addEventListener("wh:visibilitychange",function(t){if(e||!t.detail.visible)return;e=!0;let o=500,n=i.querySelectorAll(".label");for(let r of n){let s=1*r.getAttribute("data-index");setTimeout(function(){s>0&&(i.querySelector(".path[data-index='"+(s-1)+"']").setAttribute("class","path"),i.querySelector(".label[data-index='"+(s-1)+"']").classList.remove("hover")),r.classList.add("hover"),i.querySelector(".path[data-index='"+s+"']").setAttribute("class","path hover"),i.clientWidth,s==n.length-1&&setTimeout(function(){i.querySelector(".path[data-index='"+s+"']").setAttribute("class","path"),i.querySelector(".label[data-index='"+s+"']").classList.remove("hover")},o)},o*(s+1)-o*.5)}})}function pv(i,e){let t=JSON.parse(i.getAttribute("data-chart"));if(!t)return;let o=document.documentElement.classList.contains("wh-widgetpreview"),n=hv(t.color),r=t.values[0].col,s=r.length-1,a=t.values.length-1;if(a<=0)return;let l=i.querySelector(".chart__area"),d=i.querySelector(".chart__legend"),c={x:545,y:200},p=c.x/s;for(let S=0;S<r.length;S++){let N=document.createElement("span");N.innerHTML=r[S],S>0?(N.className="vlabel",N.setAttribute("style","left:"+(S-1)*p+"px;width:"+p+"px;")):r[S]!=""&&(N.className="htitle"),l.appendChild(N)}let m=0,u=0;for(let S=1;S<t.values.length;S++)for(let N=1;N<t.values[S].col.length;N++)m<1*t.values[S].col[N]&&(m=1*t.values[S].col[N]),u>1*t.values[S].col[N]&&(u=1*t.values[S].col[N]);u<0&&i.classList.add("chart--negativevalues");let w=5,f=(m-u)/w,g=Math.floor(Math.log(f)/Math.log(10));f=Math.pow(10,g),m=f*Math.ceil(m/f),u=f*Math.floor(u/f);let _=(m-u)/w,v=0,T;
29for(let S=0;S<=w;S++){let N=m-_*S;T=!T&&N==0;let U=document.createElement("div");U.className="hline"+(N==0?" hline--zero":""),U.setAttribute("style","top:"+100/w*S+"%;"),N=parseFloat(N.toFixed(g+1));let $;N!=0&&($=document.createElement("span"),$.className="label",$.innerHTML=N,U.appendChild($)),l.appendChild(U),$&&S==0&&(v=$.clientWidth+5)}if(!T){let S=document.createElement("div");S.className="hline hline--zero",S.setAttribute("style","top:"+m*100/(m-u)+"%;"),l.appendChild(S)}if(t.vtitle){let S=document.createElement("span");S.className="vtitle",S.innerHTML=t.vtitle,S.setAttribute("style","margin-left:-"+v+"px;"),l.appendChild(S)}if(i.classList.contains("chart--linechart")){let S=document.createElementNS("http://www.w3.org/2000/svg","svg");S.setAttribute("width","100%"),S.setAttribute("height","100%");let N=c.y/(m-u);for(let U=1;U<t.values.length;U++){let $=U*(1/a),ne="",ee=document.createElementNS("http://www.w3.org/2000/svg","path");for(let ae=0;ae<t.values[U].col.length;ae++){let me=t.values[U].col[ae];if(ae>0){let le=p*(ae-1)+p/2,ze=c.y-N*(1*me-u);ne+=(ae==1?"M":" L")+ks(le,2)+" "+ks(ze,2),ae==t.values[U].col.length-1&&(ee.setAttribute("d",ne),ee.setAttribute("stroke",Bn(n.r,n.g,n.b,$)),ee.setAttribute("stroke-width",2),ee.setAttribute("fill","none"),ee.setAttribute("data-id","chart"+e+"_"+U),S.appendChild(ee),o||(ee.addEventListener("mouseover",function(){let ie=this.getAttribute("data-id");if(ie==i.getAttribute("data-hover"))return;this.setAttribute("stroke-width",3),i.setAttribute("data-hover",ie);let Le=i.querySelector(".chart__legend > div:nth-child("+U+")");Le&&Le.classList.add("label--hover")}),ee.addEventListener("mouseout",function(){this.setAttribute("stroke-width",2);let ie=i.querySelector(".chart__legend > div:nth-child("+U+")");ie&&ie.classList.remove("label--hover"),this.getAttribute("data-id")==i.getAttribute("data-hover")&&i.setAttribute("data-hover","")})));let Se=document.createElement("div");if(Se.className="point",Se.setAttribute("style","left:"+le+"px;top:"+ze+"px;border-color:"+Bn(n.r,n.g,n.b,$)+";"),l.appendChild(Se),!o){let ie=document.createElement("span");ie.className="value",ie.innerHTML=ks(1*me,t.decimals),Se.appendChild(ie),ie.setAttribute("style","margin-left:"+-.5*ie.clientWidth+"px;background-color:"+t.color+";border-color:"+t.color+";"),Se.addEventListener("mouseover",function(){let Le=ee.getAttribute("data-id");if(Le==i.getAttribute("data-hover"))return;ee.setAttribute("stroke-width",3),i.setAttribute("data-hover",Le);let qe=i.querySelector(".chart__legend > div:nth-child("+U+")");qe&&qe.classList.add("label--hover")}),Se.addEventListener("mouseout",function(){ee.setAttribute("stroke-width",2);let Le=i.querySelector(".chart__legend > div:nth-child("+U+")");Le&&Le.classList.remove("label--hover"),ee.getAttribute("data-id")==i.getAttribute("data-hover")&&i.setAttribute("data-hover","")})}}else{let le=document.createElement("div");le.setAttribute("data-id","chart"+e+"_"+U),le.className="label",le.innerHTML=me;let ze=document.createElement("span");ze.className="bullet",ze.setAttribute("style","background-color:"+Bn(n.r,n.g,n.b,$)+";"),le.appendChild(ze),d.appendChild(le),o||(le.addEventListener("mouseover",function(){let Se=this.getAttribute("data-id");if(Se==i.getAttribute("data-hover"))return;this.classList.add("label--hover"),i.setAttribute("data-hover",Se);let ie=i.querySelector("svg > path:nth-child("+U+")");ie&&ie.setAttribute("stroke-width",3)}),le.addEventListener("mouseout",function(){this.classList.remove("label--hover");let Se=i.querySelector("svg > path:nth-child("+U+")");Se&&Se.setAttribute("stroke-width",2),this.getAttribute("data-id")==i.getAttribute("data-hover")&&i.setAttribute("data-hover","")}))}}}l.appendChild(S)}else{let S=-.5*(12*a+5*(a-1)),N=[];for(let $=1;$<t.values.length;$++){let ne=$*(1/a);for(let ee=0;ee<t.values[$].col.length;ee++){let ae=t.values[$].col[ee];if(ee>0){let me=Math.abs(100*ae/(m-u)),le=(ee-1)*p+p/2,ze=o?me:0,Se="left:"+le+"px;height:"+ze+"%;";Se+="margin-left:"+(S+($-1)*17)+"px;",Se+="background-color:"+Bn(n.r,n.g,n.b,ne)+";";let ie=document.createElement("div");if(ie.setAttribute("data-id","chart"+e+"_"+$),ie.className="bar",ie.setAttribute("style",Se),u<0&&(ae<0?(ie.style.bottom="auto",ie.style.top=100*m/(m-u)+"%"):ie.style.bottom=-100*u/(m-u)+"%"),l.appendChild(ie),N.push({node:ie,percentage:me,value:ae}),!o){let Le=document.createElement("span");Le.className="value",Le.innerHTML=ks(1*ae,t.decimals),Le.setAttribute("style","background-color:"+t.color+";border-color:"+t.color+";"),ie.appendChild(Le),Le.style.marginLeft=-.5*Le.clientWidth+"px",ie.addEventListener("mouseover",function(){let qe=this.getAttribute("data-id");if(qe==i.getAttribute("data-hover"))return;this.setAttribute("stroke-width",3),i.setAttribute("data-hover",qe);let qi=i.querySelector(".chart__legend > div:nth-child("+$+")");qi&&qi.classList.add("label--hover")}),ie.addEventListener("mouseout",function(){this.setAttribute("stroke-width",2);let qe=i.querySelector(".chart__legend > div:nth-child("+$+")");qe&&qe.classList.remove("label--hover"),this.getAttribute("data-id")==i.getAttribute("data-hover")&&i.setAttribute("data-hover","")})}}else{let me=document.createElement("div");me.setAttribute("data-id","chart"+e+"_"+$),me.className="label",me.innerHTML=ae;let le=document.createElement("span");le.className="bullet",le.setAttribute("style","background-color:"+Bn(n.r,n.g,n.b,ne)+";"),me.appendChild(le),d.appendChild(me)}}}let U=!1;i.addEventListener("wh:visibilitychange",function($){if(!(U||!$.detail.visible)){for(let ne=0;ne<N.length;ne++)N[ne].node.style.height=N[ne].percentage+"%";U=!0}})}}function ks(i,e){if(e>0){let t=Math.pow(10,e+4),o=Math.pow(10,e);return Math.round(Math.round(i*t)/1e4)/o}if(e<0){let t=Math.pow(10,Math.abs(e)),o=Math.pow(10,Math.abs(e));return Math.round(Math.round(i/t)*o)}return Math.round(i)}function hv(i){return i=i.toUpperCase().replace(/[^0-9A-F]/g,""),{r:parseInt(i.substr(0,2),16),g:parseInt(i.substr(2,2),16),b:parseInt(i.substr(4,2),16)}}function Bn(i,e,t,o){let n=1-o;return i=Math.round((o*(i/255)+n)*255),e=Math.round((o*(e/255)+n)*255),t=Math.round((o*(t/255)+n)*255),"#"+(i<16?"0":"")+i.toString(16)+(e<16?"0":"")+e.toString(16)+(t<16?"0":"")+t.toString(16)}b(".segmentedcircle",cv);b(".progressbar",dv);b(".progresscircle",lv);window.addEventListener("load",()=>{b(".chart",pv,{waitEmbedded:!0}),L(window,"scroll",{bubbles:!0,cancelable:!1})});de();q();function Pm(){for(let i of k("*[data-needsconsent],.wh-video.wh-requireconsent")){let e=i.querySelector(".consentblocker");if(!e){if(i.dataset.needsconsent==="video"||i.matches(".wh-video")){let t="",o="",n=i.dataset.needsconsent==="video"?F(i,"[data-vi
29deo]")?.dataset.video:i.dataset.whVideo;if(n){let r=JSON.parse(n);if(o=r.network,o==="youtube")o="YouTube",t="https://youtu.be/"+r.id;else if(o==="vimeo")o="Vimeo",t="https://vimeo.com/"+r.id;else if(o==="yuja")continue}e=h("div",{class:"consentblocker"},h("div",{class:"consentblocker__title"},y("utwente_base:frontend.ws2016.js.consentblock-video-title")),h("div",{class:"consentblocker__description"},y("utwente_base:frontend.ws2016.js.consentblock-video-line1",o)+" ",h("a",{href:"#accept"},y("utwente_base:frontend.ws2016.js.consentblock-accept3thpartycookies"))," "+y("utwente_base:frontend.ws2016.js.consentblock-video-accept3thpartycookies-suffix"),t?h("span",null," "+y("utwente_base:frontend.ws2016.js.consentblock-video-directlink-prefix")+" ",h("a",{target:"_blank",rel:"noopener noreferrer",href:t},y("utwente_base:frontend.ws2016.js.consentblock-video-directlink",o))):null))}else if(i.dataset.needsconsent==="soundcloud"){let t="SoundCloud";i.dataset.provider&&i.dataset.provider==="transistor"&&(t="Transistor"),e=h("div",{class:"consentblocker"},h("div",{class:"consentblocker__title"},y("utwente_base:frontend.ws2016.js.consentblock-soundcloud-title")),h("div",{class:"consentblocker__description"},y("utwente_base:frontend.ws2016.js.consentblock-soundcloud-line1",t)+" ",h("a",{href:"#accept"},y("utwente_base:frontend.ws2016.js.consentblock-accept3thpartycookies"))," "+y("utwente_base:frontend.ws2016.js.consentblock-soundcloud-accept3thpartycookies-suffix"),i.dataset.directlink?h("span",null," "+y("utwente_base:frontend.ws2016.js.consentblock-soundcloud-directlink-prefix")+" ",h("a",{target:"_blank",rel:"noopener noreferrer",href:i.dataset.directlink},y("utwente_base:frontend.ws2016.js.consentblock-soundcloud-directlink"))):null))}else i.dataset.needsconsent==="facebook"?(i.replaceChildren(),e=h("div",{class:"consentblocker"},h("div",{class:"consentblocker__title"},y("utwente_base:frontend.ws2016.js.consentblock-facebook-title")),h("div",{class:"consentblocker__description"},y("utwente_base:frontend.ws2016.js.consentblock-facebook-line1")+" ",h("a",{href:"#accept"},y("utwente_base:frontend.ws2016.js.consentblock-accept3thpartycookies"))," "+y("utwente_base:frontend.ws2016.js.consentblock-facebook-accept3thpartycookies-suffix")))):i.dataset.needsconsent==="twitter-embed"&&(e=mv());e&&(e.addEventListener("click",t=>uv(t)),i.appendChild(e))}}}function uv(i){i.stopPropagation();let e=_t(i.target)&&i.target.closest(".consentblocker a");if(e){e.getAttribute("href")==="#accept"&&(i.preventDefault(),dt.acceptMarketingCookies());return}i.preventDefault()}function mv(){return h("div",{class:"consentblocker"},h("div",{class:"consentblocker__description"},y("utwente_base:frontend.ws2016.js.consentblock-twitterembed-line1")+" ",h("a",{href:"#accept"},y("utwente_base:frontend.ws2016.js.consentblock-accept3thpartycookies"))," "+y("utwente_base:frontend.ws2016.js.consentblock-twitterembed-accept3thpartycookies-suffix")))}function Im(){for(let i of k("*[data-needsconsent], .wh-video.wh-requireconsent"))i.querySelector(".consentblocker")?.remove()}J(()=>{dt.getConsent()?Im():Pm(),document.addEventListener("wh:consent-change",i=>{dt.getConsent()?Im():Pm()})});q();b(".ut-cookiewidget",rh);q();var Vn=class{node;node_day;node_daydigits;node_hours;node_hourdigits;node_minutes;node_minutedigits;node_seconds;node_seconddigits;node_digits;animframetimer=null;options;countdownvalue=null;countdownto=null;countdownfrom=null;countdownto_timestamp=0;countdownfrom_timestamp=0;previousroundedtime=0;debug;initialized=!1;constructor(e,t){this.node=e,this.debug=e.hasAttribute("data-debugcountdown"),this.options={countdownto:"",countdownfrom:"",onexpired:null,...t},this.debug&&console.log("[CountDownComponent] initializing",t),this.node_day=e.querySelector(".countdown__section--days"),this.node_daydigits=Array.from(this.node_day.querySelectorAll(".countdown__digit")),this.node_hours=e.querySelector(".countdown__section--hours"),this.node_hourdigits=Array.from(this.node_hours.querySelectorAll(".countdown__digit")),this.node_minutes=e.querySelector(".countdown__section--minutes"),this.node_minutedigits=Array.from(this.node_minutes.querySelectorAll(".countdown__digit")),this.node_seconds=e.querySelector(".countdown__section--seconds"),this.node_seconddigits=Array.from(this.node_seconds.querySelectorAll(".countdown__digit")),this.node_digits=Array.from(e.querySelectorAll(".countdown__digit")),this.debug&&console.info("[CountDownComponent] Counting down to %s",e.dataset.countdownto,this.countdownto_timestamp),this.enhanceDOM(),t.countdownfrom?this.setCountdownFrom(t.countdownfrom):e.dataset.countdownfrom&&this.setCountdownFrom(e.dataset.countdownfrom),t.countdownto?this.setCountdownTo(t.countdownto):e.dataset.countdownto?this.setCountdownTo(e.dataset.countdownto):console.error("[CountDownComponent] initialized without setting options.countdownto or a data-countdownto attribute on .component-countdown"),this.refreshAndScheduleNextFrame(),this.countdownvalue&&this.countdownvalue.days===0&&this.node_day.classList.add("countdown__section--initiallyleadingzero"),e.classList.add("component-countdown--allowanimation"),this.node.addEventListener("transitionend",o=>this.onTransitionEnd(o)),document.addEventListener("visibilitychange",()=>this.onPageVisibilityChange()),this.initialized=!0}setCountdownFrom(e){if(this.countdownfrom=Yn(e),this.countdownfrom_timestamp=this.countdownfrom.getTime(),this.countdownfrom_timestamp&&new Date().getTime()<this.countdownfrom_timestamp){this.debug&&console.info("[CountDownComponent] The countdown has not started yet!"),this.node.classList.add("component-countdown--before");let t=this.node.closest("[data-markifbefore]");t&&t.classList.add("has-before-countdown")}}setCountdownTo(e){this.countdownto=Yn(e),this.countdownto_timestamp=this.countdownto.getTime(),this.countdownvalue=null,this.previousroundedtime=0,this.node.classList.remove("component-countdown--expired"),this.initialized&&this.refreshAndScheduleNextFrame()}stopCountdown(){this.animframetimer&&(cancelAnimationFrame(this.animframetimer),this.animframetimer=null)}onPageVisibilityChange(){if(document.visibilityState==="hidden"){this.node.classList.remove("component-countdown--allowanimation");return}if(document.visibilityState==="visible"){for(let e of this.node_digits)if(e.firstElementChild.__countdown_value===0){let t=this.__getWrapDigitIDX(e);this.setTrackPosition(e,t)}requestAnimationFrame(this.reenableTransitions.bind(this))}}reenableTransitions(){requestAnimationFrame(this.reenableTransitions2.bind(this))}reenableTransitions2(){this.node.classList.add("component-countdown--allowanimation")}
29onAnimFrame(){this.animframetimer=null,this.refreshAndScheduleNextFrame()}refreshAndScheduleNextFrame(){this.refresh(),!this.animframetimer&&(!this.countdownvalue||!this.countdownvalue.expired)&&(this.animframetimer=requestAnimationFrame(this.onAnimFrame.bind(this)))}refresh(){let t=new Date().getTime();t%1e3>950?t+=1e3-t%1e3:t=t-t%1e3,t!==this.previousroundedtime&&(this.previousroundedtime=t,this.refreshFor(t))}refreshFor(e){if(this.node.classList.contains("component-countdown--before"))if(this.countdownfrom_timestamp&&e>=this.countdownfrom_timestamp){this.debug&&console.info("[CountDownComponent] The countdown starts now!"),this.node.classList.remove("component-countdown--before");let p=this.node.closest("[data-markifbefore]");p&&p.classList.remove("has-before-countdown")}else return;if(e>this.countdownto_timestamp){this.debug&&console.info("[CountDownComponent] The countdown has expired!"),this.node.classList.add("component-countdown--expired");let p=this.node.closest("[data-markifexpired]");p&&p.classList.add("has-expired-countdown"),this.countdownvalue={days:0,hours:0,minutes:0,seconds:0,expired:!0},this.options.onexpired&&this.options.onexpired();return}let t=this.countdownto_timestamp-e,o=Math.floor(t/(1e3*60*60*24)),n=Math.floor(t%(1e3*60*60*24)/(1e3*60*60)),r=Math.floor(t%(1e3*60*60)/(1e3*60)),s=Math.floor(t%(1e3*60)/1e3);this.node_day.classList.toggle("leadingzeros",o===0),this.node_hours.classList.toggle("leadingzeros",o===0&&n===0),this.node_minutes.classList.toggle("leadingzeros",o===0&&n===0&&r===0),this.node_seconds.classList.toggle("leadingzeros",o===0&&n===0&&r===0&&s===0);let a=[Math.floor(o/100),Math.floor(o/10)%10,o%10,Math.floor(n/10),n%10,Math.floor(r/10),r%10,Math.floor(s/10),s%10],l=0,d=!0,c=0;for(let p of a){let m=a[l];m>0&&(d=!1),d||c++;let u=this.node_digits[l];!this.initialized&&d&&this.node_digits[l].classList.toggle("countdown__digit--initiallyleadingzero",d),u.firstElementChild.__countdown_value!==m&&(this.setDigit(u,m),this.node_digits[l].classList.toggle("countdown__digit--leadingzero",d)),l++}this.node.setAttribute("data-initiallyvisibledigits",c.toString()),this.countdownvalue={days:o,hours:n,minutes:r,seconds:s,expired:!1},this.debug&&console.info("[CountDownComponent]",this.countdownvalue)}setDigit(e,t){e.firstElementChild.__countdown_value=t,e.setAttribute("data-countvalue",String(t)),this.__shiftTrack(e,t)}__shiftTrack(e,t){t===0&&(!this.initialized||document.visibilityState==="hidden")&&(t=this.__getWrapDigitIDX(e)),this.setTrackPosition(e,t)}__getWrapDigitIDX(e){let t=e.getAttribute("data-digit");return t==="minutes-ten"||t==="seconds-ten"?6:t==="hours-ten"?3:10}setTrackPositionToWrapDigit(e){let t=this.__getWrapDigitIDX(e);this.setTrackPosition(e,t)}setTrackPosition(e,t){let o=`translateY(calc(-${100*t}% - ${t}px))`,n=e.firstElementChild;n.style.transform=o,n.__countdown_digitidx=t}onTransitionEnd(e){let t=e.target;if(t.__countdown_value===0){let o=t.parentNode;document.hidden?this.setTrackPositionToWrapDigit(o):(t.style.transition="none",this.setTrackPositionToWrapDigit(o),setTimeout(()=>{t.style.transition=""}))}}enhanceDOM(){let e=this.node.querySelectorAll(".countdown__digit"),t=this.getDigitsFragment([0,1,2,3,4,5,6,7,8,9,0]),o=this.getDigitsFragment([0,1,2,3,4,5,0]),n=this.getDigitsFragment([0,1,2,0]);for(let r of e){let s=r.getAttribute("data-digit"),a;s==="minutes-ten"||s==="seconds-ten"?a=o:s==="hours-ten"?a=n:a=t,r.replaceChild(a.cloneNode(!0),r.firstChild)}}getDigitsFragment(e){let t=document.createDocumentFragment(),o=document.createElement("div");o.className="countdown__digit__track",t.appendChild(o);for(let n of e){let r=document.createElement("div");r.className="countdown__digit__number",r.innerText=n.toString(),o.appendChild(r)}return t}};function Yn(i){let e=i.split(" "),t=e[0].split("-"),o=e[1].split(":");return new Date(Number(t[0]),Number(t[1])-1,Number(t[2]),Number(o[0]),Number(o[1]))}b(".component-countdown[data-countdownto]",gv);function gv(i){new Vn(i,{})}A();var rd=class{constructor(e){console.info("[CountDownEventsWidget] Welcome"),this.node=e,this.events=[],this.currentevent=null,this.counter=null,this.countdownnode=e.querySelector(".component-countdown");let t=new Date;this.eventnodes=this.node.querySelectorAll(".component-ctalinks__item");for(let o of this.eventnodes){let n=JSON.parse(o.dataset.event);this.events.push({node:o,...n,countdownto_start_dt:Yn(n.countdownto_start),countdownto_end_dt:Yn(n.countdownto_end),expired:t>n.countdownto_end_dt})}this.refresh()}refresh(){let e=new Date,t=null;for(let o of this.events)o.expired||(e>o.countdownto_end_dt?o.node.classList.add("widget-countdown-expireditem"):t||(t=o));if(t){t.node.classList.add("widget-countdown-countingdownto"),this.currentevent=t;let o=this.node.querySelector(".widget-countdown__addtocalendar .addevent-data");o&&(o.innerHTML=t.node.querySelector(".addevent-data").innerHTML),this.counter?(console.info("Setting event (update countdown to new countdown target)",t),this.counter.setCountdownTo(t.countdownto_start)):(console.info("Setting event (initializing countdown)",t),this.counter=new Vn(this.countdownnode,{countdownto:t.countdownto_start,onexpired:this.onCurrentCountdownExpired.bind(this)}))}else this.node.classList.add("has-expired-countdown")}onCurrentCountdownExpired(){this.currentevent.expired=!0,this.currentevent.node.classList.remove("widget-countdown-countingdownto"),this.currentevent.node.classList.add("widget-countdown-expireditem"),this.refresh()}};b(".widget-countdown--withevents",_v);function _v(i){new rd(i)}A();function wv(i,e){if(e.length===0){wt(i);return}let t=F(i,".widget__list");e.forEach(o=>{let n=i.dataset.baseurl?i.dataset.baseurl+o.suburl:o.url;t.appendChild(h("a",{href:n,class:"widget__listitem widget__listitem--link"},h("span",{class:"widget__listitem-icon widget__listitem-icon--small UT-icon-UT_icon_52_arrow-right-round-16px"}),h("span",{class:"widget__listitem-text"},o.title),h("span",{class:"widget__listitem-subtext"},o.widgetdate)))}),Ee(i)}async function bv(i){let e=await fetch(i.dataset.publocfile);if(e&&e.status===200){let t=await e.json();t&&t["p"+i.dataset.publoc]?wv(i,t["p"+i.dataset.publoc].items):wt(i)}}b(".widget-ws2016events",i=>bv(i));var sd=class extends ce{constructor(e){super(e),this.container=this.node.closest(".feedback");for(let t of this.container.querySelectorAll("input[name='useful']"))t.addEventListener("change",o=>{if(this.ispositive=o.target.value==="yes",this.container.classList.add(this.ispositive?"feedback--ispositive":"feedback--isnegative"),this.reset(),!this.faqquestion){let n=this.node.closest(".wh-details");if(!n)return;this.faqquestion=n.querySelector(".wh-details__summary")}
29window.dataLayer&&window.dataLayer.push({event:"faq-"+(this.ispositive?"ja":"nee"),faqcontent:this.faqquestion.textContent})})}getFormExtraSubmitData(){return{token:this.node.dataset.token,faqquestion:this.faqquestion?this.faqquestion.textContent:""}}onSubmitSuccess(e){e.success&&this.container.classList.add("feedback--send")}};se("utwente_base:faqfeedbackform",i=>new sd(i));A();window.__carrouselcontent_instances=[];window.getCC=function(){for(let i of window.__carrouselcontent_instances)if(i.instance.options.debug)return i.instance};var Ts=class{constructor(e,t){t={viewport:"",viewport_inner:"",itemsselector:"",item_activeclass:"",itemmeasureselector:"",bulletscontainer:"",bulletclass:"",bulletselectedclass:"",createbullet:null,previousbutton:null,nextbutton:null,allowwrap:!1,autoplay:!1,autoplay_initialdelay:0,autoplay_freezeslideduration:6e3,transitionDuration:1500,debug:!1,debug_determineactivepage:!1,onchangeslide:null,...t},window.location.href.indexOf("debugcc")>-1&&(t.debug=!0,t.debug_determineactivepage=!0),this.options=t,this.options.debug&&console.log("[CarrouselContent] Options",t),this.prevactivepage=null,this.activepage=0,this.pagesinfo=[],this.scrollLeft=0,this.initAutoplayVars(),this.widgetnode=e,typeof t.viewport=="string"&&(this.viewport=e.querySelector(t.viewport),this.viewport||console.error(t.viewport,"not found in",e)),typeof t.viewport_inner=="string"&&(this.viewport_inner=e.querySelector(t.viewport_inner),this.viewport_inner||console.error(t.viewport_inner,"not found in",e)),this.items=[];for(let o of e.querySelectorAll(t.itemsselector))if(this.options.itemmeasureselector){let n=o.querySelector(this.options.itemmeasureselector);n||console.error("Missing measurenode"),this.items.push({node:o,measurenode:n})}else this.items.push({node:o});if(this.options.debug&&console.log("[CarrouselContent] Items",this.items),!this.viewport){console.error("[CarrouselContent] Missing viewport for",e);return}if(!this.viewport_inner){console.error("[CarrouselContent] Missing viewport_inner for",e);return}if(t.bulletscontainer!=""&&(this.bulletscontainer=e.querySelector(t.bulletscontainer),!this.bulletscontainer)){console.error("[CarrouselContent] Missing bulletscontainer for",e);return}this.bullets=[],this.viewport.addEventListener("scroll",o=>this.onScroll(o)),this.bulletscontainer&&(this.bulletscontainer.addEventListener("mousedown",o=>this.onBulletClick(o)),this.bulletscontainer.addEventListener("touchstart",o=>this.onBulletClick(o),{passive:!0})),this.options.previousbutton&&(this.options.previousbutton.addEventListener("click",o=>this.previousPage(o)),this.options.previousbutton.addEventListener("keypress",o=>this.maybePreviousPage(o))),this.options.nextbutton&&(this.options.nextbutton.addEventListener("click",o=>this.nextPage(o)),this.options.nextbutton.addEventListener("keypress",o=>this.maybeNextPage(o))),this.refresh(),this.gotoPage(0),this.updateNavigationBar(),this.options.debug&&console.info("[CarrouselContent]",{widgetnode:this.widgetnode,viewport:this.viewport,viewport_inner:this.viewport_inner,items:this.items,bulletscontainer:this.bulletscontainer,pages:this.pages}),this.playing&&this.__applyCurrentAutoplay(this.options.autoplay_initialdelay),window.resizeObserver&&(ad.observe(this.viewport),this.viewport!=this.viewport_inner&&ad.observe(this.viewport_inner)),window.__carrouselcontent_instances.push({node:e,instance:this}),setInterval(this.verifyScrollPosition.bind(this),1e3)}verifyScrollPosition(){let e=this.viewport.scrollLeft;this.debug&&console.log("INTERVAL",document.visibilityState,e,this.scrollLeft),e!=this.scrollLeft&&(console.error("scrollLeft checked in interval doesn't match the value from the last received scroll event."),this.onScroll(null))}maybePreviousPage(e){(e.keyCode==13||e.keyCode==32)&&(this.previousPage(),e.preventDefault())}maybeNextPage(e){(e.keyCode==13||e.keyCode==32)&&(this.nextPage(),e.preventDefault())}previousPage(){this.options.debug&&console.log("previousPage"),this.activepage>0?this.gotoPage(this.activepage-1,!0):this.options.allowwrap&&this.gotoPage(this.pages.length-1)}nextPage(){this.options.debug&&console.log("nextPage",{activepage:this.activepage,pagescount:this.pages.length,nextactivepage:this.activepage+1}),this.activepage<this.pages.length-1?this.gotoPage(this.activepage+1,!0):this.options.allowwrap&&this.gotoPage(0)}gotoPage(e,t){this.options.debug&&console.log("[CarrouselContent] gotoPage",e,this.pages[e],t),this.viewport.scrollTo?this.viewport.scrollTo({left:this.pages[e],behavior:"smooth"}):this.viewport.scrollLeft=this.pages[e]}onBulletClick(e){e.type=="click"&&e.preventDefault();let t=e.target.closest("."+this.options.bulletclass),o=this.bullets.indexOf(t);t&&(this.options.debug&&console.log("[CarrouselContent] onButtonClick",t,o),this.gotoPage(o,!0))}onScroll(e){this.scrollLeft=this.viewport.scrollLeft;let t=this.determineActivePage();this.activepage=t,this.activepage!=this.prevactivepage&&(this.options.debug&&console.log("CarrouselContent::onScroll] active page changed to ",this.activepage),this.updateNavigationBar(),this.prevactivepage=this.activepage,this.options.onchangeslide&&(this.options.debug&&console.info("CarrouselContent::onScroll] using slidechange callback"),this.options.onchangeslide({slideidx:this.activepage,slideidx_prev:this.prevactivepage,slidedata:this.pagesinfo[this.activepage]})))}updateNavigationBar(){if(this.options.previousbutton&&(!this.options.allowwrap&&this.activepage==0?this.options.previousbutton.setAttribute("disabled",""):this.options.previousbutton.removeAttribute("disabled")),this.options.nextbutton&&(!this.options.allowwrap&&this.activepage==this.pages.length-1?this.options.nextbutton.setAttribute("disabled",""):this.options.nextbutton.removeAttribute("disabled")),this.bullets.length>0)for(let e=0;e<this.pages.length;e++)this.bullets[e].classList[e==this.activepage?"add":"remove"](this.options.bulletselectedclass);if(this.options.item_activeclass!=""){this.options.debug&&console.log("Active page",this.activepage,this.pagesinfo[this.activepage]);for(let e of this.items){let t=this.pagesinfo[this.activepage].itemnodes.indexOf(e.node)>-1;this.options.debug&&console.log(e,t),e.node.classList.toggle(this.options.item_activeclass,t)}}}determineActivePage(){let e=this.viewport.scrollLeft,t=this.viewport.scrollWidth,o=this.viewport_inner.getBoundingClientRect();this.options.debug_determineactivepage&&console.group("[CarrouselContent] determineActivePage");let n=-1;if(this.options.debug_determineactivepage&&(console.log("Pages",this.pages),console.info("ScrollLeft",e)),e+this.viewport.offsetWidth==t)return this.options.debug&&(console.log("Reached last scrollLeft position, so last page."),console.groupEnd()),n=this.pages.length-1,n;for(let r=0;r<this.pages.length-1;r++){let s=this.pages[r];if(this.options.debug_determineactivepage&&console.info("Page",r,"at",s,"till",s+o.width),r==this.pages.length||this.pages[r+1]>e){n=r;break}}return n==-1&&(n=this.pages.length-1),this.options.debug_determineactivepage&&console.groupEnd(),n}refresh(){this.recalculatePages(),this.createJumpButtons(),this.updateNavigationBar()}recalculatePages(){if(!this.viewport)return;
29this.options.debug&&(console.group("[CarrouselContent] recalculatePages",this.options.__test),console.log("Items",this.items)),this.pages=[],this.pagesinfo=[];let e=this.viewport_inner.getBoundingClientRect(),t=this.viewport.getBoundingClientRect(),o=this.viewport.scrollLeft,n=0,r=0,s=[],a=[];for(let l of this.items){let d=l.measurenode??l.node,c=d.getBoundingClientRect();if(c.width==0)continue;let p,m;p=c.left-t.left+o,m=c.right-t.left+o;let u=window.getComputedStyle(d),w;u.scrollMarginLeft?w=parseInt(u.scrollMarginLeft):u.scrollSnapMarginLeft?w=parseInt(u.scrollSnapMarginLeft):(w=e.left-t.left,this.options.debug&&console.log("Keeping whitespace at start",w)),p-=w,m-=w,this.options.debug&&console.log({node:l,item_left:c.left,item_width:c.width,xstart:p,xend:m}),s.push(l),a.push(l.node),m>n&&(this.options.debug&&console.log("Page #"+r+" starts at",n,"and end before",n+this.viewport.clientWidth),this.pages.push(Math.floor(p)),this.pagesinfo.push({x:Math.floor(p),items:s,itemnodes:a}),s=[],a=[],r++,n=p+this.viewport.clientWidth)}this.options.debug&&console.log("pages:",this.pagesinfo),console.groupEnd()}createJumpButtons(){if(!this.viewport||!this.bulletscontainer)return;let e=this.determineActivePage();this.bulletscontainer.innerHTML="",this.bullets=[];for(let o=0;o<this.pages.length;o++){let n=null;this.options.createbullet?n=this.options.createbullet():(n=document.createElement("div"),n.className=this.options.bulletclass,n.classList[o==e?"add":"remove"](this.options.bulletselectedclass)),this.bulletscontainer.appendChild(n),this.bullets.push(n)}let t=this.pages.length>1;this.bulletscontainer.style.display=t?"":"none",this.widgetnode.classList[t?"add":"remove"]("carrouselcontent--multiplepages")}onResize(){this.refresh()}initAutoplayVars(){this.autoplaytimer=null,this.lastautoslidetime=null,this.playing=this.options.autoplay}destroy(){clearTimeout(this.autoplaytimer),this.autoplaytimer=null,this.playing=!1}pause(){this.playing=!1,this.__applyCurrentAutoplay()}play(){this.playing=!0,this.__applyCurrentAutoplay()}__applyCurrentAutoplay(e){this.options.debug&&console.log("[CarrouselContent] __applyCurrentAutoplay"),e||(e=0),this.playing?this.autoplaytimer?this.options.debug&&console.log("[CarrouselContent] Timer already running..."):(this.options.debug&&console.log("[CarrouselContent] Setting new timer for auto slide"),this.autoplaytimer=setTimeout(this.__nextSlideByTimer.bind(this),this.options.autoplay_freezeslideduration+e)):(this.options.debug&&console.log("[CarrouselContent] No autoplay"),this.autoplaytimer&&(clearTimeout(this.autoplaytimer),this.autoplaytimer=null))}__nextSlideByTimer(){this.options.autoplay&&(this.lastautoslidetime=new Date().getTime(),this.nextPage(),this.autoplaytimer=setTimeout(this.__nextSlideByTimer.bind(this),this.options.autoplay_freezeslideduration))}};var ad;window.ResizeObserver?ad=new ResizeObserver(i=>vv(i)):window.addEventListener("resize",ld);function vv(i){console.log("onResize",i);for(let e of i)for(let t of window.__carrouselcontent_instances)e.target==t.instance.viewport&&(console.info("Widget has resized"),t.instance.onResize())}function ld(){for(let i of window.__carrouselcontent_instances)i.instance.onResize()}J(ld);window.addEventListener("load",ld);A();function xv(i){let e=new Ts(i,{viewport:".imageswithcaption--multiple .imageswithcaption__images",viewport_inner:".imageswithcaption__images",itemsselector:".imageswithcaption__item__image",bulletscontainer:".imageswithcaption__jumpbuttons",bulletclass:"imageswithcaption__jumpbutton",bulletselectedclass:"slideshow--activedot",createbullet:Tv,onchangeslide:kv,autoplay:!0,allowwrap:!0,__test:"ImagesWithCaption"});i.addEventListener("mouseenter",()=>{i.classList.add("imageswithcaption--paused"),e.pause()}),i.addEventListener("mouseleave",()=>{i.classList.remove("imageswithcaption--paused"),e.play()})}function kv(i){let e=i.slidedata.itemnodes[0],t=e.getAttribute("aria-describedby"),o=document.getElementById(t),s=e.closest(".embeddedobject--imageswithcaption").querySelector(".imageswithcaption__metaslides").firstElementChild;for(;s;)s.classList.toggle("active",o==s),s=s.nextElementSibling}function Tv(){return h("span",{class:"imageswithcaption__jumpbutton UT-icon-UT_icon_77_sliderdot-16px"},h("span",{class:"imageswithcaption__jumpbutton-active UT-icon-UT_icon_76_slider-dot-active-16px"}))}b(".imageswithcaption--multiple",xv);A();b(".embeddedobject-imagevideowithtext__image__fullscreen",i=>{i.addEventListener("click",()=>{Qi("",h("img",{src:i.dataset.src,class:"embeddedobject-imagevideowithtext-dialog__image",alt:""}),{theme:"embeddedobject-imagevideowithtext-dialog"})})});A();function Sv(i,e){if(e.length===0){wt(i);return}let t=F(i,".widget-ws2016news__photo"),o=F(i,".widget__list");e.forEach((n,r)=>{let s=i.dataset.baseurl?i.dataset.baseurl+n.suburl:n.url;r===0&&t&&(n.photolink?(t.setAttribute("href",s),t.style.backgroundImage="url("+n.photolink+")",t.setAttribute("role",n.photoalt?"image":"presentation"),n.photoalt&&t.setAttribute("aria-label",n.photoalt)):wt(t)),o.appendChild(h("a",{href:s,class:"widget__listitem widget__listitem--link"},h("span",{class:"widget__listitem-icon widget__listitem-icon--small UT-icon-UT_icon_52_arrow-right-round-16px"}),h("span",{class:"widget__listitem-text"},n.title)))}),Ee(i)}async function Ev(i){let e=await fetch(i.dataset.publocfile);if(e&&e.status===200){let t=await e.json();t&&t["p"+i.dataset.publoc]?Sv(i,t["p"+i.dataset.publoc].items):wt(i)}}b(".widget-ws2016news",i=>{Ev(i)});A();q();function zm(i){if(!i.textContent)return;let t=i.textContent.replace(/[^0-9]+/g,"").split("53487");t.length===2&&t[1].length===4&&i.replaceChildren(h("span",{class:"prettyphonenumber"},"+31 (0)53 487 ",h("b",null,t[1])))}function Cv(i,e){return i.style.maxHeight="0",i.classList.add("opendetails"),i.style.maxHeight=i.children[0].clientHeight+"px",setTimeout(()=>{i.style.maxHeight=""},200)}function Lv(i){i.style.maxHeight=i.children[0].clientHeight+"px",i.clientHeight,i.style.maxHeight="0",i.classList.remove("opendetails")}var dd=null;function Fv(i){i.addEventListener("click",e=>{B(e);let t=i.closest(".widget-quotes");if(t){e.preventDefault(),t.classList.toggle("showslidedetails");return}clearTimeout(dd),i.classList.toggle("opendetails");let o=i.closest(".widget-quote"),n=F(o,".widget-quote__persondetails");i.classList.contains("opendetails")?dd=Cv(n,dd):Lv(n)})}var cd=class{constructor(e){this.items=k(e,".widget-quote"),this.idx=0,e.parentNode.appendChild(h("div",{class:"embeddedobject-quotes__nav"+(F(e,".widget-quote--withphoto")?" embeddedobject-quotes__nav--spaceleft":"")},this.items.map((t,o)=>h("button",{onClick:()=>this.gotoSlide(o),type:"button",class:"embeddedobject-quotes__nav__button"})))),this.btns=k(e.parentNode,".embeddedobject-quotes__nav__button"),this.items[this.idx].classList.add("active"),this.btns[this.idx].classList.add("active"),this.timer=setTimeout(()=>this.nextSlide(),7e3),e.addEventListener("mouseover",()=>clearTimeout(this.timer)),e.addEventListener("mouseout",()=>{clearTimeout(this.timer),this.timer=setTimeout(()=>this.nextSlide(),7e3)})}nextSlide(){this.gotoSlide(this.idx+1),this.timer=setTimeout(()=>this.nextSlide(),7e3)}gotoSlide(e){e<0?e=this.items.length-1:e>=this.items.length&&(e=0),e!==this.idx&&(clearTimeout(this.timer),this.items[this.idx].classList.remove("active"),this.btns[this.idx].classList.remove("active"),this.idx=e,this.items[this.idx].classList.add("active"),this.btns[this.idx].classList.add("active"))}};b(".embeddedobject-quotes__wrapper",i=>new cd(i));var pd=class{constructor(e){this.node=e,this.node.addEventListener("click",o=>
29this.onClick(o)),this.items=k(e,".widget-quotes__slide"),window.addEventListener("load",o=>this.setQuotesHeight()),document.fonts.ready.then(()=>this.setQuotesHeight()),this.setQuotesHeight();let t=this.items.length;t<=1||(this.delay=7e3,this.duration=1e3,this.idx=0,this.jmpbtns=[],this.items.forEach((o,n)=>{o.style.transition="opacity "+this.duration+"ms";let r=F(o,".widget-quote__front"),s=h("div",{class:"widget-quotes__jumpbuttons"});for(let a=0;a<t;++a)s.appendChild(h("span",{class:n===a?"active":""}));r.appendChild(s),this.jmpbtns.push(s)}),this.timer=setTimeout(()=>this.nextSlide(),this.delay),e.addEventListener("mouseover",o=>{clearTimeout(this.timer)}),e.addEventListener("mouseout",o=>{clearTimeout(this.timer),this.timer=setTimeout(()=>this.nextSlide(),this.delay)}))}onClick(e){let t=e.target.closest(".widget-quotes__jumpbuttons > span");if(t){for(let o=0;o<this.jmpbtns[this.idx].children.length;++o)if(this.jmpbtns[this.idx].children[o]===t){this.gotoSlide(o);break}}}gotoSlide(e){if(this.node.classList.contains("showslidedetails"))return;let t=this.idx;this.idx=e,e<0&&(this.idx=this.items.length-1),this.idx=this.idx%this.items.length,this.idx!==t&&(clearTimeout(this.timer),this.items.forEach(o=>o.classList.remove("fadeout")),this.items[t].classList.remove("active"),this.items[t].classList.add("fadeout"),this.items[this.idx].classList.add("active"),this.timer=setTimeout(()=>this.nextSlide(),this.delay))}previousSlide(){this.gotoSlide(this.idx-1)}nextSlide(){if(this.node.classList.contains("showslidedetails")){clearTimeout(this.timer),this.timer=setTimeout(()=>this.nextSlide(),this.delay);return}this.gotoSlide(this.idx+1)}setQuotesHeight(){let e=0;this.items.forEach(t=>{k(t,".widget-quote__front, .widget-quote__persondetails__content").forEach(o=>{o.style.minHeight="";let n=o.clientHeight;n>e&&(e=n)})}),this.items.forEach(t=>{k(t,".widget-quote__front, .widget-quote__persondetails__content").forEach(o=>{o.style.minHeight=e+"px"})}),this.node.style.height=e+"px",Ee(this.node)}};b(".widget-quote a[href^='tel:'] > .value",i=>zm(i));b(".widget-quote__togglemore",i=>Fv(i));b(".widget-quotes",i=>new pd(i));A();function Av(i){let e;try{e=JSON.parse(i.dataset.options)}catch{}e&&e.loadifconsent&&(dt.getConsent()?hd(i,e):document.addEventListener("wh:consent-change",t=>{dt.getConsent()&&hd(i,e)})),i.addEventListener("click",()=>hd(i,e))}function hd(i,e){if(F(i,"iframe")||!e)return;let t=i.dataset.title?i.dataset.title:"";window.dataLayer&&window.dataLayer.push({event:"podcast_play",podcast_title:t}),i.replaceChildren(),e.url&&e.url.indexOf(".transistor.fm/e/")>-1?Nv(i,e.url):jv(i,e),i.parentNode.classList.add("widget-soundcloud--loaded")}function Nv(i,e){i.appendChild(h("iframe",{allow:"autoplay",src:e,width:"100%",height:"100%",frameborder:"0",scrolling:"no",seamless:"true",allowtransparency:"true"}))}function jv(i,e){let t=[],o=Object.keys(e);for(let n of o)t.push(n+"="+escape(e[n]));i.appendChild(h("iframe",{allow:"autoplay",src:"https://w.soundcloud.com/player/?"+t.join("&amp;"),width:"100%",height:"100%",frameborder:"0",scrolling:"no",seamless:"true",allowtransparency:"true"}))}b(".widget-soundcloud__wrapper[data-options]",i=>Av(i));q();q();Tp();var Ss=class{node;containernode;summarynode;options;_timer;constructor(e,t){this.options={duration:200,gtmevent:"",...t},this.node=e,this.containernode=this.node.querySelector(".wh-details__container"),this.containernode.style.transition="height "+this.options.duration+"ms",this.summarynode=this.node.querySelector(".wh-details__summary"),this.summarynode.addEventListener("click",o=>this.toggleAnimatedDetails(o))}toggleAnimatedDetails(e){e&&B(e);let t=!this.node.classList.contains("wh-details--open");clearTimeout(this._timer),this.containernode.style.height=this.containernode.clientHeight+"px",this.containernode.clientHeight,this.containernode.style.height=(t?this.containernode.children[0].clientHeight:0)+"px",this.node.classList.toggle("wh-details--open",t),this.sendToggleEvent({isopen:t}),this._timer=setTimeout(()=>{this.containernode.style.height=""},this.options.duration)}sendToggleEvent(e){this.options?.gtmevent&&e.isopen&&(this.options.gtmevent==="accordion"?be({event:"accordion-klik",accordioncontent:this.summarynode.textContent||""}):be({event:"faq-klik",faqcontent:this.summarynode.textContent||""}))}};function qm(){let i=location.hash.substr(1);i&&Mv(i)}function Mv(i){let e=document.getElementById(i);if(e){let t=e.parentNode?.closest?.("details,.wh-details");for(;t;)t.nodeName==="DETAILS"&&t.setAttribute("open",""),t.classList.add("wh-details--open"),t=t.parentNode?.closest("details,.wh-details")}}function Ov(){location.hash.length>1&&qm(),(F("details")||F(".wh-details"))&&(window.addEventListener("hashchange",i=>qm()),window.addEventListener("keydown",i=>{if(i.keyCode===13){let e=i.target?.closest(".wh-details__summary");e&&e.tagName!=="BUTTON"&&so(e,"click")}}))}b("details[data-gtmevent]",Pv);function Pv(i){i.addEventListener("toggle",e=>Iv(e))}function Iv(i){let e=i.target;if(!e.open)return;let o=e.getAttribute("data-gtmevent"),n=e.querySelector("summary");if(!n)return;let r=n.textContent;o==="accordion"?be({event:"accordion-klik",accordioncontent:r||""}):be({event:"faq-klik",faqcontent:r||""})}J(Ov);var ud=class extends Ss{sendToggleEvent(e){let t=this.node.closest("[data-widget-title]")?.dataset.widgetTitle??"",o=this.node.closest("[data-main-item]")?.dataset.mainItem??"",n=this.node.dataset.subItem??"";e.isopen&&be({event:"table_with_timeline_click",table_with_timeline_main_item:o,table_with_timeline_sub_item:n,table_with_timeline_title:t})}};b(".embeddedobject-tablewithtabs .wh-details",i=>{new ud(i)});A();b(".wh-video .wh-video__playbutton, .carrousel__cell__playbutton",i=>zv(i));function zv(i){i.classList.add("UT-icon-UT_icon_82_play-16px")}var md=document.documentElement.dir==="rtl"?1:-1,gd=document.documentElement.dir==="rtl"?"right":"left",wd=class{constructor(e){this.tabIndicator=e.querySelector(".widget__tabs-currenttitle"),this.tabs=[],this.pageholder=e.querySelector(".widget__tabs-contents"),this.pulldown=null,e.classList.contains("widget__tabs--pulldown")&&(this.pulldown=e.querySelector(".widget__tabs-pulldown"),this.pulldown.addEventListener("change",o=>this.switchTab(this.pulldown.value)));let t=this.pulldown?[]:e.querySelectorAll(".widget__tabs-titletext");k(e,".widget__tabs-page").forEach((o,n)=>{let r={title:t[n],page:o};this.tabs.push(r),r.title?r.title.addEventListener("click",this.switchTab.bind(this,n)):r.page.style.marginLeft=n?100*md+"%":"0",r.page.classList.remove("widget__tabs-page--init")}),this.curIdx=0,Pn(e,()=>this.resizeTimeout=this.resizeTimeout||requestAnimationFrame(()=>this.updateTabIndicator())),this.resizeTimeout=requestAnimationFrame(()=>this.updateTabIndicator())}switchTab(e){if(this.curIdx=e,!this.pulldown){let t=md*100*this.curIdx;this.pageholder.style.transform=`translateX(${t}%)`}this.updateTabIndicator()}updateTabIndicator(){this.resizeTimeout=null;let e=0;
29this.tabs.forEach((t,o)=>{if(this.pulldown){o===this.curIdx?(t.page.style.zIndex=2,t.page.classList.add("widget__tabs-page--current")):(t.page.style.zIndex=1,t.page.classList.remove("widget__tabs-page--current"));return}let n=t.title.getBoundingClientRect();o||(e=n[gd]),o===this.curIdx?(t.title.classList.add("widget__tabs-titletext--current"),this.tabIndicator.style[gd]=-md*(n[gd]-e)+"px",this.tabIndicator.style.width=t.title.getBoundingClientRect().width+"px"):t.title.classList.remove("widget__tabs-titletext--current")})}},bd=class{constructor(e,t,o){this.node=e,this.template=t,this.templatetype=o,this.instanceid=this.node.getAttribute("data-instance"),this.templatetype==="photo"&&(this.sliderdots=t.parentNode.querySelector(".widget__photosliderdots"))}getItems(e){return Promise.resolve([])}parseTemplateItem(e){return e}async retrieveItems(e){try{let t=await this.getItems(e);if(this.templatetype==="list"||this.templatetype==="embed"){for(let o of t){let n=this.parseTemplateItem(o);Il.expandTemplate(this.template,n)}this.node.classList.contains("widget-newsevents--event")&&t.length<3&&this.node.classList.remove("main__contents--12col")}else if(this.templatetype==="photo"){let o=this.template.parentNode;if(t.length&&t[0].photolink){let n=this.parseTemplateItem(t[0]),r=Il.instantiate(this.template,n),s=r.querySelector("style"),a=this.applyTemplate(s.textContent,n);s=document.createElement("style"),o.insertBefore(s,this.template),this.addCssRules(s,a),o.insertBefore(r.querySelector(".widget__photoslide"),this.template),new gt(o.querySelectorAll(".widget__photoslide[data-photoslide]"))}else o.parentNode.removeChild(o)}this.node.classList.toggle("noresults",t.length===0),this.node.dataset.itemcount=String(t.length),this.node.dataset.rendering="finished",Ee(this.node)}catch(t){console.error(t)}}applyTemplate(e,t){function o(n,r){let s=r.split(".")[0];return r=r.substr(s.length+1),Object.prototype.hasOwnProperty.call(t,s)?r.length?o(n,r):t[s]:""}return e.replace(/\$\{([a-zA-Z0-9._]+)\}/g,o)}addCssRules(e,t){let o=[],n=t.indexOf("{"),r=0;for(;n>=0;){let s=t.indexOf("}",n+1);n=t.indexOf("{",n+1),n<0?o.push(t.trim()):s<n?r?--r:(o.push(t.substr(0,s+1).trim()),t=t.substr(s+1)):++r}for(let s of o)e.sheet.insertRule(s,e.sheet.cssRules.length)}},fd={},Oo=class extends bd{constructor(e,t,o){super(e,t,o);let n=JSON.parse(this.node.getAttribute("data-options"));this.type=n.type,this.publoc=n.publoc,this.retrieveItems(n.publocfile+"&type=json")}getItems(e){if(e in fd){let o=fd[e];return o.items?Promise.resolve(o.items):new Promise((n,r)=>{let s=Bi();o.deferred.push(s),s.promise.then(a=>{n(this.filterItems(a))})})}let t={deferred:[],items:null};return fd[e]=t,new Promise((o,n)=>{Nn(e+"&"+Date.now(),{timeout:5e3,responseType:"json",reuseRequest:!1}).then(r=>{typeof r=="string"&&(r=JSON.parse(r)),t.items=r;for(let s of t.deferred)s.resolve(r);o(this.filterItems(r))}).catch(r=>n(r))})}filterItems(e){return e&&Object.prototype.hasOwnProperty.call(e,"p"+this.publoc)?e["p"+this.publoc].items.map((t,o)=>(t.seqnr=o,t)):[]}parseTemplateItem(e){if(this.templatetype==="list")return{text:e.title,link:e.url,linkarrow:!0,subtext:this.type==="event"?e.widgetdate:""};if(this.templatetype==="embed")return{title:e.title,link:e.url,date:this.type==="event"?e.widgetdate:"",icon:e.icon?e.icon:"",category:e.category?e.category:"",event_start:this.type==="event"&&e.eventdate?e.eventdate.startdate:"",event_end:this.type==="event"&&e.eventdate?e.eventdate.enddate:"",location:this.type==="event"&&e.location?e.location:"",description:e.articleintro?e.articleintro:"",photo_small:e.embedphotolink,photos_small:e.embedphotolink?e.embedphotolink+" 1x, "+e.embedphotolink_2x+" 2x":"",photo_large:e.infocusphotolink,photos_large:e.infocusphotolink?e.infocusphotolink+" 1x, "+e.infocusphotolink_2x+" 2x":"",photoalt:e.photoalt?e.photoalt:"",instanceid_seqnr:this.instanceid+"-"+e.seqnr,tags:e.tags?e.tags:[]};if(this.templatetype==="photo")return{photo:e.photolink,photo_2x:e.photolink_2x,photoalt:e.photoalt?e.photoalt:"",link:e.url,instanceid_seqnr:this.instanceid+"-1"}}},_d;function qv(i){_d=new Um.default({url:"/wh_services/utwente_base/rpc/"});let e=i.querySelector("form");if(e){let t=e.querySelector("input[name='phone']");t.value="",e.addEventListener("submit",o=>{if(o.preventDefault(),o.stopPropagation(),_d.isRequestPending())return!1;let n=t.value;if(Number(n.replace(/[^0-9]/g,""))>999){let r={phone:n,pageid:e.getAttribute("data-pageid"),widgetid:e.getAttribute("data-widgetid")};i.classList.add("widget__callbackform--loading"),_d.request("MailContactPerson",[r],s=>{s.success&&(i.classList.remove("widget__callbackform--loading"),i.classList.add("widget__callbackform--success"),Ee(i))})}})}}function Uv(i){let e=i.querySelectorAll(".widget__photoslide");i.classList.contains("widget__photos--infos")&&(i.closest(".widget").addEventListener("ws:relayoutwidgetcontent",Dv),vd(i)),i.whSlideshow=new gt(e,{dotNodes:i.querySelectorAll(".widget__photosliderdot"),pauseNode:i})}function Dv(i){vd(i.target.querySelector(".widget__photos"))}function vd(i){let e=i.querySelectorAll(".widget__photoslide"),t=0;for(let o of e){let r=o.querySelector(".widget__photoinfo").getBoundingClientRect().height;r>t&&(t=r),o.classList.contains("widget__photoslide--infoinit")&&o.classList.remove("widget__photoslide--infoinit")}t>0&&(i.style.marginBottom=`${t}px`)}window.relayoutPhotoslide=vd;b(".widget__photos",i=>Uv(i));b(".widget__infos--slideshow",i=>
29{i._wsSlideShow=new gt(i.querySelectorAll(".widget__infoslide"),{dotNodes:i.querySelectorAll(".widget__infosliderdot"),pauseNode:i})});b(".widget__tabs",i=>new wd(i));b(".widget__flip",i=>{i.addEventListener("click",e=>{let t=e.target.closest(".widget");if(t){let o=t.querySelector(".widget__infos--slideshow");t.classList.contains("widget--rotated")?(t.classList.remove("widget--rotated"),o&&o._wsSlideShow.resume()):(t.classList.add("widget--rotated"),o&&o._wsSlideShow.stop())}})});b(".widget__callbackform",i=>qv(i));b(".template__newsevents-list",i=>{let e=i.closest(".widget");new Oo(e,i.querySelector("template"),"list")});b(".template__newsevents-photo",i=>{let e=i.closest(".widget");new Oo(e,i.querySelector("template"),"photo")});b(".template__newsevents-embed",i=>{let e=i.closest(".embeddedobject");new Oo(e,i.querySelector("template"),"embed")});b(".template__newsstories-embed",i=>{let e=i.closest(".embeddedobject");new Oo(e,i.querySelector("template"),"embed")});b(".widget__image",i=>{let e=i.getAttribute("data-instanceid");i.addEventListener("click",t=>{let o=document.querySelector(".header__universe");o&&(o.style.display="none"),Dm.doActivateSlideshow(e,0)})});window.addEventListener("wh:form-validitychange",i=>{let e=i.target.closest(".widget");e&&Ee(e)});window.addEventListener("load",function(){ns(),wm()});var Hv=navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform);Hv&&Wv();function Wv(){document.documentElement.addEventListener("touchstart",Vv),document.documentElement.addEventListener("focusin",Yv)}var Bv=["checkbox","radio","file","button","image","submit","reset","hidden"];function Vv(i){let e=i.target.tagName;e!="SELECT"&&e!="TEXTAREA"&&(e!="INPUT"||Bv.indexOf(i.target.getAttribute("type"))>-1)||Hm("width=device-width, initial-scale=1.0, user-scalable=0")}function Yv(i){Hm("width=device-width, initial-scale=1.0, user-scalable=1")}function Hm(i){let e=document.documentElement.querySelector('head meta[name="viewport"]');e||(e=document.createElement("meta"),e.setAttribute("name","viewport")),e.setAttribute("content",i)}A();var{createService:Jv}=(Pi(),Fe(Oi)),Wm=Jv("utwente_base:pirservice");var Po=class{constructor(){this.images=[],this.matchstr="/people-placeholder.png#replace=",this.parseFromImageElements(),this.parseFromInlineCss();let e=[];for(let t=0;t<this.images.length;++t){let o=this.images[t].url1.split("#replace=")[1];e.indexOf(o)==-1&&e.push(o),this.images[t].url2&&(o=this.images[t].url2.split("#replace=")[1],e.indexOf(o)==-1&&e.push(o))}e.length&&this.getReplacements(e)}getLinkFromResults(e){if(!this.results)return;let t=e.split("#replace=")[1];for(let o=0;o<this.results.images.length;++o)if(t==this.results.images[o].key)return this.results.images[o].url;return""}async getReplacements(e){this.results=await Wm.getPIR(e),this.results&&this.results.success&&this.setReplacements()}setReplacements(){for(let e=0;e<this.images.length;++e){let t=this.getLinkFromResults(this.images[e].url1);if(t){if(this.images[e].node){let o;
29this.images[e].node.srcset&&(o=this.getLinkFromResults(this.images[e].url2)),this.images[e].node.src=t,this.images[e].node.srcset&&(this.images[e].node.srcset=t+" 1x,"+o+" 2x")}else if(this.images[e].style&&(this.images[e].style.backgroundImage="url('"+t+"')",this.images[e].selector))for(let o of document.querySelectorAll(".haspeopleplaceholder "+this.images[e].selector))o.closest(".haspeopleplaceholder").classList.remove("haspeopleplaceholder")}}}parseFromImageElements(){for(let e of document.querySelectorAll("img[src*='"+this.matchstr+"']")){let t,o;if(e.srcset){let n=e.srcset.split(",");for(let r=0;r<n.length;++r){let s=n[r].trim();s.indexOf(this.matchstr)>-1&&(s.indexOf(" 2x")>-1?o=s.split(" ")[0]:t=s.split(" ")[0])}}else t=e.src;this.images.push({node:e,url1:t,url2:o,style:null})}}parseFromInlineCss(){for(let e=0;e<window.document.styleSheets.length;++e){if(window.document.styleSheets[e].href)continue;let t=this.getAllCssRules(window.document.styleSheets[e]);if(!t)continue;let o=/(?:\(['"]?)(.*?)(?:['"]?\))/;for(let n=0;n<t.length;++n)if(t[n].style.backgroundImage){let r=o.exec(t[n].style.backgroundImage);r&&r[1].indexOf(this.matchstr)>-1&&this.images.push({node:null,url1:r[1],url2:"",style:t[n].style,selector:t[n].selectorText})}}}getAllCssRules(e){let t=[],o=e.rules||e.cssRules;for(let n=o.length-1;o&&n>=0;--n)if(o[n].media){let r=this.getAllCssRules(o[n]);r&&(t=t.concat(r))}else o[n].style&&t.push(o[n]);return t}};J(()=>{new Po});q();b(".js-psa-chatbot",i=>{let e=cr("/repository/utwente-data/psa/css/chat.css"),t=(async()=>{await new Promise(s=>J(s)),await gi("/repository/utwente-data/psa/build/autocomplete.js"),await gi("/repository/utwente-data/psa/build/require.js"),await e;let o=globalThis.require;o.config({baseUrl:"/repository/utwente-data/psa/build",paths:{App:"build/app"}});let n=await new Promise(s=>o(["app"],a=>s(a)));await new Promise(s=>o(["autocomplete"],a=>s(a)));let r=new n.ApplicationAssistant;return r.init(),r})();i.addEventListener("click",o=>{o.preventDefault(),t.then(n=>n.showChat(!0))})});q();A();var Es=class{constructor(e){if(!Y.site.universeelements||W.unh)return;let t=localStorage["ucs-element"]||"";if(this.node=e,this.element=null,e.dataset.element||window.__pageuniverse){let o=window.__pageuniverse?window.__pageuniverse.toUpperCase():e.dataset.element.toUpperCase();o=="-NONE-"?this.element=o:this.element=Y.site.universeelements.filter(n=>n.filename.toUpperCase()==o).shift()}if(!this.element){let o=Y.site.universeelements.filter(n=>n.filename!=t);this.element=o[~~(Math.random()*o.length)]}!this.element||this.element=="-NONE-"||(window.__pageuniverse=this.element.filename,localStorage["ucs-element"]=this.element.filename,this.fetchSVG())}async fetchSVG(){let e="https://utwente.becdn.net/.publisher/sd/utwente_base/ws2016/img/elements/"+this.element.filename,t;try{t=await fetch(e,{cache:"reload"})}catch{}if(!t||t.status!=200){console.error("Error loading universe element from: "+e);return}let o=await t.text(),r=new DOMParser().parseFromString(o,"image/svg+xml");r=r.documentElement,r.style.width=this.element.width+"px",r.style.marginTop=this.element.top+"px",this.animcontainer=h("div",{class:"universe__container"}),this.animcontainer.appendChild(r),W.unr||(this.animcontainer.classList.add("universe__container--animate"),r.classList.contains("universe__container--reverse")&&this.animcontainer.classList.add("universe__container--reverse")),this.node.appendChild(this.animcontainer),this.node.clientWidth,this.animcontainer.style.width=r.clientWidth+"px",this.animcontainer.style.height=r.clientHeight+"px",r.style.marginLeft=this.element.left-~~(r.clientWidth/2)+"px"}};var Td=8e3;b(".contentpart__header > .contentpart__header-messagesarea",i=>{i.parentNode.before(h("div",{class:"contentpart__header-messagesarea-wrapper"},i))});b(".contentpart__header-tags",i=>{i.addEventListener("click",e=>{let t=e.target.closest(".contentpart__header-tag");t&&e.target.tagName!=="A"&&t.classList.add("contentpart__header-tag--expanded")})});var Sd=class{constructor(e){this.node=e,this.headerNode=this.node.closest(".contentpart__header-cta"),this.containerNode=this.node.querySelector(".cta__textholder"),this.titleNode=this.node.querySelector(".cta__title"),!(!this.containerNode||!this.titleNode)&&(this.headerWithFilters=this.node.closest(".contentpart__header--withfilters"),this.scaling=null,this.resizeHandler=()=>this.scaling=this.scaling||requestAnimationFrame(()=>this.scaleText()),window.addEventListener("resize",this.resizeHandler),window.addEventListener("load",this.resizeHandler),Et("--breakpoint-tablet").then(t=>{let o=matchMedia(`(max-width: ${t})`);o.addEventListener("change",n=>this.flatCTA=n.matches),this.flatCTA=o.matches,this.resizeHandler()}))}scaleText(){this.scaling=null,Rn(this.titleNode,{maxwidth:this.containerNode.clientWidth,maxheight:this.flatCTA?this.headerNode.clientHeight*.3:this.headerWithFilters?this.containerNode.clientWidth*.6:this.headerNode.clientHeight-40,node_applystyle:this.titleNode,node_measurewidth:this.titleNode,node_measureheight:this.node,minfontsize:20,maxfontsize:40,fontsizethreshold:1,lineheight:"100%"})}};b(".headercta",i=>new Sd(i));b(".contentpart__header--photos",i=>{new gt(i.querySelectorAll(".contentpart__header-slide"),{dotNodes:i.querySelectorAll(".contentpart__header-sliderdot"),pauseNode:i})});var Ed=class{constructor(e,t){this.node=e,this.videos=[],this.curVideo=-1,this.active=!1,this.fallbackTimeout=null,this.autoplaySupported=null,this.videoClass=t;let o=this.node.querySelectorAll(`.${this.videoClass}`);
29if(o.length!=0){for(let n of o)n.hasAttribute("data-video")&&this.videos.push({node:n});Et("--breakpoint-deeplinks").then(n=>{let r=matchMedia(`(max-width: ${n})`);r.addEventListener("change",s=>this.checkVideo(s.matches)),this.checkVideo(r.matches)})}}checkVideo(e){e?this.pauseVideo():this.startVideo()}startVideo(){this.active=!0,this.curVideo<0?this.nextVideo():this.autoplaySupported===!1?this.fallbackTimeout=setTimeout(()=>this.nextVideoSlide(),Td):this.videos[this.curVideo].player.play()}pauseVideo(){this.active=!1,this.autoplaySupported===!1?this.fallbackTimeout=clearTimeout(this.fallbackTimeout):this.curVideo>=0&&this.videos[this.curVideo].player.pause()}async nextVideo(){if(!this.active)return;++this.curVideo>=this.videos.length&&(this.curVideo=0);let e=this.videos[this.curVideo];Tt(e.node)?e.player&&this.playVideo():(e.player=await St(e.node),e.node.addEventListener("video:play",()=>this.videoStarted()),e.node.addEventListener("video:finish",()=>this.nextVideo()),e.node.addEventListener("video:ready",()=>this.playVideo()))}playVideo(){let e=this.videos[this.curVideo];e.node.classList.add(`${this.videoClass}--current`);let t=this.curVideo-1;t<0&&(t=this.videos.length-1),this.videos[t].node.classList.remove(`${this.videoClass}--current`,`${this.videoClass}--playing`),e.player.play(),this.fallbackTimeout||(this.fallbackTimeout=setTimeout(()=>this.videoFallback(),Td))}videoStarted(){this.videos[this.curVideo].node.classList.add(`${this.videoClass}--playing`),this.fallbackTimeout=clearTimeout(this.fallbackTimeout),this.autoplaySupported=!0}videoFallback(){console.warn("Video fallback mode activated"),this.autoplaySupported=!1,this.node.querySelector(".contentpart__header-videos").classList.add("contentpart__header-videos--fallback"),this.videos[this.curVideo].node._wsTmpTransition=getComputedStyle(this.videos[this.curVideo].node).transition,this.nextVideoSlide()}nextVideoSlide(){if(!this.active)return;++this.curVideo>=this.videos.length&&(this.curVideo=0),this.videos[this.curVideo].node.classList.add(`${this.videoClass}--current`);let e=this.curVideo-1;e<0&&(e=this.videos.length-1),this.videos[e].node.classList.remove(`${this.videoClass}--current`),this.fallbackTimeout=setTimeout(()=>this.nextVideoSlide(),Td)}};b(".contentpart__header--homevideo",i=>new Ed(i,"contentpart__header-video"));b("html:not(.ws2016--iframed) .contentpart__header-universe",i=>new Es(i));A();en();q();re();de();var Ls=st(Ld()),Ct=st(Bm());A();lo();var Vm=st(La()),Fd=st(Ld()),Xn=class{_node;constructor(e,t,o){this._class=(o?o.baseclass:"")||"selectlist",this._fixitemswidth=!(o&&!o.fixitemswidth),this._node=e,this._items=t,this._connection=new Vm.default,this._connection.on("requestend",n=>this._gotSuggestions(n)),this._lookuppending=!1,this._lookuphistory=[],this._lookuplock=null,this._dontresuggest=!1,this.options={template:"",noresultstext:"",minlength:3,numsuggestions:10,immediateresuggest:!1,suggestdelay:200,triminput:!0,...o},this._node.addEventListener("input",()=>this._onInput()),this._node.addEventListener("blur",n=>this._onBlur(n)),this._items.addEventListener("click",n=>this._clickItem(n)),new si(this._node,{ArrowDown:n=>this._onArrowDown(n)},{captureunsafekeys:!0})}cancel(){this._updatetimer&&(clearTimeout(this._updatetimer),this._updatetimer=0),this._endLock()}_clickItem(e){B(e);let t=e.target.closest("."+this._class+"__item");t&&this._doSelectItem(t)}_onArrowDown(e){}_onInput(){this._lookuppending||this._dontresuggest||this._node.disabled||this._node.readOnly||(this._lookuplock||(this._lookuplock=Q(),this._node.classList.add(this._class+"--autosuggesting")),this._updatetimer&&clearTimeout(this._updatetimer),this._updatetimer=setTimeout(()=>this._checkInput(),this.options.suggestdelay))}_endLock(){this._lookuplock&&(this._lookuplock.release(),this._lookuplock=null,this._node.classList.remove(this._class+"--autosuggesting"))}_onBlur(){this.cancel()}_safeToSuggest(e){return!(e.length<this.options.minlength)}async _checkInput(){try{await this._offerSuggestions()}finally{this._endLock()}}_getCurrentInput(){let e=this._node.value;return this.options.triminput&&(e=e.trim()),e}async _offerSuggestions(){let e,t;do{if(e=this._getCurrentInput(),!this._safeToSuggest(e)){L(this._node,"searsia:hidesuggestions",{bubbles:!0,cancelable:!1});return}t=await this._lookup(e)}while(e!=this._getCurrentInput());if(!t||t.length==0){L(this._node,"searsia:hidesuggestions",{bubbles:!0,cancelable:!1});return}this._generateItems({input:e,values:t}),L(this._node,"searsia:showsuggestions",{bubbles:!0,cancelable:!1})}async _lookup(e){let t=this._lookuphistory.find(r=>r.input==e);if(t)return t.values;this._lookuppending=!0;let o=Fd.default.fillUrlTemplate(this.options.template,Fd.default.encodedQuery(e));this._connection.stopCurrentRequest(),this._connection.startXMLHTTPRequest
29("GET",o),this._deferred=Bi();let n=await this._deferred.promise;return this._lookuphistory.push({input:e,values:n}),this._lookuppending=!1,n}_gotSuggestions(e){if(e.responsejson&&e.responsejson.length&&e.responsejson.length>1){let t=e.responsejson[1].slice(0,this.options.numsuggestions);this._deferred.resolve(t);return}this._deferred.reject(new Error("Unexpected suggestion result"))}_generateItems(e){this._items.replaceChildren();for(let t of e.values){let n=t.toUpperCase().indexOf(e.input.toUpperCase())>=0?t.substr(0,e.input.length):"";t=t.substr(n.length),this._items.appendChild(h("span",{class:this._class+"__item searchsheet__section-link"},h("span",{class:"searchsheet__section-link-icon UT-icon-UT_icon_70_search-16px"}),h("span",{class:this._class+"__itemvalue"},n&&h("span",{class:"searchsheet__suggestmatch"},n),t)))}}_doSelectItem(e){let t=e.querySelector("."+this._class+"__itemvalue").textContent;this.options.immediateresuggest||(this._dontresuggest=!0),Pe(this._node,t),this._dontresuggest=!1,L(this._node,"searsia:searchsuggestion",{bubbles:!0,cancelable:!1,detail:{value:t}})}};A();re();he();de();var t0=/\+3153489(\d{4})/,i0=/\+316(\d{2}){4}/;function Yt(i,e){if(M.searsia)return h("span",{class:"searsia__debuginfo"},i.rankscore," (",i.score,"|",e.rank,"|",i.urllang,"|",e.resource,")")}function Ym(i,e,t){let o="",n="ut-searchicon_01-ut-14px";return e.type==="serviceportal"?i.isprivate&&(n="ut-searchicon_04-lock-12px"):e.type==="publication"?(o=y("utwente_base:frontend.ws2016.js.searchsheet.publication")+" | ",n="ut-searchicon_08-book-12px"):e.type==="location"?(o=y("utwente_base:frontend.ws2016.js.searchsheet.location")+" | ",n="UT-icon-UT_icon_16_pointer-24px"):e.type==="courses"&&(n="UT-icon-UT_icon_93_education-16px"),h("a",{class:"searsia__result",href:V(i.url,"attribute")},Yt(i,e),h("span",{class:"searsia__title"},[o,Ce(V(i.title,"attribute"),t,"searsia__title")]),i.description&&h("span",{class:"searsia__desc"},Ce(V(i.description,"attribute"),t,"searsia__desc")),h("span",{class:"searsia__link"},h("span",{class:"searsia__icon "+n}),i.url&&Io(V(i.url,"attribute"))))}function $m(i,e,t,o){return t?h("div",{class:"searsia__result searsia__result--news",href:V(i.url,"attribute")},Yt(i,e),i.image&&h("a",{href:V(i.url,"attribute"),class:"searsia__thumb",style:`background-image: url("${i.image}")`}),h("a",{href:V(i.url,"attribute"),class:"searsia__title"},Ce(V(i.title,"attribute"),o,"searsia__title")),h("span",{class:"searsia__desc"},h("span",{class:"searsia__desc-prefix"},e.resource==="utoday"?y("utwente_base:frontend.ws2016.js.searchsheet.utoday")+": ":"",i.date&&V(i.date,"attribute")),i.description&&Ce(V(i.description,"attribute"),o,"searsia__desc"))):h("a",{class:"searsia__result",href:V(i.url,"attribute")},Yt(i,e),h("span",{class:"searsia__title"},[y("utwente_base:frontend.ws2016.js.searchsheet.news")+" | ",Ce(V(i.title,"attribute"),o,"searsia__title")]),h("span",{class:"searsia__desc"},i.date&&h("span",{class:"searsia__desc-prefix"},V(i.date,"attribute")),i.description&&Ce(V(i.description,"attribute"),o,"searsia__desc")),h("span",{class:"searsia__link"},h("span",{class:"searsia__icon ut-searchicon_03-news-12px"}),i.url&&Io(V(i.url,"attribute"))))}function Xm(i,e,t,o){return t?h("div",{class:"searsia__result searsia__result--news",href:V(i.url,"attribute")},Yt(i,e),i.image&&h("a",{href:V(i.url,"attribute"),class:"searsia__thumb",style:`background-image: url("${i.image}")`}),h("a",{href:V(i.url,"attribute"),class:"searsia__title"},Ce(V(i.title,"attribute"),o,"searsia__title")),h("span",{class:"searsia__desc"},i.date&&h("span",{class:"searsia__desc-prefix"},V(i.date,"attribute")),i.description&&Ce(V(i.description,"attribute"),o,"searsia__desc"))):h("a",{class:"searsia__result",href:V(i.url,"attribute")},Yt(i,e),h("span",{class:"searsia__title"},[y("utwente_base:frontend.ws2016.js.searchsheet.event")+" | ",Ce(V(i.title,"attribute"),o,"searsia__title")]),h("span",{class:"searsia__desc"},i.date&&h("span",{class:"searsia__desc-prefix"},V(i.date,"attribute")),i.description&&Ce(V(i.description,"attribute"),o,"searsia__desc")),h("span",{class:"searsia__link"},h("span",{class:"searsia__icon ut-searchicon_07-calendar-12px"}
29),i.url&&Io(V(i.url,"attribute"))))}function Gm(i,e,t,o){return t?h("div",{class:"searsia__result searsia__result--people"},Yt(i,e),i.image&&h("span",{class:"searsia__thumb",style:`background-image: url("${i.image}")`}),h("span",{class:"searsia__toggle"}),h("span",{class:"searsia__title"},Ce(V(i.name||i.title,"attribute"),o,"searsia__title")),h("span",{class:"searsia__desc"},i.job&&Ce(V(i.job,"attribute"),o,"searsia__desc")),h("div",{class:"searsia__peopledetails"},h("div",{class:"searsia__peopledetails-content"},i.location&&(i.latitude&&i.longitude?h("a",{href:Nd(`${i.latitude},${i.longitude}`),class:"searsia__peopledetail"},h("span",{class:"searsia__peopledetail-icon UT-icon-UT_icon_16_pointer-24px"}),V(i.location,"attribute")):h("span",{class:"searsia__peopledetail"},h("span",{class:"searsia__peopledetail-icon UT-icon-UT_icon_16_pointer-24px"}),V(i.location,"attribute"))),i.phone&&h("a",{href:`tel:${i.phone}`,class:"searsia__peopledetail"},h("span",{class:"searsia__peopledetail-icon UT-icon-UT_icon_13_phone-24px"}),Ad(V(i.phone,"attribute"))),i.mail&&h("a",{href:`mailto:${i.mail}`,class:"searsia__peopledetail"},h("span",{class:"searsia__peopledetail-icon UT-icon-UT_icon_15_mail-24px"}),V(i.mail,"attribute")),h("a",{href:i.url,class:"searsia__peopledetail"},h("span",{class:"searsia__peopledetail-icon UT-icon-UT_icon_40_avatar-24px"}),y("utwente_base:frontend.ws2016.js.searchsheet.peoplepage"))))):h("a",{class:"searsia__result",href:V(i.url,"attribute")},Yt(i,e),h("span",{class:"searsia__title"},[y("utwente_base:frontend.ws2016.js.searchsheet.people")+" | ",Ce(V(i.name||i.title,"attribute"),o,"searsia__title")]),i.job&&h("span",{class:"searsia__desc"},Ce(V(i.job,"attribute"),o,"searsia__desc")),h("span",{class:"searsia__link"},h("span",{class:"searsia__icon ut-searchicon_02-people-12px"}),i.url&&Io(V(i.url,"attribute"))))}function Jm(i,e,t,o){return t?h("div",{class:"searsia__result searsia__result--video"},Yt(i,e),h("a",{href:V(i.url,"attribute")},i.image&&h("span",{class:"searsia__thumb",style:`background-image: url("${i.image}")`},h("span",{class:"searsia__playbutton themecolor--bg"}),h("span",{class:"searsia__playbutton-icon themecolor--fg"})),h("span",{class:"searsia__title"},Ce(V(i.title,"attribute"),o,"searsia__title")),h("span",{class:"searsia__desc"},i.date&&h("span",{class:"searsia__desc-prefix"},V(i.date,"attribute")),i.description&&Ce(V(i.description,"attribute"),o,"searsia__desc")))):h("a",{class:"searsia__result",href:V(i.url,"attribute")},Yt(i,e),h("span",{class:"searsia__title"},[y("utwente_base:frontend.ws2016.js.searchsheet.video")+" | ",Ce(V(i.title,"attribute"),o,"searsia__title")]),i.description&&h("span",{class:"searsia__desc"},Ce(V(i.description,"attribute"),o,"searsia__desc")),h("span",{class:"searsia__link"},h("span",{class:"searsia__icon ut-searchicon_05-play-12px"}),i.url&&Io(V(i.url,"attribute"))))}function Km(i,e,t,o){return t?h("a",{class:"searsia__imagegrid__item",href:i.url,title:V(i.title,"attribute")},h("img",{src:i.image,class:"searsia__imagegrid__item__image"}),Yt(i,e)):h("a",{class:"searsia__result",href:V(i.url,"attribute")},Yt(i,e),h("span",{class:"searsia__title"},[y("utwente_base:frontend.ws2016.js.searchsheet.image")+" | ",Ce(V(i.title,"attribute"),o,"searsia__title")]),i.description&&h("span",{class:"searsia__desc"},Ce(V(i.description,"attribute"),o,"searsia__desc")),h("span",{class:"searsia__link"},h("span",{class:"searsia__icon ut-searchicon_01-ut-14px"}),i.url&&Io(V(i.url,"attribute"))))}function Qm(i,e,t){return h("div",{class:"searsia__related"},h("div",{class:"searsia__related__title"},y("utwente_base:frontend.ws2016.js.searchsheet.related")+":"),h("div",{class:"searsia__related__links"},i.map(o=>h("span",{class:"searsia__related__link"},h("span",{class:"searsia__related__linkicon UT-icon-UT_icon_70_search-16px"}),Ce(V(o.title,"attribute"),t,"searsia__related__link")))))}function Zm(){return h("div",{class:"searsia__filtered"},y("utwente_base:frontend.ws2016.js.searchsheet.filteredresults"))}function Ce(i,e,t){if(!e)return i;let o=[];for(;i;){let n=i.match(e);if(o.push(n?i.substr(0,n.index):i),!n)break;o.push(h("span",{class:t+"--match ut-querymatch"},n[0])),i=i.substr(n.index+n[0].length)}return o}function Io(i){return i.indexOf("http://")===0?i=i.substr(7):i.indexOf("https://")===0&&(i=i.substr(8)),i.indexOf("www.")===0&&(i=i.substr(4)),i}function Ad(i){let e=i.match(t0);return e?h("span",{class:"searsia__phone"},"+31 (0)53 489 ",h("b",null,e[1])):(e=i.match(i0),e?h("span",{class:"searsia__phone"},"+31 (0)6 ",e.slice(1).join(" ")):i)}function Nd(i){return`https://maps.google.com/maps?hl=${encodeURIComponent(y.tidLanguage)}&daddr=${encodeURIComponent(i)}&z=15`}A();re();he();de();var tt=null,jd=0;function ig(i,e,t,o){let n;if(i)for(let r of i)switch(r.source.type){case"location":n=s0(r)||n;break;case"event":n=a0(r,o)||n;break}else{tt=null;let r=o0(e,t);r&&(n=r.node,tt={type:r.type,node:r.node})}return n}function o0(i,e){for(let t of i)for(let o of t.cta.ctas)try{Hn(o.ctaconfig,e),M.umc&&console.info(`[umc] Showing ${t.type} CTA ${o.ctaconfig.tag}`,o);let n;switch(t.type){case"highlight":n=n0(o);break;case"widget":n=r0(o);break;default:throw`Unknown CTA slot type '${t.type}'`}if(n)return{type:t.type,node:n}}catch(n){if(n instanceof Oe)M.umc&&console.warn(`[umc] Not showing ${t.type} CTA ${o.ctaconfig.tag}: ${n.message}`);else throw n}}function n0(i){let e,t,o=h("div",{class:"searsia__widget searsia__widget--highlight","data-widget-type":"highlight"},h("div",{class:"searsia__highlight-text"},e=i.title&&(i.buttonlink?h("a",{class:"searsia__highlight-title",href:i.buttonlink,target:i.buttonnewwindow?"_blank":"",rel:"noreferrer"}):h("div",{class:"searsia__highlight-title"})),t=i.description&&h("div",{class:"searsia__highlight-description"}),i.buttonlink&&i.buttontitle&&h("a",{class:"searsia__highlight-link",href:i.buttonlink,target:i.buttonnewwindow?"_blank":"",rel:"noreferrer"},i.buttontitle)),i.photo&&(i.buttonlink?h("a",{class:"searsia__highlight-image",style:`background-image: url("${i.photo.link}");`+(i.photo.refpoint_backgroundposition?`background-position: ${i.photo.refpoint_backgroundposition};`:""),href:i.buttonlink,target:i.buttonnewwindow?"_blank":"",rel:"noreferrer"},h("span",{class:"searsia__highlight-suggested"},y("utwente_base:frontend.ws2016.js.searchsheet.suggestedresult"))):h("div",{class:"searsia__highlight-image",style:`background-image: url("${i.photo.link}");`+(i.photo.refpoint_backgroundposition?`background-position: ${i.photo.refpoint_backgroundposition};`:"")},h("span",{class:"searsia__highlight-suggested"},y("utwente_base:frontend.ws2016.js.searchsheet.suggestedresult")))));return e&&(e.innerHTML=i.title),t&&(t.innerHTML=i.description),o}function r0(i){let e,t,o=h("div",{class:"searsia__widget searsia__widget--cta","data-widget-type":"cta"},e=i.title&&h("div",{class:"inlinecta__title"}),i.buttonlink&&i.buttontitle&&h("a",{class:"inlinecta__button themecolor--bg",href:i.buttonlink,"data-wh-datalayer-onclick-cta_type":"inline-button-cta","data-wh-datalayer-onclick-event":"cta-click","data-wh-datalayer-onclick-click_text":i.buttontitle,"data-wh-datalayer-onclick-click_url":i.buttonlink,target:i.buttonnewwindow?"_blank":"",rel:"noreferrer"},i.buttontitle),t=i.description&&h("div",{class:"inlinecta__description"},h("div",{class:"inlinecta__icon UT-icon-UT_icon_117_paperclip-64px"})));if(e&&(e.innerHTML=i.title),t){let n=h("span",null);n.innerHTML=i.description,t.append(...n.childNodes)}return o}function s0(i){let e;return tt?tt.type=="location"&&setTimeout(()=>tg(i.hit.title,jd).then(()=>M.searsia&&console.info(`[searsia] Done for '${i.hit.title}'`))):(M.searsia&&console.info("[searsia] Showing location widget",i),e=h("div",{class:"widget searsia__widget searsia__widget--location searsia__widget--loading","data-widget-type":"location"}),tt={type:"location",result:i,node:e,locreqid:++jd},setTimeout(()=>tg(i.hit.title,jd).then(()=>M.searsia&&console.info(`[searsia] Done for '${i.hit.title}'`)))),e}async function tg(i,e){if(!i||!tt)return;M.searsia&&console.log(`[searsia] Fetching data for location '${i}'`);let t=await fetch("/.publisher/sd/utwente_base/ws2016/location.shtml?name="+encodeURIComponent(i)+"&lang="+encodeURIComponent(y.tidLanguage),{credentials:"same-origin"});if(t.status!=200){M.searsia&&console.warn(`[searsia] Location '${i}' not found`);return}let o=await t.json();if(!tt||tt.locreqid!=e){M.searsia&&console.log("[searsia] Widget no longer shown",tt.locreqid,e);return}let n=h("div",{class:"widget__front"},o.img&&h("div",{class:"widget__photos"},h("span",{class:"widget__photoslide widget__photoslide--fullwidth",style:`background-image: url("${o.img.link}")`})),h("div",{class:"widget__title widget__title--belowphotos"},V(o.title,"attribute"),o.address&&h("span",null,h("br",null),o.address.street+" "+o.address.nr_detail,h("br",null),o.address.zip+" "+o.address.city)),h("div",{class:"widget__list"},o.phone&&h("a",{href:"tel:"+V(o.phone,"attribute"),class:"widget__listitem widget__listitem--link"},h("div",{class:"overflow__container"},h("span",{class:"widget__listitem-icon UT-icon-UT_icon_13_phone-24px"}),h("span",{class:"widget__listitem-text"}
29,Ad(V(o.phone,"attribute"))))),o.email&&h("a",{href:"mailto:"+V(o.email,"attribute"),class:"widget__listitem widget__listitem--link overflow"},h("div",{class:"overflow__container"},h("span",{class:"widget__listitem-icon UT-icon-UT_icon_15_mail-24px"}),h("span",{class:"softbreak"},"\xA0"),h("span",{class:"widget__listitem-text","data-overflow":y("utwente_base:frontend.ws2016.js.searchsheet.overflow--email")},V(o.email,"attribute")))),h("a",{href:o.mappdfurl,class:"widget__listitem widget__listitem--link"},h("div",{class:"overflow__container"},h("span",{class:"widget__listitem-icon UT-icon-UT_icon_22_file-pdf-24px"}),h("span",{class:"widget__listitem-text"},y("utwente_base:frontend.ws2016.js.searchsheet.downloadmap")))),o.coord&&h("a",{href:Nd(o.coord),class:"widget__listitem widget__listitem--link"},h("span",{class:"widget__listitem-icon UT-icon-UT_icons_164_navigate-24px"}),h("span",{class:"widget__listitem-text"},y("utwente_base:frontend.ws2016.js.searchsheet.route")))));tt.node.appendChild(n),tt.node.classList.remove("searsia__widget--loading")}function a0(i,e){let t;if(tt){if(tt.type=="event"){let o=h("a",{class:"widget__listitem widget__listitem--link",href:V(i.hit.url,"attribute")},h("span",{class:"widget__listitem-text"},V(i.hit.title,"attribute")),i.hit.date&&h("span",{class:"widget__listitem-subtext"},V(i.hit.date,"attribute")));tt.node.querySelector(".widget__list").appendChild(o)}}else{M.searsia&&console.info("[searsia] Showing events widget",i);let o=e||i.hit.url.split("!/")[0];t=h("div",{class:"widget searsia__widget searsia__widget--event","data-widget-type":"event"},h("div",{class:"widget__front"},h("div",{class:"widget__title widget__title--withicon"},h("span",{class:"widget__title-icon UT-icon-UT_icon_11_events-24px"}),y("utwente_base:frontend.ws2016.js.searchsheet.events")),i.hit.image&&h("div",{class:"widget__photos"},h("span",{class:"widget__photoslide widget__photoslide--fullwidth",style:`background-image: url("${i.hit.image}")`})),h("div",{class:"widget__list"},h("a",{class:"widget__listitem widget__listitem--link",href:V(i.hit.url,"attribute")},h("span",{class:"widget__listitem-text"},V(i.hit.title,"attribute")),i.hit.date&&h("span",{class:"widget__listitem-subtext"},V(i.hit.date,"attribute")))),h("a",{class:"widget__link",href:o},y("utwente_base:frontend.ws2016.js.searchsheet.allevents")))),tt={type:"event",result:i,node:t}}return t}var zo=Symbol("result-score"),Cs=Symbol("result-lang"),l0=Symbol("result-source"),qo,Rd="all";function d0(i,e){for(let t=0;t<i.length;++t)if(i[t]===e[0]){let o;for(o=0;o<e.length&&i[t+o]===e[o];++o);if(o===e.length)return!0}return!1}var Md=class{constructor(e){this.node=e;this.inputNode=C(e,".searchsheet__searchfield"),this.headerNode=e.querySelector(".searchsheet__searchform"),this.statusNode=e.querySelector(".searchsheet__status"),this.resultsNode=e.querySelector(".searsia__results"),this.suggestNode=e.querySelector(".searchsheet__suggestions"),this.ctaslots=[],this.haveResults=!1,this.searsiaSession="",this.headerNode.addEventListener("transitionend",n=>this.onTransitioned(n)),this.inputNode.addEventListener("focus",n=>this.onInputFocus(n)),this.inputNode.addEventListener("blur",n=>this.onInputFocus(n)),this.inputNode.addEventListener("searsia:showsuggestions",n=>this.onShowSuggestions(n)),this.inputNode.addEventListener("searsia:hidesuggestions",n=>this.onHideSuggestions(n)),this.inputNode.addEventListener("searsia:searchsuggestion",n=>this.onStartSearch(n)),this.inputNode.form.addEventListener("submit",n=>this.onStartSearch(n)),this.statusNode.addEventListener("click",n=>this.onClickStatus(n)),this.resultsNode.addEventListener("click",n=>this.onClickResult(n)),e.addEventListener("keydown",n=>this.onKeyDown(n)),this.lang=(document.documentElement.lang||"").split("-")[0],this.stopwordfilters=(Ct.QUERY_STOPWORDS[this.lang]||[]).map(n=>new RegExp(`((^|\\s+)${n}(\\s+|$))`,"i")),this.userCountry=Cr(),this.userCountry?M.umc&&console.log(`[umc] User country '${this.userCountry}'`):(M.umc&&console.log("[umc] Requesting user country"),ut().then(n=>{this.userCountry=n,console.log(`[umc] User country '${this.userCountry}'`)})),this.userBeacons=li(),M.umc&&console.log("[umc] User beacons",this.userBeacons),this.url=new URL(location.href),this.searchType=this.url.searchParams.get("t"),this.tabWidgets=!1,this.tabNodes=[],this.tabs=new Map;let t=this.node.querySelector(".searchsheet__tabs");new kt(t,{swipePropagation:!0,wheelPropagation:!0,suppressScrollY:!0});for(let n of this.node.querySelectorAll(".searchsheet__tab"))n.remove();let o=this.url.searchParams.get("q");o&&!document.documentElement.classList.contains("utwente--ws2026")?this.doSearchFor(o):document.documentElement.classList.contains("searchsheet--fixed")&&(this.toggle(!0),this.reset()),window.addEventListener("pagehide",n=>this.onUnload(n))}node;inputNode;client;async initSearsiaClient(e){e&&(Rd=e,this.searchType||(this.searchType=e)),this.configPromise||(this.configPromise=this.fetchSearchConfig()),await this.configPromise}async fetchSearchConfig(){M.searsia&&console.log("[searsia] Fetching search configuration");let t=`/.st/utwente_base/searchsettings.${document.documentElement.lang.substring(0,2)}.json?`+Math.random(),o=await fetch(t,{credentials:"same-origin"});if(o.status!==200){M.searsia&&console.warn("[searsia] Did not receive search configuration");return}let n=await o.json(),r=localStorage.searsiaApiTemplate||n.settings.apitemplate;this.client=Ls.default.initClient(r),this.client||(M.searsia&&console.warn("[searsia] Searsia not yet connected, retrieving client"),this.client=await new Promise(a=>Ls.default.connectToServer(a)),M.searsia&&console.warn("[searsia] We have a client now!")),this.client&&this.client.status!=="error"&&(this.suggest=new Xn(this.inputNode,this.suggestNode,{template:this.client.resource.suggesttemplate,minlength:Ct.MIN_SUGGEST_LENGTH,numsuggestions:Ct.NUM_SUGGESTIONS})),n.searchcta_highlight&&this.ctaslots.push({type:"highlight",cta:n.searchcta_highlight}),n.searchcta_widget&&this.ctaslots.push({type:"widget",cta:n.searchcta_widget});for(let a of this.ctaslots)for(let l of a.cta.ctas)try{l.ctaconfig=ys(l.ctaconfig)}catch{l.ctaconfig=null}this.eventsurl=n.events_url,this.manipulatedqueries=n.queries.filter(a=>a.lang===this.lang).map(a=>({...a,terms:this.getQueryTerms(a.query)}));let s=this.node.querySelector(".searchsheet__tabscontainer");for(let a of n.tabs){let l=h("a",{href:"#",class:"searchsheet__tab","data-tab":a.name},a.title);a.showwidgets&&(l.dataset.widgets=""),this.tabNodes.push(l),this.tabs.set(l.dataset.tab,{node:l}),l.addEventListener("click",d=>this.onShowTab(d)),l.dataset.tab===this.searchType||!this.searchType&&l.dataset.tab===Rd?(l.classList.add("searchsheet__tab--current"),this.tabWidgets="widgets"in l.dataset):l.classList.remove("searchsheet__tab--current"),s.append(l)}M.searsia&&console.info("[searsia] Search configuration",this.ctaslots,this.eventsurl)}getQueryTerms(e){let t=e.match(/(\+|")?\b\w+\b"?/g),o=[],n=null;for(let r of t){let s=!1;if(r.startsWith('"')&&(r=r.substr(1),n||(s=!0)),r.endsWith('"')){if(r=r.substr(0,r.length-1),s)s=!1,r="+"+r;else if(n){n.push(r),o.push(n),n=null;continue}}s&&(n=[]),n?n.push(r):(r.startsWith("+"),o.push(r))}return n&&(n.length===1?o.push("+"+n[0]):o.push(n)),o.map(r=>typeof r=="string"?r.toLowerCase():r.map(s=>s.toLowerCase()))}toggle(e,t){let o=!document.documentElement.classList.contains("searchsheet--open");return o?(this.initSearsiaClient(t),L(this.node,"searsia:showsearchsheet",{bubbles:!0,cancelable:!1}),Be("utwente_base:searsia_open"),document.documentElement.classList.remove("searchsheet--closing"),document.documentElement.classList.add("searchsheet--opening"),this.node._wsTmpTransition=getComputedStyle(this.node).transition,document.documentElement.classList.add("searchsheet--open"),this.node._wsTmpTransition=getComputedStyle(this.node).transition):e||(Be("utwente_base:searsia_close"),this.node.classList.remove("searchsheet--show"),document.documentElement.classList.remove("searchsheet--opening"),document.documentElement.classList.add("searchsheet--closing"),this.node._wsTmpTransition=getComputedStyle(this.node).transition,document.documentElement.classList.add("searchsheet--close"),document.documentElement.classList.remove("searchsheet--open"),this.node._wsTmpTransition=getComputedStyle(this.node).transition,this.updateUrl(!0)),o}showSheet(e){for(let t of["quicklinks","quickresults","results"])t===e?this.node.classList.add("searchsheet--show"+t):this.node.classList.remove("searchsheet--show"+t)}showTab(e,t){if(this.tabs.has(e)){let o=this.tabs.get(e);this.tabWidgets=!1;for(let n of this.tabNodes)n===o.node?(n.classList.add("searchsheet__tab--current"),this.tabWidgets="widgets"in n.dataset):n.classList.remove("searchsheet__tab--current");Be("utwente_base:searsia_showtab",{ds_tab:e}),this.searchType=e!=="all"?e:"",t||(this.doSearch(),this.updateUrl())}}setStyles(e){for(let t of Object.keys(e))this.node.style[t]=e[t]}reset(){this.suggest&&this.suggest.cancel(),this.inputNode.form.reset(),this.inputNode.focus(),this.haveResults=!1,this.showSheet("quicklinks"),this.showTab(Rd,!0),this.updateUrl(!0)}updateUrl(e){if(e)this.url.searchParams.delete("q"),this.url.searchParams.delete("t");else{let t={q:this.inputNode.value,t:this.searchType};this.url.searchParams.set("q",t.q),t.t?this.url.searchParams.set("t",t.t):this.url.searchParams.delete("t")}window.history.replaceState(null,"",this.url.toString())}onShowTab(e){e.preventDefault();let t=e.target.closest(".searchsheet__tab");t&&this.showTab(t.dataset.tab)}onTransitioned(e){e.propertyName==="transform"&&e.target===this.headerNode&&document.documentElement.classList.contains("searchsheet--close")&&(L(this.node,"searsia:hidesearchsheet",{bubbles:!0,cancelable:!1}),document.documentElement.classList.remove("searchsheet--close"),this.showSheet("quicklinks"))}onInputFocus(e){e.type==="focus"?this.node.classList.add("searchsheet--inputfocus"):this.node.classList.remove("searchsheet--inputfocus")}onShowSuggestions(){this.showSheet("quickresults")}onHideSuggestions(){this.haveResults?this.showSheet("results"):this.showSheet("quicklinks")}onStartSearch(e){e.preventDefault(),this.inputNode.value&&(this.inputNode.blur(),this.doSearch(),this.updateUrl())}doSearchFor(e,t){this.toggle(!0,t),this.inputNode.value=e,t&&this.showTab(t,!0),this.doSearch(),this.updateUrl()}async doSearch(){await this.configPromise,this.suggest&&this.suggest.cancel(),this.orgQuery=this.getFilteredUserQuery();let e={q:this.orgQuery,t:this.searchType};this.query=this.inputNode.value,this.queryWords=this.getUserQueryWords(e.q),this.queryFilter=null,this.filteredResults=0,this.numResults=0,this.didYouMean="",this.relatedNode=null,this.searsiaSession=Ls.default.searchFederated(e,t=>this.onResults(t)),M.searsia&&console.info("[searsia] searchFederated",e,this.searsiaSession),Be("utwente_base:searsia_search",{ds_session:this.searsiaSession,ds_query:e.q,ds_type:e.t})}getFilteredUserQuery(){let e=this.inputNode.value;for(let t of this.stopwordfilters)e=e.replace(t," ");return e.trim()}getUserQueryWords(e){return e?new RegExp(`\\b${e.match(/\b\w+\b/g).join("\\b|\\b")}\\b`,"i"):null}getQueryFilter(){if(!this.queryFilter){this.queryFilter=null;let e=this.orgQuery.match(/\b\w+\b/g).map(t=>t.toLowerCase());for(let t of this.manipulatedqueries)if(t.terms.every(o=>
29typeof o=="string"?o.startsWith("+")?e.includes(o.substring(1)):e.includes(o):d0(e,o))){this.queryFilter=t;break}this.queryFilter?(this.queryFilter=this.queryFilter.urls.map(t=>({...t,seen:!1})),M.searsia&&this.queryFilter.length&&console.info("[searsia] Using queryFilter",this.queryFilter)):this.queryFilter=[]}return this.queryFilter}async onResults(e){if(await this.configPromise,this.queryFilter=this.getQueryFilter(),M.searsia&&console.info("[searsia]",e),e.sessionid!==this.searsiaSession){M.searsia&&console.warn(`[searsia] Ignoring search results for old session '${e.sessionid}'`);return}switch(e.status){case"start":Be("utwente_base:searsia_start",{ds_session:this.searsiaSession}),this.allhits=[],this.haveResults=!0,this.showSheet("results"),this.resultsNode.replaceChildren(),this.grid=null,this.statusNode.innerHTML=yt("utwente_base:frontend.ws2016.js.searchsheet.searching",this.query),this.searchType==="images"&&this.resultsNode.appendChild(h("div",{class:"searsia__imagegrid"})),this.tabWidgets&&this.showWidgets(),Te();break;case"hits":{let t={...Ct.SEARSIA_SOURCES[e.resource.id],resource:e.resource.id,rank:e.rank};if(Be("utwente_base:searsia_hits",{ds_session:this.searsiaSession,ds_resource:e.resource.id,dn_hits:e.hits.length,db_hidden:t.display===!1}
29),t.display===!1)break;if(t.type==="didyoumean"){!this.didYouMean&&e.hits.length&&(this.didYouMean=e.hits[0].title,this.updateStatusNode(),Be("utwente_base:searsia_didyoumean",{ds_session:this.searsiaSession,ds_suggestion:this.didYouMean}));break}if(t.type==="related"){let r=e.hits.slice(0,Ct.NUM_RELATED);M.searsia&&console.info("[searsia] Show related searches",r),this.relatedNode=Qm(r,t,this.queryWords);break}let o=Ct.SEARSIA_DUPLICATE_RESOURCES.indexOf(t.resource),n=[];for(let r of e.hits){let s=this.queryFilter.find(c=>c.url===r.url);if(s&&(s.seen=!0,s.pos<0)){M.searsia&&console.info("[searsia] Skipping filtered hit",r),++this.filteredResults;continue}if(o>=0){let c=this.allhits.findIndex(p=>p.hit.url===r.url);if(c>=0)if(this.allhits[c].score>=o)M.searsia&&console.info("[searsia] Removing duplicate hit",this.allhits[c].hit),this.allhits[c].node.remove(),this.allhits.splice(c,1);else{M.searsia&&console.info("[searsia] Skipping duplicate hit",r);continue}}r.rankscore=r.score,r.urllang=this.getResultLanguage(r,t),s&&(M.searsia&&console.info("[searsia] Promoting hit",r,s.pos),r.rankscore=5-s.pos,r.urllang=this.lang),n.push({hit:r,source:t}),++this.numResults;let a=this.resultsNode;if(this.searchType==="images")a=this.resultsNode.querySelector(".searsia__imagegrid");else if(t.group&&(a=this.resultsNode.querySelector(`.searsia__resultgroup--${t.group}`),!a)){a=h("div",{class:"searsia__resultgroup searsia__resultgroup--"+t.group}),a[zo]=1/0;let c=Array.from(this.resultsNode.childNodes).find(p=>p[zo]<a[zo]);this.resultsNode.insertBefore(a,c)}let l;switch(t.type){case"news":l=$m(r,t,this.searchType==="news",this.queryWords);break;case"event":l=Xm(r,t,this.searchType==="news",this.queryWords);break;case"people":l=Gm(r,t,this.searchType==="people",this.queryWords);break;case"video":l=Jm(r,t,this.searchType==="videos",this.queryWords);break;case"image":l=Km(r,t,this.searchType==="images",this.queryWords);break;default:l=Ym(r,t,this.queryWords)}l[zo]=r.rankscore,l[Cs]=r.urllang,l[l0]=t.resource;let d=Array.from(a.childNodes).find(c=>c.classList.contains("searsia__widget")?!1:this.lang!=="nl"&&l[Cs]!==c[Cs]?l[Cs]!=="nl":c[zo]<l[zo]);a.insertBefore(l,d),o>=0&&this.allhits.push({hit:r,node:l,score:o})}this.updateStatusNode(),this.searchType||this.showWidgets(n),Te()}break;case"done":{if(Be("utwente_base:searsia_done",{ds_session:this.searsiaSession,dn_results:this.numResults}),this.searchType==="images"){let t=this.resultsNode.firstChild;this.grid=new Ro(t,this.getDefaultGridOptions(this.resultsNode)),this.imggridresizetimer||window.addEventListener("resize",()=>{!this.grid||!this.grid.container.clientWidth||(clearTimeout(this.imggridresizetimer),this.imggridresizetimer=setTimeout((function(){let o=this.getDefaultGridOptions(this.resultsNode);this.grid.setOptions(o),this.grid.refresh()}).bind(this),100))}),this.imggridresizetimer=setTimeout((function(){this.grid.refresh()}).bind(this),100)}else if(this.relatedNode){let t=this.resultsNode.querySelector(".searsia__result:nth-of-type(11)");this.resultsNode.insertBefore(this.relatedNode,t)}if(this.filteredResults>0){let t=Zm();this.resultsNode.appendChild(t)}this.updateStatusNode(!0),this.numResults&&this.resultsNode.appendChild(h("div",{class:"searsia__resultsdone"},h("p",null,y("utwente_base:frontend.ws2016.js.searchsheet.searchdone"))))}break;case"error":throw new Error(e.error)}}getResultLanguage(e,t){return/:\/\/(www\.)?utwente.nl\/en\//.test(e.url)?"en":/:\/\/(www\.)?utwente.nl\/de\//.test(e.url)?"de":/:\/\/(www\.)?utwente.nl\//.test(e.url)?"nl":"en"}updateStatusNode(e){if(this.numResults||e){let t=yt("utwente_base:frontend.ws2016.js.searchsheet.results",this.numResults,this.query,this.didYouMean);!this.numResults&&!this.didYouMean&&this.searchType&&(t=t+yt("utwente_base:frontend.ws2016.js.searchsheet.searchall")),t=t.split("%S%").join('<span class="searchsheet__didyoumean">').split("%/S%").join("</span>"),this.statusNode.innerHTML=t;let o=!!(this.userBeacons&&this.userBeacons["usertype-student"]),n=!!(this.userBeacons&&this.userBeacons["usertype-employee"]);if(!document.documentElement.classList.contains("loggedin")&&(o||n)&&["","people","serviceportal"].includes(this.searchType)){let r=h("div",{class:"searchsheet__login-msgbox"},h("div",{class:"searchsheet__login-msgbox__content"},this.lang==="nl"?h("p",null,h("a",{href:"x-serviceportal:login"},"Log in")," om interne/afgeschermde pagina's van de Service Portal aan de zoekresultaten toe te voegen."):this.lang==="de"?h("p",null,"Bitte ",h("a",{href:"x-serviceportal:login"},"logge dich ein")," um abgeschirmte Seiten aus dem internen Service Portal in den Suchergebnissen zu sehen."):h("p",null,"Please ",h("a",{href:"x-serviceportal:login"},"log in")," if you also want to see internal/protected pages from the Service Portal.")));this.statusNode.prepend(r)}}}showWidgets(e){let t=ig(e,this.ctaslots,{country:this.userCountry,beacons:this.userBeacons,url:location.href,query:this.query},this.eventsurl);t&&this.resultsNode.insertBefore(t,this.resultsNode.firstChild)}onClickStatus(e){e.target.closest(".searchsheet__didyoumean")&&(Be("utwente_base:searsia_clickdidyoumean",{ds_session:this.searsiaSession,ds_suggestion:this.didYouMean||"",ds_type:this.searchType}),this.didYouMean?(this.inputNode.value=this.didYouMean,this.doSearch(),this.updateUrl()):this.showTab("all"))}onClickResult(e){let t=e.target.closest(".searsia__result--people");if(t&&!e.target.closest(".searsia__peopledetails")){e.preventDefault(),t.classList.toggle("searsia__result--open");return}let o=e.target.closest(".searsia__related__link");if(o){let r=o.textContent;Be("utwente_base:searsia_clickrelated",{ds_session:this.searsiaSession,ds_suggestion:r}),this.inputNode.value=r,this.doSearch(),this.updateUrl();return}let n=e.target.closest("a");if(n){let r=e.target.closest(".searsia__widget");this.linkClicked=!0,Be("utwente_base:searsia_clickresult",{ds_session:this.searsiaSession,ds_url:n.href,ds_target:r?r.dataset.widgetType:"result"},{beacon:!0})}}onKeyDown(e){e.key==="Escape"&&(this.inputNode.value?this.reset():this.toggle(!1))}getDefaultGridOptions(e){return{width:Math.round(e.clientWidth*window.devicePixelRatio)/window.devicePixelRatio,row_height:215,gutter_x:20,gutter_y:20,debug:!0,debug_layout:!0}}onUnload(){document.documentElement.classList.contains("searchsheet--open")&&!this.linkClicked&&Be("utwente_base:searsia_unload",{ds_session:this.searsiaSession},{beacon:!0})}};function c0(i){let e=i.querySelector(".searchsheet__content");i._wsTmpTransition=getComputedStyle(i).transition,e._wsTmpTransition=getComputedStyle(e).transition,i.classList.remove("searchsheet--init"),setTimeout(()=>e.classList.remove("searchsheet__content--init"),250),i.querySelector(".searchsheet__searchfield-clear").addEventListener("click",p0);for(let t of i.querySelectorAll(".searchsheet__section-links"))Mn(t,"searchsheet__section-alllinks","searchsheet__section-link");qo=new Md(i),i.querySelector(".searchsheet__close").addEventListener("click",t=>{B(t),Od()})}function p0(i){i&&(i.preventDefault(),i.stopPropagation()),qo&&qo.reset()}function Od(){qo&&qo.toggle()&&qo.reset()}b(".searchsheet",i=>c0(i));b("#searsiasearch",i=>i.parentNode.removeChild(i));A();en();
29var Pd=class extends Error{constructor(e){super(`Timeout on promise after ${e}ms`)}};function Id(i,e){let t=new Promise((o,n)=>setTimeout(()=>n(new Pd(e)),e));return Promise.race([i,t])}var u0="scrollBehavior"in document.documentElement.style;function og(i,e){let t=new URL(i);return t.pathname+="utwente-navigation.rpc",t.searchParams.set("nav",e),t.toString()}async function m0(i){return await(await fetch(og(i,"menu"))).json()}async function g0(i){return await(await fetch(og(i,"parent"))).json()}var Gn=class{constructor(e){this.node=e,this.menupartNode=this.node.closest(".menupart"),this.scrollingNode=this.node.closest(".menupart__menu-container"),this.currentItem=null,this.transitionDuration=0,Et("--menu-transition-duration",this.node).then(a=>{a.endsWith("ms")?this.transitionDuration=parseInt(a):a.endsWith("s")&&(this.transitionDuration=Math.floor(parseFloat(a)*1e3))}),window.addEventListener("ws:menu-open",a=>this.onMenuOpened(a));let t,o;try{this.node.dataset.menuParent&&(t=JSON.parse(this.node.dataset.menuParent)),o=JSON.parse(this.node.dataset.menuItems)}catch(a){console.error("Couldn't read menu items",a);return}this.menus=new Map,this.menuItems=new Map;let n=t&&t.id;this.menuItems.set(n,t),this.menus.set(n,o);let r,s;for(let a of o){if(a.parent=n,a.menuitems){for(let l of a.menuitems)l.parent=a.id,this.menuItems.set(l.id,l),l.is_current&&(s=l.id);this.menus.set(a.id,a.menuitems),r=a.id,delete a.menuitems}this.menuItems.set(a.id,a),!s&&a.is_current&&(s=a.id)}W.umn&&console.log("[ut-menu] Read page menu",o,n,r,s),s&&(this.pageId=s),this.menuScroll=Rt()!="ios"&&Rt()!="android",this.menuScroll&&(this.ps=new kt(this.scrollingNode,{swipePropagation:!1,wheelPropagation:!1,suppressScrollX:!0}),window.addEventListener("resize",()=>requestAnimationFrame(()=>this.ps.update()))),this.showMenu(n,r,s),e.addEventListener("click",a=>this.onMenuClick(a))}async goUp(e){W.umn&&console.log("[ut-menu] Going up",e);let t=parseInt(e.dataset.id),o=await this.retrieveParent(t,e.href);o?this.menus.has(o.id)?(this.showMenu(o.id,this.curMenu,this.curMenu),L(this.node,"ws:menustatus",{bubbles:!0,cancelable:!1,detail:{action:"up"}})):console.warn("parent menu not found"):console.warn("parent item not found")}async openMenu(e){W.umn&&console.log("[ut-menu] Opening submenu",e);let t=parseInt(e.dataset.id),o;try{o=await this.retrieveMenu(t,e.href)}catch(n){e.href&&(console.error("failed to retrieve menu for folder #"+t,n),location.href=e.href);return}if(o&&o.length){let n=e.parentNode.classList.contains("menupart__submenu")?this.curSubmenu:this.curMenu;this.showMenu(n,t,t),L(this.node,"ws:menustatus",{bubbles:!0,cancelable:!1,detail:{action:"open"}})}else W.umn&&console.log("[ut-menu] No items to show")}closeMenu(e){W.umn&&console.log("[ut-menu] Closing submenu",e),e.nextSibling.remove(),e.classList.remove("menupart__menuitem--opened"),this.curSubmenu=null,this.menupartNode.classList.remove("menupart--submenuopened"),this.setSelectedMenu(e.dataset.id),setTimeout(()=>L(this.node,"ws:menustatus",{bubbles:!0,cancelable:!1,detail:{action:"close"}}),1)}async retrieveParent(e,t){let o=this.menuItems.get(e);if(!o)return;let n=this.menuItems.get(o.parent);if(n)W.umn&&console.log("[ut-menu] Using cached parent for",e);else try{o.folderid&&(e=o.folderid),W.umn&&console.log("[ut-menu] Retrieving parent for",e),this.showBusy();let r=await Id(g0(t),2e3);if(W.umn&&console.log("[ut-menu] Received parent",r),r){let s=r.parent?r.parent.id:0;s?(n=r.parent,this.menuItems.set(s,n)):n={id:0};let a=r.items;for(let l of a)l.parent=s,this.menuItems.set(l.id,l);this.menus.set(s,a)}}finally{this.hideBusy()}return n}async retrieveMenu(e,t){let o=e&&this.menus.get(e);if(o)W.umn&&console.log("[ut-menu] Using cached menu for",e);else try{W.umn&&console.log("[ut-menu] Retrieving menu for",e),this.showBusy();let n=await Id(m0(t),2e3);W.umn&&console.log("[ut-menu] Received menu",n),o=n.items;for(let r of o)r.parent=e,this.menuItems.set(r.id,r);this.menus.set(e,o)}finally{this.hideBusy()}return o}showMenu(e,t,o){W.umn&&console.log("[ut-menu] Showing menu",e,t),this.currentItem&&(this.currentItem=null);let n=[...this.menus.get(e).map(r=>this.getMenuItemNode(r,r.id==o))];if(e){let r=this.getMenuParentNode(this.menuItems.get(e));r&&n.unshift(r)}if(this.node.replaceChildren(...n),t){let r=this.node.querySelector(`.menupart__menuitem[data-id="${t}"]`);if(r){let s=[...this.menus.get(t).map(a=>
29this.getMenuItemNode(a,a.id==o))];r.after(h("div",{class:"menupart__submenu"},s)),r.classList.add("menupart__menuitem--opened")}this.menupartNode.classList.add("menupart--submenuopened")}this.curSubmenu=t,this.curMenu=e,this.menuScroll&&this.ps&&this.ps.update()}setSelectedMenu(e){for(let t of this.node.querySelectorAll(".menupart__menuitem"))t.classList.toggle("menupart__menuitem--selected",t.dataset.id==e)}getMenuParentNode(e){if(!(!e||!e.title))return h("a",{class:"menupart__menuitem menupart__menuitem--parent",href:e.link,"data-id":e.id},h("span",{class:"menupart__menuitem-icon menupart__menuitem-icon--parent UT-icon-UT_icon_63_arrow-left-small-16px"}),h("span",{class:"menupart__menuitem-text"},e.title||"##FIXME"))}getMenuItemNode(e,t){e||console.error(e);let o=h("a",{class:"menupart__menuitem"+(e.has_subitems?" menupart__menuitem--subitems":"")+(e.id==this.pageId?" menupart__menuitem--current":"")+(t?" menupart__menuitem--selected":""),href:e.link,target:e.newwindow&&e.browser?"_blank":null,"data-windowopen":e.newwindow&&!e.browser?`${e.width},${e.height}`:null,"data-id":e.id,rel:"noreferrer"},e.has_subitems?[h("span",{class:"menupart__menuitem-icon menupart__menuitem-icon--closed UT-icon-UT_icon_68_plus-small-16px"}),h("span",{class:"menupart__menuitem-icon menupart__menuitem-icon--opened UT-icon-UT_icon_69_min-small-16px"})]:null,h("span",{class:"menupart__menuitem-text"},e.title));return e.id==this.pageId&&(this.currentItem=o),o}showBusy(){this.busyTimer||(document.getElementById("menupart__menu").classList.add("menupart__menu--modal"),this.busyTimer=setTimeout(()=>document.getElementById("menupart__menu").classList.add("menupart__menu--busy"),250))}hideBusy(){this.busyTimer=clearTimeout(this.busyTimer),document.getElementById("menupart__menu").classList.remove("menupart__menu--modal"),document.getElementById("menupart__menu").classList.remove("menupart__menu--busy")}onMenuClick(e){let t=e.target.closest("a");if(W.umn&&console.log("[ut-menu] Clicked link",t),t){if(t.classList.contains("menupart__menuitem--parent"))this.goUp(t);else if(t.classList.contains("menupart__menuitem--opened"))this.closeMenu(t);else if(t.classList.contains("menupart__menuitem--subitems"))this.openMenu(t);else return;e.preventDefault(),e.stopPropagation()}}onMenuOpened(e){if(e.detail.open&&this.currentItem){let t=this.scrollingNode.getBoundingClientRect(),o=this.currentItem.getBoundingClientRect();if(o.top+o.height>t.top+t.height||o.top<t.top){W.umn&&console.log("[ut-menu] Scroll current item into view");let n=this.scrollingNode.scrollTop+(o.top-t.top),r=Math.round((t.height-o.height)/2);u0?setTimeout(()=>this.scrollingNode.scrollTo({behavior:"smooth",left:0,top:n-r}),this.transitionDuration):setTimeout(()=>this.scrollingNode.scrollTo(0,n-r),this.transitionDuration)}}}};q();function ng(){document.documentElement.addEventListener("click",i=>{let e=i.target?.closest(".js-langswitch[hreflang]");e&&He("utwente-lastselectedlanguage",e.getAttribute("hreflang"))},{capture:!0})}var Fs,zd;function Bd(){return Fs||(zd||(zd=new Promise(i=>{Et("--breakpoint-menuhidden").then(e=>{Fs=matchMedia(`(max-width: ${e})`),i(Fs)})})),zd)}function Vd(i){document.documentElement.classList.toggle("utwente--menuopen",i),L(window,"ws:menu-open",{bubbles:!0,cancelable:!1,detail:{open:document.documentElement.classList.contains("utwente--menuopen")}});for(let e of document.querySelectorAll(".contentpart__topmenuitem--hasmenu"))e.classList.remove("contentpart__topmenuitem--menuopen")}function rg(i,e){e?requestAnimationFrame(()=>{document.documentElement.classList.add("utwente--menuhidden"),getComputedStyle(i).transition}):(document.documentElement.classList.remove("utwente--menuhidden"),getComputedStyle(i).transition,Vd(!1))}b(".contentpart__hamburger",i=>{i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),Vd()})});b(".menupart__modalbg",i=>{i.addEventListener("wheel",e=>{e.preventDefault(),e.stopPropagation()},{passive:!1}),i.addEventListener("touchstart",e=>{e.target.closest(".contentpart__hamburger")||(e.preventDefault(),e.stopPropagation())},{passive:!1})});b(".menupart",async i=>{let e=await Bd();e.addEventListener("change",t=>rg(i,t.matches)),rg(i,e.matches),requestAnimationFrame(()=>i.classList.add("menupart--activetransition"))});b(".menupart__menu",i=>new Gn(i));b(".contentpart__topmenuitem--search",i=>{i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),Od(),Vd(!1)})});var qd=class{constructor(e){this.node=e;let t=getComputedStyle(this.node);this.padding=parseInt(t.paddingLeft)+parseInt(t.paddingRight),this.itemNodes=[...this.node.childNodes],this.itemWidths=[],this.listWidth=0;let o=h("span",{class:"contentpart__breadcrumbitem contentpart__breadcrumbitem--ellipsis"},"\u2026");this.node.append(o),o.addEventListener("click",n=>this.unshortenBreadcrumbList(n)),this.checkShortenBreadcrumbList({boun
29dingClientRect:this.node.getBoundingClientRect()})}checkShortenBreadcrumbList(e){this.observing||(this.observing=!0,Pn(this.node,r=>this.checkShortenBreadcrumbList(r)));let t;if(e.borderBoxSize?t=e.borderBoxSize[0].inlineSize:e.contentRect?t=e.contentRect.width+this.padding:t=e.boundingClientRect.width,!t)return;if(!this.listWidth){if(this.node.classList.add("contentpart__breadcrumblist--measure"),this.node.clientWidth)for(let r of this.node.childNodes){let s=Math.ceil(r.getBoundingClientRect().width);this.itemWidths.push(s),r.classList.contains("contentpart__breadcrumbitem--ellipsis")||(this.listWidth+=s)}this.node.classList.remove("contentpart__breadcrumblist--measure")}let o=getComputedStyle(this.node);t=Math.floor(t-parseFloat(o.paddingLeft)-parseFloat(o.paddingRight));let n=t<this.listWidth;if(this.node.classList.toggle("contentpart__breadcrumblist--shorten",n),n){let r=this.itemWidths[this.itemNodes.length];for(let s=this.itemNodes.length-1;s>=0;--s)r+=this.itemWidths[s],this.itemNodes[s].classList.toggle("contentpart__breadcrumbitem--hide",r>t)}}unshortenBreadcrumbList(){Ju(this.node),this.node.classList.remove("contentpart__breadcrumblist--shorten")}};b(".contentpart__breadcrumblist",i=>new qd(i));var f0=200,Ud=class{constructor(e){this.node=e,this.isPartnerMenu=e.classList.contains("contentpart__topmenuitem--partners"),this.isPartnerMenu?(e.addEventListener("mousedown",t=>this.onMouseDown(t)),e.addEventListener("touchstart",t=>this.onTouchStart(t),{passive:!1}),e.addEventListener("touchend",t=>this.onTouchEnd(t))):(e.addEventListener("mouseenter",t=>this.onMouseEnter(t)),e.addEventListener("mouseleave",t=>this.onMouseLeave(t)),e.addEventListener("touchstart",t=>this.onTouchStart(t),{passive:!1}),e.addEventListener("touchend",t=>this.onTouchEnd(t)))}toggleMenu(e){if(this.isPartnerMenu&&!this.node.classList.contains("contentpart__topmenuitem--menuopen")){let t=window.innerWidth-this.node.getBoundingClientRect().left,o=this.node.querySelector(".contentpart__topsubmenu").getBoundingClientRect().width,n=[...this.node.querySelectorAll(".partnermenu__close")].map(s=>s.getBoundingClientRect().width).reduce((s,a)=>s+a),r=Math.floor(Math.min(Math.max(o-t,0),o-n));this.node.querySelector(".partnermenu__navbar").style.paddingLeft=`${r}px`}this.node.classList.toggle("contentpart__topmenuitem--menuopen",e)}onMouseEnter(){this.mouseTimeout&&(clearTimeout(this.mouseTimeout),this.mouseTimeout=0),this.toggleMenu(!0)}onMouseLeave(){W["ut-nomenuclose"]||(this.mouseTimeout&&clearTimeout(this.mouseTimeout),this.mouseTimeout=setTimeout(()=>this.onMouseTimeout(),f0))}onMouseTimeout(){this.toggleMenu(!1),this.mouseTimeout=0}onMouseDown(e){if(e.button!=0)return;let t=e.target.closest(".partnermenu__close");this.toggleMenu(!t)}onTouchStart(e){e.target.closest(".contentpart__topsubmenu")||B(e)}onTouchEnd(e){if(!W["ut-nomenuclose"]&&!e.target.closest(".contentpart__topsubmenu"))if(this.isPartnerMenu){let t=e.target.closest(".partnermenu__close");this.toggleMenu(!t)}else this.toggleMenu()}};b(".contentpart__topmenuitem--hasmenu",i=>new Ud(i));var Dd=class{constructor(e){document.documentElement.classList.contains("ut--menuhiddenbydefault")||(this.node=e,this.hamburgerNode=this.node.querySelector(".contentpart__hamburger-container"),this.lastScrollY=-1,this.lastScrollDown=null,window.addEventListener("scroll",t=>this.onScroll(t)),Bd().then(t=>{t.addEventListener("change",o=>this.onMenuActive(o.matches)),this.onMenuActive(t.matches)}),Et("--breakpoint-deeplinks").then(t=>{let o=matchMedia(`(max-width: ${t})`);o.addEventListener("change",n=>this.onDeeplinksHidden(n.matches)),this.onDeeplinksHidden(o.matches)}))}onMenuActive(e){this.menuActive=e,this.menuActive?this.lastScrollDown!==null&&this.handleScroll():this.node.style.height=null}onDeeplinksHidden(e){e&&(this.node.style.height=null,this.handleScroll())}onScroll(e){!this.menuActive||e&&e.target==window||(this.waiting=this.waiting||requestAnimationFrame(()=>{this.handleScroll(),this.waiting=null}))}handleScroll(){if(window.scrollY!=this.lastScrollY){if(window.scrollY<0||window.scrollY+window.innerHeight>document.body.scrollHeight)return;let e=window.scrollY>this.lastScrollY;if(e!=this.lastScrollDown&&(this.lastScrollDown=e,this.lastScrollY<this.node.clientHeight-this.node.firstChild.clientHeight||this.lastScrollY>this.node.clientHeight)){let t=e?window.scrollY+this.node.firstChild.clientHeight:window.scrollY;this.node.style.height=`${t}px`,this.hamburgerNode.style.height=`${this.node.parentNode.clientHeight-t}px`}this.lastScrollY=window.scrollY}}};b(".contentpart__navbar-container",i=>new Dd(i));var Hd=class{constructor(e){this.node=e;let t=getComputedStyle(this.node);this.padding=parseInt(t.paddingTop)+parseInt(t.paddingBottom),rs("--header-navbar-height",`${this.node.getBoundingClientRect().height}px`),Pn(this.node,o=>this.onResize(o))}onResize(e){let t;e.borderBoxSize?t=e.borderBoxSize[0].blockSize:e.contentRect?t=e.contentRect.height+this.padding:t=e.boundingClientRect.height,rs("--header-navbar-height",`${t}px`)}};b(".contentpart__navbar-block",i=>new Hd(i));var Wd=class{constructor(e){this.node=e,this.menuActive=!1,this.menuOpen=!1,this.resizeHandler=()=>this.onResize(),Bd().then(t=>{t.addEventListener("change",o=>this.onMenuActive(o.matches)),this.onMenuActive(t.matches)}),window.addEventListener("ws:menu-open",t=>this.onMenuOpen(t.detail.open)),this.handleResize()}onMenuActive(e){this.menuActive=e,this.checkEventHandlers()}onMenuOpen(e){this.menuOpen=e,this.menuActive&&this.menuOpen&&this.handleResize(),this.checkEventHandlers()}checkEventHandlers(){this.menuActive&&this.menuOpen?(window.addEventListener("resize",this.resizeHandler),window.addEventListener("scroll",this.resizeHandler)):(window.removeEventListener("resize",this.resizeHandler),window.removeEventListener("scroll",this.resizeHandler))}onResize(){this.waiting=this.waiting||requestAnimationFrame(()=>{this.handleResize(),this.waiting=null})}handleResize(){window.innerHeight!=this.curHeight&&(this.curHeight=window.innerHeight,rs("--vh",`${this.curHeight/100}px`))}};b(".contentpart__topmenuitem--partners",i=>new Wd(i));b(".main__deeplinks",i=>{if(Rt()!="ios"&&Rt()!="android"){let e=new kt(i,{swipePropagation:!1,wheelPropagation:!1,suppressScrollX:!0});window.addEventListener("resize",()=>requestAnimationFrame(()=>
29e.update()))}});ng();A();var Yd=0;J(()=>setTimeout(()=>$d({forceevents:!0}),1));window.addEventListener("resize",i=>{Yd=Yd||requestAnimationFrame(()=>$d(i))});window.addEventListener("load",$d);function $d(i){Yd=0,ss(),L(window,"ws:resize",{bubbles:!0,cancelable:!1,detail:{event:i}})}A();var Uo=[],sg=!0,Xd=!0;window.addEventListener("resize",i=>Gd(i));J(_0);function _0(){document.body.addEventListener("focusout",t=>w0(t));let i=location.hash.substr(1);if(i){Uo=[];let t=document.getElementById(i)?.closest(".ut-rtd-blocks");for(;t;)Uo.push(t),t=t.parentElement.closest(".ut-rtd-blocks");Gd();return}let e=document.querySelector(".ut-rtd-blocks");e&&e.tagName==="DETAILS"&&(Uo=[e]),Gd(),setTimeout(function(){document.documentElement.classList.add("ut-rtd-blocks-initialized")},1)}function w0(i){let e=i.target.closest("details.ut-rtd-blocks");if(!e||!(i.target.tagName==="SUMMARY")||i.relatedTarget!==null)return;if(!(window.getComputedStyle(document.documentElement).getPropertyValue("--headingsmode")==="autofold")){let n=e.querySelector(".ut-rtd-blocks__body");n.setAttribute("tabindex","-1"),n.focus()}}function Gd(i){let e=Array.from(document.querySelectorAll("details.ut-rtd-blocks"));if(e.length===0)return;let t=window.getComputedStyle(document.documentElement).getPropertyValue("--headingsmode")==="autofold";if(!(!sg&&Xd===t)){if(Xd&&!t){Uo=[];for(let o of e)o.hasAttribute("open")&&Uo.push(o)}for(let o of e){o.toggleAttribute("open",!t||Uo.includes(o));let n=o.querySelector("summary");if(t){n?.removeAttribute("role"),n?.removeAttribute("tabindex");let r=o.querySelector(".ut-rtd-blocks__body");document.activeElement===r&&n?.focus()}else n?.setAttribute("role","presentation"),n?.setAttribute("tabindex","-1")}Xd=t,sg=!1}}function b0(i){let e={};for(let t=i.target;t;t=t?.parentElement)for(let o of t.attributes)if(o.nodeName.startsWith("data-wh-datalayer-onclick-")){let n=o.nodeName.substring(26);n!=="__proto__"&&!(n in e)&&(e[n]=o.nodeValue||"")}else if(o.nodeName==="data-wh-datalayer-onclick"){let n=JSON.parse(o.nodeValue);for(let[r,s]of Object.entries(n))r!=="__proto__"&&!(r in e)&&(e[r]=s)}Object.keys(e).length&&window.dataLayer.push(e)}function ag(){window.addEventListener("click",b0,{capture:!0})}il({endpoint:"eu"});tl();Xr({captcha:"onLoad"});Rh(i=>new Mr(i),{messageboxclassbase:"wh-form__"});window._paq=window._paq||[];ag();A();var dg=st(wo());de();q();var Lt=class extends ce{async getFormExtraSubmitData(){return{...await super.getFormExtraSubmitData(),referralinfo:Ze(),targetinterest:document.documentElement.dataset.targetinterest||"",targetlanguage:Wi().language}}};A();var lg="input[name]:not([type=number]), select[name]";function Jd(i,e){let t=[],o={filters:{}};e&&(o.id=e);let n;if("extrafilters"in Y.obj?n=Y.obj.extrafilters:i&&i.hasAttribute("data-formfilters")&&(n=JSON.parse(i.getAttribute("data-formfilters"))),n)for(let r of n)t.push(`${r.filtertitle?r.filtertitle+": ":""}${r.label}`),o.filters[r.name]?o.filters[r.name].push(r.value):o.filters[r.name]=[r.value];if(!i)return console.warn("No form specified for getFormFilters"),{titles:t,settings:o};for(let r of i.querySelectorAll(lg)){let s=r.nodeName==="INPUT"?r.getAttribute("type"):r.nodeName,a=r.getAttribute("data-filtertitle");if(s==="checkbox"){if(!r.checked)continue;let l=r.parentNode.querySelector("label:not(:empty)");if(r.classList.contains("ut-toggle")&&(l=l.nextSibling),r.value==="yes")o.filters[r.name]=r.checked;else{let d=l?l.textContent:"??";t.push(`${a?a+": ":""}${d}`),o.filters[r.name]?o.filters[r.name].push(r.value):o.filters[r.name]=[r.value]}}else if(s==="radio"){if(!r.checked)continue;t.push(`${a?a+":":""}${r.parentNode.querySelector("label").textContent}`),o.filters[r.name]=r.checked}else if(s==="date"){let l=r.value;l!==""&&(t.push(`${a?a+": ":""}${l}`),o.filters[r.name]=r.value)}else if(s==="hidden"){let l=r.value?JSON.parse(r.value):null;l&&(t.push(`${a?a+": ":""}${l.title}`),o.filters[r.name]=l.id)}else s==="SELECT"?r.selectedOptions.length&&(t.push(`${a?a+": ":""}"${r.selectedOptions[0]?.textContent}"`),o.filters[r.name]=r.value):r.value!==""&&(t.push(`${a?a+": ":""}"${r.value}"`),o.filters[r.name]=r.value)}return{titles:t,settings:o}}function Kd(i,e){if(i){e=e||{};for(let t of i.querySelectorAll(lg)){let o=t.nodeName==="INPUT"?t.getAttribute("type"):"";if(o==="checkbox")e[t.name]?typeof e[t.name]=="boolean"?t.checked=e[t.name]:t.checked=e[t.name]&&(","+e[t.name]+",").indexOf(","+t.value+",")!==-1:t.checked=!1;else if(o==="radio")t.checked=!!e[t.name];else if(o==="date")Pe(t,e[t.name]?e[t.name]:""),t.splitcontrol&&(t.splitcontrol.daynode.value=t.splitcontrol.monthnode.value=t.splitcontrol.yearnode.value="");else if(o==="hidden"){let n=t.value?JSON.parse(t.value):null;n&&n.id!==e[t.name]&&(t.value="")}else t.value=e[t.name]?e[t.name]:""}}}A();
29J(()=>{document.querySelector(".filterbar--newsevents")&&(window.overview_newsevents=new Xe({filterpagetype:"newsevents"}))});var Qd=class extends Lt{constructor(e,t){super(e),this.formnode=e,this.requesttype=t,this.container=document.createElement("div"),this.container.appendChild(this.formnode),this.formnode.style.display="block";for(let o of document.querySelectorAll(".inlinecta__button[href='#showeventform']"))o.addEventListener("click",this.show.bind(this))}show(e){e&&e.preventDefault(),this.reset(),this.dialognode=Qi("",this.formnode,{theme:"withbackground dialog--small"})}reset(){super.reset()}onSubmitSuccess(e){let t=this.dialognode.querySelector(".dialog__content");t&&(t.textContent=this.requesttype=="cultural"?y("utwente_base:frontend.ws2016.js.newsevents.thanks-cultural"):y("utwente_base:frontend.ws2016.js.newsevents.thanks-event"))}},Zd=class{constructor(){this.initPrevNextNav(),this.summarycontainer=document.querySelector("main .summary"),this.form=document.querySelector(".filteredoverview__form"),this.initFilters(),this.hasfoldableitems=this.summarycontainer.classList.contains("summary--foldable"),this.hasfoldableitems&&this.initFoldableContent(),this.updatePageTitle()}initFoldableContent(){let e=this.summarycontainer.querySelectorAll(".summary__items .summary__link");for(let t of e){let o=t.querySelector(".summary__arrow");t.addEventListener("click",n=>{if(!(n.target.nodeName=="A"||n.target.classList.contains("addtocalendar")||n.target.closest(".addtocalendar"))){if(t.classList.contains("foldablecontent--active")){o.style.top="",t.classList.remove("foldablecontent--active");return}for(let r of e)r.classList.remove("foldablecontent--active");t.classList.add("foldablecontent--active")}})}}initFilters(){if(this.rpc=new dg.default,this.moreresults=document.querySelector(".moreresults"),this.moreresults&&(this.moreresults.querySelector("a").addEventListener("click",this.doLoadMore.bind(this),!1),this.lastresult=parseInt(this.moreresults.dataset.skip,10)),!this.form)return;this.archivecheck=this.form.querySelector("input[name='archive']");let e=sessionStorage.summaryfilters?JSON.parse(sessionStorage.summaryfilters):{};e.id!=Y.obj.summary_id&&(e={}),(!document.referrer||document.referrer.indexOf(document.location.href)==-1)&&(e={});let t=[];for(let n of this.form.querySelectorAll("input[name], select[name]")){let r=t.indexOf(n.name)==-1?this.getUrlParam(n.name):"";if(r!=""){t.length==0&&(e={id:Y.obj.summary_id,filters:{}});let s=n.nodeName=="INPUT"?n.getAttribute("type"):"";s=="checkbox"?n.value=="yes"?e.filters[n.name]=r==n.value:e.filters[n.name]=r.split(","):s=="radio"?e.filters[n.name]=r=="true":e.filters[n.name]=r,t.push(n.name)}}this.archivecheck&&this.archivecheck.checked&&(!e.filters||!Object.keys(e.filters).length)&&(e.filters={archive:this.archivecheck.checked}),Kd(this.form,e.filters);let o=this.form.parentNode.classList.contains("summaryfilters--moreitems");this.form&&e.filters&&Object.keys(e.filters).length?(t.length?(sessionStorage.summaryfilters=JSON.stringify(e),this.prevfilters=sessionStorage.summaryfilters,this.showFilters(Jd(this.form),o)):this.doFilter(null),this.form.classList.add("foldablecontent--open")):(this.prevfilters=JSON.stringify(e),this.archivecheck&&this.showFilters({},o));for(let n of this.form.querySelectorAll("select"))n.addEventListener("change",this.doFilter.bind(this),!1);for(let n of this.form.querySelectorAll("input[type=date]"))n.addEventListener("change",this.doFilter.bind(this),!1);this.form.addEventListener("submit",this.doFilter.bind(this),!1),this.summarycontainer.addEventListener("click",n=>{if(n.target.classList.contains("tag")){let r=n.target.getAttribute("data-filter"),s=n.target.getAttribute("data-id");r!=""&&s!=""&&(n.preventDefault(),location.href=location.href.split("?")[0]+"?"+encodeURIComponent(r)+"="+encodeURIComponent(s))}});for(let n of this.form.querySelectorAll(".resetfilters"))n.addEventListener("click",r=>{let s;this.archivecheck&&(s={archive:this.archivecheck.checked}),this.resetFilters(s)},!1);this.archivecheck&&(document.querySelector(".filterlink--upcoming").addEventListener("click",n=>this.resetFilters({archive:!1}),!1),document.querySelector(".filterlink--archive").addEventListener("click",n=>this.resetFilters({archive:!0}),!1))}resetFilters(e){Kd(this.form,e),this.lastresult=0,this.doFilter(null)}getUrlParam(e){let t=location.search.replace(/\+/g,"%20");return(e=new RegExp("[?&]"+encodeURIComponent(e)+"=([^&]*)").exec(t))?decodeURIComponent(e[1]):""}showFilters(e,t){if(e.titles){let o=document.getElementById("summaryfilterfeedback");o&&(o.style.display=e.titles.length?"block":"none",o.querySelector(".filters").textContent=e.titles.join(", "))}this.archivecheck&&(document.querySelector(".filterlink--upcoming").style.display=this.archivecheck.checked?"":"none",document.querySelector(".filterlink--archive").style.display=this.archivecheck.checked?"none":"")}doLoadMore(e){this.doFilter(e,!0)}async doFilter(e,t){if(e&&e.preventDefault(),this.rpc.activerequest)for(let r=0;r<this.rpc.requestqueue.length;r++)this.rpc.requestqueue[r].request.method=="GetItems"&&(console.log("Cancelling request ",this.rpc.requestqueue[r]),this.rpc.requestqueue[r].cancel());let o=Jd(this.form,Y.obj.summary_id),n=o.settings;
29if(this.showFilters(o,t),history.replaceState){let r=[];for(let s in n.filters){let a=n.filters[s];typeof a=="string"||typeof a=="number"?r.push(s+"="+a):typeof a=="boolean"?a&&r.push(s+"=yes"):r.push(s+"="+a.join(","))}history.replaceState(null,Y.obj.title,Y.obj.summary_url+(r.length?"?"+r.join("&"):""))}if(sessionStorage.summaryfilters=JSON.stringify(n),!(this.prevfilters&&sessionStorage.summaryfilters==this.prevfilters&&!t)){this.form&&this.setSpinnerEnabled(!0),t&&this.moreresults.style.display!="none"&&(this.moreresults.classList.add("loading"),n.filters.skip=this.lastresult);try{let r=await this.rpc.async("GetItems",Object.keys(n.filters).length?n.filters:null);this.prevfilters=sessionStorage.summaryfilters,this.form&&this.setSpinnerEnabled(!1),this.moreresults&&this.moreresults.style.display!="none"&&this.moreresults.classList.remove("loading"),sessionStorage.summary=JSON.stringify({id:Y.obj.summary_id,links:r.links}),t?this.lastresult+=r.items.length:this.lastresult=r.items.length;let s="";if(r.emptyfilters&&!t){for(let l=0;l<r.items.length&&l<2;++l){let d=r.items[l];if(s+='<li class="summary__introblock"><a class="summary__link" href="'+d.link+'">',d.photolink&&(s+='<img class="summary__image" src="'+d.photolink+'" srcset="'+d.photolink+" 1x, "+d.photolink_2x+' 2x" alt="'+(d.photoalt?d.photoalt:d.title)+'" />'),s+='<span class="summary__title">'+d.title+"</span>",d.description&&(s+='<span class="summary__description" data-ellipsislines=""><span>'+d.description+"</span></span>"),s+='<div class="summary__date">'+d.dateformatted+"</div>",d.location&&(s+='<span class="location">'+d.location+"</span>"),d.tags.length){s+='<span class="tags">';for(let c=0;c<d.tags.length;++c)d.tags[c].filter?s+='<span class="tag" data-filter="'+d.tags[c].filter+'" data-id="'+d.tags[c].id+'">'+d.tags[c].tag+"</span>":s+='<span class="tag">'+d.tags[c].tag+"</span>";s+="</span>"}s+='<span class="summary__readmore">'+y("utwente_base:frontend.ws2016.js.readmore")+"</span>",s+="</a></li>"}s!=""&&(s='<ul class="summary__introblocks">'+s+"</ul>")}let a="";for(let l=0;l<r.items.length;++l){let d=r.items[l];if(a+='<li class="summary__item '+(r.emptyfilters&&!t&&l<2?"summary__item--mobileonly":"")+'">',a+=this.hasfoldableitems?'<span class="summary__link">':'<a class="summary__link" href="'+d.link+'">',d.summaryphotolink&&(a+='<img class="summary__image" src="'+d.summaryphotolink+'" srcset="'+d.summaryphotolink+" 1x, "+d.summaryphotolink_2x+' 2x" alt="'+(d.summaryphotoalt?d.summaryphotoalt:d.title)+'" />'),a+='<span class="summary__meta"><span class="date">'+d.dateformatted+"</span>",d.location&&(a+='<span class="location">'+d.location+"</span>"),a+="</span>",a+='<span class="summary__title">'+d.title+"</span>",this.hasfoldableitems&&(a+='<div class="summary__foldablecontent">',d.subtitle&&(a+='<span class="summary__subtitle">'+d.subtitle+"</span>"),d.description&&(a+='<span class="summary__description">'+d.description+"</span>"),a+="</div>"),d.tags.length){a+='<span class="tags">';for(let c=0;c<d.tags.length;++c)d.tags[c].filter?a+='<span class="tag" data-filter="'+d.tags[c].filter+'" data-id="'+d.tags[c].id+'">'+d.tags[c].tag+"</span>":a+='<span class="tag">'+d.tags[c].tag+"</span>";a+="</span>"}this.hasfoldableitems?(a+='<div class="summary__foldablecontent">',d.addthisdata&&(a+='<div class="summary__calendar">',a+='<span class="icon UT-icon-UT_icon_84_calendar-16px"></span>',a+='<span class="addtocalendar addthisevent">',a+=y("utwente_base:frontend.ws2016.js.addtocalendar"),a+='<span class="start" style="display:none;">'+d.addthisdata.startdate+"</span>",a+='<span class="end" style="display:none;">'+d.addthisdata.enddate+"</span>",a+='<span class="timezone" style="display:none;">Europe/Amsterdam</span>',a+='<span class="title" style="display:none;">'+d.title+"</span>",a+='<span class="description" style="display:none;">'+d.addthisdata.description+"</span>",d.location&&(a+='<span class="location" style="display:none;">'+d.location+"</span>"),a+='<span class="all_day_event" style="display:none;">'+(d.addthisdata.allday?"true":"false")+"</span>",a+='<span class="date_format" style="display:none;">DD/MM/YYYY</span>',a+="</span>",a+="</div>"),a+='<a href="'+d.link+'" class="summary__readmore">'+y("utwente_base:frontend.ws2016.js.readmore")+"</a>",a+="</div>",a+='<span class="summary__arrow"><span class="open UT-icon-UT_icon_54_arrow-down-round-16px"></span><span class="close UT-icon-UT_icon_53_arrow-up-round-16px"></span></span>'):a+='<span class="summary__arrow UT-icon-UT_icon_52_arrow-right-round-16px"></span>',a+=this.hasfoldableitems?"</span>":"</a>",a+="</li>"}a!=""&&!t&&(a='<ul class="summary__items">'+a+"</ul>"),clearTimeout(this.summarytimer),t||(this.summarycontainer.style.opacity=0),this.summarytimer=setTimeout(()=>{if(t){let l=this.summarycontainer.querySelector(".summary__items");l||(l=document.createElement("ul"),l.className="summary__items",this.summarycontainer.appendChild(l)),l.innerHTML+=a,this.initFoldableContent()}else{if(r.items.length==0){let l=this.archivecheck&&!this.archivecheck.checked?y("utwente_base:frontend.ws2016.js.newsevents.noupcoming"):y("utwente_base:frontend.ws2016.js.newsevents.noresults");this.summarycontainer.innerHTML=`<div class="noresults">${l}</div>`;for(let d of document.querySelectorAll(".summaryintro"))d.style.display="none"}else this.summarycontainer.innerHTML=s+a,this.hasfoldableitems&&this.initFoldableContent();this.updatePageTitle()}this.moreresults.style.display=r.moreitems?"block":"none",s!=""&&Hu(!0),t||(this.summarycontainer.style.opacity=1),this.show
29Filters(o,t||!!r.moreitems)},400)}catch(r){this.form&&this.setSpinnerEnabled(!1),console.error(r)}return!1}}updatePageTitle(){this.archivecheck&&(document.querySelector(".header__title, .contentpart__title").innerText=this.archivecheck.checked?Y.obj.pagetitles.archive:Y.obj.pagetitles.upcoming,ss(!0))}setSpinnerEnabled(e){document.documentElement.classList[e?"add":"remove"]("loading"),document.documentElement.classList[e?"add":"remove"]("ut-spinner--showembeddedspinner")}initPrevNextNav(){Y.obj.summary&&(sessionStorage.summary=JSON.stringify(Y.obj.summary));let e=document.querySelectorAll(".article__pagenav .previous,.article__pagenav .next");if(!e.length)return;if(!sessionStorage.summary){for(let o of e)o.getAttribute("href")!=""&&o.classList.add("active");return}let t=sessionStorage.summary?JSON.parse(sessionStorage.summary):{};for(let o=0;t.id==Y.obj.summary_id&&o<t.links.length;++o)if(Y.obj.pageid==t.links[o].id){for(let n of e)n.classList.contains("previous")?o>0?(n.setAttribute("href",Y.obj.summary_url+t.links[o-1].link),n.classList.add("active")):(n.setAttribute("href","#"),n.classList.remove("active")):o<t.links.length-1?(n.setAttribute("href",Y.obj.summary_url+t.links[o+1].link),n.classList.add("active")):(n.setAttribute("href","#"),n.classList.remove("active"));break}}};b(".article--news div[data-autointrotext] > p:first-of-type",i=>{!i.classList.contains("introtext")&&!i.classList.contains("introtext-news")&&(i.className="introtext-news")});J(()=>{(document.querySelector(".filterbar--newsevents")||document.documentElement.classList.contains("page--newseventsoverview"))&&new Zd});se("utwente_base:event_registration",i=>new Qd(i,"event"));A();var Je=[],Ke=-1,Ns=!1,As,Do,js=null,ec=8e3;function v0(){Ns=!0,Ke<0?pg():js===!1?Do=setTimeout(tc,ec):Je[Ke].player.play()}function y0(){Ns=!1,js===!1?clearTimeout(Do):Ke>=0&&Je[Ke].player.pause()}function pg(){if(!Ns)return;++Ke>=Je.length&&(Ke=0);let i=Je[Ke];Tt(i.node)?i.player&&cg():St(i.node).then(e=>{i.player=e,i.node.addEventListener("video:play",x0),i.node.addEventListener("video:finish",pg),i.node.addEventListener("video:ready",cg)})}function cg(){let i=Je[Ke];i.node.classList.remove("toplevelhome__video--noposter"),i.node.classList.add("toplevelhome__video--current");let e=Ke-1;e<0&&(e=Je.length-1),Je[e].node.classList.remove("toplevelhome__video--current"),i.player.play(),requestAnimationFrame(()=>Je[Ke].node.classList.add("toplevelhome__video--noposter")),Do||(Do=setTimeout(k0,ec))}function x0(){clearTimeout(Do),js=!0}function k0(){console.warn("Video fallback mode activated"),js=!1,document.querySelector(".toplevelhome__videos").classList.add("toplevelhome__videos--fallback"),Je[Ke].node._wsTmpTransition=getComputedStyle(Je[Ke].node).transition,tc()}function tc(){if(!Ns)return;++Ke>=Je.length&&(Ke=0),Je[Ke].node.classList.add("toplevelhome__video--current");let i=Ke-1;i<0&&(i=Je.length-1),Je[i].node.classList.remove("toplevelhome__video--current"),Do=setTimeout(tc,ec)}function T0(i){i.detail.level<4?As!="mobile"&&(y0(),As="mobile"):As!="desktop"&&(v0(),As="desktop")}b(".toplevelhome__videos",i=>{for(let e of i.querySelectorAll(".toplevelhome__video"))e.hasAttribute("data-video")&&Je.push({node:e});Je.length&&window.addEventListener("ws:responsivemode",T0)});q();document.documentElement.classList.contains("utwente--loginrouter")&&(b("#oidc_ut",i=>{i.addEventListener("click",e=>{wr("UTAZURE")})}),b("form.ut-specialaccount-loginform",i=>{i.action+=location.hash}),document.documentElement.classList.contains("utwente--ws2026")||b(".wh-wrdauth-forgotpassword__form",i=>{(i.parentNode?.parentNode).replaceWith(i)}));_a();A();de();function Jn(i){return i.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;")}var ic=class extends Lt{constructor(e){super(e);for(let t of this.node.querySelectorAll(".wh-form__questiongroup__introtext")){let o=t.innerHTML;(o.indexOf("[participantscount]")!==-1||o.indexOf("[bhvcount]")!==-1)&&(o=o.replace("[participantscount]",'<span class="participantscount"></span>'),o=o.replace("[bhvcount]",'<span class="bhvcount"></span>'),t.innerHTML=o)}e.querySelector("#meetingsform-step2").addEventListener("wh:form-pagechange",()=>this.showbhvcount()),e.querySelector("#meetingsform-step3").addEventListener("wh:form-pagechange",()=>this.generateOverview())}showbhvcount(){let e=this.elements.nrparticipants.value,t=0;e>20&&(t=Math.ceil(e/50));for(let o of this.node.querySelectorAll(".wh-form__questiongroup__introtext .participantscount"))o.textContent=String(e);for(let o of this.node.querySelectorAll(".wh-form__questiongroup__introtext .bhvcount"))o.textContent=String(t)}generateOverview(){let e=document.getElementById("meetingsform-step3-content");e.replaceChildren();let t=[],o="";for(let s=0;s<this.elements.length;++s){let a=this.elements[s];if(a.type!=="hidden"){let l="",d="",c=a.closest(".wh-form__fieldgroup");if(c&&(l=c.querySelector("label")?c.querySelector("label").textContent:c.dataset.title,a.nodeName==="SELECT"?d=a.options[a.selectedIndex].textContent:d=String(a.value)),l&&d){if(l===o&&(a.name.indexOf("hour")>-1||a.name.indexOf("minute")>-1)){let p=" ";a.name.indexOf("hour")>-1&&d.length===1&&(d="0"+d),a.name.indexOf("minute")>-1&&(d.length===1&&(d="0"+d),p=":"),t[t.length-1].value+=p+d}else t.push({title:l,value:d,name:a.name});o=l}}}let n=-1,r=!1;for(let s=0;s<t.length;++s)if(t[s].name.indexOf("bhv_")===0){let l=Number(t[s].name.replace(/[^0-9]/g,""));if(n!==l&&(r=t[s].name.indexOf("_name")>0&&t[s].value!=="",r&&e.appendChild(z("div",{class:"line bhv",innerHTML:"<strong>BHV'er "+l+"</strong>"}))),n=l,r){let d="<strong>"+Jn(t[s].title)+"</strong><span>"+Jn(t[s].value)+"</span>";e.appendChild(z("div",{class:"line",innerHTML:d}))}}else{r=!1;let l="<strong>"+Jn(t[s].title)+"</strong><span>"+Jn(t[s].value)+"</span>";e.appendChild(z("div",{class:"line",innerHTML:l}))}}reset(){super.reset(),document.getElementById("meetingsform-step3-content").replaceChildren(),this.gotoPage(0);for(let t=0;t<this.elements.length;++t){let o=this.elements[t];
29o.type!=="hidden"&&(o.nodeName==="SELECT"&&(o.selectedIndex=-1),o.value="")}}onSubmitSuccess(e){e.success?(e.isedit||this.reset(),this.showSuccessDialog()):this.showErrorDialog()}showErrorDialog(){let e=y("utwente_base:frontend.ws2016.js.meetings.error-title"),t=y("utwente_base:frontend.ws2016.js.meetings.error-description");this.dialognode=Qi(e,t,{theme:"dialog--small"})}showSuccessDialog(){let e=y("utwente_base:frontend.ws2016.js.meetings.thanks-title"),t=y("utwente_base:frontend.ws2016.js.meetings.thanks-description");this.dialognode=Qi(e,t,{theme:"dialog--small"})}};se("utwente_base:meetingsform",i=>new ic(i));A();var oc=class extends Xe{constructor(){let e={additionalform:document.querySelector(".peopleoverview__categoryselection"),filterpagetype:"people"};super(e),this.resize(),window.addEventListener("resize",this.resize.bind(this));let t=Y.obj.filteredoverview.persons,o=[];for(let r of t)r.nodes=[],o.push(r.personid);let n=document.querySelectorAll(".widget[data-options], .peopleoverview__summary a[data-personid]");for(let r of Array.from(n)){let s=r.getAttribute("data-personid");if(!s){let l=bt(r,"data-options");if(!l||!("personid"in l))continue;s=l.personid}let a=o.indexOf(s);if(a===-1){console.error("personid",s,"not found in filteredoverview data.");continue}t[a].nodes.push(r)}this.items=t,this.setFeedback(t.length),document.querySelector(".peopleoverview__showaslist").addEventListener("click",this.switchToView.bind(this,"list")),document.querySelector(".peopleoverview__showasgrid").addEventListener("click",this.switchToView.bind(this,"grid")),document.querySelector(".peopleoverview__showassummary").addEventListener("click",this.switchToView.bind(this,"summary")),this.isFilterActive()&&this.doFilter()}resize(){let e=document.documentElement;document.body.clientWidth<645&&e.classList.contains("peopleoverview--showasgrid")&&(e.classList.remove("peopleoverview--showasgrid"),e.classList.add("peopleoverview--showaslist"))}switchToView(e,t){document.documentElement.classList[e==="list"?"add":"remove"]("peopleoverview--showaslist"),document.documentElement.classList[e==="grid"?"add":"remove"]("peopleoverview--showasgrid"),document.documentElement.classList[e==="summary"?"add":"remove"]("peopleoverview--showassummary")}showResults(){console.log("showResults",this.filters);let e=0;console.log("Searching through",this.items.length,"items.");let t=[];for(let n of this.items){let r=(!this.filters.category||n.category===this.filters.category)&&(!this.filters.query||n.textcontent.indexOf(this.filters.query.toLowerCase())>-1);for(let s of n.nodes)s.classList[r?"remove":"add"]("hidden");if(r){let s=parseInt(n.personid.split("_")[0]);t.indexOf(s)===-1&&t.push(s),++e}}let o=document.querySelectorAll(".widget__break, .peopleoverview__summary__category");for(let n of o){let r=JSON.parse(n.dataset.options),s=t.indexOf(r.catidx)>-1;n.style.display=s?"block":"none"}this.setFeedback(e)}};J(()=>{document.querySelector(".filterbar--peoplepage")&&(window.peopleoverview=new oc)});A();var nc=class extends Lt{constructor(e){super(e);let t=this.node.querySelector(".ut-medical__cancel");t&&t.addEventListener("click",o=>this.cancelAppointment()),this.timeoptions=k(this.elements.time,"option"),this.elements.date&&(this.elements.date.addEventListener("change",o=>this.updateTimes()),this.updateTimes())}updateTimes(){let e=this.elements.date.value,t=this.elements.time.options[this.elements.time.selectedIndex];this.elements.time.replaceChildren(),this.timeoptions.forEach(o=>{JSON.parse(o.dataset.fordates).includes(e)&&(this.elements.time.appendChild(o),t&&t.textContent===o.textContent&&(this.elements.time.value=o.value))})}async cancelAppointment(){await Ne("Weet u zeker dat u uw afspraak wil annuleren ?",[{result:"no",title:"Nee"},{result:"yes",title:"Ja"}])==="yes"&&(await this.invokeRPC("cancelappointment"),document.querySelector("#medical-form-page1").style.display="none",document.querySelector("#medical-form-cancelled").style.display="block")}onSubmitSuccess(e){document.querySelector("#medical-form-page1").style.display="none",document.querySelector("#medical-form-success").style.display="block"}};se("utwente_base:medicalsignupform",i=>new nc(i));q();de();var hg=640,ug=1600;async function E0(i){return new Promise((e,t)=>
29{let o=new FileReader;o.addEventListener("load",()=>{let n=document.createElement("img");n.addEventListener("load",()=>{e({width:n.naturalWidth,height:n.naturalHeight})}),n.addEventListener("error",r=>t(new Error(r.message))),n.src=o.result}),o.addEventListener("error",()=>t(new Error("readAsDataURL failed"))),o.readAsDataURL(i)})}var rc=class extends ce{#e;#i={news:[],event:[]};#t=!1;constructor(e){super(e),this.node.dataset.publocs&&(this.#i=JSON.parse(this.node.dataset.publocs)),this.#e=new MutationObserver(n=>this.#n(n));for(let n of k(e,".ut-neoform-showblurrybg")){let r=F(n,"input[type='checkbox']");r&&n.previousSibling?.classList.contains("ut-neoform-headerphoto")&&r.addEventListener("change",()=>n.previousSibling.classList.toggle("ut-neoform-headerphoto--blurrybg",r.checked))}for(let n of k(e,".ut-neoform-headerphoto")){let r=F(n,"wh-imgedit");r?(r.addEventListener("change",()=>this.#o(r)),this.node.addEventListener("wh:form-pagechange",()=>this.#o(r)),this.#e.observe(n,{childList:!0})):(r=F(n,"div.wh-form__imgedit"),r&&(r.addEventListener("change",()=>this.#o(r,!0)),this.node.addEventListener("wh:form-pagechange",()=>this.#o(r))))}for(let n of k(e,".ut-neoform-headeralt"))this.#r(n,!1);for(let n of k(e,".ut-neoform-checkboxgroup .wh-form__fields")){let r=F(n,":scope > .wh-form__infotextwrapper");r&&n.after(r),this.#e.observe(n,{childList:!0})}for(let n of k(e,".wh-form__fieldgroup[data-wh-form-group-for=mp_receivers]")){let r=!1;n.addEventListener("change",s=>{if(!(!s.target||r)){if(r=!0,s.target.dataset.isemployeesrole==="true")for(let a of k(n,"input[type=checkbox][data-isemployeesrole=false]"))a.dataset.isemployeesrole!=="true"&&(a.checked=s.target.checked);else{let a=k(n,"input[type=checkbox][data-isemployeesrole=false]").every(d=>d.checked),l=F(n,"input[type=checkbox][data-isemployeesrole=true]");l&&(l.checked=a)}r=!1}})}let t=F(e,".wh-form__fieldgroup[data-wh-form-group-for=mp_authorized]");t&&Me(t,()=>this.#a());let o=F(e,".wh-form__fieldgroup[data-wh-form-group-for=mp_persontypes]");o&&t&&o.addEventListener("change",()=>this.#t&&this.validate([t]))}async getPublocLanguages(){let e=await this.getFormValue(),t=new Set,o=e.newstype[0];if(o){let n=o==="news"?[e.orgpubloc_news,...e.publocations_news]:[e.orgpubloc_event,...e.publocations_event],r=this.#i[o].filter(s=>n.includes(s.id));for(let s of r)for(let a of s.languages)t.add(a)}return[...t.values()]}#n(e){for(let t of e){let o=t.target;if(o.classList.contains("ut-neoform-headerphoto")){if([...t.addedNodes].some(n=>n.classList.contains("wh-form__error"))){let n=o.querySelector(".ut-neoform__warning");n&&n.remove()}}else if(o.matches(".ut-neoform-checkboxgroup .wh-form__fields"))for(let n of t.addedNodes)o.after(n)}}async#o(e,t=!1){let o=!1,n="";t?(o=e.classList.contains("wh-form__imgedit--hasimage"),n=e.dataset.whFormName??""):(o=e.isSet(),n=e.name,this.#s(e));let r=await this.getPublocLanguages(),s=F(`[data-wh-form-group-for="${n.replace(/photo/,"alt_en")}"]`);s&&this.#r(s,o&&r.includes("en"));let a=F(`[data-wh-form-group-for="${n.replace(/photo/,"alt_nl")}"]`);a&&this.#r(a,o&&r.includes("nl"))}async#s(e){let t=e.closest(".wh-form__fieldgroup"),o=t.querySelector(".ut-neoform__warning");o&&o.remove();let n=e.value[0]?.file;if(n)try{let r=await E0(n);if(r.height<hg)_e(e,y("utwente_base:frontend.ws2016.js.neoform.minheight",r.height,hg));else if(r.width<ug){let s=h("span",null,y("utwente_base:frontend.ws2016.js.neoform.image-invalid-width",r.width,ug));o=o||h("div",{class:"ut-neoform__warning"}),o.replaceChildren(s),t.querySelector(".wh-form__fields").after(o)}}catch(r){console.error(r),_e(e,y("utwente_base:frontend.ws2016.js.neoform.image-read-error"))}}#r(e,t){e.classList.toggle("wh-form__fieldgroup--disabled",!t),e.classList.toggle("wh-form__fieldgroup--required",t);let o=F(e,"input");o&&(o.disabled=!t,o.required=t),requestAnimationFrame(()=>e.classList.toggle("wh-form__fieldgroup--hidden",!t))}async#a(){this.#t=!0;let e=await this.getFormValue();if(e.mp_authorized_public?.includes("1")&&!e.mp_authorized?.length&&!e.mp_persontypes?.length)return y("utwente_base:frontend.ws2016.js.neoform.authorizednotset")}};se("utwente_base:neoform",i=>new rc(i));A();var{createService:C0}=(Pi(),Fe(Oi)),mg=C0("utwente_base:rpc_tablewithfilter");var gg=new Set,sc=class{constructor(e){if(this.formnode=e.closest("form"),this.allrows=document.querySelectorAll(".tablewithfilter tbody > tr"),this.allrows.length==0)return;this.baseurl=document.location.href.split(/[?#]+/)[0],this.container=document.querySelector(".tablewithfilter__scrollcontainer"),this.tablenode=this.container.querySelector("table"),this.formnode.addEventListener("submit",o=>(o.preventDefault(),this.showResults(),!1));let t=!1;for(let o of e.querySelectorAll("input")){if(o.name){let n=this.getUrlParam(o.name);n!=""&&(o.value=n,t=!0)}o.addEventListener("change",()=>this.showResults())}for(let o of e.querySelectorAll("select")){if(o.name){let n=this.getUrlParam(o.name);n!=""&&o.querySelector("option[value='"+n+"']")&&(o.value=n,t=!0)}o.addEventListener("change",()=>this.showResults())}t&&this.showResults(),gg.has(this.formnode)||(new Un,gg.add(this.formnode));for(let o of e.querySelectorAll(".downloadxlsx"))o.addEventListener("click",()=>this.downloadXlsx());this.setStripes(),window.addEventListener("resize",()=>this.onResize()),window.addEventListener("load",()=>this.onResize()),this.onResize()}onResize(){this.container.parentNode.classList.remove("overflow");let e=this.container.clientWidth,t=this.tablenode.clientWidth;e<t&&this.container.parentNode.classList.add("overflow")}async downloadXlsx(){if(this.loading)return;let e=[],t=0;for(let a of this.allrows)a.style.display||e.push(t),++t;this.overlay=h("div",{class:"tablewithfilter__overlay"}
29,h("span",null,"Loading...")),document.body.appendChild(this.overlay),this.loading=!0;let o=await mg.GetXLSXExport(document.location.href,e);if(this.overlay.parentNode.removeChild(this.overlay),this.loading=!1,!o||!o.data)return;let n=this.dataURLtoBlob(o.data),r=window.URL.createObjectURL(n),s=h("a",{download:o.filename});s.href=r,document.body.appendChild(s),s.click(),window.URL.revokeObjectURL(r),s.remove()}dataURLtoBlob(e){let t=e.split(","),o=t[0].match(/:(.*?);/)[1],n=atob(t[1]),r=n.length,s=new Uint8Array(r);for(;r--;)s[r]=n.charCodeAt(r);return new Blob([s],{type:o})}setStripes(){let e=0;for(let t of this.allrows)t.style.display=="none"?t.classList.remove("even"):(++e,e%2?t.classList.add("even"):t.classList.remove("even"))}getUrlParam(e){let t=location.search.replace(/\+/g,"%20"),o=new RegExp("[?&]"+encodeURIComponent(e)+"=([^&]*)").exec(t);return o?decodeURIComponent(o[1]):""}showResults(){let e=0;for(let o of this.allrows){let n=!1;if(this.formnode.query.value!=""){let r=this.formnode.query.value.toUpperCase(),s=!1;for(let a=0;a<o.children.length&&(s=o.children[a].textContent.toUpperCase().indexOf(r)>-1,!s);++a);n=!s}!n&&this.formnode.category&&this.formnode.category.value!=""&&(n=o.dataset.category!=this.formnode.category.value),!n&&this.formnode.version&&this.formnode.version.value!=""&&this.formnode.version.value!="all"&&(n=o.dataset.version!=this.formnode.version.value),o.style.display=n?"none":"",n||e++}if(history.replaceState){let o=[];this.formnode.query.value&&o.push("query="+this.formnode.query.value),this.formnode.category&&this.formnode.category.value!=""&&o.push("category="+this.formnode.category.value),this.formnode.version&&this.formnode.version.value!=""&&o.push("version="+this.formnode.version.value),history.replaceState(null,"",this.baseurl+(o.length?"?"+o.join("&"):"")+location.hash)}this.setStripes();let t=document.querySelector(".filteredoverview__feedback");t.textContent=Kl(e,e,this.allrows.length)}};b(".tablewithfilter__filters",i=>new sc(i));A();de();var ac=class extends ci{constructor(e,t){super({...t,filterpagetype:"filteredfolder"}),this.node=e,this.listnode=F(e,".filteredoverview__items");let o=F(".filteredoverview__viewmode");if(!o){let r=F(".filteredoverview__feedbackandviewbar__content");r&&(o=h("div",{class:"filteredoverview__viewmode"},h("div",{class:"filteredoverview__viewmode__items"},h("button",{class:"listtoggle__detailview","data-viewmode":"detailview",type:"button"},h("i",{class:"uticon UT-icon-UT_icon_138_detail-view-16px"}),y("utwente_base:frontend.ws2016.js.details")),h("span",{class:"spacer"}),h("button",{class:"listtoggle__listview","data-viewmode":"listview",type:"button"},h("i",{class:"uticon UT-icon-UT_icon_139_list-view-16px"}),y("utwente_base:frontend.ws2016.js.list")))),r.appendChild(o))}this.sortcol=0,this.sortasc=!0;let n=F(this.node,".filteredoverview__listviewheader");if(n&&n.addEventListener("click",r=>{let s=r.target.closest(".filteredoverview__item__listviewcol");if(!s)return;let a=this.sortcol;for(let l=0;l<n.children.length;++l)if(n.children[l]===s){a=l;break}this.sortcol===a&&(this.sortasc=!this.sortasc),this.sortcol=a,this.sortList()}),o){let r=o.closest(".filteredoverview__feedbackandviewbar");r.classList.add(this.listnode.classList.contains("filteredoverview__items--listview")?"filteredoverview--listview":"filteredoverview--detailview"),o.addEventListener("click",s=>{let a=s.target.closest("[data-viewmode]");a&&(a.dataset.viewmode==="detailview"&&r.classList.contains("filteredoverview--detailview")||a.dataset.viewmode!=="detailview"&&!r.classList.contains("filteredoverview--detailview")||(a.dataset.viewmode==="detailview"?(r.classList.remove("filteredoverview--listview"),r.classList.add("filteredoverview--detailview"),this.listnode.classList.remove("filteredoverview__items--listview")):(r.classList.add("filteredoverview--listview"),r.classList.remove("filteredoverview--detailview"),this.listnode.classList.add("filteredoverview__items--listview")),this.sortList()))})}}sortList(){let e=k(this.listnode,".filteredoverview__item");this.listnode.classList.contains("filteredoverview__items--listview")?(e.sort((t,o)=>{let n=Number(t.dataset.ordering),r=Number(o.dataset.ordering),s=t.children[this.sortcol+1].textContent.toUpperCase().trim(),a=o.children[this.sortcol+1].textContent.toUpperCase().trim();return this.sortasc?s<a?-1:s>a?1:n<r?-1:1:s>a?-1:s<a?1:n>r?-1:1}),e.forEach(t=>this.listnode.appendChild(t))):(e.sort((t,o)=>Number(t.dataset.ordering)<Number(o.dataset.ordering)?-1:1),e.forEach(t=>this.listnode.appendChild(t)))}showResults(){this.runFilterByDataTags()}};function L0(i){new ac(i,{itemsselector:".filteredoverview__item"})}b(".filteredfolder__results",L0);A();var lc=class extends Xe{constructor(e){super({...e,filterpagetype:"btor"}),this.form.addEventListener("change",t=>this.form.submit(t)),document.addEventListener("click",function(t){t.target.hasAttribute("data-btoryear")&&(this.form.year.value=t.target.getAttribute("data-btoryear"),this.form.submit())}),this.setFeedback(Y.obj.overviewdata.resultscount,Y.obj.overviewdata.resultsshown)}};J(()=>{let i=document.querySelector(".filterbar--btor");
29i&&(window.overview_btor=new lc(i))});A();function F0(i){i.addEventListener("change",function(){location.href="?year="+i.value})}b("select.ut-itcintranet-selectyear",F0);A();b(".itcform--fromto-to",i=>{i.previousSibling.classList.contains("itcform--fromto-from")&&i.previousSibling.querySelector(".wh-form__fieldline").appendChild(i)});A();var dc=class extends ci{processFiltersFromURL(e){this.onFormFiltersUpdate()}onFormFiltersUpdate(e,t){let o=document.getElementById("phdstate_graduated");o&&(t&&t.target==this.form.graduationyear?(o.checked=this.form.graduationyear.value!="",e.status?e.status.push("graduated"):e.status=["graduated"]):o.checked||delete this.filters.graduationyear)}onMapFilterTags(e,t){let o=[];for(let n of e){let r={name:n.name,title:Array.isArray(n.title)?Array.from(n.title):n.title,value:Array.isArray(n.value)?Array.from(n.value):n.value};if(r.name=="status"&&r.value.indexOf("graduated")>-1&&this.filters.graduationyear>0){r.title="Completed";continue}r.name=="graduationyear"&&(r.title="Completed in "+r.title),o.push(r)}return o}};J(()=>{let i=document.documentElement.classList;!i.contains("page--itcmajorprojectsoverview")&&!i.contains("page--itcphdprojectsoverview")&&!i.contains("page--itcpartnersoverview")||(window.filteredoverview=new dc({itemsselector:".filteredoverview__listview__item,.filteredoverview__detailview__item,.itcpartner",filterpagetype:"projectsoverview"}))});A();de();Zo();function cc(i){let e=h("div",null);return e.innerHTML=i,[...e.childNodes]}async function A0(i){let e=document.documentElement.lang.indexOf("nl")>=0?"nl":"en";if(!document.querySelector("main > .main__contents, main.contentpart__main")){console.warn("Osiris link found without main contents");return}let o=h("div",{class:"loading"},y("utwente_base:frontend.ws2016.js.osiris.loading")),n=xe({allowcancel:!0});if(!n.contentnode)throw new Error("Dialog content node is not available");n.contentnode.appendChild(o),n.contentnode.classList.add("osiris"),n.runModal();let r=await ri("utwente_base:rpc").getOsirisCourse(i,e);r&&r.success?(n.utheadernode.append(h("h2",{class:"osiris__title"},r.title)),r.maxpoints&&n.utheadernode.append(h("div",{class:"osiris__maxpoints"},r.maxpoints)),n.contentnode.replaceChildren(h("div",{class:"osiris__description"},cc(r.contents))),r.goal&&n.contentnode.append(h("h3",null,y("utwente_base:frontend.ws2016.js.osiris.goal")),...cc(r.goal)),n.contentnode.append(h("p",{class:"normal"},cc(y("utwente_base:frontend.ws2016.js.osiris.moredetailslink",r.link))))):o.textContent=y("utwente_base:frontend.ws2016.js.osiris.nocoursefound")}function N0(i){let e=i.target instanceof HTMLElement?i.target.closest("a[href^='x-ut-courselink:']"):null;if(!e)return!0;i.preventDefault();let t=e.getAttribute("href")?.split(":")[1];return t&&A0(t),!1}window.addEventListener("click",N0);A();var j0=250,we,Kn,vi;function R0(i){if(i.target===we){if(vi=localStorage.getItem("ws-notifications"),vi?vi=vi.split(";").filter(e=>!!e):vi=[],W.umc&&console.log("[umc] Closed notification CTA's",vi),Kn=i.detail.cta.config.id,vi.includes(Kn)){W.umc&&console.warn(`[umc] Not showing closed notification CTA ${Kn}`),wt(we);return}setTimeout(()=>{we._wsTmpHeight=getComputedStyle(we).height;let e=we.getBoundingClientRect();if(W.notificationdebug){we._wsTmpHeight!=="60px"||e.height!==60?(console.info("_wsTmpHeight",we._wsTmpHeight),console.info("rect",e),console.info("html",we.outerHTML)):setTimeout(()=>{let t=new URL(location.href),o=parseInt(t.search.substr(1))||0;t.search=++o,location.href=t.toString()},1e3);return}we.style.height="0",we.classList.remove("notification__container--init"),document.documentElement.classList.add("utwente--notificationvisible"),we.classList.add("notification__container--animate"),we._wsTmpHeight=getComputedStyle(we).height,we.style.height=`${e.height}px`,we.style.opacity="1",L(window,"wh:notification-change",{bubbles:!1,cancelable:!1,detail:{visible:!0,height:e.height}})},j0)}}function M0(i){i.preventDefault();let e=we.getBoundingClientRect();we.style.height=`${e.height}px`,we.classList.add("notification__container--close"),we._wsTmpHeight=getComputedStyle(we).height,we.style.height="0",we.style.opacity="0",L(window,"wh:notification-change",{bubbles:!1,cancelable:!1,detail:{visible:!1,height:e.height}}),vi.push(Kn),localStorage.setItem("ws-notifications",vi.join(";")),W.umc&&console.info(`[umc] Closed notification CTA ${Kn}`)}function O0(i){!we.parentNode||i.target!==we||i.propertyName!=="height"||(we.classList.contains("notification__container--close")?(wt(we),document.documentElement.classList.remove("utwente--notificationvisible")):we.style.height="")}b(".notification__container",i=>{we=i,document.documentElement.addEventListener("ws:managed-cta",R0),k(".notification__close-icon").forEach(e
29=>e.addEventListener("click",M0)),i.addEventListener("transitionend",O0)});A();en();var fg=!1;function P0(){let i=document.elementFromPoint(0,0),e=i&&i.nodeName==="IFRAME";e!==fg&&document.documentElement.classList.toggle("ut--edgeinfullscreen",e),fg=e}Ap()==="edge"&&b("iframe.ut--edgefullscreenfix",i=>{console.log("activating edge fullscreen workarounds"),setInterval(P0,300)});q();de();var _g=!1;function I0(i){if(!_g){_g=!0,window.addeventasync=function(){addeventatc.settings({license:"aHGbRdipTzsgMbuxYmdh49124",mouse:!1,css:!1,outlook:{show:!0,text:y("utwente_base:frontend.ws2016.js.calendar.outlook")},google:{show:!0,text:y("utwente_base:frontend.ws2016.js.calendar.google")},yahoo:{show:!0,text:y("utwente_base:frontend.ws2016.js.calendar.yahoo")},outlookcom:{show:!0,text:y("utwente_base:frontend.ws2016.js.calendar.outlookcom")},appleical:{show:!0,text:y("utwente_base:frontend.ws2016.js.calendar.appleical")},facebook:{show:!0,text:y("utwente_base:frontend.ws2016.js.calendar.facebook")},dropdown:{order:"google,appleical,outlook,outlookcom,facebook,yahoo"},callback:""}),addeventatc.refresh(i),setTimeout(()=>{i.click()},10)};let e=document.createElement("script");e.src="https://addevent.com/libs/atc/1.6.1/atc.min.js",C("head").appendChild(e)}}b(".addeventatc",i=>{i.addEventListener("click",()=>I0(i))});q();function z0(i,e){let t=ht()?.getUserInfo();if(t){let o=e.onGetMenuItems();i.append(h("div",{class:"contentpart__topsubmenu"},h("div",{class:"contentpart__toptextitem"},t.fullname?h("div",{class:"ut-login__fullname"},t.fullname):null,t.username?h("div",{class:"ut-login__loginname"},t.username):null),o.map(n=>h("a",{class:"contentpart__topsubitem",href:n.link,onClick:n.onClick},n.title))))}else i.append(h("div",{class:"contentpart__topsubmenu"},h("a",{class:"contentpart__topsubitem",href:e.loginLink},e.loginText,h("span",{class:"contentpart__topsubitem-icon UT-icon-UT_icons_174_lock-16px"}))))}function wg(i){b(".ut-login__topmenu",e=>z0(e,i))}A();function q0(){let i=this.closest(".utforms-recipientsfield").propField;this.closest(".utforms-recipientsfield__row").replaceWith(),i.getValue().length==0&&i.addRow(!0)}var pc=class{constructor(e){this.node=e,this.name=this.node.dataset.whFormName,this.nextnr=0,this.node.propField=this,this.rowsholder=h("div",{class:"utforms-recipientsfield__rows"});let t=h("div",{class:"utforms-recipientsfield__buttons"},h("span",{class:"utforms-recipientsfield__button utforms-recipientsfield__button--add",onClick:()=>this.addRow(!0)},h("i",{class:"utforms-recipientsfield__button__icon UT-icon-UT_icon_48_plus-16px"}),h("span",{class:"utforms-recipientsfield__button__text"},"Add")));this.node.addEventListener("wh:form-getvalue",o=>this._getValueEvent(o)),this.addRow(!1),this.node.append(this.rowsholder,t)}getValue(){let e=[];for(let t of this.node.querySelectorAll(".utforms-recipientsfield__row"))e.push({name:t.querySelector(".utforms-recipientsfield__name").value,email:t.querySelector(".utforms-recipientsfield__email").value});return e}_getValueEvent(e){B(e),e.detail.deferred.resolve(this.getValue())}addRow(e){let t=`${this.name}[${this.nextnr++}].`,o=h("div",{class:"utforms-recipientsfield__row"},h("input",{name:t+"name",class:"utforms-recipientsfield__name",type:"text",placeholder:"Name",required:!0}),h("input",{name:t+"email",class:"utforms-recipientsfield__email",type:"email",placeholder:"Email",required:!0}),h("span",{class:"utforms-recipientsfield__deleterow",title:"Delete",onClick:q0},h("i",{class:"UT-icon-UT_icon_55_cross-round-16px"})));this.rowsholder.append(o),e&&o.querySelector("input").focus()}};b(".utforms-recipientsfield",i=>new pc(i));A();
29var U0=30,Rs=null,bg=null;J(H0);window.addEventListener("focusout",D0);function D0(){Rs!=null&&(Rs.removeAttribute("tabindex"),bg.style.scrollMarginTop="",Rs=null)}function H0(){let i=document.querySelector(".skiplinksbutton");i&&i.addEventListener("click",W0)}function W0(i){i.preventDefault();let e=document.querySelector("main"),t=document.querySelector(".contentpart__header"),o=document.querySelector(".contentpart__header-messagesarea"),n=document.querySelector(".headercta"),r=document.querySelector(".contentpart__title-background"),s=document.querySelector(".contentpart__title-container");o&&o.clientHeight==0&&(o=null);let a=o??n??r??s,l=t,d=null;a?(l=t,d=a):(d=e,l=e),l.hasAttribute("tabindex")||l.setAttribute("tabindex","-1"),console.log("Set focus to",l),console.log("Scroll to",d);try{l.focus({preventScroll:!0})}catch{l.focus()}Rs=l,bg=d;let c=document.querySelector(".contentpart__navbar-container"),p=getComputedStyle(c).getPropertyValue("--navbar-position").trim(),m=0;p=="sticky"&&(m=c.clientHeight),d.style.scrollMarginTop=m+U0+"px",d.scrollIntoView({behavior:"smooth"})}q();function vg(){window.addEventListener("click",i=>{let e=i.target.closest("a[href]");if(!e)return;if(e.href.split("?")[0]==="x-serviceportal:login"){let o=Ji();e.href=Gi({prompt:!!o})}})}function hc(i){Qo("utwente-triedsilentlogin",i||"explicit user request"),console.log("[ut-login] Attempting silent login because: "+xi("utwente-triedsilentlogin")),location.href=Gi({silent:!0})}function B0(){let i=De("utwente-lastseenlogin");if(i)return"You were logged in at "+new Date(parseInt(i)).toLocaleString();let e=li();return e&&e["usertype-employee"]?`You have beacon 'usertype-employee' with value '${e["usertype-employee"]}`:e&&e["usertype-student"]?`You have beacon 'usertype-student' with value '${e["usertype-student"]}`:null}function V0(){if(window.top===window)return!1;try{if(window.parent.__testframework)return!1}catch{}return!0}function Y0(){if(document.documentElement.dataset.noutlogin||V0()||location.pathname.startsWith("/.publisher/preview/")||location.origin==="alumniportal.utwente.nl")return!1;if(!ht()?.isLoggedIn()&&!xi("utwente-triedsilentlogin")){let i=B0();if(i)return hc(i),!0}return xi("utwente-triedsilentlogin")&&xi("utwente-triedsilentlogin")!=="done"&&(console.log("[ut-login] We tried a silent login earlier because: "+xi("utwente-triedsilentlogin")+". It looks like it "+(ht()?.isLoggedIn()?"succeeded":"failed")),Qo("utwente-triedsilentlogin","done")),!1}function yg(){return ht()?Y0()?!0:(ht()?.isLoggedIn()&&He("utwente-lastseenlogin",Date.now().toString()),!1):!1}q();re();function $0(i){return document.documentElement.classList.contains("page--toplevelhome")?!i||document.documentElement.lang.startsWith(i):!1}function X0(){let i=ht()?.getUserInfo();if(!i)return[];let e=document.documentElement.lang.startsWith("nl"),t=[];if(i.isstudent||t.push({link:"/serviceportal",title:"Service Portal"}),i.isemployee&&t.push({link:"https://people.utwente.nl/editprofile",title:e?"Profiel bewerken":"Edit profile"}),i.studies)for(let o of i.studies.split(","))o=o.trim(),t.push({link:"/.utwente_base/auth/gotostudy.shtml?study="+encodeURIComponent(o),title:`${o} website`});return i.isstudent&&t.push({link:"/students",title:"Student Services"}),t.push({link:"/mycourses",title:i.isemployee?e?"Mijn cursussen":"My courses":e?"Mijn (taal)cursussen":"My (language) courses"}),t.push({link:e?"/mijn-eventregistraties/":"/en/my-event-registrations/",title:e?"Mijn eventregistraties":"My event registrations"}),t}wg({loginText:"UT Login",loginLink:Gi(),onGetMenuItems:X0});Di==="development"&&wa({allowFeedback:!1,orientation:"left"});yg()||De("utwente-lastselectedlanguage")!=="nl"&&$0("nl")&&ut().then(i=>{i!=="NL"&&i!=="BE"&&(location.href=location.pathname+"en/")}).catch(()=>{});vg();Object.assign(window,{utSilentLogin:hc});Fh();lh();q();var xg=null;b(".datacloud-header",i=>{xg||(xg=vr("datacloud:datacloud"))});q();Tp();q();var kg=st(wo());var Ms=class{node;pagenode;rpc;titlenode;filterids;language;navnode;tablenode;calendardata;popupnode=null;mobileview;maxmonths;monthtable;listcalendarnode=null;courseids=[];activemonth={month:0,year:0,monthname:""};closefn=()=>{};constructor(e,t={}){this.node=e,this.pagenode=e.closest(".coursefinder__page"),this.rpc=new kg.default,this.titlenode=h("div",{class:"monthname"}),this.filterids=[],this.language=document.documentElement.lang?document.documentElement.lang.split("-")[0]:"en",this.navnode=h("div",{class:"coursefinder__calendar__nav"},this.titlenode,h("div",{class:"previousmonth UT-icon-UT_icon_43_arrow-left-16px"}),h("div",{class:"nextmonth UT-icon-UT_icon_44_arrow-right-16px"})),this.node.appendChild(this.navnode);let o=this.node.dataset?JSON.parse(this.node.dataset.timetable):[];this.mobileview=this.checkViewMode(!0);let n=null,r=null;o.length&&(n=new Date(o[0].timestamp*1e3),r=new Date(o[o.length-1].timestamp*1e3)),this.calendardata=[];let s=null,a=-1;for(let d=0;d<o.length;++d){let c=new Date(o[d].timestamp*1e3),p=this.getFormattedTime(c),m=mc(c);a!=m&&(s&&s.node.children.length>5&&s.node.insertBefore(h("li",{class:"course course--more"},s.node.children.length-4+" more"),s.node.children[4]),s={node:h("ul",{class:"coursefinder__calendar__courses"}),timestamp:m},this.calendardata.push(s),a=m),s&&s.node.appendChild(h("li",{title:o[d].title,"data-tag":o[d].tag,"data-courseid":o[d].courseid,class:"course course--"+o[d].type,"data-id":o[d].id},h("span",{class:"name"},o[d].title)))}s&&(s.node.children.length>5&&s.node.insertBefore(h("li",{class:"course course--more"},I("utwente_courses:webfeatures.frontend.js.xmore",s.node.children.length-4)),s.node.children[4]),this.calendardata.push(s));let l=r?{month:r.getMonth(),year:r.getFullYear()}:{month:new Date().getMonth(),year:new Date().getFullYear()};if(this.maxmonths=l.year*12+l.month,this.tablenode=h("div",{class:"coursefinder__calendar__tablewrapper"}),this.node.appendChild(this.tablenode),t.date){let d=new Date,c=d.getFullYear()*12+d.getMonth(),p=t.date.getFullYear()*12+t.date.getMonth();p<c?t.date=d:p>this.maxmonths&&(t.date=new Date(l.year,l.month,1,0,0,0))}this.monthtable=new uc(this.tablenode,{hideweekdays:[0,6],agendaitems:this.calendardata,date:t.date||null}
29),this.mobileview?this.loadMobileCalendar():this.monthtable.loadTable(),this.setMonthName(),this.reachedNavLimit(0),window.addEventListener("keydown",d=>{this.mobileview||(d.key==="Escape"?this.hideMore(null):d.key==="ArrowLeft"?this.previousMonth():d.key==="ArrowRight"&&this.nextMonth())}),this.tablenode.addEventListener("wh:dateclick",d=>{let c=d,p=c.detail.target.closest(".course");if(p){if(c.detail.target.classList.contains("course--close")){this.hideMore(null);return}p.classList.contains("course--more")?this.showMore(c,p.closest(".day-container")):p.dataset.id&&this.showSerieOptions(Number(p.dataset.id),p.title)}}),this.navnode.addEventListener("click",d=>{d.target.classList.contains("previousmonth")?this.previousMonth():d.target.classList.contains("nextmonth")&&this.nextMonth()}),window.addEventListener("resize",d=>this.checkViewMode(!1))}checkViewMode(e){let o=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)<768,n=this.mobileview;return this.mobileview=o,this.pagenode.classList.toggle("coursefinder__page--mobile",this.mobileview),o!=n&&!e&&this.switchView(),this.mobileview}switchView(){this.mobileview?(this.tablenode.replaceChildren(),this.loadMobileCalendar()):(this.listcalendarnode&&this.listcalendarnode.remove(),this.listcalendarnode=null,this.tablenode.appendChild(this.monthtable.generateTable(this.monthtable.year,this.monthtable.month)),this.setMonthName(),this.courseids&&this.filterCourses(this.courseids))}loadMobileCalendar(){this.listcalendarnode=h("div",{class:"coursefinder__listcalendar"}),this.node.appendChild(this.listcalendarnode),this.listcalendarnode.addEventListener("click",s=>{let a=s.target.closest("li.course");if(a){document.location.href="./"+a.dataset.courseid+"/"+a.dataset.tag+"/?serie="+a.dataset.id+"#signup";return}let l=s.target.closest(".month__title");l&&this.toggleListMonth(l.parentNode)});let e=Tg(this.language),t=mc(new Date),o=this.monthtable.year+12*this.monthtable.month,n=-1,r=null;for(let s=0;s<this.calendardata.length;++s){if(t>this.calendardata[s].timestamp)continue;let a=new Date(this.calendardata[s].timestamp),l=a.getMonth(),d=a.getFullYear(),c=a.getDate(),p=a.getDay(),m=d+l*12;(m!=n||!r)&&(r=h("div",{class:"month"+(o==m?" active":""),"data-year":d,"data-month":l},h("div",{class:"month__title"},e.months[l]+" "+d,h("span",{class:"month__toggle"},h("span",{class:"more UT-icon-UT_icon_46_arrow-down-16px"}),h("span",{class:"less UT-icon-UT_icon_45_arrow-up-16px"})))),this.listcalendarnode.appendChild(r));let u=h("div",{class:"month__day"},h("div",{class:"month__day__title"+(t==this.calendardata[s].timestamp?" today":"")},e.days_short[p]+" "+c+" "+e.months[l]));u.appendChild(this.calendardata[s].node),r.appendChild(u),n=m}this.filterCourses(this.courseids)}toggleListMonth(e){if(e.classList.contains("active"))e.style.maxHeight=e.clientHeight+"px",e.classList.remove("active"),e.clientHeight,e.style.maxHeight="";else{let t=Number(e.dataset.year),o=Number(e.dataset.month);o>-1&&o<12&&t>0&&(this.monthtable.year=t,this.monthtable.month=o);let n=0;for(let r=0;r<e.children.length;++r)n+=e.children[r].clientHeight;e.style.maxHeight=n+"px",e.classList.add("active"),setTimeout(function(){e.style.maxHeight=""},300)}}filterCourses(e){e||(e=[]),this.courseids=e;let t=[],o=null,n=0;for(let r=0;r<this.calendardata.length;++r){let s=0;for(let a=0;a<this.calendardata[r].node.children.length;++a){if(this.listcalendarnode&&!this.calendardata[r].node.parentNode)continue;let l=this.calendardata[r].node.children[a];if(l.dataset.courseid){let d=Number(l.dataset.courseid);e.indexOf(d)>-1?(l.style.display="",++s):l.style.display="none"}else this.calendardata[r].node.removeChild(l)}if(this.listcalendarnode){let a=this.calendardata[r].node.parentNode;if(a){let l=a.parentNode;(!o||o!=l||r>=this.calendardata.length-1)&&(n==0&&o?o.style.display="none":o&&(o.style.display=""),n=0,o=l),n+=s,a.style.display=s?"":"none"}}else s>5&&this.calendardata[r].node.insertBefore(h("li",{class:"course course--more"},I("utwente_courses:webfeatures.frontend.js.xmore",s-4)),this.calendardata[r].node.children[4]),s>0&&t.push(this.calendardata[r])}this.listcalendarnode||this.monthtable.refreshData(t)}createSpinner(){let o=document.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"width","50px"),o.setAttributeNS(null,"height","50px"),o.setAttributeNS(null,"viewBox","0 0 50 50");let n=document.createElementNS("http://www.w3.org/2000/svg","circle");return n.setAttributeNS(null,"cx",String(Math.floor(50/2))),n.setAttributeNS(null,"cy",String(Math.floor(50/2))),n.setAttributeNS(null,"r",String(Math.floor(50/2-5))),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"
29stroke","#ccc"),n.setAttributeNS(null,"stroke-width",String(5)),n.setAttributeNS(null,"stroke-dasharray","110,160"),n.setAttributeNS(null,"stroke-linecap","round"),o.appendChild(n),o}async showSerieOptions(e,t){let o=xe();if(o.holdernode.classList.add("coursefinder__dialog"),o.contentnode.appendChild(h("div",{class:"coursefinder__dialog__loading"},h("h3",{class:"coursefinder__loadertitle"},t),h("div",{class:"coursefinder__loader"},this.createSpinner()))),o.runModal(),this.rpc.activerequest)for(let a=0;a<this.rpc.requestqueue.length;++a)this.rpc.requestqueue[a].request.method=="GetSerieOptions"&&this.rpc.requestqueue[a].cancel();let n=await this.rpc.async("GetSerieOptions",e);o.contentnode.replaceChildren();let r;if(n){r=h("div",{class:"coursefinder__dialog__courseoptions"},h("div",{class:"courseoptions__header"},h("div",{class:"courseoptions__image"},n.image?h("img",{src:n.image.normal.link,srcset:n.image.normal.link+" 1x,"+n.image.retina.link+" 2x",alt:""}):null),h("div",{class:"courseoptions__title"},h("h3",null,n.title),h("div",null,n.subtitle),h("a",{href:n.link},I("utwente_courses:webfeatures.frontend.js.moreinfo")))),n.series.length?h("form",{class:"courseoptions__form wh-styledinput",action:n.link+"#signup",method:"get"},h("ul",null,n.series.map(a=>h("li",{class:(a.canregister?a.isfull?"waitinglist":"open":"isfull")+(a.multiplesessions?" multiplesessions":"")},h("input",{id:"serie-"+a.id,disabled:!a.canregister,checked:a.canregister&&a.isselected,name:"serie",type:"radio",value:a.id}),h("label",{class:"radiobtn",for:"serie-"+a.id}),h("label",{class:"wh-form__optionlabel",for:"serie-"+a.id},h("div",{class:"sessions"},a.sessions.map(l=>h("div",{class:"session"},h("span",{class:"weekday"},l.weekday),h("span",{class:"date"},l.date),h("span",{class:"time"},l.time)))),h("span",{class:"note"},a.canregister?a.isfull?I("utwente_courses:webfeatures.frontend.js.waitinglist")+"*":"":I("utwente_courses:webfeatures.frontend.js.isfull")),h("span",{class:"duration"},I("utwente_courses:webfeatures.frontend.js.xdaycourse",a.sessioncount)))))),n.showmore?h("div",{class:"courseoptions__more"},h("a",{href:n.link+"#signup"},"View more")):null,h("button",{class:"wh-form__button",type:"submit"},I("utwente_courses:webfeatures.frontend.js.signup"))):h("div",{class:"courseoptions__nooptions"},I("utwente_courses:webfeatures.frontend.js.nooptionsavailable")),n.waitinglistactive?h("div",{class:"courseoptions__footer"},"*",I("utwente_courses:webfeatures.frontend.js.notewaitinglist")):null);for(let a of r.querySelectorAll("li")){let l=a.querySelector(".duration"),d=a.querySelector(".sessions");l&&d&&l.addEventListener("click",()=>{if(d.style.maxHeight="",d.classList.toggle("showall"),d.classList.contains("showall")){let c=0;for(let p=0;p<d.children.length;++p)c+=d.children[p].clientHeight;d.style.maxHeight=c+"px",setTimeout(function(){d.style.maxHeight="none"},300)}})}}else r=h("div",{class:"coursefinder__dialog__error"},"Error: no course dates found.");let s=h("div",{class:"coursefinder__dialog__close UT-icon-UT_icon_47_cross-16px"});s.addEventListener("click",()=>o.resolve(null)),o.contentnode.appendChild(s),o.contentnode.appendChild(r)}getFormattedTime(e){let t=e.getHours(),o=e.getMinutes();return(t<10?"0":"")+t+":"+(o<10?"0":"")+o}previousMonth(){this.reachedNavLimit(-1)||(this.monthtable.previousMonth(),this.setMonthName())}nextMonth(){this.reachedNavLimit(1)||(this.monthtable.nextMonth(),this.setMonthName())}showMore(e,t){let o=e.detail.date;this.popupnode&&this.hideMore(null),this.popupnode=t.cloneNode(!0),this.popupnode.insertBefore(h("span",{class:"dayofweek"},this.monthtable.translations.days_short[o.getDay()]),this.popupnode.children[0]),this.closefn=this.hideMore.bind(this),document.body.addEventListener("click",this.closefn);let n=h("span",{class:"course--close UT-icon-UT_icon_47_cross-16px"});n.addEventListener("click",()=>this.hideMore(null)),this.popupnode.appendChild(n);let r=this.popupnode.querySelector("course--more");r&&r.parentNode.removeChild(r),this.popupnode.className="coursefinder__calendar__daypopup",t.parentNode.appendChild(this.popupnode),this.popupnode.clientWidth,this.popupnode.classList.add("show")}hideMore(e){e&&this.popupnode&&e.target.closest(".wh-monthtable__day")==this.popupnode.closest(".wh-monthtable__day")||(document.body.removeEventListener("click",this.closefn),this.popupnode&&(this.popupnode.parentNode.removeChild(this.popupnode),this.popupnode=null))}reachedNavLimit(e){let t=new Date,o=t.getFullYear()*12+t.getMonth(),n=this.activemonth.year*12+this.activemonth.month;return n+e<=o?this.navnode.classList.add("coursefinder__calendar__nav--minlimit"):this.navnode.classList.remove("coursefinder__calendar__nav--minlimit"),n+e>=this.maxmonths?this.navnode.classList.add("coursefinder__calendar__nav--maxlimit"):this.navnode.classList.remove("coursefinder__calendar__nav--maxlimit"),n+e<o||n+e>this.maxmonths}setMonthName(){this.activemonth=this.monthtable.getActiveMonth(),this.titlenode.textContent=this.activemonth.monthname+" "+this.activemonth.year,document.location.hash.indexOf("#calendar")==0&&(
29document.location.hash="#calendar."+this.activemonth.year+"."+(this.activemonth.month+1))}};function Tg(i){return i.toUpperCase()=="DE"?{months:["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],months_short:["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],days:["Sontag","Montag","Dienstag","Mitwoch","Donnerstag","Freitag","Samstag"],days_short:["So","Mo","Di","Mi","Do","Fr","Sa"]}:i.toUpperCase()=="NL"?{months:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"],months_short:["Jan","Feb","Ma","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],days:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag"],days_short:["Zo","Ma","Di","Wo","Do","Vr","Za"]}:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],months_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],days_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}}var uc=class{node;language;year;month;translations=null;mindate=null;maxdate=null;selecteddate=null;tablenode=null;options;activemonth={month:0,monthname:"",year:0};constructor(e,t){this.node=e,this.options={selecteddate:t&&t.selecteddate?t.selecteddate:null,mindate:t&&t.mindate?t.mindate:new Date,maxdate:t&&t.maxdate?t.maxdate:null,date:t&&t.date?t.date:new Date,showweekdays:t&&t.showweekdays?t.showweekdays:!0,startweekday:t&&typeof t.startweekday<"u"?t.startweekday:1,hideweekdays:t&&t.hideweekdays?t.hideweekdays:[],agendaitems:t&&t.agendaitems?t.agendaitems:[]},this.options.agendaitems&&this.options.agendaitems.length&&this.options.agendaitems.sort(function(o,n){return o.timestamp-n.timestamp}),this.setMinDate(this.options.mindate||null),this.setMaxDate(this.options.maxdate||null),this.setSelectedDate(this.options.selecteddate||null),this.language=document.documentElement.lang?document.documentElement.lang.split("-")[0]:"en",this.setTranslations(this.language),this.year=this.options.date?this.options.date.getFullYear():0,this.month=this.options.date?this.options.date.getMonth():0}loadTable(){this.node&&this.node.appendChild(this.generateTable(this.year,this.month))}getTranslations(){return this.translations}setTranslations(e){this.translations=Tg(e)}refreshData(e){this.options.agendaitems=e,this.setMonth(this.year,this.month)}setMinDate(e){e&&typeof e=="object"?(e=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0),this.mindate={year:e.getFullYear(),month:e.getMonth(),day:e.getDate(),timestamp:e.getTime()}):this.mindate=null}setMaxDate(e){e&&typeof e=="object"?(e=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59,59),this.maxdate={year:e.getFullYear(),month:e.getMonth(),day:e.getDate(),timestamp:e.getTime()}):this.maxdate=null}setSelectedDate(e){e&&typeof e=="object"?(e=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0),this.selecteddate={year:e.getFullYear(),month:e.getMonth(),day:e.getDate(),timestamp:e.getTime(),date:e},this.mindate&&this.selecteddate.timestamp<this.mindate.timestamp?this.selecteddate=null:this.maxdate&&this.selecteddate.timestamp>this.maxdate.timestamp&&(this.selecteddate=null)):this.selecteddate=null}getSelectedDate(){return this.selecteddate}nextMonth(){if(!this.tablenode)return;let e=new Date(this.year,this.month+1,1);this.year=e.getFullYear(),this.month=e.getMonth(),this.generateTable(this.year,this.month)}previousMonth(){if(!this.tablenode)return;let e=new Date(this.year,this.month-1,1);this.year=e.getFullYear(),this.month=e.getMonth(),this.generateTable(this.year,this.month)}setMonth(e,t){if(!this.tablenode)return;let o=new Date(e,t,1);this.year=o.getFullYear(),this.month=o.getMonth(),this.generateTable(this.year,this.month)}getActiveMonth(){return{month:this.month,monthname:this.translations.months[this.month],year:this.year}}generateTable(e,t){let o=new Date(e,t,1).getDay(),n=(this.options.startweekday||0)-o;for(n>0&&(n=n-7);this.options.hideweekdays.indexOf(o)>-1;)++o,o>6&&(o=0);let r=(this.options.startweekday||0)-o;r>0&&(r=r-7);
29let s=new Date(e,t+1,0).getDate(),a=new Date(e,t,s).getDay();for(;this.options.hideweekdays.indexOf(a)>-1;)--s,--a,a<0&&(a=6);let l=s+(7-(s-n)%7);this.tablenode?this.tablenode.replaceChildren():(this.tablenode=h("table",{class:"wh-monthtable"}),this.tablenode.addEventListener("click",m=>this.onDateClick(m)));let d;if(this.options.showweekdays){d=h("tr",null);for(let m=0;m<7;++m){let u=m+(this.options.startweekday||0);u>=7&&(u-=7),this.options.hideweekdays.indexOf(u)==-1&&d.appendChild(h("th",{class:"wh-monthtable__weekday"},h("div",null,this.translations.days_short[u])))}this.tablenode.appendChild(d)}let c=mc(new Date),p=0;for(let m=r+(this.options.startweekday||0);m<=l;++m){let u=new Date(e,t,m),w=u.getDate(),f=u.getMonth(),g=u.getFullYear(),_=u.getTime();if((m-(r+(this.options.startweekday||0)))%7==0&&(d=z("tr"),this.tablenode.appendChild(d)),this.options.hideweekdays.indexOf(u.getDay())==-1){let v="wh-monthtable__day";f<t||g<e?v+=" wh-monthtable__day--previousmonth":(f>t||g>e)&&(v+=" wh-monthtable__day--nextmonth"),_==c&&(v+=" wh-monthtable__day--today"),(this.maxdate&&_>this.maxdate.timestamp||this.mindate&&_<this.mindate.timestamp)&&(v+=" wh-monthtable__day--disabled"),this.selecteddate&&f==this.selecteddate.month&&w==this.selecteddate.day&&g==this.selecteddate.year&&(v+=" wh-monthtable__day--selected");let T=null;for(let N=p;N<this.options.agendaitems.length;++N)if(_==this.options.agendaitems[N].timestamp){T=this.options.agendaitems[N].node,p=N+1;break}let S=h("td",{class:v,"data-date":g+"-"+(f+1)+"-"+w},h("div",{class:"day-container"},h("span",{class:"day"},w),T));d.appendChild(S)}}return this.tablenode}onDateClick(e){let t=e.target.closest(".wh-monthtable__day");if(t){e&&e.preventDefault();let o=(t.getAttribute("data-date")||"").split("-"),n=new Date(Number(o[0]),Number(o[1])-1,Number(o[2]));L(this.node?this.node:this.tablenode,"wh:dateclick",{bubbles:!1,cancelable:!0,detail:{date:n,day:n.getDate(),month:n.getMonth(),year:n.getFullYear(),timestamp:n.getTime(),target:e?e.target:null,disabled:t.classList.contains("wh-monthtable__day--disabled")}})}}};function mc(i){return new Date(i.getFullYear(),i.getMonth(),i.getDate()).getTime()}q();var Os=class{constructor(e){this.node=e,this.pagenode=e.closest(".coursefinder__page");for(let t of this.node.querySelectorAll(".coursefinder__detaillist__footer")){let o=t.closest("li");t.addEventListener("click",n=>{let r=null;n.target.closest(".toggle-description")?r=o.querySelector(".coursefinder__detaillist__description"):n.target.closest(".toggle-courses")&&(r=o.querySelector(".coursefinder__detaillist__courses")),r&&this.toggleContent(r)})}for(let t of this.node.querySelectorAll(".coursefinder__detaillist__compacttitle"))t.addEventListener("click",o=>{let n=t.parentNode.querySelector(".coursefinder__detaillist__courses");n&&this.toggleContent(n)});for(let t of this.node.querySelectorAll(".close"))t.addEventListener("click",o=>{let n=o.target.closest(".showfullcontent");n&&this.toggleContent(n)});window.addEventListener("resize",t=>this.onRefresh(t)),window.addEventListener("load",t=>this.onRefresh(t)),window.addEventListener("wh:refresh",t=>this.onRefresh(t)),this.onRefresh()}onRefresh(e){this.pagenode.classList.contains("coursefinder__page--detail")&&(this.shortenDescriptions(),this.checkDescriptionHeight())}shortenDescriptions(){for(let e of this.node.querySelectorAll(".fulldescription"))this.shortenDescription(e)}shortenDescription(e){let o=e.clientHeight;if(o<65){e.parentNode.classList.remove("hasshortdescription"),e.parentNode.children.length>1&&e.parentNode.removeChild(e.parentNode.children[1]);return}e.parentNode.classList.add("hasshortdescription");let n=e.parentNode.children.length>1?e.parentNode.children[1]:null;n||(n=h("span",{class:"shortdescription"}),e.parentNode.appendChild(n)),n.textContent="";let r=e.textContent.split(" ");o=n.clientHeight;let s="";for(;o<=65&&r.length;){let a=s+(s!=""?" ":"")+r.shift();if(n.textContent=a,o=n.clientHeight,o>65){n.textContent=s.substr(0,s.length-3);return}s=a}}toggleContent(e){let t=e.clientHeight,o=e.children[0].clientHeight;e.classList.contains("showfullcontent")?(e.style.maxHeight=t+"px",e.clientHeight,e.classList.add("onhidefullcontent"),e.style.maxHeight="",e.classList.remove("showfullcontentready"),e.classList.contains("coursefinder__detaillist__courses")&&e.closest("li").classList.remove("showcourses"),setTimeout(function(){e.classList.remove("showfullcontent"),e.classList.remove("onhidefullcontent")},300)):(e.classList.remove("onhidefullcontent"),o>t&&(e.style.maxHeight=t+"px",e.clientHeight,e.style.maxHeight=o+"px",e.classList.contains("coursefinder__detaillist__courses")&&e.closest("li").classList.add("showcourses"),setTimeout(function(){e.style.maxHeight=""},300)),e.classList.add("showfullcontent"),setTimeout(function(){e.classList.add("showfullcontentready")},300))}checkDescriptionHeight(){for(let e of this.node.querySelectorAll(".coursefinder__detaillist__description"))this.toggleMoreVisibility(e)}toggleMoreVisibility(e){let t=e.parentNode.querySelector(".toggle-description");if(!t)return;e.children[0].clientHeight<65?t.style.display="none":t.style.display=""}};var $t=(ot(),Fe(lt)).registerTexts;$t("utwente_courses","en",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
30`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","nl",{webfeatures:{frontend:{js:{activefilters:"Actieve filters",cancel:"Annuleren",closeregistration:"Registratie afsluiten",coursealert:"Course alert","coursealert-description":"Na inschrijving ontvang je regelmatig onze nieuwe cursussen.","coursealert-description-noresults":"Op dit moment hebben we geen cursussen beschikbaar voor deze selectie. Vul je gegevens in en je krijgt als eerste een bericht als er \xE9\xE9n beschikbaar komt.","coursealert-login":"Login","coursealert-singlecoursedescription":["Kan je niet wac
30hten om deel te nemen aan deze cursus? We sturen je graag een mail als deze opnieuw ingepland wordt of wanneer er een plek in een reeds geplande cursus vrij komt.",`
31`,"We zullen je slechts \xE9\xE9n keer mailen. Als je er dan geen gebruik van maakt, zul je je opnieuw moeten aanmelden voor deze alert."],coursenotyetopen:"Sorry, de registratie voor deze cursus is nog niet geopend.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domein"],subselse:["domeinen"]}],isfull:"Vol",moreinfo:"Meer info",nextstep:"Volgende stap",no:"Nee",noavailableoptions:"Sorry, er zijn op dit moment  geen opties voor registratie beschikbaar",nooptionsavailable:"Sorry, er zijn geen opties beschikbaar.",notewaitinglist:"Deze cursus is volgeboekt, als je je nu registreert, word je op de wachtlijst geplaatst en automatisch ingeschreven als er een plek vrijkomt.",ok:"Ok",registrationerror_already_registered:"U heeft zich al aangemeld voor deze cursus.",registrationerror_full:"Geselecteerde datum/tijd is vol",registrationerror_nocourse:"Cursus is niet beschikbaar",registrationerror_nosession:"Geselecteerde datum/tijd is niet beschikbaar",registrationerror_title:"Fout bij verwerken registratie",registrationerror_waitinglistfull:"Wachtlijst is vol",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["cursus"],subselse:["cursussen"]}," gevonden"],retry:"Retry",signup:"Inschrijven",signupfor:"Schrijf in voor:",start:"Start","submiterror-failed":"Mislukt","submiterror-prefix":"Je registratie is:","submitsuccess-description":"Je ontvangt een e-mail met verdere informatie.","submitsuccess-followupdescription":["Dit is een begeleidende cursus bij '",1,"'"],"submitsuccess-prefix":"Je registratie is:","submitsuccess-title":"Gelukt","submitsuccess-waitinglist":"U staat nu op de wachtlijst. U ontvangt een e-mail met verdere informatie.",waitinglist:"Wachtlijst",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Cursus"],subselse:["Cursussen"]}],xdaycourse:[1," daagse cursus"],xmore:[1," meer"],yes:"Ja"}}}});$t("utwente_courses","de",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
32`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","ar",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
33`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","bg",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
34`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","el",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
35`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","es",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
36`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","id",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
37`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign u
37p",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","pt",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
38`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","ro",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
39`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});$t("utwente_courses","zh",{webfeatures:{frontend:{js:{activefilters:"Active filters",cancel:"Cancel",closeregistration:"Close registration",coursealert:"Course alert","coursealert-description":"After registration you will regularly receive our new courses.","coursealert-description-noresults":"We currently have no curssen available for this selection. Enter your details and you will be the first to be notified when one becomes available.","coursealert-login":"Login","coursealert-singlecoursedescription":["Can\u2019t wait to join this course? Sign up for the waiting list. You will receive an alert as soon as a new course is organised or a seat in one of the current courses becomes available.",`
40`,"We will only alert you ",{t:"tag",tag:"b",subs:"once"},". If you do not use this opportunity, you will have to sign up again for this alert."],coursenotyetopen:"Sorry, you cannot register for this course yet.",inxdomains:["in ",1,"  ",{t:"ifparam",p:1,value:"1",subs:["domain"],subselse:["domains"]}],isfull:"Full",moreinfo:"More info",nextstep:"Next step",no:"No",noavailableoptions:"Sorry, there are at this time no options for registration available",nooptionsavailable:"Sorry, no options available",notewaitinglist:"This course is fully booked, if you register now, you will be placed on the waiting list and you will be enrolled if a place becomes available.",ok:"Ok",registrationerror_already_registered:"You have already registered for this course.",registrationerror_full:"Selected date/time is full",registrationerror_nocourse:"Course not available",registrationerror_nosession:"Selected date/time not available",registrationerror_title:"Error while saving registration",registrationerror_waitinglistfull:"Waiting list full",results:[1," ",{t:"ifparam",p:1,value:"1",subs:["course"],subselse:["courses"]}," found"],retry:"Retry",signup:"Sign up",signupfor:"Sign up for:",start:"Start","submiterror-failed":"Failed","submiterror-prefix":"Your registration has:","submitsuccess-description":"You will receive an email with further information.","submitsuccess-followupdescription":["This is an accompanying course for '",1,"'"],"submitsuccess-prefix":"Your registration is:","submitsuccess-title":"Successful","submitsuccess-waitinglist":"You're on the waiting list. You will receive an email with further information.",waitinglist:"Waiting list",xcourses:[1," ",{t:"ifparam",p:1,value:"1",subs:["Course"],subselse:["Courses"]}],xdaycourse:[1," day course"],xmore:[1," more"],yes:"Yes"}}}});q();var gc=class extends ce{header;resulttxtnode;loginbtn;constructor(e){super(e),this.addSignupDeeplink(),this.header={prefixnode:C(this.node,".formheader__prefix"),titlenode:C(this.node,".formheader__title"),descriptionnode:C(this.node,".formheader__description")};let t=F(this.node,".wh-form__button--nextlabel, .wh-form__button--submit .wh-form__buttonlabel");t&&(t.textContent=I("utwente_courses:webfeatures.frontend.js.nextstep")),this.resulttxtnode=C(this.node,".resulttext"),this.node.loggedinuser.value&&F(this.node,"input[name=serie]:checked")&&this.gotoPage(1),this.node.classList.contains("wh-form--disabledsubmit")&&this.node.addEventListener("wh:form-beforesubmit",o=>{o.preventDefault()}),this.node.addEventListener("wh:form-pagechange",o=>this.onPageChange(o.target)),this.loginbtn=F("#coursefinder-login"),this.loginbtn&&this.loginbtn.addEventListener("click",o=>
40this.login(o)),setTimeout(()=>this.initFoldableSeries(),200)}addSignupDeeplink(){let e=F(".main__deeplinklist");e&&e.appendChild(h("li",{class:"main__deeplinkitem"},h("a",{class:"main__deeplink",href:"#signup"},I("utwente_courses:webfeatures.frontend.js.signup"))))}login(e){e.preventDefault(),this.loginbtn&&(document.location.href=this.loginbtn.dataset.url+"?serie="+this.node.serie.value+"#signup")}onPageChange(e){if(e.dataset.whFormPagerole!=="thankyou")if(this.header.prefixnode.textContent=I("utwente_courses:webfeatures.frontend.js.signupfor"),this.header.titlenode.textContent=this.node.dataset.coursetitle,e.classList.contains("wh-form__page--series"))this.header.descriptionnode.textContent="",this.node.classList.remove("hidefootnote");else{let t=this.getSelectedOption("serie"),o="";t&&(this.node.classList.toggle("hidefootnote",!t.inputnode.dataset.waitinglist),k(t.fieldline,".session:first-child > .weekday, .session:first-child > .date, .session:first-child > .time, .note, .duration").forEach(n=>{n.textContent!==""&&(n.classList.contains("duration")?o+=" ("+n.textContent+")":(o!==""&&(o+=", "),o+=n.textContent))})),this.header.descriptionnode.textContent=o}}initFoldableSeries(){k(this.node,".fieldgroup-serie .fieldgroup-serie__month").forEach(e=>{e.addEventListener("click",o=>this.toggleSerieMonth(e));let t=e.nextElementSibling;k(t,".wh-form__optiondata").forEach(o=>{let n=F(o,".duration"),r=F(o,".sessions");n&&r&&n.addEventListener("click",s=>{if(r.style.maxHeight="",r.classList.toggle("showall"),r.classList.contains("showall")){let a=0;for(let l=0;l<r.children.length;++l)a+=r.children[l].clientHeight;r.style.maxHeight=a+"px",setTimeout(()=>{r.style.maxHeight="none"},300)}})})})}toggleSerieMonth(e){let t=e.nextElementSibling;if(t.style.overflow="",e.classList.contains("active"))t.style.height=t.clientHeight+"px",e.classList.remove("active"),t.clientHeight,t.style.height="";else{let o=0;for(let n=0;n<t.children.length;++n)o+=t.children[n].clientHeight;t.style.height=o+"px",e.classList.add("active"),t.clientHeight,setTimeout(function(){t.style.height="",t.style.overflow="visible"},300)}}onSubmitSuccess(e){if(this.resulttxtnode.replaceChildren(),e.success)this.header.prefixnode.textContent=I("utwente_courses:webfeatures.frontend.js.submitsuccess-prefix"),this.header.titlenode.textContent=I("utwente_courses:webfeatures.frontend.js.submitsuccess-title"),e.onwaitinglist?this.resulttxtnode.textContent=I("utwente_courses:webfeatures.frontend.js.submitsuccess-waitinglist"):e.parentcourse?this.header.descriptionnode.textContent=I("utwente_courses:webfeatures.frontend.js.submitsuccess-followupdescription",e.parentcoursetitle):this.header.descriptionnode.textContent=I("utwente_courses:webfeatures.frontend.js.submitsuccess-description"),e.paymentlink?document.location.href=e.paymentlink:e.followupcourselink?document.location.href=e.followupcourselink:this.node.scrollIntoView();else{let t="";switch(e.code){case"nosuchcourse":t=I("utwente_courses:webfeatures.frontend.js.registrationerror_nocourse");break;case"nosuchserie":t=I("utwente_courses:webfeatures.frontend.js.registrationerror_nosession");break;case"full":t=I("utwente_courses:webfeatures.frontend.js.registrationerror_full");break;case"already_registered":t=I("utwente_courses:webfeatures.frontend.js.registrationerror_already_registered");break;case"fullwaitinglist":t=I("utwente_courses:webfeatures.frontend.js.registrationerror_waitinglistfull");break;default:t=e.code+(e.name?" : "+e.name:"")}this.header.prefixnode.textContent=I("utwente_courses:webfeatures.frontend.js.submiterror-prefix"),this.header.titlenode.textContent=I("utwente_courses:webfeatures.frontend.js.submiterror-failed"),this.header.descriptionnode.textContent=t,this.resulttxtnode.appendChild(h("div",{class:"errortitle"},I("utwente_courses:webfeatures.frontend.js.registrationerror_title")));let o=h("button",{class:"wh-form__button"},I("utwente_courses:webfeatures.frontend.js.retry"));o.addEventListener("click",n=>{n.preventDefault(),document.location.reload()}),this.resulttxtnode.appendChild(o)}}};se("utwente_courses:registrationform",i=>new gc(i));q();q();Zo();var Qn=ri("utwente_courses:site_service");var fc=class{data;constructor(e){console.log(e),this.data=e,this.showDialog()}async showDialog(){let e=xe();e.contentnode.appendChild(h("div",{class:"coursefinder__canceldialog"},h("h3",null,I("utwente_courses:webfeatures.frontend.js.cancel")+" '"+this.data.title+"'?"),h("div",{class:"course_date"},"( "+I("utwente_courses:webfeatures.frontend.js.start")+" "+this.data.date+" )"),h("div",{class:"buttons"},h("button",{"data-action":"ok",class:"wh-form__button"},I("utwente_courses:webfeatures.frontend.js.yes")),h("button",{"data-action":"cancel",class:"wh-form__button"},I("utwente_courses:webfeatures.frontend.js.no"))))),Te(e.contentnode);let t=Number(this.data.id),o=this.data.hash;e.contentnode.addEventListener("click",n=>{n.target.nodeName==="BUTTON"&&(e.resolve(null),n.target.dataset.action==="ok"&&t>0&&o&&this.doCancel(t,o).catch(r=>console.error(r)))}),e.runModal()}async doCancel(e,t){let o=document.documentElement.lang?document.documentElement.lang.split("-")[0]:"en",n=Q({modal:!0});try{await Qn.CancelCourse(o,e,t)}finally{n.release()}document.location.reload()}},_c=class{data;constructor(e){this.data=e,this.showDialog()}async showDialog(){let e=document.getElementById("coursefinder-paymentform"),t=xe({borrow:e});C(e,"input[name='id']").value=this.data.id,C(e,"input[name='pay']").value=this.data.hash,C(t.contentnode,".course_title").textContent=this.data.title,C(t.contentnode,".course_date").textContent=this.data.date,C(t.contentnode,".course_price").textContent=this.data.price||"",e.style.display="",t.contentnode.addEventListener("click",o=>
40{o.target.nodeName==="BUTTON"&&(t.resolve(null),o.target.dataset.action==="pay"&&Number(this.data.id)>0&&this.data.hash&&e.submit())}),await t.runModal()}};async function Sg(i){let e=xe();e.contentnode.appendChild(i),i.style.display="";let t=i.querySelector("button");t&&t.addEventListener("click",()=>e.resolve(null)),e.runModal()}function Eg(i){new fc(i)}function Cg(i){new _c(i)}b(".coursefinder__mycourses__tabs",i=>{let e=i.parentNode;if(["#history","#coursealert"].includes(location.hash)){let t=location.hash.substr(1);for(let o=0;o<i.children.length;++o){let n=i.children[o];n.dataset.view===t?(n.classList.add("active"),e.classList.add("coursefinder__mycourses--"+n.dataset.view)):(n.classList.remove("active"),e.classList.remove("coursefinder__mycourses--"+n.dataset.view))}}i.addEventListener("click",t=>{for(let o=0;o<i.children.length;++o){let n=i.children[o];t.target===n?(n.classList.add("active"),e.classList.add("coursefinder__mycourses--"+n.dataset.view)):(n.classList.remove("active"),e.classList.remove("coursefinder__mycourses--"+n.dataset.view))}})});b(".coursefinder__mycourses__showcanceled",i=>{i.addEventListener("click",()=>{let e=F(".coursefinder__mycourses__tabs > li[data-view='history'] > .count"),t=i.parentNode;t.classList.contains("coursefinder__mycourses--showcanceled")?(t.classList.remove("coursefinder__mycourses--showcanceled"),e&&i.dataset.count&&(e.textContent=i.dataset.count)):(t.classList.add("coursefinder__mycourses--showcanceled"),e&&i.dataset.totalcount&&(e.textContent=i.dataset.totalcount))})});b("#coursefinder-paymentresult",i=>{Sg(i)});b(".coursefinder__registration",i=>{i.addEventListener("click",e=>{let t=e.target;t.classList.contains("cancel-registration")&&t.dataset.id?Eg(t.dataset):t.classList.contains("pay-registration")&&t.dataset.id&&Cg(t.dataset)})});async function G0(i,e){let t=We("utwente_courses:mycourses").token,o=document.documentElement.lang?document.documentElement.lang.split("-")[0]:"en",n=Q({modal:!0}),r;try{r=await Qn.UpdateCourseAlert(o,{categories:i,unsubscibecourses:e},t)}finally{n.release()}if(!r||!r.success)console.error("Error updating course alert");else if(e.length){let s=k(".coursefinder__mycourses__coursealertform__courseline"),a=s.filter(l=>e.includes(Number(l.dataset.id)));a.length&&s.length===a.length?s[0].closest(".coursefinder__mycourses__coursealertform__col").remove():a.length&&a.forEach(l=>l.remove())}}async function J0(){let i=We("utwente_courses:mycourses").token,e=document.documentElement.lang?document.documentElement.lang.split("-")[0]:"en",t=Q({modal:!0}),o;try{o=await Qn.UnsubscribeCourseAlert(e,i)}finally{t.release()}!o||!o.success?console.error("Error while unsubscribe course alert"):C(".coursefinder__mycourses").classList.add("coursefinder__mycourses--unsubscribedcoursealert")}b(".coursefinder__mycourses__coursealertunsubscribeform",i=>{i.addEventListener("submit",e=>{e.preventDefault(),J0()})});b(".coursefinder__mycourses__coursealertform",i=>{i.addEventListener("submit",e=>{e.preventDefault();let t=k(i,"input[name='categories']:checked").map(n=>parseInt(n.value)),o=k(i,"input[name='course']:not(:checked)").map(n=>parseInt(n.value));G0(t,o)})});var{createService:K0}=(Pi(),Fe(Oi)),Lg=K0("consilio:search");var wc=class extends Xe{constructor(t){super({filterpagetype:"courses"});this.pagenode=t;document.location.hash&&(this.hashparts=document.location.hash.split(".")),this.language=document.documentElement.lang.split("-")[0],this.initCoursesView();let o=this.pagenode.querySelector(".coursefinder__calendar");if(o){let r=new Date;if(this.hashparts.length>2){let s=Number(this.hashparts[1]),a=Number(this.hashparts[2]),l=r.getFullYear()*12+r.getMonth();a>0&&a<=12&&s*12+(a-1)>=l&&(r=new Date(s,a-1,1,0,0,0))}this.calendar=new Ms(o,{date:r})}let n=this.pagenode.querySelector(".coursefinder__detaillist");n&&new Os(n),this.itemlist=[];for(let r of this.pagenode.querySelectorAll(".coursefinder__detaillist > ul > li"))this.itemlist.push({domain:r,courses:r.querySelectorAll(".coursefinder__detaillist__courses__line")});this.feedbacknode=this.pagenode.querySelector(".coursefinder__filterresults"),this.activetagsnode=this.pagenode.querySelector(".coursefinder__activetags"),this.initAutoSuggest(),this.filters&&this.filters.words?this.doFilterForced():this.showResults(),this.pagenode.classList.add("coursefinder__page--loaded"),k("a.coursefinder__detaillist__courses__line").forEach(r=>r.addEventListener("click",()=>window.dataLayer.push({coursefinder_course_title:r.title,coursefinder_organization_tag:r.dataset.organizationTag,coursefinder_organization_title:r.dataset.organizationTitle,event:"coursefinder.courseclick"}),!0))}pagenode;language;hashparts=[];initAutoSuggest(){let t=this.form.querySelector("input[name='words']");if(t){let o="utwente_courses:coursefinder_"+(this.language=="nl"?"nl":"en");ft({input:t,className:"ut-autocomplete",preventSubmit:1,fetch:async(n,r)=>{let s=await Lg.suggest({type:"catalog",catalog:o},n,{doccount:"",count:10}),a=s.values?this.suggestCourses(s.values,n):[];r(a.map(l=>({label:l,value:l})))},onSelect:n=>{t.value=n.value,this.doFilter()},customize:(n,r,s,a)=>{let l=n.parentElement.offsetWidth,d=r.left+(r.width-l);s.style.width=l+"px",s.style.left=d+"px"}})}}suggestCourses(t,o){let n,r=o.match(/\w+/g);r.length&&(n=RegExp(`${r.join("|")}`,"i"));let s=t.map(d=>d.value),a=[],l=[];
40if(n)for(let d of this.itemlist){let c=d.domain.title.toUpperCase();n.test(d.domain.title)&&l.indexOf(c)==-1&&(a.push(d.domain.title),l.push(c));for(let p of d.courses){let m=p.title.toUpperCase();n.test(p.title)&&l.indexOf(m)==-1&&(a.push(p.title),l.push(m))}}return a.concat(s.filter(d=>a.indexOf(d)<0)).slice(0,10)}initCoursesView(){for(let t of this.pagenode.querySelectorAll(".coursefinder__views li"))this.hashparts.length&&(this.hashparts[0]=="#list"?this.setView("list"):this.hashparts[0]=="#calendar"&&this.setView("calendar")),t.addEventListener("click",o=>{this.setView(t.className)})}setView(t){let o="coursefinder__page--"+t;document.location.hash="#"+t,!this.pagenode.classList.contains(o)&&(this.calendar&&t=="calendar"&&this.calendar.setMonthName(),this.pagenode.classList.remove("coursefinder__page--detail"),this.pagenode.classList.remove("coursefinder__page--list"),this.pagenode.classList.remove("coursefinder__page--calendar"),this.pagenode.classList.add(o),L(window,"wh:refresh",{bubbles:!1,cancelable:!0}))}showResults(){let t=[],o=this.rpccache&&this.rpccache.words!="",n=0;for(let a=0;a<this.itemlist.length;++a){let l=!0;this.filters.domain&&(l=this.filters.domain.indexOf(this.itemlist[a].domain.dataset.domain)>-1,this.itemlist[a].domain.hidden=!l);let d=this.itemlist[a].courses.length;for(let c=0;c<this.itemlist[a].courses.length;++c){let p=this.itemlist[a].courses[c],m=Number(p.dataset.id),u=l;if(o&&u&&(u=this.rpccache.ids.indexOf(m)>-1),this.filters.credits&&u){u=!1;for(let w=0;w<this.filters.credits.length;++w){let f=this.filters.credits[w].split("-");if(f.length==2){let g=100*f[0],_=f[1]?100*f[1]:9999;_<g&&(_=g);let v=Number(p.dataset.credits100);u=v>=g&&v<=_}if(u)break}}this.filters.lang&&u&&(u=!1,p.dataset.lang&&(u=p.dataset.lang.split(",").filter(w=>this.filters.lang.includes(w)).length>0)),this.filters.for&&u&&(u=!1,p.dataset.for&&(u=p.dataset.for.split(",").filter(w=>this.filters.for.includes(w)).length>0)),this.filters.available&&u&&(u=!1,p.dataset.available&&(u=p.dataset.available==this.filters.available)),this.filters.locationtype&&u&&(u=!1,p.dataset.locationtype&&(u=this.filters.locationtype.indexOf(p.dataset.locationtype)>-1)),u||--d,u&&t.indexOf(m)==-1&&t.push(m),p.hidden=!u}for(let c of this.itemlist[a].domain.querySelectorAll("span[data-coursecount]"))if(c.dataset.coursecount=="totalcoursecount")c.textContent=I("utwente_courses:webfeatures.frontend.js.xcourses",d);else if(c.dataset.coursecount=="utcoursecount"){let p=c.closest(".coursefinder__detaillist__utcourses"),m=k(p,".coursefinder__detaillist__courses__line:not([hidden])").length;c.textContent=I("utwente_courses:webfeatures.frontend.js.xcourses",m),p.hidden=m==0}else if(c.dataset.coursecount.startsWith("externalcoursecount")){let p=c.closest(".coursefinder__detaillist__source"),m=k(p,".coursefinder__detaillist__courses__line:not([hidden])").length;c.textContent=m,p.hidden=m==0}d>0&&l?(++n,this.itemlist[a].domain.hidden=!1,this.filtersIsSet()&&this.toggleDomainCoursesView(this.itemlist[a].domain,!0)):(this.itemlist[a].domain.hidden=!0,this.toggleDomainCoursesView(this.itemlist[a].domain,!1))}this.calendar.filterCourses(t),this.showActiveTags(),this.feedbacknode.replaceChildren(),this.pagenode.classList.toggle("coursefinder__page--noresults",t.length==0);let r=I("utwente_courses:webfeatures.frontend.js.results",t.length),s=I("utwente_courses:webfeatures.frontend.js.inxdomains",n);this.feedbacknode.appendChild(h("span",{class:"count"},h("span",{class:"count__courses","aria-live":"polite"},r),h("span",{class:"count__domains"},s))),L(window,"wh:refresh",{bubbles:!1,cancelable:!0})}toggleDomainCoursesView(t,o){let n=t.querySelector(".coursefinder__detaillist__courses");n&&n.classList.toggle("showfullcontent",o)}filtersIsSet(t){for(let o in this.filters)if(this.filters.hasOwnProperty(o))return!0;return!1}showActiveTags(){this.activetagsnode.replaceChildren();for(let t of this.form.querySelectorAll("input[type='checkbox']:checked,input[type='search']"))if(t.type=="search"){if(t.value!=""){let o=h("span",{class:"tag"},t.value,h("span",{class:"UT-icon-UT_icon_67_cross-small-16px"}));this.activetagsnode.appendChild(o),o.addEventListener("click",n=>{this.activetagsnode.removeChild(o),t.value="",so(t,"change")})}}else if(t.type=="checkbox"){let o=t.parentNode.querySelector(".wh-form__optionlabel");if(o){let n=h("span",{class:"tag"}
40,o.textContent,h("span",{class:"UT-icon-UT_icon_67_cross-small-16px"}));this.activetagsnode.appendChild(n),n.addEventListener("click",r=>{this.activetagsnode.removeChild(n),t.checked=!1,so(t,"change")})}}this.activetagsnode.children.length>0&&this.activetagsnode.insertBefore(h("span",{class:"title"},I("utwente_courses:webfeatures.frontend.js.activefilters")+":"),this.activetagsnode.children[0]),this.activetagsnode.style.display=this.activetagsnode.children.length>0?"":"none"}};b(".embeddedobject--inlinecta a[href^='#coursealert'], .showcoursealert",i=>{i.addEventListener("click",e=>{e.preventDefault(),e.target.blur();let t,o="",n="";if(i.nodeName=="A"){let r=i.getAttribute("href").split(":");if(r.length==2){o=r[1].replace(/[^0-9]+/g,"");let s=i.closest(".embeddedobject--inlinecta");s&&(n=F(s,".formheader__title").textContent)}}else{let r=e.target.closest(".coursefinder__detaillist__courses__line");r&&(n=r.title,o=r.dataset.id)}o&&(t={title:n,id:o,singlecourse:!0}),Fg(t)})});async function Fg(i){let e=F(".coursefinder__coursealertdialog__form");if(!e){console.error("Missing Course Alert form");return}e.singlecourse.value="0",i&&i.singlecourse?(e.singlecourse.value=i.id,so(e.singlecourse,"change")):i&&i.categories&&i.categories.length&&k(e,"input[name='categories']").forEach(o=>{o.checked=i.categories.indexOf(o.value)>-1});let t=xe({borrow:e,allowcancel:!0});t.utheadernode.appendChild(h("h2",null,I("utwente_courses:webfeatures.frontend.js.coursealert"))),i&&i.title&&t.utheadernode.appendChild(h("h3",null,i.title)),i&&i.singlecourse?t.utheadernode.appendChild(h("p",null,I("utwente_courses:webfeatures.frontend.js.coursealert-singlecoursedescription"))):t.utheadernode.appendChild(h("p",null,I("utwente_courses:webfeatures.frontend.js.coursealert-description"))),t.contentnode.classList.add("courses-dialog--coursealert"),t.holdernode.classList.add("courses-dialog__holder--coursealert"),await t.runModal(),L(e,"utwente_courses:closedialog",{bubbles:!1,cancelable:!0})}async function Q0(i,e){let t=xe({borrow:i,allowcancel:!0});t.utheadernode.appendChild(h("h2",null,I("utwente_courses:webfeatures.frontend.js.coursealert"))),e&&e.title&&t.utheadernode.appendChild(h("h3",null,e.title)),e&&e.singlecourse?t.utheadernode.appendChild(h("p",null,I("utwente_courses:webfeatures.frontend.js.coursealert-singlecoursedescription"))):t.utheadernode.appendChild(h("p",null,I("utwente_courses:webfeatures.frontend.js.coursealert-description"))),t.contentnode.classList.add("courses-dialog--coursealert"),t.holdernode.classList.add("courses-dialog__holder--coursealert"),await t.runModal(),i.remove()}b(".coursefinder__subscribedcoursealert[data-title]",i=>{Q0(i,{title:i.dataset.title,singlecourse:i.dataset.singlecourse&&i.dataset.singlecourse!="0"})});var bc=class extends ce{constructor(e){super(e),ht().isLoggedIn()&&(this.userinfo=ht().getUserInfo()),this.node.addEventListener("utwente_courses:closedialog",o=>{o.target==this.node&&this.reset()}),this.getUrlParam("showcoursealert")&&setTimeout(()=>Fg(),500);let t=k(this.node,"[name=subscribeas]");t.length&&(t.forEach(o=>o.addEventListener("change",()=>this.updateSubscribeAs())),this.updateSubscribeAs())}reset(){super.reset(),this.gotoPage(0)}onSubmitSuccess(e){super.onSubmitSuccess(e);let t=this.node.closest(".ut-dialog__holder");t&&k(t,".ut-dialog__header p").forEach(r=>r.remove()),window.dataLayer||(window.dataLayer=[]);let o=[];k(this.node,"input[name='categories']:checked").forEach(r=>{o.push(r.parentNode.textContent)});let n="external";this.userinfo&&(this.userinfo.isemployee?n="employee":this.userinfo.isstudent&&(n="student")),window.dataLayer.push({event:"coursealert-submitted","coursealert-categories":o.join(";"),"coursealert-subscribeas":n})}updateSubscribeAs(){let e=F(this.node,"input[name='subscribeas']:checked"),t=this.node.querySelector(".wh-form__fieldgroup--loginbtn");e&&e.value=="utlogin"?(t.classList.remove("wh-form__fieldgroup--hidden"),this.node.classList.remove("wh-form--allowsubmit")):(t.classList.add("wh-form__fieldgroup--hidden"),this.node.classList.add("wh-form--allowsubmit"))}getUrlParam(e){let t=new URL(location.href).searchParams.get(e);return t?decodeURIComponent(t):""}};b(".coursefinder__page",i=>new wc(i));se("utwente_courses:coursealert",i=>new bc(i));q();var Xt=(ot(),Fe(lt)).registerTexts;Xt("utwente_education","en",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","nl",{site:{studyfinder:{js:{degree:"Programme",duration:"Duur",language:"Taal",specializations:"Specialisaties",study:"Studie",w
40orkload:"Werkdruk"}}}});Xt("utwente_education","de",{site:{studyfinder:{js:{degree:"Programme",duration:"Dauer",language:"Sprache",specializations:"Spezialisierungen",study:"Studie",workload:"Arbeitsbelastung"}}}});Xt("utwente_education","ar",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","bg",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","el",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","es",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","id",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","pt",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","ro",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});Xt("utwente_education","zh",{site:{studyfinder:{js:{degree:"Programme",duration:"Duration",language:"Language",specializations:"Specialisations",study:"Study",workload:"Workload"}}}});re();var vc=class extends Xe{isdetailsview=!0;programmescontainer;scorecolumn=h("div",{style:"display: none;"});tablecellnames_programme;tablecellnames_specialization;items=new Array;searchIndex=new Mo;tableheader=z("li",{className:"filteredoverview__listview__header studyfinder__listview__header"});sortcolumn=null;activeitem=null;constructor(){super({filterpagetype:"studyfinder"}),this.programmescontainer=C(".studyfinderprogrammes > ul"),this.programmescontainer.style.display="none",this.programmescontainer.parentNode.append(this.scorecolumn),this.tablecellnames_programme=Y.obj.columns_listview_programme,this.tablecellnames_specialization=Y.obj.columns_listview_specialization;let e=0,t=0,o=0;for(let n of this.programmescontainer.querySelectorAll(".studyfinder__programme")){let r=[],s=n.querySelector(".programme_specializations");if(s)for(let l of s.querySelectorAll(".specialization")){let d=this.buildRow(l,n.dataset);l.parentNode.dataset.specid=String(++o),d.dataset.specid=String(o),r.push({id:String(o),details:l.parentNode,compact:d,title:l.querySelector(".specialization__title__text"),description:l.querySelector(".description")})}let a=this.buildRow(C(n,".programme__content"),n.dataset);a.setAttribute("data-idx",String(t)),n.dataset.specializations||a.classList.add("nospecializations"),e+=r.length,this.items.push({id:n.dataset.id,details:n,compact:a,specializations:r,title:n.querySelector(".programme__title__text"),description:n.querySelector(".description")}),++t}if(e===0){for(let n=this.tablecellnames_programme.length-1;n>=0;--n)if(this.tablecellnames_programme[n]==="specializations"){this.tablecellnames_programme.splice(n,1);break}}this.programmescontainer.addEventListener("click",n=>this.toggleSpecializations(n));for(let n of k(".listtoggle__detailview,.listtoggle__listview"))n.addEventListener("click",r=>this.setViewByButton(n));this.initSearchIndex(),this.initAutoSuggest(),location.hash==="#listview"?(this.setView(!1),this.doFilterForced()):this.isFilterActive()?this.doFilter():this.setFeedback(this.items.length),this.programmescontainer.style.display=""}buildRow(e,t){let o=e.classList.contains("specialization"),n=o?this.tablecellnames_specialization:this.tablecellnames_programme,r=z("li",{className:"studyfinder__programme filteredoverview__listview__item",dataset:t});o?r.classList.add("specialization"):r.classList.add("isprogramme"),e.dataset.link&&(r.setAttribute("data-link",e.dataset.link),r.addEventListener("click",
40s=>{t.specializations&&s.target.closest(".togglespecializations")||(s.preventDefault(),ue(e.dataset.link))}));for(let s=0;s<n.length;++s){let a=n[s],l=z("div",{className:"cell--"+a}),d=e.querySelector("."+a);d?(d.dataset.sort&&l.setAttribute("data-sort",d.dataset.sort),l.appendChild(d.cloneNode(!0))):(a==="specializations"||a==="duration")&&l.setAttribute("data-sort","0"),d||l.appendChild(z("span",{textContent:"\xA0"})),a==="specializations"&&d&&l.classList.add("togglespecializations"),r.appendChild(l)}return r}initSearchIndex(){this.searchIndex.searchFields=["title","description"],this.searchIndex.completeSuggestFields=["title"];for(let e of this.items){this.searchIndex.indexItem({id:e.id,specid:"0",title:e.title.textContent||"",description:e.description.textContent||"",titleNode:e.title,descriptionNode:e.description});for(let t of e.specializations)this.searchIndex.indexItem({id:e.id,specid:t.id,title:t.title.textContent||"",description:t.description.textContent||"",titleNode:t.title,descriptionNode:t.description})}}setViewByButton(e){let t=e.getAttribute("data-viewmode")==="detailview";this.setView(t),this.doFilterForced()}applyViewModeClass(e){e==="list"?(this.feedbackcontainer.classList.add("filteredoverview--listview"),this.feedbackcontainer.classList.remove("filteredoverview--detailview"),this.programmescontainer.classList.add("filteredoverview__listview"),this.programmescontainer.classList.remove("filteredoverview__detailview")):e==="details"&&(this.feedbackcontainer.classList.remove("filteredoverview--listview"),this.feedbackcontainer.classList.add("filteredoverview--detailview"),this.programmescontainer.classList.remove("filteredoverview__listview"),this.programmescontainer.classList.add("filteredoverview__detailview"))}setView(e){if(this.isdetailsview=e,this.isdetailsview)this.tableheader.remove(),this.applyViewModeClass("details"),this.programmescontainer.classList.remove("studyfinderprogrammes--listview"),this.programmescontainer.classList.add("studyfinderprogrammes--detailview");else{this.tableheader.replaceChildren();for(let t=0;t<this.tablecellnames_programme.length;++t){let o="";switch(this.tablecellnames_programme[t]){case"degree":o=I("utwente_education:site.studyfinder.js.degree");break;case"title":o=I("utwente_education:site.studyfinder.js.study");break;case"duration":o=I("utwente_education:site.studyfinder.js.duration");break;case"time":o=I("utwente_education:site.studyfinder.js.workload");break;case"languages":o=I("utwente_education:site.studyfinder.js.language");break;case"specializations":o=I("utwente_education:site.studyfinder.js.specializations");break;case"workload_curiousu":o=I("utwente_education:site.studyfinder.js.workload");break}let n=z("div",{className:"col--"+this.tablecellnames_programme[t],textContent:o,dataset:{name:this.tablecellnames_programme[t]}});n.addEventListener("click",r=>this.sortColumn(n)),this.tableheader.appendChild(n)}this.programmescontainer.insertBefore(this.tableheader,this.programmescontainer.firstChild),this.applyViewModeClass("list"),this.programmescontainer.classList.add("studyfinderprogrammes--listview"),this.programmescontainer.classList.remove("studyfinderprogrammes--detailview")}}sortDetails(e){this.sortcolumn=e;let t=!0,o=[];for(let n of this.programmescontainer.querySelectorAll(".studyfinder__programme")){let r=[],s;for(let a of n.querySelectorAll(".specialization__container"))s||(s=a.parentNode),r.push({text:a.dataset.sort?this.getSortText(a):1e3+Number(a.dataset.specid),node:a});if(r.length){r=this.sortList(r,t);for(let a of r)s.appendChild(a.node);for(let a=1;a<s.childNodes.length-r.length;++a)s.appendChild(s.childNodes[1])}o.push({text:this.getSortText(n),node:n})}o=this.sortList(o,t);for(let n of o)this.programmescontainer.appendChild(n.node)}sortColumn(e){let t=e!==this.sortcolumn;t&&this.sortcolumn&&this.sortcolumn.classList.remove("sortactive"),this.sortcolumn=e,this.sortcolumn.classList.add("sortactive");let o=e.classList.contains("sort-asc");t||(o?(e.classList.remove("sort-asc"),o=!1):(e.classList.add("sort-asc"),o=!0));let n=this.sortcolumn===this.scorecolumn,r=[];for(let s of this.programmescontainer.querySelectorAll(n?".isprogramme[data-sort]":".isprogramme .cell--"+e.dataset.name)){let a=[],l=n?s.nextSibling:s.parentNode.nextElementSibling;for(;l&&l.classList.contains("specialization");
40)a.push({text:n?l.dataset.sort?this.getSortText(l):1e3+Number(l.dataset.specid):this.getSortText(F(l,".cell--"+e.dataset.name)),row:l}),l=l.nextElementSibling;r.push({text:this.getSortText(s),row:n?s:s.parentNode,specializations:this.sortList(a,o)})}r=this.sortList(r,o);for(let s=0;s<r.length;++s){this.programmescontainer.appendChild(r[s].row);for(let a=0;a<r[s].specializations.length;++a)this.programmescontainer.appendChild(r[s].specializations[a].row)}}getSortText(e){return e?e.dataset.sort?Number(e.dataset.sort):e.innerHTML.replace(/<\/?[^>]+(>|$)/g,"").toUpperCase()+" - "+e.parentNode.dataset.idx:""}sortList(e,t){return[...e].sort((o,n)=>typeof o.text=="number"&&typeof n.text=="number"?(o.text-n.text)*(t?1:-1):String(o.text).localeCompare(String(n.text))*(t?1:-1))}toggleSpecializations(e,t){if(e&&!e.target.closest(".togglespecializations"))return;e&&e.preventDefault();let o=t||(e?.target).closest(".studyfinder__programme");if(!o)return;if(!this.isdetailsview){if(o.classList.contains("expanded")){for(;o.nextElementSibling?.classList.contains("specialization");)o.nextElementSibling.remove();o.classList.remove("expanded"),this.activeitem=null;return}let r=[];if(this.sortcolumn){let s=this.sortcolumn.classList.contains("sort-asc");for(let a=0;a<this.items[Number(o.dataset.idx)].specializations.length;++a){let l=this.items[Number(o.dataset.idx)].specializations[a].compact;r.push({text:this.getSortText(F(l,".cell--"+this.sortcolumn.dataset.name)),row:l})}r=this.sortList(r,s);for(let a=r.length-1;a>=0;--a)o.after(r[a].row)}else for(let s=this.items[Number(o.dataset.idx)].specializations.length-1;s>=0;--s)o.after(this.items[Number(o.dataset.idx)].specializations[s].compact);o.classList.add("expanded"),this.activeitem=o;return}let n=o.querySelector(".programme_specializations");n&&(n.classList.contains("show")?(n.parentNode.classList.remove("studyfinder__programme--specializationsvisible"),n.style.height=n.clientHeight+"px",n.classList.add("beforehide"),n.clientWidth,n.classList.remove("show"),n.style.height="0px",setTimeout(()=>n.classList.remove("beforehide"),300)):(n.style.height=n.children[0].clientHeight+"px",n.clientWidth,n.classList.add("show"),n.parentNode.classList.add("studyfinder__programme--specializationsvisible"),setTimeout(function(){n.classList.contains("show")&&(n.style.height="auto")},300)))}initAutoSuggest(){let e=this.form.querySelector("input[data-autocomplete-studyfinder]");e&&ft({input:e,className:"ut-autocomplete",preventSubmit:1,fetch:async(t,o)=>{let n=this.searchIndex.suggest(t).slice(0,10);o(n.map(r=>({label:r,value:r})))},onSelect:t=>{e.value=t.label??"",this.doFilter()}})}suggestProgrammes(e,t){let o=this.searchIndex.suggest(e.term);t(o.slice(0,10))}refreshFilterFeedbackUI(){for(let e of this.items){e.title.textContent=String(e.title.textContent),e.description.textContent=String(e.description.textContent);let t=this.isdetailsview?e.details:e.compact;delete t.dataset.sort;for(let o of e.specializations){o.title.textContent=String(o.title.textContent),o.description.textContent=String(o.description.textContent);let n=this.isdetailsview?o.details:o.compact;delete n.dataset.sort}}super.refreshFilterFeedbackUI()}rpccache=null;showResults(){let e=Object.keys(this.filters).length,t=0;if(this.isdetailsview)this.programmescontainer.replaceChildren();else{let o=this.tableheader;for(;o.nextSibling;)o.nextSibling.remove()}for(let o of this.items){let n=this.isdetailsview?o.details:o.compact,r=0;for(let s of Object.keys(this.filters)){if(s==="words"){if(this.rpccache){let p=this.rpccache.ids.indexOf(n.dataset.id),m=this.rpccache.progtitleids.indexOf(n.dataset.id),u=this.rpccache.expandids.indexOf(n.dataset.id),w=this.rpccache.expandtitleids.indexOf(n.dataset.id);if(p>-1||u>-1){let f=1;if(m>-1?f+=m:w>-1?f+=this.rpccache.progtitleids.length+w:p>-1?f+=this.rpccache.progtitleids.length+this.rpccache.expandtitleids.length+p:f+=this.rpccache.progtitleids.length+this.rpccache.expandtitleids.length+this.rpccache.ids.length+u,n.dataset.sort=String(f),this.sortcolumn=this.scorecolumn,n.dataset.specializations&&u>-1){n.classList.add("expanded");for(let g of o.specializations){let _=this.isdetailsview?g.details:g.compact,v=1+this.rpccache.specids.indexOf(g.compact.dataset.specid);v&&(_.dataset.sort=String(v))}}++r}}continue}
40let a=JSON.parse(n.dataset.filterdata),l=null;if(s in a)l=a[s];else{let p=n.dataset[s];if(!p){console.log("Cannot find search key '"+s+"'"),console.log("Got",a);continue}l=p.split(" ")}let d=l,c=this.filters[s];if(Array.isArray(c)&&Array.isArray(d)){this.debug&&console.log("(search)",c,"ANYIN",d);for(let p=0;p<this.filters[s].length;++p)if(d.indexOf(this.filters[s][p])>-1){++r;break}}else if(Array.isArray(d))this.debug&&console.log("(search)",c,"IN",d),d.indexOf(this.filters[s])>-1&&++r;else if(Array.isArray(c))this.debug&&console.log(d,"IN (search)",c),c.indexOf(d)>-1&&++r;else{this.debug&&console.log(d,"==",c);let p=typeof d=="number"?parseInt(this.filters[s]):this.filters[s];d===p&&++r}}r===e&&(++t,n.style.opacity="0",this.programmescontainer.appendChild(n),n.classList.contains("expanded")&&(n.classList.remove("expanded"),this.toggleSpecializations(null,n)),n.clientHeight,n.style.opacity="1")}this.isdetailsview?this.isdetailsview&&this.sortcolumn&&this.sortDetails(this.sortcolumn):this.sortcolumn&&this.sortColumn(this.sortcolumn),this.setFeedback(t)}async doSearchWords(e){this.resetFilters(!0);let t={ids:[],progtitleids:[],expandids:[],expandtitleids:[],specids:[],words:e},o=this.searchIndex.search(e);for(let n of o.items)this.highlightSearchTerms(o.terms,n.title,n.titleNode)&&(!n.specid&&!t.progtitleids.includes(n.id)?t.progtitleids.push(n.id):n.specid&&!t.expandtitleids.includes(n.id)&&t.expandtitleids.push(n.id)),this.highlightSearchTerms(o.terms,n.description,n.descriptionNode),n.specid?(t.expandids.includes(n.id)||t.expandids.push(n.id),t.specids.includes(n.specid)||t.specids.push(n.specid)):t.ids.includes(n.id)||t.ids.push(n.id);return t}highlightSearchTerms(e,t,o){let n=new RegExp(`\\b(${e.join("|")})\\b`,"ig"),r=[],s=0,a;for(;(a=n.exec(t))!==null;)r.push(t.substring(s,a.index)),r.push(h("span",{class:"ut-querymatch"}," ",a[0]," ")),s=a.index+a[0].length;if(!s)o.textContent=t;else{s<t.length&&r.push(t.substr(s)),o.replaceChildren();for(let l of r)typeof l=="string"?o.append(l):o.appendChild(l)}return s>0}};b(".filteredoverview__filterholder.filteredoverview--studyfinder",i=>new vc);A();var yc=class extends ci{constructor(e){super({...e,filterpagetype:"scholarshipfinder"}),this.lastedutype="",this.itemscontainer.classList.add("scholarshipfinder--show")}setProgrammeFilter(){let e=this.form.elements.edutype.value;this.lastedutype!=e&&(this.savedprogrammeoptions||(this.savedprogrammeoptions=Array.from(this.form.elements.programme.children)),this.lastedutype=e,e&&k(this.form.elements.programme,"option").forEach(t=>{t.hidden=!(!t.dataset.edutype||t.dataset.edutype==e),t.classList.toggle("ut-pulldown--hiddenitem",!(!t.dataset.edutype||t.dataset.edutype==e))}))}onFormFiltersUpdate(e){e.query&&(delete e.country,delete e.edutype,delete e.programme),document.querySelector(".scholarshipfinder__textsearch-explain").style.display="",document.querySelector(".scholarshipfinder__textsearch-explain").classList.toggle("textsearchactive",!!e.query)}showResults(){this.fadetimer&&clearTimeout(this.fadetimer),this.setProgrammeFilter(),this.itemscontainer.classList.remove("scholarshipfinder--show"),this.itemscontainer.clientWidth,this.runFilterByDataTags(),this.fadetimer=setTimeout((function(){this.itemscontainer.classList.add("scholarshipfinder--show")}).bind(this),500)}};J(()=>{document.documentElement.classList.contains("page--scholarshipfinder")&&(window.filteredoverview=new yc({itemsselector:".grantfinder__scholarship"}))});q();var{createService:Z0}=(Pi(),Fe(Oi)),Ag=Z0("utwente_education:service");var Gt=(ot(),Fe(lt)).registerTexts;Gt("utwente_education","en",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}
40],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","nl",{site:{transferwidget:{js:{gotomaster:"Ga naar deze masteropleiding",gotopremaster:"Lees meer over het pre-masterprogramma",noresults:["Er zijn bij ons geen mogelijkheden bekend om met jouw vooropleiding door te stromen naar een masteropleiding aan de UT. Denk je dat je met jouw bachelor toch toegelaten kunt worden tot een bepaalde master? ",{t:"a",link:"https://www.utwente.nl/onderwijs/student-services/contact/",linkparam:0,target:"",subs:"Neem dan contact op."}],noresults_this:["Er zijn bij ons geen mogelijkheden bekend om met jouw vooropleiding door te stromen naar de master ",1," aan de UT. Denk je dat je met jouw bachelor toch toegelaten kunt worden? ",{t:"a",link:" https://www.utwente.nl/onderwijs/master/contact/",linkparam:0,target:"",subs:"Neem dan contact op."}],noresults_title:"Geen doorstroommogelijkheden gevonden",noroutes:["Voor deze opleiding is er op dit moment geen doorstroominformatie bekend. Voor vragen kun je altijd ",{t:"a",link:"https://www.utwente.nl/onderwijs/master/contact/",linkparam:0,target:"",subs:"contact"}," met ons opnemen."]}}}});Gt("utwente_education","de",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-master's programme",noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["F\xFCr diesen Studiengang gibt es derzeit keine Informationen zum Transfer. Du kannst uns jederzeit ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"kontaktieren"},"."],noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}]}}}});Gt("utwente_education","ar",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","bg",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}
40],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","el",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","es",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","id",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","pt",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}
40],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","ro",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});Gt("utwente_education","zh",{site:{transferwidget:{js:{gotomaster:"Go to this master",gotopremaster:"Read more about the pre-masters\u2019s programme",noresults:["With your previous education, there are no transfer possibilities to UT master\u2019s that we are aware of. Do you think your bachelor\u2019s might still be sufficiently related to one of our master\u2019s or do you have questions about your eligibility? ",{t:"a",link:"https://www.utwente.nl/en/education/student-services/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_this:["We are not aware of any transfer possibilities to the Master\u2019s in ",1," at UT with your current programme. Do you think your bachelor\u2019s might still be sufficiently related? ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"Contact us!"}],noresults_title:"No transfer options found",noroutes:["No transfer information is currently available for this study programme. For questions, you can ",{t:"a",link:"https://www.utwente.nl/en/education/master/contact/",linkparam:0,target:"",subs:"contact us"},"."]}}}});var xc=class{constructor(e){this.node=e;this.targetprogramme=this.node.dataset.targetprogramme,this.targetprogramme||(this.targetprogramme=""),this.baseurl=window.location.href.split("?")[0],this.instituteselector=F(this.node,"select[name='edutype']"),this.programmeselectors=[...this.node.querySelectorAll("select[name|='programme']")],this.resultscontainer=C(this.node,".embeddedobject__transfer__results"),this.istransferfrom=this.node.classList.contains("embeddedobject__transfer--from");let t=this.getUrlParam("edutype");this.instituteselector?(t&&this.instituteselector.querySelector("option[value='"+t+"']")&&(this.institute=t,this.instituteselector.value=t,this.onOrgChange(this.getUrlParam("programme")||"")),this.instituteselector.addEventListener("change",o=>this.onOrgChange())):(this.institute=this.node.dataset.edutype||"",!this.programmeselectors.length&&this.node.dataset.programme&&this.loadResults(this.institute,this.node.dataset.programme));for(let o of this.programmeselectors)o.addEventListener("change",n=>this.onProgChange(o))}node;targetprogramme;language=document.documentElement.lang.split("-")[0];baseurl;instituteselector;programmeselectors;resultscontainer;istransferfrom;activeprogrammes=null;institute="";pir=new Po;onProgChange(e){this.setUrlParam(),this.institute&&e.value&&this.loadResults(this.institute,e.value)}async loadResults(e,t){let o=Q({modal:!1});this.node.classList.add("loading");let n={targetprogramme:this.istransferfrom?this.targetprogramme:"",language:this.language},r=await Ag.GetStudyRoutes(e,t,n);this.node.classList.remove("loading"),o.release(),this.resultscontainer.replaceChildren(),r&&r.routes?(this.node.classList.add("hasresults"),this.showRoutes(r.routes)):r&&!r.routes?(this.node.classList.remove("hasresults"),this.resultscontainer.appendChild(h("div",{class:"noresults"},h("div",{class:"studyroute__route-desc"},h("b",null,this.setHtmlContent(yt("utwente_education:site.transferwidget.js.noroutes"))))))):(this.node.classList.remove("hasresults"),this.resultscontainer.appendChild(h("div",{class:"noresults"},h("div",{class:"studyroute__route-header"},h("div",{class:"studyroute__route-icon","data-icon":"no-results"}),this.setHtmlContent(I("utwente_education:site.transferwidget.js.noresults_title"))),h("div",{class:"studyroute__route-desc"},this.setHtmlContent(r?.destination_title?yt("utwente_education:site.transferwidget.js.noresults_this",r.destination_title):yt("utwente_education:site.transferwidget.js.noresults"))))))}setHtmlContent(e,t){if(!e)return null;let o=h("div",null);return o.innerHTML=e,t&&(o.className=t),o}showRoutes(e){for(let t=0;t<e.length;++t){e[t].programmes.length===1&&e[t].programmes[0].destination_programmeid===this.targetprogramme&&(e[t].programmes=[]);let o=h("div",{class:"studyroute__route"},h("div",{class:"studyroute__route-header"},h("div",{class:"studyroute__route-icon","data-icon":e[t].icon}),this.setHtmlContent(e[t].title+(this.istransferfrom?"":'<span class="studyroute__route-count">('+e[t].programmes.length+")</span>"))),h("div",{class:"studyroute__route-desc"},this.setHtmlContent(e[t].description)),e[t].conditions?h("div",{class:"studyroute__route__conditions"},this.setHtmlContent(e[t].conditions)):null,e[t].studyadvisor?this.setHtmlContent(e[t].studyadvisor):null,e[t].show_ec&&e[t].programmes.length?h("div",{class:"studyroute__route-header-ec"},"EC"):null,e[t].programmes.map(n=>h("div",{class:"studyroute__route-programme foldableprog"},h("div",{class:"foldableprog__title"},h("div",{class:"studyroute__route-icon","data-icon":n.icon,"data-ec":n.deficiencycredits}),h("div",{class:"studyroute__route-title"},n.title),e[t].show_ec?h("div",{class:"studyroute__route-ec"},n.deficiencycredits):null),h("div",{class:"foldableprog__foldcontainer"},h("div",{class:"foldableprog__text"},h("div",{class:"studyroute__route-intro"},n.imagelink?h("div",{class:"studyroute__route-intro__image"},h("img",{src:n.imagelink,alt:""})):null,h("div",{class:"studyroute__route-intro__text"},this.setHtmlContent(n.description),this.setHtmlContent(n.conditions,"studyroute__route__conditions"),this.istransferfrom&&n.link&&!n.ishbo?h("a",{class:"studyroute__route-link",href:n.link},I("utwente_education:site.transferwidget.js.gotomaster")):null)),n.studyadvisor?this.setHtmlContent(n.studyadvisor):null)))));this.resultscontainer.appendChild(o)}ns("foldableprog")}onOrgChange(e){this.institute=this.instituteselector?this.instituteselector.value:"",this.activeprogrammes=this.node.querySelector("select[name='programme-"+this.institute+"']");for(let t of this.programmeselectors)if(t===this.activeprogrammes||!this.activeprogrammes&&t.name==="programme"){if(t.classList.add("active"),e){let o=t.querySelector("option[value='"+e+"']");o||(o=t.querySelector("option[data-crohocode*='_"+e+"_']")),o&&(t.value=o.value)}}else t.classList.remove("active");this.activeprogrammes&&this.activeprogrammes.value?this.onProgChange(this.activeprogrammes):this.setUrlParam()}setUrlParam(){let e=new URL(this.baseurl);this.institute&&e.searchParams.set("edutype",this.institute),this.activeprogrammes&&this.activeprogrammes.value&&e.searchParams.set("programme",this.activeprogrammes.value),history.replaceState(void 0,"",e.toString())}getUrlParam(e){return new URL(location.href).searchParams.get(e)}};b(".embeddedobject__transfer",i=>new xc(i));b(".widget-studyrouteslist",i=>{let e=C(i,"select[name=program]"),t=C(i,"select[name=filtersource]");i.addEventListener("submit",o=>{o.preventDefault();let n=new URL(e.value||"",location.href);n.searchParams.set("filtersource",t.value||""),location.href=n.toString()}),new Wt({select:e,settings:{modal:"off"}}),new Wt({select:t,settings:{modal:"off"}})});A();function ey(i){let t=yi(i,".embeddedobject__programmedetails").querySelectorAll(".line__description-text[data-year]");i.addEventListener("change",o=>{let n=i.value;for(let r of t)r.style.display=!n||r.dataset.year===n?"":"none"})}b(".programmedetails__yearfilter select",i=>ey(i));q();b(".programmedetailsheader__items-button",i=>{let e,t=window.matchMedia("(max-width: 900px)"),o=window.matchMedia("(max-width: 450px)"),n=C(i.parentNode,".programmedetailsheader__items");window.addEventListener("resize",()=>{let s=!1;o.matches?n.children.length<=2&&(s=!0):n.children.length<=4&&(s=!0),i.hidden=s});let r=!1;o.matches?n.children.length<=2&&(r=!0):n.children.length<=4&&(r=!0),i.hidden=r,i.addEventListener("click",()=>{if(clearTimeout(e),n.classList.contains("programmedetailsheader__items--expanded")){n.style.height=`${n.clientHeight}px`;let s=n.children[0].clientHeight;o.matches?n.children.length>1&&(s+=n.children[1].clientHeight):t.matches&&n.children.length>2&&(s+=n.children[3].clientHeight),n.style.height=`${s}
40px`,i.setAttribute("aria-expanded","false"),e=setTimeout(()=>{n.style.height="",n.classList.remove("programmedetailsheader__items--expanded"),L(n,"ws:programmedetailsheader-toggle",{bubbles:!0,cancelable:!1})},300)}else n.style.height=`${n.clientHeight}px`,n.classList.add("programmedetailsheader__items--expanded"),n.style.height=`${n.scrollHeight}px`,i.setAttribute("aria-expanded","true"),e=setTimeout(()=>{n.style.height="",L(n,"ws:programmedetailsheader-toggle",{bubbles:!0,cancelable:!1})},300)})});A();b(".widget-relatedmasterprogrammes",i=>{i.addEventListener("click",e=>{let t=e.target.closest(".widget-relatedmasterprogrammes__more");t&&k(i,".widget-relatedmasterprogrammes__programme--hidden").forEach((o,n)=>{setTimeout(()=>{o.style.opacity="0",o.classList.remove("widget-relatedmasterprogrammes__programme--hidden"),o.clientWidth,o.style.opacity="1"},100*n),wt(t)})})});A();var kc=class{constructor(e){e.addEventListener("wh:visibilitychange",t=>{t.detail.visible&&(t.target.classList.contains("animate--started")||(t.target.classList.add("animate--started"),setTimeout(()=>this.animate(t.target),200)))})}animate(e){k(e,".ratingchart__chart__value, .ratingchart__chart__countryvalue, .widget-studyinnumbers__percentagecircle > div, .widget-studyinnumbers__line__countryvalue").forEach(n=>{let r=1*(n.dataset.percentage?n.dataset.percentage:n.parentNode.dataset.percentage),s=Math.round(800/r);setTimeout(()=>this.setValue(n,r,s),s)}),k(e,".ratingchart__chart__bars span[data-percentage]").forEach(n=>{n.style.width=n.dataset.percentage+"%"});let o=214;k(e,".widget-studyinnumbers__percentagecircle[data-percentage]").forEach(n=>{n.dataset.percentage!="0"&&(n.querySelector("svg").style.strokeDashoffset=Math.round(o-.01*n.dataset.percentage*o))})}setValue(e,t,o){let n=1*e.textContent;n+=1,e.textContent=n,n<t&&setTimeout(()=>this.setValue(e,t,o),o)}};b(".widget-studyinnumbers",i=>new kc(i));A();var Tc=class{constructor(e){this.node=e,this.headnode=e.querySelector("thead"),this.headnode.addEventListener("click",t=>this.onSort(t)),this.bodynode=e.querySelector("tbody")}onSort(e){let t=yi(e.target,"th");if(t){for(let o of this.node.querySelectorAll("thead th"))o===t?o.classList.contains("sort--down")?(o.classList.remove("sort--down"),o.classList.add("sort--up")):(o.classList.remove("sort--up"),o.classList.add("sort--down")):(o.classList.remove("sort--down"),o.classList.remove("sort--up"));this.sortTable(t)}}sortTable(e){let t=e.dataset.sort,o,n=[],r=-1;for(let s of this.node.querySelectorAll("tbody > tr")){let a=parseInt(s.dataset.idx),l=a;t!=="title"&&(l=s.dataset[t],l||(l="NODATE")),a!==r&&(o&&n.push(o),o={idx:a,sortval:l,lines:[]}),o.lines.push(s),r=a}n.push(o),e.classList.contains("sort--up")?n.sort(this.doSortAsc):n.sort(this.doSortDesc);for(let s=0;s<n.length;++s)for(let a=0;a<n[s].lines.length;++a){let l=n[s].lines[a];s%2?l.classList.add("odd"):l.classList.remove("odd"),this.bodynode.appendChild(l)}}doSortAsc(e,t){return e.sortval>t.sortval?-1:e.sortval<t.sortval?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}doSortDesc(e,t){return e.sortval<t.sortval?-1:e.sortval>t.sortval?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}};b(".embeddedobject__cssstudies",i=>new Tc(i));A();var Sc=class{constructor(e,t){this.node=e,this.textcontainer=F(this.node,".embeddedobject__specializations__specialization__ellipsis"),this.node.addEventListener("click",o=>{this.node.classList.contains("hasellipsis")&&(o.target.closest(".embeddedobject__specializations__specialization__ellipsistoggle")?(B(o),this.toggle()):this.node.classList.contains("hasellipsis--open")||(B(o),this.open()))}),window.addEventListener("load",()=>this.checkEllipsis()),window.addEventListener("resize",()=>this.checkEllipsis()),document.fonts.ready.then(()=>this.checkEllipsis()),this.checkEllipsis()}checkEllipsis(){clearTimeout(this.timer),this.node.classList.remove("hasellipsis--open"),this.textcontainer.style.maxHeight="",this.ellipsisy=this.textcontainer.clientHeight,this.node.classList.toggle("hasellipsis",this.textcontainer.scrollHeight>this.ellipsisy)}toggle(){this.node.classList.contains("hasellipsis--open")?this.close():this.open()}open(){clearTimeout(this.timer),this.textcontainer.style.maxHeight=this.textcontainer.clientHeight+"px",this.node.classList.add("hasellipsis--open"),this.textcontainer.style.maxHeight=this.textcontainer.scrollHeight+"px",this.timer=setTimeout(()=>this.textcontainer.style.maxHeight="",300)}close(){clearTimeout(this.timer),this.textcontainer.style.maxHeight=this.textcontainer.clientHeight+"px",this.textcontainer.clientHeight,this.textcontainer.style.maxHeight=this.ellipsisy+"px",this.timer=setTimeout(()=>{this.textcontainer.style.maxHeight="",this.node.classList.remove("hasellipsis--open")},300)}};b(".embeddedobject__specializations__specialization",i=>new Sc(i));A();var{createService:ty}=(Pi(),Fe(Oi)),Ng=ty("utwente_jobs:utvacatures");async function iy(i){let e=JSON.parse(i.dataset.options),t=await Ng.ZoekVacatures(e.vw);t&&t.vacancies.length?t.vacancies.map(o=>{i.appendChild(h("a",{href:o.link,class:"widget__listitem widget__listitem--link"},h("span",{class:"widget__listitem-text"},o.title),h("span",{class:"widget__listitem-subtext"},o.subtext),h("i",{class:"widget__listitem-icon widget__listitem-icon--small UT-icon-UT_icon_52_arrow-right-round-16px"})))}):i.classList.add("novacancies"),Ee(i)}b(".widget-vacancies__list--afas",i=>iy(i));A();var Ec=class extends ci{constructor(e){super({...e,filterpagetype:"vacancies",itemsselector:".summary__item"});let t=this.form.querySelector("select[name='offerfamily']");if(t){this.branchenode=this.form.querySelector("select[name='offerprofile']"),this.brancheoptions=[];for(let o of this.branchenode.options)this.brancheoptions.push({value:o.value,title:o.textContent});t.addEventListener("change",o=>this.updateBrancheOptions(o)),this.updateBrancheOptions({target:t})}this.updateFilters(),this.refreshFilterFeedbackUI()}updateBrancheOptions(e){let t=e.target.options[e.target.selectedIndex],o=this.branchenode.value,n=t.dataset.branche?","+t.dataset.branche+",":"";this.branchenode.replaceChildren();let r=-1;for(let s=0;s<this.brancheoptions.length;++s)(!t.dataset.branche||this.brancheoptions[s].value==""||n.indexOf(","+this.brancheoptions[s].value+",")!=-1)&&(o==this.brancheoptions[s].value&&(r=s),this.branchenode.appendChild(z("option",{value:this.brancheoptions[s].value,textContent:this.brancheoptions[s].title,selected:this.brancheoptions[s].value==o})));r>-1&&(this.branchenode.value=o)}
40showResults(){this.runFilterByDataTags()}isMatch(e){if(!super.isMatch(e))return!1;let t=this.form.elements.query.value;return!(t&&!e.textContent.toUpperCase().includes(t.toUpperCase())&&!e.dataset.plaintextsearch.toUpperCase().includes(t.toUpperCase()))}};function oy(i){let e=i.target.closest(".ut-vacancies__tag");if(!e)return;B(i);let t=k("[name=offerprofile] option").filter(o=>o.textContent==e.textContent)[0];t&&Pe(F("[name=offerprofile]"),t.value)}J(()=>{document.documentElement.classList.contains("page--vacanciesoverview")&&(window.addEventListener("click",oy),window.filteredoverview=new Ec({filterpagetype:"vacancies"}))});q();var Cc=class{listnode;feedbackbar;constructor(e){this.listnode=C(e,".projectslist__items"),this.feedbackbar=e.previousElementSibling;let t=C(this.feedbackbar,".projectslist-viewbar__viewmode__items");Ae(t,"click",o=>{let n=o.target.closest("[data-viewmode]");n&&(n.dataset.viewmode==="detailview"&&this.feedbackbar.classList.contains("projectslist-viewbar--detailview")||n.dataset.viewmode!=="detailview"&&!this.feedbackbar.classList.contains("projectslist-viewbar--detailview")||(n.dataset.viewmode==="detailview"?(this.feedbackbar.classList.remove("projectslist-viewbar--listview"),this.feedbackbar.classList.add("projectslist-viewbar--detailview"),this.listnode.classList.remove("projectslist__items--listview")):(this.feedbackbar.classList.add("projectslist-viewbar--listview"),this.feedbackbar.classList.remove("projectslist-viewbar--detailview"),this.listnode.classList.add("projectslist__items--listview"))))})}};b(".projectslist__results",i=>new Cc(i));q();var{createService:ny}=(Pi(),Fe(Oi)),Ho=ny("utwente_voorlichting:leads");function Wo(i,e){e=e.toUpperCase();let t=i.map(o=>({text:o,pos:o.toUpperCase().indexOf(e)}));return t=t.filter(o=>o.pos>=0),t=t.sort((o,n)=>o.pos<n.pos?-1:o.pos===n.pos?0:1),t.map(o=>o.text)}function jg(i){let e=[];for(let t of i)e.push(t.title,...t.aliases);return e}var Fc=class{prep;aliasunmap=new Map;constructor(e){let t=jg(e);this.prep=new Mi(t);for(let o of e)for(let n of o.aliases)this.aliasunmap.set(n,o.title)}getMatches(e){let t=[],o=this.prep.score(e),n=o.length?o[0].score*.66:0;o=o.filter(r=>r.score>n);for(let r of o.map(s=>this.aliasunmap.get(s.str)||s.str))t.includes(r)||t.push(r);return t}},Ac=class{citylistpromise=null;cityprep=null;namelistpromises={};namelistprep={}},Lc={},Rg=new Map;function Mg(i){let e=i.includes("school")?"school":"";return e||(e="all"),Lc[e]||(Lc[e]=new Ac),Lc[e]}async function ry(i,e,t){let o=Mg(i);if(e.length<=0||(o.citylistpromise||(o.citylistpromise=Ho.getOrgCities(i)),e.length<=1))return;if(i.length===1&&i[0]==="school"){o.cityprep||(o.cityprep=new Mi(await o.citylistpromise));let r=o.cityprep.score(e),s=r.length?r[0].score*.66:0;return r=r.filter(a=>a.score>s),r.map(a=>({label:a.str,value:a.str,group:t}))}return Wo(await o.citylistpromise,e).map(r=>({label:r,value:r,group:t}))}async function sy(i,e,t,o,n){let r=Mg(e);
40if(o.length<1||!t.value)return;let s=t.value;if(r.namelistpromises[s]||(r.namelistpromises[s]=Ho.getOrgNames2(e,t.value)),e.length===1&&e[0]==="school"){r.namelistprep[s]||(r.namelistprep[s]=new Fc(await r.namelistpromises[s]));let l=r.namelistprep[s].getMatches(o);return Rg.set(i,l),l.map(d=>({label:d,value:d,group:n}))}return Wo(jg(await r.namelistpromises[s]),o).map(l=>({label:l,value:l,group:n}))}function ay(i){let e=i.dataset.limittypes?i.dataset.limittypes.split(" "):[],t=i.matches(":lang(nl)")?"Bedoelde je:":"Did you mean:";ft({input:i,className:"ut-autocomplete",preventSubmit:1,fetch:async function(o,n){let r=await ry(e,o,t);n(r||[])},onSelect:function(o){i.value=o.label??""}})}function ly(i){let e=Rg.get(i);if(i.propWhValidationSuggestion=null,e?.length&&!e.includes(i.value)){let t=i.matches(":lang(nl)")?"Bedoelde je":"Did you mean";i.propWhValidationSuggestion=h("span",{class:"wh-form__emailcorrection"}," ",t," ",h("a",{href:"#",class:"wh-form__emailcorrected",on:{pointerdown:o=>{i.value=e[0],i.propWhValidationSuggestion=null,B(o),et.getForNode(i.closest("form"))._reportFieldValidity(i)}}}," ",e[0])," ? ")}return""}function dy(i){let e=i.dataset.limittypes?i.dataset.limittypes.split(" "):[],t=k(".utvoorl--orgselectcity input, .utvoorl--orgselectname input"),o=t.indexOf(i);if(o>0){let n=i.matches(":lang(nl)")?"Bedoelde je:":"Did you mean:";ft({input:i,className:"ut-autocomplete",preventSubmit:1,fetch:async function(r,s){let a=await sy(i,e,t[o-1],r,n);s(a||[])},onSelect:function(r){i.value=r.label??""}}),Me(i,ly)}}b(".utvoorl--orgselectcity input",ay);b(".utvoorl--orgselectname input",dy);A();var Nc={},jc={};async function cy(i,e,t){if(e.length<=0||!i.value)return;let o=i.value;if(Nc[o]||(Nc[o]=Ho.listInstitutesForCountry(o)),!(e.length<=1))return Wo(await Nc[o],e).slice(0,5).map(n=>({label:n,value:n,group:t}))}async function py(i,e,t,o){if(t.length<1||!i.value||!e.value)return;let n=i.value+"."+e.value;jc[n]||(jc[n]=Ho.listEducationsForInstitute(i.value,e.value));let r=await jc[n];return Wo(r,t).slice(0,5).map(s=>({label:s,value:s,group:o}))}function Rc(i){let e=k(".utvoorl--institutecountry select, .utvoorl--institutename input, .utvoorl--instituteeducation input"),t=e.indexOf(i);if(t>0)return e[t-1]}function hy(i){let e=Rc(i);if(!e)return console.error("Missing countryfield",i);let t=i.matches(":lang(nl)")?"Bedoelde je:":"Did you mean:";ft({input:i,className:"ut-autocomplete",preventSubmit:1,fetch:async function(o,n){let r=await cy(e,o,t);n(r)},onSelect:function(o){i.value=o.label??""}})}function uy(i){let e=Rc(i);if(!e)return console.error("Missing institutefield",i);let t=Rc(e);if(!t)return console.error("Missing countryfield",e,i);let o=i.matches(":lang(nl)")?"Bedoelde je:":"Did you mean:";ft({input:i,className:"ut-autocomplete",preventSubmit:1,fetch:async function(n,r){let s=await py(t,e,n,o);r(s)},onSelect:function(n){i.value=n.label??""}})}b(".utvoorl--institutename input",hy);b(".utvoorl--instituteeducation input",uy);A();A();var Jt=(ot(),Fe(lt)).registerTexts;Jt("utwente_voorlichting","en",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invali
40d","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","nl",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Extra opties registratie",agreementsummary:["U bent ermee akkoord gegaan om te betalen voor ",1," ",2," plekken voor een totaalbedrag van ",3,"."],alreadysignedup:"Dit e-mailadres is recent al gebruikt voor een registratie, neem contact met ons op via","alreadysignedup-ok":"OK",aredetailscorrect:"Kloppen deze gegevens?",back:"Terug",billingaddress_enable:"Factuuradres toevoegen",billingaddress_group:"Factuuradres",billingaddress_separate:"Apart factuuradres",billingorgname:"Organisatie",cancelregistration:"Ik wil mijn registratie annuleren",choosecourse:"Maak een keuze",choosegroup:"- Kies je groep -",choosehousing:"Kies accomodatie",choosevwoclass:"- Kies je klas -",contactice:"Contact in geval van nood (ICE)",courseaccomodation:"Programma",courselockedbydiscount:"Uw kortingscode is gekoppeld aan uw programmakeuze",dinner:"Ben je aanwezig bij het netwerkdiner in het avondprogramma?","dinner-no":"Nee","dinner-yes":"Ja",diploma:"Diploma",discountcode:"Kortingscode (optioneel)",education:"Gegevens school",housing:"Accomodatie",invoiceorgname:"Uw instituut / organisatie",login:"Login",name:"Naam","optin-preu_junior-label":"Stuur mij de Pre-U Junior nieuwsbrief",optin_photo:"Fotogebruik","optin_photo-label":"Ik geef toestemming om mijn foto te gebruiken",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Ouder / voogd (contact)",paymentmethod:"Betaalmethode",personaldetails:"Gegevens deelnemer",personaldetails_child:"Gegevens kind",placeorder:"Bestelling doorvoeren",preferredlanguage:"Voorkeurstaal",programme:"Programma",refund:"Teruggave",registerbutton:"Registreer",registrant_organization:"Uw organisatie",registrationstatus:"Registratiestatus",remarks:"Opmerkingen",school_group:"Groep",securepayment:"Veilige betaling",signup_login:"M/S nummer",signuptype:"Type aanmelding",signupusertype:"Aanmelden als","signupusertype-employee":"UT Medewerker","signupusertype-genootschap":"Via Genootschap voor Risicomangement","signupusertype-primo":"Via PRIMO","signupusertype-regular_signup":"Reguliere aanmelding","signupusertype-sponsor":"Via sponsor","signupusertype-student":"UT Student",soldout:"uitverkocht",specialagreement:"Speciale overeenkomst",sponsor_name:"Naam sponsor",sponsor_yournumber:"Lidmaatschaps nummer","sponsor_yournumber-ifknown":"(indien bekend)","status-expiredcode":"De kortingscode is verlopen","status-invalidcode":"De kortingscode is ongeldig","status-invalidforcourse":"De kortingscode is niet beschikbaar voor het gekozen programma","status-usedcode":"De kortingscode is al gebruikt",step:"Stap",termsandconditions:"Voorwaarden",topay:"Te betalen",totalprice:"Totaalprijs",workstudy:"Werk/studie","workstudy-choose":"Kies werk/studie","workstudy-other":"Overig","workstudy-study":"Studie","workstudy-work":"Werk"}}}});Jt("utwente_voorlichting","de",{webfeatures:{stayoverevents:{frontend:{choosevwoclass:"- W\xE4hle deinen Schuljahrgang -",additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invali
40d","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","ar",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invalid","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","bg",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invali
40d","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","el",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invalid","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","es",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invali
40d","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","id",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invalid","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","pt",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invali
40d","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","ro",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invalid","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});Jt("utwente_voorlichting","zh",{webfeatures:{stayoverevents:{frontend:{additionaloptions:"Additional options",agreementsummary:["You've agreed to pay for ",1," ",2," spots with a total amount of ",3,"."],alreadysignedup:"Your email has recently been used for this registration form, please contact us at","alreadysignedup-ok":"OK",aredetailscorrect:"Are these booking details correct?",back:"Back",billingaddress_enable:"Add billing address for invoice",billingaddress_group:"Billing address",billingaddress_separate:"Separate billing address",billingorgname:"Organization",cancelregistration:"I wish to cancel my registration",choosecourse:"Choose a course",choosegroup:"- Choose your group -",choosehousing:"Choose accomodation",choosevwoclass:"- Choose your class -",contactice:"Contact in case of emergency (ICE)",courseaccomodation:"Course and accommodation",courselockedbydiscount:"Your discount code is tied to your course selection",dinner:"Will you join the network dinner ?","dinner-no":"No","dinner-yes":"Yes",diploma:"Diploma",discountcode:"Discount code (optional)",education:"Education",housing:"Accommodation",invoiceorgname:"Your institution / organization",login:"Login",name:"Name","optin-preu_junior-label":"Send me the Pre-U Junior newsletter",optin_photo:"Photo use","optin_photo-label":"I give permission to use my photo",optin_preu_junior:"Pre-U Junior",parentlegalguardian:"Parent / legal guardian",paymentmethod:"Payment method",personaldetails:"Participant details",personaldetails_child:"Child details",placeorder:"Place order",preferredlanguage:"Preferred language",programme:"Programme",refund:"Refund",registerbutton:"Register",registrant_organization:"Your organization",registrationstatus:"Registration status",remarks:"Remarks",school_group:"Group",securepayment:"Secure Payment",signup_login:"M/S number",signuptype:"Signup type",signupusertype:"Signup as","signupusertype-employee":"UT Employee","signupusertype-genootschap":"Through Genootschap voor Risicomangement","signupusertype-primo":"Through PRIMO","signupusertype-regular_signup":"Regular signup","signupusertype-sponsor":"Through sponsor","signupusertype-student":"UT Student",soldout:"sold out",specialagreement:"Special agreement",sponsor_name:"Sponsor name",sponsor_yournumber:"Membership number","sponsor_yournumber-ifknown":"(if known)","status-expiredcode":"This code has expired","status-invalidcode":"This discount code is invali
40d","status-invalidforcourse":"This discount code is not available for the selected program","status-usedcode":"This code has already been used",step:"Step",termsandconditions:"Terms and conditions",topay:"To pay",totalprice:"Total price",workstudy:"Work/study","workstudy-choose":"Choose work/study","workstudy-other":"Other","workstudy-study":"Study","workstudy-work":"Work"}}}});de();function Og(){return sessionStorage.utFormPrefill?JSON.parse(sessionStorage.utFormPrefill):{}}if(location.href.includes("?save")||location.href.includes("&save")){let i=new URL(location.href),e={};Array.from(i.searchParams.keys()).filter(t=>t.startsWith("save.")).forEach(t=>{e[t.substring(5)]=i.searchParams.get(t),i.searchParams.delete(t)}),history.replaceState(null,"",i.toString());try{sessionStorage.utFormPrefill=JSON.stringify(e)}catch{}}var Ft=class extends ce{emailfield;diplomafield;firstnamefield;startingyearfield;constructor(e){if(super(e),this.emailfield=e.elements.namedItem("wrd_contact_email"),this.diplomafield=e.elements.namedItem("diploma.select"),this.firstnamefield=e.elements.namedItem("wrd_firstname"),this.startingyearfield=e.elements.namedItem("expectedstartingyear.year")||e.elements.namedItem("expectedstartingyear.select"),this.emailfield&&(!this.emailfield.value||this.emailfield.closest(".ut-prefill-save-vars"))){let t=Og();if(t.diploma&&this.diplomafield){let o=[...this.diplomafield.options].find(n=>n.dataset.diplomatag===t.diploma);o&&this.setFieldValue(this.diplomafield,o.value)}t.firstname&&this.firstnamefield&&(this.firstnamefield.value=t.firstname),t.email&&this.emailfield&&(this.emailfield.value=t.email),t.expectedstartingyear&&this.startingyearfield&&(this.startingyearfield.value=t.expectedstartingyear),t.hasoptin==="true"&&(this.node.setAttribute("data-wh-form-var-skipoptin","true"),this.refreshConditions())}}onSubmitSuccess(e){let t=e;t.guid&&mt(t.guid,t.firstname)}async getFormExtraSubmitData(){let e=Ze(),t=Object.keys(li()).filter(o=>o.startsWith("usertype-"))[0];return t&&(e.beaconusertype=t.substr(9)),{filledoptin:this.node.getAttribute("data-wh-form-var-skipoptin")==="false",referralinfo:e,targetinterest:document.documentElement.dataset.targetinterest||"",targetlanguage:document.documentElement.lang.substr(0,2)}}};q();re();var Mc=class extends Ft{constructor(e){super(e),this.elements.namedItem("wrd_dateofbirth")&&Me(this.elements.namedItem("wrd_dateofbirth"),t=>this.checkBirthdate(t)),C("#previouspagebutton").addEventListener("click",()=>{this.onBackButton()}),C("#registerbutton").addEventListener("click",()=>{this.onRegisterButton()}),C("#loginbutton").addEventListener("click",()=>{this.onLoginButton()}),F("#cancellink")?.addEventListener("click",()=>{this.doCancel()}),k(this.node,"select[name^=round]").forEach(t=>t.addEventListener("change",()=>this.checkRoundPulldowns())),k(this.node,"input[name=signupusertype]").forEach(t=>t.addEventListener("change",()=>this.checkSignupType())),this.elements.namedItem("discountcode")?.addEventListener("input",()=>this.setFieldError(this.elements.namedItem("discountcode"),""))}checkRoundPulldowns(){let e=[];for(let t of k(this.node,"select[name^=round]")){for(let o of k(t,"option"))!o.value||o.value==="-"||(o.disabled=e.includes(o.value),o.disabled&&t.value===o.value&&(t.value=""));e.push(t.value)}}shouldLogin(){let e=this.node.querySelector("input[name=signupusertype]:checked");return e&&["student","employee"].includes(e.value)}checkSignupType(){let e=this.shouldLogin();C("#registerbutton").style.display=e?"none":"",C("#loginbutton").style.display=e?"":"none"}mapError(e){return e==="__curiousu_maxdate"?h("span",null,"You need to be at least 18 years old to join CuriousU."):e}checkBirthdate(e){if(e.dataset.minimumdate&&new Date(e.value)<new Date(e.dataset.minimumdate))return this.mapError(e.dataset.mindateerror);if(e.dataset.maximumdate&&new Date(e.value)>new Date(e.dataset.maximumdate))return this.mapError(e.dataset.maxdateerror)}async onBackButton(){await this.gotoPage(0)}async onLoginButton(){this.onRPC(Promise.withResolvers().promise);let e=new URL(location.href);e.searchParams.set("login","1"),location.href=e.toString()+"#registerform-personaldetails-anchor"}async onRegisterButton(){let e=this.elements.namedItem("discountcode");if(e&&this.setFieldError(e,""),!(await this.validate(C("#formpage_naw"))).valid)return;let o=await this.invokeRPC("verifyFirstPage");if(o.status==="emailinuse"){await Ne(h("p",null,y("utwente_voorlichting:webfeatures.stayoverevents.frontend.alreadysignedup")," ",h("a",{href:"mailto:"+o.contactaddress},o.contactaddress)),[{result:"ok",title:y("utwente_voorlichting:webfeatures.stayoverevents.frontend.alreadysignedup-ok")}],{allowcancel:!0});return}if(o.status!=="ok"){let s={invalidcode:y("utwente_voorlichting:webfeatures.stayoverevents.frontend.status-invalidcode"),usedcode:y("utwente_voorlichting:webfeatures.stayoverevents.frontend.status-usedcode"),expiredcode:y("utwente_voorlichting:webfeatures.stayoverevents.frontend.status-expiredcode"),invalidforcourse:y("utwente_voorlichting:webfeatures.stayoverevents.frontend.status-invalidforcourse")};e&&s[o.status]&&this.setFieldError(e,s[o.status],{reportimmediately:!0});return}C("#verifyname").textContent=C("#registerform-wrd_firstname").value+" "+C("#registerform-wrd_lastname").value,C("#verifyemail").textContent=C("#registerform-wrd_contact_email").value,C("#verifycourses").replaceChildren(...o.courses.map(s=>h("div",{class:"verifycourses__courserow"},h("span",{class:"verifycourses__roundtitle"}
40,s.roundtitle),": ",h("span",{class:"verifycourses__coursetitle"},s.coursetitle)))),F("#verifyhousing")&&(F("#verifyhousing").textContent=o.housing),C("#verifyprice").textContent=o.price;let n=parseFloat(o.diff_amount.replace(",",".")),r=n>0;n<0?(C("#verifyrefundtext").style.display="",C("#verifyadditionalpaymenttext").style.display="none",C("#verifyrefund").textContent=o.diff_amount.substr(1)):(C("#verifyrefundtext").style.display="none",C("#verifyadditionalpaymenttext").style.display="",C("#verifyadditionalpayment").textContent=o.diff_amount),this.node.dataset.whFormVarRequirespayment=r?"true":"",await this.refreshConditions(),await this.gotoPage(1)}onSubmitSuccess(e){this.onRPC(Promise.withResolvers().promise),ue(e.instr)}async doCancel(){if(await Yh(y("utwente_voorlichting:widgets.openday.confirmcancel"))==="yes"){let t=new URL(location.href).searchParams.get("cuguid");ue((await ho("utwente_voorlichting:cashpoint").cancelRegistration(t)).instr)}}};function my(){for(let i of k(".curiousu__paymentzone input[type=submit]"))i.classList.add("wh-form__button")}se("curiousu-signupform",i=>new Mc(i));b(".curiousu__paymentzone",()=>my());q();he();re();b(".widget-eligibilityprogrammes__formcontent",i=>{let e=i.closest("form.widget-eligibilityprogrammes__formcontent"),t=C(i,"select[name='eligibilitycheck']"),o=-1;document.documentElement.dataset.programme&&i.closest(".echeck2018__form")&&(o=[...t.options].findIndex(r=>r.dataset.hodexcode===document.documentElement.dataset.programme)),t.selectedIndex=o;let n=r=>{if(r.preventDefault(),!t.selectedOptions.length)return;let s=[...t.selectedOptions].map(l=>l.dataset?.guid).join(","),a=new URL(t.selectedOptions[0].dataset.link??ge("Missing link"));a.searchParams.set("programs",s),location.href=a.toString()};e?e.addEventListener("submit",n):C(i,"button[type=submit]")?.addEventListener("click",n),M["ut-nocustomselect"]||new Wt({select:t,settings:{maxSelected:3,modal:"off",placeholderText:"Select up to 3 programmes"},events:{afterChange:r=>{i.classList.toggle("widget-eligibilityprogrammes--max-selection-reached",r.length>=3)}}})});q();he();var Pg=1e3,Oc="";function Ig(){return Oc||window.localStorage["ut:echeck-referral"]||null}function Pc(i){Oc=i,window.localStorage["ut:echeck-referral"]=Oc}function gy(){try{let e=new URL(location.href),t=e.searchParams.get("echeck-referral");t&&(e.searchParams.delete("echeck-referral"),history.replaceState(null,document.title,e.toString()),Pc(t))}catch(e){console.error(e)}let i=Ig();i&&window.dataLayer.push({echeck_referralcode:i})}var Ic=class extends ce{history=[];settings;termsnode;pages=[];progressindicator=h("div",{class:"echeck2018__form__progress__indicator"});progressidx=0;progresssteps=[];donepage=null;constructor(e){super(e),this.settings=We("utwente_voorlichting:echeck"),this.termsnode=F(e,".echeck2018__form__terms"),this.rewriteDiplomaLayout(),k(e,".wh-form__fieldgroup--radiogroup,.wh-form__fieldgroup--checkboxgroup").forEach(o=>{if(!o.classList.contains("echeck2018__form__groupcolumns")){let n=k(o,".wh-form__fieldline");if(n.length>6){o.classList.add("echeck2018__form__groupcolumns");let r=h("div",{class:"echeck2018__form__groupcolumns__column"}),s=h("div",{class:"echeck2018__form__groupcolumns__column"}),a=Math.ceil(n.length/2);n.forEach((l,d)=>{d===0?l.before(r):d===a&&l.before(s),d<a?r.append(l):s.append(l)})}}});let t=[];k(this.node,".echeck2018__page").forEach(o=>{o.dataset.groupid?t.includes(o.dataset.groupid)||(t.push(o.dataset.groupid),this.pages.push(o)):o.dataset.pageid&&this.pages.push(o)}),this.setupProgressIndicator(),this.registerHandlers(),this.settings.firstpage==="diploma"&&this.pages.find(o=>o.dataset.pageid==="selectprogram")&&this.history.push("selectprogram"),this.selectPage(this.settings.firstpage),this.node.dataset.referralcode?Pc(this.node.dataset.referralcode):window.localStorage["ut:echeck-referral"]&&Pc(window.localStorage["ut:echeck-referral"])}rewriteDiplomaLayout(){let e=F(this.node,".echeck2018__form__diploma");if(!e)return;e.classList.add("echeck2018__form__groupcolumns");let t=h("div",{class:"echeck2018__form__groupcolumns__column"}),o=1,n="";k(e,".wh-form__fieldline input").forEach((r,s)=>{let a=r.closest(".wh-form__fieldline");if(!a)throw new Error("Fieldline not found");s===0?a.before(t):r.dataset.edutype!=="secondary"&&o===1&&(t=h("div",{class:"echeck2018__form__groupcolumns__column"}),a.before(t),++o),n!==r.dataset.edutype&&(r.dataset.edutype==="secondary"?t.append(h("h4",null,"Secondary education")):r.dataset.edutype==="bachelor"?t.append(h("h4",null,"Bachelor's")):r.dataset.edutype==="master"&&t.append(h("h4",null,"Master's"))),n=r.dataset.edutype,t.append(a)})}setupProgressIndicator(){let e=h("div",{class:"echeck2018__form__progress__inner"},this.progressindicator);C(this.node,".echeck2018__form__progress").append(e),this.progresssteps=[],this.pages.forEac
40h((t,o)=>{let n=t.dataset.pageid??ge("Page doesn't have pageid");["sentresumptionlink"].includes(n)||this.progresssteps.push(this.renderStepNode(n,t.dataset.groupid,o))}),this.progresssteps.push(this.renderStepNode("finalized","",0)),e.append(...this.progresssteps)}renderStepNode(e,t,o){return h("div",{class:"echeck2018__form__progress__page "+(o?"echeck2018__form__progress__page--withlabel":""),"data-pageid":e,"data-groupid":t},o>0?h("div",{class:"echeck2018__form__progress__label",hidden:!0},h("span",{class:"echeck2018__form__progress__label__nr"},o)):null)}updateProgressIndicator(e,t){if(!this.progressindicator)return;t||(t="");let o=-1;e.dataset.groupid?o=this.progresssteps.findIndex(r=>r.dataset.groupid===e.dataset.groupid):o=this.progresssteps.findIndex(r=>r.dataset.pageid===e.dataset.pageid),o<0&&(o=this.progressidx);let n=this.node.classList.contains("echeck2018__form--success");if(t==="failed"&&!o&&(o=1),this.progresssteps.forEach((r,s)=>{this.progresssteps[s].children.length&&(this.progresssteps[s].children[0].hidden=s>o),n&&s<o?this.progresssteps[s].classList.remove("echeck2018__form__progress__page--checked"):this.progresssteps[s].classList.toggle("echeck2018__form__progress__page--checked",s<o||t==="success"&&s===o),this.progresssteps[s].classList.toggle("echeck2018__form__progress__page--failed",t==="failed"&&s===o)}),t==="failed")this.progressindicator.style.width=o*100/(this.progresssteps.length-1)+"%";else{let r=100/(this.progresssteps.length-1),s=o*r;if(e.dataset.groupid){let a=k(".echeck2018__page[data-groupid='"+e.dataset.groupid+"']"),l=a.length;if(l>1){let d=a.findIndex(c=>c.classList.contains("echeck2018__page--selected"));d>0&&(s+=r*d/l)}}s===0?this.progressindicator.style.width="Calc("+s+"% + 30px)":this.progressindicator.style.width=s+"%"}this.progressidx=o}registerHandlers(){b(".echeck2018__prevbutton",e=>e.addEventListener("click",()=>this.prevPage())),b(".echeck2018__nextbutton",e=>e.addEventListener("click",()=>this.nextPageLocked()))}selectPage(e,t){let o=F(this.node,".echeck2018__page--selected");o&&o.classList.remove("echeck2018__page--selected");let n=this.history.indexOf(e);n===-1?this.history.push(e):this.history=this.history.slice(0,n+1),o=this.getPageById(e),o.classList.add("echeck2018__page--selected");let r=t&&t==="sendresumptionlink"?"success":"";this.updateProgressIndicator(o,r),this.termsnode&&(this.termsnode.hidden=o.dataset.pageid!=="diploma"),C(".echeck2018__prevbutton").style.display=this.history.length<=1||t==="sendresumptionlink"?"none":"",C(".echeck2018__nextbutton").disabled=!!o.dataset.disablenextaction}getPageById(e){return C(this.node,'.echeck2018__page[data-pageid="'+e+'"]')}getPageNextAction(e,t){let o=e.dataset.nextaction,n=F(e,"input[type=radio]:checked,option:checked");if(!t&&n&&n.dataset.nextaction&&(o=n.dataset.nextaction),!o)throw new Error("Page "+e.dataset.pageid+" does not have a nextaction!");return JSON.parse(o)}getCurrentSkipGroups(){let e=[];
40return this.history.forEach(t=>{let o=this.getPageById(t),n=this.getPageNextAction(o);n.skipgroups&&e.push(...n.skipgroups)}),e}prevPage(){this.donepage&&(this.donepage.remove(),this.donepage=null),this.node.classList.remove("echeck2018__form--failed"),!(this.history.length<=1)&&(this.selectPage(this.history[this.history.length-2]),this.node.scrollIntoView())}getNodesFromHTMLContent(e){let o=new DOMParser().parseFromString(e,"text/html");return k(o,"body > *")}async nextPageLocked(){let e=Q();try{return await this.nextPage()}finally{e.release()}}async nextPage(){let e=C(this.node,".echeck2018__page--selected");if(!(await this.validate(e)).valid){console.log("Validation failed");return}let t=0,o=this.getPageNextAction(e);this.node.scrollIntoView();let n={guid:this.settings.formentryguid,history:this.history,referralcode:Ig(),referralinfo:Ze()};for(;;){if(++t===Pg)throw new Error("Infinite loop in form pages path");if(!o)throw new Error("Looped without setting next action!");let r=o;switch(o=null,r.type){case"sendresumptionlink":{await this.invokeRPC("SendEmailWithLink"),this.selectPage(r.pageid,r.type);return}case"done":{let s={...n,finished:!0,resultcode:r.resultcode},a=await this.submit(s);window.dataLayer.push({event:"formulier-submit",form:r.resultcode.toUpperCase()!=="EL"?"eligibilitycheck-failed":a.result.notyetquestions.length?"eligibilitycheck-notyet":"eligibilitycheck-positive",form_programme:document.documentElement.dataset.programme,form_diploma:this.data.diploma,form_intent:this.data.intent,form_resultcode:r.resultcode,echeck_notyetquestions:a.result.notyetquestions});let l=r.resultcode.toUpperCase()==="EL"?"success":"failed";this.donepage=h("div",{class:"echeck2018__page echeck2018__page--selected","data-pageid":"resultpage-"+l}),this.donepage.append(...this.getNodesFromHTMLContent(a.result.contents)),Te(this.donepage),this.history.push("resultpage-"+l),e.after(this.donepage),e.classList.remove("echeck2018__page--selected"),this.node.classList.add("echeck2018__form--"+l),this.updateProgressIndicator(e,l),mt(a.result.guid,this.data.firstname);return}case"nextpage-nostore":case"nextpage":case"nextpage-modalrpc":{if(r.informecheckstart&&window.dataLayer.push({event:"formulier-submit",form:"eligibilitycheck-enter",form_programme:document.documentElement.dataset.programme,form_diploma:this.data.diploma,form_intent:this.data.intent}),r.type!=="nextpage-nostore"){let d={...n,finished:!1};if(r.type==="nextpage-modalrpc"){let c=await this.invokeRPC("storeData",d);this.settings.formentryguid=c.guid}else this.invokeBackgroundRPC("storeData",d).then(c=>this.settings.formentryguid=c.guid)}let s=this.getCurrentSkipGroups(),a=this.getPageById(r.pageid),l=a.dataset.groupid;if(!l||!s.includes(l)){this.selectPage(r.pageid);return}o=this.getPageNextAction(a,!0),t>=Pg-20&&console.log("skipping to page "+o.pageid)}break;case"noecheck":{let s=new URL(location.href);s.searchParams.set("nocheck",r.diploma);let a=await this.getNoCheckPage(s.toString());a&&a.length?(this.donepage=h("div",{class:"echeck2018__page echeck2018__page--selected","data-pageid":"noecheck"}),this.donepage.append(...a),e.after(this.donepage),e.classList.remove("echeck2018__page--selected"),this.history.push("noecheck"),C(".echeck2018__prevbutton").style.display="",this.node.classList.add("echeck2018__form--failed"),this.updateProgressIndicator(e,"failed")):location.href=s.toString();return}case"selectprogram":{let s=[this.data.program1,this.data.program2,this.data.program3].filter(xp).join(",");console.log(this.data.program1,this.data.program2,this.data.program3,this.data);let a=new URL(location.href);if(s!==a.searchParams.get("programs")){a.searchParams.set("programs",s),ue(a.toString());return}o={type:"nextpage-nostore",pageid:"diploma"};break}default:throw new Error("unknown action "+r.type)}}}async getNoCheckPage(e){let t;try{t=await fetch(e,{cache:"reload"})}catch{}if(!t||t.status!==200)return console.error("Error loading page: "+e),null;let o=await t.text(),r=new DOMParser().parseFromString(o,"text/html");return document.documentElement.classList.contains("utwente--ws2026")?k(r,".page-content > *:not(.wh-form__buttongroup):not(.echeck2018__form__progress)"):k(r,"main > *:not(.wh-form__buttongroup)")}};se("utwente_voorlichting:echeck2018",i=>new Ic(i));gy();A();q();var Kt=(ot(),Fe(lt)).registerTexts;Kt("utwente_voorlichting","en",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","nl",{widgets:{openday:{"alreadysignedup-1":"Je bent met dit e-mailadres al aangemeld voor dit evenement. Als je je opnieuw aanmeldt, overschrijven we de bestaande aanmelding.","alreadysignedup-2":"Wil je je aanmelding overschrijven?","alreadysignedup-no":"Nee, niet overschrijven","alreadysignedup-yes":"Ja, overschrijven",btn_confirm:"Bevestigen",btn_nextpage:"Volgende",btn_previouspage:"Vorige",cancelled:"Je registratie is verwijderd.",cancellink:"Aanmelding verwijderen",chooseaday:"Kies een dag",chooseeducation:"Kies je opleidingsniveau",choosepresentation:"Kies een presentatie",chooseprogrammes:"Kies een opleiding",chooseprograms:"Van welke opleiding(en) wil je een presentatie volgen?",chooseqasession:"Kies een Q&A sessie",choosevwoclass:"- Kies je klas -",class:"Klas",confirmcancel:"Weet je zeker dat je je registratie wil verwijderen?",confirmcancel_no:"Nee",confirmcancel_ok:"Ok",confirmcancel_yes:"Ja",contactme:"Neem contact met mij op voor reisinformatie",dayprogramme:"Jouw programma voor deze dag",differentprogramlink:"Ik wil iets wijzigen",diploma:"Huidige (of recent afgeronde) opleiding",extrainfo_resume:"Upload hier je cijferlijst. We hebben dit nodig om je opleidingsachtergrond te beoordelen. Vermeld hierbij duidelijk in welke klas je nu zit, op welke school je zit. Vakken en bijbehorende cijfers horen er uiteraard ook op te staan. Zonder je cijferlijst kunnen we je aanmeldverzoek helaas niet in behandeling nemen.",extrainfo_why:"Waarom wil je Technology and Liberal Arts & Sciences (ATLAS) studeren aan het University College Twente? Geef ons een korte motivatie.",extras:["Let op: maximaal ",1," ",{t:"ifparam",p:1,value:"1",subs:["persoon"],subselse:["personen"]},"."],extras_title:"Hoeveel personen neem je mee?",extrasessions:"Kies overige activiteiten",extrasessions_group:"Overige activiteiten",full:"vol","group-extra":"Extra sessies en activiteiten","group-presentation":"Opleidingspresentaties",location:"| Enschede",maxtwoprogrames:"Je kunt maximaal twee voorlichtingsrondes bezoeken",myinterests:"Mijn interesses",myprogramme:"Mijn programma",nochoiceyet:"Ik kies later",personaldata:"Mijn gegevens",personaldatatitle:"Mijn persoonlijke gegevens",personalinfo:"Persoonlijke info",profile:"Profiel",program1:"Keuze 1",program2:"Keuze 2",program_notsureyet:"Ik 
40weet het nog niet zeker",programmefull:"Door de drukte is het helaas niet mogelijk beide programma's te bezoeken. Wijzig je selectie.",programmeinclusterwith:["De gekozen opleiding heeft een gecombineerde presentatie met ",1,". Daarom kun je deze opleidingen niet individueel bezoeken."],programmeinclusterwith_campusexperience:["Deze opleiding heeft een gezamenlijke tour met ",1,". Kies een andere opleiding."],programs:"Kies opleidingen",programs_group:"Opleidingen",register:"Aanmelden",registration:"Aanmelden",request_visitcampus:"Ik wil ook de campus bezoeken.","roundpulldown-nooptions":"Niet beschikbaar op basis van je selectie",school:"Wat is de naam van je school?",school_city:"In welke plaats zit je nu op school?",selectcity:"- Kies je stad -",selectpresentation:"- Kies presentatie -",selectprogramme:"- Kies opleiding -",selectqasession:"- Kies een Q&A sessie -",selectroundoption:"Maak een keuze (optioneel)","selectroundoption-required":"Maak een keuze (verplicht)",selectschool:"- Kies je school -",setupday:"Stel je dagprogramma samen",specials:"Specials",thanks1:"Leuk dat je komt",thanks2:"! Je hebt je aangemeld voor",thankyou:["Je bent aangemeld. Leuk dat je naar onze campus in Enschede komt, ",1,"!"],themesessions:"Kies themasessies",themesessions_group:"Themasessies",timerange:[1," uur"]}}});Kt("utwente_voorlichting","de",{widgets:{openday:{"alreadysignedup-1":"Du bist mit dieser E-Mail Adresse bereits f\xFCr dieses Event angemeldet. Wenn du dich noch einmal anmeldest, dann wird die erste Registrierung \xFCberschrieben.","alreadysignedup-2":"M\xF6chtest du deine Registrierung \xFCberschreiben?","alreadysignedup-no":"Nein, nicht \xFCberschreiben","alreadysignedup-yes":"Ja, \xFCberschreiben",btn_confirm:"Best\xE4tigen",btn_nextpage:"Weiter",btn_previouspage:"Zur\xFCck",cancelled:"Du hast dich erfolgreich abgemeldet.",cancellink:"Abmelden",chooseaday:"W\xE4hle einen Tag",chooseeducation:"W\xE4hle deine momentane Vorbildung",choosepresentation:"W\xE4hle eine Pr\xE4sentation",chooseprogrammes:"W\xE4hle einen Studiengang",chooseprograms:"Von welchem/welchen Programm(en) m\xF6chten Sie eine Pr\xE4sentation besuchen?",chooseqasession:"W\xE4hle ein Q&A session",choosevwoclass:"- W\xE4hle deinen Schuljahrgang -",class:"Schuljahrgang",confirmcancel:"M\xF6chtest du dich wirklich abmelden?",confirmcancel_no:"Nein",confirmcancel_ok:"Ok",confirmcancel_yes:"Ja",contactme:"Ich w\xFCnsche eine Kontaktaufnahme der Uni bez\xFCglich Anreiseinformationen",dayprogramme:"Dein Programm f\xFCr diesen Tag",differentprogramlink:"Ja, ich m\xF6chte etwas anpassen",diploma:"Diploma",extrainfo_resume:["Bitte lade deinen Lebenslauf ",{t:"tag",tag:"b",subs:"mit deinen letzten Noten"}," hoch (alles in einem Dokument). Wir ben\xF6tigen diese Daten um deine Vorbildung zu beurteilen. Wenn du keinen Lebenslauf abgibst, k\xF6nnen wir deine Anmeldung leider nicht beurteilen."],extrainfo_why:"Warum m\xF6chtest du Technology and Liberal Arts & Sciences (ATLAS) am University College Twente studieren? Bitte gebe uns eine kurze Begr\xFCndung.",extras:["Maximum ",1,"."],extras_title:"Wie viele Besucher/Freunde begleiten dich?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"voll","group-extra":"Extra Sessions und Aktivit\xE4ten","group-presentation":"Studiengang Pr\xE4sentationen",location:"| Enschede | The Netherlands",maxtwoprogrames:"Du kannst maximal zwei Informationsrunden besuchen",myinterests:"My interests",myprogramme:"Mein Programm",nochoiceyet:"Ich m\xF6chte mich sp\xE4ter entscheiden",personaldata:"Meine Daten",personaldatatitle:"Meine pers\xF6nlichen Daten",personalinfo:"Pers\xF6nlichen Daten",profile:"Profil",program1:"Option 1",program2:"Option 2",program_notsureyet:"Ich bin mir noch nicht sicher",programmefull:"Aufgrund hoher Anmeldezahlen ist es leider nicht m\xF6glich beide Programmteile zu besuchen. Bitte \xE4ndere deine Auswahl.",programmeinclusterwith:["Der gew\xE4hlte Studiengang pr\xE4sentiert sich zusammen mit ",1,". Deswegen kannst du diesen Studiengang nur in dieser Kombination besuchen."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Programme ausw\xE4hlen",programs_group:"Programmes",register:"Anmelden",registration:"Anmelden",request_visitcampus:"Ich m\xF6chte den Campus in Zukunft besuchen. Schicken Sie mir eine E-Mail, wenn ich mich daf\xFCr anmelden kann.","roundpulldown-nooptions":"Aufgrund Ihrer Auswahl nicht verf\xFCgbar.",school:"Wie heisst deine Schule?",school_city:"In welcher Stadt gehst du zur Schule?",selectcity:"- Select your city -",selectpresentation:"- W\xE4hle Pr\xE4sentation -",selectprogramme:"- W\xE4hle einen Studiengang -",selectqasession:"- W\xE4hle ein Q&A session -",selectroundoption:"Auswahl treffen (optional)","selectroundoption-required":"Auswahl treffen (erforderlich)",selectschool:"- Select your school -",setupday:"Stelle dein Tagesprogramm zusammen",specials:"Specials",thanks1:"Wir freuen uns auf deinen Besuch",thanks2:"! Du hast dich angemeldet f\xFCr",thankyou:["Sie haben sich angemeldet. ",1,", es ist toll, dass Sie an unseren Campus in Enschede in den Niederlanden kommen!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","ar",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","bg",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","el",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","es",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","id",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","pt",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","ro",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});Kt("utwente_voorlichting","zh",{widgets:{openday:{"alreadysignedup-1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-2":"Would you like to overwrite your registration?","alreadysignedup-no":"No, do not overwrite","alreadysignedup-yes":"Yes, overwrite",btn_confirm:"Confirm",btn_nextpage:"Next",btn_previouspage:"Previous",cancelled:"Your registration has been cancelled.",cancellink:"Cancel registration",chooseaday:"Choose a day",chooseeducation:"Choose your level of education",choosepresentation:"Choose a presentation",chooseprogrammes:"Choose a programme",chooseprograms:"Of which programme(s) would you like to attend a presentation?",chooseqasession:"Choose a Q&A session",choosevwoclass:"- Choose your class -",class:"Class",confirmcancel:"Are you sure you want to cancel your registration?",confirmcancel_no:"No",confirmcancel_ok:"Ok",confirmcancel_yes:"Yes",contactme:"Please contact me about travel information",dayprogramme:"Your schedule for this day",differentprogramlink:"I want to change something",diploma:"Current (or recently completed) education",extrainfo_resume:"Upload your grade list or transcript. We need this document to check your educational background. Your transcript should clearly state what your current year is, high school name, courses being taken and of course grades should also be clearly stated on the transcript. Without sending the grade list you cannot be considered for the In_Sight Day.",extrainfo_why:"Why are you interested in University College Twente and BSc. Technology and Liberal Arts & Sciences (ATLAS)? Please give us a short motivation.",extras:["Please note: max ",1," ",{t:"ifparam",p:1,value:"1",subs:["person"],subselse:["persons"]},"."],extras_title:"How many people will accompany you?",extrasessions:"Choose other activities",extrasessions_group:"Other activities",full:"full","group-extra":"Extra sessions and activities","group-presentation":"Study presentations",location:"| Enschede | The Netherlands",maxtwoprogrames:"You can visit a maximum of two programmes.",myinterests:"My interests",myprogramme:"My programme",nochoiceyet:"I want to choose later",personaldata:"My information",personaldatatitle:"My personal information",personalinfo:"Personal info",profile:"Profile",program1:"First programme",program2:"Second programme",program_notsureyet:"I'm not sure yet",programmefull:"Because of the high number of registrations it's unfortunately not possible to visit both programmes. Please choose another programme.",programmeinclusterwith:["The chosen programme has a combined presentation with ",1,". Therefore, you cannot visit these programmes seperately."],programmeinclusterwith_campusexperience:["This programme has a combined tour with ",1,". Choose another programme."],programs:"Choose programmes",programs_group:"Programmes",register:"Register",registration:"Register",request_visitcampus:"I would like to visit the campus in the future. Send me an email when I can sign up for this.","roundpulldown-nooptions":"Not available based on your selection",school:"What is the name of your current school?",school_city:"In what city or town is your school located?",selectcity:"- Select your city -",selectpresentation:"- Choose presentation -",selectprogramme:"- Choose a programme -",selectqasession:"- Choose a Q&A session -",selectroundoption:"Make a choice (optional)","selectroundoption-required":"Make a choice (required)",selectschool:"- Select your school -",setupday:"Set up your schedule",specials:"Specials",thanks1:"Great to hear you\u2019ll be coming",thanks2:"! You have registered for",thankyou:["You have registered. ",1,", it's great that you're coming to our campus in Enschede, The Netherlands!"],themesessions:"Choose theme sessions",themesessions_group:"Theme sessions",timerange:[1," hours"]}}});ff();function to(i,e,t){let o=Ep(i,e,!1);return t?.length&&o.append(...t),o}he();var Qt="";function Zn(i,e,t){i.classList.contains(e)!==t&&i.classList.toggle(e)}function fy(i,e){i.disabled!==e&&(i.disabled=e)}async function _y(){return Ne(h("div",null,h("p",null,I("utwente_voorlichting:widgets.openday.alreadysignedup-1")),h("p",null,h("b",null,I("utwente_voorlichting:widgets.openday.alreadysignedup-2")))),[{result:"yes",title:I("utwente_voorlichting:widgets.openday.alreadysignedup-yes")}
40,{result:"no",title:I("utwente_voorlichting:widgets.openday.alreadysignedup-no")}])}var zc=class extends Ft{eventselection={diploma:null,rounds:[]};diplomaselect;isedit;origemail;isclusterconflict=!1;opendaysettings;lastselectedcity="";shortform;constructor(e){super(e),this.shortform=e.hasAttribute("data-shortform"),this.diplomaselect=C(e,'select[name="diploma.select"]'),this.opendaysettings=Y.obj.opendaysettings,k(e,".foldablecontent").forEach(o=>o.addEventListener("click",n=>{o.classList.contains("foldablecontent--open")&&k(e,".foldablecontent--open").forEach(r=>{r!==o&&L(r,"ws:foldable-toggle",{bubbles:!0,cancelable:!1})})})),this.isedit=this.node.classList.contains("openday--isedit"),this.origemail=e.elements.namedItem("wrd_contact_email").value,this.node.dataset.guid&&mt(this.node.dataset.guid,e.elements.namedItem("wrd_firstname").value),this.node.addEventListener("change",o=>this.updateFormOptions(),!0),k(this.node,".openday--js-cancel").forEach(o=>o.addEventListener("click",()=>this.onODCancel())),this.prefill(),this.elements.namedItem("extrainfo_schoolcity_fromlist")?.addEventListener("change",()=>this.updateSchoolList());let t=F('[data-wh-form-action="next"]');t&&t.addEventListener("click",()=>{t.disabled||(Ci("opendaysignup-"+Qt+"-firstpage"),bo("opendaysignup-"+Qt+"-cancelled"))}),this.updateFormOptions(),Qt=this.node.dataset.apitype,document.documentElement.classList.add("openday--type-"+Qt),Ci("opendaysignup-"+Qt+"-impression")}updateSchoolList(){let e=this.elements.namedItem("extrainfo_schoolcity_fromlist").value,t=this.elements.namedItem("extrainfo_schoolname_fromlist");e!==this.lastselectedcity&&(this.lastselectedcity=e,t.value="");for(let o of k(t,"option")){let n=!o.dataset.city||o.dataset.city===e;o.classList[n?"remove":"add"]("openday--hide"),o.disabled=!n}}async gotoPage(e){e===1&&this.shortform&&(await this.invokeRPC("prepShortForm",Ze()),setTimeout(()=>be({event:"onlineopendays-shortform"}),1));let t=await super.gotoPage(e);return this.node.scrollIntoView(),t}_getDestinationPage(e,t){return e.curpage===0&&e.pages[0].id==="opendagen-signuppage-typefirst"&&t===1&&this.data.programs.length===0&&this.data.themesessions.length===0&&this.data.extrasessions.length===0?2:e.curpage===2&&e.pages[0].id==="opendagen-signuppage-typefirst"&&t===-1&&this.data.programs.length===0&&this.data.themesessions.length===0&&this.data.extrasessions.length===0?0:super._getDestinationPage(e,t)}getDatalayerInfo(){let e=this.eventselection.rounds.map(r=>r.programme).filter(r=>!!r),t=this.eventselection.rounds.map(r=>r.special).filter(r=>!!r),o=this.eventselection.rounds.map(r=>r.tag).filter(r=>!!r),n={origemail:this.node.dataset.origemail||"",ischange:this.node.dataset.origemail?"true":"false",form_programme1_code:e.length>0?e[0]:"",form_programme2_code:e.length>1?e.slice(1).join(","):"",form_special1_code:t.join(","),form_rounds1_code:o.join(","),form_allprogrammes:e.join(","),form_allspecials:t.join(","),form_allrounds:o.join(",")};for(let r of this.getFormElementNames()){let s=this.elements.namedItem(r);if(!s||(s instanceof RadioNodeList&&s.length&&(s[0].type==="radio"||s[0].type==="checkbox")&&(s=Array.from(s).filter(l=>l.checked)[0]),!s||!(s instanceof HTMLElement))||s instanceof HTMLInputElement&&(s.type==="radio"||s.type==="checkbox")&&!s.checked||s.closest(".openday--hide"))continue;s instanceof HTMLSelectElement&&s.options&&s.selectedIndex>=0&&(s=s.options[s.selectedIndex]);let a=s instanceof HTMLInputElement&&s.dataset&&s.dataset.tag?s.dataset.tag:s.value;a&&(n["form_"+r]=a)}return n}formToDatalayer(e){if(!window.dataLayer)return;let t=this.getDatalayerInfo();t.event="formulier-submit",t.form=Qt+(e||""),window.dataLayer.push(t)}prefill(){let e=new URL(location.href);if(this.diplomaselect.options.length===1)Pe(this.diplomaselect,this.diplomaselect.options[0].value);else{if(this.diplomaselect.value||!e.searchParams.get("diploma"))return;let t=Array.from(this.diplomaselect.options).filter(o=>o.dataset.diplomatag===e.searchParams.get("diploma"));if(!t.length)return;Pe(this.diplomaselect,t[0].value)}}getRoundPulldowns(){return k(this.node,"select").filter(e=>e.name.match(/^roundpulldown/)&&!e.closest(".openday--hide"))}updateFormOptions(){if(this.eventselection={diploma:null,rounds:[]},k(".openday__clusterwarning").forEach(o=>o.style.display="none"),this.diplomaselect.options.length<=0)return;document.documentElement.classList.add("openday--formopen"),this.eventselection.diploma=this.diplomaselect.selectedOptions[0]?.dataset.diplomatag||null;for(let o of k(this.node,".openday__round"))this.updateRoundOptionsVisibility(o);for(let o of k(this.node,".openday__roundgroup"))Zn(o,"openday--hide",!o.querySelector(".openday__round:not(.openday--hide)"));let e=k(".openday__round:not(.openday--hide)");Zn(C("#opendagen-optionstree"),"openday--hide",e.length===0),this.eventselection.rounds=[],this.getRoundPulldowns().forEac
40h(o=>{let n=o.options[o.selectedIndex];n&&this.eventselection.rounds.push({programme:parseInt(n.dataset.programmeid||"")?n.dataset.tag??"":"",special:parseInt(n.dataset.special||"")?n.dataset.tag??"":"",tag:n.dataset.tag||"",select:o})})}updateRoundOptionsVisibility(e){let t=C(e,"select"),o=!0,n=!1;for(let r of t.querySelectorAll("option")){let s=o&&!r.hidden&&(!r.dataset.diplomafilter||JSON.parse(r.dataset.diplomafilter).includes(this.eventselection.diploma));r.value&&s&&!n&&(n=!0),Zn(r,"openday--hide",!s),fy(r,!!(!s||r.dataset.isfull))}for(let r of t.querySelectorAll("optgroup")){let s=!!r.querySelector("option:not(.openday--hide)");Zn(r,"openday--hide",!s)}if(t.options[t.selectedIndex]&&t.options[t.selectedIndex].classList.contains("openday--hide")){let r=t.querySelector("option:not(.openday--hide)");r&&(t.value=r.value)}if(this.node.elements.namedItem("programs")){let r=t.closest(".wh-form__fieldline");n?(r.parentElement.querySelector(".openday__nooptionsmessage")?.remove(),r.style.display=""):(r.parentElement.querySelector(".openday__nooptionsmessage")||r.parentElement.prepend(to("div",{className:"openday__nooptionsmessage ss-main ss-disabled"},[to("div",{className:"ss-values"},[to("div",{className:"ss-single",textContent:I("utwente_voorlichting:widgets.openday.roundpulldown-nooptions")})])])),r.style.display="none")}else Zn(e,"openday--hide",!n)}isAnyRoundSelected(){let e=this.getRoundPulldowns();return e.length===0||e.filter(t=>t.value).length>0}checkRoundQuestionsClusters(e){let t=[];e.forEach(o=>{let n=o.select.options[o.select.selectedIndex];n&&n.dataset.programmeid&&t.push(n)}),this.verifyClustering(t)}verifyClustering(e){let t=[];this.isclusterconflict=!1;for(let o of e){if(o.dataset.clusteredwith){let n=JSON.parse(o.dataset.clusteredwith);for(let r of t)if(n.includes(parseInt(r.dataset.programmeid||""))){let s=o.closest(".openday__round")??ge("round node not found"),a=s.querySelector(".openday__clusterwarning");a||(a=to("div",{className:"openday__clusterwarning"}),s.appendChild(a)),this.opendaysettings.apitype==="campusexperience"?a.textContent=I("utwente_voorlichting:widgets.openday.programmeinclusterwith_campusexperience",r.textContent):a.textContent=I("utwente_voorlichting:widgets.openday.programmeinclusterwith",r.textContent),a.style.display="block",this.isclusterconflict=!0;return}}t.push(o)}}onSubmitFailed(e,t){if(e.length===1&&e[0].name==="wrd_contact_email"&&e[0].metadata.verifyresub){_y().then(o=>{o==="yes"&&this.validateAndSubmit({verifyresub:e[0].metadata.verifyresub})});return}super.onSubmitFailed(e,t)}onSubmitSuccess(e){let t=e;this.formToDatalayer("-submitregistration"),Ci("opendaysignup-"+Qt+"-signedup"),bo("opendaysignup-"+Qt+"-cancelled"),document.documentElement.classList.add("openday--signupdone"),window.opendaySubmitResult=t,k(".opendag_thankyou").forEach(o=>o.innerHTML=yt("utwente_voorlichting:widgets.openday.thankyou",t.firstname,t.eventname,t.eventdatetext)),k(".opendag__programma").forEach(o=>{o.innerHTML="",t.schedule.forEach(n=>{o.appendChild(z("div",{className:"opendag__programmaitem",childNodes:[z("div",{className:"opendag__timerange",textContent:I("utwente_voorlichting:widgets.openday.timerange",n.timerange)}),z("div",{className:"opendag__schedtitle",textContent:(n.scheduleprefix?n.scheduleprefix+" ":"")+n.title})]}))})}),t.guid&&mt(t.guid,t.firstname),t.editlink&&console.log("edit url",t.editlink),t.pdflink&&console.log("eticket url",t.pdflink)}async onODCancel(){if(await Ne(I("utwente_voorlichting:widgets.openday.confirmcancel"),[{result:"yes",title:I("utwente_base:site-common.texts.yes")},{result:"no",title:I("utwente_base:site-common.texts.no")}])!=="yes")return;let e=Q({modal:!0});this.formToDatalayer("-cancelregistration"),await this.invokeRPC("cancelRegistration"),Ci("opendaysignup-"+Qt+"-cancelled"),bo("opendaysignup-"+Qt+"-firstpage"),bo("opendaysignup-"+Qt+"-signedup"),e.release(),Ne(I("utwente_voorlichting:widgets.openday.cancelled"),[],{allowcancel:!1})}};se("utwente_voorlichting:opendays",i=>new zc(i));q();de();var Zt=(ot(),Fe(lt)).registerTexts;Zt("utwente_voorlichting","en",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","nl",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"Je bent met dit e-mailadres al aangemeld voor dit evenement. Als je je opnieuw aanmeldt, overschrijven we de bestaande aanmelding.","alreadysignedup-line2":"Wil je je aanmelding overschrijven?","confirm-cancel":"Weet je zeker dat je je aanmelding wil annuleren?","no-dont-cancel":"Nee","no-overwrite":"Nee, niet overschrijven","yes-cancel":"Ja, annuleren","yes-dontoverwrite":"Ja, overschrijven"}}}});Zt("utwente_voorlichting","de",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","ar",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","bg",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","el",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","es",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","id",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","pt",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","ro",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});Zt("utwente_voorlichting","zh",{frontend:{opendays_v2:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});re();var qc=class extends Ft{shortform;constructor(e){super(e),this.shortform=e.hasAttribute("data-shortform"),be({onlineopenday_eventtype:this.node.dataset.onlineopenday_eventtype||""}),this.diplomafield?.addEventListener("change",()=>this._onDiplomaChange()),F("#cancellink")?.addEventListener("click",t=>this.doCancel(t)),new URL(location.href).searchParams.get("type")==="cancel"&&this.doCancel()}_onDiplomaChange(){let e=this.node.querySelectorAll("input[name=event]:not([disabled]");e.length===1&&!e[0].checked&&e[0].click()}async gotoPage(e){e===1&&this.shortform&&(await this.invokeRPC("prepShortForm",Ze()),setTimeout(()=>be({event:"onlineopendays-shortform"}),1));let t=await super.gotoPage(e);return this.node.scrollIntoView(),t}async runConfirmResignup(){return Ne(h("div",null,h("p",null,y("utwente_voorlichting:frontend.opendays_v2.js.alreadysignedup-line1")),h("p",null,h("b",null,y("utwente_voorlichting:frontend.opendays_v2.js.alreadysignedup-line2")))),[{result:"yes",title:y("utwente_voorlichting:frontend.opendays_v2.js.yes-dontoverwrite")},{result:"no",title:y("utwente_voorlichting:frontend.opendays_v2.js.no-overwrite")}])}onSubmitSuccess(e){let t=e;if(t.debughtmlinfo){let o=h("div",{class:"opendaysv2__debuginfo"});o.innerHTML=t.debughtmlinfo,C(".opendaysv2__successtext").after(o)}}onSubmitFailed(e,t){if(e.length===1&&e[0].name==="wrd_contact_email"&&e[0].metadata&&e[0].metadata.verifyresub){this.runConfirmResignup().then(o=>{o==="yes"&&this.validateAndSubmit({verifyresub:e[0].metadata.verifyresub})});return}super.onSubmitFailed(e,t)}doCancel(e){e&&B(e),Ne(h("div",null,h("p",null,y("utwente_voorlichting:frontend.opendays_v2.js.confirm-cancel"))),[{result:"yes",title:y("utwente_voorlichting:frontend.opendays_v2.js.yes-cancel")},{result:"no",title:y("utwente_voorlichting:frontend.opendays_v2.js.no-dont-cancel")}]).then(t=>{if(t==="yes")ue({type:"form",form:{action:location.href,vars:[{name:"type",value:"cancel"}],method:"POST"}});else{let o=new URL(location.href);o.searchParams.get("type")==="cancel"&&(o.searchParams.delete("type"),history.replaceState({},document.title,o.toString()))}})}};se("utwente_voorlichting:opendays_v2",i=>new qc(i));q();var{createService:wy}=(Pi(),Fe(Oi)),Ps=wy("utwente_voorlichting:leads");he();var Uc=class extends Lt{brochurelist;widget;downloadform;txt_afterlanding;deeplinks;constructor(e){super(e);let t=this.node.closest(".foldablecontent");t&&(window.addEventListener("hashchange",()=>this.onHashChange(t,location.hash)),location.hash.length>1&&this.onHashChange(t,location.hash)),e.dataset.brochurelist?this.brochurelist=JSON.parse(e.dataset.brochurelist):this.brochurelist=window.brochurelist,this.widget=e.closest(".brochurerequestform-container")??ge("Widget container not found"),this.downloadform=C(this.widget,".downloadpage form"),this.downloadform.addEventListener("submit",this.doDownloadBrochure.bind(this)),C(this.downloadform,".wh-form__button.email").addEventListener("click",n=>this.doEmailBrochure(n));let o=F(this.widget,"a.brochurerequestform__htmlbrochure__link");o&&(this.downloadform.programme_dl.addEventListener("change",()=>this.updateBrochureHtmlLink(o)),this.updateBrochureHtmlLink(o)),k(this.widget,".imnot").forEach(n=>n.addEventListener("click",r=>{B(r),L(window,"ut-brochureform-returntoform",{bubbles:!0,cancelable:!1}),setTimeout(()=>this.node.scrollIntoView({behavior:"smooth"}),300)})),this.txt_afterlanding=C(this.widget,".afterlanding__text").textContent,this.updateBrochureWidget(),window.addEventListener("ut-brochureform-returntoform",()=>this.doReturnToForm())}updateBrochureHtmlLink(e){let t="";if(this.downloadform.programme_dl.value!==""){let o=this.downloadform.programme_dl.selectedOptions[0];o?.dataset?.htmllink&&(t=o.dataset.htmllink)}e.parentElement.hidden=t==="",e.href=t??"#"}isBrochureDeeplink(e,t){if(!this.deeplinks){let o=e.closest(".foldabledeeplink");o&&(this.deeplinks=k(o,".wh-anchor[id]").map(n=>"#"+n.id))}return this.deeplinks?this.deeplinks.indexOf(t):!1}onHashChange(e,t){!t||t==="#"||this.isBrochureDeeplink(e,t)&&(e.classList.contains("foldablecontent--open")||(e.classList.contains("foldablecontent--active")?this.showBrochureRequestForm(e):new MutationObserver((o,n)=>{o.find(r=>r.target.classList.contains("foldablecontent--active"))&&(n.disconnect(),this.showBrochureRequestForm(e))}).observe(e,{subtree:!1,attributes:!0,attributeFilter:["class"]})))}showBrochureRequestForm(e){return L(e,"ws:foldable-set",{bubbles:!0,cancelable:!1,detail:{open:!0}}),!0}doEmailBrochure(e){B(e),this.sendBrochureMail(this.downloadform.programme_dl.value)}async sendBrochureMail(e){if(this.widget.classList.contains("rpc--active"))return;let t=ct().guid;if(!t){L(window,"ut-brochureform-returntoform",{bubbles:!0,cancelable:!1});return}let o={programme:e,targetinterest:(await this.getFormExtraSubmitData()).targetinterest,source:document.location.href,targetlanguage:document.documentElement.lang.substr(0,2)};this.widget.classList.add("rpc--active");let n=await Ps.mailBrochure(t,o);if(this.widget.classList.remove("rpc--active"),!n)L(window,"ut-brochureform-returntoform",{bubbles:!0,cancelable:!1});else{let r=this.widget.querySelector(".emailbrochureform-success");r&&xe({allowcancel:!0,borrow:r}).runModal()}}doReturnToForm(){this.reset(),this.setBrochureState("form",!0),Ee(this.widget),fi({guid:void 0,firstname:void 0,"brochure-lastprogramme":void 0})}doDownloadBrochure(e){B(e);let t=this.downloadform.programme_dl.selectedOptions[0];t?.dataset?.link?window.open(t.dataset.link,"_blank"):window.open(this.lookupBrochure(t.value).brochure,"_blank")}lookupBrochure(e){return this.brochurelist.find(t=>t.rowkey===e)??ge("Brochure not found")}onSubmitSuccess(e){e.guid&&mt(e.guid,this.node.firstname.value),fi({"brochure-lastprogramme":this.node.programme.value}),this.updateBrochureWidget(!0),this.setBrochureState("download",!0),Pe(this.downloadform.programme_dl,this.node.programme.value),k(this.widget,".aftersubmission").forEach(o=>o.style.display="block"),k(this.widget,".afterlanding").forEach(o=>o.style.display="none");let t=C(this.widget,".aftersubmission");this.node.classList.add("requestform--aftersubmission");for(let o of t.querySelectorAll(".text"))o.textContent=o.textContent.replace("[naam]",this.node.firstname.value);t.style.display="block"}setBrochureState(e,t){let o=e==="form";this.node.style.display=o?"block":"none",C(this.widget,".downloadpage").style.display=o?"none":"block",requestAnimationFrame(()=>Ee(this.widget)),t&&(e==="form"?C(this.widget,".requestform").focus():e==="download"&&C(this.widget,".downloadpage").focus())}updateBrochureWidget(e){if(ct()["brochure-lastprogramme"]){k(this.widget,".firstname").forEach(o=>o.textContent=ct().firstname||""),this.setBrochureState("download",e),k(this.widget,".aftersubmission").forEach(o=>o.style.display="none"),k(this.widget,".firstname").forEach(o=>o.textContent=ct().firstname||"");let t=C(this.widget,".afterlanding__text");t.textContent=this.txt_afterlanding.replace("[naam]",ct().firstname||""),t.parentElement.style.display="block",Ee(this.widget)}else this.setBrochureState("form")}};se("utwente_voorlichting:brochurerequest",i=>new Uc(i));A();var Dc=class extends Ft{constructor(e){super(e),this.haveprogram=!!(this.elements["program.select_master"]?.value||this.elements["program.select_bachelor"]?.value),this.haveprogram&&(this.elements["program.select_master"]&&(this.elements["program.select_master"].closest(".wh-form__fieldgroup").style.display="none"),this.elements["program.select_bachelor"]&&(this.elements["program.select_bachelor"].closest(".wh-form__fieldgroup").style.display="none")),this.elements.update.addEventListener("click",t=>this.onUpdateData(t))}onSubmitSuccess(e){this.updatetoken=e.updatetoken,super.onSubmitSuccess(e)}async onUpdateData(){let e=Q({ismodal:!0});try{let t={expectedstartingyear:parseInt(this.elements["expectedstartingyear.select"].value)};this.elements.targetinterest?.value&&(t.targetinterest=this.elements.targetinterest.value);let o=t.targetinterest=="MASTER"||!this.elements["program_bachelor.select"],n=this.elements[o?"program_master.select":"program_bachelor.select"];n?.value&&(t.program=n.value),await Ps.updateProfile(this.updatetoken,t),this.getCurrentPageNumber?this.gotoPage(this.getCurrentPageNumber()+1):this.gotoPage(2)}finally{e.release()}}};se("utwente_voorlichting:stayuptodate",i=>new Dc(i));he();var Hc=class extends Lt{widget;constructor(e){super(e),this.widget=e.closest(".widget-preregistrationwidget")??ge("Widget container not found")}async getFormExtraSubmitData(){return{...await super.getFormExtraSubmitData(),hoofdniveau:document.documentElement.dataset.hoofdniveau||"",subniveau:document.documentElement.dataset.subniveau||"",programme:document.documentElement.dataset.programme||"",interesttype:this.node.dataset.interesttype||"",dontaskpermission:this.node.dataset.dontaskpermission==="true"}}onSubmitSuccess(e){if(e.success){this.reset();let t=this.node.dataset.successRedirect;mt(e.guid,this.node.firstname.value),t?setTimeout(()=>location.href=t,150):(this.widget.classList.add("rpc--success"),Ee(this.widget))}else this.widget.classList.add("rpc--fail"),Ee(this.widget)}};se("utwente_voorlichting:preregistration",i=>new Hc(i));A();var io,er,Wc=class extends ce{constructor(e){super(e),io=e,er=JSON.parse(e.getAttribute("data-extraformdata")),e.programme&&(e.programme.addEventListener("change",zg),zg())}onSubmitSuccess(e){window.dataLayer.push(e.todatalayer),e.guid&&mt(e.guid,e.firstname)}};se("utwente_voorlichting:mastercontact",i=>new Wc(i));function zg(){if(!er||!er.tracks_per_programme)return;let i=io.programme.value,e=er.tracks_per_programme.find(n=>n.programme==i);io.specialization.innerHTML="";let t=yi(io.specialization,".wh-form__fieldgroup");if(!(e&&e.programme))t.style.display="none";else{var o=document.createElement("option");o.value=0,o.innerText=er.nospec,o.setAttribute("selected","selected"),io.specialization.appendChild(o);for(let n of e.tracks){var o=document.createElement("option");o.value=n.trackid,o.innerText=n.title,io.specialization.appendChild(o)}t.style.display=""}L(io.specialization,"refresh",{bubbles:!0,cancelable:!1})}A();var ei=(ot(),Fe(lt)).registerTexts;ei("utwente_voorlichting","en",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","nl",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"Je bent met dit e-mailadres al aangemeld voor dit evenement. Als je je opnieuw aanmeldt, overschrijven we de bestaande aanmelding.","alreadysignedup-line2":"Wil je je aanmelding overschrijven?",cancelregistration:"Ik wil mijn registratie annuleren","confirm-cancel":"Weet je zeker dat je je registratie wil verwijderen?","no-dont-cancel":"Nee","no-overwrite":"Nee, niet overschrijven","yes-cancel":"Ja, verwijderen","yes-dontoverwrite":"Ja, overschrijven"}}}});ei("utwente_voorlichting","de",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","ar",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","bg",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","el",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","es",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","id",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","pt",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will over
40write your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","ro",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});ei("utwente_voorlichting","zh",{webfeatures:{tasterdays:{js:{"alreadysignedup-line1":"You're already registered for this event with this email address. If you register again, we will overwrite your existing registration.","alreadysignedup-line2":"Would you like to overwrite your registration?",cancelregistration:"I wish to cancel my registration","confirm-cancel":"Are you sure you want to cancel your registration?","no-dont-cancel":"No","no-overwrite":"No, do not overwrite","yes-cancel":"Yes, cancel","yes-dontoverwrite":"Yes, overwrite"}}}});var Bc=class extends Ft{constructor(e){super(e);let t=this.node.querySelector(".wh-form__fieldgroup[data-wh-form-group-for='cancelregistration'] .wh-form__richtext");t&&t.append(h("p",{class:"normal"},h("a",{href:"#",onClick:o=>this.doCancel(o)},I("utwente_voorlichting:webfeatures.tasterdays.js.cancelregistration")),h("br",null),h("br",null))),b(".utwente-tasterdays--hide-infotext-if-nl",o=>this.hideInfoTextIfNL(o))}hideInfoTextIfNL(e){e.querySelector("select").addEventListener("input",()=>this.checkInfoTextNL(e)),this.checkInfoTextNL(e)}checkInfoTextNL(e){e.querySelector(".wh-form__infotextwrapper").hidden=e.querySelector("select").value=="NL"}async doCancel(e){if(B(e),await Ne(h("div",null,h("p",null,I("utwente_voorlichting:webfeatures.tasterdays.js.confirm-cancel"))),[{result:"yes",title:I("utwente_voorlichting:webfeatures.tasterdays.js.yes-cancel")},{result:"no",title:I("utwente_voorlichting:webfeatures.tasterdays.js.no-dont-cancel")}])=="yes"){let t=new URL(location.href);t.searchParams.set("cancel",1),location.href=t.toString()}}async doConfirmResignup(){return Ne(h("div",null,h("p",null,I("utwente_voorlichting:webfeatures.tasterdays.js.alreadysignedup-line1")),h("p",null,h("b",null,I("utwente_voorlichting:webfeatures.tasterdays.js.alreadysignedup-line2")))),[{result:"yes",title:I("utwente_voorlichting:webfeatures.tasterdays.js.yes-dontoverwrite")},{result:"no",title:I("utwente_voorlichting:webfeatures.tasterdays.js.no-overwrite")}])}onSubmitSuccess(e){if(e&&e.debughtmlinfo){let t=h("div",{class:"tasterdays__debuginfo"});t.innerHTML=e.debughtmlinfo,F(this.node,".wh-form__fieldgroup[data-wh-form-group-for='thankyou']").after(t)}}onSubmitFailed(e,t){if(e.length==1&&e[0].name=="wrd_contact_email"&&e[0].metadata&&e[0].metadata.verifyresub){this.doConfirmResignup().then(o=>{o=="yes"&&this.validateAndSubmit({verifyresub:e[0].metadata.verifyresub}).then(()=>this.gotoPage(1))});return}super.onSubmitFailed(e,t)}};se("utwente_voorlichting:tasterdays",i=>new Bc(i));q();var Vc=class extends ce{language="en";tabs=[];constructor(e){super(e),this.language=document.documentElement.lang||this.language,this.initializeTabs(),this.node.addEventListener("wh:form-pagechange",t=>this.onPageChange(t.target))}initializeTabs(){let e=F("#lll_registrationform__tabs-template");if(e){let t=C(".page-sidebar");t.appendChild(e.content),t.hidden=!1,this.tabs=k(".lll_registrationform__tab"),this.tabs.forEac
40h((o,n)=>{o.addEventListener("click",()=>{!o.disabled&&o.getAttribute("aria-selected")!=="true"&&this.gotoPage(n)})})}}onPageChange(e){let t=e.id+"-tab",o=this.tabs.findIndex(n=>n.id===t);this.tabs.forEach((n,r)=>{n.disabled=r>o,n.setAttribute("aria-selected",r===o?"true":"false")})}};Ri("utwente_voorlichting:lllregistrationform",i=>new Vc(i));q();he();A();A();var qg;function Ug(i){qg=i}function tr(){return qg}var Xc=(i,e)=>e.some(t=>i instanceof t),Hg,Wg;function by(){return Hg||(Hg=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function vy(){return Wg||(Wg=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Gc=new WeakMap,Yc=new WeakMap,zs=new WeakMap;function yy(i){let e=new Promise((t,o)=>{let n=()=>{i.removeEventListener("success",r),i.removeEventListener("error",s)},r=()=>{t(Is(i.result)),n()},s=()=>{o(i.error),n()};i.addEventListener("success",r),i.addEventListener("error",s)});return zs.set(e,i),e}function xy(i){if(Gc.has(i))return;let e=new Promise((t,o)=>{let n=()=>{i.removeEventListener("complete",r),i.removeEventListener("error",s),i.removeEventListener("abort",s)},r=()=>{t(),n()},s=()=>{o(i.error||new DOMException("AbortError","AbortError")),n()};i.addEventListener("complete",r),i.addEventListener("error",s),i.addEventListener("abort",s)});Gc.set(i,e)}var Jc={get(i,e,t){if(i instanceof IDBTransaction){if(e==="done")return Gc.get(i);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Is(i[e])},set(i,e,t){return i[e]=t,!0},has(i,e){return i instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in i}};function $g(i){Jc=i(Jc)}function ky(i){return vy().includes(i)?function(...e){return i.apply(Kc(this),e),Is(this.request)}:function(...e){return Is(i.apply(Kc(this),e))}}function Ty(i){return typeof i=="function"?ky(i):(i instanceof IDBTransaction&&xy(i),Xc(i,by())?new Proxy(i,Jc):i)}function Is(i){if(i instanceof IDBRequest)return yy(i);if(Yc.has(i))return Yc.get(i);let e=Ty(i);return e!==i&&(Yc.set(i,e),zs.set(e,i)),e}var Kc=i=>zs.get(i);var Sy=["get","getKey","getAll","getAllKeys","count"],Ey=["put","add","delete","clear"],$c=new Map;function Bg(i,e){if(!(i instanceof IDBDatabase&&!(e in i)&&typeof e=="string"))return;if($c.get(e))return $c.get(e);let t=e.replace(/FromIndex$/,""),o=e!==t,n=Ey.includes(t);if(!(t in(o?IDBIndex:IDBObjectStore).prototype)||!(n||Sy.includes(t)))return;let r=async function(s,...a){let l=this.transaction(s,n?"readwrite":"readonly"),d=l.store;return o&&(d=d.index(a.shift())),(await Promise.all([d[t](...a),n&&l.done]))[0]};return $c.set(e,r),r}$g(i=>({...i,get:(e,t,o)=>Bg(e,t)||i.get(e,t,o),has:(e,t)=>!!Bg(e,t)||i.has(e,t)}));var Cy=["continue","continuePrimaryKey","advance"],Vg={},Qc=new WeakMap,Xg=new WeakMap,Ly={get(i,e){if(!Cy.includes(e))return i[e];let t=Vg[e];return t||(t=Vg[e]=function(...o){Qc.set(this,Xg.get(this)[e](...o))}),t}};async function*Fy(...i){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...i)),!e)return;e=e;let t=new Proxy(e,Ly);for(Xg.set(t,e),zs.set(t,Kc(e));e;)yield t,e=await(Qc.get(t)||e.continue()),Qc.delete(t)}function Yg(i,e){return e===Symbol.asyncIterator&&Xc(i,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&Xc(i,[IDBIndex,IDBObjectStore])}$g(i=>({...i,get(e,t,o){return Yg(e,t)?Fy:i.get(e,t,o)},has(e,t){return Yg(e,t)||i.has(e,t)}}));async function Gg(i){try{let e=await window.caches.open("pwacache-"+i);for(let t of await e.keys())await e.delete(t)}catch(e){throw console.error("Cache cleanup failed",e),e}}async function Jg(){let i=await navigator.serviceWorker.getRegistrations();for(let e of i)await e.unregister()}var qs;async function jy(){await Gg(tr())}async function Ry(){location.reload()}async function My(){await Jg()}function Oy(){qs&&qs.remove(),qs=h("div",{id:"pwadebugmenu"},h("h1",null,"PWA Debugger"),h("div",null,h("button",{type:"button",onClick:jy},"Clear cache"),h("br",null),h("button",{type:"button",onClick:My},"unregisterServiceWorkers"),h("br",null),h("button",{type:"button",onClick:Ry},"Restart application"),h("br",null))),document.body.appendChild(qs)}var oo=[],Us=1/0,Kg=1/0;function Qg(i){oo.push(Date.now()),oo=oo.slice(-Us),oo.at(-1)-oo[0]&&(oo.length>1&&B(i),oo.length===Us&&Oy())}b("[data-app-activatedebugmenu]",i=>{let e=i.dataset.appActivatedebugmenu?.split(":");e&&(Us=parseInt(e[0]),Kg=parseInt(e[1]),!(!Kg||!Us)&&(i.addEventListener("touchstart",Qg),i.addEventListener("click",Qg)))});re();var Zc=location.href.indexOf("?")>-1?location.href.split("?")[0]:location.href.split("#")[0],Ds=We("platform:pwasettings",{allowMissing:!0})??Y.obj.pwasettings,Zg=!1,pi=Promise.withResolvers(),Bo;function Py(){if(Ds.appname)return Ds.appname;let i=Y.designroot.match(/^\/.publisher\/sd\/([^/]*)\/([^/]*)\/$/),e=i[1],t=i[2];return e+":"+t}function ef(i,e,t){return new Promise((o,n)=>{let r=new MessageChannel;r.port1.onmessage=s=>{s.data&&s.data.__throw?n(new Error(s.data.__throw)):o(s.data)},i.postMessage({swrequest:e,data:t},[r.port2])})}async function tf(i,e){if(await pi.promise,!Bo?.active)throw new Error("ServiceWorker registration failed");return ef(Bo.active,i,e)}async function of(){return await tf("checkversion",{pwauid:document.documentElement.dataset.whPwaUid,pwafileid:document.documentElement.dataset.whPwaFileid})}async function nf(){return await tf("downloadupdate")}async function rf(){return console.log("Reloading to update application"),ue({type:"reload"}),new Promise((i,e)=>setTimeout(()=>
40e(new Error("The update failed")),2e4))}function sf(i,e){if(Zg)throw new Error("pwalib.onReady should be invoked only once");if(Zg=!0,!location.href.startsWith(sa())){alert(`You cannot access a PWA app using a URL outside its site.
41
42The WebHare 'preview' is not supported by a PWA`);return}if(!Zc.endsWith("/")){alert("The application base URL must end with a /");return}e?.reportusage&&Be("publisher:pwastart",{ds_appname:tr()}),J(async function(){if(i(),e?.onAvailableOffline&&(pi.promise=pi.promise.then(()=>e.onAvailableOffline())),e?.onOfflineFailed&&(pi.promise=pi.promise.catch(o=>e.onOfflineFailed(o))),!("serviceWorker"in navigator)){pi.reject(new Error("This browser does not support serviceWorker"));return}if(window.isSecureContext===!1){pi.reject(new Error("This webpage is not running in a secure context (https or localhost)"));return}let t=`${br("platform:pwaserviceworker")}ap.mjs?app=${encodeURIComponent(tr())}`;try{Bo=await navigator.serviceWorker.register(t,{scope:Zc}),Bo.installing&&Bo.installing.addEventListener("statechange",()=>{Bo?.installing?.state==="redundant"&&pi.reject(new Error("The serviceWorker failed to install"))}),pi.resolve(navigator.serviceWorker.ready.then(()=>{}))}catch(o){console.log("PWA Registration failed",o.message),pi.reject(o)}})}async function Iy(){if(!navigator.serviceWorker)return;let i=await navigator.serviceWorker.getRegistrations();for(let e of i)e.active&&e.scope===Zc&&await ef(e.active,"loading",{pwasettings:Ds,pwauid:document.documentElement.dataset.whPwaUid,pwafileid:document.documentElement.dataset.whPwaFileid})}function zy(i){if(i.data.type==="forceRefresh"){console.log("Reloading because forced by the serice worker"),ue({type:"reload"});return}if(i.data.type==="log"){console[i.data.loglevel]("[From ServiceWorker] "+i.data.message);return}console.error("onServiceWorkerMessage",i.data)}Ds&&(Ug(Py()),navigator.serviceWorker.addEventListener("message",zy),Iy());de();var ti=(ot(),Fe(lt)).registerTexts;ti("utwente_voorlichting","en",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","nl",{frontend:{sirform:{askquestion:"Vraag stellen",event:"Evenement",eventtype:"Evenementstype",genericinterest_bsc:"BSc opleidingen in het algemeen",genericinterest_msc:"MSc opleidingen in het algemeen",interestedin:"Ik ben ge\xEFnteresseerd in",question:"Vragen?","question-placeholder":"Laat hier een vraag achter en we reageren via email",resetbutton:"Volgende gebruiker",school:"School",selectinterest:"Selecteer interesse",selectvalue:"Kies waarde",thankyou_message:"Het formulier is verzonden. Dank je voor je interesse in de University of Twente.",thankyou_optin_message:"We houden je op de hoogte! Bedankt voor je interesse in Universiteit Twente.",update_downloaded:"Er is een update gedownload van SIR, ververs de pagina (F5 / cmd+r) om de nieuwe versie te gebruiken."}}});ti("utwente_voorlichting","de",{frontend:{sirform:{askquestion:"Frage stellen",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc-Studieng\xE4nge im Allgemeinen",genericinterest_msc:"MSc-Studieng\xE4nge im Allgemeinen",interestedin:"Ich interessiere mich f\xFCr",question:"Fragen?","question-placeholder":"Stellen Sie hier Ihre Frage, wir antworten Ihnen per E-Mail.",resetbutton:"N\xE4chster Benutzer",school:"Schule",selectinterest:"Interessen ausw\xE4hlen",selectvalue:"Wert ausw\xE4hlen",thankyou_message:"Das Formular wurde erfolgreich versendet",thankyou_optin_message:"Wir halten Sie auf dem Laufenden! Vielen Dank f\xFCr Ihr Interesse an der Universit\xE4t Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","ar",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank y
42ou for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","bg",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","el",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","es",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","id",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","pt",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","ro",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank y
42ou for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});ti("utwente_voorlichting","zh",{frontend:{sirform:{askquestion:"I want to ask a question",event:"Event",eventtype:"Event type",genericinterest_bsc:"BSc programmes in general",genericinterest_msc:"MSc programmes in general",interestedin:"My interests",question:"Questions?","question-placeholder":"Leave your question here and we will reply via email",resetbutton:"Next user",school:"School",selectinterest:"Select interest",selectvalue:"Select value",thankyou_message:"The registration has been submitted successfully. Thank you for your interest in the University of Twente",thankyou_optin_message:"We will keep you informed! Thank you for your interest in the University of Twente.",update_downloaded:"An update has been downloaded for SIR. Please restart (F5 / cmd+r) to use the new version."}}});var ir=null,Ws=null,af=document.documentElement.classList.contains("utwente--ws2026");function lf(i){af?C(".page-titlebar").replaceChildren(to("h1",{className:"heading1"},[i])):C("h1.contentpart__title").textContent=i}function zi(){return Ws||De("utwente_voorlichting:sirform.config")||{fairTypes:[],fairs:[],programs:[],schools:[],now:""}}function df(){return Ws?Ws.fairs[0].wrdGuid:De("utwente_voorlichting:sirform.selectedeventguid")}function At(){let i=df();return i&&zi().fairs.find(e=>e.wrdGuid===i)||null}function Hs(){return De("utwente_voorlichting:sirform.uploadqueue")||[]}function Uy(){let i=df();return i&&De("utwente_voorlichting:sirform.uploadcounts")?.[i]||0}function Dy(i){let e=De("utwente_voorlichting:sirform.uploadcounts")||{};e[i]=(e[i]||0)+1,He("utwente_voorlichting:sirform.uploadcounts",e)}function ep(i,e,{initialValue:t=""}={}){let o=i.value||t;i.utSlimSelect?i.utSlimSelect.setData(e):i.replaceChildren(...e),i.value&&(i.value=o,i.selectedIndex===-1&&(i.selectedIndex=0))}function cf(i){if(!i.utSlimSelect)throw new Error("SlimSelect not initialized on select element");let e=Array.from(i.options).map(t=>({value:t.value,text:t.textContent||"",id:t.value,selected:t.selected,parent:t.dataset.parent||"",style:t.getAttribute("style")||"",class:t.className||""}));i.utSlimSelect.events.search=(t,o)=>{let n=o.map(m=>m.id);if(e.forEach(m=>m.selected=n.includes(m.id)),t.length<2)return e;let r=e.filter(m=>!m.selected).map(m=>m.text||"").filter(m=>m.length>0),a=new Mi(r).score(t),l=a.length?a[0].score*.66:0,d=a.filter(m=>m.score>l).map(m=>m.str),c=e.filter(m=>d.includes(m.text||"")),p=c.filter(m=>m.parent==="").map(m=>m.value);return c.forEach((m,u)=>{if(m.parent&&!p.includes(m.parent)){p.push(m.parent);let w=e.find(f=>f.value===m.parent);w&&(c.splice(u,0,w),w.class.indexOf("suboptionvisible")===-1&&(w.class+=" suboptionvisible"))}}),c}}var tp=class extends et{isAdminVisible=!1;constructor(e){super(e),ir=this,this.getElementByName("eventtype").addEventListener("change",()=>this.updateEvents()),sf(()=>{this.continuePWASetup()},{reportusage:!0}),this.setupPageForAdminForm(),this.setAdminPageVisible(!At()),this.checkUploadQueue(),this.updateEventTypes();let t=At();t?.fairtype&&(this.data.eventtype=t.fairtype),this.updateEvents(),t&&lr(50).then(()=>this.data.event=t.wrdGuid),setInterval(()=>this.checkUploadQueue(),3e4)}checkUploadQueue(){let e=Hs();console.log("SIR form upload queue check, entries:",e.length);for(let t of e)this.uploadEntry(t)}async uploadEntry(e){if((await Gr(e)).success){let o=Hs().filter(n=>n.extrasubmit.id!==e.extrasubmit.id);He("utwente_voorlichting:sirform.uploadqueue",o),Dy(e.extrasubmit.event),this.refreshStats()}}async continuePWASetup(){this.checkAppUpdate()}setAdminPageVisible(e){C("form[data-wh-form-id=config]").style.display=e?"":"none",C("form[data-wh-form-id=signup]").style.display=e?"none":"",e&&lf("Admin"),this.isAdminVisible=e,C("#sirform-status").hidden=!e,this.refreshStats();let t=zi().fairTypes.length?null:Q({modal:!0});this.checkForEventUpdateas().finally(()=>{t?.release()}),this.checkAppUpdate()}refreshStats(){C("#sirform-lastupdate").textContent=zi().now,C("#sirform-registrationsinqueue").textContent=String(Hs().length),C("#sirform-registrationsuploaded").textContent=String(Uy())}setupPageForAdminForm(){if(af){let e=z("li",{className:"utility-item",textContent:"Admin",on:{click:t=>this.openConfig(t)}});C(".utility-menu").appendChild(e)}else{for(let t of k(".contentpart__topmenuitem--search"))t.remove();let e=z("div",{className:"contentpart__topmenuitem",textContent:"Admin",on:{click:t=>this.openConfig(t)}});C(".contentpart__topmenu").appendChild(e)}}openConfig(e){if(e.preventDefault(),this.isAdminVisible)return;let t=xe({allowcancel:!0}),o=z("form",{className:"wh-styledinput sirform__loginform"});o.addEventListener("submit",n=>this.onAdminLogin(n,o,t)),o.append(z("label",{for:"adminpassword",textContent:"Enter admin password to open configuration",className:"wh-form__label"}),z("input",{type:"password",name:"password",id:"adminpassword"}),z("button",{type:"submit",id:"adminloginbutton",textContent:"Login",className:"wh-form__button"})),t.contentnode.append(o),t.runModal()}onAdminLogin(e,t,o){e.preventDefault(),t.password.value==="aap"&&this.setAdminPageVisible(!0),o.closeDialog()}updateEventTypes(){ep(this.getElementByName("eventtype"),zi().fairTypes.toSorted(no(["wrdTitle","wrdGuid"])).map(e=>z("option",{value:e.wrdGuid,textContent:e.wrdTitle})))}checkForEventUpdateas=Jo(async()=>{He("utwente_voorlichting:sirform.config",await ho("utwente_voorlichting:fairs").getFairs()),this.updateEventTypes(),this.updateEvents()},{coalesce:!0});checkAppUpdate=Jo(async()=>{let e=await of();if(console.log("checkAppUpdate result:",e),e.needsupdate){if(await nf(),!this.isAdminVisible)return;await Ne(y("utwente_voorlichting:frontend.sirform.update_downloaded"),[{title:"Restart"}
42]),await rf()}});updateEvents(){let e=zi().fairs.filter(o=>!this.data.eventtype||o.fairtype===this.data.eventtype),t=this.getElementByName("event");ep(t,e.toSorted(no([["date","desc"],"wrdTitle","wrdGuid"])).map(o=>z("option",{value:o.wrdGuid,textContent:o.title}))),t.utSlimSelect||=new Wt({select:t,settings:{placeholderText:y("utwente_voorlichting:frontend.sirform.selectvalue"),modal:"off",closeOnSelect:!0,keepSearch:!0}}),cf(t)}async submit(){let e=zi().fairs.find(t=>t.wrdGuid===this.data.event)||null;return e&&(He("utwente_voorlichting:sirform.selectedeventguid",e.wrdGuid),this.setAdminPageVisible(!1),L(window,"utwente:ut-sirform-selectevent",{bubbles:!0,cancelable:!0})),{result:{}}}};function Hy(i){return document.documentElement.lang.startsWith("nl")?i.nameNl:(document.documentElement.lang.startsWith("de")?i.nameDe:i.nameEn)||i.nameEn||i.nameNl}function Wy(i){let e=document.documentElement.lang.startsWith("nl")?i.nameNl:(document.documentElement.lang.startsWith("de")?i.nameDe:i.nameEn)||i.nameEn||i.nameNl;return i.isBachelor?`${e} (BSc)`:i.isMaster?`${e} (MSc)`:e}var ip=class extends ce{constructor(e){super(e);let t=We("utwente_voorlichting:sirform",{allowMissing:!0})?.fairsinfo;t&&(Ws=ro(t)),addEventListener("utwente:ut-sirform-selectevent",r=>this.onEventSelected()),At()&&this.onEventSelected();let o=C(this.node,"[data-wh-form-pagerole=thankyou]"),n=z("div",{className:"sirform__centerbtnwrapper"});o.append(n),n.append(z("button",{type:"button",className:"wh-form__button",textContent:y("utwente_voorlichting:frontend.sirform.resetbutton"),on:{click:()=>{this.reset(),k(this.node,"select").forEach(r=>Zs(r,"change"))}}}));for(let r of k(this.node,".webform-utwente--phonefield__input"))r.inputMode="tel",r.addEventListener("input",s=>{let a=r.value.replaceAll(/[^0-9+]/g,"");a!==r.value&&(r.value=a)})}async getFieldValue(e){return e instanceof HTMLSelectElement&&e.multiple?Array.from(e.selectedOptions).map(t=>t.value).join(","):super.getFieldValue(e)}onEventSelected(){lf(At()?.title||"");let e=zi().schools.filter(s=>At()?.schools.includes(s.wrdId)).toSorted(no(["wrdTitle"]));ep(C(this.node,"select[name=school]"),[z("option",{textContent:"",value:""}),...e.map(s=>z("option",{textContent:s.wrdTitle,value:s.wrdGuid}))]),this.node.dataset.whFormVarSelectschool=e.length>1?"1":"",this.node.dataset.whFormVarSelectprogram=At()?.allownoprogram?"":"1",this.node.dataset.whFormVarShortform=At()?.shortform?"1":"",this.node.dataset.whFormVarAskphone=At()?.askphone?"1":"",this.refreshConditions();let t=zi().programs.filter(s=>At()?.programmes.includes(s.wrdId)),o=C(this.node,"select[name=interestedin]"),n=[],r=[];t.forEach(s=>{let a=[];s.tracks.length&&(a.push(...s.tracks.flatMap(l=>[{title:Hy(l),value:l.wrdGuid,parent:s.wrdGuid,style:"margin-left:15px;font-size:95%;"}])),a.sort(no(["title"]))),r.push({title:Wy(s),isBachelor:s.isBachelor,isMaster:s.isMaster,value:s.wrdGuid,tracks:a})}),r.sort(no(["title"])),r.forEach(s=>{n.push(z("option",{textContent:s.title,className:"mainoption"+(s.tracks.length?" mainoption--hassuboption suboptionvisible":""),value:s.value,dataset:{parent:""}})),s.tracks.length&&n.push(...s.tracks.flatMap(a=>[z("option",{textContent:a.title,value:a.value,className:"suboption",dataset:{parent:a.parent},style:a.style})]))}),t.some(s=>s.isBachelor)&&n.unshift(z("option",{textContent:y("utwente_voorlichting:frontend.sirform.genericinterest_bsc"),value:"BACHELOR"})),t.some(s=>s.isMaster)&&n.unshift(z("option",{textContent:y("utwente_voorlichting:frontend.sirform.genericinterest_msc"),value:"MASTER"})),o.replaceChildren(...n),k(this.node,".wh-form__fieldgroup--slimselect select").forEach(s=>{console.log("init slim",s,s.options),s.utSlimSelect||=new Wt({select:s,events:{afterChange:()=>this.onSelectChange(s)},settings:{placeholderText:s.name==="interestedin"?y("utwente_voorlichting:frontend.sirform.selectinterest"):y("utwente_voorlichting:frontend.sirform.selectvalue"),closeOnSelect:!s.multiple,modal:"off",hideSelected:s.multiple,allowDeselect:!0,keepSearch:!0}}),cf(s)}),this.reset()}onSelectChange(e){e.name==="interestedin"&&k(".ss-content[data-id='"+e.dataset.id+"'] .mainoption--hassuboption.ss-selected").forEach(t=>{let o=!1,n=t.nextElementSibling;for(;n&&n.classList.contains("suboption");)n.classList.contains("ss-selected")||(o=!0),n=n.nextElementSibling;t.classList.toggle("suboptionvisible",o)})}async getFormExtraSubmitData(){return{id:oi(),language:Ie(),date:new Date().toISOString(),event:At()?.wrdGuid||"",referralinfo:ir?ch("https://www.utwente.nl/sir/adminapp"):Ze()}}async submitForm(e){if(!ir)return super.submitForm(e);let t=Hs();return He("utwente_voorlichting:sirform.uploadqueue",[...t,e]),ir.refreshStats(),ir.uploadEntry(e),{success:!0,result:{},errors:[],warnings:[],messages:[]}}reset(){super.reset();let e=At()?.noNationalityPrefill?"":At()?.address?.country;e&&setTimeout(()=>{this.getElementByName("nationality.select").utSlimSelect?.setSelected(e);let t=F("select.webform-utwente--phonefield__country");t&&(t.value=e,t.dispatchEvent(new Event("change")))},1)}};Ri("utwente_voorlichting:sirform.config",i=>new tp(i));Ri("utwente_voorlichting:sirform.signup",i=>{let e=i.elements.namedItem("interestedin"),t=z("select",{multiple:!0,...Ko(e,["id","name"])});e.replaceWith(t);let o=i.elements.namedItem("school"),n=z("select",{...Ko(o,["id","name"])});return o.replaceWith(n),new ip(i)});A();var pf,Bs;function By(i){i.addEventListener("change",()=>Vy(i));let e=document.querySelectorAll(".blockswidget__item");pf=Array.from(e),Bs=document.querySelector(".blockswidget__bigline")}function Vy(i){let e=i.category.value,t=document.querySelector(".blockswidget__content"),o=0;Bs.parentNode&&t.removeChild(Bs);let n=e===""||e==="all";for(let r of pf){let s=!0;n||(s=r.dataset.relevantto.split(" ").indexOf(e)>-1),s?(t.appendChild(r),o===0&&t.appendChild(Bs),o++):r.parentNode&&t.removeChild(r)}}b(".blockswidget__form",By);
42q();q();q();function op(i){if(i={togglebutton:null,openbutton:null,closebutton:null,togglecontainer:null,htmlclass:"",panel:null,visibleonfocus:!1,visibleonhover:!1,title:"",debug:!1,...i},i.debug&&console.log(i),i.togglebutton)for(let e of Vs(i.togglebutton))e.addEventListener("click",t=>$y(t,i));if(i.openbutton)for(let e of Vs(i.openbutton))e.addEventListener("click",t=>np(t,i));if(i.closebutton)for(let e of Vs(i.closebutton))e.addEventListener("click",t=>Ys(t,i));if(i.visibleonfocus&&i.panel.addEventListener("focusout",e=>Yy(e,i)),i.visibleonhover){for(let e of Vs(i.togglebutton))e.addEventListener("mouseenter",t=>hf(t,i)),e.addEventListener("mouseleave",t=>uf(t,i));i.panel&&(i.panel.addEventListener("mouseenter",e=>hf(e,i)),i.panel.addEventListener("mouseleave",e=>uf(e,i)))}}function Vs(i){return i instanceof NodeList||i instanceof HTMLCollection?Array.from(i):i instanceof HTMLElement?[i]:(console.error("makeArray cannot handle input:",i),[])}function hf(i,e){np(i,e)}function uf(i,e){Ys(i,e)}function Yy(i,e){i.relatedTarget&&e.panel.contains(i.relatedTarget)||Ys(i,e)}function $y(i,e){!document.documentElement.classList.contains(e.htmlclass)?np(i,e):Ys(i,e)}function np(i,e){let t=e.togglecontainer??document.documentElement;e.htmlclass!==""&&t.classList.add(e.htmlclass),e.panel&&e.panel.focus()}function Ys(i,e){let t=e.togglecontainer??document.documentElement;e.htmlclass!==""&&t.classList.remove(e.htmlclass)}de();var mf=5,rp=!1,$s=null;b(".widget--activitieslist",Gy);b(".blockswidget__item__preregistration",i=>i.addEventListener("click",e=>Xy(i,e)));function Xy(i,e){B(e);let t=i.querySelector("template");if(!t)throw new Error("<template> with dialog not found");let o=xe({allowcancel:!0});o.contentnode.appendChild(t.content.cloneNode(!0)),Te(o.contentnode),o.runModal()}function Gy(i){let e=i.querySelector(".whflattabs"),t=e.classList.tagName==="FORM"?e:e.closest("form"),o=i.querySelector(".whflattabs__filtertoggle"),r=i.querySelector(".whflattabs__filterpanel").querySelector(".whflattabs__filterpanel__closebutton"),s=i.querySelector(".activities__filterpanel__items");s.classList.add("ps-container--customstyling"),$s=new kt(s,{wheelPropagation:!1,wheelSpeed:2,minScrollbarLength:20}),window.addEventListener("resize",p=>{$s.update()}),window.addEventListener("load",p=>{$s.update()});let a=new URLSearchParams(location.search).get("program"),l=new URLSearchParams(location.search).get("category");if(a){let p=i.querySelector(`.activityitem[data-programid="${CSS.escape(a)}"]`);p&&(t.category.value=p.dataset.relevantto);let m=i.querySelectorAll('.activities__filterpanel__items [type="checkbox"]');for(let u of m)u.checked=u.dataset.urlparam===a}else l&&(t.category.value=l);if(op({togglebutton:o,closebutton:r,htmlclass:"whflattabs__filterpanel--open"}),i.querySelector(".activitieslist__showmore").addEventListener("click",Jy),document.querySelector(".whflattabs__filterpanel__showresults").addEventListener("click",Ky),sp({target:r}),t.addEventListener("input",sp),a){let p=i.querySelectorAll(".activityitem:not(.activityitem--hidden)");p.length>0&&as(p[0])}}function Jy(i){document.querySelector(".widget--activitieslist").classList.add("widget--activitieslist-showall"),rp=!0,sp(i)}function Ky(){document.documentElement.classList.remove("whflattabs__filterpanel--open")}function sp(i){let e=i.target.closest(".widget--activitieslist"),t=e.querySelector("form"),o=t.query.value,n=t.category.value,r=t.querySelectorAll(".activities__filterpanel__item"),s=[],a=[],l=[];for(let _ of r){let v=(o===""||_.dataset.title.toLowerCase().indexOf(o)>-1)&&(n===""||_.dataset.relevantto.split(",").indexOf(n)>-1);_.classList.toggle("hidden",!v);let T=_.querySelector("input");if(T.toggleAttribute("disabled",!v),v&&s.push(T.value),v&&T.checked){a.push(T.value);let S=`[for="${T.id}"]`,N=document.querySelectorAll(S);for(let U of N){let $=U.textContent;if($){l.push($);break}}}}let d=0,c=[];for(let _ of i.target.closest(".widget--activitieslist").querySelectorAll(".activityitem")){let v=(a.length>0?a.indexOf(_.dataset.studyfilterid)>-1:!0)&&(n===""||_.dataset.relevantto.split(",").indexOf(n)>-1);_.classList.toggle("activityitem--hidden",!v||!rp&&d>=mf),v&&(d++,c=c.concat(_.dataset.eventids.split(",")))}let p=t.querySelector(".whflattabs__filterpanel");p.classList.toggle("activities__filterpanel--noresults",s.length===0),e.classList.toggle("widget--activitieslist--noresults",d===0);let m=a.length>0,u=new Set(c).size,w="";if(m){let _=[];for(let v of l)_.push(`\u201C${v}\u201D`);
42d===1?w=Ie()==="nl"?`<b>${u} resultaat</b> voor `+_.join(", "):`<b>${u} result</b> for `+_.join(", "):w=Ie()==="nl"?`<b>${u} resultaten</b> voor `+_.join(", "):`<b>${u} results</b> for `+_.join(", ")}else n===""?d===1?w=Ie()==="nl"?`<b>${u} resultaat</b>`:`<b>${u} result</b>`:w=Ie()==="nl"?`<b>${u} resultaten</b>`:`<b>${u} results</b>`:n!==""&&(d===1?w=Ie()==="nl"?`<b>${u} resultaat</b> voor \u201C${n}\u201D`:`<b>${u} result</b> for \u201C${n}\u201D`:w=Ie()==="nl"?`<b>${u} resultaten</b> voor \u201C${n}\u201D`:`<b>${u} results</b> for \u201C${n}\u201D`);e.querySelector(".activitieslist__resultscount").innerHTML=w;let f=e.querySelector(".activitieslist__showmore");f&&(f.style.display=!rp&&d>mf?"block":"none",C(f,".activitieslist__showmore__category").textContent=n);let g="";d===0?g=Ie()==="nl"?"Geen resultaten":"No results":d===1?g=Ie()==="nl"?"Toon 1 resultaat":"Show 1 result":d>1&&(g=Ie()==="nl"?`Toon ${d} resultaten`:`Show ${d} results`),p.querySelector(".whflattabs__filterpanel__showresults").innerHTML=g,$s.update()}b(".js-activityitem",i=>i.addEventListener("click",()=>{let e=F("form.js-activityoverview__targetgroup"),t;e?t=e?.elements.namedItem("category")?.value||"":t=F(".page-filterstabs__listitem input:checked")?.value||"";let o=i.dataset.tagmanagerType||"",n=k(".js-activityitem").indexOf(i)+1;window.dataLayer.push({event:"scc-click",type:o,relevantto:t,position:n})}));function Qy(i){let e=C(i,"form");Ae(e,"change",t=>Zy(t))}function Zy(i){let e=i.target.closest("form"),t=i.target,o=t.value;if(t.name==="option"){let r=i.target.closest(".activityitem").querySelectorAll("[data-foroption]");for(let a of r)a.classList.toggle("activityitem__ischosenoption",a.dataset.foroption===o);let s=t.closest(".activityitem__panel");for(let a of k(".activityitem__timeslots__label"))a.hidden=!o||a.closest(".activityitem__panel")!==s;for(let a of k(".activityitem__timeslot"))a.hidden=!o||a.dataset.timeslotForEvent!==o,C(a,"input").checked=!1}let n=t.dataset.signuplink;n&&C(e,".activityitem__signupbutton a[href]").setAttribute("href",n)}b(".activityitem--withdayselect",Qy);A();function ex(i){let e=i.previousElementSibling;if(!e?.matches('meta[name="ut-insertactivitiesoverviewwidget-experiment"'))return;let t=`ut-ctalinks-${document.documentElement.dataset.id}-experimentgroup`,o=Yp(t)?.abgroup??"unset";o==="unset"&&(o=Math.floor(Math.random()*4),ha(t,{abgroup:o})),i.classList.add("widget-ctalinks--variant"+o),document.documentElement.dataset.experimentId=e.getAttribute("content"),document.documentElement.dataset.experimentVariant=o,window.dataLayer.push({experimentId:document.documentElement.dataset.experimentId,experimentVariant:document.documentElement.dataset.experimentVariant}),k(i,".widget--ctalinks__item").forEach(n=>n.addEventListener("click",()=>{window.dataLayer.push({event:"scc_cta_button_click"})}))}b(".widget-ctalinks",ex);window.__resetCTALinkExperiment=function(){let i=`ut-ctalinks-${document.documentElement.dataset.id}-experimentgroup`;ha(i,null),location.reload()};ut();var tx=globalThis.whAssetPacks||={};tx["utwente_base:ws2016"]="2026-10-05T15:47:58.833Z";
43/*!
44 * perfect-scrollbar v1.5.3
45 * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors
46 * Licensed under MIT
47 */
48/*! Bundled license information:
49
50@webhare/dompack-carrousel/src/iscroll.modified.js:
51  (*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license *)
52
53get-size/get-size.js:
54  (*!
55   * getSize v2.0.3
56   * measure size of elements
57   * MIT license
58   *)
59
60outlayer/outlayer.js:
61  (*!
62   * Outlayer v2.1.1
63   * the brains and guts of a layout library
64   * MIT license
65   *)
66
67masonry-layout/masonry.js:
68  (*!
69   * Masonry v4.2.1
70   * Cascading grid layout library
71   * https://masonry.desandro.com
72   * MIT License
73   * by David DeSandro
74   *)
75*/
76//# sourceMappingURL=/.wh/ea/ap/utwente_base.ws2016/ap.mjs.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.