1/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */ 2var Selectors;(e=>{e.stacked="tabled--stacked",e.table="tabled__table",e.columnLarge="tabled__column--large",e.columnSmall="tabled__column--small",e.wrapper="tabled__wrapper",e.container="tabled",e.fadeLeft="tabled--fade-left",e.fadeRight="tabled--fade-right",e.navigation="tabled__navigation",e.previous="tabled__previous",e.next="tabled__next",e.caption="tabled__caption"})(Selectors=Selectors||{});class Tabled{constructor(e){if(e.index||(e.index=Math.floor(1e4*Math.random())),this.checkConditions(e.table)){e.table.classList.add(Selectors.table),this.wrap(e.table);var t=this.getWrapper(e.table);t.setAttribute("id","tabled-n"+e.index),this.adjustColumnsWidth(e),this.addTableControls(e),this.applyFade(e.table),t.addEventListener("scroll",()=>{this.applyFade(e.table)}),new ResizeObserver(()=>{this.applyFade(e.table)}).observe(t)}else if(e.table.classList.contains(Selectors.stacked)){let a=Array.from(e.table.querySelectorAll("thead th"));Array.from(e.table.querySelectorAll("tbody tr")).forEach(e=>{Array.from(e.querySelectorAll("td, th")).forEach((e,t)=>{t=a[t];t&&e.setAttribute("data-label",t.innerText+": ")})})}else e.failClass&&e.table.classList.add(e.failClass)}getWrapper(e){return e.parentNode}getContainer(e){return e.parentNode?e.parentNode.parentNode:null}adjustColumnsWidth(e){let t,a,l=/<br\s*\/?>/gi,r=/<[^>]*>/g,s=null!=(t=e.characterThresholdLarge)?t:30,i=null!=(a=e.characterThresholdSmall)?a:10;for(var o of e.table.rows)Array.from(o.cells).forEach(e=>{var t=e.innerHTML.split(l).map(e=>e.replace(r,"").trim()),a=t.some(e=>e.length>s),t=t.every(e=>e.length<=i);a?e.classList.add(Selectors.columnLarge):t&&e.classList.add(Selectors.columnSmall)})}wrap(e){var t=document.createElement("div"),e=(t.classList.add(Selectors.wrapper),t.setAttribute("tabindex","0"),e.parentNode.insertBefore(t,e),t.appendChild(e),document.createElement("div"));e.classList.add(Selectors.container),t.parentNode.insertBefore(e,t),e.appendChild(t)}applyFade(e){var e=this.getWrapper(e),t=e.parentNode,a=t.getElementsByClassName(Selectors.previous)[0],l=t.getElementsByClassName(Selectors.next)[0],a=(1<e.scrollLeft?(t.classList.add(Selectors.fadeLeft),a.removeAttribute("disabled")):(t.classList.remove(Selectors.fadeLeft),a.setAttribute("disabled","disabled")),e.offsetWidth);e.scrollWidth-e.scrollLeft-a<=1?(t.classList.remove(Selectors.fadeRight),l.setAttribute("disabled","disabled")):(t.classList.add(Selectors.fadeRight),l.removeAttribute("disabled"))}move(e,t="previous"){var a,l=this.getWrapper(e),r=null!=(a=null==(a=l.parentNode)?void 0:a.getBoundingClientRect().left)?a:0,s=(1<e.rows[0].cells.length?e.rows[0]:e.rows[1]).cells;let i=0,o=0;if("next"==t)for(let e=0;e<s.length;e++){var d=s[e].getClientRects()[0].left;if(1<(i=Math.floor(d-r))){o=s[e].offsetLeft;break}}else if("previous"==t)for(let e=s.length-1;0<e;e--){var n=s[e].getClientRects()[0].left;if((i=Math.ceil(n-r))<0){o=s[e].offsetLeft;break}}l.scrollTo({left:o,top:0,behavior:"smooth"})}addTableControls(e){let a=e.table,l=document.createElement("div");l.classList.add(Selectors.navigation),["previous","next"].forEach(e=>{var t=document.createElement("button");t.classList.add("tabled__"+e),t.setAttribute("aria-label",e+" table column"),t.setAttribute("aria-controls",this.getWrapper(a).getAttribute("id")),t.setAttribute("disabled","disabled"),t.setAttribute("type","button"),t.addEventListener("click",()=>{this.move(a,e)}),l.appendChild(t)});var t,r=this.getContainer(a),r=(r&&r.prepend(l),a.querySelector("caption"));r&&(r.classList.add("visually-hidden"),!r.classList.contains("hide-caption"))&&((t=document.createElement("div")).classList.add(Selectors.caption),"bottom"===e.captionSide&&t.classList.add("tabled__caption--bottom"),t.innerHTML=r.innerText,t.setAttribute("aria-hidden","true"),r=this.getContainer(a))&&("bottom"===e.captionSide?r.appendChild(t):r.prepend(t))}checkConditions(e){return!(e.classList.contains(Selectors.stacked)||e.querySelector("table")||!e.querySelector("table > tbody")||document.evaluate("ancestor::table",e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue)}}; 3(function tabledInit(drupalSettings){'use strict';const {captionSide,characterThresholdLarge,characterThresholdSmall,failClass,tableSelector}=drupalSettings.ckeditorResponsiveTable;document.querySelectorAll(tableSelector).forEach((table)=>new Tabled({captionSide,characterThresholdLarge,characterThresholdSmall,failClass,table}));})(window.drupalSettings);; 4(function($,Drupal,debounce){const cache={right:0,left:0,bottom:0,top:0};const cssVarPrefix='--drupal-displace-offset';const documentStyle=document.documentElement.style;const offsetKeys=Object.keys(cache);const offsetProps={};offsetKeys.forEach((edge)=>{offsetProps[edge]={enumerable:true,get(){return cache[edge];},set(value){if(value!==cache[edge])documentStyle.setProperty(`${cssVarPrefix}-${edge}`,`${value}px`);cache[edge]=value;}};});
4const offsets=Object.seal(Object.defineProperties({},offsetProps));function getRawOffset(el,edge){const $el=$(el);const documentElement=document.documentElement;let displacement=0;const horizontal=edge==='left'||edge==='right';let placement=$el.offset()[horizontal?'left':'top'];placement-=window[`scroll${horizontal?'X':'Y'}`]||document.documentElement[`scroll${horizontal?'Left':'Top'}`]||0;switch(edge){case 'top':displacement=placement+$el.outerHeight();break;case 'left':displacement=placement+$el.outerWidth();break;case 'bottom':displacement=documentElement.clientHeight-placement;break;case 'right':displacement=documentElement.clientWidth-placement;break;default:displacement=0;}return displacement;}function calculateOffset(edge){let edgeOffset=0;document.querySelectorAll(`[data-offset-${edge}]`).forEach((el)=>{if(el.style.display==='none')return;let displacement=parseInt(el.getAttribute(`data-offset-${edge}`),10);if(isNaN(displacement))displacement=getRawOffset(el,edge);edgeOffset=Math.max(edgeOffset,displacement);});return edgeOffset;}function displace(broadcast=true){const newOffsets={};offsetKeys.forEach((edge)=>{newOffsets[edge]=calculateOffset(edge);});offsetKeys.forEach((edge)=>{offsets[edge]=newOffsets[edge];});if(broadcast)$(document).trigger('drupalViewportOffsetChange',offsets);return offsets;}Drupal.behaviors.drupalDisplace={attach(){if(this.displaceProcessed)return;this.displaceProcessed=true;$(window).on('resize.drupalDisplace',debounce(displace,200));}};Drupal.displace=displace;Object.defineProperty(Drupal.displace,'offsets',{value:offsets,writable:false});Drupal.displace.calculateOffset=calculateOffset;})(jQuery,Drupal,Drupal.debounce);; 5(($)=>{let cachedScrollbarWidth=null;const {max,abs}=Math;const regexHorizontal=/left|center|right/;const regexVertical=/top|center|bottom/;const regexOffset=/[+-]\d+(\.[\d]+)?%?/;const regexPosition=/^\w+/;const _position=$.fn.position;function getOffsets(offsets,width,height){return [parseFloat(offsets[0])*(typeof offsets[0]==='string'&&offsets[0].endsWith('%')?width/100:1),parseFloat(offsets[1])*(typeof offsets[1]==='string'&&offsets[1].endsWith('%')?height/100:1)];}function parseCss(element,property){return parseInt(window.getComputedStyle(element)[property],10)||0;}function getDimensions(elem){const raw=elem[0];if(raw.nodeType===Node.DOCUMENT_NODE)return {width:elem.width(),height:elem.height(),offset:{top:0,left:0}};if(!!raw&&raw===raw.window)return {width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}};if(raw.preventDefault)return {width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}};return {width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()};}const collisions={fit:{left(position,data){const {within}=data;const withinOffset=within.isWindow?within.scrollLeft:within.offset.left;const outerWidth=within.width;const collisionPosLeft=position.left-data.collisionPosition.marginLeft;const overLeft=withinOffset-collisionPosLeft;const overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset;let newOverRight;if(data.collisionWidth>outerWidth)if(overLeft>0&&overRight<=0){newOverRight=position.left+overLeft+data.collisionWidth-outerWidth-withinOffset;position.left+=overLeft-newOverRight;}else if(overRight>0&&overLeft<=0)position.left=withinOffset;else if(overLeft>overRight)position.left=withinOffset+outerWidth-data.collisionWidth;else position.left=withinOffset;else if(overLeft>0)position.left+=overLeft;else if(overRight>0)position.left-=overRight;else position.left=max(position.left-collisionPosLeft,position.left);},top(position,data){const {within}=data;const withinOffset=within.isWindow?within.scrollTop:within.offset.top;const outerHeight=data.within.height;const collisionPosTop=position.top-data.collisionPosition.marginTop;const overTop=withinOffset-collisionPosTop;const overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset;let newOverBottom;if(data.collisionHeight>outerHeight)if(overTop>0&&overBottom<=0){newOverBottom=position.top+overTop+data.collisionHeight-outerHeight-withinOffset;position.top+=overTop-newOverBottom;}else if(overBottom>0&&overTop<=0)position.top=withinOffset;else if(overTop>overBottom)position.top=withinOffset+outerHeight-data.collisionHeight;else position.top=withinOffset;else if(overTop>0)position.top+=overTop;else if(overBottom>0)position.top-=overBottom;else position.top=max(position.top-collisionPosTop,position.top);}},flip:{left(position,data){const {within}=data;const withinOffset=within.offset.left+within.scrollLeft;const outerWidth=within.width;const offsetLeft=within.isWindow?within.scrollLeft:within.offset.left;const collisionPosLeft=position.left-data.collisionPosition.marginLeft;const overLeft=collisionPosLeft-offsetLeft;const overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft;const myOffset=data.my[0]==='left'?-data.elemWidth:data.my[0]==='right'?data.elemWidth:0;const atOffset=data.at[0]==='left'?data.targetWidth:data.at[0]==='right'?-data.targetWidth:0;const offset=-2*data.offset[0];let newOverRight;let newOverLeft;if(overLeft<0){newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth-outerWidth-withinOffset;if(newOverRight<0||newOverRight<abs(overLeft))position.left+=myOffset+atOffset+offset;}else{if(overRight>0){newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+atOffset+offset-offsetLeft;if(newOverLeft>0||abs(newOverLeft)<overRight)position.left+=myOffset+atOffset+offset;}}},top(position,data){const {within}=data;const withinOffset=within.offset.top+within.scrollTop;const outerHeight=within.height;const offsetTop=within.isWindow?within.scrollTop:within.offset.top;const collisionPosTop=position.top-data.collisionPosition.marginTop;const overTop=collisionPosTop-offsetTop;const overBottom=collisionPosTop+data.collisionHeight-outerHeight-offsetTop;const top=data.my[1]==='top';const myOffset=top?-data.elemHeight:data.my[1]==='bottom'?data.elemHeight:0;const atOffset=data.at[1]==='top'?data.targetHeight:data.at[1]==='bottom'?-data.targetHeight:0;const offset=-2*data.offset[1];let newOverTop;let newOverBottom;if(overTop<0){newOverBottom=position.top+myOffset+atOffset+offset+data.collisionHeight-outerHeight-withinOffset;if(newOverBottom<0||newOverBottom<abs(overTop))position.top+=myOffset+atOffset+offset;}else{if(overBottom>0){newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+offset-offsetTop;if(newOverTop>0||abs(newOverTop)<overBottom)position.top+=myOffset+atOffset+offset;}}}},flipfit:{left(...args){collisions.flip.left.apply(this,args);collisions.fit.left.apply(this,args);},top(...args){collisions.flip.top.apply(this,args);collisions.fit.top.apply(this,args);}}};$.position={scrollbarWidth(){if(cachedScrollbarWidth!==undefined)return cachedScrollbarWidth;const div=$('<div '+"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>"+"<div style='height:100px;width:auto;'></div></div>");const innerDiv=div.children()[0];$('body').append(div);const w1=innerDiv.offsetWidth;div[0].style.overflow='scroll';let w2=innerDiv.offsetWidth;if(w1===w2)w2=div[0].clientWidth;div.remove();cachedScrollbarWidth=w1-w2;return cachedScrollbarWidth;},getScrollInfo(within){const overflowX=within.isWindow||within.isDocument?'':window.getComputedStyle(within.element[0])['overflow-x'];const overflowY=within.isWindow||within.isDocument?'':window.getComputedStyle(within.element[0])['overflow-y'];const hasOverflowX=overflowX==='scroll'||(overflowX==='auto'&&within.width<within.element[0].scrollWidth);const hasOverflowY=overflowY==='scroll'||(overflowY==='auto'&&within.height<within.element[0].scrollHeight);return {width:hasOverflowY?$.position.scrollbarWidth():0,height:hasOverflowX?$.position.scrollbarWidth():0};},getWithinInfo(element){const withinElement=$(element||window);const isWindow=!!withinElement[0]&&withinElement[0]===withinElement[0].window;const isDocument=!!withinElement[0]&&withinElement[0].nodeType===Node.DOCUMENT_NODE;const hasOffset=!isWindow&&!isDocument;return {element:withinElement,isWindow,isDocument,offset:hasOffset?$(element).offset():{left:0,top:0},scrollLeft:withinElement.scrollLeft(),scrollTop:withinElement.scrollTop(),width:withinElement.outerWidth(),height:withinElement.outerHeight()};}};$.fn.position=function(options){if(!options||!options.of)return _position.apply(this,arguments);options=$.extend({},options);const within=$.position.getWithinInfo(options.within);const scrollInfo=$.position.getScrollInfo(within);const collision=(options.collision||'flip').split(' ');const offsets={};const target=typeof options.of==='string'?$(document).find(options.of):$(options.of);const dimensions=getDimensions(target);const targetWidth=dimensions.width;const targetHeight=dimensions.height;const targetOffset=dimensions.offset;if(target[0].preventDefault)options.at='left top';const basePosition=$.extend({},targetOffset);$.each(['my','at'],function(){let pos=(options[this]||'').split(' ');
5if(pos.length===1)pos=regexHorizontal.test(pos[0])?pos.concat(['center']):regexVertical.test(pos[0])?['center'].concat(pos):['center','center'];pos[0]=regexHorizontal.test(pos[0])?pos[0]:'center';pos[1]=regexVertical.test(pos[1])?pos[1]:'center';const horizontalOffset=regexOffset.exec(pos[0]);const verticalOffset=regexOffset.exec(pos[1]);offsets[this]=[horizontalOffset?horizontalOffset[0]:0,verticalOffset?verticalOffset[0]:0];options[this]=[regexPosition.exec(pos[0])[0],regexPosition.exec(pos[1])[0]];});if(collision.length===1)collision[1]=collision[0];if(options.at[0]==='right')basePosition.left+=targetWidth;else{if(options.at[0]==='center')basePosition.left+=targetWidth/2;}if(options.at[1]==='bottom')basePosition.top+=targetHeight;else{if(options.at[1]==='center')basePosition.top+=targetHeight/2;}const atOffset=getOffsets(offsets.at,targetWidth,targetHeight);basePosition.left+=atOffset[0];basePosition.top+=atOffset[1];return this.each(function(){let using;const elem=$(this);const elemWidth=elem.outerWidth();const elemHeight=elem.outerHeight();const marginLeft=parseCss(this,'marginLeft');const marginTop=parseCss(this,'marginTop');const collisionWidth=elemWidth+marginLeft+parseCss(this,'marginRight')+scrollInfo.width;const collisionHeight=elemHeight+marginTop+parseCss(this,'marginBottom')+scrollInfo.height;const position=$.extend({},basePosition);const myOffset=getOffsets(offsets.my,elem.outerWidth(),elem.outerHeight());if(options.my[0]==='right')position.left-=elemWidth;else{if(options.my[0]==='center')position.left-=elemWidth/2;}if(options.my[1]==='bottom')position.top-=elemHeight;else{if(options.my[1]==='center')position.top-=elemHeight/2;}position.left+=myOffset[0];position.top+=myOffset[1];const collisionPosition={marginLeft,marginTop};$.each(['left','top'],function(i,dir){if(collisions[collision[i]])collisions[collision[i]][dir](position,{targetWidth,targetHeight,elemWidth,elemHeight,collisionPosition,collisionWidth,collisionHeight,offset:[atOffset[0]+myOffset[0],atOffset[1]+myOffset[1]],my:options.my,at:options.at,within,elem});});if(options.using)using=function(props){const left=targetOffset.left-position.left;const right=left+targetWidth-elemWidth;const top=targetOffset.top-position.top;const bottom=top+targetHeight-elemHeight;const feedback={target:{element:target,left:targetOffset.left,top:targetOffset.top,width:targetWidth,height:targetHeight},element:{element:elem,left:position.left,top:position.top,width:elemWidth,height:elemHeight},horizontal:right<0?'left':left>0?'right':'center',vertical:bottom<0?'top':top>0?'bottom':'middle'};if(targetWidth<elemWidth&&abs(left+right)<targetWidth)feedback.horizontal='center';if(targetHeight<elemHeight&&abs(top+bottom)<targetHeight)feedback.vertical='middle';if(max(abs(left),abs(right))>max(abs(top),abs(bottom)))feedback.important='horizontal';else feedback.important='vertical';options.using.call(this,props,feedback);};elem.offset($.extend(position,{using}));});};if(!$.hasOwnProperty('ui'))$.ui={};$.ui.position=collisions;})(jQuery);; 6(function($,Drupal,Bootstrap,Attributes){'use strict';var $document=$(document);Bootstrap.modalFindFocusableElement=function(modal){return modal.$dialogBody.find(':input,:button,.btn').not('.visually-hidden,.sr-only');};$document.on('shown.bs.modal',function(e){var $modal=$(e.target);var modal=$modal.data('bs.modal');var $ckeditor=$modal.find('[data-ckeditor5-id]');if($ckeditor.length){$('.ck-body-wrapper').appendTo($modal);$('.ck-body-wrapper .ck-body>div').each(function(){$(this).css('margin-top',-window.scrollY+'px');});}if(modal&&modal.options.focusInput){var $focusable=Bootstrap.modalFindFocusableElement(modal);if($focusable&&$focusable[0]){var $input=$focusable.filter(':visible:first').focus();if(modal.options.selectText&&$input.is(':text'))$input[0].setSelectionRange(0,$input[0].value.length);}else{if(modal.$close.is(':visible'))modal.$close.focus();}}});Bootstrap.once('modal',function(settings){Bootstrap.replacePlugin('modal',function(){var BootstrapModal=this;Bootstrap.Modal=function(element,options){this.$body=$(document.body);this.$element=$(element);
6this.$dialog=this.$element.find('.modal-dialog');this.$header=this.$dialog.find('.modal-header');this.$title=this.$dialog.find('.modal-title');this.$close=this.$header.find('.close');this.$footer=this.$dialog.find('.modal-footer');this.$content=this.$dialog.find('.modal-content');this.$dialogBody=this.$dialog.find('.modal-body');this.$backdrop=null;this.isShown=null;this.originalBodyPad=null;this.scrollbarWidth=0;this.ignoreBackdropClick=false;this.options=this.mapDialogOptions(options);};Bootstrap.Modal.DEFAULTS=$.extend({},BootstrapModal.DEFAULTS,{animation:!!settings.modal_animation,backdrop:settings.modal_backdrop==='static'?'static':!!settings.modal_backdrop,focusInput:!!settings.modal_focus_input,selectText:!!settings.modal_select_text,keyboard:!!settings.modal_keyboard,remote:null,show:!!settings.modal_show,size:settings.modal_size});Bootstrap.Modal.prototype=BootstrapModal.prototype;Bootstrap.Modal.prototype.destroy=function(){this.hide();Drupal.detachBehaviors(this.$element[0]);this.$element.removeData('bs.modal').remove();};Bootstrap.Modal.prototype.init=function(){if(this.options.remote)this.$content.load(this.options.remote,$.proxy(function(){this.$element.trigger('loaded.bs.modal');},this));};Bootstrap.Modal.prototype.mapDialogOptions=function(options){return options||{};};var Plugin=function(){var args=Array.prototype.slice.call(arguments);var method=args[0];var options=args[1]||{};var relatedTarget=args[2]||null;if($.isPlainObject(method)){relatedTarget=options||null;options=method;method=null;}var ret=void 0;this.each(function(){var $this=$(this);var data=$this.data('bs.modal');var initialize=false;var showMethods=['open','show','toggle'];if(!data&&method&&showMethods.indexOf(method)===-1)return;options=Bootstrap.normalizeObject($.extend({},Bootstrap.Modal.DEFAULTS,data&&data.options,$this.data(),options));delete options['bs.modal'];if(!data){$this.data('bs.modal',(data=new Bootstrap.Modal(this,options)));initialize=true;}if(initialize||(!method&&!args.length))data.init();if(method)if(typeof data[method]==='function')try{ret=data[method].apply(data,args.slice(1));}catch(e){Drupal.throwError(e);}else Bootstrap.unsupported('method',method);else{data.option(options);if(options.show&&!data.isShown)data.show(relatedTarget);}});return this.length===1&&ret!==void 0?ret:this;};Plugin.Constructor=Bootstrap.Modal;$document.off('click.bs.modal.data-api').on('click.bs.modal.data-api','[data-toggle="modal"]',function(e){var $this=$(this);var href=$this.attr('href');var target=$this.attr('data-target')||(href&&href.replace(/.*(?=#[^\s]+$)/,''));var $target=$document.find(target);var options=$target.data('bs.modal')?'toggle':$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());if($this.is('a'))e.preventDefault();$target.one('show.bs.modal',function(showEvent){if(showEvent.isDefaultPrevented())return;$target.one('hidden.bs.modal',function(){$this.is(':visible')&&$this.trigger('focus');});});$target.modal(options,this);});return Plugin;});$.extend(Drupal.theme,{bootstrapModal:function(variables){var output='';var settings=drupalSettings.bootstrap||{};var defaults={attributes:{class:['modal'],tabindex:-1,role:'dialog'},body:'',closeButton:true,description:{attributes:{class:['help-block']},content:null,position:'before'},footer:'',id:'drupal-modal',size:settings.modal_size?settings.modal_size:'',title:{attributes:{class:['modal-title']},content:Drupal.t('Loading...'),html:false,tag:'h4'}};variables=$.extend(true,{},defaults,variables);var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id));if(settings.modal_animation)attributes.addClass('fade');output+='<div'+attributes+'>';output+=Drupal.theme('bootstrapModalDialog',_.omit(variables,'attributes'));output+='</div>';return output;},bootstrapModalDialog:function(variables){var output='';var defaults={attributes:{class:['modal-dialog'],role:'document'},id:'drupal-modal'};variables=$.extend(true,{},defaults,variables);var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id+'--dialog'));if(variables.size)attributes.addClass(variables.size);output+='<div'+attributes+'>';output+=Drupal.theme('bootstrapModalContent',_.omit(variables,'attributes'));output+='</div>';return output;},bootstrapModalContent:function(variables){var output='';var defaults={attributes:{class:['modal-content']},id:'drupal-modal'};variables=$.extend(true,{},defaults,variables);var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id+'--content'));output+='<div'+attributes+'>';variables=_.omit(variables,'attributes');output+=Drupal.theme('bootstrapModalHeader',variables);output+=Drupal.theme('bootstrapModalBody',variables);output+=Drupal.theme('bootstrapModalFooter',variables);output+='</div>';return output;},bootstrapModalBody:function(variables){var output='';var defaults={attributes:{class:['modal-body']},body:'',description:{attributes:{class:['help-block']},content:null,position:'before'},id:'drupal-modal'};variables=$.extend(true,{},defaults,variables);var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id+'--body'));output+='<div'+attributes+'>';if(typeof variables.description==='string')variables.description=$.extend({},defaults.description,{content:variables.description});var description=variables.description;description.attributes=Attributes.create(defaults.description.attributes).merge(description.attributes);if(description.content&&description.position==='invisible')description.attributes.addClass('sr-only');if(description.content&&description.position==='before')output+='<p'+description.attributes+'>'+description.content+'</p>';output+=variables.body;if(description.content&&(description.position==='after'||description.position==='invisible'))output+='<p'+description.attributes+'>'+description.content+'</p>';output+='</div>';return output;},bootstrapModalClose:function(variables){var defaults={attributes:{'aria-label':Drupal.t('Close'),class:['close'],'data-dismiss':'modal',type:'button'}};variables=$.extend(true,{},defaults,variables);var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);return '<button'+attributes+'><span aria-hidden="true">×</span></button>';},bootstrapModalFooter:function(variables,force){var output='';var defaults={attributes:{class:['modal-footer']},footer:'',id:'drupal-modal'};variables=$.extend(true,{},defaults,variables);if(force||variables.footer){var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id+'--footer'));output+='<div'+attributes+'>';output+=variables.footer;output+='</div>';}return output;},bootstrapModalHeader:function(variables){var output='';var defaults={attributes:{class:['modal-header']}
6,closeButton:true,id:'drupal-modal',title:{attributes:{class:['modal-title']},content:Drupal.t('Loading...'),html:false,tag:'h4'}};variables=$.extend(true,{},defaults,variables);if(typeof variables.title==='string')variables.title=$.extend({},defaults.title,{content:variables.title});var title=Drupal.theme('bootstrapModalTitle',variables.title);if(title){var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id+'--header'));output+='<div'+attributes+'>';if(variables.closeButton)output+=Drupal.theme('bootstrapModalClose',_.omit(variables,'attributes'));output+=title;output+='</div>';}return output;},bootstrapModalTitle:function(variables){var output='';var defaults={attributes:{class:['modal-title']},closeButton:true,id:'drupal-modal',content:Drupal.t('Loading...'),html:false,tag:'h4'};if(typeof variables==='string')variables=$.extend({},defaults,{content:title});variables=$.extend(true,{},defaults,variables);var attributes=Attributes.create(defaults.attributes).merge(variables.attributes);attributes.set('id',attributes.get('id',variables.id+'--title'));output+='<'+Drupal.checkPlain(variables.tag)+Attributes.create(defaults.attributes).merge(variables.attributes)+'>';if(variables.closeButton)output+=Drupal.theme('bootstrapModalClose',_.omit(variables,'attributes'));output+=(variables.html?variables.content:Drupal.checkPlain(variables.content));output+='</'+Drupal.checkPlain(variables.tag)+'>';return output;}});});})(window.jQuery,window.Drupal,window.Drupal.bootstrap,window.Attributes);; 7(function($,Drupal,Bootstrap,Attributes){Bootstrap.Dialog=Bootstrap.Dialog||{};Bootstrap.Dialog.handlers={};Bootstrap.Dialog.Handler=function(type,data){this.ctor=$.fn.modal;this.extend=null;this.plugin='modal';this.prefix='modal';this.themeHooks={modal:'bootstrapModal',dialog:'bootstrapModalDialog',header:'bootstrapModalHeader',title:'bootstrapModalTitle',close:'bootstrapModalClose',content:'bootstrapModalContent',body:'bootstrapModalBody',footer:'bootstrapModalFooter'};this.type=type;this.selectors={dialog:'.modal-dialog',header:'.modal-header',title:'.modal-title',close:'.close',content:'.modal-content',body:'.modal-body',footer:'.modal-footer',buttons:'.modal-buttons'};$.extend(this,data);if(this.extend)Bootstrap.extend(this.plugin,this.extend);};Bootstrap.Dialog.Handler.get=function(type){if(type instanceof $)type=type[0];if(type instanceof HTMLElement)type=type.dialogType;if(!type)type='modal';if(!Bootstrap.Dialog.handlers[type])Bootstrap.Dialog.handlers[type]=new Bootstrap.Dialog.Handler();return Bootstrap.Dialog.handlers[type];};Bootstrap.Dialog.Handler.register=function(type,data){Bootstrap.Dialog.handlers[type]=new Bootstrap.Dialog.Handler(type,data);};Bootstrap.Dialog.Handler.prototype.invoke=function(context){var args=Array.prototype.slice.call(arguments);return this.ctor.apply(context,args.slice(1));};Bootstrap.Dialog.Handler.prototype.theme=function(hook){var args=Array.prototype.slice.call(arguments);return $(Drupal.theme.apply(Drupal.theme,[this.themeHooks[hook]].concat(args.slice(1))));};Bootstrap.Dialog.Handler.prototype.ensureModalStructure=function(element,options){var $element=$(element);if($element.is('[data-drupal-theme="'+this.themeHooks.modal+'"]'))return;var attributes=Attributes.create(element).remove('style').set('data-drupal-theme',this.themeHooks.modal);if(options.$trigger&&options.$trigger[0]){var trigger=options.$trigger[0];var data={};for(var i=0,l=trigger.attributes.length;i<l;i++){var name=trigger.attributes[i].name;if(name&&name.substring(0,5)==='data-')data[name]=trigger.getAttribute(name);}attributes.merge(data);}options=$.extend(true,{},options,{attributes});var $modal=this.theme('modal',options);var $body=$element.find(this.selectors.body);var $existing=$body[0]?$body.contents():$element.contents();$element.attr(Attributes.create($modal).toPlainObject());$element.append($modal.html());$element.find(this.selectors.body).append($existing);};})(jQuery,Drupal,Drupal.bootstrap,Attributes);; 8(function($,Drupal,Bootstrap,Attributes,drupalSettings){'use strict';Bootstrap.once('modal.jquery.ui.bridge',function(settings){var rtl=document.documentElement.getAttribute('dir').toLowerCase()==='rtl';$(function(){drupalSettings.dialog.buttonClass='btn';drupalSettings.dialog.buttonPrimaryClass='btn-primary';});Bootstrap.Dialog.Bridge=function(options){var args=Array.prototype.slice.call(arguments);var $element=$(this);var type=options&&options.dialogType||$element[0].dialogType||'modal';$element[0].dialogType=type;var handler=Bootstrap.Dialog.Handler.get(type);if(args.length===1&&typeof options==='object'){this.each(function(){handler.ensureModalStructure(this,options);});return handler.invoke(this,{dialogOptions:options,jQueryUiBridge:true});}var ret;try{ret=handler.invoke.apply(handler,[this].concat(args));}catch(e){Bootstrap.warn(e);}return this.length===1&&ret!==void 0?ret:this;};Bootstrap.createPlugin('dialog',Bootstrap.Dialog.Bridge);Bootstrap.Modal.Bridge=function(){var Modal=this;return {DEFAULTS:{jQueryUiBridge:false},prototype:{close:function(){var _this=this;this.hide.apply(this,arguments);setTimeout(function(){if(!_this.isShown&&_this.$backdrop)_this.hideModal();},(Modal.TRANSITION_DURATION!==void 0?Modal.TRANSITION_DURATION:300)+10);},createButtons:function(){var handler=Bootstrap.Dialog.Handler.get(this.$element);this.$footer.find(handler.selectors.buttons).remove();var buttons=this.options.dialogOptions&&this.options.dialogOptions.buttons||[];if(!Array.isArray(buttons)){var array=[];for(var k in buttons)if(typeof buttons[k]==='function')array.push({label:k,click:buttons[k]});else if(buttons[k].text||buttons[k].label){Bootstrap.warn('Malformed jQuery UI dialog button: @key. The button object should be inside an array.',{'@key':k});array.push(buttons[k]);}else Bootstrap.unsupported('button',k,buttons[k]);buttons=array;}
8if(buttons.length){var $buttons=$('<div class="modal-buttons"/>').appendTo(this.$footer);for(var i=0,l=buttons.length;i<l;i++){var button=buttons[i];var $button=$(Drupal.theme('bootstrapModalDialogButton',button));if(typeof button.create==='function')button.create.call($button[0]);if(typeof button.click==='function')$button.on('click',button.click.bind(this.$element));$buttons.append($button);}}this.$footer[this.$footer.children()[0]?'show':'hide']();},init:function(){var handler=Bootstrap.Dialog.Handler.get(this.$element);if(!this.$dialog)this.$dialog=this.$element.find(handler.selectors.dialog);this.$dialog.addClass('js-drupal-dialog');if(!this.$header)this.$header=this.$dialog.find(handler.selectors.header);if(!this.$title)this.$title=this.$dialog.find(handler.selectors.title);if(!this.$close)this.$close=this.$header.find(handler.selectors.close);if(!this.$footer)this.$footer=this.$dialog.find(handler.selectors.footer);if(!this.$content)this.$content=this.$dialog.find(handler.selectors.content);if(!this.$dialogBody)this.$dialogBody=this.$dialog.find(handler.selectors.body);if(this.options.jQueryUiBridge){this.$element.on('hide.bs.modal',Bootstrap.relayEvent(this.$element,'dialogbeforeclose',false));this.$element.on('hidden.bs.modal',Bootstrap.relayEvent(this.$element,'dialogclose',false));this.$element.on('show.bs.modal',Bootstrap.relayEvent(this.$element,'dialogcreate',false));this.$element.on('shown.bs.modal',Bootstrap.relayEvent(this.$element,'dialogopen',false));}if(!this.$footer[0])this.$footer=handler.theme('footer',{},true).insertAfter(this.$dialogBody);$.extend(true,this.options,this.mapDialogOptions(this.options));this.createButtons();this.super();if(this.options.dialogOptions&&this.options.dialogOptions.autoResize&&this.options.dialogOptions.position)this.position(this.options.dialogOptions.position);if(this.options.jQueryUiBridge&&this.options.show&&!this.isShown)this.show();},instance:function(){Bootstrap.unsupported('method','instance',arguments);},isOpen:function(){return !!this.isShown;},mapDialogOptions:function(options){var handler=Bootstrap.Dialog.Handler.get(this.$element);var mappedOptions={};var dialogOptions=options.dialogOptions||{};delete options.dialogOptions;for(var k in options)if(Modal.DEFAULTS.hasOwnProperty(k))mappedOptions[k]=options[k];else dialogOptions[k]=options[k];var cssUnitRegExp=/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)?$/;var parseCssUnit=function(value,defaultUnit){var parts=(''+value).match(cssUnitRegExp);return parts&&parts[1]!==void 0?parts[1]+(parts[2]||defaultUnit||'px'):null;};var styles={};var cssProperties=['height','maxHeight','maxWidth','minHeight','minWidth','width'];for(var i=0,l=cssProperties.length;i<l;i++){var prop=cssProperties[i];if(dialogOptions[prop]!==void 0){var value=parseCssUnit(dialogOptions[prop]);if(value){styles[prop]=value;if(dialogOptions.autoResize&&(prop==='height'||prop==='maxHeight')){styles.display='flex';styles.flexDirection='column';this.$dialogBody.css('overflow','scroll');}}}}this.$content.css(styles);var classesMap={'ui-dialog':'modal-content','ui-dialog-titlebar':'modal-header','ui-dialog-title':'modal-title','ui-dialog-titlebar-close':'close','ui-dialog-content':'modal-body','ui-dialog-buttonpane':'modal-footer'};if(dialogOptions.dialogClass){if(dialogOptions.classes===void 0)dialogOptions.classes={};if(dialogOptions.classes['ui-dialog']===void 0)dialogOptions.classes['ui-dialog']='';var dialogClass=dialogOptions.classes['ui-dialog'].split(' ');dialogClass.push(dialogOptions.dialogClass);dialogOptions.classes['ui-dialog']=dialogClass.join(' ');delete dialogOptions.dialogClass;}for(k in classesMap)this.$element.find('.'+classesMap[k]).addClass(k);var events=['beforeClose','close','create','drag','dragStart','dragStop','focus','open','resize','resizeStart','resizeStop'];for(i=0,l=events.length;i<l;i++){var event=events[i].toLowerCase();if(dialogOptions[event]===void 0||typeof dialogOptions[event]!=='function')continue;this.$element.on('dialog'+event,dialogOptions[event]);}var title;if((dialogOptions.title===null||dialogOptions.title===void 0)&&(title=this.$element.attr('title')))dialogOptions.title=title;
8for(var name in dialogOptions){if(!dialogOptions.hasOwnProperty(name)||dialogOptions[name]===void 0)continue;switch(name){case 'appendTo':Bootstrap.unsupported('option',name,dialogOptions.appendTo);break;case 'autoOpen':mappedOptions.show=dialogOptions.show=!!dialogOptions.autoOpen;break;case 'classes':if(dialogOptions.classes)for(var key in dialogOptions.classes)if(dialogOptions.classes.hasOwnProperty(key)&&classesMap[key]!==void 0){var attributes=Attributes.create().addClass(dialogOptions.classes[key]).toPlainObject();var selector='.'+classesMap[key];this.$element.find(selector).addClass(attributes['class']);}break;case 'closeOnEscape':mappedOptions.keyboard=!!dialogOptions.closeOnEscape;if(!dialogOptions.closeOnEscape&&dialogOptions.modal)mappedOptions.backdrop='static';break;case 'closeText':Bootstrap.unsupported('option',name,dialogOptions.closeText);break;case 'draggable':this.$content.draggable({handle:handler.selectors.header,drag:Bootstrap.relayEvent(this.$element,'dialogdrag'),start:Bootstrap.relayEvent(this.$element,'dialogdragstart'),end:Bootstrap.relayEvent(this.$element,'dialogdragend')}).draggable(dialogOptions.draggable?'enable':'disable');break;case 'hide':if(dialogOptions.hide===false||dialogOptions.hide===true){this.$element[dialogOptions.hide?'addClass':'removeClass']('fade');mappedOptions.animation=dialogOptions.hide;}else Bootstrap.unsupported('option',name+' (complex animation)',dialogOptions.hide);break;case 'modal':if(!dialogOptions.closeOnEscape&&dialogOptions.modal)mappedOptions.backdrop='static';else mappedOptions.backdrop=dialogOptions.modal;if(!dialogOptions.modal&&!dialogOptions.position)this.position({my:'center',of:window});break;case 'position':this.position(dialogOptions.position);break;case 'resizable':this.$content.resizable({resize:Bootstrap.relayEvent(this.$element,'dialogresize'),start:Bootstrap.relayEvent(this.$element,'dialogresizestart'),end:Bootstrap.relayEvent(this.$element,'dialogresizeend')}).resizable(dialogOptions.resizable?'enable':'disable');break;case 'show':if(dialogOptions.show===false||dialogOptions.show===true){this.$element[dialogOptions.show?'addClass':'removeClass']('fade');mappedOptions.animation=dialogOptions.show;}else Bootstrap.unsupported('option',name+' (complex animation)',dialogOptions.show);break;case 'title':this.$title.text(dialogOptions.title);break;}}mappedOptions.dialogOptions=dialogOptions;return mappedOptions;},moveToTop:function(){Bootstrap.unsupported('method','moveToTop',arguments);},option:function(){var clone={options:{}};this.super.apply(clone,arguments);$.extend(true,this.options,this.mapDialogOptions(clone.options));this.createButtons();},position:function(position){this.$element.css({bottom:'initial',overflow:'visible',right:'initial'});this.$element.position(position);},open:function(){this.show.apply(this,arguments);},widget:function(){return this.$element;}}};};Bootstrap.extendPlugin('modal',Bootstrap.Modal.Bridge);Bootstrap.Dialog.Handler.register('dialog');Bootstrap.Dialog.Handler.register('modal');$.extend(Drupal.theme,{bootstrapModalDialogButton:function(button){var attributes=Attributes.create();var icon='';var iconPosition=button.iconPosition||'beginning';iconPosition=(iconPosition==='end'&&!rtl)||(iconPosition==='beginning'&&rtl)?'after':'before';if(button.bootstrapIcon)icon=Drupal.theme('icon','bootstrap',button.icon);else{if(button.icon){var iconAttributes=Attributes.create().addClass(['ui-icon',button.icon]).set('aria-hidden','true');icon='<span'+iconAttributes+'></span>';}}var value=button.label||button.text;if(icon&&((button.showLabel!==void 0&&!button.showLabel)||(button.text!==void 0&&!button.text)))value='<span'+Attributes.create().addClass('sr-only')+'>'+value+'</span>';attributes.set('value',iconPosition==='before'?icon+value:value+icon);attributes[button.disabled?'set':'remove']('disabled','disabled');if(button.classes)attributes.addClass(Object.keys(button.classes).map(function(key){return button.classes[key];}));if(button['class'])attributes.addClass(button['class']);if(button.primary)attributes.addClass('btn-primary');return Drupal.theme('button',attributes);}});});})(window.jQuery,window.Drupal,window.Drupal.bootstrap,window.Attributes,window.drupalSettings);;
9(function($,Drupal,once){if(once('drupal-dialog-deprecation-listener','html').length){const eventSpecial={handle($event){const $element=$($event.target);const event=$event.originalEvent;const dialog=event.dialog;const dialogArguments=[$event,dialog,$element,event?.settings];$event.handleObj.handler.apply(this,dialogArguments);}};$.event.special['dialog:beforecreate']=eventSpecial;$.event.special['dialog:aftercreate']=eventSpecial;$.event.special['dialog:beforeclose']=eventSpecial;$.event.special['dialog:afterclose']=eventSpecial;const listenDialogEvent=(event)=>{const windowEvents=$._data(window,'events');const isWindowHasDialogListener=windowEvents[event.type];if(isWindowHasDialogListener)Drupal.deprecationError({message:`jQuery event ${event.type} is deprecated in 10.3.0 and is removed from Drupal:12.0.0. See https://www.drupal.org/node/3422670`});};['dialog:beforecreate','dialog:aftercreate','dialog:beforeclose','dialog:afterclose'].forEach((e)=>window.addEventListener(e,listenDialogEvent));window.addEventListener('dialog:beforecreate',(event)=>{const dialog=event.target;$(dialog).on('dialogButtonsChange.dialogDeprecation',(e)=>{if(!e?.originalEvent){Drupal.deprecationError({message:`jQuery event dialogButtonsChange is deprecated in 11.2.0 and is removed from Drupal:12.0.0. See https://www.drupal.org/node/3464202`});dialog.dispatchEvent(new CustomEvent('dialogButtonsChange'));}});});window.addEventListener('dialog:beforeclose',(event)=>{const dialog=event.target;$(dialog).off(`dialogButtonsChange.dialogDeprecation`);});}})(jQuery,Drupal,once);; 10class DrupalDialogEvent extends Event{constructor(type,dialog,settings=null){super(`dialog:${type}`,{bubbles:true});this.dialog=dialog;this.settings=settings;}}(function($,Drupal,drupalSettings,bodyScrollLock){drupalSettings.dialog={autoOpen:true,buttonClass:'button',buttonPrimaryClass:'button--primary',close(event){Drupal.dialog(event.target).close();Drupal.detachBehaviors(event.target,null,'unload');}};Drupal.dialog=function(element,options){let undef;const $element=$(element);const domElement=$element.get(0);const dialog={open:false,returnValue:undef};function openDialog(settings){settings=$.extend({},drupalSettings.dialog,options,settings);if(settings.dialogClass)Drupal.deprecationError({message:'dialogClass is deprecated in drupal:10.4.x and will be removed from drupal:12.0.0.'});const event=new DrupalDialogEvent('beforecreate',dialog,settings);domElement.dispatchEvent(event);$element.dialog(event.settings);dialog.open=true;if(event.settings.modal)bodyScrollLock.lock(domElement);domElement.dispatchEvent(new DrupalDialogEvent('aftercreate',dialog,event.settings));}function closeDialog(value){domElement.dispatchEvent(new DrupalDialogEvent('beforeclose',dialog));bodyScrollLock.clearBodyLocks();$element.dialog('close');dialog.returnValue=value;dialog.open=false;domElement.dispatchEvent(new DrupalDialogEvent('afterclose',dialog));}dialog.show=()=>{openDialog({modal:false,uiDialogTitleHeadingLevel:2});};dialog.showModal=()=>{openDialog({modal:true,uiDialogTitleHeadingLevel:1});};dialog.close=closeDialog;return dialog;};})(jQuery,Drupal,drupalSettings,bodyScrollLock);; 11(function($,Drupal,drupalSettings,debounce,displace){drupalSettings.dialog=$.extend({autoResize:true,maxHeight:'95%'},drupalSettings.dialog);function resetPosition(options){const offsets=displace.offsets;const left=offsets.left-offsets.right;const top=offsets.top-offsets.bottom;const leftString=`${(left>0?'+':'-')+Math.abs(Math.round(left/2))}px`;const topString=`${(top>0?'+':'-')+Math.abs(Math.round(top/2))}px`;options.position={my:`center${left!==0?leftString:''} center${top!==0?topString:''}`,of:window};return options;}function resetSize(event){const positionOptions=['width','height','minWidth','minHeight','maxHeight','maxWidth','position'];let adjustedOptions={};let windowHeight=$(window).height();let option;let optionValue;let adjustedValue;for(let n=0;n<positionOptions.length;n++){option=positionOptions[n];optionValue=event.data.settings[option];if(optionValue)if(typeof optionValue==='string'&&optionValue.endsWith('%')&&/height/i.test(option)){windowHeight-=displace.offsets.top+displace.offsets.bottom;adjustedValue=parseInt(0.01*parseInt(optionValue,10)*windowHeight,10);if(option==='height'&&Math.round(event.data.$element.parent().outerHeight())<adjustedValue)adjustedValue='auto';adjustedOptions[option]=adjustedValue;}}if(!event.data.settings.modal)adjustedOptions=resetPosition(adjustedOptions);event.data.$element.dialog('option',adjustedOptions);event.data.$element?.get(0)?.dispatchEvent(new CustomEvent('dialogContentResize',{bubbles:true}));}window.addEventListener('dialog:aftercreate',(e)=>{const autoResize=debounce(resetSize,20);const $element=$(e.target);const {settings}=e;const eventData={settings,$element};if(settings.autoResize===true||settings.autoResize==='true'){const uiDialog=$element.dialog('option',{resizable:false,draggable:false}).dialog('widget');uiDialog[0].style.position='fixed';$(window).on('resize.dialogResize scroll.dialogResize',eventData,autoResize).trigger('resize.dialogResize');$(document).on('drupalViewportOffsetChange.dialogResize',eventData,autoResize);}});window.addEventListener('dialog:beforeclose',()=>{$(window).off('.dialogResize');$(document).off('.dialogResize');});})(jQuery,Drupal,drupalSettings,Drupal.debounce,Drupal.displace);; 12(function($,Drupal,drupalSettings,once){'use strict';var $window=$(window);Drupal.behaviors.externalLinkPopup={attach:function(context){var self=this;var settings=drupalSettings.external_link_popup;if(!settings.popups||!settings.popups.length||!$(once('external-link-popup','body',context)).length)return;var whitelist=settings.whitelist?settings.whitelist.split(/\s*,\s*|\s+/):[];var current=window.location.host||window.location.hostname;var popup;whitelist.unshift(current);if(current.substr(0,4)==='www.')whitelist.push(current.substr(4));else whitelist.push('www.'+current);$('body',context).on('click','a',function(e){var element=$(this).get(0);var popupId=element.getAttribute('data-external-link-popup-id');var domain=self.getDomain(element.getAttribute('href'));if(!domain&&!popupId)return;if($(element).hasClass('external-link-popup-disabled')||!popupId&&self.inDomain(domain,whitelist)){$window.trigger({type:'externalLinkPopup:skipped',popupId:null,domain,target:element});return;}for(var i=0;i<settings.popups.length;i++){popup=settings.popups[i];if(!popupId&&popup.domains!=='*'&&!self.inDomain(domain,popup.domains.split(/\s*,\s*|\s+/)))continue;if(popupId&&popupId!==popup.id)continue;e.preventDefault();return self.openDialog(element,popup,domain);}$window.trigger({type:'externalLinkPopup:notFound',popupId:null,domain,target:element});});}
12,inDomain:function(domain,domains){if(typeof domain!=='string')return false;for(var i in domains)if(domain.toLowerCase()===domains[i].toLowerCase()||domain.match(new RegExp('\\.'+this.pregEscape(domains[i])+'$','i')))return true;return false;},getDomain:function(url){if(typeof url!=='string')return null;var matches=url.match(/\/\/([^/]+)\/?/);return matches&&matches[1];},pregEscape:function(str){return (str+'').replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]','g'),'\\$&');},openDialog:function(element,popup,domain){var dialog;var yes=false;var body=document.createElement('div');var content=document.createElement('div');var options={title:popup.title,width:drupalSettings.external_link_popup.width||'85%',buttons:[{text:popup.labelyes,click:function(){yes=true;$(this).dialog('close');$window.trigger({type:'externalLinkPopup:yes',popupId:popup.id,domain,target:element});var target=window.open(element.href,element.target||popup.target);target.focus();}}],create:function(){var $widget=$(this).parent();if(!$widget.length)$widget=$('.modal-dialog',this);$widget.addClass('external-link-popup').addClass('external-link-popup-id-'+popup.id.replace('_','-'));if(!popup.close)$widget.find('.ui-dialog-titlebar-close').remove();if(!popup.title&&!popup.close)$widget.find('.ui-dialog-titlebar').remove();},close:function(){var $element=$(this);if(dialog&&dialog.open)dialog.close();$element.dialog('destroy');if(!yes)$window.trigger({type:'externalLinkPopup:no',popupId:popup.id,domain,target:element});}};if(popup.labelno)options.buttons.push({text:popup.labelno,click:function(){$(this).dialog('close');}});var url=$(element).attr('href');var text=$(element).text();var bodyHtml=popup.body.replace('[link:url]',this.htmlEncode(url)).replace('[link:text]',this.htmlEncode(text));content.className='external-link-popup-content';body.innerHTML=bodyHtml;body.className='external-link-popup-body';content.appendChild(body);dialog=Drupal.dialog(content,options);dialog.showModal();},htmlEncode:function(value){return $('<div/>').text(value).html();}};})(jQuery,Drupal,drupalSettings,once);; 13((Drupal,drupalSettings)=>{Drupal.extlink=Drupal.extlink||{};Drupal.extlink.attach=(context,drupalSettings)=>{if(typeof drupalSettings.data==='undefined'||!drupalSettings.data.hasOwnProperty('extlink'))return;let extIconPlacement='append';if(drupalSettings.data.extlink.extIconPlacement&&drupalSettings.data.extlink.extIconPlacement!=='0')extIconPlacement=drupalSettings.data.extlink.extIconPlacement;const pattern=/^(([^:]+?\.)*)([^.:]+)((\.[a-z0-9]{1,253})*)(:[0-9]{1,5})?$/;const host=window.location.host.replace(pattern,'$2$3$6');const subdomain=window.location.host.replace(host,'');let subdomains;if(drupalSettings.data.extlink.extSubdomains)subdomains='([^/]*\\.)?';else if(subdomain==='www.'||subdomain==='')subdomains='(www\\.)?';else subdomains=subdomain.replace('.','\\.');let allowedDomains=false;if(drupalSettings.data.extlink.allowedDomains){allowedDomains=[];for(let i=0;i<drupalSettings.data.extlink.allowedDomains.length;i++)allowedDomains.push(new RegExp(`^https?:\\/\\/${drupalSettings.data.extlink.allowedDomains[i].replace(/(\r\n|\n|\r)/gm,'')}.*$`,'i'));}const internalLink=new RegExp(`^https?://([^@]*@)?${subdomains}${host}`,'i');let extInclude=false;if(drupalSettings.data.extlink.extInclude)extInclude=new RegExp(drupalSettings.data.extlink.extInclude.replace(/\\/,'\\'),'i');let extExclude=false;if(drupalSettings.data.extlink.extExclude)extExclude=new RegExp(drupalSettings.data.extlink.extExclude.replace(/\\/,'\\'),'i');let extExcludeNoreferrer=false;if(drupalSettings.data.extlink.extExcludeNoreferrer)extExcludeNoreferrer=new RegExp(drupalSettings.data.extlink.extExcludeNoreferrer.replace(/\\/,'\\'),'i');let extCssExclude=false;if(drupalSettings.data.extlink.extCssExclude)extCssExclude=drupalSettings.data.extlink.extCssExclude;let extCssInclude=false;if(drupalSettings.data.extlink.extCssInclude)extCssInclude=drupalSettings.data.extlink.extCssInclude;let extCssExplicit=false;if(drupalSettings.data.extlink.extCssExplicit)extCssExplicit=drupalSettings.data.extlink.extCssExplicit;const externalLinks=[];const mailtoLinks=[];const telLinks=[];const extlinks=context.querySelectorAll('a:not([data-extlink]), area:not([data-extlink])');extlinks.forEach((el)=>{try{let url='';if(typeof el.href==='string')url=el.href.toLowerCase();else{if(typeof el.href==='object')url=el.href.baseVal;}
13const isExtCssIncluded=extCssInclude&&(el.matches(extCssInclude)||el.closest(extCssInclude));if(url.indexOf('http')===0&&((!internalLink.test(url)&&!(extExclude&&extExclude.test(url)))||(extInclude&&extInclude.test(url))||isExtCssIncluded)&&!(extCssExclude&&el.matches(extCssExclude))&&!(extCssExclude&&el.closest(extCssExclude))&&!(extCssExplicit&&!el.closest(extCssExplicit))){let match=false;if(!isExtCssIncluded&&allowedDomains){for(let i=0;i<allowedDomains.length;i++)if(allowedDomains[i].test(url)){match=true;break;}}if(!match)externalLinks.push(el);}else{if(el.tagName!=='AREA'&&!(extCssExclude&&el.closest(extCssExclude))&&!(extCssExplicit&&!el.closest(extCssExplicit)))if(url.indexOf('mailto:')===0)mailtoLinks.push(el);else{if(url.indexOf('tel:')===0)telLinks.push(el);}}}catch(error){return false;}});const hasExtIcon=drupalSettings.data.extlink.extClass!=='0'&&drupalSettings.data.extlink.extClass!=='';const hasAdditionalExtClasses=drupalSettings.data.extlink.extAdditionalLinkClasses!=='';Drupal.extlink.applyClassAndSpan(externalLinks,'ext',hasExtIcon?extIconPlacement:null);if(hasAdditionalExtClasses)Drupal.extlink.applyClassAndSpan(externalLinks,drupalSettings.data.extlink.extAdditionalLinkClasses,null);const hasMailtoClass=drupalSettings.data.extlink.mailtoClass!=='0'&&drupalSettings.data.extlink.mailtoClass!=='';const hasAdditionalMailtoClasses=drupalSettings.data.extlink.extAdditionalMailtoClasses!=='';if(hasMailtoClass)Drupal.extlink.applyClassAndSpan(mailtoLinks,drupalSettings.data.extlink.mailtoClass,extIconPlacement);if(hasAdditionalMailtoClasses)Drupal.extlink.applyClassAndSpan(mailtoLinks,drupalSettings.data.extlink.extAdditionalMailtoClasses,null);const hasTelClass=drupalSettings.data.extlink.telClass!=='0'&&drupalSettings.data.extlink.telClass!=='';const hasAdditionalTelClasses=drupalSettings.data.extlink.extAdditionalTelClasses!=='0'&&drupalSettings.data.extlink.extAdditionalTelClasses!=='';if(hasTelClass)Drupal.extlink.applyClassAndSpan(telLinks,drupalSettings.data.extlink.telClass,extIconPlacement);if(hasAdditionalTelClasses)Drupal.extlink.applyClassAndSpan(mailtoLinks,drupalSettings.data.extlink.extAdditionalTelClasses,null);if(drupalSettings.data.extlink.extTarget){externalLinks.forEach((link,i)=>{if(!(drupalSettings.data.extlink.extTargetNoOverride&&link.matches('a[target]')))externalLinks[i].setAttribute('target','_blank');});externalLinks.forEach((link,i)=>{const val=link.getAttribute('rel');if(val===null||typeof val==='undefined'){externalLinks[i].setAttribute('rel','noopener');return;}if(val.indexOf('noopener')>-1)if(val.indexOf('noopener')===-1)externalLinks[i].setAttribute('rel',`${val} noopener`);else{}else externalLinks[i].setAttribute('rel',`${val} noopener`);});}if(drupalSettings.data.extlink.extNofollow)externalLinks.forEach((link,i)=>{const val=link.getAttribute('rel');if(val===null||typeof val==='undefined'){externalLinks[i].setAttribute('rel','nofollow');return;}let target='nofollow';if(drupalSettings.data.extlink.extFollowNoOverride)target='follow';if(val.indexOf(target)===-1)externalLinks[i].setAttribute('rel',`${val} nofollow`);});if(drupalSettings.data.extlink.extTitleNoOverride===false)externalLinks.forEach((link,i)=>{const oldTitle=link.getAttribute('title');let newTitle='';if(drupalSettings.data.extlink.extTargetAppendNewWindowDisplay)newTitle=drupalSettings.data.extlink.extTargetAppendNewWindowLabel;if(oldTitle!==null){if(Drupal.extlink.hasNewWindowText(oldTitle))return;newTitle=Drupal.extlink.combineLabels(oldTitle,newTitle);}if(newTitle)externalLinks[i].setAttribute('title',newTitle);});if(drupalSettings.data.extlink.extNoreferrer)externalLinks.forEach((link,i)=>{if(drupalSettings.data.extlink.extExcludeNoreferrer&&extExcludeNoreferrer.test(link.getAttribute('href')))return;const val=link.getAttribute('rel');if(val===null||typeof val==='undefined'){externalLinks[i].setAttribute('rel','noreferrer');return;}externalLinks[i].setAttribute('rel',`${val} noreferrer`);});Drupal.extlink=Drupal.extlink||{};Drupal.extlink.popupClickHandler=Drupal.extlink.popupClickHandler||(()=>{if(drupalSettings.data.extlink.extAlert)return confirm(drupalSettings.data.extlink.extAlertText);});const _that=this;Drupal.extlink.handleClick=function(event){const shouldNavigate=Drupal.extlink.popupClickHandler.call(_that,event);if(typeof shouldNavigate!=='undefined'&&!shouldNavigate)event.preventDefault();};externalLinks.forEach((val,i)=>{externalLinks[i].removeEventListener('click',Drupal.extlink.handleClick);externalLinks[i].addEventListener('click',Drupal.extlink.handleClick);});};Drupal.extlink.hasNewWindowText=function(label){return label.toLowerCase().indexOf(Drupal.t('new window'))!==-1;};Drupal.extlink.combineLabels=function(labelA,labelB){labelA=labelA||'';labelB=labelB||'';if(!labelA.trim())return labelB;if(!labelB.trim())return labelA;const labelANoParens=labelA.trim().replace('(','').replace(')','');const labelBNoParens=labelB.trim().replace('(','').replace(')','');if(labelA===labelANoParens){if(labelB===labelBNoParens)return `${labelA}, ${labelB}`;return `${labelA} ${labelB}`;}if(labelB===labelBNoParens)return `${labelB} ${labelA}`;return `(${labelANoParens}, ${labelBNoParens})`;};Drupal.extlink.applyClassAndSpan=(links,className,iconPlacement)=>{let linksToProcess;if(drupalSettings.data.extlink.extImgClass)linksToProcess=links;else linksToProcess=links.filter((link)=>{return link.querySelector('img, svg')===null;});for(let i=0;i<linksToProcess.length;i++){if(className!=='0')linksToProcess[i].classList.add(className);if(className===drupalSettings.data.extlink.mailtoClass&&drupalSettings.data.extlink.extAdditionalMailtoClasse
13s)linksToProcess[i].classList.add(drupalSettings.data.extlink.extAdditionalMailtoClasses);else if(className===drupalSettings.data.extlink.telClass&&drupalSettings.data.extlink.extAdditionalTelClasses)linksToProcess[i].classList.add(drupalSettings.data.extlink.extAdditionalTelClasses);else{if(drupalSettings.data.extlink.extAdditionalLinkClasses)linksToProcess[i].classList.add(drupalSettings.data.extlink.extAdditionalLinkClasses);}linksToProcess[i].setAttribute('data-extlink','');if(iconPlacement){let link=linksToProcess[i];if(drupalSettings.data.extlink.extPreventOrphan&&iconPlacement==='append'){let lastTextNode=link.lastChild;let trailingWhitespace=null;let parentNode=link;while(lastTextNode)if(lastTextNode.lastChild){parentNode=lastTextNode;lastTextNode=lastTextNode.lastChild;}else if(lastTextNode.nodeName==='#text'&&parentNode.lastElementChild&&lastTextNode.textContent.trim().length===0){trailingWhitespace=lastTextNode;parentNode=parentNode.lastElementChild;lastTextNode=parentNode.lastChild;}else break;if(lastTextNode&&lastTextNode.nodeName==='#text'&&lastTextNode.textContent.length>0){const lastText=lastTextNode.textContent;const lastWordRegex=new RegExp(/\S+\s*$/,'g');const lastWord=lastText.match(lastWordRegex);if(lastWord!==null){const breakPreventer=document.createElement('span');breakPreventer.classList.add('extlink-nobreak');breakPreventer.textContent=lastWord[0];if(trailingWhitespace){trailingWhitespace.textContent='';breakPreventer.append(trailingWhitespace.textContent);}lastTextNode.textContent=lastText.substring(0,lastText.length-lastWord[0].length);lastTextNode.parentNode.append(breakPreventer);link=breakPreventer;}}}let iconElement;if(drupalSettings.data.extlink.extUseFontAwesome){iconElement=document.createElement('span');iconElement.setAttribute('class',`fa-${className} extlink`);if(className===drupalSettings.data.extlink.mailtoClass){if(drupalSettings.data.extlink.mailtoLabel)link.ariaLabel=drupalSettings.data.extlink.mailtoLabel;iconElement.innerHTML=Drupal.theme('extlink_fa_mailto',drupalSettings,iconPlacement);}else if(className===drupalSettings.data.extlink.extClass){if(drupalSettings.data.extlink.extLabel)link.ariaLabel=drupalSettings.data.extlink.extLabel;iconElement.innerHTML=Drupal.theme('extlink_fa_extlink',drupalSettings,iconPlacement);}else{if(className===drupalSettings.data.extlink.telClass){if(drupalSettings.data.extlink.telLabel)link.ariaLabel=drupalSettings.data.extlink.telLabel;iconElement.innerHTML=Drupal.theme('extlink_fa_tel',drupalSettings,iconPlacement);}}}else{iconElement=document.createElementNS('http://www.w3.org/2000/svg','svg');iconElement.setAttribute('focusable','false');iconElement.setAttribute('width','1em');iconElement.setAttribute('height','1em');iconElement.classList.add(className);iconElement.setAttribute('data-extlink-placement',iconPlacement);if(className===drupalSettings.data.extlink.mailtoClass)iconElement=Drupal.theme('extlink_mailto',iconElement,drupalSettings);else if(className===drupalSettings.data.extlink.extClass)iconElement=Drupal.theme('extlink_extlink',iconElement,drupalSettings);else{if(className===drupalSettings.data.extlink.telClass)iconElement=Drupal.theme('extlink_tel',iconElement,drupalSettings);}}iconElement.setAttribute('role','img');iconElement.setAttribute('aria-hidden',drupalSettings.data.extlink.extHideIcons);link[iconPlacement](iconElement);}}};Drupal.theme.extlink_fa_mailto=function(drupalSettings,iconPlacement){return `<span class="${drupalSettings.data.extlink.extFaMailtoClasses}" data-extlink-placement="${iconPlacement}"></span>`;};Drupal.theme.extlink_fa_extlink=function(drupalSettings,iconPlacement){return `<span class="${drupalSettings.data.extlink.extFaLinkClasses}" data-extlink-placement="${iconPlacement}"></span>`;};Drupal.theme.extlink_fa_tel=function(drupalSettings,iconPlacement){return `<span class="${drupalSettings.data.extlink.extFaTelClasses}" data-extlink-placement="${iconPlacement}"></span>`;};Drupal.theme.extlink_mailto=function(iconElement,drupalSettings){iconElement.setAttribute('aria-label',drupalSettings.data.extlink.mailtoLabel);iconElement.setAttribute('viewBox','0 10 70 20');iconElement.innerHTML=`<title>${drupalSettings.data.extlink.mailtoLabel}</title><path d="M56 14H8c-1.1 0-2 0.9-2 2v32c0 1.1 0.9 2 2 2h48c1.1 0 2-0.9 2-2V16C58 14.9 57.1 14 56 14zM50.5 18L32 33.4 13.5 18H50.5zM10 46V20.3l20.7 17.3C31.1 37.8 31.5 38 32 38s0.9-0.2 1.3-0.5L54 20.3V46H10z"/>`;return iconElement;};Drupal.theme.extlink_extlink=function(iconElement,drupalSettings){iconElement.setAttribute('aria-label',drupalSettings.data.extlink.extLabel);iconElement.setAttribute('viewBox','0 0 80 40');iconElement.innerHTML=`<title>${drupalSettings.data.extlink.extLabel}</title><path d="M48 26c-1.1 0-2 0.9-2 2v26H10V18h26c1.1 0 2-0.9 2-2s-0.9-2-2-2H8c-1.1 0-2 0.9-2 2v40c0 1.1 0.9 2 2 2h40c1.1 0 2-0.9 2-2V28C50 26.9 49.1 26 48 26z"/><path d="M56 6H44c-1.1 0-2 0.9-2 2s0.9 2 2 2h7.2L30.6 30.6c-0.8 0.8-0.8 2 0 2.8C31 33.8 31.5 34 32 34s1-0.2 1.4-0.6L54 12.8V20c0 1.1 0.9 2 2 2s2-0.9 2-2V8C58 6.9 57.1 6 56 6z"/>`;return iconElement;};Drupal.theme.extlink_tel=function(iconElement,drupalSettings){iconElement.setAttribute('aria-label',drupalSettings.data.extlink.telLabel);iconElement.setAttribute('viewBox','0 0 181.352 181.352');iconElement.innerHTML=`<title>${drupalSettings.data.extlink.telLabel}</title><path xmlns="http://www.w3.org/2000/svg" d="M169.393,167.37l-14.919,9.848c-9.604,6.614-50.531,14.049-106.211-53.404C-5.415,58.873,9.934,22.86,17.134,14.555L29.523,1.678c2.921-2.491,7.328-2.198,9.839,0.811l32.583,38.543l0.02,0.02c2.384,2.824,2.306,7.22-0.83,9.868v0.029l-14.44,10.415c-5.716,5.667-0.733,14.587,5.11,23.204l27.786,32.808c12.926,12.477,20.009,18.241,26.194,14.118l12.008-13.395c2.941-2.472,7.328-2.169,9.839,0.821l32.603,38.543v0.02C172.607,160.316,172.519,164.703,169.393,167.37z"/>`;return iconElement;};Drupal.behaviors.extlink=Drupal.behaviors.extlink||{};Drupal.behaviors.extlink.attach=(context,drupalSettings)=>{if(typeof extlinkAttach==='function')extlinkAttach(context);else Drupal.extlink.attach(context,drupalSettings);};})(Drupal,drupalSettings);; 14((Drupal)=>{Drupal.behaviors.lazy={attach(context,settings){const utils={extend(obj,src){Object.keys(src).forEac
14h((key)=>{obj[key]=src[key];});return obj;},once(selector){return (context||document).querySelector(selector);},loadScript(url){if(document.querySelectorAll(`script[src="${url}"]`).length===0){const script=document.createElement('script');const scripts=document.getElementsByTagName('script')[0];script.src=url;script.async=true;scripts.parentNode.insertBefore(script,scripts);}}};if(utils.once('body',context)){const lazysizes=settings.lazy.lazysizes||{};if(!settings.lazy.preferNative){window.lazySizesConfig=window.lazySizesConfig||{};window.lazySizesConfig=utils.extend(window.lazySizesConfig,lazysizes);if(!Object.entries)Object.entries=(obj)=>{const ownProps=Object.keys(obj);let i=ownProps.length;const resArray=new Array(i);while(i--)resArray[i]=[ownProps[i],obj[ownProps[i]]];return resArray;};const min=settings.lazy.minified?'.min':'';Object.entries(lazysizes.plugins).forEach((path)=>{utils.loadScript(`${settings.lazy.libraryPath}/plugins/${path[1]}${min}.js`);});utils.loadScript(`${settings.lazy.libraryPath}/lazysizes${min}.js`);}}}};})(Drupal);; 15(function(Drupal,once,$){Drupal.behaviors.marketo_ma={attach(context,settings){const e=once('marketo',document.body);e.forEach(function(){if(typeof settings.marketo_ma!=='undefined'&&settings.marketo_ma.track)$.ajax({url:document.location.protocol+settings.marketo_ma.library,dataType:'script',cache:true,success(){Munchkin.init(settings.marketo_ma.key,settings.marketo_ma.initParams);if(typeof settings.marketo_ma.actions!=='undefined')settings.marketo_ma.actions.forEach(function(){Drupal.behaviors.marketo_ma.marketoMunchkinFunction(this.action,this.data,this.hash);});}});});},marketoMunchkinFunction(actionType,data,hash){Munchkin.munchkinFunction(actionType,data,hash);}};})(Drupal,once,jQuery);;
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.