diff --git a/_sources/wfl.fit.rst b/_sources/wfl.fit.rst index 689e391e..40a6f364 100644 --- a/_sources/wfl.fit.rst +++ b/_sources/wfl.fit.rst @@ -29,6 +29,14 @@ wfl.fit.error module :undoc-members: :show-inheritance: +wfl.fit.mace module +------------------- + +.. automodule:: wfl.fit.mace + :members: + :undoc-members: + :show-inheritance: + wfl.fit.utils module -------------------- diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 03c0d01d..05f76e70 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -8,7 +8,7 @@ var DOCUMENTATION_OPTIONS = { LINK_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '', - NAVIGATION_WITH_KEYS: true, + NAVIGATION_WITH_KEYS: false, SHOW_SEARCH_SUMMARY: true, ENABLE_SEARCH_SHORTCUTS: true, }; \ No newline at end of file diff --git a/_static/scripts/bootstrap.js b/_static/scripts/bootstrap.js index ef07e0bc..bda8a602 100644 --- a/_static/scripts/bootstrap.js +++ b/_static/scripts/bootstrap.js @@ -1,3 +1,3 @@ /*! For license information please see bootstrap.js.LICENSE.txt */ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>w,afterRead:()=>b,afterWrite:()=>C,applyStyles:()=>$,arrow:()=>G,auto:()=>r,basePlacements:()=>a,beforeMain:()=>v,beforeRead:()=>m,beforeWrite:()=>A,bottom:()=>n,clippingParents:()=>h,computeStyles:()=>et,createPopper:()=>Dt,createPopperBase:()=>Lt,createPopperLite:()=>$t,detectOverflow:()=>mt,end:()=>c,eventListeners:()=>nt,flip:()=>_t,hide:()=>yt,left:()=>o,main:()=>y,modifierPhases:()=>T,offset:()=>wt,placements:()=>g,popper:()=>u,popperGenerator:()=>kt,popperOffsets:()=>At,preventOverflow:()=>Et,read:()=>_,reference:()=>f,right:()=>s,start:()=>l,top:()=>i,variationPlacements:()=>p,viewport:()=>d,write:()=>E});var i="top",n="bottom",s="right",o="left",r="auto",a=[i,n,s,o],l="start",c="end",h="clippingParents",d="viewport",u="popper",f="reference",p=a.reduce((function(t,e){return t.concat([e+"-"+l,e+"-"+c])}),[]),g=[].concat(a,[r]).reduce((function(t,e){return t.concat([e,e+"-"+l,e+"-"+c])}),[]),m="beforeRead",_="read",b="afterRead",v="beforeMain",y="main",w="afterMain",A="beforeWrite",E="write",C="afterWrite",T=[m,_,b,v,y,w,A,E,C];function O(t){return t?(t.nodeName||"").toLowerCase():null}function x(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function k(t){return t instanceof x(t).Element||t instanceof Element}function L(t){return t instanceof x(t).HTMLElement||t instanceof HTMLElement}function D(t){return"undefined"!=typeof ShadowRoot&&(t instanceof x(t).ShadowRoot||t instanceof ShadowRoot)}const $={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];L(s)&&O(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});L(n)&&O(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function S(t){return t.split("-")[0]}var I=Math.max,N=Math.min,P=Math.round;function j(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function M(){return!/^((?!chrome|android).)*safari/i.test(j())}function H(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&L(t)&&(s=t.offsetWidth>0&&P(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&P(n.height)/t.offsetHeight||1);var r=(k(t)?x(t):window).visualViewport,a=!M()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function B(t){var e=H(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function W(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&D(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function F(t){return x(t).getComputedStyle(t)}function z(t){return["table","td","th"].indexOf(O(t))>=0}function q(t){return((k(t)?t.ownerDocument:t.document)||window.document).documentElement}function R(t){return"html"===O(t)?t:t.assignedSlot||t.parentNode||(D(t)?t.host:null)||q(t)}function V(t){return L(t)&&"fixed"!==F(t).position?t.offsetParent:null}function Y(t){for(var e=x(t),i=V(t);i&&z(i)&&"static"===F(i).position;)i=V(i);return i&&("html"===O(i)||"body"===O(i)&&"static"===F(i).position)?e:i||function(t){var e=/firefox/i.test(j());if(/Trident/i.test(j())&&L(t)&&"fixed"===F(t).position)return null;var i=R(t);for(D(i)&&(i=i.host);L(i)&&["html","body"].indexOf(O(i))<0;){var n=F(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function K(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Q(t,e,i){return I(t,N(e,i))}function X(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function U(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const G={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,l=t.name,c=t.options,h=r.elements.arrow,d=r.modifiersData.popperOffsets,u=S(r.placement),f=K(u),p=[o,s].indexOf(u)>=0?"height":"width";if(h&&d){var g=function(t,e){return X("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:U(t,a))}(c.padding,r),m=B(h),_="y"===f?i:o,b="y"===f?n:s,v=r.rects.reference[p]+r.rects.reference[f]-d[f]-r.rects.popper[p],y=d[f]-r.rects.reference[f],w=Y(h),A=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,E=v/2-y/2,C=g[_],T=A-m[p]-g[b],O=A/2-m[p]/2+E,x=Q(C,O,T),k=f;r.modifiersData[l]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&W(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function J(t){return t.split("-")[1]}var Z={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tt(t){var e,r=t.popper,a=t.popperRect,l=t.placement,h=t.variation,d=t.offsets,u=t.position,f=t.gpuAcceleration,p=t.adaptive,g=t.roundOffsets,m=t.isFixed,_=d.x,b=void 0===_?0:_,v=d.y,y=void 0===v?0:v,w="function"==typeof g?g({x:b,y}):{x:b,y};b=w.x,y=w.y;var A=d.hasOwnProperty("x"),E=d.hasOwnProperty("y"),C=o,T=i,O=window;if(p){var k=Y(r),L="clientHeight",D="clientWidth";k===x(r)&&"static"!==F(k=q(r)).position&&"absolute"===u&&(L="scrollHeight",D="scrollWidth"),(l===i||(l===o||l===s)&&h===c)&&(T=n,y-=(m&&k===O&&O.visualViewport?O.visualViewport.height:k[L])-a.height,y*=f?1:-1),l!==o&&(l!==i&&l!==n||h!==c)||(C=s,b-=(m&&k===O&&O.visualViewport?O.visualViewport.width:k[D])-a.width,b*=f?1:-1)}var $,S=Object.assign({position:u},p&&Z),I=!0===g?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:P(i*s)/s||0,y:P(n*s)/s||0}}({x:b,y},x(r)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},S,(($={})[T]=E?"0":"",$[C]=A?"0":"",$.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",$)):Object.assign({},S,((e={})[T]=E?y+"px":"",e[C]=A?b+"px":"",e.transform="",e))}const et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:S(e.placement),variation:J(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,tt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,tt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var it={passive:!0};const nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=x(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,it)})),a&&l.addEventListener("resize",i.update,it),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,it)})),a&&l.removeEventListener("resize",i.update,it)}},data:{}};var st={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(t){return t.replace(/left|right|bottom|top/g,(function(t){return st[t]}))}var rt={start:"end",end:"start"};function at(t){return t.replace(/start|end/g,(function(t){return rt[t]}))}function lt(t){var e=x(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ct(t){return H(q(t)).left+lt(t).scrollLeft}function ht(t){var e=F(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function dt(t){return["html","body","#document"].indexOf(O(t))>=0?t.ownerDocument.body:L(t)&&ht(t)?t:dt(R(t))}function ut(t,e){var i;void 0===e&&(e=[]);var n=dt(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=x(n),r=s?[o].concat(o.visualViewport||[],ht(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ut(R(r)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pt(t,e,i){return e===d?ft(function(t,e){var i=x(t),n=q(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=M();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ct(t),y:l}}(t,i)):k(e)?function(t,e){var i=H(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=q(t),n=lt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=I(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=I(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ct(t),l=-n.scrollTop;return"rtl"===F(s||i).direction&&(a+=I(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(q(t)))}function gt(t){var e,r=t.reference,a=t.element,h=t.placement,d=h?S(h):null,u=h?J(h):null,f=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2;switch(d){case i:e={x:f,y:r.y-a.height};break;case n:e={x:f,y:r.y+r.height};break;case s:e={x:r.x+r.width,y:p};break;case o:e={x:r.x-a.width,y:p};break;default:e={x:r.x,y:r.y}}var g=d?K(d):null;if(null!=g){var m="y"===g?"height":"width";switch(u){case l:e[g]=e[g]-(r[m]/2-a[m]/2);break;case c:e[g]=e[g]+(r[m]/2-a[m]/2)}}return e}function mt(t,e){void 0===e&&(e={});var o=e,r=o.placement,l=void 0===r?t.placement:r,c=o.strategy,p=void 0===c?t.strategy:c,g=o.boundary,m=void 0===g?h:g,_=o.rootBoundary,b=void 0===_?d:_,v=o.elementContext,y=void 0===v?u:v,w=o.altBoundary,A=void 0!==w&&w,E=o.padding,C=void 0===E?0:E,T=X("number"!=typeof C?C:U(C,a)),x=y===u?f:u,D=t.rects.popper,$=t.elements[A?x:y],S=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ut(R(t)),i=["absolute","fixed"].indexOf(F(t).position)>=0&&L(t)?Y(t):t;return k(i)?e.filter((function(t){return k(t)&&W(t,i)&&"body"!==O(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=pt(t,i,n);return e.top=I(s.top,e.top),e.right=N(s.right,e.right),e.bottom=N(s.bottom,e.bottom),e.left=I(s.left,e.left),e}),pt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(k($)?$:$.contextElement||q(t.elements.popper),m,b,p),P=H(t.elements.reference),j=gt({reference:P,element:D,strategy:"absolute",placement:l}),M=ft(Object.assign({},D,j)),B=y===u?M:P,z={top:S.top-B.top+T.top,bottom:B.bottom-S.bottom+T.bottom,left:S.left-B.left+T.left,right:B.right-S.right+T.right},V=t.modifiersData.offset;if(y===u&&V){var K=V[l];Object.keys(z).forEach((function(t){var e=[s,n].indexOf(t)>=0?1:-1,o=[i,n].indexOf(t)>=0?"y":"x";z[t]+=K[o]*e}))}return z}const _t={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,c=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var d=c.mainAxis,u=void 0===d||d,f=c.altAxis,m=void 0===f||f,_=c.fallbackPlacements,b=c.padding,v=c.boundary,y=c.rootBoundary,w=c.altBoundary,A=c.flipVariations,E=void 0===A||A,C=c.allowedAutoPlacements,T=e.options.placement,O=S(T),x=_||(O!==T&&E?function(t){if(S(t)===r)return[];var e=ot(t);return[at(t),e,at(e)]}(T):[ot(T)]),k=[T].concat(x).reduce((function(t,i){return t.concat(S(i)===r?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,l=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?g:c,d=J(n),u=d?l?p:p.filter((function(t){return J(t)===d})):a,f=u.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=u);var m=f.reduce((function(e,i){return e[i]=mt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[S(i)],e}),{});return Object.keys(m).sort((function(t,e){return m[t]-m[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:E,allowedAutoPlacements:C}):i)}),[]),L=e.rects.reference,D=e.rects.popper,$=new Map,I=!0,N=k[0],P=0;P=0,W=B?"width":"height",F=mt(e,{placement:j,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=B?H?s:o:H?n:i;L[W]>D[W]&&(z=ot(z));var q=ot(z),R=[];if(u&&R.push(F[M]<=0),m&&R.push(F[z]<=0,F[q]<=0),R.every((function(t){return t}))){N=j,I=!1;break}$.set(j,R)}if(I)for(var V=function(t){var e=k.find((function(e){var i=$.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},Y=E?3:1;Y>0&&"break"!==V(Y);Y--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function vt(t){return[i,s,n,o].some((function(e){return t[e]>=0}))}const yt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=mt(e,{elementContext:"reference"}),a=mt(e,{altBoundary:!0}),l=bt(r,n),c=bt(a,s,o),h=vt(l),d=vt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,r=t.name,a=n.offset,l=void 0===a?[0,0]:a,c=g.reduce((function(t,n){return t[n]=function(t,e,n){var r=S(t),a=[o,i].indexOf(r)>=0?-1:1,l="function"==typeof n?n(Object.assign({},e,{placement:t})):n,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[o,s].indexOf(r)>=0?{x:h,y:c}:{x:c,y:h}}(n,e.rects,l),t}),{}),h=c[e.placement],d=h.x,u=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=u),e.modifiersData[r]=c}},At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=gt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Et={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,a=t.name,c=r.mainAxis,h=void 0===c||c,d=r.altAxis,u=void 0!==d&&d,f=r.boundary,p=r.rootBoundary,g=r.altBoundary,m=r.padding,_=r.tether,b=void 0===_||_,v=r.tetherOffset,y=void 0===v?0:v,w=mt(e,{boundary:f,rootBoundary:p,padding:m,altBoundary:g}),A=S(e.placement),E=J(e.placement),C=!E,T=K(A),O="x"===T?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,D="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,$="number"==typeof D?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,j={x:0,y:0};if(x){if(h){var M,H="y"===T?i:o,W="y"===T?n:s,F="y"===T?"height":"width",z=x[T],q=z+w[H],R=z-w[W],V=b?-L[F]/2:0,X=E===l?k[F]:L[F],U=E===l?-L[F]:-k[F],G=e.elements.arrow,Z=b&&G?B(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[H],it=tt[W],nt=Q(0,k[F],Z[F]),st=C?k[F]/2-V-nt-et-$.mainAxis:X-nt-et-$.mainAxis,ot=C?-k[F]/2+V+nt+it+$.mainAxis:U+nt+it+$.mainAxis,rt=e.elements.arrow&&Y(e.elements.arrow),at=rt?"y"===T?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(M=null==P?void 0:P[T])?M:0,ct=z+ot-lt,ht=Q(b?N(q,z+st-lt-at):q,z,b?I(R,ct):R);x[T]=ht,j[T]=ht-z}if(u){var dt,ut="x"===T?i:o,ft="x"===T?n:s,pt=x[O],gt="y"===O?"height":"width",_t=pt+w[ut],bt=pt-w[ft],vt=-1!==[i,o].indexOf(A),yt=null!=(dt=null==P?void 0:P[O])?dt:0,wt=vt?_t:pt-k[gt]-L[gt]-yt+$.altAxis,At=vt?pt+k[gt]+L[gt]-yt-$.altAxis:bt,Et=b&&vt?function(t,e,i){var n=Q(t,e,i);return n>i?i:n}(wt,pt,At):Q(b?wt:_t,pt,b?At:bt);x[O]=Et,j[O]=Et-pt}e.modifiersData[a]=j}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=L(e),r=L(e)&&function(t){var e=t.getBoundingClientRect(),i=P(e.width)/t.offsetWidth||1,n=P(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=q(e),l=H(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==O(e)||ht(a))&&(c=(n=e)!==x(n)&&L(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:lt(n)),L(e)?((h=H(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ct(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Tt(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function xt(){for(var t=arguments.length,e=new Array(t),i=0;i{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},Nt=t=>{const e=It(t);return e&&document.querySelector(e)?e:null},Pt=t=>{const e=It(t);return e?document.querySelector(e):null},jt=t=>{t.dispatchEvent(new Event(St))},Mt=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Mt(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,Bt=t=>{if(!Mt(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Wt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),Ft=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Ft(t.parentNode):null},zt=()=>{},qt=t=>{t.offsetHeight},Rt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Vt=[],Yt=()=>"rtl"===document.documentElement.dir,Kt=t=>{var e;e=()=>{const e=Rt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Vt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Vt)t()})),Vt.push(e)):e()},Qt=t=>{"function"==typeof t&&t()},Xt=(t,e,i=!0)=>{if(!i)return void Qt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(St,o),Qt(t))};e.addEventListener(St,o),setTimeout((()=>{s||jt(e)}),n)},Ut=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Gt=/[^.]*(?=\..*)\.|.*/,Jt=/\..*/,Zt=/::\d+$/,te={};let ee=1;const ie={mouseenter:"mouseover",mouseleave:"mouseout"},ne=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function se(t,e){return e&&`${e}::${ee++}`||t.uidEvent||ee++}function oe(t){const e=se(t);return t.uidEvent=e,te[e]=te[e]||{},te[e]}function re(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function ae(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=de(t);return ne.has(o)||(o=t),[n,s,o]}function le(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=ae(e,i,n);if(e in ie){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=oe(t),c=l[a]||(l[a]={}),h=re(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=se(r,e.replace(Gt,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return fe(s,{delegateTarget:r}),n.oneOff&&ue.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return fe(n,{delegateTarget:t}),i.oneOff&&ue.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function ce(t,e,i,n,s){const o=re(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function he(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];ce(t,e,i,n.callable,n.delegationSelector)}}function de(t){return t=t.replace(Jt,""),ie[t]||t}const ue={on(t,e,i,n){le(t,e,i,n,!1)},one(t,e,i,n){le(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=ae(e,i,n),a=r!==e,l=oe(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))he(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(Zt,"");if(!a||e.includes(n)){const e=c[i];ce(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;ce(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Rt();let s=null,o=!0,r=!0,a=!1;e!==de(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=fe(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function fe(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const pe=new Map,ge={set(t,e,i){pe.has(t)||pe.set(t,new Map);const n=pe.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>pe.has(t)&&pe.get(t).get(e)||null,remove(t,e){if(!pe.has(t))return;const i=pe.get(t);i.delete(e),0===i.size&&pe.delete(t)}};function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function _e(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const be={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${_e(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${_e(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${_e(e)}`))};class ve{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Mt(e)?be.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Mt(e)?be.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],o=t[n],r=Mt(o)?"element":null==(i=o)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class ye extends ve{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),ge.set(this._element,this.constructor.DATA_KEY,this))}dispose(){ge.remove(this._element,this.constructor.DATA_KEY),ue.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Xt(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return ge.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const we=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;ue.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Wt(this))return;const s=Pt(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ae=".bs.alert",Ee=`close${Ae}`,Ce=`closed${Ae}`;class Te extends ye{static get NAME(){return"alert"}close(){if(ue.trigger(this._element,Ee).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),ue.trigger(this._element,Ce),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Te.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}we(Te,"close"),Kt(Te);const Oe='[data-bs-toggle="button"]';class xe extends ye{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=xe.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}ue.on(document,"click.bs.button.data-api",Oe,(t=>{t.preventDefault();const e=t.target.closest(Oe);xe.getOrCreateInstance(e).toggle()})),Kt(xe);const ke={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Wt(t)&&Bt(t)))}},Le=".bs.swipe",De=`touchstart${Le}`,$e=`touchmove${Le}`,Se=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},je={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Me extends ve{constructor(t,e){super(),this._element=t,t&&Me.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return je}static get NAME(){return"swipe"}dispose(){ue.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Qt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Qt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(ue.on(this._element,Ie,(t=>this._start(t))),ue.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(ue.on(this._element,De,(t=>this._start(t))),ue.on(this._element,$e,(t=>this._move(t))),ue.on(this._element,Se,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const He=".bs.carousel",Be=".data-api",We="next",Fe="prev",ze="left",qe="right",Re=`slide${He}`,Ve=`slid${He}`,Ye=`keydown${He}`,Ke=`mouseenter${He}`,Qe=`mouseleave${He}`,Xe=`dragstart${He}`,Ue=`load${He}${Be}`,Ge=`click${He}${Be}`,Je="carousel",Ze="active",ti=".active",ei=".carousel-item",ii=ti+ei,ni={ArrowLeft:qe,ArrowRight:ze},si={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},oi={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ri extends ye{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=ke.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Je&&this.cycle()}static get Default(){return si}static get DefaultType(){return oi}static get NAME(){return"carousel"}next(){this._slide(We)}nextWhenVisible(){!document.hidden&&Bt(this._element)&&this.next()}prev(){this._slide(Fe)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?ue.one(this._element,Ve,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void ue.one(this._element,Ve,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?We:Fe;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&ue.on(this._element,Ye,(t=>this._keydown(t))),"hover"===this._config.pause&&(ue.on(this._element,Ke,(()=>this.pause())),ue.on(this._element,Qe,(()=>this._maybeEnableCycle()))),this._config.touch&&Me.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of ke.find(".carousel-item img",this._element))ue.on(t,Xe,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ze)),rightCallback:()=>this._slide(this._directionToOrder(qe)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Me(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ni[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=ke.findOne(ti,this._indicatorsElement);e.classList.remove(Ze),e.removeAttribute("aria-current");const i=ke.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Ze),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===We,s=e||Ut(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>ue.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Re).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(Ze),i.classList.remove(Ze,c,l),this._isSliding=!1,r(Ve)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return ke.findOne(ii,this._element)}_getItems(){return ke.find(ei,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Yt()?t===ze?Fe:We:t===ze?We:Fe}_orderToDirection(t){return Yt()?t===Fe?ze:qe:t===Fe?qe:ze}static jQueryInterface(t){return this.each((function(){const e=ri.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}ue.on(document,Ge,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=Pt(this);if(!e||!e.classList.contains(Je))return;t.preventDefault();const i=ri.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===be.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),ue.on(window,Ue,(()=>{const t=ke.find('[data-bs-ride="carousel"]');for(const e of t)ri.getOrCreateInstance(e)})),Kt(ri);const ai=".bs.collapse",li=`show${ai}`,ci=`shown${ai}`,hi=`hide${ai}`,di=`hidden${ai}`,ui=`click${ai}.data-api`,fi="show",pi="collapse",gi="collapsing",mi=`:scope .${pi} .${pi}`,_i='[data-bs-toggle="collapse"]',bi={parent:null,toggle:!0},vi={parent:"(null|element)",toggle:"boolean"};class yi extends ye{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=ke.find(_i);for(const t of i){const e=Nt(t),i=ke.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>yi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(ue.trigger(this._element,li).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(pi),this._element.classList.add(gi),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gi),this._element.classList.add(pi,fi),this._element.style[e]="",ue.trigger(this._element,ci)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(ue.trigger(this._element,hi).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(gi),this._element.classList.remove(pi,fi);for(const t of this._triggerArray){const e=Pt(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gi),this._element.classList.add(pi),ue.trigger(this._element,di)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(fi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(_i);for(const e of t){const t=Pt(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=ke.find(mi,this._config.parent);return ke.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=yi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}ue.on(document,ui,_i,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=Nt(this),i=ke.find(e);for(const t of i)yi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Kt(yi);const wi="dropdown",Ai=".bs.dropdown",Ei=".data-api",Ci="ArrowUp",Ti="ArrowDown",Oi=`hide${Ai}`,xi=`hidden${Ai}`,ki=`show${Ai}`,Li=`shown${Ai}`,Di=`click${Ai}${Ei}`,$i=`keydown${Ai}${Ei}`,Si=`keyup${Ai}${Ei}`,Ii="show",Ni='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Pi=`${Ni}.${Ii}`,ji=".dropdown-menu",Mi=Yt()?"top-end":"top-start",Hi=Yt()?"top-start":"top-end",Bi=Yt()?"bottom-end":"bottom-start",Wi=Yt()?"bottom-start":"bottom-end",Fi=Yt()?"left-start":"right-start",zi=Yt()?"right-start":"left-start",qi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Vi extends ye{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=ke.next(this._element,ji)[0]||ke.prev(this._element,ji)[0]||ke.findOne(ji,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return qi}static get DefaultType(){return Ri}static get NAME(){return wi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Wt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!ue.trigger(this._element,ki,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))ue.on(t,"mouseover",zt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Ii),this._element.classList.add(Ii),ue.trigger(this._element,Li,t)}}hide(){if(Wt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!ue.trigger(this._element,Oi,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.off(t,"mouseover",zt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Ii),this._element.classList.remove(Ii),this._element.setAttribute("aria-expanded","false"),be.removeDataAttribute(this._menu,"popper"),ue.trigger(this._element,xi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Mt(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${wi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Mt(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=Dt(t,this._menu,i)}_isShown(){return this._menu.classList.contains(Ii)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Fi;if(t.classList.contains("dropstart"))return zi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Hi:Mi:e?Wi:Bi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(be.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=ke.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Bt(t)));i.length&&Ut(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Vi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=ke.find(Pi);for(const i of e){const e=Vi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ci,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ni)?this:ke.prev(this,Ni)[0]||ke.next(this,Ni)[0]||ke.findOne(Ni,t.delegateTarget.parentNode),o=Vi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}ue.on(document,$i,Ni,Vi.dataApiKeydownHandler),ue.on(document,$i,ji,Vi.dataApiKeydownHandler),ue.on(document,Di,Vi.clearMenus),ue.on(document,Si,Vi.clearMenus),ue.on(document,Di,Ni,(function(t){t.preventDefault(),Vi.getOrCreateInstance(this).toggle()})),Kt(Vi);const Yi=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ki=".sticky-top",Qi="padding-right",Xi="margin-right";class Ui{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Qi,(e=>e+t)),this._setElementAttributes(Yi,Qi,(e=>e+t)),this._setElementAttributes(Ki,Xi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Qi),this._resetElementAttributes(Yi,Qi),this._resetElementAttributes(Ki,Xi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&be.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=be.getDataAttribute(t,e);null!==i?(be.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Mt(t))e(t);else for(const i of ke.find(t,this._element))e(i)}}const Gi="backdrop",Ji="show",Zi=`mousedown.bs.${Gi}`,tn={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},en={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class nn extends ve{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return tn}static get DefaultType(){return en}static get NAME(){return Gi}show(t){if(!this._config.isVisible)return void Qt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Ji),this._emulateAnimation((()=>{Qt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ji),this._emulateAnimation((()=>{this.dispose(),Qt(t)}))):Qt(t)}dispose(){this._isAppended&&(ue.off(this._element,Zi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),ue.on(t,Zi,(()=>{Qt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Xt(t,this._getElement(),this._config.isAnimated)}}const sn=".bs.focustrap",on=`focusin${sn}`,rn=`keydown.tab${sn}`,an="backward",ln={autofocus:!0,trapElement:null},cn={autofocus:"boolean",trapElement:"element"};class hn extends ve{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ln}static get DefaultType(){return cn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),ue.off(document,sn),ue.on(document,on,(t=>this._handleFocusin(t))),ue.on(document,rn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,ue.off(document,sn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=ke.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===an?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?an:"forward")}}const dn=".bs.modal",un=`hide${dn}`,fn=`hidePrevented${dn}`,pn=`hidden${dn}`,gn=`show${dn}`,mn=`shown${dn}`,_n=`resize${dn}`,bn=`click.dismiss${dn}`,vn=`mousedown.dismiss${dn}`,yn=`keydown.dismiss${dn}`,wn=`click${dn}.data-api`,An="modal-open",En="show",Cn="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},On={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class xn extends ye{constructor(t,e){super(t,e),this._dialog=ke.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ui,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return On}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||ue.trigger(this._element,gn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(An),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(ue.trigger(this._element,un).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(En),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])ue.off(t,dn);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new nn({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=ke.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(En),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,ue.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){ue.on(this._element,yn,(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),ue.on(window,_n,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),ue.on(this._element,vn,(t=>{ue.one(this._element,bn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(An),this._resetAdjustments(),this._scrollBar.reset(),ue.trigger(this._element,pn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(ue.trigger(this._element,fn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Cn)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Cn),this._queueCallback((()=>{this._element.classList.remove(Cn),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Yt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Yt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=xn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}ue.on(document,wn,'[data-bs-toggle="modal"]',(function(t){const e=Pt(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),ue.one(e,gn,(t=>{t.defaultPrevented||ue.one(e,pn,(()=>{Bt(this)&&this.focus()}))}));const i=ke.findOne(".modal.show");i&&xn.getInstance(i).hide(),xn.getOrCreateInstance(e).toggle(this)})),we(xn),Kt(xn);const kn=".bs.offcanvas",Ln=".data-api",Dn=`load${kn}${Ln}`,$n="show",Sn="showing",In="hiding",Nn=".offcanvas.show",Pn=`show${kn}`,jn=`shown${kn}`,Mn=`hide${kn}`,Hn=`hidePrevented${kn}`,Bn=`hidden${kn}`,Wn=`resize${kn}`,Fn=`click${kn}${Ln}`,zn=`keydown.dismiss${kn}`,qn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Vn extends ye{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return qn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||ue.trigger(this._element,Pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ui).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Sn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add($n),this._element.classList.remove(Sn),ue.trigger(this._element,jn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(ue.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(In),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove($n,In),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ui).reset(),ue.trigger(this._element,Bn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new nn({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():ue.trigger(this._element,Hn)}:null})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_addEventListeners(){ue.on(this._element,zn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():ue.trigger(this._element,Hn))}))}static jQueryInterface(t){return this.each((function(){const e=Vn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ue.on(document,Fn,'[data-bs-toggle="offcanvas"]',(function(t){const e=Pt(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this))return;ue.one(e,Bn,(()=>{Bt(this)&&this.focus()}));const i=ke.findOne(Nn);i&&i!==e&&Vn.getInstance(i).hide(),Vn.getOrCreateInstance(e).toggle(this)})),ue.on(window,Dn,(()=>{for(const t of ke.find(Nn))Vn.getOrCreateInstance(t).show()})),ue.on(window,Wn,(()=>{for(const t of ke.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Vn.getOrCreateInstance(t).hide()})),we(Vn),Kt(Vn);const Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Kn=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Qn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Kn.test(t.nodeValue)||Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Un={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Gn={allowList:Un,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Jn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Zn={entry:"(string|element|function|null)",selector:"(string|element)"};class ts extends ve{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Gn}static get DefaultType(){return Jn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Zn)}_setContent(t,e,i){const n=ke.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Mt(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const es=new Set(["sanitize","allowList","sanitizeFn"]),is="fade",ns="show",ss=".modal",os="hide.bs.modal",rs="hover",as="focus",ls={AUTO:"auto",TOP:"top",RIGHT:Yt()?"left":"right",BOTTOM:"bottom",LEFT:Yt()?"right":"left"},cs={allowList:Un,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},hs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ds extends ye{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return cs}static get DefaultType(){return hs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),ue.off(this._element.closest(ss),os,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=ue.trigger(this._element,this.constructor.eventName("show")),e=(Ft(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),ue.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ns),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.on(t,"mouseover",zt);this._queueCallback((()=>{ue.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!ue.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ns),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.off(t,"mouseover",zt);this._activeTrigger.click=!1,this._activeTrigger[as]=!1,this._activeTrigger[rs]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),ue.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(is,ns),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(is),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new ts({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(is)}_isShown(){return this.tip&&this.tip.classList.contains(ns)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=ls[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)ue.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===rs?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===rs?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");ue.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?as:rs]=!0,e._enter()})),ue.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?as:rs]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},ue.on(this._element.closest(ss),os,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=be.getDataAttributes(this._element);for(const t of Object.keys(e))es.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=ds.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Kt(ds);const us={...ds.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},fs={...ds.DefaultType,content:"(null|string|element|function)"};class ps extends ds{static get Default(){return us}static get DefaultType(){return fs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=ps.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Kt(ps);const gs=".bs.scrollspy",ms=`activate${gs}`,_s=`click${gs}`,bs=`load${gs}.data-api`,vs="active",ys="[href]",ws=".nav-link",As=`${ws}, .nav-item > ${ws}, .list-group-item`,Es={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Cs={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ts extends ye{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Es}static get DefaultType(){return Cs}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(ue.off(this._config.target,_s),ue.on(this._config.target,_s,ys,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=ke.find(ys,this._config.target);for(const e of t){if(!e.hash||Wt(e))continue;const t=ke.findOne(e.hash,this._element);Bt(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(vs),this._activateParents(t),ue.trigger(this._element,ms,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))ke.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(vs);else for(const e of ke.parents(t,".nav, .list-group"))for(const t of ke.prev(e,As))t.classList.add(vs)}_clearActiveClass(t){t.classList.remove(vs);const e=ke.find(`${ys}.${vs}`,t);for(const t of e)t.classList.remove(vs)}static jQueryInterface(t){return this.each((function(){const e=Ts.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ue.on(window,bs,(()=>{for(const t of ke.find('[data-bs-spy="scroll"]'))Ts.getOrCreateInstance(t)})),Kt(Ts);const Os=".bs.tab",xs=`hide${Os}`,ks=`hidden${Os}`,Ls=`show${Os}`,Ds=`shown${Os}`,$s=`click${Os}`,Ss=`keydown${Os}`,Is=`load${Os}`,Ns="ArrowLeft",Ps="ArrowRight",js="ArrowUp",Ms="ArrowDown",Hs="active",Bs="fade",Ws="show",Fs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${Fs}, .list-group-item${Fs}, [role="tab"]${Fs}, ${zs}`,Rs=`.${Hs}[data-bs-toggle="tab"], .${Hs}[data-bs-toggle="pill"], .${Hs}[data-bs-toggle="list"]`;class Vs extends ye{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),ue.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?ue.trigger(e,xs,{relatedTarget:t}):null;ue.trigger(t,Ls,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Hs),this._activate(Pt(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),ue.trigger(t,Ds,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Bs)))}_deactivate(t,e){t&&(t.classList.remove(Hs),t.blur(),this._deactivate(Pt(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),ue.trigger(t,ks,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Bs)))}_keydown(t){if(![Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[Ps,Ms].includes(t.key),i=Ut(this._getChildren().filter((t=>!Wt(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return ke.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=Pt(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=ke.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Hs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Hs)}_getInnerElement(t){return t.matches(qs)?t:ke.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ue.on(document,$s,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this)||Vs.getOrCreateInstance(this).show()})),ue.on(window,Is,(()=>{for(const t of ke.find(Rs))Vs.getOrCreateInstance(t)})),Kt(Vs);const Ys=".bs.toast",Ks=`mouseover${Ys}`,Qs=`mouseout${Ys}`,Xs=`focusin${Ys}`,Us=`focusout${Ys}`,Gs=`hide${Ys}`,Js=`hidden${Ys}`,Zs=`show${Ys}`,to=`shown${Ys}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends ye{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){ue.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),qt(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),ue.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(ue.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),ue.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){ue.on(this._element,Ks,(t=>this._onInteraction(t,!0))),ue.on(this._element,Qs,(t=>this._onInteraction(t,!1))),ue.on(this._element,Xs,(t=>this._onInteraction(t,!0))),ue.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function ao(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}we(ro),Kt(ro),ao((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new ds(t,{delay:{show:500,hide:100}})}))})),ao((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),ao((function(){var t=document.getElementById("pst-back-to-top"),e=document.getElementsByClassName("bd-header")[0].getBoundingClientRect();window.addEventListener("scroll",(function(){this.oldScroll>this.scrollY&&this.scrollY>e.bottom?t.style.display="block":t.style.display="none",this.oldScroll=this.scrollY}))}))})(); +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>w,afterRead:()=>b,afterWrite:()=>T,applyStyles:()=>D,arrow:()=>G,auto:()=>r,basePlacements:()=>a,beforeMain:()=>v,beforeRead:()=>g,beforeWrite:()=>E,bottom:()=>n,clippingParents:()=>h,computeStyles:()=>et,createPopper:()=>St,createPopperBase:()=>Lt,createPopperLite:()=>Dt,detectOverflow:()=>gt,end:()=>c,eventListeners:()=>nt,flip:()=>_t,hide:()=>yt,left:()=>o,main:()=>y,modifierPhases:()=>C,offset:()=>wt,placements:()=>m,popper:()=>u,popperGenerator:()=>kt,popperOffsets:()=>Et,preventOverflow:()=>At,read:()=>_,reference:()=>f,right:()=>s,start:()=>l,top:()=>i,variationPlacements:()=>p,viewport:()=>d,write:()=>A});var i="top",n="bottom",s="right",o="left",r="auto",a=[i,n,s,o],l="start",c="end",h="clippingParents",d="viewport",u="popper",f="reference",p=a.reduce((function(t,e){return t.concat([e+"-"+l,e+"-"+c])}),[]),m=[].concat(a,[r]).reduce((function(t,e){return t.concat([e,e+"-"+l,e+"-"+c])}),[]),g="beforeRead",_="read",b="afterRead",v="beforeMain",y="main",w="afterMain",E="beforeWrite",A="write",T="afterWrite",C=[g,_,b,v,y,w,E,A,T];function O(t){return t?(t.nodeName||"").toLowerCase():null}function x(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function k(t){return t instanceof x(t).Element||t instanceof Element}function L(t){return t instanceof x(t).HTMLElement||t instanceof HTMLElement}function S(t){return"undefined"!=typeof ShadowRoot&&(t instanceof x(t).ShadowRoot||t instanceof ShadowRoot)}const D={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];L(s)&&O(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});L(n)&&O(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function $(t){return t.split("-")[0]}var I=Math.max,N=Math.min,P=Math.round;function M(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function j(){return!/^((?!chrome|android).)*safari/i.test(M())}function F(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&L(t)&&(s=t.offsetWidth>0&&P(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&P(n.height)/t.offsetHeight||1);var r=(k(t)?x(t):window).visualViewport,a=!j()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function H(t){var e=F(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function B(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&S(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function W(t){return x(t).getComputedStyle(t)}function z(t){return["table","td","th"].indexOf(O(t))>=0}function R(t){return((k(t)?t.ownerDocument:t.document)||window.document).documentElement}function q(t){return"html"===O(t)?t:t.assignedSlot||t.parentNode||(S(t)?t.host:null)||R(t)}function V(t){return L(t)&&"fixed"!==W(t).position?t.offsetParent:null}function Y(t){for(var e=x(t),i=V(t);i&&z(i)&&"static"===W(i).position;)i=V(i);return i&&("html"===O(i)||"body"===O(i)&&"static"===W(i).position)?e:i||function(t){var e=/firefox/i.test(M());if(/Trident/i.test(M())&&L(t)&&"fixed"===W(t).position)return null;var i=q(t);for(S(i)&&(i=i.host);L(i)&&["html","body"].indexOf(O(i))<0;){var n=W(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function K(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Q(t,e,i){return I(t,N(e,i))}function X(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function U(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const G={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,l=t.name,c=t.options,h=r.elements.arrow,d=r.modifiersData.popperOffsets,u=$(r.placement),f=K(u),p=[o,s].indexOf(u)>=0?"height":"width";if(h&&d){var m=function(t,e){return X("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:U(t,a))}(c.padding,r),g=H(h),_="y"===f?i:o,b="y"===f?n:s,v=r.rects.reference[p]+r.rects.reference[f]-d[f]-r.rects.popper[p],y=d[f]-r.rects.reference[f],w=Y(h),E=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,A=v/2-y/2,T=m[_],C=E-g[p]-m[b],O=E/2-g[p]/2+A,x=Q(T,O,C),k=f;r.modifiersData[l]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&B(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function J(t){return t.split("-")[1]}var Z={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tt(t){var e,r=t.popper,a=t.popperRect,l=t.placement,h=t.variation,d=t.offsets,u=t.position,f=t.gpuAcceleration,p=t.adaptive,m=t.roundOffsets,g=t.isFixed,_=d.x,b=void 0===_?0:_,v=d.y,y=void 0===v?0:v,w="function"==typeof m?m({x:b,y}):{x:b,y};b=w.x,y=w.y;var E=d.hasOwnProperty("x"),A=d.hasOwnProperty("y"),T=o,C=i,O=window;if(p){var k=Y(r),L="clientHeight",S="clientWidth";k===x(r)&&"static"!==W(k=R(r)).position&&"absolute"===u&&(L="scrollHeight",S="scrollWidth"),(l===i||(l===o||l===s)&&h===c)&&(C=n,y-=(g&&k===O&&O.visualViewport?O.visualViewport.height:k[L])-a.height,y*=f?1:-1),l!==o&&(l!==i&&l!==n||h!==c)||(T=s,b-=(g&&k===O&&O.visualViewport?O.visualViewport.width:k[S])-a.width,b*=f?1:-1)}var D,$=Object.assign({position:u},p&&Z),I=!0===m?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:P(i*s)/s||0,y:P(n*s)/s||0}}({x:b,y},x(r)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},$,((D={})[C]=A?"0":"",D[T]=E?"0":"",D.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",D)):Object.assign({},$,((e={})[C]=A?y+"px":"",e[T]=E?b+"px":"",e.transform="",e))}const et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:$(e.placement),variation:J(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,tt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,tt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var it={passive:!0};const nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=x(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,it)})),a&&l.addEventListener("resize",i.update,it),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,it)})),a&&l.removeEventListener("resize",i.update,it)}},data:{}};var st={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(t){return t.replace(/left|right|bottom|top/g,(function(t){return st[t]}))}var rt={start:"end",end:"start"};function at(t){return t.replace(/start|end/g,(function(t){return rt[t]}))}function lt(t){var e=x(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ct(t){return F(R(t)).left+lt(t).scrollLeft}function ht(t){var e=W(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function dt(t){return["html","body","#document"].indexOf(O(t))>=0?t.ownerDocument.body:L(t)&&ht(t)?t:dt(q(t))}function ut(t,e){var i;void 0===e&&(e=[]);var n=dt(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=x(n),r=s?[o].concat(o.visualViewport||[],ht(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ut(q(r)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pt(t,e,i){return e===d?ft(function(t,e){var i=x(t),n=R(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=j();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ct(t),y:l}}(t,i)):k(e)?function(t,e){var i=F(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=R(t),n=lt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=I(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=I(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ct(t),l=-n.scrollTop;return"rtl"===W(s||i).direction&&(a+=I(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(R(t)))}function mt(t){var e,r=t.reference,a=t.element,h=t.placement,d=h?$(h):null,u=h?J(h):null,f=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2;switch(d){case i:e={x:f,y:r.y-a.height};break;case n:e={x:f,y:r.y+r.height};break;case s:e={x:r.x+r.width,y:p};break;case o:e={x:r.x-a.width,y:p};break;default:e={x:r.x,y:r.y}}var m=d?K(d):null;if(null!=m){var g="y"===m?"height":"width";switch(u){case l:e[m]=e[m]-(r[g]/2-a[g]/2);break;case c:e[m]=e[m]+(r[g]/2-a[g]/2)}}return e}function gt(t,e){void 0===e&&(e={});var o=e,r=o.placement,l=void 0===r?t.placement:r,c=o.strategy,p=void 0===c?t.strategy:c,m=o.boundary,g=void 0===m?h:m,_=o.rootBoundary,b=void 0===_?d:_,v=o.elementContext,y=void 0===v?u:v,w=o.altBoundary,E=void 0!==w&&w,A=o.padding,T=void 0===A?0:A,C=X("number"!=typeof T?T:U(T,a)),x=y===u?f:u,S=t.rects.popper,D=t.elements[E?x:y],$=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ut(q(t)),i=["absolute","fixed"].indexOf(W(t).position)>=0&&L(t)?Y(t):t;return k(i)?e.filter((function(t){return k(t)&&B(t,i)&&"body"!==O(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=pt(t,i,n);return e.top=I(s.top,e.top),e.right=N(s.right,e.right),e.bottom=N(s.bottom,e.bottom),e.left=I(s.left,e.left),e}),pt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(k(D)?D:D.contextElement||R(t.elements.popper),g,b,p),P=F(t.elements.reference),M=mt({reference:P,element:S,strategy:"absolute",placement:l}),j=ft(Object.assign({},S,M)),H=y===u?j:P,z={top:$.top-H.top+C.top,bottom:H.bottom-$.bottom+C.bottom,left:$.left-H.left+C.left,right:H.right-$.right+C.right},V=t.modifiersData.offset;if(y===u&&V){var K=V[l];Object.keys(z).forEach((function(t){var e=[s,n].indexOf(t)>=0?1:-1,o=[i,n].indexOf(t)>=0?"y":"x";z[t]+=K[o]*e}))}return z}const _t={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,c=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var d=c.mainAxis,u=void 0===d||d,f=c.altAxis,g=void 0===f||f,_=c.fallbackPlacements,b=c.padding,v=c.boundary,y=c.rootBoundary,w=c.altBoundary,E=c.flipVariations,A=void 0===E||E,T=c.allowedAutoPlacements,C=e.options.placement,O=$(C),x=_||(O!==C&&A?function(t){if($(t)===r)return[];var e=ot(t);return[at(t),e,at(e)]}(C):[ot(C)]),k=[C].concat(x).reduce((function(t,i){return t.concat($(i)===r?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,l=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?m:c,d=J(n),u=d?l?p:p.filter((function(t){return J(t)===d})):a,f=u.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=u);var g=f.reduce((function(e,i){return e[i]=gt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[$(i)],e}),{});return Object.keys(g).sort((function(t,e){return g[t]-g[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:A,allowedAutoPlacements:T}):i)}),[]),L=e.rects.reference,S=e.rects.popper,D=new Map,I=!0,N=k[0],P=0;P=0,B=H?"width":"height",W=gt(e,{placement:M,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=H?F?s:o:F?n:i;L[B]>S[B]&&(z=ot(z));var R=ot(z),q=[];if(u&&q.push(W[j]<=0),g&&q.push(W[z]<=0,W[R]<=0),q.every((function(t){return t}))){N=M,I=!1;break}D.set(M,q)}if(I)for(var V=function(t){var e=k.find((function(e){var i=D.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},Y=A?3:1;Y>0&&"break"!==V(Y);Y--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function vt(t){return[i,s,n,o].some((function(e){return t[e]>=0}))}const yt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=gt(e,{elementContext:"reference"}),a=gt(e,{altBoundary:!0}),l=bt(r,n),c=bt(a,s,o),h=vt(l),d=vt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,r=t.name,a=n.offset,l=void 0===a?[0,0]:a,c=m.reduce((function(t,n){return t[n]=function(t,e,n){var r=$(t),a=[o,i].indexOf(r)>=0?-1:1,l="function"==typeof n?n(Object.assign({},e,{placement:t})):n,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[o,s].indexOf(r)>=0?{x:h,y:c}:{x:c,y:h}}(n,e.rects,l),t}),{}),h=c[e.placement],d=h.x,u=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=u),e.modifiersData[r]=c}},Et={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=mt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},At={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,a=t.name,c=r.mainAxis,h=void 0===c||c,d=r.altAxis,u=void 0!==d&&d,f=r.boundary,p=r.rootBoundary,m=r.altBoundary,g=r.padding,_=r.tether,b=void 0===_||_,v=r.tetherOffset,y=void 0===v?0:v,w=gt(e,{boundary:f,rootBoundary:p,padding:g,altBoundary:m}),E=$(e.placement),A=J(e.placement),T=!A,C=K(E),O="x"===C?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,S="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,D="number"==typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,M={x:0,y:0};if(x){if(h){var j,F="y"===C?i:o,B="y"===C?n:s,W="y"===C?"height":"width",z=x[C],R=z+w[F],q=z-w[B],V=b?-L[W]/2:0,X=A===l?k[W]:L[W],U=A===l?-L[W]:-k[W],G=e.elements.arrow,Z=b&&G?H(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[F],it=tt[B],nt=Q(0,k[W],Z[W]),st=T?k[W]/2-V-nt-et-D.mainAxis:X-nt-et-D.mainAxis,ot=T?-k[W]/2+V+nt+it+D.mainAxis:U+nt+it+D.mainAxis,rt=e.elements.arrow&&Y(e.elements.arrow),at=rt?"y"===C?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(j=null==P?void 0:P[C])?j:0,ct=z+ot-lt,ht=Q(b?N(R,z+st-lt-at):R,z,b?I(q,ct):q);x[C]=ht,M[C]=ht-z}if(u){var dt,ut="x"===C?i:o,ft="x"===C?n:s,pt=x[O],mt="y"===O?"height":"width",_t=pt+w[ut],bt=pt-w[ft],vt=-1!==[i,o].indexOf(E),yt=null!=(dt=null==P?void 0:P[O])?dt:0,wt=vt?_t:pt-k[mt]-L[mt]-yt+D.altAxis,Et=vt?pt+k[mt]+L[mt]-yt-D.altAxis:bt,At=b&&vt?function(t,e,i){var n=Q(t,e,i);return n>i?i:n}(wt,pt,Et):Q(b?wt:_t,pt,b?Et:bt);x[O]=At,M[O]=At-pt}e.modifiersData[a]=M}},requiresIfExists:["offset"]};function Tt(t,e,i){void 0===i&&(i=!1);var n,s,o=L(e),r=L(e)&&function(t){var e=t.getBoundingClientRect(),i=P(e.width)/t.offsetWidth||1,n=P(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=R(e),l=F(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==O(e)||ht(a))&&(c=(n=e)!==x(n)&&L(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:lt(n)),L(e)?((h=F(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ct(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Ct(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function xt(){for(var t=arguments.length,e=new Array(t),i=0;i$t.has(t)&&$t.get(t).get(e)||null,remove(t,e){if(!$t.has(t))return;const i=$t.get(t);i.delete(e),0===i.size&&$t.delete(t)}},Nt="transitionend",Pt=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),Mt=t=>{t.dispatchEvent(new Event(Nt))},jt=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ft=t=>jt(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(Pt(t)):null,Ht=t=>{if(!jt(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Bt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),Wt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Wt(t.parentNode):null},zt=()=>{},Rt=t=>{t.offsetHeight},qt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Vt=[],Yt=()=>"rtl"===document.documentElement.dir,Kt=t=>{var e;e=()=>{const e=qt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Vt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Vt)t()})),Vt.push(e)):e()},Qt=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,Xt=(t,e,i=!0)=>{if(!i)return void Qt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(Nt,o),Qt(t))};e.addEventListener(Nt,o),setTimeout((()=>{s||Mt(e)}),n)},Ut=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Gt=/[^.]*(?=\..*)\.|.*/,Jt=/\..*/,Zt=/::\d+$/,te={};let ee=1;const ie={mouseenter:"mouseover",mouseleave:"mouseout"},ne=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function se(t,e){return e&&`${e}::${ee++}`||t.uidEvent||ee++}function oe(t){const e=se(t);return t.uidEvent=e,te[e]=te[e]||{},te[e]}function re(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function ae(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=de(t);return ne.has(o)||(o=t),[n,s,o]}function le(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=ae(e,i,n);if(e in ie){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=oe(t),c=l[a]||(l[a]={}),h=re(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=se(r,e.replace(Gt,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return fe(s,{delegateTarget:r}),n.oneOff&&ue.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return fe(n,{delegateTarget:t}),i.oneOff&&ue.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function ce(t,e,i,n,s){const o=re(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function he(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&ce(t,e,i,r.callable,r.delegationSelector)}function de(t){return t=t.replace(Jt,""),ie[t]||t}const ue={on(t,e,i,n){le(t,e,i,n,!1)},one(t,e,i,n){le(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=ae(e,i,n),a=r!==e,l=oe(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))he(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(Zt,"");a&&!e.includes(s)||ce(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;ce(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=qt();let s=null,o=!0,r=!0,a=!1;e!==de(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=fe(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function fe(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function pe(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function me(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const ge={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${me(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${me(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=pe(t.dataset[n])}return e},getDataAttribute:(t,e)=>pe(t.getAttribute(`data-bs-${me(e)}`))};class _e{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=jt(e)?ge.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...jt(e)?ge.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],o=jt(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${o}" but expected type "${s}".`)}var i}}class be extends _e{constructor(t,e){super(),(t=Ft(t))&&(this._element=t,this._config=this._getConfig(e),It.set(this._element,this.constructor.DATA_KEY,this))}dispose(){It.remove(this._element,this.constructor.DATA_KEY),ue.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Xt(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return It.get(Ft(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const ve=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?Pt(i.trim()):null}return e},ye={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Bt(t)&&Ht(t)))},getSelectorFromElement(t){const e=ve(t);return e&&ye.findOne(e)?e:null},getElementFromSelector(t){const e=ve(t);return e?ye.findOne(e):null},getMultipleElementsFromSelector(t){const e=ve(t);return e?ye.find(e):[]}},we=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;ue.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Bt(this))return;const s=ye.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ee=".bs.alert",Ae=`close${Ee}`,Te=`closed${Ee}`;class Ce extends be{static get NAME(){return"alert"}close(){if(ue.trigger(this._element,Ae).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),ue.trigger(this._element,Te),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Ce.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}we(Ce,"close"),Kt(Ce);const Oe='[data-bs-toggle="button"]';class xe extends be{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=xe.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}ue.on(document,"click.bs.button.data-api",Oe,(t=>{t.preventDefault();const e=t.target.closest(Oe);xe.getOrCreateInstance(e).toggle()})),Kt(xe);const ke=".bs.swipe",Le=`touchstart${ke}`,Se=`touchmove${ke}`,De=`touchend${ke}`,$e=`pointerdown${ke}`,Ie=`pointerup${ke}`,Ne={endCallback:null,leftCallback:null,rightCallback:null},Pe={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Me extends _e{constructor(t,e){super(),this._element=t,t&&Me.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Ne}static get DefaultType(){return Pe}static get NAME(){return"swipe"}dispose(){ue.off(this._element,ke)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Qt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Qt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(ue.on(this._element,$e,(t=>this._start(t))),ue.on(this._element,Ie,(t=>this._end(t))),this._element.classList.add("pointer-event")):(ue.on(this._element,Le,(t=>this._start(t))),ue.on(this._element,Se,(t=>this._move(t))),ue.on(this._element,De,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const je=".bs.carousel",Fe=".data-api",He="next",Be="prev",We="left",ze="right",Re=`slide${je}`,qe=`slid${je}`,Ve=`keydown${je}`,Ye=`mouseenter${je}`,Ke=`mouseleave${je}`,Qe=`dragstart${je}`,Xe=`load${je}${Fe}`,Ue=`click${je}${Fe}`,Ge="carousel",Je="active",Ze=".active",ti=".carousel-item",ei=Ze+ti,ii={ArrowLeft:ze,ArrowRight:We},ni={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},si={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class oi extends be{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=ye.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Ge&&this.cycle()}static get Default(){return ni}static get DefaultType(){return si}static get NAME(){return"carousel"}next(){this._slide(He)}nextWhenVisible(){!document.hidden&&Ht(this._element)&&this.next()}prev(){this._slide(Be)}pause(){this._isSliding&&Mt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?ue.one(this._element,qe,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void ue.one(this._element,qe,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?He:Be;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&ue.on(this._element,Ve,(t=>this._keydown(t))),"hover"===this._config.pause&&(ue.on(this._element,Ye,(()=>this.pause())),ue.on(this._element,Ke,(()=>this._maybeEnableCycle()))),this._config.touch&&Me.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of ye.find(".carousel-item img",this._element))ue.on(t,Qe,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(We)),rightCallback:()=>this._slide(this._directionToOrder(ze)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Me(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ii[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=ye.findOne(Ze,this._indicatorsElement);e.classList.remove(Je),e.removeAttribute("aria-current");const i=ye.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Je),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===He,s=e||Ut(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>ue.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Re).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),Rt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(Je),i.classList.remove(Je,c,l),this._isSliding=!1,r(qe)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return ye.findOne(ei,this._element)}_getItems(){return ye.find(ti,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Yt()?t===We?Be:He:t===We?He:Be}_orderToDirection(t){return Yt()?t===Be?We:ze:t===Be?ze:We}static jQueryInterface(t){return this.each((function(){const e=oi.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}ue.on(document,Ue,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=ye.getElementFromSelector(this);if(!e||!e.classList.contains(Ge))return;t.preventDefault();const i=oi.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===ge.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),ue.on(window,Xe,(()=>{const t=ye.find('[data-bs-ride="carousel"]');for(const e of t)oi.getOrCreateInstance(e)})),Kt(oi);const ri=".bs.collapse",ai=`show${ri}`,li=`shown${ri}`,ci=`hide${ri}`,hi=`hidden${ri}`,di=`click${ri}.data-api`,ui="show",fi="collapse",pi="collapsing",mi=`:scope .${fi} .${fi}`,gi='[data-bs-toggle="collapse"]',_i={parent:null,toggle:!0},bi={parent:"(null|element)",toggle:"boolean"};class vi extends be{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=ye.find(gi);for(const t of i){const e=ye.getSelectorFromElement(t),i=ye.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return _i}static get DefaultType(){return bi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>vi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(ue.trigger(this._element,ai).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(fi),this._element.classList.add(pi),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(pi),this._element.classList.add(fi,ui),this._element.style[e]="",ue.trigger(this._element,li)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(ue.trigger(this._element,ci).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,Rt(this._element),this._element.classList.add(pi),this._element.classList.remove(fi,ui);for(const t of this._triggerArray){const e=ye.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(pi),this._element.classList.add(fi),ue.trigger(this._element,hi)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(ui)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ft(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(gi);for(const e of t){const t=ye.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=ye.find(mi,this._config.parent);return ye.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=vi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}ue.on(document,di,gi,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of ye.getMultipleElementsFromSelector(this))vi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Kt(vi);const yi="dropdown",wi=".bs.dropdown",Ei=".data-api",Ai="ArrowUp",Ti="ArrowDown",Ci=`hide${wi}`,Oi=`hidden${wi}`,xi=`show${wi}`,ki=`shown${wi}`,Li=`click${wi}${Ei}`,Si=`keydown${wi}${Ei}`,Di=`keyup${wi}${Ei}`,$i="show",Ii='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ni=`${Ii}.${$i}`,Pi=".dropdown-menu",Mi=Yt()?"top-end":"top-start",ji=Yt()?"top-start":"top-end",Fi=Yt()?"bottom-end":"bottom-start",Hi=Yt()?"bottom-start":"bottom-end",Bi=Yt()?"left-start":"right-start",Wi=Yt()?"right-start":"left-start",zi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class qi extends be{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=ye.next(this._element,Pi)[0]||ye.prev(this._element,Pi)[0]||ye.findOne(Pi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return zi}static get DefaultType(){return Ri}static get NAME(){return yi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Bt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!ue.trigger(this._element,xi,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))ue.on(t,"mouseover",zt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add($i),this._element.classList.add($i),ue.trigger(this._element,ki,t)}}hide(){if(Bt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!ue.trigger(this._element,Ci,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.off(t,"mouseover",zt);this._popper&&this._popper.destroy(),this._menu.classList.remove($i),this._element.classList.remove($i),this._element.setAttribute("aria-expanded","false"),ge.removeDataAttribute(this._menu,"popper"),ue.trigger(this._element,Oi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!jt(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:jt(this._config.reference)?t=Ft(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=St(t,this._menu,i)}_isShown(){return this._menu.classList.contains($i)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Bi;if(t.classList.contains("dropstart"))return Wi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ji:Mi:e?Hi:Fi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(ge.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Qt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=ye.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Ht(t)));i.length&&Ut(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=ye.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ai,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:ye.prev(this,Ii)[0]||ye.next(this,Ii)[0]||ye.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}ue.on(document,Si,Ii,qi.dataApiKeydownHandler),ue.on(document,Si,Pi,qi.dataApiKeydownHandler),ue.on(document,Li,qi.clearMenus),ue.on(document,Di,qi.clearMenus),ue.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),Kt(qi);const Vi="backdrop",Yi="show",Ki=`mousedown.bs.${Vi}`,Qi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Xi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends _e{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Qi}static get DefaultType(){return Xi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void Qt(t);this._append();const e=this._getElement();this._config.isAnimated&&Rt(e),e.classList.add(Yi),this._emulateAnimation((()=>{Qt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation((()=>{this.dispose(),Qt(t)}))):Qt(t)}dispose(){this._isAppended&&(ue.off(this._element,Ki),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ft(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),ue.on(t,Ki,(()=>{Qt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Xt(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends _e{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),ue.off(document,Gi),ue.on(document,Ji,(t=>this._handleFocusin(t))),ue.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,ue.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=ye.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&ge.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=ge.getDataAttribute(t,e);null!==i?(ge.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(jt(t))e(t);else for(const i of ye.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",En="show",An="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends be{constructor(t,e){super(t,e),this._dialog=ye.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||ue.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(ue.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(En),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){ue.off(window,hn),ue.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=ye.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),Rt(this._element),this._element.classList.add(En),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,ue.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){ue.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),ue.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),ue.on(this._element,bn,(t=>{ue.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),ue.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(ue.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(An)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(An),this._queueCallback((()=>{this._element.classList.remove(An),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Yt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Yt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}ue.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=ye.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),ue.one(e,pn,(t=>{t.defaultPrevented||ue.one(e,fn,(()=>{Ht(this)&&this.focus()}))}));const i=ye.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),we(On),Kt(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Bn=`click${xn}${kn}`,Wn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends be{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||ue.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),ue.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(ue.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),ue.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():ue.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){ue.on(this._element,Wn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():ue.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}ue.on(document,Bn,'[data-bs-toggle="offcanvas"]',(function(t){const e=ye.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Bt(this))return;ue.one(e,Fn,(()=>{Ht(this)&&this.focus()}));const i=ye.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),ue.on(window,Ln,(()=>{for(const t of ye.find(In))qn.getOrCreateInstance(t).show()})),ue.on(window,Hn,(()=>{for(const t of ye.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),we(qn),Kt(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Kn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Qn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Kn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Xn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends _e{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Xn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=ye.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?jt(e)?this._putElementInTemplate(Ft(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Qn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Qt(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:Yt()?"left":"right",BOTTOM:"bottom",LEFT:Yt()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends be{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),ue.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=ue.trigger(this._element,this.constructor.eventName("show")),e=(Wt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),ue.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.on(t,"mouseover",zt);this._queueCallback((()=>{ue.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!ue.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))ue.off(t,"mouseover",zt);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),ue.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=Qt(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return St(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return Qt(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...Qt(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)ue.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");ue.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),ue.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},ue.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=ge.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ft(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Kt(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Kt(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Es={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class As extends be{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return Es}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ft(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(ue.off(this._config.target,ms),ue.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=ye.find(bs,this._config.target);for(const e of t){if(!e.hash||Bt(e))continue;const t=ye.findOne(decodeURI(e.hash),this._element);Ht(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),ue.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))ye.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of ye.parents(t,".nav, .list-group"))for(const t of ye.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=ye.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=As.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ue.on(window,gs,(()=>{for(const t of ye.find('[data-bs-spy="scroll"]'))As.getOrCreateInstance(t)})),Kt(As);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Bs="show",Ws=".dropdown-toggle",zs=`:not(${Ws})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ys extends be{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),ue.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?ue.trigger(e,Cs,{relatedTarget:t}):null;ue.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(ye.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),ue.trigger(t,ks,{relatedTarget:e})):t.classList.add(Bs)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(ye.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),ue.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Bs)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Bt(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=Ut(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ys.getOrCreateInstance(i).show())}_getChildren(){return ye.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=ye.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=ye.findOne(t,i);s&&s.classList.toggle(n,e)};n(Ws,Fs),n(".dropdown-menu",Bs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:ye.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ys.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}ue.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Bt(this)||Ys.getOrCreateInstance(this).show()})),ue.on(window,Ds,(()=>{for(const t of ye.find(Vs))Ys.getOrCreateInstance(t)})),Kt(Ys);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Us=`focusin${Ks}`,Gs=`focusout${Ks}`,Js=`hide${Ks}`,Zs=`hidden${Ks}`,to=`show${Ks}`,eo=`shown${Ks}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends be{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){ue.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),Rt(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),ue.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(ue.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),ue.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){ue.on(this._element,Qs,(t=>this._onInteraction(t,!0))),ue.on(this._element,Xs,(t=>this._onInteraction(t,!1))),ue.on(this._element,Us,(t=>this._onInteraction(t,!0))),ue.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function lo(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}we(ao),Kt(ao),lo((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new cs(t,{delay:{show:500,hide:100}})}))})),lo((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),lo((function(){var t=document.getElementById("pst-back-to-top"),e=document.getElementsByClassName("bd-header")[0].getBoundingClientRect();window.addEventListener("scroll",(function(){this.oldScroll>this.scrollY&&this.scrollY>e.bottom?t.style.display="block":t.style.display="none",this.oldScroll=this.scrollY}))}))})(); //# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/_static/scripts/bootstrap.js.LICENSE.txt b/_static/scripts/bootstrap.js.LICENSE.txt index 91ad10aa..10f979d0 100644 --- a/_static/scripts/bootstrap.js.LICENSE.txt +++ b/_static/scripts/bootstrap.js.LICENSE.txt @@ -1,5 +1,5 @@ /*! - * Bootstrap v5.2.3 (https://getbootstrap.com/) - * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Bootstrap v5.3.2 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ diff --git a/_static/scripts/bootstrap.js.map b/_static/scripts/bootstrap.js.map index 04c27d7b..e5bc1575 100644 --- a/_static/scripts/bootstrap.js.map +++ b/_static/scripts/bootstrap.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts/bootstrap.js","mappings":";mBACA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFV,EAAyBC,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,ipBCLvD,IAAI,EAAM,MACNC,EAAS,SACTC,EAAQ,QACRC,EAAO,OACPC,EAAO,OACPC,EAAiB,CAAC,EAAKJ,EAAQC,EAAOC,GACtCG,EAAQ,QACRC,EAAM,MACNC,EAAkB,kBAClBC,EAAW,WACXC,EAAS,SACTC,EAAY,YACZC,EAAmCP,EAAeQ,QAAO,SAAUC,EAAKC,GACjF,OAAOD,EAAIE,OAAO,CAACD,EAAY,IAAMT,EAAOS,EAAY,IAAMR,GAChE,GAAG,IACQ,EAA0B,GAAGS,OAAOX,EAAgB,CAACD,IAAOS,QAAO,SAAUC,EAAKC,GAC3F,OAAOD,EAAIE,OAAO,CAACD,EAAWA,EAAY,IAAMT,EAAOS,EAAY,IAAMR,GAC3E,GAAG,IAEQU,EAAa,aACbC,EAAO,OACPC,EAAY,YAEZC,EAAa,aACbC,EAAO,OACPC,EAAY,YAEZC,EAAc,cACdC,EAAQ,QACRC,EAAa,aACbC,EAAiB,CAACT,EAAYC,EAAMC,EAAWC,EAAYC,EAAMC,EAAWC,EAAaC,EAAOC,GC9B5F,SAASE,EAAYC,GAClC,OAAOA,GAAWA,EAAQC,UAAY,IAAIC,cAAgB,IAC5D,CCFe,SAASC,EAAUC,GAChC,GAAY,MAARA,EACF,OAAOC,OAGT,GAAwB,oBAApBD,EAAKE,WAAkC,CACzC,IAAIC,EAAgBH,EAAKG,cACzB,OAAOA,GAAgBA,EAAcC,aAAwBH,MAC/D,CAEA,OAAOD,CACT,CCTA,SAASK,EAAUL,GAEjB,OAAOA,aADUD,EAAUC,GAAMM,SACIN,aAAgBM,OACvD,CAEA,SAASC,EAAcP,GAErB,OAAOA,aADUD,EAAUC,GAAMQ,aACIR,aAAgBQ,WACvD,CAEA,SAASC,EAAaT,GAEpB,MAA0B,oBAAfU,aAKJV,aADUD,EAAUC,GAAMU,YACIV,aAAgBU,WACvD,CCwDA,SACEC,KAAM,cACNC,SAAS,EACTC,MAAO,QACPC,GA5EF,SAAqBC,GACnB,IAAIC,EAAQD,EAAKC,MACjB3D,OAAO4D,KAAKD,EAAME,UAAUC,SAAQ,SAAUR,GAC5C,IAAIS,EAAQJ,EAAMK,OAAOV,IAAS,CAAC,EAC/BW,EAAaN,EAAMM,WAAWX,IAAS,CAAC,EACxCf,EAAUoB,EAAME,SAASP,GAExBJ,EAAcX,IAAaD,EAAYC,KAO5CvC,OAAOkE,OAAO3B,EAAQwB,MAAOA,GAC7B/D,OAAO4D,KAAKK,GAAYH,SAAQ,SAAUR,GACxC,IAAI3C,EAAQsD,EAAWX,IAET,IAAV3C,EACF4B,EAAQ4B,gBAAgBb,GAExBf,EAAQ6B,aAAad,GAAgB,IAAV3C,EAAiB,GAAKA,EAErD,IACF,GACF,EAoDE0D,OAlDF,SAAgBC,GACd,IAAIX,EAAQW,EAAMX,MACdY,EAAgB,CAClBlD,OAAQ,CACNmD,SAAUb,EAAMc,QAAQC,SACxB5D,KAAM,IACN6D,IAAK,IACLC,OAAQ,KAEVC,MAAO,CACLL,SAAU,YAEZlD,UAAW,CAAC,GASd,OAPAtB,OAAOkE,OAAOP,EAAME,SAASxC,OAAO0C,MAAOQ,EAAclD,QACzDsC,EAAMK,OAASO,EAEXZ,EAAME,SAASgB,OACjB7E,OAAOkE,OAAOP,EAAME,SAASgB,MAAMd,MAAOQ,EAAcM,OAGnD,WACL7E,OAAO4D,KAAKD,EAAME,UAAUC,SAAQ,SAAUR,GAC5C,IAAIf,EAAUoB,EAAME,SAASP,GACzBW,EAAaN,EAAMM,WAAWX,IAAS,CAAC,EAGxCS,EAFkB/D,OAAO4D,KAAKD,EAAMK,OAAOzD,eAAe+C,GAAQK,EAAMK,OAAOV,GAAQiB,EAAcjB,IAE7E9B,QAAO,SAAUuC,EAAOe,GAElD,OADAf,EAAMe,GAAY,GACXf,CACT,GAAG,CAAC,GAECb,EAAcX,IAAaD,EAAYC,KAI5CvC,OAAOkE,OAAO3B,EAAQwB,MAAOA,GAC7B/D,OAAO4D,KAAKK,GAAYH,SAAQ,SAAUiB,GACxCxC,EAAQ4B,gBAAgBY,EAC1B,IACF,GACF,CACF,EASEC,SAAU,CAAC,kBCjFE,SAASC,EAAiBvD,GACvC,OAAOA,EAAUwD,MAAM,KAAK,EAC9B,CCHO,IAAI,EAAMC,KAAKC,IACX,EAAMD,KAAKE,IACXC,EAAQH,KAAKG,MCFT,SAASC,IACtB,IAAIC,EAASC,UAAUC,cAEvB,OAAc,MAAVF,GAAkBA,EAAOG,QAAUC,MAAMC,QAAQL,EAAOG,QACnDH,EAAOG,OAAOG,KAAI,SAAUC,GACjC,OAAOA,EAAKC,MAAQ,IAAMD,EAAKE,OACjC,IAAGC,KAAK,KAGHT,UAAUU,SACnB,CCTe,SAASC,IACtB,OAAQ,iCAAiCC,KAAKd,IAChD,CCCe,SAASe,EAAsB/D,EAASgE,EAAcC,QAC9C,IAAjBD,IACFA,GAAe,QAGO,IAApBC,IACFA,GAAkB,GAGpB,IAAIC,EAAalE,EAAQ+D,wBACrBI,EAAS,EACTC,EAAS,EAETJ,GAAgBrD,EAAcX,KAChCmE,EAASnE,EAAQqE,YAAc,GAAItB,EAAMmB,EAAWI,OAAStE,EAAQqE,aAAmB,EACxFD,EAASpE,EAAQuE,aAAe,GAAIxB,EAAMmB,EAAWM,QAAUxE,EAAQuE,cAAoB,GAG7F,IACIE,GADOhE,EAAUT,GAAWG,EAAUH,GAAWK,QAC3BoE,eAEtBC,GAAoBb,KAAsBI,EAC1CU,GAAKT,EAAW3F,MAAQmG,GAAoBD,EAAiBA,EAAeG,WAAa,IAAMT,EAC/FU,GAAKX,EAAW9B,KAAOsC,GAAoBD,EAAiBA,EAAeK,UAAY,IAAMV,EAC7FE,EAAQJ,EAAWI,MAAQH,EAC3BK,EAASN,EAAWM,OAASJ,EACjC,MAAO,CACLE,MAAOA,EACPE,OAAQA,EACRpC,IAAKyC,EACLvG,MAAOqG,EAAIL,EACXjG,OAAQwG,EAAIL,EACZjG,KAAMoG,EACNA,EAAGA,EACHE,EAAGA,EAEP,CCrCe,SAASE,EAAc/E,GACpC,IAAIkE,EAAaH,EAAsB/D,GAGnCsE,EAAQtE,EAAQqE,YAChBG,EAASxE,EAAQuE,aAUrB,OARI3B,KAAKoC,IAAId,EAAWI,MAAQA,IAAU,IACxCA,EAAQJ,EAAWI,OAGjB1B,KAAKoC,IAAId,EAAWM,OAASA,IAAW,IAC1CA,EAASN,EAAWM,QAGf,CACLG,EAAG3E,EAAQ4E,WACXC,EAAG7E,EAAQ8E,UACXR,MAAOA,EACPE,OAAQA,EAEZ,CCvBe,SAASS,EAASC,EAAQC,GACvC,IAAIC,EAAWD,EAAME,aAAeF,EAAME,cAE1C,GAAIH,EAAOD,SAASE,GAClB,OAAO,EAEJ,GAAIC,GAAYvE,EAAauE,GAAW,CACzC,IAAIE,EAAOH,EAEX,EAAG,CACD,GAAIG,GAAQJ,EAAOK,WAAWD,GAC5B,OAAO,EAITA,EAAOA,EAAKE,YAAcF,EAAKG,IACjC,OAASH,EACX,CAGF,OAAO,CACT,CCrBe,SAAS,EAAiBtF,GACvC,OAAOG,EAAUH,GAAS0F,iBAAiB1F,EAC7C,CCFe,SAAS2F,EAAe3F,GACrC,MAAO,CAAC,QAAS,KAAM,MAAM4F,QAAQ7F,EAAYC,KAAa,CAChE,CCFe,SAAS6F,EAAmB7F,GAEzC,QAASS,EAAUT,GAAWA,EAAQO,cACtCP,EAAQ8F,WAAazF,OAAOyF,UAAUC,eACxC,CCFe,SAASC,EAAchG,GACpC,MAA6B,SAAzBD,EAAYC,GACPA,EAMPA,EAAQiG,cACRjG,EAAQwF,aACR3E,EAAab,GAAWA,EAAQyF,KAAO,OAEvCI,EAAmB7F,EAGvB,CCVA,SAASkG,EAAoBlG,GAC3B,OAAKW,EAAcX,IACoB,UAAvC,EAAiBA,GAASiC,SAInBjC,EAAQmG,aAHN,IAIX,CAwCe,SAASC,EAAgBpG,GAItC,IAHA,IAAIK,EAASF,EAAUH,GACnBmG,EAAeD,EAAoBlG,GAEhCmG,GAAgBR,EAAeQ,IAA6D,WAA5C,EAAiBA,GAAclE,UACpFkE,EAAeD,EAAoBC,GAGrC,OAAIA,IAA+C,SAA9BpG,EAAYoG,IAA0D,SAA9BpG,EAAYoG,IAAwE,WAA5C,EAAiBA,GAAclE,UAC3H5B,EAGF8F,GAhDT,SAA4BnG,GAC1B,IAAIqG,EAAY,WAAWvC,KAAKd,KAGhC,GAFW,WAAWc,KAAKd,MAEfrC,EAAcX,IAII,UAFX,EAAiBA,GAEnBiC,SACb,OAAO,KAIX,IAAIqE,EAAcN,EAAchG,GAMhC,IAJIa,EAAayF,KACfA,EAAcA,EAAYb,MAGrB9E,EAAc2F,IAAgB,CAAC,OAAQ,QAAQV,QAAQ7F,EAAYuG,IAAgB,GAAG,CAC3F,IAAIC,EAAM,EAAiBD,GAI3B,GAAsB,SAAlBC,EAAIC,WAA4C,SAApBD,EAAIE,aAA0C,UAAhBF,EAAIG,UAAiF,IAA1D,CAAC,YAAa,eAAed,QAAQW,EAAII,aAAsBN,GAAgC,WAAnBE,EAAII,YAA2BN,GAAaE,EAAIK,QAAyB,SAAfL,EAAIK,OACjO,OAAON,EAEPA,EAAcA,EAAYd,UAE9B,CAEA,OAAO,IACT,CAgByBqB,CAAmB7G,IAAYK,CACxD,CCpEe,SAASyG,EAAyB3H,GAC/C,MAAO,CAAC,MAAO,UAAUyG,QAAQzG,IAAc,EAAI,IAAM,GAC3D,CCDO,SAAS4H,EAAOjE,EAAK1E,EAAOyE,GACjC,OAAO,EAAQC,EAAK,EAAQ1E,EAAOyE,GACrC,CCFe,SAASmE,EAAmBC,GACzC,OAAOxJ,OAAOkE,OAAO,CAAC,ECDf,CACLS,IAAK,EACL9D,MAAO,EACPD,OAAQ,EACRE,KAAM,GDHuC0I,EACjD,CEHe,SAASC,EAAgB9I,EAAOiD,GAC7C,OAAOA,EAAKpC,QAAO,SAAUkI,EAAS5J,GAEpC,OADA4J,EAAQ5J,GAAOa,EACR+I,CACT,GAAG,CAAC,EACN,CCuFA,SACEpG,KAAM,QACNC,SAAS,EACTC,MAAO,OACPC,GA9EF,SAAeC,GACb,IAAIiG,EAEAhG,EAAQD,EAAKC,MACbL,EAAOI,EAAKJ,KACZmB,EAAUf,EAAKe,QACfmF,EAAejG,EAAME,SAASgB,MAC9BgF,EAAgBlG,EAAMmG,cAAcD,cACpCE,EAAgB9E,EAAiBtB,EAAMjC,WACvCsI,EAAOX,EAAyBU,GAEhCE,EADa,CAACnJ,EAAMD,GAAOsH,QAAQ4B,IAAkB,EAClC,SAAW,QAElC,GAAKH,GAAiBC,EAAtB,CAIA,IAAIL,EAxBgB,SAAyBU,EAASvG,GAItD,OAAO4F,EAAsC,iBAH7CW,EAA6B,mBAAZA,EAAyBA,EAAQlK,OAAOkE,OAAO,CAAC,EAAGP,EAAMwG,MAAO,CAC/EzI,UAAWiC,EAAMjC,aACbwI,GACkDA,EAAUT,EAAgBS,EAASlJ,GAC7F,CAmBsBoJ,CAAgB3F,EAAQyF,QAASvG,GACjD0G,EAAY/C,EAAcsC,GAC1BU,EAAmB,MAATN,EAAe,EAAMlJ,EAC/ByJ,EAAmB,MAATP,EAAepJ,EAASC,EAClC2J,EAAU7G,EAAMwG,MAAM7I,UAAU2I,GAAOtG,EAAMwG,MAAM7I,UAAU0I,GAAQH,EAAcG,GAAQrG,EAAMwG,MAAM9I,OAAO4I,GAC9GQ,EAAYZ,EAAcG,GAAQrG,EAAMwG,MAAM7I,UAAU0I,GACxDU,EAAoB/B,EAAgBiB,GACpCe,EAAaD,EAA6B,MAATV,EAAeU,EAAkBE,cAAgB,EAAIF,EAAkBG,aAAe,EAAI,EAC3HC,EAAoBN,EAAU,EAAIC,EAAY,EAG9CpF,EAAMmE,EAAcc,GACpBlF,EAAMuF,EAAaN,EAAUJ,GAAOT,EAAce,GAClDQ,EAASJ,EAAa,EAAIN,EAAUJ,GAAO,EAAIa,EAC/CE,EAAS1B,EAAOjE,EAAK0F,EAAQ3F,GAE7B6F,EAAWjB,EACfrG,EAAMmG,cAAcxG,KAASqG,EAAwB,CAAC,GAAyBsB,GAAYD,EAAQrB,EAAsBuB,aAAeF,EAASD,EAAQpB,EAnBzJ,CAoBF,EA4CEtF,OA1CF,SAAgBC,GACd,IAAIX,EAAQW,EAAMX,MAEdwH,EADU7G,EAAMG,QACWlC,QAC3BqH,OAAoC,IAArBuB,EAA8B,sBAAwBA,EAErD,MAAhBvB,IAKwB,iBAAjBA,IACTA,EAAejG,EAAME,SAASxC,OAAO+J,cAAcxB,MAahDpC,EAAS7D,EAAME,SAASxC,OAAQuI,KAQrCjG,EAAME,SAASgB,MAAQ+E,EACzB,EASE5E,SAAU,CAAC,iBACXqG,iBAAkB,CAAC,oBCnGN,SAASC,EAAa5J,GACnC,OAAOA,EAAUwD,MAAM,KAAK,EAC9B,CCOA,IAAIqG,EAAa,CACf5G,IAAK,OACL9D,MAAO,OACPD,OAAQ,OACRE,KAAM,QAeD,SAAS0K,GAAYlH,GAC1B,IAAImH,EAEApK,EAASiD,EAAMjD,OACfqK,EAAapH,EAAMoH,WACnBhK,EAAY4C,EAAM5C,UAClBiK,EAAYrH,EAAMqH,UAClBC,EAAUtH,EAAMsH,QAChBpH,EAAWF,EAAME,SACjBqH,EAAkBvH,EAAMuH,gBACxBC,EAAWxH,EAAMwH,SACjBC,EAAezH,EAAMyH,aACrBC,EAAU1H,EAAM0H,QAChBC,EAAaL,EAAQ1E,EACrBA,OAAmB,IAAf+E,EAAwB,EAAIA,EAChCC,EAAaN,EAAQxE,EACrBA,OAAmB,IAAf8E,EAAwB,EAAIA,EAEhCC,EAAgC,mBAAjBJ,EAA8BA,EAAa,CAC5D7E,EAAGA,EACHE,IACG,CACHF,EAAGA,EACHE,GAGFF,EAAIiF,EAAMjF,EACVE,EAAI+E,EAAM/E,EACV,IAAIgF,EAAOR,EAAQrL,eAAe,KAC9B8L,EAAOT,EAAQrL,eAAe,KAC9B+L,EAAQxL,EACRyL,EAAQ,EACRC,EAAM5J,OAEV,GAAIkJ,EAAU,CACZ,IAAIpD,EAAeC,EAAgBtH,GAC/BoL,EAAa,eACbC,EAAY,cAEZhE,IAAiBhG,EAAUrB,IAGmB,WAA5C,EAFJqH,EAAeN,EAAmB/G,IAECmD,UAAsC,aAAbA,IAC1DiI,EAAa,eACbC,EAAY,gBAOZhL,IAAc,IAAQA,IAAcZ,GAAQY,IAAcb,IAAU8K,IAAczK,KACpFqL,EAAQ3L,EAGRwG,IAFc4E,GAAWtD,IAAiB8D,GAAOA,EAAIxF,eAAiBwF,EAAIxF,eAAeD,OACzF2B,EAAa+D,IACEf,EAAW3E,OAC1BK,GAAKyE,EAAkB,GAAK,GAG1BnK,IAAcZ,IAASY,IAAc,GAAOA,IAAcd,GAAW+K,IAAczK,KACrFoL,EAAQzL,EAGRqG,IAFc8E,GAAWtD,IAAiB8D,GAAOA,EAAIxF,eAAiBwF,EAAIxF,eAAeH,MACzF6B,EAAagE,IACEhB,EAAW7E,MAC1BK,GAAK2E,EAAkB,GAAK,EAEhC,CAEA,IAgBMc,EAhBFC,EAAe5M,OAAOkE,OAAO,CAC/BM,SAAUA,GACTsH,GAAYP,GAEXsB,GAAyB,IAAjBd,EAlFd,SAA2BrI,EAAM8I,GAC/B,IAAItF,EAAIxD,EAAKwD,EACTE,EAAI1D,EAAK0D,EACT0F,EAAMN,EAAIO,kBAAoB,EAClC,MAAO,CACL7F,EAAG5B,EAAM4B,EAAI4F,GAAOA,GAAO,EAC3B1F,EAAG9B,EAAM8B,EAAI0F,GAAOA,GAAO,EAE/B,CA0EsCE,CAAkB,CACpD9F,EAAGA,EACHE,GACC1E,EAAUrB,IAAW,CACtB6F,EAAGA,EACHE,GAMF,OAHAF,EAAI2F,EAAM3F,EACVE,EAAIyF,EAAMzF,EAENyE,EAGK7L,OAAOkE,OAAO,CAAC,EAAG0I,IAAeD,EAAiB,CAAC,GAAkBJ,GAASF,EAAO,IAAM,GAAIM,EAAeL,GAASF,EAAO,IAAM,GAAIO,EAAe5D,WAAayD,EAAIO,kBAAoB,IAAM,EAAI,aAAe7F,EAAI,OAASE,EAAI,MAAQ,eAAiBF,EAAI,OAASE,EAAI,SAAUuF,IAG5R3M,OAAOkE,OAAO,CAAC,EAAG0I,IAAenB,EAAkB,CAAC,GAAmBc,GAASF,EAAOjF,EAAI,KAAO,GAAIqE,EAAgBa,GAASF,EAAOlF,EAAI,KAAO,GAAIuE,EAAgB1C,UAAY,GAAI0C,GAC9L,CAuDA,UACEnI,KAAM,gBACNC,SAAS,EACTC,MAAO,cACPC,GAzDF,SAAuBwJ,GACrB,IAAItJ,EAAQsJ,EAAMtJ,MACdc,EAAUwI,EAAMxI,QAChByI,EAAwBzI,EAAQoH,gBAChCA,OAA4C,IAA1BqB,GAA0CA,EAC5DC,EAAoB1I,EAAQqH,SAC5BA,OAAiC,IAAtBqB,GAAsCA,EACjDC,EAAwB3I,EAAQsH,aAChCA,OAAyC,IAA1BqB,GAA0CA,EAYzDR,EAAe,CACjBlL,UAAWuD,EAAiBtB,EAAMjC,WAClCiK,UAAWL,EAAa3H,EAAMjC,WAC9BL,OAAQsC,EAAME,SAASxC,OACvBqK,WAAY/H,EAAMwG,MAAM9I,OACxBwK,gBAAiBA,EACjBG,QAAoC,UAA3BrI,EAAMc,QAAQC,UAGgB,MAArCf,EAAMmG,cAAcD,gBACtBlG,EAAMK,OAAO3C,OAASrB,OAAOkE,OAAO,CAAC,EAAGP,EAAMK,OAAO3C,OAAQmK,GAAYxL,OAAOkE,OAAO,CAAC,EAAG0I,EAAc,CACvGhB,QAASjI,EAAMmG,cAAcD,cAC7BrF,SAAUb,EAAMc,QAAQC,SACxBoH,SAAUA,EACVC,aAAcA,OAIe,MAA7BpI,EAAMmG,cAAcjF,QACtBlB,EAAMK,OAAOa,MAAQ7E,OAAOkE,OAAO,CAAC,EAAGP,EAAMK,OAAOa,MAAO2G,GAAYxL,OAAOkE,OAAO,CAAC,EAAG0I,EAAc,CACrGhB,QAASjI,EAAMmG,cAAcjF,MAC7BL,SAAU,WACVsH,UAAU,EACVC,aAAcA,OAIlBpI,EAAMM,WAAW5C,OAASrB,OAAOkE,OAAO,CAAC,EAAGP,EAAMM,WAAW5C,OAAQ,CACnE,wBAAyBsC,EAAMjC,WAEnC,EAQE2L,KAAM,CAAC,GChLT,IAAIC,GAAU,CACZA,SAAS,GAsCX,UACEhK,KAAM,iBACNC,SAAS,EACTC,MAAO,QACPC,GAAI,WAAe,EACnBY,OAxCF,SAAgBX,GACd,IAAIC,EAAQD,EAAKC,MACb4J,EAAW7J,EAAK6J,SAChB9I,EAAUf,EAAKe,QACf+I,EAAkB/I,EAAQgJ,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAkBjJ,EAAQkJ,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7C9K,EAASF,EAAUiB,EAAME,SAASxC,QAClCuM,EAAgB,GAAGjM,OAAOgC,EAAMiK,cAActM,UAAWqC,EAAMiK,cAAcvM,QAYjF,OAVIoM,GACFG,EAAc9J,SAAQ,SAAU+J,GAC9BA,EAAaC,iBAAiB,SAAUP,EAASQ,OAAQT,GAC3D,IAGEK,GACF/K,EAAOkL,iBAAiB,SAAUP,EAASQ,OAAQT,IAG9C,WACDG,GACFG,EAAc9J,SAAQ,SAAU+J,GAC9BA,EAAaG,oBAAoB,SAAUT,EAASQ,OAAQT,GAC9D,IAGEK,GACF/K,EAAOoL,oBAAoB,SAAUT,EAASQ,OAAQT,GAE1D,CACF,EASED,KAAM,CAAC,GC/CT,IAAIY,GAAO,CACTnN,KAAM,QACND,MAAO,OACPD,OAAQ,MACR+D,IAAK,UAEQ,SAASuJ,GAAqBxM,GAC3C,OAAOA,EAAUyM,QAAQ,0BAA0B,SAAUC,GAC3D,OAAOH,GAAKG,EACd,GACF,CCVA,IAAI,GAAO,CACTnN,MAAO,MACPC,IAAK,SAEQ,SAASmN,GAA8B3M,GACpD,OAAOA,EAAUyM,QAAQ,cAAc,SAAUC,GAC/C,OAAO,GAAKA,EACd,GACF,CCPe,SAASE,GAAgB3L,GACtC,IAAI6J,EAAM9J,EAAUC,GAGpB,MAAO,CACL4L,WAHe/B,EAAIgC,YAInBC,UAHcjC,EAAIkC,YAKtB,CCNe,SAASC,GAAoBpM,GAQ1C,OAAO+D,EAAsB8B,EAAmB7F,IAAUzB,KAAOwN,GAAgB/L,GAASgM,UAC5F,CCXe,SAASK,GAAerM,GAErC,IAAIsM,EAAoB,EAAiBtM,GACrCuM,EAAWD,EAAkBC,SAC7BC,EAAYF,EAAkBE,UAC9BC,EAAYH,EAAkBG,UAElC,MAAO,6BAA6B3I,KAAKyI,EAAWE,EAAYD,EAClE,CCLe,SAASE,GAAgBtM,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAawF,QAAQ7F,EAAYK,KAAU,EAEvDA,EAAKG,cAAcoM,KAGxBhM,EAAcP,IAASiM,GAAejM,GACjCA,EAGFsM,GAAgB1G,EAAc5F,GACvC,CCJe,SAASwM,GAAkB5M,EAAS6M,GACjD,IAAIC,OAES,IAATD,IACFA,EAAO,IAGT,IAAIvB,EAAeoB,GAAgB1M,GAC/B+M,EAASzB,KAAqE,OAAlDwB,EAAwB9M,EAAQO,oBAAyB,EAASuM,EAAsBH,MACpH1C,EAAM9J,EAAUmL,GAChB0B,EAASD,EAAS,CAAC9C,GAAK7K,OAAO6K,EAAIxF,gBAAkB,GAAI4H,GAAef,GAAgBA,EAAe,IAAMA,EAC7G2B,EAAcJ,EAAKzN,OAAO4N,GAC9B,OAAOD,EAASE,EAChBA,EAAY7N,OAAOwN,GAAkB5G,EAAcgH,IACrD,CCzBe,SAASE,GAAiBC,GACvC,OAAO1P,OAAOkE,OAAO,CAAC,EAAGwL,EAAM,CAC7B5O,KAAM4O,EAAKxI,EACXvC,IAAK+K,EAAKtI,EACVvG,MAAO6O,EAAKxI,EAAIwI,EAAK7I,MACrBjG,OAAQ8O,EAAKtI,EAAIsI,EAAK3I,QAE1B,CCqBA,SAAS4I,GAA2BpN,EAASqN,EAAgBlL,GAC3D,OAAOkL,IAAmBxO,EAAWqO,GCzBxB,SAAyBlN,EAASmC,GAC/C,IAAI8H,EAAM9J,EAAUH,GAChBsN,EAAOzH,EAAmB7F,GAC1ByE,EAAiBwF,EAAIxF,eACrBH,EAAQgJ,EAAKhF,YACb9D,EAAS8I,EAAKjF,aACd1D,EAAI,EACJE,EAAI,EAER,GAAIJ,EAAgB,CAClBH,EAAQG,EAAeH,MACvBE,EAASC,EAAeD,OACxB,IAAI+I,EAAiB1J,KAEjB0J,IAAmBA,GAA+B,UAAbpL,KACvCwC,EAAIF,EAAeG,WACnBC,EAAIJ,EAAeK,UAEvB,CAEA,MAAO,CACLR,MAAOA,EACPE,OAAQA,EACRG,EAAGA,EAAIyH,GAAoBpM,GAC3B6E,EAAGA,EAEP,CDDwD2I,CAAgBxN,EAASmC,IAAa1B,EAAU4M,GAdxG,SAAoCrN,EAASmC,GAC3C,IAAIgL,EAAOpJ,EAAsB/D,GAAS,EAAoB,UAAbmC,GASjD,OARAgL,EAAK/K,IAAM+K,EAAK/K,IAAMpC,EAAQyN,UAC9BN,EAAK5O,KAAO4O,EAAK5O,KAAOyB,EAAQ0N,WAChCP,EAAK9O,OAAS8O,EAAK/K,IAAMpC,EAAQqI,aACjC8E,EAAK7O,MAAQ6O,EAAK5O,KAAOyB,EAAQsI,YACjC6E,EAAK7I,MAAQtE,EAAQsI,YACrB6E,EAAK3I,OAASxE,EAAQqI,aACtB8E,EAAKxI,EAAIwI,EAAK5O,KACd4O,EAAKtI,EAAIsI,EAAK/K,IACP+K,CACT,CAG0HQ,CAA2BN,EAAgBlL,GAAY+K,GEtBlK,SAAyBlN,GACtC,IAAI8M,EAEAQ,EAAOzH,EAAmB7F,GAC1B4N,EAAY7B,GAAgB/L,GAC5B2M,EAA0D,OAAlDG,EAAwB9M,EAAQO,oBAAyB,EAASuM,EAAsBH,KAChGrI,EAAQ,EAAIgJ,EAAKO,YAAaP,EAAKhF,YAAaqE,EAAOA,EAAKkB,YAAc,EAAGlB,EAAOA,EAAKrE,YAAc,GACvG9D,EAAS,EAAI8I,EAAKQ,aAAcR,EAAKjF,aAAcsE,EAAOA,EAAKmB,aAAe,EAAGnB,EAAOA,EAAKtE,aAAe,GAC5G1D,GAAKiJ,EAAU5B,WAAaI,GAAoBpM,GAChD6E,GAAK+I,EAAU1B,UAMnB,MAJiD,QAA7C,EAAiBS,GAAQW,GAAMS,YACjCpJ,GAAK,EAAI2I,EAAKhF,YAAaqE,EAAOA,EAAKrE,YAAc,GAAKhE,GAGrD,CACLA,MAAOA,EACPE,OAAQA,EACRG,EAAGA,EACHE,EAAGA,EAEP,CFCkMmJ,CAAgBnI,EAAmB7F,IACrO,CG1Be,SAASiO,GAAe9M,GACrC,IAOIkI,EAPAtK,EAAYoC,EAAKpC,UACjBiB,EAAUmB,EAAKnB,QACfb,EAAYgC,EAAKhC,UACjBqI,EAAgBrI,EAAYuD,EAAiBvD,GAAa,KAC1DiK,EAAYjK,EAAY4J,EAAa5J,GAAa,KAClD+O,EAAUnP,EAAU4F,EAAI5F,EAAUuF,MAAQ,EAAItE,EAAQsE,MAAQ,EAC9D6J,EAAUpP,EAAU8F,EAAI9F,EAAUyF,OAAS,EAAIxE,EAAQwE,OAAS,EAGpE,OAAQgD,GACN,KAAK,EACH6B,EAAU,CACR1E,EAAGuJ,EACHrJ,EAAG9F,EAAU8F,EAAI7E,EAAQwE,QAE3B,MAEF,KAAKnG,EACHgL,EAAU,CACR1E,EAAGuJ,EACHrJ,EAAG9F,EAAU8F,EAAI9F,EAAUyF,QAE7B,MAEF,KAAKlG,EACH+K,EAAU,CACR1E,EAAG5F,EAAU4F,EAAI5F,EAAUuF,MAC3BO,EAAGsJ,GAEL,MAEF,KAAK5P,EACH8K,EAAU,CACR1E,EAAG5F,EAAU4F,EAAI3E,EAAQsE,MACzBO,EAAGsJ,GAEL,MAEF,QACE9E,EAAU,CACR1E,EAAG5F,EAAU4F,EACbE,EAAG9F,EAAU8F,GAInB,IAAIuJ,EAAW5G,EAAgBV,EAAyBU,GAAiB,KAEzE,GAAgB,MAAZ4G,EAAkB,CACpB,IAAI1G,EAAmB,MAAb0G,EAAmB,SAAW,QAExC,OAAQhF,GACN,KAAK1K,EACH2K,EAAQ+E,GAAY/E,EAAQ+E,IAAarP,EAAU2I,GAAO,EAAI1H,EAAQ0H,GAAO,GAC7E,MAEF,KAAK/I,EACH0K,EAAQ+E,GAAY/E,EAAQ+E,IAAarP,EAAU2I,GAAO,EAAI1H,EAAQ0H,GAAO,GAKnF,CAEA,OAAO2B,CACT,CC3De,SAASgF,GAAejN,EAAOc,QAC5B,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAIoM,EAAWpM,EACXqM,EAAqBD,EAASnP,UAC9BA,OAAmC,IAAvBoP,EAAgCnN,EAAMjC,UAAYoP,EAC9DC,EAAoBF,EAASnM,SAC7BA,OAAiC,IAAtBqM,EAA+BpN,EAAMe,SAAWqM,EAC3DC,EAAoBH,EAASI,SAC7BA,OAAiC,IAAtBD,EAA+B7P,EAAkB6P,EAC5DE,EAAwBL,EAASM,aACjCA,OAAyC,IAA1BD,EAAmC9P,EAAW8P,EAC7DE,EAAwBP,EAASQ,eACjCA,OAA2C,IAA1BD,EAAmC/P,EAAS+P,EAC7DE,EAAuBT,EAASU,YAChCA,OAAuC,IAAzBD,GAA0CA,EACxDE,EAAmBX,EAAS3G,QAC5BA,OAA+B,IAArBsH,EAA8B,EAAIA,EAC5ChI,EAAgBD,EAAsC,iBAAZW,EAAuBA,EAAUT,EAAgBS,EAASlJ,IACpGyQ,EAAaJ,IAAmBhQ,EAASC,EAAYD,EACrDqK,EAAa/H,EAAMwG,MAAM9I,OACzBkB,EAAUoB,EAAME,SAAS0N,EAAcE,EAAaJ,GACpDK,EJkBS,SAAyBnP,EAAS0O,EAAUE,EAAczM,GACvE,IAAIiN,EAAmC,oBAAbV,EAlB5B,SAA4B1O,GAC1B,IAAIpB,EAAkBgO,GAAkB5G,EAAchG,IAElDqP,EADoB,CAAC,WAAY,SAASzJ,QAAQ,EAAiB5F,GAASiC,WAAa,GACnDtB,EAAcX,GAAWoG,EAAgBpG,GAAWA,EAE9F,OAAKS,EAAU4O,GAKRzQ,EAAgBgI,QAAO,SAAUyG,GACtC,OAAO5M,EAAU4M,IAAmBpI,EAASoI,EAAgBgC,IAAmD,SAAhCtP,EAAYsN,EAC9F,IANS,EAOX,CAK6DiC,CAAmBtP,GAAW,GAAGZ,OAAOsP,GAC/F9P,EAAkB,GAAGQ,OAAOgQ,EAAqB,CAACR,IAClDW,EAAsB3Q,EAAgB,GACtC4Q,EAAe5Q,EAAgBK,QAAO,SAAUwQ,EAASpC,GAC3D,IAAIF,EAAOC,GAA2BpN,EAASqN,EAAgBlL,GAK/D,OAJAsN,EAAQrN,IAAM,EAAI+K,EAAK/K,IAAKqN,EAAQrN,KACpCqN,EAAQnR,MAAQ,EAAI6O,EAAK7O,MAAOmR,EAAQnR,OACxCmR,EAAQpR,OAAS,EAAI8O,EAAK9O,OAAQoR,EAAQpR,QAC1CoR,EAAQlR,KAAO,EAAI4O,EAAK5O,KAAMkR,EAAQlR,MAC/BkR,CACT,GAAGrC,GAA2BpN,EAASuP,EAAqBpN,IAK5D,OAJAqN,EAAalL,MAAQkL,EAAalR,MAAQkR,EAAajR,KACvDiR,EAAahL,OAASgL,EAAanR,OAASmR,EAAapN,IACzDoN,EAAa7K,EAAI6K,EAAajR,KAC9BiR,EAAa3K,EAAI2K,EAAapN,IACvBoN,CACT,CInC2BE,CAAgBjP,EAAUT,GAAWA,EAAUA,EAAQ2P,gBAAkB9J,EAAmBzE,EAAME,SAASxC,QAAS4P,EAAUE,EAAczM,GACjKyN,EAAsB7L,EAAsB3C,EAAME,SAASvC,WAC3DuI,EAAgB2G,GAAe,CACjClP,UAAW6Q,EACX5P,QAASmJ,EACThH,SAAU,WACVhD,UAAWA,IAET0Q,EAAmB3C,GAAiBzP,OAAOkE,OAAO,CAAC,EAAGwH,EAAY7B,IAClEwI,EAAoBhB,IAAmBhQ,EAAS+Q,EAAmBD,EAGnEG,EAAkB,CACpB3N,IAAK+M,EAAmB/M,IAAM0N,EAAkB1N,IAAM6E,EAAc7E,IACpE/D,OAAQyR,EAAkBzR,OAAS8Q,EAAmB9Q,OAAS4I,EAAc5I,OAC7EE,KAAM4Q,EAAmB5Q,KAAOuR,EAAkBvR,KAAO0I,EAAc1I,KACvED,MAAOwR,EAAkBxR,MAAQ6Q,EAAmB7Q,MAAQ2I,EAAc3I,OAExE0R,EAAa5O,EAAMmG,cAAckB,OAErC,GAAIqG,IAAmBhQ,GAAUkR,EAAY,CAC3C,IAAIvH,EAASuH,EAAW7Q,GACxB1B,OAAO4D,KAAK0O,GAAiBxO,SAAQ,SAAUhE,GAC7C,IAAI0S,EAAW,CAAC3R,EAAOD,GAAQuH,QAAQrI,IAAQ,EAAI,GAAK,EACpDkK,EAAO,CAAC,EAAKpJ,GAAQuH,QAAQrI,IAAQ,EAAI,IAAM,IACnDwS,EAAgBxS,IAAQkL,EAAOhB,GAAQwI,CACzC,GACF,CAEA,OAAOF,CACT,CCyEA,UACEhP,KAAM,OACNC,SAAS,EACTC,MAAO,OACPC,GA5HF,SAAcC,GACZ,IAAIC,EAAQD,EAAKC,MACbc,EAAUf,EAAKe,QACfnB,EAAOI,EAAKJ,KAEhB,IAAIK,EAAMmG,cAAcxG,GAAMmP,MAA9B,CAoCA,IAhCA,IAAIC,EAAoBjO,EAAQkM,SAC5BgC,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBnO,EAAQoO,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8BtO,EAAQuO,mBACtC9I,EAAUzF,EAAQyF,QAClB+G,EAAWxM,EAAQwM,SACnBE,EAAe1M,EAAQ0M,aACvBI,EAAc9M,EAAQ8M,YACtB0B,EAAwBxO,EAAQyO,eAChCA,OAA2C,IAA1BD,GAA0CA,EAC3DE,EAAwB1O,EAAQ0O,sBAChCC,EAAqBzP,EAAMc,QAAQ/C,UACnCqI,EAAgB9E,EAAiBmO,GAEjCJ,EAAqBD,IADHhJ,IAAkBqJ,GACqCF,EAjC/E,SAAuCxR,GACrC,GAAIuD,EAAiBvD,KAAeX,EAClC,MAAO,GAGT,IAAIsS,EAAoBnF,GAAqBxM,GAC7C,MAAO,CAAC2M,GAA8B3M,GAAY2R,EAAmBhF,GAA8BgF,GACrG,CA0B6IC,CAA8BF,GAA3E,CAAClF,GAAqBkF,KAChHG,EAAa,CAACH,GAAoBzR,OAAOqR,GAAoBxR,QAAO,SAAUC,EAAKC,GACrF,OAAOD,EAAIE,OAAOsD,EAAiBvD,KAAeX,ECvCvC,SAA8B4C,EAAOc,QAClC,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAIoM,EAAWpM,EACX/C,EAAYmP,EAASnP,UACrBuP,EAAWJ,EAASI,SACpBE,EAAeN,EAASM,aACxBjH,EAAU2G,EAAS3G,QACnBgJ,EAAiBrC,EAASqC,eAC1BM,EAAwB3C,EAASsC,sBACjCA,OAAkD,IAA1BK,EAAmC,EAAgBA,EAC3E7H,EAAYL,EAAa5J,GACzB6R,EAAa5H,EAAYuH,EAAiB3R,EAAsBA,EAAoB4H,QAAO,SAAUzH,GACvG,OAAO4J,EAAa5J,KAAeiK,CACrC,IAAK3K,EACDyS,EAAoBF,EAAWpK,QAAO,SAAUzH,GAClD,OAAOyR,EAAsBhL,QAAQzG,IAAc,CACrD,IAEiC,IAA7B+R,EAAkBC,SACpBD,EAAoBF,GAQtB,IAAII,EAAYF,EAAkBjS,QAAO,SAAUC,EAAKC,GAOtD,OANAD,EAAIC,GAAakP,GAAejN,EAAO,CACrCjC,UAAWA,EACXuP,SAAUA,EACVE,aAAcA,EACdjH,QAASA,IACRjF,EAAiBvD,IACbD,CACT,GAAG,CAAC,GACJ,OAAOzB,OAAO4D,KAAK+P,GAAWC,MAAK,SAAUC,EAAGC,GAC9C,OAAOH,EAAUE,GAAKF,EAAUG,EAClC,GACF,CDH6DC,CAAqBpQ,EAAO,CACnFjC,UAAWA,EACXuP,SAAUA,EACVE,aAAcA,EACdjH,QAASA,EACTgJ,eAAgBA,EAChBC,sBAAuBA,IACpBzR,EACP,GAAG,IACCsS,EAAgBrQ,EAAMwG,MAAM7I,UAC5BoK,EAAa/H,EAAMwG,MAAM9I,OACzB4S,EAAY,IAAIC,IAChBC,GAAqB,EACrBC,EAAwBb,EAAW,GAE9Bc,EAAI,EAAGA,EAAId,EAAWG,OAAQW,IAAK,CAC1C,IAAI3S,EAAY6R,EAAWc,GAEvBC,EAAiBrP,EAAiBvD,GAElC6S,EAAmBjJ,EAAa5J,KAAeT,EAC/CuT,EAAa,CAAC,EAAK5T,GAAQuH,QAAQmM,IAAmB,EACtDrK,EAAMuK,EAAa,QAAU,SAC7B1F,EAAW8B,GAAejN,EAAO,CACnCjC,UAAWA,EACXuP,SAAUA,EACVE,aAAcA,EACdI,YAAaA,EACbrH,QAASA,IAEPuK,EAAoBD,EAAaD,EAAmB1T,EAAQC,EAAOyT,EAAmB3T,EAAS,EAE/FoT,EAAc/J,GAAOyB,EAAWzB,KAClCwK,EAAoBvG,GAAqBuG,IAG3C,IAAIC,EAAmBxG,GAAqBuG,GACxCE,EAAS,GAUb,GARIhC,GACFgC,EAAOC,KAAK9F,EAASwF,IAAmB,GAGtCxB,GACF6B,EAAOC,KAAK9F,EAAS2F,IAAsB,EAAG3F,EAAS4F,IAAqB,GAG1EC,EAAOE,OAAM,SAAUC,GACzB,OAAOA,CACT,IAAI,CACFV,EAAwB1S,EACxByS,GAAqB,EACrB,KACF,CAEAF,EAAUc,IAAIrT,EAAWiT,EAC3B,CAEA,GAAIR,EAqBF,IAnBA,IAEIa,EAAQ,SAAeC,GACzB,IAAIC,EAAmB3B,EAAW4B,MAAK,SAAUzT,GAC/C,IAAIiT,EAASV,EAAU9T,IAAIuB,GAE3B,GAAIiT,EACF,OAAOA,EAAOS,MAAM,EAAGH,GAAIJ,OAAM,SAAUC,GACzC,OAAOA,CACT,GAEJ,IAEA,GAAII,EAEF,OADAd,EAAwBc,EACjB,OAEX,EAESD,EAnBY/B,EAAiB,EAAI,EAmBZ+B,EAAK,GAGpB,UAFFD,EAAMC,GADmBA,KAOpCtR,EAAMjC,YAAc0S,IACtBzQ,EAAMmG,cAAcxG,GAAMmP,OAAQ,EAClC9O,EAAMjC,UAAY0S,EAClBzQ,EAAM0R,OAAQ,EA5GhB,CA8GF,EAQEhK,iBAAkB,CAAC,UACnBgC,KAAM,CACJoF,OAAO,IE7IX,SAAS6C,GAAexG,EAAUY,EAAM6F,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjBrO,EAAG,EACHE,EAAG,IAIA,CACLzC,IAAKmK,EAASnK,IAAM+K,EAAK3I,OAASwO,EAAiBnO,EACnDvG,MAAOiO,EAASjO,MAAQ6O,EAAK7I,MAAQ0O,EAAiBrO,EACtDtG,OAAQkO,EAASlO,OAAS8O,EAAK3I,OAASwO,EAAiBnO,EACzDtG,KAAMgO,EAAShO,KAAO4O,EAAK7I,MAAQ0O,EAAiBrO,EAExD,CAEA,SAASsO,GAAsB1G,GAC7B,MAAO,CAAC,EAAKjO,EAAOD,EAAQE,GAAM2U,MAAK,SAAUC,GAC/C,OAAO5G,EAAS4G,IAAS,CAC3B,GACF,CA+BA,UACEpS,KAAM,OACNC,SAAS,EACTC,MAAO,OACP6H,iBAAkB,CAAC,mBACnB5H,GAlCF,SAAcC,GACZ,IAAIC,EAAQD,EAAKC,MACbL,EAAOI,EAAKJ,KACZ0Q,EAAgBrQ,EAAMwG,MAAM7I,UAC5BoK,EAAa/H,EAAMwG,MAAM9I,OACzBkU,EAAmB5R,EAAMmG,cAAc6L,gBACvCC,EAAoBhF,GAAejN,EAAO,CAC5C0N,eAAgB,cAEdwE,EAAoBjF,GAAejN,EAAO,CAC5C4N,aAAa,IAEXuE,EAA2BR,GAAeM,EAAmB5B,GAC7D+B,EAAsBT,GAAeO,EAAmBnK,EAAY6J,GACpES,EAAoBR,GAAsBM,GAC1CG,EAAmBT,GAAsBO,GAC7CpS,EAAMmG,cAAcxG,GAAQ,CAC1BwS,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpBtS,EAAMM,WAAW5C,OAASrB,OAAOkE,OAAO,CAAC,EAAGP,EAAMM,WAAW5C,OAAQ,CACnE,+BAAgC2U,EAChC,sBAAuBC,GAE3B,GCJA,IACE3S,KAAM,SACNC,SAAS,EACTC,MAAO,OACPwB,SAAU,CAAC,iBACXvB,GA5BF,SAAgBa,GACd,IAAIX,EAAQW,EAAMX,MACdc,EAAUH,EAAMG,QAChBnB,EAAOgB,EAAMhB,KACb4S,EAAkBzR,EAAQuG,OAC1BA,OAA6B,IAApBkL,EAA6B,CAAC,EAAG,GAAKA,EAC/C7I,EAAO,UAAkB,SAAU5L,EAAKC,GAE1C,OADAD,EAAIC,GA5BD,SAAiCA,EAAWyI,EAAOa,GACxD,IAAIjB,EAAgB9E,EAAiBvD,GACjCyU,EAAiB,CAACrV,EAAM,GAAKqH,QAAQ4B,IAAkB,GAAK,EAAI,EAEhErG,EAAyB,mBAAXsH,EAAwBA,EAAOhL,OAAOkE,OAAO,CAAC,EAAGiG,EAAO,CACxEzI,UAAWA,KACPsJ,EACFoL,EAAW1S,EAAK,GAChB2S,EAAW3S,EAAK,GAIpB,OAFA0S,EAAWA,GAAY,EACvBC,GAAYA,GAAY,GAAKF,EACtB,CAACrV,EAAMD,GAAOsH,QAAQ4B,IAAkB,EAAI,CACjD7C,EAAGmP,EACHjP,EAAGgP,GACD,CACFlP,EAAGkP,EACHhP,EAAGiP,EAEP,CASqBC,CAAwB5U,EAAWiC,EAAMwG,MAAOa,GAC1DvJ,CACT,GAAG,CAAC,GACA8U,EAAwBlJ,EAAK1J,EAAMjC,WACnCwF,EAAIqP,EAAsBrP,EAC1BE,EAAImP,EAAsBnP,EAEW,MAArCzD,EAAMmG,cAAcD,gBACtBlG,EAAMmG,cAAcD,cAAc3C,GAAKA,EACvCvD,EAAMmG,cAAcD,cAAczC,GAAKA,GAGzCzD,EAAMmG,cAAcxG,GAAQ+J,CAC9B,GC1BA,IACE/J,KAAM,gBACNC,SAAS,EACTC,MAAO,OACPC,GApBF,SAAuBC,GACrB,IAAIC,EAAQD,EAAKC,MACbL,EAAOI,EAAKJ,KAKhBK,EAAMmG,cAAcxG,GAAQkN,GAAe,CACzClP,UAAWqC,EAAMwG,MAAM7I,UACvBiB,QAASoB,EAAMwG,MAAM9I,OACrBqD,SAAU,WACVhD,UAAWiC,EAAMjC,WAErB,EAQE2L,KAAM,CAAC,GCgHT,IACE/J,KAAM,kBACNC,SAAS,EACTC,MAAO,OACPC,GA/HF,SAAyBC,GACvB,IAAIC,EAAQD,EAAKC,MACbc,EAAUf,EAAKe,QACfnB,EAAOI,EAAKJ,KACZoP,EAAoBjO,EAAQkM,SAC5BgC,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBnO,EAAQoO,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrD3B,EAAWxM,EAAQwM,SACnBE,EAAe1M,EAAQ0M,aACvBI,EAAc9M,EAAQ8M,YACtBrH,EAAUzF,EAAQyF,QAClBsM,EAAkB/R,EAAQgS,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBjS,EAAQkS,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtD5H,EAAW8B,GAAejN,EAAO,CACnCsN,SAAUA,EACVE,aAAcA,EACdjH,QAASA,EACTqH,YAAaA,IAEXxH,EAAgB9E,EAAiBtB,EAAMjC,WACvCiK,EAAYL,EAAa3H,EAAMjC,WAC/BkV,GAAmBjL,EACnBgF,EAAWtH,EAAyBU,GACpC8I,ECrCY,MDqCSlC,ECrCH,IAAM,IDsCxB9G,EAAgBlG,EAAMmG,cAAcD,cACpCmK,EAAgBrQ,EAAMwG,MAAM7I,UAC5BoK,EAAa/H,EAAMwG,MAAM9I,OACzBwV,EAA4C,mBAAjBF,EAA8BA,EAAa3W,OAAOkE,OAAO,CAAC,EAAGP,EAAMwG,MAAO,CACvGzI,UAAWiC,EAAMjC,aACbiV,EACFG,EAA2D,iBAAtBD,EAAiC,CACxElG,SAAUkG,EACVhE,QAASgE,GACP7W,OAAOkE,OAAO,CAChByM,SAAU,EACVkC,QAAS,GACRgE,GACCE,EAAsBpT,EAAMmG,cAAckB,OAASrH,EAAMmG,cAAckB,OAAOrH,EAAMjC,WAAa,KACjG2L,EAAO,CACTnG,EAAG,EACHE,EAAG,GAGL,GAAKyC,EAAL,CAIA,GAAI8I,EAAe,CACjB,IAAIqE,EAEAC,EAAwB,MAAbtG,EAAmB,EAAM7P,EACpCoW,EAAuB,MAAbvG,EAAmB/P,EAASC,EACtCoJ,EAAmB,MAAb0G,EAAmB,SAAW,QACpC3F,EAASnB,EAAc8G,GACvBtL,EAAM2F,EAAS8D,EAASmI,GACxB7R,EAAM4F,EAAS8D,EAASoI,GACxBC,EAAWV,GAAU/K,EAAWzB,GAAO,EAAI,EAC3CmN,EAASzL,IAAc1K,EAAQ+S,EAAc/J,GAAOyB,EAAWzB,GAC/DoN,EAAS1L,IAAc1K,GAASyK,EAAWzB,IAAQ+J,EAAc/J,GAGjEL,EAAejG,EAAME,SAASgB,MAC9BwF,EAAYoM,GAAU7M,EAAetC,EAAcsC,GAAgB,CACrE/C,MAAO,EACPE,OAAQ,GAENuQ,GAAqB3T,EAAMmG,cAAc,oBAAsBnG,EAAMmG,cAAc,oBAAoBI,QxBhFtG,CACLvF,IAAK,EACL9D,MAAO,EACPD,OAAQ,EACRE,KAAM,GwB6EFyW,GAAkBD,GAAmBL,GACrCO,GAAkBF,GAAmBJ,GAMrCO,GAAWnO,EAAO,EAAG0K,EAAc/J,GAAMI,EAAUJ,IACnDyN,GAAYd,EAAkB5C,EAAc/J,GAAO,EAAIkN,EAAWM,GAAWF,GAAkBT,EAA4BnG,SAAWyG,EAASK,GAAWF,GAAkBT,EAA4BnG,SACxMgH,GAAYf,GAAmB5C,EAAc/J,GAAO,EAAIkN,EAAWM,GAAWD,GAAkBV,EAA4BnG,SAAW0G,EAASI,GAAWD,GAAkBV,EAA4BnG,SACzMjG,GAAoB/G,EAAME,SAASgB,OAAS8D,EAAgBhF,EAAME,SAASgB,OAC3E+S,GAAelN,GAAiC,MAAbiG,EAAmBjG,GAAkBsF,WAAa,EAAItF,GAAkBuF,YAAc,EAAI,EAC7H4H,GAAwH,OAAjGb,EAA+C,MAAvBD,OAA8B,EAASA,EAAoBpG,IAAqBqG,EAAwB,EAEvJc,GAAY9M,EAAS2M,GAAYE,GACjCE,GAAkBzO,EAAOmN,EAAS,EAAQpR,EAF9B2F,EAAS0M,GAAYG,GAAsBD,IAEKvS,EAAK2F,EAAQyL,EAAS,EAAQrR,EAAK0S,IAAa1S,GAChHyE,EAAc8G,GAAYoH,GAC1B1K,EAAKsD,GAAYoH,GAAkB/M,CACrC,CAEA,GAAI8H,EAAc,CAChB,IAAIkF,GAEAC,GAAyB,MAAbtH,EAAmB,EAAM7P,EAErCoX,GAAwB,MAAbvH,EAAmB/P,EAASC,EAEvCsX,GAAUtO,EAAcgJ,GAExBuF,GAAmB,MAAZvF,EAAkB,SAAW,QAEpCwF,GAAOF,GAAUrJ,EAASmJ,IAE1BK,GAAOH,GAAUrJ,EAASoJ,IAE1BK,IAAuD,IAAxC,CAAC,EAAKzX,GAAMqH,QAAQ4B,GAEnCyO,GAAyH,OAAjGR,GAAgD,MAAvBjB,OAA8B,EAASA,EAAoBlE,IAAoBmF,GAAyB,EAEzJS,GAAaF,GAAeF,GAAOF,GAAUnE,EAAcoE,IAAQ1M,EAAW0M,IAAQI,GAAuB1B,EAA4BjE,QAEzI6F,GAAaH,GAAeJ,GAAUnE,EAAcoE,IAAQ1M,EAAW0M,IAAQI,GAAuB1B,EAA4BjE,QAAUyF,GAE5IK,GAAmBlC,GAAU8B,G1BzH9B,SAAwBlT,EAAK1E,EAAOyE,GACzC,IAAIwT,EAAItP,EAAOjE,EAAK1E,EAAOyE,GAC3B,OAAOwT,EAAIxT,EAAMA,EAAMwT,CACzB,C0BsHoDC,CAAeJ,GAAYN,GAASO,IAAcpP,EAAOmN,EAASgC,GAAaJ,GAAMF,GAAS1B,EAASiC,GAAaJ,IAEpKzO,EAAcgJ,GAAW8F,GACzBtL,EAAKwF,GAAW8F,GAAmBR,EACrC,CAEAxU,EAAMmG,cAAcxG,GAAQ+J,CAvE5B,CAwEF,EAQEhC,iBAAkB,CAAC,WE1HN,SAASyN,GAAiBC,EAAyBrQ,EAAcsD,QAC9D,IAAZA,IACFA,GAAU,GAGZ,ICnBoCrJ,ECJOJ,EFuBvCyW,EAA0B9V,EAAcwF,GACxCuQ,EAAuB/V,EAAcwF,IAf3C,SAAyBnG,GACvB,IAAImN,EAAOnN,EAAQ+D,wBACfI,EAASpB,EAAMoK,EAAK7I,OAAStE,EAAQqE,aAAe,EACpDD,EAASrB,EAAMoK,EAAK3I,QAAUxE,EAAQuE,cAAgB,EAC1D,OAAkB,IAAXJ,GAA2B,IAAXC,CACzB,CAU4DuS,CAAgBxQ,GACtEJ,EAAkBF,EAAmBM,GACrCgH,EAAOpJ,EAAsByS,EAAyBE,EAAsBjN,GAC5EyB,EAAS,CACXc,WAAY,EACZE,UAAW,GAET7C,EAAU,CACZ1E,EAAG,EACHE,EAAG,GAkBL,OAfI4R,IAA4BA,IAA4BhN,MACxB,SAA9B1J,EAAYoG,IAChBkG,GAAetG,MACbmF,GCnCgC9K,EDmCT+F,KClCdhG,EAAUC,IAAUO,EAAcP,GCJxC,CACL4L,YAFyChM,EDQbI,GCNR4L,WACpBE,UAAWlM,EAAQkM,WDGZH,GAAgB3L,IDoCnBO,EAAcwF,KAChBkD,EAAUtF,EAAsBoC,GAAc,IACtCxB,GAAKwB,EAAauH,WAC1BrE,EAAQxE,GAAKsB,EAAasH,WACjB1H,IACTsD,EAAQ1E,EAAIyH,GAAoBrG,KAI7B,CACLpB,EAAGwI,EAAK5O,KAAO2M,EAAOc,WAAa3C,EAAQ1E,EAC3CE,EAAGsI,EAAK/K,IAAM8I,EAAOgB,UAAY7C,EAAQxE,EACzCP,MAAO6I,EAAK7I,MACZE,OAAQ2I,EAAK3I,OAEjB,CGvDA,SAASoS,GAAMC,GACb,IAAItT,EAAM,IAAIoO,IACVmF,EAAU,IAAIC,IACdC,EAAS,GAKb,SAAS3F,EAAK4F,GACZH,EAAQI,IAAID,EAASlW,MACN,GAAG3B,OAAO6X,EAASxU,UAAY,GAAIwU,EAASnO,kBAAoB,IACtEvH,SAAQ,SAAU4V,GACzB,IAAKL,EAAQM,IAAID,GAAM,CACrB,IAAIE,EAAc9T,EAAI3F,IAAIuZ,GAEtBE,GACFhG,EAAKgG,EAET,CACF,IACAL,EAAO3E,KAAK4E,EACd,CAQA,OAzBAJ,EAAUtV,SAAQ,SAAU0V,GAC1B1T,EAAIiP,IAAIyE,EAASlW,KAAMkW,EACzB,IAiBAJ,EAAUtV,SAAQ,SAAU0V,GACrBH,EAAQM,IAAIH,EAASlW,OAExBsQ,EAAK4F,EAET,IACOD,CACT,CClBA,IAEIM,GAAkB,CACpBnY,UAAW,SACX0X,UAAW,GACX1U,SAAU,YAGZ,SAASoV,KACP,IAAK,IAAI1B,EAAO2B,UAAUrG,OAAQsG,EAAO,IAAIpU,MAAMwS,GAAO6B,EAAO,EAAGA,EAAO7B,EAAM6B,IAC/ED,EAAKC,GAAQF,UAAUE,GAGzB,OAAQD,EAAKvE,MAAK,SAAUlT,GAC1B,QAASA,GAAoD,mBAAlCA,EAAQ+D,sBACrC,GACF,CAEO,SAAS4T,GAAgBC,QACL,IAArBA,IACFA,EAAmB,CAAC,GAGtB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBI,eAC3CA,OAA4C,IAA3BD,EAAoCV,GAAkBU,EAC3E,OAAO,SAAsBjZ,EAAWD,EAAQoD,QAC9B,IAAZA,IACFA,EAAU+V,GAGZ,IC/C6B/W,EAC3BgX,ED8CE9W,EAAQ,CACVjC,UAAW,SACXgZ,iBAAkB,GAClBjW,QAASzE,OAAOkE,OAAO,CAAC,EAAG2V,GAAiBW,GAC5C1Q,cAAe,CAAC,EAChBjG,SAAU,CACRvC,UAAWA,EACXD,OAAQA,GAEV4C,WAAY,CAAC,EACbD,OAAQ,CAAC,GAEP2W,EAAmB,GACnBC,GAAc,EACdrN,EAAW,CACb5J,MAAOA,EACPkX,WAAY,SAAoBC,GAC9B,IAAIrW,EAAsC,mBAArBqW,EAAkCA,EAAiBnX,EAAMc,SAAWqW,EACzFC,IACApX,EAAMc,QAAUzE,OAAOkE,OAAO,CAAC,EAAGsW,EAAgB7W,EAAMc,QAASA,GACjEd,EAAMiK,cAAgB,CACpBtM,UAAW0B,EAAU1B,GAAa6N,GAAkB7N,GAAaA,EAAU4Q,eAAiB/C,GAAkB7N,EAAU4Q,gBAAkB,GAC1I7Q,OAAQ8N,GAAkB9N,IAI5B,IEzE4B+X,EAC9B4B,EFwEMN,EDvCG,SAAwBtB,GAErC,IAAIsB,EAAmBvB,GAAMC,GAE7B,OAAO/W,EAAeb,QAAO,SAAUC,EAAK+B,GAC1C,OAAO/B,EAAIE,OAAO+Y,EAAiBvR,QAAO,SAAUqQ,GAClD,OAAOA,EAAShW,QAAUA,CAC5B,IACF,GAAG,GACL,CC8B+ByX,EEzEK7B,EFyEsB,GAAGzX,OAAO2Y,EAAkB3W,EAAMc,QAAQ2U,WExE9F4B,EAAS5B,EAAU5X,QAAO,SAAUwZ,EAAQE,GAC9C,IAAIC,EAAWH,EAAOE,EAAQ5X,MAK9B,OAJA0X,EAAOE,EAAQ5X,MAAQ6X,EAAWnb,OAAOkE,OAAO,CAAC,EAAGiX,EAAUD,EAAS,CACrEzW,QAASzE,OAAOkE,OAAO,CAAC,EAAGiX,EAAS1W,QAASyW,EAAQzW,SACrD4I,KAAMrN,OAAOkE,OAAO,CAAC,EAAGiX,EAAS9N,KAAM6N,EAAQ7N,QAC5C6N,EACEF,CACT,GAAG,CAAC,GAEGhb,OAAO4D,KAAKoX,GAAQlV,KAAI,SAAUhG,GACvC,OAAOkb,EAAOlb,EAChB,MFsGM,OAvCA6D,EAAM+W,iBAAmBA,EAAiBvR,QAAO,SAAUiS,GACzD,OAAOA,EAAE7X,OACX,IAoJFI,EAAM+W,iBAAiB5W,SAAQ,SAAUqI,GACvC,IAAI7I,EAAO6I,EAAM7I,KACb+X,EAAgBlP,EAAM1H,QACtBA,OAA4B,IAAlB4W,EAA2B,CAAC,EAAIA,EAC1ChX,EAAS8H,EAAM9H,OAEnB,GAAsB,mBAAXA,EAAuB,CAChC,IAAIiX,EAAYjX,EAAO,CACrBV,MAAOA,EACPL,KAAMA,EACNiK,SAAUA,EACV9I,QAASA,IAKXkW,EAAiB/F,KAAK0G,GAFT,WAAmB,EAGlC,CACF,IAjIS/N,EAASQ,QAClB,EAMAwN,YAAa,WACX,IAAIX,EAAJ,CAIA,IAAIY,EAAkB7X,EAAME,SACxBvC,EAAYka,EAAgBla,UAC5BD,EAASma,EAAgBna,OAG7B,GAAKyY,GAAiBxY,EAAWD,GAAjC,CASAsC,EAAMwG,MAAQ,CACZ7I,UAAWwX,GAAiBxX,EAAWqH,EAAgBtH,GAAoC,UAA3BsC,EAAMc,QAAQC,UAC9ErD,OAAQiG,EAAcjG,IAOxBsC,EAAM0R,OAAQ,EACd1R,EAAMjC,UAAYiC,EAAMc,QAAQ/C,UAKhCiC,EAAM+W,iBAAiB5W,SAAQ,SAAU0V,GACvC,OAAO7V,EAAMmG,cAAc0P,EAASlW,MAAQtD,OAAOkE,OAAO,CAAC,EAAGsV,EAASnM,KACzE,IAGA,IAFA,IAESoO,EAAQ,EAAGA,EAAQ9X,EAAM+W,iBAAiBhH,OAAQ+H,IAUzD,IAAoB,IAAhB9X,EAAM0R,MAAV,CAMA,IAAIqG,EAAwB/X,EAAM+W,iBAAiBe,GAC/ChY,EAAKiY,EAAsBjY,GAC3BkY,EAAyBD,EAAsBjX,QAC/CoM,OAAsC,IAA3B8K,EAAoC,CAAC,EAAIA,EACpDrY,EAAOoY,EAAsBpY,KAEf,mBAAPG,IACTE,EAAQF,EAAG,CACTE,MAAOA,EACPc,QAASoM,EACTvN,KAAMA,EACNiK,SAAUA,KACN5J,EAdR,MAHEA,EAAM0R,OAAQ,EACdoG,GAAS,CAnCb,CAbA,CAmEF,EAGA1N,QClM2BtK,EDkMV,WACf,OAAO,IAAImY,SAAQ,SAAUC,GAC3BtO,EAASgO,cACTM,EAAQlY,EACV,GACF,ECrMG,WAUL,OATK8W,IACHA,EAAU,IAAImB,SAAQ,SAAUC,GAC9BD,QAAQC,UAAUC,MAAK,WACrBrB,OAAUsB,EACVF,EAAQpY,IACV,GACF,KAGKgX,CACT,GD2LIuB,QAAS,WACPjB,IACAH,GAAc,CAChB,GAGF,IAAKd,GAAiBxY,EAAWD,GAK/B,OAAOkM,EAmCT,SAASwN,IACPJ,EAAiB7W,SAAQ,SAAUL,GACjC,OAAOA,GACT,IACAkX,EAAmB,EACrB,CAEA,OAvCApN,EAASsN,WAAWpW,GAASqX,MAAK,SAAUnY,IACrCiX,GAAenW,EAAQwX,eAC1BxX,EAAQwX,cAActY,EAE1B,IAmCO4J,CACT,CACF,CACO,IAAI2O,GAA4BhC,KGrPnC,GAA4BA,GAAgB,CAC9CI,iBAFqB,CAAC6B,GAAgB,GAAe,GAAe,EAAa,GAAQ,GAAM,GAAiB,EAAO,MCJrH,GAA4BjC,GAAgB,CAC9CI,iBAFqB,CAAC6B,GAAgB,GAAe,GAAe,KCQtE,MAEMC,GAAiB,gBAsBjBC,GAAc9Z,IAClB,IAAI+Z,EAAW/Z,EAAQga,aAAa,kBAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAIE,EAAgBja,EAAQga,aAAa,QAKzC,IAAKC,IAAkBA,EAAcC,SAAS,OAASD,EAAcE,WAAW,KAC9E,OAAO,KAILF,EAAcC,SAAS,OAASD,EAAcE,WAAW,OAC3DF,EAAgB,IAAIA,EAActX,MAAM,KAAK,MAG/CoX,EAAWE,GAAmC,MAAlBA,EAAwBA,EAAcG,OAAS,IAC7E,CAEA,OAAOL,CAAQ,EAGXM,GAAyBra,IAC7B,MAAM+Z,EAAWD,GAAY9Z,GAE7B,OAAI+Z,GACKjU,SAAS+C,cAAckR,GAAYA,EAGrC,IAAI,EAGPO,GAAyBta,IAC7B,MAAM+Z,EAAWD,GAAY9Z,GAC7B,OAAO+Z,EAAWjU,SAAS+C,cAAckR,GAAY,IAAI,EA0BrDQ,GAAuBva,IAC3BA,EAAQwa,cAAc,IAAIC,MAAMZ,IAAgB,EAG5C,GAAYa,MACXA,GAA4B,iBAAXA,UAIO,IAAlBA,EAAOC,SAChBD,EAASA,EAAO,SAGgB,IAApBA,EAAOE,UAGjBC,GAAaH,GAEb,GAAUA,GACLA,EAAOC,OAASD,EAAO,GAAKA,EAGf,iBAAXA,GAAuBA,EAAOvJ,OAAS,EACzCrL,SAAS+C,cAAc6R,GAGzB,KAGHI,GAAY9a,IAChB,IAAK,GAAUA,IAAgD,IAApCA,EAAQ+a,iBAAiB5J,OAClD,OAAO,EAGT,MAAM6J,EAAgF,YAA7DtV,iBAAiB1F,GAASib,iBAAiB,cAE9DC,EAAgBlb,EAAQmb,QAAQ,uBAEtC,IAAKD,EACH,OAAOF,EAGT,GAAIE,IAAkBlb,EAAS,CAC7B,MAAMob,EAAUpb,EAAQmb,QAAQ,WAEhC,GAAIC,GAAWA,EAAQ5V,aAAe0V,EACpC,OAAO,EAGT,GAAgB,OAAZE,EACF,OAAO,CAEX,CAEA,OAAOJ,CAAgB,EAGnBK,GAAarb,IACZA,GAAWA,EAAQ4a,WAAaU,KAAKC,gBAItCvb,EAAQwb,UAAUvW,SAAS,mBAIC,IAArBjF,EAAQyb,SACVzb,EAAQyb,SAGVzb,EAAQ0b,aAAa,aAAoD,UAArC1b,EAAQga,aAAa,aAG5D2B,GAAiB3b,IACrB,IAAK8F,SAASC,gBAAgB6V,aAC5B,OAAO,KAIT,GAAmC,mBAAxB5b,EAAQqF,YAA4B,CAC7C,MAAMwW,EAAO7b,EAAQqF,cACrB,OAAOwW,aAAgB/a,WAAa+a,EAAO,IAC7C,CAEA,OAAI7b,aAAmBc,WACdd,EAIJA,EAAQwF,WAINmW,GAAe3b,EAAQwF,YAHrB,IAGgC,EAGrCsW,GAAO,OAWPC,GAAS/b,IACbA,EAAQuE,YAAY,EAGhByX,GAAY,IACZ3b,OAAO4b,SAAWnW,SAAS6G,KAAK+O,aAAa,qBACxCrb,OAAO4b,OAGT,KAGHC,GAA4B,GAmB5BC,GAAQ,IAAuC,QAAjCrW,SAASC,gBAAgBqW,IAEvCC,GAAqBC,IAnBAC,QAoBN,KACjB,MAAMC,EAAIR,KAGV,GAAIQ,EAAG,CACL,MAAMzb,EAAOub,EAAOG,KACdC,EAAqBF,EAAEtb,GAAGH,GAChCyb,EAAEtb,GAAGH,GAAQub,EAAOK,gBACpBH,EAAEtb,GAAGH,GAAM6b,YAAcN,EAEzBE,EAAEtb,GAAGH,GAAM8b,WAAa,KACtBL,EAAEtb,GAAGH,GAAQ2b,EACNJ,EAAOK,gBAElB,GAjC0B,YAAxB7W,SAASgX,YAENZ,GAA0B/K,QAC7BrL,SAASyF,iBAAiB,oBAAoB,KAC5C,IAAK,MAAMgR,KAAYL,GACrBK,GACF,IAIJL,GAA0B7J,KAAKkK,IAE/BA,GAsBA,EAGEQ,GAAUR,IACU,mBAAbA,GACTA,GACF,EAGIS,GAAyB,CAACT,EAAUU,EAAmBC,GAAoB,KAC/E,IAAKA,EAEH,YADAH,GAAQR,GAIV,MACMY,EAnMiCnd,KACvC,IAAKA,EACH,OAAO,EAIT,IAAI,mBACFod,EAAkB,gBAClBC,GACEhd,OAAOqF,iBAAiB1F,GAC5B,MAAMsd,EAA0BC,OAAOC,WAAWJ,GAC5CK,EAAuBF,OAAOC,WAAWH,GAE/C,OAAKC,GAA4BG,GAKjCL,EAAqBA,EAAmBza,MAAM,KAAK,GACnD0a,EAAkBA,EAAgB1a,MAAM,KAAK,GAjFf,KAkFtB4a,OAAOC,WAAWJ,GAAsBG,OAAOC,WAAWH,KANzD,CAMoG,EA+KpFK,CAAiCT,GADlC,EAExB,IAAIU,GAAS,EAEb,MAAMC,EAAU,EACd5Q,aAEIA,IAAWiQ,IAIfU,GAAS,EACTV,EAAkBxR,oBAAoBoO,GAAgB+D,GACtDb,GAAQR,GAAS,EAGnBU,EAAkB1R,iBAAiBsO,GAAgB+D,GACnDC,YAAW,KACJF,GACHpD,GAAqB0C,EACvB,GACCE,EAAiB,EAahBW,GAAuB,CAACjR,EAAMkR,EAAeC,EAAeC,KAChE,MAAMC,EAAarR,EAAKsE,OACxB,IAAI+H,EAAQrM,EAAKjH,QAAQmY,GAGzB,OAAe,IAAX7E,GACM8E,GAAiBC,EAAiBpR,EAAKqR,EAAa,GAAKrR,EAAK,IAGxEqM,GAAS8E,EAAgB,GAAK,EAE1BC,IACF/E,GAASA,EAAQgF,GAAcA,GAG1BrR,EAAKjK,KAAKC,IAAI,EAAGD,KAAKE,IAAIoW,EAAOgF,EAAa,KAAI,EAarDC,GAAiB,qBACjBC,GAAiB,OACjBC,GAAgB,SAChBC,GAAgB,CAAC,EAEvB,IAAIC,GAAW,EACf,MAAMC,GAAe,CACnBC,WAAY,YACZC,WAAY,YAERC,GAAe,IAAI5H,IAAI,CAAC,QAAS,WAAY,UAAW,YAAa,cAAe,aAAc,iBAAkB,YAAa,WAAY,YAAa,cAAe,YAAa,UAAW,WAAY,QAAS,oBAAqB,aAAc,YAAa,WAAY,cAAe,cAAe,cAAe,YAAa,eAAgB,gBAAiB,eAAgB,gBAAiB,aAAc,QAAS,OAAQ,SAAU,QAAS,SAAU,SAAU,UAAW,WAAY,OAAQ,SAAU,eAAgB,SAAU,OAAQ,mBAAoB,mBAAoB,QAAS,QAAS,WAK/lB,SAAS6H,GAAa5e,EAAS6e,GAC7B,OAAOA,GAAO,GAAGA,MAAQN,QAAgBve,EAAQue,UAAYA,IAC/D,CAEA,SAASO,GAAiB9e,GACxB,MAAM6e,EAAMD,GAAa5e,GAGzB,OAFAA,EAAQue,SAAWM,EACnBP,GAAcO,GAAOP,GAAcO,IAAQ,CAAC,EACrCP,GAAcO,EACvB,CA0CA,SAASE,GAAYC,EAAQC,EAAUC,EAAqB,MAC1D,OAAOzhB,OAAO0hB,OAAOH,GAAQpM,MAAKwM,GAASA,EAAMH,WAAaA,GAAYG,EAAMF,qBAAuBA,GACzG,CAEA,SAASG,GAAoBC,EAAmB1B,EAAS2B,GACvD,MAAMC,EAAiC,iBAAZ5B,EAErBqB,EAAWO,EAAcD,EAAqB3B,GAAW2B,EAC/D,IAAIE,EAAYC,GAAaJ,GAM7B,OAJKX,GAAavH,IAAIqI,KACpBA,EAAYH,GAGP,CAACE,EAAaP,EAAUQ,EACjC,CAEA,SAASE,GAAW3f,EAASsf,EAAmB1B,EAAS2B,EAAoBK,GAC3E,GAAiC,iBAAtBN,IAAmCtf,EAC5C,OAGF,IAAKwf,EAAaP,EAAUQ,GAAaJ,GAAoBC,EAAmB1B,EAAS2B,GAGzF,GAAID,KAAqBd,GAAc,CACrC,MAAMqB,EAAe3e,GACZ,SAAUke,GACf,IAAKA,EAAMU,eAAiBV,EAAMU,gBAAkBV,EAAMW,iBAAmBX,EAAMW,eAAe9a,SAASma,EAAMU,eAC/G,OAAO5e,EAAGjD,KAAK+hB,KAAMZ,EAEzB,EAGFH,EAAWY,EAAaZ,EAC1B,CAEA,MAAMD,EAASF,GAAiB9e,GAC1BigB,EAAWjB,EAAOS,KAAeT,EAAOS,GAAa,CAAC,GACtDS,EAAmBnB,GAAYkB,EAAUhB,EAAUO,EAAc5B,EAAU,MAEjF,GAAIsC,EAEF,YADAA,EAAiBN,OAASM,EAAiBN,QAAUA,GAIvD,MAAMf,EAAMD,GAAaK,EAAUK,EAAkB1T,QAAQuS,GAAgB,KACvEjd,EAAKse,EAzEb,SAAoCxf,EAAS+Z,EAAU7Y,GACrD,OAAO,SAAS0c,EAAQwB,GACtB,MAAMe,EAAcngB,EAAQogB,iBAAiBrG,GAE7C,IAAK,IAAI,OACP/M,GACEoS,EAAOpS,GAAUA,IAAWgT,KAAMhT,EAASA,EAAOxH,WACpD,IAAK,MAAM6a,KAAcF,EACvB,GAAIE,IAAerT,EAYnB,OARAsT,GAAWlB,EAAO,CAChBW,eAAgB/S,IAGd4Q,EAAQgC,QACVW,GAAaC,IAAIxgB,EAASof,EAAMqB,KAAM1G,EAAU7Y,GAG3CA,EAAGwf,MAAM1T,EAAQ,CAACoS,GAG/B,CACF,CAiD2BuB,CAA2B3gB,EAAS4d,EAASqB,GAvFxE,SAA0Bjf,EAASkB,GACjC,OAAO,SAAS0c,EAAQwB,GAStB,OARAkB,GAAWlB,EAAO,CAChBW,eAAgB/f,IAGd4d,EAAQgC,QACVW,GAAaC,IAAIxgB,EAASof,EAAMqB,KAAMvf,GAGjCA,EAAGwf,MAAM1gB,EAAS,CAACof,GAC5B,CACF,CA2EoFwB,CAAiB5gB,EAASif,GAC5G/d,EAAGge,mBAAqBM,EAAc5B,EAAU,KAChD1c,EAAG+d,SAAWA,EACd/d,EAAG0e,OAASA,EACZ1e,EAAGqd,SAAWM,EACdoB,EAASpB,GAAO3d,EAChBlB,EAAQuL,iBAAiBkU,EAAWve,EAAIse,EAC1C,CAEA,SAASqB,GAAc7gB,EAASgf,EAAQS,EAAW7B,EAASsB,GAC1D,MAAMhe,EAAK6d,GAAYC,EAAOS,GAAY7B,EAASsB,GAE9Che,IAILlB,EAAQyL,oBAAoBgU,EAAWve,EAAI4f,QAAQ5B,WAC5CF,EAAOS,GAAWve,EAAGqd,UAC9B,CAEA,SAASwC,GAAyB/gB,EAASgf,EAAQS,EAAWuB,GAC5D,MAAMC,EAAoBjC,EAAOS,IAAc,CAAC,EAEhD,IAAK,MAAMyB,KAAczjB,OAAO4D,KAAK4f,GACnC,GAAIC,EAAWhH,SAAS8G,GAAY,CAClC,MAAM5B,EAAQ6B,EAAkBC,GAChCL,GAAc7gB,EAASgf,EAAQS,EAAWL,EAAMH,SAAUG,EAAMF,mBAClE,CAEJ,CAEA,SAASQ,GAAaN,GAGpB,OADAA,EAAQA,EAAMxT,QAAQwS,GAAgB,IAC/BI,GAAaY,IAAUA,CAChC,CAEA,MAAMmB,GAAe,CACnBY,GAAGnhB,EAASof,EAAOxB,EAAS2B,GAC1BI,GAAW3f,EAASof,EAAOxB,EAAS2B,GAAoB,EAC1D,EAEA6B,IAAIphB,EAASof,EAAOxB,EAAS2B,GAC3BI,GAAW3f,EAASof,EAAOxB,EAAS2B,GAAoB,EAC1D,EAEAiB,IAAIxgB,EAASsf,EAAmB1B,EAAS2B,GACvC,GAAiC,iBAAtBD,IAAmCtf,EAC5C,OAGF,MAAOwf,EAAaP,EAAUQ,GAAaJ,GAAoBC,EAAmB1B,EAAS2B,GACrF8B,EAAc5B,IAAcH,EAC5BN,EAASF,GAAiB9e,GAC1BihB,EAAoBjC,EAAOS,IAAc,CAAC,EAC1C6B,EAAchC,EAAkBnF,WAAW,KAEjD,QAAwB,IAAb8E,EAAX,CAUA,GAAIqC,EACF,IAAK,MAAMC,KAAgB9jB,OAAO4D,KAAK2d,GACrC+B,GAAyB/gB,EAASgf,EAAQuC,EAAcjC,EAAkBzM,MAAM,IAIpF,IAAK,MAAM2O,KAAe/jB,OAAO4D,KAAK4f,GAAoB,CACxD,MAAMC,EAAaM,EAAY5V,QAAQyS,GAAe,IAEtD,IAAKgD,GAAe/B,EAAkBpF,SAASgH,GAAa,CAC1D,MAAM9B,EAAQ6B,EAAkBO,GAChCX,GAAc7gB,EAASgf,EAAQS,EAAWL,EAAMH,SAAUG,EAAMF,mBAClE,CACF,CAfA,KARA,CAEE,IAAKzhB,OAAO4D,KAAK4f,GAAmB9P,OAClC,OAGF0P,GAAc7gB,EAASgf,EAAQS,EAAWR,EAAUO,EAAc5B,EAAU,KAE9E,CAgBF,EAEA6D,QAAQzhB,EAASof,EAAO3H,GACtB,GAAqB,iBAAV2H,IAAuBpf,EAChC,OAAO,KAGT,MAAMwc,EAAIR,KAGV,IAAI0F,EAAc,KACdC,GAAU,EACVC,GAAiB,EACjBC,GAAmB,EAJHzC,IADFM,GAAaN,IAOZ5C,IACjBkF,EAAclF,EAAE/B,MAAM2E,EAAO3H,GAC7B+E,EAAExc,GAASyhB,QAAQC,GACnBC,GAAWD,EAAYI,uBACvBF,GAAkBF,EAAYK,gCAC9BF,EAAmBH,EAAYM,sBAGjC,IAAIC,EAAM,IAAIxH,MAAM2E,EAAO,CACzBuC,UACAO,YAAY,IAgBd,OAdAD,EAAM3B,GAAW2B,EAAKxK,GAElBoK,GACFI,EAAIE,iBAGFP,GACF5hB,EAAQwa,cAAcyH,GAGpBA,EAAIJ,kBAAoBH,GAC1BA,EAAYS,iBAGPF,CACT,GAIF,SAAS3B,GAAWziB,EAAKukB,GACvB,IAAK,MAAO7kB,EAAKa,KAAUX,OAAO4kB,QAAQD,GAAQ,CAAC,GACjD,IACEvkB,EAAIN,GAAOa,CACb,CAAE,MAAOkkB,GACP7kB,OAAOC,eAAeG,EAAKN,EAAK,CAC9BglB,cAAc,EAEd3kB,IAAG,IACMQ,GAIb,CAGF,OAAOP,CACT,CAYA,MAAM2kB,GAAa,IAAI7Q,IACjB8Q,GAAO,CACXjQ,IAAIxS,EAASzC,EAAKyN,GACXwX,GAAWpL,IAAIpX,IAClBwiB,GAAWhQ,IAAIxS,EAAS,IAAI2R,KAG9B,MAAM+Q,EAAcF,GAAW5kB,IAAIoC,GAG9B0iB,EAAYtL,IAAI7Z,IAA6B,IAArBmlB,EAAYC,KAMzCD,EAAYlQ,IAAIjV,EAAKyN,GAJnB4X,QAAQC,MAAM,+EAA+Exf,MAAMyf,KAAKJ,EAAYrhB,QAAQ,MAKhI,EAEAzD,IAAG,CAACoC,EAASzC,IACPilB,GAAWpL,IAAIpX,IACVwiB,GAAW5kB,IAAIoC,GAASpC,IAAIL,IAG9B,KAGTwlB,OAAO/iB,EAASzC,GACd,IAAKilB,GAAWpL,IAAIpX,GAClB,OAGF,MAAM0iB,EAAcF,GAAW5kB,IAAIoC,GACnC0iB,EAAYM,OAAOzlB,GAEM,IAArBmlB,EAAYC,MACdH,GAAWQ,OAAOhjB,EAEtB,GAUF,SAASijB,GAAc7kB,GACrB,GAAc,SAAVA,EACF,OAAO,EAGT,GAAc,UAAVA,EACF,OAAO,EAGT,GAAIA,IAAUmf,OAAOnf,GAAOkC,WAC1B,OAAOid,OAAOnf,GAGhB,GAAc,KAAVA,GAA0B,SAAVA,EAClB,OAAO,KAGT,GAAqB,iBAAVA,EACT,OAAOA,EAGT,IACE,OAAO8kB,KAAKC,MAAMC,mBAAmBhlB,GACvC,CAAE,MAAOkkB,GACP,OAAOlkB,CACT,CACF,CAEA,SAASilB,GAAiB9lB,GACxB,OAAOA,EAAIqO,QAAQ,UAAU0X,GAAO,IAAIA,EAAIpjB,iBAC9C,CAEA,MAAMqjB,GAAc,CAClBC,iBAAiBxjB,EAASzC,EAAKa,GAC7B4B,EAAQ6B,aAAa,WAAWwhB,GAAiB9lB,KAAQa,EAC3D,EAEAqlB,oBAAoBzjB,EAASzC,GAC3ByC,EAAQ4B,gBAAgB,WAAWyhB,GAAiB9lB,KACtD,EAEAmmB,kBAAkB1jB,GAChB,IAAKA,EACH,MAAO,CAAC,EAGV,MAAM0B,EAAa,CAAC,EACdiiB,EAASlmB,OAAO4D,KAAKrB,EAAQ4jB,SAAShd,QAAOrJ,GAAOA,EAAI4c,WAAW,QAAU5c,EAAI4c,WAAW,cAElG,IAAK,MAAM5c,KAAOomB,EAAQ,CACxB,IAAIE,EAAUtmB,EAAIqO,QAAQ,MAAO,IACjCiY,EAAUA,EAAQC,OAAO,GAAG5jB,cAAgB2jB,EAAQhR,MAAM,EAAGgR,EAAQ1S,QACrEzP,EAAWmiB,GAAWZ,GAAcjjB,EAAQ4jB,QAAQrmB,GACtD,CAEA,OAAOmE,CACT,EAEAqiB,iBAAgB,CAAC/jB,EAASzC,IACjB0lB,GAAcjjB,EAAQga,aAAa,WAAWqJ,GAAiB9lB,QAe1E,MAAMymB,GAEOC,qBACT,MAAO,CAAC,CACV,CAEWC,yBACT,MAAO,CAAC,CACV,CAEWzH,kBACT,MAAM,IAAI0H,MAAM,sEAClB,CAEAC,WAAWC,GAMT,OALAA,EAASrE,KAAKsE,gBAAgBD,GAC9BA,EAASrE,KAAKuE,kBAAkBF,GAEhCrE,KAAKwE,iBAAiBH,GAEfA,CACT,CAEAE,kBAAkBF,GAChB,OAAOA,CACT,CAEAC,gBAAgBD,EAAQrkB,GACtB,MAAMykB,EAAa,GAAUzkB,GAAWujB,GAAYQ,iBAAiB/jB,EAAS,UAAY,CAAC,EAE3F,MAAO,IAAKggB,KAAK0E,YAAYT,WACD,iBAAfQ,EAA0BA,EAAa,CAAC,KAC/C,GAAUzkB,GAAWujB,GAAYG,kBAAkB1jB,GAAW,CAAC,KAC7C,iBAAXqkB,EAAsBA,EAAS,CAAC,EAE/C,CAEAG,iBAAiBH,EAAQM,EAAc3E,KAAK0E,YAAYR,aACtD,IAAK,MAAM3hB,KAAY9E,OAAO4D,KAAKsjB,GAAc,CAC/C,MAAMC,EAAgBD,EAAYpiB,GAC5BnE,EAAQimB,EAAO9hB,GACfsiB,EAAY,GAAUzmB,GAAS,UA1uBrCsc,OADSA,EA2uB+Ctc,GAzuBnD,GAAGsc,IAGLjd,OAAOM,UAAUuC,SAASrC,KAAKyc,GAAQoK,MAAM,eAAe,GAAG5kB,cAwuBlE,IAAK,IAAI6kB,OAAOH,GAAe9gB,KAAK+gB,GAClC,MAAM,IAAIG,UAAU,GAAGhF,KAAK0E,YAAYjI,KAAKwI,0BAA0B1iB,qBAA4BsiB,yBAAiCD,MAExI,CAhvBWlK,KAivBb,EAmBF,MAAMwK,WAAsBlB,GAC1BU,YAAY1kB,EAASqkB,GACnBc,SACAnlB,EAAU6a,GAAW7a,MAMrBggB,KAAKoF,SAAWplB,EAChBggB,KAAKqF,QAAUrF,KAAKoE,WAAWC,GAC/B5B,GAAKjQ,IAAIwN,KAAKoF,SAAUpF,KAAK0E,YAAYY,SAAUtF,MACrD,CAGAuF,UACE9C,GAAKM,OAAO/C,KAAKoF,SAAUpF,KAAK0E,YAAYY,UAC5C/E,GAAaC,IAAIR,KAAKoF,SAAUpF,KAAK0E,YAAYc,WAEjD,IAAK,MAAMC,KAAgBhoB,OAAOioB,oBAAoB1F,MACpDA,KAAKyF,GAAgB,IAEzB,CAEAE,eAAepJ,EAAUvc,EAAS4lB,GAAa,GAC7C5I,GAAuBT,EAAUvc,EAAS4lB,EAC5C,CAEAxB,WAAWC,GAMT,OALAA,EAASrE,KAAKsE,gBAAgBD,EAAQrE,KAAKoF,UAC3Cf,EAASrE,KAAKuE,kBAAkBF,GAEhCrE,KAAKwE,iBAAiBH,GAEfA,CACT,CAGAwB,mBAAmB7lB,GACjB,OAAOyiB,GAAK7kB,IAAIid,GAAW7a,GAAUggB,KAAKsF,SAC5C,CAEAO,2BAA2B7lB,EAASqkB,EAAS,CAAC,GAC5C,OAAOrE,KAAK8F,YAAY9lB,IAAY,IAAIggB,KAAKhgB,EAA2B,iBAAXqkB,EAAsBA,EAAS,KAC9F,CAEW0B,qBACT,MApDY,OAqDd,CAEWT,sBACT,MAAO,MAAMtF,KAAKvD,MACpB,CAEW+I,uBACT,MAAO,IAAIxF,KAAKsF,UAClB,CAEAO,iBAAiB9kB,GACf,MAAO,GAAGA,IAAOif,KAAKwF,WACxB,EAWF,MAAMQ,GAAuB,CAACC,EAAWC,EAAS,UAChD,MAAMC,EAAa,gBAAgBF,EAAUT,YACvCzkB,EAAOklB,EAAUxJ,KACvB8D,GAAaY,GAAGrb,SAAUqgB,EAAY,qBAAqBplB,OAAU,SAAUqe,GAK7E,GAJI,CAAC,IAAK,QAAQlF,SAAS8F,KAAKoG,UAC9BhH,EAAM+C,iBAGJ9G,GAAW2E,MACb,OAGF,MAAMhT,EAASsN,GAAuB0F,OAASA,KAAK7E,QAAQ,IAAIpa,KAC/CklB,EAAUI,oBAAoBrZ,GAEtCkZ,IACX,GAAE,EAeEI,GAAc,YACdC,GAAc,QAAQD,KACtBE,GAAe,SAASF,KAO9B,MAAMG,WAAcvB,GAEPzI,kBACT,MAdW,OAeb,CAGAiK,QAGE,GAFmBnG,GAAakB,QAAQzB,KAAKoF,SAAUmB,IAExC1E,iBACb,OAGF7B,KAAKoF,SAAS5J,UAAUuH,OAnBF,QAqBtB,MAAM6C,EAAa5F,KAAKoF,SAAS5J,UAAUvW,SAtBrB,QAwBtB+a,KAAK2F,gBAAe,IAAM3F,KAAK2G,mBAAmB3G,KAAKoF,SAAUQ,EACnE,CAGAe,kBACE3G,KAAKoF,SAASrC,SAEdxC,GAAakB,QAAQzB,KAAKoF,SAAUoB,IACpCxG,KAAKuF,SACP,CAGAM,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAO2b,GAAMJ,oBAAoBrG,MAEvC,GAAsB,iBAAXqE,EAAX,CAIA,QAAqB7K,IAAjB1O,EAAKuZ,IAAyBA,EAAOlK,WAAW,MAAmB,gBAAXkK,EAC1D,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,GAAQrE,KANb,CAOF,GACF,EAQFgG,GAAqBS,GAAO,SAK5BpK,GAAmBoK,IAYnB,MAKMI,GAAyB,4BAM/B,MAAMC,WAAe5B,GAERzI,kBACT,MAdW,QAeb,CAGAsK,SAEE/G,KAAKoF,SAASvjB,aAAa,eAAgBme,KAAKoF,SAAS5J,UAAUuL,OAhB3C,UAiB1B,CAGAlB,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAOgc,GAAOT,oBAAoBrG,MAEzB,WAAXqE,GACFvZ,EAAKuZ,IAET,GACF,EAQF9D,GAAaY,GAAGrb,SAlCe,2BAkCmB+gB,IAAwBzH,IACxEA,EAAM+C,iBACN,MAAM6E,EAAS5H,EAAMpS,OAAOmO,QAAQ0L,IACvBC,GAAOT,oBAAoBW,GACnCD,QAAQ,IAMf1K,GAAmByK,IAYnB,MAAMG,GAAiB,CACrBrU,KAAI,CAACmH,EAAU/Z,EAAU8F,SAASC,kBACzB,GAAG3G,UAAUsB,QAAQ3C,UAAUqiB,iBAAiBniB,KAAK+B,EAAS+Z,IAGvEmN,QAAO,CAACnN,EAAU/Z,EAAU8F,SAASC,kBAC5BrF,QAAQ3C,UAAU8K,cAAc5K,KAAK+B,EAAS+Z,GAGvDoN,SAAQ,CAACnnB,EAAS+Z,IACT,GAAG3a,UAAUY,EAAQmnB,UAAUvgB,QAAOzB,GAASA,EAAMiiB,QAAQrN,KAGtEsN,QAAQrnB,EAAS+Z,GACf,MAAMsN,EAAU,GAChB,IAAIC,EAAWtnB,EAAQwF,WAAW2V,QAAQpB,GAE1C,KAAOuN,GACLD,EAAQhV,KAAKiV,GACbA,EAAWA,EAAS9hB,WAAW2V,QAAQpB,GAGzC,OAAOsN,CACT,EAEAE,KAAKvnB,EAAS+Z,GACZ,IAAIyN,EAAWxnB,EAAQynB,uBAEvB,KAAOD,GAAU,CACf,GAAIA,EAASJ,QAAQrN,GACnB,MAAO,CAACyN,GAGVA,EAAWA,EAASC,sBACtB,CAEA,MAAO,EACT,EAGAniB,KAAKtF,EAAS+Z,GACZ,IAAIzU,EAAOtF,EAAQ0nB,mBAEnB,KAAOpiB,GAAM,CACX,GAAIA,EAAK8hB,QAAQrN,GACf,MAAO,CAACzU,GAGVA,EAAOA,EAAKoiB,kBACd,CAEA,MAAO,EACT,EAEAC,kBAAkB3nB,GAChB,MAAM4nB,EAAa,CAAC,IAAK,SAAU,QAAS,WAAY,SAAU,UAAW,aAAc,4BAA4BrkB,KAAIwW,GAAY,GAAGA,2BAAiCpW,KAAK,KAChL,OAAOqc,KAAKpN,KAAKgV,EAAY5nB,GAAS4G,QAAOihB,IAAOxM,GAAWwM,IAAO/M,GAAU+M,IAClF,GAeIC,GAAc,YACdC,GAAmB,aAAaD,KAChCE,GAAkB,YAAYF,KAC9BG,GAAiB,WAAWH,KAC5BI,GAAoB,cAAcJ,KAClCK,GAAkB,YAAYL,KAK9BM,GAAY,CAChBC,YAAa,KACbC,aAAc,KACdC,cAAe,MAEXC,GAAgB,CACpBH,YAAa,kBACbC,aAAc,kBACdC,cAAe,mBAMjB,MAAME,WAAczE,GAClBU,YAAY1kB,EAASqkB,GACnBc,QACAnF,KAAKoF,SAAWplB,EAEXA,GAAYyoB,GAAMC,gBAIvB1I,KAAKqF,QAAUrF,KAAKoE,WAAWC,GAC/BrE,KAAK2I,QAAU,EACf3I,KAAK4I,sBAAwB9H,QAAQzgB,OAAOwoB,cAE5C7I,KAAK8I,cACP,CAGW7E,qBACT,OAAOmE,EACT,CAEWlE,yBACT,OAAOsE,EACT,CAEW/L,kBACT,MAnDW,OAoDb,CAGA8I,UACEhF,GAAaC,IAAIR,KAAKoF,SAAU0C,GAClC,CAGAiB,OAAO3J,GACAY,KAAK4I,sBAKN5I,KAAKgJ,wBAAwB5J,KAC/BY,KAAK2I,QAAUvJ,EAAM6J,SALrBjJ,KAAK2I,QAAUvJ,EAAM8J,QAAQ,GAAGD,OAOpC,CAEAE,KAAK/J,GACCY,KAAKgJ,wBAAwB5J,KAC/BY,KAAK2I,QAAUvJ,EAAM6J,QAAUjJ,KAAK2I,SAGtC3I,KAAKoJ,eAELrM,GAAQiD,KAAKqF,QAAQgD,YACvB,CAEAgB,MAAMjK,GACJY,KAAK2I,QAAUvJ,EAAM8J,SAAW9J,EAAM8J,QAAQ/X,OAAS,EAAI,EAAIiO,EAAM8J,QAAQ,GAAGD,QAAUjJ,KAAK2I,OACjG,CAEAS,eACE,MAAME,EAAY1mB,KAAKoC,IAAIgb,KAAK2I,SAEhC,GAAIW,GA9EgB,GA+ElB,OAGF,MAAMvb,EAAYub,EAAYtJ,KAAK2I,QACnC3I,KAAK2I,QAAU,EAEV5a,GAILgP,GAAQhP,EAAY,EAAIiS,KAAKqF,QAAQkD,cAAgBvI,KAAKqF,QAAQiD,aACpE,CAEAQ,cACM9I,KAAK4I,uBACPrI,GAAaY,GAAGnB,KAAKoF,SAAU8C,IAAmB9I,GAASY,KAAK+I,OAAO3J,KACvEmB,GAAaY,GAAGnB,KAAKoF,SAAU+C,IAAiB/I,GAASY,KAAKmJ,KAAK/J,KAEnEY,KAAKoF,SAAS5J,UAAUtE,IAlGG,mBAoG3BqJ,GAAaY,GAAGnB,KAAKoF,SAAU2C,IAAkB3I,GAASY,KAAK+I,OAAO3J,KACtEmB,GAAaY,GAAGnB,KAAKoF,SAAU4C,IAAiB5I,GAASY,KAAKqJ,MAAMjK,KACpEmB,GAAaY,GAAGnB,KAAKoF,SAAU6C,IAAgB7I,GAASY,KAAKmJ,KAAK/J,KAEtE,CAEA4J,wBAAwB5J,GACtB,OAAOY,KAAK4I,wBA5GS,QA4GiBxJ,EAAMmK,aA7GrB,UA6GyDnK,EAAMmK,YACxF,CAGA1D,qBACE,MAAO,iBAAkB/f,SAASC,iBAAmB7C,UAAUsmB,eAAiB,CAClF,EAcF,MAEMC,GAAc,eACdC,GAAiB,YAKjBC,GAAa,OACbC,GAAa,OACbC,GAAiB,OACjBC,GAAkB,QAClBC,GAAc,QAAQN,KACtBO,GAAa,OAAOP,KACpBQ,GAAkB,UAAUR,KAC5BS,GAAqB,aAAaT,KAClCU,GAAqB,aAAaV,KAClCW,GAAmB,YAAYX,KAC/BY,GAAwB,OAAOZ,KAAcC,KAC7CY,GAAyB,QAAQb,KAAcC,KAC/Ca,GAAsB,WACtBC,GAAsB,SAMtBC,GAAkB,UAClBC,GAAgB,iBAChBC,GAAuBF,GAAkBC,GAKzCE,GAAmB,CACvB,UAAoBd,GACpB,WAAqBD,IAEjBgB,GAAY,CAChBC,SAAU,IACVC,UAAU,EACVC,MAAO,QACPC,MAAM,EACNC,OAAO,EACPC,MAAM,GAEFC,GAAgB,CACpBN,SAAU,mBAEVC,SAAU,UACVC,MAAO,mBACPC,KAAM,mBACNC,MAAO,UACPC,KAAM,WAMR,MAAME,WAAiBnG,GACrBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GACfrE,KAAKsL,UAAY,KACjBtL,KAAKuL,eAAiB,KACtBvL,KAAKwL,YAAa,EAClBxL,KAAKyL,aAAe,KACpBzL,KAAK0L,aAAe,KACpB1L,KAAK2L,mBAAqB1E,GAAeC,QApCjB,uBAoC8ClH,KAAKoF,UAE3EpF,KAAK4L,qBAED5L,KAAKqF,QAAQ4F,OAASV,IACxBvK,KAAK6L,OAET,CAGW5H,qBACT,OAAO4G,EACT,CAEW3G,yBACT,OAAOkH,EACT,CAEW3O,kBACT,MAtFW,UAuFb,CAGAnX,OACE0a,KAAK8L,OAAOnC,GACd,CAEAoC,mBAIOjmB,SAASkmB,QAAUlR,GAAUkF,KAAKoF,WACrCpF,KAAK1a,MAET,CAEAiiB,OACEvH,KAAK8L,OAAOlC,GACd,CAEAoB,QACMhL,KAAKwL,YACPjR,GAAqByF,KAAKoF,UAG5BpF,KAAKiM,gBACP,CAEAJ,QACE7L,KAAKiM,iBAELjM,KAAKkM,kBAELlM,KAAKsL,UAAYa,aAAY,IAAMnM,KAAK+L,mBAAmB/L,KAAKqF,QAAQyF,SAC1E,CAEAsB,oBACOpM,KAAKqF,QAAQ4F,OAIdjL,KAAKwL,WACPjL,GAAaa,IAAIpB,KAAKoF,SAAU4E,IAAY,IAAMhK,KAAK6L,UAIzD7L,KAAK6L,QACP,CAEAQ,GAAGnT,GACD,MAAMoT,EAAQtM,KAAKuM,YAEnB,GAAIrT,EAAQoT,EAAMnb,OAAS,GAAK+H,EAAQ,EACtC,OAGF,GAAI8G,KAAKwL,WAEP,YADAjL,GAAaa,IAAIpB,KAAKoF,SAAU4E,IAAY,IAAMhK,KAAKqM,GAAGnT,KAI5D,MAAMsT,EAAcxM,KAAKyM,cAAczM,KAAK0M,cAE5C,GAAIF,IAAgBtT,EAClB,OAGF,MAAMtC,EAAQsC,EAAQsT,EAAc7C,GAAaC,GAEjD5J,KAAK8L,OAAOlV,EAAO0V,EAAMpT,GAC3B,CAEAqM,UACMvF,KAAK0L,cACP1L,KAAK0L,aAAanG,UAGpBJ,MAAMI,SACR,CAGAhB,kBAAkBF,GAEhB,OADAA,EAAOsI,gBAAkBtI,EAAOyG,SACzBzG,CACT,CAEAuH,qBACM5L,KAAKqF,QAAQ0F,UACfxK,GAAaY,GAAGnB,KAAKoF,SAAU6E,IAAiB7K,GAASY,KAAK4M,SAASxN,KAG9C,UAAvBY,KAAKqF,QAAQ2F,QACfzK,GAAaY,GAAGnB,KAAKoF,SAAU8E,IAAoB,IAAMlK,KAAKgL,UAC9DzK,GAAaY,GAAGnB,KAAKoF,SAAU+E,IAAoB,IAAMnK,KAAKoM,uBAG5DpM,KAAKqF,QAAQ6F,OAASzC,GAAMC,eAC9B1I,KAAK6M,yBAET,CAEAA,0BACE,IAAK,MAAMC,KAAO7F,GAAerU,KA/JX,qBA+JmCoN,KAAKoF,UAC5D7E,GAAaY,GAAG2L,EAAK1C,IAAkBhL,GAASA,EAAM+C,mBAGxD,MAqBM4K,EAAc,CAClBzE,aAAc,IAAMtI,KAAK8L,OAAO9L,KAAKgN,kBAAkBnD,KACvDtB,cAAe,IAAMvI,KAAK8L,OAAO9L,KAAKgN,kBAAkBlD,KACxDzB,YAxBkB,KACS,UAAvBrI,KAAKqF,QAAQ2F,QAWjBhL,KAAKgL,QAEDhL,KAAKyL,cACPwB,aAAajN,KAAKyL,cAGpBzL,KAAKyL,aAAe5N,YAAW,IAAMmC,KAAKoM,qBA7MjB,IA6M+DpM,KAAKqF,QAAQyF,UAAS,GAQhH9K,KAAK0L,aAAe,IAAIjD,GAAMzI,KAAKoF,SAAU2H,EAC/C,CAEAH,SAASxN,GACP,GAAI,kBAAkBtb,KAAKsb,EAAMpS,OAAOoZ,SACtC,OAGF,MAAMrY,EAAY6c,GAAiBxL,EAAM7hB,KAErCwQ,IACFqR,EAAM+C,iBAENnC,KAAK8L,OAAO9L,KAAKgN,kBAAkBjf,IAEvC,CAEA0e,cAAczsB,GACZ,OAAOggB,KAAKuM,YAAY3mB,QAAQ5F,EAClC,CAEAktB,2BAA2BhU,GACzB,IAAK8G,KAAK2L,mBACR,OAGF,MAAMwB,EAAkBlG,GAAeC,QAAQuD,GAAiBzK,KAAK2L,oBACrEwB,EAAgB3R,UAAUuH,OAAOyH,IACjC2C,EAAgBvrB,gBAAgB,gBAChC,MAAMwrB,EAAqBnG,GAAeC,QAAQ,sBAAsBhO,MAAW8G,KAAK2L,oBAEpFyB,IACFA,EAAmB5R,UAAUtE,IAAIsT,IACjC4C,EAAmBvrB,aAAa,eAAgB,QAEpD,CAEAqqB,kBACE,MAAMlsB,EAAUggB,KAAKuL,gBAAkBvL,KAAK0M,aAE5C,IAAK1sB,EACH,OAGF,MAAMqtB,EAAkB9P,OAAO+P,SAASttB,EAAQga,aAAa,oBAAqB,IAClFgG,KAAKqF,QAAQyF,SAAWuC,GAAmBrN,KAAKqF,QAAQsH,eAC1D,CAEAb,OAAOlV,EAAO5W,EAAU,MACtB,GAAIggB,KAAKwL,WACP,OAGF,MAAMzN,EAAgBiC,KAAK0M,aAErBa,EAAS3W,IAAU+S,GACnB6D,EAAcxtB,GAAW8d,GAAqBkC,KAAKuM,YAAaxO,EAAewP,EAAQvN,KAAKqF,QAAQ8F,MAE1G,GAAIqC,IAAgBzP,EAClB,OAGF,MAAM0P,EAAmBzN,KAAKyM,cAAce,GAEtCE,EAAeC,GACZpN,GAAakB,QAAQzB,KAAKoF,SAAUuI,EAAW,CACpD7N,cAAe0N,EACfzf,UAAWiS,KAAK4N,kBAAkBhX,GAClCkM,KAAM9C,KAAKyM,cAAc1O,GACzBsO,GAAIoB,IAMR,GAFmBC,EAAa3D,IAEjBlI,iBACb,OAGF,IAAK9D,IAAkByP,EAGrB,OAGF,MAAMK,EAAY/M,QAAQd,KAAKsL,WAC/BtL,KAAKgL,QACLhL,KAAKwL,YAAa,EAElBxL,KAAKkN,2BAA2BO,GAEhCzN,KAAKuL,eAAiBiC,EACtB,MAAMM,EAAuBP,EA/RR,sBADF,oBAiSbQ,EAAiBR,EA/RH,qBACA,qBA+RpBC,EAAYhS,UAAUtE,IAAI6W,GAC1BhS,GAAOyR,GACPzP,EAAcvC,UAAUtE,IAAI4W,GAC5BN,EAAYhS,UAAUtE,IAAI4W,GAU1B9N,KAAK2F,gBARoB,KACvB6H,EAAYhS,UAAUuH,OAAO+K,EAAsBC,GACnDP,EAAYhS,UAAUtE,IAAIsT,IAC1BzM,EAAcvC,UAAUuH,OAAOyH,GAAqBuD,EAAgBD,GACpE9N,KAAKwL,YAAa,EAClBkC,EAAa1D,GAAW,GAGYjM,EAAeiC,KAAKgO,eAEtDH,GACF7N,KAAK6L,OAET,CAEAmC,cACE,OAAOhO,KAAKoF,SAAS5J,UAAUvW,SAxTV,QAyTvB,CAEAynB,aACE,OAAOzF,GAAeC,QAAQyD,GAAsB3K,KAAKoF,SAC3D,CAEAmH,YACE,OAAOtF,GAAerU,KAAK8X,GAAe1K,KAAKoF,SACjD,CAEA6G,iBACMjM,KAAKsL,YACP2C,cAAcjO,KAAKsL,WACnBtL,KAAKsL,UAAY,KAErB,CAEA0B,kBAAkBjf,GAChB,OAAIoO,KACKpO,IAAc8b,GAAiBD,GAAaD,GAG9C5b,IAAc8b,GAAiBF,GAAaC,EACrD,CAEAgE,kBAAkBhX,GAChB,OAAIuF,KACKvF,IAAUgT,GAAaC,GAAiBC,GAG1ClT,IAAUgT,GAAaE,GAAkBD,EAClD,CAGAhE,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAOugB,GAAShF,oBAAoBrG,KAAMqE,GAEhD,GAAsB,iBAAXA,GAKX,GAAsB,iBAAXA,EAAqB,CAC9B,QAAqB7K,IAAjB1O,EAAKuZ,IAAyBA,EAAOlK,WAAW,MAAmB,gBAAXkK,EAC1D,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IACP,OAVEvZ,EAAKuhB,GAAGhI,EAWZ,GACF,EAQF9D,GAAaY,GAAGrb,SAAUwkB,GA1WE,uCA0W2C,SAAUlL,GAC/E,MAAMpS,EAASsN,GAAuB0F,MAEtC,IAAKhT,IAAWA,EAAOwO,UAAUvW,SAASslB,IACxC,OAGFnL,EAAM+C,iBACN,MAAM+L,EAAW7C,GAAShF,oBAAoBrZ,GACxCmhB,EAAanO,KAAKhG,aAAa,oBAErC,OAAImU,GACFD,EAAS7B,GAAG8B,QAEZD,EAAS9B,qBAKyC,SAAhD7I,GAAYQ,iBAAiB/D,KAAM,UACrCkO,EAAS5oB,YAET4oB,EAAS9B,sBAKX8B,EAAS3G,YAET2G,EAAS9B,oBACX,IACA7L,GAAaY,GAAG9gB,OAAQgqB,IAAuB,KAC7C,MAAM+D,EAAYnH,GAAerU,KAzYR,6BA2YzB,IAAK,MAAMsb,KAAYE,EACrB/C,GAAShF,oBAAoB6H,EAC/B,IAMF7R,GAAmBgP,IAYnB,MAEMgD,GAAc,eAEdC,GAAe,OAAOD,KACtBE,GAAgB,QAAQF,KACxBG,GAAe,OAAOH,KACtBI,GAAiB,SAASJ,KAC1BK,GAAyB,QAAQL,cACjCM,GAAoB,OACpBC,GAAsB,WACtBC,GAAwB,aAExBC,GAA6B,WAAWF,OAAwBA,KAKhEG,GAAyB,8BACzBC,GAAY,CAChB9pB,OAAQ,KACR6hB,QAAQ,GAEJkI,GAAgB,CACpB/pB,OAAQ,iBACR6hB,OAAQ,WAMV,MAAMmI,WAAiBhK,GACrBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GACfrE,KAAKmP,kBAAmB,EACxBnP,KAAKoP,cAAgB,GACrB,MAAMC,EAAapI,GAAerU,KAAKmc,IAEvC,IAAK,MAAMO,KAAQD,EAAY,CAC7B,MAAMtV,EAAWM,GAAuBiV,GAClCC,EAAgBtI,GAAerU,KAAKmH,GAAUnT,QAAO4oB,GAAgBA,IAAiBxP,KAAKoF,WAEhF,OAAbrL,GAAqBwV,EAAcpe,QACrC6O,KAAKoP,cAAc/c,KAAKid,EAE5B,CAEAtP,KAAKyP,sBAEAzP,KAAKqF,QAAQngB,QAChB8a,KAAK0P,0BAA0B1P,KAAKoP,cAAepP,KAAK2P,YAGtD3P,KAAKqF,QAAQ0B,QACf/G,KAAK+G,QAET,CAGW9C,qBACT,OAAO+K,EACT,CAEW9K,yBACT,OAAO+K,EACT,CAEWxS,kBACT,MApEW,UAqEb,CAGAsK,SACM/G,KAAK2P,WACP3P,KAAK4P,OAEL5P,KAAK6P,MAET,CAEAA,OACE,GAAI7P,KAAKmP,kBAAoBnP,KAAK2P,WAChC,OAGF,IAAIG,EAAiB,GAQrB,GANI9P,KAAKqF,QAAQngB,SACf4qB,EAAiB9P,KAAK+P,uBAvEH,wCAuE4CnpB,QAAO5G,GAAWA,IAAYggB,KAAKoF,WAAU7hB,KAAIvD,GAAWkvB,GAAS7I,oBAAoBrmB,EAAS,CAC/J+mB,QAAQ,OAIR+I,EAAe3e,QAAU2e,EAAe,GAAGX,iBAC7C,OAKF,GAFmB5O,GAAakB,QAAQzB,KAAKoF,SAAUkJ,IAExCzM,iBACb,OAGF,IAAK,MAAMmO,KAAkBF,EAC3BE,EAAeJ,OAGjB,MAAMK,EAAYjQ,KAAKkQ,gBAEvBlQ,KAAKoF,SAAS5J,UAAUuH,OAAO6L,IAE/B5O,KAAKoF,SAAS5J,UAAUtE,IAAI2X,IAE5B7O,KAAKoF,SAAS5jB,MAAMyuB,GAAa,EAEjCjQ,KAAK0P,0BAA0B1P,KAAKoP,eAAe,GAEnDpP,KAAKmP,kBAAmB,EAExB,MAYMgB,EAAa,SADUF,EAAU,GAAGhL,cAAgBgL,EAAUpd,MAAM,KAG1EmN,KAAK2F,gBAdY,KACf3F,KAAKmP,kBAAmB,EAExBnP,KAAKoF,SAAS5J,UAAUuH,OAAO8L,IAE/B7O,KAAKoF,SAAS5J,UAAUtE,IAAI0X,GAAqBD,IAEjD3O,KAAKoF,SAAS5jB,MAAMyuB,GAAa,GACjC1P,GAAakB,QAAQzB,KAAKoF,SAAUmJ,GAAc,GAMtBvO,KAAKoF,UAAU,GAE7CpF,KAAKoF,SAAS5jB,MAAMyuB,GAAa,GAAGjQ,KAAKoF,SAAS+K,MACpD,CAEAP,OACE,GAAI5P,KAAKmP,mBAAqBnP,KAAK2P,WACjC,OAKF,GAFmBpP,GAAakB,QAAQzB,KAAKoF,SAAUoJ,IAExC3M,iBACb,OAGF,MAAMoO,EAAYjQ,KAAKkQ,gBAEvBlQ,KAAKoF,SAAS5jB,MAAMyuB,GAAa,GAAGjQ,KAAKoF,SAASrhB,wBAAwBksB,OAC1ElU,GAAOiE,KAAKoF,UAEZpF,KAAKoF,SAAS5J,UAAUtE,IAAI2X,IAE5B7O,KAAKoF,SAAS5J,UAAUuH,OAAO6L,GAAqBD,IAEpD,IAAK,MAAMlN,KAAWzB,KAAKoP,cAAe,CACxC,MAAMpvB,EAAUsa,GAAuBmH,GAEnCzhB,IAAYggB,KAAK2P,SAAS3vB,IAC5BggB,KAAK0P,0BAA0B,CAACjO,IAAU,EAE9C,CAEAzB,KAAKmP,kBAAmB,EAYxBnP,KAAKoF,SAAS5jB,MAAMyuB,GAAa,GAEjCjQ,KAAK2F,gBAZY,KACf3F,KAAKmP,kBAAmB,EAExBnP,KAAKoF,SAAS5J,UAAUuH,OAAO8L,IAE/B7O,KAAKoF,SAAS5J,UAAUtE,IAAI0X,IAE5BrO,GAAakB,QAAQzB,KAAKoF,SAAUqJ,GAAe,GAKvBzO,KAAKoF,UAAU,EAC/C,CAEAuK,SAAS3vB,EAAUggB,KAAKoF,UACtB,OAAOplB,EAAQwb,UAAUvW,SAAS0pB,GACpC,CAGApK,kBAAkBF,GAIhB,OAHAA,EAAO0C,OAASjG,QAAQuD,EAAO0C,QAE/B1C,EAAOnf,OAAS2V,GAAWwJ,EAAOnf,QAC3Bmf,CACT,CAEA6L,gBACE,OAAOlQ,KAAKoF,SAAS5J,UAAUvW,SAtLL,uBAChB,QACC,QAqLb,CAEAwqB,sBACE,IAAKzP,KAAKqF,QAAQngB,OAChB,OAGF,MAAMiiB,EAAWnH,KAAK+P,uBAAuBhB,IAE7C,IAAK,MAAM/uB,KAAWmnB,EAAU,CAC9B,MAAMiJ,EAAW9V,GAAuBta,GAEpCowB,GACFpQ,KAAK0P,0BAA0B,CAAC1vB,GAAUggB,KAAK2P,SAASS,GAE5D,CACF,CAEAL,uBAAuBhW,GACrB,MAAMoN,EAAWF,GAAerU,KAAKkc,GAA4B9O,KAAKqF,QAAQngB,QAE9E,OAAO+hB,GAAerU,KAAKmH,EAAUiG,KAAKqF,QAAQngB,QAAQ0B,QAAO5G,IAAYmnB,EAASjN,SAASla,IACjG,CAEA0vB,0BAA0BW,EAAcC,GACtC,GAAKD,EAAalf,OAIlB,IAAK,MAAMnR,KAAWqwB,EACpBrwB,EAAQwb,UAAUuL,OAvNK,aAuNyBuJ,GAChDtwB,EAAQ6B,aAAa,gBAAiByuB,EAE1C,CAGAzK,uBAAuBxB,GACrB,MAAMgB,EAAU,CAAC,EAMjB,MAJsB,iBAAXhB,GAAuB,YAAYvgB,KAAKugB,KACjDgB,EAAQ0B,QAAS,GAGZ/G,KAAK4G,MAAK,WACf,MAAM9b,EAAOokB,GAAS7I,oBAAoBrG,KAAMqF,GAEhD,GAAsB,iBAAXhB,EAAqB,CAC9B,QAA4B,IAAjBvZ,EAAKuZ,GACd,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IACP,CACF,GACF,EAQF9D,GAAaY,GAAGrb,SAAU4oB,GAAwBK,IAAwB,SAAU3P,IAErD,MAAzBA,EAAMpS,OAAOoZ,SAAmBhH,EAAMW,gBAAmD,MAAjCX,EAAMW,eAAeqG,UAC/EhH,EAAM+C,iBAGR,MAAMpI,EAAWM,GAAuB2F,MAClCuQ,EAAmBtJ,GAAerU,KAAKmH,GAE7C,IAAK,MAAM/Z,KAAWuwB,EACpBrB,GAAS7I,oBAAoBrmB,EAAS,CACpC+mB,QAAQ,IACPA,QAEP,IAKA1K,GAAmB6S,IAYnB,MAAMsB,GAAS,WAETC,GAAc,eACdC,GAAiB,YAGjBC,GAAiB,UACjBC,GAAmB,YAGnBC,GAAe,OAAOJ,KACtBK,GAAiB,SAASL,KAC1BM,GAAe,OAAON,KACtBO,GAAgB,QAAQP,KACxBQ,GAAyB,QAAQR,KAAcC,KAC/CQ,GAAyB,UAAUT,KAAcC,KACjDS,GAAuB,QAAQV,KAAcC,KAC7CU,GAAoB,OAMpBC,GAAyB,4DACzBC,GAA6B,GAAGD,MAA0BD,KAC1DG,GAAgB,iBAIhBC,GAAgBrV,KAAU,UAAY,YACtCsV,GAAmBtV,KAAU,YAAc,UAC3CuV,GAAmBvV,KAAU,aAAe,eAC5CwV,GAAsBxV,KAAU,eAAiB,aACjDyV,GAAkBzV,KAAU,aAAe,cAC3C0V,GAAiB1V,KAAU,cAAgB,aAG3C2V,GAAY,CAChBC,WAAW,EACXrjB,SAAU,kBACVsjB,QAAS,UACTvpB,OAAQ,CAAC,EAAG,GACZwpB,aAAc,KACdlzB,UAAW,UAEPmzB,GAAgB,CACpBH,UAAW,mBACXrjB,SAAU,mBACVsjB,QAAS,SACTvpB,OAAQ,0BACRwpB,aAAc,yBACdlzB,UAAW,2BAMb,MAAMozB,WAAiBjN,GACrBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GACfrE,KAAKoS,QAAU,KACfpS,KAAKqS,QAAUrS,KAAKoF,SAAS5f,WAG7Bwa,KAAKsS,MAAQrL,GAAe3hB,KAAK0a,KAAKoF,SAAUmM,IAAe,IAAMtK,GAAeM,KAAKvH,KAAKoF,SAAUmM,IAAe,IAAMtK,GAAeC,QAAQqK,GAAevR,KAAKqS,SACxKrS,KAAKuS,UAAYvS,KAAKwS,eACxB,CAGWvO,qBACT,OAAO6N,EACT,CAEW5N,yBACT,OAAOgO,EACT,CAEWzV,kBACT,OAAO+T,EACT,CAGAzJ,SACE,OAAO/G,KAAK2P,WAAa3P,KAAK4P,OAAS5P,KAAK6P,MAC9C,CAEAA,OACE,GAAIxU,GAAW2E,KAAKoF,WAAapF,KAAK2P,WACpC,OAGF,MAAM7P,EAAgB,CACpBA,cAAeE,KAAKoF,UAItB,IAFkB7E,GAAakB,QAAQzB,KAAKoF,SAAU2L,GAAcjR,GAEtD+B,iBAAd,CAUA,GANA7B,KAAKyS,gBAMD,iBAAkB3sB,SAASC,kBAAoBia,KAAKqS,QAAQlX,QA/ExC,eAgFtB,IAAK,MAAMnb,IAAW,GAAGZ,UAAU0G,SAAS6G,KAAKwa,UAC/C5G,GAAaY,GAAGnhB,EAAS,YAAa8b,IAI1CkE,KAAKoF,SAASsN,QAEd1S,KAAKoF,SAASvjB,aAAa,iBAAiB,GAE5Cme,KAAKsS,MAAM9W,UAAUtE,IAAIka,IAEzBpR,KAAKoF,SAAS5J,UAAUtE,IAAIka,IAE5B7Q,GAAakB,QAAQzB,KAAKoF,SAAU4L,GAAelR,EAtBnD,CAuBF,CAEA8P,OACE,GAAIvU,GAAW2E,KAAKoF,YAAcpF,KAAK2P,WACrC,OAGF,MAAM7P,EAAgB,CACpBA,cAAeE,KAAKoF,UAGtBpF,KAAK2S,cAAc7S,EACrB,CAEAyF,UACMvF,KAAKoS,SACPpS,KAAKoS,QAAQ3Y,UAGf0L,MAAMI,SACR,CAEA/Z,SACEwU,KAAKuS,UAAYvS,KAAKwS,gBAElBxS,KAAKoS,SACPpS,KAAKoS,QAAQ5mB,QAEjB,CAGAmnB,cAAc7S,GAGZ,IAFkBS,GAAakB,QAAQzB,KAAKoF,SAAUyL,GAAc/Q,GAEtD+B,iBAAd,CAMA,GAAI,iBAAkB/b,SAASC,gBAC7B,IAAK,MAAM/F,IAAW,GAAGZ,UAAU0G,SAAS6G,KAAKwa,UAC/C5G,GAAaC,IAAIxgB,EAAS,YAAa8b,IAIvCkE,KAAKoS,SACPpS,KAAKoS,QAAQ3Y,UAGfuG,KAAKsS,MAAM9W,UAAUuH,OAAOqO,IAE5BpR,KAAKoF,SAAS5J,UAAUuH,OAAOqO,IAE/BpR,KAAKoF,SAASvjB,aAAa,gBAAiB,SAE5C0hB,GAAYE,oBAAoBzD,KAAKsS,MAAO,UAC5C/R,GAAakB,QAAQzB,KAAKoF,SAAU0L,GAAgBhR,EArBpD,CAsBF,CAEAsE,WAAWC,GAGT,GAAgC,iBAFhCA,EAASc,MAAMf,WAAWC,IAERtlB,YAA2B,GAAUslB,EAAOtlB,YAAgE,mBAA3CslB,EAAOtlB,UAAUgF,sBAElG,MAAM,IAAIihB,UAAU,GAAGwL,GAAOvL,+GAGhC,OAAOZ,CACT,CAEAoO,gBACE,QAAsB,IAAX,EACT,MAAM,IAAIzN,UAAU,gEAGtB,IAAI4N,EAAmB5S,KAAKoF,SAEG,WAA3BpF,KAAKqF,QAAQtmB,UACf6zB,EAAmB5S,KAAKqS,QACf,GAAUrS,KAAKqF,QAAQtmB,WAChC6zB,EAAmB/X,GAAWmF,KAAKqF,QAAQtmB,WACA,iBAA3BihB,KAAKqF,QAAQtmB,YAC7B6zB,EAAmB5S,KAAKqF,QAAQtmB,WAGlC,MAAMkzB,EAAejS,KAAK6S,mBAE1B7S,KAAKoS,QAAU,GAAoBQ,EAAkB5S,KAAKsS,MAAOL,EACnE,CAEAtC,WACE,OAAO3P,KAAKsS,MAAM9W,UAAUvW,SAASmsB,GACvC,CAEA0B,gBACE,MAAMC,EAAiB/S,KAAKqS,QAE5B,GAAIU,EAAevX,UAAUvW,SAxMN,WAyMrB,OAAO2sB,GAGT,GAAImB,EAAevX,UAAUvW,SA3MJ,aA4MvB,OAAO4sB,GAGT,GAAIkB,EAAevX,UAAUvW,SA9MA,iBA+M3B,MAjMsB,MAoMxB,GAAI8tB,EAAevX,UAAUvW,SAjNE,mBAkN7B,MApMyB,SAwM3B,MAAM+tB,EAAkF,QAA1EttB,iBAAiBsa,KAAKsS,OAAOrX,iBAAiB,iBAAiBb,OAE7E,OAAI2Y,EAAevX,UAAUvW,SA5NP,UA6Nb+tB,EAAQvB,GAAmBD,GAG7BwB,EAAQrB,GAAsBD,EACvC,CAEAc,gBACE,OAAkD,OAA3CxS,KAAKoF,SAASjK,QA5ND,UA6NtB,CAEA8X,aACE,MAAM,OACJxqB,GACEuX,KAAKqF,QAET,MAAsB,iBAAX5c,EACFA,EAAO9F,MAAM,KAAKY,KAAInF,GAASmf,OAAO+P,SAASlvB,EAAO,MAGzC,mBAAXqK,EACFyqB,GAAczqB,EAAOyqB,EAAYlT,KAAKoF,UAGxC3c,CACT,CAEAoqB,mBACE,MAAMM,EAAwB,CAC5Bh0B,UAAW6gB,KAAK8S,gBAChBjc,UAAW,CAAC,CACV9V,KAAM,kBACNmB,QAAS,CACPwM,SAAUsR,KAAKqF,QAAQ3W,WAExB,CACD3N,KAAM,SACNmB,QAAS,CACPuG,OAAQuX,KAAKiT,iBAcnB,OATIjT,KAAKuS,WAAsC,WAAzBvS,KAAKqF,QAAQ2M,WACjCzO,GAAYC,iBAAiBxD,KAAKsS,MAAO,SAAU,UAEnDa,EAAsBtc,UAAY,CAAC,CACjC9V,KAAM,cACNC,SAAS,KAIN,IAAKmyB,KAC+B,mBAA9BnT,KAAKqF,QAAQ4M,aAA8BjS,KAAKqF,QAAQ4M,aAAakB,GAAyBnT,KAAKqF,QAAQ4M,aAE1H,CAEAmB,iBAAgB,IACd71B,EAAG,OACHyP,IAEA,MAAMsf,EAAQrF,GAAerU,KA/QF,8DA+Q+BoN,KAAKsS,OAAO1rB,QAAO5G,GAAW8a,GAAU9a,KAE7FssB,EAAMnb,QAMX2M,GAAqBwO,EAAOtf,EAAQzP,IAAQqzB,IAAmBtE,EAAMpS,SAASlN,IAAS0lB,OACzF,CAGA7M,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAOqnB,GAAS9L,oBAAoBrG,KAAMqE,GAEhD,GAAsB,iBAAXA,EAAX,CAIA,QAA4B,IAAjBvZ,EAAKuZ,GACd,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IANL,CAOF,GACF,CAEAwB,kBAAkBzG,GAChB,GAhUuB,IAgUnBA,EAAM4H,QAAgD,UAAf5H,EAAMqB,MAnUnC,QAmUuDrB,EAAM7hB,IACzE,OAGF,MAAM81B,EAAcpM,GAAerU,KAAK0e,IAExC,IAAK,MAAMvK,KAAUsM,EAAa,CAChC,MAAMC,EAAUnB,GAASrM,YAAYiB,GAErC,IAAKuM,IAAyC,IAA9BA,EAAQjO,QAAQ0M,UAC9B,SAGF,MAAMwB,EAAenU,EAAMmU,eACrBC,EAAeD,EAAarZ,SAASoZ,EAAQhB,OAEnD,GAAIiB,EAAarZ,SAASoZ,EAAQlO,WAA2C,WAA9BkO,EAAQjO,QAAQ0M,YAA2ByB,GAA8C,YAA9BF,EAAQjO,QAAQ0M,WAA2ByB,EACnJ,SAIF,GAAIF,EAAQhB,MAAMrtB,SAASma,EAAMpS,UAA2B,UAAfoS,EAAMqB,MAxVvC,QAwV2DrB,EAAM7hB,KAAqB,qCAAqCuG,KAAKsb,EAAMpS,OAAOoZ,UACvJ,SAGF,MAAMtG,EAAgB,CACpBA,cAAewT,EAAQlO,UAGN,UAAfhG,EAAMqB,OACRX,EAAcqG,WAAa/G,GAG7BkU,EAAQX,cAAc7S,EACxB,CACF,CAEA+F,6BAA6BzG,GAG3B,MAAMqU,EAAU,kBAAkB3vB,KAAKsb,EAAMpS,OAAOoZ,SAC9CsN,EA7WW,WA6WKtU,EAAM7hB,IACtBo2B,EAAkB,CAAChD,GAAgBC,IAAkB1W,SAASkF,EAAM7hB,KAE1E,IAAKo2B,IAAoBD,EACvB,OAGF,GAAID,IAAYC,EACd,OAGFtU,EAAM+C,iBAEN,MAAMyR,EAAkB5T,KAAKoH,QAAQiK,IAA0BrR,KAAOiH,GAAeM,KAAKvH,KAAMqR,IAAwB,IAAMpK,GAAe3hB,KAAK0a,KAAMqR,IAAwB,IAAMpK,GAAeC,QAAQmK,GAAwBjS,EAAMW,eAAeva,YACpPwF,EAAWmnB,GAAS9L,oBAAoBuN,GAE9C,GAAID,EAMF,OALAvU,EAAMyU,kBACN7oB,EAAS6kB,YAET7kB,EAASooB,gBAAgBhU,GAKvBpU,EAAS2kB,aAEXvQ,EAAMyU,kBACN7oB,EAAS4kB,OACTgE,EAAgBlB,QAEpB,EAQFnS,GAAaY,GAAGrb,SAAUorB,GAAwBG,GAAwBc,GAAS2B,uBACnFvT,GAAaY,GAAGrb,SAAUorB,GAAwBK,GAAeY,GAAS2B,uBAC1EvT,GAAaY,GAAGrb,SAAUmrB,GAAwBkB,GAAS4B,YAC3DxT,GAAaY,GAAGrb,SAAUqrB,GAAsBgB,GAAS4B,YACzDxT,GAAaY,GAAGrb,SAAUmrB,GAAwBI,IAAwB,SAAUjS,GAClFA,EAAM+C,iBACNgQ,GAAS9L,oBAAoBrG,MAAM+G,QACrC,IAKA1K,GAAmB8V,IAYnB,MAAM6B,GAAyB,oDACzBC,GAA0B,cAC1BC,GAAmB,gBACnBC,GAAkB,eAKxB,MAAMC,GACJ1P,cACE1E,KAAKoF,SAAWtf,SAAS6G,IAC3B,CAGA0nB,WAEE,MAAMC,EAAgBxuB,SAASC,gBAAgBuC,YAC/C,OAAO1F,KAAKoC,IAAI3E,OAAOk0B,WAAaD,EACtC,CAEA1E,OACE,MAAMtrB,EAAQ0b,KAAKqU,WAEnBrU,KAAKwU,mBAGLxU,KAAKyU,sBAAsBzU,KAAKoF,SAAU8O,IAAkBQ,GAAmBA,EAAkBpwB,IAGjG0b,KAAKyU,sBAAsBT,GAAwBE,IAAkBQ,GAAmBA,EAAkBpwB,IAE1G0b,KAAKyU,sBAAsBR,GAAyBE,IAAiBO,GAAmBA,EAAkBpwB,GAC5G,CAEAwO,QACEkN,KAAK2U,wBAAwB3U,KAAKoF,SAAU,YAE5CpF,KAAK2U,wBAAwB3U,KAAKoF,SAAU8O,IAE5ClU,KAAK2U,wBAAwBX,GAAwBE,IAErDlU,KAAK2U,wBAAwBV,GAAyBE,GACxD,CAEAS,gBACE,OAAO5U,KAAKqU,WAAa,CAC3B,CAGAG,mBACExU,KAAK6U,sBAAsB7U,KAAKoF,SAAU,YAE1CpF,KAAKoF,SAAS5jB,MAAM+K,SAAW,QACjC,CAEAkoB,sBAAsB1a,EAAU+a,EAAevY,GAC7C,MAAMwY,EAAiB/U,KAAKqU,WAa5BrU,KAAKgV,2BAA2Bjb,GAXH/Z,IAC3B,GAAIA,IAAYggB,KAAKoF,UAAY/kB,OAAOk0B,WAAav0B,EAAQsI,YAAcysB,EACzE,OAGF/U,KAAK6U,sBAAsB70B,EAAS80B,GAEpC,MAAMJ,EAAkBr0B,OAAOqF,iBAAiB1F,GAASib,iBAAiB6Z,GAC1E90B,EAAQwB,MAAMyzB,YAAYH,EAAe,GAAGvY,EAASgB,OAAOC,WAAWkX,QAAsB,GAIjG,CAEAG,sBAAsB70B,EAAS80B,GAC7B,MAAMI,EAAcl1B,EAAQwB,MAAMyZ,iBAAiB6Z,GAE/CI,GACF3R,GAAYC,iBAAiBxjB,EAAS80B,EAAeI,EAEzD,CAEAP,wBAAwB5a,EAAU+a,GAahC9U,KAAKgV,2BAA2Bjb,GAZH/Z,IAC3B,MAAM5B,EAAQmlB,GAAYQ,iBAAiB/jB,EAAS80B,GAEtC,OAAV12B,GAKJmlB,GAAYE,oBAAoBzjB,EAAS80B,GACzC90B,EAAQwB,MAAMyzB,YAAYH,EAAe12B,IALvC4B,EAAQwB,MAAM2zB,eAAeL,EAKgB,GAInD,CAEAE,2BAA2Bjb,EAAUqb,GACnC,GAAI,GAAUrb,GACZqb,EAASrb,QAIX,IAAK,MAAMsb,KAAOpO,GAAerU,KAAKmH,EAAUiG,KAAKoF,UACnDgQ,EAASC,EAEb,EAcF,MAAMC,GAAS,WAETC,GAAoB,OACpBC,GAAkB,gBAAgBF,KAClCG,GAAY,CAChBC,UAAW,iBACXC,cAAe,KACf/P,YAAY,EACZ9K,WAAW,EAEX8a,YAAa,QAGTC,GAAgB,CACpBH,UAAW,SACXC,cAAe,kBACf/P,WAAY,UACZ9K,UAAW,UACX8a,YAAa,oBAMf,MAAME,WAAiB9R,GACrBU,YAAYL,GACVc,QACAnF,KAAKqF,QAAUrF,KAAKoE,WAAWC,GAC/BrE,KAAK+V,aAAc,EACnB/V,KAAKoF,SAAW,IAClB,CAGWnB,qBACT,OAAOwR,EACT,CAEWvR,yBACT,OAAO2R,EACT,CAEWpZ,kBACT,OAAO6Y,EACT,CAGAzF,KAAKtT,GACH,IAAKyD,KAAKqF,QAAQvK,UAEhB,YADAiC,GAAQR,GAIVyD,KAAKgW,UAEL,MAAMh2B,EAAUggB,KAAKiW,cAEjBjW,KAAKqF,QAAQO,YACf7J,GAAO/b,GAGTA,EAAQwb,UAAUtE,IAAIqe,IAEtBvV,KAAKkW,mBAAkB,KACrBnZ,GAAQR,EAAS,GAErB,CAEAqT,KAAKrT,GACEyD,KAAKqF,QAAQvK,WAKlBkF,KAAKiW,cAAcza,UAAUuH,OAAOwS,IAEpCvV,KAAKkW,mBAAkB,KACrBlW,KAAKuF,UACLxI,GAAQR,EAAS,KARjBQ,GAAQR,EAUZ,CAEAgJ,UACOvF,KAAK+V,cAIVxV,GAAaC,IAAIR,KAAKoF,SAAUoQ,IAEhCxV,KAAKoF,SAASrC,SAEd/C,KAAK+V,aAAc,EACrB,CAGAE,cACE,IAAKjW,KAAKoF,SAAU,CAClB,MAAM+Q,EAAWrwB,SAASswB,cAAc,OACxCD,EAAST,UAAY1V,KAAKqF,QAAQqQ,UAE9B1V,KAAKqF,QAAQO,YACfuQ,EAAS3a,UAAUtE,IAnGD,QAsGpB8I,KAAKoF,SAAW+Q,CAClB,CAEA,OAAOnW,KAAKoF,QACd,CAEAb,kBAAkBF,GAGhB,OADAA,EAAOuR,YAAc/a,GAAWwJ,EAAOuR,aAChCvR,CACT,CAEA2R,UACE,GAAIhW,KAAK+V,YACP,OAGF,MAAM/1B,EAAUggB,KAAKiW,cAErBjW,KAAKqF,QAAQuQ,YAAYS,OAAOr2B,GAEhCugB,GAAaY,GAAGnhB,EAASw1B,IAAiB,KACxCzY,GAAQiD,KAAKqF,QAAQsQ,cAAc,IAErC3V,KAAK+V,aAAc,CACrB,CAEAG,kBAAkB3Z,GAChBS,GAAuBT,EAAUyD,KAAKiW,cAAejW,KAAKqF,QAAQO,WACpE,EAcF,MAEM0Q,GAAc,gBACdC,GAAkB,UAAUD,KAC5BE,GAAoB,cAAcF,KAGlCG,GAAmB,WACnBC,GAAY,CAChBC,WAAW,EACXC,YAAa,MAGTC,GAAgB,CACpBF,UAAW,UACXC,YAAa,WAMf,MAAME,WAAkB9S,GACtBU,YAAYL,GACVc,QACAnF,KAAKqF,QAAUrF,KAAKoE,WAAWC,GAC/BrE,KAAK+W,WAAY,EACjB/W,KAAKgX,qBAAuB,IAC9B,CAGW/S,qBACT,OAAOyS,EACT,CAEWxS,yBACT,OAAO2S,EACT,CAEWpa,kBACT,MAvCW,WAwCb,CAGAwa,WACMjX,KAAK+W,YAIL/W,KAAKqF,QAAQsR,WACf3W,KAAKqF,QAAQuR,YAAYlE,QAG3BnS,GAAaC,IAAI1a,SAAUwwB,IAE3B/V,GAAaY,GAAGrb,SAAUywB,IAAiBnX,GAASY,KAAKkX,eAAe9X,KACxEmB,GAAaY,GAAGrb,SAAU0wB,IAAmBpX,GAASY,KAAKmX,eAAe/X,KAC1EY,KAAK+W,WAAY,EACnB,CAEAK,aACOpX,KAAK+W,YAIV/W,KAAK+W,WAAY,EACjBxW,GAAaC,IAAI1a,SAAUwwB,IAC7B,CAGAY,eAAe9X,GACb,MAAM,YACJwX,GACE5W,KAAKqF,QAET,GAAIjG,EAAMpS,SAAWlH,UAAYsZ,EAAMpS,SAAW4pB,GAAeA,EAAY3xB,SAASma,EAAMpS,QAC1F,OAGF,MAAM1L,EAAW2lB,GAAeU,kBAAkBiP,GAE1B,IAApBt1B,EAAS6P,OACXylB,EAAYlE,QACH1S,KAAKgX,uBAAyBP,GACvCn1B,EAASA,EAAS6P,OAAS,GAAGuhB,QAE9BpxB,EAAS,GAAGoxB,OAEhB,CAEAyE,eAAe/X,GApFD,QAqFRA,EAAM7hB,MAIVyiB,KAAKgX,qBAAuB5X,EAAMiY,SAAWZ,GAxFzB,UAyFtB,EAcF,MAEMa,GAAc,YAGdC,GAAe,OAAOD,KACtBE,GAAyB,gBAAgBF,KACzCG,GAAiB,SAASH,KAC1BI,GAAe,OAAOJ,KACtBK,GAAgB,QAAQL,KACxBM,GAAiB,SAASN,KAC1BO,GAAsB,gBAAgBP,KACtCQ,GAA0B,oBAAoBR,KAC9CS,GAA0B,kBAAkBT,KAC5CU,GAAyB,QAAQV,cACjCW,GAAkB,aAElBC,GAAoB,OACpBC,GAAoB,eAKpBC,GAAY,CAChBjC,UAAU,EACVzD,OAAO,EACP3H,UAAU,GAENsN,GAAgB,CACpBlC,SAAU,mBACVzD,MAAO,UACP3H,SAAU,WAMZ,MAAMuN,WAAcpT,GAClBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GACfrE,KAAKuY,QAAUtR,GAAeC,QApBV,gBAoBmClH,KAAKoF,UAC5DpF,KAAKwY,UAAYxY,KAAKyY,sBACtBzY,KAAK0Y,WAAa1Y,KAAK2Y,uBACvB3Y,KAAK2P,UAAW,EAChB3P,KAAKmP,kBAAmB,EACxBnP,KAAK4Y,WAAa,IAAIxE,GAEtBpU,KAAK4L,oBACP,CAGW3H,qBACT,OAAOmU,EACT,CAEWlU,yBACT,OAAOmU,EACT,CAEW5b,kBACT,MA5DW,OA6Db,CAGAsK,OAAOjH,GACL,OAAOE,KAAK2P,SAAW3P,KAAK4P,OAAS5P,KAAK6P,KAAK/P,EACjD,CAEA+P,KAAK/P,GACCE,KAAK2P,UAAY3P,KAAKmP,kBAIR5O,GAAakB,QAAQzB,KAAKoF,SAAUsS,GAAc,CAClE5X,kBAGY+B,mBAId7B,KAAK2P,UAAW,EAChB3P,KAAKmP,kBAAmB,EAExBnP,KAAK4Y,WAAWhJ,OAEhB9pB,SAAS6G,KAAK6O,UAAUtE,IAAI+gB,IAE5BjY,KAAK6Y,gBAEL7Y,KAAKwY,UAAU3I,MAAK,IAAM7P,KAAK8Y,aAAahZ,KAC9C,CAEA8P,OACO5P,KAAK2P,WAAY3P,KAAKmP,mBAIT5O,GAAakB,QAAQzB,KAAKoF,SAAUmS,IAExC1V,mBAId7B,KAAK2P,UAAW,EAChB3P,KAAKmP,kBAAmB,EAExBnP,KAAK0Y,WAAWtB,aAEhBpX,KAAKoF,SAAS5J,UAAUuH,OAAOmV,IAE/BlY,KAAK2F,gBAAe,IAAM3F,KAAK+Y,cAAc/Y,KAAKoF,SAAUpF,KAAKgO,gBACnE,CAEAzI,UACE,IAAK,MAAMyT,IAAe,CAAC34B,OAAQ2f,KAAKuY,SACtChY,GAAaC,IAAIwY,EAAa1B,IAGhCtX,KAAKwY,UAAUjT,UAEfvF,KAAK0Y,WAAWtB,aAEhBjS,MAAMI,SACR,CAEA0T,eACEjZ,KAAK6Y,eACP,CAGAJ,sBACE,OAAO,IAAI3C,GAAS,CAClBhb,UAAWgG,QAAQd,KAAKqF,QAAQ8Q,UAEhCvQ,WAAY5F,KAAKgO,eAErB,CAEA2K,uBACE,OAAO,IAAI7B,GAAU,CACnBF,YAAa5W,KAAKoF,UAEtB,CAEA0T,aAAahZ,GAENha,SAAS6G,KAAK1H,SAAS+a,KAAKoF,WAC/Btf,SAAS6G,KAAK0pB,OAAOrW,KAAKoF,UAG5BpF,KAAKoF,SAAS5jB,MAAMwwB,QAAU,QAE9BhS,KAAKoF,SAASxjB,gBAAgB,eAE9Boe,KAAKoF,SAASvjB,aAAa,cAAc,GAEzCme,KAAKoF,SAASvjB,aAAa,OAAQ,UAEnCme,KAAKoF,SAASlZ,UAAY,EAC1B,MAAMgtB,EAAYjS,GAAeC,QA3IT,cA2IsClH,KAAKuY,SAE/DW,IACFA,EAAUhtB,UAAY,GAGxB6P,GAAOiE,KAAKoF,UAEZpF,KAAKoF,SAAS5J,UAAUtE,IAAIghB,IAa5BlY,KAAK2F,gBAXsB,KACrB3F,KAAKqF,QAAQqN,OACf1S,KAAK0Y,WAAWzB,WAGlBjX,KAAKmP,kBAAmB,EACxB5O,GAAakB,QAAQzB,KAAKoF,SAAUuS,GAAe,CACjD7X,iBACA,GAGoCE,KAAKuY,QAASvY,KAAKgO,cAC7D,CAEApC,qBACErL,GAAaY,GAAGnB,KAAKoF,SAAU2S,IAAyB3Y,IACtD,GAtLe,WAsLXA,EAAM7hB,IAIV,OAAIyiB,KAAKqF,QAAQ0F,UACf3L,EAAM+C,sBACNnC,KAAK4P,aAIP5P,KAAKmZ,4BAA4B,IAEnC5Y,GAAaY,GAAG9gB,OAAQu3B,IAAgB,KAClC5X,KAAK2P,WAAa3P,KAAKmP,kBACzBnP,KAAK6Y,eACP,IAEFtY,GAAaY,GAAGnB,KAAKoF,SAAU0S,IAAyB1Y,IAEtDmB,GAAaa,IAAIpB,KAAKoF,SAAUyS,IAAqBuB,IAC/CpZ,KAAKoF,WAAahG,EAAMpS,QAAUgT,KAAKoF,WAAagU,EAAOpsB,SAIjC,WAA1BgT,KAAKqF,QAAQ8Q,SAMbnW,KAAKqF,QAAQ8Q,UACfnW,KAAK4P,OANL5P,KAAKmZ,6BAOP,GACA,GAEN,CAEAJ,aACE/Y,KAAKoF,SAAS5jB,MAAMwwB,QAAU,OAE9BhS,KAAKoF,SAASvjB,aAAa,eAAe,GAE1Cme,KAAKoF,SAASxjB,gBAAgB,cAE9Boe,KAAKoF,SAASxjB,gBAAgB,QAE9Boe,KAAKmP,kBAAmB,EAExBnP,KAAKwY,UAAU5I,MAAK,KAClB9pB,SAAS6G,KAAK6O,UAAUuH,OAAOkV,IAE/BjY,KAAKqZ,oBAELrZ,KAAK4Y,WAAW9lB,QAEhByN,GAAakB,QAAQzB,KAAKoF,SAAUqS,GAAe,GAEvD,CAEAzJ,cACE,OAAOhO,KAAKoF,SAAS5J,UAAUvW,SAtOT,OAuOxB,CAEAk0B,6BAGE,GAFkB5Y,GAAakB,QAAQzB,KAAKoF,SAAUoS,IAExC3V,iBACZ,OAGF,MAAMyX,EAAqBtZ,KAAKoF,SAAStX,aAAehI,SAASC,gBAAgBsC,aAC3EkxB,EAAmBvZ,KAAKoF,SAAS5jB,MAAMiL,UAEpB,WAArB8sB,GAAiCvZ,KAAKoF,SAAS5J,UAAUvW,SAASkzB,MAIjEmB,IACHtZ,KAAKoF,SAAS5jB,MAAMiL,UAAY,UAGlCuT,KAAKoF,SAAS5J,UAAUtE,IAAIihB,IAE5BnY,KAAK2F,gBAAe,KAClB3F,KAAKoF,SAAS5J,UAAUuH,OAAOoV,IAE/BnY,KAAK2F,gBAAe,KAClB3F,KAAKoF,SAAS5jB,MAAMiL,UAAY8sB,CAAgB,GAC/CvZ,KAAKuY,QAAQ,GACfvY,KAAKuY,SAERvY,KAAKoF,SAASsN,QAChB,CAMAmG,gBACE,MAAMS,EAAqBtZ,KAAKoF,SAAStX,aAAehI,SAASC,gBAAgBsC,aAE3E0sB,EAAiB/U,KAAK4Y,WAAWvE,WAEjCmF,EAAoBzE,EAAiB,EAE3C,GAAIyE,IAAsBF,EAAoB,CAC5C,MAAM/2B,EAAW4Z,KAAU,cAAgB,eAC3C6D,KAAKoF,SAAS5jB,MAAMe,GAAY,GAAGwyB,KACrC,CAEA,IAAKyE,GAAqBF,EAAoB,CAC5C,MAAM/2B,EAAW4Z,KAAU,eAAiB,cAC5C6D,KAAKoF,SAAS5jB,MAAMe,GAAY,GAAGwyB,KACrC,CACF,CAEAsE,oBACErZ,KAAKoF,SAAS5jB,MAAMi4B,YAAc,GAClCzZ,KAAKoF,SAAS5jB,MAAMk4B,aAAe,EACrC,CAGA7T,uBAAuBxB,EAAQvE,GAC7B,OAAOE,KAAK4G,MAAK,WACf,MAAM9b,EAAOwtB,GAAMjS,oBAAoBrG,KAAMqE,GAE7C,GAAsB,iBAAXA,EAAX,CAIA,QAA4B,IAAjBvZ,EAAKuZ,GACd,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,GAAQvE,EANb,CAOF,GACF,EAQFS,GAAaY,GAAGrb,SAAUkyB,GApTK,4BAoT2C,SAAU5Y,GAClF,MAAMpS,EAASsN,GAAuB0F,MAElC,CAAC,IAAK,QAAQ9F,SAAS8F,KAAKoG,UAC9BhH,EAAM+C,iBAGR5B,GAAaa,IAAIpU,EAAQ0qB,IAAciC,IACjCA,EAAU9X,kBAKdtB,GAAaa,IAAIpU,EAAQyqB,IAAgB,KACnC3c,GAAUkF,OACZA,KAAK0S,OACP,GACA,IAGJ,MAAMkH,EAAc3S,GAAeC,QA3Ub,eA6UlB0S,GACFtB,GAAMxS,YAAY8T,GAAahK,OAGpB0I,GAAMjS,oBAAoBrZ,GAClC+Z,OAAO/G,KACd,IACAgG,GAAqBsS,IAKrBjc,GAAmBic,IAYnB,MAEMuB,GAAc,gBACdC,GAAiB,YACjBC,GAAwB,OAAOF,KAAcC,KAE7CE,GAAoB,OACpBC,GAAuB,UACvBC,GAAoB,SAEpBC,GAAgB,kBAChBC,GAAe,OAAOP,KACtBQ,GAAgB,QAAQR,KACxBS,GAAe,OAAOT,KACtBU,GAAuB,gBAAgBV,KACvCW,GAAiB,SAASX,KAC1BY,GAAe,SAASZ,KACxBa,GAAyB,QAAQb,KAAcC,KAC/Ca,GAAwB,kBAAkBd,KAE1Ce,GAAY,CAChBzE,UAAU,EACVpL,UAAU,EACV7f,QAAQ,GAEJ2vB,GAAgB,CACpB1E,SAAU,mBACVpL,SAAU,UACV7f,OAAQ,WAMV,MAAM4vB,WAAkB5V,GACtBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GACfrE,KAAK2P,UAAW,EAChB3P,KAAKwY,UAAYxY,KAAKyY,sBACtBzY,KAAK0Y,WAAa1Y,KAAK2Y,uBAEvB3Y,KAAK4L,oBACP,CAGW3H,qBACT,OAAO2W,EACT,CAEW1W,yBACT,OAAO2W,EACT,CAEWpe,kBACT,MAtDW,WAuDb,CAGAsK,OAAOjH,GACL,OAAOE,KAAK2P,SAAW3P,KAAK4P,OAAS5P,KAAK6P,KAAK/P,EACjD,CAEA+P,KAAK/P,GACCE,KAAK2P,UAISpP,GAAakB,QAAQzB,KAAKoF,SAAUgV,GAAc,CAClEta,kBAGY+B,mBAId7B,KAAK2P,UAAW,EAEhB3P,KAAKwY,UAAU3I,OAEV7P,KAAKqF,QAAQna,SAChB,IAAIkpB,IAAkBxE,OAGxB5P,KAAKoF,SAASvjB,aAAa,cAAc,GAEzCme,KAAKoF,SAASvjB,aAAa,OAAQ,UAEnCme,KAAKoF,SAAS5J,UAAUtE,IAAI+iB,IAgB5Bja,KAAK2F,gBAdoB,KAClB3F,KAAKqF,QAAQna,SAAU8U,KAAKqF,QAAQ8Q,UACvCnW,KAAK0Y,WAAWzB,WAGlBjX,KAAKoF,SAAS5J,UAAUtE,IAAI8iB,IAE5Bha,KAAKoF,SAAS5J,UAAUuH,OAAOkX,IAE/B1Z,GAAakB,QAAQzB,KAAKoF,SAAUiV,GAAe,CACjDva,iBACA,GAGkCE,KAAKoF,UAAU,GACvD,CAEAwK,OACO5P,KAAK2P,WAIQpP,GAAakB,QAAQzB,KAAKoF,SAAUkV,IAExCzY,mBAId7B,KAAK0Y,WAAWtB,aAEhBpX,KAAKoF,SAAS2V,OAEd/a,KAAK2P,UAAW,EAEhB3P,KAAKoF,SAAS5J,UAAUtE,IAAIgjB,IAE5Bla,KAAKwY,UAAU5I,OAgBf5P,KAAK2F,gBAdoB,KACvB3F,KAAKoF,SAAS5J,UAAUuH,OAAOiX,GAAmBE,IAElDla,KAAKoF,SAASxjB,gBAAgB,cAE9Boe,KAAKoF,SAASxjB,gBAAgB,QAEzBoe,KAAKqF,QAAQna,SAChB,IAAIkpB,IAAkBthB,QAGxByN,GAAakB,QAAQzB,KAAKoF,SAAUoV,GAAe,GAGfxa,KAAKoF,UAAU,IACvD,CAEAG,UACEvF,KAAKwY,UAAUjT,UAEfvF,KAAK0Y,WAAWtB,aAEhBjS,MAAMI,SACR,CAGAkT,sBACE,MAUM3d,EAAYgG,QAAQd,KAAKqF,QAAQ8Q,UACvC,OAAO,IAAIL,GAAS,CAClBJ,UA7JsB,qBA8JtB5a,YACA8K,YAAY,EACZgQ,YAAa5V,KAAKoF,SAAS5f,WAC3BmwB,cAAe7a,EAhBK,KACU,WAA1BkF,KAAKqF,QAAQ8Q,SAKjBnW,KAAK4P,OAJHrP,GAAakB,QAAQzB,KAAKoF,SAAUmV,GAI3B,EAUgC,MAE/C,CAEA5B,uBACE,OAAO,IAAI7B,GAAU,CACnBF,YAAa5W,KAAKoF,UAEtB,CAEAwG,qBACErL,GAAaY,GAAGnB,KAAKoF,SAAUuV,IAAuBvb,IAhLvC,WAiLTA,EAAM7hB,MAILyiB,KAAKqF,QAAQ0F,SAKlB/K,KAAK4P,OAJHrP,GAAakB,QAAQzB,KAAKoF,SAAUmV,IAI3B,GAEf,CAGA1U,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAOgwB,GAAUzU,oBAAoBrG,KAAMqE,GAEjD,GAAsB,iBAAXA,EAAX,CAIA,QAAqB7K,IAAjB1O,EAAKuZ,IAAyBA,EAAOlK,WAAW,MAAmB,gBAAXkK,EAC1D,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,GAAQrE,KANb,CAOF,GACF,EAQFO,GAAaY,GAAGrb,SAAU40B,GAvMK,gCAuM2C,SAAUtb,GAClF,MAAMpS,EAASsN,GAAuB0F,MAMtC,GAJI,CAAC,IAAK,QAAQ9F,SAAS8F,KAAKoG,UAC9BhH,EAAM+C,iBAGJ9G,GAAW2E,MACb,OAGFO,GAAaa,IAAIpU,EAAQwtB,IAAgB,KAEnC1f,GAAUkF,OACZA,KAAK0S,OACP,IAGF,MAAMkH,EAAc3S,GAAeC,QAAQiT,IAEvCP,GAAeA,IAAgB5sB,GACjC8tB,GAAUhV,YAAY8T,GAAahK,OAGxBkL,GAAUzU,oBAAoBrZ,GACtC+Z,OAAO/G,KACd,IACAO,GAAaY,GAAG9gB,OAAQ05B,IAAuB,KAC7C,IAAK,MAAMhgB,KAAYkN,GAAerU,KAAKunB,IACzCW,GAAUzU,oBAAoBtM,GAAU8V,MAC1C,IAEFtP,GAAaY,GAAG9gB,OAAQo6B,IAAc,KACpC,IAAK,MAAMz6B,KAAWinB,GAAerU,KAAK,gDACG,UAAvClN,iBAAiB1F,GAASiC,UAC5B64B,GAAUzU,oBAAoBrmB,GAAS4vB,MAE3C,IAEF5J,GAAqB8U,IAKrBze,GAAmBye,IAQnB,MAAME,GAAgB,IAAIjkB,IAAI,CAAC,aAAc,OAAQ,OAAQ,WAAY,WAAY,SAAU,MAAO,eAQhGkkB,GAAmB,iEAOnBC,GAAmB,qIAEnBC,GAAmB,CAAC34B,EAAW44B,KACnC,MAAMC,EAAgB74B,EAAUvC,SAASC,cAEzC,OAAIk7B,EAAqBlhB,SAASmhB,IAC5BL,GAAc5jB,IAAIikB,IACbva,QAAQma,GAAiBn3B,KAAKtB,EAAU84B,YAAcJ,GAAiBp3B,KAAKtB,EAAU84B,YAO1FF,EAAqBx0B,QAAO20B,GAAkBA,aAA0BxW,SAAQ7R,MAAKsoB,GAASA,EAAM13B,KAAKu3B,IAAe,EAG3HI,GAAmB,CAEvB,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAjCP,kBAkC7BnqB,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BoqB,KAAM,GACNnqB,EAAG,GACHoqB,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJxqB,EAAG,GACHgb,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDyP,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IA+CAC,GAAY,CAChBC,UAAW3B,GACX4B,QAAS,CAAC,EAEVC,WAAY,GACZhwB,MAAM,EACNiwB,UAAU,EACVC,WAAY,KACZC,SAAU,eAENC,GAAgB,CACpBN,UAAW,SACXC,QAAS,SACTC,WAAY,oBACZhwB,KAAM,UACNiwB,SAAU,UACVC,WAAY,kBACZC,SAAU,UAENE,GAAqB,CACzBC,MAAO,iCACP7jB,SAAU,oBAMZ,MAAM8jB,WAAwB7Z,GAC5BU,YAAYL,GACVc,QACAnF,KAAKqF,QAAUrF,KAAKoE,WAAWC,EACjC,CAGWJ,qBACT,OAAOkZ,EACT,CAEWjZ,yBACT,OAAOwZ,EACT,CAEWjhB,kBACT,MA5CW,iBA6Cb,CAGAqhB,aACE,OAAOrgC,OAAO0hB,OAAOa,KAAKqF,QAAQgY,SAAS95B,KAAI8gB,GAAUrE,KAAK+d,yBAAyB1Z,KAASzd,OAAOka,QACzG,CAEAkd,aACE,OAAOhe,KAAK8d,aAAa3sB,OAAS,CACpC,CAEA8sB,cAAcZ,GAMZ,OALArd,KAAKke,cAAcb,GAEnBrd,KAAKqF,QAAQgY,QAAU,IAAKrd,KAAKqF,QAAQgY,WACpCA,GAEErd,IACT,CAEAme,SACE,MAAMC,EAAkBt4B,SAASswB,cAAc,OAC/CgI,EAAgBC,UAAYre,KAAKse,eAAete,KAAKqF,QAAQoY,UAE7D,IAAK,MAAO1jB,EAAUwkB,KAAS9gC,OAAO4kB,QAAQrC,KAAKqF,QAAQgY,SACzDrd,KAAKwe,YAAYJ,EAAiBG,EAAMxkB,GAG1C,MAAM0jB,EAAWW,EAAgBjX,SAAS,GAEpCmW,EAAatd,KAAK+d,yBAAyB/d,KAAKqF,QAAQiY,YAM9D,OAJIA,GACFG,EAASjiB,UAAUtE,OAAOomB,EAAW36B,MAAM,MAGtC86B,CACT,CAGAjZ,iBAAiBH,GACfc,MAAMX,iBAAiBH,GAEvBrE,KAAKke,cAAc7Z,EAAOgZ,QAC5B,CAEAa,cAAcO,GACZ,IAAK,MAAO1kB,EAAUsjB,KAAY5/B,OAAO4kB,QAAQoc,GAC/CtZ,MAAMX,iBAAiB,CACrBzK,WACA6jB,MAAOP,GACNM,GAEP,CAEAa,YAAYf,EAAUJ,EAAStjB,GAC7B,MAAM2kB,EAAkBzX,GAAeC,QAAQnN,EAAU0jB,GAEpDiB,KAILrB,EAAUrd,KAAK+d,yBAAyBV,IAOpC,GAAUA,GACZrd,KAAK2e,sBAAsB9jB,GAAWwiB,GAAUqB,GAK9C1e,KAAKqF,QAAQ/X,KACfoxB,EAAgBL,UAAYre,KAAKse,eAAejB,GAIlDqB,EAAgBE,YAAcvB,EAf5BqB,EAAgB3b,SAgBpB,CAEAub,eAAeG,GACb,OAAOze,KAAKqF,QAAQkY,SA7KxB,SAAsBsB,EAAYzB,EAAW0B,GAC3C,IAAKD,EAAW1tB,OACd,OAAO0tB,EAGT,GAAIC,GAAgD,mBAArBA,EAC7B,OAAOA,EAAiBD,GAG1B,MACME,GADY,IAAI1+B,OAAO2+B,WACKC,gBAAgBJ,EAAY,aACxDv9B,EAAW,GAAGlC,UAAU2/B,EAAgBpyB,KAAKyT,iBAAiB,MAEpE,IAAK,MAAMpgB,KAAWsB,EAAU,CAC9B,MAAM49B,EAAcl/B,EAAQC,SAASC,cAErC,IAAKzC,OAAO4D,KAAK+7B,GAAWljB,SAASglB,GAAc,CACjDl/B,EAAQ+iB,SACR,QACF,CAEA,MAAMoc,EAAgB,GAAG//B,UAAUY,EAAQ0B,YACrC09B,EAAoB,GAAGhgC,OAAOg+B,EAAU,MAAQ,GAAIA,EAAU8B,IAAgB,IAEpF,IAAK,MAAM18B,KAAa28B,EACjBhE,GAAiB34B,EAAW48B,IAC/Bp/B,EAAQ4B,gBAAgBY,EAAUvC,SAGxC,CAEA,OAAO8+B,EAAgBpyB,KAAK0xB,SAC9B,CA6ImCgB,CAAaZ,EAAKze,KAAKqF,QAAQ+X,UAAWpd,KAAKqF,QAAQmY,YAAciB,CACtG,CAEAV,yBAAyBU,GACvB,MAAsB,mBAARA,EAAqBA,EAAIze,MAAQye,CACjD,CAEAE,sBAAsB3+B,EAAS0+B,GAC7B,GAAI1e,KAAKqF,QAAQ/X,KAGf,OAFAoxB,EAAgBL,UAAY,QAC5BK,EAAgBrI,OAAOr2B,GAIzB0+B,EAAgBE,YAAc5+B,EAAQ4+B,WACxC,EAcF,MACMU,GAAwB,IAAIvoB,IAAI,CAAC,WAAY,YAAa,eAC1DwoB,GAAoB,OAEpBC,GAAoB,OAEpBC,GAAiB,SACjBC,GAAmB,gBACnBC,GAAgB,QAChBC,GAAgB,QAahBC,GAAgB,CACpBC,KAAM,OACNC,IAAK,MACLC,MAAO7jB,KAAU,OAAS,QAC1B8jB,OAAQ,SACRC,KAAM/jB,KAAU,QAAU,QAEtBgkB,GAAY,CAChB/C,UAAW3B,GACX2E,WAAW,EACX1xB,SAAU,kBACV2xB,WAAW,EACXC,YAAa,GACbC,MAAO,EACP9vB,mBAAoB,CAAC,MAAO,QAAS,SAAU,QAC/CnD,MAAM,EACN7E,OAAQ,CAAC,EAAG,GACZtJ,UAAW,MACX8yB,aAAc,KACdsL,UAAU,EACVC,WAAY,KACZzjB,UAAU,EACV0jB,SAAU,+GACV+C,MAAO,GACP/e,QAAS,eAELgf,GAAgB,CACpBrD,UAAW,SACXgD,UAAW,UACX1xB,SAAU,mBACV2xB,UAAW,2BACXC,YAAa,oBACbC,MAAO,kBACP9vB,mBAAoB,QACpBnD,KAAM,UACN7E,OAAQ,0BACRtJ,UAAW,oBACX8yB,aAAc,yBACdsL,SAAU,UACVC,WAAY,kBACZzjB,SAAU,mBACV0jB,SAAU,SACV+C,MAAO,4BACP/e,QAAS,UAMX,MAAMif,WAAgBxb,GACpBR,YAAY1kB,EAASqkB,GACnB,QAAsB,IAAX,EACT,MAAM,IAAIW,UAAU,+DAGtBG,MAAMnlB,EAASqkB,GAEfrE,KAAK2gB,YAAa,EAClB3gB,KAAK4gB,SAAW,EAChB5gB,KAAK6gB,WAAa,KAClB7gB,KAAK8gB,eAAiB,CAAC,EACvB9gB,KAAKoS,QAAU,KACfpS,KAAK+gB,iBAAmB,KACxB/gB,KAAKghB,YAAc,KAEnBhhB,KAAKihB,IAAM,KAEXjhB,KAAKkhB,gBAEAlhB,KAAKqF,QAAQtL,UAChBiG,KAAKmhB,WAET,CAGWld,qBACT,OAAOkc,EACT,CAEWjc,yBACT,OAAOuc,EACT,CAEWhkB,kBACT,MA1GW,SA2Gb,CAGA2kB,SACEphB,KAAK2gB,YAAa,CACpB,CAEAU,UACErhB,KAAK2gB,YAAa,CACpB,CAEAW,gBACEthB,KAAK2gB,YAAc3gB,KAAK2gB,UAC1B,CAEA5Z,SACO/G,KAAK2gB,aAIV3gB,KAAK8gB,eAAeS,OAASvhB,KAAK8gB,eAAeS,MAE7CvhB,KAAK2P,WACP3P,KAAKwhB,SAKPxhB,KAAKyhB,SACP,CAEAlc,UACE0H,aAAajN,KAAK4gB,UAClBrgB,GAAaC,IAAIR,KAAKoF,SAASjK,QAAQskB,IAAiBC,GAAkB1f,KAAK0hB,mBAE3E1hB,KAAKoF,SAASpL,aAAa,2BAC7BgG,KAAKoF,SAASvjB,aAAa,QAASme,KAAKoF,SAASpL,aAAa,2BAGjEgG,KAAK2hB,iBAELxc,MAAMI,SACR,CAEAsK,OACE,GAAoC,SAAhC7P,KAAKoF,SAAS5jB,MAAMwwB,QACtB,MAAM,IAAI7N,MAAM,uCAGlB,IAAMnE,KAAK4hB,mBAAoB5hB,KAAK2gB,WAClC,OAGF,MAAMhH,EAAYpZ,GAAakB,QAAQzB,KAAKoF,SAAUpF,KAAK0E,YAAYiJ,UAlJtD,SAqJXkU,GAFalmB,GAAeqE,KAAKoF,WAELpF,KAAKoF,SAAS7kB,cAAcwF,iBAAiBd,SAAS+a,KAAKoF,UAE7F,GAAIuU,EAAU9X,mBAAqBggB,EACjC,OAIF7hB,KAAK2hB,iBAEL,MAAMV,EAAMjhB,KAAK8hB,iBAEjB9hB,KAAKoF,SAASvjB,aAAa,mBAAoBo/B,EAAIjnB,aAAa,OAEhE,MAAM,UACJqmB,GACErgB,KAAKqF,QAaT,GAXKrF,KAAKoF,SAAS7kB,cAAcwF,gBAAgBd,SAAS+a,KAAKihB,OAC7DZ,EAAUhK,OAAO4K,GACjB1gB,GAAakB,QAAQzB,KAAKoF,SAAUpF,KAAK0E,YAAYiJ,UAtKpC,cAyKnB3N,KAAKoS,QAAUpS,KAAKyS,cAAcwO,GAClCA,EAAIzlB,UAAUtE,IAAIsoB,IAKd,iBAAkB15B,SAASC,gBAC7B,IAAK,MAAM/F,IAAW,GAAGZ,UAAU0G,SAAS6G,KAAKwa,UAC/C5G,GAAaY,GAAGnhB,EAAS,YAAa8b,IAc1CkE,KAAK2F,gBAVY,KACfpF,GAAakB,QAAQzB,KAAKoF,SAAUpF,KAAK0E,YAAYiJ,UAvLrC,WAyLQ,IAApB3N,KAAK6gB,YACP7gB,KAAKwhB,SAGPxhB,KAAK6gB,YAAa,CAAK,GAGK7gB,KAAKihB,IAAKjhB,KAAKgO,cAC/C,CAEA4B,OACE,GAAK5P,KAAK2P,aAIQpP,GAAakB,QAAQzB,KAAKoF,SAAUpF,KAAK0E,YAAYiJ,UA3MtD,SA6MH9L,iBAAd,CASA,GALY7B,KAAK8hB,iBAEbtmB,UAAUuH,OAAOyc,IAGjB,iBAAkB15B,SAASC,gBAC7B,IAAK,MAAM/F,IAAW,GAAGZ,UAAU0G,SAAS6G,KAAKwa,UAC/C5G,GAAaC,IAAIxgB,EAAS,YAAa8b,IAI3CkE,KAAK8gB,eAA4B,OAAI,EACrC9gB,KAAK8gB,eAAelB,KAAiB,EACrC5f,KAAK8gB,eAAenB,KAAiB,EACrC3f,KAAK6gB,WAAa,KAgBlB7gB,KAAK2F,gBAdY,KACX3F,KAAK+hB,yBAIJ/hB,KAAK6gB,YACR7gB,KAAK2hB,iBAGP3hB,KAAKoF,SAASxjB,gBAAgB,oBAE9B2e,GAAakB,QAAQzB,KAAKoF,SAAUpF,KAAK0E,YAAYiJ,UA3OpC,WA2O8D,GAGnD3N,KAAKihB,IAAKjhB,KAAKgO,cAhC7C,CAiCF,CAEAxiB,SACMwU,KAAKoS,SACPpS,KAAKoS,QAAQ5mB,QAEjB,CAGAo2B,iBACE,OAAO9gB,QAAQd,KAAKgiB,YACtB,CAEAF,iBAKE,OAJK9hB,KAAKihB,MACRjhB,KAAKihB,IAAMjhB,KAAKiiB,kBAAkBjiB,KAAKghB,aAAehhB,KAAKkiB,2BAGtDliB,KAAKihB,GACd,CAEAgB,kBAAkB5E,GAChB,MAAM4D,EAAMjhB,KAAKmiB,oBAAoB9E,GAASc,SAG9C,IAAK8C,EACH,OAAO,KAGTA,EAAIzlB,UAAUuH,OAAOwc,GAAmBC,IAExCyB,EAAIzlB,UAAUtE,IAAI,MAAM8I,KAAK0E,YAAYjI,aACzC,MAAM2lB,EA92HKC,KACb,GACEA,GAAUz/B,KAAK0/B,MAlBH,IAkBS1/B,KAAK2/B,gBACnBz8B,SAAS08B,eAAeH,IAEjC,OAAOA,CAAM,EAy2HGI,CAAOziB,KAAK0E,YAAYjI,MAAMnc,WAO5C,OANA2gC,EAAIp/B,aAAa,KAAMugC,GAEnBpiB,KAAKgO,eACPiT,EAAIzlB,UAAUtE,IAAIqoB,IAGb0B,CACT,CAEAyB,WAAWrF,GACTrd,KAAKghB,YAAc3D,EAEfrd,KAAK2P,aACP3P,KAAK2hB,iBAEL3hB,KAAK6P,OAET,CAEAsS,oBAAoB9E,GAYlB,OAXIrd,KAAK+gB,iBACP/gB,KAAK+gB,iBAAiB9C,cAAcZ,GAEpCrd,KAAK+gB,iBAAmB,IAAIlD,GAAgB,IAAK7d,KAAKqF,QAGpDgY,UACAC,WAAYtd,KAAK+d,yBAAyB/d,KAAKqF,QAAQib,eAIpDtgB,KAAK+gB,gBACd,CAEAmB,yBACE,MAAO,CACL,iBAA0BliB,KAAKgiB,YAEnC,CAEAA,YACE,OAAOhiB,KAAK+d,yBAAyB/d,KAAKqF,QAAQmb,QAAUxgB,KAAKoF,SAASpL,aAAa,yBACzF,CAGA2oB,6BAA6BvjB,GAC3B,OAAOY,KAAK0E,YAAY2B,oBAAoBjH,EAAMW,eAAgBC,KAAK4iB,qBACzE,CAEA5U,cACE,OAAOhO,KAAKqF,QAAQ+a,WAAapgB,KAAKihB,KAAOjhB,KAAKihB,IAAIzlB,UAAUvW,SAASs6B,GAC3E,CAEA5P,WACE,OAAO3P,KAAKihB,KAAOjhB,KAAKihB,IAAIzlB,UAAUvW,SAASu6B,GACjD,CAEA/M,cAAcwO,GACZ,MAAM9hC,EAA8C,mBAA3B6gB,KAAKqF,QAAQlmB,UAA2B6gB,KAAKqF,QAAQlmB,UAAUlB,KAAK+hB,KAAMihB,EAAKjhB,KAAKoF,UAAYpF,KAAKqF,QAAQlmB,UAChI0jC,EAAahD,GAAc1gC,EAAU8lB,eAC3C,OAAO,GAAoBjF,KAAKoF,SAAU6b,EAAKjhB,KAAK6S,iBAAiBgQ,GACvE,CAEA5P,aACE,MAAM,OACJxqB,GACEuX,KAAKqF,QAET,MAAsB,iBAAX5c,EACFA,EAAO9F,MAAM,KAAKY,KAAInF,GAASmf,OAAO+P,SAASlvB,EAAO,MAGzC,mBAAXqK,EACFyqB,GAAczqB,EAAOyqB,EAAYlT,KAAKoF,UAGxC3c,CACT,CAEAs1B,yBAAyBU,GACvB,MAAsB,mBAARA,EAAqBA,EAAIxgC,KAAK+hB,KAAKoF,UAAYqZ,CAC/D,CAEA5L,iBAAiBgQ,GACf,MAAM1P,EAAwB,CAC5Bh0B,UAAW0jC,EACXhsB,UAAW,CAAC,CACV9V,KAAM,OACNmB,QAAS,CACPuO,mBAAoBuP,KAAKqF,QAAQ5U,qBAElC,CACD1P,KAAM,SACNmB,QAAS,CACPuG,OAAQuX,KAAKiT,eAEd,CACDlyB,KAAM,kBACNmB,QAAS,CACPwM,SAAUsR,KAAKqF,QAAQ3W,WAExB,CACD3N,KAAM,QACNmB,QAAS,CACPlC,QAAS,IAAIggB,KAAK0E,YAAYjI,eAE/B,CACD1b,KAAM,kBACNC,SAAS,EACTC,MAAO,aACPC,GAAI4J,IAGFkV,KAAK8hB,iBAAiBjgC,aAAa,wBAAyBiJ,EAAK1J,MAAMjC,UAAU,KAIvF,MAAO,IAAKg0B,KAC+B,mBAA9BnT,KAAKqF,QAAQ4M,aAA8BjS,KAAKqF,QAAQ4M,aAAakB,GAAyBnT,KAAKqF,QAAQ4M,aAE1H,CAEAiP,gBACE,MAAM4B,EAAW9iB,KAAKqF,QAAQ5D,QAAQ9e,MAAM,KAE5C,IAAK,MAAM8e,KAAWqhB,EACpB,GAAgB,UAAZrhB,EACFlB,GAAaY,GAAGnB,KAAKoF,SAAUpF,KAAK0E,YAAYiJ,UA3YlC,SA2Y4D3N,KAAKqF,QAAQtL,UAAUqF,IAC/EY,KAAK2iB,6BAA6BvjB,GAE1C2H,QAAQ,SAEb,GAtZU,WAsZNtF,EAA4B,CACrC,MAAMshB,EAAUthB,IAAYke,GAAgB3f,KAAK0E,YAAYiJ,UA9Y5C,cA8Y0E3N,KAAK0E,YAAYiJ,UAhZ5F,WAiZVqV,EAAWvhB,IAAYke,GAAgB3f,KAAK0E,YAAYiJ,UA9Y7C,cA8Y2E3N,KAAK0E,YAAYiJ,UAhZ5F,YAiZjBpN,GAAaY,GAAGnB,KAAKoF,SAAU2d,EAAS/iB,KAAKqF,QAAQtL,UAAUqF,IAC7D,MAAMkU,EAAUtT,KAAK2iB,6BAA6BvjB,GAElDkU,EAAQwN,eAA8B,YAAf1hB,EAAMqB,KAAqBmf,GAAgBD,KAAiB,EAEnFrM,EAAQmO,QAAQ,IAElBlhB,GAAaY,GAAGnB,KAAKoF,SAAU4d,EAAUhjB,KAAKqF,QAAQtL,UAAUqF,IAC9D,MAAMkU,EAAUtT,KAAK2iB,6BAA6BvjB,GAElDkU,EAAQwN,eAA8B,aAAf1hB,EAAMqB,KAAsBmf,GAAgBD,IAAiBrM,EAAQlO,SAASngB,SAASma,EAAMU,eAEpHwT,EAAQkO,QAAQ,GAEpB,CAGFxhB,KAAK0hB,kBAAoB,KACnB1hB,KAAKoF,UACPpF,KAAK4P,MACP,EAGFrP,GAAaY,GAAGnB,KAAKoF,SAASjK,QAAQskB,IAAiBC,GAAkB1f,KAAK0hB,kBAChF,CAEAP,YACE,MAAMX,EAAQxgB,KAAKoF,SAASpL,aAAa,SAEpCwmB,IAIAxgB,KAAKoF,SAASpL,aAAa,eAAkBgG,KAAKoF,SAASwZ,YAAYxkB,QAC1E4F,KAAKoF,SAASvjB,aAAa,aAAc2+B,GAG3CxgB,KAAKoF,SAASvjB,aAAa,yBAA0B2+B,GAGrDxgB,KAAKoF,SAASxjB,gBAAgB,SAChC,CAEA6/B,SACMzhB,KAAK2P,YAAc3P,KAAK6gB,WAC1B7gB,KAAK6gB,YAAa,GAIpB7gB,KAAK6gB,YAAa,EAElB7gB,KAAKijB,aAAY,KACXjjB,KAAK6gB,YACP7gB,KAAK6P,MACP,GACC7P,KAAKqF,QAAQkb,MAAM1Q,MACxB,CAEA2R,SACMxhB,KAAK+hB,yBAIT/hB,KAAK6gB,YAAa,EAElB7gB,KAAKijB,aAAY,KACVjjB,KAAK6gB,YACR7gB,KAAK4P,MACP,GACC5P,KAAKqF,QAAQkb,MAAM3Q,MACxB,CAEAqT,YAAYrlB,EAASslB,GACnBjW,aAAajN,KAAK4gB,UAClB5gB,KAAK4gB,SAAW/iB,WAAWD,EAASslB,EACtC,CAEAnB,uBACE,OAAOtkC,OAAO0hB,OAAOa,KAAK8gB,gBAAgB5mB,UAAS,EACrD,CAEAkK,WAAWC,GACT,MAAM8e,EAAiB5f,GAAYG,kBAAkB1D,KAAKoF,UAE1D,IAAK,MAAMge,KAAiB3lC,OAAO4D,KAAK8hC,GAClC7D,GAAsBloB,IAAIgsB,WACrBD,EAAeC,GAY1B,OARA/e,EAAS,IAAK8e,KACU,iBAAX9e,GAAuBA,EAASA,EAAS,CAAC,GAEvDA,EAASrE,KAAKsE,gBAAgBD,GAC9BA,EAASrE,KAAKuE,kBAAkBF,GAEhCrE,KAAKwE,iBAAiBH,GAEfA,CACT,CAEAE,kBAAkBF,GAkBhB,OAjBAA,EAAOgc,WAAiC,IAArBhc,EAAOgc,UAAsBv6B,SAAS6G,KAAOkO,GAAWwJ,EAAOgc,WAEtD,iBAAjBhc,EAAOkc,QAChBlc,EAAOkc,MAAQ,CACb1Q,KAAMxL,EAAOkc,MACb3Q,KAAMvL,EAAOkc,QAIW,iBAAjBlc,EAAOmc,QAChBnc,EAAOmc,MAAQnc,EAAOmc,MAAMlgC,YAGA,iBAAnB+jB,EAAOgZ,UAChBhZ,EAAOgZ,QAAUhZ,EAAOgZ,QAAQ/8B,YAG3B+jB,CACT,CAEAue,qBACE,MAAMve,EAAS,CAAC,EAEhB,IAAK,MAAM9mB,KAAOyiB,KAAKqF,QACjBrF,KAAK0E,YAAYT,QAAQ1mB,KAASyiB,KAAKqF,QAAQ9nB,KACjD8mB,EAAO9mB,GAAOyiB,KAAKqF,QAAQ9nB,IAS/B,OALA8mB,EAAOtK,UAAW,EAClBsK,EAAO5C,QAAU,SAIV4C,CACT,CAEAsd,iBACM3hB,KAAKoS,UACPpS,KAAKoS,QAAQ3Y,UAEbuG,KAAKoS,QAAU,MAGbpS,KAAKihB,MACPjhB,KAAKihB,IAAIle,SACT/C,KAAKihB,IAAM,KAEf,CAGApb,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAO41B,GAAQra,oBAAoBrG,KAAMqE,GAE/C,GAAsB,iBAAXA,EAAX,CAIA,QAA4B,IAAjBvZ,EAAKuZ,GACd,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IANL,CAOF,GACF,EAQFhI,GAAmBqkB,IAYnB,MAGM2C,GAAY,IAAK3C,GAAQzc,QAC7BoZ,QAAS,GACT50B,OAAQ,CAAC,EAAG,GACZtJ,UAAW,QACXs+B,SAAU,8IACVhc,QAAS,SAEL6hB,GAAgB,IAAK5C,GAAQxc,YACjCmZ,QAAS,kCAMX,MAAMkG,WAAgB7C,GAETzc,qBACT,OAAOof,EACT,CAEWnf,yBACT,OAAOof,EACT,CAEW7mB,kBACT,MA5BW,SA6Bb,CAGAmlB,iBACE,OAAO5hB,KAAKgiB,aAAehiB,KAAKwjB,aAClC,CAGAtB,yBACE,MAAO,CACL,kBAAkBliB,KAAKgiB,YACvB,gBAAoBhiB,KAAKwjB,cAE7B,CAEAA,cACE,OAAOxjB,KAAK+d,yBAAyB/d,KAAKqF,QAAQgY,QACpD,CAGAxX,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAOy4B,GAAQld,oBAAoBrG,KAAMqE,GAE/C,GAAsB,iBAAXA,EAAX,CAIA,QAA4B,IAAjBvZ,EAAKuZ,GACd,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IANL,CAOF,GACF,EAQFhI,GAAmBknB,IAYnB,MAEME,GAAc,gBAEdC,GAAiB,WAAWD,KAC5BE,GAAc,QAAQF,KACtBG,GAAwB,OAAOH,cAE/BI,GAAsB,SAEtBC,GAAwB,SAExBC,GAAqB,YAGrBC,GAAsB,GAAGD,mBAA+CA,uBAGxEE,GAAY,CAChBx7B,OAAQ,KAERy7B,WAAY,eACZC,cAAc,EACdn3B,OAAQ,KACRo3B,UAAW,CAAC,GAAK,GAAK,IAElBC,GAAgB,CACpB57B,OAAQ,gBAERy7B,WAAY,SACZC,aAAc,UACdn3B,OAAQ,UACRo3B,UAAW,SAMb,MAAME,WAAkBpf,GACtBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GAEfrE,KAAKukB,aAAe,IAAI5yB,IACxBqO,KAAKwkB,oBAAsB,IAAI7yB,IAC/BqO,KAAKykB,aAA6D,YAA9C/+B,iBAAiBsa,KAAKoF,UAAU3Y,UAA0B,KAAOuT,KAAKoF,SAC1FpF,KAAK0kB,cAAgB,KACrB1kB,KAAK2kB,UAAY,KACjB3kB,KAAK4kB,oBAAsB,CACzBC,gBAAiB,EACjBC,gBAAiB,GAEnB9kB,KAAK+kB,SACP,CAGW9gB,qBACT,OAAOggB,EACT,CAEW/f,yBACT,OAAOmgB,EACT,CAEW5nB,kBACT,MAhEW,WAiEb,CAGAsoB,UACE/kB,KAAKglB,mCAELhlB,KAAKilB,2BAEDjlB,KAAK2kB,UACP3kB,KAAK2kB,UAAUO,aAEfllB,KAAK2kB,UAAY3kB,KAAKmlB,kBAGxB,IAAK,MAAMC,KAAWplB,KAAKwkB,oBAAoBrlB,SAC7Ca,KAAK2kB,UAAUU,QAAQD,EAE3B,CAEA7f,UACEvF,KAAK2kB,UAAUO,aAEf/f,MAAMI,SACR,CAGAhB,kBAAkBF,GAUhB,OARAA,EAAOrX,OAAS6N,GAAWwJ,EAAOrX,SAAWlH,SAAS6G,KAEtD0X,EAAO6f,WAAa7f,EAAO5b,OAAS,GAAG4b,EAAO5b,oBAAsB4b,EAAO6f,WAE3C,iBAArB7f,EAAO+f,YAChB/f,EAAO+f,UAAY/f,EAAO+f,UAAUzhC,MAAM,KAAKY,KAAInF,GAASmf,OAAOC,WAAWpf,MAGzEimB,CACT,CAEA4gB,2BACOjlB,KAAKqF,QAAQ8e,eAKlB5jB,GAAaC,IAAIR,KAAKqF,QAAQrY,OAAQ22B,IACtCpjB,GAAaY,GAAGnB,KAAKqF,QAAQrY,OAAQ22B,GAAaG,IAAuB1kB,IACvE,MAAMkmB,EAAoBtlB,KAAKwkB,oBAAoB5mC,IAAIwhB,EAAMpS,OAAOtB,MAEpE,GAAI45B,EAAmB,CACrBlmB,EAAM+C,iBACN,MAAMtG,EAAOmE,KAAKykB,cAAgBpkC,OAC5BmE,EAAS8gC,EAAkBxgC,UAAYkb,KAAKoF,SAAStgB,UAE3D,GAAI+W,EAAK0pB,SAKP,YAJA1pB,EAAK0pB,SAAS,CACZnjC,IAAKoC,EACLghC,SAAU,WAMd3pB,EAAK3P,UAAY1H,CACnB,KAEJ,CAEA2gC,kBACE,MAAMjjC,EAAU,CACd2Z,KAAMmE,KAAKykB,aACXL,UAAWpkB,KAAKqF,QAAQ+e,UACxBF,WAAYlkB,KAAKqF,QAAQ6e,YAE3B,OAAO,IAAIuB,sBAAqBpjB,GAAWrC,KAAK0lB,kBAAkBrjB,IAAUngB,EAC9E,CAGAwjC,kBAAkBrjB,GAChB,MAAMsjB,EAAgB/H,GAAS5d,KAAKukB,aAAa3mC,IAAI,IAAIggC,EAAM5wB,OAAO44B,MAEhE3O,EAAW2G,IACf5d,KAAK4kB,oBAAoBC,gBAAkBjH,EAAM5wB,OAAOlI,UAExDkb,KAAK6lB,SAASF,EAAc/H,GAAO,EAG/BkH,GAAmB9kB,KAAKykB,cAAgB3+B,SAASC,iBAAiBmG,UAClE45B,EAAkBhB,GAAmB9kB,KAAK4kB,oBAAoBE,gBACpE9kB,KAAK4kB,oBAAoBE,gBAAkBA,EAE3C,IAAK,MAAMlH,KAASvb,EAAS,CAC3B,IAAKub,EAAMmI,eAAgB,CACzB/lB,KAAK0kB,cAAgB,KAErB1kB,KAAKgmB,kBAAkBL,EAAc/H,IAErC,QACF,CAEA,MAAMqI,EAA2BrI,EAAM5wB,OAAOlI,WAAakb,KAAK4kB,oBAAoBC,gBAEpF,GAAIiB,GAAmBG,GAGrB,GAFAhP,EAAS2G,IAEJkH,EACH,YAOCgB,GAAoBG,GACvBhP,EAAS2G,EAEb,CACF,CAEAoH,mCACEhlB,KAAKukB,aAAe,IAAI5yB,IACxBqO,KAAKwkB,oBAAsB,IAAI7yB,IAC/B,MAAMu0B,EAAcjf,GAAerU,KAAKkxB,GAAuB9jB,KAAKqF,QAAQrY,QAE5E,IAAK,MAAMm5B,KAAUD,EAAa,CAEhC,IAAKC,EAAOz6B,MAAQ2P,GAAW8qB,GAC7B,SAGF,MAAMb,EAAoBre,GAAeC,QAAQif,EAAOz6B,KAAMsU,KAAKoF,UAE/DtK,GAAUwqB,KACZtlB,KAAKukB,aAAa/xB,IAAI2zB,EAAOz6B,KAAMy6B,GAEnCnmB,KAAKwkB,oBAAoBhyB,IAAI2zB,EAAOz6B,KAAM45B,GAE9C,CACF,CAEAO,SAAS74B,GACHgT,KAAK0kB,gBAAkB13B,IAI3BgT,KAAKgmB,kBAAkBhmB,KAAKqF,QAAQrY,QAEpCgT,KAAK0kB,cAAgB13B,EACrBA,EAAOwO,UAAUtE,IAAI2sB,IAErB7jB,KAAKomB,iBAAiBp5B,GAEtBuT,GAAakB,QAAQzB,KAAKoF,SAAUse,GAAgB,CAClD5jB,cAAe9S,IAEnB,CAEAo5B,iBAAiBp5B,GAEf,GAAIA,EAAOwO,UAAUvW,SAzNQ,iBA0N3BgiB,GAAeC,QAhNc,mBAgNsBla,EAAOmO,QAjNtC,cAiNkEK,UAAUtE,IAAI2sB,SAItG,IAAK,MAAMwC,KAAapf,GAAeI,QAAQra,EA1NnB,qBA6N1B,IAAK,MAAMxJ,KAAQyjB,GAAeM,KAAK8e,EAAWrC,IAChDxgC,EAAKgY,UAAUtE,IAAI2sB,GAGzB,CAEAmC,kBAAkB9gC,GAChBA,EAAOsW,UAAUuH,OAAO8gB,IACxB,MAAMyC,EAAcrf,GAAerU,KAAK,GAAGkxB,MAAyBD,KAAuB3+B,GAE3F,IAAK,MAAM9E,KAAQkmC,EACjBlmC,EAAKob,UAAUuH,OAAO8gB,GAE1B,CAGAhe,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAOw5B,GAAUje,oBAAoBrG,KAAMqE,GAEjD,GAAsB,iBAAXA,EAAX,CAIA,QAAqB7K,IAAjB1O,EAAKuZ,IAAyBA,EAAOlK,WAAW,MAAmB,gBAAXkK,EAC1D,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IANL,CAOF,GACF,EAQF9D,GAAaY,GAAG9gB,OAAQujC,IAAuB,KAC7C,IAAK,MAAM2C,KAAOtf,GAAerU,KAtQT,0BAuQtB0xB,GAAUje,oBAAoBkgB,EAChC,IAMFlqB,GAAmBioB,IAYnB,MAEMkC,GAAc,UACdC,GAAe,OAAOD,KACtBE,GAAiB,SAASF,KAC1BG,GAAe,OAAOH,KACtBI,GAAgB,QAAQJ,KACxBK,GAAuB,QAAQL,KAC/BM,GAAgB,UAAUN,KAC1BO,GAAsB,OAAOP,KAC7BQ,GAAiB,YACjBC,GAAkB,aAClBC,GAAe,UACfC,GAAiB,YACjBC,GAAoB,SACpBC,GAAoB,OACpBC,GAAoB,OAIpBC,GAA+B,yBAI/BC,GAAuB,2EAEvBC,GAAsB,YAHOF,uBAAiDA,mBAA6CA,OAG/EC,KAC5CE,GAA8B,IAAIN,8BAA6CA,+BAA8CA,4BAKnI,MAAMO,WAAYziB,GAChBR,YAAY1kB,GACVmlB,MAAMnlB,GACNggB,KAAKqS,QAAUrS,KAAKoF,SAASjK,QAdN,uCAgBlB6E,KAAKqS,UAMVrS,KAAK4nB,sBAAsB5nB,KAAKqS,QAASrS,KAAK6nB,gBAE9CtnB,GAAaY,GAAGnB,KAAKoF,SAAU0hB,IAAe1nB,GAASY,KAAK4M,SAASxN,KACvE,CAGW3C,kBACT,MAlDW,KAmDb,CAGAoT,OAEE,MAAMiY,EAAY9nB,KAAKoF,SAEvB,GAAIpF,KAAK+nB,cAAcD,GACrB,OAIF,MAAME,EAAShoB,KAAKioB,iBAEdC,EAAYF,EAASznB,GAAakB,QAAQumB,EAAQvB,GAAc,CACpE3mB,cAAegoB,IACZ,KACavnB,GAAakB,QAAQqmB,EAAWnB,GAAc,CAC9D7mB,cAAekoB,IAGHnmB,kBAAoBqmB,GAAaA,EAAUrmB,mBAIzD7B,KAAKmoB,YAAYH,EAAQF,GAEzB9nB,KAAKooB,UAAUN,EAAWE,GAC5B,CAGAI,UAAUpoC,EAASqoC,GACZroC,IAILA,EAAQwb,UAAUtE,IAAIkwB,IAEtBpnB,KAAKooB,UAAU9tB,GAAuBta,IAmBtCggB,KAAK2F,gBAhBY,KACsB,QAAjC3lB,EAAQga,aAAa,SAKzBha,EAAQ4B,gBAAgB,YACxB5B,EAAQ6B,aAAa,iBAAiB,GAEtCme,KAAKsoB,gBAAgBtoC,GAAS,GAE9BugB,GAAakB,QAAQzhB,EAAS4mC,GAAe,CAC3C9mB,cAAeuoB,KAVfroC,EAAQwb,UAAUtE,IAAIowB,GAWtB,GAG0BtnC,EAASA,EAAQwb,UAAUvW,SAASoiC,KACpE,CAEAc,YAAYnoC,EAASqoC,GACdroC,IAILA,EAAQwb,UAAUuH,OAAOqkB,IACzBpnC,EAAQ+6B,OAER/a,KAAKmoB,YAAY7tB,GAAuBta,IAmBxCggB,KAAK2F,gBAhBY,KACsB,QAAjC3lB,EAAQga,aAAa,SAKzBha,EAAQ6B,aAAa,iBAAiB,GACtC7B,EAAQ6B,aAAa,WAAY,MAEjCme,KAAKsoB,gBAAgBtoC,GAAS,GAE9BugB,GAAakB,QAAQzhB,EAAS0mC,GAAgB,CAC5C5mB,cAAeuoB,KAVfroC,EAAQwb,UAAUuH,OAAOukB,GAWzB,GAG0BtnC,EAASA,EAAQwb,UAAUvW,SAASoiC,KACpE,CAEAza,SAASxN,GACP,IAAK,CAAC4nB,GAAgBC,GAAiBC,GAAcC,IAAgBjtB,SAASkF,EAAM7hB,KAClF,OAGF6hB,EAAMyU,kBAENzU,EAAM+C,iBACN,MAAMoL,EAAS,CAAC0Z,GAAiBE,IAAgBjtB,SAASkF,EAAM7hB,KAC1DgrC,EAAoBzqB,GAAqBkC,KAAK6nB,eAAejhC,QAAO5G,IAAYqb,GAAWrb,KAAWof,EAAMpS,OAAQugB,GAAQ,GAE9Hgb,IACFA,EAAkB7V,MAAM,CACtB8V,eAAe,IAEjBb,GAAIthB,oBAAoBkiB,GAAmB1Y,OAE/C,CAEAgY,eAEE,OAAO5gB,GAAerU,KAAK60B,GAAqBznB,KAAKqS,QACvD,CAEA4V,iBACE,OAAOjoB,KAAK6nB,eAAej1B,MAAKzN,GAAS6a,KAAK+nB,cAAc5iC,MAAW,IACzE,CAEAyiC,sBAAsB1iC,EAAQiiB,GAC5BnH,KAAKyoB,yBAAyBvjC,EAAQ,OAAQ,WAE9C,IAAK,MAAMC,KAASgiB,EAClBnH,KAAK0oB,6BAA6BvjC,EAEtC,CAEAujC,6BAA6BvjC,GAC3BA,EAAQ6a,KAAK2oB,iBAAiBxjC,GAE9B,MAAMyjC,EAAW5oB,KAAK+nB,cAAc5iC,GAE9B0jC,EAAY7oB,KAAK8oB,iBAAiB3jC,GAExCA,EAAMtD,aAAa,gBAAiB+mC,GAEhCC,IAAc1jC,GAChB6a,KAAKyoB,yBAAyBI,EAAW,OAAQ,gBAG9CD,GACHzjC,EAAMtD,aAAa,WAAY,MAGjCme,KAAKyoB,yBAAyBtjC,EAAO,OAAQ,OAG7C6a,KAAK+oB,mCAAmC5jC,EAC1C,CAEA4jC,mCAAmC5jC,GACjC,MAAM6H,EAASsN,GAAuBnV,GAEjC6H,IAILgT,KAAKyoB,yBAAyBz7B,EAAQ,OAAQ,YAE1C7H,EAAMygC,IACR5lB,KAAKyoB,yBAAyBz7B,EAAQ,kBAAmB,IAAI7H,EAAMygC,MAEvE,CAEA0C,gBAAgBtoC,EAASgpC,GACvB,MAAMH,EAAY7oB,KAAK8oB,iBAAiB9oC,GAExC,IAAK6oC,EAAUrtB,UAAUvW,SAxMN,YAyMjB,OAGF,MAAM8hB,EAAS,CAAChN,EAAU2b,KACxB,MAAM11B,EAAUinB,GAAeC,QAAQnN,EAAU8uB,GAE7C7oC,GACFA,EAAQwb,UAAUuL,OAAO2O,EAAWsT,EACtC,EAGFjiB,EAnN6B,mBAmNIqgB,IACjCrgB,EAnN2B,iBAmNIugB,IAC/BuB,EAAUhnC,aAAa,gBAAiBmnC,EAC1C,CAEAP,yBAAyBzoC,EAASwC,EAAWpE,GACtC4B,EAAQ0b,aAAalZ,IACxBxC,EAAQ6B,aAAaW,EAAWpE,EAEpC,CAEA2pC,cAAczY,GACZ,OAAOA,EAAK9T,UAAUvW,SAASmiC,GACjC,CAGAuB,iBAAiBrZ,GACf,OAAOA,EAAKlI,QAAQqgB,IAAuBnY,EAAOrI,GAAeC,QAAQugB,GAAqBnY,EAChG,CAGAwZ,iBAAiBxZ,GACf,OAAOA,EAAKnU,QArOO,gCAqOoBmU,CACzC,CAGAzJ,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAO68B,GAAIthB,oBAAoBrG,MAErC,GAAsB,iBAAXqE,EAAX,CAIA,QAAqB7K,IAAjB1O,EAAKuZ,IAAyBA,EAAOlK,WAAW,MAAmB,gBAAXkK,EAC1D,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,IANL,CAOF,GACF,EAQF9D,GAAaY,GAAGrb,SAAU+gC,GAAsBW,IAAsB,SAAUpoB,GAC1E,CAAC,IAAK,QAAQlF,SAAS8F,KAAKoG,UAC9BhH,EAAM+C,iBAGJ9G,GAAW2E,OAIf2nB,GAAIthB,oBAAoBrG,MAAM6P,MAChC,IAKAtP,GAAaY,GAAG9gB,OAAQ0mC,IAAqB,KAC3C,IAAK,MAAM/mC,KAAWinB,GAAerU,KAAK80B,IACxCC,GAAIthB,oBAAoBrmB,EAC1B,IAMFqc,GAAmBsrB,IAYnB,MAEMniB,GAAY,YACZyjB,GAAkB,YAAYzjB,KAC9B0jB,GAAiB,WAAW1jB,KAC5B2jB,GAAgB,UAAU3jB,KAC1B4jB,GAAiB,WAAW5jB,KAC5B6jB,GAAa,OAAO7jB,KACpB8jB,GAAe,SAAS9jB,KACxB+jB,GAAa,OAAO/jB,KACpBgkB,GAAc,QAAQhkB,KAEtBikB,GAAkB,OAElBC,GAAkB,OAClBC,GAAqB,UACrBzlB,GAAc,CAClBkc,UAAW,UACXwJ,SAAU,UACVrJ,MAAO,UAEHtc,GAAU,CACdmc,WAAW,EACXwJ,UAAU,EACVrJ,MAAO,KAMT,MAAMsJ,WAAc3kB,GAClBR,YAAY1kB,EAASqkB,GACnBc,MAAMnlB,EAASqkB,GACfrE,KAAK4gB,SAAW,KAChB5gB,KAAK8pB,sBAAuB,EAC5B9pB,KAAK+pB,yBAA0B,EAE/B/pB,KAAKkhB,eACP,CAGWjd,qBACT,OAAOA,EACT,CAEWC,yBACT,OAAOA,EACT,CAEWzH,kBACT,MAlDS,OAmDX,CAGAoT,OACoBtP,GAAakB,QAAQzB,KAAKoF,SAAUmkB,IAExC1nB,mBAId7B,KAAKgqB,gBAEDhqB,KAAKqF,QAAQ+a,WACfpgB,KAAKoF,SAAS5J,UAAUtE,IArDN,QAgEpB8I,KAAKoF,SAAS5J,UAAUuH,OAAO0mB,IAG/B1tB,GAAOiE,KAAKoF,UAEZpF,KAAKoF,SAAS5J,UAAUtE,IAAIwyB,GAAiBC,IAE7C3pB,KAAK2F,gBAfY,KACf3F,KAAKoF,SAAS5J,UAAUuH,OAAO4mB,IAE/BppB,GAAakB,QAAQzB,KAAKoF,SAAUokB,IAEpCxpB,KAAKiqB,oBAAoB,GAUGjqB,KAAKoF,SAAUpF,KAAKqF,QAAQ+a,WAC5D,CAEAxQ,OACO5P,KAAKkqB,YAIQ3pB,GAAakB,QAAQzB,KAAKoF,SAAUikB,IAExCxnB,mBAad7B,KAAKoF,SAAS5J,UAAUtE,IAAIyyB,IAE5B3pB,KAAK2F,gBAXY,KACf3F,KAAKoF,SAAS5J,UAAUtE,IAAIuyB,IAG5BzpB,KAAKoF,SAAS5J,UAAUuH,OAAO4mB,GAAoBD,IAEnDnpB,GAAakB,QAAQzB,KAAKoF,SAAUkkB,GAAa,GAKrBtpB,KAAKoF,SAAUpF,KAAKqF,QAAQ+a,YAC5D,CAEA7a,UACEvF,KAAKgqB,gBAEDhqB,KAAKkqB,WACPlqB,KAAKoF,SAAS5J,UAAUuH,OAAO2mB,IAGjCvkB,MAAMI,SACR,CAEA2kB,UACE,OAAOlqB,KAAKoF,SAAS5J,UAAUvW,SAASykC,GAC1C,CAGAO,qBACOjqB,KAAKqF,QAAQukB,WAId5pB,KAAK8pB,sBAAwB9pB,KAAK+pB,0BAItC/pB,KAAK4gB,SAAW/iB,YAAW,KACzBmC,KAAK4P,MAAM,GACV5P,KAAKqF,QAAQkb,QAClB,CAEA4J,eAAe/qB,EAAOgrB,GACpB,OAAQhrB,EAAMqB,MACZ,IAAK,YACL,IAAK,WAEDT,KAAK8pB,qBAAuBM,EAC5B,MAGJ,IAAK,UACL,IAAK,WAEDpqB,KAAK+pB,wBAA0BK,EAKrC,GAAIA,EAGF,YAFApqB,KAAKgqB,gBAKP,MAAMxc,EAAcpO,EAAMU,cAEtBE,KAAKoF,WAAaoI,GAAexN,KAAKoF,SAASngB,SAASuoB,IAI5DxN,KAAKiqB,oBACP,CAEA/I,gBACE3gB,GAAaY,GAAGnB,KAAKoF,SAAU6jB,IAAiB7pB,GAASY,KAAKmqB,eAAe/qB,GAAO,KACpFmB,GAAaY,GAAGnB,KAAKoF,SAAU8jB,IAAgB9pB,GAASY,KAAKmqB,eAAe/qB,GAAO,KACnFmB,GAAaY,GAAGnB,KAAKoF,SAAU+jB,IAAe/pB,GAASY,KAAKmqB,eAAe/qB,GAAO,KAClFmB,GAAaY,GAAGnB,KAAKoF,SAAUgkB,IAAgBhqB,GAASY,KAAKmqB,eAAe/qB,GAAO,IACrF,CAEA4qB,gBACE/c,aAAajN,KAAK4gB,UAClB5gB,KAAK4gB,SAAW,IAClB,CAGA/a,uBAAuBxB,GACrB,OAAOrE,KAAK4G,MAAK,WACf,MAAM9b,EAAO++B,GAAMxjB,oBAAoBrG,KAAMqE,GAE7C,GAAsB,iBAAXA,EAAqB,CAC9B,QAA4B,IAAjBvZ,EAAKuZ,GACd,MAAM,IAAIW,UAAU,oBAAoBX,MAG1CvZ,EAAKuZ,GAAQrE,KACf,CACF,GACF,ECxjKK,SAASqqB,GAAc9tB,GACD,WAAvBzW,SAASgX,WAAyBP,IACjCzW,SAASyF,iBAAiB,mBAAoBgR,EACrD,CD6jKAyJ,GAAqB6jB,IAKrBxtB,GAAmBwtB,IEzhKnBQ,IAvCA,WAC2B,GAAGx3B,MAAM5U,KAChC6H,SAASsa,iBAAiB,+BAET7c,KAAI,SAAU+mC,GAC/B,OAAO,IAAI5J,GAAQ4J,EAAkB,CAAE/J,MAAO,CAAE1Q,KAAM,IAAKD,KAAM,MACnE,GACF,IAiCAya,IA5BA,WACYvkC,SAAS08B,eAAe,mBAC9Bj3B,iBAAiB,SAAS,WAC5BzF,SAAS6G,KAAKT,UAAY,EAC1BpG,SAASC,gBAAgBmG,UAAY,CACvC,GACF,IAuBAm+B,IArBA,WACE,IAAIE,EAAMzkC,SAAS08B,eAAe,mBAC9BgI,EAAS1kC,SACV2kC,uBAAuB,aAAa,GACpC1mC,wBACH1D,OAAOkL,iBAAiB,UAAU,WAC5ByU,KAAK0qB,UAAY1qB,KAAK2qB,SAAW3qB,KAAK2qB,QAAUH,EAAOnsC,OACzDksC,EAAI/oC,MAAMwwB,QAAU,QAEpBuY,EAAI/oC,MAAMwwB,QAAU,OAEtBhS,KAAK0qB,UAAY1qB,KAAK2qB,OACxB,GACF","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.2.3 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)\n\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n/**\n * Public Util API\n */\n\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n\n return prefix;\n};\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n } // Just in case some CMS puts out a full URL with the anchor appended\n\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n\n return selector;\n};\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element);\n\n if (selector) {\n return document.querySelector(selector) ? selector : null;\n }\n\n return null;\n};\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element);\n return selector ? document.querySelector(selector) : null;\n};\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n\n return typeof object.nodeType !== 'undefined';\n};\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object);\n }\n\n return null;\n};\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed\n\n const closedDetails = element.closest('details:not([open])');\n\n if (!closedDetails) {\n return elementIsVisible;\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n\n if (summary === null) {\n return false;\n }\n }\n\n return elementIsVisible;\n};\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n\n if (element.classList.contains('disabled')) {\n return true;\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return findShadowRoot(element.parentNode);\n};\n\nconst noop = () => {};\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\n\n\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n\n return null;\n};\n\nconst DOMContentLoadedCallbacks = [];\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\n\nconst isRTL = () => document.documentElement.dir === 'rtl';\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback();\n }\n};\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\n\n\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement); // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n\n index += shouldGetNext ? 1 : -1;\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\n\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n\n return fn.apply(element, [event]);\n };\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n\n hydrateObj(event, {\n delegateTarget: target\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n\n return fn.apply(target, [event]);\n }\n }\n };\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check\n\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n\n return [isDelegated, callable, typeEvent];\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n\n callable = wrapFunction(callable);\n }\n\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n\n if (!fn) {\n return;\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n\n for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n\n for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n\n let evt = new Event(event, {\n bubbles,\n cancelable: true\n });\n evt = hydrateObj(evt, args);\n\n if (defaultPrevented) {\n evt.preventDefault();\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n\n return evt;\n }\n\n};\n\nfunction hydrateObj(obj, meta) {\n for (const [key, value] of Object.entries(meta || {})) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n\n get() {\n return value;\n }\n\n });\n }\n }\n\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n\n const instanceMap = elementMap.get(element); // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n\n instanceMap.set(key, instance);\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n\n return null;\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key); // free up element references if there are no instances left for an element\n\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n if (value === Number(value).toString()) {\n return Number(value);\n }\n\n if (value === '' || value === 'null') {\n return null;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n\n return attributes;\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n\n static get DefaultType() {\n return {};\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n return config;\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return { ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const property of Object.keys(configTypes)) {\n const expectedTypes = configTypes[property];\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst VERSION = '5.2.3';\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n\n if (!element) {\n return;\n }\n\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n } // Public\n\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n } // Static\n\n\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n\n static get VERSION() {\n return VERSION;\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n } // Public\n\n\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n\n if (closeEvent.defaultPrevented) {\n return;\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n } // Private\n\n\n _destroyElement() {\n this._element.remove();\n\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](this);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nenableDismissTrigger(Alert, 'close');\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n } // Public\n\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n\n return parents;\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling;\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n\n previous = previous.previousElementSibling;\n }\n\n return [];\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n\n next = next.nextElementSibling;\n }\n\n return [];\n },\n\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n\n if (!element || !Swipe.isSupported()) {\n return;\n }\n\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n\n this._initEvents();\n } // Getters\n\n\n static get Default() {\n return Default$c;\n }\n\n static get DefaultType() {\n return DefaultType$c;\n }\n\n static get NAME() {\n return NAME$d;\n } // Public\n\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n } // Private\n\n\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n\n this._handleSwipe();\n\n execute(this._config.endCallback);\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n\n if (!direction) {\n return;\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n } // Static\n\n\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n\n this._addEventListeners();\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$b;\n }\n\n static get DefaultType() {\n return DefaultType$b;\n }\n\n static get NAME() {\n return NAME$c;\n } // Public\n\n\n next() {\n this._slide(ORDER_NEXT);\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n\n prev() {\n this._slide(ORDER_PREV);\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n\n this._clearInterval();\n }\n\n cycle() {\n this._clearInterval();\n\n this._updateInterval();\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n\n this.cycle();\n }\n\n to(index) {\n const items = this._getItems();\n\n if (index > items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n\n const activeIndex = this._getItemIndex(this._getActive());\n\n if (activeIndex === index) {\n return;\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n\n this._slide(order, items[index]);\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n } // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n\n this.pause();\n\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n const direction = KEY_TO_DIRECTION[event.key];\n\n if (direction) {\n event.preventDefault();\n\n this._slide(this._directionToOrder(direction));\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n\n if (!element) {\n return;\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n\n const activeElement = this._getActive();\n\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n\n if (nextElement === activeElement) {\n return;\n }\n\n const nextElementIndex = this._getItemIndex(nextElement);\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n\n const slideEvent = triggerEvent(EVENT_SLIDE);\n\n if (slideEvent.defaultPrevented) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return;\n }\n\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n\n this._setActiveIndicatorElement(nextElementIndex);\n\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n\n if (isCycling) {\n this.cycle();\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = getElementFromSelector(this);\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n\n if (slideIndex) {\n carousel.to(slideIndex);\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n carousel.prev();\n\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n\n for (const elem of toggleList) {\n const selector = getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n\n this._initializeChildren();\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$a;\n }\n\n static get DefaultType() {\n return DefaultType$a;\n }\n\n static get NAME() {\n return NAME$b;\n } // Public\n\n\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n\n let activeChildren = []; // find active children\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n\n const dimension = this._getDimension();\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.style[dimension] = 0;\n\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n\n this._queueCallback(complete, this._element, true);\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n const dimension = this._getDimension();\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n for (const trigger of this._triggerArray) {\n const element = getElementFromSelector(trigger);\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n\n this._element.style[dimension] = '';\n\n this._queueCallback(complete, this._element, true);\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n } // Private\n\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n config.parent = getElement(config.parent);\n return config;\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n\n for (const element of children) {\n const selected = getElementFromSelector(element);\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth\n\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n } // Static\n\n\n static jQueryInterface(config) {\n const _config = {};\n\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n const selector = getSelectorFromElement(this);\n const selectorElements = SelectorEngine.find(selector);\n\n for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n } // Getters\n\n\n static get Default() {\n return Default$9;\n }\n\n static get DefaultType() {\n return DefaultType$9;\n }\n\n static get NAME() {\n return NAME$a;\n } // Public\n\n\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._createPopper(); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n\n this._element.classList.add(CLASS_NAME_SHOW$6);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n\n this._completeHide(relatedTarget);\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n\n super.dispose();\n }\n\n update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper) {\n this._popper.update();\n }\n } // Private\n\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n\n if (hideEvent.defaultPrevented) {\n return;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.setAttribute('aria-expanded', 'false');\n\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n\n _getConfig(config) {\n config = super._getConfig(config);\n\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n\n return config;\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n let referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n\n const popperConfig = this._getPopperConfig();\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n\n _getPlacement() {\n const parentDropdown = this._parent;\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n } // We need to trim the value because custom properties can also include spaces\n\n\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }; // Disable Popper if we have a static display or Dropdown is in Navbar\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove\n\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n\n if (!items.length) {\n return;\n } // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n\n if (!context || context._config.autoClose === false) {\n continue;\n }\n\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n\n\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n };\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n context._completeHide(relatedTarget);\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n\n if (isInput && !isEscapeEvent) {\n return;\n }\n\n event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n\n instance._selectMenuItem(event);\n\n return;\n }\n\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n } // Public\n\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n\n hide() {\n const width = this.getWidth();\n\n this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n\n\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n\n\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n\n isOverflowing() {\n return this.getWidth() > 0;\n } // Private\n\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n\n this._element.style.overflow = 'hidden';\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n\n this._saveInitialAttribute(element, styleProperty);\n\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero\n\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n } // Getters\n\n\n static get Default() {\n return Default$8;\n }\n\n static get DefaultType() {\n return DefaultType$8;\n }\n\n static get NAME() {\n return NAME$9;\n } // Public\n\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._append();\n\n const element = this._getElement();\n\n if (this._config.isAnimated) {\n reflow(element);\n }\n\n element.classList.add(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n\n dispose() {\n if (!this._isAppended) {\n return;\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n\n this._element.remove();\n\n this._isAppended = false;\n } // Private\n\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n\n this._element = backdrop;\n }\n\n return this._element;\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n\n _append() {\n if (this._isAppended) {\n return;\n }\n\n const element = this._getElement();\n\n this._config.rootElement.append(element);\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n } // Getters\n\n\n static get Default() {\n return Default$7;\n }\n\n static get DefaultType() {\n return DefaultType$7;\n }\n\n static get NAME() {\n return NAME$8;\n } // Public\n\n\n activate() {\n if (this._isActive) {\n return;\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n\n deactivate() {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n } // Private\n\n\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement);\n\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$6;\n }\n\n static get DefaultType() {\n return DefaultType$6;\n }\n\n static get NAME() {\n return NAME$7;\n } // Public\n\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n this._isTransitioning = true;\n\n this._scrollBar.hide();\n\n document.body.classList.add(CLASS_NAME_OPEN);\n\n this._adjustDialog();\n\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = false;\n this._isTransitioning = true;\n\n this._focustrap.deactivate();\n\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY$4);\n }\n\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n }\n\n handleUpdate() {\n this._adjustDialog();\n } // Private\n\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW$4);\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n\n if (this._config.keyboard) {\n event.preventDefault();\n this.hide();\n return;\n }\n\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n\n return;\n }\n\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n\n _hideModal() {\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n\n this._resetAdjustments();\n\n this._scrollBar.reset();\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed\n\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n\n this._element.focus();\n }\n /**\n * The following methods are used to handle overflowing modals\n */\n\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n const scrollbarWidth = this._scrollBar.getWidth();\n\n const isBodyOverflowing = scrollbarWidth > 0;\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n } // Static\n\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](relatedTarget);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n }); // avoid conflict when clicking modal toggler while another one is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$5;\n }\n\n static get DefaultType() {\n return DefaultType$5;\n }\n\n static get NAME() {\n return NAME$6;\n } // Public\n\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n\n this._backdrop.show();\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n\n this._element.classList.add(CLASS_NAME_SHOW$3);\n\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n\n this._queueCallback(completeCallBack, this._element, true);\n }\n\n hide() {\n if (!this._isShown) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._focustrap.deactivate();\n\n this._element.blur();\n\n this._isShown = false;\n\n this._element.classList.add(CLASS_NAME_HIDING);\n\n this._backdrop.hide();\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n\n this._queueCallback(completeCallback, this._element, true);\n }\n\n dispose() {\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n } // Private\n\n\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n }; // 'static' option will be translated to true, and booleans will keep their value\n\n\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n });\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](this);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));\n }\n\n return true;\n } // Check if a regular expression validates the attribute.\n\n\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\n\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n } // Getters\n\n\n static get Default() {\n return Default$4;\n }\n\n static get DefaultType() {\n return DefaultType$4;\n }\n\n static get NAME() {\n return NAME$5;\n } // Public\n\n\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n\n hasContent() {\n return this.getContent().length > 0;\n }\n\n changeContent(content) {\n this._checkContent(content);\n\n this._config.content = { ...this._config.content,\n ...content\n };\n return this;\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n\n const template = templateWrapper.children[0];\n\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n\n return template;\n } // Private\n\n\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n\n this._checkContent(config.content);\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n\n if (!templateElement) {\n return;\n }\n\n content = this._resolvePossibleFunction(content);\n\n if (!content) {\n templateElement.remove();\n return;\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n\n return;\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n\n templateElement.textContent = content;\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg(this) : arg;\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n\n templateElement.textContent = element.textContent;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 0],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n\n super(element, config); // Private\n\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null; // Protected\n\n this.tip = null;\n\n this._setListeners();\n\n if (!this._config.selector) {\n this._fixTitle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$3;\n }\n\n static get DefaultType() {\n return DefaultType$3;\n }\n\n static get NAME() {\n return NAME$4;\n } // Public\n\n\n enable() {\n this._isEnabled = true;\n }\n\n disable() {\n this._isEnabled = false;\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n\n this._activeTrigger.click = !this._activeTrigger.click;\n\n if (this._isShown()) {\n this._leave();\n\n return;\n }\n\n this._enter();\n }\n\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n\n this._disposePopper();\n\n super.dispose();\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n } // todo v6 remove this OR make it optional\n\n\n this._disposePopper();\n\n const tip = this._getTipElement();\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n\n const {\n container\n } = this._config;\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n\n if (this._isHovered === false) {\n this._leave();\n }\n\n this._isHovered = false;\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n hide() {\n if (!this._isShown()) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const tip = this._getTipElement();\n\n tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n if (!this._isHovered) {\n this._disposePopper();\n }\n\n this._element.removeAttribute('aria-describedby');\n\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n update() {\n if (this._popper) {\n this._popper.update();\n }\n } // Protected\n\n\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n\n return this.tip;\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6\n\n\n if (!tip) {\n return null;\n }\n\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only\n\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n\n return tip;\n }\n\n setContent(content) {\n this._newContent = content;\n\n if (this._isShown()) {\n this._disposePopper();\n\n this.show();\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({ ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n\n return this._templateFactory;\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n } // Private\n\n\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n\n _createPopper(tip) {\n const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg.call(this._element) : arg;\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n\n context._leave();\n });\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title');\n\n if (!title) {\n return;\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n\n\n this._element.removeAttribute('title');\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n\n this._isHovered = true;\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n this._isHovered = false;\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n\n config = { ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n return config;\n }\n\n _getDelegateConfig() {\n const config = {};\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n }\n\n config.selector = false;\n config.trigger = 'manual'; // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n\n return config;\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = { ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = { ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n\n static get DefaultType() {\n return DefaultType$2;\n }\n\n static get NAME() {\n return NAME$3;\n } // Overrides\n\n\n _isWithContent() {\n return this._getTitle() || this._getContent();\n } // Private\n\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper\n\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n } // Getters\n\n\n static get Default() {\n return Default$1;\n }\n\n static get DefaultType() {\n return DefaultType$1;\n }\n\n static get NAME() {\n return NAME$2;\n } // Public\n\n\n refresh() {\n this._initializeTargetsAndObservables();\n\n this._maybeEnableSmoothScroll();\n\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n\n dispose() {\n this._observer.disconnect();\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n\n return config;\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n } // unregister any previous listeners\n\n\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n } // Chrome 60 doesn't support `scrollTo`\n\n\n root.scrollTop = height;\n }\n });\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n } // The logic of selection\n\n\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n\n this._process(targetElement(entry));\n };\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n\n this._clearActiveClass(targetElement(entry));\n\n continue;\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop\n\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n\n if (!parentScrollTop) {\n return;\n }\n\n continue;\n } // if we are scrolling up, pick the smallest offsetTop\n\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n\n const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible\n\n if (isVisible(observableSection)) {\n this._targetLinks.set(anchor.hash, anchor);\n\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n\n this._clearActiveClass(this._config.target);\n\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n\n this._activateParents(target);\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
@@ -573,8 +575,8 @@

wfl

- - + +
diff --git a/objects.inv b/objects.inv index 670d2a95..5f597a81 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/operations.ace_fitting.html b/operations.ace_fitting.html index 275409d5..11ce4d37 100644 --- a/operations.ace_fitting.html +++ b/operations.ace_fitting.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -443,8 +444,8 @@

Fitting ACE - + +
diff --git a/operations.calculators.html b/operations.calculators.html index 2de9e905..f09c6f8d 100644 --- a/operations.calculators.html +++ b/operations.calculators.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -485,8 +486,8 @@

Special calculators - + +
diff --git a/operations.descriptors.html b/operations.descriptors.html index 11eaec47..54f9d697 100644 --- a/operations.descriptors.html +++ b/operations.descriptors.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -434,8 +435,8 @@

Descriptors - + +
diff --git a/operations.fitting.html b/operations.fitting.html index 80c8d867..a0daacfa 100644 --- a/operations.fitting.html +++ b/operations.fitting.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -447,8 +448,8 @@

Fitting potentials

- - + +
diff --git a/operations.gap_fitting.html b/operations.gap_fitting.html index 11cf8c5c..b206ae16 100644 --- a/operations.gap_fitting.html +++ b/operations.gap_fitting.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -478,8 +479,8 @@

Fitting GAP - + +
diff --git a/operations.generate.html b/operations.generate.html index 4c3f13e2..8ca0c6ff 100644 --- a/operations.generate.html +++ b/operations.generate.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -517,8 +518,8 @@

Normal Modes of Molecules - + +
diff --git a/operations.html b/operations.html index cad7ca6d..1630f387 100644 --- a/operations.html +++ b/operations.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -472,8 +473,8 @@

Operations

- - + +
diff --git a/operations.multistage_gap_fitting.html b/operations.multistage_gap_fitting.html index fc7782ed..8e9af394 100644 --- a/operations.multistage_gap_fitting.html +++ b/operations.multistage_gap_fitting.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -532,8 +533,8 @@

Creating configuration file - + +
diff --git a/operations.select.html b/operations.select.html index 2acc1302..95a78dd4 100644 --- a/operations.select.html +++ b/operations.select.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -488,8 +489,8 @@

Simple select - + +
diff --git a/overview.configset.html b/overview.configset.html index 26ba06eb..05835fb5 100644 --- a/overview.configset.html +++ b/overview.configset.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -497,8 +498,8 @@

Internals, for developers - + +
diff --git a/overview.html b/overview.html index 594aef52..7ed6b9f6 100644 --- a/overview.html +++ b/overview.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -442,8 +443,8 @@

Overview

- - + +
diff --git a/overview.overall_design.html b/overview.overall_design.html index 0a01ce98..c7a99e80 100644 --- a/overview.overall_design.html +++ b/overview.overall_design.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -479,8 +480,8 @@

Overall design

- - + +
diff --git a/overview.parallelisation.html b/overview.parallelisation.html index 246e1d13..7dfa160a 100644 --- a/overview.parallelisation.html +++ b/overview.parallelisation.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -567,8 +568,8 @@

Creating auto-parallelized functions - + +
diff --git a/overview.queued.html b/overview.queued.html index 3d5dc71a..a47ccc48 100644 --- a/overview.queued.html +++ b/overview.queued.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -618,8 +619,8 @@

Pytest with remote run example - + +
diff --git a/py-modindex.html b/py-modindex.html index d3ed635b..16933d2a 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -130,13 +130,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -538,6 +539,11 @@

Python Module Index

    wfl.fit.gap.simple + + +     + wfl.fit.mace +     @@ -818,8 +824,8 @@

Python Module Index

- - + +
diff --git a/search.html b/search.html index ae86fd48..07e4661b 100644 --- a/search.html +++ b/search.html @@ -17,12 +17,12 @@ - - - + + + - + @@ -31,9 +31,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -380,8 +381,8 @@

Search

- - + +
diff --git a/searchindex.js b/searchindex.js index 7aa823fd..b277142e 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["attic/command_line", "attic/operations.utils", "command_line.automatic_docs", "examples", "examples.buildcell", "examples.contributions", "examples.daisy_chain_mlip_fitting", "examples.dimers", "examples.fhiaims_calculator", "examples.index", "examples.mace", "examples.md", "examples.mlip_fitting", "examples.normal_modes", "examples.orca_python", "examples.select_fps", "examples.smiles", "first_example", "index", "modules", "operations", "operations.ace_fitting", "operations.calculators", "operations.descriptors", "operations.fitting", "operations.gap_fitting", "operations.generate", "operations.multistage_gap_fitting", "operations.select", "overview", "overview.configset", "overview.overall_design", "overview.parallelisation", "overview.queued", "wfl", "wfl.autoparallelize", "wfl.calculators", "wfl.calculators.orca", "wfl.cli", "wfl.cli.commands", "wfl.descriptors", "wfl.fit", "wfl.fit.gap", "wfl.fit.modify_database", "wfl.generate", "wfl.generate.md_PROTECT", "wfl.select", "wfl.utils", "workflows.rss"], "filenames": ["attic/command_line.rst", "attic/operations.utils.md", "command_line.automatic_docs.rst", "examples.rst", "examples.buildcell.ipynb", "examples.contributions.md", "examples.daisy_chain_mlip_fitting.ipynb", "examples.dimers.ipynb", "examples.fhiaims_calculator.ipynb", "examples.index.md", "examples.mace.md", "examples.md.md", "examples.mlip_fitting.md", "examples.normal_modes.md", "examples.orca_python.md", "examples.select_fps.ipynb", "examples.smiles.md", "first_example.md", "index.rst", "modules.rst", "operations.rst", "operations.ace_fitting.md", "operations.calculators.md", "operations.descriptors.md", "operations.fitting.rst", "operations.gap_fitting.md", "operations.generate.md", "operations.multistage_gap_fitting.rst", "operations.select.md", "overview.rst", "overview.configset.rst", "overview.overall_design.rst", "overview.parallelisation.rst", "overview.queued.md", "wfl.rst", "wfl.autoparallelize.rst", "wfl.calculators.rst", "wfl.calculators.orca.rst", "wfl.cli.rst", "wfl.cli.commands.rst", "wfl.descriptors.rst", "wfl.fit.rst", "wfl.fit.gap.rst", "wfl.fit.modify_database.rst", "wfl.generate.rst", "wfl.generate.md_PROTECT.rst", "wfl.select.rst", "wfl.utils.rst", "workflows.rss.rst"], "titles": ["Command line interface", "Utility functions", "wfl", "Examples", "Random Structures via buildcell", "Contributing Examples", "GAP fit workflow with many wfl use-case examples", "Generating Dimer Structures", "FHI-Aims Calculator", "Index", "Parallelize MACE calculator", "Molecular Dynamics", "Iterative GAP fitting", "Normal Modes of molecules", "ORCA via Python script", "Selection or Sampling of Structures", "SMILES to Atoms", "First Example", "Welcome to Workflow\u2019s documentation!", "wfl", "Operations", "Fitting ACE", "Calculators in Workflow", "Descriptors", "Fitting potentials", "Fitting GAP", "Generating Atomic Structures", "Multistage GAP fitting", "Selecting Configs", "Overview", "Input and output of atomic structures", "Overall design", "Automatic parallelization of tasks", "Functions as independently queued jobs", "wfl package", "wfl.autoparallelize package", "wfl.calculators package", "wfl.calculators.orca package", "wfl.cli package", "wfl.cli.commands package", "wfl.descriptors package", "wfl.fit package", "wfl.fit.gap package", "wfl.fit.modify_database package", "wfl.generate package", "wfl.generate.md package", "wfl.select package", "wfl.utils package", "How to do GAP-RSS"], "terms": {"descript": [0, 5, 18], "all": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 22, 26, 27, 28, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 47, 48], "cli": [0, 19, 34, 47, 48], "tool": [0, 47], "automat": [0, 15, 17, 18, 21, 29, 33, 34, 36, 40, 41, 44, 45, 46, 48], "gener": [0, 3, 4, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 23, 31, 32, 34, 35, 37, 38, 41, 42, 46, 47, 48], "documment": [0, 17, 21], "function": [0, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 20, 21, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 45], "wfl": [0, 1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 23, 25, 26, 27, 28, 30, 31, 32, 33, 48], "you": [0, 5, 12, 15, 18, 33, 37], "can": [0, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 17, 21, 22, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 45, 46, 48], "perform": [0, 6, 7, 8, 15, 17, 37, 48], "dft": [0, 8, 12, 14, 18, 22, 36], "larg": [0, 14, 15, 44], "set": [0, 4, 6, 7, 8, 10, 11, 12, 15, 17, 18, 21, 22, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 46, 47], "configur": [0, 15, 17, 18, 22, 24, 26, 28, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48], "littl": [0, 1, 33], "effort": 0, "within": [0, 34, 35, 37, 38, 44, 46], "thi": [0, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 17, 20, 21, 25, 26, 27, 30, 31, 32, 33, 34, 35, 37, 38, 42, 43, 44, 45, 46, 47, 48], "workflow": [0, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 30, 31, 33, 41, 48], "packag": [0, 6, 12, 14, 15, 17, 18, 19, 21, 31, 33], "current": [0, 5, 18, 22, 30, 31, 34, 35, 36, 37, 38, 41, 44, 48], "ar": [0, 4, 5, 6, 7, 10, 12, 13, 14, 17, 18, 20, 22, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 47, 48], "implement": [0, 9, 18, 22, 30, 31, 32, 36, 37, 42, 44, 45, 48], "There": [0, 17, 18, 31, 32], "exampl": [0, 4, 7, 8, 9, 12, 13, 14, 15, 18, 21, 22, 23, 25, 26, 30, 32, 34, 36, 37, 41, 45, 48], "document": [0, 3, 6, 12, 26, 30, 32], "few": [0, 13, 15, 48], "thought": 0, "about": [0, 14, 20, 33, 34, 37, 38, 46], "parallel": [0, 3, 6, 8, 9, 11, 13, 16, 17, 18, 19, 20, 23, 25, 29, 31, 33, 34, 35, 36, 37, 40, 44, 45, 46], "involv": [0, 34], "how": [0, 10, 12, 15, 17, 18, 22, 31, 32, 44, 45, 47], "contribut": [0, 3, 18, 40], "other": [0, 12, 25, 30, 32, 33, 34, 35, 36, 37, 41, 42, 46, 47, 48], "code": [0, 2, 3, 5, 8, 10, 12, 18, 20, 26, 32, 33, 35, 41, 48], "us": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 14, 15, 17, 18, 20, 21, 22, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 47, 48], "ref": [0, 2, 41], "method": [0, 6, 11, 13, 28, 30, 36, 37, 38, 44, 45], "eval": [0, 6, 12, 18, 34, 38, 44, 47], "i": [0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "an": [0, 4, 5, 6, 7, 8, 9, 12, 14, 15, 17, 18, 21, 22, 25, 30, 31, 32, 33, 34, 35, 36, 37, 44, 45, 46, 47, 48], "advanc": 0, "evalu": [0, 2, 3, 10, 13, 14, 17, 18, 22, 27, 28, 36, 37, 38, 45, 47, 48], "radic": [0, 37], "basin": [0, 22, 37], "hop": [0, 20, 22, 37], "wavefunct": [0, 14, 22, 37], "space": [0, 25, 28, 34, 37, 42, 46, 47, 48], "howev": [0, 7, 48], "appropri": [0, 2, 4, 10, 13, 17, 27, 32, 41], "behav": 0, "simpl": [0, 6, 7, 9, 19, 20, 25, 30, 32, 33, 34, 41, 43, 47, 48], "do": [0, 2, 5, 27, 31, 32, 33, 35, 36, 37, 38, 41, 46], "one": [0, 6, 9, 12, 15, 17, 25, 27, 30, 31, 32, 34, 37, 40, 42, 45, 46, 47, 48], "per": [0, 2, 6, 11, 15, 17, 18, 25, 27, 28, 32, 33, 35, 37, 38, 40, 41, 42, 44, 46, 47, 48], "structur": [0, 2, 3, 8, 10, 11, 12, 13, 14, 17, 18, 20, 21, 22, 25, 28, 29, 31, 33, 34, 36, 37, 44, 46, 47, 48], "note": [0, 2, 8, 30, 33, 34, 36, 37, 44, 46, 48], "benefit": 0, "from": [0, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 22, 25, 26, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "have": [0, 4, 5, 6, 8, 10, 17, 27, 30, 32, 33, 34, 35, 36, 37, 42, 44, 45, 46, 48], "access": [0, 17, 22, 31, 48], "fast": [0, 13, 36, 37], "storag": [0, 30, 31, 34], "ssd": [0, 37], "scratch": [0, 37, 41], "drive": 0, "specifi": [0, 2, 7, 8, 10, 13, 17, 21, 26, 27, 33, 34, 35, 37, 44, 45, 47, 48], "path": [0, 2, 6, 8, 12, 14, 15, 17, 21, 25, 33, 34, 36, 37, 38, 41, 42, 44, 48], "tmp": 0, "argument": [0, 2, 4, 7, 15, 16, 17, 21, 25, 27, 31, 32, 33, 34, 35, 36, 37, 42, 44, 46, 47], "let": [0, 12, 17, 36, 48], "where": [0, 4, 7, 12, 17, 22, 31, 33, 34, 35, 36, 40, 41, 42, 44, 45, 46, 47, 48], "temporari": [0, 21, 22, 30, 34, 36, 37, 47], "directori": [0, 12, 17, 22, 33, 34, 36, 37, 38, 41, 42, 44, 47, 48], "creat": [0, 2, 6, 11, 12, 15, 17, 24, 25, 26, 33, 34, 35, 36, 37, 40, 42, 44, 45, 47, 48], "onli": [0, 2, 5, 7, 12, 15, 25, 27, 28, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48], "save": [0, 5, 6, 14, 17, 34, 36, 37, 38, 41, 42, 44, 46, 47], "cwd": [0, 17], "fail": [0, 35, 36, 37, 44, 47, 48], "v": [0, 2, 9, 38, 41, 47], "o": [0, 2, 4, 7, 11, 12, 16, 34, 35, 36, 37, 44, 46], "frames_dft": 0, "xyz": [0, 2, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 30, 33, 34, 37, 44, 48], "n": [0, 2, 12, 13, 15, 17, 26, 32, 35, 36, 46, 47], "3": [0, 6, 17, 25, 36, 37, 41, 44, 45, 48], "p": [0, 2, 11, 14, 37, 45, 47], "32": [0, 14, 17, 44], "kw": 0, "n_hop": [0, 37], "15": [0, 33, 48], "structures_in": 0, "singl": [0, 6, 13, 16, 18, 22, 30, 31, 33, 34, 36, 37, 40, 44, 46, 48], "1": [0, 2, 6, 7, 8, 11, 12, 13, 14, 15, 17, 22, 25, 27, 30, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48], "need": [0, 5, 6, 10, 11, 12, 13, 14, 17, 25, 30, 32, 33, 34, 35, 36, 37, 42, 44, 46, 47, 48], "explicitli": 0, "number": [0, 2, 4, 6, 12, 13, 17, 25, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "process": [0, 3, 6, 8, 9, 13, 14, 15, 17, 22, 25, 31, 32, 35, 36, 37, 46, 48], "serial": [0, 35, 48], "unless": [0, 21, 30, 36, 37, 44, 45], "block": [0, 5, 37], "full": [0, 38, 44, 46], "help": [0, 31], "usag": [0, 6, 8], "option": [0, 2, 14, 17, 27, 32, 33, 34, 35, 36, 38, 40, 41, 44, 45, 46, 48], "input": [0, 2, 4, 6, 8, 10, 11, 13, 14, 15, 17, 18, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "output": [0, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47], "file": [0, 2, 3, 6, 7, 8, 10, 12, 13, 14, 15, 17, 20, 21, 24, 25, 30, 31, 33, 34, 35, 36, 37, 38, 41, 42, 44, 47, 48], "text": [0, 5], "requir": [0, 2, 5, 6, 15, 17, 33, 34, 35, 44, 46], "none": [0, 6, 8, 12, 13, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "prefix": [0, 2, 17, 36, 37, 41, 42, 44, 47, 48], "info": [0, 2, 6, 10, 11, 12, 13, 14, 17, 21, 30, 34, 35, 36, 38, 40, 41, 42, 44, 45, 46, 47, 48], "arrai": [0, 2, 6, 10, 13, 14, 17, 36, 37, 38, 40, 41, 42, 44, 46, 47], "result": [0, 2, 12, 17, 22, 30, 35, 36, 37, 41, 42, 43, 47], "base": [0, 2, 4, 12, 19, 20, 21, 28, 32, 33, 34, 36, 37, 38, 41, 42, 44, 45, 47, 48], "rundir": [0, 36, 37, 47], "put": [0, 36, 37, 44], "calc": [0, 2, 6, 11, 12, 13, 17, 34, 36, 41], "kwarg": [0, 6, 8, 10, 22, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "overwritten": 0, "keep": [0, 2, 3, 36, 37, 44, 46, 47, 48], "much": [0, 27, 32, 47, 48], "default": [0, 2, 12, 13, 17, 25, 27, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "nomad": [0, 36, 37], "compat": [0, 22, 41], "subset": [0, 12, 45, 48], "execut": [0, 2, 3, 4, 5, 6, 7, 14, 18, 21, 22, 24, 25, 31, 32, 33, 36, 37, 41, 42, 44, 48], "recommend": [0, 37], "nr": 0, "run": [0, 2, 3, 4, 10, 11, 12, 14, 17, 22, 31, 32, 34, 35, 36, 37, 38, 41, 42, 44, 45, 47, 48], "integ": [0, 32, 35, 40, 48], "global": [0, 2, 6, 9, 12, 15, 20, 22, 23, 27, 33, 35, 40, 41, 44, 45, 46, 48], "optimis": [0, 9, 37, 44], "each": [0, 2, 9, 11, 12, 13, 14, 15, 17, 22, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "frame": [0, 15, 37], "nh": 0, "step": [0, 6, 11, 12, 15, 18, 26, 37, 38, 44, 45], "take": [0, 11, 12, 14, 17, 21, 27, 31, 32, 35, 37, 44, 46, 48], "make": [0, 5, 6, 11, 21, 25, 26, 31, 33, 35, 44, 47, 48], "sure": [0, 5, 36], "correct": [0, 33, 48], "recpb": 0, "test": [0, 3, 6, 25, 38, 48], "addit": [0, 2, 6, 7, 15, 27, 31, 33, 36, 37, 41, 42], "ad": [0, 5, 7, 12, 17, 25, 30, 41, 42, 48], "show": [0, 9, 15], "messag": [0, 35], "exit": [0, 35], "The": [0, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 17, 18, 21, 22, 25, 27, 28, 30, 31, 32, 33, 35, 36, 37, 44, 48], "wrapper": [0, 21, 25, 32], "energi": [0, 6, 8, 10, 12, 14, 17, 18, 21, 22, 27, 28, 36, 37, 38, 41, 42, 44, 47, 48], "forc": [0, 2, 6, 8, 10, 12, 14, 17, 21, 22, 36, 37, 39, 40, 41, 42, 44, 47, 48], "stress": [0, 2, 8, 17, 21, 36, 37, 41, 42, 44], "simpli": 0, "structures_dft": 0, "properti": [0, 2, 6, 8, 10, 12, 14, 17, 28, 34, 36, 37, 38, 41, 47], "includ": [0, 2, 5, 7, 8, 12, 15, 17, 26, 32, 33, 34, 35, 36, 44, 47], "some": [0, 5, 6, 11, 12, 21, 26, 27, 30, 31, 32, 33, 34, 35, 36, 44, 45, 46, 47, 48], "ecut": 0, "500": [0, 6, 8, 11, 37], "xc": [0, 8], "pbesol": 0, "pp": [0, 2, 33, 36], "pseudopotenti": [0, 48], "string": [0, 2, 6, 9, 25, 27, 30, 34, 35, 36, 38, 40, 41, 42, 44, 46, 47, 48], "split": [0, 32, 33, 35], "mpirun": [0, 32, 36], "keyword": [0, 12, 34, 35, 36, 44, 47, 48], "pass": [0, 4, 7, 15, 25, 27, 30, 32, 33, 34, 35, 40, 42, 46, 47, 48], "dict": [0, 27, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "ASE": [0, 16, 17, 18, 22, 26, 31, 32, 33, 36, 37, 41, 44, 45, 47, 48], "": [0, 2, 4, 6, 9, 12, 14, 15, 16, 17, 21, 22, 24, 25, 26, 27, 31, 32, 33, 34, 35, 36, 37, 41, 42, 44, 46, 48], "vasp2": 0, "come": [0, 1, 34, 36, 41], "vasp_command": [0, 33, 48], "vasp_command_gamma": [0, 33, 36, 48], "config": [0, 2, 6, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 43, 44, 45, 46], "atom": [0, 1, 3, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "pbc": [0, 36, 37], "fals": [0, 7, 11, 12, 14, 15, 25, 30, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "wai": [0, 6, 15, 17, 22, 31, 32, 33, 48], "find": [0, 12, 15, 18, 28, 41, 46, 47], "paw": 0, "somewhat": [0, 6, 20, 48], "differ": [0, 2, 11, 13, 15, 27, 30, 32, 33, 37, 40, 41, 44, 45, 46, 48], "normal": [0, 3, 6, 9, 10, 17, 18, 20, 25, 32, 33, 37, 40, 44, 47, 48], "behavior": [0, 30, 33, 45], "vasp_pp_path": [0, 33, 36], "environ": [0, 11, 12, 17, 18, 25, 31, 33, 35, 41, 42], "variabl": [0, 11, 12, 17, 21, 25, 31, 33, 35, 41, 42, 48], "follow": [0, 5, 10, 11, 12, 13, 15, 33, 34, 44, 48], "subdirectori": 0, "which": [0, 2, 6, 7, 12, 15, 17, 21, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 44, 46, 47, 48], "depend": [0, 6, 13, 15, 18, 31, 34, 46], "potcar": [0, 33, 36], "top": [0, 27, 34], "dir": [0, 14, 30, 36], "overrid": [0, 33, 34, 35, 36, 41, 42], "overridden": [0, 33], "rel": [0, 28, 34, 41, 42, 46, 48], "instead": [0, 6, 15, 17, 33, 34, 36, 37, 47], "heurist": [0, 12, 27, 34], "element": [0, 6, 26, 34, 44, 47, 48], "found": [0, 21, 47, 48], "chem_symbol": 0, "below": [0, 4, 6, 7, 9, 12, 14, 25, 26, 28, 31, 32, 33, 34, 41, 42, 47, 48], "whatev": [0, 32], "chosen": 0, "setup": [0, 3, 10, 33], "contain": [0, 2, 3, 5, 7, 11, 12, 14, 17, 18, 26, 27, 31, 32, 33, 34, 35, 36, 41, 42, 45, 46, 47, 48], "suffix": [0, 36, 38], "e": [0, 2, 5, 6, 7, 8, 17, 18, 21, 24, 26, 27, 28, 31, 32, 33, 34, 36, 37, 38, 40, 41, 44, 45, 46, 47, 48], "g": [0, 2, 5, 6, 8, 17, 18, 21, 24, 26, 27, 28, 31, 32, 33, 36, 38, 40, 41, 44, 47, 48], "_pv": 0, "electron": [0, 2, 8, 14], "valenc": 0, "chemic": 0, "symbol": [0, 33, 47], "kei": [0, 2, 6, 8, 15, 25, 27, 30, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48], "yet": [0, 32], "simplest": [0, 5], "paramet": [0, 2, 6, 8, 12, 21, 25, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "incar": [0, 36], "kpoint": [0, 36], "particular": [0, 12, 27, 33, 35], "those": [0, 28, 32, 33, 36, 41], "read": [0, 12, 13, 17, 22, 30, 31, 37, 38, 42, 47, 48], "lile": 0, "encut": [0, 33], "soon": 0, "might": [1, 17, 20, 34, 36, 37], "handi": [1, 48], "find_void": [1, 19, 34], "return": [1, 6, 17, 22, 28, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47], "posit": [1, 2, 6, 33, 34, 35, 36, 37, 44, 46, 47], "voronoi": 1, "center": [1, 27, 46], "distanc": [1, 2, 7, 26, 38, 44, 45, 46, 47], "nearest": 1, "gap_xml_tool": [1, 19, 34], "extract_e0": [1, 34, 47], "give": [1, 17, 26, 35, 47, 48], "valu": [1, 2, 8, 12, 13, 21, 27, 28, 30, 32, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48], "fit": [1, 2, 3, 15, 18, 19, 20, 23, 31, 33, 34, 35, 38, 48], "command": [2, 3, 5, 6, 8, 11, 14, 17, 18, 25, 33, 34, 35, 36, 37, 38, 41, 42, 48], "line": [2, 3, 5, 12, 17, 18, 25, 34, 35, 36, 37, 42, 48], "interfac": [2, 6, 17, 18, 23, 24, 36, 48], "arg": [2, 6, 8, 10, 22, 32, 34, 35, 36, 37, 40, 44, 45, 46, 47], "verbos": [2, 12, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46], "local": [2, 11, 12, 14, 15, 17, 26, 32, 36, 37, 38, 39, 40, 44, 45], "calcul": [2, 3, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 26, 27, 32, 33, 34, 40, 41, 42, 44, 45, 46, 47, 48], "overwrit": [2, 6, 34, 40, 41, 45], "exist": [2, 26, 30, 34, 35, 40, 41, 42, 47], "item": [2, 27, 32, 34, 35, 41], "present": [2, 21, 25, 34, 35, 36, 37, 41, 42, 44, 46], "vector": [2, 12, 15, 38, 40, 44, 46, 47], "configset": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 24, 25, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "ouput": 2, "outputspec": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 44, 45, 46, 47, 48], "print": [2, 6, 12, 13, 14, 35, 36, 41, 42, 44, 45], "summari": [2, 13, 34, 44, 48], "tabl": [2, 3], "cpp": 2, "calc_property_prefix": [2, 6, 41], "predict": [2, 9], "rpp": 2, "ref_property_prefix": [2, 6, 21, 41, 42], "taken": [2, 34, 38, 47], "refer": [2, 3, 9, 12, 13, 27, 30, 35, 38, 41, 42, 48], "cp": 2, "config_properti": [2, 6, 41], "multipl": [2, 10, 13, 14, 17, 18, 22, 26, 27, 30, 33, 34, 37, 40, 44, 46, 48], "comput": [2, 17, 33, 38, 41, 45, 46, 47], "virial": [2, 21, 41, 42], "reconstruct": [2, 34, 41], "end": [2, 14, 26, 30, 33, 35, 36, 37, 41, 42, 45], "comp": [2, 6, 41], "compon": [2, 6, 34, 37, 41, 47], "being": [2, 12, 32, 34, 41], "count": [2, 27, 37, 41], "separ": [2, 22, 32, 33, 35, 36, 38, 41, 42, 44, 48], "neither": [2, 41], "nor": [2, 41], "atom_properti": [2, 6, 41], "ap": 2, "For": [2, 6, 7, 12, 17, 25, 30, 32, 33, 34, 36, 37, 41, 44, 48], "z": [2, 4, 12, 25, 27, 34, 38, 40, 41, 42, 44, 46, 47, 48], "numbersto": 2, "assign": [2, 15, 17, 33, 41, 44], "categori": [2, 30, 41], "ck": 2, "category_kei": [2, 41], "averag": [2, 15, 41, 48], "defin": [2, 4, 5, 6, 7, 8, 10, 12, 14, 18, 22, 30, 32, 33, 34, 35, 36, 41, 44, 45, 46, 47, 48], "thesekei": 2, "overal": [2, 15, 18, 29, 41, 44], "_all_": [2, 41], "config_typ": [2, 6, 12, 13, 41, 44, 45, 47], "wp": 2, "weight": [2, 21, 40, 41, 44, 48], "weight_properti": [2, 41], "appli": [2, 8, 18, 27, 28, 34, 40, 41, 44, 45, 46, 47, 48], "rmse": [2, 6, 12, 41], "precis": [2, 41, 44, 46], "f": [2, 6, 12, 14, 21, 25, 38, 41, 42, 44, 45, 47, 48], "fig": [2, 25], "name": [2, 5, 12, 15, 17, 27, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 47, 48], "fig_nam": 2, "filenam": [2, 12, 30, 31, 34, 35, 41, 42, 47, 48], "figur": [2, 47], "plot": [2, 3, 9, 41], "given": [2, 6, 13, 16, 17, 18, 25, 26, 28, 33, 37, 41, 42, 43, 44, 47, 48], "type": [2, 5, 12, 17, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "error_typ": [2, 41], "report": 2, "legend": 2, "mae": [2, 41], "cmap": [2, 41], "colormap": [2, 41], "pf": 2, "param": [2, 5, 14, 15, 17, 19, 27, 34, 38, 42], "fname": [2, 37], "param_fnam": [2, 34, 38, 39], "potenti": [2, 3, 6, 7, 12, 15, 17, 18, 20, 21, 22, 25, 32, 34, 41, 42, 48], "prop": [2, 41, 47], "prop_prefix": [2, 6, 13, 34, 38, 44, 47], "pre": [2, 48], "pend": 2, "gap_": [2, 6, 12], "ace_": 2, "mace_": [2, 10], "num": [2, 6, 15, 42, 46], "python": [2, 3, 6, 9, 10, 17, 18, 25, 27, 30, 31, 33, 35, 36, 47, 48], "subprocess": [2, 6, 35], "num_inputs_per_python_subprocess": [2, 8, 11, 13, 14, 32, 33, 34, 35, 36, 37, 38], "initi": [2, 3, 8, 14, 18, 22, 30, 32, 33, 34, 35, 36, 37, 41, 44, 45, 47], "10": [2, 4, 6, 8, 15, 32, 36, 37, 44, 45, 48], "k": [2, 6, 37, 44], "isol": [2, 3, 7, 21, 41, 42, 44, 47, 48], "isolated_atom_info_kei": [2, 41, 47], "isolated_atom_info_valu": [2, 41, 47], "isolatedatom": [2, 41, 47], "isolated_atom": [2, 6, 12, 25, 41, 47], "dtype": [2, 10], "model": [2, 6, 10, 32, 36, 41, 42, 48], "wa": [2, 17, 32, 33, 34, 35], "float64": [2, 10], "float32": 2, "repeatedli": [2, 44], "pickard": 2, "airss": [2, 4, 26, 44, 48], "distribut": [2, 13, 44, 45, 47, 48], "random": [2, 3, 6, 9, 11, 13, 18, 26, 32, 33, 35, 37, 42, 44, 45, 46, 47, 48], "speci": [2, 6, 7, 27, 34, 40, 44], "volum": [2, 28, 44, 45, 46, 47, 48], "symmetri": [2, 26, 44], "etc": [2, 8, 21, 24, 27, 33, 35, 36, 37], "minim": [2, 32, 33, 35, 45, 48], "content": [2, 6, 19, 33], "targvol": 2, "min_vol": 2, "max_vol": 2, "volume_per_formula_unit": 2, "number_of_speci": 2, "elem_symbol_1": 2, "num_1": 2, "elem_symbol_2": 2, "num_2": 2, "nform": 2, "n_min": 2, "n_max": [2, 6, 25, 48], "n_1": 2, "n_2": 2, "symmop": [2, 44], "slack": 2, "0": [2, 6, 7, 8, 11, 12, 17, 22, 25, 27, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48], "25": [2, 38], "overlap": 2, "compact": 2, "minsep": 2, "min_separation_default": 2, "min_separation_1_1": 2, "min_separation_1_2": 2, "extra_info": [2, 34, 38, 44], "info_field": [2, 46], "buildcell_input": [2, 4, 44], "exec": 2, "buildcell_exec": 2, "n_config": [2, 46], "perturb": [2, 22, 44], "magnitud": [2, 44], "ei": 2, "extra": [2, 17, 34, 35, 38, 44], "val": [2, 25, 30, 35, 38, 42, 43], "pair": [2, 27, 30, 34, 37, 42, 44, 45, 47], "add": [2, 5, 12, 17, 33, 34, 35, 38, 42, 44], "smiles_str": 2, "keep_descriptor": 2, "final": [2, 4, 8, 13, 22, 27, 33, 34, 37, 40, 41, 42, 48], "kernel_expon": 2, "expon": [2, 34, 46], "dot": [2, 46], "product": [2, 46], "kernel": [2, 5, 43, 46], "determinist": [2, 33, 44, 45], "stochast": [2, 46], "seed": [2, 6, 11, 17, 33, 35, 37, 38, 42, 44, 45, 46], "stochastic_se": [2, 46], "np": [2, 6, 12, 32, 33, 37, 44, 46], "exec_cod": 2, "Will": 2, "substitut": [2, 27, 47], "self": [3, 15, 18, 26, 36, 37, 48], "snippet": [3, 10], "common": [3, 5, 9, 17, 18, 48], "thing": [3, 9, 32, 34, 35], "done": [3, 15, 16, 32, 33, 34, 35, 36, 42, 46, 47, 48], "index": [3, 5, 18, 28, 34, 35, 36, 37, 46], "remot": [3, 11, 12, 14, 18, 19, 21, 24, 25, 31, 32, 34, 41, 42], "get": [3, 18, 22, 25, 32, 34, 35, 36, 37, 38, 42, 44, 46, 47], "descriptor": [3, 12, 15, 18, 19, 20, 25, 27, 32, 34, 38, 42, 46, 47, 48], "sampl": [3, 7, 11, 12, 18, 20, 26, 44, 45, 46, 47, 48], "iter": [3, 4, 18, 22, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 48], "train": [3, 6, 7, 15], "miscellan": [3, 47], "dimer": [3, 9, 18, 20, 42, 44, 48], "via": [3, 6, 8, 9, 12, 13, 16, 17, 18, 21, 22, 23, 25, 26, 31, 34, 35, 36, 44], "buildcel": [3, 9, 18, 19, 20, 32, 34, 48], "orca": [3, 9, 18, 22, 34, 36, 47], "script": [3, 4, 6, 9, 10, 11, 13, 18, 21, 33, 41], "fhi": [3, 9, 18, 22, 36], "aim": [3, 4, 9, 18, 19, 22, 26, 34, 48], "mace": [3, 9, 18], "complet": [3, 14, 18, 33, 35, 47], "gap": [3, 9, 15, 18, 20, 24, 32, 33, 34, 38, 41, 47], "start": [3, 6, 8, 11, 18, 32, 35, 36, 41, 42, 47], "import": [3, 4, 7, 8, 10, 11, 13, 14, 15, 16, 17, 30, 33, 36], "prepar": [3, 7, 18, 21, 26, 33, 34, 36, 41, 42, 44], "track": 3, "error": [3, 5, 9, 17, 18, 19, 27, 34, 38, 42], "mani": [3, 9, 12, 13, 17, 18, 22, 30, 31, 32, 34, 42, 44, 45, 47, 48], "case": [3, 5, 9, 12, 17, 18, 30, 32, 36, 44, 46, 48], "molecular": [3, 9, 18, 20], "dynam": [3, 9, 18, 20, 37, 48], "simul": [3, 11, 18, 26, 44, 45], "filter": [3, 15, 18, 28, 33, 36, 46], "soap": [3, 9, 12, 15, 23, 25, 27, 34, 42, 48], "sub": [3, 5, 34, 36, 44, 45], "select": [3, 12, 18, 19, 20, 34, 38, 41, 44, 45, 47], "cur": [3, 9, 15, 20, 34, 38, 46, 48], "correl": [3, 9], "mode": [3, 9, 18, 20, 37, 38, 44, 47], "molecul": [3, 6, 9, 18, 20, 37, 44], "visual": 3, "smile": [3, 6, 9, 18, 19, 20, 34], "hide": 3, "onlin": 3, "updat": [3, 21, 35, 36, 41, 42, 48], "relat": [3, 42, 47], "In": [4, 5, 6, 7, 10, 12, 15, 17, 22, 30, 31, 32, 33, 48], "routin": [4, 7, 10, 35, 36, 44, 45, 46, 47], "It": [4, 17, 22, 25, 30], "build": [4, 6, 13, 17, 18, 44, 48], "construct": [4, 6, 17, 20, 26, 28, 32, 33, 34, 42, 47], "sensibl": [4, 26], "illustr": [4, 5, 7, 8], "its": [4, 7, 27, 28, 30, 31, 32, 33, 35, 44, 45], "applic": [4, 7, 12], "aluminum": 4, "unit": [4, 13, 28, 41, 44, 46, 47, 48], "cell": [4, 5, 6, 20, 36, 37, 44, 46, 48], "here": [4, 5, 6, 7, 12, 14, 15, 17, 30, 32, 37, 47, 48], "we": [4, 6, 7, 8, 10, 12, 13, 15, 17, 22, 36, 46, 48], "total": [4, 17, 42, 44, 45, 47, 48], "20": [4, 6, 12, 14, 43, 48], "thu": [4, 7, 33, 44], "length": [4, 7, 12, 27, 32, 34, 36, 42, 44, 47, 48], "next": [4, 8, 12, 30, 34, 48], "handl": [4, 7, 8, 10, 18, 21, 22, 25, 33, 36, 37], "order": [4, 5, 34, 48], "proper": [4, 12], "avail": [4, 14, 17, 33, 34, 35, 36], "create_input": [4, 34, 44], "characteris": 4, "system": [4, 6, 7, 8, 11, 12, 14, 18, 32, 33, 34, 35, 36, 38, 44, 46], "buildcell_cmd": [4, 38, 44], "our": [4, 10, 12], "machin": [4, 7, 15, 33, 35, 41, 42, 46], "obtain": [4, 17], "desir": [4, 27], "al": 4, "rang": [4, 6, 7, 17, 26, 27, 32, 35, 38, 44, 46, 47, 48], "buildcell_output": [4, 44], "13": 4, "vol_per_atom": [4, 12, 44, 48], "bond_length": [4, 7, 44], "2": [4, 6, 8, 12, 15, 17, 27, 34, 37, 41, 44, 46, 48], "complement": 5, "ones": [5, 11, 26, 31, 36, 37, 48], "provid": [5, 6, 12, 21, 33], "alwai": [5, 30, 38], "welcom": 5, "would": [5, 6, 10, 11, 12, 15, 17, 22, 48], "like": [5, 10, 17, 25, 26, 32, 33, 35, 37, 38, 44, 47, 48], "see": [5, 12, 15, 22, 23, 26, 31, 32, 33, 34, 35, 36, 41, 42, 44, 45, 48], "feel": 5, "free": 5, "so": [5, 6, 22, 25, 30, 32, 33, 34, 36, 37, 41, 44, 45, 46, 47, 48], "pleas": [5, 18, 48], "account": [5, 11, 34], "remark": 5, "describ": [5, 18, 27, 33, 34], "should": [5, 17, 25, 30, 32, 33, 36, 37, 44, 45, 46, 47], "term": [5, 27], "jupyt": 5, "notebook": [5, 6], "besid": 5, "titl": 5, "possibli": [5, 31], "explanatori": 5, "markdown": 5, "two": [5, 15, 17, 26, 27, 30, 31, 32, 44, 45, 48], "first": [5, 7, 8, 9, 10, 12, 15, 16, 18, 28, 30, 32, 33, 34, 35, 37, 38, 41, 44, 45, 48], "actual": [5, 27, 30, 32, 33, 34, 41, 46, 48], "explicit": 5, "achiev": [5, 15, 31], "oper": [5, 9, 16, 17, 18, 25, 26, 30, 31, 33, 34, 35, 36, 37, 44, 45, 47], "second": [5, 12, 32, 33, 35, 41], "displai": 5, "purpos": [5, 6, 33, 37], "consequ": 5, "sort": [5, 42, 47], "check": [5, 6, 12, 14, 37, 44, 45, 48], "assert": [5, 25, 42], "statement": 5, "rais": [5, 18, 44, 45], "work": [5, 12, 24, 30, 32, 36, 37, 46, 48], "intend": [5, 27], "befor": [5, 10, 14, 17, 18, 34, 35, 37, 41, 46, 47], "doc": [5, 6, 8, 15, 35], "sourc": [5, 7, 8, 11, 15, 34, 46], "under": [5, 34, 45, 48], "descriptive_nam": 5, "ipynb": 5, "restart": [5, 33, 48], "clear": [5, 13], "state": [5, 44], "afterward": 5, "open": [5, 12, 15, 34, 37, 47], "favorit": 5, "editor": 5, "search": [5, 18, 44, 47], "your": [5, 9, 12, 48], "nbsphinx": 5, "hidden": [5, 6], "metadata": 5, "rst": 5, "well": [5, 15, 22, 37, 41, 42, 44, 47, 48], "md": [5, 6, 11, 12, 15, 18, 26, 32, 34, 44], "list": [5, 6, 9, 12, 15, 17, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47], "link": [5, 9, 12, 48], "To": [5, 12, 13, 14, 15, 16, 17, 21, 32, 33], "been": [5, 14, 30, 31, 32, 33, 34, 35, 36, 37, 47], "test_doc_exampl": 5, "py": [5, 12, 14, 17, 30, 33, 47, 48], "new": [5, 11, 12, 26, 42, 47, 48], "pytest": 5, "id": [5, 35], "mark": [5, 47], "parametr": 5, "walk": 6, "though": [6, 37], "lightweight": [6, 25], "mlip": [6, 12, 23], "showcas": 6, "wide": [6, 35, 48], "thei": [6, 22, 27, 33, 37, 41, 47, 48], "main": [6, 12, 17, 18, 27, 31], "gfn2": [6, 11, 13], "xtb": [6, 9, 11, 13], "decomposit": 6, "divers": [6, 38], "ish": [6, 30], "standard": [6, 11, 17, 38, 42, 44], "three": [6, 44], "extern": [6, 14], "quip": [6, 12, 27, 47], "quippi": [6, 12, 15, 17, 19, 22, 23, 32, 34, 48], "http": [6, 18, 35, 36, 37, 47], "pypi": 6, "org": [6, 35], "project": [6, 33, 35], "ase": [6, 11, 12, 13, 17, 30, 31, 32, 33, 34, 36, 37, 44, 47], "instal": [6, 12, 16, 32, 33, 48], "pip": [6, 18], "semi": 6, "empir": 6, "design": [6, 18, 29, 32], "readthedoc": 6, "io": [6, 12, 13, 31, 34], "en": 6, "latest": [6, 48], "html": [6, 35, 36], "conda": [6, 11, 14, 16, 17], "c": [6, 16, 34, 38, 48], "forg": [6, 16], "rdkit": [6, 16, 44], "chemoinformat": 6, "convert": [6, 21, 25, 26, 40, 41, 42, 44, 46, 47], "2d": 6, "cco": 6, "ethanol": 6, "3d": [6, 44, 47], "object": [6, 17, 18, 22, 30, 31, 32, 33, 34, 35, 36, 37, 40, 43, 44, 46, 47], "numpi": [6, 12, 35], "by_descriptor": [6, 12, 15, 19, 28, 34], "autoparallel": [6, 8, 11, 12, 13, 14, 17, 18, 19, 22, 26, 30, 31, 32, 33, 34, 41, 42, 46], "autoparainfo": [6, 8, 11, 13, 14, 17, 19, 33, 34, 36, 40, 44, 45, 46], "remoteinfo": [6, 11, 14, 17, 19, 33, 34, 41, 42], "util": [6, 19, 26, 34, 42, 45], "atomization_energi": [6, 34, 41, 47], "by_bool_func": [6, 34, 46], "map": [6, 19, 30], "pathlib": [6, 8, 12, 14, 15], "expyr": [6, 11, 12, 14, 17, 18, 21, 25, 31, 33, 35], "resourc": [6, 11, 14, 17, 31, 33, 35], "autoparalel": 6, "wrap": [6, 26, 31, 32, 33, 34, 35, 36], "pickl": [6, 32, 33, 47], "abl": 6, "multiprocess": [6, 17, 32, 47, 48], "pool": [6, 19, 32, 33, 34, 38, 47, 48], "t": [6, 22, 25, 34, 36, 42, 45, 48], "init": [6, 12, 32, 34, 35], "call": [6, 8, 10, 13, 14, 15, 17, 21, 22, 25, 31, 32, 33, 34, 35, 36, 37, 38, 42, 44, 45, 47], "xtb_calc": 6, "e0": [6, 41, 42, 44, 47, 48], "them": [6, 8, 12, 14, 15, 30, 31, 36, 37, 41, 47, 48], "store": [6, 8, 13, 14, 19, 30, 31, 32, 34, 36, 37, 40, 41, 44, 46], "later": [6, 25, 48], "combin": [6, 7, 17, 36, 37, 40, 41], "isolated_at_fnam": 6, "50": [6, 12], "h": [6, 7], "tag": [6, 30, 34, 42], "output_prefix": [6, 8, 10, 14, 17, 36, 37], "xtb_": 6, "small": [6, 44, 46, 48], "hydrocarbon": 6, "Their": 6, "connect": 6, "repres": [6, 7, 12, 47], "reason": 6, "geometri": [6, 9, 20, 36, 37], "all_smil": 6, "cc1": 6, "ccc": 6, "cc": [6, 16], "c1c": 6, "c2ccc": 6, "cc3cc": 6, "cc3": 6, "cc2": 6, "c1cc1": 6, "cc1ccccc1cccc1": 6, "ccccc1": 6, "2c": 6, "1c2": 6, "c1": 6, "cc2ccc": 6, "cc3cc3": 6, "c2ccccc2": 6, "ccc1": 6, "cccc": [6, 16, 26], "1c": 6, "cccccccc1": 6, "c1cccc": 6, "c1cc2c3ccccc3c1c1ccccc12": 6, "ch": 6, "smiles_config": 6, "regener": 6, "smiles_confgi": 6, "true": [6, 8, 11, 12, 14, 15, 17, 25, 28, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "randomse": [6, 44], "random_se": 6, "300": [6, 11, 12, 13, 44], "nvt": [6, 11, 26], "berendsen": [6, 11, 26, 45], "thermostat": 6, "collect": [6, 14, 31, 34], "traj": [6, 12, 15, 38, 44], "md_param": [6, 12], "80": 6, "dt": [6, 11, 12, 45], "5": [6, 11, 12, 42, 44, 48], "temperatur": [6, 11, 12, 13, 28, 37, 44, 45, 46, 48], "temperature_tau": [6, 11, 45], "results_prefix": [6, 11, 36, 47], "traj_step_interv": [6, 11, 44, 45], "remote_info": [6, 11, 12, 14, 17, 35, 41, 42], "sys_nam": [6, 11, 14, 17, 33, 35], "github": [6, 18], "job_nam": [6, 11, 14, 17, 33, 35], "max_tim": [6, 11, 14, 17, 33], "15m": 6, "num_cor": [6, 11, 14, 17], "partit": [6, 11, 14, 17], "check_interv": [6, 35], "num_inputs_per_queued_job": [6, 11, 14, 17, 33, 35], "md_sampl": 6, "autopara_info": [6, 8, 11, 13, 14, 17, 33, 34, 35, 36, 40, 44, 45, 46], "num_python_subprocess": [6, 8, 17, 32, 35], "while": [6, 7, 11, 12], "lead": [6, 13, 33, 38, 42, 46], "better": 6, "extrapol": 6, "too": [6, 45], "dissimilar": 6, "region": 6, "interest": [6, 7, 48], "expens": [6, 32], "accuraci": [6, 27], "elsewher": 6, "One": [6, 17], "spot": 6, "distant": 6, "equilibrium": [6, 44], "high": [6, 33], "exclud": [6, 8, 33, 38, 46], "def": [6, 32, 35], "are_forces_reason": 6, "force_comp": 6, "xtb_forc": 6, "linalg": 6, "norm": 6, "axi": 6, "8": [6, 7, 10, 15, 17, 25, 38, 44, 47, 48], "at_filt": [6, 46], "4": [6, 8, 11, 12, 14, 25, 36, 44, 48], "local_soap": 6, "descriptor_kei": 6, "just": [6, 8, 14, 21, 25, 32, 33, 38, 42, 44, 45, 47, 48], "go": [6, 7, 12, 31, 47], "dictionari": [6, 8, 12, 21, 25, 37, 38, 40, 41, 42, 44, 47, 48], "mean": [6, 17, 36, 41, 47, 48], "same": [6, 8, 17, 22, 28, 31, 32, 34, 37, 42, 46, 47, 48], "l_max": [6, 25, 48], "6": [6, 8, 12, 17, 25, 37, 44, 48], "cutoff": [6, 25, 27, 34, 42, 44, 46, 47, 48], "delta": [6, 25, 27, 42, 48], "covariance_typ": [6, 25, 27, 48], "dot_product": [6, 25, 48], "zeta": [6, 25, 48], "atom_gaussian_width": [6, 25, 34], "isn": [6, 25], "parallelis": [6, 11, 12, 17, 18, 31, 48], "wfl_num_python_subprocess": [6, 10, 12, 17, 31, 32, 33, 35, 48], "wfl_expyre_info": [6, 31, 35, 41, 42], "md_soap_loc": 6, "desc": [6, 12, 15, 40], "per_atom": [6, 15, 40, 46], "get_average_soap": 6, "at_desc": [6, 46], "pop": [6, 30], "sum": 6, "md_soap_glob": 6, "map_func": 6, "cur_select": 6, "cur_conf_glob": [6, 28, 34, 46], "100": [6, 12, 13, 25, 35], "target": [6, 44, 46, 48], "pick": [6, 15, 17, 38], "at_descs_info_kei": [6, 15, 46], "train_fnam": 6, "test_fnam": 6, "gap_fnam": 6, "xml": [6, 12, 17, 25, 27, 36, 42, 47], "now": [6, 8, 10, 13, 33, 43, 44, 46], "cannot": [6, 32, 33, 36, 37, 46], "pars": [6, 21, 37, 38, 44, 45, 47, 48], "reader": 6, "del": 6, "processed_cur_select": 6, "label": [6, 27, 35, 38, 41, 42], "train_input": 6, "test_input": 6, "write": [6, 11, 12, 13, 17, 19, 21, 22, 30, 31, 34, 36, 37, 40, 44, 45, 46], "almost": 6, "directli": [6, 21, 33, 42], "gap_fit": [6, 12, 25, 27, 33, 42, 44, 48], "gap_param": [6, 12, 27, 48], "gap_fil": 6, "energy_parameter_nam": 6, "xtb_energi": 6, "force_parameter_nam": 6, "default_sigma": [6, 25, 27, 43, 48], "001": [6, 37], "01": [6, 8, 17, 25, 38, 44, 45, 47], "config_type_kernel_regularis": 6, "0001": 6, "_gap": [6, 25, 42], "n_spars": [6, 25, 27, 34, 48], "sparse_method": [6, 25, 34, 48], "cur_point": [6, 25, 48], "cutoff_transition_width": [6, 34, 48], "distance_2b": 6, "7": [6, 33, 44], "ard_s": [6, 48], "theta_uniform": [6, 48], "uniform": [6, 34, 42, 47, 48], "train_config": 6, "run_gap_fit": [6, 25, 41, 42], "fitting_config": [6, 38, 41, 42], "fitting_dict": [6, 25, 42], "stdout_fil": [6, 42], "out": [6, 8, 12, 15, 18, 35, 36, 37, 42, 44, 48], "skip_if_pres": [6, 41, 42], "train_fn_with_gap": 6, "test_fn_with_gap": 6, "isolated_at_fn_with_gap": 6, "replac": [6, 27, 34, 38, 46, 47], "gap_calc": 6, "param_filenam": [6, 17, 22], "input_fil": [6, 33, 35], "gap_calc_autopara_info": 6, "ha": [6, 11, 12, 14, 16, 22, 23, 24, 26, 27, 30, 31, 32, 34, 36, 37, 47, 48], "conveni": [6, 17], "compar": [6, 15, 37, 46], "pariti": [6, 41], "fn": 6, "diff": [6, 41], "errors_dump": [6, 34, 41], "value_error_scatt": [6, 34, 41], "all_error": [6, 41], "all_diff": [6, 41], "all_par": [6, 41], "gap_rms": 6, "png": 6, "learn": [7, 15, 44, 48], "interatom": [7, 18], "curv": 7, "inform": [7, 12, 14, 33, 34, 35, 36, 40, 44, 45, 46, 48], "frequent": 7, "correspond": [7, 10, 13, 22, 25, 30, 31, 34, 35, 36, 37, 41, 42, 44, 46, 47], "atoms_and_dim": [7, 19, 26, 34, 48], "hydrogen": 7, "oxygen": 7, "At": [7, 8], "data": [7, 12, 21, 27, 31, 33, 42, 46, 47, 48], "itself": [7, 32, 33, 41, 42, 44], "atomic_numb": [7, 33, 44], "consid": [7, 38, 45], "between": [7, 30, 37, 44, 45, 46, 47, 48], "allow": [7, 14, 17, 26, 33, 35, 36, 37, 44, 46], "u": 7, "characterist": 7, "anoth": [7, 17, 27, 28, 41, 42], "do_isolated_atom": [7, 44], "74": 7, "21": 7, "With": [7, 9, 16, 18], "shown": [7, 34, 37], "more": [7, 9, 12, 17, 20, 26, 27, 31, 32, 33, 37, 40, 46, 47, 48], "tailor": 7, "instanc": [7, 22, 33, 37], "adjust": [7, 48], "effici": [8, 17, 18, 37, 46, 48], "densiti": [8, 28, 44], "functionc": 8, "theori": [8, 12], "coupl": 8, "period": [8, 9, 12, 36], "non": [8, 9, 12, 22, 33, 36, 41], "input_structur": 8, "also": [8, 17, 18, 25, 26, 31, 33, 34, 35, 38, 42, 44, 46, 48], "addition": [8, 48], "compris": 8, "variou": [8, 47], "dure": [8, 30, 45, 48], "most": [8, 9, 17, 31, 34], "written": [8, 15, 30, 32, 34, 37, 48], "control": [8, 17, 25, 27, 31, 33, 36, 42, 44, 45, 48], "exact": [8, 35, 44], "without": [8, 11, 33, 35, 36, 37], "specif": [8, 12, 18, 22, 33, 36, 44, 48], "k_grid": [8, 36], "compute_analytical_stress": 8, "last": [8, 36, 37, 42, 44, 48], "calculator_exec": [8, 36, 37], "individu": [8, 15, 26, 32, 34, 36, 44], "calcuat": 8, "ani": [8, 12, 14, 17, 22, 27, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 47, 48], "redirect": [8, 36, 37], "form": [8, 34, 37, 44], "calc_constructor": 8, "output_structur": 8, "ignor": [8, 33, 34, 35, 37, 38, 45, 46], "workdir": [8, 36, 37], "__file__": [8, 15], "parent": [8, 15], "examples_fil": [8, 15], "fhiaims_calcul": 8, "aims_kwarg": 8, "pbe": [8, 37], "spin": [8, 37], "relativist": 8, "charg": [8, 14, 36, 37], "sc_iter_limit": 8, "occupation_typ": 8, "gaussian": 8, "charge_mix_param": 8, "mixer": 8, "pulai": 8, "n_max_pulai": 8, "sc_accuracy_rho": 8, "1e": [8, 25, 44], "sc_accuracy_eev": 8, "sc_accuracy_etot": 8, "sc_accuracy_forc": 8, "sc_accuracy_stress": 8, "compute_forc": 8, "ks_method": 8, "k_grid_dens": 8, "srun": [8, 36], "n2": 8, "exclus": [8, 15, 36, 37, 46], "mem": 8, "2gb": 8, "210313": 8, "scalapack": [8, 36], "mpi": [8, 35, 36, 48], "x": [8, 33, 36, 38, 43, 46, 47], "fhiaims_": 8, "often": [9, 15, 17, 35], "than": [9, 11, 12, 26, 32, 33, 35, 37, 41, 44, 45, 46, 47, 48], "nearli": 9, "rss": [9, 18, 38, 44], "emt": [9, 12, 17], "vasp": [9, 12, 19, 22, 33, 34, 47, 48], "independ": [9, 18, 29, 31, 37], "queu": [9, 17, 18, 21, 25, 29, 31, 32, 35, 41, 42], "job": [9, 11, 14, 17, 18, 21, 25, 29, 31, 32, 35, 37, 41, 42], "short": 9, "As": [9, 12, 36], "part": [9, 12, 31, 33, 41, 42, 47], "ac": [9, 19, 20, 24, 33, 34], "overview": [9, 18, 26, 48], "furthest": [9, 20], "point": [9, 12, 13, 15, 20, 22, 27, 34, 37, 46, 47, 48], "boolean": [9, 25, 28, 42, 45], "multistag": [9, 12, 15, 20, 24, 33, 34, 41], "scheme": [9, 37], "own": [9, 33], "post": [9, 14], "fly": [9, 26], "macecalcul": 10, "chang": [10, 11, 33, 35, 36, 37, 42, 48], "mace_model_fnam": 10, "my_mac": 10, "initialis": [10, 31, 35, 36], "my_mace_calc": 10, "model_path": 10, "devic": 10, "cpu": [10, 11], "But": 10, "tupl": [10, 17, 22, 34, 35, 36, 41, 44, 45, 47, 48], "calc_funct": 10, "abov": [10, 12, 13, 17, 26, 27, 41, 48], "default_dtyp": 10, "over": [10, 12, 13, 17, 18, 22, 25, 30, 31, 34, 35], "core": [10, 11, 12, 14, 17, 22, 31, 47, 48], "export": [10, 17, 33, 48], "sinc": [10, 17, 33, 34, 36, 37, 46], "mace_energi": 10, "entir": [10, 33, 38, 45, 47], "mace_forc": 10, "entri": [10, 13, 21, 36, 40, 44], "mace_run": 10, "123": 10, "6000": 11, "3p": 11, "snapshot": [11, 44, 45], "everi": [11, 15, 20, 32, 33, 34, 36, 47], "1000": [11, 12, 44, 47, 48], "submit": [11, 14, 17, 18, 21, 25, 32, 33, 48], "queue": [11, 17, 18, 33], "cluster": [11, 14, 17, 18, 21, 25, 31, 44, 48], "temp": [11, 13, 36, 44], "sample_interv": 11, "input_fnam": [11, 14], "out_fnam": 11, "48h": [11, 14, 17], "sysnam": 11, "exact_fit": [11, 35], "pre_cmd": [11, 14, 35], "activ": [11, 14, 17, 48], "my": 11, "env": [11, 32, 33, 35, 36, 41, 42, 48], "ci": [11, 14, 33], "co": [11, 14, 16, 33, 34, 36, 40, 44, 45, 46], "re": [11, 30], "runabl": 11, "otherwis": [11, 25, 31, 33, 34, 35, 36, 37, 41, 42, 44, 46], "interrupt": [11, 30, 33], "rather": [11, 41, 48], "monitor": 11, "alreadi": [11, 30, 33, 34, 35, 40, 41, 42, 44, 48], "wfl_deterministic_hack": 11, "intern": [11, 41, 42], "turn": [11, 25, 33, 42], "off": [11, 48], "omp_num_thread": [11, 25, 48], "xtb2_": [11, 13], "update_config_typ": [11, 44, 45], "json": [11, 12, 14, 17, 21, 27, 33, 35, 41, 42, 47, 48], "host": [11, 14, 17], "null": [11, 14, 17], "schedul": [11, 14, 17], "slurm": 11, "bashrc": 11, "echo": [11, 14, 48], "date": [11, 14], "hostnam": [11, 14], "header": [11, 14, 17, 35], "sbatch": 11, "node": [11, 14, 17, 31, 35, 37, 48], "nnode": 11, "task": [11, 18, 29, 35, 37], "num_cores_per_nod": [11, 14], "me": 11, "qo": 11, "128": 11, "24h": [11, 33], "max_mem": [11, 14, 17], "256g": 11, "highmem": 11, "512g": 11, "serv": 12, "basic": [12, 18, 36, 44], "cu": [12, 17], "slab": [12, 44], "ground": 12, "previou": [12, 13, 30, 34, 37, 38, 41, 42], "version": [12, 19, 34, 36], "iterative_gap_fit": 12, "batch_gap_fit": 12, "emt_atom": 12, "init_md": 12, "multistage_gap_param": 12, "locat": [12, 34], "hyperparamet": [12, 27], "Then": [12, 48], "repeat": [12, 27, 33, 46, 48], "until": [12, 30, 41], "maximum": [12, 37, 41, 42, 44, 48], "look": [12, 41, 47, 48], "wfl_gap_fit_omp_num_thread": [12, 25, 42, 48], "mpipool_support": [12, 19, 32, 34], "necessari": [12, 32, 33, 34], "yaml": [12, 15, 35, 42, 48], "generic_calc": 12, "from_any_to_descriptor": [12, 34, 40], "desc_calc": 12, "prep_param": [12, 41, 42], "ref_calc": 12, "sample_md": 12, "optim": [12, 19, 20, 34, 38, 47], "greedy_fps_conf_glob": [12, 15, 28, 34, 46], "begin": [12, 27, 35, 47], "r": [12, 15, 48], "load": 12, "29": 12, "length_scal": [12, 34, 42, 48], "bond_len": [12, 34, 42, 44, 48], "nb": [12, 13, 16, 48], "auto_length_scal": 12, "min_bond_len": [12, 48], "12": [12, 25, 44, 48], "investig": 12, "uniqu": [12, 15, 30, 35], "scale": [12, 27, 34, 42, 43, 44, 45, 47, 48], "universalsoap": 12, "suggest": 12, "previous": [12, 15, 33, 38, 46, 48], "readabl": 12, "boundari": 12, "condit": [12, 26, 45], "fit_idx": 12, "gap_nam": [12, 42], "gap_dir": 12, "mkdir": [12, 14], "exist_ok": [12, 14], "origin": [12, 42], "flush": [12, 34], "get_gap": 12, "run_dir": [12, 38, 41, 42], "futur": 12, "helper": 12, "training_fil": 12, "If": [12, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 44, 47, 48], "wish": 12, "md_dir": 12, "md_in_fil": 12, "md_config": 12, "2000": 12, "optimize_param": 12, "fmax": [12, 44], "pressur": [12, 19, 33, 34, 44, 45, 48], "keep_symmetri": [12, 44], "n_select": 12, "max_count": 12, "determin": [12, 32, 34, 35, 36], "get_file_nam": 12, "run_md": 12, "calc_out": 12, "elif": 12, "run_optim": 12, "fp": [12, 15, 48], "get_descriptor": 12, "training_desc": 12, "run_fp": 12, "training_desc_fil": 12, "run_emt": 12, "training_atom": 12, "training_": 12, "magic": 12, "happen": [12, 22, 30, 32, 34, 45], "through": [12, 17, 18, 32, 34, 47], "detail": [12, 46, 48], "discuss": 12, "after": [12, 14, 21, 34, 35, 36, 37, 41, 42, 47], "both": [12, 44, 48], "farthest": [12, 15, 28, 46], "real": 12, "ab": 12, "initio": 12, "choic": [12, 15], "simplic": [12, 47], "sake": 12, "These": [12, 20, 26, 31, 48], "val_error": 12, "get_ref_error": 12, "v_f": 12, "v_e": 12, "t_f": [12, 45], "t_e": 12, "train_error": 12, "log_dict": 12, "valid": 12, "rmse_f": 12, "rmse_e": 12, "f_dev": 12, "e_dev": 12, "2f": 12, "deviat": [12, 44], "dump": 12, "numer": [13, 44], "simultan": 13, "displac": [13, 26, 44], "along": [13, 26, 44], "boltzamnn": 13, "methan": 13, "water": 13, "associ": 13, "frequenc": [13, 26, 37, 44], "normal_mod": [13, 19, 34], "nm": [13, 44], "mol": 13, "ch4": 13, "h2o": 13, "generate_normal_modes_parallel_hessian": [13, 34, 44], "finit": [13, 45], "backward": 13, "forward": 13, "direct": [13, 22, 26, 44, 47], "6n": [13, 44], "speed": 13, "slow": 13, "sequenc": [13, 34, 35, 46], "approxim": [13, 44], "hessian": [13, 41, 42, 44], "generate_normal_modes_parallel_atom": [13, 34, 44], "water_nm": 13, "normalmod": [13, 34, 44], "trajectori": [13, 15, 26, 37, 38, 44, 45, 48], "view": [13, 34, 44], "boltzmann": [13, 26, 28, 44, 46], "at_nm": 13, "sample_normal_mod": [13, 34, 44], "sample_s": [13, 44], "kelvin": [13, 45], "info_to_keep": [13, 44], "arrays_to_keep": [13, 44], "close": [13, 19, 27, 30, 34, 37, 47], "apart": 13, "avoid": [13, 21, 36], "carri": [13, 42, 48], "incorrect": 13, "orca_ev": 14, "head": [14, 17], "up": [14, 17, 22, 30, 32, 33, 35, 36, 37, 38, 44, 48], "onc": [14, 32], "mai": [14, 17, 18, 21, 30, 31, 33, 45, 48], "stop": [14, 26, 44, 45], "finish": [14, 34, 35], "unchang": 14, "again": [14, 37], "successfulli": 14, "partial": 14, "further": [14, 22, 36], "longer": [14, 27], "delet": [14, 36, 37, 42, 46], "janpa": [14, 37], "popul": 14, "natural_population_analysi": [14, 36, 37], "functool": 14, "output_fnam": 14, "expyre_dir": 14, "_expyr": [14, 33], "npa": 14, "partial_nod": [14, 35], "my_env": 14, "orca_kwarg": [14, 37], "orcablock": [14, 37], "scf": [14, 37], "converg": [14, 37, 44], "tight": 14, "smeartemp": 14, "5000": [14, 37], "orcasimpleinput": [14, 37], "uk": 14, "b3lyp": 14, "def2": [14, 37], "sv": 14, "j": [14, 17, 46, 47], "d3bj": 14, "keep_fil": [14, 36, 37, 47], "janpa_home_dir": [14, 37], "post_func": 14, "post_process": [14, 37], "dft_": 14, "sge": [14, 17], "pe": [14, 17, 37], "smp": [14, 17], "168h": [14, 17], "50gb": 14, "node15": 14, "16": [14, 17, 22, 44], "47gb": 14, "databas": [15, 27, 30, 31, 33, 43], "criteria": [15, 44], "algorithm": [15, 26, 46, 48], "leverag": [15, 46], "score": [15, 46], "greedi": [15, 28, 46, 48], "featur": [15, 46], "consider": 15, "datapoint": 15, "A": [15, 18, 31, 33], "measur": 15, "similar": [15, 27, 41], "across": 15, "tip": 15, "either": [15, 34, 44], "univeral_soap": 15, "templat": [15, 27, 34, 42], "multi": [15, 33], "stage": [15, 27, 30, 33, 35, 42, 45, 48], "calc_descriptor": 15, "work_dir": 15, "select_fp": 15, "md_desc": 15, "foo": [15, 48], "desc_dict": 15, "safe_load": 15, "d": [15, 33, 37, 47], "conf": 15, "fps_out": 15, "out_fp": 15, "nsampl": [15, 46], "selected_config": [15, 46], "keep_descriptor_info": [15, 46], "convers": [16, 41], "cccccc": 16, "c1ccccc1": 16, "smi_to_atom": [16, 34, 44], "compound": 16, "sai": 17, "bulk": [17, 26, 44, 48], "idx": 17, "320": 17, "fcc": 17, "cubic": [17, 44], "rattl": [17, 44], "stdev": 17, "159": 17, "append": [17, 32, 34, 38, 44, 45], "loop": [17, 30, 33, 34, 35, 45, 48], "emt_energi": 17, "get_potential_energi": 17, "emt_forc": 17, "get_forc": 17, "emt_stress": 17, "get_stress": 17, "minut": 17, "hour": 17, "hundr": 17, "thousand": 17, "dataset": [17, 48], "supercomput": 17, "writen": 17, "emt_": 17, "destin": 17, "when": [17, 27, 32, 33, 34, 35, 38, 40, 41, 44, 45, 47, 48], "consist": [17, 33, 34, 36, 42, 48], "behaviour": 17, "irrespect": 17, "came": 17, "pickleabl": [17, 32], "spawn": [17, 41, 42], "calculator_constructor_funct": 17, "keyword_argu": 17, "instanti": 17, "tb": [17, 22], "dftb": [17, 22], "prepend": [17, 34], "evaluate_emt": 17, "sun_grid_engine_sub": 17, "sh": 17, "bin": [17, 28, 38, 46, 48], "bash": 17, "request": [17, 30, 36], "l": [17, 41], "h_rt": 17, "48": [17, 44], "00": 17, "time": [17, 22, 35, 36, 37, 41, 42, 44, 45, 48], "hh": 17, "mm": 17, "ss": 17, "format": [17, 27, 30, 36, 37, 42, 47, 48], "shell": [17, 37], "eval_emt": 17, "ye": 17, "log": [17, 19, 34, 44, 45], "q": 17, "nslot": [17, 48], "repositori": [17, 48], "submiss": [17, 33], "modifi": [17, 22, 26, 27, 41, 43], "mechan": [17, 18, 32, 33], "behind": 17, "enabl": [17, 33, 45], "must": [17, 22, 30, 32, 33, 34, 36, 45, 47], "160": 17, "num_nod": [17, 33], "could": [17, 32, 33, 35, 36, 37], "laptop": 17, "ssh": 17, "sent": 17, "what": [17, 21, 31, 33, 36, 37, 46, 47, 48], "myenv": 17, "200gb": 17, "becaus": [17, 36, 37, 48], "sun": 17, "grid": 17, "engin": 17, "manag": [17, 18], "copi": [17, 36, 37, 41, 46], "autoparallelis": 17, "launch": 17, "evaluate_emt_remot": 17, "toolkit": 18, "creation": [18, 22], "atomist": [18, 36], "act": 18, "castep": [18, 19, 22, 34, 47, 48], "introduc": 18, "cover": [18, 26], "sketch": 18, "built": [18, 34, 36, 48], "modular": [18, 20], "api": 18, "quick": 18, "mandatori": [18, 25, 42], "git": 18, "com": [18, 47], "libatom": 18, "issu": 18, "cotribut": 18, "runtim": [18, 35], "modul": [18, 19, 20, 27, 33], "page": [18, 20, 22, 26], "subpackag": 19, "submodul": [19, 26], "committe": [19, 33, 34, 42], "espresso": [19, 34, 37], "mopac": [19, 34], "wfl_fileio_calcul": [19, 34], "cli_opt": [19, 34], "dft_convergence_test": [19, 34], "gap_rss_iter_fit": [19, 33, 34, 48], "minimahop": [19, 26, 34], "phonopi": [19, 26, 34], "supercel": [19, 26, 34, 48], "convex_hul": [19, 28, 34, 38], "flat_histogram": [19, 28, 34], "selection_spac": [19, 34], "at_copy_save_result": [19, 34], "file_util": [19, 34], "julia": [19, 21, 34, 41], "misc": [19, 34], "ndim_neighbor_list": [19, 34], "quip_cli_str": [19, 34], "replace_eval_in_str": [19, 34], "round_sig_fig": [19, 34], "vector_util": [19, 34], "vol_composition_spac": [19, 34], "cur_loc": [19, 34], "group": [19, 30, 32, 34, 35, 38], "one_fil": [19, 34], "all_written": [19, 30, 34], "to_configset": [19, 31, 34], "descriptor_heurist": [19, 27], "descriptor_2brn_uniform_fil": [19, 34], "descriptors_from_length_scal": [19, 34], "len_scale_pair": [19, 34], "dai": 20, "mess": 20, "complex": 20, "special": 20, "super": 20, "minima": [20, 37, 38, 44, 46, 48], "phonon": 20, "flat": [20, 34, 38, 44, 46, 48], "histogram": [20, 38, 46, 48], "convex": [20, 38, 47, 48], "hull": [20, 38, 47, 48], "ace1pack": [21, 41], "rest": [21, 24, 25, 27, 28, 37, 41], "infrastructur": [21, 24, 25], "ace_fit": [21, 41], "jl": [21, 41], "home": [21, 33, 37, 41, 48], "chrva": [21, 41], "wfl_ace_fit_command": [21, 41], "doe": [21, 33, 34, 36, 37, 41, 42, 46, 47], "energy_kei": [21, 44], "ace_fit_param": [21, 41], "among": [21, 47], "virial_sigma": [21, 43], "modif": 21, "run_ace_fit": [21, 34, 41], "principl": [22, 32, 33], "level": [22, 27, 32, 33, 34, 35], "That": 22, "want": [22, 33, 37, 48], "sequenti": 22, "dftb_calc": 22, "tightbind": 22, "parm": 22, "mio": 22, "xm": 22, "disk": [22, 36, 37], "were": [22, 28, 30, 31, 35, 40], "folder": 22, "don": 22, "attempt": [22, 33, 41, 42], "clean": [22, 36, 37, 47], "quantumespresso": 22, "evaluate_dft": 22, "broken": [22, 37], "convent": 22, "basinhoppingorca": [22, 36, 37], "guess": 22, "minimum": [22, 44, 46], "lowest": [22, 28, 46, 47], "solut": 22, "integr": [24, 26, 45], "procedur": [24, 48], "program": 25, "v1": [25, 42], "v2": [25, 42], "v3": [25, 36, 42], "key1": [25, 42], "key2": [25, 42], "enclos": [25, 42], "quot": [25, 42], "pram_dict": [25, 42], "atoms_filenam": 25, "at_fil": 25, "mustn": 25, "wfl_gap_fit_command": [25, 42], "openmp": [25, 42], "paralleliz": [25, 33], "thread": [25, 32, 35, 41, 42, 47, 48], "noth": [25, 32, 36, 37, 47], "els": [25, 36], "gap_fit_dict": 25, "sparse_seprate_fil": 25, "core_ip_arg": 25, "ip": 25, "glue": [25, 42], "core_param_fil": 25, "config_type_sigma": 25, "05": [25, 37, 44], "funky_config": 25, "200": [25, 37], "add_speci": [25, 27, 34, 48], "n_speci": [25, 47, 48], "species_z": [25, 48], "gap_fit_str": 25, "brief": 26, "loos": 26, "butan": 26, "wrapp": 26, "primit": [26, 44], "largest_bulk": [26, 34, 44], "largest": [26, 44], "vacanc": [26, 34, 44, 48], "antisit": [26, 34, 44], "interstiti": [26, 34, 44, 48], "surfac": [26, 34, 44, 48], "nve": 26, "veloc": 26, "verlet": 26, "npt": 26, "hook": 26, "custom": 26, "earli": 26, "met": 26, "unstabl": 26, "preconlbfg": [26, 44], "constraint": 26, "seri": [26, 35], "altern": [26, 34, 36, 41, 42, 44], "phono3pi": [26, 44], "spread": 27, "n_descriptors_per_atom": 27, "energy_sigma": [27, 43], "force_sigma": [27, 43], "callback": 27, "stage_": 27, "residu": 27, "estim": 27, "renam": [27, 30, 34, 42], "error_scale_factor": [27, 48], "factor": [27, 28, 41, 43, 44], "sigma": [27, 33, 41, 47, 48], "reduc": [27, 32, 44], "bodi": [27, 34], "miss": [27, 37, 42], "mention": [27, 33], "desc_str": [27, 48], "fit_str": [27, 48], "count_cutoff": [27, 48], "neighbor": [27, 47], "even": [27, 34, 44, 48], "sparse_jitt": [27, 48], "output_separate_fil": 27, "gap_multistag": [27, 33], "prep_input": 27, "_template_": 27, "univers": [27, 34, 42], "except": [27, 32, 44, 45, 47], "mainli": [27, 28, 36, 47], "repl_expr": 27, "mathemat": 27, "express": [27, 47], "r_cut": [27, 48], "bond_len_z": 27, "docstr": [27, 34, 45], "dup_descs_for_speci": 27, "remain": [27, 36], "_f_": [27, 48], "float": [27, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48], "understood": 27, "manual_z1_z2": 27, "z1": [27, 34, 42, 48], "z2": [27, 34, 42, 48], "manual_universal_soap": [27, 48], "biased_select_conf": [28, 34, 46], "bias": [28, 46], "quantiti": [28, 34, 36, 38, 40, 41, 44, 45, 46], "enthalpi": 28, "probabl": [28, 44], "invers": 28, "proport": [28, 44], "multipli": [28, 35, 41, 44], "exponenti": [28, 46, 47, 48], "divid": [28, 47], "composit": [28, 38, 40, 44, 46, 47, 48], "vertic": 28, "half": 28, "li": 28, "by_bool_funct": 28, "by_index": [28, 34, 46], "class": [30, 31, 33, 34, 35, 36, 37, 44, 45, 47], "encapsul": 30, "abcd": [30, 31], "unsupport": [30, 31], "accord": 30, "definit": [30, 48], "layer": [30, 34, 44], "guarante": 30, "possibl": [30, 42], "user": [30, 32, 33, 35, 36], "consult": 30, "configs_in": 30, "in1": [30, 34], "in2": 30, "s_out": 30, "out1": [30, 34], "out2": 30, "do_some_oper": 30, "_configset_loc": [30, 34], "configs_out": 30, "equal": [30, 36], "woud": 30, "skip": [30, 33, 35, 41, 42, 44, 45, 48], "made": 30, "safe": [30, 47], "incomplet": 30, "never": [30, 34], "appear": [30, 34], "memori": [30, 31, 34, 35, 48], "currenli": 30, "support": [30, 32, 33, 36], "poster": 30, "s_in": 30, "abcd_conn": 30, "mongodb": 30, "localhost": 30, "27017": 30, "input_queri": 30, "input_tag": 30, "necessary_input": 30, "output_abcd": 30, "set_tag": 30, "output_tag": 30, "queri": [30, 31], "AND": 30, "OR": [30, 41], "output_forc": 30, "refus": 30, "ensur": [30, 34, 41, 42, 44], "retriev": 30, "exactli": [30, 34], "pipelin": [30, 31, 32], "outsid": [30, 46], "get_atom": 30, "goal": 31, "easi": 31, "typic": [31, 42, 46, 48], "usual": [31, 32, 33, 36, 47], "indic": [31, 32, 33, 34, 44, 45, 46, 47], "abstract": [31, 34, 45], "extxyz": 31, "similarli": 31, "held": 31, "constructor": [31, 32, 33, 34, 35, 36, 41, 42], "regardless": 31, "suppli": 31, "readili": 31, "hpc": 31, "commonli": 31, "facilit": 32, "easili": 32, "fundament": 32, "counter": 32, "wherev": [32, 41], "proces": 32, "low": [32, 35], "increasd": 32, "overhead": 32, "mpipool": [32, 35], "assum": [32, 47], "whole": [32, 35], "startup": [32, 35], "hang": 32, "rank": 32, "wait": [32, 35, 41, 42], "continu": 32, "var": [32, 33, 35, 36, 41, 42], "mpi4pi": 32, "op": [32, 35], "arg1": [32, 35], "arg2": 32, "arg3": 32, "output_at": 32, "stuff": [32, 35], "argn": 32, "autopara_op": 32, "def_num_inputs_per_python_subprocess": 32, "__doc__": [32, 35], "autoparallelize_docstr": [32, 34, 35], "__foc__": 32, "someth": 32, "_can_": 32, "sytem": 33, "readm": 33, "pythonpath": 33, "basi": 33, "gap_simpl": 33, "wfl_gap_simple_fit_remoteinfo": 33, "wfl_gap_multistage_fit_remoteinfo": 33, "right": [33, 46], "wfl_ace_fit_remoteinfo": 33, "veri": [33, 37], "flexibli": 33, "long": [33, 44], "flexibl": 33, "simpler": 33, "do_workflow": 33, "essenti": 33, "ident": [33, 34, 44], "generate_config": 33, "infil": 33, "relax": [33, 44, 48], "vasp_kwarg": 33, "400": 33, "ismear": [33, 36], "ediff": 33, "0d": 33, "kspace": 33, "kgamma": 33, "trivial": 33, "unneed": 33, "potpaw": 33, "chemsym": 33, "ci_relax": 33, "minim_run": 33, "interact": 33, "pwd": 33, "cat": 33, "eof": 33, "vasp_minim": 33, "env_var": [33, 35], "vasp_path": 33, "expyre_ncores_per_nod": 33, "wfl_vasp_kwarg": 33, "ncore": 33, "python3": 33, "_": [33, 36], "visibl": 33, "hierarchi": [33, 48], "scope": 33, "suppos": 33, "rerun": 33, "detect": [33, 36], "hash": [33, 35], "duplic": [33, 34, 44, 46], "perfect": 33, "obvious": 33, "inde": 33, "encod": [33, 38, 47], "comma": 33, "remote_label": [33, 35, 41, 42], "end_of_path_to_fil": 33, "function_nam": 33, "finer": 33, "match": [33, 35, 41, 42, 44, 47], "stack": [33, 35], "trace": [33, 35, 48], "outermost": 33, "len": [33, 37, 44, 46], "str": [33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 46, 47], "down": 33, "innermost": 33, "minin": 33, "do_md_bulk_defect_step": 33, "neg": [33, 35, 44, 47, 48], "underli": 33, "expyre_num_cores_per_nod": 33, "framework": 33, "runremot": 33, "flag": 33, "basetemp": 33, "some_path": 33, "By": [33, 41], "expyre_pytest_system": 33, "regexp": 33, "wfl_pytest_expyre_info": 33, "field": [33, 34, 35, 36, 38, 41, 44, 46, 47, 48], "maxim": [33, 37], "somehwat": 33, "pw": [33, 36], "local_si": 33, "remote_si": 33, "wfl_pytest_buildcel": 33, "path_to_buildcel": 33, "path_to_vasp": 33, "path_to_vasp_gamma": 33, "pytest_vasp_potcar_dir": 33, "path_to_potcar": 33, "ase_orca_command": 33, "path_to_orca": 33, "runslow": 33, "rxx": 33, "update_default": [34, 35], "shutdown_and_barri": [34, 35], "do_in_pool": [34, 35], "do_remot": [34, 35], "get_remote_info": [34, 35], "get_root_global_se": [34, 35], "grouper": [34, 35], "set_autopara_per_item_info": [34, 35], "basinhop": [34, 36], "implemented_properti": [34, 36, 37], "wfl_generic_default_autopara_info": [34, 36, 37], "setup_calc_param": [34, 36], "calculate_committe": [34, 36], "clean_rundir": [34, 36], "handle_nonperiod": [34, 36], "save_result": [34, 36], "default_paramet": [34, 36, 37], "per_config_restor": [34, 36], "per_config_setup": [34, 36], "wfl_generic_num_inputs_per_python_subprocess": [34, 36], "wflfileiocalcul": [34, 36, 37], "cleanup": [34, 36, 37], "setup_rundir": [34, 36], "rss_minima_divers": [34, 38], "z_label": [34, 38], "calc_descriptors_to_fil": [34, 38], "create_all_buildcel": [34, 38], "do_fit_and_test": [34, 38], "evaluate_iter_and_fit_al": [34, 38], "evaluate_ref": [34, 38], "flat_histo_then_by_desc": [34, 38], "get_buildcell_input_fil": [34, 38], "get_old_fitting_fil": [34, 38], "increment_active_it": [34, 38, 47], "is_element": [34, 38], "load_old_descriptors_arrai": [34, 38], "print_log": [34, 38, 47], "process_cur_it": [34, 38], "select_fitting_and_testing_for_group": [34, 38], "step_startup": [34, 38], "glue_2b": [34, 41], "reloc": [34, 41], "modify_databas": [34, 41], "gap_rss_set_config_sigmas_from_convex_hul": [34, 41], "scale_orig": [34, 41], "simple_factor_nonperiod": [34, 41], "prepare_config": [34, 41], "prepare_param": [34, 41], "errors_to_datafram": [34, 41], "natural_sort": [34, 41], "select_unit": [34, 41], "ace_fit_jl_path": [34, 41], "copy_properti": [34, 41], "fix_stress_viri": [34, 41], "abort": [34, 44, 48], "abort_bas": [34, 44], "isolated_atom_from_e0": [34, 44], "conv_buildcell_out": [34, 44], "derive_normal_mode_info": [34, 44], "evals_to_freq": [34, 44], "evecs_to_mod": [34, 44], "freqs_to_ev": [34, 44], "modes_to_evec": [34, 44], "num_hess_delta": [34, 44], "subselect_from_traj": [34, 44], "config_type_append": [34, 44], "do_svd": [34, 46], "prep_descs_and_exclud": [34, 46], "write_selected_and_clean": [34, 46], "compare_manual_minima": [34, 46], "minima_among_neighbor": [34, 46], "val_relative_to_nearby_composition_volume_min": [34, 46], "find_isolated_atom": [34, 47], "find_hul": [34, 47], "vertical_dist_from_hul": [34, 47], "clean_dir": [34, 47], "julia_exec_path": [34, 47], "process_active_it": [34, 47], "atoms_to_list": [34, 47], "chunk": [34, 35, 47], "dict_tuple_keys_to_str": [34, 47], "calc_list": [34, 47], "calc_list_cel": [34, 47], "construct_calculator_picklesaf": [34, 47], "cur_it": [34, 38, 47], "dft_code": [34, 47], "dft_param": [34, 47], "implemented_calcul": [34, 47], "pressurerecursionerror": [34, 47], "sample_pressur": [34, 44, 45, 47], "dict_to_quip_str": [34, 47], "random_three_vector": [34, 47], "get_wfl_vers": [34, 47], "composition_space_z": [34, 47], "composition_space_coord": [34, 47], "file_root": 34, "read_kwarg": 34, "_open_read": 34, "_cur_at": 34, "_file_loc": 34, "nest": [34, 47], "flatten": 34, "reproduc": [34, 44], "glob": [34, 36, 37, 42], "iread": 34, "retain": 34, "recent": 34, "reflect": 34, "whether": [34, 44, 45], "one_file_nam": 34, "write_kwarg": 34, "preserv": 34, "tree": 34, "root": [34, 35, 41, 44], "reus": 34, "bool": [34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "outpuspec": 34, "input_cs_loc": 34, "loc": 34, "in0": 34, "out0": 34, "at_in": 34, "at_out": 34, "get_loc": 34, "desc_i": 34, "deform": [34, 44], "spars": 34, "polynomi": 34, "untest": 34, "_2brn_uniform_file_": 34, "identifi": 34, "sparsepoint": 34, "int": [34, 35, 37, 38, 41, 42, 44, 45, 46, 47], "offset": 34, "newli": 34, "increment": 34, "soap_hyp": 34, "bond": [34, 42, 44, 48], "hyper": 34, "arbitrari": [34, 36, 47], "side": [34, 36, 40, 44, 45, 46], "effect": [34, 36, 40, 44, 45, 46], "iterable_arg": 35, "skip_fail": 35, "func": [35, 45], "func_kwarg": 35, "default_kwarg": 35, "unspecifi": 35, "default_autopara_info": 35, "_after_": 35, "autoparallelized_op": 35, "autoparallelize_keyword_param_1": 35, "autoparallelize_keyword_param_2": 35, "autopara_docstr": 35, "iterable_cont": 35, "parallelized_op": 35, "val1": 35, "autopara_per_item_info": 35, "rng_seed": 35, "item_i": 35, "autopara_rng_se": [35, 44, 45], "_autoparallelize_l": 35, "plu": 35, "wrapped_func_out": 35, "wrapped_func": 35, "wrappable_func": 35, "input_iterable_typ": 35, "input_arg": 35, "master": 35, "wfl_mpipool": 35, "mpiexecutor": 35, "tell": 35, "comm": 35, "kach": 35, "invoc": 35, "defaulat": 35, "callabl": [35, 36, 46], "itr": 35, "place": [35, 42, 44, 46], "quiet": 35, "stderr": [35, 38], "progress": 35, "post_cmd": 35, "output_fil": 35, "header_extra": 35, "timeout": 35, "3600": 35, "30": 35, "ignore_failed_job": 35, "resubmit_killed_job": 35, "hash_ignor": 35, "iterable_autopara_wrapp": 35, "size": [35, 41, 44, 47, 48], "less": [35, 47], "get_result": 35, "failur": 35, "resubmit": 35, "kill": 35, "statu": [35, 45], "walltim": 35, "crash": 35, "hope": 35, "kwrg": 35, "stabl": 35, "warn": [35, 36, 37, 48], "root_global_se": 35, "signatur": 35, "goe": [35, 48], "smaller": [35, 46], "prev_per_item_info": 35, "item_i_list": 35, "rng": [35, 44, 45], "get_homo": [36, 37], "get_multipl": [36, 37], "process_result": [36, 37], "evaluate_basin_hop": [36, 37], "get_default_multipl": [36, 37], "is_converg": [36, 37], "pick_task": [36, 37], "read_dipol": [36, 37], "read_frequ": [36, 37], "read_opt_atom": [36, 37], "read_result": [36, 37], "read_trajectori": [36, 37], "write_input": [36, 37], "parse_npa_output": [36, 37], "rundir_prefix": [36, 37], "run_aims_": 36, "scratchdir": [36, 37], "extens": [36, 37], "invalid": 36, "remov": [36, 37, 43, 47, 48], "k_": 36, "relax_unit_cel": 36, "external_pressur": 36, "kind": [36, 37, 38], "everyth": [36, 37, 47], "kept": [36, 37], "upload": [36, 37], "back": [36, 37], "mutual": [36, 37, 46], "wiki": [36, 37], "fysik": 36, "dtu": 36, "dk": 36, "_modul": 36, "system_chang": [36, 37], "initial_charg": [36, 37], "initial_magmom": [36, 37], "regular": [36, 37], "reading_result": [36, 37], "reimplement": 36, "extend": 36, "genericfileiocalcul": 36, "develop": [36, 37, 48], "fileiocalcul": 36, "22": 36, "dipol": [36, 37], "magmom": [36, 37], "six": [36, 37, 44], "quantum": 36, "run_castep_": 36, "pwo": [36, 37], "castep_command": [36, 48], "eg": [36, 48], "varianc": [36, 48], "calculator_list": 36, "committee_": [36, 42], "formatt": 36, "liter": 36, "run_qe_": 36, "qe": 36, "singlepointcalcul": [36, 41], "wfl_num_inputs_per_python_subprocess": 36, "recreat": 36, "attribut": [36, 37, 42], "wfl_calculator_initi": 36, "wfl_calculator_arg": 36, "wfl_calculator_kwarg": 36, "_overridden_": 36, "_modified_": 36, "_initi": 36, "_kwarg": 36, "_must_": 36, "nonperiod": [36, 46], "_auto_": 36, "run_mopac_": 36, "clacul": 36, "default_keep_fil": 36, "calculation_succeed": 36, "allow_mix": 36, "mix": 36, "ie": [36, 37], "ttt": 36, "fff": 36, "use_properti": 36, "forbidden": 36, "run_vasp_": 36, "calculator_exec_gamma": 36, "absolut": [36, 41], "elem": 36, "poscar": 36, "outcar": 36, "vasprun": 36, "ase_vasp_command_gamma": 36, "vasp_script_gamma": 36, "command_gamma": 36, "lcharg": 36, "lwave": 36, "mixin": 36, "inherit": 36, "_before_": 36, "dftcode": 36, "dftcodecalcul": 36, "ase_dftcodecalcul": 36, "vari": 36, "superclass": 36, "_default_keep_fil": 36, "empti": [36, 37], "immedi": [36, 37], "workdir_root": [36, 37], "upon": 36, "ever": 36, "anymor": 36, "n_run": 37, "n_missing_toler": 37, "energy_tol": 37, "forces_tol": 37, "n_orb": 37, "max_angl": 37, "60": 37, "smear": 37, "maxit": 37, "chained_hop": 37, "uhf": 37, "svp": 37, "tightscf": 37, "orca_command": 37, "smooth": 37, "agre": 37, "margin": 37, "success": [37, 47], "rotat": [37, 44], "path_lik": [37, 42, 47], "toler": [37, 44], "ev": [37, 41, 44], "force_tol": 37, "angstrom": 37, "orbit": 37, "angl": [37, 44], "chain": 37, "unrestrict": 37, "hf": 37, "advis": 37, "keep_raw_result": 37, "subclass": 37, "insert": 37, "dummi": 37, "zero": [37, 47, 48], "homo": 37, "fill": [37, 42, 44], "alpha": 37, "beta": 37, "odd": [37, 44, 48], "n_elec": 37, "i_homo_alpha": 37, "i_homo_beta": 37, "singlet": 37, "doublet": 37, "energy_arrai": 37, "force_arrai": 37, "against": 37, "threshold": [37, 44], "shape": [37, 44], "len_atom": 37, "getcwd": 37, "orca_": 37, "inp": 37, "engrad": 37, "opt": 37, "copt": 37, "extra_result": 37, "localis": 37, "mult": 37, "static": [37, 44], "fulli": 37, "read_energi": 37, "00001": 37, "digit": 37, "meaning": 37, "matrix": [37, 41, 44, 46], "eigenvalu": [37, 44], "eigenvector": [37, 44], "comment": [37, 48], "coordin": [37, 44, 47], "154": 37, "812399026326": 37, "todo": 37, "orca_calc": 37, "sourceforg": 37, "net": 37, "calculate_descriptor": [38, 39], "pyjulip_ac": [38, 39], "step_param": 38, "select_by_desc_method": 38, "config_selection_descriptor_str": 38, "config_selection_descriptor_loc": 38, "prev_gap": 38, "select_convex_hul": [38, 48], "get_entire_trajectori": 38, "optimize_kwarg": 38, "pathlik": 38, "config_selected_descriptor_str": 38, "config_selected_descriptor_loc": 38, "grp_label": 38, "cur_conf": 38, "c_ind": 38, "basenam": 38, "descriptor_str": 38, "descriptor_loc": 38, "n_configs_tot": 38, "buildcell_input_fil": 38, "buildcell_pert": 38, "single_composition_group": 38, "testing_config": 38, "database_modify_mod": 38, "cur_fitting_config": 38, "calc_fitting_error": 38, "extra_fitting_fil": 38, "dft_in_config": 38, "dft_evaluated_config": 38, "evaluated_config": 38, "file_label": 38, "e_info_field": 38, "flat_histo_kt": [38, 48], "flat_histo_n": 38, "by_desc_select_n": [38, 48], "testing_n": 38, "by_desc_exclude_list": 38, "vol_rang": [38, 44, 46], "compos_rang": [38, 46], "prev_selected_desc": [38, 46], "flat_histo_by_bin": 38, "flat_histo_replac": 38, "histo": 38, "_flat_histo": 38, "_by_desc": 38, "kt": [38, 44, 46], "bia": [38, 46], "greedy_fp": 38, "greedy_fps_all_it": 38, "vol": [38, 47, 48], "nearbi": [38, 46, 47], "ndarrai": [38, 46, 47], "n_desc": [38, 46], "desc_len": [38, 46], "row": [38, 41, 45, 46], "configs_by_desc": 38, "step_label": 38, "msg": [38, 47], "show_tim": [38, 47], "blank_lin": 38, "logfil": [38, 47], "_io": [38, 47], "textiowrapp": [38, 47], "stdout": [38, 44, 47], "w": [38, 47], "utf": [38, 47], "flat_histo": 38, "testing_conf": 38, "concaten": 40, "zcenter": [40, 48], "_z_": 40, "oppos": 40, "composition_weight": 40, "fraction": [40, 45, 46], "descriptor_src": 40, "denot": 40, "central": [40, 48], "correpond": 40, "construct_glue_2b": [41, 42], "gap_xml_modify_label": [41, 42], "max_cutoff": [41, 42, 44], "gap_reloc": [41, 42], "dict_to_gap_fit_str": [41, 42], "piecewise_linear": [41, 43], "list_to_sigma_dict": [41, 43], "modify_cel": [41, 43], "modify_with_factor": [41, 43], "ace_nam": 41, "ace_fit_command": 41, "ref_": [41, 42, 43], "dry_run": 41, "wait_for_result": [41, 42], "contructor": [41, 42], "wfl_ace_fit_julia_thread": 41, "julia_num_thread": 41, "multithread": 41, "lsq": 41, "assembli": 41, "wfl_ace_fit_blas_thread": 41, "bla": 41, "stem": 41, "dry": 41, "_ignor": [41, 42], "trigger": [41, 42], "try": [41, 42, 47, 48], "ace_filenam": 41, "least": 41, "squar": [41, 44, 46], "ace_fnam": 41, "_kei": 41, "from_sigma": 41, "some_valu": 41, "expect": [41, 42, 48], "datafram": 41, "nice": 41, "units_dict": 41, "column": [41, 46], "mev": 41, "0e3": 41, "labl": 41, "plt_type": 41, "upport": 41, "property_label": 41, "conversion_factor": 41, "raw": 41, "plot_par": 41, "plot_error": 41, "scatterplot": 41, "third": 41, "ref_property_kei": 41, "stress_to_viri": 41, "calc_": 41, "told": 41, "attach": 41, "stress_kei": 41, "3x3": [41, 44], "workaround": 41, "accept": [41, 44, 45], "energy_info_kei": 42, "do_e0": 42, "dict_kei": [42, 44, 47], "z1_z2": 42, "homonuclear": 42, "xml_str": 42, "e0_by_symbol": 42, "gapfil": 42, "new_label": 42, "fix": [42, 44, 46, 48], "old": [42, 48], "num_committe": 42, "committee_extra_se": 42, "committee_name_postfix": 42, "refit": 42, "0th": 42, "final_gap_fil": 42, "final_gap_nam": 42, "gap_templ": 42, "no_extra_inn": 42, "no_extra_out": 42, "sharp": 42, "auto": [42, 46], "old_fil": 42, "new_fil": 42, "extra_filename_glob": 42, "delete_old": 42, "param_dict": 42, "gap_fit_command": 42, "do_fit": 42, "patch": 42, "overall_error_scale_factor": 43, "field_error_scale_factor": 43, "property_prefix": 43, "default_factor": 43, "property_factor": 43, "config_type_exclud": 43, "sigma_valu": 43, "trick": [43, 47], "extra_spac": 43, "hessian_sigma": 43, "regularis": 43, "abortoncollis": [44, 45], "atoms_ok": [44, 45], "abortsimbas": [44, 45], "e0_dict": 44, "cell_siz": 44, "configset_out": 44, "greater": 44, "dimer_n_step": 44, "41": 44, "dimer_factor_rang": 44, "65": 44, "dimer_box_scal": 44, "fixed_cel": 44, "becom": 44, "box": 44, "max": [44, 46, 47, 48], "isolate_atom": 44, "enough": [44, 48], "switch": 44, "anyth": [44, 47, 48], "understand": [44, 48], "skip_failur": [44, 45], "symprec": [44, 47], "ats": [44, 47], "rss_min_vol_factor": 44, "95": 44, "min_sep_factor": 44, "9": [44, 48], "natom": 44, "24": [44, 48], "suitabl": 44, "reserv": 44, "affect": 44, "stoichiometr": 44, "ratio": [44, 48], "togeth": 44, "variat": 44, "crystal": [44, 48], "11": 44, "produc": [44, 46], "ediff0": 44, "t0": 44, "minima_threshold": 44, "\u00e5": [44, 48], "mdmin": 44, "timestep": 44, "totalstep": 44, "opt_kwarg": 44, "around": 44, "nm_atom": 44, "parallel_hessian": 44, "amu": 44, "shorthand": 44, "imaginari": 44, "evec": 44, "mass": 44, "inverse_m": 44, "3n": 44, "cartesian": [44, 46, 47], "freq": 44, "sqrt": 44, "3xn": 44, "1x3n": 44, "energies_for_mod": 44, "normal_mode_numb": 44, "randomli": 44, "coeffici": 44, "kb": 44, "harmon": 44, "generalis": 44, "gamma": [44, 48], "degre": 44, "freedom": 44, "nm_energi": 44, "translat": 44, "vibrat": 44, "output_dir": 44, "nimag": 44, "oscil": 44, "normal_mode_frequ": 44, "normal_mode_displac": 44, "smax": 44, "gpa": [44, 45, 48], "constrain": 44, "maintain": 44, "interv": [44, 45], "traj_subselect": 44, "last_converg": 44, "rule": 44, "optimize_config_typ": 44, "subselect": 44, "last_config": 44, "strain_displ": 44, "gradient": 44, "ph2_supercel": 44, "constant": [44, 45, 47], "pair_cutoff": 44, "smi": 44, "usebasicknowledg": 44, "useexptorsionanglepref": 44, "smi_to_xyz": 44, "impos": 44, "knowledg": [44, 48], "aromat": 44, "ring": 44, "experiment": 44, "torsion": 44, "prefer": 44, "embedmolecul": 44, "max_n_atom": [44, 48], "pert": 44, "spglib": 44, "0e": [44, 48], "lattic": 44, "n_antisit": 44, "cluster_r": 44, "1st": 44, "nn": 44, "interstitial_probability_radius_expon": 44, "void": 44, "radiu": 44, "power": 44, "ase_optim": 44, "find_optimal_cell_shap": 44, "min_thick": 44, "exce": 44, "thick": [44, 48], "vacuum": [44, 48], "simple_cut": 44, "max_surface_cell_indic": 44, "duplicate_in_plan": 44, "plane": 44, "n_vac": 44, "communli": 45, "collision_radiu": 45, "n_failed_step": 45, "collis": 45, "closer": 45, "cloe": 45, "deriv": 45, "is_ok": 45, "abc": 45, "derriv": 45, "aggres": 45, "necessarili": 45, "physic": [45, 48], "t_init": 45, "t_final": 45, "ramp": [45, 48], "t_i": 45, "traj_frac": 45, "flot": 45, "n_stage": 45, "durat": 45, "rescal": 45, "pressure_tau": 45, "compressibility_fd_displ": 45, "strain": 45, "compress": 45, "nptberendsen": 45, "traj_select_during_func": 45, "traj_select_after_func": 45, "abort_check": 45, "abortbas": 45, "mat": 46, "exclude_list": 46, "vec_len": 46, "n_vec": 46, "rectangular": 46, "selected_ind": 46, "kernel_exp": 46, "leverage_score_kei": 46, "_exactly_": 46, "svd": 46, "pca": 46, "do_vector": 46, "vh": 46, "o_n_sq": 46, "n_prev_desc": 46, "prefactor": 46, "enumer": 46, "at_descs_col": 46, "exclude_ind_list": 46, "by_bin": 46, "accur": 46, "badli": 46, "nn_minima": 46, "presum": 46, "reduceat": 46, "manual": 46, "cartesian_dist": [46, 47], "nfeatur": 46, "dist": 46, "dimens": [46, 47], "chebychev": 46, "info_field_in": 46, "info_field_out": 46, "subtract": 46, "perhap": 46, "belong": 46, "n_p": 47, "n_dim": 47, "dim": 47, "n_hull_p": 47, "equat": 47, "convexhul": 47, "simplex": 47, "transl_symprec": 47, "include_zero": 47, "extract": 47, "e0_data": 47, "e0_valu": 47, "active_it": [47, 48], "reorganis": 47, "arr": 47, "yield": [47, 48], "arr_chunk": 47, "array_lik": 47, "error_dict": 47, "serializ": 47, "error_dict_json_compat": 47, "naiv": 47, "n_posit": 47, "hyperov": 47, "rectilinear": 47, "prism": 47, "neighbor_pair": 47, "linear": 47, "_density_": 47, "neighborlist": 47, "neighbor_list": 47, "recip": 47, "run_autopara_wrapp": 47, "params_dict": 47, "item_path": 47, "baseexcept": 47, "rate": [47, 48], "normal_posit": [47, 48], "thrown": [47, 48], "awai": [47, 48], "drawn": [47, 48], "tri": [47, 48], "lower": [47, 48], "upper": [47, 48], "bound": [47, 48], "manipul": 47, "list_bracket": 47, "_eval_": 47, "interpret": 47, "obj": 47, "n_float_sig_fig": 47, "gone": 47, "recurs": 47, "remaind": 47, "round": 47, "signific": 47, "n_sig_fig": 47, "certain": [47, 48], "stackoverflow": 47, "question": 47, "3410976": 47, "represent": 47, "supplement": 47, "spheric": 47, "algo": 47, "5408276": 47, "y": 47, "composition_z": 47, "_v": 47, "_x": 47, "n_element": 47, "coord": 47, "explor": 48, "alloi": 48, "gain": 48, "introduct": 48, "autom": 48, "manner": 48, "choos": 48, "favourit": 48, "instruct": 48, "expand": 48, "workstat": 48, "primari": 48, "manual_z_pair": 48, "distance_nb": 48, "bond_len_z1_z2": 48, "compact_clust": 48, "f0": 48, "atom_sigma": 48, "r_tran": 48, "central_weight": 48, "nz": 48, "print_sparse_index": 48, "0025": 48, "0625": 48, "125": 48, "do_copy_at_fil": 48, "sparse_separate_fil": 48, "laid": 48, "hierarch": 48, "gp": 48, "gap_template_fil": 48, "tweak": 48, "subcommand": 48, "dig": 48, "gather": 48, "defect": 48, "prep": 48, "summaris": 48, "formula": 48, "normalis": 48, "respect": 48, "narrow": 48, "observ": 48, "crystallographi": 48, "bare": 48, "section": 48, "dft_evalu": 48, "bar": 48, "castep_pp_path": 48, "best": 48, "config_selection_descriptor": 48, "config_selection_descriptor_add_speci": 48, "manual_zcent": 48, "initial_step": 48, "preliminari": 48, "buildcell_total_n": 48, "repuls": 48, "rss_step": 48, "landscap": 48, "minimis": 48, "minim_pressur": 48, "practic": 48, "minima_flat_histo_n": 48, "minima_by_desc_select_n": 48, "ly": 48, "preselect": 48, "selected_traj_flat_histo_n": 48, "selected_traj_by_desc_select_n": 48, "latter": 48, "iter_specif": 48, "larger": 48, "higher": 48, "md_bulk_defect_step": 48, "experi": 48, "minima_fil": 48, "omit": 48, "four": 48, "n_": 48, "matter": 48, "surface_min_thick": 48, "surface_vacuum": 48, "md_dt": 48, "final_flat_histo_n": 48, "final_by_desc_select_n": 48, "idea": 48, "hint": 48, "worker": 48, "hyperthread": 48, "benefici": 48, "usabl": 48, "logic": 48, "gamma_seri": 48, "grif": 48, "ap_": 48, "ss_": 48, "ter_": 48, "grif_buildcell_cmd": 48, "programs_womble0": 48, "omp": 48, "increas": 48, "run_iter_": 48, "care": 48, "lot": 48, "leftov": 48, "gap_rss": 48, "break": 48, "rm": 48, "system_json": 48, "main_config_fil": 48, "total_rss_step": 48, "iter_i": 48, "seq": 48, "md_step": 48}, "objects": {"": [[34, 0, 0, "-", "wfl"]], "wfl": [[35, 0, 0, "-", "autoparallelize"], [36, 0, 0, "-", "calculators"], [38, 0, 0, "-", "cli"], [34, 0, 0, "-", "configset"], [34, 0, 0, "-", "descriptor_heuristics"], [40, 0, 0, "-", "descriptors"], [41, 0, 0, "-", "fit"], [44, 0, 0, "-", "generate"], [34, 0, 0, "-", "map"], [46, 0, 0, "-", "select"], [47, 0, 0, "-", "utils"], [2, 7, 1, "cmdoption-wfl-v", "--verbose"], [2, 7, 1, "cmdoption-wfl-v", "-v"]], "wfl.autoparallelize": [[35, 0, 0, "-", "autoparainfo"], [35, 0, 0, "-", "base"], [35, 0, 0, "-", "mpipool_support"], [35, 0, 0, "-", "pool"], [35, 0, 0, "-", "remote"], [35, 0, 0, "-", "remoteinfo"], [35, 0, 0, "-", "utils"]], "wfl.autoparallelize.autoparainfo": [[35, 1, 1, "", "AutoparaInfo"]], "wfl.autoparallelize.autoparainfo.AutoparaInfo": [[35, 2, 1, "", "update_defaults"]], "wfl.autoparallelize.base": [[35, 3, 1, "", "autoparallelize"], [35, 3, 1, "", "autoparallelize_docstring"]], "wfl.autoparallelize.mpipool_support": [[35, 3, 1, "", "init"], [35, 3, 1, "", "shutdown_and_barrier"]], "wfl.autoparallelize.pool": [[35, 3, 1, "", "do_in_pool"]], "wfl.autoparallelize.remote": [[35, 3, 1, "", "do_remotely"]], "wfl.autoparallelize.remoteinfo": [[35, 1, 1, "", "RemoteInfo"]], "wfl.autoparallelize.utils": [[35, 3, 1, "", "get_remote_info"], [35, 3, 1, "", "get_root_global_seed"], [35, 3, 1, "", "grouper"], [35, 3, 1, "", "set_autopara_per_item_info"]], "wfl.calculators": [[36, 0, 0, "-", "aims"], [36, 0, 0, "-", "castep"], [36, 0, 0, "-", "committee"], [36, 0, 0, "-", "espresso"], [36, 0, 0, "-", "generic"], [36, 0, 0, "-", "mopac"], [37, 0, 0, "-", "orca"], [36, 0, 0, "-", "utils"], [36, 0, 0, "-", "vasp"], [36, 0, 0, "-", "wfl_fileio_calculator"]], "wfl.calculators.aims": [[36, 1, 1, "", "Aims"]], "wfl.calculators.aims.Aims": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "implemented_properties"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.castep": [[36, 1, 1, "", "Castep"]], "wfl.calculators.castep.Castep": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "implemented_properties"], [36, 2, 1, "", "setup_calc_params"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.committee": [[36, 3, 1, "", "calculate_committee"]], "wfl.calculators.espresso": [[36, 1, 1, "", "Espresso"]], "wfl.calculators.espresso.Espresso": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "implemented_properties"], [36, 2, 1, "", "setup_calc_params"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.generic": [[36, 3, 1, "", "calculate"]], "wfl.calculators.mopac": [[36, 1, 1, "", "MOPAC"]], "wfl.calculators.mopac.MOPAC": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.orca": [[37, 1, 1, "", "ORCA"], [37, 0, 0, "-", "basinhopping"], [37, 3, 1, "", "natural_population_analysis"], [37, 3, 1, "", "parse_npa_output"]], "wfl.calculators.orca.ORCA": [[37, 2, 1, "", "calculate"], [37, 2, 1, "", "cleanup"], [37, 4, 1, "", "default_parameters"], [37, 2, 1, "", "get_default_multiplicity"], [37, 4, 1, "", "implemented_properties"], [37, 2, 1, "", "is_converged"], [37, 2, 1, "", "pick_task"], [37, 2, 1, "", "read_dipole"], [37, 2, 1, "", "read_frequencies"], [37, 2, 1, "", "read_opt_atoms"], [37, 2, 1, "", "read_results"], [37, 2, 1, "", "read_trajectory"], [37, 4, 1, "", "wfl_generic_default_autopara_info"], [37, 2, 1, "", "write_input"]], "wfl.calculators.orca.basinhopping": [[37, 1, 1, "", "BasinHoppingORCA"], [37, 3, 1, "", "evaluate_basin_hopping"]], "wfl.calculators.orca.basinhopping.BasinHoppingORCA": [[37, 2, 1, "", "calculate"], [37, 2, 1, "", "get_homo"], [37, 2, 1, "", "get_multiplicity"], [37, 4, 1, "", "implemented_properties"], [37, 2, 1, "", "process_results"]], "wfl.calculators.utils": [[36, 3, 1, "", "clean_rundir"], [36, 3, 1, "", "handle_nonperiodic"], [36, 3, 1, "", "save_results"]], "wfl.calculators.vasp": [[36, 1, 1, "", "Vasp"]], "wfl.calculators.vasp.Vasp": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "default_parameters"], [36, 2, 1, "", "per_config_restore"], [36, 2, 1, "", "per_config_setup"], [36, 4, 1, "", "wfl_generic_num_inputs_per_python_subprocess"]], "wfl.calculators.wfl_fileio_calculator": [[36, 1, 1, "", "WFLFileIOCalculator"]], "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator": [[36, 2, 1, "", "clean_rundir"], [36, 2, 1, "", "cleanup"], [36, 2, 1, "", "setup_rundir"]], "wfl.cli": [[38, 0, 0, "-", "cli"], [38, 0, 0, "-", "cli_options"], [39, 0, 0, "-", "commands"], [38, 0, 0, "-", "gap_rss_iter_fit"]], "wfl.cli.cli_options": [[38, 3, 1, "", "extra_info"], [38, 3, 1, "", "inputs"], [38, 3, 1, "", "num_inputs_per_python_subprocess"], [38, 3, 1, "", "outputs"], [38, 3, 1, "", "param_fname"], [38, 3, 1, "", "prop_prefix"]], "wfl.cli.commands": [[39, 0, 0, "-", "descriptor"], [39, 0, 0, "-", "error"], [39, 0, 0, "-", "eval"], [39, 0, 0, "-", "generate"], [39, 0, 0, "-", "select"]], "wfl.cli.commands.descriptor": [[39, 3, 1, "", "calculate_descriptor"]], "wfl.cli.commands.eval": [[39, 3, 1, "", "pyjulip_ace"]], "wfl.cli.gap_rss_iter_fit": [[38, 3, 1, "", "RSS_minima_diverse"], [38, 3, 1, "", "Z_label"], [38, 3, 1, "", "calc_descriptors_to_file"], [38, 3, 1, "", "create_all_buildcell"], [38, 3, 1, "", "do_fit_and_test"], [38, 3, 1, "", "evaluate_iter_and_fit_all"], [38, 3, 1, "", "evaluate_ref"], [38, 3, 1, "", "flat_histo_then_by_desc"], [38, 3, 1, "", "get_buildcell_input_files"], [38, 3, 1, "", "get_old_fitting_files"], [38, 3, 1, "", "increment_active_iter"], [38, 3, 1, "", "is_elemental"], [38, 3, 1, "", "load_old_descriptors_arrays"], [38, 3, 1, "", "print_log"], [38, 3, 1, "", "process_cur_iter"], [38, 3, 1, "", "select_fitting_and_testing_for_groups"], [38, 3, 1, "", "step_startup"]], "wfl.configset": [[34, 1, 1, "", "ConfigSet"], [34, 1, 1, "", "OutputSpec"]], "wfl.configset.ConfigSet": [[34, 5, 1, "", "cur_loc"], [34, 2, 1, "", "groups"], [34, 2, 1, "", "one_file"]], "wfl.configset.OutputSpec": [[34, 2, 1, "", "all_written"], [34, 2, 1, "", "close"], [34, 2, 1, "", "store"], [34, 2, 1, "", "to_ConfigSet"], [34, 2, 1, "", "write"]], "wfl.descriptor_heuristics": [[34, 3, 1, "", "descriptor_2brn_uniform_file"], [34, 3, 1, "", "descriptors_from_length_scales"], [34, 3, 1, "", "len_scale_pair"]], "wfl.descriptors": [[40, 0, 0, "-", "quippy"]], "wfl.descriptors.quippy": [[40, 3, 1, "", "calculate"], [40, 3, 1, "", "from_any_to_Descriptor"]], "wfl.fit": [[41, 0, 0, "-", "ace"], [41, 0, 0, "-", "error"], [42, 0, 0, "-", "gap"], [43, 0, 0, "-", "modify_database"], [41, 0, 0, "-", "utils"]], "wfl.fit.ace": [[41, 3, 1, "", "fit"], [41, 3, 1, "", "prepare_configs"], [41, 3, 1, "", "prepare_params"], [41, 3, 1, "", "run_ace_fit"]], "wfl.fit.error": [[41, 3, 1, "", "calc"], [41, 3, 1, "", "errors_dumps"], [41, 3, 1, "", "errors_to_dataframe"], [41, 3, 1, "", "natural_sort"], [41, 3, 1, "", "select_units"], [41, 3, 1, "", "value_error_scatter"]], "wfl.fit.gap": [[42, 0, 0, "-", "glue_2b"], [42, 0, 0, "-", "multistage"], [42, 0, 0, "-", "relocate"], [42, 0, 0, "-", "simple"]], "wfl.fit.gap.glue_2b": [[42, 3, 1, "", "construct_glue_2b"]], "wfl.fit.gap.multistage": [[42, 3, 1, "", "GAP_xml_modify_label"], [42, 3, 1, "", "fit"], [42, 3, 1, "", "max_cutoff"], [42, 3, 1, "", "prep_params"]], "wfl.fit.gap.relocate": [[42, 3, 1, "", "gap_relocate"]], "wfl.fit.gap.simple": [[42, 3, 1, "", "dict_to_gap_fit_string"], [42, 3, 1, "", "run_gap_fit"]], "wfl.fit.modify_database": [[43, 0, 0, "-", "gap_rss_set_config_sigmas_from_convex_hull"], [43, 0, 0, "-", "scale_orig"], [43, 0, 0, "-", "simple_factor_nonperiodic"]], "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull": [[43, 3, 1, "", "modify"], [43, 3, 1, "", "piecewise_linear"]], "wfl.fit.modify_database.scale_orig": [[43, 3, 1, "", "modify"]], "wfl.fit.modify_database.simple_factor_nonperiodic": [[43, 3, 1, "", "list_to_sigma_dict"], [43, 3, 1, "", "modify"], [43, 3, 1, "", "modify_cell"], [43, 3, 1, "", "modify_with_factor"]], "wfl.fit.utils": [[41, 3, 1, "", "ace_fit_jl_path"], [41, 3, 1, "", "copy_properties"], [41, 3, 1, "", "fix_stress_virial"]], "wfl.generate": [[44, 0, 0, "-", "atoms_and_dimers"], [44, 0, 0, "-", "buildcell"], [45, 0, 0, "-", "md"], [44, 0, 0, "-", "minimahopping"], [44, 0, 0, "-", "normal_modes"], [44, 0, 0, "-", "optimize"], [44, 0, 0, "-", "phonopy"], [44, 0, 0, "-", "smiles"], [44, 0, 0, "-", "supercells"], [44, 0, 0, "-", "utils"]], "wfl.generate.atoms_and_dimers": [[44, 3, 1, "", "isolated_atom_from_e0"], [44, 3, 1, "", "prepare"]], "wfl.generate.buildcell": [[44, 3, 1, "", "buildcell"], [44, 3, 1, "", "conv_buildcell_out"], [44, 3, 1, "", "create_input"]], "wfl.generate.md": [[45, 0, 0, "-", "abort"], [45, 0, 0, "-", "abort_base"], [45, 3, 1, "", "md"]], "wfl.generate.md.abort": [[45, 1, 1, "", "AbortOnCollision"]], "wfl.generate.md.abort.AbortOnCollision": [[45, 2, 1, "", "atoms_ok"]], "wfl.generate.md.abort_base": [[45, 1, 1, "", "AbortSimBase"]], "wfl.generate.md.abort_base.AbortSimBase": [[45, 2, 1, "", "atoms_ok"], [45, 2, 1, "", "stop"]], "wfl.generate.minimahopping": [[44, 3, 1, "", "minimahopping"]], "wfl.generate.normal_modes": [[44, 1, 1, "", "NormalModes"], [44, 3, 1, "", "generate_normal_modes_parallel_atoms"], [44, 3, 1, "", "generate_normal_modes_parallel_hessian"], [44, 3, 1, "", "sample_normal_modes"]], "wfl.generate.normal_modes.NormalModes": [[44, 2, 1, "", "derive_normal_mode_info"], [44, 2, 1, "", "evals_to_freqs"], [44, 2, 1, "", "evecs_to_modes"], [44, 2, 1, "", "freqs_to_evals"], [44, 2, 1, "", "modes_to_evecs"], [44, 4, 1, "", "num_hess_delta"], [44, 2, 1, "", "sample_normal_modes"], [44, 2, 1, "", "summary"], [44, 2, 1, "", "view"]], "wfl.generate.optimize": [[44, 3, 1, "", "optimize"], [44, 3, 1, "", "subselect_from_traj"]], "wfl.generate.phonopy": [[44, 3, 1, "", "phonopy"]], "wfl.generate.smiles": [[44, 3, 1, "", "smi_to_atoms"], [44, 3, 1, "", "smiles"]], "wfl.generate.supercells": [[44, 3, 1, "", "antisite"], [44, 3, 1, "", "interstitial"], [44, 3, 1, "", "largest_bulk"], [44, 3, 1, "", "surface"], [44, 3, 1, "", "vacancy"]], "wfl.generate.utils": [[44, 3, 1, "", "config_type_append"]], "wfl.map": [[34, 3, 1, "", "map"]], "wfl.select": [[46, 0, 0, "-", "by_descriptor"], [46, 0, 0, "-", "convex_hull"], [46, 0, 0, "-", "flat_histogram"], [46, 0, 0, "-", "selection_space"], [46, 0, 0, "-", "simple"]], "wfl.select.by_descriptor": [[46, 3, 1, "", "CUR"], [46, 3, 1, "", "CUR_conf_global"], [46, 3, 1, "", "do_svd"], [46, 3, 1, "", "greedy_fps_conf_global"], [46, 3, 1, "", "prep_descs_and_exclude"], [46, 3, 1, "", "write_selected_and_clean"]], "wfl.select.convex_hull": [[46, 3, 1, "", "select"]], "wfl.select.flat_histogram": [[46, 3, 1, "", "biased_select_conf"]], "wfl.select.selection_space": [[46, 3, 1, "", "compare_manual_minima"], [46, 3, 1, "", "minima_among_neighbors"], [46, 3, 1, "", "val_relative_to_nearby_composition_volume_min"]], "wfl.select.simple": [[46, 3, 1, "", "by_bool_func"], [46, 3, 1, "", "by_index"]], "wfl.utils": [[47, 0, 0, "-", "at_copy_save_results"], [47, 0, 0, "-", "configs"], [47, 0, 0, "-", "convex_hull"], [47, 0, 0, "-", "file_utils"], [47, 0, 0, "-", "find_voids"], [47, 0, 0, "-", "gap_xml_tools"], [47, 0, 0, "-", "julia"], [47, 0, 0, "-", "logging"], [47, 0, 0, "-", "misc"], [47, 0, 0, "-", "ndim_neighbor_list"], [47, 0, 0, "-", "parallel"], [47, 0, 0, "-", "params"], [47, 0, 0, "-", "pressure"], [47, 0, 0, "-", "quip_cli_strings"], [47, 0, 0, "-", "replace_eval_in_strs"], [47, 0, 0, "-", "round_sig_figs"], [47, 0, 0, "-", "vector_utils"], [47, 0, 0, "-", "version"], [47, 0, 0, "-", "vol_composition_space"]], "wfl.utils.at_copy_save_results": [[47, 3, 1, "", "at_copy_save_results"]], "wfl.utils.configs": [[47, 3, 1, "", "atomization_energy"], [47, 3, 1, "", "find_isolated_atoms"]], "wfl.utils.convex_hull": [[47, 3, 1, "", "find_hull"], [47, 3, 1, "", "vertical_dist_from_hull"]], "wfl.utils.file_utils": [[47, 3, 1, "", "clean_dir"]], "wfl.utils.find_voids": [[47, 3, 1, "", "find_voids"]], "wfl.utils.gap_xml_tools": [[47, 3, 1, "", "extract_e0"]], "wfl.utils.julia": [[47, 3, 1, "", "julia_exec_path"]], "wfl.utils.logging": [[47, 3, 1, "", "increment_active_iter"], [47, 3, 1, "", "print_log"], [47, 3, 1, "", "process_active_iter"]], "wfl.utils.misc": [[47, 3, 1, "", "atoms_to_list"], [47, 3, 1, "", "chunks"], [47, 3, 1, "", "dict_tuple_keys_to_str"]], "wfl.utils.ndim_neighbor_list": [[47, 3, 1, "", "calc_list"], [47, 3, 1, "", "calc_list_cells"]], "wfl.utils.parallel": [[47, 3, 1, "", "construct_calculator_picklesafe"]], "wfl.utils.params": [[47, 1, 1, "", "Params"]], "wfl.utils.params.Params": [[47, 5, 1, "", "cur_iter"], [47, 5, 1, "", "dft_code"], [47, 5, 1, "", "dft_params"], [47, 2, 1, "", "get"], [47, 4, 1, "", "implemented_calculators"]], "wfl.utils.pressure": [[47, 6, 1, "", "PressureRecursionError"], [47, 3, 1, "", "sample_pressure"]], "wfl.utils.quip_cli_strings": [[47, 3, 1, "", "dict_to_quip_str"]], "wfl.utils.replace_eval_in_strs": [[47, 3, 1, "", "replace_eval_in_strs"]], "wfl.utils.round_sig_figs": [[47, 3, 1, "", "round_sig_figs"]], "wfl.utils.vector_utils": [[47, 3, 1, "", "random_three_vector"]], "wfl.utils.version": [[47, 3, 1, "", "get_wfl_version"]], "wfl.utils.vol_composition_space": [[47, 3, 1, "", "composition_space_Zs"], [47, 3, 1, "", "composition_space_coord"]], "wfl-descriptor-quippy": [[2, 7, 1, "cmdoption-wfl-descriptor-quippy-descriptor", "--descriptor"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-force", "--force"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-key", "--key"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-local", "--local"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-i", "-i"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-o", "-o"]], "wfl-error": [[2, 7, 1, "cmdoption-wfl-error-ap", "--atom-properties"], [2, 7, 1, "cmdoption-wfl-error-cpp", "--calc-property-prefix"], [2, 7, 1, "cmdoption-wfl-error-ck", "--category-keys"], [2, 7, 1, "cmdoption-wfl-error-cmap", "--cmap"], [2, 7, 1, "cmdoption-wfl-error-cp", "--config-properties"], [2, 7, 1, "cmdoption-wfl-error-error-type", "--error-type"], [2, 7, 1, "cmdoption-wfl-error-f", "--fig-name"], [2, 7, 1, "cmdoption-wfl-error-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-error-p", "--precision"], [2, 7, 1, "cmdoption-wfl-error-rpp", "--ref-property-prefix"], [2, 7, 1, "cmdoption-wfl-error-wp", "--weight-property"], [2, 7, 1, "cmdoption-wfl-error-ap", "-ap"], [2, 7, 1, "cmdoption-wfl-error-ck", "-ck"], [2, 7, 1, "cmdoption-wfl-error-cp", "-cp"], [2, 7, 1, "cmdoption-wfl-error-cpp", "-cpp"], [2, 7, 1, "cmdoption-wfl-error-f", "-f"], [2, 7, 1, "cmdoption-wfl-error-i", "-i"], [2, 7, 1, "cmdoption-wfl-error-p", "-p"], [2, 7, 1, "cmdoption-wfl-error-rpp", "-rpp"], [2, 7, 1, "cmdoption-wfl-error-wp", "-wp"]], "wfl-eval-ace": [[2, 7, 1, "cmdoption-wfl-eval-ace-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-ace-num-inputs-per-python-subprocess", "--num-inputs-per-python-subprocess"], [2, 7, 1, "cmdoption-wfl-eval-ace-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-ace-pf", "--param-fname"], [2, 7, 1, "cmdoption-wfl-eval-ace-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-ace-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-ace-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-ace-pf", "-pf"], [2, 7, 1, "cmdoption-wfl-eval-ace-pp", "-pp"]], "wfl-eval-atomization-energy": [[2, 7, 1, "cmdoption-wfl-eval-atomization-energy-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-k", "--isolated-atom-info-key"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-v", "--isolated-atom-info-value"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-prop", "--prop"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-k", "-k"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-pp", "-pp"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-v", "-v"]], "wfl-eval-gap": [[2, 7, 1, "cmdoption-wfl-eval-gap-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-gap-num-inputs-per-python-subprocess", "--num-inputs-per-python-subprocess"], [2, 7, 1, "cmdoption-wfl-eval-gap-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-gap-pf", "--param-fname"], [2, 7, 1, "cmdoption-wfl-eval-gap-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-gap-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-gap-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-gap-pf", "-pf"], [2, 7, 1, "cmdoption-wfl-eval-gap-pp", "-pp"]], "wfl-eval-mace": [[2, 7, 1, "cmdoption-wfl-eval-mace-dtype", "--dtype"], [2, 7, 1, "cmdoption-wfl-eval-mace-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-mace-num-inputs-per-python-subprocess", "--num-inputs-per-python-subprocess"], [2, 7, 1, "cmdoption-wfl-eval-mace-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-mace-pf", "--param-fname"], [2, 7, 1, "cmdoption-wfl-eval-mace-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-mace-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-mace-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-mace-pf", "-pf"], [2, 7, 1, "cmdoption-wfl-eval-mace-pp", "-pp"]], "wfl-generate-buildcell": [[2, 7, 1, "cmdoption-wfl-generate-buildcell-buildcell-exec", "--buildcell-exec"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-buildcell-input", "--buildcell-input"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-ei", "--extra-info"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-N", "--n-configs"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-perturbation", "--perturbation"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-N", "-N"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-ei", "-ei"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-o", "-o"]], "wfl-generate-smiles": [[2, 7, 1, "cmdoption-wfl-generate-smiles-ei", "--extra-info"], [2, 7, 1, "cmdoption-wfl-generate-smiles-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-generate-smiles-ei", "-ei"], [2, 7, 1, "cmdoption-wfl-generate-smiles-o", "-o"], [2, 7, 1, "cmdoption-wfl-generate-smiles-arg-SMILES_STRING", "SMILES_STRING"]], "wfl-select-cur": [[2, 7, 1, "cmdoption-wfl-select-cur-deterministic", "--deterministic"], [2, 7, 1, "cmdoption-wfl-select-cur-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-select-cur-keep_descriptor", "--keep_descriptor"], [2, 7, 1, "cmdoption-wfl-select-cur-kernel_exponent", "--kernel_exponent"], [2, 7, 1, "cmdoption-wfl-select-cur-key", "--key"], [2, 7, 1, "cmdoption-wfl-select-cur-N", "--n-configs"], [2, 7, 1, "cmdoption-wfl-select-cur-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-select-cur-stochastic-seed", "--stochastic-seed"], [2, 7, 1, "cmdoption-wfl-select-cur-N", "-N"], [2, 7, 1, "cmdoption-wfl-select-cur-i", "-i"], [2, 7, 1, "cmdoption-wfl-select-cur-o", "-o"]], "wfl-select-lambda": [[2, 7, 1, "cmdoption-wfl-select-lambda-e", "--exec-code"], [2, 7, 1, "cmdoption-wfl-select-lambda-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-select-lambda-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-select-lambda-e", "-e"], [2, 7, 1, "cmdoption-wfl-select-lambda-i", "-i"], [2, 7, 1, "cmdoption-wfl-select-lambda-o", "-o"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute", "5": "py:property", "6": "py:exception", "7": "std:cmdoption"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"], "7": ["std", "cmdoption", "program option"]}, "titleterms": {"command": [0, 9, 16, 39], "line": [0, 9, 16], "interfac": 0, "calcul": [0, 6, 8, 9, 10, 22, 36, 37], "orca": [0, 14, 37], "outdat": 0, "castep": [0, 36], "vasp": [0, 36], "util": [1, 35, 36, 41, 44, 47], "function": [1, 32, 33], "find": 1, "void": 1, "e0": 1, "from": 1, "gap": [1, 2, 6, 12, 25, 27, 42, 48], "xml": 1, "wfl": [2, 6, 19, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "descriptor": [2, 6, 9, 23, 28, 39, 40], "quippi": [2, 40], "error": [2, 6, 12, 39, 41], "eval": [2, 39], "ac": [2, 21, 41], "atom": [2, 6, 16, 26, 30], "energi": 2, "mace": [2, 10], "gener": [2, 6, 7, 9, 12, 13, 22, 26, 36, 39, 44, 45], "buildcel": [2, 4, 26, 44], "smile": [2, 16, 26, 44], "select": [2, 6, 15, 28, 39, 46, 48], "cur": [2, 6, 28], "lambda": 2, "exampl": [3, 5, 6, 10, 17, 33], "content": [3, 12, 18, 20, 24, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "random": 4, "structur": [4, 6, 7, 9, 15, 26, 30], "via": [4, 14], "contribut": 5, "prepar": [5, 6, 12, 48], "hide": 5, "test": [5, 12, 33], "onlin": 5, "document": [5, 18], "updat": 5, "relat": 5, "file": [5, 22, 27], "fit": [6, 9, 12, 21, 24, 25, 27, 41, 42, 43], "workflow": [6, 12, 18, 22], "mani": 6, "us": [6, 32], "case": 6, "import": [6, 12], "refer": 6, "isol": 6, "initi": [6, 12, 48], "run": [6, 9, 33], "molecular": [6, 11, 26], "dynam": [6, 11, 26], "simul": 6, "filter": 6, "soap": 6, "sub": 6, "evalu": [6, 9], "plot": 6, "correl": 6, "dimer": [7, 26], "fhi": 8, "aim": [8, 36], "index": 9, "md": [9, 45, 48], "remot": [9, 17, 33, 35], "execut": [9, 17], "get": [9, 12], "sampl": [9, 13, 15, 28], "potenti": [9, 24], "iter": [9, 12], "train": [9, 12], "miscellan": 9, "parallel": [10, 12, 22, 32, 47], "complet": [10, 17], "tabl": 12, "setup": 12, "start": [12, 48], "process": 12, "The": 12, "keep": 12, "track": 12, "normal": [13, 26], "mode": [13, 26], "molecul": [13, 26], "visual": 13, "python": [14, 16, 32], "script": [14, 16, 17, 32, 48], "first": 17, "With": 17, "welcom": 18, "": 18, "instal": 18, "repositori": 18, "oper": [20, 32], "base": [22, 35], "special": 22, "super": 26, "cell": 26, "geometri": 26, "optim": [26, 44], "minima": 26, "hop": 26, "phonon": 26, "multistag": [27, 42], "procedur": 27, "configur": 27, "creat": [27, 32], "config": [28, 47, 48], "global": 28, "furthest": 28, "point": 28, "flat": 28, "histogram": 28, "convex": 28, "hull": 28, "simpl": [28, 42, 46], "overview": 29, "thi": 29, "section": 29, "outlin": 29, "input": 30, "output": 30, "intern": 30, "develop": 30, "overal": 31, "design": 31, "automat": 32, "task": 32, "program": 32, "mpi": 32, "wfl_mpipool": 32, "runtim": [32, 48], "control": 32, "over": 32, "singl": 32, "node": 32, "subprocess": 32, "multipl": 32, "auto": 32, "independ": 33, "queu": 33, "job": [33, 48], "wfl_expyre_info": 33, "syntax": 33, "kei": 33, "valu": 33, "divid": 33, "item": 33, "parallelis": 33, "within": 33, "pytest": 33, "packag": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "subpackag": [34, 36, 38, 41, 44], "submodul": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "configset": 34, "modul": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "descriptor_heurist": 34, "map": 34, "autoparallel": 35, "autoparainfo": 35, "mpipool_support": 35, "pool": 35, "remoteinfo": 35, "paramet": 36, "committe": 36, "espresso": 36, "mopac": 36, "wfl_fileio_calcul": 36, "basinhop": 37, "cli": [38, 39], "cli_opt": 38, "dft_convergence_test": 38, "gap_rss_iter_fit": 38, "glue_2b": 42, "reloc": 42, "modify_databas": 43, "gap_rss_set_config_sigmas_from_convex_hul": 43, "scale_orig": 43, "simple_factor_nonperiod": 43, "atoms_and_dim": 44, "minimahop": 44, "normal_mod": 44, "phonopi": 44, "supercel": 44, "abort": 45, "abort_bas": 45, "by_descriptor": 46, "convex_hul": [46, 47], "flat_histogram": 46, "selection_spac": 46, "at_copy_save_result": 47, "file_util": 47, "find_void": 47, "gap_xml_tool": 47, "julia": 47, "log": 47, "misc": 47, "ndim_neighbor_list": 47, "param": 47, "pressur": 47, "quip_cli_str": 47, "replace_eval_in_str": 47, "round_sig_fig": 47, "vector_util": 47, "version": 47, "vol_composition_spac": 47, "how": 48, "do": 48, "rss": 48, "befor": 48, "you": 48, "main": 48, "step": 48, "dft": 48, "set": 48}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Command line interface": [[0, "command-line-interface"]], "Calculators": [[0, "calculators"]], "ORCA (outdated)": [[0, "orca-outdated"]], "CASTEP": [[0, "castep"]], "VASP": [[0, "vasp"]], "Utility functions": [[1, "utility-functions"]], "Find Voids": [[1, "find-voids"]], "e0 from GAP XML": [[1, "e0-from-gap-xml"]], "wfl": [[2, "wfl"], [19, "wfl"]], "descriptor": [[2, "wfl-descriptor"]], "quippy": [[2, "wfl-descriptor-quippy"]], "error": [[2, "wfl-error"]], "eval": [[2, "wfl-eval"]], "ace": [[2, "wfl-eval-ace"]], "atomization-energy": [[2, "wfl-eval-atomization-energy"]], "gap": [[2, "wfl-eval-gap"]], "mace": [[2, "wfl-eval-mace"]], "generate": [[2, "wfl-generate"]], "buildcell": [[2, "wfl-generate-buildcell"]], "smiles": [[2, "wfl-generate-smiles"]], "select": [[2, "wfl-select"]], "cur": [[2, "wfl-select-cur"]], "lambda": [[2, "wfl-select-lambda"]], "Examples": [[3, "examples"]], "Contents:": [[3, null], [20, null], [24, null]], "Random Structures via buildcell": [[4, "Random-Structures-via-buildcell"]], "Contributing Examples": [[5, "contributing-examples"]], "Preparing the Example": [[5, "preparing-the-example"]], "Hiding Tests in the Online Documentation": [[5, "hiding-tests-in-the-online-documentation"]], "Updating Related Files": [[5, "updating-related-files"]], "GAP fit workflow with many wfl use-case examples": [[6, "GAP-fit-workflow-with-many-wfl-use-case-examples"]], "Imports": [[6, "Imports"]], "Reference calculator": [[6, "Reference-calculator"]], "Prepare isolated atoms": [[6, "Prepare-isolated-atoms"]], "Generate initial structures": [[6, "Generate-initial-structures"]], "Run Molecular Dynamics simulation": [[6, "Run-Molecular-Dynamics-simulation"]], "Filter structures": [[6, "Filter-structures"]], "Calculate SOAP descriptor": [[6, "Calculate-SOAP-descriptor"]], "Sub-select with CUR": [[6, "Sub-select-with-CUR"]], "Fit GAP": [[6, "Fit-GAP"]], "Evaluate structures with GAP": [[6, "Evaluate-structures-with-GAP"]], "Evaluate error & plot correlation": [[6, "Evaluate-error-&-plot-correlation"]], "Generating Dimer Structures": [[7, "Generating-Dimer-Structures"]], "FHI-Aims Calculator": [[8, "FHI-Aims-Calculator"]], "Index": [[9, "index"]], "Evaluate structures with a calculator": [[9, "evaluate-structures-with-a-calculator"]], "Generate structures": [[9, "generate-structures"]], "Run MD": [[9, "run-md"]], "Remote execution": [[9, "remote-execution"]], "Get descriptors": [[9, "get-descriptors"]], "Sampling structures": [[9, "sampling-structures"]], "Fit a potential": [[9, "fit-a-potential"]], "Iterative training": [[9, "iterative-training"]], "Command line": [[9, "command-line"], [16, "command-line"]], "Miscellaneous": [[9, "miscellaneous"]], "Parallelize MACE calculator": [[10, "parallelize-mace-calculator"]], "Complete example": [[10, "complete-example"]], "Molecular Dynamics": [[11, "molecular-dynamics"], [26, "molecular-dynamics"]], "Iterative GAP fitting": [[12, "iterative-gap-fitting"]], "Table of contents": [[12, "table-of-contents"]], "General workflow and setup": [[12, "general-workflow-and-setup"]], "Getting started: Parallelization and Imports": [[12, "getting-started-parallelization-and-imports"]], "Fitting the initial GAP": [[12, "fitting-the-initial-gap"]], "Preparing the iterative process": [[12, "preparing-the-iterative-process"]], "The Iterative Process": [[12, "the-iterative-process"]], "Keeping track of training and test errors": [[12, "keeping-track-of-training-and-test-errors"]], "Normal Modes of molecules": [[13, "normal-modes-of-molecules"]], "Generate": [[13, "generate"]], "Visualize": [[13, "visualize"]], "Sample": [[13, "sample"]], "ORCA via Python script": [[14, "orca-via-python-script"]], "Selection or Sampling of Structures": [[15, "Selection-or-Sampling-of-Structures"]], "SMILES to Atoms": [[16, "smiles-to-atoms"], [26, "smiles-to-atoms"]], "Python script": [[16, "python-script"]], "First Example": [[17, "first-example"]], "Complete script": [[17, "complete-script"], [17, "id2"]], "With remote execution": [[17, "with-remote-execution"]], "Welcome to Workflow\u2019s documentation!": [[18, "welcome-to-workflow-s-documentation"]], "Installation": [[18, "installation"]], "Repository": [[18, "repository"]], "Contents": [[18, "contents"]], "Operations": [[20, "operations"]], "Fitting ACE": [[21, "fitting-ace"]], "Calculators in Workflow": [[22, "calculators-in-workflow"]], "Parallelize with generic.calculate()": [[22, "parallelize-with-generic-calculate"]], "File-based calculators": [[22, "file-based-calculators"]], "Special calculators": [[22, "special-calculators"]], "Descriptors": [[23, "descriptors"]], "Fitting potentials": [[24, "fitting-potentials"]], "Fitting GAP": [[25, "fitting-gap"]], "Generating Atomic Structures": [[26, "generating-atomic-structures"]], "Atoms and Dimers": [[26, "atoms-and-dimers"]], "BuildCell": [[26, "buildcell"]], "Super Cells": [[26, "super-cells"]], "Geometry Optimization": [[26, "geometry-optimization"]], "Minima Hopping": [[26, "minima-hopping"]], "Structures for phonons": [[26, "structures-for-phonons"]], "Normal Modes of Molecules": [[26, "normal-modes-of-molecules"]], "Multistage GAP fitting": [[27, "multistage-gap-fitting"]], "Procedure": [[27, "procedure"]], "Configuration file": [[27, "configuration-file"]], "Creating configuration file": [[27, "creating-configuration-file"]], "Selecting Configs": [[28, "selecting-configs"]], "CUR on global descriptor": [[28, "cur-on-global-descriptor"]], "Furthest point sampling": [[28, "furthest-point-sampling"]], "Flat histogram": [[28, "flat-histogram"]], "Convex hull": [[28, "convex-hull"]], "Simple select": [[28, "simple-select"]], "Overview": [[29, "overview"]], "This section outlines:": [[29, null]], "Input and output of atomic structures": [[30, "input-and-output-of-atomic-structures"]], "Internals, for developers": [[30, "internals-for-developers"]], "Overall design": [[31, "overall-design"]], "Automatic parallelization of tasks": [[32, "automatic-parallelization-of-tasks"]], "Programming script that use parallelized operations": [[32, "programming-script-that-use-parallelized-operations"]], "MPI with WFL_MPIPOOL": [[32, "mpi-with-wfl-mpipool"]], "Runtime control over parallelization": [[32, "runtime-control-over-parallelization"]], "Single node using python subprocesses": [[32, "single-node-using-python-subprocesses"]], "Multiple nodes using MPI": [[32, "multiple-nodes-using-mpi"]], "Creating auto-parallelized functions": [[32, "creating-auto-parallelized-functions"]], "Functions as independently queued jobs": [[33, "functions-as-independently-queued-jobs"]], "Example": [[33, "example"]], "WFL_EXPYRE_INFO syntax": [[33, "wfl-expyre-info-syntax"]], "Keys": [[33, "keys"]], "Values": [[33, "values"]], "Dividing items into and parallelising within jobs": [[33, "dividing-items-into-and-parallelising-within-jobs"]], "Testing": [[33, "testing"]], "Pytest with remote run example": [[33, "pytest-with-remote-run-example"]], "wfl package": [[34, "wfl-package"]], "Subpackages": [[34, "subpackages"], [36, "subpackages"], [38, "subpackages"], [41, "subpackages"], [44, "subpackages"]], "Submodules": [[34, "submodules"], [35, "submodules"], [36, "submodules"], [37, "submodules"], [38, "submodules"], [39, "submodules"], [40, "submodules"], [41, "submodules"], [42, "submodules"], [43, "submodules"], [44, "submodules"], [45, "submodules"], [46, "submodules"], [47, "submodules"]], "wfl.configset module": [[34, "module-wfl.configset"]], "wfl.descriptor_heuristics module": [[34, "module-wfl.descriptor_heuristics"]], "wfl.map module": [[34, "module-wfl.map"]], "Module contents": [[34, "module-wfl"], [35, "module-wfl.autoparallelize"], [36, "module-wfl.calculators"], [37, "module-wfl.calculators.orca"], [38, "module-wfl.cli"], [39, "module-wfl.cli.commands"], [40, "module-wfl.descriptors"], [41, "module-wfl.fit"], [42, "module-wfl.fit.gap"], [43, "module-wfl.fit.modify_database"], [44, "module-wfl.generate"], [45, "module-wfl.generate.md"], [46, "module-wfl.select"], [47, "module-wfl.utils"]], "wfl.autoparallelize package": [[35, "wfl-autoparallelize-package"]], "wfl.autoparallelize.autoparainfo module": [[35, "module-wfl.autoparallelize.autoparainfo"]], "wfl.autoparallelize.base module": [[35, "module-wfl.autoparallelize.base"]], "wfl.autoparallelize.mpipool_support module": [[35, "module-wfl.autoparallelize.mpipool_support"]], "wfl.autoparallelize.pool module": [[35, "module-wfl.autoparallelize.pool"]], "wfl.autoparallelize.remote module": [[35, "module-wfl.autoparallelize.remote"]], "wfl.autoparallelize.remoteinfo module": [[35, "module-wfl.autoparallelize.remoteinfo"]], "wfl.autoparallelize.utils module": [[35, "module-wfl.autoparallelize.utils"]], "wfl.calculators package": [[36, "wfl-calculators-package"]], "wfl.calculators.aims module": [[36, "module-wfl.calculators.aims"]], "Parameter:": [[36, "parameter"]], "wfl.calculators.castep module": [[36, "module-wfl.calculators.castep"]], "wfl.calculators.committee module": [[36, "module-wfl.calculators.committee"]], "wfl.calculators.espresso module": [[36, "module-wfl.calculators.espresso"]], "wfl.calculators.generic module": [[36, "module-wfl.calculators.generic"]], "wfl.calculators.mopac module": [[36, "module-wfl.calculators.mopac"]], "wfl.calculators.utils module": [[36, "module-wfl.calculators.utils"]], "wfl.calculators.vasp module": [[36, "module-wfl.calculators.vasp"]], "wfl.calculators.wfl_fileio_calculator module": [[36, "module-wfl.calculators.wfl_fileio_calculator"]], "wfl.calculators.orca package": [[37, "wfl-calculators-orca-package"]], "wfl.calculators.orca.basinhopping module": [[37, "module-wfl.calculators.orca.basinhopping"]], "wfl.cli package": [[38, "wfl-cli-package"]], "wfl.cli.cli module": [[38, "module-wfl.cli.cli"]], "wfl.cli.cli_options module": [[38, "module-wfl.cli.cli_options"]], "wfl.cli.dft_convergence_test module": [[38, "wfl-cli-dft-convergence-test-module"]], "wfl.cli.gap_rss_iter_fit module": [[38, "module-wfl.cli.gap_rss_iter_fit"]], "wfl.cli.commands package": [[39, "wfl-cli-commands-package"]], "wfl.cli.commands.descriptor module": [[39, "module-wfl.cli.commands.descriptor"]], "wfl.cli.commands.error module": [[39, "module-wfl.cli.commands.error"]], "wfl.cli.commands.eval module": [[39, "module-wfl.cli.commands.eval"]], "wfl.cli.commands.generate module": [[39, "module-wfl.cli.commands.generate"]], "wfl.cli.commands.select module": [[39, "module-wfl.cli.commands.select"]], "wfl.descriptors package": [[40, "wfl-descriptors-package"]], "wfl.descriptors.quippy module": [[40, "module-wfl.descriptors.quippy"]], "wfl.fit package": [[41, "wfl-fit-package"]], "wfl.fit.ace module": [[41, "module-wfl.fit.ace"]], "wfl.fit.error module": [[41, "module-wfl.fit.error"]], "wfl.fit.utils module": [[41, "module-wfl.fit.utils"]], "wfl.fit.gap package": [[42, "wfl-fit-gap-package"]], "wfl.fit.gap.glue_2b module": [[42, "module-wfl.fit.gap.glue_2b"]], "wfl.fit.gap.multistage module": [[42, "module-wfl.fit.gap.multistage"]], "wfl.fit.gap.relocate module": [[42, "module-wfl.fit.gap.relocate"]], "wfl.fit.gap.simple module": [[42, "module-wfl.fit.gap.simple"]], "wfl.fit.modify_database package": [[43, "wfl-fit-modify-database-package"]], "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull module": [[43, "module-wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull"]], "wfl.fit.modify_database.scale_orig module": [[43, "module-wfl.fit.modify_database.scale_orig"]], "wfl.fit.modify_database.simple_factor_nonperiodic module": [[43, "module-wfl.fit.modify_database.simple_factor_nonperiodic"]], "wfl.generate package": [[44, "wfl-generate-package"]], "wfl.generate.atoms_and_dimers module": [[44, "module-wfl.generate.atoms_and_dimers"]], "wfl.generate.buildcell module": [[44, "module-wfl.generate.buildcell"]], "wfl.generate.minimahopping module": [[44, "module-wfl.generate.minimahopping"]], "wfl.generate.normal_modes module": [[44, "module-wfl.generate.normal_modes"]], "wfl.generate.optimize module": [[44, "module-wfl.generate.optimize"]], "wfl.generate.phonopy module": [[44, "module-wfl.generate.phonopy"]], "wfl.generate.smiles module": [[44, "module-wfl.generate.smiles"]], "wfl.generate.supercells module": [[44, "module-wfl.generate.supercells"]], "wfl.generate.utils module": [[44, "module-wfl.generate.utils"]], "wfl.generate.md package": [[45, "wfl-generate-md-package"]], "wfl.generate.md.abort module": [[45, "module-wfl.generate.md.abort"]], "wfl.generate.md.abort_base module": [[45, "module-wfl.generate.md.abort_base"]], "wfl.select package": [[46, "wfl-select-package"]], "wfl.select.by_descriptor module": [[46, "module-wfl.select.by_descriptor"]], "wfl.select.convex_hull module": [[46, "module-wfl.select.convex_hull"]], "wfl.select.flat_histogram module": [[46, "module-wfl.select.flat_histogram"]], "wfl.select.selection_space module": [[46, "module-wfl.select.selection_space"]], "wfl.select.simple module": [[46, "module-wfl.select.simple"]], "wfl.utils package": [[47, "wfl-utils-package"]], "wfl.utils.at_copy_save_results module": [[47, "module-wfl.utils.at_copy_save_results"]], "wfl.utils.configs module": [[47, "module-wfl.utils.configs"]], "wfl.utils.convex_hull module": [[47, "module-wfl.utils.convex_hull"]], "wfl.utils.file_utils module": [[47, "module-wfl.utils.file_utils"]], "wfl.utils.find_voids module": [[47, "module-wfl.utils.find_voids"]], "wfl.utils.gap_xml_tools module": [[47, "module-wfl.utils.gap_xml_tools"]], "wfl.utils.julia module": [[47, "module-wfl.utils.julia"]], "wfl.utils.logging module": [[47, "module-wfl.utils.logging"]], "wfl.utils.misc module": [[47, "module-wfl.utils.misc"]], "wfl.utils.ndim_neighbor_list module": [[47, "module-wfl.utils.ndim_neighbor_list"]], "wfl.utils.parallel module": [[47, "module-wfl.utils.parallel"]], "wfl.utils.params module": [[47, "module-wfl.utils.params"]], "wfl.utils.pressure module": [[47, "module-wfl.utils.pressure"]], "wfl.utils.quip_cli_strings module": [[47, "module-wfl.utils.quip_cli_strings"]], "wfl.utils.replace_eval_in_strs module": [[47, "module-wfl.utils.replace_eval_in_strs"]], "wfl.utils.round_sig_figs module": [[47, "module-wfl.utils.round_sig_figs"]], "wfl.utils.vector_utils module": [[47, "module-wfl.utils.vector_utils"]], "wfl.utils.version module": [[47, "module-wfl.utils.version"]], "wfl.utils.vol_composition_space module": [[47, "module-wfl.utils.vol_composition_space"]], "How to do GAP-RSS": [[48, "how-to-do-gap-rss"]], "Before you start": [[48, "before-you-start"]], "Main config": [[48, "main-config"]], "Steps of GAP-RSS": [[48, "steps-of-gap-rss"]], "Preparation step": [[48, "preparation-step"]], "DFT settings": [[48, "dft-settings"]], "Config selection": [[48, "config-selection"]], "Initial step": [[48, "initial-step"]], "RSS step": [[48, "rss-step"]], "MD step": [[48, "md-step"]], "Job script and runtime settings": [[48, "job-script-and-runtime-settings"]]}, "indexentries": {"--atom-properties": [[2, "cmdoption-wfl-error-ap"]], "--buildcell-exec": [[2, "cmdoption-wfl-generate-buildcell-buildcell-exec"]], "--buildcell-input": [[2, "cmdoption-wfl-generate-buildcell-buildcell-input"]], "--calc-property-prefix": [[2, "cmdoption-wfl-error-cpp"]], "--category-keys": [[2, "cmdoption-wfl-error-ck"]], "--cmap": [[2, "cmdoption-wfl-error-cmap"]], "--config-properties": [[2, "cmdoption-wfl-error-cp"]], "--descriptor": [[2, "cmdoption-wfl-descriptor-quippy-descriptor"]], "--deterministic": [[2, "cmdoption-wfl-select-cur-deterministic"]], "--dtype": [[2, "cmdoption-wfl-eval-mace-dtype"]], "--error-type": [[2, "cmdoption-wfl-error-error-type"]], "--exec-code": [[2, "cmdoption-wfl-select-lambda-e"]], "--extra-info": [[2, "cmdoption-wfl-generate-buildcell-ei"], [2, "cmdoption-wfl-generate-smiles-ei"]], "--fig-name": [[2, "cmdoption-wfl-error-f"]], "--force": [[2, "cmdoption-wfl-descriptor-quippy-force"]], "--inputs": [[2, "cmdoption-wfl-descriptor-quippy-i"], [2, "cmdoption-wfl-error-i"], [2, "cmdoption-wfl-eval-ace-i"], [2, "cmdoption-wfl-eval-atomization-energy-i"], [2, "cmdoption-wfl-eval-gap-i"], [2, "cmdoption-wfl-eval-mace-i"], [2, "cmdoption-wfl-select-cur-i"], [2, "cmdoption-wfl-select-lambda-i"]], "--isolated-atom-info-key": [[2, "cmdoption-wfl-eval-atomization-energy-k"]], "--isolated-atom-info-value": [[2, "cmdoption-wfl-eval-atomization-energy-v"]], "--keep_descriptor": [[2, "cmdoption-wfl-select-cur-keep_descriptor"]], "--kernel_exponent": [[2, "cmdoption-wfl-select-cur-kernel_exponent"]], "--key": [[2, "cmdoption-wfl-descriptor-quippy-key"], [2, "cmdoption-wfl-select-cur-key"]], "--local": [[2, "cmdoption-wfl-descriptor-quippy-local"]], "--n-configs": [[2, "cmdoption-wfl-generate-buildcell-N"], [2, "cmdoption-wfl-select-cur-N"]], "--num-inputs-per-python-subprocess": [[2, "cmdoption-wfl-eval-ace-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-gap-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-mace-num-inputs-per-python-subprocess"]], "--outputs": [[2, "cmdoption-wfl-descriptor-quippy-o"], [2, "cmdoption-wfl-eval-ace-o"], [2, "cmdoption-wfl-eval-atomization-energy-o"], [2, "cmdoption-wfl-eval-gap-o"], [2, "cmdoption-wfl-eval-mace-o"], [2, "cmdoption-wfl-generate-buildcell-o"], [2, "cmdoption-wfl-generate-smiles-o"], [2, "cmdoption-wfl-select-cur-o"], [2, "cmdoption-wfl-select-lambda-o"]], "--param-fname": [[2, "cmdoption-wfl-eval-ace-pf"], [2, "cmdoption-wfl-eval-gap-pf"], [2, "cmdoption-wfl-eval-mace-pf"]], "--perturbation": [[2, "cmdoption-wfl-generate-buildcell-perturbation"]], "--precision": [[2, "cmdoption-wfl-error-p"]], "--prop": [[2, "cmdoption-wfl-eval-atomization-energy-prop"]], "--prop-prefix": [[2, "cmdoption-wfl-eval-ace-pp"], [2, "cmdoption-wfl-eval-atomization-energy-pp"], [2, "cmdoption-wfl-eval-gap-pp"], [2, "cmdoption-wfl-eval-mace-pp"]], "--ref-property-prefix": [[2, "cmdoption-wfl-error-rpp"]], "--stochastic-seed": [[2, "cmdoption-wfl-select-cur-stochastic-seed"]], "--verbose": [[2, "cmdoption-wfl-v"]], "--weight-property": [[2, "cmdoption-wfl-error-wp"]], "-n": [[2, "cmdoption-wfl-generate-buildcell-N"], [2, "cmdoption-wfl-select-cur-N"]], "-ap": [[2, "cmdoption-wfl-error-ap"]], "-ck": [[2, "cmdoption-wfl-error-ck"]], "-cp": [[2, "cmdoption-wfl-error-cp"]], "-cpp": [[2, "cmdoption-wfl-error-cpp"]], "-e": [[2, "cmdoption-wfl-select-lambda-e"]], "-ei": [[2, "cmdoption-wfl-generate-buildcell-ei"], [2, "cmdoption-wfl-generate-smiles-ei"]], "-f": [[2, "cmdoption-wfl-error-f"]], "-i": [[2, "cmdoption-wfl-descriptor-quippy-i"], [2, "cmdoption-wfl-error-i"], [2, "cmdoption-wfl-eval-ace-i"], [2, "cmdoption-wfl-eval-atomization-energy-i"], [2, "cmdoption-wfl-eval-gap-i"], [2, "cmdoption-wfl-eval-mace-i"], [2, "cmdoption-wfl-select-cur-i"], [2, "cmdoption-wfl-select-lambda-i"]], "-k": [[2, "cmdoption-wfl-eval-atomization-energy-k"]], "-o": [[2, "cmdoption-wfl-descriptor-quippy-o"], [2, "cmdoption-wfl-eval-ace-o"], [2, "cmdoption-wfl-eval-atomization-energy-o"], [2, "cmdoption-wfl-eval-gap-o"], [2, "cmdoption-wfl-eval-mace-o"], [2, "cmdoption-wfl-generate-buildcell-o"], [2, "cmdoption-wfl-generate-smiles-o"], [2, "cmdoption-wfl-select-cur-o"], [2, "cmdoption-wfl-select-lambda-o"]], "-p": [[2, "cmdoption-wfl-error-p"]], "-pf": [[2, "cmdoption-wfl-eval-ace-pf"], [2, "cmdoption-wfl-eval-gap-pf"], [2, "cmdoption-wfl-eval-mace-pf"]], "-pp": [[2, "cmdoption-wfl-eval-ace-pp"], [2, "cmdoption-wfl-eval-atomization-energy-pp"], [2, "cmdoption-wfl-eval-gap-pp"], [2, "cmdoption-wfl-eval-mace-pp"]], "-rpp": [[2, "cmdoption-wfl-error-rpp"]], "-v": [[2, "cmdoption-wfl-eval-atomization-energy-v"], [2, "cmdoption-wfl-v"]], "-wp": [[2, "cmdoption-wfl-error-wp"]], "smiles_string": [[2, "cmdoption-wfl-generate-smiles-arg-SMILES_STRING"]], "wfl command line option": [[2, "cmdoption-wfl-v"]], "wfl-descriptor-quippy command line option": [[2, "cmdoption-wfl-descriptor-quippy-descriptor"], [2, "cmdoption-wfl-descriptor-quippy-force"], [2, "cmdoption-wfl-descriptor-quippy-i"], [2, "cmdoption-wfl-descriptor-quippy-key"], [2, "cmdoption-wfl-descriptor-quippy-local"], [2, "cmdoption-wfl-descriptor-quippy-o"]], "wfl-error command line option": [[2, "cmdoption-wfl-error-ap"], [2, "cmdoption-wfl-error-ck"], [2, "cmdoption-wfl-error-cmap"], [2, "cmdoption-wfl-error-cp"], [2, "cmdoption-wfl-error-cpp"], [2, "cmdoption-wfl-error-error-type"], [2, "cmdoption-wfl-error-f"], [2, "cmdoption-wfl-error-i"], [2, "cmdoption-wfl-error-p"], [2, "cmdoption-wfl-error-rpp"], [2, "cmdoption-wfl-error-wp"]], "wfl-eval-ace command line option": [[2, "cmdoption-wfl-eval-ace-i"], [2, "cmdoption-wfl-eval-ace-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-ace-o"], [2, "cmdoption-wfl-eval-ace-pf"], [2, "cmdoption-wfl-eval-ace-pp"]], "wfl-eval-atomization-energy command line option": [[2, "cmdoption-wfl-eval-atomization-energy-i"], [2, "cmdoption-wfl-eval-atomization-energy-k"], [2, "cmdoption-wfl-eval-atomization-energy-o"], [2, "cmdoption-wfl-eval-atomization-energy-pp"], [2, "cmdoption-wfl-eval-atomization-energy-prop"], [2, "cmdoption-wfl-eval-atomization-energy-v"]], "wfl-eval-gap command line option": [[2, "cmdoption-wfl-eval-gap-i"], [2, "cmdoption-wfl-eval-gap-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-gap-o"], [2, "cmdoption-wfl-eval-gap-pf"], [2, "cmdoption-wfl-eval-gap-pp"]], "wfl-eval-mace command line option": [[2, "cmdoption-wfl-eval-mace-dtype"], [2, "cmdoption-wfl-eval-mace-i"], [2, "cmdoption-wfl-eval-mace-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-mace-o"], [2, "cmdoption-wfl-eval-mace-pf"], [2, "cmdoption-wfl-eval-mace-pp"]], "wfl-generate-buildcell command line option": [[2, "cmdoption-wfl-generate-buildcell-N"], [2, "cmdoption-wfl-generate-buildcell-buildcell-exec"], [2, "cmdoption-wfl-generate-buildcell-buildcell-input"], [2, "cmdoption-wfl-generate-buildcell-ei"], [2, "cmdoption-wfl-generate-buildcell-o"], [2, "cmdoption-wfl-generate-buildcell-perturbation"]], "wfl-generate-smiles command line option": [[2, "cmdoption-wfl-generate-smiles-arg-SMILES_STRING"], [2, "cmdoption-wfl-generate-smiles-ei"], [2, "cmdoption-wfl-generate-smiles-o"]], "wfl-select-cur command line option": [[2, "cmdoption-wfl-select-cur-N"], [2, "cmdoption-wfl-select-cur-deterministic"], [2, "cmdoption-wfl-select-cur-i"], [2, "cmdoption-wfl-select-cur-keep_descriptor"], [2, "cmdoption-wfl-select-cur-kernel_exponent"], [2, "cmdoption-wfl-select-cur-key"], [2, "cmdoption-wfl-select-cur-o"], [2, "cmdoption-wfl-select-cur-stochastic-seed"]], "wfl-select-lambda command line option": [[2, "cmdoption-wfl-select-lambda-e"], [2, "cmdoption-wfl-select-lambda-i"], [2, "cmdoption-wfl-select-lambda-o"]], "configset (class in wfl.configset)": [[34, "wfl.configset.ConfigSet"]], "outputspec (class in wfl.configset)": [[34, "wfl.configset.OutputSpec"]], "all_written() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.all_written"]], "close() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.close"]], "cur_loc (wfl.configset.configset property)": [[34, "wfl.configset.ConfigSet.cur_loc"]], "descriptor_2brn_uniform_file() (in module wfl.descriptor_heuristics)": [[34, "wfl.descriptor_heuristics.descriptor_2brn_uniform_file"]], "descriptors_from_length_scales() (in module wfl.descriptor_heuristics)": [[34, "wfl.descriptor_heuristics.descriptors_from_length_scales"]], "groups() (wfl.configset.configset method)": [[34, "wfl.configset.ConfigSet.groups"]], "len_scale_pair() (in module wfl.descriptor_heuristics)": [[34, "wfl.descriptor_heuristics.len_scale_pair"]], "map() (in module wfl.map)": [[34, "wfl.map.map"]], "module": [[34, "module-wfl"], [34, "module-wfl.configset"], [34, "module-wfl.descriptor_heuristics"], [34, "module-wfl.map"], [35, "module-wfl.autoparallelize"], [35, "module-wfl.autoparallelize.autoparainfo"], [35, "module-wfl.autoparallelize.base"], [35, "module-wfl.autoparallelize.mpipool_support"], [35, "module-wfl.autoparallelize.pool"], [35, "module-wfl.autoparallelize.remote"], [35, "module-wfl.autoparallelize.remoteinfo"], [35, "module-wfl.autoparallelize.utils"], [36, "module-wfl.calculators"], [36, "module-wfl.calculators.aims"], [36, "module-wfl.calculators.castep"], [36, "module-wfl.calculators.committee"], [36, "module-wfl.calculators.espresso"], [36, "module-wfl.calculators.generic"], [36, "module-wfl.calculators.mopac"], [36, "module-wfl.calculators.utils"], [36, "module-wfl.calculators.vasp"], [36, "module-wfl.calculators.wfl_fileio_calculator"], [37, "module-wfl.calculators.orca"], [37, "module-wfl.calculators.orca.basinhopping"], [38, "module-wfl.cli"], [38, "module-wfl.cli.cli"], [38, "module-wfl.cli.cli_options"], [38, "module-wfl.cli.gap_rss_iter_fit"], [39, "module-wfl.cli.commands"], [39, "module-wfl.cli.commands.descriptor"], [39, "module-wfl.cli.commands.error"], [39, "module-wfl.cli.commands.eval"], [39, "module-wfl.cli.commands.generate"], [39, "module-wfl.cli.commands.select"], [40, "module-wfl.descriptors"], [40, "module-wfl.descriptors.quippy"], [41, "module-wfl.fit"], [41, "module-wfl.fit.ace"], [41, "module-wfl.fit.error"], [41, "module-wfl.fit.utils"], [42, "module-wfl.fit.gap"], [42, "module-wfl.fit.gap.glue_2b"], [42, "module-wfl.fit.gap.multistage"], [42, "module-wfl.fit.gap.relocate"], [42, "module-wfl.fit.gap.simple"], [43, "module-wfl.fit.modify_database"], [43, "module-wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull"], [43, "module-wfl.fit.modify_database.scale_orig"], [43, "module-wfl.fit.modify_database.simple_factor_nonperiodic"], [44, "module-wfl.generate"], [44, "module-wfl.generate.atoms_and_dimers"], [44, "module-wfl.generate.buildcell"], [44, "module-wfl.generate.minimahopping"], [44, "module-wfl.generate.normal_modes"], [44, "module-wfl.generate.optimize"], [44, "module-wfl.generate.phonopy"], [44, "module-wfl.generate.smiles"], [44, "module-wfl.generate.supercells"], [44, "module-wfl.generate.utils"], [45, "module-wfl.generate.md"], [45, "module-wfl.generate.md.abort"], [45, "module-wfl.generate.md.abort_base"], [46, "module-wfl.select"], [46, "module-wfl.select.by_descriptor"], [46, "module-wfl.select.convex_hull"], [46, "module-wfl.select.flat_histogram"], [46, "module-wfl.select.selection_space"], [46, "module-wfl.select.simple"], [47, "module-wfl.utils"], [47, "module-wfl.utils.at_copy_save_results"], [47, "module-wfl.utils.configs"], [47, "module-wfl.utils.convex_hull"], [47, "module-wfl.utils.file_utils"], [47, "module-wfl.utils.find_voids"], [47, "module-wfl.utils.gap_xml_tools"], [47, "module-wfl.utils.julia"], [47, "module-wfl.utils.logging"], [47, "module-wfl.utils.misc"], [47, "module-wfl.utils.ndim_neighbor_list"], [47, "module-wfl.utils.parallel"], [47, "module-wfl.utils.params"], [47, "module-wfl.utils.pressure"], [47, "module-wfl.utils.quip_cli_strings"], [47, "module-wfl.utils.replace_eval_in_strs"], [47, "module-wfl.utils.round_sig_figs"], [47, "module-wfl.utils.vector_utils"], [47, "module-wfl.utils.version"], [47, "module-wfl.utils.vol_composition_space"]], "one_file() (wfl.configset.configset method)": [[34, "wfl.configset.ConfigSet.one_file"]], "store() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.store"]], "to_configset() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.to_ConfigSet"]], "wfl": [[34, "module-wfl"]], "wfl.configset": [[34, "module-wfl.configset"]], "wfl.descriptor_heuristics": [[34, "module-wfl.descriptor_heuristics"]], "wfl.map": [[34, "module-wfl.map"]], "write() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.write"]], "autoparainfo (class in wfl.autoparallelize.autoparainfo)": [[35, "wfl.autoparallelize.autoparainfo.AutoparaInfo"]], "remoteinfo (class in wfl.autoparallelize.remoteinfo)": [[35, "wfl.autoparallelize.remoteinfo.RemoteInfo"]], "autoparallelize() (in module wfl.autoparallelize.base)": [[35, "wfl.autoparallelize.base.autoparallelize"]], "autoparallelize_docstring() (in module wfl.autoparallelize.base)": [[35, "wfl.autoparallelize.base.autoparallelize_docstring"]], "do_in_pool() (in module wfl.autoparallelize.pool)": [[35, "wfl.autoparallelize.pool.do_in_pool"]], "do_remotely() (in module wfl.autoparallelize.remote)": [[35, "wfl.autoparallelize.remote.do_remotely"]], "get_remote_info() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.get_remote_info"]], "get_root_global_seed() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.get_root_global_seed"]], "grouper() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.grouper"]], "init() (in module wfl.autoparallelize.mpipool_support)": [[35, "wfl.autoparallelize.mpipool_support.init"]], "set_autopara_per_item_info() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.set_autopara_per_item_info"]], "shutdown_and_barrier() (in module wfl.autoparallelize.mpipool_support)": [[35, "wfl.autoparallelize.mpipool_support.shutdown_and_barrier"]], "update_defaults() (wfl.autoparallelize.autoparainfo.autoparainfo method)": [[35, "wfl.autoparallelize.autoparainfo.AutoparaInfo.update_defaults"]], "wfl.autoparallelize": [[35, "module-wfl.autoparallelize"]], "wfl.autoparallelize.autoparainfo": [[35, "module-wfl.autoparallelize.autoparainfo"]], "wfl.autoparallelize.base": [[35, "module-wfl.autoparallelize.base"]], "wfl.autoparallelize.mpipool_support": [[35, "module-wfl.autoparallelize.mpipool_support"]], "wfl.autoparallelize.pool": [[35, "module-wfl.autoparallelize.pool"]], "wfl.autoparallelize.remote": [[35, "module-wfl.autoparallelize.remote"]], "wfl.autoparallelize.remoteinfo": [[35, "module-wfl.autoparallelize.remoteinfo"]], "wfl.autoparallelize.utils": [[35, "module-wfl.autoparallelize.utils"]], "aims (class in wfl.calculators.aims)": [[36, "wfl.calculators.aims.Aims"]], "castep (class in wfl.calculators.castep)": [[36, "wfl.calculators.castep.Castep"]], "espresso (class in wfl.calculators.espresso)": [[36, "wfl.calculators.espresso.Espresso"]], "mopac (class in wfl.calculators.mopac)": [[36, "wfl.calculators.mopac.MOPAC"]], "vasp (class in wfl.calculators.vasp)": [[36, "wfl.calculators.vasp.Vasp"]], "wflfileiocalculator (class in wfl.calculators.wfl_fileio_calculator)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator"]], "calculate() (in module wfl.calculators.generic)": [[36, "wfl.calculators.generic.calculate"]], "calculate() (wfl.calculators.aims.aims method)": [[36, "wfl.calculators.aims.Aims.calculate"]], "calculate() (wfl.calculators.castep.castep method)": [[36, "wfl.calculators.castep.Castep.calculate"]], "calculate() (wfl.calculators.espresso.espresso method)": [[36, "wfl.calculators.espresso.Espresso.calculate"]], "calculate() (wfl.calculators.mopac.mopac method)": [[36, "wfl.calculators.mopac.MOPAC.calculate"]], "calculate() (wfl.calculators.vasp.vasp method)": [[36, "wfl.calculators.vasp.Vasp.calculate"]], "calculate_committee() (in module wfl.calculators.committee)": [[36, "wfl.calculators.committee.calculate_committee"]], "clean_rundir() (in module wfl.calculators.utils)": [[36, "wfl.calculators.utils.clean_rundir"]], "clean_rundir() (wfl.calculators.wfl_fileio_calculator.wflfileiocalculator method)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator.clean_rundir"]], "cleanup() (wfl.calculators.wfl_fileio_calculator.wflfileiocalculator method)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator.cleanup"]], "default_parameters (wfl.calculators.vasp.vasp attribute)": [[36, "wfl.calculators.vasp.Vasp.default_parameters"]], "handle_nonperiodic() (in module wfl.calculators.utils)": [[36, "wfl.calculators.utils.handle_nonperiodic"]], "implemented_properties (wfl.calculators.aims.aims attribute)": [[36, "wfl.calculators.aims.Aims.implemented_properties"]], "implemented_properties (wfl.calculators.castep.castep attribute)": [[36, "wfl.calculators.castep.Castep.implemented_properties"]], "implemented_properties (wfl.calculators.espresso.espresso attribute)": [[36, "wfl.calculators.espresso.Espresso.implemented_properties"]], "per_config_restore() (wfl.calculators.vasp.vasp method)": [[36, "wfl.calculators.vasp.Vasp.per_config_restore"]], "per_config_setup() (wfl.calculators.vasp.vasp method)": [[36, "wfl.calculators.vasp.Vasp.per_config_setup"]], "save_results() (in module wfl.calculators.utils)": [[36, "wfl.calculators.utils.save_results"]], "setup_calc_params() (wfl.calculators.castep.castep method)": [[36, "wfl.calculators.castep.Castep.setup_calc_params"]], "setup_calc_params() (wfl.calculators.espresso.espresso method)": [[36, "wfl.calculators.espresso.Espresso.setup_calc_params"]], "setup_rundir() (wfl.calculators.wfl_fileio_calculator.wflfileiocalculator method)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator.setup_rundir"]], "wfl.calculators": [[36, "module-wfl.calculators"]], "wfl.calculators.aims": [[36, "module-wfl.calculators.aims"]], "wfl.calculators.castep": [[36, "module-wfl.calculators.castep"]], "wfl.calculators.committee": [[36, "module-wfl.calculators.committee"]], "wfl.calculators.espresso": [[36, "module-wfl.calculators.espresso"]], "wfl.calculators.generic": [[36, "module-wfl.calculators.generic"]], "wfl.calculators.mopac": [[36, "module-wfl.calculators.mopac"]], "wfl.calculators.utils": [[36, "module-wfl.calculators.utils"]], "wfl.calculators.vasp": [[36, "module-wfl.calculators.vasp"]], "wfl.calculators.wfl_fileio_calculator": [[36, "module-wfl.calculators.wfl_fileio_calculator"]], "wfl_generic_default_autopara_info (wfl.calculators.aims.aims attribute)": [[36, "wfl.calculators.aims.Aims.wfl_generic_default_autopara_info"]], "wfl_generic_default_autopara_info (wfl.calculators.castep.castep attribute)": [[36, "wfl.calculators.castep.Castep.wfl_generic_default_autopara_info"]], "wfl_generic_default_autopara_info (wfl.calculators.espresso.espresso attribute)": [[36, "wfl.calculators.espresso.Espresso.wfl_generic_default_autopara_info"]], "wfl_generic_default_autopara_info (wfl.calculators.mopac.mopac attribute)": [[36, "wfl.calculators.mopac.MOPAC.wfl_generic_default_autopara_info"]], "wfl_generic_num_inputs_per_python_subprocess (wfl.calculators.vasp.vasp attribute)": [[36, "wfl.calculators.vasp.Vasp.wfl_generic_num_inputs_per_python_subprocess"]], "basinhoppingorca (class in wfl.calculators.orca.basinhopping)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA"]], "orca (class in wfl.calculators.orca)": [[37, "wfl.calculators.orca.ORCA"]], "calculate() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.calculate"]], "calculate() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.calculate"]], "cleanup() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.cleanup"]], "default_parameters (wfl.calculators.orca.orca attribute)": [[37, "wfl.calculators.orca.ORCA.default_parameters"]], "evaluate_basin_hopping() (in module wfl.calculators.orca.basinhopping)": [[37, "wfl.calculators.orca.basinhopping.evaluate_basin_hopping"]], "get_default_multiplicity() (wfl.calculators.orca.orca static method)": [[37, "wfl.calculators.orca.ORCA.get_default_multiplicity"]], "get_homo() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.get_homo"]], "get_multiplicity() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.get_multiplicity"]], "implemented_properties (wfl.calculators.orca.orca attribute)": [[37, "wfl.calculators.orca.ORCA.implemented_properties"]], "implemented_properties (wfl.calculators.orca.basinhopping.basinhoppingorca attribute)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.implemented_properties"]], "is_converged() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.is_converged"]], "natural_population_analysis() (in module wfl.calculators.orca)": [[37, "wfl.calculators.orca.natural_population_analysis"]], "parse_npa_output() (in module wfl.calculators.orca)": [[37, "wfl.calculators.orca.parse_npa_output"]], "pick_task() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.pick_task"]], "process_results() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.process_results"]], "read_dipole() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_dipole"]], "read_frequencies() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_frequencies"]], "read_opt_atoms() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_opt_atoms"]], "read_results() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_results"]], "read_trajectory() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_trajectory"]], "wfl.calculators.orca": [[37, "module-wfl.calculators.orca"]], "wfl.calculators.orca.basinhopping": [[37, "module-wfl.calculators.orca.basinhopping"]], "wfl_generic_default_autopara_info (wfl.calculators.orca.orca attribute)": [[37, "wfl.calculators.orca.ORCA.wfl_generic_default_autopara_info"]], "write_input() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.write_input"]], "rss_minima_diverse() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.RSS_minima_diverse"]], "z_label() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.Z_label"]], "calc_descriptors_to_file() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.calc_descriptors_to_file"]], "create_all_buildcell() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.create_all_buildcell"]], "do_fit_and_test() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.do_fit_and_test"]], "evaluate_iter_and_fit_all() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.evaluate_iter_and_fit_all"]], "evaluate_ref() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.evaluate_ref"]], "extra_info() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.extra_info"]], "flat_histo_then_by_desc() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.flat_histo_then_by_desc"]], "get_buildcell_input_files() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.get_buildcell_input_files"]], "get_old_fitting_files() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.get_old_fitting_files"]], "increment_active_iter() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.increment_active_iter"]], "inputs() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.inputs"]], "is_elemental() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.is_elemental"]], "load_old_descriptors_arrays() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.load_old_descriptors_arrays"]], "num_inputs_per_python_subprocess() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.num_inputs_per_python_subprocess"]], "outputs() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.outputs"]], "param_fname() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.param_fname"]], "print_log() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.print_log"]], "process_cur_iter() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.process_cur_iter"]], "prop_prefix() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.prop_prefix"]], "select_fitting_and_testing_for_groups() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.select_fitting_and_testing_for_groups"]], "step_startup() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.step_startup"]], "wfl.cli": [[38, "module-wfl.cli"]], "wfl.cli.cli": [[38, "module-wfl.cli.cli"]], "wfl.cli.cli_options": [[38, "module-wfl.cli.cli_options"]], "wfl.cli.gap_rss_iter_fit": [[38, "module-wfl.cli.gap_rss_iter_fit"]], "calculate_descriptor() (in module wfl.cli.commands.descriptor)": [[39, "wfl.cli.commands.descriptor.calculate_descriptor"]], "pyjulip_ace() (in module wfl.cli.commands.eval)": [[39, "wfl.cli.commands.eval.pyjulip_ace"]], "wfl.cli.commands": [[39, "module-wfl.cli.commands"]], "wfl.cli.commands.descriptor": [[39, "module-wfl.cli.commands.descriptor"]], "wfl.cli.commands.error": [[39, "module-wfl.cli.commands.error"]], "wfl.cli.commands.eval": [[39, "module-wfl.cli.commands.eval"]], "wfl.cli.commands.generate": [[39, "module-wfl.cli.commands.generate"]], "wfl.cli.commands.select": [[39, "module-wfl.cli.commands.select"]], "calculate() (in module wfl.descriptors.quippy)": [[40, "wfl.descriptors.quippy.calculate"]], "from_any_to_descriptor() (in module wfl.descriptors.quippy)": [[40, "wfl.descriptors.quippy.from_any_to_Descriptor"]], "wfl.descriptors": [[40, "module-wfl.descriptors"]], "wfl.descriptors.quippy": [[40, "module-wfl.descriptors.quippy"]], "ace_fit_jl_path() (in module wfl.fit.utils)": [[41, "wfl.fit.utils.ace_fit_jl_path"]], "calc() (in module wfl.fit.error)": [[41, "wfl.fit.error.calc"]], "copy_properties() (in module wfl.fit.utils)": [[41, "wfl.fit.utils.copy_properties"]], "errors_dumps() (in module wfl.fit.error)": [[41, "wfl.fit.error.errors_dumps"]], "errors_to_dataframe() (in module wfl.fit.error)": [[41, "wfl.fit.error.errors_to_dataframe"]], "fit() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.fit"]], "fix_stress_virial() (in module wfl.fit.utils)": [[41, "wfl.fit.utils.fix_stress_virial"]], "natural_sort() (in module wfl.fit.error)": [[41, "wfl.fit.error.natural_sort"]], "prepare_configs() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.prepare_configs"]], "prepare_params() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.prepare_params"]], "run_ace_fit() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.run_ace_fit"]], "select_units() (in module wfl.fit.error)": [[41, "wfl.fit.error.select_units"]], "value_error_scatter() (in module wfl.fit.error)": [[41, "wfl.fit.error.value_error_scatter"]], "wfl.fit": [[41, "module-wfl.fit"]], "wfl.fit.ace": [[41, "module-wfl.fit.ace"]], "wfl.fit.error": [[41, "module-wfl.fit.error"]], "wfl.fit.utils": [[41, "module-wfl.fit.utils"]], "gap_xml_modify_label() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.GAP_xml_modify_label"]], "construct_glue_2b() (in module wfl.fit.gap.glue_2b)": [[42, "wfl.fit.gap.glue_2b.construct_glue_2b"]], "dict_to_gap_fit_string() (in module wfl.fit.gap.simple)": [[42, "wfl.fit.gap.simple.dict_to_gap_fit_string"]], "fit() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.fit"]], "gap_relocate() (in module wfl.fit.gap.relocate)": [[42, "wfl.fit.gap.relocate.gap_relocate"]], "max_cutoff() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.max_cutoff"]], "prep_params() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.prep_params"]], "run_gap_fit() (in module wfl.fit.gap.simple)": [[42, "wfl.fit.gap.simple.run_gap_fit"]], "wfl.fit.gap": [[42, "module-wfl.fit.gap"]], "wfl.fit.gap.glue_2b": [[42, "module-wfl.fit.gap.glue_2b"]], "wfl.fit.gap.multistage": [[42, "module-wfl.fit.gap.multistage"]], "wfl.fit.gap.relocate": [[42, "module-wfl.fit.gap.relocate"]], "wfl.fit.gap.simple": [[42, "module-wfl.fit.gap.simple"]], "list_to_sigma_dict() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.list_to_sigma_dict"]], "modify() (in module wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull)": [[43, "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull.modify"]], "modify() (in module wfl.fit.modify_database.scale_orig)": [[43, "wfl.fit.modify_database.scale_orig.modify"]], "modify() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.modify"]], "modify_cell() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.modify_cell"]], "modify_with_factor() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.modify_with_factor"]], "piecewise_linear() (in module wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull)": [[43, "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull.piecewise_linear"]], "wfl.fit.modify_database": [[43, "module-wfl.fit.modify_database"]], "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull": [[43, "module-wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull"]], "wfl.fit.modify_database.scale_orig": [[43, "module-wfl.fit.modify_database.scale_orig"]], "wfl.fit.modify_database.simple_factor_nonperiodic": [[43, "module-wfl.fit.modify_database.simple_factor_nonperiodic"]], "normalmodes (class in wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.NormalModes"]], "antisite() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.antisite"]], "buildcell() (in module wfl.generate.buildcell)": [[44, "wfl.generate.buildcell.buildcell"]], "config_type_append() (in module wfl.generate.utils)": [[44, "wfl.generate.utils.config_type_append"]], "conv_buildcell_out() (in module wfl.generate.buildcell)": [[44, "wfl.generate.buildcell.conv_buildcell_out"]], "create_input() (in module wfl.generate.buildcell)": [[44, "wfl.generate.buildcell.create_input"]], "derive_normal_mode_info() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.derive_normal_mode_info"]], "evals_to_freqs() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.evals_to_freqs"]], "evecs_to_modes() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.evecs_to_modes"]], "freqs_to_evals() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.freqs_to_evals"]], "generate_normal_modes_parallel_atoms() (in module wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.generate_normal_modes_parallel_atoms"]], "generate_normal_modes_parallel_hessian() (in module wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.generate_normal_modes_parallel_hessian"]], "interstitial() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.interstitial"]], "isolated_atom_from_e0() (in module wfl.generate.atoms_and_dimers)": [[44, "wfl.generate.atoms_and_dimers.isolated_atom_from_e0"]], "largest_bulk() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.largest_bulk"]], "minimahopping() (in module wfl.generate.minimahopping)": [[44, "wfl.generate.minimahopping.minimahopping"]], "modes_to_evecs() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.modes_to_evecs"]], "num_hess_delta (wfl.generate.normal_modes.normalmodes attribute)": [[44, "wfl.generate.normal_modes.NormalModes.num_hess_delta"]], "optimize() (in module wfl.generate.optimize)": [[44, "wfl.generate.optimize.optimize"]], "phonopy() (in module wfl.generate.phonopy)": [[44, "wfl.generate.phonopy.phonopy"]], "prepare() (in module wfl.generate.atoms_and_dimers)": [[44, "wfl.generate.atoms_and_dimers.prepare"]], "sample_normal_modes() (in module wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.sample_normal_modes"]], "sample_normal_modes() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.sample_normal_modes"]], "smi_to_atoms() (in module wfl.generate.smiles)": [[44, "wfl.generate.smiles.smi_to_atoms"]], "smiles() (in module wfl.generate.smiles)": [[44, "wfl.generate.smiles.smiles"]], "subselect_from_traj() (in module wfl.generate.optimize)": [[44, "wfl.generate.optimize.subselect_from_traj"]], "summary() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.summary"]], "surface() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.surface"]], "vacancy() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.vacancy"]], "view() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.view"]], "wfl.generate": [[44, "module-wfl.generate"]], "wfl.generate.atoms_and_dimers": [[44, "module-wfl.generate.atoms_and_dimers"]], "wfl.generate.buildcell": [[44, "module-wfl.generate.buildcell"]], "wfl.generate.minimahopping": [[44, "module-wfl.generate.minimahopping"]], "wfl.generate.normal_modes": [[44, "module-wfl.generate.normal_modes"]], "wfl.generate.optimize": [[44, "module-wfl.generate.optimize"]], "wfl.generate.phonopy": [[44, "module-wfl.generate.phonopy"]], "wfl.generate.smiles": [[44, "module-wfl.generate.smiles"]], "wfl.generate.supercells": [[44, "module-wfl.generate.supercells"]], "wfl.generate.utils": [[44, "module-wfl.generate.utils"]], "abortoncollision (class in wfl.generate.md.abort)": [[45, "wfl.generate.md.abort.AbortOnCollision"]], "abortsimbase (class in wfl.generate.md.abort_base)": [[45, "wfl.generate.md.abort_base.AbortSimBase"]], "atoms_ok() (wfl.generate.md.abort.abortoncollision method)": [[45, "wfl.generate.md.abort.AbortOnCollision.atoms_ok"]], "atoms_ok() (wfl.generate.md.abort_base.abortsimbase method)": [[45, "wfl.generate.md.abort_base.AbortSimBase.atoms_ok"]], "md() (in module wfl.generate.md)": [[45, "wfl.generate.md.md"]], "stop() (wfl.generate.md.abort_base.abortsimbase method)": [[45, "wfl.generate.md.abort_base.AbortSimBase.stop"]], "wfl.generate.md": [[45, "module-wfl.generate.md"]], "wfl.generate.md.abort": [[45, "module-wfl.generate.md.abort"]], "wfl.generate.md.abort_base": [[45, "module-wfl.generate.md.abort_base"]], "cur() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.CUR"]], "cur_conf_global() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.CUR_conf_global"]], "biased_select_conf() (in module wfl.select.flat_histogram)": [[46, "wfl.select.flat_histogram.biased_select_conf"]], "by_bool_func() (in module wfl.select.simple)": [[46, "wfl.select.simple.by_bool_func"]], "by_index() (in module wfl.select.simple)": [[46, "wfl.select.simple.by_index"]], "compare_manual_minima() (in module wfl.select.selection_space)": [[46, "wfl.select.selection_space.compare_manual_minima"]], "do_svd() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.do_svd"]], "greedy_fps_conf_global() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.greedy_fps_conf_global"]], "minima_among_neighbors() (in module wfl.select.selection_space)": [[46, "wfl.select.selection_space.minima_among_neighbors"]], "prep_descs_and_exclude() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.prep_descs_and_exclude"]], "select() (in module wfl.select.convex_hull)": [[46, "wfl.select.convex_hull.select"]], "val_relative_to_nearby_composition_volume_min() (in module wfl.select.selection_space)": [[46, "wfl.select.selection_space.val_relative_to_nearby_composition_volume_min"]], "wfl.select": [[46, "module-wfl.select"]], "wfl.select.by_descriptor": [[46, "module-wfl.select.by_descriptor"]], "wfl.select.convex_hull": [[46, "module-wfl.select.convex_hull"]], "wfl.select.flat_histogram": [[46, "module-wfl.select.flat_histogram"]], "wfl.select.selection_space": [[46, "module-wfl.select.selection_space"]], "wfl.select.simple": [[46, "module-wfl.select.simple"]], "write_selected_and_clean() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.write_selected_and_clean"]], "params (class in wfl.utils.params)": [[47, "wfl.utils.params.Params"]], "pressurerecursionerror": [[47, "wfl.utils.pressure.PressureRecursionError"]], "at_copy_save_results() (in module wfl.utils.at_copy_save_results)": [[47, "wfl.utils.at_copy_save_results.at_copy_save_results"]], "atomization_energy() (in module wfl.utils.configs)": [[47, "wfl.utils.configs.atomization_energy"]], "atoms_to_list() (in module wfl.utils.misc)": [[47, "wfl.utils.misc.atoms_to_list"]], "calc_list() (in module wfl.utils.ndim_neighbor_list)": [[47, "wfl.utils.ndim_neighbor_list.calc_list"]], "calc_list_cells() (in module wfl.utils.ndim_neighbor_list)": [[47, "wfl.utils.ndim_neighbor_list.calc_list_cells"]], "chunks() (in module wfl.utils.misc)": [[47, "wfl.utils.misc.chunks"]], "clean_dir() (in module wfl.utils.file_utils)": [[47, "wfl.utils.file_utils.clean_dir"]], "composition_space_zs() (in module wfl.utils.vol_composition_space)": [[47, "wfl.utils.vol_composition_space.composition_space_Zs"]], "composition_space_coord() (in module wfl.utils.vol_composition_space)": [[47, "wfl.utils.vol_composition_space.composition_space_coord"]], "construct_calculator_picklesafe() (in module wfl.utils.parallel)": [[47, "wfl.utils.parallel.construct_calculator_picklesafe"]], "cur_iter (wfl.utils.params.params property)": [[47, "wfl.utils.params.Params.cur_iter"]], "dft_code (wfl.utils.params.params property)": [[47, "wfl.utils.params.Params.dft_code"]], "dft_params (wfl.utils.params.params property)": [[47, "wfl.utils.params.Params.dft_params"]], "dict_to_quip_str() (in module wfl.utils.quip_cli_strings)": [[47, "wfl.utils.quip_cli_strings.dict_to_quip_str"]], "dict_tuple_keys_to_str() (in module wfl.utils.misc)": [[47, "wfl.utils.misc.dict_tuple_keys_to_str"]], "extract_e0() (in module wfl.utils.gap_xml_tools)": [[47, "wfl.utils.gap_xml_tools.extract_e0"]], "find_hull() (in module wfl.utils.convex_hull)": [[47, "wfl.utils.convex_hull.find_hull"]], "find_isolated_atoms() (in module wfl.utils.configs)": [[47, "wfl.utils.configs.find_isolated_atoms"]], "find_voids() (in module wfl.utils.find_voids)": [[47, "wfl.utils.find_voids.find_voids"]], "get() (wfl.utils.params.params method)": [[47, "wfl.utils.params.Params.get"]], "get_wfl_version() (in module wfl.utils.version)": [[47, "wfl.utils.version.get_wfl_version"]], "implemented_calculators (wfl.utils.params.params attribute)": [[47, "wfl.utils.params.Params.implemented_calculators"]], "increment_active_iter() (in module wfl.utils.logging)": [[47, "wfl.utils.logging.increment_active_iter"]], "julia_exec_path() (in module wfl.utils.julia)": [[47, "wfl.utils.julia.julia_exec_path"]], "print_log() (in module wfl.utils.logging)": [[47, "wfl.utils.logging.print_log"]], "process_active_iter() (in module wfl.utils.logging)": [[47, "wfl.utils.logging.process_active_iter"]], "random_three_vector() (in module wfl.utils.vector_utils)": [[47, "wfl.utils.vector_utils.random_three_vector"]], "replace_eval_in_strs() (in module wfl.utils.replace_eval_in_strs)": [[47, "wfl.utils.replace_eval_in_strs.replace_eval_in_strs"]], "round_sig_figs() (in module wfl.utils.round_sig_figs)": [[47, "wfl.utils.round_sig_figs.round_sig_figs"]], "sample_pressure() (in module wfl.utils.pressure)": [[47, "wfl.utils.pressure.sample_pressure"]], "vertical_dist_from_hull() (in module wfl.utils.convex_hull)": [[47, "wfl.utils.convex_hull.vertical_dist_from_hull"]], "wfl.utils": [[47, "module-wfl.utils"]], "wfl.utils.at_copy_save_results": [[47, "module-wfl.utils.at_copy_save_results"]], "wfl.utils.configs": [[47, "module-wfl.utils.configs"]], "wfl.utils.convex_hull": [[47, "module-wfl.utils.convex_hull"]], "wfl.utils.file_utils": [[47, "module-wfl.utils.file_utils"]], "wfl.utils.find_voids": [[47, "module-wfl.utils.find_voids"]], "wfl.utils.gap_xml_tools": [[47, "module-wfl.utils.gap_xml_tools"]], "wfl.utils.julia": [[47, "module-wfl.utils.julia"]], "wfl.utils.logging": [[47, "module-wfl.utils.logging"]], "wfl.utils.misc": [[47, "module-wfl.utils.misc"]], "wfl.utils.ndim_neighbor_list": [[47, "module-wfl.utils.ndim_neighbor_list"]], "wfl.utils.parallel": [[47, "module-wfl.utils.parallel"]], "wfl.utils.params": [[47, "module-wfl.utils.params"]], "wfl.utils.pressure": [[47, "module-wfl.utils.pressure"]], "wfl.utils.quip_cli_strings": [[47, "module-wfl.utils.quip_cli_strings"]], "wfl.utils.replace_eval_in_strs": [[47, "module-wfl.utils.replace_eval_in_strs"]], "wfl.utils.round_sig_figs": [[47, "module-wfl.utils.round_sig_figs"]], "wfl.utils.vector_utils": [[47, "module-wfl.utils.vector_utils"]], "wfl.utils.version": [[47, "module-wfl.utils.version"]], "wfl.utils.vol_composition_space": [[47, "module-wfl.utils.vol_composition_space"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["attic/command_line", "attic/operations.utils", "command_line.automatic_docs", "examples", "examples.buildcell", "examples.contributions", "examples.daisy_chain_mlip_fitting", "examples.dimers", "examples.fhiaims_calculator", "examples.index", "examples.mace", "examples.md", "examples.mlip_fitting", "examples.normal_modes", "examples.orca_python", "examples.select_fps", "examples.smiles", "first_example", "index", "modules", "operations", "operations.ace_fitting", "operations.calculators", "operations.descriptors", "operations.fitting", "operations.gap_fitting", "operations.generate", "operations.multistage_gap_fitting", "operations.select", "overview", "overview.configset", "overview.overall_design", "overview.parallelisation", "overview.queued", "wfl", "wfl.autoparallelize", "wfl.calculators", "wfl.calculators.orca", "wfl.cli", "wfl.cli.commands", "wfl.descriptors", "wfl.fit", "wfl.fit.gap", "wfl.fit.modify_database", "wfl.generate", "wfl.generate.md_PROTECT", "wfl.select", "wfl.utils", "workflows.rss"], "filenames": ["attic/command_line.rst", "attic/operations.utils.md", "command_line.automatic_docs.rst", "examples.rst", "examples.buildcell.ipynb", "examples.contributions.md", "examples.daisy_chain_mlip_fitting.ipynb", "examples.dimers.ipynb", "examples.fhiaims_calculator.ipynb", "examples.index.md", "examples.mace.md", "examples.md.md", "examples.mlip_fitting.md", "examples.normal_modes.md", "examples.orca_python.md", "examples.select_fps.ipynb", "examples.smiles.md", "first_example.md", "index.rst", "modules.rst", "operations.rst", "operations.ace_fitting.md", "operations.calculators.md", "operations.descriptors.md", "operations.fitting.rst", "operations.gap_fitting.md", "operations.generate.md", "operations.multistage_gap_fitting.rst", "operations.select.md", "overview.rst", "overview.configset.rst", "overview.overall_design.rst", "overview.parallelisation.rst", "overview.queued.md", "wfl.rst", "wfl.autoparallelize.rst", "wfl.calculators.rst", "wfl.calculators.orca.rst", "wfl.cli.rst", "wfl.cli.commands.rst", "wfl.descriptors.rst", "wfl.fit.rst", "wfl.fit.gap.rst", "wfl.fit.modify_database.rst", "wfl.generate.rst", "wfl.generate.md_PROTECT.rst", "wfl.select.rst", "wfl.utils.rst", "workflows.rss.rst"], "titles": ["Command line interface", "Utility functions", "wfl", "Examples", "Random Structures via buildcell", "Contributing Examples", "GAP fit workflow with many wfl use-case examples", "Generating Dimer Structures", "FHI-Aims Calculator", "Index", "Parallelize MACE calculator", "Molecular Dynamics", "Iterative GAP fitting", "Normal Modes of molecules", "ORCA via Python script", "Selection or Sampling of Structures", "SMILES to Atoms", "First Example", "Welcome to Workflow\u2019s documentation!", "wfl", "Operations", "Fitting ACE", "Calculators in Workflow", "Descriptors", "Fitting potentials", "Fitting GAP", "Generating Atomic Structures", "Multistage GAP fitting", "Selecting Configs", "Overview", "Input and output of atomic structures", "Overall design", "Automatic parallelization of tasks", "Functions as independently queued jobs", "wfl package", "wfl.autoparallelize package", "wfl.calculators package", "wfl.calculators.orca package", "wfl.cli package", "wfl.cli.commands package", "wfl.descriptors package", "wfl.fit package", "wfl.fit.gap package", "wfl.fit.modify_database package", "wfl.generate package", "wfl.generate.md package", "wfl.select package", "wfl.utils package", "How to do GAP-RSS"], "terms": {"descript": [0, 5, 18], "all": [0, 2, 5, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 22, 26, 27, 28, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 47, 48], "cli": [0, 19, 34, 47, 48], "tool": [0, 47], "automat": [0, 15, 17, 18, 21, 29, 33, 34, 36, 40, 41, 44, 45, 46, 48], "gener": [0, 3, 4, 8, 10, 11, 14, 15, 16, 17, 18, 19, 20, 23, 31, 32, 34, 35, 37, 38, 41, 42, 46, 47, 48], "documment": [0, 17, 21], "function": [0, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 17, 18, 20, 21, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 45], "wfl": [0, 1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 23, 25, 26, 27, 28, 30, 31, 32, 33, 48], "you": [0, 5, 12, 15, 18, 33, 37], "can": [0, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 17, 21, 22, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 45, 46, 48], "perform": [0, 6, 7, 8, 15, 17, 37, 48], "dft": [0, 8, 12, 14, 18, 22, 36], "larg": [0, 14, 15, 44], "set": [0, 4, 6, 7, 8, 10, 11, 12, 15, 17, 18, 21, 22, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 46, 47], "configur": [0, 15, 17, 18, 22, 24, 26, 28, 30, 31, 32, 33, 34, 36, 38, 41, 42, 44, 45, 46, 48], "littl": [0, 1, 33], "effort": 0, "within": [0, 34, 35, 37, 38, 44, 46], "thi": [0, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 17, 20, 21, 25, 26, 27, 30, 31, 32, 33, 34, 35, 37, 38, 42, 43, 44, 45, 46, 47, 48], "workflow": [0, 2, 3, 4, 7, 8, 9, 10, 13, 14, 15, 16, 17, 20, 21, 23, 24, 25, 26, 30, 31, 33, 41, 48], "packag": [0, 6, 12, 14, 15, 17, 18, 19, 21, 31, 33], "current": [0, 5, 18, 22, 30, 31, 34, 35, 36, 37, 38, 41, 44, 48], "ar": [0, 4, 5, 6, 7, 10, 12, 13, 14, 17, 18, 20, 22, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 47, 48], "implement": [0, 9, 18, 22, 30, 31, 32, 36, 37, 42, 44, 45, 48], "There": [0, 17, 18, 31, 32], "exampl": [0, 4, 7, 8, 9, 12, 13, 14, 15, 18, 21, 22, 23, 25, 26, 30, 32, 34, 36, 37, 41, 45, 48], "document": [0, 3, 6, 12, 26, 30, 32], "few": [0, 13, 15, 48], "thought": 0, "about": [0, 14, 20, 33, 34, 37, 38, 46], "parallel": [0, 3, 6, 8, 9, 11, 13, 16, 17, 18, 19, 20, 23, 25, 29, 31, 33, 34, 35, 36, 37, 40, 44, 45, 46], "involv": [0, 34], "how": [0, 10, 12, 15, 17, 18, 22, 31, 32, 44, 45, 47], "contribut": [0, 3, 18, 40], "other": [0, 12, 25, 30, 32, 33, 34, 35, 36, 37, 41, 42, 46, 47, 48], "code": [0, 2, 3, 5, 8, 10, 12, 18, 20, 26, 32, 33, 35, 41, 48], "us": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 14, 15, 17, 18, 20, 21, 22, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 41, 42, 44, 45, 46, 47, 48], "ref": [0, 2, 41], "method": [0, 6, 11, 13, 28, 30, 36, 37, 38, 44, 45], "eval": [0, 6, 12, 18, 34, 38, 44, 47], "i": [0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "an": [0, 4, 5, 6, 7, 8, 9, 12, 14, 15, 17, 18, 21, 22, 25, 30, 31, 32, 33, 34, 35, 36, 37, 44, 45, 46, 47, 48], "advanc": 0, "evalu": [0, 2, 3, 10, 13, 14, 17, 18, 22, 27, 28, 36, 37, 38, 45, 47, 48], "radic": [0, 37], "basin": [0, 22, 37], "hop": [0, 20, 22, 37], "wavefunct": [0, 14, 22, 37], "space": [0, 25, 28, 34, 37, 42, 46, 47, 48], "howev": [0, 7, 48], "appropri": [0, 2, 4, 10, 13, 17, 27, 32, 41], "behav": 0, "simpl": [0, 6, 7, 9, 19, 20, 25, 30, 32, 33, 34, 41, 43, 47, 48], "do": [0, 2, 5, 27, 31, 32, 33, 35, 36, 37, 38, 41, 46], "one": [0, 6, 9, 12, 15, 17, 25, 27, 30, 31, 32, 34, 37, 40, 42, 45, 46, 47, 48], "per": [0, 2, 6, 11, 15, 17, 18, 25, 27, 28, 32, 33, 35, 37, 38, 40, 41, 42, 44, 46, 47, 48], "structur": [0, 2, 3, 8, 10, 11, 12, 13, 14, 17, 18, 20, 21, 22, 25, 28, 29, 31, 33, 34, 36, 37, 44, 46, 47, 48], "note": [0, 2, 8, 30, 33, 34, 36, 37, 44, 46, 48], "benefit": 0, "from": [0, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 22, 25, 26, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "have": [0, 4, 5, 6, 8, 10, 17, 27, 30, 32, 33, 34, 35, 36, 37, 42, 44, 45, 46, 48], "access": [0, 17, 22, 31, 48], "fast": [0, 13, 36, 37], "storag": [0, 30, 31, 34], "ssd": [0, 37], "scratch": [0, 37, 41], "drive": 0, "specifi": [0, 2, 7, 8, 10, 13, 17, 21, 26, 27, 33, 34, 35, 37, 44, 45, 47, 48], "path": [0, 2, 6, 8, 12, 14, 15, 17, 21, 25, 33, 34, 36, 37, 38, 41, 42, 44, 48], "tmp": 0, "argument": [0, 2, 4, 7, 15, 16, 17, 21, 25, 27, 31, 32, 33, 34, 35, 36, 37, 42, 44, 46, 47], "let": [0, 12, 17, 36, 48], "where": [0, 4, 7, 12, 17, 22, 31, 33, 34, 35, 36, 40, 41, 42, 44, 45, 46, 47, 48], "temporari": [0, 21, 22, 30, 34, 36, 37, 47], "directori": [0, 12, 17, 22, 33, 34, 36, 37, 38, 41, 42, 44, 47, 48], "creat": [0, 2, 6, 11, 12, 15, 17, 24, 25, 26, 33, 34, 35, 36, 37, 40, 42, 44, 45, 47, 48], "onli": [0, 2, 5, 7, 12, 15, 25, 27, 28, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48], "save": [0, 5, 6, 14, 17, 34, 36, 37, 38, 41, 42, 44, 46, 47], "cwd": [0, 17], "fail": [0, 35, 36, 37, 44, 47, 48], "v": [0, 2, 9, 38, 41, 47], "o": [0, 2, 4, 7, 11, 12, 16, 34, 35, 36, 37, 44, 46], "frames_dft": 0, "xyz": [0, 2, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 30, 33, 34, 37, 44, 48], "n": [0, 2, 12, 13, 15, 17, 26, 32, 35, 36, 46, 47], "3": [0, 6, 17, 25, 36, 37, 41, 44, 45, 48], "p": [0, 2, 11, 14, 37, 45, 47], "32": [0, 14, 17, 44], "kw": 0, "n_hop": [0, 37], "15": [0, 33, 48], "structures_in": 0, "singl": [0, 6, 13, 16, 18, 22, 30, 31, 33, 34, 36, 37, 40, 44, 46, 48], "1": [0, 2, 6, 7, 8, 11, 12, 13, 14, 15, 17, 22, 25, 27, 30, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48], "need": [0, 5, 6, 10, 11, 12, 13, 14, 17, 25, 30, 32, 33, 34, 35, 36, 37, 42, 44, 46, 47, 48], "explicitli": 0, "number": [0, 2, 4, 6, 12, 13, 17, 25, 26, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "process": [0, 3, 6, 8, 9, 13, 14, 15, 17, 22, 25, 31, 32, 35, 36, 37, 46, 48], "serial": [0, 35, 48], "unless": [0, 21, 30, 36, 37, 44, 45], "block": [0, 5, 37], "full": [0, 38, 44, 46], "help": [0, 31], "usag": [0, 6, 8], "option": [0, 2, 14, 17, 27, 32, 33, 34, 35, 36, 38, 40, 41, 44, 45, 46, 48], "input": [0, 2, 4, 6, 8, 10, 11, 13, 14, 15, 17, 18, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48], "output": [0, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47], "file": [0, 2, 3, 6, 7, 8, 10, 12, 13, 14, 15, 17, 20, 21, 24, 25, 30, 31, 33, 34, 35, 36, 37, 38, 41, 42, 44, 47, 48], "text": [0, 5], "requir": [0, 2, 5, 6, 15, 17, 33, 34, 35, 44, 46], "none": [0, 6, 8, 12, 13, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "prefix": [0, 2, 17, 36, 37, 41, 42, 44, 47, 48], "info": [0, 2, 6, 10, 11, 12, 13, 14, 17, 21, 30, 34, 35, 36, 38, 40, 41, 42, 44, 45, 46, 47, 48], "arrai": [0, 2, 6, 10, 13, 14, 17, 36, 37, 38, 40, 41, 42, 44, 46, 47], "result": [0, 2, 12, 17, 22, 30, 35, 36, 37, 41, 42, 43, 47], "base": [0, 2, 4, 12, 19, 20, 21, 28, 32, 33, 34, 36, 37, 38, 41, 42, 44, 45, 47, 48], "rundir": [0, 36, 37, 47], "put": [0, 36, 37, 44], "calc": [0, 2, 6, 11, 12, 13, 17, 34, 36, 41], "kwarg": [0, 6, 8, 10, 22, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "overwritten": 0, "keep": [0, 2, 3, 36, 37, 44, 46, 47, 48], "much": [0, 27, 32, 47, 48], "default": [0, 2, 12, 13, 17, 25, 27, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "nomad": [0, 36, 37], "compat": [0, 22, 41], "subset": [0, 12, 45, 48], "execut": [0, 2, 3, 4, 5, 6, 7, 14, 18, 21, 22, 24, 25, 31, 32, 33, 36, 37, 41, 42, 44, 48], "recommend": [0, 37], "nr": 0, "run": [0, 2, 3, 4, 10, 11, 12, 14, 17, 22, 31, 32, 34, 35, 36, 37, 38, 41, 42, 44, 45, 47, 48], "integ": [0, 32, 35, 40, 48], "global": [0, 2, 6, 9, 12, 15, 20, 22, 23, 27, 33, 35, 40, 41, 44, 45, 46, 48], "optimis": [0, 9, 37, 44], "each": [0, 2, 9, 11, 12, 13, 14, 15, 17, 22, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "frame": [0, 15, 37], "nh": 0, "step": [0, 6, 11, 12, 15, 18, 26, 37, 38, 44, 45], "take": [0, 11, 12, 14, 17, 21, 27, 31, 32, 35, 37, 44, 46, 48], "make": [0, 5, 6, 11, 21, 25, 26, 31, 33, 35, 44, 47, 48], "sure": [0, 5, 36], "correct": [0, 33, 48], "recpb": 0, "test": [0, 3, 6, 25, 38, 41, 48], "addit": [0, 2, 6, 7, 15, 27, 31, 33, 36, 37, 41, 42], "ad": [0, 5, 7, 12, 17, 25, 30, 41, 42, 48], "show": [0, 9, 15], "messag": [0, 35], "exit": [0, 35], "The": [0, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 17, 18, 21, 22, 25, 27, 28, 30, 31, 32, 33, 35, 36, 37, 44, 48], "wrapper": [0, 21, 25, 32], "energi": [0, 6, 8, 10, 12, 14, 17, 18, 21, 22, 27, 28, 36, 37, 38, 41, 42, 44, 47, 48], "forc": [0, 2, 6, 8, 10, 12, 14, 17, 21, 22, 36, 37, 39, 40, 41, 42, 44, 47, 48], "stress": [0, 2, 8, 17, 21, 36, 37, 41, 42, 44], "simpli": 0, "structures_dft": 0, "properti": [0, 2, 6, 8, 10, 12, 14, 17, 28, 34, 36, 37, 38, 41, 47], "includ": [0, 2, 5, 7, 8, 12, 15, 17, 26, 32, 33, 34, 35, 36, 41, 44, 47], "some": [0, 5, 6, 11, 12, 21, 26, 27, 30, 31, 32, 33, 34, 35, 36, 44, 45, 46, 47, 48], "ecut": 0, "500": [0, 6, 8, 11, 37], "xc": [0, 8], "pbesol": 0, "pp": [0, 2, 33, 36], "pseudopotenti": [0, 48], "string": [0, 2, 6, 9, 25, 27, 30, 34, 35, 36, 38, 40, 41, 42, 44, 46, 47, 48], "split": [0, 32, 33, 35], "mpirun": [0, 32, 36], "keyword": [0, 12, 34, 35, 36, 41, 44, 47, 48], "pass": [0, 4, 7, 15, 25, 27, 30, 32, 33, 34, 35, 40, 42, 46, 47, 48], "dict": [0, 27, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "ASE": [0, 16, 17, 18, 22, 26, 31, 32, 33, 36, 37, 41, 44, 45, 47, 48], "": [0, 2, 4, 6, 9, 12, 14, 15, 16, 17, 21, 22, 24, 25, 26, 27, 31, 32, 33, 34, 35, 36, 37, 41, 42, 44, 46, 48], "vasp2": 0, "come": [0, 1, 34, 36, 41], "vasp_command": [0, 33, 48], "vasp_command_gamma": [0, 33, 36, 48], "config": [0, 2, 6, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 43, 44, 45, 46], "atom": [0, 1, 3, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 25, 27, 28, 29, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "pbc": [0, 36, 37], "fals": [0, 7, 11, 12, 14, 15, 25, 30, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "wai": [0, 6, 15, 17, 22, 31, 32, 33, 48], "find": [0, 12, 15, 18, 28, 41, 46, 47], "paw": 0, "somewhat": [0, 6, 20, 48], "differ": [0, 2, 11, 13, 15, 27, 30, 32, 33, 37, 40, 41, 44, 45, 46, 48], "normal": [0, 3, 6, 9, 10, 17, 18, 20, 25, 32, 33, 37, 40, 44, 47, 48], "behavior": [0, 30, 33, 45], "vasp_pp_path": [0, 33, 36], "environ": [0, 11, 12, 17, 18, 25, 31, 33, 35, 41, 42], "variabl": [0, 11, 12, 17, 21, 25, 31, 33, 35, 41, 42, 48], "follow": [0, 5, 10, 11, 12, 13, 15, 33, 34, 44, 48], "subdirectori": 0, "which": [0, 2, 6, 7, 12, 15, 17, 21, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 44, 46, 47, 48], "depend": [0, 6, 13, 15, 18, 31, 34, 46], "potcar": [0, 33, 36], "top": [0, 27, 34], "dir": [0, 14, 30, 36], "overrid": [0, 33, 34, 35, 36, 41, 42], "overridden": [0, 33], "rel": [0, 28, 34, 41, 42, 46, 48], "instead": [0, 6, 15, 17, 33, 34, 36, 37, 47], "heurist": [0, 12, 27, 34], "element": [0, 6, 26, 34, 44, 47, 48], "found": [0, 21, 47, 48], "chem_symbol": 0, "below": [0, 4, 6, 7, 9, 12, 14, 25, 26, 28, 31, 32, 33, 34, 41, 42, 47, 48], "whatev": [0, 32], "chosen": 0, "setup": [0, 3, 10, 33], "contain": [0, 2, 3, 5, 7, 11, 12, 14, 17, 18, 26, 27, 31, 32, 33, 34, 35, 36, 41, 42, 45, 46, 47, 48], "suffix": [0, 36, 38], "e": [0, 2, 5, 6, 7, 8, 17, 18, 21, 24, 26, 27, 28, 31, 32, 33, 34, 36, 37, 38, 40, 41, 44, 45, 46, 47, 48], "g": [0, 2, 5, 6, 8, 17, 18, 21, 24, 26, 27, 28, 31, 32, 33, 36, 38, 40, 41, 44, 47, 48], "_pv": 0, "electron": [0, 2, 8, 14], "valenc": 0, "chemic": 0, "symbol": [0, 33, 47], "kei": [0, 2, 6, 8, 15, 25, 27, 30, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48], "yet": [0, 32], "simplest": [0, 5], "paramet": [0, 2, 6, 8, 12, 21, 25, 33, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "incar": [0, 36], "kpoint": [0, 36], "particular": [0, 12, 27, 33, 35], "those": [0, 28, 32, 33, 36, 41], "read": [0, 12, 13, 17, 22, 30, 31, 37, 38, 42, 47, 48], "lile": 0, "encut": [0, 33], "soon": 0, "might": [1, 17, 20, 34, 36, 37], "handi": [1, 48], "find_void": [1, 19, 34], "return": [1, 6, 17, 22, 28, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47], "posit": [1, 2, 6, 33, 34, 35, 36, 37, 44, 46, 47], "voronoi": 1, "center": [1, 27, 46], "distanc": [1, 2, 7, 26, 38, 44, 45, 46, 47], "nearest": 1, "gap_xml_tool": [1, 19, 34], "extract_e0": [1, 34, 47], "give": [1, 17, 26, 35, 47, 48], "valu": [1, 2, 8, 12, 13, 21, 27, 28, 30, 32, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48], "fit": [1, 2, 3, 15, 18, 19, 20, 23, 31, 33, 34, 35, 38, 48], "command": [2, 3, 5, 6, 8, 11, 14, 17, 18, 25, 33, 34, 35, 36, 37, 38, 41, 42, 48], "line": [2, 3, 5, 12, 17, 18, 25, 34, 35, 36, 37, 42, 48], "interfac": [2, 6, 17, 18, 23, 24, 36, 48], "arg": [2, 6, 8, 10, 22, 32, 34, 35, 36, 37, 40, 44, 45, 46, 47], "verbos": [2, 12, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46], "local": [2, 11, 12, 14, 15, 17, 26, 32, 36, 37, 38, 39, 40, 44, 45], "calcul": [2, 3, 11, 12, 13, 14, 15, 17, 18, 19, 20, 23, 26, 27, 32, 33, 34, 40, 41, 42, 44, 45, 46, 47, 48], "overwrit": [2, 6, 34, 40, 41, 45], "exist": [2, 26, 30, 34, 35, 40, 41, 42, 47], "item": [2, 27, 32, 34, 35, 41], "present": [2, 21, 25, 34, 35, 36, 37, 41, 42, 44, 46], "vector": [2, 12, 15, 38, 40, 44, 46, 47], "configset": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 24, 25, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "ouput": 2, "outputspec": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 22, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 44, 45, 46, 47, 48], "print": [2, 6, 12, 13, 14, 35, 36, 41, 42, 44, 45], "summari": [2, 13, 34, 44, 48], "tabl": [2, 3], "cpp": 2, "calc_property_prefix": [2, 6, 41], "predict": [2, 9], "rpp": 2, "ref_property_prefix": [2, 6, 21, 41, 42], "taken": [2, 34, 38, 47], "refer": [2, 3, 9, 12, 13, 27, 30, 35, 38, 41, 42, 48], "cp": 2, "config_properti": [2, 6, 41], "multipl": [2, 10, 13, 14, 17, 18, 22, 26, 27, 30, 33, 34, 37, 40, 44, 46, 48], "comput": [2, 17, 33, 38, 41, 45, 46, 47], "virial": [2, 21, 41, 42], "reconstruct": [2, 34, 41], "end": [2, 14, 26, 30, 33, 35, 36, 37, 41, 42, 45], "comp": [2, 6, 41], "compon": [2, 6, 34, 37, 41, 47], "being": [2, 12, 32, 34, 41], "count": [2, 27, 37, 41], "separ": [2, 22, 32, 33, 35, 36, 38, 41, 42, 44, 48], "neither": [2, 41], "nor": [2, 41], "atom_properti": [2, 6, 41], "ap": 2, "For": [2, 6, 7, 12, 17, 25, 30, 32, 33, 34, 36, 37, 41, 44, 48], "z": [2, 4, 12, 25, 27, 34, 38, 40, 41, 42, 44, 46, 47, 48], "numbersto": 2, "assign": [2, 15, 17, 33, 41, 44], "categori": [2, 30, 41], "ck": 2, "category_kei": [2, 41], "averag": [2, 15, 41, 48], "defin": [2, 4, 5, 6, 7, 8, 10, 12, 14, 18, 22, 30, 32, 33, 34, 35, 36, 41, 44, 45, 46, 47, 48], "thesekei": 2, "overal": [2, 15, 18, 29, 41, 44], "_all_": [2, 41], "config_typ": [2, 6, 12, 13, 41, 44, 45, 47], "wp": 2, "weight": [2, 21, 40, 41, 44, 48], "weight_properti": [2, 41], "appli": [2, 8, 18, 27, 28, 34, 40, 41, 44, 45, 46, 47, 48], "rmse": [2, 6, 12, 41], "precis": [2, 41, 44, 46], "f": [2, 6, 12, 14, 21, 25, 38, 41, 42, 44, 45, 47, 48], "fig": [2, 25], "name": [2, 5, 12, 15, 17, 27, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 47, 48], "fig_nam": 2, "filenam": [2, 12, 30, 31, 34, 35, 41, 42, 47, 48], "figur": [2, 47], "plot": [2, 3, 9, 41], "given": [2, 6, 13, 16, 17, 18, 25, 26, 28, 33, 37, 41, 42, 43, 44, 47, 48], "type": [2, 5, 12, 17, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48], "error_typ": [2, 41], "report": 2, "legend": 2, "mae": [2, 41], "cmap": [2, 41], "colormap": [2, 41], "pf": 2, "param": [2, 5, 14, 15, 17, 19, 27, 34, 38, 42], "fname": [2, 37], "param_fnam": [2, 34, 38, 39], "potenti": [2, 3, 6, 7, 12, 15, 17, 18, 20, 21, 22, 25, 32, 34, 41, 42, 48], "prop": [2, 41, 47], "prop_prefix": [2, 6, 13, 34, 38, 44, 47], "pre": [2, 48], "pend": 2, "gap_": [2, 6, 12], "ace_": 2, "mace_": [2, 10], "num": [2, 6, 15, 42, 46], "python": [2, 3, 6, 9, 10, 17, 18, 25, 27, 30, 31, 33, 35, 36, 41, 47, 48], "subprocess": [2, 6, 35], "num_inputs_per_python_subprocess": [2, 8, 11, 13, 14, 32, 33, 34, 35, 36, 37, 38], "initi": [2, 3, 8, 14, 18, 22, 30, 32, 33, 34, 35, 36, 37, 41, 44, 45, 47], "10": [2, 4, 6, 8, 15, 32, 36, 37, 44, 45, 48], "k": [2, 6, 37, 44], "isol": [2, 3, 7, 21, 41, 42, 44, 47, 48], "isolated_atom_info_kei": [2, 41, 47], "isolated_atom_info_valu": [2, 41, 47], "isolatedatom": [2, 41, 47], "isolated_atom": [2, 6, 12, 25, 41, 47], "dtype": [2, 10], "model": [2, 6, 10, 32, 36, 41, 42, 48], "wa": [2, 17, 32, 33, 34, 35], "float64": [2, 10], "float32": 2, "repeatedli": [2, 44], "pickard": 2, "airss": [2, 4, 26, 44, 48], "distribut": [2, 13, 44, 45, 47, 48], "random": [2, 3, 6, 9, 11, 13, 18, 26, 32, 33, 35, 37, 42, 44, 45, 46, 47, 48], "speci": [2, 6, 7, 27, 34, 40, 44], "volum": [2, 28, 44, 45, 46, 47, 48], "symmetri": [2, 26, 44], "etc": [2, 8, 21, 24, 27, 33, 35, 36, 37], "minim": [2, 32, 33, 35, 45, 48], "content": [2, 6, 19, 33], "targvol": 2, "min_vol": 2, "max_vol": 2, "volume_per_formula_unit": 2, "number_of_speci": 2, "elem_symbol_1": 2, "num_1": 2, "elem_symbol_2": 2, "num_2": 2, "nform": 2, "n_min": 2, "n_max": [2, 6, 25, 48], "n_1": 2, "n_2": 2, "symmop": [2, 44], "slack": 2, "0": [2, 6, 7, 8, 11, 12, 17, 22, 25, 27, 32, 33, 34, 35, 36, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48], "25": [2, 38], "overlap": 2, "compact": 2, "minsep": 2, "min_separation_default": 2, "min_separation_1_1": 2, "min_separation_1_2": 2, "extra_info": [2, 34, 38, 44], "info_field": [2, 46], "buildcell_input": [2, 4, 44], "exec": 2, "buildcell_exec": 2, "n_config": [2, 46], "perturb": [2, 22, 44], "magnitud": [2, 44], "ei": 2, "extra": [2, 17, 34, 35, 38, 44], "val": [2, 25, 30, 35, 38, 42, 43], "pair": [2, 27, 30, 34, 37, 42, 44, 45, 47], "add": [2, 5, 12, 17, 33, 34, 35, 38, 42, 44], "smiles_str": 2, "keep_descriptor": 2, "final": [2, 4, 8, 13, 22, 27, 33, 34, 37, 40, 41, 42, 48], "kernel_expon": 2, "expon": [2, 34, 46], "dot": [2, 46], "product": [2, 46], "kernel": [2, 5, 43, 46], "determinist": [2, 33, 44, 45], "stochast": [2, 46], "seed": [2, 6, 11, 17, 33, 35, 37, 38, 42, 44, 45, 46], "stochastic_se": [2, 46], "np": [2, 6, 12, 32, 33, 37, 44, 46], "exec_cod": 2, "Will": 2, "substitut": [2, 27, 47], "self": [3, 15, 18, 26, 36, 37, 48], "snippet": [3, 10], "common": [3, 5, 9, 17, 18, 48], "thing": [3, 9, 32, 34, 35], "done": [3, 15, 16, 32, 33, 34, 35, 36, 42, 46, 47, 48], "index": [3, 5, 18, 28, 34, 35, 36, 37, 46], "remot": [3, 11, 12, 14, 18, 19, 21, 24, 25, 31, 32, 34, 41, 42], "get": [3, 18, 22, 25, 32, 34, 35, 36, 37, 38, 42, 44, 46, 47], "descriptor": [3, 12, 15, 18, 19, 20, 25, 27, 32, 34, 38, 42, 46, 47, 48], "sampl": [3, 7, 11, 12, 18, 20, 26, 44, 45, 46, 47, 48], "iter": [3, 4, 18, 22, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 48], "train": [3, 6, 7, 15], "miscellan": [3, 47], "dimer": [3, 9, 18, 20, 42, 44, 48], "via": [3, 6, 8, 9, 12, 13, 16, 17, 18, 21, 22, 23, 25, 26, 31, 34, 35, 36, 44], "buildcel": [3, 9, 18, 19, 20, 32, 34, 48], "orca": [3, 9, 18, 22, 34, 36, 47], "script": [3, 4, 6, 9, 10, 11, 13, 18, 21, 33, 41], "fhi": [3, 9, 18, 22, 36], "aim": [3, 4, 9, 18, 19, 22, 26, 34, 48], "mace": [3, 9, 18, 19, 34], "complet": [3, 14, 18, 33, 35, 47], "gap": [3, 9, 15, 18, 20, 24, 32, 33, 34, 38, 41, 47], "start": [3, 6, 8, 11, 18, 32, 35, 36, 41, 42, 47], "import": [3, 4, 7, 8, 10, 11, 13, 14, 15, 16, 17, 30, 33, 36], "prepar": [3, 7, 18, 21, 26, 33, 34, 36, 41, 42, 44], "track": 3, "error": [3, 5, 9, 17, 18, 19, 27, 34, 38, 42], "mani": [3, 9, 12, 13, 17, 18, 22, 30, 31, 32, 34, 42, 44, 45, 47, 48], "case": [3, 5, 9, 12, 17, 18, 30, 32, 36, 44, 46, 48], "molecular": [3, 9, 18, 20], "dynam": [3, 9, 18, 20, 37, 48], "simul": [3, 11, 18, 26, 44, 45], "filter": [3, 15, 18, 28, 33, 36, 46], "soap": [3, 9, 12, 15, 23, 25, 27, 34, 42, 48], "sub": [3, 5, 34, 36, 44, 45], "select": [3, 12, 18, 19, 20, 34, 38, 41, 44, 45, 47], "cur": [3, 9, 15, 20, 34, 38, 46, 48], "correl": [3, 9], "mode": [3, 9, 18, 20, 37, 38, 44, 47], "molecul": [3, 6, 9, 18, 20, 37, 44], "visual": 3, "smile": [3, 6, 9, 18, 19, 20, 34], "hide": 3, "onlin": 3, "updat": [3, 21, 35, 36, 41, 42, 48], "relat": [3, 42, 47], "In": [4, 5, 6, 7, 10, 12, 15, 17, 22, 30, 31, 32, 33, 48], "routin": [4, 7, 10, 35, 36, 44, 45, 46, 47], "It": [4, 17, 22, 25, 30], "build": [4, 6, 13, 17, 18, 44, 48], "construct": [4, 6, 17, 20, 26, 28, 32, 33, 34, 42, 47], "sensibl": [4, 26], "illustr": [4, 5, 7, 8], "its": [4, 7, 27, 28, 30, 31, 32, 33, 35, 44, 45], "applic": [4, 7, 12], "aluminum": 4, "unit": [4, 13, 28, 41, 44, 46, 47, 48], "cell": [4, 5, 6, 20, 36, 37, 44, 46, 48], "here": [4, 5, 6, 7, 12, 14, 15, 17, 30, 32, 37, 47, 48], "we": [4, 6, 7, 8, 10, 12, 13, 15, 17, 22, 36, 46, 48], "total": [4, 17, 42, 44, 45, 47, 48], "20": [4, 6, 12, 14, 43, 48], "thu": [4, 7, 33, 44], "length": [4, 7, 12, 27, 32, 34, 36, 42, 44, 47, 48], "next": [4, 8, 12, 30, 34, 48], "handl": [4, 7, 8, 10, 18, 21, 22, 25, 33, 36, 37], "order": [4, 5, 34, 48], "proper": [4, 12], "avail": [4, 14, 17, 33, 34, 35, 36], "create_input": [4, 34, 44], "characteris": 4, "system": [4, 6, 7, 8, 11, 12, 14, 18, 32, 33, 34, 35, 36, 38, 44, 46], "buildcell_cmd": [4, 38, 44], "our": [4, 10, 12], "machin": [4, 7, 15, 33, 35, 41, 42, 46], "obtain": [4, 17], "desir": [4, 27], "al": 4, "rang": [4, 6, 7, 17, 26, 27, 32, 35, 38, 44, 46, 47, 48], "buildcell_output": [4, 44], "13": 4, "vol_per_atom": [4, 12, 44, 48], "bond_length": [4, 7, 44], "2": [4, 6, 8, 12, 15, 17, 27, 34, 37, 41, 44, 46, 48], "complement": 5, "ones": [5, 11, 26, 31, 36, 37, 48], "provid": [5, 6, 12, 21, 33], "alwai": [5, 30, 38], "welcom": 5, "would": [5, 6, 10, 11, 12, 15, 17, 22, 48], "like": [5, 10, 17, 25, 26, 32, 33, 35, 37, 38, 44, 47, 48], "see": [5, 12, 15, 22, 23, 26, 31, 32, 33, 34, 35, 36, 41, 42, 44, 45, 48], "feel": 5, "free": 5, "so": [5, 6, 22, 25, 30, 32, 33, 34, 36, 37, 41, 44, 45, 46, 47, 48], "pleas": [5, 18, 48], "account": [5, 11, 34], "remark": 5, "describ": [5, 18, 27, 33, 34], "should": [5, 17, 25, 30, 32, 33, 36, 37, 44, 45, 46, 47], "term": [5, 27], "jupyt": 5, "notebook": [5, 6], "besid": 5, "titl": 5, "possibli": [5, 31], "explanatori": 5, "markdown": 5, "two": [5, 15, 17, 26, 27, 30, 31, 32, 44, 45, 48], "first": [5, 7, 8, 9, 10, 12, 15, 16, 18, 28, 30, 32, 33, 34, 35, 37, 38, 41, 44, 45, 48], "actual": [5, 27, 30, 32, 33, 34, 41, 46, 48], "explicit": 5, "achiev": [5, 15, 31], "oper": [5, 9, 16, 17, 18, 25, 26, 30, 31, 33, 34, 35, 36, 37, 44, 45, 47], "second": [5, 12, 32, 33, 35, 41], "displai": 5, "purpos": [5, 6, 33, 37], "consequ": 5, "sort": [5, 42, 47], "check": [5, 6, 12, 14, 37, 44, 45, 48], "assert": [5, 25, 42], "statement": 5, "rais": [5, 18, 44, 45], "work": [5, 12, 24, 30, 32, 36, 37, 46, 48], "intend": [5, 27], "befor": [5, 10, 14, 17, 18, 34, 35, 37, 41, 46, 47], "doc": [5, 6, 8, 15, 35], "sourc": [5, 7, 8, 11, 15, 34, 46], "under": [5, 34, 45, 48], "descriptive_nam": 5, "ipynb": 5, "restart": [5, 33, 41, 48], "clear": [5, 13], "state": [5, 44], "afterward": 5, "open": [5, 12, 15, 34, 37, 47], "favorit": 5, "editor": 5, "search": [5, 18, 44, 47], "your": [5, 9, 12, 48], "nbsphinx": 5, "hidden": [5, 6], "metadata": 5, "rst": 5, "well": [5, 15, 22, 37, 41, 42, 44, 47, 48], "md": [5, 6, 11, 12, 15, 18, 26, 32, 34, 44], "list": [5, 6, 9, 12, 15, 17, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47], "link": [5, 9, 12, 48], "To": [5, 12, 13, 14, 15, 16, 17, 21, 32, 33], "been": [5, 14, 30, 31, 32, 33, 34, 35, 36, 37, 47], "test_doc_exampl": 5, "py": [5, 12, 14, 17, 30, 33, 41, 47, 48], "new": [5, 11, 12, 26, 42, 47, 48], "pytest": 5, "id": [5, 35], "mark": [5, 47], "parametr": 5, "walk": 6, "though": [6, 37], "lightweight": [6, 25], "mlip": [6, 12, 23], "showcas": 6, "wide": [6, 35, 48], "thei": [6, 22, 27, 33, 37, 41, 47, 48], "main": [6, 12, 17, 18, 27, 31], "gfn2": [6, 11, 13], "xtb": [6, 9, 11, 13], "decomposit": 6, "divers": [6, 38], "ish": [6, 30], "standard": [6, 11, 17, 38, 42, 44], "three": [6, 44], "extern": [6, 14], "quip": [6, 12, 27, 47], "quippi": [6, 12, 15, 17, 19, 22, 23, 32, 34, 48], "http": [6, 18, 35, 36, 37, 47], "pypi": 6, "org": [6, 35], "project": [6, 33, 35], "ase": [6, 11, 12, 13, 17, 30, 31, 32, 33, 34, 36, 37, 44, 47], "instal": [6, 12, 16, 32, 33, 48], "pip": [6, 18], "semi": 6, "empir": 6, "design": [6, 18, 29, 32], "readthedoc": 6, "io": [6, 12, 13, 31, 34], "en": 6, "latest": [6, 48], "html": [6, 35, 36], "conda": [6, 11, 14, 16, 17], "c": [6, 16, 34, 38, 48], "forg": [6, 16], "rdkit": [6, 16, 44], "chemoinformat": 6, "convert": [6, 21, 25, 26, 40, 41, 42, 44, 46, 47], "2d": 6, "cco": 6, "ethanol": 6, "3d": [6, 44, 47], "object": [6, 17, 18, 22, 30, 31, 32, 33, 34, 35, 36, 37, 40, 43, 44, 46, 47], "numpi": [6, 12, 35], "by_descriptor": [6, 12, 15, 19, 28, 34], "autoparallel": [6, 8, 11, 12, 13, 14, 17, 18, 19, 22, 26, 30, 31, 32, 33, 34, 41, 42, 46], "autoparainfo": [6, 8, 11, 13, 14, 17, 19, 33, 34, 36, 40, 44, 45, 46], "remoteinfo": [6, 11, 14, 17, 19, 33, 34, 41, 42], "util": [6, 19, 26, 34, 42, 45], "atomization_energi": [6, 34, 41, 47], "by_bool_func": [6, 34, 46], "map": [6, 19, 30], "pathlib": [6, 8, 12, 14, 15], "expyr": [6, 11, 12, 14, 17, 18, 21, 25, 31, 33, 35], "resourc": [6, 11, 14, 17, 31, 33, 35], "autoparalel": 6, "wrap": [6, 26, 31, 32, 33, 34, 35, 36], "pickl": [6, 32, 33, 47], "abl": 6, "multiprocess": [6, 17, 32, 47, 48], "pool": [6, 19, 32, 33, 34, 38, 47, 48], "t": [6, 22, 25, 34, 36, 42, 45, 48], "init": [6, 12, 32, 34, 35], "call": [6, 8, 10, 13, 14, 15, 17, 21, 22, 25, 31, 32, 33, 34, 35, 36, 37, 38, 42, 44, 45, 47], "xtb_calc": 6, "e0": [6, 41, 42, 44, 47, 48], "them": [6, 8, 12, 14, 15, 30, 31, 36, 37, 41, 47, 48], "store": [6, 8, 13, 14, 19, 30, 31, 32, 34, 36, 37, 40, 41, 44, 46], "later": [6, 25, 48], "combin": [6, 7, 17, 36, 37, 40, 41], "isolated_at_fnam": 6, "50": [6, 12], "h": [6, 7], "tag": [6, 30, 34, 42], "output_prefix": [6, 8, 10, 14, 17, 36, 37], "xtb_": 6, "small": [6, 44, 46, 48], "hydrocarbon": 6, "Their": 6, "connect": 6, "repres": [6, 7, 12, 47], "reason": 6, "geometri": [6, 9, 20, 36, 37], "all_smil": 6, "cc1": 6, "ccc": 6, "cc": [6, 16], "c1c": 6, "c2ccc": 6, "cc3cc": 6, "cc3": 6, "cc2": 6, "c1cc1": 6, "cc1ccccc1cccc1": 6, "ccccc1": 6, "2c": 6, "1c2": 6, "c1": 6, "cc2ccc": 6, "cc3cc3": 6, "c2ccccc2": 6, "ccc1": 6, "cccc": [6, 16, 26], "1c": 6, "cccccccc1": 6, "c1cccc": 6, "c1cc2c3ccccc3c1c1ccccc12": 6, "ch": 6, "smiles_config": 6, "regener": 6, "smiles_confgi": 6, "true": [6, 8, 11, 12, 14, 15, 17, 25, 28, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48], "randomse": [6, 44], "random_se": 6, "300": [6, 11, 12, 13, 44], "nvt": [6, 11, 26], "berendsen": [6, 11, 26, 45], "thermostat": [6, 45], "collect": [6, 14, 31, 34], "traj": [6, 12, 15, 38, 44], "md_param": [6, 12], "80": 6, "dt": [6, 11, 12, 45], "5": [6, 11, 12, 42, 44, 48], "temperatur": [6, 11, 12, 13, 28, 37, 44, 45, 46, 48], "temperature_tau": [6, 11, 45], "results_prefix": [6, 11, 36, 47], "traj_step_interv": [6, 11, 44, 45], "remote_info": [6, 11, 12, 14, 17, 35, 41, 42], "sys_nam": [6, 11, 14, 17, 33, 35], "github": [6, 18], "job_nam": [6, 11, 14, 17, 33, 35], "max_tim": [6, 11, 14, 17, 33], "15m": 6, "num_cor": [6, 11, 14, 17], "partit": [6, 11, 14, 17], "check_interv": [6, 35], "num_inputs_per_queued_job": [6, 11, 14, 17, 33, 35], "md_sampl": 6, "autopara_info": [6, 8, 11, 13, 14, 17, 33, 34, 35, 36, 40, 44, 45, 46], "num_python_subprocess": [6, 8, 17, 32, 35], "while": [6, 7, 11, 12], "lead": [6, 13, 33, 38, 42, 46], "better": 6, "extrapol": 6, "too": [6, 45], "dissimilar": 6, "region": 6, "interest": [6, 7, 48], "expens": [6, 32], "accuraci": [6, 27], "elsewher": 6, "One": [6, 17], "spot": 6, "distant": 6, "equilibrium": [6, 44], "high": [6, 33], "exclud": [6, 8, 33, 38, 46], "def": [6, 32, 35], "are_forces_reason": 6, "force_comp": 6, "xtb_forc": 6, "linalg": 6, "norm": 6, "axi": 6, "8": [6, 7, 10, 15, 17, 25, 38, 44, 47, 48], "at_filt": [6, 46], "4": [6, 8, 11, 12, 14, 25, 36, 44, 48], "local_soap": 6, "descriptor_kei": 6, "just": [6, 8, 14, 21, 25, 32, 33, 38, 42, 44, 45, 47, 48], "go": [6, 7, 12, 31, 47], "dictionari": [6, 8, 12, 21, 25, 37, 38, 40, 41, 42, 44, 47, 48], "mean": [6, 17, 36, 41, 47, 48], "same": [6, 8, 17, 22, 28, 31, 32, 34, 37, 42, 46, 47, 48], "l_max": [6, 25, 48], "6": [6, 8, 12, 17, 25, 37, 44, 48], "cutoff": [6, 25, 27, 34, 42, 44, 46, 47, 48], "delta": [6, 25, 27, 42, 48], "covariance_typ": [6, 25, 27, 48], "dot_product": [6, 25, 48], "zeta": [6, 25, 48], "atom_gaussian_width": [6, 25, 34], "isn": [6, 25], "parallelis": [6, 11, 12, 17, 18, 31, 48], "wfl_num_python_subprocess": [6, 10, 12, 17, 31, 32, 33, 35, 48], "wfl_expyre_info": [6, 31, 35, 41, 42], "md_soap_loc": 6, "desc": [6, 12, 15, 40], "per_atom": [6, 15, 40, 46], "get_average_soap": 6, "at_desc": [6, 46], "pop": [6, 30], "sum": 6, "md_soap_glob": 6, "map_func": 6, "cur_select": 6, "cur_conf_glob": [6, 28, 34, 46], "100": [6, 12, 13, 25, 35], "target": [6, 44, 46, 48], "pick": [6, 15, 17, 38], "at_descs_info_kei": [6, 15, 46], "train_fnam": 6, "test_fnam": 6, "gap_fnam": 6, "xml": [6, 12, 17, 25, 27, 36, 42, 47], "now": [6, 8, 10, 13, 33, 43, 44, 46], "cannot": [6, 32, 33, 36, 37, 46], "pars": [6, 21, 37, 38, 44, 45, 47, 48], "reader": 6, "del": 6, "processed_cur_select": 6, "label": [6, 27, 35, 38, 41, 42], "train_input": 6, "test_input": 6, "write": [6, 11, 12, 13, 17, 19, 21, 22, 30, 31, 34, 36, 37, 40, 44, 45, 46], "almost": 6, "directli": [6, 21, 33, 42, 45], "gap_fit": [6, 12, 25, 27, 33, 42, 44, 48], "gap_param": [6, 12, 27, 48], "gap_fil": 6, "energy_parameter_nam": 6, "xtb_energi": 6, "force_parameter_nam": 6, "default_sigma": [6, 25, 27, 43, 48], "001": [6, 37], "01": [6, 8, 17, 25, 38, 44, 45, 47], "config_type_kernel_regularis": 6, "0001": 6, "_gap": [6, 25, 42], "n_spars": [6, 25, 27, 34, 48], "sparse_method": [6, 25, 34, 48], "cur_point": [6, 25, 48], "cutoff_transition_width": [6, 34, 48], "distance_2b": 6, "7": [6, 33, 44], "ard_s": [6, 48], "theta_uniform": [6, 48], "uniform": [6, 34, 42, 47, 48], "train_config": 6, "run_gap_fit": [6, 25, 41, 42], "fitting_config": [6, 38, 41, 42], "fitting_dict": [6, 25, 42], "stdout_fil": [6, 42], "out": [6, 8, 12, 15, 18, 35, 36, 37, 42, 44, 48], "skip_if_pres": [6, 41, 42], "train_fn_with_gap": 6, "test_fn_with_gap": 6, "isolated_at_fn_with_gap": 6, "replac": [6, 27, 34, 38, 46, 47], "gap_calc": 6, "param_filenam": [6, 17, 22], "input_fil": [6, 33, 35], "gap_calc_autopara_info": 6, "ha": [6, 11, 12, 14, 16, 22, 23, 24, 26, 27, 30, 31, 32, 34, 36, 37, 47, 48], "conveni": [6, 17], "compar": [6, 15, 37, 46], "pariti": [6, 41], "fn": 6, "diff": [6, 41], "errors_dump": [6, 34, 41], "value_error_scatt": [6, 34, 41], "all_error": [6, 41], "all_diff": [6, 41], "all_par": [6, 41], "gap_rms": 6, "png": 6, "learn": [7, 15, 44, 48], "interatom": [7, 18], "curv": 7, "inform": [7, 12, 14, 33, 34, 35, 36, 40, 44, 45, 46, 48], "frequent": 7, "correspond": [7, 10, 13, 22, 25, 30, 31, 34, 35, 36, 37, 41, 42, 44, 46, 47], "atoms_and_dim": [7, 19, 26, 34, 48], "hydrogen": 7, "oxygen": 7, "At": [7, 8], "data": [7, 12, 21, 27, 31, 33, 42, 46, 47, 48], "itself": [7, 32, 33, 41, 42, 44], "atomic_numb": [7, 33, 44], "consid": [7, 38, 45], "between": [7, 30, 37, 44, 45, 46, 47, 48], "allow": [7, 14, 17, 26, 33, 35, 36, 37, 44, 46], "u": 7, "characterist": 7, "anoth": [7, 17, 27, 28, 41, 42], "do_isolated_atom": [7, 44], "74": 7, "21": 7, "With": [7, 9, 16, 18], "shown": [7, 34, 37], "more": [7, 9, 12, 17, 20, 26, 27, 31, 32, 33, 37, 40, 46, 47, 48], "tailor": 7, "instanc": [7, 22, 33, 37], "adjust": [7, 48], "effici": [8, 17, 18, 37, 46, 48], "densiti": [8, 28, 44], "functionc": 8, "theori": [8, 12], "coupl": 8, "period": [8, 9, 12, 36], "non": [8, 9, 12, 22, 33, 36, 41], "input_structur": 8, "also": [8, 17, 18, 25, 26, 31, 33, 34, 35, 38, 42, 44, 45, 46, 48], "addition": [8, 48], "compris": 8, "variou": [8, 47], "dure": [8, 30, 45, 48], "most": [8, 9, 17, 31, 34], "written": [8, 15, 30, 32, 34, 37, 48], "control": [8, 17, 25, 27, 31, 33, 36, 42, 44, 45, 48], "exact": [8, 35, 44], "without": [8, 11, 33, 35, 36, 37], "specif": [8, 12, 18, 22, 33, 36, 44, 48], "k_grid": [8, 36], "compute_analytical_stress": 8, "last": [8, 36, 37, 42, 44, 48], "calculator_exec": [8, 36, 37], "individu": [8, 15, 26, 32, 34, 36, 44], "calcuat": 8, "ani": [8, 12, 14, 17, 22, 27, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 47, 48], "redirect": [8, 36, 37], "form": [8, 34, 37, 44], "calc_constructor": 8, "output_structur": 8, "ignor": [8, 33, 34, 35, 37, 38, 45, 46], "workdir": [8, 36, 37], "__file__": [8, 15], "parent": [8, 15], "examples_fil": [8, 15], "fhiaims_calcul": 8, "aims_kwarg": 8, "pbe": [8, 37], "spin": [8, 37], "relativist": 8, "charg": [8, 14, 36, 37], "sc_iter_limit": 8, "occupation_typ": 8, "gaussian": 8, "charge_mix_param": 8, "mixer": 8, "pulai": 8, "n_max_pulai": 8, "sc_accuracy_rho": 8, "1e": [8, 25, 44], "sc_accuracy_eev": 8, "sc_accuracy_etot": 8, "sc_accuracy_forc": 8, "sc_accuracy_stress": 8, "compute_forc": 8, "ks_method": 8, "k_grid_dens": 8, "srun": [8, 36], "n2": 8, "exclus": [8, 15, 36, 37, 46], "mem": 8, "2gb": 8, "210313": 8, "scalapack": [8, 36], "mpi": [8, 35, 36, 48], "x": [8, 33, 36, 38, 43, 46, 47], "fhiaims_": 8, "often": [9, 15, 17, 35], "than": [9, 11, 12, 26, 32, 33, 35, 37, 41, 44, 45, 46, 47, 48], "nearli": 9, "rss": [9, 18, 38, 44], "emt": [9, 12, 17], "vasp": [9, 12, 19, 22, 33, 34, 47, 48], "independ": [9, 18, 29, 31, 37], "queu": [9, 17, 18, 21, 25, 29, 31, 32, 35, 41, 42], "job": [9, 11, 14, 17, 18, 21, 25, 29, 31, 32, 35, 37, 41, 42], "short": 9, "As": [9, 12, 36], "part": [9, 12, 31, 33, 41, 42, 47], "ac": [9, 19, 20, 24, 33, 34], "overview": [9, 18, 26, 48], "furthest": [9, 20], "point": [9, 12, 13, 15, 20, 22, 27, 34, 37, 46, 47, 48], "boolean": [9, 25, 28, 42, 45], "multistag": [9, 12, 15, 20, 24, 33, 34, 41], "scheme": [9, 37], "own": [9, 33], "post": [9, 14], "fly": [9, 26], "macecalcul": 10, "chang": [10, 11, 33, 35, 36, 37, 42, 48], "mace_model_fnam": 10, "my_mac": 10, "initialis": [10, 31, 35, 36], "my_mace_calc": 10, "model_path": 10, "devic": 10, "cpu": [10, 11], "But": 10, "tupl": [10, 17, 22, 34, 35, 36, 41, 44, 45, 47, 48], "calc_funct": 10, "abov": [10, 12, 13, 17, 26, 27, 41, 48], "default_dtyp": 10, "over": [10, 12, 13, 17, 18, 22, 25, 30, 31, 34, 35], "core": [10, 11, 12, 14, 17, 22, 31, 47, 48], "export": [10, 17, 33, 48], "sinc": [10, 17, 33, 34, 36, 37, 46], "mace_energi": 10, "entir": [10, 33, 38, 45, 47], "mace_forc": 10, "entri": [10, 13, 21, 36, 40, 44], "mace_run": 10, "123": 10, "6000": 11, "3p": 11, "snapshot": [11, 44, 45], "everi": [11, 15, 20, 32, 33, 34, 36, 47], "1000": [11, 12, 44, 47, 48], "submit": [11, 14, 17, 18, 21, 25, 32, 33, 48], "queue": [11, 17, 18, 33], "cluster": [11, 14, 17, 18, 21, 25, 31, 44, 48], "temp": [11, 13, 36, 44], "sample_interv": 11, "input_fnam": [11, 14], "out_fnam": 11, "48h": [11, 14, 17], "sysnam": 11, "exact_fit": [11, 35], "pre_cmd": [11, 14, 35], "activ": [11, 14, 17, 48], "my": 11, "env": [11, 32, 33, 35, 36, 41, 42, 48], "ci": [11, 14, 33], "co": [11, 14, 16, 33, 34, 36, 40, 44, 45, 46], "re": [11, 30], "runabl": 11, "otherwis": [11, 25, 31, 33, 34, 35, 36, 37, 41, 42, 44, 46], "interrupt": [11, 30, 33], "rather": [11, 41, 48], "monitor": 11, "alreadi": [11, 30, 33, 34, 35, 40, 41, 42, 44, 48], "wfl_deterministic_hack": 11, "intern": [11, 41, 42], "turn": [11, 25, 33, 42], "off": [11, 48], "omp_num_thread": [11, 25, 48], "xtb2_": [11, 13], "update_config_typ": [11, 44, 45], "json": [11, 12, 14, 17, 21, 27, 33, 35, 41, 42, 47, 48], "host": [11, 14, 17], "null": [11, 14, 17], "schedul": [11, 14, 17], "slurm": 11, "bashrc": 11, "echo": [11, 14, 48], "date": [11, 14], "hostnam": [11, 14], "header": [11, 14, 17, 35], "sbatch": 11, "node": [11, 14, 17, 31, 35, 37, 48], "nnode": 11, "task": [11, 18, 29, 35, 37], "num_cores_per_nod": [11, 14], "me": 11, "qo": 11, "128": 11, "24h": [11, 33], "max_mem": [11, 14, 17], "256g": 11, "highmem": 11, "512g": 11, "serv": 12, "basic": [12, 18, 36, 44], "cu": [12, 17], "slab": [12, 44], "ground": 12, "previou": [12, 13, 30, 34, 37, 38, 41, 42], "version": [12, 19, 34, 36], "iterative_gap_fit": 12, "batch_gap_fit": 12, "emt_atom": 12, "init_md": 12, "multistage_gap_param": 12, "locat": [12, 34], "hyperparamet": [12, 27], "Then": [12, 48], "repeat": [12, 27, 33, 46, 48], "until": [12, 30, 41], "maximum": [12, 37, 41, 42, 44, 48], "look": [12, 41, 47, 48], "wfl_gap_fit_omp_num_thread": [12, 25, 42, 48], "mpipool_support": [12, 19, 32, 34], "necessari": [12, 32, 33, 34], "yaml": [12, 15, 35, 42, 48], "generic_calc": 12, "from_any_to_descriptor": [12, 34, 40], "desc_calc": 12, "prep_param": [12, 41, 42], "ref_calc": 12, "sample_md": 12, "optim": [12, 19, 20, 34, 38, 47], "greedy_fps_conf_glob": [12, 15, 28, 34, 46], "begin": [12, 27, 35, 47], "r": [12, 15, 48], "load": 12, "29": 12, "length_scal": [12, 34, 42, 48], "bond_len": [12, 34, 42, 44, 48], "nb": [12, 13, 16, 48], "auto_length_scal": 12, "min_bond_len": [12, 48], "12": [12, 25, 44, 48], "investig": 12, "uniqu": [12, 15, 30, 35], "scale": [12, 27, 34, 42, 43, 44, 45, 47, 48], "universalsoap": 12, "suggest": 12, "previous": [12, 15, 33, 38, 46, 48], "readabl": 12, "boundari": 12, "condit": [12, 26, 45], "fit_idx": 12, "gap_nam": [12, 42], "gap_dir": 12, "mkdir": [12, 14], "exist_ok": [12, 14], "origin": [12, 42], "flush": [12, 34], "get_gap": 12, "run_dir": [12, 38, 41, 42], "futur": 12, "helper": 12, "training_fil": 12, "If": [12, 30, 32, 33, 34, 35, 36, 37, 40, 41, 42, 44, 47, 48], "wish": 12, "md_dir": 12, "md_in_fil": 12, "md_config": 12, "2000": 12, "optimize_param": 12, "fmax": [12, 44], "pressur": [12, 19, 33, 34, 44, 45, 48], "keep_symmetri": [12, 44], "n_select": 12, "max_count": 12, "determin": [12, 32, 34, 35, 36], "get_file_nam": 12, "run_md": 12, "calc_out": 12, "elif": 12, "run_optim": 12, "fp": [12, 15, 48], "get_descriptor": 12, "training_desc": 12, "run_fp": 12, "training_desc_fil": 12, "run_emt": 12, "training_atom": 12, "training_": 12, "magic": 12, "happen": [12, 22, 30, 32, 34, 45], "through": [12, 17, 18, 32, 34, 47], "detail": [12, 46, 48], "discuss": 12, "after": [12, 14, 21, 34, 35, 36, 37, 41, 42, 47], "both": [12, 44, 48], "farthest": [12, 15, 28, 46], "real": 12, "ab": 12, "initio": 12, "choic": [12, 15], "simplic": [12, 47], "sake": 12, "These": [12, 20, 26, 31, 48], "val_error": 12, "get_ref_error": 12, "v_f": 12, "v_e": 12, "t_f": [12, 45], "t_e": 12, "train_error": 12, "log_dict": 12, "valid": [12, 41], "rmse_f": 12, "rmse_e": 12, "f_dev": 12, "e_dev": 12, "2f": 12, "deviat": [12, 44], "dump": 12, "numer": [13, 44], "simultan": 13, "displac": [13, 26, 44], "along": [13, 26, 44], "boltzamnn": 13, "methan": 13, "water": 13, "associ": 13, "frequenc": [13, 26, 37, 44], "normal_mod": [13, 19, 34], "nm": [13, 44], "mol": 13, "ch4": 13, "h2o": 13, "generate_normal_modes_parallel_hessian": [13, 34, 44], "finit": [13, 45], "backward": 13, "forward": 13, "direct": [13, 22, 26, 44, 47], "6n": [13, 44], "speed": 13, "slow": 13, "sequenc": [13, 34, 35, 46], "approxim": [13, 44], "hessian": [13, 41, 42, 44], "generate_normal_modes_parallel_atom": [13, 34, 44], "water_nm": 13, "normalmod": [13, 34, 44], "trajectori": [13, 15, 26, 37, 38, 44, 45, 48], "view": [13, 34, 44], "boltzmann": [13, 26, 28, 44, 46], "at_nm": 13, "sample_normal_mod": [13, 34, 44], "sample_s": [13, 44], "kelvin": [13, 45], "info_to_keep": [13, 44], "arrays_to_keep": [13, 44], "close": [13, 19, 27, 30, 34, 37, 47], "apart": 13, "avoid": [13, 21, 36], "carri": [13, 42, 48], "incorrect": 13, "orca_ev": 14, "head": [14, 17], "up": [14, 17, 22, 30, 32, 33, 35, 36, 37, 38, 44, 48], "onc": [14, 32], "mai": [14, 17, 18, 21, 30, 31, 33, 45, 48], "stop": [14, 26, 44, 45], "finish": [14, 34, 35], "unchang": 14, "again": [14, 37], "successfulli": 14, "partial": 14, "further": [14, 22, 36], "longer": [14, 27], "delet": [14, 36, 37, 42, 46], "janpa": [14, 37], "popul": 14, "natural_population_analysi": [14, 36, 37], "functool": 14, "output_fnam": 14, "expyre_dir": 14, "_expyr": [14, 33], "npa": 14, "partial_nod": [14, 35], "my_env": 14, "orca_kwarg": [14, 37], "orcablock": [14, 37], "scf": [14, 37], "converg": [14, 37, 44], "tight": 14, "smeartemp": 14, "5000": [14, 37], "orcasimpleinput": [14, 37], "uk": 14, "b3lyp": 14, "def2": [14, 37], "sv": 14, "j": [14, 17, 46, 47], "d3bj": 14, "keep_fil": [14, 36, 37, 47], "janpa_home_dir": [14, 37], "post_func": 14, "post_process": [14, 37], "dft_": 14, "sge": [14, 17], "pe": [14, 17, 37], "smp": [14, 17], "168h": [14, 17], "50gb": 14, "node15": 14, "16": [14, 17, 22, 44], "47gb": 14, "databas": [15, 27, 30, 31, 33, 43], "criteria": [15, 44], "algorithm": [15, 26, 46, 48], "leverag": [15, 46], "score": [15, 46], "greedi": [15, 28, 46, 48], "featur": [15, 46], "consider": 15, "datapoint": 15, "A": [15, 18, 31, 33], "measur": 15, "similar": [15, 27, 41], "across": 15, "tip": 15, "either": [15, 34, 44], "univeral_soap": 15, "templat": [15, 27, 34, 42], "multi": [15, 33], "stage": [15, 27, 30, 33, 35, 42, 45, 48], "calc_descriptor": 15, "work_dir": 15, "select_fp": 15, "md_desc": 15, "foo": [15, 48], "desc_dict": 15, "safe_load": 15, "d": [15, 33, 37, 47], "conf": 15, "fps_out": 15, "out_fp": 15, "nsampl": [15, 46], "selected_config": [15, 46], "keep_descriptor_info": [15, 46], "convers": [16, 41], "cccccc": 16, "c1ccccc1": 16, "smi_to_atom": [16, 34, 44], "compound": 16, "sai": 17, "bulk": [17, 26, 44, 48], "idx": 17, "320": 17, "fcc": 17, "cubic": [17, 44], "rattl": [17, 44], "stdev": 17, "159": 17, "append": [17, 32, 34, 38, 44, 45], "loop": [17, 30, 33, 34, 35, 45, 48], "emt_energi": 17, "get_potential_energi": 17, "emt_forc": 17, "get_forc": 17, "emt_stress": 17, "get_stress": 17, "minut": 17, "hour": 17, "hundr": 17, "thousand": 17, "dataset": [17, 48], "supercomput": 17, "writen": 17, "emt_": 17, "destin": 17, "when": [17, 27, 32, 33, 34, 35, 38, 40, 41, 44, 45, 47, 48], "consist": [17, 33, 34, 36, 42, 48], "behaviour": 17, "irrespect": 17, "came": 17, "pickleabl": [17, 32], "spawn": [17, 41, 42], "calculator_constructor_funct": 17, "keyword_argu": 17, "instanti": 17, "tb": [17, 22], "dftb": [17, 22], "prepend": [17, 34], "evaluate_emt": 17, "sun_grid_engine_sub": 17, "sh": 17, "bin": [17, 28, 38, 46, 48], "bash": 17, "request": [17, 30, 36], "l": [17, 41], "h_rt": 17, "48": [17, 44], "00": 17, "time": [17, 22, 35, 36, 37, 41, 42, 44, 45, 48], "hh": 17, "mm": 17, "ss": 17, "format": [17, 27, 30, 36, 37, 42, 47, 48], "shell": [17, 37], "eval_emt": 17, "ye": 17, "log": [17, 19, 34, 44, 45], "q": 17, "nslot": [17, 48], "repositori": [17, 48], "submiss": [17, 33], "modifi": [17, 22, 26, 27, 41, 43], "mechan": [17, 18, 32, 33], "behind": 17, "enabl": [17, 33, 45], "must": [17, 22, 30, 32, 33, 34, 36, 45, 47], "160": 17, "num_nod": [17, 33], "could": [17, 32, 33, 35, 36, 37], "laptop": 17, "ssh": 17, "sent": 17, "what": [17, 21, 31, 33, 36, 37, 46, 47, 48], "myenv": 17, "200gb": 17, "becaus": [17, 36, 37, 48], "sun": 17, "grid": 17, "engin": 17, "manag": [17, 18], "copi": [17, 36, 37, 41, 46], "autoparallelis": 17, "launch": 17, "evaluate_emt_remot": 17, "toolkit": 18, "creation": [18, 22], "atomist": [18, 36], "act": 18, "castep": [18, 19, 22, 34, 47, 48], "introduc": 18, "cover": [18, 26], "sketch": 18, "built": [18, 34, 36, 48], "modular": [18, 20], "api": 18, "quick": 18, "mandatori": [18, 25, 42], "git": 18, "com": [18, 47], "libatom": 18, "issu": 18, "cotribut": 18, "runtim": [18, 35], "modul": [18, 19, 20, 27, 33], "page": [18, 20, 22, 26], "subpackag": 19, "submodul": [19, 26], "committe": [19, 33, 34, 42], "espresso": [19, 34, 37], "mopac": [19, 34], "wfl_fileio_calcul": [19, 34], "cli_opt": [19, 34], "dft_convergence_test": [19, 34], "gap_rss_iter_fit": [19, 33, 34, 48], "minimahop": [19, 26, 34], "phonopi": [19, 26, 34], "supercel": [19, 26, 34, 48], "convex_hul": [19, 28, 34, 38], "flat_histogram": [19, 28, 34], "selection_spac": [19, 34], "at_copy_save_result": [19, 34], "file_util": [19, 34], "julia": [19, 21, 34, 41], "misc": [19, 34], "ndim_neighbor_list": [19, 34], "quip_cli_str": [19, 34], "replace_eval_in_str": [19, 34], "round_sig_fig": [19, 34], "vector_util": [19, 34], "vol_composition_spac": [19, 34], "cur_loc": [19, 34], "group": [19, 30, 32, 34, 35, 38], "one_fil": [19, 34], "all_written": [19, 30, 34], "to_configset": [19, 31, 34], "descriptor_heurist": [19, 27], "descriptor_2brn_uniform_fil": [19, 34], "descriptors_from_length_scal": [19, 34], "len_scale_pair": [19, 34], "dai": 20, "mess": 20, "complex": 20, "special": 20, "super": 20, "minima": [20, 37, 38, 44, 46, 48], "phonon": 20, "flat": [20, 34, 38, 44, 46, 48], "histogram": [20, 38, 46, 48], "convex": [20, 38, 47, 48], "hull": [20, 38, 47, 48], "ace1pack": [21, 41], "rest": [21, 24, 25, 27, 28, 37, 41], "infrastructur": [21, 24, 25], "ace_fit": [21, 41], "jl": [21, 41], "home": [21, 33, 37, 41, 48], "chrva": [21, 41], "wfl_ace_fit_command": [21, 41], "doe": [21, 33, 34, 36, 37, 41, 42, 46, 47], "energy_kei": [21, 44], "ace_fit_param": [21, 41], "among": [21, 47], "virial_sigma": [21, 43], "modif": 21, "run_ace_fit": [21, 34, 41], "principl": [22, 32, 33], "level": [22, 27, 32, 33, 34, 35], "That": 22, "want": [22, 33, 37, 48], "sequenti": 22, "dftb_calc": 22, "tightbind": 22, "parm": 22, "mio": 22, "xm": 22, "disk": [22, 36, 37], "were": [22, 28, 30, 31, 35, 40], "folder": 22, "don": 22, "attempt": [22, 33, 41, 42], "clean": [22, 36, 37, 47], "quantumespresso": 22, "evaluate_dft": 22, "broken": [22, 37], "convent": 22, "basinhoppingorca": [22, 36, 37], "guess": 22, "minimum": [22, 44, 46], "lowest": [22, 28, 46, 47], "solut": 22, "integr": [24, 26, 45], "procedur": [24, 48], "program": 25, "v1": [25, 42], "v2": [25, 42], "v3": [25, 36, 42], "key1": [25, 42], "key2": [25, 42], "enclos": [25, 42], "quot": [25, 42], "pram_dict": [25, 42], "atoms_filenam": 25, "at_fil": 25, "mustn": 25, "wfl_gap_fit_command": [25, 42], "openmp": [25, 42], "paralleliz": [25, 33], "thread": [25, 32, 35, 41, 42, 47, 48], "noth": [25, 32, 36, 37, 47], "els": [25, 36], "gap_fit_dict": 25, "sparse_seprate_fil": 25, "core_ip_arg": 25, "ip": 25, "glue": [25, 42], "core_param_fil": 25, "config_type_sigma": 25, "05": [25, 37, 44], "funky_config": 25, "200": [25, 37], "add_speci": [25, 27, 34, 48], "n_speci": [25, 47, 48], "species_z": [25, 48], "gap_fit_str": 25, "brief": 26, "loos": 26, "butan": 26, "wrapp": 26, "primit": [26, 44], "largest_bulk": [26, 34, 44], "largest": [26, 44], "vacanc": [26, 34, 44, 48], "antisit": [26, 34, 44], "interstiti": [26, 34, 44, 48], "surfac": [26, 34, 44, 48], "nve": 26, "veloc": 26, "verlet": 26, "npt": 26, "hook": 26, "custom": 26, "earli": 26, "met": 26, "unstabl": 26, "preconlbfg": [26, 44], "constraint": 26, "seri": [26, 35], "altern": [26, 34, 36, 41, 42, 44], "phono3pi": [26, 44], "spread": 27, "n_descriptors_per_atom": 27, "energy_sigma": [27, 43], "force_sigma": [27, 43], "callback": 27, "stage_": 27, "residu": 27, "estim": 27, "renam": [27, 30, 34, 42], "error_scale_factor": [27, 48], "factor": [27, 28, 41, 43, 44], "sigma": [27, 33, 41, 47, 48], "reduc": [27, 32, 44], "bodi": [27, 34], "miss": [27, 37, 42], "mention": [27, 33], "desc_str": [27, 48], "fit_str": [27, 48], "count_cutoff": [27, 48], "neighbor": [27, 47], "even": [27, 34, 44, 48], "sparse_jitt": [27, 48], "output_separate_fil": 27, "gap_multistag": [27, 33], "prep_input": 27, "_template_": 27, "univers": [27, 34, 42], "except": [27, 32, 44, 45, 47], "mainli": [27, 28, 36, 47], "repl_expr": 27, "mathemat": 27, "express": [27, 47], "r_cut": [27, 48], "bond_len_z": 27, "docstr": [27, 34, 45], "dup_descs_for_speci": 27, "remain": [27, 36], "_f_": [27, 48], "float": [27, 37, 38, 41, 42, 43, 44, 45, 46, 47, 48], "understood": 27, "manual_z1_z2": 27, "z1": [27, 34, 42, 48], "z2": [27, 34, 42, 48], "manual_universal_soap": [27, 48], "biased_select_conf": [28, 34, 46], "bias": [28, 46], "quantiti": [28, 34, 36, 38, 40, 41, 44, 45, 46], "enthalpi": 28, "probabl": [28, 44], "invers": 28, "proport": [28, 44], "multipli": [28, 35, 41, 44], "exponenti": [28, 46, 47, 48], "divid": [28, 47], "composit": [28, 38, 40, 44, 46, 47, 48], "vertic": 28, "half": 28, "li": 28, "by_bool_funct": 28, "by_index": [28, 34, 46], "class": [30, 31, 33, 34, 35, 36, 37, 44, 45, 47], "encapsul": 30, "abcd": [30, 31], "unsupport": [30, 31], "accord": 30, "definit": [30, 48], "layer": [30, 34, 44], "guarante": 30, "possibl": [30, 42], "user": [30, 32, 33, 35, 36], "consult": 30, "configs_in": 30, "in1": [30, 34], "in2": 30, "s_out": 30, "out1": [30, 34], "out2": 30, "do_some_oper": 30, "_configset_loc": [30, 34], "configs_out": 30, "equal": [30, 36], "woud": 30, "skip": [30, 33, 35, 41, 42, 44, 45, 48], "made": 30, "safe": [30, 47], "incomplet": 30, "never": [30, 34], "appear": [30, 34], "memori": [30, 31, 34, 35, 48], "currenli": 30, "support": [30, 32, 33, 36], "poster": 30, "s_in": 30, "abcd_conn": 30, "mongodb": 30, "localhost": 30, "27017": 30, "input_queri": 30, "input_tag": 30, "necessary_input": 30, "output_abcd": 30, "set_tag": 30, "output_tag": 30, "queri": [30, 31], "AND": 30, "OR": [30, 41], "output_forc": 30, "refus": 30, "ensur": [30, 34, 41, 42, 44], "retriev": 30, "exactli": [30, 34], "pipelin": [30, 31, 32], "outsid": [30, 46], "get_atom": 30, "goal": 31, "easi": 31, "typic": [31, 42, 46, 48], "usual": [31, 32, 33, 36, 47], "indic": [31, 32, 33, 34, 44, 45, 46, 47], "abstract": [31, 34, 45], "extxyz": 31, "similarli": 31, "held": 31, "constructor": [31, 32, 33, 34, 35, 36, 41, 42], "regardless": 31, "suppli": 31, "readili": 31, "hpc": 31, "commonli": 31, "facilit": 32, "easili": 32, "fundament": 32, "counter": 32, "wherev": [32, 41], "proces": 32, "low": [32, 35], "increasd": 32, "overhead": 32, "mpipool": [32, 35], "assum": [32, 47], "whole": [32, 35], "startup": [32, 35], "hang": 32, "rank": 32, "wait": [32, 35, 41, 42], "continu": 32, "var": [32, 33, 35, 36, 41, 42], "mpi4pi": 32, "op": [32, 35], "arg1": [32, 35], "arg2": 32, "arg3": 32, "output_at": 32, "stuff": [32, 35], "argn": 32, "autopara_op": 32, "def_num_inputs_per_python_subprocess": 32, "__doc__": [32, 35], "autoparallelize_docstr": [32, 34, 35], "__foc__": 32, "someth": 32, "_can_": 32, "sytem": 33, "readm": 33, "pythonpath": 33, "basi": 33, "gap_simpl": 33, "wfl_gap_simple_fit_remoteinfo": 33, "wfl_gap_multistage_fit_remoteinfo": 33, "right": [33, 46], "wfl_ace_fit_remoteinfo": 33, "veri": [33, 37], "flexibli": 33, "long": [33, 44], "flexibl": 33, "simpler": 33, "do_workflow": 33, "essenti": 33, "ident": [33, 34, 44], "generate_config": 33, "infil": 33, "relax": [33, 44, 48], "vasp_kwarg": 33, "400": 33, "ismear": [33, 36], "ediff": 33, "0d": 33, "kspace": 33, "kgamma": 33, "trivial": 33, "unneed": 33, "potpaw": 33, "chemsym": 33, "ci_relax": 33, "minim_run": 33, "interact": 33, "pwd": 33, "cat": 33, "eof": 33, "vasp_minim": 33, "env_var": [33, 35], "vasp_path": 33, "expyre_ncores_per_nod": 33, "wfl_vasp_kwarg": 33, "ncore": 33, "python3": 33, "_": [33, 36], "visibl": 33, "hierarchi": [33, 48], "scope": 33, "suppos": 33, "rerun": 33, "detect": [33, 36], "hash": [33, 35], "duplic": [33, 34, 44, 46], "perfect": 33, "obvious": 33, "inde": 33, "encod": [33, 38, 47], "comma": 33, "remote_label": [33, 35, 41, 42], "end_of_path_to_fil": 33, "function_nam": 33, "finer": 33, "match": [33, 35, 41, 42, 44, 47], "stack": [33, 35], "trace": [33, 35, 48], "outermost": 33, "len": [33, 37, 44, 46], "str": [33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "down": 33, "innermost": 33, "minin": 33, "do_md_bulk_defect_step": 33, "neg": [33, 35, 44, 47, 48], "underli": 33, "expyre_num_cores_per_nod": 33, "framework": 33, "runremot": 33, "flag": 33, "basetemp": 33, "some_path": 33, "By": [33, 41], "expyre_pytest_system": 33, "regexp": 33, "wfl_pytest_expyre_info": 33, "field": [33, 34, 35, 36, 38, 41, 44, 46, 47, 48], "maxim": [33, 37], "somehwat": 33, "pw": [33, 36], "local_si": 33, "remote_si": 33, "wfl_pytest_buildcel": 33, "path_to_buildcel": 33, "path_to_vasp": 33, "path_to_vasp_gamma": 33, "pytest_vasp_potcar_dir": 33, "path_to_potcar": 33, "ase_orca_command": 33, "path_to_orca": 33, "runslow": 33, "rxx": 33, "update_default": [34, 35], "shutdown_and_barri": [34, 35], "do_in_pool": [34, 35], "do_remot": [34, 35], "get_remote_info": [34, 35], "get_root_global_se": [34, 35], "grouper": [34, 35], "set_autopara_per_item_info": [34, 35], "basinhop": [34, 36], "implemented_properti": [34, 36, 37], "wfl_generic_default_autopara_info": [34, 36, 37], "setup_calc_param": [34, 36], "calculate_committe": [34, 36], "clean_rundir": [34, 36], "handle_nonperiod": [34, 36], "save_result": [34, 36], "default_paramet": [34, 36, 37], "per_config_restor": [34, 36], "per_config_setup": [34, 36], "wfl_generic_num_inputs_per_python_subprocess": [34, 36], "wflfileiocalcul": [34, 36, 37], "cleanup": [34, 36, 37], "setup_rundir": [34, 36], "rss_minima_divers": [34, 38], "z_label": [34, 38], "calc_descriptors_to_fil": [34, 38], "create_all_buildcel": [34, 38], "do_fit_and_test": [34, 38], "evaluate_iter_and_fit_al": [34, 38], "evaluate_ref": [34, 38], "flat_histo_then_by_desc": [34, 38], "get_buildcell_input_fil": [34, 38], "get_old_fitting_fil": [34, 38], "increment_active_it": [34, 38, 47], "is_element": [34, 38], "load_old_descriptors_arrai": [34, 38], "print_log": [34, 38, 47], "process_cur_it": [34, 38], "select_fitting_and_testing_for_group": [34, 38], "step_startup": [34, 38], "glue_2b": [34, 41], "reloc": [34, 41], "modify_databas": [34, 41], "gap_rss_set_config_sigmas_from_convex_hul": [34, 41], "scale_orig": [34, 41], "simple_factor_nonperiod": [34, 41], "prepare_config": [34, 41], "prepare_param": [34, 41], "errors_to_datafram": [34, 41], "natural_sort": [34, 41], "select_unit": [34, 41], "ace_fit_jl_path": [34, 41], "copy_properti": [34, 41], "fix_stress_viri": [34, 41], "abort": [34, 44, 48], "abort_bas": [34, 44], "isolated_atom_from_e0": [34, 44], "conv_buildcell_out": [34, 44], "derive_normal_mode_info": [34, 44], "evals_to_freq": [34, 44], "evecs_to_mod": [34, 44], "freqs_to_ev": [34, 44], "modes_to_evec": [34, 44], "num_hess_delta": [34, 44], "subselect_from_traj": [34, 44], "config_type_append": [34, 44], "do_svd": [34, 46], "prep_descs_and_exclud": [34, 46], "write_selected_and_clean": [34, 46], "compare_manual_minima": [34, 46], "minima_among_neighbor": [34, 46], "val_relative_to_nearby_composition_volume_min": [34, 46], "find_isolated_atom": [34, 47], "find_hul": [34, 47], "vertical_dist_from_hul": [34, 47], "clean_dir": [34, 47], "julia_exec_path": [34, 47], "process_active_it": [34, 47], "atoms_to_list": [34, 47], "chunk": [34, 35, 47], "dict_tuple_keys_to_str": [34, 47], "calc_list": [34, 47], "calc_list_cel": [34, 47], "construct_calculator_picklesaf": [34, 47], "cur_it": [34, 38, 47], "dft_code": [34, 47], "dft_param": [34, 47], "implemented_calcul": [34, 47], "pressurerecursionerror": [34, 47], "sample_pressur": [34, 44, 45, 47], "dict_to_quip_str": [34, 47], "random_three_vector": [34, 47], "get_wfl_vers": [34, 47], "composition_space_z": [34, 47], "composition_space_coord": [34, 47], "file_root": 34, "read_kwarg": 34, "_open_read": 34, "_cur_at": 34, "_file_loc": 34, "nest": [34, 47], "flatten": 34, "reproduc": [34, 44], "glob": [34, 36, 37, 42], "iread": 34, "retain": 34, "recent": 34, "reflect": 34, "whether": [34, 44, 45], "one_file_nam": 34, "write_kwarg": 34, "preserv": 34, "tree": 34, "root": [34, 35, 41, 44], "reus": 34, "bool": [34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47], "outpuspec": 34, "input_cs_loc": 34, "loc": 34, "in0": 34, "out0": 34, "at_in": 34, "at_out": 34, "get_loc": 34, "desc_i": 34, "deform": [34, 44], "spars": 34, "polynomi": 34, "untest": 34, "_2brn_uniform_file_": 34, "identifi": 34, "sparsepoint": 34, "int": [34, 35, 37, 38, 41, 42, 44, 45, 46, 47], "offset": 34, "newli": 34, "increment": 34, "soap_hyp": 34, "bond": [34, 42, 44, 48], "hyper": 34, "arbitrari": [34, 36, 47], "side": [34, 36, 40, 44, 45, 46], "effect": [34, 36, 40, 44, 45, 46], "iterable_arg": 35, "skip_fail": 35, "func": [35, 45], "func_kwarg": 35, "default_kwarg": 35, "unspecifi": 35, "default_autopara_info": 35, "_after_": 35, "autoparallelized_op": 35, "autoparallelize_keyword_param_1": 35, "autoparallelize_keyword_param_2": 35, "autopara_docstr": 35, "iterable_cont": 35, "parallelized_op": 35, "val1": 35, "autopara_per_item_info": 35, "rng_seed": 35, "item_i": 35, "autopara_rng_se": [35, 44, 45], "_autoparallelize_l": 35, "plu": 35, "wrapped_func_out": 35, "wrapped_func": 35, "wrappable_func": 35, "input_iterable_typ": 35, "input_arg": 35, "master": 35, "wfl_mpipool": 35, "mpiexecutor": 35, "tell": 35, "comm": 35, "kach": 35, "invoc": 35, "defaulat": 35, "callabl": [35, 36, 46], "itr": 35, "place": [35, 41, 42, 44, 46], "quiet": 35, "stderr": [35, 38], "progress": 35, "post_cmd": 35, "output_fil": 35, "header_extra": 35, "timeout": 35, "3600": 35, "30": 35, "ignore_failed_job": 35, "resubmit_killed_job": 35, "hash_ignor": 35, "iterable_autopara_wrapp": 35, "size": [35, 41, 44, 47, 48], "less": [35, 47], "get_result": 35, "failur": 35, "resubmit": 35, "kill": 35, "statu": [35, 45], "walltim": 35, "crash": 35, "hope": 35, "kwrg": 35, "stabl": 35, "warn": [35, 36, 37, 48], "root_global_se": 35, "signatur": 35, "goe": [35, 48], "smaller": [35, 46], "prev_per_item_info": 35, "item_i_list": 35, "rng": [35, 44, 45], "get_homo": [36, 37], "get_multipl": [36, 37], "process_result": [36, 37], "evaluate_basin_hop": [36, 37], "get_default_multipl": [36, 37], "is_converg": [36, 37], "pick_task": [36, 37], "read_dipol": [36, 37], "read_frequ": [36, 37], "read_opt_atom": [36, 37], "read_result": [36, 37], "read_trajectori": [36, 37], "write_input": [36, 37], "parse_npa_output": [36, 37], "rundir_prefix": [36, 37], "run_aims_": 36, "scratchdir": [36, 37], "extens": [36, 37], "invalid": 36, "remov": [36, 37, 43, 47, 48], "k_": 36, "relax_unit_cel": 36, "external_pressur": 36, "kind": [36, 37, 38], "everyth": [36, 37, 47], "kept": [36, 37], "upload": [36, 37], "back": [36, 37], "mutual": [36, 37, 46], "wiki": [36, 37], "fysik": 36, "dtu": 36, "dk": 36, "_modul": 36, "system_chang": [36, 37], "initial_charg": [36, 37], "initial_magmom": [36, 37], "regular": [36, 37], "reading_result": [36, 37], "reimplement": 36, "extend": 36, "genericfileiocalcul": 36, "develop": [36, 37, 48], "fileiocalcul": 36, "22": 36, "dipol": [36, 37], "magmom": [36, 37], "six": [36, 37, 44], "quantum": 36, "run_castep_": 36, "pwo": [36, 37], "castep_command": [36, 48], "eg": [36, 48], "varianc": [36, 48], "calculator_list": 36, "committee_": [36, 42], "formatt": 36, "liter": 36, "run_qe_": 36, "qe": 36, "singlepointcalcul": [36, 41], "wfl_num_inputs_per_python_subprocess": 36, "recreat": 36, "attribut": [36, 37, 42], "wfl_calculator_initi": 36, "wfl_calculator_arg": 36, "wfl_calculator_kwarg": 36, "_overridden_": 36, "_modified_": 36, "_initi": 36, "_kwarg": 36, "_must_": 36, "nonperiod": [36, 46], "_auto_": 36, "run_mopac_": 36, "clacul": 36, "default_keep_fil": 36, "calculation_succeed": 36, "allow_mix": 36, "mix": 36, "ie": [36, 37], "ttt": 36, "fff": 36, "use_properti": 36, "forbidden": 36, "run_vasp_": 36, "calculator_exec_gamma": 36, "absolut": [36, 41], "elem": 36, "poscar": 36, "outcar": 36, "vasprun": 36, "ase_vasp_command_gamma": 36, "vasp_script_gamma": 36, "command_gamma": 36, "lcharg": 36, "lwave": 36, "mixin": 36, "inherit": 36, "_before_": 36, "dftcode": 36, "dftcodecalcul": 36, "ase_dftcodecalcul": 36, "vari": 36, "superclass": 36, "_default_keep_fil": 36, "empti": [36, 37], "immedi": [36, 37], "workdir_root": [36, 37], "upon": 36, "ever": 36, "anymor": 36, "n_run": 37, "n_missing_toler": 37, "energy_tol": 37, "forces_tol": 37, "n_orb": 37, "max_angl": 37, "60": 37, "smear": 37, "maxit": 37, "chained_hop": 37, "uhf": 37, "svp": 37, "tightscf": 37, "orca_command": 37, "smooth": 37, "agre": 37, "margin": 37, "success": [37, 47], "rotat": [37, 44], "path_lik": [37, 42, 47], "toler": [37, 44], "ev": [37, 41, 44], "force_tol": 37, "angstrom": 37, "orbit": 37, "angl": [37, 44], "chain": 37, "unrestrict": 37, "hf": 37, "advis": 37, "keep_raw_result": 37, "subclass": 37, "insert": 37, "dummi": 37, "zero": [37, 47, 48], "homo": 37, "fill": [37, 42, 44], "alpha": 37, "beta": 37, "odd": [37, 44, 48], "n_elec": 37, "i_homo_alpha": 37, "i_homo_beta": 37, "singlet": 37, "doublet": 37, "energy_arrai": 37, "force_arrai": 37, "against": 37, "threshold": [37, 44], "shape": [37, 44], "len_atom": 37, "getcwd": 37, "orca_": 37, "inp": 37, "engrad": 37, "opt": 37, "copt": 37, "extra_result": 37, "localis": 37, "mult": 37, "static": [37, 44], "fulli": 37, "read_energi": 37, "00001": 37, "digit": 37, "meaning": 37, "matrix": [37, 41, 44, 46], "eigenvalu": [37, 44], "eigenvector": [37, 44], "comment": [37, 48], "coordin": [37, 44, 47], "154": 37, "812399026326": 37, "todo": 37, "orca_calc": 37, "sourceforg": 37, "net": 37, "calculate_descriptor": [38, 39], "pyjulip_ac": [38, 39], "step_param": 38, "select_by_desc_method": 38, "config_selection_descriptor_str": 38, "config_selection_descriptor_loc": 38, "prev_gap": 38, "select_convex_hul": [38, 48], "get_entire_trajectori": 38, "optimize_kwarg": 38, "pathlik": 38, "config_selected_descriptor_str": 38, "config_selected_descriptor_loc": 38, "grp_label": 38, "cur_conf": 38, "c_ind": 38, "basenam": 38, "descriptor_str": 38, "descriptor_loc": 38, "n_configs_tot": 38, "buildcell_input_fil": 38, "buildcell_pert": 38, "single_composition_group": 38, "testing_config": 38, "database_modify_mod": 38, "cur_fitting_config": 38, "calc_fitting_error": 38, "extra_fitting_fil": 38, "dft_in_config": 38, "dft_evaluated_config": 38, "evaluated_config": 38, "file_label": 38, "e_info_field": 38, "flat_histo_kt": [38, 48], "flat_histo_n": 38, "by_desc_select_n": [38, 48], "testing_n": 38, "by_desc_exclude_list": 38, "vol_rang": [38, 44, 46], "compos_rang": [38, 46], "prev_selected_desc": [38, 46], "flat_histo_by_bin": 38, "flat_histo_replac": 38, "histo": 38, "_flat_histo": 38, "_by_desc": 38, "kt": [38, 44, 46], "bia": [38, 46], "greedy_fp": 38, "greedy_fps_all_it": 38, "vol": [38, 47, 48], "nearbi": [38, 46, 47], "ndarrai": [38, 46, 47], "n_desc": [38, 46], "desc_len": [38, 46], "row": [38, 41, 45, 46], "configs_by_desc": 38, "step_label": 38, "msg": [38, 47], "show_tim": [38, 47], "blank_lin": 38, "logfil": [38, 47], "_io": [38, 47], "textiowrapp": [38, 47], "stdout": [38, 44, 47], "w": [38, 47], "utf": [38, 47], "flat_histo": 38, "testing_conf": 38, "concaten": 40, "zcenter": [40, 48], "_z_": 40, "oppos": 40, "composition_weight": 40, "fraction": [40, 45, 46], "descriptor_src": 40, "denot": 40, "central": [40, 48], "correpond": 40, "construct_glue_2b": [41, 42], "gap_xml_modify_label": [41, 42], "max_cutoff": [41, 42, 44], "gap_reloc": [41, 42], "dict_to_gap_fit_str": [41, 42], "piecewise_linear": [41, 43], "list_to_sigma_dict": [41, 43], "modify_cel": [41, 43], "modify_with_factor": [41, 43], "ace_nam": 41, "ace_fit_command": 41, "ref_": [41, 42, 43], "dry_run": 41, "wait_for_result": [41, 42], "contructor": [41, 42], "wfl_ace_fit_julia_thread": 41, "julia_num_thread": 41, "multithread": 41, "lsq": 41, "assembli": 41, "wfl_ace_fit_blas_thread": 41, "bla": 41, "stem": 41, "dry": 41, "_ignor": [41, 42], "trigger": [41, 42], "try": [41, 42, 47, 48], "ace_filenam": 41, "least": 41, "squar": [41, 44, 46], "ace_fnam": 41, "_kei": 41, "from_sigma": 41, "some_valu": 41, "expect": [41, 42, 48], "datafram": 41, "nice": 41, "units_dict": 41, "column": [41, 46], "mev": 41, "0e3": 41, "labl": 41, "plt_type": 41, "upport": 41, "property_label": 41, "conversion_factor": 41, "raw": 41, "plot_par": 41, "plot_error": 41, "scatterplot": 41, "third": 41, "mace_nam": 41, "mace_fit_param": 41, "mace_fit_cmd": 41, "prev_checkpoint_fil": 41, "valid_config": 41, "test_config": 41, "wfl_mace_fit_command": 41, "run_train": 41, "excecut": 41, "path_to_mace_cript": 41, "checkpoint": 41, "valid_fil": 41, "configurt": 41, "test_fil": 41, "ref_property_kei": 41, "stress_to_viri": 41, "calc_": 41, "told": 41, "attach": 41, "stress_kei": 41, "3x3": [41, 44], "workaround": 41, "accept": [41, 44, 45], "energy_info_kei": 42, "do_e0": 42, "dict_kei": [42, 44, 47], "z1_z2": 42, "homonuclear": 42, "xml_str": 42, "e0_by_symbol": 42, "gapfil": 42, "new_label": 42, "fix": [42, 44, 46, 48], "old": [42, 48], "num_committe": 42, "committee_extra_se": 42, "committee_name_postfix": 42, "refit": 42, "0th": 42, "final_gap_fil": 42, "final_gap_nam": 42, "gap_templ": 42, "no_extra_inn": 42, "no_extra_out": 42, "sharp": 42, "auto": [42, 46], "old_fil": 42, "new_fil": 42, "extra_filename_glob": 42, "delete_old": 42, "param_dict": 42, "gap_fit_command": 42, "do_fit": 42, "patch": 42, "overall_error_scale_factor": 43, "field_error_scale_factor": 43, "property_prefix": 43, "default_factor": 43, "property_factor": 43, "config_type_exclud": 43, "sigma_valu": 43, "trick": [43, 47], "extra_spac": 43, "hessian_sigma": 43, "regularis": 43, "abortoncollis": [44, 45], "atoms_ok": [44, 45], "abortsimbas": [44, 45], "e0_dict": 44, "cell_siz": 44, "configset_out": 44, "greater": 44, "dimer_n_step": 44, "41": 44, "dimer_factor_rang": 44, "65": 44, "dimer_box_scal": 44, "fixed_cel": 44, "becom": 44, "box": 44, "max": [44, 46, 47, 48], "isolate_atom": 44, "enough": [44, 48], "switch": 44, "anyth": [44, 47, 48], "understand": [44, 48], "skip_failur": [44, 45], "symprec": [44, 47], "ats": [44, 47], "rss_min_vol_factor": 44, "95": 44, "min_sep_factor": 44, "9": [44, 48], "natom": 44, "24": [44, 48], "suitabl": 44, "reserv": 44, "affect": 44, "stoichiometr": 44, "ratio": [44, 48], "togeth": 44, "variat": 44, "crystal": [44, 48], "11": 44, "produc": [44, 46], "ediff0": 44, "t0": 44, "minima_threshold": 44, "\u00e5": [44, 48], "mdmin": 44, "timestep": 44, "totalstep": 44, "opt_kwarg": 44, "around": 44, "nm_atom": 44, "parallel_hessian": 44, "amu": 44, "shorthand": 44, "imaginari": 44, "evec": 44, "mass": 44, "inverse_m": 44, "3n": 44, "cartesian": [44, 46, 47], "freq": 44, "sqrt": 44, "3xn": 44, "1x3n": 44, "energies_for_mod": 44, "normal_mode_numb": 44, "randomli": 44, "coeffici": 44, "kb": 44, "harmon": 44, "generalis": 44, "gamma": [44, 48], "degre": 44, "freedom": 44, "nm_energi": 44, "translat": 44, "vibrat": 44, "output_dir": 44, "nimag": 44, "oscil": 44, "normal_mode_frequ": 44, "normal_mode_displac": 44, "smax": 44, "gpa": [44, 45, 48], "constrain": 44, "maintain": 44, "interv": [44, 45], "traj_subselect": 44, "last_converg": 44, "rule": 44, "optimize_config_typ": 44, "subselect": 44, "last_config": 44, "strain_displ": 44, "gradient": 44, "ph2_supercel": 44, "constant": [44, 45, 47], "pair_cutoff": 44, "smi": 44, "usebasicknowledg": 44, "useexptorsionanglepref": 44, "smi_to_xyz": 44, "impos": 44, "knowledg": [44, 48], "aromat": 44, "ring": 44, "experiment": 44, "torsion": 44, "prefer": 44, "embedmolecul": 44, "max_n_atom": [44, 48], "pert": 44, "spglib": 44, "0e": [44, 48], "lattic": 44, "n_antisit": 44, "cluster_r": 44, "1st": 44, "nn": 44, "interstitial_probability_radius_expon": 44, "void": 44, "radiu": 44, "power": 44, "ase_optim": 44, "find_optimal_cell_shap": 44, "min_thick": 44, "exce": 44, "thick": [44, 48], "vacuum": [44, 48], "simple_cut": 44, "max_surface_cell_indic": 44, "duplicate_in_plan": 44, "plane": 44, "n_vac": 44, "communli": 45, "collision_radiu": 45, "n_failed_step": 45, "collis": 45, "closer": 45, "cloe": 45, "deriv": 45, "is_ok": 45, "abc": 45, "derriv": 45, "aggres": 45, "necessarili": 45, "physic": [45, 48], "nvtberendsen": 45, "langevin": 45, "t_init": 45, "t_final": 45, "ramp": [45, 48], "t_i": 45, "traj_frac": 45, "flot": 45, "n_stage": 45, "durat": 45, "friction": 45, "rescal": 45, "pressure_tau": 45, "compressibility_fd_displ": 45, "strain": 45, "compress": 45, "nptberendsen": 45, "traj_select_during_func": 45, "traj_select_after_func": 45, "abort_check": 45, "abortbas": 45, "mat": 46, "exclude_list": 46, "vec_len": 46, "n_vec": 46, "rectangular": 46, "selected_ind": 46, "kernel_exp": 46, "leverage_score_kei": 46, "_exactly_": 46, "svd": 46, "pca": 46, "do_vector": 46, "vh": 46, "o_n_sq": 46, "n_prev_desc": 46, "prefactor": 46, "enumer": 46, "at_descs_col": 46, "exclude_ind_list": 46, "by_bin": 46, "accur": 46, "badli": 46, "nn_minima": 46, "presum": 46, "reduceat": 46, "manual": 46, "cartesian_dist": [46, 47], "nfeatur": 46, "dist": 46, "dimens": [46, 47], "chebychev": 46, "info_field_in": 46, "info_field_out": 46, "subtract": 46, "perhap": 46, "belong": 46, "n_p": 47, "n_dim": 47, "dim": 47, "n_hull_p": 47, "equat": 47, "convexhul": 47, "simplex": 47, "transl_symprec": 47, "include_zero": 47, "extract": 47, "e0_data": 47, "e0_valu": 47, "active_it": [47, 48], "reorganis": 47, "arr": 47, "yield": [47, 48], "arr_chunk": 47, "array_lik": 47, "error_dict": 47, "serializ": 47, "error_dict_json_compat": 47, "naiv": 47, "n_posit": 47, "hyperov": 47, "rectilinear": 47, "prism": 47, "neighbor_pair": 47, "linear": 47, "_density_": 47, "neighborlist": 47, "neighbor_list": 47, "recip": 47, "run_autopara_wrapp": 47, "params_dict": 47, "item_path": 47, "baseexcept": 47, "rate": [47, 48], "normal_posit": [47, 48], "thrown": [47, 48], "awai": [47, 48], "drawn": [47, 48], "tri": [47, 48], "lower": [47, 48], "upper": [47, 48], "bound": [47, 48], "manipul": 47, "list_bracket": 47, "_eval_": 47, "interpret": 47, "obj": 47, "n_float_sig_fig": 47, "gone": 47, "recurs": 47, "remaind": 47, "round": 47, "signific": 47, "n_sig_fig": 47, "certain": [47, 48], "stackoverflow": 47, "question": 47, "3410976": 47, "represent": 47, "supplement": 47, "spheric": 47, "algo": 47, "5408276": 47, "y": 47, "composition_z": 47, "_v": 47, "_x": 47, "n_element": 47, "coord": 47, "explor": 48, "alloi": 48, "gain": 48, "introduct": 48, "autom": 48, "manner": 48, "choos": 48, "favourit": 48, "instruct": 48, "expand": 48, "workstat": 48, "primari": 48, "manual_z_pair": 48, "distance_nb": 48, "bond_len_z1_z2": 48, "compact_clust": 48, "f0": 48, "atom_sigma": 48, "r_tran": 48, "central_weight": 48, "nz": 48, "print_sparse_index": 48, "0025": 48, "0625": 48, "125": 48, "do_copy_at_fil": 48, "sparse_separate_fil": 48, "laid": 48, "hierarch": 48, "gp": 48, "gap_template_fil": 48, "tweak": 48, "subcommand": 48, "dig": 48, "gather": 48, "defect": 48, "prep": 48, "summaris": 48, "formula": 48, "normalis": 48, "respect": 48, "narrow": 48, "observ": 48, "crystallographi": 48, "bare": 48, "section": 48, "dft_evalu": 48, "bar": 48, "castep_pp_path": 48, "best": 48, "config_selection_descriptor": 48, "config_selection_descriptor_add_speci": 48, "manual_zcent": 48, "initial_step": 48, "preliminari": 48, "buildcell_total_n": 48, "repuls": 48, "rss_step": 48, "landscap": 48, "minimis": 48, "minim_pressur": 48, "practic": 48, "minima_flat_histo_n": 48, "minima_by_desc_select_n": 48, "ly": 48, "preselect": 48, "selected_traj_flat_histo_n": 48, "selected_traj_by_desc_select_n": 48, "latter": 48, "iter_specif": 48, "larger": 48, "higher": 48, "md_bulk_defect_step": 48, "experi": 48, "minima_fil": 48, "omit": 48, "four": 48, "n_": 48, "matter": 48, "surface_min_thick": 48, "surface_vacuum": 48, "md_dt": 48, "final_flat_histo_n": 48, "final_by_desc_select_n": 48, "idea": 48, "hint": 48, "worker": 48, "hyperthread": 48, "benefici": 48, "usabl": 48, "logic": 48, "gamma_seri": 48, "grif": 48, "ap_": 48, "ss_": 48, "ter_": 48, "grif_buildcell_cmd": 48, "programs_womble0": 48, "omp": 48, "increas": 48, "run_iter_": 48, "care": 48, "lot": 48, "leftov": 48, "gap_rss": 48, "break": 48, "rm": 48, "system_json": 48, "main_config_fil": 48, "total_rss_step": 48, "iter_i": 48, "seq": 48, "md_step": 48}, "objects": {"": [[34, 0, 0, "-", "wfl"]], "wfl": [[35, 0, 0, "-", "autoparallelize"], [36, 0, 0, "-", "calculators"], [38, 0, 0, "-", "cli"], [34, 0, 0, "-", "configset"], [34, 0, 0, "-", "descriptor_heuristics"], [40, 0, 0, "-", "descriptors"], [41, 0, 0, "-", "fit"], [44, 0, 0, "-", "generate"], [34, 0, 0, "-", "map"], [46, 0, 0, "-", "select"], [47, 0, 0, "-", "utils"], [2, 7, 1, "cmdoption-wfl-v", "--verbose"], [2, 7, 1, "cmdoption-wfl-v", "-v"]], "wfl.autoparallelize": [[35, 0, 0, "-", "autoparainfo"], [35, 0, 0, "-", "base"], [35, 0, 0, "-", "mpipool_support"], [35, 0, 0, "-", "pool"], [35, 0, 0, "-", "remote"], [35, 0, 0, "-", "remoteinfo"], [35, 0, 0, "-", "utils"]], "wfl.autoparallelize.autoparainfo": [[35, 1, 1, "", "AutoparaInfo"]], "wfl.autoparallelize.autoparainfo.AutoparaInfo": [[35, 2, 1, "", "update_defaults"]], "wfl.autoparallelize.base": [[35, 3, 1, "", "autoparallelize"], [35, 3, 1, "", "autoparallelize_docstring"]], "wfl.autoparallelize.mpipool_support": [[35, 3, 1, "", "init"], [35, 3, 1, "", "shutdown_and_barrier"]], "wfl.autoparallelize.pool": [[35, 3, 1, "", "do_in_pool"]], "wfl.autoparallelize.remote": [[35, 3, 1, "", "do_remotely"]], "wfl.autoparallelize.remoteinfo": [[35, 1, 1, "", "RemoteInfo"]], "wfl.autoparallelize.utils": [[35, 3, 1, "", "get_remote_info"], [35, 3, 1, "", "get_root_global_seed"], [35, 3, 1, "", "grouper"], [35, 3, 1, "", "set_autopara_per_item_info"]], "wfl.calculators": [[36, 0, 0, "-", "aims"], [36, 0, 0, "-", "castep"], [36, 0, 0, "-", "committee"], [36, 0, 0, "-", "espresso"], [36, 0, 0, "-", "generic"], [36, 0, 0, "-", "mopac"], [37, 0, 0, "-", "orca"], [36, 0, 0, "-", "utils"], [36, 0, 0, "-", "vasp"], [36, 0, 0, "-", "wfl_fileio_calculator"]], "wfl.calculators.aims": [[36, 1, 1, "", "Aims"]], "wfl.calculators.aims.Aims": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "implemented_properties"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.castep": [[36, 1, 1, "", "Castep"]], "wfl.calculators.castep.Castep": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "implemented_properties"], [36, 2, 1, "", "setup_calc_params"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.committee": [[36, 3, 1, "", "calculate_committee"]], "wfl.calculators.espresso": [[36, 1, 1, "", "Espresso"]], "wfl.calculators.espresso.Espresso": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "implemented_properties"], [36, 2, 1, "", "setup_calc_params"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.generic": [[36, 3, 1, "", "calculate"]], "wfl.calculators.mopac": [[36, 1, 1, "", "MOPAC"]], "wfl.calculators.mopac.MOPAC": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "wfl_generic_default_autopara_info"]], "wfl.calculators.orca": [[37, 1, 1, "", "ORCA"], [37, 0, 0, "-", "basinhopping"], [37, 3, 1, "", "natural_population_analysis"], [37, 3, 1, "", "parse_npa_output"]], "wfl.calculators.orca.ORCA": [[37, 2, 1, "", "calculate"], [37, 2, 1, "", "cleanup"], [37, 4, 1, "", "default_parameters"], [37, 2, 1, "", "get_default_multiplicity"], [37, 4, 1, "", "implemented_properties"], [37, 2, 1, "", "is_converged"], [37, 2, 1, "", "pick_task"], [37, 2, 1, "", "read_dipole"], [37, 2, 1, "", "read_frequencies"], [37, 2, 1, "", "read_opt_atoms"], [37, 2, 1, "", "read_results"], [37, 2, 1, "", "read_trajectory"], [37, 4, 1, "", "wfl_generic_default_autopara_info"], [37, 2, 1, "", "write_input"]], "wfl.calculators.orca.basinhopping": [[37, 1, 1, "", "BasinHoppingORCA"], [37, 3, 1, "", "evaluate_basin_hopping"]], "wfl.calculators.orca.basinhopping.BasinHoppingORCA": [[37, 2, 1, "", "calculate"], [37, 2, 1, "", "get_homo"], [37, 2, 1, "", "get_multiplicity"], [37, 4, 1, "", "implemented_properties"], [37, 2, 1, "", "process_results"]], "wfl.calculators.utils": [[36, 3, 1, "", "clean_rundir"], [36, 3, 1, "", "handle_nonperiodic"], [36, 3, 1, "", "save_results"]], "wfl.calculators.vasp": [[36, 1, 1, "", "Vasp"]], "wfl.calculators.vasp.Vasp": [[36, 2, 1, "", "calculate"], [36, 4, 1, "", "default_parameters"], [36, 2, 1, "", "per_config_restore"], [36, 2, 1, "", "per_config_setup"], [36, 4, 1, "", "wfl_generic_num_inputs_per_python_subprocess"]], "wfl.calculators.wfl_fileio_calculator": [[36, 1, 1, "", "WFLFileIOCalculator"]], "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator": [[36, 2, 1, "", "clean_rundir"], [36, 2, 1, "", "cleanup"], [36, 2, 1, "", "setup_rundir"]], "wfl.cli": [[38, 0, 0, "-", "cli"], [38, 0, 0, "-", "cli_options"], [39, 0, 0, "-", "commands"], [38, 0, 0, "-", "gap_rss_iter_fit"]], "wfl.cli.cli_options": [[38, 3, 1, "", "extra_info"], [38, 3, 1, "", "inputs"], [38, 3, 1, "", "num_inputs_per_python_subprocess"], [38, 3, 1, "", "outputs"], [38, 3, 1, "", "param_fname"], [38, 3, 1, "", "prop_prefix"]], "wfl.cli.commands": [[39, 0, 0, "-", "descriptor"], [39, 0, 0, "-", "error"], [39, 0, 0, "-", "eval"], [39, 0, 0, "-", "generate"], [39, 0, 0, "-", "select"]], "wfl.cli.commands.descriptor": [[39, 3, 1, "", "calculate_descriptor"]], "wfl.cli.commands.eval": [[39, 3, 1, "", "pyjulip_ace"]], "wfl.cli.gap_rss_iter_fit": [[38, 3, 1, "", "RSS_minima_diverse"], [38, 3, 1, "", "Z_label"], [38, 3, 1, "", "calc_descriptors_to_file"], [38, 3, 1, "", "create_all_buildcell"], [38, 3, 1, "", "do_fit_and_test"], [38, 3, 1, "", "evaluate_iter_and_fit_all"], [38, 3, 1, "", "evaluate_ref"], [38, 3, 1, "", "flat_histo_then_by_desc"], [38, 3, 1, "", "get_buildcell_input_files"], [38, 3, 1, "", "get_old_fitting_files"], [38, 3, 1, "", "increment_active_iter"], [38, 3, 1, "", "is_elemental"], [38, 3, 1, "", "load_old_descriptors_arrays"], [38, 3, 1, "", "print_log"], [38, 3, 1, "", "process_cur_iter"], [38, 3, 1, "", "select_fitting_and_testing_for_groups"], [38, 3, 1, "", "step_startup"]], "wfl.configset": [[34, 1, 1, "", "ConfigSet"], [34, 1, 1, "", "OutputSpec"]], "wfl.configset.ConfigSet": [[34, 5, 1, "", "cur_loc"], [34, 2, 1, "", "groups"], [34, 2, 1, "", "one_file"]], "wfl.configset.OutputSpec": [[34, 2, 1, "", "all_written"], [34, 2, 1, "", "close"], [34, 2, 1, "", "store"], [34, 2, 1, "", "to_ConfigSet"], [34, 2, 1, "", "write"]], "wfl.descriptor_heuristics": [[34, 3, 1, "", "descriptor_2brn_uniform_file"], [34, 3, 1, "", "descriptors_from_length_scales"], [34, 3, 1, "", "len_scale_pair"]], "wfl.descriptors": [[40, 0, 0, "-", "quippy"]], "wfl.descriptors.quippy": [[40, 3, 1, "", "calculate"], [40, 3, 1, "", "from_any_to_Descriptor"]], "wfl.fit": [[41, 0, 0, "-", "ace"], [41, 0, 0, "-", "error"], [42, 0, 0, "-", "gap"], [41, 0, 0, "-", "mace"], [43, 0, 0, "-", "modify_database"], [41, 0, 0, "-", "utils"]], "wfl.fit.ace": [[41, 3, 1, "", "fit"], [41, 3, 1, "", "prepare_configs"], [41, 3, 1, "", "prepare_params"], [41, 3, 1, "", "run_ace_fit"]], "wfl.fit.error": [[41, 3, 1, "", "calc"], [41, 3, 1, "", "errors_dumps"], [41, 3, 1, "", "errors_to_dataframe"], [41, 3, 1, "", "natural_sort"], [41, 3, 1, "", "select_units"], [41, 3, 1, "", "value_error_scatter"]], "wfl.fit.gap": [[42, 0, 0, "-", "glue_2b"], [42, 0, 0, "-", "multistage"], [42, 0, 0, "-", "relocate"], [42, 0, 0, "-", "simple"]], "wfl.fit.gap.glue_2b": [[42, 3, 1, "", "construct_glue_2b"]], "wfl.fit.gap.multistage": [[42, 3, 1, "", "GAP_xml_modify_label"], [42, 3, 1, "", "fit"], [42, 3, 1, "", "max_cutoff"], [42, 3, 1, "", "prep_params"]], "wfl.fit.gap.relocate": [[42, 3, 1, "", "gap_relocate"]], "wfl.fit.gap.simple": [[42, 3, 1, "", "dict_to_gap_fit_string"], [42, 3, 1, "", "run_gap_fit"]], "wfl.fit.mace": [[41, 3, 1, "", "fit"]], "wfl.fit.modify_database": [[43, 0, 0, "-", "gap_rss_set_config_sigmas_from_convex_hull"], [43, 0, 0, "-", "scale_orig"], [43, 0, 0, "-", "simple_factor_nonperiodic"]], "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull": [[43, 3, 1, "", "modify"], [43, 3, 1, "", "piecewise_linear"]], "wfl.fit.modify_database.scale_orig": [[43, 3, 1, "", "modify"]], "wfl.fit.modify_database.simple_factor_nonperiodic": [[43, 3, 1, "", "list_to_sigma_dict"], [43, 3, 1, "", "modify"], [43, 3, 1, "", "modify_cell"], [43, 3, 1, "", "modify_with_factor"]], "wfl.fit.utils": [[41, 3, 1, "", "ace_fit_jl_path"], [41, 3, 1, "", "copy_properties"], [41, 3, 1, "", "fix_stress_virial"]], "wfl.generate": [[44, 0, 0, "-", "atoms_and_dimers"], [44, 0, 0, "-", "buildcell"], [45, 0, 0, "-", "md"], [44, 0, 0, "-", "minimahopping"], [44, 0, 0, "-", "normal_modes"], [44, 0, 0, "-", "optimize"], [44, 0, 0, "-", "phonopy"], [44, 0, 0, "-", "smiles"], [44, 0, 0, "-", "supercells"], [44, 0, 0, "-", "utils"]], "wfl.generate.atoms_and_dimers": [[44, 3, 1, "", "isolated_atom_from_e0"], [44, 3, 1, "", "prepare"]], "wfl.generate.buildcell": [[44, 3, 1, "", "buildcell"], [44, 3, 1, "", "conv_buildcell_out"], [44, 3, 1, "", "create_input"]], "wfl.generate.md": [[45, 0, 0, "-", "abort"], [45, 0, 0, "-", "abort_base"], [45, 3, 1, "", "md"]], "wfl.generate.md.abort": [[45, 1, 1, "", "AbortOnCollision"]], "wfl.generate.md.abort.AbortOnCollision": [[45, 2, 1, "", "atoms_ok"]], "wfl.generate.md.abort_base": [[45, 1, 1, "", "AbortSimBase"]], "wfl.generate.md.abort_base.AbortSimBase": [[45, 2, 1, "", "atoms_ok"], [45, 2, 1, "", "stop"]], "wfl.generate.minimahopping": [[44, 3, 1, "", "minimahopping"]], "wfl.generate.normal_modes": [[44, 1, 1, "", "NormalModes"], [44, 3, 1, "", "generate_normal_modes_parallel_atoms"], [44, 3, 1, "", "generate_normal_modes_parallel_hessian"], [44, 3, 1, "", "sample_normal_modes"]], "wfl.generate.normal_modes.NormalModes": [[44, 2, 1, "", "derive_normal_mode_info"], [44, 2, 1, "", "evals_to_freqs"], [44, 2, 1, "", "evecs_to_modes"], [44, 2, 1, "", "freqs_to_evals"], [44, 2, 1, "", "modes_to_evecs"], [44, 4, 1, "", "num_hess_delta"], [44, 2, 1, "", "sample_normal_modes"], [44, 2, 1, "", "summary"], [44, 2, 1, "", "view"]], "wfl.generate.optimize": [[44, 3, 1, "", "optimize"], [44, 3, 1, "", "subselect_from_traj"]], "wfl.generate.phonopy": [[44, 3, 1, "", "phonopy"]], "wfl.generate.smiles": [[44, 3, 1, "", "smi_to_atoms"], [44, 3, 1, "", "smiles"]], "wfl.generate.supercells": [[44, 3, 1, "", "antisite"], [44, 3, 1, "", "interstitial"], [44, 3, 1, "", "largest_bulk"], [44, 3, 1, "", "surface"], [44, 3, 1, "", "vacancy"]], "wfl.generate.utils": [[44, 3, 1, "", "config_type_append"]], "wfl.map": [[34, 3, 1, "", "map"]], "wfl.select": [[46, 0, 0, "-", "by_descriptor"], [46, 0, 0, "-", "convex_hull"], [46, 0, 0, "-", "flat_histogram"], [46, 0, 0, "-", "selection_space"], [46, 0, 0, "-", "simple"]], "wfl.select.by_descriptor": [[46, 3, 1, "", "CUR"], [46, 3, 1, "", "CUR_conf_global"], [46, 3, 1, "", "do_svd"], [46, 3, 1, "", "greedy_fps_conf_global"], [46, 3, 1, "", "prep_descs_and_exclude"], [46, 3, 1, "", "write_selected_and_clean"]], "wfl.select.convex_hull": [[46, 3, 1, "", "select"]], "wfl.select.flat_histogram": [[46, 3, 1, "", "biased_select_conf"]], "wfl.select.selection_space": [[46, 3, 1, "", "compare_manual_minima"], [46, 3, 1, "", "minima_among_neighbors"], [46, 3, 1, "", "val_relative_to_nearby_composition_volume_min"]], "wfl.select.simple": [[46, 3, 1, "", "by_bool_func"], [46, 3, 1, "", "by_index"]], "wfl.utils": [[47, 0, 0, "-", "at_copy_save_results"], [47, 0, 0, "-", "configs"], [47, 0, 0, "-", "convex_hull"], [47, 0, 0, "-", "file_utils"], [47, 0, 0, "-", "find_voids"], [47, 0, 0, "-", "gap_xml_tools"], [47, 0, 0, "-", "julia"], [47, 0, 0, "-", "logging"], [47, 0, 0, "-", "misc"], [47, 0, 0, "-", "ndim_neighbor_list"], [47, 0, 0, "-", "parallel"], [47, 0, 0, "-", "params"], [47, 0, 0, "-", "pressure"], [47, 0, 0, "-", "quip_cli_strings"], [47, 0, 0, "-", "replace_eval_in_strs"], [47, 0, 0, "-", "round_sig_figs"], [47, 0, 0, "-", "vector_utils"], [47, 0, 0, "-", "version"], [47, 0, 0, "-", "vol_composition_space"]], "wfl.utils.at_copy_save_results": [[47, 3, 1, "", "at_copy_save_results"]], "wfl.utils.configs": [[47, 3, 1, "", "atomization_energy"], [47, 3, 1, "", "find_isolated_atoms"]], "wfl.utils.convex_hull": [[47, 3, 1, "", "find_hull"], [47, 3, 1, "", "vertical_dist_from_hull"]], "wfl.utils.file_utils": [[47, 3, 1, "", "clean_dir"]], "wfl.utils.find_voids": [[47, 3, 1, "", "find_voids"]], "wfl.utils.gap_xml_tools": [[47, 3, 1, "", "extract_e0"]], "wfl.utils.julia": [[47, 3, 1, "", "julia_exec_path"]], "wfl.utils.logging": [[47, 3, 1, "", "increment_active_iter"], [47, 3, 1, "", "print_log"], [47, 3, 1, "", "process_active_iter"]], "wfl.utils.misc": [[47, 3, 1, "", "atoms_to_list"], [47, 3, 1, "", "chunks"], [47, 3, 1, "", "dict_tuple_keys_to_str"]], "wfl.utils.ndim_neighbor_list": [[47, 3, 1, "", "calc_list"], [47, 3, 1, "", "calc_list_cells"]], "wfl.utils.parallel": [[47, 3, 1, "", "construct_calculator_picklesafe"]], "wfl.utils.params": [[47, 1, 1, "", "Params"]], "wfl.utils.params.Params": [[47, 5, 1, "", "cur_iter"], [47, 5, 1, "", "dft_code"], [47, 5, 1, "", "dft_params"], [47, 2, 1, "", "get"], [47, 4, 1, "", "implemented_calculators"]], "wfl.utils.pressure": [[47, 6, 1, "", "PressureRecursionError"], [47, 3, 1, "", "sample_pressure"]], "wfl.utils.quip_cli_strings": [[47, 3, 1, "", "dict_to_quip_str"]], "wfl.utils.replace_eval_in_strs": [[47, 3, 1, "", "replace_eval_in_strs"]], "wfl.utils.round_sig_figs": [[47, 3, 1, "", "round_sig_figs"]], "wfl.utils.vector_utils": [[47, 3, 1, "", "random_three_vector"]], "wfl.utils.version": [[47, 3, 1, "", "get_wfl_version"]], "wfl.utils.vol_composition_space": [[47, 3, 1, "", "composition_space_Zs"], [47, 3, 1, "", "composition_space_coord"]], "wfl-descriptor-quippy": [[2, 7, 1, "cmdoption-wfl-descriptor-quippy-descriptor", "--descriptor"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-force", "--force"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-key", "--key"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-local", "--local"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-i", "-i"], [2, 7, 1, "cmdoption-wfl-descriptor-quippy-o", "-o"]], "wfl-error": [[2, 7, 1, "cmdoption-wfl-error-ap", "--atom-properties"], [2, 7, 1, "cmdoption-wfl-error-cpp", "--calc-property-prefix"], [2, 7, 1, "cmdoption-wfl-error-ck", "--category-keys"], [2, 7, 1, "cmdoption-wfl-error-cmap", "--cmap"], [2, 7, 1, "cmdoption-wfl-error-cp", "--config-properties"], [2, 7, 1, "cmdoption-wfl-error-error-type", "--error-type"], [2, 7, 1, "cmdoption-wfl-error-f", "--fig-name"], [2, 7, 1, "cmdoption-wfl-error-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-error-p", "--precision"], [2, 7, 1, "cmdoption-wfl-error-rpp", "--ref-property-prefix"], [2, 7, 1, "cmdoption-wfl-error-wp", "--weight-property"], [2, 7, 1, "cmdoption-wfl-error-ap", "-ap"], [2, 7, 1, "cmdoption-wfl-error-ck", "-ck"], [2, 7, 1, "cmdoption-wfl-error-cp", "-cp"], [2, 7, 1, "cmdoption-wfl-error-cpp", "-cpp"], [2, 7, 1, "cmdoption-wfl-error-f", "-f"], [2, 7, 1, "cmdoption-wfl-error-i", "-i"], [2, 7, 1, "cmdoption-wfl-error-p", "-p"], [2, 7, 1, "cmdoption-wfl-error-rpp", "-rpp"], [2, 7, 1, "cmdoption-wfl-error-wp", "-wp"]], "wfl-eval-ace": [[2, 7, 1, "cmdoption-wfl-eval-ace-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-ace-num-inputs-per-python-subprocess", "--num-inputs-per-python-subprocess"], [2, 7, 1, "cmdoption-wfl-eval-ace-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-ace-pf", "--param-fname"], [2, 7, 1, "cmdoption-wfl-eval-ace-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-ace-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-ace-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-ace-pf", "-pf"], [2, 7, 1, "cmdoption-wfl-eval-ace-pp", "-pp"]], "wfl-eval-atomization-energy": [[2, 7, 1, "cmdoption-wfl-eval-atomization-energy-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-k", "--isolated-atom-info-key"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-v", "--isolated-atom-info-value"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-prop", "--prop"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-k", "-k"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-pp", "-pp"], [2, 7, 1, "cmdoption-wfl-eval-atomization-energy-v", "-v"]], "wfl-eval-gap": [[2, 7, 1, "cmdoption-wfl-eval-gap-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-gap-num-inputs-per-python-subprocess", "--num-inputs-per-python-subprocess"], [2, 7, 1, "cmdoption-wfl-eval-gap-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-gap-pf", "--param-fname"], [2, 7, 1, "cmdoption-wfl-eval-gap-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-gap-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-gap-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-gap-pf", "-pf"], [2, 7, 1, "cmdoption-wfl-eval-gap-pp", "-pp"]], "wfl-eval-mace": [[2, 7, 1, "cmdoption-wfl-eval-mace-dtype", "--dtype"], [2, 7, 1, "cmdoption-wfl-eval-mace-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-eval-mace-num-inputs-per-python-subprocess", "--num-inputs-per-python-subprocess"], [2, 7, 1, "cmdoption-wfl-eval-mace-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-eval-mace-pf", "--param-fname"], [2, 7, 1, "cmdoption-wfl-eval-mace-pp", "--prop-prefix"], [2, 7, 1, "cmdoption-wfl-eval-mace-i", "-i"], [2, 7, 1, "cmdoption-wfl-eval-mace-o", "-o"], [2, 7, 1, "cmdoption-wfl-eval-mace-pf", "-pf"], [2, 7, 1, "cmdoption-wfl-eval-mace-pp", "-pp"]], "wfl-generate-buildcell": [[2, 7, 1, "cmdoption-wfl-generate-buildcell-buildcell-exec", "--buildcell-exec"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-buildcell-input", "--buildcell-input"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-ei", "--extra-info"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-N", "--n-configs"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-perturbation", "--perturbation"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-N", "-N"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-ei", "-ei"], [2, 7, 1, "cmdoption-wfl-generate-buildcell-o", "-o"]], "wfl-generate-smiles": [[2, 7, 1, "cmdoption-wfl-generate-smiles-ei", "--extra-info"], [2, 7, 1, "cmdoption-wfl-generate-smiles-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-generate-smiles-ei", "-ei"], [2, 7, 1, "cmdoption-wfl-generate-smiles-o", "-o"], [2, 7, 1, "cmdoption-wfl-generate-smiles-arg-SMILES_STRING", "SMILES_STRING"]], "wfl-select-cur": [[2, 7, 1, "cmdoption-wfl-select-cur-deterministic", "--deterministic"], [2, 7, 1, "cmdoption-wfl-select-cur-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-select-cur-keep_descriptor", "--keep_descriptor"], [2, 7, 1, "cmdoption-wfl-select-cur-kernel_exponent", "--kernel_exponent"], [2, 7, 1, "cmdoption-wfl-select-cur-key", "--key"], [2, 7, 1, "cmdoption-wfl-select-cur-N", "--n-configs"], [2, 7, 1, "cmdoption-wfl-select-cur-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-select-cur-stochastic-seed", "--stochastic-seed"], [2, 7, 1, "cmdoption-wfl-select-cur-N", "-N"], [2, 7, 1, "cmdoption-wfl-select-cur-i", "-i"], [2, 7, 1, "cmdoption-wfl-select-cur-o", "-o"]], "wfl-select-lambda": [[2, 7, 1, "cmdoption-wfl-select-lambda-e", "--exec-code"], [2, 7, 1, "cmdoption-wfl-select-lambda-i", "--inputs"], [2, 7, 1, "cmdoption-wfl-select-lambda-o", "--outputs"], [2, 7, 1, "cmdoption-wfl-select-lambda-e", "-e"], [2, 7, 1, "cmdoption-wfl-select-lambda-i", "-i"], [2, 7, 1, "cmdoption-wfl-select-lambda-o", "-o"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute", "5": "py:property", "6": "py:exception", "7": "std:cmdoption"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"], "7": ["std", "cmdoption", "program option"]}, "titleterms": {"command": [0, 9, 16, 39], "line": [0, 9, 16], "interfac": 0, "calcul": [0, 6, 8, 9, 10, 22, 36, 37], "orca": [0, 14, 37], "outdat": 0, "castep": [0, 36], "vasp": [0, 36], "util": [1, 35, 36, 41, 44, 47], "function": [1, 32, 33], "find": 1, "void": 1, "e0": 1, "from": 1, "gap": [1, 2, 6, 12, 25, 27, 42, 48], "xml": 1, "wfl": [2, 6, 19, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "descriptor": [2, 6, 9, 23, 28, 39, 40], "quippi": [2, 40], "error": [2, 6, 12, 39, 41], "eval": [2, 39], "ac": [2, 21, 41], "atom": [2, 6, 16, 26, 30], "energi": 2, "mace": [2, 10, 41], "gener": [2, 6, 7, 9, 12, 13, 22, 26, 36, 39, 44, 45], "buildcel": [2, 4, 26, 44], "smile": [2, 16, 26, 44], "select": [2, 6, 15, 28, 39, 46, 48], "cur": [2, 6, 28], "lambda": 2, "exampl": [3, 5, 6, 10, 17, 33], "content": [3, 12, 18, 20, 24, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "random": 4, "structur": [4, 6, 7, 9, 15, 26, 30], "via": [4, 14], "contribut": 5, "prepar": [5, 6, 12, 48], "hide": 5, "test": [5, 12, 33], "onlin": 5, "document": [5, 18], "updat": 5, "relat": 5, "file": [5, 22, 27], "fit": [6, 9, 12, 21, 24, 25, 27, 41, 42, 43], "workflow": [6, 12, 18, 22], "mani": 6, "us": [6, 32], "case": 6, "import": [6, 12], "refer": 6, "isol": 6, "initi": [6, 12, 48], "run": [6, 9, 33], "molecular": [6, 11, 26], "dynam": [6, 11, 26], "simul": 6, "filter": 6, "soap": 6, "sub": 6, "evalu": [6, 9], "plot": 6, "correl": 6, "dimer": [7, 26], "fhi": 8, "aim": [8, 36], "index": 9, "md": [9, 45, 48], "remot": [9, 17, 33, 35], "execut": [9, 17], "get": [9, 12], "sampl": [9, 13, 15, 28], "potenti": [9, 24], "iter": [9, 12], "train": [9, 12], "miscellan": 9, "parallel": [10, 12, 22, 32, 47], "complet": [10, 17], "tabl": 12, "setup": 12, "start": [12, 48], "process": 12, "The": 12, "keep": 12, "track": 12, "normal": [13, 26], "mode": [13, 26], "molecul": [13, 26], "visual": 13, "python": [14, 16, 32], "script": [14, 16, 17, 32, 48], "first": 17, "With": 17, "welcom": 18, "": 18, "instal": 18, "repositori": 18, "oper": [20, 32], "base": [22, 35], "special": 22, "super": 26, "cell": 26, "geometri": 26, "optim": [26, 44], "minima": 26, "hop": 26, "phonon": 26, "multistag": [27, 42], "procedur": 27, "configur": 27, "creat": [27, 32], "config": [28, 47, 48], "global": 28, "furthest": 28, "point": 28, "flat": 28, "histogram": 28, "convex": 28, "hull": 28, "simpl": [28, 42, 46], "overview": 29, "thi": 29, "section": 29, "outlin": 29, "input": 30, "output": 30, "intern": 30, "develop": 30, "overal": 31, "design": 31, "automat": 32, "task": 32, "program": 32, "mpi": 32, "wfl_mpipool": 32, "runtim": [32, 48], "control": 32, "over": 32, "singl": 32, "node": 32, "subprocess": 32, "multipl": 32, "auto": 32, "independ": 33, "queu": 33, "job": [33, 48], "wfl_expyre_info": 33, "syntax": 33, "kei": 33, "valu": 33, "divid": 33, "item": 33, "parallelis": 33, "within": 33, "pytest": 33, "packag": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "subpackag": [34, 36, 38, 41, 44], "submodul": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "configset": 34, "modul": [34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "descriptor_heurist": 34, "map": 34, "autoparallel": 35, "autoparainfo": 35, "mpipool_support": 35, "pool": 35, "remoteinfo": 35, "paramet": 36, "committe": 36, "espresso": 36, "mopac": 36, "wfl_fileio_calcul": 36, "basinhop": 37, "cli": [38, 39], "cli_opt": 38, "dft_convergence_test": 38, "gap_rss_iter_fit": 38, "glue_2b": 42, "reloc": 42, "modify_databas": 43, "gap_rss_set_config_sigmas_from_convex_hul": 43, "scale_orig": 43, "simple_factor_nonperiod": 43, "atoms_and_dim": 44, "minimahop": 44, "normal_mod": 44, "phonopi": 44, "supercel": 44, "abort": 45, "abort_bas": 45, "by_descriptor": 46, "convex_hul": [46, 47], "flat_histogram": 46, "selection_spac": 46, "at_copy_save_result": 47, "file_util": 47, "find_void": 47, "gap_xml_tool": 47, "julia": 47, "log": 47, "misc": 47, "ndim_neighbor_list": 47, "param": 47, "pressur": 47, "quip_cli_str": 47, "replace_eval_in_str": 47, "round_sig_fig": 47, "vector_util": 47, "version": 47, "vol_composition_spac": 47, "how": 48, "do": 48, "rss": 48, "befor": 48, "you": 48, "main": 48, "step": 48, "dft": 48, "set": 48}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Command line interface": [[0, "command-line-interface"]], "Calculators": [[0, "calculators"]], "ORCA (outdated)": [[0, "orca-outdated"]], "CASTEP": [[0, "castep"]], "VASP": [[0, "vasp"]], "Utility functions": [[1, "utility-functions"]], "Find Voids": [[1, "find-voids"]], "e0 from GAP XML": [[1, "e0-from-gap-xml"]], "wfl": [[2, "wfl"], [19, "wfl"]], "descriptor": [[2, "wfl-descriptor"]], "quippy": [[2, "wfl-descriptor-quippy"]], "error": [[2, "wfl-error"]], "eval": [[2, "wfl-eval"]], "ace": [[2, "wfl-eval-ace"]], "atomization-energy": [[2, "wfl-eval-atomization-energy"]], "gap": [[2, "wfl-eval-gap"]], "mace": [[2, "wfl-eval-mace"]], "generate": [[2, "wfl-generate"]], "buildcell": [[2, "wfl-generate-buildcell"]], "smiles": [[2, "wfl-generate-smiles"]], "select": [[2, "wfl-select"]], "cur": [[2, "wfl-select-cur"]], "lambda": [[2, "wfl-select-lambda"]], "Examples": [[3, "examples"]], "Contents:": [[3, null], [20, null], [24, null]], "Random Structures via buildcell": [[4, "Random-Structures-via-buildcell"]], "Contributing Examples": [[5, "contributing-examples"]], "Preparing the Example": [[5, "preparing-the-example"]], "Hiding Tests in the Online Documentation": [[5, "hiding-tests-in-the-online-documentation"]], "Updating Related Files": [[5, "updating-related-files"]], "GAP fit workflow with many wfl use-case examples": [[6, "GAP-fit-workflow-with-many-wfl-use-case-examples"]], "Imports": [[6, "Imports"]], "Reference calculator": [[6, "Reference-calculator"]], "Prepare isolated atoms": [[6, "Prepare-isolated-atoms"]], "Generate initial structures": [[6, "Generate-initial-structures"]], "Run Molecular Dynamics simulation": [[6, "Run-Molecular-Dynamics-simulation"]], "Filter structures": [[6, "Filter-structures"]], "Calculate SOAP descriptor": [[6, "Calculate-SOAP-descriptor"]], "Sub-select with CUR": [[6, "Sub-select-with-CUR"]], "Fit GAP": [[6, "Fit-GAP"]], "Evaluate structures with GAP": [[6, "Evaluate-structures-with-GAP"]], "Evaluate error & plot correlation": [[6, "Evaluate-error-&-plot-correlation"]], "Generating Dimer Structures": [[7, "Generating-Dimer-Structures"]], "FHI-Aims Calculator": [[8, "FHI-Aims-Calculator"]], "Index": [[9, "index"]], "Evaluate structures with a calculator": [[9, "evaluate-structures-with-a-calculator"]], "Generate structures": [[9, "generate-structures"]], "Run MD": [[9, "run-md"]], "Remote execution": [[9, "remote-execution"]], "Get descriptors": [[9, "get-descriptors"]], "Sampling structures": [[9, "sampling-structures"]], "Fit a potential": [[9, "fit-a-potential"]], "Iterative training": [[9, "iterative-training"]], "Command line": [[9, "command-line"], [16, "command-line"]], "Miscellaneous": [[9, "miscellaneous"]], "Parallelize MACE calculator": [[10, "parallelize-mace-calculator"]], "Complete example": [[10, "complete-example"]], "Molecular Dynamics": [[11, "molecular-dynamics"], [26, "molecular-dynamics"]], "Iterative GAP fitting": [[12, "iterative-gap-fitting"]], "Table of contents": [[12, "table-of-contents"]], "General workflow and setup": [[12, "general-workflow-and-setup"]], "Getting started: Parallelization and Imports": [[12, "getting-started-parallelization-and-imports"]], "Fitting the initial GAP": [[12, "fitting-the-initial-gap"]], "Preparing the iterative process": [[12, "preparing-the-iterative-process"]], "The Iterative Process": [[12, "the-iterative-process"]], "Keeping track of training and test errors": [[12, "keeping-track-of-training-and-test-errors"]], "Normal Modes of molecules": [[13, "normal-modes-of-molecules"]], "Generate": [[13, "generate"]], "Visualize": [[13, "visualize"]], "Sample": [[13, "sample"]], "ORCA via Python script": [[14, "orca-via-python-script"]], "Selection or Sampling of Structures": [[15, "Selection-or-Sampling-of-Structures"]], "SMILES to Atoms": [[16, "smiles-to-atoms"], [26, "smiles-to-atoms"]], "Python script": [[16, "python-script"]], "First Example": [[17, "first-example"]], "Complete script": [[17, "complete-script"], [17, "id2"]], "With remote execution": [[17, "with-remote-execution"]], "Welcome to Workflow\u2019s documentation!": [[18, "welcome-to-workflow-s-documentation"]], "Installation": [[18, "installation"]], "Repository": [[18, "repository"]], "Contents": [[18, "contents"]], "Operations": [[20, "operations"]], "Fitting ACE": [[21, "fitting-ace"]], "Calculators in Workflow": [[22, "calculators-in-workflow"]], "Parallelize with generic.calculate()": [[22, "parallelize-with-generic-calculate"]], "File-based calculators": [[22, "file-based-calculators"]], "Special calculators": [[22, "special-calculators"]], "Descriptors": [[23, "descriptors"]], "Fitting potentials": [[24, "fitting-potentials"]], "Fitting GAP": [[25, "fitting-gap"]], "Generating Atomic Structures": [[26, "generating-atomic-structures"]], "Atoms and Dimers": [[26, "atoms-and-dimers"]], "BuildCell": [[26, "buildcell"]], "Super Cells": [[26, "super-cells"]], "Geometry Optimization": [[26, "geometry-optimization"]], "Minima Hopping": [[26, "minima-hopping"]], "Structures for phonons": [[26, "structures-for-phonons"]], "Normal Modes of Molecules": [[26, "normal-modes-of-molecules"]], "Multistage GAP fitting": [[27, "multistage-gap-fitting"]], "Procedure": [[27, "procedure"]], "Configuration file": [[27, "configuration-file"]], "Creating configuration file": [[27, "creating-configuration-file"]], "Selecting Configs": [[28, "selecting-configs"]], "CUR on global descriptor": [[28, "cur-on-global-descriptor"]], "Furthest point sampling": [[28, "furthest-point-sampling"]], "Flat histogram": [[28, "flat-histogram"]], "Convex hull": [[28, "convex-hull"]], "Simple select": [[28, "simple-select"]], "Overview": [[29, "overview"]], "This section outlines:": [[29, null]], "Input and output of atomic structures": [[30, "input-and-output-of-atomic-structures"]], "Internals, for developers": [[30, "internals-for-developers"]], "Overall design": [[31, "overall-design"]], "Automatic parallelization of tasks": [[32, "automatic-parallelization-of-tasks"]], "Programming script that use parallelized operations": [[32, "programming-script-that-use-parallelized-operations"]], "MPI with WFL_MPIPOOL": [[32, "mpi-with-wfl-mpipool"]], "Runtime control over parallelization": [[32, "runtime-control-over-parallelization"]], "Single node using python subprocesses": [[32, "single-node-using-python-subprocesses"]], "Multiple nodes using MPI": [[32, "multiple-nodes-using-mpi"]], "Creating auto-parallelized functions": [[32, "creating-auto-parallelized-functions"]], "Functions as independently queued jobs": [[33, "functions-as-independently-queued-jobs"]], "Example": [[33, "example"]], "WFL_EXPYRE_INFO syntax": [[33, "wfl-expyre-info-syntax"]], "Keys": [[33, "keys"]], "Values": [[33, "values"]], "Dividing items into and parallelising within jobs": [[33, "dividing-items-into-and-parallelising-within-jobs"]], "Testing": [[33, "testing"]], "Pytest with remote run example": [[33, "pytest-with-remote-run-example"]], "wfl package": [[34, "wfl-package"]], "Subpackages": [[34, "subpackages"], [36, "subpackages"], [38, "subpackages"], [41, "subpackages"], [44, "subpackages"]], "Submodules": [[34, "submodules"], [35, "submodules"], [36, "submodules"], [37, "submodules"], [38, "submodules"], [39, "submodules"], [40, "submodules"], [41, "submodules"], [42, "submodules"], [43, "submodules"], [44, "submodules"], [45, "submodules"], [46, "submodules"], [47, "submodules"]], "wfl.configset module": [[34, "module-wfl.configset"]], "wfl.descriptor_heuristics module": [[34, "module-wfl.descriptor_heuristics"]], "wfl.map module": [[34, "module-wfl.map"]], "Module contents": [[34, "module-wfl"], [35, "module-wfl.autoparallelize"], [36, "module-wfl.calculators"], [37, "module-wfl.calculators.orca"], [38, "module-wfl.cli"], [39, "module-wfl.cli.commands"], [40, "module-wfl.descriptors"], [41, "module-wfl.fit"], [42, "module-wfl.fit.gap"], [43, "module-wfl.fit.modify_database"], [44, "module-wfl.generate"], [45, "module-wfl.generate.md"], [46, "module-wfl.select"], [47, "module-wfl.utils"]], "wfl.autoparallelize package": [[35, "wfl-autoparallelize-package"]], "wfl.autoparallelize.autoparainfo module": [[35, "module-wfl.autoparallelize.autoparainfo"]], "wfl.autoparallelize.base module": [[35, "module-wfl.autoparallelize.base"]], "wfl.autoparallelize.mpipool_support module": [[35, "module-wfl.autoparallelize.mpipool_support"]], "wfl.autoparallelize.pool module": [[35, "module-wfl.autoparallelize.pool"]], "wfl.autoparallelize.remote module": [[35, "module-wfl.autoparallelize.remote"]], "wfl.autoparallelize.remoteinfo module": [[35, "module-wfl.autoparallelize.remoteinfo"]], "wfl.autoparallelize.utils module": [[35, "module-wfl.autoparallelize.utils"]], "wfl.calculators package": [[36, "wfl-calculators-package"]], "wfl.calculators.aims module": [[36, "module-wfl.calculators.aims"]], "Parameter:": [[36, "parameter"]], "wfl.calculators.castep module": [[36, "module-wfl.calculators.castep"]], "wfl.calculators.committee module": [[36, "module-wfl.calculators.committee"]], "wfl.calculators.espresso module": [[36, "module-wfl.calculators.espresso"]], "wfl.calculators.generic module": [[36, "module-wfl.calculators.generic"]], "wfl.calculators.mopac module": [[36, "module-wfl.calculators.mopac"]], "wfl.calculators.utils module": [[36, "module-wfl.calculators.utils"]], "wfl.calculators.vasp module": [[36, "module-wfl.calculators.vasp"]], "wfl.calculators.wfl_fileio_calculator module": [[36, "module-wfl.calculators.wfl_fileio_calculator"]], "wfl.calculators.orca package": [[37, "wfl-calculators-orca-package"]], "wfl.calculators.orca.basinhopping module": [[37, "module-wfl.calculators.orca.basinhopping"]], "wfl.cli package": [[38, "wfl-cli-package"]], "wfl.cli.cli module": [[38, "module-wfl.cli.cli"]], "wfl.cli.cli_options module": [[38, "module-wfl.cli.cli_options"]], "wfl.cli.dft_convergence_test module": [[38, "wfl-cli-dft-convergence-test-module"]], "wfl.cli.gap_rss_iter_fit module": [[38, "module-wfl.cli.gap_rss_iter_fit"]], "wfl.cli.commands package": [[39, "wfl-cli-commands-package"]], "wfl.cli.commands.descriptor module": [[39, "module-wfl.cli.commands.descriptor"]], "wfl.cli.commands.error module": [[39, "module-wfl.cli.commands.error"]], "wfl.cli.commands.eval module": [[39, "module-wfl.cli.commands.eval"]], "wfl.cli.commands.generate module": [[39, "module-wfl.cli.commands.generate"]], "wfl.cli.commands.select module": [[39, "module-wfl.cli.commands.select"]], "wfl.descriptors package": [[40, "wfl-descriptors-package"]], "wfl.descriptors.quippy module": [[40, "module-wfl.descriptors.quippy"]], "wfl.fit package": [[41, "wfl-fit-package"]], "wfl.fit.ace module": [[41, "module-wfl.fit.ace"]], "wfl.fit.error module": [[41, "module-wfl.fit.error"]], "wfl.fit.mace module": [[41, "module-wfl.fit.mace"]], "wfl.fit.utils module": [[41, "module-wfl.fit.utils"]], "wfl.fit.gap package": [[42, "wfl-fit-gap-package"]], "wfl.fit.gap.glue_2b module": [[42, "module-wfl.fit.gap.glue_2b"]], "wfl.fit.gap.multistage module": [[42, "module-wfl.fit.gap.multistage"]], "wfl.fit.gap.relocate module": [[42, "module-wfl.fit.gap.relocate"]], "wfl.fit.gap.simple module": [[42, "module-wfl.fit.gap.simple"]], "wfl.fit.modify_database package": [[43, "wfl-fit-modify-database-package"]], "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull module": [[43, "module-wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull"]], "wfl.fit.modify_database.scale_orig module": [[43, "module-wfl.fit.modify_database.scale_orig"]], "wfl.fit.modify_database.simple_factor_nonperiodic module": [[43, "module-wfl.fit.modify_database.simple_factor_nonperiodic"]], "wfl.generate package": [[44, "wfl-generate-package"]], "wfl.generate.atoms_and_dimers module": [[44, "module-wfl.generate.atoms_and_dimers"]], "wfl.generate.buildcell module": [[44, "module-wfl.generate.buildcell"]], "wfl.generate.minimahopping module": [[44, "module-wfl.generate.minimahopping"]], "wfl.generate.normal_modes module": [[44, "module-wfl.generate.normal_modes"]], "wfl.generate.optimize module": [[44, "module-wfl.generate.optimize"]], "wfl.generate.phonopy module": [[44, "module-wfl.generate.phonopy"]], "wfl.generate.smiles module": [[44, "module-wfl.generate.smiles"]], "wfl.generate.supercells module": [[44, "module-wfl.generate.supercells"]], "wfl.generate.utils module": [[44, "module-wfl.generate.utils"]], "wfl.generate.md package": [[45, "wfl-generate-md-package"]], "wfl.generate.md.abort module": [[45, "module-wfl.generate.md.abort"]], "wfl.generate.md.abort_base module": [[45, "module-wfl.generate.md.abort_base"]], "wfl.select package": [[46, "wfl-select-package"]], "wfl.select.by_descriptor module": [[46, "module-wfl.select.by_descriptor"]], "wfl.select.convex_hull module": [[46, "module-wfl.select.convex_hull"]], "wfl.select.flat_histogram module": [[46, "module-wfl.select.flat_histogram"]], "wfl.select.selection_space module": [[46, "module-wfl.select.selection_space"]], "wfl.select.simple module": [[46, "module-wfl.select.simple"]], "wfl.utils package": [[47, "wfl-utils-package"]], "wfl.utils.at_copy_save_results module": [[47, "module-wfl.utils.at_copy_save_results"]], "wfl.utils.configs module": [[47, "module-wfl.utils.configs"]], "wfl.utils.convex_hull module": [[47, "module-wfl.utils.convex_hull"]], "wfl.utils.file_utils module": [[47, "module-wfl.utils.file_utils"]], "wfl.utils.find_voids module": [[47, "module-wfl.utils.find_voids"]], "wfl.utils.gap_xml_tools module": [[47, "module-wfl.utils.gap_xml_tools"]], "wfl.utils.julia module": [[47, "module-wfl.utils.julia"]], "wfl.utils.logging module": [[47, "module-wfl.utils.logging"]], "wfl.utils.misc module": [[47, "module-wfl.utils.misc"]], "wfl.utils.ndim_neighbor_list module": [[47, "module-wfl.utils.ndim_neighbor_list"]], "wfl.utils.parallel module": [[47, "module-wfl.utils.parallel"]], "wfl.utils.params module": [[47, "module-wfl.utils.params"]], "wfl.utils.pressure module": [[47, "module-wfl.utils.pressure"]], "wfl.utils.quip_cli_strings module": [[47, "module-wfl.utils.quip_cli_strings"]], "wfl.utils.replace_eval_in_strs module": [[47, "module-wfl.utils.replace_eval_in_strs"]], "wfl.utils.round_sig_figs module": [[47, "module-wfl.utils.round_sig_figs"]], "wfl.utils.vector_utils module": [[47, "module-wfl.utils.vector_utils"]], "wfl.utils.version module": [[47, "module-wfl.utils.version"]], "wfl.utils.vol_composition_space module": [[47, "module-wfl.utils.vol_composition_space"]], "How to do GAP-RSS": [[48, "how-to-do-gap-rss"]], "Before you start": [[48, "before-you-start"]], "Main config": [[48, "main-config"]], "Steps of GAP-RSS": [[48, "steps-of-gap-rss"]], "Preparation step": [[48, "preparation-step"]], "DFT settings": [[48, "dft-settings"]], "Config selection": [[48, "config-selection"]], "Initial step": [[48, "initial-step"]], "RSS step": [[48, "rss-step"]], "MD step": [[48, "md-step"]], "Job script and runtime settings": [[48, "job-script-and-runtime-settings"]]}, "indexentries": {"--atom-properties": [[2, "cmdoption-wfl-error-ap"]], "--buildcell-exec": [[2, "cmdoption-wfl-generate-buildcell-buildcell-exec"]], "--buildcell-input": [[2, "cmdoption-wfl-generate-buildcell-buildcell-input"]], "--calc-property-prefix": [[2, "cmdoption-wfl-error-cpp"]], "--category-keys": [[2, "cmdoption-wfl-error-ck"]], "--cmap": [[2, "cmdoption-wfl-error-cmap"]], "--config-properties": [[2, "cmdoption-wfl-error-cp"]], "--descriptor": [[2, "cmdoption-wfl-descriptor-quippy-descriptor"]], "--deterministic": [[2, "cmdoption-wfl-select-cur-deterministic"]], "--dtype": [[2, "cmdoption-wfl-eval-mace-dtype"]], "--error-type": [[2, "cmdoption-wfl-error-error-type"]], "--exec-code": [[2, "cmdoption-wfl-select-lambda-e"]], "--extra-info": [[2, "cmdoption-wfl-generate-buildcell-ei"], [2, "cmdoption-wfl-generate-smiles-ei"]], "--fig-name": [[2, "cmdoption-wfl-error-f"]], "--force": [[2, "cmdoption-wfl-descriptor-quippy-force"]], "--inputs": [[2, "cmdoption-wfl-descriptor-quippy-i"], [2, "cmdoption-wfl-error-i"], [2, "cmdoption-wfl-eval-ace-i"], [2, "cmdoption-wfl-eval-atomization-energy-i"], [2, "cmdoption-wfl-eval-gap-i"], [2, "cmdoption-wfl-eval-mace-i"], [2, "cmdoption-wfl-select-cur-i"], [2, "cmdoption-wfl-select-lambda-i"]], "--isolated-atom-info-key": [[2, "cmdoption-wfl-eval-atomization-energy-k"]], "--isolated-atom-info-value": [[2, "cmdoption-wfl-eval-atomization-energy-v"]], "--keep_descriptor": [[2, "cmdoption-wfl-select-cur-keep_descriptor"]], "--kernel_exponent": [[2, "cmdoption-wfl-select-cur-kernel_exponent"]], "--key": [[2, "cmdoption-wfl-descriptor-quippy-key"], [2, "cmdoption-wfl-select-cur-key"]], "--local": [[2, "cmdoption-wfl-descriptor-quippy-local"]], "--n-configs": [[2, "cmdoption-wfl-generate-buildcell-N"], [2, "cmdoption-wfl-select-cur-N"]], "--num-inputs-per-python-subprocess": [[2, "cmdoption-wfl-eval-ace-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-gap-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-mace-num-inputs-per-python-subprocess"]], "--outputs": [[2, "cmdoption-wfl-descriptor-quippy-o"], [2, "cmdoption-wfl-eval-ace-o"], [2, "cmdoption-wfl-eval-atomization-energy-o"], [2, "cmdoption-wfl-eval-gap-o"], [2, "cmdoption-wfl-eval-mace-o"], [2, "cmdoption-wfl-generate-buildcell-o"], [2, "cmdoption-wfl-generate-smiles-o"], [2, "cmdoption-wfl-select-cur-o"], [2, "cmdoption-wfl-select-lambda-o"]], "--param-fname": [[2, "cmdoption-wfl-eval-ace-pf"], [2, "cmdoption-wfl-eval-gap-pf"], [2, "cmdoption-wfl-eval-mace-pf"]], "--perturbation": [[2, "cmdoption-wfl-generate-buildcell-perturbation"]], "--precision": [[2, "cmdoption-wfl-error-p"]], "--prop": [[2, "cmdoption-wfl-eval-atomization-energy-prop"]], "--prop-prefix": [[2, "cmdoption-wfl-eval-ace-pp"], [2, "cmdoption-wfl-eval-atomization-energy-pp"], [2, "cmdoption-wfl-eval-gap-pp"], [2, "cmdoption-wfl-eval-mace-pp"]], "--ref-property-prefix": [[2, "cmdoption-wfl-error-rpp"]], "--stochastic-seed": [[2, "cmdoption-wfl-select-cur-stochastic-seed"]], "--verbose": [[2, "cmdoption-wfl-v"]], "--weight-property": [[2, "cmdoption-wfl-error-wp"]], "-n": [[2, "cmdoption-wfl-generate-buildcell-N"], [2, "cmdoption-wfl-select-cur-N"]], "-ap": [[2, "cmdoption-wfl-error-ap"]], "-ck": [[2, "cmdoption-wfl-error-ck"]], "-cp": [[2, "cmdoption-wfl-error-cp"]], "-cpp": [[2, "cmdoption-wfl-error-cpp"]], "-e": [[2, "cmdoption-wfl-select-lambda-e"]], "-ei": [[2, "cmdoption-wfl-generate-buildcell-ei"], [2, "cmdoption-wfl-generate-smiles-ei"]], "-f": [[2, "cmdoption-wfl-error-f"]], "-i": [[2, "cmdoption-wfl-descriptor-quippy-i"], [2, "cmdoption-wfl-error-i"], [2, "cmdoption-wfl-eval-ace-i"], [2, "cmdoption-wfl-eval-atomization-energy-i"], [2, "cmdoption-wfl-eval-gap-i"], [2, "cmdoption-wfl-eval-mace-i"], [2, "cmdoption-wfl-select-cur-i"], [2, "cmdoption-wfl-select-lambda-i"]], "-k": [[2, "cmdoption-wfl-eval-atomization-energy-k"]], "-o": [[2, "cmdoption-wfl-descriptor-quippy-o"], [2, "cmdoption-wfl-eval-ace-o"], [2, "cmdoption-wfl-eval-atomization-energy-o"], [2, "cmdoption-wfl-eval-gap-o"], [2, "cmdoption-wfl-eval-mace-o"], [2, "cmdoption-wfl-generate-buildcell-o"], [2, "cmdoption-wfl-generate-smiles-o"], [2, "cmdoption-wfl-select-cur-o"], [2, "cmdoption-wfl-select-lambda-o"]], "-p": [[2, "cmdoption-wfl-error-p"]], "-pf": [[2, "cmdoption-wfl-eval-ace-pf"], [2, "cmdoption-wfl-eval-gap-pf"], [2, "cmdoption-wfl-eval-mace-pf"]], "-pp": [[2, "cmdoption-wfl-eval-ace-pp"], [2, "cmdoption-wfl-eval-atomization-energy-pp"], [2, "cmdoption-wfl-eval-gap-pp"], [2, "cmdoption-wfl-eval-mace-pp"]], "-rpp": [[2, "cmdoption-wfl-error-rpp"]], "-v": [[2, "cmdoption-wfl-eval-atomization-energy-v"], [2, "cmdoption-wfl-v"]], "-wp": [[2, "cmdoption-wfl-error-wp"]], "smiles_string": [[2, "cmdoption-wfl-generate-smiles-arg-SMILES_STRING"]], "wfl command line option": [[2, "cmdoption-wfl-v"]], "wfl-descriptor-quippy command line option": [[2, "cmdoption-wfl-descriptor-quippy-descriptor"], [2, "cmdoption-wfl-descriptor-quippy-force"], [2, "cmdoption-wfl-descriptor-quippy-i"], [2, "cmdoption-wfl-descriptor-quippy-key"], [2, "cmdoption-wfl-descriptor-quippy-local"], [2, "cmdoption-wfl-descriptor-quippy-o"]], "wfl-error command line option": [[2, "cmdoption-wfl-error-ap"], [2, "cmdoption-wfl-error-ck"], [2, "cmdoption-wfl-error-cmap"], [2, "cmdoption-wfl-error-cp"], [2, "cmdoption-wfl-error-cpp"], [2, "cmdoption-wfl-error-error-type"], [2, "cmdoption-wfl-error-f"], [2, "cmdoption-wfl-error-i"], [2, "cmdoption-wfl-error-p"], [2, "cmdoption-wfl-error-rpp"], [2, "cmdoption-wfl-error-wp"]], "wfl-eval-ace command line option": [[2, "cmdoption-wfl-eval-ace-i"], [2, "cmdoption-wfl-eval-ace-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-ace-o"], [2, "cmdoption-wfl-eval-ace-pf"], [2, "cmdoption-wfl-eval-ace-pp"]], "wfl-eval-atomization-energy command line option": [[2, "cmdoption-wfl-eval-atomization-energy-i"], [2, "cmdoption-wfl-eval-atomization-energy-k"], [2, "cmdoption-wfl-eval-atomization-energy-o"], [2, "cmdoption-wfl-eval-atomization-energy-pp"], [2, "cmdoption-wfl-eval-atomization-energy-prop"], [2, "cmdoption-wfl-eval-atomization-energy-v"]], "wfl-eval-gap command line option": [[2, "cmdoption-wfl-eval-gap-i"], [2, "cmdoption-wfl-eval-gap-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-gap-o"], [2, "cmdoption-wfl-eval-gap-pf"], [2, "cmdoption-wfl-eval-gap-pp"]], "wfl-eval-mace command line option": [[2, "cmdoption-wfl-eval-mace-dtype"], [2, "cmdoption-wfl-eval-mace-i"], [2, "cmdoption-wfl-eval-mace-num-inputs-per-python-subprocess"], [2, "cmdoption-wfl-eval-mace-o"], [2, "cmdoption-wfl-eval-mace-pf"], [2, "cmdoption-wfl-eval-mace-pp"]], "wfl-generate-buildcell command line option": [[2, "cmdoption-wfl-generate-buildcell-N"], [2, "cmdoption-wfl-generate-buildcell-buildcell-exec"], [2, "cmdoption-wfl-generate-buildcell-buildcell-input"], [2, "cmdoption-wfl-generate-buildcell-ei"], [2, "cmdoption-wfl-generate-buildcell-o"], [2, "cmdoption-wfl-generate-buildcell-perturbation"]], "wfl-generate-smiles command line option": [[2, "cmdoption-wfl-generate-smiles-arg-SMILES_STRING"], [2, "cmdoption-wfl-generate-smiles-ei"], [2, "cmdoption-wfl-generate-smiles-o"]], "wfl-select-cur command line option": [[2, "cmdoption-wfl-select-cur-N"], [2, "cmdoption-wfl-select-cur-deterministic"], [2, "cmdoption-wfl-select-cur-i"], [2, "cmdoption-wfl-select-cur-keep_descriptor"], [2, "cmdoption-wfl-select-cur-kernel_exponent"], [2, "cmdoption-wfl-select-cur-key"], [2, "cmdoption-wfl-select-cur-o"], [2, "cmdoption-wfl-select-cur-stochastic-seed"]], "wfl-select-lambda command line option": [[2, "cmdoption-wfl-select-lambda-e"], [2, "cmdoption-wfl-select-lambda-i"], [2, "cmdoption-wfl-select-lambda-o"]], "configset (class in wfl.configset)": [[34, "wfl.configset.ConfigSet"]], "outputspec (class in wfl.configset)": [[34, "wfl.configset.OutputSpec"]], "all_written() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.all_written"]], "close() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.close"]], "cur_loc (wfl.configset.configset property)": [[34, "wfl.configset.ConfigSet.cur_loc"]], "descriptor_2brn_uniform_file() (in module wfl.descriptor_heuristics)": [[34, "wfl.descriptor_heuristics.descriptor_2brn_uniform_file"]], "descriptors_from_length_scales() (in module wfl.descriptor_heuristics)": [[34, "wfl.descriptor_heuristics.descriptors_from_length_scales"]], "groups() (wfl.configset.configset method)": [[34, "wfl.configset.ConfigSet.groups"]], "len_scale_pair() (in module wfl.descriptor_heuristics)": [[34, "wfl.descriptor_heuristics.len_scale_pair"]], "map() (in module wfl.map)": [[34, "wfl.map.map"]], "module": [[34, "module-wfl"], [34, "module-wfl.configset"], [34, "module-wfl.descriptor_heuristics"], [34, "module-wfl.map"], [35, "module-wfl.autoparallelize"], [35, "module-wfl.autoparallelize.autoparainfo"], [35, "module-wfl.autoparallelize.base"], [35, "module-wfl.autoparallelize.mpipool_support"], [35, "module-wfl.autoparallelize.pool"], [35, "module-wfl.autoparallelize.remote"], [35, "module-wfl.autoparallelize.remoteinfo"], [35, "module-wfl.autoparallelize.utils"], [36, "module-wfl.calculators"], [36, "module-wfl.calculators.aims"], [36, "module-wfl.calculators.castep"], [36, "module-wfl.calculators.committee"], [36, "module-wfl.calculators.espresso"], [36, "module-wfl.calculators.generic"], [36, "module-wfl.calculators.mopac"], [36, "module-wfl.calculators.utils"], [36, "module-wfl.calculators.vasp"], [36, "module-wfl.calculators.wfl_fileio_calculator"], [37, "module-wfl.calculators.orca"], [37, "module-wfl.calculators.orca.basinhopping"], [38, "module-wfl.cli"], [38, "module-wfl.cli.cli"], [38, "module-wfl.cli.cli_options"], [38, "module-wfl.cli.gap_rss_iter_fit"], [39, "module-wfl.cli.commands"], [39, "module-wfl.cli.commands.descriptor"], [39, "module-wfl.cli.commands.error"], [39, "module-wfl.cli.commands.eval"], [39, "module-wfl.cli.commands.generate"], [39, "module-wfl.cli.commands.select"], [40, "module-wfl.descriptors"], [40, "module-wfl.descriptors.quippy"], [41, "module-wfl.fit"], [41, "module-wfl.fit.ace"], [41, "module-wfl.fit.error"], [41, "module-wfl.fit.mace"], [41, "module-wfl.fit.utils"], [42, "module-wfl.fit.gap"], [42, "module-wfl.fit.gap.glue_2b"], [42, "module-wfl.fit.gap.multistage"], [42, "module-wfl.fit.gap.relocate"], [42, "module-wfl.fit.gap.simple"], [43, "module-wfl.fit.modify_database"], [43, "module-wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull"], [43, "module-wfl.fit.modify_database.scale_orig"], [43, "module-wfl.fit.modify_database.simple_factor_nonperiodic"], [44, "module-wfl.generate"], [44, "module-wfl.generate.atoms_and_dimers"], [44, "module-wfl.generate.buildcell"], [44, "module-wfl.generate.minimahopping"], [44, "module-wfl.generate.normal_modes"], [44, "module-wfl.generate.optimize"], [44, "module-wfl.generate.phonopy"], [44, "module-wfl.generate.smiles"], [44, "module-wfl.generate.supercells"], [44, "module-wfl.generate.utils"], [45, "module-wfl.generate.md"], [45, "module-wfl.generate.md.abort"], [45, "module-wfl.generate.md.abort_base"], [46, "module-wfl.select"], [46, "module-wfl.select.by_descriptor"], [46, "module-wfl.select.convex_hull"], [46, "module-wfl.select.flat_histogram"], [46, "module-wfl.select.selection_space"], [46, "module-wfl.select.simple"], [47, "module-wfl.utils"], [47, "module-wfl.utils.at_copy_save_results"], [47, "module-wfl.utils.configs"], [47, "module-wfl.utils.convex_hull"], [47, "module-wfl.utils.file_utils"], [47, "module-wfl.utils.find_voids"], [47, "module-wfl.utils.gap_xml_tools"], [47, "module-wfl.utils.julia"], [47, "module-wfl.utils.logging"], [47, "module-wfl.utils.misc"], [47, "module-wfl.utils.ndim_neighbor_list"], [47, "module-wfl.utils.parallel"], [47, "module-wfl.utils.params"], [47, "module-wfl.utils.pressure"], [47, "module-wfl.utils.quip_cli_strings"], [47, "module-wfl.utils.replace_eval_in_strs"], [47, "module-wfl.utils.round_sig_figs"], [47, "module-wfl.utils.vector_utils"], [47, "module-wfl.utils.version"], [47, "module-wfl.utils.vol_composition_space"]], "one_file() (wfl.configset.configset method)": [[34, "wfl.configset.ConfigSet.one_file"]], "store() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.store"]], "to_configset() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.to_ConfigSet"]], "wfl": [[34, "module-wfl"]], "wfl.configset": [[34, "module-wfl.configset"]], "wfl.descriptor_heuristics": [[34, "module-wfl.descriptor_heuristics"]], "wfl.map": [[34, "module-wfl.map"]], "write() (wfl.configset.outputspec method)": [[34, "wfl.configset.OutputSpec.write"]], "autoparainfo (class in wfl.autoparallelize.autoparainfo)": [[35, "wfl.autoparallelize.autoparainfo.AutoparaInfo"]], "remoteinfo (class in wfl.autoparallelize.remoteinfo)": [[35, "wfl.autoparallelize.remoteinfo.RemoteInfo"]], "autoparallelize() (in module wfl.autoparallelize.base)": [[35, "wfl.autoparallelize.base.autoparallelize"]], "autoparallelize_docstring() (in module wfl.autoparallelize.base)": [[35, "wfl.autoparallelize.base.autoparallelize_docstring"]], "do_in_pool() (in module wfl.autoparallelize.pool)": [[35, "wfl.autoparallelize.pool.do_in_pool"]], "do_remotely() (in module wfl.autoparallelize.remote)": [[35, "wfl.autoparallelize.remote.do_remotely"]], "get_remote_info() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.get_remote_info"]], "get_root_global_seed() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.get_root_global_seed"]], "grouper() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.grouper"]], "init() (in module wfl.autoparallelize.mpipool_support)": [[35, "wfl.autoparallelize.mpipool_support.init"]], "set_autopara_per_item_info() (in module wfl.autoparallelize.utils)": [[35, "wfl.autoparallelize.utils.set_autopara_per_item_info"]], "shutdown_and_barrier() (in module wfl.autoparallelize.mpipool_support)": [[35, "wfl.autoparallelize.mpipool_support.shutdown_and_barrier"]], "update_defaults() (wfl.autoparallelize.autoparainfo.autoparainfo method)": [[35, "wfl.autoparallelize.autoparainfo.AutoparaInfo.update_defaults"]], "wfl.autoparallelize": [[35, "module-wfl.autoparallelize"]], "wfl.autoparallelize.autoparainfo": [[35, "module-wfl.autoparallelize.autoparainfo"]], "wfl.autoparallelize.base": [[35, "module-wfl.autoparallelize.base"]], "wfl.autoparallelize.mpipool_support": [[35, "module-wfl.autoparallelize.mpipool_support"]], "wfl.autoparallelize.pool": [[35, "module-wfl.autoparallelize.pool"]], "wfl.autoparallelize.remote": [[35, "module-wfl.autoparallelize.remote"]], "wfl.autoparallelize.remoteinfo": [[35, "module-wfl.autoparallelize.remoteinfo"]], "wfl.autoparallelize.utils": [[35, "module-wfl.autoparallelize.utils"]], "aims (class in wfl.calculators.aims)": [[36, "wfl.calculators.aims.Aims"]], "castep (class in wfl.calculators.castep)": [[36, "wfl.calculators.castep.Castep"]], "espresso (class in wfl.calculators.espresso)": [[36, "wfl.calculators.espresso.Espresso"]], "mopac (class in wfl.calculators.mopac)": [[36, "wfl.calculators.mopac.MOPAC"]], "vasp (class in wfl.calculators.vasp)": [[36, "wfl.calculators.vasp.Vasp"]], "wflfileiocalculator (class in wfl.calculators.wfl_fileio_calculator)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator"]], "calculate() (in module wfl.calculators.generic)": [[36, "wfl.calculators.generic.calculate"]], "calculate() (wfl.calculators.aims.aims method)": [[36, "wfl.calculators.aims.Aims.calculate"]], "calculate() (wfl.calculators.castep.castep method)": [[36, "wfl.calculators.castep.Castep.calculate"]], "calculate() (wfl.calculators.espresso.espresso method)": [[36, "wfl.calculators.espresso.Espresso.calculate"]], "calculate() (wfl.calculators.mopac.mopac method)": [[36, "wfl.calculators.mopac.MOPAC.calculate"]], "calculate() (wfl.calculators.vasp.vasp method)": [[36, "wfl.calculators.vasp.Vasp.calculate"]], "calculate_committee() (in module wfl.calculators.committee)": [[36, "wfl.calculators.committee.calculate_committee"]], "clean_rundir() (in module wfl.calculators.utils)": [[36, "wfl.calculators.utils.clean_rundir"]], "clean_rundir() (wfl.calculators.wfl_fileio_calculator.wflfileiocalculator method)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator.clean_rundir"]], "cleanup() (wfl.calculators.wfl_fileio_calculator.wflfileiocalculator method)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator.cleanup"]], "default_parameters (wfl.calculators.vasp.vasp attribute)": [[36, "wfl.calculators.vasp.Vasp.default_parameters"]], "handle_nonperiodic() (in module wfl.calculators.utils)": [[36, "wfl.calculators.utils.handle_nonperiodic"]], "implemented_properties (wfl.calculators.aims.aims attribute)": [[36, "wfl.calculators.aims.Aims.implemented_properties"]], "implemented_properties (wfl.calculators.castep.castep attribute)": [[36, "wfl.calculators.castep.Castep.implemented_properties"]], "implemented_properties (wfl.calculators.espresso.espresso attribute)": [[36, "wfl.calculators.espresso.Espresso.implemented_properties"]], "per_config_restore() (wfl.calculators.vasp.vasp method)": [[36, "wfl.calculators.vasp.Vasp.per_config_restore"]], "per_config_setup() (wfl.calculators.vasp.vasp method)": [[36, "wfl.calculators.vasp.Vasp.per_config_setup"]], "save_results() (in module wfl.calculators.utils)": [[36, "wfl.calculators.utils.save_results"]], "setup_calc_params() (wfl.calculators.castep.castep method)": [[36, "wfl.calculators.castep.Castep.setup_calc_params"]], "setup_calc_params() (wfl.calculators.espresso.espresso method)": [[36, "wfl.calculators.espresso.Espresso.setup_calc_params"]], "setup_rundir() (wfl.calculators.wfl_fileio_calculator.wflfileiocalculator method)": [[36, "wfl.calculators.wfl_fileio_calculator.WFLFileIOCalculator.setup_rundir"]], "wfl.calculators": [[36, "module-wfl.calculators"]], "wfl.calculators.aims": [[36, "module-wfl.calculators.aims"]], "wfl.calculators.castep": [[36, "module-wfl.calculators.castep"]], "wfl.calculators.committee": [[36, "module-wfl.calculators.committee"]], "wfl.calculators.espresso": [[36, "module-wfl.calculators.espresso"]], "wfl.calculators.generic": [[36, "module-wfl.calculators.generic"]], "wfl.calculators.mopac": [[36, "module-wfl.calculators.mopac"]], "wfl.calculators.utils": [[36, "module-wfl.calculators.utils"]], "wfl.calculators.vasp": [[36, "module-wfl.calculators.vasp"]], "wfl.calculators.wfl_fileio_calculator": [[36, "module-wfl.calculators.wfl_fileio_calculator"]], "wfl_generic_default_autopara_info (wfl.calculators.aims.aims attribute)": [[36, "wfl.calculators.aims.Aims.wfl_generic_default_autopara_info"]], "wfl_generic_default_autopara_info (wfl.calculators.castep.castep attribute)": [[36, "wfl.calculators.castep.Castep.wfl_generic_default_autopara_info"]], "wfl_generic_default_autopara_info (wfl.calculators.espresso.espresso attribute)": [[36, "wfl.calculators.espresso.Espresso.wfl_generic_default_autopara_info"]], "wfl_generic_default_autopara_info (wfl.calculators.mopac.mopac attribute)": [[36, "wfl.calculators.mopac.MOPAC.wfl_generic_default_autopara_info"]], "wfl_generic_num_inputs_per_python_subprocess (wfl.calculators.vasp.vasp attribute)": [[36, "wfl.calculators.vasp.Vasp.wfl_generic_num_inputs_per_python_subprocess"]], "basinhoppingorca (class in wfl.calculators.orca.basinhopping)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA"]], "orca (class in wfl.calculators.orca)": [[37, "wfl.calculators.orca.ORCA"]], "calculate() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.calculate"]], "calculate() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.calculate"]], "cleanup() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.cleanup"]], "default_parameters (wfl.calculators.orca.orca attribute)": [[37, "wfl.calculators.orca.ORCA.default_parameters"]], "evaluate_basin_hopping() (in module wfl.calculators.orca.basinhopping)": [[37, "wfl.calculators.orca.basinhopping.evaluate_basin_hopping"]], "get_default_multiplicity() (wfl.calculators.orca.orca static method)": [[37, "wfl.calculators.orca.ORCA.get_default_multiplicity"]], "get_homo() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.get_homo"]], "get_multiplicity() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.get_multiplicity"]], "implemented_properties (wfl.calculators.orca.orca attribute)": [[37, "wfl.calculators.orca.ORCA.implemented_properties"]], "implemented_properties (wfl.calculators.orca.basinhopping.basinhoppingorca attribute)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.implemented_properties"]], "is_converged() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.is_converged"]], "natural_population_analysis() (in module wfl.calculators.orca)": [[37, "wfl.calculators.orca.natural_population_analysis"]], "parse_npa_output() (in module wfl.calculators.orca)": [[37, "wfl.calculators.orca.parse_npa_output"]], "pick_task() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.pick_task"]], "process_results() (wfl.calculators.orca.basinhopping.basinhoppingorca method)": [[37, "wfl.calculators.orca.basinhopping.BasinHoppingORCA.process_results"]], "read_dipole() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_dipole"]], "read_frequencies() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_frequencies"]], "read_opt_atoms() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_opt_atoms"]], "read_results() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_results"]], "read_trajectory() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.read_trajectory"]], "wfl.calculators.orca": [[37, "module-wfl.calculators.orca"]], "wfl.calculators.orca.basinhopping": [[37, "module-wfl.calculators.orca.basinhopping"]], "wfl_generic_default_autopara_info (wfl.calculators.orca.orca attribute)": [[37, "wfl.calculators.orca.ORCA.wfl_generic_default_autopara_info"]], "write_input() (wfl.calculators.orca.orca method)": [[37, "wfl.calculators.orca.ORCA.write_input"]], "rss_minima_diverse() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.RSS_minima_diverse"]], "z_label() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.Z_label"]], "calc_descriptors_to_file() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.calc_descriptors_to_file"]], "create_all_buildcell() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.create_all_buildcell"]], "do_fit_and_test() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.do_fit_and_test"]], "evaluate_iter_and_fit_all() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.evaluate_iter_and_fit_all"]], "evaluate_ref() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.evaluate_ref"]], "extra_info() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.extra_info"]], "flat_histo_then_by_desc() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.flat_histo_then_by_desc"]], "get_buildcell_input_files() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.get_buildcell_input_files"]], "get_old_fitting_files() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.get_old_fitting_files"]], "increment_active_iter() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.increment_active_iter"]], "inputs() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.inputs"]], "is_elemental() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.is_elemental"]], "load_old_descriptors_arrays() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.load_old_descriptors_arrays"]], "num_inputs_per_python_subprocess() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.num_inputs_per_python_subprocess"]], "outputs() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.outputs"]], "param_fname() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.param_fname"]], "print_log() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.print_log"]], "process_cur_iter() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.process_cur_iter"]], "prop_prefix() (in module wfl.cli.cli_options)": [[38, "wfl.cli.cli_options.prop_prefix"]], "select_fitting_and_testing_for_groups() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.select_fitting_and_testing_for_groups"]], "step_startup() (in module wfl.cli.gap_rss_iter_fit)": [[38, "wfl.cli.gap_rss_iter_fit.step_startup"]], "wfl.cli": [[38, "module-wfl.cli"]], "wfl.cli.cli": [[38, "module-wfl.cli.cli"]], "wfl.cli.cli_options": [[38, "module-wfl.cli.cli_options"]], "wfl.cli.gap_rss_iter_fit": [[38, "module-wfl.cli.gap_rss_iter_fit"]], "calculate_descriptor() (in module wfl.cli.commands.descriptor)": [[39, "wfl.cli.commands.descriptor.calculate_descriptor"]], "pyjulip_ace() (in module wfl.cli.commands.eval)": [[39, "wfl.cli.commands.eval.pyjulip_ace"]], "wfl.cli.commands": [[39, "module-wfl.cli.commands"]], "wfl.cli.commands.descriptor": [[39, "module-wfl.cli.commands.descriptor"]], "wfl.cli.commands.error": [[39, "module-wfl.cli.commands.error"]], "wfl.cli.commands.eval": [[39, "module-wfl.cli.commands.eval"]], "wfl.cli.commands.generate": [[39, "module-wfl.cli.commands.generate"]], "wfl.cli.commands.select": [[39, "module-wfl.cli.commands.select"]], "calculate() (in module wfl.descriptors.quippy)": [[40, "wfl.descriptors.quippy.calculate"]], "from_any_to_descriptor() (in module wfl.descriptors.quippy)": [[40, "wfl.descriptors.quippy.from_any_to_Descriptor"]], "wfl.descriptors": [[40, "module-wfl.descriptors"]], "wfl.descriptors.quippy": [[40, "module-wfl.descriptors.quippy"]], "ace_fit_jl_path() (in module wfl.fit.utils)": [[41, "wfl.fit.utils.ace_fit_jl_path"]], "calc() (in module wfl.fit.error)": [[41, "wfl.fit.error.calc"]], "copy_properties() (in module wfl.fit.utils)": [[41, "wfl.fit.utils.copy_properties"]], "errors_dumps() (in module wfl.fit.error)": [[41, "wfl.fit.error.errors_dumps"]], "errors_to_dataframe() (in module wfl.fit.error)": [[41, "wfl.fit.error.errors_to_dataframe"]], "fit() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.fit"]], "fit() (in module wfl.fit.mace)": [[41, "wfl.fit.mace.fit"]], "fix_stress_virial() (in module wfl.fit.utils)": [[41, "wfl.fit.utils.fix_stress_virial"]], "natural_sort() (in module wfl.fit.error)": [[41, "wfl.fit.error.natural_sort"]], "prepare_configs() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.prepare_configs"]], "prepare_params() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.prepare_params"]], "run_ace_fit() (in module wfl.fit.ace)": [[41, "wfl.fit.ace.run_ace_fit"]], "select_units() (in module wfl.fit.error)": [[41, "wfl.fit.error.select_units"]], "value_error_scatter() (in module wfl.fit.error)": [[41, "wfl.fit.error.value_error_scatter"]], "wfl.fit": [[41, "module-wfl.fit"]], "wfl.fit.ace": [[41, "module-wfl.fit.ace"]], "wfl.fit.error": [[41, "module-wfl.fit.error"]], "wfl.fit.mace": [[41, "module-wfl.fit.mace"]], "wfl.fit.utils": [[41, "module-wfl.fit.utils"]], "gap_xml_modify_label() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.GAP_xml_modify_label"]], "construct_glue_2b() (in module wfl.fit.gap.glue_2b)": [[42, "wfl.fit.gap.glue_2b.construct_glue_2b"]], "dict_to_gap_fit_string() (in module wfl.fit.gap.simple)": [[42, "wfl.fit.gap.simple.dict_to_gap_fit_string"]], "fit() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.fit"]], "gap_relocate() (in module wfl.fit.gap.relocate)": [[42, "wfl.fit.gap.relocate.gap_relocate"]], "max_cutoff() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.max_cutoff"]], "prep_params() (in module wfl.fit.gap.multistage)": [[42, "wfl.fit.gap.multistage.prep_params"]], "run_gap_fit() (in module wfl.fit.gap.simple)": [[42, "wfl.fit.gap.simple.run_gap_fit"]], "wfl.fit.gap": [[42, "module-wfl.fit.gap"]], "wfl.fit.gap.glue_2b": [[42, "module-wfl.fit.gap.glue_2b"]], "wfl.fit.gap.multistage": [[42, "module-wfl.fit.gap.multistage"]], "wfl.fit.gap.relocate": [[42, "module-wfl.fit.gap.relocate"]], "wfl.fit.gap.simple": [[42, "module-wfl.fit.gap.simple"]], "list_to_sigma_dict() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.list_to_sigma_dict"]], "modify() (in module wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull)": [[43, "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull.modify"]], "modify() (in module wfl.fit.modify_database.scale_orig)": [[43, "wfl.fit.modify_database.scale_orig.modify"]], "modify() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.modify"]], "modify_cell() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.modify_cell"]], "modify_with_factor() (in module wfl.fit.modify_database.simple_factor_nonperiodic)": [[43, "wfl.fit.modify_database.simple_factor_nonperiodic.modify_with_factor"]], "piecewise_linear() (in module wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull)": [[43, "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull.piecewise_linear"]], "wfl.fit.modify_database": [[43, "module-wfl.fit.modify_database"]], "wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull": [[43, "module-wfl.fit.modify_database.gap_rss_set_config_sigmas_from_convex_hull"]], "wfl.fit.modify_database.scale_orig": [[43, "module-wfl.fit.modify_database.scale_orig"]], "wfl.fit.modify_database.simple_factor_nonperiodic": [[43, "module-wfl.fit.modify_database.simple_factor_nonperiodic"]], "normalmodes (class in wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.NormalModes"]], "antisite() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.antisite"]], "buildcell() (in module wfl.generate.buildcell)": [[44, "wfl.generate.buildcell.buildcell"]], "config_type_append() (in module wfl.generate.utils)": [[44, "wfl.generate.utils.config_type_append"]], "conv_buildcell_out() (in module wfl.generate.buildcell)": [[44, "wfl.generate.buildcell.conv_buildcell_out"]], "create_input() (in module wfl.generate.buildcell)": [[44, "wfl.generate.buildcell.create_input"]], "derive_normal_mode_info() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.derive_normal_mode_info"]], "evals_to_freqs() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.evals_to_freqs"]], "evecs_to_modes() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.evecs_to_modes"]], "freqs_to_evals() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.freqs_to_evals"]], "generate_normal_modes_parallel_atoms() (in module wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.generate_normal_modes_parallel_atoms"]], "generate_normal_modes_parallel_hessian() (in module wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.generate_normal_modes_parallel_hessian"]], "interstitial() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.interstitial"]], "isolated_atom_from_e0() (in module wfl.generate.atoms_and_dimers)": [[44, "wfl.generate.atoms_and_dimers.isolated_atom_from_e0"]], "largest_bulk() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.largest_bulk"]], "minimahopping() (in module wfl.generate.minimahopping)": [[44, "wfl.generate.minimahopping.minimahopping"]], "modes_to_evecs() (wfl.generate.normal_modes.normalmodes static method)": [[44, "wfl.generate.normal_modes.NormalModes.modes_to_evecs"]], "num_hess_delta (wfl.generate.normal_modes.normalmodes attribute)": [[44, "wfl.generate.normal_modes.NormalModes.num_hess_delta"]], "optimize() (in module wfl.generate.optimize)": [[44, "wfl.generate.optimize.optimize"]], "phonopy() (in module wfl.generate.phonopy)": [[44, "wfl.generate.phonopy.phonopy"]], "prepare() (in module wfl.generate.atoms_and_dimers)": [[44, "wfl.generate.atoms_and_dimers.prepare"]], "sample_normal_modes() (in module wfl.generate.normal_modes)": [[44, "wfl.generate.normal_modes.sample_normal_modes"]], "sample_normal_modes() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.sample_normal_modes"]], "smi_to_atoms() (in module wfl.generate.smiles)": [[44, "wfl.generate.smiles.smi_to_atoms"]], "smiles() (in module wfl.generate.smiles)": [[44, "wfl.generate.smiles.smiles"]], "subselect_from_traj() (in module wfl.generate.optimize)": [[44, "wfl.generate.optimize.subselect_from_traj"]], "summary() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.summary"]], "surface() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.surface"]], "vacancy() (in module wfl.generate.supercells)": [[44, "wfl.generate.supercells.vacancy"]], "view() (wfl.generate.normal_modes.normalmodes method)": [[44, "wfl.generate.normal_modes.NormalModes.view"]], "wfl.generate": [[44, "module-wfl.generate"]], "wfl.generate.atoms_and_dimers": [[44, "module-wfl.generate.atoms_and_dimers"]], "wfl.generate.buildcell": [[44, "module-wfl.generate.buildcell"]], "wfl.generate.minimahopping": [[44, "module-wfl.generate.minimahopping"]], "wfl.generate.normal_modes": [[44, "module-wfl.generate.normal_modes"]], "wfl.generate.optimize": [[44, "module-wfl.generate.optimize"]], "wfl.generate.phonopy": [[44, "module-wfl.generate.phonopy"]], "wfl.generate.smiles": [[44, "module-wfl.generate.smiles"]], "wfl.generate.supercells": [[44, "module-wfl.generate.supercells"]], "wfl.generate.utils": [[44, "module-wfl.generate.utils"]], "abortoncollision (class in wfl.generate.md.abort)": [[45, "wfl.generate.md.abort.AbortOnCollision"]], "abortsimbase (class in wfl.generate.md.abort_base)": [[45, "wfl.generate.md.abort_base.AbortSimBase"]], "atoms_ok() (wfl.generate.md.abort.abortoncollision method)": [[45, "wfl.generate.md.abort.AbortOnCollision.atoms_ok"]], "atoms_ok() (wfl.generate.md.abort_base.abortsimbase method)": [[45, "wfl.generate.md.abort_base.AbortSimBase.atoms_ok"]], "md() (in module wfl.generate.md)": [[45, "wfl.generate.md.md"]], "stop() (wfl.generate.md.abort_base.abortsimbase method)": [[45, "wfl.generate.md.abort_base.AbortSimBase.stop"]], "wfl.generate.md": [[45, "module-wfl.generate.md"]], "wfl.generate.md.abort": [[45, "module-wfl.generate.md.abort"]], "wfl.generate.md.abort_base": [[45, "module-wfl.generate.md.abort_base"]], "cur() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.CUR"]], "cur_conf_global() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.CUR_conf_global"]], "biased_select_conf() (in module wfl.select.flat_histogram)": [[46, "wfl.select.flat_histogram.biased_select_conf"]], "by_bool_func() (in module wfl.select.simple)": [[46, "wfl.select.simple.by_bool_func"]], "by_index() (in module wfl.select.simple)": [[46, "wfl.select.simple.by_index"]], "compare_manual_minima() (in module wfl.select.selection_space)": [[46, "wfl.select.selection_space.compare_manual_minima"]], "do_svd() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.do_svd"]], "greedy_fps_conf_global() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.greedy_fps_conf_global"]], "minima_among_neighbors() (in module wfl.select.selection_space)": [[46, "wfl.select.selection_space.minima_among_neighbors"]], "prep_descs_and_exclude() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.prep_descs_and_exclude"]], "select() (in module wfl.select.convex_hull)": [[46, "wfl.select.convex_hull.select"]], "val_relative_to_nearby_composition_volume_min() (in module wfl.select.selection_space)": [[46, "wfl.select.selection_space.val_relative_to_nearby_composition_volume_min"]], "wfl.select": [[46, "module-wfl.select"]], "wfl.select.by_descriptor": [[46, "module-wfl.select.by_descriptor"]], "wfl.select.convex_hull": [[46, "module-wfl.select.convex_hull"]], "wfl.select.flat_histogram": [[46, "module-wfl.select.flat_histogram"]], "wfl.select.selection_space": [[46, "module-wfl.select.selection_space"]], "wfl.select.simple": [[46, "module-wfl.select.simple"]], "write_selected_and_clean() (in module wfl.select.by_descriptor)": [[46, "wfl.select.by_descriptor.write_selected_and_clean"]], "params (class in wfl.utils.params)": [[47, "wfl.utils.params.Params"]], "pressurerecursionerror": [[47, "wfl.utils.pressure.PressureRecursionError"]], "at_copy_save_results() (in module wfl.utils.at_copy_save_results)": [[47, "wfl.utils.at_copy_save_results.at_copy_save_results"]], "atomization_energy() (in module wfl.utils.configs)": [[47, "wfl.utils.configs.atomization_energy"]], "atoms_to_list() (in module wfl.utils.misc)": [[47, "wfl.utils.misc.atoms_to_list"]], "calc_list() (in module wfl.utils.ndim_neighbor_list)": [[47, "wfl.utils.ndim_neighbor_list.calc_list"]], "calc_list_cells() (in module wfl.utils.ndim_neighbor_list)": [[47, "wfl.utils.ndim_neighbor_list.calc_list_cells"]], "chunks() (in module wfl.utils.misc)": [[47, "wfl.utils.misc.chunks"]], "clean_dir() (in module wfl.utils.file_utils)": [[47, "wfl.utils.file_utils.clean_dir"]], "composition_space_zs() (in module wfl.utils.vol_composition_space)": [[47, "wfl.utils.vol_composition_space.composition_space_Zs"]], "composition_space_coord() (in module wfl.utils.vol_composition_space)": [[47, "wfl.utils.vol_composition_space.composition_space_coord"]], "construct_calculator_picklesafe() (in module wfl.utils.parallel)": [[47, "wfl.utils.parallel.construct_calculator_picklesafe"]], "cur_iter (wfl.utils.params.params property)": [[47, "wfl.utils.params.Params.cur_iter"]], "dft_code (wfl.utils.params.params property)": [[47, "wfl.utils.params.Params.dft_code"]], "dft_params (wfl.utils.params.params property)": [[47, "wfl.utils.params.Params.dft_params"]], "dict_to_quip_str() (in module wfl.utils.quip_cli_strings)": [[47, "wfl.utils.quip_cli_strings.dict_to_quip_str"]], "dict_tuple_keys_to_str() (in module wfl.utils.misc)": [[47, "wfl.utils.misc.dict_tuple_keys_to_str"]], "extract_e0() (in module wfl.utils.gap_xml_tools)": [[47, "wfl.utils.gap_xml_tools.extract_e0"]], "find_hull() (in module wfl.utils.convex_hull)": [[47, "wfl.utils.convex_hull.find_hull"]], "find_isolated_atoms() (in module wfl.utils.configs)": [[47, "wfl.utils.configs.find_isolated_atoms"]], "find_voids() (in module wfl.utils.find_voids)": [[47, "wfl.utils.find_voids.find_voids"]], "get() (wfl.utils.params.params method)": [[47, "wfl.utils.params.Params.get"]], "get_wfl_version() (in module wfl.utils.version)": [[47, "wfl.utils.version.get_wfl_version"]], "implemented_calculators (wfl.utils.params.params attribute)": [[47, "wfl.utils.params.Params.implemented_calculators"]], "increment_active_iter() (in module wfl.utils.logging)": [[47, "wfl.utils.logging.increment_active_iter"]], "julia_exec_path() (in module wfl.utils.julia)": [[47, "wfl.utils.julia.julia_exec_path"]], "print_log() (in module wfl.utils.logging)": [[47, "wfl.utils.logging.print_log"]], "process_active_iter() (in module wfl.utils.logging)": [[47, "wfl.utils.logging.process_active_iter"]], "random_three_vector() (in module wfl.utils.vector_utils)": [[47, "wfl.utils.vector_utils.random_three_vector"]], "replace_eval_in_strs() (in module wfl.utils.replace_eval_in_strs)": [[47, "wfl.utils.replace_eval_in_strs.replace_eval_in_strs"]], "round_sig_figs() (in module wfl.utils.round_sig_figs)": [[47, "wfl.utils.round_sig_figs.round_sig_figs"]], "sample_pressure() (in module wfl.utils.pressure)": [[47, "wfl.utils.pressure.sample_pressure"]], "vertical_dist_from_hull() (in module wfl.utils.convex_hull)": [[47, "wfl.utils.convex_hull.vertical_dist_from_hull"]], "wfl.utils": [[47, "module-wfl.utils"]], "wfl.utils.at_copy_save_results": [[47, "module-wfl.utils.at_copy_save_results"]], "wfl.utils.configs": [[47, "module-wfl.utils.configs"]], "wfl.utils.convex_hull": [[47, "module-wfl.utils.convex_hull"]], "wfl.utils.file_utils": [[47, "module-wfl.utils.file_utils"]], "wfl.utils.find_voids": [[47, "module-wfl.utils.find_voids"]], "wfl.utils.gap_xml_tools": [[47, "module-wfl.utils.gap_xml_tools"]], "wfl.utils.julia": [[47, "module-wfl.utils.julia"]], "wfl.utils.logging": [[47, "module-wfl.utils.logging"]], "wfl.utils.misc": [[47, "module-wfl.utils.misc"]], "wfl.utils.ndim_neighbor_list": [[47, "module-wfl.utils.ndim_neighbor_list"]], "wfl.utils.parallel": [[47, "module-wfl.utils.parallel"]], "wfl.utils.params": [[47, "module-wfl.utils.params"]], "wfl.utils.pressure": [[47, "module-wfl.utils.pressure"]], "wfl.utils.quip_cli_strings": [[47, "module-wfl.utils.quip_cli_strings"]], "wfl.utils.replace_eval_in_strs": [[47, "module-wfl.utils.replace_eval_in_strs"]], "wfl.utils.round_sig_figs": [[47, "module-wfl.utils.round_sig_figs"]], "wfl.utils.vector_utils": [[47, "module-wfl.utils.vector_utils"]], "wfl.utils.version": [[47, "module-wfl.utils.version"]], "wfl.utils.vol_composition_space": [[47, "module-wfl.utils.vol_composition_space"]]}}) \ No newline at end of file diff --git a/wfl.autoparallelize.html b/wfl.autoparallelize.html index 1d294e4f..c524f924 100644 --- a/wfl.autoparallelize.html +++ b/wfl.autoparallelize.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home + @@ -801,8 +802,8 @@

Submodules - + +
diff --git a/wfl.calculators.html b/wfl.calculators.html index c1cb2010..978e9839 100644 --- a/wfl.calculators.html +++ b/wfl.calculators.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -1126,8 +1127,8 @@

Parameter: - + +
diff --git a/wfl.calculators.orca.html b/wfl.calculators.orca.html index 7777e30b..2e02dfdd 100644 --- a/wfl.calculators.orca.html +++ b/wfl.calculators.orca.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -873,8 +874,8 @@

Submodules - + +
diff --git a/wfl.cli.commands.html b/wfl.cli.commands.html index 0d42817d..d879943b 100644 --- a/wfl.cli.commands.html +++ b/wfl.cli.commands.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -512,8 +513,8 @@

Submodules - + +
diff --git a/wfl.cli.html b/wfl.cli.html index 878b0c7f..7c438f16 100644 --- a/wfl.cli.html +++ b/wfl.cli.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -786,8 +787,8 @@

wfl.cli.dft_convergence_test module - + +
diff --git a/wfl.descriptors.html b/wfl.descriptors.html index 2087d350..8f182037 100644 --- a/wfl.descriptors.html +++ b/wfl.descriptors.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -541,8 +542,8 @@

Submodules - + +
diff --git a/wfl.fit.gap.html b/wfl.fit.gap.html index d05f9dc8..8c7848e8 100644 --- a/wfl.fit.gap.html +++ b/wfl.fit.gap.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -698,8 +699,8 @@

Submodules - + +
diff --git a/wfl.fit.html b/wfl.fit.html index bf2f7879..9c9230f6 100644 --- a/wfl.fit.html +++ b/wfl.fit.html @@ -18,12 +18,12 @@ - - - + + + - + @@ -32,9 +32,9 @@ - - - + + + @@ -129,13 +129,14 @@ + - Logo image - + workflow  documentation - Home +
@@ -374,6 +375,10 @@

Contents

  • value_error_scatter()
  • +
  • wfl.fit.mace module +
  • wfl.fit.utils module
  • +
  • wfl.fit.mace module +
  • wfl.fit.utils module
  • +
  • wfl.fit.mace module +
  • wfl.fit.utils module