diff --git a/version/6.0/404.html b/version/6.0/404.html index 0659f2979..3e146a595 100644 --- a/version/6.0/404.html +++ b/version/6.0/404.html @@ -33,11 +33,11 @@ NotifyBC - - + + -

404

Looks like we've got some broken links.
Take me home
- +

404

That's a Four-Oh-Four.
Take me home
+ diff --git a/version/6.0/assets/404.html-BOe7d4mM.js b/version/6.0/assets/404.html-CWR3PvJT.js similarity index 83% rename from version/6.0/assets/404.html-BOe7d4mM.js rename to version/6.0/assets/404.html-CWR3PvJT.js index 68c897384..73d343749 100644 --- a/version/6.0/assets/404.html-BOe7d4mM.js +++ b/version/6.0/assets/404.html-CWR3PvJT.js @@ -1 +1 @@ -import{_ as e,c as o,a,o as n}from"./app-chHFUe1n.js";const l={};function r(s,t){return n(),o("div",null,t[0]||(t[0]=[a("p",null,"404 Not Found",-1)]))}const _=e(l,[["render",r],["__file","404.html.vue"]]),i=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{_ as comp,i as data}; +import{_ as e,c as o,a,o as n}from"./app-vBJoMoyQ.js";const l={};function r(s,t){return n(),o("div",null,t[0]||(t[0]=[a("p",null,"404 Not Found",-1)]))}const _=e(l,[["render",r],["__file","404.html.vue"]]),i=JSON.parse('{"path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound"},"headers":[],"git":{},"filePathRelative":null}');export{_ as comp,i as data}; diff --git a/version/6.0/assets/app-chHFUe1n.js b/version/6.0/assets/app-vBJoMoyQ.js similarity index 98% rename from version/6.0/assets/app-chHFUe1n.js rename to version/6.0/assets/app-vBJoMoyQ.js index 7e26b9a34..04869656b 100644 --- a/version/6.0/assets/app-chHFUe1n.js +++ b/version/6.0/assets/app-vBJoMoyQ.js @@ -30,7 +30,7 @@ Server rendered element contains fewer child nodes than client vdom.`),C=!0),vn( * @vue/runtime-dom v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let js;const Pa=typeof window<"u"&&window.trustedTypes;if(Pa)try{js=Pa.createPolicy("vue",{createHTML:e=>e})}catch{}const zc=js?e=>js.createHTML(e):e=>e,om="http://www.w3.org/2000/svg",sm="http://www.w3.org/1998/Math/MathML",Ut=typeof document<"u"?document:null,Ia=Ut&&Ut.createElement("template"),im={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ut.createElementNS(om,e):t==="mathml"?Ut.createElementNS(sm,e):n?Ut.createElement(e,{is:n}):Ut.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ut.createTextNode(e),createComment:e=>Ut.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ut.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Ia.innerHTML=zc(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=Ia.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},en="transition",hr="animation",$r=Symbol("_vtc"),Kc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},am=Fe({},uc,Kc),lm=e=>(e.displayName="Transition",e.props=am,e),xi=lm((e,{slots:t})=>ce(Jp,um(e),t)),yn=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},La=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function um(e){const t={};for(const C in e)C in Kc||(t[C]=e[C]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:c=i,appearToClass:f=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,v=cm(o),_=v&&v[0],y=v&&v[1],{onBeforeEnter:E,onEnter:S,onEnterCancelled:h,onLeave:b,onLeaveCancelled:L,onBeforeAppear:z=E,onAppear:M=S,onAppearCancelled:A=h}=t,F=(C,V,Q,ee)=>{C._enterCancelled=ee,bn(C,V?f:a),bn(C,V?c:i),Q&&Q()},T=(C,V)=>{C._isLeaving=!1,bn(C,u),bn(C,p),bn(C,d),V&&V()},N=C=>(V,Q)=>{const ee=C?M:S,k=()=>F(V,C,Q);yn(ee,[V,k]),Ra(()=>{bn(V,C?l:s),Bt(V,C?f:a),La(ee)||Da(V,r,_,k)})};return Fe(t,{onBeforeEnter(C){yn(E,[C]),Bt(C,s),Bt(C,i)},onBeforeAppear(C){yn(z,[C]),Bt(C,l),Bt(C,c)},onEnter:N(!1),onAppear:N(!0),onLeave(C,V){C._isLeaving=!0;const Q=()=>T(C,V);Bt(C,u),C._enterCancelled?(Bt(C,d),Ma()):(Ma(),Bt(C,d)),Ra(()=>{C._isLeaving&&(bn(C,u),Bt(C,p),La(b)||Da(C,r,y,Q))}),yn(b,[C,Q])},onEnterCancelled(C){F(C,!1,void 0,!0),yn(h,[C])},onAppearCancelled(C){F(C,!0,void 0,!0),yn(A,[C])},onLeaveCancelled(C){T(C),yn(L,[C])}})}function cm(e){if(e==null)return null;if(Ce(e))return[gs(e.enter),gs(e.leave)];{const t=gs(e);return[t,t]}}function gs(e){return $d(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[$r]||(e[$r]=new Set)).add(t)}function bn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[$r];n&&(n.delete(t),n.size||(e[$r]=void 0))}function Ra(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let fm=0;function Da(e,t,n,r){const o=e._endId=++fm,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:i,timeout:a,propCount:l}=dm(e,t);if(!i)return r();const c=i+"end";let f=0;const u=()=>{e.removeEventListener(c,d),s()},d=p=>{p.target===e&&++f>=l&&u()};setTimeout(()=>{f(n[v]||"").split(", "),o=r(`${en}Delay`),s=r(`${en}Duration`),i=Va(o,s),a=r(`${hr}Delay`),l=r(`${hr}Duration`),c=Va(a,l);let f=null,u=0,d=0;t===en?i>0&&(f=en,u=i,d=s.length):t===hr?c>0&&(f=hr,u=c,d=l.length):(u=Math.max(i,c),f=u>0?i>c?en:hr:null,d=f?f===en?s.length:l.length:0);const p=f===en&&/\b(transform|all)(,|$)/.test(r(`${en}Property`).toString());return{type:f,timeout:u,propCount:d,hasTransform:p}}function Va(e,t){for(;e.lengthNa(n)+Na(e[r])))}function Na(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ma(){return document.body.offsetHeight}function pm(e,t,n){const r=e[$r];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Vo=Symbol("_vod"),Wc=Symbol("_vsh"),No={beforeMount(e,{value:t},{transition:n}){e[Vo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):mr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),mr(e,!0),r.enter(e)):r.leave(e,()=>{mr(e,!1)}):mr(e,t))},beforeUnmount(e,{value:t}){mr(e,t)}};function mr(e,t){e.style.display=t?e[Vo]:"none",e[Wc]=!t}const hm=Symbol(""),mm=/(^|;)\s*display\s*:/;function gm(e,t,n){const r=e.style,o=Pe(n);let s=!1;if(n&&!o){if(t)if(Pe(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&wo(r,a,"")}else for(const i in t)n[i]==null&&wo(r,i,"");for(const i in n)i==="display"&&(s=!0),wo(r,i,n[i])}else if(o){if(t!==n){const i=r[hm];i&&(n+=";"+i),r.cssText=n,s=mm.test(n)}}else t&&e.removeAttribute("style");Vo in e&&(e[Vo]=s?r.display:"",e[Wc]&&(r.display="none"))}const Ba=/\s*!important$/;function wo(e,t,n){if(ne(n))n.forEach(r=>wo(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vm(e,t);Ba.test(n)?e.setProperty(Yt(r),n.replace(Ba,""),"important"):e[r]=n}}const Ha=["Webkit","Moz","ms"],vs={};function vm(e,t){const n=vs[t];if(n)return n;let r=st(t);if(r!=="filter"&&r in e)return vs[t]=r;r=Qr(r);for(let o=0;o_s||(Em.then(()=>_s=0),_s=Date.now());function wm(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;xt(Cm(r,n.value),t,5,[r])};return n.value=e,n.attached=Sm(),n}function Cm(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ka=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Am=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?pm(e,r,i):t==="style"?gm(e,n,r):Yr(t)?ui(t)||ym(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tm(e,t,r,i))?(Ua(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$a(e,t,r,i,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Pe(r))?Ua(e,st(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),$a(e,t,r,i))};function Tm(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ka(t)&&le(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ka(t)&&Pe(n)?!1:t in e}const Wa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?n=>Eo(t,n):t},ys=Symbol("_assign"),Om={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=Ho(t);qc(e,"change",()=>{const s=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Iu(Mo(i)):Mo(i));e[ys](e.multiple?o?new Set(s):s:s[0]),e._assigning=!0,Ln(()=>{e._assigning=!1})}),e[ys]=Wa(r)},mounted(e,{value:t}){qa(e,t)},beforeUpdate(e,t,n){e[ys]=Wa(n)},updated(e,{value:t}){e._assigning||qa(e,t)}};function qa(e,t){const n=e.multiple,r=ne(t);if(!(n&&!r&&!Ho(t))){for(let o=0,s=e.options.length;oString(c)===String(a)):i.selected=ep(t,a)>-1}else i.selected=t.has(a);else if(Uo(Mo(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Mo(e){return"_value"in e?e._value:e.value}const xm={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},km=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Yt(o.key);if(t.some(i=>i===s||xm[i]===s))return e(o)})},Pm=Fe({patchProp:Am},im);let bs,Ga=!1;function Im(){return bs=Ga?bs:Lh(Pm),Ga=!0,bs}const Lm=(...e)=>{const t=Im().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Dm(r);if(o)return n(o,!0,Rm(o))},t};function Rm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Dm(e){return Pe(e)?document.querySelector(e):e}var no=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),Vm=/.md((\?|#).*)?$/,Nm=(e,t="/")=>no(e)||e.startsWith("/")&&!e.startsWith(t)&&!Vm.test(e),Qo=e=>/^(https?:)?\/\//.test(e),Ya=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=`${t.substring(0,t.length-3)}.html`:t.endsWith(".html")||(t=`${t}.html`),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},Mm="http://.",Bm=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Ya(new URL(`${n}/${e}`,Mm).pathname)}return Ya(e)},Hm=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Fm=(e,t="/")=>{const n=e.replace(/^(?:https?:)?\/\/[^/]*/,"");return n.startsWith(t)?`/${n.slice(t.length)}`:n},$m=/(#|\?)/,Gc=e=>{const[t,...n]=e.split($m);return{pathname:t,hashAndQueries:n.join("")}},Um=["link","meta","script","style","noscript","template"],jm=["title","base"],zm=([e,t,n])=>jm.includes(e)?e:Um.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Km=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=zm(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Wm=e=>e.endsWith("/")||e.endsWith(".html")?e:`${e}/`,Yc=e=>e.endsWith("/")?e.slice(0,-1):e,ki=e=>e.startsWith("/")?e.slice(1):e,qm=e=>typeof e=="function",Pi=e=>Object.prototype.toString.call(e)==="[object Object]",Tt=e=>typeof e=="string";const Gm=JSON.parse(`{"/docs/api/administrator.html":"/docs/api-administrator/","/docs/api/bounce.html":"/docs/api-bounce/","/docs/api/config.html":"/docs/api-config/","/docs/api/notification.html":"/docs/api-notification/","/docs/api/overview.html":"/docs/api-overview/","/docs/api/subscription.html":"/docs/api-subscription/","/docs/config/adminIpList.html":"/docs/config-adminIpList/","/docs/config/certificates.html":"/docs/config-certificates/","/docs/config/cronJobs.html":"/docs/config-cronJobs/","/docs/config/database.html":"/docs/config-database/","/docs/config/email.html":"/docs/config-email/","/docs/config/httpHost.html":"/docs/config-httpHost/","/docs/config/internalHttpHost.html":"/docs/config-internalHttpHost/","/docs/config/logging.html":"/docs/config-logging/","/docs/config/middleware.html":"/docs/config-middleware/","/docs/config/nodeRoles.html":"/docs/config-nodeRoles/","/docs/config/notification.html":"/docs/config-notification/","/docs/config/oidc.html":"/docs/config-oidc/","/docs/config/overview.html":"/docs/config-overview/","/docs/config/queue.html":"/docs/config-queue/","/docs/config/reverseProxyIpLists.html":"/docs/config-reverseProxyIpLists/","/docs/config/rsaKeys.html":"/docs/config-rsaKeys/","/docs/config/sms.html":"/docs/config-sms/","/docs/config/subscription.html":"/docs/config-subscription/","/docs/config/workerProcessCount.html":"/docs/config-workerProcessCount/","/docs/getting-started/":"/docs/","/docs/getting-started/installation.html":"/docs/installation/","/docs/getting-started/overview.html":"/docs/overview/","/docs/getting-started/quickstart.html":"/docs/quickstart/","/docs/getting-started/web-console.html":"/docs/web-console/","/docs/getting-started/what's-new.html":"/docs/what's-new/","/docs/meta/acknowledgments.html":"/docs/acknowledgments/","/docs/meta/conduct.html":"/docs/conduct/","/docs/miscellaneous/benchmarks.html":"/docs/benchmarks/","/docs/miscellaneous/bulk-import.html":"/docs/bulk-import/","/docs/miscellaneous/developer-notes.html":"/docs/developer-notes/","/docs/miscellaneous/disaster-recovery.html":"/docs/disaster-recovery/","/docs/miscellaneous/health-check.html":"/docs/health-check/","/docs/miscellaneous/memory-dump.html":"/docs/memory-dump/","/docs/miscellaneous/upgrade.html":"/docs/upgrade/"}`),Ym=Object.fromEntries([["/",{loader:()=>te(()=>import("./index.html-B8WpHS2H.js"),[]),meta:{title:""}}],["/help/",{loader:()=>te(()=>import("./index.html-hzKjqofi.js"),[]),meta:{title:""}}],["/docs/api-administrator/",{loader:()=>te(()=>import("./index.html-Bv1QZ-J4.js"),[]),meta:{title:"Administrator"}}],["/docs/api-bounce/",{loader:()=>te(()=>import("./index.html-pdoT14QH.js"),[]),meta:{title:"Bounce"}}],["/docs/api-config/",{loader:()=>te(()=>import("./index.html-BM5XCQfi.js"),[]),meta:{title:"Configuration"}}],["/docs/api-notification/",{loader:()=>te(()=>import("./index.html-695X2kFR.js"),[]),meta:{title:"Notification"}}],["/docs/api-overview/",{loader:()=>te(()=>import("./index.html-5_Xpsz4y.js"),[]),meta:{title:"API Overview"}}],["/docs/api-subscription/",{loader:()=>te(()=>import("./index.html-DV1K2bcq.js"),[]),meta:{title:"Subscription"}}],["/docs/config-adminIpList/",{loader:()=>te(()=>import("./index.html-DbNk_WEB.js"),[]),meta:{title:"Admin IP List"}}],["/docs/config-certificates/",{loader:()=>te(()=>import("./index.html-CeQBs-q7.js"),[]),meta:{title:"TLS Certificates"}}],["/docs/config-cronJobs/",{loader:()=>te(()=>import("./index.html-DN7LEVgx.js"),[]),meta:{title:"Cron Jobs"}}],["/docs/config-database/",{loader:()=>te(()=>import("./index.html-BVt3dI7v.js"),[]),meta:{title:"Database"}}],["/docs/config-email/",{loader:()=>te(()=>import("./index.html-BgjcQhV5.js"),[]),meta:{title:"Email"}}],["/docs/config-httpHost/",{loader:()=>te(()=>import("./index.html-Dto__C-a.js"),[]),meta:{title:"HTTP Host"}}],["/docs/config-internalHttpHost/",{loader:()=>te(()=>import("./index.html-Cm83A0J9.js"),[]),meta:{title:"Internal HTTP Host"}}],["/docs/config-logging/",{loader:()=>te(()=>import("./index.html-CKWaOaOz.js"),[]),meta:{title:"Logging"}}],["/docs/config-middleware/",{loader:()=>te(()=>import("./index.html-Cy5yOMCn.js"),[]),meta:{title:"Middleware"}}],["/docs/config-nodeRoles/",{loader:()=>te(()=>import("./index.html-BqLXtV0U.js"),[]),meta:{title:"Node Roles"}}],["/docs/config-notification/",{loader:()=>te(()=>import("./index.html-BGaF7f4K.js"),[]),meta:{title:"Notification"}}],["/docs/config-oidc/",{loader:()=>te(()=>import("./index.html-D0FdNcN8.js"),[]),meta:{title:"OIDC"}}],["/docs/config-overview/",{loader:()=>te(()=>import("./index.html-DORauq8R.js"),[]),meta:{title:"Configuration Overview"}}],["/docs/config-queue/",{loader:()=>te(()=>import("./index.html-BQm2dbvi.js"),[]),meta:{title:"Queue"}}],["/docs/config-reverseProxyIpLists/",{loader:()=>te(()=>import("./index.html-4mIcMI6b.js"),[]),meta:{title:"Reverse Proxy IP Lists"}}],["/docs/config-rsaKeys/",{loader:()=>te(()=>import("./index.html-C-cJG2y6.js"),[]),meta:{title:"RSA Keys"}}],["/docs/config-sms/",{loader:()=>te(()=>import("./index.html-y2mVsK8G.js"),[]),meta:{title:"SMS"}}],["/docs/config-subscription/",{loader:()=>te(()=>import("./index.html-CAqBbPri.js"),[]),meta:{title:"Subscription"}}],["/docs/config-workerProcessCount/",{loader:()=>te(()=>import("./index.html-PwhQMeYJ.js"),[]),meta:{title:"Worker Process Count"}}],["/docs/",{loader:()=>te(()=>import("./index.html-OOpvX6cd.js"),[]),meta:{title:"Welcome"}}],["/docs/installation/",{loader:()=>te(()=>import("./index.html-B96mMr5k.js"),[]),meta:{title:"Installation"}}],["/docs/overview/",{loader:()=>te(()=>import("./index.html-Tp11B2XJ.js"),[]),meta:{title:"Overview"}}],["/docs/quickstart/",{loader:()=>te(()=>import("./index.html-CBF6geos.js"),[]),meta:{title:"Quick Start"}}],["/docs/web-console/",{loader:()=>te(()=>import("./index.html-D3ye32KU.js"),[]),meta:{title:"Web Console"}}],["/docs/what's-new/",{loader:()=>te(()=>import("./index.html-glE75LIR.js"),[]),meta:{title:"What's New"}}],["/docs/acknowledgments/",{loader:()=>te(()=>import("./index.html-B8SjLLwK.js"),[]),meta:{title:"Acknowledgments"}}],["/docs/conduct/",{loader:()=>te(()=>import("./index.html-BQxyWsu7.js"),[]),meta:{title:"Code of Conduct"}}],["/docs/benchmarks/",{loader:()=>te(()=>import("./index.html-oRNet1oJ.js"),[]),meta:{title:"Benchmarks"}}],["/docs/bulk-import/",{loader:()=>te(()=>import("./index.html-DEMy058b.js"),[]),meta:{title:"Bulk Import"}}],["/docs/developer-notes/",{loader:()=>te(()=>import("./index.html-C-pLR2ty.js"),[]),meta:{title:"Developer Notes"}}],["/docs/disaster-recovery/",{loader:()=>te(()=>import("./index.html-CGkyuGA_.js"),[]),meta:{title:"Disaster Recovery"}}],["/docs/health-check/",{loader:()=>te(()=>import("./index.html-xddYJQer.js"),[]),meta:{title:"Health Check"}}],["/docs/memory-dump/",{loader:()=>te(()=>import("./index.html-BE8LcT0S.js"),[]),meta:{title:"Memory Dump"}}],["/docs/upgrade/",{loader:()=>te(()=>import("./index.html-BItU0JB_.js"),[]),meta:{title:"Upgrade Guide"}}],["/docs/shared/filterQueryParam.html",{loader:()=>te(()=>import("./filterQueryParam.html-DifL6uLv.js"),[]),meta:{title:""}}],["/docs/shared/filterQueryParamCode.html",{loader:()=>te(()=>import("./filterQueryParamCode.html-DjIxjEVT.js"),[]),meta:{title:""}}],["/docs/shared/filterQueryParamExample.html",{loader:()=>te(()=>import("./filterQueryParamExample.html-BS5me4rK.js"),[]),meta:{title:""}}],["/docs/shared/jmespathFilter.html",{loader:()=>te(()=>import("./jmespathFilter.html-CdbkP7GE.js"),[]),meta:{title:""}}],["/docs/shared/whereQueryParam.html",{loader:()=>te(()=>import("./whereQueryParam.html-CitSJ3hL.js"),[]),meta:{title:""}}],["/docs/shared/whereQueryParamCode.html",{loader:()=>te(()=>import("./whereQueryParamCode.html-Bd1-MNZ9.js"),[]),meta:{title:""}}],["/docs/shared/whereQueryParamExample.html",{loader:()=>te(()=>import("./whereQueryParamExample.html-DL5bAfJr.js"),[]),meta:{title:""}}],["/404.html",{loader:()=>te(()=>import("./404.html-BOe7d4mM.js"),[]),meta:{title:""}}]]);function Jm(){return Jc().__VUE_DEVTOOLS_GLOBAL_HOOK__}function Jc(){return typeof navigator<"u"&&typeof window<"u"?window:typeof globalThis<"u"?globalThis:{}}const Qm=typeof Proxy=="function",Xm="devtools-plugin:setup",Zm="plugin:settings:set";let Vn,zs;function eg(){var e;return Vn!==void 0||(typeof window<"u"&&window.performance?(Vn=!0,zs=window.performance):typeof globalThis<"u"&&(!((e=globalThis.perf_hooks)===null||e===void 0)&&e.performance)?(Vn=!0,zs=globalThis.perf_hooks.performance):Vn=!1),Vn}function tg(){return eg()?zs.now():Date.now()}class ng{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const r={};if(t.settings)for(const i in t.settings){const a=t.settings[i];r[i]=a.defaultValue}const o=`__vue-devtools-plugin-settings__${t.id}`;let s=Object.assign({},r);try{const i=localStorage.getItem(o),a=JSON.parse(i);Object.assign(s,a)}catch{}this.fallbacks={getSettings(){return s},setSettings(i){try{localStorage.setItem(o,JSON.stringify(i))}catch{}s=i},now(){return tg()}},n&&n.on(Zm,(i,a)=>{i===this.plugin.id&&this.fallbacks.setSettings(a)}),this.proxiedOn=new Proxy({},{get:(i,a)=>this.target?this.target.on[a]:(...l)=>{this.onQueue.push({method:a,args:l})}}),this.proxiedTarget=new Proxy({},{get:(i,a)=>this.target?this.target[a]:a==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(a)?(...l)=>(this.targetQueue.push({method:a,args:l,resolve:()=>{}}),this.fallbacks[a](...l)):(...l)=>new Promise(c=>{this.targetQueue.push({method:a,args:l,resolve:c})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function rg(e,t){const n=e,r=Jc(),o=Jm(),s=Qm&&n.enableEarlyProxy;if(o&&(r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!s))o.emit(Xm,e,t);else{const i=s?new ng(n,o):null;(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}/*! +**/let js;const Pa=typeof window<"u"&&window.trustedTypes;if(Pa)try{js=Pa.createPolicy("vue",{createHTML:e=>e})}catch{}const zc=js?e=>js.createHTML(e):e=>e,om="http://www.w3.org/2000/svg",sm="http://www.w3.org/1998/Math/MathML",Ut=typeof document<"u"?document:null,Ia=Ut&&Ut.createElement("template"),im={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ut.createElementNS(om,e):t==="mathml"?Ut.createElementNS(sm,e):n?Ut.createElement(e,{is:n}):Ut.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ut.createTextNode(e),createComment:e=>Ut.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ut.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Ia.innerHTML=zc(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=Ia.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},en="transition",hr="animation",$r=Symbol("_vtc"),Kc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},am=Fe({},uc,Kc),lm=e=>(e.displayName="Transition",e.props=am,e),xi=lm((e,{slots:t})=>ce(Jp,um(e),t)),yn=(e,t=[])=>{ne(e)?e.forEach(n=>n(...t)):e&&e(...t)},La=e=>e?ne(e)?e.some(t=>t.length>1):e.length>1:!1;function um(e){const t={};for(const C in e)C in Kc||(t[C]=e[C]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:c=i,appearToClass:f=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,v=cm(o),_=v&&v[0],y=v&&v[1],{onBeforeEnter:E,onEnter:S,onEnterCancelled:h,onLeave:b,onLeaveCancelled:L,onBeforeAppear:z=E,onAppear:M=S,onAppearCancelled:A=h}=t,F=(C,V,Q,ee)=>{C._enterCancelled=ee,bn(C,V?f:a),bn(C,V?c:i),Q&&Q()},T=(C,V)=>{C._isLeaving=!1,bn(C,u),bn(C,p),bn(C,d),V&&V()},N=C=>(V,Q)=>{const ee=C?M:S,k=()=>F(V,C,Q);yn(ee,[V,k]),Ra(()=>{bn(V,C?l:s),Bt(V,C?f:a),La(ee)||Da(V,r,_,k)})};return Fe(t,{onBeforeEnter(C){yn(E,[C]),Bt(C,s),Bt(C,i)},onBeforeAppear(C){yn(z,[C]),Bt(C,l),Bt(C,c)},onEnter:N(!1),onAppear:N(!0),onLeave(C,V){C._isLeaving=!0;const Q=()=>T(C,V);Bt(C,u),C._enterCancelled?(Bt(C,d),Ma()):(Ma(),Bt(C,d)),Ra(()=>{C._isLeaving&&(bn(C,u),Bt(C,p),La(b)||Da(C,r,y,Q))}),yn(b,[C,Q])},onEnterCancelled(C){F(C,!1,void 0,!0),yn(h,[C])},onAppearCancelled(C){F(C,!0,void 0,!0),yn(A,[C])},onLeaveCancelled(C){T(C),yn(L,[C])}})}function cm(e){if(e==null)return null;if(Ce(e))return[gs(e.enter),gs(e.leave)];{const t=gs(e);return[t,t]}}function gs(e){return $d(e)}function Bt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[$r]||(e[$r]=new Set)).add(t)}function bn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[$r];n&&(n.delete(t),n.size||(e[$r]=void 0))}function Ra(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let fm=0;function Da(e,t,n,r){const o=e._endId=++fm,s=()=>{o===e._endId&&r()};if(n!=null)return setTimeout(s,n);const{type:i,timeout:a,propCount:l}=dm(e,t);if(!i)return r();const c=i+"end";let f=0;const u=()=>{e.removeEventListener(c,d),s()},d=p=>{p.target===e&&++f>=l&&u()};setTimeout(()=>{f(n[v]||"").split(", "),o=r(`${en}Delay`),s=r(`${en}Duration`),i=Va(o,s),a=r(`${hr}Delay`),l=r(`${hr}Duration`),c=Va(a,l);let f=null,u=0,d=0;t===en?i>0&&(f=en,u=i,d=s.length):t===hr?c>0&&(f=hr,u=c,d=l.length):(u=Math.max(i,c),f=u>0?i>c?en:hr:null,d=f?f===en?s.length:l.length:0);const p=f===en&&/\b(transform|all)(,|$)/.test(r(`${en}Property`).toString());return{type:f,timeout:u,propCount:d,hasTransform:p}}function Va(e,t){for(;e.lengthNa(n)+Na(e[r])))}function Na(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ma(){return document.body.offsetHeight}function pm(e,t,n){const r=e[$r];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Vo=Symbol("_vod"),Wc=Symbol("_vsh"),No={beforeMount(e,{value:t},{transition:n}){e[Vo]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):mr(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),mr(e,!0),r.enter(e)):r.leave(e,()=>{mr(e,!1)}):mr(e,t))},beforeUnmount(e,{value:t}){mr(e,t)}};function mr(e,t){e.style.display=t?e[Vo]:"none",e[Wc]=!t}const hm=Symbol(""),mm=/(^|;)\s*display\s*:/;function gm(e,t,n){const r=e.style,o=Pe(n);let s=!1;if(n&&!o){if(t)if(Pe(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&wo(r,a,"")}else for(const i in t)n[i]==null&&wo(r,i,"");for(const i in n)i==="display"&&(s=!0),wo(r,i,n[i])}else if(o){if(t!==n){const i=r[hm];i&&(n+=";"+i),r.cssText=n,s=mm.test(n)}}else t&&e.removeAttribute("style");Vo in e&&(e[Vo]=s?r.display:"",e[Wc]&&(r.display="none"))}const Ba=/\s*!important$/;function wo(e,t,n){if(ne(n))n.forEach(r=>wo(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vm(e,t);Ba.test(n)?e.setProperty(Yt(r),n.replace(Ba,""),"important"):e[r]=n}}const Ha=["Webkit","Moz","ms"],vs={};function vm(e,t){const n=vs[t];if(n)return n;let r=st(t);if(r!=="filter"&&r in e)return vs[t]=r;r=Qr(r);for(let o=0;o_s||(Em.then(()=>_s=0),_s=Date.now());function wm(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;xt(Cm(r,n.value),t,5,[r])};return n.value=e,n.attached=Sm(),n}function Cm(e,t){if(ne(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ka=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Am=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?pm(e,r,i):t==="style"?gm(e,n,r):Yr(t)?ui(t)||ym(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tm(e,t,r,i))?(Ua(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$a(e,t,r,i,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Pe(r))?Ua(e,st(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),$a(e,t,r,i))};function Tm(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ka(t)&&le(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ka(t)&&Pe(n)?!1:t in e}const Wa=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ne(t)?n=>Eo(t,n):t},ys=Symbol("_assign"),Om={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const o=Ho(t);qc(e,"change",()=>{const s=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Iu(Mo(i)):Mo(i));e[ys](e.multiple?o?new Set(s):s:s[0]),e._assigning=!0,Ln(()=>{e._assigning=!1})}),e[ys]=Wa(r)},mounted(e,{value:t}){qa(e,t)},beforeUpdate(e,t,n){e[ys]=Wa(n)},updated(e,{value:t}){e._assigning||qa(e,t)}};function qa(e,t){const n=e.multiple,r=ne(t);if(!(n&&!r&&!Ho(t))){for(let o=0,s=e.options.length;oString(c)===String(a)):i.selected=ep(t,a)>-1}else i.selected=t.has(a);else if(Uo(Mo(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Mo(e){return"_value"in e?e._value:e.value}const xm={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},km=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Yt(o.key);if(t.some(i=>i===s||xm[i]===s))return e(o)})},Pm=Fe({patchProp:Am},im);let bs,Ga=!1;function Im(){return bs=Ga?bs:Lh(Pm),Ga=!0,bs}const Lm=(...e)=>{const t=Im().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=Dm(r);if(o)return n(o,!0,Rm(o))},t};function Rm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Dm(e){return Pe(e)?document.querySelector(e):e}var no=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),Vm=/.md((\?|#).*)?$/,Nm=(e,t="/")=>no(e)||e.startsWith("/")&&!e.startsWith(t)&&!Vm.test(e),Qo=e=>/^(https?:)?\/\//.test(e),Ya=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=`${t.substring(0,t.length-3)}.html`:t.endsWith(".html")||(t=`${t}.html`),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},Mm="http://.",Bm=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Ya(new URL(`${n}/${e}`,Mm).pathname)}return Ya(e)},Hm=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},Fm=(e,t="/")=>{const n=e.replace(/^(?:https?:)?\/\/[^/]*/,"");return n.startsWith(t)?`/${n.slice(t.length)}`:n},$m=/(#|\?)/,Gc=e=>{const[t,...n]=e.split($m);return{pathname:t,hashAndQueries:n.join("")}},Um=["link","meta","script","style","noscript","template"],jm=["title","base"],zm=([e,t,n])=>jm.includes(e)?e:Um.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Km=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=zm(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Wm=e=>e.endsWith("/")||e.endsWith(".html")?e:`${e}/`,Yc=e=>e.endsWith("/")?e.slice(0,-1):e,ki=e=>e.startsWith("/")?e.slice(1):e,qm=e=>typeof e=="function",Pi=e=>Object.prototype.toString.call(e)==="[object Object]",Tt=e=>typeof e=="string";const Gm=JSON.parse(`{"/docs/api/administrator.html":"/docs/api-administrator/","/docs/api/bounce.html":"/docs/api-bounce/","/docs/api/config.html":"/docs/api-config/","/docs/api/notification.html":"/docs/api-notification/","/docs/api/overview.html":"/docs/api-overview/","/docs/api/subscription.html":"/docs/api-subscription/","/docs/config/adminIpList.html":"/docs/config-adminIpList/","/docs/config/certificates.html":"/docs/config-certificates/","/docs/config/cronJobs.html":"/docs/config-cronJobs/","/docs/config/database.html":"/docs/config-database/","/docs/config/email.html":"/docs/config-email/","/docs/config/httpHost.html":"/docs/config-httpHost/","/docs/config/internalHttpHost.html":"/docs/config-internalHttpHost/","/docs/config/logging.html":"/docs/config-logging/","/docs/config/middleware.html":"/docs/config-middleware/","/docs/config/nodeRoles.html":"/docs/config-nodeRoles/","/docs/config/notification.html":"/docs/config-notification/","/docs/config/oidc.html":"/docs/config-oidc/","/docs/config/overview.html":"/docs/config-overview/","/docs/config/queue.html":"/docs/config-queue/","/docs/config/reverseProxyIpLists.html":"/docs/config-reverseProxyIpLists/","/docs/config/rsaKeys.html":"/docs/config-rsaKeys/","/docs/config/sms.html":"/docs/config-sms/","/docs/config/subscription.html":"/docs/config-subscription/","/docs/config/workerProcessCount.html":"/docs/config-workerProcessCount/","/docs/getting-started/":"/docs/","/docs/getting-started/installation.html":"/docs/installation/","/docs/getting-started/overview.html":"/docs/overview/","/docs/getting-started/quickstart.html":"/docs/quickstart/","/docs/getting-started/web-console.html":"/docs/web-console/","/docs/getting-started/what's-new.html":"/docs/what's-new/","/docs/meta/acknowledgments.html":"/docs/acknowledgments/","/docs/meta/conduct.html":"/docs/conduct/","/docs/miscellaneous/benchmarks.html":"/docs/benchmarks/","/docs/miscellaneous/bulk-import.html":"/docs/bulk-import/","/docs/miscellaneous/developer-notes.html":"/docs/developer-notes/","/docs/miscellaneous/disaster-recovery.html":"/docs/disaster-recovery/","/docs/miscellaneous/health-check.html":"/docs/health-check/","/docs/miscellaneous/memory-dump.html":"/docs/memory-dump/","/docs/miscellaneous/upgrade.html":"/docs/upgrade/"}`),Ym=Object.fromEntries([["/",{loader:()=>te(()=>import("./index.html-SxYslWx4.js"),[]),meta:{title:""}}],["/help/",{loader:()=>te(()=>import("./index.html-PKVDpdJx.js"),[]),meta:{title:""}}],["/docs/api-administrator/",{loader:()=>te(()=>import("./index.html-CT0iXDKJ.js"),[]),meta:{title:"Administrator"}}],["/docs/api-bounce/",{loader:()=>te(()=>import("./index.html-OOebM4D9.js"),[]),meta:{title:"Bounce"}}],["/docs/api-config/",{loader:()=>te(()=>import("./index.html-CpY-JuB8.js"),[]),meta:{title:"Configuration"}}],["/docs/api-notification/",{loader:()=>te(()=>import("./index.html-CdnCic9I.js"),[]),meta:{title:"Notification"}}],["/docs/api-overview/",{loader:()=>te(()=>import("./index.html-CIdghn5g.js"),[]),meta:{title:"API Overview"}}],["/docs/api-subscription/",{loader:()=>te(()=>import("./index.html-DVB6SqU4.js"),[]),meta:{title:"Subscription"}}],["/docs/config-adminIpList/",{loader:()=>te(()=>import("./index.html-CvsLncfy.js"),[]),meta:{title:"Admin IP List"}}],["/docs/config-certificates/",{loader:()=>te(()=>import("./index.html-H-eHlGjO.js"),[]),meta:{title:"TLS Certificates"}}],["/docs/config-cronJobs/",{loader:()=>te(()=>import("./index.html-DtKiREb8.js"),[]),meta:{title:"Cron Jobs"}}],["/docs/config-database/",{loader:()=>te(()=>import("./index.html-BU3r1ams.js"),[]),meta:{title:"Database"}}],["/docs/config-email/",{loader:()=>te(()=>import("./index.html-9KIZWRTp.js"),[]),meta:{title:"Email"}}],["/docs/config-httpHost/",{loader:()=>te(()=>import("./index.html-pT4BwoDb.js"),[]),meta:{title:"HTTP Host"}}],["/docs/config-internalHttpHost/",{loader:()=>te(()=>import("./index.html-BBNQa4oG.js"),[]),meta:{title:"Internal HTTP Host"}}],["/docs/config-logging/",{loader:()=>te(()=>import("./index.html-5Kbp-CXJ.js"),[]),meta:{title:"Logging"}}],["/docs/config-middleware/",{loader:()=>te(()=>import("./index.html-bbfkGIF1.js"),[]),meta:{title:"Middleware"}}],["/docs/config-nodeRoles/",{loader:()=>te(()=>import("./index.html-D3C84fYZ.js"),[]),meta:{title:"Node Roles"}}],["/docs/config-notification/",{loader:()=>te(()=>import("./index.html-jWrEFaGz.js"),[]),meta:{title:"Notification"}}],["/docs/config-oidc/",{loader:()=>te(()=>import("./index.html-bHmRd8LA.js"),[]),meta:{title:"OIDC"}}],["/docs/config-overview/",{loader:()=>te(()=>import("./index.html-jGK513pk.js"),[]),meta:{title:"Configuration Overview"}}],["/docs/config-queue/",{loader:()=>te(()=>import("./index.html--jz6CVyc.js"),[]),meta:{title:"Queue"}}],["/docs/config-reverseProxyIpLists/",{loader:()=>te(()=>import("./index.html-CqA6xmjl.js"),[]),meta:{title:"Reverse Proxy IP Lists"}}],["/docs/config-rsaKeys/",{loader:()=>te(()=>import("./index.html-7bMHw-fv.js"),[]),meta:{title:"RSA Keys"}}],["/docs/config-sms/",{loader:()=>te(()=>import("./index.html-CCFnGvaF.js"),[]),meta:{title:"SMS"}}],["/docs/config-subscription/",{loader:()=>te(()=>import("./index.html-UB1Lg3W7.js"),[]),meta:{title:"Subscription"}}],["/docs/config-workerProcessCount/",{loader:()=>te(()=>import("./index.html-B42HCWoF.js"),[]),meta:{title:"Worker Process Count"}}],["/docs/",{loader:()=>te(()=>import("./index.html-BDCdEa0x.js"),[]),meta:{title:"Welcome"}}],["/docs/installation/",{loader:()=>te(()=>import("./index.html-BY5_8Cvd.js"),[]),meta:{title:"Installation"}}],["/docs/overview/",{loader:()=>te(()=>import("./index.html-BvCyS8o2.js"),[]),meta:{title:"Overview"}}],["/docs/quickstart/",{loader:()=>te(()=>import("./index.html-C3xu5spv.js"),[]),meta:{title:"Quick Start"}}],["/docs/web-console/",{loader:()=>te(()=>import("./index.html-CDSo7_Qq.js"),[]),meta:{title:"Web Console"}}],["/docs/what's-new/",{loader:()=>te(()=>import("./index.html-BADHYC82.js"),[]),meta:{title:"What's New"}}],["/docs/acknowledgments/",{loader:()=>te(()=>import("./index.html-CmRWUrpB.js"),[]),meta:{title:"Acknowledgments"}}],["/docs/conduct/",{loader:()=>te(()=>import("./index.html-BbIzJi6O.js"),[]),meta:{title:"Code of Conduct"}}],["/docs/benchmarks/",{loader:()=>te(()=>import("./index.html-C2oJelxo.js"),[]),meta:{title:"Benchmarks"}}],["/docs/bulk-import/",{loader:()=>te(()=>import("./index.html-Cwhy2wJe.js"),[]),meta:{title:"Bulk Import"}}],["/docs/developer-notes/",{loader:()=>te(()=>import("./index.html-BDTHN6ED.js"),[]),meta:{title:"Developer Notes"}}],["/docs/disaster-recovery/",{loader:()=>te(()=>import("./index.html-DmelDkqD.js"),[]),meta:{title:"Disaster Recovery"}}],["/docs/health-check/",{loader:()=>te(()=>import("./index.html-Bu-ZHBWM.js"),[]),meta:{title:"Health Check"}}],["/docs/memory-dump/",{loader:()=>te(()=>import("./index.html-Du3_aeLV.js"),[]),meta:{title:"Memory Dump"}}],["/docs/upgrade/",{loader:()=>te(()=>import("./index.html-D67UHZ6h.js"),[]),meta:{title:"Upgrade Guide"}}],["/docs/shared/filterQueryParam.html",{loader:()=>te(()=>import("./filterQueryParam.html-B3rDiGiL.js"),[]),meta:{title:""}}],["/docs/shared/filterQueryParamCode.html",{loader:()=>te(()=>import("./filterQueryParamCode.html-CUSILiZ4.js"),[]),meta:{title:""}}],["/docs/shared/filterQueryParamExample.html",{loader:()=>te(()=>import("./filterQueryParamExample.html-C-qSyLrW.js"),[]),meta:{title:""}}],["/docs/shared/jmespathFilter.html",{loader:()=>te(()=>import("./jmespathFilter.html-DW07qJuI.js"),[]),meta:{title:""}}],["/docs/shared/whereQueryParam.html",{loader:()=>te(()=>import("./whereQueryParam.html-By1a5xeh.js"),[]),meta:{title:""}}],["/docs/shared/whereQueryParamCode.html",{loader:()=>te(()=>import("./whereQueryParamCode.html-BhrH7W0Z.js"),[]),meta:{title:""}}],["/docs/shared/whereQueryParamExample.html",{loader:()=>te(()=>import("./whereQueryParamExample.html-DkRUmSvz.js"),[]),meta:{title:""}}],["/404.html",{loader:()=>te(()=>import("./404.html-CWR3PvJT.js"),[]),meta:{title:""}}]]);function Jm(){return Jc().__VUE_DEVTOOLS_GLOBAL_HOOK__}function Jc(){return typeof navigator<"u"&&typeof window<"u"?window:typeof globalThis<"u"?globalThis:{}}const Qm=typeof Proxy=="function",Xm="devtools-plugin:setup",Zm="plugin:settings:set";let Vn,zs;function eg(){var e;return Vn!==void 0||(typeof window<"u"&&window.performance?(Vn=!0,zs=window.performance):typeof globalThis<"u"&&(!((e=globalThis.perf_hooks)===null||e===void 0)&&e.performance)?(Vn=!0,zs=globalThis.perf_hooks.performance):Vn=!1),Vn}function tg(){return eg()?zs.now():Date.now()}class ng{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const r={};if(t.settings)for(const i in t.settings){const a=t.settings[i];r[i]=a.defaultValue}const o=`__vue-devtools-plugin-settings__${t.id}`;let s=Object.assign({},r);try{const i=localStorage.getItem(o),a=JSON.parse(i);Object.assign(s,a)}catch{}this.fallbacks={getSettings(){return s},setSettings(i){try{localStorage.setItem(o,JSON.stringify(i))}catch{}s=i},now(){return tg()}},n&&n.on(Zm,(i,a)=>{i===this.plugin.id&&this.fallbacks.setSettings(a)}),this.proxiedOn=new Proxy({},{get:(i,a)=>this.target?this.target.on[a]:(...l)=>{this.onQueue.push({method:a,args:l})}}),this.proxiedTarget=new Proxy({},{get:(i,a)=>this.target?this.target[a]:a==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(a)?(...l)=>(this.targetQueue.push({method:a,args:l,resolve:()=>{}}),this.fallbacks[a](...l)):(...l)=>new Promise(c=>{this.targetQueue.push({method:a,args:l,resolve:c})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function rg(e,t){const n=e,r=Jc(),o=Jm(),s=Qm&&n.enableEarlyProxy;if(o&&(r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!s))o.emit(Xm,e,t);else{const i=s?new ng(n,o):null;(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}/*! * vue-router v4.5.0 * (c) 2024 Eduardo San Martin Morote * @license MIT @@ -39,4 +39,4 @@ Expects a CSS selector, a Node element, a NodeList or an array. See: https://github.com/francoischalifour/medium-zoom`)}},F_=function(t){var n=document.createElement("div");return n.classList.add("medium-zoom-overlay"),n.style.background=t,n},$_=function(t){var n=t.getBoundingClientRect(),r=n.top,o=n.left,s=n.width,i=n.height,a=t.cloneNode(),l=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,c=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return a.removeAttribute("id"),a.style.position="absolute",a.style.top=r+l+"px",a.style.left=o+c+"px",a.style.width=s+"px",a.style.height=i+"px",a.style.transform="",a},Nn=function(t,n){var r=wn({bubbles:!1,cancelable:!1,detail:void 0},n);if(typeof window.CustomEvent=="function")return new CustomEvent(t,r);var o=document.createEvent("CustomEvent");return o.initCustomEvent(t,r.bubbles,r.cancelable,r.detail),o},U_=function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=window.Promise||function(C){function V(){}C(V,V)},o=function(C){var V=C.target;if(V===F){v();return}h.indexOf(V)!==-1&&_({target:V})},s=function(){if(!(L||!A.original)){var C=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(z-C)>M.scrollOffset&&setTimeout(v,150)}},i=function(C){var V=C.key||C.keyCode;(V==="Escape"||V==="Esc"||V===27)&&v()},a=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},V=C;if(C.background&&(F.style.background=C.background),C.container&&C.container instanceof Object&&(V.container=wn({},M.container,C.container)),C.template){var Q=Co(C.template)?C.template:document.querySelector(C.template);V.template=Q}return M=wn({},M,V),h.forEach(function(ee){ee.dispatchEvent(Nn("medium-zoom:update",{detail:{zoom:T}}))}),T},l=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e(wn({},M,C))},c=function(){for(var C=arguments.length,V=Array(C),Q=0;Q0?V.reduce(function(k,R){return[].concat(k,_l(R))},[]):h;return ee.forEach(function(k){k.classList.remove("medium-zoom-image"),k.dispatchEvent(Nn("medium-zoom:detach",{detail:{zoom:T}}))}),h=h.filter(function(k){return ee.indexOf(k)===-1}),T},u=function(C,V){var Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return h.forEach(function(ee){ee.addEventListener("medium-zoom:"+C,V,Q)}),b.push({type:"medium-zoom:"+C,listener:V,options:Q}),T},d=function(C,V){var Q=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return h.forEach(function(ee){ee.removeEventListener("medium-zoom:"+C,V,Q)}),b=b.filter(function(ee){return!(ee.type==="medium-zoom:"+C&&ee.listener.toString()===V.toString())}),T},p=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},V=C.target,Q=function(){var k={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},R=void 0,K=void 0;if(M.container)if(M.container instanceof Object)k=wn({},k,M.container),R=k.width-k.left-k.right-M.margin*2,K=k.height-k.top-k.bottom-M.margin*2;else{var oe=Co(M.container)?M.container:document.querySelector(M.container),be=oe.getBoundingClientRect(),xe=be.width,me=be.height,Re=be.left,ot=be.top;k=wn({},k,{width:xe,height:me,left:Re,top:ot})}R=R||k.width-M.margin*2,K=K||k.height-M.margin*2;var Me=A.zoomedHd||A.original,Ke=vl(Me)?R:Me.naturalWidth||R,O=vl(Me)?K:Me.naturalHeight||K,W=Me.getBoundingClientRect(),j=W.top,X=W.left,fe=W.width,ve=W.height,m=Math.min(Math.max(fe,Ke),R)/fe,g=Math.min(Math.max(ve,O),K)/ve,w=Math.min(m,g),P=(-X+(R-fe)/2+M.margin+k.left)/w,x=(-j+(K-ve)/2+M.margin+k.top)/w,D="scale("+w+") translate3d("+P+"px, "+x+"px, 0)";A.zoomed.style.transform=D,A.zoomedHd&&(A.zoomedHd.style.transform=D)};return new r(function(ee){if(V&&h.indexOf(V)===-1){ee(T);return}var k=function xe(){L=!1,A.zoomed.removeEventListener("transitionend",xe),A.original.dispatchEvent(Nn("medium-zoom:opened",{detail:{zoom:T}})),ee(T)};if(A.zoomed){ee(T);return}if(V)A.original=V;else if(h.length>0){var R=h;A.original=R[0]}else{ee(T);return}if(A.original.dispatchEvent(Nn("medium-zoom:open",{detail:{zoom:T}})),z=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,L=!0,A.zoomed=$_(A.original),document.body.appendChild(F),M.template){var K=Co(M.template)?M.template:document.querySelector(M.template);A.template=document.createElement("div"),A.template.appendChild(K.content.cloneNode(!0)),document.body.appendChild(A.template)}if(A.original.parentElement&&A.original.parentElement.tagName==="PICTURE"&&A.original.currentSrc&&(A.zoomed.src=A.original.currentSrc),document.body.appendChild(A.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),A.original.classList.add("medium-zoom-image--hidden"),A.zoomed.classList.add("medium-zoom-image--opened"),A.zoomed.addEventListener("click",v),A.zoomed.addEventListener("transitionend",k),A.original.getAttribute("data-zoom-src")){A.zoomedHd=A.zoomed.cloneNode(),A.zoomedHd.removeAttribute("srcset"),A.zoomedHd.removeAttribute("sizes"),A.zoomedHd.removeAttribute("loading"),A.zoomedHd.src=A.zoomed.getAttribute("data-zoom-src"),A.zoomedHd.onerror=function(){clearInterval(oe),console.warn("Unable to reach the zoom image target "+A.zoomedHd.src),A.zoomedHd=null,Q()};var oe=setInterval(function(){A.zoomedHd.complete&&(clearInterval(oe),A.zoomedHd.classList.add("medium-zoom-image--opened"),A.zoomedHd.addEventListener("click",v),document.body.appendChild(A.zoomedHd),Q())},10)}else if(A.original.hasAttribute("srcset")){A.zoomedHd=A.zoomed.cloneNode(),A.zoomedHd.removeAttribute("sizes"),A.zoomedHd.removeAttribute("loading");var be=A.zoomedHd.addEventListener("load",function(){A.zoomedHd.removeEventListener("load",be),A.zoomedHd.classList.add("medium-zoom-image--opened"),A.zoomedHd.addEventListener("click",v),document.body.appendChild(A.zoomedHd),Q()})}else Q()})},v=function(){return new r(function(C){if(L||!A.original){C(T);return}var V=function Q(){A.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(A.zoomed),A.zoomedHd&&document.body.removeChild(A.zoomedHd),document.body.removeChild(F),A.zoomed.classList.remove("medium-zoom-image--opened"),A.template&&document.body.removeChild(A.template),L=!1,A.zoomed.removeEventListener("transitionend",Q),A.original.dispatchEvent(Nn("medium-zoom:closed",{detail:{zoom:T}})),A.original=null,A.zoomed=null,A.zoomedHd=null,A.template=null,C(T)};L=!0,document.body.classList.remove("medium-zoom--opened"),A.zoomed.style.transform="",A.zoomedHd&&(A.zoomedHd.style.transform=""),A.template&&(A.template.style.transition="opacity 150ms",A.template.style.opacity=0),A.original.dispatchEvent(Nn("medium-zoom:close",{detail:{zoom:T}})),A.zoomed.addEventListener("transitionend",V)})},_=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},V=C.target;return A.original?v():p({target:V})},y=function(){return M},E=function(){return h},S=function(){return A.original},h=[],b=[],L=!1,z=0,M=n,A={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(t)==="[object Object]"?M=t:(t||typeof t=="string")&&c(t),M=wn({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},M);var F=F_(M.background);document.addEventListener("click",o),document.addEventListener("keyup",i),document.addEventListener("scroll",s),window.addEventListener("resize",v);var T={open:p,close:v,toggle:_,update:a,clone:l,attach:c,detach:f,on:u,off:d,getOptions:y,getImages:E,getZoomedImage:S};return T};function j_(e,t){t===void 0&&(t={});var n=t.insertAt;if(!(typeof document>"u")){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",n==="top"&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var z_=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";j_(z_);const K_=Symbol("mediumZoom");var W_={};const q_="[vp-content] > img, [vp-content] :not(a) > img",G_=W_,Y_=300,J_=gn({enhance({app:e,router:t}){const n=U_(G_);n.refresh=(r=q_)=>{n.detach(),n.attach(r)},e.provide(K_,n),t.afterEach(()=>{Ui(Y_).then(()=>{n.refresh()})})}}),Q_=Object.freeze(Object.defineProperty({__proto__:null,default:J_},Symbol.toStringTag,{value:"Module"}));/** * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT - */const yl=(e,t)=>{e.classList.add(t)},bl=(e,t)=>{e.classList.remove(t)},X_=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},Ts=(e,t,n)=>en?n:e,El=e=>(-1+e)*100,Z_=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),e0=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),vo=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:i}=document.body;if(s in i)return s;const a=s.charAt(0).toUpperCase()+s.slice(1);let l=e.length;for(;l--;){const c=`${e[l]}${a}`;if(c in i)return c}return s},r=s=>{const i=e0(s);return t[i]??(t[i]=n(i))},o=(s,i,a)=>{s.style[r(i)]=a};return(s,i)=>{for(const a in i){const l=i[a];Object.hasOwn(i,a)&&C_(l)&&o(s,a,l)}}})(),Ft={minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},Le={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=Ft,r=Le.isStarted(),o=Ts(e,Ft.minimum,1);Le.percent=o===1?null:o;const s=Le.render(!r),i=s.querySelector(Ft.barSelector);return s.offsetWidth,Z_(a=>{vo(i,{transform:`translate3d(${El(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(vo(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{vo(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{Le.remove(),a()},t)},t)):setTimeout(()=>{a()},t)}),Le},isStarted:()=>typeof Le.percent=="number",start:()=>{Le.percent||Le.set(0);const e=()=>{setTimeout(()=>{Le.percent&&(Le.trickle(),e())},Ft.trickleSpeed)};return e(),Le},done:e=>!e&&!Le.percent?Le:Le.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=Le;return t?(t=Ts(t+(typeof e=="number"?e:(1-t)*Ts(Math.random()*t,.1,.95)),0,.994),Le.set(t)):Le.start()},trickle:()=>Le.increase(Math.random()*Ft.trickleRate),render:e=>{if(Le.isRendered())return document.getElementById("nprogress");yl(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=Ft.template;const n=t.querySelector(Ft.barSelector),r=document.querySelector(Ft.parent),o=e?"-100":El(Le.percent??0);return vo(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&yl(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{bl(document.documentElement,"nprogress-busy"),bl(document.querySelector(Ft.parent),"nprogress-custom-parent"),X_(document.getElementById("nprogress"))}},t0=()=>{Je(()=>{const e=mn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||Le.start()}),e.afterEach(n=>{t.add(n.path),Le.done()})})},n0=gn({setup(){t0()}}),r0=Object.freeze(Object.defineProperty({__proto__:null,default:n0},Symbol.toStringTag,{value:"Module"})),o0=({selector:e='div[class*="language-"].has-collapsed-lines > .collapsed-lines'}={})=>{it("click",t=>{const n=t.target;if(n.matches(e)){const r=n.parentElement;r!=null&&r.classList.toggle("collapsed")&&r.scrollIntoView({block:"center",behavior:"instant"})}})},s0={setup(){o0()}},i0=Object.freeze(Object.defineProperty({__proto__:null,default:s0},Symbol.toStringTag,{value:"Module"})),a0="VUEPRESS_CODE_TAB_STORE",_o=$i(a0,{}),l0=ge({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=he(e.active),r=Et([]),o=()=>{e.tabId&&(_o.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=f):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),i()),e.tabId&&(_o.value[e.tabId]=e.data[n.value].id)},l=()=>{if(e.tabId){const c=e.data.findIndex(({id:f})=>_o.value[e.tabId]===f);if(c!==-1)return c}return e.active};return Je(()=>{n.value=l(),Ne(()=>_o.value[e.tabId],(c,f)=>{if(e.tabId&&c!==f){const u=e.data.findIndex(({id:d})=>d===c);u!==-1&&(n.value=u)}})}),()=>e.data.length?ce("div",{class:"vp-code-tabs"},[ce("div",{class:"vp-code-tabs-nav",role:"tablist"},e.data.map(({id:c},f)=>{const u=f===n.value;return ce("button",{type:"button",ref:d=>{d&&(r.value[f]=d)},class:["vp-code-tab-nav",{active:u}],role:"tab","aria-controls":`codetab-${e.id}-${f}`,"aria-selected":u,onClick:()=>{n.value=f,o()},onKeydown:d=>{a(d,f)}},t[`title${f}`]({value:c,isActive:u}))})),e.data.map(({id:c},f)=>{const u=f===n.value;return ce("div",{class:["vp-code-tab",{active:u}],id:`codetab-${e.id}-${f}`,role:"tabpanel","aria-expanded":u},[ce("div",{class:"vp-code-tab-title"},t[`title${f}`]({value:c,isActive:u})),t[`tab${f}`]({value:c,isActive:u})])})]):null}}),u0="VUEPRESS_TAB_STORE",Os=$i(u0,{}),c0=ge({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=he(e.active),r=Et([]),o=()=>{e.tabId&&(Os.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=f):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),i()),o()},l=()=>{if(e.tabId){const c=e.data.findIndex(({id:f})=>Os.value[e.tabId]===f);if(c!==-1)return c}return e.active};return Je(()=>{n.value=l(),Ne(()=>Os.value[e.tabId],(c,f)=>{if(e.tabId&&c!==f){const u=e.data.findIndex(({id:d})=>d===c);u!==-1&&(n.value=u)}})}),()=>e.data.length?ce("div",{class:"vp-tabs"},[ce("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:c},f)=>{const u=f===n.value;return ce("button",{type:"button",ref:d=>{d&&(r.value[f]=d)},class:["vp-tab-nav",{active:u}],role:"tab","aria-controls":`tab-${e.id}-${f}`,"aria-selected":u,onClick:()=>{n.value=f,o()},onKeydown:d=>{a(d,f)}},t[`title${f}`]({value:c,isActive:u}))})),e.data.map(({id:c},f)=>{const u=f===n.value;return ce("div",{class:["vp-tab",{active:u}],id:`tab-${e.id}-${f}`,role:"tabpanel","aria-expanded":u},[ce("div",{class:"vp-tab-title"},t[`title${f}`]({value:c,isActive:u})),t[`tab${f}`]({value:c,isActive:u})])})]):null}}),f0={enhance:({app:e})=>{e.component("CodeTabs",l0),e.component("Tabs",c0)}},d0=Object.freeze(Object.defineProperty({__proto__:null,default:f0},Symbol.toStringTag,{value:"Module"}));var p0=Object.create,Mf=Object.defineProperty,h0=Object.getOwnPropertyDescriptor,ji=Object.getOwnPropertyNames,m0=Object.getPrototypeOf,g0=Object.prototype.hasOwnProperty,v0=(e,t)=>function(){return e&&(t=(0,e[ji(e)[0]])(e=0)),t},_0=(e,t)=>function(){return t||(0,e[ji(e)[0]])((t={exports:{}}).exports,t),t.exports},y0=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ji(t))!g0.call(e,o)&&o!==n&&Mf(e,o,{get:()=>t[o],enumerable:!(r=h0(t,o))||r.enumerable});return e},b0=(e,t,n)=>(n=e!=null?p0(m0(e)):{},y0(Mf(n,"default",{value:e,enumerable:!0}),e)),io=v0({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@22.10.1__@swc+core@1.5.29_jiti@2.0.0_p_swvvp2d4pgn6xuiiec4l4x2i7a/node_modules/tsup/assets/esm_shims.js"(){}}),E0=_0({"../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js"(e,t){io(),t.exports=r;function n(s){return s instanceof Buffer?Buffer.from(s):new s.constructor(s.buffer.slice(),s.byteOffset,s.length)}function r(s){if(s=s||{},s.circles)return o(s);const i=new Map;if(i.set(Date,u=>new Date(u)),i.set(Map,(u,d)=>new Map(l(Array.from(u),d))),i.set(Set,(u,d)=>new Set(l(Array.from(u),d))),s.constructorHandlers)for(const u of s.constructorHandlers)i.set(u[0],u[1]);let a=null;return s.proto?f:c;function l(u,d){const p=Object.keys(u),v=new Array(p.length);for(let _=0;_new Date(p)),l.set(Map,(p,v)=>new Map(f(Array.from(p),v))),l.set(Set,(p,v)=>new Set(f(Array.from(p),v))),s.constructorHandlers)for(const p of s.constructorHandlers)l.set(p[0],p[1]);let c=null;return s.proto?d:u;function f(p,v){const _=Object.keys(p),y=new Array(_.length);for(let E=0;E<_.length;E++){const S=_[E],h=p[S];if(typeof h!="object"||h===null)y[S]=h;else if(h.constructor!==Object&&(c=l.get(h.constructor)))y[S]=c(h,v);else if(ArrayBuffer.isView(h))y[S]=n(h);else{const b=i.indexOf(h);b!==-1?y[S]=a[b]:y[S]=v(h)}}return y}function u(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return f(p,u);if(p.constructor!==Object&&(c=l.get(p.constructor)))return c(p,u);const v={};i.push(p),a.push(v);for(const _ in p){if(Object.hasOwnProperty.call(p,_)===!1)continue;const y=p[_];if(typeof y!="object"||y===null)v[_]=y;else if(y.constructor!==Object&&(c=l.get(y.constructor)))v[_]=c(y,u);else if(ArrayBuffer.isView(y))v[_]=n(y);else{const E=i.indexOf(y);E!==-1?v[_]=a[E]:v[_]=u(y)}}return i.pop(),a.pop(),v}function d(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return f(p,d);if(p.constructor!==Object&&(c=l.get(p.constructor)))return c(p,d);const v={};i.push(p),a.push(v);for(const _ in p){const y=p[_];if(typeof y!="object"||y===null)v[_]=y;else if(y.constructor!==Object&&(c=l.get(y.constructor)))v[_]=c(y,d);else if(ArrayBuffer.isView(y))v[_]=n(y);else{const E=i.indexOf(y);E!==-1?v[_]=a[E]:v[_]=d(y)}}return i.pop(),a.pop(),v}}}});io();io();io();var Bf=typeof navigator<"u",J=typeof window<"u"?window:typeof globalThis<"u"?globalThis:typeof global<"u"?global:{};typeof J.chrome<"u"&&J.chrome.devtools;Bf&&(J.self,J.top);var Sl;typeof navigator<"u"&&((Sl=navigator.userAgent)==null||Sl.toLowerCase().includes("electron"));io();var S0=b0(E0()),w0=/(?:^|[-_/])(\w)/g;function C0(e,t){return t?t.toUpperCase():""}function A0(e){return e&&`${e}`.replace(w0,C0)}function T0(e,t){let n=e.replace(/^[a-z]:/i,"").replace(/\\/g,"/");n.endsWith(`index${t}`)&&(n=n.replace(`/index${t}`,t));const r=n.lastIndexOf("/"),o=n.substring(r+1);{const s=o.lastIndexOf(t);return o.substring(0,s)}}var wl=(0,S0.default)({circles:!0});const O0={trailing:!0};function er(e,t=25,n={}){if(n={...O0,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,o,s=[],i,a;const l=(c,f)=>(i=x0(e,c,f),i.finally(()=>{if(i=null,n.trailing&&a&&!o){const u=l(c,a);return a=null,u}}),i);return function(...c){return i?(n.trailing&&(a=c),i):new Promise(f=>{const u=!o&&n.leading;clearTimeout(o),o=setTimeout(()=>{o=null;const d=n.leading?r:l(this,c);for(const p of s)p(d);s=[]},t),u?(r=l(this,c),f(r)):s.push(f)})}}async function x0(e,t,n){return await e.apply(t,n)}function Zs(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?Zs(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const k0={run:e=>e()},P0=()=>k0,Hf=typeof console.createTask<"u"?console.createTask:P0;function I0(e,t){const n=t.shift(),r=Hf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function L0(e,t){const n=t.shift(),r=Hf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function xs(e,t){for(const n of[...e])n(t)}class R0{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=Zs(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=Zs(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(I0,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(L0,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&xs(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&xs(this._after,o)}):(this._after&&o&&xs(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function Ff(){return new R0}var D0=Object.create,$f=Object.defineProperty,V0=Object.getOwnPropertyDescriptor,zi=Object.getOwnPropertyNames,N0=Object.getPrototypeOf,M0=Object.prototype.hasOwnProperty,B0=(e,t)=>function(){return e&&(t=(0,e[zi(e)[0]])(e=0)),t},Uf=(e,t)=>function(){return t||(0,e[zi(e)[0]])((t={exports:{}}).exports,t),t.exports},H0=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zi(t))!M0.call(e,o)&&o!==n&&$f(e,o,{get:()=>t[o],enumerable:!(r=V0(t,o))||r.enumerable});return e},F0=(e,t,n)=>(n=e!=null?D0(N0(e)):{},H0($f(n,"default",{value:e,enumerable:!0}),e)),I=B0({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@22.10.1__@swc+core@1.5.29_jiti@2.0.0_p_swvvp2d4pgn6xuiiec4l4x2i7a/node_modules/tsup/assets/esm_shims.js"(){}}),$0=Uf({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(e,t){I(),function(n){var r={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"Ae",Å:"A",Æ:"AE",Ç:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"Oe",Ő:"O",Ø:"O",Ù:"U",Ú:"U",Û:"U",Ü:"Ue",Ű:"U",Ý:"Y",Þ:"TH",ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"ae",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"oe",ő:"o",ø:"o",ù:"u",ú:"u",û:"u",ü:"ue",ű:"u",ý:"y",þ:"th",ÿ:"y","ẞ":"SS",ا:"a",أ:"a",إ:"i",آ:"aa",ؤ:"u",ئ:"e",ء:"a",ب:"b",ت:"t",ث:"th",ج:"j",ح:"h",خ:"kh",د:"d",ذ:"th",ر:"r",ز:"z",س:"s",ش:"sh",ص:"s",ض:"dh",ط:"t",ظ:"z",ع:"a",غ:"gh",ف:"f",ق:"q",ك:"k",ل:"l",م:"m",ن:"n",ه:"h",و:"w",ي:"y",ى:"a",ة:"h",ﻻ:"la",ﻷ:"laa",ﻹ:"lai",ﻵ:"laa",گ:"g",چ:"ch",پ:"p",ژ:"zh",ک:"k",ی:"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9",က:"k",ခ:"kh",ဂ:"g",ဃ:"ga",င:"ng",စ:"s",ဆ:"sa",ဇ:"z","စျ":"za",ည:"ny",ဋ:"t",ဌ:"ta",ဍ:"d",ဎ:"da",ဏ:"na",တ:"t",ထ:"ta",ဒ:"d",ဓ:"da",န:"n",ပ:"p",ဖ:"pa",ဗ:"b",ဘ:"ba",မ:"m",ယ:"y",ရ:"ya",လ:"l",ဝ:"w",သ:"th",ဟ:"h",ဠ:"la",အ:"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h",ဧ:"e","၏":"-e",ဣ:"i",ဤ:"-i",ဉ:"u",ဦ:"-u",ဩ:"aw","သြော":"aw",ဪ:"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"",č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z",ހ:"h",ށ:"sh",ނ:"n",ރ:"r",ބ:"b",ޅ:"lh",ކ:"k",އ:"a",ވ:"v",މ:"m",ފ:"f",ދ:"dh",ތ:"th",ލ:"l",ގ:"g",ޏ:"gn",ސ:"s",ޑ:"d",ޒ:"z",ޓ:"t",ޔ:"y",ޕ:"p",ޖ:"j",ޗ:"ch",ޘ:"tt",ޙ:"hh",ޚ:"kh",ޛ:"th",ޜ:"z",ޝ:"sh",ޞ:"s",ޟ:"d",ޠ:"t",ޡ:"z",ޢ:"a",ޣ:"gh",ޤ:"q",ޥ:"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"",ა:"a",ბ:"b",გ:"g",დ:"d",ე:"e",ვ:"v",ზ:"z",თ:"t",ი:"i",კ:"k",ლ:"l",მ:"m",ნ:"n",ო:"o",პ:"p",ჟ:"zh",რ:"r",ს:"s",ტ:"t",უ:"u",ფ:"p",ქ:"k",ღ:"gh",ყ:"q",შ:"sh",ჩ:"ch",ც:"ts",ძ:"dz",წ:"ts",ჭ:"ch",ხ:"kh",ჯ:"j",ჰ:"h",α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"ks",ο:"o",π:"p",ρ:"r",σ:"s",τ:"t",υ:"y",φ:"f",χ:"x",ψ:"ps",ω:"o",ά:"a",έ:"e",ί:"i",ό:"o",ύ:"y",ή:"i",ώ:"o",ς:"s",ϊ:"i",ΰ:"y",ϋ:"y",ΐ:"i",Α:"A",Β:"B",Γ:"G",Δ:"D",Ε:"E",Ζ:"Z",Η:"I",Θ:"TH",Ι:"I",Κ:"K",Λ:"L",Μ:"M",Ν:"N",Ξ:"KS",Ο:"O",Π:"P",Ρ:"R",Σ:"S",Τ:"T",Υ:"Y",Φ:"F",Χ:"X",Ψ:"PS",Ω:"O",Ά:"A",Έ:"E",Ί:"I",Ό:"O",Ύ:"Y",Ή:"I",Ώ:"O",Ϊ:"I",Ϋ:"Y",ā:"a",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",ū:"u",Ā:"A",Ē:"E",Ģ:"G",Ī:"I",Ķ:"k",Ļ:"L",Ņ:"N",Ū:"U",Ќ:"Kj",ќ:"kj",Љ:"Lj",љ:"lj",Њ:"Nj",њ:"nj",Тс:"Ts",тс:"ts",ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"E",Ł:"L",Ń:"N",Ś:"S",Ź:"Z",Ż:"Z",Є:"Ye",І:"I",Ї:"Yi",Ґ:"G",є:"ye",і:"i",ї:"yi",ґ:"g",ă:"a",Ă:"A",ș:"s",Ș:"S",ț:"t",Ț:"T",ţ:"t",Ţ:"T",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"c",ч:"ch",ш:"sh",щ:"sh",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"I",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"Kh",Ц:"C",Ч:"Ch",Ш:"Sh",Щ:"Sh",Ъ:"",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya",ђ:"dj",ј:"j",ћ:"c",џ:"dz",Ђ:"Dj",Ј:"j",Ћ:"C",Џ:"Dz",ľ:"l",ĺ:"l",ŕ:"r",Ľ:"L",Ĺ:"L",Ŕ:"R",ş:"s",Ş:"S",ı:"i",İ:"I",ğ:"g",Ğ:"G",ả:"a",Ả:"A",ẳ:"a",Ẳ:"A",ẩ:"a",Ẩ:"A",đ:"d",Đ:"D",ẹ:"e",Ẹ:"E",ẽ:"e",Ẽ:"E",ẻ:"e",Ẻ:"E",ế:"e",Ế:"E",ề:"e",Ề:"E",ệ:"e",Ệ:"E",ễ:"e",Ễ:"E",ể:"e",Ể:"E",ỏ:"o",ọ:"o",Ọ:"o",ố:"o",Ố:"O",ồ:"o",Ồ:"O",ổ:"o",Ổ:"O",ộ:"o",Ộ:"O",ỗ:"o",Ỗ:"O",ơ:"o",Ơ:"O",ớ:"o",Ớ:"O",ờ:"o",Ờ:"O",ợ:"o",Ợ:"O",ỡ:"o",Ỡ:"O",Ở:"o",ở:"o",ị:"i",Ị:"I",ĩ:"i",Ĩ:"I",ỉ:"i",Ỉ:"i",ủ:"u",Ủ:"U",ụ:"u",Ụ:"U",ũ:"u",Ũ:"U",ư:"u",Ư:"U",ứ:"u",Ứ:"U",ừ:"u",Ừ:"U",ự:"u",Ự:"U",ữ:"u",Ữ:"U",ử:"u",Ử:"ư",ỷ:"y",Ỷ:"y",ỳ:"y",Ỳ:"Y",ỵ:"y",Ỵ:"Y",ỹ:"y",Ỹ:"Y",ạ:"a",Ạ:"A",ấ:"a",Ấ:"A",ầ:"a",Ầ:"A",ậ:"a",Ậ:"A",ẫ:"a",Ẫ:"A",ắ:"a",Ắ:"A",ằ:"a",Ằ:"A",ặ:"a",Ặ:"A",ẵ:"a",Ẵ:"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d",ƒ:"f","™":"(TM)","©":"(C)",œ:"oe",Œ:"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o",º:"o",ª:"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY",元:"CNY",円:"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN",лв:"BGN","៛":"KHR","₡":"CRC","₸":"KZT",ден:"MKD",zł:"PLN","₽":"RUB","₾":"GEL"},o=["်","ް"],s={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},i={en:{},az:{ç:"c",ə:"e",ğ:"g",ı:"i",ö:"o",ş:"s",ü:"u",Ç:"C",Ə:"E",Ğ:"G",İ:"I",Ö:"O",Ş:"S",Ü:"U"},cs:{č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z"},fi:{ä:"a",Ä:"A",ö:"o",Ö:"O"},hu:{ä:"a",Ä:"A",ö:"o",Ö:"O",ü:"u",Ü:"U",ű:"u",Ű:"U"},lt:{ą:"a",č:"c",ę:"e",ė:"e",į:"i",š:"s",ų:"u",ū:"u",ž:"z",Ą:"A",Č:"C",Ę:"E",Ė:"E",Į:"I",Š:"S",Ų:"U",Ū:"U"},lv:{ā:"a",č:"c",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",š:"s",ū:"u",ž:"z",Ā:"A",Č:"C",Ē:"E",Ģ:"G",Ī:"i",Ķ:"k",Ļ:"L",Ņ:"N",Š:"S",Ū:"u",Ž:"Z"},pl:{ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ó:"o",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"e",Ł:"L",Ń:"N",Ó:"O",Ś:"S",Ź:"Z",Ż:"Z"},sv:{ä:"a",Ä:"A",ö:"o",Ö:"O"},sk:{ä:"a",Ä:"A"},sr:{љ:"lj",њ:"nj",Љ:"Lj",Њ:"Nj",đ:"dj",Đ:"Dj"},tr:{Ü:"U",Ö:"O",ü:"u",ö:"o"}},a={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},l=[";","?",":","@","&","=","+","$",",","/"].join(""),c=[";","?",":","@","&","=","+","$",","].join(""),f=[".","!","~","*","'","(",")"].join(""),u=function(y,E){var S="-",h="",b="",L=!0,z={},M,A,F,T,N,C,V,Q,ee,k,R,K,oe,be,xe="";if(typeof y!="string")return"";if(typeof E=="string"&&(S=E),V=a.en,Q=i.en,typeof E=="object"){M=E.maintainCase||!1,z=E.custom&&typeof E.custom=="object"?E.custom:z,F=+E.truncate>1&&E.truncate||!1,T=E.uric||!1,N=E.uricNoSlash||!1,C=E.mark||!1,L=!(E.symbols===!1||E.lang===!1),S=E.separator||S,T&&(xe+=l),N&&(xe+=c),C&&(xe+=f),V=E.lang&&a[E.lang]&&L?a[E.lang]:L?a.en:{},Q=E.lang&&i[E.lang]?i[E.lang]:E.lang===!1||E.lang===!0?{}:i.en,E.titleCase&&typeof E.titleCase.length=="number"&&Array.prototype.toString.call(E.titleCase)?(E.titleCase.forEach(function(me){z[me+""]=me+""}),A=!0):A=!!E.titleCase,E.custom&&typeof E.custom.length=="number"&&Array.prototype.toString.call(E.custom)&&E.custom.forEach(function(me){z[me+""]=me+""}),Object.keys(z).forEach(function(me){var Re;me.length>1?Re=new RegExp("\\b"+p(me)+"\\b","gi"):Re=new RegExp(p(me),"gi"),y=y.replace(Re,z[me])});for(R in z)xe+=R}for(xe+=S,xe=p(xe),y=y.replace(/(^\s+|\s+$)/g,""),oe=!1,be=!1,k=0,K=y.length;k=0?(b+=R,R=""):be===!0?(R=s[b]+r[R],b=""):R=oe&&r[R].match(/[A-Za-z0-9]/)?" "+r[R]:r[R],oe=!1,be=!1):R in s?(b+=R,R="",k===K-1&&(R=s[b]),be=!0):V[R]&&!(T&&l.indexOf(R)!==-1)&&!(N&&c.indexOf(R)!==-1)?(R=oe||h.substr(-1).match(/[A-Za-z0-9]/)?S+V[R]:V[R],R+=y[k+1]!==void 0&&y[k+1].match(/[A-Za-z0-9]/)?S:"",oe=!0):(be===!0?(R=s[b]+R,b="",be=!1):oe&&(/[A-Za-z0-9]/.test(R)||h.substr(-1).match(/A-Za-z0-9]/))&&(R=" "+R),oe=!1),h+=R.replace(new RegExp("[^\\w\\s"+xe+"_-]","g"),S);return A&&(h=h.replace(/(\w)(\S*)/g,function(me,Re,ot){var Me=Re.toUpperCase()+(ot!==null?ot:"");return Object.keys(z).indexOf(Me.toLowerCase())<0?Me:Me.toLowerCase()})),h=h.replace(/\s+/g,S).replace(new RegExp("\\"+S+"+","g"),S).replace(new RegExp("(^\\"+S+"+|\\"+S+"+$)","g"),""),F&&h.length>F&&(ee=h.charAt(F)===S,h=h.slice(0,F),ee||(h=h.slice(0,h.lastIndexOf(S)))),!M&&!A&&(h=h.toLowerCase()),h},d=function(y){return function(S){return u(S,y)}},p=function(y){return y.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},v=function(_,y){for(var E in y)if(y[E]===_)return!0};if(typeof t<"u"&&t.exports)t.exports=u,t.exports.createSlug=d;else if(typeof define<"u"&&define.amd)define([],function(){return u});else try{if(n.getSlug||n.createSlug)throw"speakingurl: globals exists /(getSlug|createSlug)/";n.getSlug=u,n.createSlug=d}catch{}}(e)}}),U0=Uf({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(e,t){I(),t.exports=$0()}});I();I();I();I();I();I();I();I();function j0(e){var t;const n=e.name||e._componentTag||e.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__||e.__name;return n==="index"&&((t=e.__file)!=null&&t.endsWith("index.vue"))?"":n}function z0(e){const t=e.__file;if(t)return A0(T0(t,".vue"))}function Cl(e,t){return e.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__=t,t}function ts(e){if(e.__VUE_DEVTOOLS_NEXT_APP_RECORD__)return e.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(e.root)return e.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__}async function K0(e){const{app:t,uid:n,instance:r}=e;try{if(r.__VUE_DEVTOOLS_NEXT_UID__)return r.__VUE_DEVTOOLS_NEXT_UID__;const o=await ts(t);if(!o)return null;const s=o.rootInstance===r;return`${o.id}:${s?"root":n}`}catch{}}function jf(e){var t,n;const r=(t=e.subTree)==null?void 0:t.type,o=ts(e);return o?((n=o==null?void 0:o.types)==null?void 0:n.Fragment)===r:!1}function ns(e){var t,n,r;const o=j0((e==null?void 0:e.type)||{});if(o)return o;if((e==null?void 0:e.root)===e)return"Root";for(const i in(n=(t=e.parent)==null?void 0:t.type)==null?void 0:n.components)if(e.parent.type.components[i]===(e==null?void 0:e.type))return Cl(e,i);for(const i in(r=e.appContext)==null?void 0:r.components)if(e.appContext.components[i]===(e==null?void 0:e.type))return Cl(e,i);const s=z0((e==null?void 0:e.type)||{});return s||"Anonymous Component"}function ei(e,t){return t=t||`${e.id}:root`,e.instanceMap.get(t)||e.instanceMap.get(":root")}function W0(){const e={top:0,bottom:0,left:0,right:0,get width(){return e.right-e.left},get height(){return e.bottom-e.top}};return e}var yo;function q0(e){return yo||(yo=document.createRange()),yo.selectNode(e),yo.getBoundingClientRect()}function G0(e){const t=W0();if(!e.children)return t;for(let n=0,r=e.children.length;ne.bottom)&&(e.bottom=t.bottom),(!e.left||t.lefte.right)&&(e.right=t.right),e}var Al={top:0,left:0,right:0,bottom:0,width:0,height:0};function In(e){const t=e.subTree.el;return typeof window>"u"?Al:jf(e)?G0(e.subTree):(t==null?void 0:t.nodeType)===1?t==null?void 0:t.getBoundingClientRect():e.subTree.component?In(e.subTree.component):Al}I();function Ki(e){return jf(e)?J0(e.subTree):e.subTree?[e.subTree.el]:[]}function J0(e){if(!e.children)return[];const t=[];return e.children.forEach(n=>{n.component?t.push(...Ki(n.component)):n!=null&&n.el&&t.push(n.el)}),t}var zf="__vue-devtools-component-inspector__",Kf="__vue-devtools-component-inspector__card__",Wf="__vue-devtools-component-inspector__name__",qf="__vue-devtools-component-inspector__indicator__",Gf={display:"block",zIndex:2147483640,position:"fixed",backgroundColor:"#42b88325",border:"1px solid #42b88350",borderRadius:"5px",transition:"all 0.1s ease-in",pointerEvents:"none"},Q0={fontFamily:"Arial, Helvetica, sans-serif",padding:"5px 8px",borderRadius:"4px",textAlign:"left",position:"absolute",left:0,color:"#e9e9e9",fontSize:"14px",fontWeight:600,lineHeight:"24px",backgroundColor:"#42b883",boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"},X0={display:"inline-block",fontWeight:400,fontStyle:"normal",fontSize:"12px",opacity:.7};function cr(){return document.getElementById(zf)}function Z0(){return document.getElementById(Kf)}function e1(){return document.getElementById(qf)}function t1(){return document.getElementById(Wf)}function Wi(e){return{left:`${Math.round(e.left*100)/100}px`,top:`${Math.round(e.top*100)/100}px`,width:`${Math.round(e.width*100)/100}px`,height:`${Math.round(e.height*100)/100}px`}}function qi(e){var t;const n=document.createElement("div");n.id=(t=e.elementId)!=null?t:zf,Object.assign(n.style,{...Gf,...Wi(e.bounds),...e.style});const r=document.createElement("span");r.id=Kf,Object.assign(r.style,{...Q0,top:e.bounds.top<35?0:"-35px"});const o=document.createElement("span");o.id=Wf,o.innerHTML=`<${e.name}>  `;const s=document.createElement("i");return s.id=qf,s.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`,Object.assign(s.style,X0),r.appendChild(o),r.appendChild(s),n.appendChild(r),document.body.appendChild(n),n}function Gi(e){const t=cr(),n=Z0(),r=t1(),o=e1();t&&(Object.assign(t.style,{...Gf,...Wi(e.bounds)}),Object.assign(n.style,{top:e.bounds.top<35?0:"-35px"}),r.innerHTML=`<${e.name}>  `,o.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`)}function n1(e){const t=In(e);if(!t.width&&!t.height)return;const n=ns(e);cr()?Gi({bounds:t,name:n}):qi({bounds:t,name:n})}function Yf(){const e=cr();e&&(e.style.display="none")}var ti=null;function ni(e){const t=e.target;if(t){const n=t.__vueParentComponent;if(n&&(ti=n,n.vnode.el)){const o=In(n),s=ns(n);cr()?Gi({bounds:o,name:s}):qi({bounds:o,name:s})}}}function r1(e,t){var n;if(e.preventDefault(),e.stopPropagation(),ti){const r=(n=et.value)==null?void 0:n.app;K0({app:r,uid:r.uid,instance:ti}).then(o=>{t(o)})}}var Bo=null;function o1(){Yf(),window.removeEventListener("mouseover",ni),window.removeEventListener("click",Bo,!0),Bo=null}function s1(){return window.addEventListener("mouseover",ni),new Promise(e=>{function t(n){n.preventDefault(),n.stopPropagation(),r1(n,r=>{window.removeEventListener("click",t,!0),Bo=null,window.removeEventListener("mouseover",ni);const o=cr();o&&(o.style.display="none"),e(JSON.stringify({id:r}))})}Bo=t,window.addEventListener("click",t,!0)})}function i1(e){const t=ei(et.value,e.id);if(t){const[n]=Ki(t);if(typeof n.scrollIntoView=="function")n.scrollIntoView({behavior:"smooth"});else{const r=In(t),o=document.createElement("div"),s={...Wi(r),position:"absolute"};Object.assign(o.style,s),document.body.appendChild(o),o.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{document.body.removeChild(o)},2e3)}setTimeout(()=>{const r=In(t);if(r.width||r.height){const o=ns(t),s=cr();s?Gi({...e,name:o,bounds:r}):qi({...e,name:o,bounds:r}),setTimeout(()=>{s&&(s.style.display="none")},1500)}},1200)}}I();var Tl,Ol;(Ol=(Tl=J).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__)!=null||(Tl.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__=!0);function a1(e){let t=0;const n=setInterval(()=>{J.__VUE_INSPECTOR__&&(clearInterval(n),t+=30,e()),t>=5e3&&clearInterval(n)},30)}function l1(){const e=J.__VUE_INSPECTOR__,t=e.openInEditor;e.openInEditor=async(...n)=>{e.disable(),t(...n)}}function u1(){return new Promise(e=>{function t(){l1(),e(J.__VUE_INSPECTOR__)}J.__VUE_INSPECTOR__?t():a1(()=>{t()})})}I();I();function c1(e){return!!(e&&e.__v_isReadonly)}function Jf(e){return c1(e)?Jf(e.__v_raw):!!(e&&e.__v_isReactive)}function ks(e){return!!(e&&e.__v_isRef===!0)}function Sr(e){const t=e&&e.__v_raw;return t?Sr(t):e}var f1=class{constructor(){this.refEditor=new d1}set(e,t,n,r){const o=Array.isArray(t)?t:t.split(".");for(;o.length>1;){const a=o.shift();e instanceof Map&&(e=e.get(a)),e instanceof Set?e=Array.from(e.values())[a]:e=e[a],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}const s=o[0],i=this.refEditor.get(e)[s];r?r(e,s,n):this.refEditor.isRef(i)?this.refEditor.set(i,n):e[s]=n}get(e,t){const n=Array.isArray(t)?t:t.split(".");for(let r=0;r"u")return!1;const r=Array.isArray(t)?t.slice():t.split("."),o=n?2:1;for(;e&&r.length>o;){const s=r.shift();e=e[s],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}return e!=null&&Object.prototype.hasOwnProperty.call(e,r[0])}createDefaultSetCallback(e){return(t,n,r)=>{if((e.remove||e.newKey)&&(Array.isArray(t)?t.splice(n,1):Sr(t)instanceof Map?t.delete(n):Sr(t)instanceof Set?t.delete(Array.from(t.values())[n]):Reflect.deleteProperty(t,n)),!e.remove){const o=t[e.newKey||n];this.refEditor.isRef(o)?this.refEditor.set(o,r):Sr(t)instanceof Map?t.set(e.newKey||n,r):Sr(t)instanceof Set?t.add(r):t[e.newKey||n]=r}}}},d1=class{set(e,t){if(ks(e))e.value=t;else{if(e instanceof Set&&Array.isArray(t)){e.clear(),t.forEach(o=>e.add(o));return}const n=Object.keys(t);if(e instanceof Map){const o=new Set(e.keys());n.forEach(s=>{e.set(s,Reflect.get(t,s)),o.delete(s)}),o.forEach(s=>e.delete(s));return}const r=new Set(Object.keys(e));n.forEach(o=>{Reflect.set(e,o,Reflect.get(t,o)),r.delete(o)}),r.forEach(o=>Reflect.deleteProperty(e,o))}}get(e){return ks(e)?e.value:e}isRef(e){return ks(e)||Jf(e)}};I();I();I();var p1="__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";function h1(){if(!Bf||typeof localStorage>"u"||localStorage===null)return{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""};const e=localStorage.getItem(p1);return e?JSON.parse(e):{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""}}I();I();I();var xl,kl;(kl=(xl=J).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS)!=null||(xl.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS=[]);var m1=new Proxy(J.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS,{get(e,t,n){return Reflect.get(e,t,n)}});function g1(e,t){Ue.timelineLayersState[t.id]=!1,m1.push({...e,descriptorId:t.id,appRecord:ts(t.app)})}var Pl,Il;(Il=(Pl=J).__VUE_DEVTOOLS_KIT_INSPECTOR__)!=null||(Pl.__VUE_DEVTOOLS_KIT_INSPECTOR__=[]);var Yi=new Proxy(J.__VUE_DEVTOOLS_KIT_INSPECTOR__,{get(e,t,n){return Reflect.get(e,t,n)}}),Qf=er(()=>{fr.hooks.callHook("sendInspectorToClient",Xf())});function v1(e,t){var n,r;Yi.push({options:e,descriptor:t,treeFilterPlaceholder:(n=e.treeFilterPlaceholder)!=null?n:"Search tree...",stateFilterPlaceholder:(r=e.stateFilterPlaceholder)!=null?r:"Search state...",treeFilter:"",selectedNodeId:"",appRecord:ts(t.app)}),Qf()}function Xf(){return Yi.filter(e=>e.descriptor.app===et.value.app).filter(e=>e.descriptor.id!=="components").map(e=>{var t;const n=e.descriptor,r=e.options;return{id:r.id,label:r.label,logo:n.logo,icon:`custom-ic-baseline-${(t=r==null?void 0:r.icon)==null?void 0:t.replace(/_/g,"-")}`,packageName:n.packageName,homepage:n.homepage,pluginId:n.id}})}function Ao(e,t){return Yi.find(n=>n.options.id===e&&(t?n.descriptor.app===t:!0))}function _1(){const e=Ff();e.hook("addInspector",({inspector:r,plugin:o})=>{v1(r,o.descriptor)});const t=er(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||Ue.highPerfModeEnabled)return;const i=Ao(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,filter:(i==null?void 0:i.treeFilter)||"",rootNodes:[]};await new Promise(l=>{e.callHookWith(async c=>{await Promise.all(c.map(f=>f(a))),l()},"getInspectorTree")}),e.callHookWith(async l=>{await Promise.all(l.map(c=>c({inspectorId:r,rootNodes:a.rootNodes})))},"sendInspectorTreeToClient")},120);e.hook("sendInspectorTree",t);const n=er(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||Ue.highPerfModeEnabled)return;const i=Ao(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,nodeId:(i==null?void 0:i.selectedNodeId)||"",state:null},l={currentTab:`custom-inspector:${r}`};a.nodeId&&await new Promise(c=>{e.callHookWith(async f=>{await Promise.all(f.map(u=>u(a,l))),c()},"getInspectorState")}),e.callHookWith(async c=>{await Promise.all(c.map(f=>f({inspectorId:r,nodeId:a.nodeId,state:a.state})))},"sendInspectorStateToClient")},120);return e.hook("sendInspectorState",n),e.hook("customInspectorSelectNode",({inspectorId:r,nodeId:o,plugin:s})=>{const i=Ao(r,s.descriptor.app);i&&(i.selectedNodeId=o)}),e.hook("timelineLayerAdded",({options:r,plugin:o})=>{g1(r,o.descriptor)}),e.hook("timelineEventAdded",({options:r,plugin:o})=>{var s;const i=["performance","component-event","keyboard","mouse"];Ue.highPerfModeEnabled||!((s=Ue.timelineLayersState)!=null&&s[o.descriptor.id])&&!i.includes(r.layerId)||e.callHookWith(async a=>{await Promise.all(a.map(l=>l(r)))},"sendTimelineEventToClient")}),e.hook("getComponentInstances",async({app:r})=>{const o=r.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(!o)return null;const s=o.id.toString();return[...o.instanceMap].filter(([a])=>a.split(":")[0]===s).map(([,a])=>a)}),e.hook("getComponentBounds",async({instance:r})=>In(r)),e.hook("getComponentName",({instance:r})=>ns(r)),e.hook("componentHighlight",({uid:r})=>{const o=et.value.instanceMap.get(r);o&&n1(o)}),e.hook("componentUnhighlight",()=>{Yf()}),e}var Ll,Rl;(Rl=(Ll=J).__VUE_DEVTOOLS_KIT_APP_RECORDS__)!=null||(Ll.__VUE_DEVTOOLS_KIT_APP_RECORDS__=[]);var Dl,Vl;(Vl=(Dl=J).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__)!=null||(Dl.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__={});var Nl,Ml;(Ml=(Nl=J).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__)!=null||(Nl.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__="");var Bl,Hl;(Hl=(Bl=J).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__)!=null||(Bl.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__=[]);var Fl,$l;($l=(Fl=J).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__)!=null||(Fl.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__=[]);var Tn="__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";function y1(){return{connected:!1,clientConnected:!1,vitePluginDetected:!0,appRecords:[],activeAppRecordId:"",tabs:[],commands:[],highPerfModeEnabled:!0,devtoolsClientDetected:{},perfUniqueGroupId:0,timelineLayersState:h1()}}var Ul,jl;(jl=(Ul=J)[Tn])!=null||(Ul[Tn]=y1());var b1=er(e=>{fr.hooks.callHook("devtoolsStateUpdated",{state:e})});er((e,t)=>{fr.hooks.callHook("devtoolsConnectedUpdated",{state:e,oldState:t})});var rs=new Proxy(J.__VUE_DEVTOOLS_KIT_APP_RECORDS__,{get(e,t,n){return t==="value"?J.__VUE_DEVTOOLS_KIT_APP_RECORDS__:J.__VUE_DEVTOOLS_KIT_APP_RECORDS__[t]}}),et=new Proxy(J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__,{get(e,t,n){return t==="value"?J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__:t==="id"?J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__:J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[t]}});function Zf(){b1({...J[Tn],appRecords:rs.value,activeAppRecordId:et.id,tabs:J.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,commands:J.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__})}function E1(e){J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__=e,Zf()}function S1(e){J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__=e,Zf()}var Ue=new Proxy(J[Tn],{get(e,t){return t==="appRecords"?rs:t==="activeAppRecordId"?et.id:t==="tabs"?J.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__:t==="commands"?J.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__:J[Tn][t]},deleteProperty(e,t){return delete e[t],!0},set(e,t,n){return{...J[Tn]},e[t]=n,J[Tn][t]=n,!0}});function w1(e={}){var t,n,r;const{file:o,host:s,baseUrl:i=window.location.origin,line:a=0,column:l=0}=e;if(o){if(s==="chrome-extension"){const c=o.replace(/\\/g,"\\\\"),f=(n=(t=window.VUE_DEVTOOLS_CONFIG)==null?void 0:t.openInEditorHost)!=null?n:"/";fetch(`${f}__open-in-editor?file=${encodeURI(o)}`).then(u=>{if(!u.ok){const d=`Opening component ${c} failed`;console.log(`%c${d}`,"color:red")}})}else if(Ue.vitePluginDetected){const c=(r=J.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__)!=null?r:i;J.__VUE_INSPECTOR__.openInEditor(c,o,a,l)}}}I();I();I();I();I();var zl,Kl;(Kl=(zl=J).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__)!=null||(zl.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__=[]);var Ji=new Proxy(J.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__,{get(e,t,n){return Reflect.get(e,t,n)}});function ri(e){const t={};return Object.keys(e).forEach(n=>{t[n]=e[n].defaultValue}),t}function Qi(e){return`__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${e}__`}function C1(e){var t,n,r;const o=(n=(t=Ji.find(s=>{var i;return s[0].id===e&&!!((i=s[0])!=null&&i.settings)}))==null?void 0:t[0])!=null?n:null;return(r=o==null?void 0:o.settings)!=null?r:null}function ed(e,t){var n,r,o;const s=Qi(e);if(s){const i=localStorage.getItem(s);if(i)return JSON.parse(i)}if(e){const i=(r=(n=Ji.find(a=>a[0].id===e))==null?void 0:n[0])!=null?r:null;return ri((o=i==null?void 0:i.settings)!=null?o:{})}return ri(t)}function A1(e,t){const n=Qi(e);localStorage.getItem(n)||localStorage.setItem(n,JSON.stringify(ri(t)))}function T1(e,t,n){const r=Qi(e),o=localStorage.getItem(r),s=JSON.parse(o||"{}"),i={...s,[t]:n};localStorage.setItem(r,JSON.stringify(i)),fr.hooks.callHookWith(a=>{a.forEach(l=>l({pluginId:e,key:t,oldValue:s[t],newValue:n,settings:i}))},"setPluginSettings")}I();I();I();I();I();I();I();I();I();I();I();var Wl,ql,ft=(ql=(Wl=J).__VUE_DEVTOOLS_HOOK)!=null?ql:Wl.__VUE_DEVTOOLS_HOOK=Ff(),O1={vueAppInit(e){ft.hook("app:init",e)},vueAppUnmount(e){ft.hook("app:unmount",e)},vueAppConnected(e){ft.hook("app:connected",e)},componentAdded(e){return ft.hook("component:added",e)},componentEmit(e){return ft.hook("component:emit",e)},componentUpdated(e){return ft.hook("component:updated",e)},componentRemoved(e){return ft.hook("component:removed",e)},setupDevtoolsPlugin(e){ft.hook("devtools-plugin:setup",e)},perfStart(e){return ft.hook("perf:start",e)},perfEnd(e){return ft.hook("perf:end",e)}},td={on:O1,setupDevToolsPlugin(e,t){return ft.callHook("devtools-plugin:setup",e,t)}},x1=class{constructor({plugin:e,ctx:t}){this.hooks=t.hooks,this.plugin=e}get on(){return{visitComponentTree:e=>{this.hooks.hook("visitComponentTree",e)},inspectComponent:e=>{this.hooks.hook("inspectComponent",e)},editComponentState:e=>{this.hooks.hook("editComponentState",e)},getInspectorTree:e=>{this.hooks.hook("getInspectorTree",e)},getInspectorState:e=>{this.hooks.hook("getInspectorState",e)},editInspectorState:e=>{this.hooks.hook("editInspectorState",e)},inspectTimelineEvent:e=>{this.hooks.hook("inspectTimelineEvent",e)},timelineCleared:e=>{this.hooks.hook("timelineCleared",e)},setPluginSettings:e=>{this.hooks.hook("setPluginSettings",e)}}}notifyComponentUpdate(e){var t;if(Ue.highPerfModeEnabled)return;const n=Xf().find(r=>r.packageName===this.plugin.descriptor.packageName);if(n!=null&&n.id){if(e){const r=[e.appContext.app,e.uid,(t=e.parent)==null?void 0:t.uid,e];ft.callHook("component:updated",...r)}else ft.callHook("component:updated");this.hooks.callHook("sendInspectorState",{inspectorId:n.id,plugin:this.plugin})}}addInspector(e){this.hooks.callHook("addInspector",{inspector:e,plugin:this.plugin}),this.plugin.descriptor.settings&&A1(e.id,this.plugin.descriptor.settings)}sendInspectorTree(e){Ue.highPerfModeEnabled||this.hooks.callHook("sendInspectorTree",{inspectorId:e,plugin:this.plugin})}sendInspectorState(e){Ue.highPerfModeEnabled||this.hooks.callHook("sendInspectorState",{inspectorId:e,plugin:this.plugin})}selectInspectorNode(e,t){this.hooks.callHook("customInspectorSelectNode",{inspectorId:e,nodeId:t,plugin:this.plugin})}visitComponentTree(e){return this.hooks.callHook("visitComponentTree",e)}now(){return Ue.highPerfModeEnabled?0:Date.now()}addTimelineLayer(e){this.hooks.callHook("timelineLayerAdded",{options:e,plugin:this.plugin})}addTimelineEvent(e){Ue.highPerfModeEnabled||this.hooks.callHook("timelineEventAdded",{options:e,plugin:this.plugin})}getSettings(e){return ed(e??this.plugin.descriptor.id,this.plugin.descriptor.settings)}getComponentInstances(e){return this.hooks.callHook("getComponentInstances",{app:e})}getComponentBounds(e){return this.hooks.callHook("getComponentBounds",{instance:e})}getComponentName(e){return this.hooks.callHook("getComponentName",{instance:e})}highlightElement(e){const t=e.__VUE_DEVTOOLS_NEXT_UID__;return this.hooks.callHook("componentHighlight",{uid:t})}unhighlightElement(){return this.hooks.callHook("componentUnhighlight")}},k1=x1;I();I();I();I();var P1="__vue_devtool_undefined__",I1="__vue_devtool_infinity__",L1="__vue_devtool_negative_infinity__",R1="__vue_devtool_nan__";I();I();var D1={[P1]:"undefined",[R1]:"NaN",[I1]:"Infinity",[L1]:"-Infinity"};Object.entries(D1).reduce((e,[t,n])=>(e[n]=t,e),{});I();I();I();I();I();var Gl,Yl;(Yl=(Gl=J).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__)!=null||(Gl.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__=new Set);function V1(e,t){return td.setupDevToolsPlugin(e,t)}function N1(e,t){const[n,r]=e;if(n.app!==t)return;const o=new k1({plugin:{setupFn:r,descriptor:n},ctx:fr});n.packageName==="vuex"&&o.on.editInspectorState(s=>{o.sendInspectorState(s.inspectorId)}),r(o)}function nd(e){J.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(e)||Ue.highPerfModeEnabled||(J.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(e),Ji.forEach(t=>{N1(t,e)}))}I();I();var zr="__VUE_DEVTOOLS_ROUTER__",tr="__VUE_DEVTOOLS_ROUTER_INFO__",Jl,Ql;(Ql=(Jl=J)[tr])!=null||(Jl[tr]={currentRoute:null,routes:[]});var Xl,Zl;(Zl=(Xl=J)[zr])!=null||(Xl[zr]={});new Proxy(J[tr],{get(e,t){return J[tr][t]}});new Proxy(J[zr],{get(e,t){if(t==="value")return J[zr]}});function M1(e){const t=new Map;return((e==null?void 0:e.getRoutes())||[]).filter(n=>!t.has(n.path)&&t.set(n.path,1))}function Xi(e){return e.map(t=>{let{path:n,name:r,children:o,meta:s}=t;return o!=null&&o.length&&(o=Xi(o)),{path:n,name:r,children:o,meta:s}})}function B1(e){if(e){const{fullPath:t,hash:n,href:r,path:o,name:s,matched:i,params:a,query:l}=e;return{fullPath:t,hash:n,href:r,path:o,name:s,params:a,query:l,matched:Xi(i)}}return e}function H1(e,t){function n(){var r;const o=(r=e.app)==null?void 0:r.config.globalProperties.$router,s=B1(o==null?void 0:o.currentRoute.value),i=Xi(M1(o)),a=console.warn;console.warn=()=>{},J[tr]={currentRoute:s?wl(s):{},routes:wl(i)},J[zr]=o,console.warn=a}n(),td.on.componentUpdated(er(()=>{var r;((r=t.value)==null?void 0:r.app)===e.app&&(n(),!Ue.highPerfModeEnabled&&fr.hooks.callHook("routerInfoUpdated",{state:J[tr]}))},200))}function F1(e){return{async getInspectorTree(t){const n={...t,app:et.value.app,rootNodes:[]};return await new Promise(r=>{e.callHookWith(async o=>{await Promise.all(o.map(s=>s(n))),r()},"getInspectorTree")}),n.rootNodes},async getInspectorState(t){const n={...t,app:et.value.app,state:null},r={currentTab:`custom-inspector:${t.inspectorId}`};return await new Promise(o=>{e.callHookWith(async s=>{await Promise.all(s.map(i=>i(n,r))),o()},"getInspectorState")}),n.state},editInspectorState(t){const n=new f1,r={...t,app:et.value.app,set:(o,s=t.path,i=t.state.value,a)=>{n.set(o,s,i,a||n.createDefaultSetCallback(t.state))}};e.callHookWith(o=>{o.forEach(s=>s(r))},"editInspectorState")},sendInspectorState(t){const n=Ao(t);e.callHook("sendInspectorState",{inspectorId:t,plugin:{descriptor:n.descriptor,setupFn:()=>({})}})},inspectComponentInspector(){return s1()},cancelInspectComponentInspector(){return o1()},getComponentRenderCode(t){const n=ei(et.value,t);if(n)return(n==null?void 0:n.type)instanceof Function?n.type.toString():n.render.toString()},scrollToComponent(t){return i1({id:t})},openInEditor:w1,getVueInspector:u1,toggleApp(t){const n=rs.value.find(r=>r.id===t);n&&(S1(t),E1(n),H1(n,et),Qf(),nd(n.app))},inspectDOM(t){const n=ei(et.value,t);if(n){const[r]=Ki(n);r&&(J.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__=r)}},updatePluginSettings(t,n,r){T1(t,n,r)},getPluginSettings(t){return{options:C1(t),values:ed(t)}}}}I();var eu,tu;(tu=(eu=J).__VUE_DEVTOOLS_ENV__)!=null||(eu.__VUE_DEVTOOLS_ENV__={vitePluginDetected:!1});var nu=_1(),ru,ou;(ou=(ru=J).__VUE_DEVTOOLS_KIT_CONTEXT__)!=null||(ru.__VUE_DEVTOOLS_KIT_CONTEXT__={hooks:nu,get state(){return{...Ue,activeAppRecordId:et.id,activeAppRecord:et.value,appRecords:rs.value}},api:F1(nu)});var fr=J.__VUE_DEVTOOLS_KIT_CONTEXT__;I();F0(U0());var su,iu;(iu=(su=J).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__)!=null||(su.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__={id:0,appIds:new Set});I();function $1(e){Ue.highPerfModeEnabled=e??!Ue.highPerfModeEnabled,!e&&et.value&&nd(et.value.app)}I();I();I();function U1(e){Ue.devtoolsClientDetected={...Ue.devtoolsClientDetected,...e};const t=Object.values(Ue.devtoolsClientDetected).some(Boolean);$1(!t)}var au,lu;(lu=(au=J).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__)!=null||(au.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__=U1);I();I();I();I();I();I();I();var j1=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},rd=class{constructor(e){this.generateIdentifier=e,this.kv=new j1}register(e,t){this.kv.getByValue(e)||(t||(t=this.generateIdentifier(e)),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},z1=class extends rd{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t=="object"?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};I();I();function K1(e){if("values"in Object)return Object.values(e);const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function W1(e,t){const n=K1(e);if("find"in n)return n.find(t);const r=n;for(let o=0;ot(r,n))}function To(e,t){return e.indexOf(t)!==-1}function uu(e,t){for(let n=0;nt.isApplicable(e))}findByName(e){return this.transfomers[e]}};I();I();var G1=e=>Object.prototype.toString.call(e).slice(8,-1),od=e=>typeof e>"u",Y1=e=>e===null,Kr=e=>typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,oi=e=>Kr(e)&&Object.keys(e).length===0,hn=e=>Array.isArray(e),J1=e=>typeof e=="string",Q1=e=>typeof e=="number"&&!isNaN(e),X1=e=>typeof e=="boolean",Z1=e=>e instanceof RegExp,Wr=e=>e instanceof Map,qr=e=>e instanceof Set,sd=e=>G1(e)==="Symbol",ey=e=>e instanceof Date&&!isNaN(e.valueOf()),ty=e=>e instanceof Error,cu=e=>typeof e=="number"&&isNaN(e),ny=e=>X1(e)||Y1(e)||od(e)||Q1(e)||J1(e)||sd(e),ry=e=>typeof e=="bigint",oy=e=>e===1/0||e===-1/0,sy=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),iy=e=>e instanceof URL;I();var id=e=>e.replace(/\./g,"\\."),Ps=e=>e.map(String).map(id).join("."),Lr=e=>{const t=[];let n="";for(let o=0;onull,()=>{}),It(ry,"bigint",e=>e.toString(),e=>typeof BigInt<"u"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),It(ey,"Date",e=>e.toISOString(),e=>new Date(e)),It(ty,"Error",(e,t)=>{const n={name:e.name,message:e.message};return t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n},(e,t)=>{const n=new Error(e.message);return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n}),It(Z1,"regexp",e=>""+e,e=>{const t=e.slice(1,e.lastIndexOf("/")),n=e.slice(e.lastIndexOf("/")+1);return new RegExp(t,n)}),It(qr,"set",e=>[...e.values()],e=>new Set(e)),It(Wr,"map",e=>[...e.entries()],e=>new Map(e)),It(e=>cu(e)||oy(e),"number",e=>cu(e)?"NaN":e>0?"Infinity":"-Infinity",Number),It(e=>e===0&&1/e===-1/0,"number",()=>"-0",Number),It(iy,"URL",e=>e.toString(),e=>new URL(e))];function os(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var ld=os((e,t)=>sd(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>["symbol",t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{const r=n.symbolRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown symbol");return r}),ay=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),ud=os(sy,e=>["typed-array",e.constructor.name],e=>[...e],(e,t)=>{const n=ay[t[1]];if(!n)throw new Error("Trying to deserialize unknown typed array");return new n(e)});function cd(e,t){return e!=null&&e.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var fd=os(cd,(e,t)=>["class",t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{const n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};const r={};return n.forEach(o=>{r[o]=e[o]}),r},(e,t,n)=>{const r=n.classRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown class - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564");return Object.assign(Object.create(r.prototype),e)}),dd=os((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>["custom",t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{const r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw new Error("Trying to deserialize unknown custom value");return r.deserialize(e)}),ly=[fd,ld,dd,ud],fu=(e,t)=>{const n=uu(ly,o=>o.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};const r=uu(ad,o=>o.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},pd={};ad.forEach(e=>{pd[e.annotation]=e});var uy=(e,t,n)=>{if(hn(t))switch(t[0]){case"symbol":return ld.untransform(e,t,n);case"class":return fd.untransform(e,t,n);case"custom":return dd.untransform(e,t,n);case"typed-array":return ud.untransform(e,t,n);default:throw new Error("Unknown transformation: "+t)}else{const r=pd[t];if(!r)throw new Error("Unknown transformation: "+t);return r.untransform(e,n)}};I();var Fn=(e,t)=>{const n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function hd(e){if(To(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(To(e,"prototype"))throw new Error("prototype is not allowed as a property");if(To(e,"constructor"))throw new Error("constructor is not allowed as a property")}var cy=(e,t)=>{hd(t);for(let n=0;n{if(hd(t),t.length===0)return n(e);let r=e;for(let s=0;sii(s,t,[...n,...Lr(i)]));return}const[r,o]=e;o&&nr(o,(s,i)=>{ii(s,t,[...n,...Lr(i)])}),t(r,n)}function fy(e,t,n){return ii(t,(r,o)=>{e=si(e,o,s=>uy(s,r,n))}),e}function dy(e,t){function n(r,o){const s=cy(e,Lr(o));r.map(Lr).forEach(i=>{e=si(e,i,()=>s)})}if(hn(t)){const[r,o]=t;r.forEach(s=>{e=si(e,Lr(s),()=>e)}),o&&nr(o,n)}else nr(t,n);return e}var py=(e,t)=>Kr(e)||hn(e)||Wr(e)||qr(e)||cd(e,t);function hy(e,t,n){const r=n.get(e);r?r.push(t):n.set(e,[t])}function my(e,t){const n={};let r;return e.forEach(o=>{if(o.length<=1)return;t||(o=o.map(a=>a.map(String)).sort((a,l)=>a.length-l.length));const[s,...i]=o;s.length===0?r=i.map(Ps):n[Ps(s)]=i.map(Ps)}),r?oi(n)?[r]:[r,n]:oi(n)?void 0:n}var md=(e,t,n,r,o=[],s=[],i=new Map)=>{var a;const l=ny(e);if(!l){hy(e,o,t);const v=i.get(e);if(v)return r?{transformedValue:null}:v}if(!py(e,n)){const v=fu(e,n),_=v?{transformedValue:v.value,annotations:[v.type]}:{transformedValue:e};return l||i.set(e,_),_}if(To(s,e))return{transformedValue:null};const c=fu(e,n),f=(a=c==null?void 0:c.value)!=null?a:e,u=hn(f)?[]:{},d={};nr(f,(v,_)=>{if(_==="__proto__"||_==="constructor"||_==="prototype")throw new Error(`Detected property ${_}. This is a prototype pollution risk, please remove it from your object.`);const y=md(v,t,n,r,[...o,_],[...s,e],i);u[_]=y.transformedValue,hn(y.annotations)?d[_]=y.annotations:Kr(y.annotations)&&nr(y.annotations,(E,S)=>{d[id(_)+"."+S]=E})});const p=oi(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return l||i.set(e,p),p};I();I();function gd(e){return Object.prototype.toString.call(e).slice(8,-1)}function du(e){return gd(e)==="Array"}function gy(e){if(gd(e)!=="Object")return!1;const t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function vy(e,t,n,r,o){const s={}.propertyIsEnumerable.call(r,t)?"enumerable":"nonenumerable";s==="enumerable"&&(e[t]=n),o&&s==="nonenumerable"&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function ai(e,t={}){if(du(e))return e.map(o=>ai(o,t));if(!gy(e))return e;const n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((o,s)=>{if(du(t.props)&&!t.props.includes(s))return o;const i=e[s],a=ai(i,t);return vy(o,s,a,e,t.nonenumerable),o},{})}var Oe=class{constructor({dedupe:e=!1}={}){this.classRegistry=new z1,this.symbolRegistry=new rd(t=>{var n;return(n=t.description)!=null?n:""}),this.customTransformerRegistry=new q1,this.allowedErrorProps=[],this.dedupe=e}serialize(e){const t=new Map,n=md(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});const o=my(t,this.dedupe);return o&&(r.meta={...r.meta,referentialEqualities:o}),r}deserialize(e){const{json:t,meta:n}=e;let r=ai(t);return n!=null&&n.values&&(r=fy(r,n.values,this)),n!=null&&n.referentialEqualities&&(r=dy(r,n.referentialEqualities)),r}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e))}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};Oe.defaultInstance=new Oe;Oe.serialize=Oe.defaultInstance.serialize.bind(Oe.defaultInstance);Oe.deserialize=Oe.defaultInstance.deserialize.bind(Oe.defaultInstance);Oe.stringify=Oe.defaultInstance.stringify.bind(Oe.defaultInstance);Oe.parse=Oe.defaultInstance.parse.bind(Oe.defaultInstance);Oe.registerClass=Oe.defaultInstance.registerClass.bind(Oe.defaultInstance);Oe.registerSymbol=Oe.defaultInstance.registerSymbol.bind(Oe.defaultInstance);Oe.registerCustom=Oe.defaultInstance.registerCustom.bind(Oe.defaultInstance);Oe.allowErrorProps=Oe.defaultInstance.allowErrorProps.bind(Oe.defaultInstance);I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();var pu,hu;(hu=(pu=J).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__)!=null||(pu.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__=[]);var mu,gu;(gu=(mu=J).__VUE_DEVTOOLS_KIT_RPC_CLIENT__)!=null||(mu.__VUE_DEVTOOLS_KIT_RPC_CLIENT__=null);var vu,_u;(_u=(vu=J).__VUE_DEVTOOLS_KIT_RPC_SERVER__)!=null||(vu.__VUE_DEVTOOLS_KIT_RPC_SERVER__=null);var yu,bu;(bu=(yu=J).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__)!=null||(yu.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__=null);var Eu,Su;(Su=(Eu=J).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__)!=null||(Eu.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__=null);var wu,Cu;(Cu=(wu=J).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__)!=null||(wu.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__=null);I();I();I();I();I();I();I();const _y=JSON.parse(`{"repo":"https://github.com/bcgov/notifybc","packageJson":{"name":"notify-bc","version":"6.0.2","dbSchemaVersion":"0.9.0","description":"A versatile notification API server","author":"f-w","private":true,"main":"dist/main.js","types":"dist/main.d.ts","engines":{"node":">=18"},"repository":{"type":"git","url":"https://github.com/bcgov/notifybc"},"license":"Apache-2.0","scripts":{"build":"nest build","build:client":"cd client && npm run build","build:docs":"cd docs && npm i && npm run build","postbuild":"npm run build:client","install:client":"cd client && npm i","install:docs":"cd docs && npm i","postinstall":"npm run install:client","format":"prettier --write \\"src/**/*.ts\\" \\"test/**/*.ts\\"","start":"nest start","start:dev":"nest start --watch","start:debug":"nest start --debug --watch","start:prod":"node dist/main","lint":"eslint \\"{src,apps,libs,test}/**/*.ts\\" --fix","test":"jest","test:watch":"jest --watch","test:cov":"jest --coverage","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:e2e":"jest --config ./test/jest-e2e.ts","test:e2e:cov":"jest --config ./test/jest-e2e.ts --coverage"},"dependencies":{"@nestjs/bullmq":"^10.2.1","@nestjs/common":"^10.4.5","@nestjs/core":"^10.4.5","@nestjs/mongoose":"^10.1.0","@nestjs/platform-express":"^10.4.5","@nestjs/swagger":"^8.1.0","@nestjs/terminus":"^10.2.3","async":"^3.2.4","axios":"^1.6.8","bcryptjs":"^2.4.3","bullmq":"^5.21.1","class-transformer":"^0.5.1","class-validator":"^0.14.0","compression":"^1.7.4","cron":"^3.1.5","crypto-random-string":"^3.3.0","ejs":"^3.1.9","feedparser":"^2.2.10","helmet":"^7.0.0","ip-range-check":"^0.2.0","jmespath":"f-w/jmespath.js#semver:^1.0","js-base64":"^3.7.5","jsonwebtoken":"^9.0.2","lodash":"^4.17.21","mailparser":"^3.6.5","mongodb-memory-server":"^10.1.2","mongoose":"^8.8.4","morgan":"^1.10.0","nodemailer":"^6.9.5","pluralize":"^8.0.0","randexp":"^0.5.3","redis-memory-server":"^0.10.0","rxjs":"^7.8.1","semver":"^7.5.4","smtp-server":"^3.13.0","twilio":"^5.4.0","underscore.string":"^3.3.6"},"devDependencies":{"@nestjs/cli":"^10.4.5","@nestjs/schematics":"^10.2.2","@nestjs/testing":"^10.4.5","@types/bcryptjs":"^2.4.3","@types/express":"^4.17.17","@types/jest":"^29.5.2","@types/lodash":"^4.14.197","@types/node":"^20.3.1","@types/supertest":"^2.0.12","@typescript-eslint/eslint-plugin":"^8.18.0","@typescript-eslint/parser":"^8.18.0","commander":"^11.1.0","cross-env":"^7.0.3","csvtojson":"^2.0.10","eslint":"^8.42.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.7.0","prettier":"^2.8.8","source-map-support":"^0.5.21","supertest":"^6.3.3","testcontainers":"^10.16.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","typescript":"^5.1.3"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".*\\\\.spec\\\\.ts$","transform":{"^.+\\\\.(t|j)s$":"ts-jest"},"collectCoverageFrom":["**/*.(t|j)s"],"coverageDirectory":"../coverage","testEnvironment":"node"}},"logo":"/img/logo.svg","docsDir":"","editLink":false,"contributors":false,"lastUpdated":false,"navbar":[{"text":"Home","link":"/"},{"text":"Docs","link":"/docs/"},{"text":"Help","link":"/help/"}],"sidebarDepth":1,"sidebar":[{"text":"Getting Started","children":["/docs/","/docs/overview/","/docs/quickstart/","/docs/installation/","/docs/web-console/","/docs/what's-new/"]},{"text":"Configuration","children":["/docs/config-overview/","/docs/config-database/","/docs/config-adminIpList/","/docs/config-reverseProxyIpLists/","/docs/config-httpHost/","/docs/config-internalHttpHost/","/docs/config-email/","/docs/config-sms/","/docs/config-subscription/","/docs/config-notification/","/docs/config-nodeRoles/","/docs/config-cronJobs/","/docs/config-rsaKeys/","/docs/config-workerProcessCount/","/docs/config-middleware/","/docs/config-oidc/","/docs/config-certificates/","/docs/config-queue/","/docs/config-logging/"]},{"text":"API","collapsed":false,"children":["/docs/api-overview/","/docs/api-subscription/","/docs/api-notification/","/docs/api-config/","/docs/api-administrator/","/docs/api-bounce/"]},{"text":"Miscellaneous","children":["/docs/health-check/","/docs/disaster-recovery/","/docs/memory-dump/","/docs/benchmarks/","/docs/bulk-import/","/docs/developer-notes/","/docs/upgrade/"]},{"text":"Meta","children":["/docs/conduct/","/docs/acknowledgments/"]}],"locales":{"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","editLinkText":"Edit this page","lastUpdatedText":"Last Updated","contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),yy=he(_y),vd=()=>yy,_d=Symbol(""),by=()=>{const e=Ye(_d);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Ey=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Sy=gn({enhance({app:e}){const t=vd(),n=e._context.provides[Ri],r=H(()=>Ey(t.value,n.routeLocale.value));e.provide(_d,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}}),V1({app:e,id:"org.vuejs.vuepress.plugin-theme-data",label:"VuePress Theme Data Plugin",packageName:"@vuepress/plugin-theme-data",homepage:"https://v2.vuepress.vuejs.org",logo:"https://v2.vuepress.vuejs.org/images/hero.png",componentStateTypes:["VuePress"]},o=>{o.on.inspectComponent(s=>{s.instanceData.state.push({type:"VuePress",key:"themeData",editable:!1,value:t.value},{type:"VuePress",key:"themeLocaleData",editable:!1,value:r.value})})})}}),wy=Object.freeze(Object.defineProperty({__proto__:null,default:Sy},Symbol.toStringTag,{value:"Module"})),Cy=()=>vd(),ze=()=>by(),yd=Symbol(""),Ay=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.dataset.theme=n?"dark":"light"};Je(()=>{Ne(e,t,{immediate:!0})}),Go(()=>{t()})},Zi=()=>{const e=Ye(yd);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Ty=()=>{const e=ze(),t=jv(),n=$i("vuepress-color-scheme",e.value.colorMode),r=H({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});kn(yd,r),Ay(r)};let Is=null,_r=null;const Oy={wait:()=>Is,pending:()=>{Is=new Promise(e=>{_r=e})},resolve:()=>{_r==null||_r(),Is=null,_r=null}},bd=()=>Oy,rr=(e,t)=>{const{notFound:n,meta:r,path:o}=jr(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},Au=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),xy=(e,t)=>{if(t.hash===e)return!0;const n=Au(t.path),r=Au(e);return n===r},Ed=(e,t)=>e.link&&xy(e.link,t)?!0:"children"in e?e.children.some(n=>Ed(n,t)):!1,Sd=e=>!Nm(e)&&!no(e),wd=e=>!Qo(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,ky={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Py=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=wd(e);return n!==null?ky[n]:null},Iy=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Py({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Qo(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,ki(`${Yc(n)}/${r}`)):null},Yn=(e="",t="")=>Nf(t)||no(t)?t:`${Wm(e)}${t}`,Oo=he([]),Ly=()=>{const e=mn(),t=ze(),n=kt(),r=H(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(Oo.value=[])});const o=()=>{if(r.value<=0){Oo.value=[];return}Oo.value=S_({levels:[2,r.value+1],ignore:[".vp-badge"]})};Ne(r,o),Je(o)},Ry=()=>Oo,Dy=e=>({text:e.title,link:e.link,children:ea(e.children)}),ea=e=>e?e.map(t=>Dy(t)):[],Cd=(e,t)=>[{text:e.title,children:ea(t)}],Ad=(e,t,n,r="")=>{const o=(s,i)=>{var l;const a=Tt(s)?rr(Yn(i,s)):Tt(s.link)?{...s,link:Sd(s.link)?rr(Yn(i,s.link)).link:s.link}:s;if("children"in a)return{...a,children:a.children.map(c=>o(c,Yn(i,a.prefix)))};if(a.link===n){const c=((l=t[0])==null?void 0:l.level)===1?t[0].children:t;return{...a,children:ea(c)}}return a};return e.map(s=>o(s,r))},Vy=(e,t,n,r)=>{const o=A_(e).sort((s,i)=>i.length-s.length);for(const s of o)if(Vf(decodeURI(r),s)){const i=e[s];return i?i==="heading"?Cd(t,n):Ad(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Td=Symbol("sidebarItems"),ta=()=>{const e=Ye(Td);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},Ny=(e,t,n,r,o)=>e===!1?[]:e==="heading"?Cd(t,o):Array.isArray(e)?Ad(e,o,n,r):Pi(e)?Vy(e,t,o,n):[],My=()=>{const e=ze(),t=kt(),n=lr(),r=Zt(),o=Rn(),s=Ry(),i=H(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),a=H(()=>Ny(i.value,n.value,r.path,o.value,s.value));kn(Td,a)},By=ge({__name:"Badge",props:{type:{default:"tip"},text:{default:""},vertical:{default:void 0}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Ie=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function Hy(e,t,n,r,o,s){return G(),re("span",{class:ht(["vp-badge",n.type]),style:sr({verticalAlign:n.vertical})},[De(e.$slots,"default",{},()=>[qt(Ve(n.text),1)])],6)}const Fy=Ie(By,[["render",Hy],["__file","Badge.vue"]]),$y=ge({__name:"myHomeFeatures",setup(e,{expose:t}){t();const n=kt(),r=H(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Uy={key:0,class:"vp-features"},jy=["innerHTML"];function zy(e,t,n,r,o,s){return r.features.length?(G(),re("div",Uy,[(G(!0),re(ye,null,Wt(r.features,i=>(G(),re("div",{key:i.title,class:"vp-feature"},[ae("h2",null,Ve(i.title),1),ae("div",{innerHTML:i.details},null,8,jy)]))),128))])):je("",!0)}const Ky=Ie($y,[["render",zy],["__file","myHomeFeatures.vue"]]),Wy=ge({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=kt(),r=H(()=>n.value.footer),o=H(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),qy=["innerHTML"],Gy=["textContent"];function Yy(e,t,n,r,o,s){return r.footer?(G(),re(ye,{key:0},[r.footerHtml?(G(),re("div",{key:0,class:"vp-footer","vp-footer":"",innerHTML:r.footer},null,8,qy)):(G(),re("div",{key:1,class:"vp-footer","vp-footer":"",textContent:Ve(r.footer)},null,8,Gy))],64)):je("",!0)}const Jy=Ie(Wy,[["render",Yy],["__file","VPHomeFooter.vue"]]),Qy=ge({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=kt(),r=Di(),o=Zi(),s=H(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),i=H(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),a=H(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),l=H(()=>n.value.heroAlt||s.value||"hero"),c=H(()=>n.value.heroHeight??280),f=H(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:p,link:v,type:_="primary"})=>({text:p,link:v,type:_})):[]),d={frontmatter:n,siteLocale:r,isDarkMode:o,heroText:s,tagline:i,heroImage:a,heroAlt:l,heroHeight:c,actions:f,HomeHeroImage:()=>{if(!a.value)return null;const p=ce("img",{class:"vp-hero-image",src:Mi(a.value),alt:l.value,height:c.value});return n.value.heroImageDark===void 0?p:ce(Vi,()=>p)},get AutoLink(){return ur}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),Xy={class:"vp-hero"},Zy={key:0,id:"main-title"},eb={key:1,class:"vp-hero-description"},tb={key:2,class:"vp-hero-actions"};function nb(e,t,n,r,o,s){return G(),re("header",Xy,[ie(r.HomeHeroImage),r.heroText?(G(),re("h1",Zy,Ve(r.heroText),1)):je("",!0),r.tagline?(G(),re("p",eb,Ve(r.tagline),1)):je("",!0),r.actions.length?(G(),re("p",tb,[(G(!0),re(ye,null,Wt(r.actions,i=>(G(),Be(r.AutoLink,{key:i.text,class:ht(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):je("",!0)])}const rb=Ie(Qy,[["render",nb],["__file","VPHomeHero.vue"]]),ob=ge({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:Ky,VPHomeFooter:Jy,VPHomeHero:rb,get Content(){return Ni}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),sb={class:"vp-home"},ib={class:"theme-default-content","vp-content":""};function ab(e,t,n,r,o,s){return G(),re("main",sb,[ie(r.VPHomeHero),ie(r.VPHomeFeatures),ae("div",ib,[ie(r.Content)]),ie(r.VPHomeFooter)])}const lb=Ie(ob,[["render",ab],["__file","VPHome.vue"]]),ub={data(){return{selected:void 0,options:[]}},created:async function(){try{let e;const t=sessionStorage.getItem("versions");if(t)try{e=JSON.parse(t)}catch{}if(!e){let r=await(await fetch("https://api.github.com/repos/bcgov/NotifyBC/git/trees/gh-pages")).json();const o=r.tree.find(s=>s.path.toLowerCase()==="version");r=await(await fetch(o.url)).json(),e=r.tree.map(s=>({value:s.path,text:s.path})),e.sort((s,i)=>{const a=s.text.split("."),l=i.text.split(".");for(let c=0;c=0&&(r=o+9);const s=n.indexOf("/",r);window.location.pathname=window.location.pathname.substring(0,9)+t+window.location.pathname.substring(s)}}},cb={key:0},fb=["value"];function db(e,t,n,r,o,s){return o.options&&o.options.length>0?(G(),re("span",cb,[t[2]||(t[2]=qt(" Version: ")),Nr(ae("select",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.selected=i),onChange:t[1]||(t[1]=(...i)=>s.onChange&&s.onChange(...i))},[(G(!0),re(ye,null,Wt(o.options,i=>(G(),re("option",{key:i.value,value:i.value},Ve(i.text),9,fb))),128))],544),[[Om,o.selected]])])):je("",!0)}const pb=Ie(ub,[["render",db],["__scopeId","data-v-dad16fab"],["__file","versions.vue"]]),hb=ge({__name:"myNavbarBrand",setup(e,{expose:t}){t();const n=Rn(),r=Di(),o=ze(),s=Zi(),i=H(()=>o.value.home||n.value),a=H(()=>r.value.title),l=H(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=H(()=>o.value.logoAlt??a.value),f=H(()=>a.value.toLocaleUpperCase().trim()===c.value.toLocaleUpperCase().trim()),d={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:a,navbarBrandLogo:l,navbarBrandLogoAlt:c,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!l.value)return null;const p=ce("img",{class:"vp-site-logo",src:Mi(l.value),alt:c.value});return o.value.logoDark===void 0?p:ce(Vi,()=>p)},get RouteLink(){return es},Versions:pb};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}});function mb(e,t,n,r,o,s){return G(),re(ye,null,[ie(r.RouteLink,{to:r.navbarBrandLink},{default:$e(()=>[ie(r.NavbarBrandLogo)]),_:1},8,["to"]),ie(r.Versions)],64)}const gb=Ie(hb,[["render",mb],["__file","myNavbarBrand.vue"]]),vb=ge({__name:"VPDropdownTransition",setup(e,{expose:t}){t();const o={setHeight:s=>{s.style.height=`${s.scrollHeight}px`},unsetHeight:s=>{s.style.height=""}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function _b(e,t,n,r,o,s){return G(),Be(xi,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:$e(()=>[De(e.$slots,"default")]),_:3})}const Od=Ie(vb,[["render",_b],["__file","VPDropdownTransition.vue"]]),yb=ge({__name:"VPNavbarDropdown",props:{config:{}},setup(e,{expose:t}){t();const n=e,{config:r}=Zu(n),o=Zt(),[s,i]=wf(!1),a=H(()=>r.value.ariaLabel||r.value.text),l=(u,d)=>d[d.length-1]===u,c=u=>{u.detail===0?i():i(!1)};Ne(()=>o.path,()=>{i(!1)});const f={props:n,config:r,route:o,open:s,toggleOpen:i,dropdownAriaLabel:a,isLastItemOfArray:l,handleDropdown:c,VPDropdownTransition:Od,get AutoLink(){return ur}};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}}),bb=["aria-label"],Eb={class:"title"},Sb=["aria-label"],wb={class:"title"},Cb={class:"vp-navbar-dropdown"},Ab={class:"vp-navbar-dropdown-subtitle"},Tb={key:1},Ob={class:"vp-navbar-dropdown-subitem-wrapper"};function xb(e,t,n,r,o,s){return G(),re("div",{class:ht(["vp-navbar-dropdown-wrapper",{open:r.open}])},[ae("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[ae("span",Eb,Ve(r.config.text),1),t[1]||(t[1]=ae("span",{class:"arrow down"},null,-1))],8,bb),ae("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=()=>r.toggleOpen())},[ae("span",wb,Ve(r.config.text),1),ae("span",{class:ht(["arrow",r.open?"down":"right"])},null,2)],8,Sb),ie(r.VPDropdownTransition,null,{default:$e(()=>[Nr(ae("ul",Cb,[(G(!0),re(ye,null,Wt(r.config.children,i=>(G(),re("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(G(),re(ye,{key:0},[ae("h4",Ab,[i.link?(G(),Be(r.AutoLink,{key:0,config:i,onFocusout:()=>{r.isLastItemOfArray(i,r.config.children)&&i.children.length===0&&(r.open=!1)}},null,8,["config","onFocusout"])):(G(),re("span",Tb,Ve(i.text),1))]),ae("ul",Ob,[(G(!0),re(ye,null,Wt(i.children,a=>(G(),re("li",{key:a.link,class:"vp-navbar-dropdown-subitem"},[ie(r.AutoLink,{config:a,onFocusout:()=>{r.isLastItemOfArray(a,i.children)&&r.isLastItemOfArray(i,r.config.children)&&r.toggleOpen(!1)}},null,8,["config","onFocusout"])]))),128))])],64)):(G(),Be(r.AutoLink,{key:1,config:i,onFocusout:()=>{r.isLastItemOfArray(i,r.config.children)&&r.toggleOpen(!1)}},null,8,["config","onFocusout"]))]))),128))],512),[[No,r.open]])]),_:1})],2)}const kb=Ie(yb,[["render",xb],["__file","VPNavbarDropdown.vue"]]),xd=(e,t="")=>Tt(e)?rr(Yn(t,e)):"children"in e?{...e,children:e.children.map(n=>xd(n,Yn(t,e.prefix)))}:{...e,link:Sd(e.link)?rr(Yn(t,e.link)).link:e.link},Pb=()=>{const e=ze();return H(()=>(e.value.navbar||[]).map(t=>xd(t)))},Ib=()=>{const e=ze(),t=H(()=>e.value.repo),n=H(()=>t.value?wd(t.value):null),r=H(()=>t.value&&!Qo(t.value)?`https://github.com/${t.value}`:t.value),o=H(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return H(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Lb=()=>{const e=Zt(),t=w_(),n=Rn(),r=yf(),o=Di(),s=Cy(),i=ze();return H(()=>{const a=Object.keys(r.value.locales);if(a.length<2)return[];const l=e.path,c=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:a.map(u=>{var E,S;const d=((E=r.value.locales)==null?void 0:E[u])??{},p=((S=s.value.locales)==null?void 0:S[u])??{},v=`${d.lang}`,_=p.selectLanguageName??v;if(v===o.value.lang)return{text:_,activeMatch:".",link:e.fullPath};const y=l.replace(n.value,u);return{text:_,link:t.value.some(h=>h===y)?c.replace(l,y):p.home??u}})}]})},Rb="719px",Db={mobile:Rb};var Gr;(function(e){e.Mobile="mobile"})(Gr||(Gr={}));const Vb={[Gr.Mobile]:Number.parseInt(Db.mobile.replace("px",""),10)},kd=(e,t)=>{const n=Vb[e];Number.isInteger(n)&&(it("orientationchange",()=>{t(n)},!1),it("resize",()=>{t(n)},!1),Je(()=>{t(n)}))},Nb=ge({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Pb(),r=Lb(),o=Ib(),s=he(!1),i=H(()=>ze().value.navbarLabel??"site navigation"),a=H(()=>[...n.value,...r.value,...o.value]);kd(Gr.Mobile,c=>{s.value=window.innerWidth(G(),re("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(G(),Be(r.VPNavbarDropdown,{key:0,class:ht({mobile:r.isMobile}),config:i},null,8,["class","config"])):(G(),Be(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,Mb)):je("",!0)}const Pd=Ie(Nb,[["render",Bb],["__file","VPNavbarItems.vue"]]),Hb={},Fb={class:"dark-icon",viewBox:"0 0 32 32"};function $b(e,t){return G(),re("svg",Fb,t[0]||(t[0]=[ae("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1)]))}const Ub=Ie(Hb,[["render",$b],["__file","VPDarkIcon.vue"]]),jb={},zb={class:"light-icon",viewBox:"0 0 32 32"};function Kb(e,t){return G(),re("svg",zb,t[0]||(t[0]=[Wh('',9)]))}const Wb=Ie(jb,[["render",Kb],["__file","VPLightIcon.vue"]]),qb=ge({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=ze(),r=Zi(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:Ub,VPLightIcon:Wb};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Gb=["title"];function Yb(e,t,n,r,o,s){return G(),re("button",{type:"button",class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Nr(ie(r.VPLightIcon,null,null,512),[[No,!r.isDarkMode]]),Nr(ie(r.VPDarkIcon,null,null,512),[[No,r.isDarkMode]])],8,Gb)}const Jb=Ie(qb,[["render",Yb],["__file","VPToggleColorModeButton.vue"]]),Qb=ge({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:ze()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Xb=["title"];function Zb(e,t,n,r,o,s){return G(),re("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},t[1]||(t[1]=[ae("div",{class:"icon","aria-hidden":"true"},[ae("span"),ae("span"),ae("span")],-1)]),8,Xb)}const eE=Ie(Qb,[["render",Zb],["__file","VPToggleSidebarButton.vue"]]),tE=ge({__name:"VPNavbar",emits:["toggleSidebar"],setup(e,{expose:t}){t();const n=Rf("SearchBox")?wi("SearchBox"):()=>null,r=ze(),o=da("navbar"),s=da("navbar-brand"),i=he(0),a=H(()=>i.value?{maxWidth:`${i.value}px`}:{}),l=(f,u)=>{var v;const d=(v=f==null?void 0:f.ownerDocument.defaultView)==null?void 0:v.getComputedStyle(f,null)[u],p=Number.parseInt(d,10);return Number.isNaN(p)?0:p};kd(Gr.Mobile,f=>{var d;const u=l(o.value,"paddingLeft")+l(o.value,"paddingRight");window.innerWidthe.$emit("toggleSidebar"))}),ae("span",rE,[ie(r.VPNavbarBrand)],512),ae("div",{class:"vp-navbar-items-wrapper",style:sr(r.linksWrapperStyle)},[De(e.$slots,"before"),ie(r.VPNavbarItems,{class:"vp-hide-mobile"}),De(e.$slots,"after"),r.themeLocale.colorModeSwitch?(G(),Be(r.VPToggleColorModeButton,{key:0})):je("",!0),ie(r.SearchBox)],4)],512)}const sE=Ie(tE,[["render",oE],["__file","VPNavbar.vue"]]),iE={},aE={class:"edit-icon",viewBox:"0 0 1024 1024"};function lE(e,t){return G(),re("svg",aE,t[0]||(t[0]=[ae("g",{fill:"currentColor"},[ae("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),ae("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1)]))}const uE=Ie(iE,[["render",lE],["__file","VPEditIcon.vue"]]),cE=()=>{const e=ze(),t=lr(),n=kt();return H(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},fE=()=>{const e=ze(),t=lr(),n=kt();return H(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:a="",editLinkText:l}=e.value;if(!s)return null;const c=Iy({docsRepo:s,docsBranch:i,docsDir:a,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return c?{text:l??"Edit this page",link:c}:null})},dE=()=>{const e=ze(),t=lr(),n=kt();return H(()=>{var s;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date(t.value.git.updatedTime).toLocaleString()})},pE=ge({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=ze(),r=fE(),o=dE(),s=cE(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:uE,get AutoLink(){return ur}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),hE={class:"vp-page-meta"},mE={key:0,class:"vp-meta-item edit-link"},gE={class:"vp-meta-item git-info"},vE={key:0,class:"vp-meta-item last-updated"},_E={class:"meta-item-label"},yE={class:"meta-item-info"},bE={key:1,class:"vp-meta-item contributors"},EE={class:"meta-item-label"},SE={class:"meta-item-info"},wE=["title"];function CE(e,t,n,r,o,s){const i=wi("ClientOnly");return G(),re("footer",hE,[r.editLink?(G(),re("div",mE,[ie(r.AutoLink,{class:"label",config:r.editLink},{before:$e(()=>[ie(r.VPEditIcon)]),_:1},8,["config"])])):je("",!0),ae("div",gE,[r.lastUpdated?(G(),re("div",vE,[ae("span",_E,Ve(r.themeLocale.lastUpdatedText)+": ",1),ie(i,null,{default:$e(()=>[ae("span",yE,Ve(r.lastUpdated),1)]),_:1})])):je("",!0),r.contributors&&r.contributors.length?(G(),re("div",bE,[ae("span",EE,Ve(r.themeLocale.contributorsText)+": ",1),ae("span",SE,[(G(!0),re(ye,null,Wt(r.contributors,(a,l)=>(G(),re(ye,{key:l},[ae("span",{class:"contributor",title:`email: ${a.email}`},Ve(a.name),9,wE),l!==r.contributors.length-1?(G(),re(ye,{key:0},[qt(", ")],64)):je("",!0)],64))),128))])])):je("",!0)])])}const AE=Ie(pE,[["render",CE],["__file","VPPageMeta.vue"]]),TE=()=>{const e=mn(),t=Zt();return n=>{n&&(Nf(n)?t.path!==n&&e.push(n):no(n)?window.open(n):e.push(encodeURI(n)))}},Tu=(e,t)=>e===!1?!1:Tt(e)?rr(e,t):Pi(e)?{...e,link:rr(e.link,t).link}:null,li=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){const s=e[r+n];return s?s.link?s:"prefix"in s&&!jr(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=li(s.children,t,n);if(i)return i}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){const s=e[o+n];return s?s.link?s:"prefix"in s&&!jr(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},OE=()=>{const e=kt(),t=ze(),n=ta(),r=Zt(),o=H(()=>{const i=Tu(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:li(n.value,r.path,-1))}),s=H(()=>{const i=Tu(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:li(n.value,r.path,1))});return{prevLink:o,nextLink:s}},xE=ge({__name:"VPPageNav",setup(e,{expose:t}){t();const n=ze(),r=TE(),{prevLink:o,nextLink:s}=OE(),i=H(()=>n.value.pageNavbarLabel??"page navigation");it("keydown",l=>{l.altKey&&(l.key==="ArrowRight"?s.value&&(r(s.value.link),l.preventDefault()):l.key==="ArrowLeft"&&o.value&&(r(o.value.link),l.preventDefault()))});const a={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return ur}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),kE=["aria-label"],PE={class:"hint"},IE={class:"link"},LE={class:"hint"},RE={class:"link"};function DE(e,t,n,r,o,s){return r.prevLink||r.nextLink?(G(),re("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(G(),Be(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:$e(()=>[ae("div",PE,[t[0]||(t[0]=ae("span",{class:"arrow left"},null,-1)),qt(" "+Ve(r.themeLocale.prev??"Prev"),1)]),ae("div",IE,[ae("span",null,Ve(r.prevLink.text),1)])]),_:1},8,["config"])):je("",!0),r.nextLink?(G(),Be(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:$e(()=>[ae("div",LE,[qt(Ve(r.themeLocale.next??"Next")+" ",1),t[1]||(t[1]=ae("span",{class:"arrow right"},null,-1))]),ae("div",RE,[ae("span",null,Ve(r.nextLink.text),1)])]),_:1},8,["config"])):je("",!0)],8,kE)):je("",!0)}const VE=Ie(xE,[["render",DE],["__file","VPPageNav.vue"]]),NE=ge({__name:"VPPage",setup(e,{expose:t}){t(),Ly();const n={VPPageMeta:AE,VPPageNav:VE,get Content(){return Ni}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ME={class:"vp-page"},BE={class:"theme-default-content","vp-content":""};function HE(e,t,n,r,o,s){return G(),re("main",ME,[De(e.$slots,"top"),ae("div",BE,[De(e.$slots,"content-top"),ie(r.Content),De(e.$slots,"content-bottom")]),ie(r.VPPageMeta),ie(r.VPPageNav),De(e.$slots,"bottom")])}const FE=Ie(NE,[["render",HE],["__file","VPPage.vue"]]),$E=ge({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=Zu(n),s=Zt(),i=mn(),a=H(()=>"collapsible"in r.value&&r.value.collapsible),l=H(()=>Ed(r.value,s)),c=H(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:l.value,collapsible:a.value})),f=H(()=>a.value?l.value:!0),[u,d]=wf(f.value),p=y=>{a.value&&(y.preventDefault(),d())},v=i.afterEach(()=>{Ln(()=>{u.value=f.value})});Si(()=>{v()});const _={props:n,item:r,depth:o,route:s,router:i,collapsible:a,isActive:l,itemClass:c,isOpenDefault:f,isOpen:u,toggleIsOpen:d,onClick:p,unregisterRouterHook:v,VPDropdownTransition:Od,get AutoLink(){return ur}};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),UE={class:"vp-sidebar-children"};function jE(e,t,n,r,o,s){const i=wi("VPSidebarItem",!0);return G(),re("li",null,[r.item.link?(G(),Be(r.AutoLink,{key:0,class:ht(r.itemClass),config:r.item},null,8,["class","config"])):(G(),re("p",{key:1,tabindex:"0",class:ht(r.itemClass),onClick:r.onClick,onKeydown:km(r.onClick,["enter"])},[qt(Ve(r.item.text)+" ",1),r.collapsible?(G(),re("span",{key:0,class:ht(["arrow",r.isOpen?"down":"right"])},null,2)):je("",!0)],34)),"children"in r.item&&r.item.children.length?(G(),Be(r.VPDropdownTransition,{key:2},{default:$e(()=>[Nr(ae("ul",UE,[(G(!0),re(ye,null,Wt(r.item.children,a=>(G(),Be(i,{key:`${r.depth}${a.text}${a.link}`,item:a,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[No,r.isOpen]])]),_:1})):je("",!0)])}const zE=Ie($E,[["render",jE],["__file","VPSidebarItem.vue"]]),KE=ge({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Zt(),r=ta();Je(()=>{Ne(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const a=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!a)return;const{top:l,height:c}=i.getBoundingClientRect(),{top:f,height:u}=a.getBoundingClientRect();fl+c&&a.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:zE};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),WE={key:0,class:"vp-sidebar-items"};function qE(e,t,n,r,o,s){return r.sidebarItems.length?(G(),re("ul",WE,[(G(!0),re(ye,null,Wt(r.sidebarItems,i=>(G(),Be(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):je("",!0)}const GE=Ie(KE,[["render",qE],["__file","VPSidebarItems.vue"]]),YE=ge({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:Pd,VPSidebarItems:GE};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),JE={class:"vp-sidebar","vp-sidebar":""};function QE(e,t,n,r,o,s){return G(),re("aside",JE,[ie(r.VPNavbarItems),De(e.$slots,"top"),ie(r.VPSidebarItems),De(e.$slots,"bottom")])}const XE=Ie(YE,[["render",QE],["__file","VPSidebar.vue"]]),ZE=ge({__name:"Layout",setup(e,{expose:t}){t();const n=lr(),r=kt(),o=ze(),s=H(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=ta(),a=he(!1),l=h=>{a.value=typeof h=="boolean"?h:!a.value},c={x:0,y:0},f=h=>{c.x=h.changedTouches[0].clientX,c.y=h.changedTouches[0].clientY},u=h=>{const b=h.changedTouches[0].clientX-c.x,L=h.changedTouches[0].clientY-c.y;Math.abs(b)>Math.abs(L)&&Math.abs(b)>40&&(b>0&&c.x<=80?l(!0):l(!1))},d=H(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),p=H(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":a.value,"external-link-icon":d.value},r.value.pageClass]);let v;Je(()=>{v=mn().afterEach(()=>{l(!1)})}),Go(()=>{v()});const _=bd(),y=_.resolve,E=_.pending,S={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:a,toggleSidebar:l,touchStart:c,onTouchStart:f,onTouchEnd:u,enableExternalLinkIcon:d,containerClass:p,get unregisterRouterHook(){return v},set unregisterRouterHook(h){v=h},scrollPromise:_,onBeforeEnter:y,onBeforeLeave:E,VPHome:lb,VPNavbar:sE,VPPage:FE,VPSidebar:XE};return Object.defineProperty(S,"__isScriptSetup",{enumerable:!1,value:!0}),S}});function eS(e,t,n,r,o,s){return G(),re("div",{class:ht(["vp-theme-container",r.containerClass]),"vp-container":"",onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[De(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(G(),Be(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:$e(()=>[De(e.$slots,"navbar-before")]),after:$e(()=>[De(e.$slots,"navbar-after")]),_:3})):je("",!0)]),ae("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),De(e.$slots,"sidebar",{},()=>[ie(r.VPSidebar,null,{top:$e(()=>[De(e.$slots,"sidebar-top")]),bottom:$e(()=>[De(e.$slots,"sidebar-bottom")]),_:3})]),De(e.$slots,"page",{},()=>[r.frontmatter.home?(G(),Be(r.VPHome,{key:0})):(G(),Be(xi,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:$e(()=>[(G(),Be(r.VPPage,{key:r.page.path},{top:$e(()=>[De(e.$slots,"page-top")]),"content-top":$e(()=>[De(e.$slots,"page-content-top")]),"content-bottom":$e(()=>[De(e.$slots,"page-content-bottom")]),bottom:$e(()=>[De(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const tS=Ie(ZE,[["render",eS],["__file","Layout.vue"]]),nS=ge({__name:"NotFound",setup(e,{expose:t}){t();const n=Rn(),r=ze(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,a=r.value.backToHome??"Back to home",l={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:a,get RouteLink(){return es}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),rS={class:"vp-theme-container","vp-container":""},oS={class:"page"},sS={class:"theme-default-content","vp-content":""};function iS(e,t,n,r,o,s){return G(),re("div",rS,[ae("main",oS,[ae("div",sS,[t[0]||(t[0]=ae("h1",null,"404",-1)),ae("blockquote",null,Ve(r.getMsg()),1),ie(r.RouteLink,{to:r.homeLink},{default:$e(()=>[qt(Ve(r.homeText),1)]),_:1},8,["to"])])])])}const aS=Ie(nS,[["render",iS],["__scopeId","data-v-03d0ea91"],["__file","NotFound.vue"]]),lS=gn({enhance({app:e,router:t}){Rf("Badge")||e.component("Badge",Fy);const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await bd().wait(),n(...r))},setup(){Ty(),My()},layouts:{Layout:tS,NotFound:aS}}),uS=Object.freeze(Object.defineProperty({__proto__:null,default:lS},Symbol.toStringTag,{value:"Module"}));function cS(e,t,n){var r,o,s;n===void 0&&(n={});var i=(r=n.isImmediate)!=null&&r,a=(o=n.callback)!=null&&o,l=n.maxWait,c=Date.now(),f=[];function u(){if(l!==void 0){var p=Date.now()-c;if(p+t>=l)return l-p}return t}var d=function(){var p=[].slice.call(arguments),v=this;return new Promise(function(_,y){var E=i&&s===void 0;if(s!==void 0&&clearTimeout(s),s=setTimeout(function(){if(s=void 0,c=Date.now(),!i){var h=e.apply(v,p);a&&a(h),f.forEach(function(b){return(0,b.resolve)(h)}),f=[]}},u()),E){var S=e.apply(v,p);return a&&a(S),_(S)}f.push({resolve:_,reject:y})})};return d.cancel=function(p){s!==void 0&&clearTimeout(s),f.forEach(function(v){return(0,v.reject)(p)}),f=[]},d}var fS={apiKey:"c28cbfc8ec48e407e775c3a574dcd775",appId:"JNUID4IQ3B",indexName:"notifybc"};const dS=e=>{const t=it("keydown",n=>{const r=n.key==="k"&&(n.ctrlKey||n.metaKey);n.key!=="/"&&!r||(n.preventDefault(),e(),t())})},pS=e=>e.button===1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey,hS=()=>{const e=mn();return{transformItems:t=>t.map(n=>({...n,url:`/NotifyBC/version/6.0/${ki(Fm(n.url,"/NotifyBC/"))}`})),hitComponent:({hit:t,children:n})=>({type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:t.url,onClick:r=>{pS(r)||(r.preventDefault(),e.push(t.url.replace("/NotifyBC/version/6.0/","/")))},children:n},__v:null}),navigator:{navigate:({itemUrl:t})=>{e.push(t.replace("/NotifyBC/version/6.0/","/"))}},transformSearchClient:t=>{const n=cS(t.search,500);return{...t,search:async r=>n(r)}}}},mS=fS,gS=he(mS),Id=Symbol(""),vS=()=>{const e=Ye(Id),t=Rn();return H(()=>{var n;return{...e.value,...(n=e.value.locales)==null?void 0:n[t.value]}})},_S=e=>{e.provide(Id,gS)},yS=(e,t=[])=>[`lang:${e}`,...Array.isArray(t)?t:[t]],bS=({buttonText:e="Search",buttonAriaLabel:t=e}={})=>``,Ld=()=>{if(document.querySelector(".DocSearch-Modal"))return;const e=new Event("keydown");e.key="k",e.metaKey=!0,window.dispatchEvent(e),setTimeout(Ld,16)},ES=e=>{const t="algolia-preconnect";("requestIdleCallback"in window?window.requestIdleCallback:setTimeout)(()=>{if(document.head.querySelector(`#${t}`))return;const n=document.createElement("link");n.id=t,n.rel="preconnect",n.href=`https://${e}-dsn.algolia.net`,n.crossOrigin="",document.head.appendChild(n)})},SS=ge({name:"DocSearch",props:{containerId:{type:String,default:"docsearch-container"},options:{type:Object,default:()=>({})}},setup(e){const t=vS(),n=hS(),r=_f(),o=Rn(),s=he(!1),i=he(!1),a=H(()=>{const{locales:f={},...u}=e.options;return{...t.value,...u,...f[o.value]}}),l=async()=>{const{default:f}=await te(async()=>{const{default:p}=await import("./index-DjpUunl4.js");return{default:p}},[]),{indexName:u,searchParameters:d}=a.value;f({...n,...a.value,container:`#${e.containerId}`,searchParameters:{...d,indexName:u,facetFilters:yS(r.value,d==null?void 0:d.facetFilters)}}),s.value=!0},c=()=>{i.value||s.value||(i.value=!0,l(),Ld(),Ne(o,l))};return dS(c),Je(()=>{ES(a.value.appId)}),()=>{var f;return[ce("div",{id:e.containerId,style:{display:s.value?"block":"none"}}),s.value?null:ce("div",{onClick:c,innerHTML:bS((f=a.value.translations)==null?void 0:f.button)})]}}}),wS={enhance({app:e}){_S(e),e.component("SearchBox",SS)}},CS=Object.freeze(Object.defineProperty({__proto__:null,default:wS},Symbol.toStringTag,{value:"Module"})),AS=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let TS={};const Rd=Symbol(""),OS=()=>Ye(Rd),xS=e=>{e.provide(Rd,TS)},Ou=()=>{const e=document.documentElement;return e.classList.contains("dark")||e.getAttribute("data-theme")==="dark"},Mn={useMaxWidth:!1},kS=e=>({dark:e,background:e?"#1e1e1e":"#fff",primaryColor:e?"#389d70":"#4abf8a",primaryBorderColor:e?"#389d70":"#4abf8a",primaryTextColor:e?"#fff":"#000",secondaryColor:"#ffb500",secondaryBorderColor:e?"#fff":"#000",secondaryTextColor:e?"#ddd":"#333",tertiaryColor:e?"#282828":"#efeef4",tertiaryBorderColor:e?"#bbb":"#242424",tertiaryTextColor:e?"#ddd":"#333",noteBkgColor:e?"#f6d365":"#fff5ad",noteTextColor:"#242424",noteBorderColor:e?"#f6d365":"#333",lineColor:e?"#d3d3d3":"#333",textColor:e?"#fff":"#242424",mainBkg:e?"#389d70":"#4abf8a",errorBkgColor:"#eb4d5d",errorTextColor:"#fff",nodeBorder:e?"#389d70":"#4abf8a",nodeTextColor:e?"#fff":"#242424",signalTextColor:e?"#9e9e9e":"#242424",classText:"#fff",labelColor:"#fff",attributeBackgroundColorEven:e?"#0d1117":"#fff",attributeBackgroundColorOdd:e?"#161b22":"#f8f8f8",fillType0:e?"#cf1322":"#f1636e",fillType1:"#f39c12",fillType2:"#2ecc71",fillType3:"#fa541c",fillType4:"#25a55b",fillType5:"#13c2c2",fillType6:"#096dd9",fillType7:"#aa6fe9"});var PS=ge({name:"Mermaid",props:{id:{type:String,required:!0},code:{type:String,required:!0},title:{type:String,default:""}},setup(e){const{themeVariables:t,...n}=OS(),r=Et(),o=H(()=>gl(e.code)),s=he(""),i=he(!1);let a=!1;const l=async()=>{const[{default:u}]=await Promise.all([te(()=>import("./mermaid.esm.min-DhsQPv9X.js").then(d=>d.bz),[]),a?Promise.resolve():(a=!0,Ui(800))]);u.initialize({theme:"base",themeVariables:{...kS(i.value),...qm(t)?t(i.value):t},flowchart:Mn,sequence:Mn,journey:Mn,gantt:Mn,er:Mn,pie:Mn,...n,startOnLoad:!1}),s.value=(await u.render(e.id,o.value)).svg},c=()=>{const{body:u}=document,d=document.createElement("div");d.classList.add("mermaid-preview"),d.innerHTML=s.value,u.appendChild(d),d.addEventListener("click",()=>{u.removeChild(d)})},f=()=>{const u=`data:image/svg+xml;charset=utf8,${s.value.replace(/
/g,"
").replace(/%/g,"%25").replace(/"/g,"%22").replace(/'/g,"%27").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(//g,"%3E")}`,d=document.createElement("a");d.setAttribute("href",u),d.setAttribute("download",`${e.title?gl(e.title):e.id}.svg`),d.click()};return Je(()=>{i.value=Ou(),l(),Bv(document.documentElement,()=>{i.value=Ou()},{attributeFilter:["class","data-theme"],attributes:!0}),Ne(i,()=>l())}),()=>[ce("div",{class:"mermaid-actions"},[ce("button",{class:"preview-button",onClick:()=>c(),title:"preview",innerHTML:''}),ce("button",{class:"download-button",onClick:()=>f(),title:"download",innerHTML:''})]),ce("div",{ref:r,class:"mermaid-wrapper"},s.value?ce("div",{class:"mermaid-content",innerHTML:s.value}):ce(Af,{class:"mermaid-loading",height:96}))]}});const IS={enhance:({app:e})=>{xS(e),e.component("Mermaid",PS)}},LS=Object.freeze(Object.defineProperty({__proto__:null,default:IS},Symbol.toStringTag,{value:"Module"})),bo=[n_,k_,N_,B_,Q_,r0,i0,d0,wy,uS,CS,AS,LS].map(e=>e.default).filter(Boolean),RS=JSON.parse('{"base":"/NotifyBC/version/6.0/","lang":"en-US","title":"NotifyBC","description":"A versatile notification API server","head":[["meta",{"name":"theme-color","content":"#3eaf7c"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["link",{"rel":"icon","type":"image/x-icon","href":"/NotifyBC/version/6.0/favicon.ico"}],["link",{"rel":"stylesheet","href":"https://fonts.googleapis.com/icon?family=Material+Icons"}]],"locales":{}}');var wr=Et(RS),DS=Dg,VS=()=>{const e=mv({history:DS(Yc("/NotifyBC/version/6.0/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===$t){const r=jr(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},NS=e=>{e.component("ClientOnly",Vi),e.component("Content",Ni),e.component("RouteLink",es)},MS=(e,t,n)=>{const r=H(()=>t.currentRoute.value.path),o=Tp((y,E)=>({get(){return y(),t.currentRoute.value.meta._pageChunk},set(S){t.currentRoute.value.meta._pageChunk=S,E()}})),s=H(()=>En.resolveLayouts(n)),i=H(()=>En.resolveRouteLocale(wr.value.locales,r.value)),a=H(()=>En.resolveSiteLocaleData(wr.value,i.value)),l=H(()=>o.value.comp),c=H(()=>o.value.data),f=H(()=>c.value.frontmatter),u=H(()=>En.resolvePageHeadTitle(c.value,a.value)),d=H(()=>En.resolvePageHead(u.value,f.value,a.value)),p=H(()=>En.resolvePageLang(c.value,a.value)),v=H(()=>En.resolvePageLayout(c.value,s.value)),_={layouts:s,pageData:c,pageComponent:l,pageFrontmatter:f,pageHead:d,pageHeadTitle:u,pageLang:p,pageLayout:v,redirects:Ys,routeLocale:i,routePath:r,routes:Gn,siteData:wr,siteLocaleData:a};return e.provide(Ri,_),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>d.value},$headTitle:{get:()=>u.value},$lang:{get:()=>p.value},$page:{get:()=>c.value},$routeLocale:{get:()=>i.value},$site:{get:()=>wr.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>Mi}}),_},BS=([e,t,n=""])=>{const r=Object.entries(t).map(([a,l])=>Tt(l)?`[${a}=${JSON.stringify(l)}]`:l?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)??null},HS=([e,t,n])=>{if(!Tt(e))return null;const r=document.createElement(e);return Pi(t)&&Object.entries(t).forEach(([o,s])=>{Tt(s)?r.setAttribute(o,s):s&&r.setAttribute(o,"")}),Tt(n)&&r.appendChild(document.createTextNode(n)),r},FS=()=>{const e=_v(),t=_f();let n=[];const r=()=>{e.value.forEach(i=>{const a=BS(i);a&&n.push(a)})},o=()=>{const i=[];return e.value.forEach(a=>{const l=HS(a);l&&i.push(l)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((a,l)=>{const c=i.findIndex(f=>a.isEqualNode(f));c===-1?(a.remove(),delete n[l]):i.splice(c,1)}),i.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...i]};kn(Ev,s),Je(()=>{r(),Ne(e,s,{immediate:!1})})},$S=Lm,US=async()=>{var r;const e=$S({name:"Vuepress",setup(){var i;FS();for(const a of bo)(i=a.setup)==null||i.call(a);const o=bo.flatMap(({rootComponents:a=[]})=>a.map(l=>ce(l))),s=yv();return()=>[ce(s.value),o]}}),t=VS();NS(e);const n=MS(e,t,bo);{const{setupDevtools:o}=await te(async()=>{const{setupDevtools:s}=await import("./setupDevtools-7MC2TMWH-CQnbRH05.js");return{setupDevtools:s}},[]);o(e,n)}for(const o of bo)await((r=o.enhance)==null?void 0:r.call(o,{app:e,router:t,siteData:wr}));return e.use(t),{app:e,router:t}};US().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Ie as _,ae as a,ie as b,re as c,US as createVueApp,$e as d,Wh as e,qt as f,te as g,G as o,wi as r,V1 as s,Ve as t,vd as u,Ne as w}; + */const yl=(e,t)=>{e.classList.add(t)},bl=(e,t)=>{e.classList.remove(t)},X_=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},Ts=(e,t,n)=>en?n:e,El=e=>(-1+e)*100,Z_=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),e0=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),vo=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:i}=document.body;if(s in i)return s;const a=s.charAt(0).toUpperCase()+s.slice(1);let l=e.length;for(;l--;){const c=`${e[l]}${a}`;if(c in i)return c}return s},r=s=>{const i=e0(s);return t[i]??(t[i]=n(i))},o=(s,i,a)=>{s.style[r(i)]=a};return(s,i)=>{for(const a in i){const l=i[a];Object.hasOwn(i,a)&&C_(l)&&o(s,a,l)}}})(),Ft={minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},Le={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=Ft,r=Le.isStarted(),o=Ts(e,Ft.minimum,1);Le.percent=o===1?null:o;const s=Le.render(!r),i=s.querySelector(Ft.barSelector);return s.offsetWidth,Z_(a=>{vo(i,{transform:`translate3d(${El(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(vo(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{vo(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{Le.remove(),a()},t)},t)):setTimeout(()=>{a()},t)}),Le},isStarted:()=>typeof Le.percent=="number",start:()=>{Le.percent||Le.set(0);const e=()=>{setTimeout(()=>{Le.percent&&(Le.trickle(),e())},Ft.trickleSpeed)};return e(),Le},done:e=>!e&&!Le.percent?Le:Le.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=Le;return t?(t=Ts(t+(typeof e=="number"?e:(1-t)*Ts(Math.random()*t,.1,.95)),0,.994),Le.set(t)):Le.start()},trickle:()=>Le.increase(Math.random()*Ft.trickleRate),render:e=>{if(Le.isRendered())return document.getElementById("nprogress");yl(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=Ft.template;const n=t.querySelector(Ft.barSelector),r=document.querySelector(Ft.parent),o=e?"-100":El(Le.percent??0);return vo(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&yl(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{bl(document.documentElement,"nprogress-busy"),bl(document.querySelector(Ft.parent),"nprogress-custom-parent"),X_(document.getElementById("nprogress"))}},t0=()=>{Je(()=>{const e=mn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||Le.start()}),e.afterEach(n=>{t.add(n.path),Le.done()})})},n0=gn({setup(){t0()}}),r0=Object.freeze(Object.defineProperty({__proto__:null,default:n0},Symbol.toStringTag,{value:"Module"})),o0=({selector:e='div[class*="language-"].has-collapsed-lines > .collapsed-lines'}={})=>{it("click",t=>{const n=t.target;if(n.matches(e)){const r=n.parentElement;r!=null&&r.classList.toggle("collapsed")&&r.scrollIntoView({block:"center",behavior:"instant"})}})},s0={setup(){o0()}},i0=Object.freeze(Object.defineProperty({__proto__:null,default:s0},Symbol.toStringTag,{value:"Module"})),a0="VUEPRESS_CODE_TAB_STORE",_o=$i(a0,{}),l0=ge({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=he(e.active),r=Et([]),o=()=>{e.tabId&&(_o.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=f):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),i()),e.tabId&&(_o.value[e.tabId]=e.data[n.value].id)},l=()=>{if(e.tabId){const c=e.data.findIndex(({id:f})=>_o.value[e.tabId]===f);if(c!==-1)return c}return e.active};return Je(()=>{n.value=l(),Ne(()=>_o.value[e.tabId],(c,f)=>{if(e.tabId&&c!==f){const u=e.data.findIndex(({id:d})=>d===c);u!==-1&&(n.value=u)}})}),()=>e.data.length?ce("div",{class:"vp-code-tabs"},[ce("div",{class:"vp-code-tabs-nav",role:"tablist"},e.data.map(({id:c},f)=>{const u=f===n.value;return ce("button",{type:"button",ref:d=>{d&&(r.value[f]=d)},class:["vp-code-tab-nav",{active:u}],role:"tab","aria-controls":`codetab-${e.id}-${f}`,"aria-selected":u,onClick:()=>{n.value=f,o()},onKeydown:d=>{a(d,f)}},t[`title${f}`]({value:c,isActive:u}))})),e.data.map(({id:c},f)=>{const u=f===n.value;return ce("div",{class:["vp-code-tab",{active:u}],id:`codetab-${e.id}-${f}`,role:"tabpanel","aria-expanded":u},[ce("div",{class:"vp-code-tab-title"},t[`title${f}`]({value:c,isActive:u})),t[`tab${f}`]({value:c,isActive:u})])})]):null}}),u0="VUEPRESS_TAB_STORE",Os=$i(u0,{}),c0=ge({name:"Tabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=he(e.active),r=Et([]),o=()=>{e.tabId&&(Os.value[e.tabId]=e.data[n.value].id)},s=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=f):c.key==="ArrowRight"?(c.preventDefault(),s()):c.key==="ArrowLeft"&&(c.preventDefault(),i()),o()},l=()=>{if(e.tabId){const c=e.data.findIndex(({id:f})=>Os.value[e.tabId]===f);if(c!==-1)return c}return e.active};return Je(()=>{n.value=l(),Ne(()=>Os.value[e.tabId],(c,f)=>{if(e.tabId&&c!==f){const u=e.data.findIndex(({id:d})=>d===c);u!==-1&&(n.value=u)}})}),()=>e.data.length?ce("div",{class:"vp-tabs"},[ce("div",{class:"vp-tabs-nav",role:"tablist"},e.data.map(({id:c},f)=>{const u=f===n.value;return ce("button",{type:"button",ref:d=>{d&&(r.value[f]=d)},class:["vp-tab-nav",{active:u}],role:"tab","aria-controls":`tab-${e.id}-${f}`,"aria-selected":u,onClick:()=>{n.value=f,o()},onKeydown:d=>{a(d,f)}},t[`title${f}`]({value:c,isActive:u}))})),e.data.map(({id:c},f)=>{const u=f===n.value;return ce("div",{class:["vp-tab",{active:u}],id:`tab-${e.id}-${f}`,role:"tabpanel","aria-expanded":u},[ce("div",{class:"vp-tab-title"},t[`title${f}`]({value:c,isActive:u})),t[`tab${f}`]({value:c,isActive:u})])})]):null}}),f0={enhance:({app:e})=>{e.component("CodeTabs",l0),e.component("Tabs",c0)}},d0=Object.freeze(Object.defineProperty({__proto__:null,default:f0},Symbol.toStringTag,{value:"Module"}));var p0=Object.create,Mf=Object.defineProperty,h0=Object.getOwnPropertyDescriptor,ji=Object.getOwnPropertyNames,m0=Object.getPrototypeOf,g0=Object.prototype.hasOwnProperty,v0=(e,t)=>function(){return e&&(t=(0,e[ji(e)[0]])(e=0)),t},_0=(e,t)=>function(){return t||(0,e[ji(e)[0]])((t={exports:{}}).exports,t),t.exports},y0=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ji(t))!g0.call(e,o)&&o!==n&&Mf(e,o,{get:()=>t[o],enumerable:!(r=h0(t,o))||r.enumerable});return e},b0=(e,t,n)=>(n=e!=null?p0(m0(e)):{},y0(Mf(n,"default",{value:e,enumerable:!0}),e)),io=v0({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@22.10.1__@swc+core@1.5.29_jiti@2.0.0_p_swvvp2d4pgn6xuiiec4l4x2i7a/node_modules/tsup/assets/esm_shims.js"(){}}),E0=_0({"../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js"(e,t){io(),t.exports=r;function n(s){return s instanceof Buffer?Buffer.from(s):new s.constructor(s.buffer.slice(),s.byteOffset,s.length)}function r(s){if(s=s||{},s.circles)return o(s);const i=new Map;if(i.set(Date,u=>new Date(u)),i.set(Map,(u,d)=>new Map(l(Array.from(u),d))),i.set(Set,(u,d)=>new Set(l(Array.from(u),d))),s.constructorHandlers)for(const u of s.constructorHandlers)i.set(u[0],u[1]);let a=null;return s.proto?f:c;function l(u,d){const p=Object.keys(u),v=new Array(p.length);for(let _=0;_new Date(p)),l.set(Map,(p,v)=>new Map(f(Array.from(p),v))),l.set(Set,(p,v)=>new Set(f(Array.from(p),v))),s.constructorHandlers)for(const p of s.constructorHandlers)l.set(p[0],p[1]);let c=null;return s.proto?d:u;function f(p,v){const _=Object.keys(p),y=new Array(_.length);for(let E=0;E<_.length;E++){const S=_[E],h=p[S];if(typeof h!="object"||h===null)y[S]=h;else if(h.constructor!==Object&&(c=l.get(h.constructor)))y[S]=c(h,v);else if(ArrayBuffer.isView(h))y[S]=n(h);else{const b=i.indexOf(h);b!==-1?y[S]=a[b]:y[S]=v(h)}}return y}function u(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return f(p,u);if(p.constructor!==Object&&(c=l.get(p.constructor)))return c(p,u);const v={};i.push(p),a.push(v);for(const _ in p){if(Object.hasOwnProperty.call(p,_)===!1)continue;const y=p[_];if(typeof y!="object"||y===null)v[_]=y;else if(y.constructor!==Object&&(c=l.get(y.constructor)))v[_]=c(y,u);else if(ArrayBuffer.isView(y))v[_]=n(y);else{const E=i.indexOf(y);E!==-1?v[_]=a[E]:v[_]=u(y)}}return i.pop(),a.pop(),v}function d(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return f(p,d);if(p.constructor!==Object&&(c=l.get(p.constructor)))return c(p,d);const v={};i.push(p),a.push(v);for(const _ in p){const y=p[_];if(typeof y!="object"||y===null)v[_]=y;else if(y.constructor!==Object&&(c=l.get(y.constructor)))v[_]=c(y,d);else if(ArrayBuffer.isView(y))v[_]=n(y);else{const E=i.indexOf(y);E!==-1?v[_]=a[E]:v[_]=d(y)}}return i.pop(),a.pop(),v}}}});io();io();io();var Bf=typeof navigator<"u",J=typeof window<"u"?window:typeof globalThis<"u"?globalThis:typeof global<"u"?global:{};typeof J.chrome<"u"&&J.chrome.devtools;Bf&&(J.self,J.top);var Sl;typeof navigator<"u"&&((Sl=navigator.userAgent)==null||Sl.toLowerCase().includes("electron"));io();var S0=b0(E0()),w0=/(?:^|[-_/])(\w)/g;function C0(e,t){return t?t.toUpperCase():""}function A0(e){return e&&`${e}`.replace(w0,C0)}function T0(e,t){let n=e.replace(/^[a-z]:/i,"").replace(/\\/g,"/");n.endsWith(`index${t}`)&&(n=n.replace(`/index${t}`,t));const r=n.lastIndexOf("/"),o=n.substring(r+1);{const s=o.lastIndexOf(t);return o.substring(0,s)}}var wl=(0,S0.default)({circles:!0});const O0={trailing:!0};function er(e,t=25,n={}){if(n={...O0,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,o,s=[],i,a;const l=(c,f)=>(i=x0(e,c,f),i.finally(()=>{if(i=null,n.trailing&&a&&!o){const u=l(c,a);return a=null,u}}),i);return function(...c){return i?(n.trailing&&(a=c),i):new Promise(f=>{const u=!o&&n.leading;clearTimeout(o),o=setTimeout(()=>{o=null;const d=n.leading?r:l(this,c);for(const p of s)p(d);s=[]},t),u?(r=l(this,c),f(r)):s.push(f)})}}async function x0(e,t,n){return await e.apply(t,n)}function Zs(e,t={},n){for(const r in e){const o=e[r],s=n?`${n}:${r}`:r;typeof o=="object"&&o!==null?Zs(o,t,s):typeof o=="function"&&(t[s]=o)}return t}const k0={run:e=>e()},P0=()=>k0,Hf=typeof console.createTask<"u"?console.createTask:P0;function I0(e,t){const n=t.shift(),r=Hf(n);return e.reduce((o,s)=>o.then(()=>r.run(()=>s(...t))),Promise.resolve())}function L0(e,t){const n=t.shift(),r=Hf(n);return Promise.all(e.map(o=>r.run(()=>o(...t))))}function xs(e,t){for(const n of[...e])n(t)}class R0{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const o=t;let s;for(;this._deprecatedHooks[t];)s=this._deprecatedHooks[t],t=s.to;if(s&&!r.allowDeprecated){let i=s.message;i||(i=`${o} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,o=(...s)=>(typeof r=="function"&&r(),r=void 0,o=void 0,n(...s));return r=this.hook(t,o),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const o of r)this.hook(t,o)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=Zs(t),r=Object.keys(n).map(o=>this.hook(o,n[o]));return()=>{for(const o of r.splice(0,r.length))o()}}removeHooks(t){const n=Zs(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(I0,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(L0,t,...n)}callHookWith(t,n,...r){const o=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&xs(this._before,o);const s=t(n in this._hooks?[...this._hooks[n]]:[],r);return s instanceof Promise?s.finally(()=>{this._after&&o&&xs(this._after,o)}):(this._after&&o&&xs(this._after,o),s)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}}function Ff(){return new R0}var D0=Object.create,$f=Object.defineProperty,V0=Object.getOwnPropertyDescriptor,zi=Object.getOwnPropertyNames,N0=Object.getPrototypeOf,M0=Object.prototype.hasOwnProperty,B0=(e,t)=>function(){return e&&(t=(0,e[zi(e)[0]])(e=0)),t},Uf=(e,t)=>function(){return t||(0,e[zi(e)[0]])((t={exports:{}}).exports,t),t.exports},H0=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zi(t))!M0.call(e,o)&&o!==n&&$f(e,o,{get:()=>t[o],enumerable:!(r=V0(t,o))||r.enumerable});return e},F0=(e,t,n)=>(n=e!=null?D0(N0(e)):{},H0($f(n,"default",{value:e,enumerable:!0}),e)),I=B0({"../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@22.10.1__@swc+core@1.5.29_jiti@2.0.0_p_swvvp2d4pgn6xuiiec4l4x2i7a/node_modules/tsup/assets/esm_shims.js"(){}}),$0=Uf({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js"(e,t){I(),function(n){var r={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"Ae",Å:"A",Æ:"AE",Ç:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"Oe",Ő:"O",Ø:"O",Ù:"U",Ú:"U",Û:"U",Ü:"Ue",Ű:"U",Ý:"Y",Þ:"TH",ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"ae",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"oe",ő:"o",ø:"o",ù:"u",ú:"u",û:"u",ü:"ue",ű:"u",ý:"y",þ:"th",ÿ:"y","ẞ":"SS",ا:"a",أ:"a",إ:"i",آ:"aa",ؤ:"u",ئ:"e",ء:"a",ب:"b",ت:"t",ث:"th",ج:"j",ح:"h",خ:"kh",د:"d",ذ:"th",ر:"r",ز:"z",س:"s",ش:"sh",ص:"s",ض:"dh",ط:"t",ظ:"z",ع:"a",غ:"gh",ف:"f",ق:"q",ك:"k",ل:"l",م:"m",ن:"n",ه:"h",و:"w",ي:"y",ى:"a",ة:"h",ﻻ:"la",ﻷ:"laa",ﻹ:"lai",ﻵ:"laa",گ:"g",چ:"ch",پ:"p",ژ:"zh",ک:"k",ی:"y","َ":"a","ً":"an","ِ":"e","ٍ":"en","ُ":"u","ٌ":"on","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9",က:"k",ခ:"kh",ဂ:"g",ဃ:"ga",င:"ng",စ:"s",ဆ:"sa",ဇ:"z","စျ":"za",ည:"ny",ဋ:"t",ဌ:"ta",ဍ:"d",ဎ:"da",ဏ:"na",တ:"t",ထ:"ta",ဒ:"d",ဓ:"da",န:"n",ပ:"p",ဖ:"pa",ဗ:"b",ဘ:"ba",မ:"m",ယ:"y",ရ:"ya",လ:"l",ဝ:"w",သ:"th",ဟ:"h",ဠ:"la",အ:"a","ြ":"y","ျ":"ya","ွ":"w","ြွ":"yw","ျွ":"ywa","ှ":"h",ဧ:"e","၏":"-e",ဣ:"i",ဤ:"-i",ဉ:"u",ဦ:"-u",ဩ:"aw","သြော":"aw",ဪ:"aw","၀":"0","၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","္":"","့":"","း":"",č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z",ހ:"h",ށ:"sh",ނ:"n",ރ:"r",ބ:"b",ޅ:"lh",ކ:"k",އ:"a",ވ:"v",މ:"m",ފ:"f",ދ:"dh",ތ:"th",ލ:"l",ގ:"g",ޏ:"gn",ސ:"s",ޑ:"d",ޒ:"z",ޓ:"t",ޔ:"y",ޕ:"p",ޖ:"j",ޗ:"ch",ޘ:"tt",ޙ:"hh",ޚ:"kh",ޛ:"th",ޜ:"z",ޝ:"sh",ޞ:"s",ޟ:"d",ޠ:"t",ޡ:"z",ޢ:"a",ޣ:"gh",ޤ:"q",ޥ:"w","ަ":"a","ާ":"aa","ި":"i","ީ":"ee","ު":"u","ޫ":"oo","ެ":"e","ޭ":"ey","ޮ":"o","ޯ":"oa","ް":"",ა:"a",ბ:"b",გ:"g",დ:"d",ე:"e",ვ:"v",ზ:"z",თ:"t",ი:"i",კ:"k",ლ:"l",მ:"m",ნ:"n",ო:"o",პ:"p",ჟ:"zh",რ:"r",ს:"s",ტ:"t",უ:"u",ფ:"p",ქ:"k",ღ:"gh",ყ:"q",შ:"sh",ჩ:"ch",ც:"ts",ძ:"dz",წ:"ts",ჭ:"ch",ხ:"kh",ჯ:"j",ჰ:"h",α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"ks",ο:"o",π:"p",ρ:"r",σ:"s",τ:"t",υ:"y",φ:"f",χ:"x",ψ:"ps",ω:"o",ά:"a",έ:"e",ί:"i",ό:"o",ύ:"y",ή:"i",ώ:"o",ς:"s",ϊ:"i",ΰ:"y",ϋ:"y",ΐ:"i",Α:"A",Β:"B",Γ:"G",Δ:"D",Ε:"E",Ζ:"Z",Η:"I",Θ:"TH",Ι:"I",Κ:"K",Λ:"L",Μ:"M",Ν:"N",Ξ:"KS",Ο:"O",Π:"P",Ρ:"R",Σ:"S",Τ:"T",Υ:"Y",Φ:"F",Χ:"X",Ψ:"PS",Ω:"O",Ά:"A",Έ:"E",Ί:"I",Ό:"O",Ύ:"Y",Ή:"I",Ώ:"O",Ϊ:"I",Ϋ:"Y",ā:"a",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",ū:"u",Ā:"A",Ē:"E",Ģ:"G",Ī:"I",Ķ:"k",Ļ:"L",Ņ:"N",Ū:"U",Ќ:"Kj",ќ:"kj",Љ:"Lj",љ:"lj",Њ:"Nj",њ:"nj",Тс:"Ts",тс:"ts",ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"E",Ł:"L",Ń:"N",Ś:"S",Ź:"Z",Ż:"Z",Є:"Ye",І:"I",Ї:"Yi",Ґ:"G",є:"ye",і:"i",ї:"yi",ґ:"g",ă:"a",Ă:"A",ș:"s",Ș:"S",ț:"t",Ț:"T",ţ:"t",Ţ:"T",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"yo",ж:"zh",з:"z",и:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"c",ч:"ch",ш:"sh",щ:"sh",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",А:"A",Б:"B",В:"V",Г:"G",Д:"D",Е:"E",Ё:"Yo",Ж:"Zh",З:"Z",И:"I",Й:"I",К:"K",Л:"L",М:"M",Н:"N",О:"O",П:"P",Р:"R",С:"S",Т:"T",У:"U",Ф:"F",Х:"Kh",Ц:"C",Ч:"Ch",Ш:"Sh",Щ:"Sh",Ъ:"",Ы:"Y",Ь:"",Э:"E",Ю:"Yu",Я:"Ya",ђ:"dj",ј:"j",ћ:"c",џ:"dz",Ђ:"Dj",Ј:"j",Ћ:"C",Џ:"Dz",ľ:"l",ĺ:"l",ŕ:"r",Ľ:"L",Ĺ:"L",Ŕ:"R",ş:"s",Ş:"S",ı:"i",İ:"I",ğ:"g",Ğ:"G",ả:"a",Ả:"A",ẳ:"a",Ẳ:"A",ẩ:"a",Ẩ:"A",đ:"d",Đ:"D",ẹ:"e",Ẹ:"E",ẽ:"e",Ẽ:"E",ẻ:"e",Ẻ:"E",ế:"e",Ế:"E",ề:"e",Ề:"E",ệ:"e",Ệ:"E",ễ:"e",Ễ:"E",ể:"e",Ể:"E",ỏ:"o",ọ:"o",Ọ:"o",ố:"o",Ố:"O",ồ:"o",Ồ:"O",ổ:"o",Ổ:"O",ộ:"o",Ộ:"O",ỗ:"o",Ỗ:"O",ơ:"o",Ơ:"O",ớ:"o",Ớ:"O",ờ:"o",Ờ:"O",ợ:"o",Ợ:"O",ỡ:"o",Ỡ:"O",Ở:"o",ở:"o",ị:"i",Ị:"I",ĩ:"i",Ĩ:"I",ỉ:"i",Ỉ:"i",ủ:"u",Ủ:"U",ụ:"u",Ụ:"U",ũ:"u",Ũ:"U",ư:"u",Ư:"U",ứ:"u",Ứ:"U",ừ:"u",Ừ:"U",ự:"u",Ự:"U",ữ:"u",Ữ:"U",ử:"u",Ử:"ư",ỷ:"y",Ỷ:"y",ỳ:"y",Ỳ:"Y",ỵ:"y",Ỵ:"Y",ỹ:"y",Ỹ:"Y",ạ:"a",Ạ:"A",ấ:"a",Ấ:"A",ầ:"a",Ầ:"A",ậ:"a",Ậ:"A",ẫ:"a",Ẫ:"A",ắ:"a",Ắ:"A",ằ:"a",Ằ:"A",ặ:"a",Ặ:"A",ẵ:"a",Ẵ:"A","⓪":"0","①":"1","②":"2","③":"3","④":"4","⑤":"5","⑥":"6","⑦":"7","⑧":"8","⑨":"9","⑩":"10","⑪":"11","⑫":"12","⑬":"13","⑭":"14","⑮":"15","⑯":"16","⑰":"17","⑱":"18","⑲":"18","⑳":"18","⓵":"1","⓶":"2","⓷":"3","⓸":"4","⓹":"5","⓺":"6","⓻":"7","⓼":"8","⓽":"9","⓾":"10","⓿":"0","⓫":"11","⓬":"12","⓭":"13","⓮":"14","⓯":"15","⓰":"16","⓱":"17","⓲":"18","⓳":"19","⓴":"20","Ⓐ":"A","Ⓑ":"B","Ⓒ":"C","Ⓓ":"D","Ⓔ":"E","Ⓕ":"F","Ⓖ":"G","Ⓗ":"H","Ⓘ":"I","Ⓙ":"J","Ⓚ":"K","Ⓛ":"L","Ⓜ":"M","Ⓝ":"N","Ⓞ":"O","Ⓟ":"P","Ⓠ":"Q","Ⓡ":"R","Ⓢ":"S","Ⓣ":"T","Ⓤ":"U","Ⓥ":"V","Ⓦ":"W","Ⓧ":"X","Ⓨ":"Y","Ⓩ":"Z","ⓐ":"a","ⓑ":"b","ⓒ":"c","ⓓ":"d","ⓔ":"e","ⓕ":"f","ⓖ":"g","ⓗ":"h","ⓘ":"i","ⓙ":"j","ⓚ":"k","ⓛ":"l","ⓜ":"m","ⓝ":"n","ⓞ":"o","ⓟ":"p","ⓠ":"q","ⓡ":"r","ⓢ":"s","ⓣ":"t","ⓤ":"u","ⓦ":"v","ⓥ":"w","ⓧ":"x","ⓨ":"y","ⓩ":"z","“":'"',"”":'"',"‘":"'","’":"'","∂":"d",ƒ:"f","™":"(TM)","©":"(C)",œ:"oe",Œ:"OE","®":"(R)","†":"+","℠":"(SM)","…":"...","˚":"o",º:"o",ª:"a","•":"*","၊":",","။":".",$:"USD","€":"EUR","₢":"BRN","₣":"FRF","£":"GBP","₤":"ITL","₦":"NGN","₧":"ESP","₩":"KRW","₪":"ILS","₫":"VND","₭":"LAK","₮":"MNT","₯":"GRD","₱":"ARS","₲":"PYG","₳":"ARA","₴":"UAH","₵":"GHS","¢":"cent","¥":"CNY",元:"CNY",円:"YEN","﷼":"IRR","₠":"EWE","฿":"THB","₨":"INR","₹":"INR","₰":"PF","₺":"TRY","؋":"AFN","₼":"AZN",лв:"BGN","៛":"KHR","₡":"CRC","₸":"KZT",ден:"MKD",zł:"PLN","₽":"RUB","₾":"GEL"},o=["်","ް"],s={"ာ":"a","ါ":"a","ေ":"e","ဲ":"e","ိ":"i","ီ":"i","ို":"o","ု":"u","ူ":"u","ေါင်":"aung","ော":"aw","ော်":"aw","ေါ":"aw","ေါ်":"aw","်":"်","က်":"et","ိုက်":"aik","ောက်":"auk","င်":"in","ိုင်":"aing","ောင်":"aung","စ်":"it","ည်":"i","တ်":"at","ိတ်":"eik","ုတ်":"ok","ွတ်":"ut","ေတ်":"it","ဒ်":"d","ိုဒ်":"ok","ုဒ်":"ait","န်":"an","ာန်":"an","ိန်":"ein","ုန်":"on","ွန်":"un","ပ်":"at","ိပ်":"eik","ုပ်":"ok","ွပ်":"ut","န်ုပ်":"nub","မ်":"an","ိမ်":"ein","ုမ်":"on","ွမ်":"un","ယ်":"e","ိုလ်":"ol","ဉ်":"in","ံ":"an","ိံ":"ein","ုံ":"on","ައް":"ah","ަށް":"ah"},i={en:{},az:{ç:"c",ə:"e",ğ:"g",ı:"i",ö:"o",ş:"s",ü:"u",Ç:"C",Ə:"E",Ğ:"G",İ:"I",Ö:"O",Ş:"S",Ü:"U"},cs:{č:"c",ď:"d",ě:"e",ň:"n",ř:"r",š:"s",ť:"t",ů:"u",ž:"z",Č:"C",Ď:"D",Ě:"E",Ň:"N",Ř:"R",Š:"S",Ť:"T",Ů:"U",Ž:"Z"},fi:{ä:"a",Ä:"A",ö:"o",Ö:"O"},hu:{ä:"a",Ä:"A",ö:"o",Ö:"O",ü:"u",Ü:"U",ű:"u",Ű:"U"},lt:{ą:"a",č:"c",ę:"e",ė:"e",į:"i",š:"s",ų:"u",ū:"u",ž:"z",Ą:"A",Č:"C",Ę:"E",Ė:"E",Į:"I",Š:"S",Ų:"U",Ū:"U"},lv:{ā:"a",č:"c",ē:"e",ģ:"g",ī:"i",ķ:"k",ļ:"l",ņ:"n",š:"s",ū:"u",ž:"z",Ā:"A",Č:"C",Ē:"E",Ģ:"G",Ī:"i",Ķ:"k",Ļ:"L",Ņ:"N",Š:"S",Ū:"u",Ž:"Z"},pl:{ą:"a",ć:"c",ę:"e",ł:"l",ń:"n",ó:"o",ś:"s",ź:"z",ż:"z",Ą:"A",Ć:"C",Ę:"e",Ł:"L",Ń:"N",Ó:"O",Ś:"S",Ź:"Z",Ż:"Z"},sv:{ä:"a",Ä:"A",ö:"o",Ö:"O"},sk:{ä:"a",Ä:"A"},sr:{љ:"lj",њ:"nj",Љ:"Lj",Њ:"Nj",đ:"dj",Đ:"Dj"},tr:{Ü:"U",Ö:"O",ü:"u",ö:"o"}},a={ar:{"∆":"delta","∞":"la-nihaya","♥":"hob","&":"wa","|":"aw","<":"aqal-men",">":"akbar-men","∑":"majmou","¤":"omla"},az:{},ca:{"∆":"delta","∞":"infinit","♥":"amor","&":"i","|":"o","<":"menys que",">":"mes que","∑":"suma dels","¤":"moneda"},cs:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"nebo","<":"mensi nez",">":"vetsi nez","∑":"soucet","¤":"mena"},de:{"∆":"delta","∞":"unendlich","♥":"Liebe","&":"und","|":"oder","<":"kleiner als",">":"groesser als","∑":"Summe von","¤":"Waehrung"},dv:{"∆":"delta","∞":"kolunulaa","♥":"loabi","&":"aai","|":"noonee","<":"ah vure kuda",">":"ah vure bodu","∑":"jumula","¤":"faisaa"},en:{"∆":"delta","∞":"infinity","♥":"love","&":"and","|":"or","<":"less than",">":"greater than","∑":"sum","¤":"currency"},es:{"∆":"delta","∞":"infinito","♥":"amor","&":"y","|":"u","<":"menos que",">":"mas que","∑":"suma de los","¤":"moneda"},fa:{"∆":"delta","∞":"bi-nahayat","♥":"eshgh","&":"va","|":"ya","<":"kamtar-az",">":"bishtar-az","∑":"majmooe","¤":"vahed"},fi:{"∆":"delta","∞":"aarettomyys","♥":"rakkaus","&":"ja","|":"tai","<":"pienempi kuin",">":"suurempi kuin","∑":"summa","¤":"valuutta"},fr:{"∆":"delta","∞":"infiniment","♥":"Amour","&":"et","|":"ou","<":"moins que",">":"superieure a","∑":"somme des","¤":"monnaie"},ge:{"∆":"delta","∞":"usasruloba","♥":"siqvaruli","&":"da","|":"an","<":"naklebi",">":"meti","∑":"jami","¤":"valuta"},gr:{},hu:{"∆":"delta","∞":"vegtelen","♥":"szerelem","&":"es","|":"vagy","<":"kisebb mint",">":"nagyobb mint","∑":"szumma","¤":"penznem"},it:{"∆":"delta","∞":"infinito","♥":"amore","&":"e","|":"o","<":"minore di",">":"maggiore di","∑":"somma","¤":"moneta"},lt:{"∆":"delta","∞":"begalybe","♥":"meile","&":"ir","|":"ar","<":"maziau nei",">":"daugiau nei","∑":"suma","¤":"valiuta"},lv:{"∆":"delta","∞":"bezgaliba","♥":"milestiba","&":"un","|":"vai","<":"mazak neka",">":"lielaks neka","∑":"summa","¤":"valuta"},my:{"∆":"kwahkhyaet","∞":"asaonasme","♥":"akhyait","&":"nhin","|":"tho","<":"ngethaw",">":"kyithaw","∑":"paungld","¤":"ngwekye"},mk:{},nl:{"∆":"delta","∞":"oneindig","♥":"liefde","&":"en","|":"of","<":"kleiner dan",">":"groter dan","∑":"som","¤":"valuta"},pl:{"∆":"delta","∞":"nieskonczonosc","♥":"milosc","&":"i","|":"lub","<":"mniejsze niz",">":"wieksze niz","∑":"suma","¤":"waluta"},pt:{"∆":"delta","∞":"infinito","♥":"amor","&":"e","|":"ou","<":"menor que",">":"maior que","∑":"soma","¤":"moeda"},ro:{"∆":"delta","∞":"infinit","♥":"dragoste","&":"si","|":"sau","<":"mai mic ca",">":"mai mare ca","∑":"suma","¤":"valuta"},ru:{"∆":"delta","∞":"beskonechno","♥":"lubov","&":"i","|":"ili","<":"menshe",">":"bolshe","∑":"summa","¤":"valjuta"},sk:{"∆":"delta","∞":"nekonecno","♥":"laska","&":"a","|":"alebo","<":"menej ako",">":"viac ako","∑":"sucet","¤":"mena"},sr:{},tr:{"∆":"delta","∞":"sonsuzluk","♥":"ask","&":"ve","|":"veya","<":"kucuktur",">":"buyuktur","∑":"toplam","¤":"para birimi"},uk:{"∆":"delta","∞":"bezkinechnist","♥":"lubov","&":"i","|":"abo","<":"menshe",">":"bilshe","∑":"suma","¤":"valjuta"},vn:{"∆":"delta","∞":"vo cuc","♥":"yeu","&":"va","|":"hoac","<":"nho hon",">":"lon hon","∑":"tong","¤":"tien te"}},l=[";","?",":","@","&","=","+","$",",","/"].join(""),c=[";","?",":","@","&","=","+","$",","].join(""),f=[".","!","~","*","'","(",")"].join(""),u=function(y,E){var S="-",h="",b="",L=!0,z={},M,A,F,T,N,C,V,Q,ee,k,R,K,oe,be,xe="";if(typeof y!="string")return"";if(typeof E=="string"&&(S=E),V=a.en,Q=i.en,typeof E=="object"){M=E.maintainCase||!1,z=E.custom&&typeof E.custom=="object"?E.custom:z,F=+E.truncate>1&&E.truncate||!1,T=E.uric||!1,N=E.uricNoSlash||!1,C=E.mark||!1,L=!(E.symbols===!1||E.lang===!1),S=E.separator||S,T&&(xe+=l),N&&(xe+=c),C&&(xe+=f),V=E.lang&&a[E.lang]&&L?a[E.lang]:L?a.en:{},Q=E.lang&&i[E.lang]?i[E.lang]:E.lang===!1||E.lang===!0?{}:i.en,E.titleCase&&typeof E.titleCase.length=="number"&&Array.prototype.toString.call(E.titleCase)?(E.titleCase.forEach(function(me){z[me+""]=me+""}),A=!0):A=!!E.titleCase,E.custom&&typeof E.custom.length=="number"&&Array.prototype.toString.call(E.custom)&&E.custom.forEach(function(me){z[me+""]=me+""}),Object.keys(z).forEach(function(me){var Re;me.length>1?Re=new RegExp("\\b"+p(me)+"\\b","gi"):Re=new RegExp(p(me),"gi"),y=y.replace(Re,z[me])});for(R in z)xe+=R}for(xe+=S,xe=p(xe),y=y.replace(/(^\s+|\s+$)/g,""),oe=!1,be=!1,k=0,K=y.length;k=0?(b+=R,R=""):be===!0?(R=s[b]+r[R],b=""):R=oe&&r[R].match(/[A-Za-z0-9]/)?" "+r[R]:r[R],oe=!1,be=!1):R in s?(b+=R,R="",k===K-1&&(R=s[b]),be=!0):V[R]&&!(T&&l.indexOf(R)!==-1)&&!(N&&c.indexOf(R)!==-1)?(R=oe||h.substr(-1).match(/[A-Za-z0-9]/)?S+V[R]:V[R],R+=y[k+1]!==void 0&&y[k+1].match(/[A-Za-z0-9]/)?S:"",oe=!0):(be===!0?(R=s[b]+R,b="",be=!1):oe&&(/[A-Za-z0-9]/.test(R)||h.substr(-1).match(/A-Za-z0-9]/))&&(R=" "+R),oe=!1),h+=R.replace(new RegExp("[^\\w\\s"+xe+"_-]","g"),S);return A&&(h=h.replace(/(\w)(\S*)/g,function(me,Re,ot){var Me=Re.toUpperCase()+(ot!==null?ot:"");return Object.keys(z).indexOf(Me.toLowerCase())<0?Me:Me.toLowerCase()})),h=h.replace(/\s+/g,S).replace(new RegExp("\\"+S+"+","g"),S).replace(new RegExp("(^\\"+S+"+|\\"+S+"+$)","g"),""),F&&h.length>F&&(ee=h.charAt(F)===S,h=h.slice(0,F),ee||(h=h.slice(0,h.lastIndexOf(S)))),!M&&!A&&(h=h.toLowerCase()),h},d=function(y){return function(S){return u(S,y)}},p=function(y){return y.replace(/[-\\^$*+?.()|[\]{}\/]/g,"\\$&")},v=function(_,y){for(var E in y)if(y[E]===_)return!0};if(typeof t<"u"&&t.exports)t.exports=u,t.exports.createSlug=d;else if(typeof define<"u"&&define.amd)define([],function(){return u});else try{if(n.getSlug||n.createSlug)throw"speakingurl: globals exists /(getSlug|createSlug)/";n.getSlug=u,n.createSlug=d}catch{}}(e)}}),U0=Uf({"../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js"(e,t){I(),t.exports=$0()}});I();I();I();I();I();I();I();I();function j0(e){var t;const n=e.name||e._componentTag||e.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__||e.__name;return n==="index"&&((t=e.__file)!=null&&t.endsWith("index.vue"))?"":n}function z0(e){const t=e.__file;if(t)return A0(T0(t,".vue"))}function Cl(e,t){return e.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__=t,t}function ts(e){if(e.__VUE_DEVTOOLS_NEXT_APP_RECORD__)return e.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(e.root)return e.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__}async function K0(e){const{app:t,uid:n,instance:r}=e;try{if(r.__VUE_DEVTOOLS_NEXT_UID__)return r.__VUE_DEVTOOLS_NEXT_UID__;const o=await ts(t);if(!o)return null;const s=o.rootInstance===r;return`${o.id}:${s?"root":n}`}catch{}}function jf(e){var t,n;const r=(t=e.subTree)==null?void 0:t.type,o=ts(e);return o?((n=o==null?void 0:o.types)==null?void 0:n.Fragment)===r:!1}function ns(e){var t,n,r;const o=j0((e==null?void 0:e.type)||{});if(o)return o;if((e==null?void 0:e.root)===e)return"Root";for(const i in(n=(t=e.parent)==null?void 0:t.type)==null?void 0:n.components)if(e.parent.type.components[i]===(e==null?void 0:e.type))return Cl(e,i);for(const i in(r=e.appContext)==null?void 0:r.components)if(e.appContext.components[i]===(e==null?void 0:e.type))return Cl(e,i);const s=z0((e==null?void 0:e.type)||{});return s||"Anonymous Component"}function ei(e,t){return t=t||`${e.id}:root`,e.instanceMap.get(t)||e.instanceMap.get(":root")}function W0(){const e={top:0,bottom:0,left:0,right:0,get width(){return e.right-e.left},get height(){return e.bottom-e.top}};return e}var yo;function q0(e){return yo||(yo=document.createRange()),yo.selectNode(e),yo.getBoundingClientRect()}function G0(e){const t=W0();if(!e.children)return t;for(let n=0,r=e.children.length;ne.bottom)&&(e.bottom=t.bottom),(!e.left||t.lefte.right)&&(e.right=t.right),e}var Al={top:0,left:0,right:0,bottom:0,width:0,height:0};function In(e){const t=e.subTree.el;return typeof window>"u"?Al:jf(e)?G0(e.subTree):(t==null?void 0:t.nodeType)===1?t==null?void 0:t.getBoundingClientRect():e.subTree.component?In(e.subTree.component):Al}I();function Ki(e){return jf(e)?J0(e.subTree):e.subTree?[e.subTree.el]:[]}function J0(e){if(!e.children)return[];const t=[];return e.children.forEach(n=>{n.component?t.push(...Ki(n.component)):n!=null&&n.el&&t.push(n.el)}),t}var zf="__vue-devtools-component-inspector__",Kf="__vue-devtools-component-inspector__card__",Wf="__vue-devtools-component-inspector__name__",qf="__vue-devtools-component-inspector__indicator__",Gf={display:"block",zIndex:2147483640,position:"fixed",backgroundColor:"#42b88325",border:"1px solid #42b88350",borderRadius:"5px",transition:"all 0.1s ease-in",pointerEvents:"none"},Q0={fontFamily:"Arial, Helvetica, sans-serif",padding:"5px 8px",borderRadius:"4px",textAlign:"left",position:"absolute",left:0,color:"#e9e9e9",fontSize:"14px",fontWeight:600,lineHeight:"24px",backgroundColor:"#42b883",boxShadow:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"},X0={display:"inline-block",fontWeight:400,fontStyle:"normal",fontSize:"12px",opacity:.7};function cr(){return document.getElementById(zf)}function Z0(){return document.getElementById(Kf)}function e1(){return document.getElementById(qf)}function t1(){return document.getElementById(Wf)}function Wi(e){return{left:`${Math.round(e.left*100)/100}px`,top:`${Math.round(e.top*100)/100}px`,width:`${Math.round(e.width*100)/100}px`,height:`${Math.round(e.height*100)/100}px`}}function qi(e){var t;const n=document.createElement("div");n.id=(t=e.elementId)!=null?t:zf,Object.assign(n.style,{...Gf,...Wi(e.bounds),...e.style});const r=document.createElement("span");r.id=Kf,Object.assign(r.style,{...Q0,top:e.bounds.top<35?0:"-35px"});const o=document.createElement("span");o.id=Wf,o.innerHTML=`<${e.name}>  `;const s=document.createElement("i");return s.id=qf,s.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`,Object.assign(s.style,X0),r.appendChild(o),r.appendChild(s),n.appendChild(r),document.body.appendChild(n),n}function Gi(e){const t=cr(),n=Z0(),r=t1(),o=e1();t&&(Object.assign(t.style,{...Gf,...Wi(e.bounds)}),Object.assign(n.style,{top:e.bounds.top<35?0:"-35px"}),r.innerHTML=`<${e.name}>  `,o.innerHTML=`${Math.round(e.bounds.width*100)/100} x ${Math.round(e.bounds.height*100)/100}`)}function n1(e){const t=In(e);if(!t.width&&!t.height)return;const n=ns(e);cr()?Gi({bounds:t,name:n}):qi({bounds:t,name:n})}function Yf(){const e=cr();e&&(e.style.display="none")}var ti=null;function ni(e){const t=e.target;if(t){const n=t.__vueParentComponent;if(n&&(ti=n,n.vnode.el)){const o=In(n),s=ns(n);cr()?Gi({bounds:o,name:s}):qi({bounds:o,name:s})}}}function r1(e,t){var n;if(e.preventDefault(),e.stopPropagation(),ti){const r=(n=et.value)==null?void 0:n.app;K0({app:r,uid:r.uid,instance:ti}).then(o=>{t(o)})}}var Bo=null;function o1(){Yf(),window.removeEventListener("mouseover",ni),window.removeEventListener("click",Bo,!0),Bo=null}function s1(){return window.addEventListener("mouseover",ni),new Promise(e=>{function t(n){n.preventDefault(),n.stopPropagation(),r1(n,r=>{window.removeEventListener("click",t,!0),Bo=null,window.removeEventListener("mouseover",ni);const o=cr();o&&(o.style.display="none"),e(JSON.stringify({id:r}))})}Bo=t,window.addEventListener("click",t,!0)})}function i1(e){const t=ei(et.value,e.id);if(t){const[n]=Ki(t);if(typeof n.scrollIntoView=="function")n.scrollIntoView({behavior:"smooth"});else{const r=In(t),o=document.createElement("div"),s={...Wi(r),position:"absolute"};Object.assign(o.style,s),document.body.appendChild(o),o.scrollIntoView({behavior:"smooth"}),setTimeout(()=>{document.body.removeChild(o)},2e3)}setTimeout(()=>{const r=In(t);if(r.width||r.height){const o=ns(t),s=cr();s?Gi({...e,name:o,bounds:r}):qi({...e,name:o,bounds:r}),setTimeout(()=>{s&&(s.style.display="none")},1500)}},1200)}}I();var Tl,Ol;(Ol=(Tl=J).__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__)!=null||(Tl.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__=!0);function a1(e){let t=0;const n=setInterval(()=>{J.__VUE_INSPECTOR__&&(clearInterval(n),t+=30,e()),t>=5e3&&clearInterval(n)},30)}function l1(){const e=J.__VUE_INSPECTOR__,t=e.openInEditor;e.openInEditor=async(...n)=>{e.disable(),t(...n)}}function u1(){return new Promise(e=>{function t(){l1(),e(J.__VUE_INSPECTOR__)}J.__VUE_INSPECTOR__?t():a1(()=>{t()})})}I();I();function c1(e){return!!(e&&e.__v_isReadonly)}function Jf(e){return c1(e)?Jf(e.__v_raw):!!(e&&e.__v_isReactive)}function ks(e){return!!(e&&e.__v_isRef===!0)}function Sr(e){const t=e&&e.__v_raw;return t?Sr(t):e}var f1=class{constructor(){this.refEditor=new d1}set(e,t,n,r){const o=Array.isArray(t)?t:t.split(".");for(;o.length>1;){const a=o.shift();e instanceof Map&&(e=e.get(a)),e instanceof Set?e=Array.from(e.values())[a]:e=e[a],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}const s=o[0],i=this.refEditor.get(e)[s];r?r(e,s,n):this.refEditor.isRef(i)?this.refEditor.set(i,n):e[s]=n}get(e,t){const n=Array.isArray(t)?t:t.split(".");for(let r=0;r"u")return!1;const r=Array.isArray(t)?t.slice():t.split("."),o=n?2:1;for(;e&&r.length>o;){const s=r.shift();e=e[s],this.refEditor.isRef(e)&&(e=this.refEditor.get(e))}return e!=null&&Object.prototype.hasOwnProperty.call(e,r[0])}createDefaultSetCallback(e){return(t,n,r)=>{if((e.remove||e.newKey)&&(Array.isArray(t)?t.splice(n,1):Sr(t)instanceof Map?t.delete(n):Sr(t)instanceof Set?t.delete(Array.from(t.values())[n]):Reflect.deleteProperty(t,n)),!e.remove){const o=t[e.newKey||n];this.refEditor.isRef(o)?this.refEditor.set(o,r):Sr(t)instanceof Map?t.set(e.newKey||n,r):Sr(t)instanceof Set?t.add(r):t[e.newKey||n]=r}}}},d1=class{set(e,t){if(ks(e))e.value=t;else{if(e instanceof Set&&Array.isArray(t)){e.clear(),t.forEach(o=>e.add(o));return}const n=Object.keys(t);if(e instanceof Map){const o=new Set(e.keys());n.forEach(s=>{e.set(s,Reflect.get(t,s)),o.delete(s)}),o.forEach(s=>e.delete(s));return}const r=new Set(Object.keys(e));n.forEach(o=>{Reflect.set(e,o,Reflect.get(t,o)),r.delete(o)}),r.forEach(o=>Reflect.deleteProperty(e,o))}}get(e){return ks(e)?e.value:e}isRef(e){return ks(e)||Jf(e)}};I();I();I();var p1="__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";function h1(){if(!Bf||typeof localStorage>"u"||localStorage===null)return{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""};const e=localStorage.getItem(p1);return e?JSON.parse(e):{recordingState:!1,mouseEventEnabled:!1,keyboardEventEnabled:!1,componentEventEnabled:!1,performanceEventEnabled:!1,selected:""}}I();I();I();var xl,kl;(kl=(xl=J).__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS)!=null||(xl.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS=[]);var m1=new Proxy(J.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS,{get(e,t,n){return Reflect.get(e,t,n)}});function g1(e,t){Ue.timelineLayersState[t.id]=!1,m1.push({...e,descriptorId:t.id,appRecord:ts(t.app)})}var Pl,Il;(Il=(Pl=J).__VUE_DEVTOOLS_KIT_INSPECTOR__)!=null||(Pl.__VUE_DEVTOOLS_KIT_INSPECTOR__=[]);var Yi=new Proxy(J.__VUE_DEVTOOLS_KIT_INSPECTOR__,{get(e,t,n){return Reflect.get(e,t,n)}}),Qf=er(()=>{fr.hooks.callHook("sendInspectorToClient",Xf())});function v1(e,t){var n,r;Yi.push({options:e,descriptor:t,treeFilterPlaceholder:(n=e.treeFilterPlaceholder)!=null?n:"Search tree...",stateFilterPlaceholder:(r=e.stateFilterPlaceholder)!=null?r:"Search state...",treeFilter:"",selectedNodeId:"",appRecord:ts(t.app)}),Qf()}function Xf(){return Yi.filter(e=>e.descriptor.app===et.value.app).filter(e=>e.descriptor.id!=="components").map(e=>{var t;const n=e.descriptor,r=e.options;return{id:r.id,label:r.label,logo:n.logo,icon:`custom-ic-baseline-${(t=r==null?void 0:r.icon)==null?void 0:t.replace(/_/g,"-")}`,packageName:n.packageName,homepage:n.homepage,pluginId:n.id}})}function Ao(e,t){return Yi.find(n=>n.options.id===e&&(t?n.descriptor.app===t:!0))}function _1(){const e=Ff();e.hook("addInspector",({inspector:r,plugin:o})=>{v1(r,o.descriptor)});const t=er(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||Ue.highPerfModeEnabled)return;const i=Ao(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,filter:(i==null?void 0:i.treeFilter)||"",rootNodes:[]};await new Promise(l=>{e.callHookWith(async c=>{await Promise.all(c.map(f=>f(a))),l()},"getInspectorTree")}),e.callHookWith(async l=>{await Promise.all(l.map(c=>c({inspectorId:r,rootNodes:a.rootNodes})))},"sendInspectorTreeToClient")},120);e.hook("sendInspectorTree",t);const n=er(async({inspectorId:r,plugin:o})=>{var s;if(!r||!((s=o==null?void 0:o.descriptor)!=null&&s.app)||Ue.highPerfModeEnabled)return;const i=Ao(r,o.descriptor.app),a={app:o.descriptor.app,inspectorId:r,nodeId:(i==null?void 0:i.selectedNodeId)||"",state:null},l={currentTab:`custom-inspector:${r}`};a.nodeId&&await new Promise(c=>{e.callHookWith(async f=>{await Promise.all(f.map(u=>u(a,l))),c()},"getInspectorState")}),e.callHookWith(async c=>{await Promise.all(c.map(f=>f({inspectorId:r,nodeId:a.nodeId,state:a.state})))},"sendInspectorStateToClient")},120);return e.hook("sendInspectorState",n),e.hook("customInspectorSelectNode",({inspectorId:r,nodeId:o,plugin:s})=>{const i=Ao(r,s.descriptor.app);i&&(i.selectedNodeId=o)}),e.hook("timelineLayerAdded",({options:r,plugin:o})=>{g1(r,o.descriptor)}),e.hook("timelineEventAdded",({options:r,plugin:o})=>{var s;const i=["performance","component-event","keyboard","mouse"];Ue.highPerfModeEnabled||!((s=Ue.timelineLayersState)!=null&&s[o.descriptor.id])&&!i.includes(r.layerId)||e.callHookWith(async a=>{await Promise.all(a.map(l=>l(r)))},"sendTimelineEventToClient")}),e.hook("getComponentInstances",async({app:r})=>{const o=r.__VUE_DEVTOOLS_NEXT_APP_RECORD__;if(!o)return null;const s=o.id.toString();return[...o.instanceMap].filter(([a])=>a.split(":")[0]===s).map(([,a])=>a)}),e.hook("getComponentBounds",async({instance:r})=>In(r)),e.hook("getComponentName",({instance:r})=>ns(r)),e.hook("componentHighlight",({uid:r})=>{const o=et.value.instanceMap.get(r);o&&n1(o)}),e.hook("componentUnhighlight",()=>{Yf()}),e}var Ll,Rl;(Rl=(Ll=J).__VUE_DEVTOOLS_KIT_APP_RECORDS__)!=null||(Ll.__VUE_DEVTOOLS_KIT_APP_RECORDS__=[]);var Dl,Vl;(Vl=(Dl=J).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__)!=null||(Dl.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__={});var Nl,Ml;(Ml=(Nl=J).__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__)!=null||(Nl.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__="");var Bl,Hl;(Hl=(Bl=J).__VUE_DEVTOOLS_KIT_CUSTOM_TABS__)!=null||(Bl.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__=[]);var Fl,$l;($l=(Fl=J).__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__)!=null||(Fl.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__=[]);var Tn="__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";function y1(){return{connected:!1,clientConnected:!1,vitePluginDetected:!0,appRecords:[],activeAppRecordId:"",tabs:[],commands:[],highPerfModeEnabled:!0,devtoolsClientDetected:{},perfUniqueGroupId:0,timelineLayersState:h1()}}var Ul,jl;(jl=(Ul=J)[Tn])!=null||(Ul[Tn]=y1());var b1=er(e=>{fr.hooks.callHook("devtoolsStateUpdated",{state:e})});er((e,t)=>{fr.hooks.callHook("devtoolsConnectedUpdated",{state:e,oldState:t})});var rs=new Proxy(J.__VUE_DEVTOOLS_KIT_APP_RECORDS__,{get(e,t,n){return t==="value"?J.__VUE_DEVTOOLS_KIT_APP_RECORDS__:J.__VUE_DEVTOOLS_KIT_APP_RECORDS__[t]}}),et=new Proxy(J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__,{get(e,t,n){return t==="value"?J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__:t==="id"?J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__:J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[t]}});function Zf(){b1({...J[Tn],appRecords:rs.value,activeAppRecordId:et.id,tabs:J.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,commands:J.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__})}function E1(e){J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__=e,Zf()}function S1(e){J.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__=e,Zf()}var Ue=new Proxy(J[Tn],{get(e,t){return t==="appRecords"?rs:t==="activeAppRecordId"?et.id:t==="tabs"?J.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__:t==="commands"?J.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__:J[Tn][t]},deleteProperty(e,t){return delete e[t],!0},set(e,t,n){return{...J[Tn]},e[t]=n,J[Tn][t]=n,!0}});function w1(e={}){var t,n,r;const{file:o,host:s,baseUrl:i=window.location.origin,line:a=0,column:l=0}=e;if(o){if(s==="chrome-extension"){const c=o.replace(/\\/g,"\\\\"),f=(n=(t=window.VUE_DEVTOOLS_CONFIG)==null?void 0:t.openInEditorHost)!=null?n:"/";fetch(`${f}__open-in-editor?file=${encodeURI(o)}`).then(u=>{if(!u.ok){const d=`Opening component ${c} failed`;console.log(`%c${d}`,"color:red")}})}else if(Ue.vitePluginDetected){const c=(r=J.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__)!=null?r:i;J.__VUE_INSPECTOR__.openInEditor(c,o,a,l)}}}I();I();I();I();I();var zl,Kl;(Kl=(zl=J).__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__)!=null||(zl.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__=[]);var Ji=new Proxy(J.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__,{get(e,t,n){return Reflect.get(e,t,n)}});function ri(e){const t={};return Object.keys(e).forEach(n=>{t[n]=e[n].defaultValue}),t}function Qi(e){return`__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${e}__`}function C1(e){var t,n,r;const o=(n=(t=Ji.find(s=>{var i;return s[0].id===e&&!!((i=s[0])!=null&&i.settings)}))==null?void 0:t[0])!=null?n:null;return(r=o==null?void 0:o.settings)!=null?r:null}function ed(e,t){var n,r,o;const s=Qi(e);if(s){const i=localStorage.getItem(s);if(i)return JSON.parse(i)}if(e){const i=(r=(n=Ji.find(a=>a[0].id===e))==null?void 0:n[0])!=null?r:null;return ri((o=i==null?void 0:i.settings)!=null?o:{})}return ri(t)}function A1(e,t){const n=Qi(e);localStorage.getItem(n)||localStorage.setItem(n,JSON.stringify(ri(t)))}function T1(e,t,n){const r=Qi(e),o=localStorage.getItem(r),s=JSON.parse(o||"{}"),i={...s,[t]:n};localStorage.setItem(r,JSON.stringify(i)),fr.hooks.callHookWith(a=>{a.forEach(l=>l({pluginId:e,key:t,oldValue:s[t],newValue:n,settings:i}))},"setPluginSettings")}I();I();I();I();I();I();I();I();I();I();I();var Wl,ql,ft=(ql=(Wl=J).__VUE_DEVTOOLS_HOOK)!=null?ql:Wl.__VUE_DEVTOOLS_HOOK=Ff(),O1={vueAppInit(e){ft.hook("app:init",e)},vueAppUnmount(e){ft.hook("app:unmount",e)},vueAppConnected(e){ft.hook("app:connected",e)},componentAdded(e){return ft.hook("component:added",e)},componentEmit(e){return ft.hook("component:emit",e)},componentUpdated(e){return ft.hook("component:updated",e)},componentRemoved(e){return ft.hook("component:removed",e)},setupDevtoolsPlugin(e){ft.hook("devtools-plugin:setup",e)},perfStart(e){return ft.hook("perf:start",e)},perfEnd(e){return ft.hook("perf:end",e)}},td={on:O1,setupDevToolsPlugin(e,t){return ft.callHook("devtools-plugin:setup",e,t)}},x1=class{constructor({plugin:e,ctx:t}){this.hooks=t.hooks,this.plugin=e}get on(){return{visitComponentTree:e=>{this.hooks.hook("visitComponentTree",e)},inspectComponent:e=>{this.hooks.hook("inspectComponent",e)},editComponentState:e=>{this.hooks.hook("editComponentState",e)},getInspectorTree:e=>{this.hooks.hook("getInspectorTree",e)},getInspectorState:e=>{this.hooks.hook("getInspectorState",e)},editInspectorState:e=>{this.hooks.hook("editInspectorState",e)},inspectTimelineEvent:e=>{this.hooks.hook("inspectTimelineEvent",e)},timelineCleared:e=>{this.hooks.hook("timelineCleared",e)},setPluginSettings:e=>{this.hooks.hook("setPluginSettings",e)}}}notifyComponentUpdate(e){var t;if(Ue.highPerfModeEnabled)return;const n=Xf().find(r=>r.packageName===this.plugin.descriptor.packageName);if(n!=null&&n.id){if(e){const r=[e.appContext.app,e.uid,(t=e.parent)==null?void 0:t.uid,e];ft.callHook("component:updated",...r)}else ft.callHook("component:updated");this.hooks.callHook("sendInspectorState",{inspectorId:n.id,plugin:this.plugin})}}addInspector(e){this.hooks.callHook("addInspector",{inspector:e,plugin:this.plugin}),this.plugin.descriptor.settings&&A1(e.id,this.plugin.descriptor.settings)}sendInspectorTree(e){Ue.highPerfModeEnabled||this.hooks.callHook("sendInspectorTree",{inspectorId:e,plugin:this.plugin})}sendInspectorState(e){Ue.highPerfModeEnabled||this.hooks.callHook("sendInspectorState",{inspectorId:e,plugin:this.plugin})}selectInspectorNode(e,t){this.hooks.callHook("customInspectorSelectNode",{inspectorId:e,nodeId:t,plugin:this.plugin})}visitComponentTree(e){return this.hooks.callHook("visitComponentTree",e)}now(){return Ue.highPerfModeEnabled?0:Date.now()}addTimelineLayer(e){this.hooks.callHook("timelineLayerAdded",{options:e,plugin:this.plugin})}addTimelineEvent(e){Ue.highPerfModeEnabled||this.hooks.callHook("timelineEventAdded",{options:e,plugin:this.plugin})}getSettings(e){return ed(e??this.plugin.descriptor.id,this.plugin.descriptor.settings)}getComponentInstances(e){return this.hooks.callHook("getComponentInstances",{app:e})}getComponentBounds(e){return this.hooks.callHook("getComponentBounds",{instance:e})}getComponentName(e){return this.hooks.callHook("getComponentName",{instance:e})}highlightElement(e){const t=e.__VUE_DEVTOOLS_NEXT_UID__;return this.hooks.callHook("componentHighlight",{uid:t})}unhighlightElement(){return this.hooks.callHook("componentUnhighlight")}},k1=x1;I();I();I();I();var P1="__vue_devtool_undefined__",I1="__vue_devtool_infinity__",L1="__vue_devtool_negative_infinity__",R1="__vue_devtool_nan__";I();I();var D1={[P1]:"undefined",[R1]:"NaN",[I1]:"Infinity",[L1]:"-Infinity"};Object.entries(D1).reduce((e,[t,n])=>(e[n]=t,e),{});I();I();I();I();I();var Gl,Yl;(Yl=(Gl=J).__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__)!=null||(Gl.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__=new Set);function V1(e,t){return td.setupDevToolsPlugin(e,t)}function N1(e,t){const[n,r]=e;if(n.app!==t)return;const o=new k1({plugin:{setupFn:r,descriptor:n},ctx:fr});n.packageName==="vuex"&&o.on.editInspectorState(s=>{o.sendInspectorState(s.inspectorId)}),r(o)}function nd(e){J.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(e)||Ue.highPerfModeEnabled||(J.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(e),Ji.forEach(t=>{N1(t,e)}))}I();I();var zr="__VUE_DEVTOOLS_ROUTER__",tr="__VUE_DEVTOOLS_ROUTER_INFO__",Jl,Ql;(Ql=(Jl=J)[tr])!=null||(Jl[tr]={currentRoute:null,routes:[]});var Xl,Zl;(Zl=(Xl=J)[zr])!=null||(Xl[zr]={});new Proxy(J[tr],{get(e,t){return J[tr][t]}});new Proxy(J[zr],{get(e,t){if(t==="value")return J[zr]}});function M1(e){const t=new Map;return((e==null?void 0:e.getRoutes())||[]).filter(n=>!t.has(n.path)&&t.set(n.path,1))}function Xi(e){return e.map(t=>{let{path:n,name:r,children:o,meta:s}=t;return o!=null&&o.length&&(o=Xi(o)),{path:n,name:r,children:o,meta:s}})}function B1(e){if(e){const{fullPath:t,hash:n,href:r,path:o,name:s,matched:i,params:a,query:l}=e;return{fullPath:t,hash:n,href:r,path:o,name:s,params:a,query:l,matched:Xi(i)}}return e}function H1(e,t){function n(){var r;const o=(r=e.app)==null?void 0:r.config.globalProperties.$router,s=B1(o==null?void 0:o.currentRoute.value),i=Xi(M1(o)),a=console.warn;console.warn=()=>{},J[tr]={currentRoute:s?wl(s):{},routes:wl(i)},J[zr]=o,console.warn=a}n(),td.on.componentUpdated(er(()=>{var r;((r=t.value)==null?void 0:r.app)===e.app&&(n(),!Ue.highPerfModeEnabled&&fr.hooks.callHook("routerInfoUpdated",{state:J[tr]}))},200))}function F1(e){return{async getInspectorTree(t){const n={...t,app:et.value.app,rootNodes:[]};return await new Promise(r=>{e.callHookWith(async o=>{await Promise.all(o.map(s=>s(n))),r()},"getInspectorTree")}),n.rootNodes},async getInspectorState(t){const n={...t,app:et.value.app,state:null},r={currentTab:`custom-inspector:${t.inspectorId}`};return await new Promise(o=>{e.callHookWith(async s=>{await Promise.all(s.map(i=>i(n,r))),o()},"getInspectorState")}),n.state},editInspectorState(t){const n=new f1,r={...t,app:et.value.app,set:(o,s=t.path,i=t.state.value,a)=>{n.set(o,s,i,a||n.createDefaultSetCallback(t.state))}};e.callHookWith(o=>{o.forEach(s=>s(r))},"editInspectorState")},sendInspectorState(t){const n=Ao(t);e.callHook("sendInspectorState",{inspectorId:t,plugin:{descriptor:n.descriptor,setupFn:()=>({})}})},inspectComponentInspector(){return s1()},cancelInspectComponentInspector(){return o1()},getComponentRenderCode(t){const n=ei(et.value,t);if(n)return(n==null?void 0:n.type)instanceof Function?n.type.toString():n.render.toString()},scrollToComponent(t){return i1({id:t})},openInEditor:w1,getVueInspector:u1,toggleApp(t){const n=rs.value.find(r=>r.id===t);n&&(S1(t),E1(n),H1(n,et),Qf(),nd(n.app))},inspectDOM(t){const n=ei(et.value,t);if(n){const[r]=Ki(n);r&&(J.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__=r)}},updatePluginSettings(t,n,r){T1(t,n,r)},getPluginSettings(t){return{options:C1(t),values:ed(t)}}}}I();var eu,tu;(tu=(eu=J).__VUE_DEVTOOLS_ENV__)!=null||(eu.__VUE_DEVTOOLS_ENV__={vitePluginDetected:!1});var nu=_1(),ru,ou;(ou=(ru=J).__VUE_DEVTOOLS_KIT_CONTEXT__)!=null||(ru.__VUE_DEVTOOLS_KIT_CONTEXT__={hooks:nu,get state(){return{...Ue,activeAppRecordId:et.id,activeAppRecord:et.value,appRecords:rs.value}},api:F1(nu)});var fr=J.__VUE_DEVTOOLS_KIT_CONTEXT__;I();F0(U0());var su,iu;(iu=(su=J).__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__)!=null||(su.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__={id:0,appIds:new Set});I();function $1(e){Ue.highPerfModeEnabled=e??!Ue.highPerfModeEnabled,!e&&et.value&&nd(et.value.app)}I();I();I();function U1(e){Ue.devtoolsClientDetected={...Ue.devtoolsClientDetected,...e};const t=Object.values(Ue.devtoolsClientDetected).some(Boolean);$1(!t)}var au,lu;(lu=(au=J).__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__)!=null||(au.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__=U1);I();I();I();I();I();I();I();var j1=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},rd=class{constructor(e){this.generateIdentifier=e,this.kv=new j1}register(e,t){this.kv.getByValue(e)||(t||(t=this.generateIdentifier(e)),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},z1=class extends rd{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t=="object"?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};I();I();function K1(e){if("values"in Object)return Object.values(e);const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function W1(e,t){const n=K1(e);if("find"in n)return n.find(t);const r=n;for(let o=0;ot(r,n))}function To(e,t){return e.indexOf(t)!==-1}function uu(e,t){for(let n=0;nt.isApplicable(e))}findByName(e){return this.transfomers[e]}};I();I();var G1=e=>Object.prototype.toString.call(e).slice(8,-1),od=e=>typeof e>"u",Y1=e=>e===null,Kr=e=>typeof e!="object"||e===null||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,oi=e=>Kr(e)&&Object.keys(e).length===0,hn=e=>Array.isArray(e),J1=e=>typeof e=="string",Q1=e=>typeof e=="number"&&!isNaN(e),X1=e=>typeof e=="boolean",Z1=e=>e instanceof RegExp,Wr=e=>e instanceof Map,qr=e=>e instanceof Set,sd=e=>G1(e)==="Symbol",ey=e=>e instanceof Date&&!isNaN(e.valueOf()),ty=e=>e instanceof Error,cu=e=>typeof e=="number"&&isNaN(e),ny=e=>X1(e)||Y1(e)||od(e)||Q1(e)||J1(e)||sd(e),ry=e=>typeof e=="bigint",oy=e=>e===1/0||e===-1/0,sy=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),iy=e=>e instanceof URL;I();var id=e=>e.replace(/\./g,"\\."),Ps=e=>e.map(String).map(id).join("."),Lr=e=>{const t=[];let n="";for(let o=0;onull,()=>{}),It(ry,"bigint",e=>e.toString(),e=>typeof BigInt<"u"?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),It(ey,"Date",e=>e.toISOString(),e=>new Date(e)),It(ty,"Error",(e,t)=>{const n={name:e.name,message:e.message};return t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n},(e,t)=>{const n=new Error(e.message);return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(r=>{n[r]=e[r]}),n}),It(Z1,"regexp",e=>""+e,e=>{const t=e.slice(1,e.lastIndexOf("/")),n=e.slice(e.lastIndexOf("/")+1);return new RegExp(t,n)}),It(qr,"set",e=>[...e.values()],e=>new Set(e)),It(Wr,"map",e=>[...e.entries()],e=>new Map(e)),It(e=>cu(e)||oy(e),"number",e=>cu(e)?"NaN":e>0?"Infinity":"-Infinity",Number),It(e=>e===0&&1/e===-1/0,"number",()=>"-0",Number),It(iy,"URL",e=>e.toString(),e=>new URL(e))];function os(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var ld=os((e,t)=>sd(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>["symbol",t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{const r=n.symbolRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown symbol");return r}),ay=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),ud=os(sy,e=>["typed-array",e.constructor.name],e=>[...e],(e,t)=>{const n=ay[t[1]];if(!n)throw new Error("Trying to deserialize unknown typed array");return new n(e)});function cd(e,t){return e!=null&&e.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var fd=os(cd,(e,t)=>["class",t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{const n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};const r={};return n.forEach(o=>{r[o]=e[o]}),r},(e,t,n)=>{const r=n.classRegistry.getValue(t[1]);if(!r)throw new Error("Trying to deserialize unknown class - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564");return Object.assign(Object.create(r.prototype),e)}),dd=os((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>["custom",t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{const r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw new Error("Trying to deserialize unknown custom value");return r.deserialize(e)}),ly=[fd,ld,dd,ud],fu=(e,t)=>{const n=uu(ly,o=>o.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};const r=uu(ad,o=>o.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},pd={};ad.forEach(e=>{pd[e.annotation]=e});var uy=(e,t,n)=>{if(hn(t))switch(t[0]){case"symbol":return ld.untransform(e,t,n);case"class":return fd.untransform(e,t,n);case"custom":return dd.untransform(e,t,n);case"typed-array":return ud.untransform(e,t,n);default:throw new Error("Unknown transformation: "+t)}else{const r=pd[t];if(!r)throw new Error("Unknown transformation: "+t);return r.untransform(e,n)}};I();var Fn=(e,t)=>{const n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function hd(e){if(To(e,"__proto__"))throw new Error("__proto__ is not allowed as a property");if(To(e,"prototype"))throw new Error("prototype is not allowed as a property");if(To(e,"constructor"))throw new Error("constructor is not allowed as a property")}var cy=(e,t)=>{hd(t);for(let n=0;n{if(hd(t),t.length===0)return n(e);let r=e;for(let s=0;sii(s,t,[...n,...Lr(i)]));return}const[r,o]=e;o&&nr(o,(s,i)=>{ii(s,t,[...n,...Lr(i)])}),t(r,n)}function fy(e,t,n){return ii(t,(r,o)=>{e=si(e,o,s=>uy(s,r,n))}),e}function dy(e,t){function n(r,o){const s=cy(e,Lr(o));r.map(Lr).forEach(i=>{e=si(e,i,()=>s)})}if(hn(t)){const[r,o]=t;r.forEach(s=>{e=si(e,Lr(s),()=>e)}),o&&nr(o,n)}else nr(t,n);return e}var py=(e,t)=>Kr(e)||hn(e)||Wr(e)||qr(e)||cd(e,t);function hy(e,t,n){const r=n.get(e);r?r.push(t):n.set(e,[t])}function my(e,t){const n={};let r;return e.forEach(o=>{if(o.length<=1)return;t||(o=o.map(a=>a.map(String)).sort((a,l)=>a.length-l.length));const[s,...i]=o;s.length===0?r=i.map(Ps):n[Ps(s)]=i.map(Ps)}),r?oi(n)?[r]:[r,n]:oi(n)?void 0:n}var md=(e,t,n,r,o=[],s=[],i=new Map)=>{var a;const l=ny(e);if(!l){hy(e,o,t);const v=i.get(e);if(v)return r?{transformedValue:null}:v}if(!py(e,n)){const v=fu(e,n),_=v?{transformedValue:v.value,annotations:[v.type]}:{transformedValue:e};return l||i.set(e,_),_}if(To(s,e))return{transformedValue:null};const c=fu(e,n),f=(a=c==null?void 0:c.value)!=null?a:e,u=hn(f)?[]:{},d={};nr(f,(v,_)=>{if(_==="__proto__"||_==="constructor"||_==="prototype")throw new Error(`Detected property ${_}. This is a prototype pollution risk, please remove it from your object.`);const y=md(v,t,n,r,[...o,_],[...s,e],i);u[_]=y.transformedValue,hn(y.annotations)?d[_]=y.annotations:Kr(y.annotations)&&nr(y.annotations,(E,S)=>{d[id(_)+"."+S]=E})});const p=oi(d)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,d]:d};return l||i.set(e,p),p};I();I();function gd(e){return Object.prototype.toString.call(e).slice(8,-1)}function du(e){return gd(e)==="Array"}function gy(e){if(gd(e)!=="Object")return!1;const t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function vy(e,t,n,r,o){const s={}.propertyIsEnumerable.call(r,t)?"enumerable":"nonenumerable";s==="enumerable"&&(e[t]=n),o&&s==="nonenumerable"&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function ai(e,t={}){if(du(e))return e.map(o=>ai(o,t));if(!gy(e))return e;const n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((o,s)=>{if(du(t.props)&&!t.props.includes(s))return o;const i=e[s],a=ai(i,t);return vy(o,s,a,e,t.nonenumerable),o},{})}var Oe=class{constructor({dedupe:e=!1}={}){this.classRegistry=new z1,this.symbolRegistry=new rd(t=>{var n;return(n=t.description)!=null?n:""}),this.customTransformerRegistry=new q1,this.allowedErrorProps=[],this.dedupe=e}serialize(e){const t=new Map,n=md(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});const o=my(t,this.dedupe);return o&&(r.meta={...r.meta,referentialEqualities:o}),r}deserialize(e){const{json:t,meta:n}=e;let r=ai(t);return n!=null&&n.values&&(r=fy(r,n.values,this)),n!=null&&n.referentialEqualities&&(r=dy(r,n.referentialEqualities)),r}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e))}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};Oe.defaultInstance=new Oe;Oe.serialize=Oe.defaultInstance.serialize.bind(Oe.defaultInstance);Oe.deserialize=Oe.defaultInstance.deserialize.bind(Oe.defaultInstance);Oe.stringify=Oe.defaultInstance.stringify.bind(Oe.defaultInstance);Oe.parse=Oe.defaultInstance.parse.bind(Oe.defaultInstance);Oe.registerClass=Oe.defaultInstance.registerClass.bind(Oe.defaultInstance);Oe.registerSymbol=Oe.defaultInstance.registerSymbol.bind(Oe.defaultInstance);Oe.registerCustom=Oe.defaultInstance.registerCustom.bind(Oe.defaultInstance);Oe.allowErrorProps=Oe.defaultInstance.allowErrorProps.bind(Oe.defaultInstance);I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();I();var pu,hu;(hu=(pu=J).__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__)!=null||(pu.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__=[]);var mu,gu;(gu=(mu=J).__VUE_DEVTOOLS_KIT_RPC_CLIENT__)!=null||(mu.__VUE_DEVTOOLS_KIT_RPC_CLIENT__=null);var vu,_u;(_u=(vu=J).__VUE_DEVTOOLS_KIT_RPC_SERVER__)!=null||(vu.__VUE_DEVTOOLS_KIT_RPC_SERVER__=null);var yu,bu;(bu=(yu=J).__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__)!=null||(yu.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__=null);var Eu,Su;(Su=(Eu=J).__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__)!=null||(Eu.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__=null);var wu,Cu;(Cu=(wu=J).__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__)!=null||(wu.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__=null);I();I();I();I();I();I();I();const _y=JSON.parse(`{"repo":"https://github.com/bcgov/notifybc","packageJson":{"name":"notify-bc","version":"6.0.3","dbSchemaVersion":"0.9.0","description":"A versatile notification API server","author":"f-w","private":true,"main":"dist/main.js","types":"dist/main.d.ts","engines":{"node":">=18"},"repository":{"type":"git","url":"https://github.com/bcgov/notifybc"},"license":"Apache-2.0","scripts":{"build":"nest build","build:client":"cd client && npm run build","build:docs":"cd docs && npm i && npm run build","postbuild":"npm run build:client","install:client":"cd client && npm i","install:docs":"cd docs && npm i","postinstall":"npm run install:client","format":"prettier --write \\"src/**/*.ts\\" \\"test/**/*.ts\\"","start":"nest start","start:dev":"nest start --watch","start:debug":"nest start --debug --watch","start:prod":"node dist/main","lint":"eslint \\"{src,apps,libs,test}/**/*.ts\\" --fix","test":"jest","test:watch":"jest --watch","test:cov":"jest --coverage","test:debug":"node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand","test:e2e":"jest --config ./test/jest-e2e.ts","test:e2e:cov":"jest --config ./test/jest-e2e.ts --coverage"},"dependencies":{"@nestjs/bullmq":"^10.2.1","@nestjs/common":"^10.4.5","@nestjs/core":"^10.4.5","@nestjs/mongoose":"^10.1.0","@nestjs/platform-express":"^10.4.5","@nestjs/swagger":"^8.1.0","@nestjs/terminus":"^10.2.3","async":"^3.2.4","axios":"^1.6.8","bcryptjs":"^2.4.3","bullmq":"^5.21.1","class-transformer":"^0.5.1","class-validator":"^0.14.0","compression":"^1.7.4","cron":"^3.1.5","crypto-random-string":"^3.3.0","ejs":"^3.1.9","feedparser":"^2.2.10","helmet":"^7.0.0","ip-range-check":"^0.2.0","jmespath":"f-w/jmespath.js#semver:^1.0","js-base64":"^3.7.5","jsonwebtoken":"^9.0.2","lodash":"^4.17.21","mailparser":"^3.6.5","mongodb-memory-server":"^10.1.2","mongoose":"^8.8.4","morgan":"^1.10.0","nodemailer":"^6.9.5","pluralize":"^8.0.0","randexp":"^0.5.3","redis-memory-server":"^0.10.0","rxjs":"^7.8.1","semver":"^7.5.4","smtp-server":"^3.13.0","twilio":"^5.4.0","underscore.string":"^3.3.6"},"devDependencies":{"@nestjs/cli":"^10.4.5","@nestjs/schematics":"^10.2.2","@nestjs/testing":"^10.4.5","@types/bcryptjs":"^2.4.3","@types/express":"^4.17.17","@types/jest":"^29.5.2","@types/lodash":"^4.14.197","@types/node":"^20.3.1","@types/supertest":"^2.0.12","@typescript-eslint/eslint-plugin":"^8.18.0","@typescript-eslint/parser":"^8.18.0","commander":"^11.1.0","cross-env":"^7.0.3","csvtojson":"^2.0.10","eslint":"^8.42.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.7.0","prettier":"^2.8.8","source-map-support":"^0.5.21","supertest":"^6.3.3","testcontainers":"^10.16.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","typescript":"^5.1.3"},"jest":{"moduleFileExtensions":["js","json","ts"],"rootDir":"src","testRegex":".*\\\\.spec\\\\.ts$","transform":{"^.+\\\\.(t|j)s$":"ts-jest"},"collectCoverageFrom":["**/*.(t|j)s"],"coverageDirectory":"../coverage","testEnvironment":"node"}},"logo":"/img/logo.svg","docsDir":"","editLink":false,"contributors":false,"lastUpdated":false,"navbar":[{"text":"Home","link":"/"},{"text":"Docs","link":"/docs/"},{"text":"Help","link":"/help/"}],"sidebarDepth":1,"sidebar":[{"text":"Getting Started","children":["/docs/","/docs/overview/","/docs/quickstart/","/docs/installation/","/docs/web-console/","/docs/what's-new/"]},{"text":"Configuration","children":["/docs/config-overview/","/docs/config-database/","/docs/config-adminIpList/","/docs/config-reverseProxyIpLists/","/docs/config-httpHost/","/docs/config-internalHttpHost/","/docs/config-email/","/docs/config-sms/","/docs/config-subscription/","/docs/config-notification/","/docs/config-nodeRoles/","/docs/config-cronJobs/","/docs/config-rsaKeys/","/docs/config-workerProcessCount/","/docs/config-middleware/","/docs/config-oidc/","/docs/config-certificates/","/docs/config-queue/","/docs/config-logging/"]},{"text":"API","collapsed":false,"children":["/docs/api-overview/","/docs/api-subscription/","/docs/api-notification/","/docs/api-config/","/docs/api-administrator/","/docs/api-bounce/"]},{"text":"Miscellaneous","children":["/docs/health-check/","/docs/disaster-recovery/","/docs/memory-dump/","/docs/benchmarks/","/docs/bulk-import/","/docs/developer-notes/","/docs/upgrade/"]},{"text":"Meta","children":["/docs/conduct/","/docs/acknowledgments/"]}],"locales":{"/":{"selectLanguageName":"English"}},"colorMode":"auto","colorModeSwitch":true,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","editLinkText":"Edit this page","lastUpdatedText":"Last Updated","contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),yy=he(_y),vd=()=>yy,_d=Symbol(""),by=()=>{const e=Ye(_d);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Ey=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Sy=gn({enhance({app:e}){const t=vd(),n=e._context.provides[Ri],r=H(()=>Ey(t.value,n.routeLocale.value));e.provide(_d,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}}),V1({app:e,id:"org.vuejs.vuepress.plugin-theme-data",label:"VuePress Theme Data Plugin",packageName:"@vuepress/plugin-theme-data",homepage:"https://v2.vuepress.vuejs.org",logo:"https://v2.vuepress.vuejs.org/images/hero.png",componentStateTypes:["VuePress"]},o=>{o.on.inspectComponent(s=>{s.instanceData.state.push({type:"VuePress",key:"themeData",editable:!1,value:t.value},{type:"VuePress",key:"themeLocaleData",editable:!1,value:r.value})})})}}),wy=Object.freeze(Object.defineProperty({__proto__:null,default:Sy},Symbol.toStringTag,{value:"Module"})),Cy=()=>vd(),ze=()=>by(),yd=Symbol(""),Ay=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.dataset.theme=n?"dark":"light"};Je(()=>{Ne(e,t,{immediate:!0})}),Go(()=>{t()})},Zi=()=>{const e=Ye(yd);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Ty=()=>{const e=ze(),t=jv(),n=$i("vuepress-color-scheme",e.value.colorMode),r=H({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});kn(yd,r),Ay(r)};let Is=null,_r=null;const Oy={wait:()=>Is,pending:()=>{Is=new Promise(e=>{_r=e})},resolve:()=>{_r==null||_r(),Is=null,_r=null}},bd=()=>Oy,rr=(e,t)=>{const{notFound:n,meta:r,path:o}=jr(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},Au=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),xy=(e,t)=>{if(t.hash===e)return!0;const n=Au(t.path),r=Au(e);return n===r},Ed=(e,t)=>e.link&&xy(e.link,t)?!0:"children"in e?e.children.some(n=>Ed(n,t)):!1,Sd=e=>!Nm(e)&&!no(e),wd=e=>!Qo(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,ky={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Py=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=wd(e);return n!==null?ky[n]:null},Iy=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Py({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Qo(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,ki(`${Yc(n)}/${r}`)):null},Yn=(e="",t="")=>Nf(t)||no(t)?t:`${Wm(e)}${t}`,Oo=he([]),Ly=()=>{const e=mn(),t=ze(),n=kt(),r=H(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(Oo.value=[])});const o=()=>{if(r.value<=0){Oo.value=[];return}Oo.value=S_({levels:[2,r.value+1],ignore:[".vp-badge"]})};Ne(r,o),Je(o)},Ry=()=>Oo,Dy=e=>({text:e.title,link:e.link,children:ea(e.children)}),ea=e=>e?e.map(t=>Dy(t)):[],Cd=(e,t)=>[{text:e.title,children:ea(t)}],Ad=(e,t,n,r="")=>{const o=(s,i)=>{var l;const a=Tt(s)?rr(Yn(i,s)):Tt(s.link)?{...s,link:Sd(s.link)?rr(Yn(i,s.link)).link:s.link}:s;if("children"in a)return{...a,children:a.children.map(c=>o(c,Yn(i,a.prefix)))};if(a.link===n){const c=((l=t[0])==null?void 0:l.level)===1?t[0].children:t;return{...a,children:ea(c)}}return a};return e.map(s=>o(s,r))},Vy=(e,t,n,r)=>{const o=A_(e).sort((s,i)=>i.length-s.length);for(const s of o)if(Vf(decodeURI(r),s)){const i=e[s];return i?i==="heading"?Cd(t,n):Ad(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Td=Symbol("sidebarItems"),ta=()=>{const e=Ye(Td);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},Ny=(e,t,n,r,o)=>e===!1?[]:e==="heading"?Cd(t,o):Array.isArray(e)?Ad(e,o,n,r):Pi(e)?Vy(e,t,o,n):[],My=()=>{const e=ze(),t=kt(),n=lr(),r=Zt(),o=Rn(),s=Ry(),i=H(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),a=H(()=>Ny(i.value,n.value,r.path,o.value,s.value));kn(Td,a)},By=ge({__name:"Badge",props:{type:{default:"tip"},text:{default:""},vertical:{default:void 0}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Ie=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function Hy(e,t,n,r,o,s){return G(),re("span",{class:ht(["vp-badge",n.type]),style:sr({verticalAlign:n.vertical})},[De(e.$slots,"default",{},()=>[qt(Ve(n.text),1)])],6)}const Fy=Ie(By,[["render",Hy],["__file","Badge.vue"]]),$y=ge({__name:"myHomeFeatures",setup(e,{expose:t}){t();const n=kt(),r=H(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Uy={key:0,class:"vp-features"},jy=["innerHTML"];function zy(e,t,n,r,o,s){return r.features.length?(G(),re("div",Uy,[(G(!0),re(ye,null,Wt(r.features,i=>(G(),re("div",{key:i.title,class:"vp-feature"},[ae("h2",null,Ve(i.title),1),ae("div",{innerHTML:i.details},null,8,jy)]))),128))])):je("",!0)}const Ky=Ie($y,[["render",zy],["__file","myHomeFeatures.vue"]]),Wy=ge({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=kt(),r=H(()=>n.value.footer),o=H(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),qy=["innerHTML"],Gy=["textContent"];function Yy(e,t,n,r,o,s){return r.footer?(G(),re(ye,{key:0},[r.footerHtml?(G(),re("div",{key:0,class:"vp-footer","vp-footer":"",innerHTML:r.footer},null,8,qy)):(G(),re("div",{key:1,class:"vp-footer","vp-footer":"",textContent:Ve(r.footer)},null,8,Gy))],64)):je("",!0)}const Jy=Ie(Wy,[["render",Yy],["__file","VPHomeFooter.vue"]]),Qy=ge({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=kt(),r=Di(),o=Zi(),s=H(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),i=H(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),a=H(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),l=H(()=>n.value.heroAlt||s.value||"hero"),c=H(()=>n.value.heroHeight??280),f=H(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:p,link:v,type:_="primary"})=>({text:p,link:v,type:_})):[]),d={frontmatter:n,siteLocale:r,isDarkMode:o,heroText:s,tagline:i,heroImage:a,heroAlt:l,heroHeight:c,actions:f,HomeHeroImage:()=>{if(!a.value)return null;const p=ce("img",{class:"vp-hero-image",src:Mi(a.value),alt:l.value,height:c.value});return n.value.heroImageDark===void 0?p:ce(Vi,()=>p)},get AutoLink(){return ur}};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),Xy={class:"vp-hero"},Zy={key:0,id:"main-title"},eb={key:1,class:"vp-hero-description"},tb={key:2,class:"vp-hero-actions"};function nb(e,t,n,r,o,s){return G(),re("header",Xy,[ie(r.HomeHeroImage),r.heroText?(G(),re("h1",Zy,Ve(r.heroText),1)):je("",!0),r.tagline?(G(),re("p",eb,Ve(r.tagline),1)):je("",!0),r.actions.length?(G(),re("p",tb,[(G(!0),re(ye,null,Wt(r.actions,i=>(G(),Be(r.AutoLink,{key:i.text,class:ht(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):je("",!0)])}const rb=Ie(Qy,[["render",nb],["__file","VPHomeHero.vue"]]),ob=ge({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:Ky,VPHomeFooter:Jy,VPHomeHero:rb,get Content(){return Ni}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),sb={class:"vp-home"},ib={class:"theme-default-content","vp-content":""};function ab(e,t,n,r,o,s){return G(),re("main",sb,[ie(r.VPHomeHero),ie(r.VPHomeFeatures),ae("div",ib,[ie(r.Content)]),ie(r.VPHomeFooter)])}const lb=Ie(ob,[["render",ab],["__file","VPHome.vue"]]),ub={data(){return{selected:void 0,options:[]}},created:async function(){try{let e;const t=sessionStorage.getItem("versions");if(t)try{e=JSON.parse(t)}catch{}if(!e){let r=await(await fetch("https://api.github.com/repos/bcgov/NotifyBC/git/trees/gh-pages")).json();const o=r.tree.find(s=>s.path.toLowerCase()==="version");r=await(await fetch(o.url)).json(),e=r.tree.map(s=>({value:s.path,text:s.path})),e.sort((s,i)=>{const a=s.text.split("."),l=i.text.split(".");for(let c=0;c=0&&(r=o+9);const s=n.indexOf("/",r);window.location.pathname=window.location.pathname.substring(0,9)+t+window.location.pathname.substring(s)}}},cb={key:0},fb=["value"];function db(e,t,n,r,o,s){return o.options&&o.options.length>0?(G(),re("span",cb,[t[2]||(t[2]=qt(" Version: ")),Nr(ae("select",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.selected=i),onChange:t[1]||(t[1]=(...i)=>s.onChange&&s.onChange(...i))},[(G(!0),re(ye,null,Wt(o.options,i=>(G(),re("option",{key:i.value,value:i.value},Ve(i.text),9,fb))),128))],544),[[Om,o.selected]])])):je("",!0)}const pb=Ie(ub,[["render",db],["__scopeId","data-v-dad16fab"],["__file","versions.vue"]]),hb=ge({__name:"myNavbarBrand",setup(e,{expose:t}){t();const n=Rn(),r=Di(),o=ze(),s=Zi(),i=H(()=>o.value.home||n.value),a=H(()=>r.value.title),l=H(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=H(()=>o.value.logoAlt??a.value),f=H(()=>a.value.toLocaleUpperCase().trim()===c.value.toLocaleUpperCase().trim()),d={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:a,navbarBrandLogo:l,navbarBrandLogoAlt:c,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!l.value)return null;const p=ce("img",{class:"vp-site-logo",src:Mi(l.value),alt:c.value});return o.value.logoDark===void 0?p:ce(Vi,()=>p)},get RouteLink(){return es},Versions:pb};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}});function mb(e,t,n,r,o,s){return G(),re(ye,null,[ie(r.RouteLink,{to:r.navbarBrandLink},{default:$e(()=>[ie(r.NavbarBrandLogo)]),_:1},8,["to"]),ie(r.Versions)],64)}const gb=Ie(hb,[["render",mb],["__file","myNavbarBrand.vue"]]),vb=ge({__name:"VPDropdownTransition",setup(e,{expose:t}){t();const o={setHeight:s=>{s.style.height=`${s.scrollHeight}px`},unsetHeight:s=>{s.style.height=""}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function _b(e,t,n,r,o,s){return G(),Be(xi,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:$e(()=>[De(e.$slots,"default")]),_:3})}const Od=Ie(vb,[["render",_b],["__file","VPDropdownTransition.vue"]]),yb=ge({__name:"VPNavbarDropdown",props:{config:{}},setup(e,{expose:t}){t();const n=e,{config:r}=Zu(n),o=Zt(),[s,i]=wf(!1),a=H(()=>r.value.ariaLabel||r.value.text),l=(u,d)=>d[d.length-1]===u,c=u=>{u.detail===0?i():i(!1)};Ne(()=>o.path,()=>{i(!1)});const f={props:n,config:r,route:o,open:s,toggleOpen:i,dropdownAriaLabel:a,isLastItemOfArray:l,handleDropdown:c,VPDropdownTransition:Od,get AutoLink(){return ur}};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}}),bb=["aria-label"],Eb={class:"title"},Sb=["aria-label"],wb={class:"title"},Cb={class:"vp-navbar-dropdown"},Ab={class:"vp-navbar-dropdown-subtitle"},Tb={key:1},Ob={class:"vp-navbar-dropdown-subitem-wrapper"};function xb(e,t,n,r,o,s){return G(),re("div",{class:ht(["vp-navbar-dropdown-wrapper",{open:r.open}])},[ae("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[ae("span",Eb,Ve(r.config.text),1),t[1]||(t[1]=ae("span",{class:"arrow down"},null,-1))],8,bb),ae("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=()=>r.toggleOpen())},[ae("span",wb,Ve(r.config.text),1),ae("span",{class:ht(["arrow",r.open?"down":"right"])},null,2)],8,Sb),ie(r.VPDropdownTransition,null,{default:$e(()=>[Nr(ae("ul",Cb,[(G(!0),re(ye,null,Wt(r.config.children,i=>(G(),re("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(G(),re(ye,{key:0},[ae("h4",Ab,[i.link?(G(),Be(r.AutoLink,{key:0,config:i,onFocusout:()=>{r.isLastItemOfArray(i,r.config.children)&&i.children.length===0&&(r.open=!1)}},null,8,["config","onFocusout"])):(G(),re("span",Tb,Ve(i.text),1))]),ae("ul",Ob,[(G(!0),re(ye,null,Wt(i.children,a=>(G(),re("li",{key:a.link,class:"vp-navbar-dropdown-subitem"},[ie(r.AutoLink,{config:a,onFocusout:()=>{r.isLastItemOfArray(a,i.children)&&r.isLastItemOfArray(i,r.config.children)&&r.toggleOpen(!1)}},null,8,["config","onFocusout"])]))),128))])],64)):(G(),Be(r.AutoLink,{key:1,config:i,onFocusout:()=>{r.isLastItemOfArray(i,r.config.children)&&r.toggleOpen(!1)}},null,8,["config","onFocusout"]))]))),128))],512),[[No,r.open]])]),_:1})],2)}const kb=Ie(yb,[["render",xb],["__file","VPNavbarDropdown.vue"]]),xd=(e,t="")=>Tt(e)?rr(Yn(t,e)):"children"in e?{...e,children:e.children.map(n=>xd(n,Yn(t,e.prefix)))}:{...e,link:Sd(e.link)?rr(Yn(t,e.link)).link:e.link},Pb=()=>{const e=ze();return H(()=>(e.value.navbar||[]).map(t=>xd(t)))},Ib=()=>{const e=ze(),t=H(()=>e.value.repo),n=H(()=>t.value?wd(t.value):null),r=H(()=>t.value&&!Qo(t.value)?`https://github.com/${t.value}`:t.value),o=H(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return H(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Lb=()=>{const e=Zt(),t=w_(),n=Rn(),r=yf(),o=Di(),s=Cy(),i=ze();return H(()=>{const a=Object.keys(r.value.locales);if(a.length<2)return[];const l=e.path,c=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:a.map(u=>{var E,S;const d=((E=r.value.locales)==null?void 0:E[u])??{},p=((S=s.value.locales)==null?void 0:S[u])??{},v=`${d.lang}`,_=p.selectLanguageName??v;if(v===o.value.lang)return{text:_,activeMatch:".",link:e.fullPath};const y=l.replace(n.value,u);return{text:_,link:t.value.some(h=>h===y)?c.replace(l,y):p.home??u}})}]})},Rb="719px",Db={mobile:Rb};var Gr;(function(e){e.Mobile="mobile"})(Gr||(Gr={}));const Vb={[Gr.Mobile]:Number.parseInt(Db.mobile.replace("px",""),10)},kd=(e,t)=>{const n=Vb[e];Number.isInteger(n)&&(it("orientationchange",()=>{t(n)},!1),it("resize",()=>{t(n)},!1),Je(()=>{t(n)}))},Nb=ge({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Pb(),r=Lb(),o=Ib(),s=he(!1),i=H(()=>ze().value.navbarLabel??"site navigation"),a=H(()=>[...n.value,...r.value,...o.value]);kd(Gr.Mobile,c=>{s.value=window.innerWidth(G(),re("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(G(),Be(r.VPNavbarDropdown,{key:0,class:ht({mobile:r.isMobile}),config:i},null,8,["class","config"])):(G(),Be(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,Mb)):je("",!0)}const Pd=Ie(Nb,[["render",Bb],["__file","VPNavbarItems.vue"]]),Hb={},Fb={class:"dark-icon",viewBox:"0 0 32 32"};function $b(e,t){return G(),re("svg",Fb,t[0]||(t[0]=[ae("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1)]))}const Ub=Ie(Hb,[["render",$b],["__file","VPDarkIcon.vue"]]),jb={},zb={class:"light-icon",viewBox:"0 0 32 32"};function Kb(e,t){return G(),re("svg",zb,t[0]||(t[0]=[Wh('',9)]))}const Wb=Ie(jb,[["render",Kb],["__file","VPLightIcon.vue"]]),qb=ge({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=ze(),r=Zi(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:Ub,VPLightIcon:Wb};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),Gb=["title"];function Yb(e,t,n,r,o,s){return G(),re("button",{type:"button",class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Nr(ie(r.VPLightIcon,null,null,512),[[No,!r.isDarkMode]]),Nr(ie(r.VPDarkIcon,null,null,512),[[No,r.isDarkMode]])],8,Gb)}const Jb=Ie(qb,[["render",Yb],["__file","VPToggleColorModeButton.vue"]]),Qb=ge({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:ze()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Xb=["title"];function Zb(e,t,n,r,o,s){return G(),re("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},t[1]||(t[1]=[ae("div",{class:"icon","aria-hidden":"true"},[ae("span"),ae("span"),ae("span")],-1)]),8,Xb)}const eE=Ie(Qb,[["render",Zb],["__file","VPToggleSidebarButton.vue"]]),tE=ge({__name:"VPNavbar",emits:["toggleSidebar"],setup(e,{expose:t}){t();const n=Rf("SearchBox")?wi("SearchBox"):()=>null,r=ze(),o=da("navbar"),s=da("navbar-brand"),i=he(0),a=H(()=>i.value?{maxWidth:`${i.value}px`}:{}),l=(f,u)=>{var v;const d=(v=f==null?void 0:f.ownerDocument.defaultView)==null?void 0:v.getComputedStyle(f,null)[u],p=Number.parseInt(d,10);return Number.isNaN(p)?0:p};kd(Gr.Mobile,f=>{var d;const u=l(o.value,"paddingLeft")+l(o.value,"paddingRight");window.innerWidthe.$emit("toggleSidebar"))}),ae("span",rE,[ie(r.VPNavbarBrand)],512),ae("div",{class:"vp-navbar-items-wrapper",style:sr(r.linksWrapperStyle)},[De(e.$slots,"before"),ie(r.VPNavbarItems,{class:"vp-hide-mobile"}),De(e.$slots,"after"),r.themeLocale.colorModeSwitch?(G(),Be(r.VPToggleColorModeButton,{key:0})):je("",!0),ie(r.SearchBox)],4)],512)}const sE=Ie(tE,[["render",oE],["__file","VPNavbar.vue"]]),iE={},aE={class:"edit-icon",viewBox:"0 0 1024 1024"};function lE(e,t){return G(),re("svg",aE,t[0]||(t[0]=[ae("g",{fill:"currentColor"},[ae("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),ae("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1)]))}const uE=Ie(iE,[["render",lE],["__file","VPEditIcon.vue"]]),cE=()=>{const e=ze(),t=lr(),n=kt();return H(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},fE=()=>{const e=ze(),t=lr(),n=kt();return H(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:a="",editLinkText:l}=e.value;if(!s)return null;const c=Iy({docsRepo:s,docsBranch:i,docsDir:a,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return c?{text:l??"Edit this page",link:c}:null})},dE=()=>{const e=ze(),t=lr(),n=kt();return H(()=>{var s;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date(t.value.git.updatedTime).toLocaleString()})},pE=ge({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=ze(),r=fE(),o=dE(),s=cE(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:uE,get AutoLink(){return ur}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),hE={class:"vp-page-meta"},mE={key:0,class:"vp-meta-item edit-link"},gE={class:"vp-meta-item git-info"},vE={key:0,class:"vp-meta-item last-updated"},_E={class:"meta-item-label"},yE={class:"meta-item-info"},bE={key:1,class:"vp-meta-item contributors"},EE={class:"meta-item-label"},SE={class:"meta-item-info"},wE=["title"];function CE(e,t,n,r,o,s){const i=wi("ClientOnly");return G(),re("footer",hE,[r.editLink?(G(),re("div",mE,[ie(r.AutoLink,{class:"label",config:r.editLink},{before:$e(()=>[ie(r.VPEditIcon)]),_:1},8,["config"])])):je("",!0),ae("div",gE,[r.lastUpdated?(G(),re("div",vE,[ae("span",_E,Ve(r.themeLocale.lastUpdatedText)+": ",1),ie(i,null,{default:$e(()=>[ae("span",yE,Ve(r.lastUpdated),1)]),_:1})])):je("",!0),r.contributors&&r.contributors.length?(G(),re("div",bE,[ae("span",EE,Ve(r.themeLocale.contributorsText)+": ",1),ae("span",SE,[(G(!0),re(ye,null,Wt(r.contributors,(a,l)=>(G(),re(ye,{key:l},[ae("span",{class:"contributor",title:`email: ${a.email}`},Ve(a.name),9,wE),l!==r.contributors.length-1?(G(),re(ye,{key:0},[qt(", ")],64)):je("",!0)],64))),128))])])):je("",!0)])])}const AE=Ie(pE,[["render",CE],["__file","VPPageMeta.vue"]]),TE=()=>{const e=mn(),t=Zt();return n=>{n&&(Nf(n)?t.path!==n&&e.push(n):no(n)?window.open(n):e.push(encodeURI(n)))}},Tu=(e,t)=>e===!1?!1:Tt(e)?rr(e,t):Pi(e)?{...e,link:rr(e.link,t).link}:null,li=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){const s=e[r+n];return s?s.link?s:"prefix"in s&&!jr(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=li(s.children,t,n);if(i)return i}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){const s=e[o+n];return s?s.link?s:"prefix"in s&&!jr(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},OE=()=>{const e=kt(),t=ze(),n=ta(),r=Zt(),o=H(()=>{const i=Tu(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:li(n.value,r.path,-1))}),s=H(()=>{const i=Tu(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:li(n.value,r.path,1))});return{prevLink:o,nextLink:s}},xE=ge({__name:"VPPageNav",setup(e,{expose:t}){t();const n=ze(),r=TE(),{prevLink:o,nextLink:s}=OE(),i=H(()=>n.value.pageNavbarLabel??"page navigation");it("keydown",l=>{l.altKey&&(l.key==="ArrowRight"?s.value&&(r(s.value.link),l.preventDefault()):l.key==="ArrowLeft"&&o.value&&(r(o.value.link),l.preventDefault()))});const a={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return ur}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),kE=["aria-label"],PE={class:"hint"},IE={class:"link"},LE={class:"hint"},RE={class:"link"};function DE(e,t,n,r,o,s){return r.prevLink||r.nextLink?(G(),re("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(G(),Be(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:$e(()=>[ae("div",PE,[t[0]||(t[0]=ae("span",{class:"arrow left"},null,-1)),qt(" "+Ve(r.themeLocale.prev??"Prev"),1)]),ae("div",IE,[ae("span",null,Ve(r.prevLink.text),1)])]),_:1},8,["config"])):je("",!0),r.nextLink?(G(),Be(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:$e(()=>[ae("div",LE,[qt(Ve(r.themeLocale.next??"Next")+" ",1),t[1]||(t[1]=ae("span",{class:"arrow right"},null,-1))]),ae("div",RE,[ae("span",null,Ve(r.nextLink.text),1)])]),_:1},8,["config"])):je("",!0)],8,kE)):je("",!0)}const VE=Ie(xE,[["render",DE],["__file","VPPageNav.vue"]]),NE=ge({__name:"VPPage",setup(e,{expose:t}){t(),Ly();const n={VPPageMeta:AE,VPPageNav:VE,get Content(){return Ni}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ME={class:"vp-page"},BE={class:"theme-default-content","vp-content":""};function HE(e,t,n,r,o,s){return G(),re("main",ME,[De(e.$slots,"top"),ae("div",BE,[De(e.$slots,"content-top"),ie(r.Content),De(e.$slots,"content-bottom")]),ie(r.VPPageMeta),ie(r.VPPageNav),De(e.$slots,"bottom")])}const FE=Ie(NE,[["render",HE],["__file","VPPage.vue"]]),$E=ge({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=Zu(n),s=Zt(),i=mn(),a=H(()=>"collapsible"in r.value&&r.value.collapsible),l=H(()=>Ed(r.value,s)),c=H(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:l.value,collapsible:a.value})),f=H(()=>a.value?l.value:!0),[u,d]=wf(f.value),p=y=>{a.value&&(y.preventDefault(),d())},v=i.afterEach(()=>{Ln(()=>{u.value=f.value})});Si(()=>{v()});const _={props:n,item:r,depth:o,route:s,router:i,collapsible:a,isActive:l,itemClass:c,isOpenDefault:f,isOpen:u,toggleIsOpen:d,onClick:p,unregisterRouterHook:v,VPDropdownTransition:Od,get AutoLink(){return ur}};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),UE={class:"vp-sidebar-children"};function jE(e,t,n,r,o,s){const i=wi("VPSidebarItem",!0);return G(),re("li",null,[r.item.link?(G(),Be(r.AutoLink,{key:0,class:ht(r.itemClass),config:r.item},null,8,["class","config"])):(G(),re("p",{key:1,tabindex:"0",class:ht(r.itemClass),onClick:r.onClick,onKeydown:km(r.onClick,["enter"])},[qt(Ve(r.item.text)+" ",1),r.collapsible?(G(),re("span",{key:0,class:ht(["arrow",r.isOpen?"down":"right"])},null,2)):je("",!0)],34)),"children"in r.item&&r.item.children.length?(G(),Be(r.VPDropdownTransition,{key:2},{default:$e(()=>[Nr(ae("ul",UE,[(G(!0),re(ye,null,Wt(r.item.children,a=>(G(),Be(i,{key:`${r.depth}${a.text}${a.link}`,item:a,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[No,r.isOpen]])]),_:1})):je("",!0)])}const zE=Ie($E,[["render",jE],["__file","VPSidebarItem.vue"]]),KE=ge({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Zt(),r=ta();Je(()=>{Ne(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const a=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!a)return;const{top:l,height:c}=i.getBoundingClientRect(),{top:f,height:u}=a.getBoundingClientRect();fl+c&&a.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:zE};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),WE={key:0,class:"vp-sidebar-items"};function qE(e,t,n,r,o,s){return r.sidebarItems.length?(G(),re("ul",WE,[(G(!0),re(ye,null,Wt(r.sidebarItems,i=>(G(),Be(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):je("",!0)}const GE=Ie(KE,[["render",qE],["__file","VPSidebarItems.vue"]]),YE=ge({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:Pd,VPSidebarItems:GE};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),JE={class:"vp-sidebar","vp-sidebar":""};function QE(e,t,n,r,o,s){return G(),re("aside",JE,[ie(r.VPNavbarItems),De(e.$slots,"top"),ie(r.VPSidebarItems),De(e.$slots,"bottom")])}const XE=Ie(YE,[["render",QE],["__file","VPSidebar.vue"]]),ZE=ge({__name:"Layout",setup(e,{expose:t}){t();const n=lr(),r=kt(),o=ze(),s=H(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=ta(),a=he(!1),l=h=>{a.value=typeof h=="boolean"?h:!a.value},c={x:0,y:0},f=h=>{c.x=h.changedTouches[0].clientX,c.y=h.changedTouches[0].clientY},u=h=>{const b=h.changedTouches[0].clientX-c.x,L=h.changedTouches[0].clientY-c.y;Math.abs(b)>Math.abs(L)&&Math.abs(b)>40&&(b>0&&c.x<=80?l(!0):l(!1))},d=H(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),p=H(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":a.value,"external-link-icon":d.value},r.value.pageClass]);let v;Je(()=>{v=mn().afterEach(()=>{l(!1)})}),Go(()=>{v()});const _=bd(),y=_.resolve,E=_.pending,S={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:a,toggleSidebar:l,touchStart:c,onTouchStart:f,onTouchEnd:u,enableExternalLinkIcon:d,containerClass:p,get unregisterRouterHook(){return v},set unregisterRouterHook(h){v=h},scrollPromise:_,onBeforeEnter:y,onBeforeLeave:E,VPHome:lb,VPNavbar:sE,VPPage:FE,VPSidebar:XE};return Object.defineProperty(S,"__isScriptSetup",{enumerable:!1,value:!0}),S}});function eS(e,t,n,r,o,s){return G(),re("div",{class:ht(["vp-theme-container",r.containerClass]),"vp-container":"",onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[De(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(G(),Be(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:$e(()=>[De(e.$slots,"navbar-before")]),after:$e(()=>[De(e.$slots,"navbar-after")]),_:3})):je("",!0)]),ae("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),De(e.$slots,"sidebar",{},()=>[ie(r.VPSidebar,null,{top:$e(()=>[De(e.$slots,"sidebar-top")]),bottom:$e(()=>[De(e.$slots,"sidebar-bottom")]),_:3})]),De(e.$slots,"page",{},()=>[r.frontmatter.home?(G(),Be(r.VPHome,{key:0})):(G(),Be(xi,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:$e(()=>[(G(),Be(r.VPPage,{key:r.page.path},{top:$e(()=>[De(e.$slots,"page-top")]),"content-top":$e(()=>[De(e.$slots,"page-content-top")]),"content-bottom":$e(()=>[De(e.$slots,"page-content-bottom")]),bottom:$e(()=>[De(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const tS=Ie(ZE,[["render",eS],["__file","Layout.vue"]]),nS=ge({__name:"NotFound",setup(e,{expose:t}){t();const n=Rn(),r=ze(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,a=r.value.backToHome??"Back to home",l={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:a,get RouteLink(){return es}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),rS={class:"vp-theme-container","vp-container":""},oS={class:"page"},sS={class:"theme-default-content","vp-content":""};function iS(e,t,n,r,o,s){return G(),re("div",rS,[ae("main",oS,[ae("div",sS,[t[0]||(t[0]=ae("h1",null,"404",-1)),ae("blockquote",null,Ve(r.getMsg()),1),ie(r.RouteLink,{to:r.homeLink},{default:$e(()=>[qt(Ve(r.homeText),1)]),_:1},8,["to"])])])])}const aS=Ie(nS,[["render",iS],["__scopeId","data-v-03d0ea91"],["__file","NotFound.vue"]]),lS=gn({enhance({app:e,router:t}){Rf("Badge")||e.component("Badge",Fy);const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await bd().wait(),n(...r))},setup(){Ty(),My()},layouts:{Layout:tS,NotFound:aS}}),uS=Object.freeze(Object.defineProperty({__proto__:null,default:lS},Symbol.toStringTag,{value:"Module"}));function cS(e,t,n){var r,o,s;n===void 0&&(n={});var i=(r=n.isImmediate)!=null&&r,a=(o=n.callback)!=null&&o,l=n.maxWait,c=Date.now(),f=[];function u(){if(l!==void 0){var p=Date.now()-c;if(p+t>=l)return l-p}return t}var d=function(){var p=[].slice.call(arguments),v=this;return new Promise(function(_,y){var E=i&&s===void 0;if(s!==void 0&&clearTimeout(s),s=setTimeout(function(){if(s=void 0,c=Date.now(),!i){var h=e.apply(v,p);a&&a(h),f.forEach(function(b){return(0,b.resolve)(h)}),f=[]}},u()),E){var S=e.apply(v,p);return a&&a(S),_(S)}f.push({resolve:_,reject:y})})};return d.cancel=function(p){s!==void 0&&clearTimeout(s),f.forEach(function(v){return(0,v.reject)(p)}),f=[]},d}var fS={apiKey:"c28cbfc8ec48e407e775c3a574dcd775",appId:"JNUID4IQ3B",indexName:"notifybc"};const dS=e=>{const t=it("keydown",n=>{const r=n.key==="k"&&(n.ctrlKey||n.metaKey);n.key!=="/"&&!r||(n.preventDefault(),e(),t())})},pS=e=>e.button===1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey,hS=()=>{const e=mn();return{transformItems:t=>t.map(n=>({...n,url:`/NotifyBC/version/6.0/${ki(Fm(n.url,"/NotifyBC/"))}`})),hitComponent:({hit:t,children:n})=>({type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:t.url,onClick:r=>{pS(r)||(r.preventDefault(),e.push(t.url.replace("/NotifyBC/version/6.0/","/")))},children:n},__v:null}),navigator:{navigate:({itemUrl:t})=>{e.push(t.replace("/NotifyBC/version/6.0/","/"))}},transformSearchClient:t=>{const n=cS(t.search,500);return{...t,search:async r=>n(r)}}}},mS=fS,gS=he(mS),Id=Symbol(""),vS=()=>{const e=Ye(Id),t=Rn();return H(()=>{var n;return{...e.value,...(n=e.value.locales)==null?void 0:n[t.value]}})},_S=e=>{e.provide(Id,gS)},yS=(e,t=[])=>[`lang:${e}`,...Array.isArray(t)?t:[t]],bS=({buttonText:e="Search",buttonAriaLabel:t=e}={})=>``,Ld=()=>{if(document.querySelector(".DocSearch-Modal"))return;const e=new Event("keydown");e.key="k",e.metaKey=!0,window.dispatchEvent(e),setTimeout(Ld,16)},ES=e=>{const t="algolia-preconnect";("requestIdleCallback"in window?window.requestIdleCallback:setTimeout)(()=>{if(document.head.querySelector(`#${t}`))return;const n=document.createElement("link");n.id=t,n.rel="preconnect",n.href=`https://${e}-dsn.algolia.net`,n.crossOrigin="",document.head.appendChild(n)})},SS=ge({name:"DocSearch",props:{containerId:{type:String,default:"docsearch-container"},options:{type:Object,default:()=>({})}},setup(e){const t=vS(),n=hS(),r=_f(),o=Rn(),s=he(!1),i=he(!1),a=H(()=>{const{locales:f={},...u}=e.options;return{...t.value,...u,...f[o.value]}}),l=async()=>{const{default:f}=await te(async()=>{const{default:p}=await import("./index-DjpUunl4.js");return{default:p}},[]),{indexName:u,searchParameters:d}=a.value;f({...n,...a.value,container:`#${e.containerId}`,searchParameters:{...d,indexName:u,facetFilters:yS(r.value,d==null?void 0:d.facetFilters)}}),s.value=!0},c=()=>{i.value||s.value||(i.value=!0,l(),Ld(),Ne(o,l))};return dS(c),Je(()=>{ES(a.value.appId)}),()=>{var f;return[ce("div",{id:e.containerId,style:{display:s.value?"block":"none"}}),s.value?null:ce("div",{onClick:c,innerHTML:bS((f=a.value.translations)==null?void 0:f.button)})]}}}),wS={enhance({app:e}){_S(e),e.component("SearchBox",SS)}},CS=Object.freeze(Object.defineProperty({__proto__:null,default:wS},Symbol.toStringTag,{value:"Module"})),AS=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let TS={};const Rd=Symbol(""),OS=()=>Ye(Rd),xS=e=>{e.provide(Rd,TS)},Ou=()=>{const e=document.documentElement;return e.classList.contains("dark")||e.getAttribute("data-theme")==="dark"},Mn={useMaxWidth:!1},kS=e=>({dark:e,background:e?"#1e1e1e":"#fff",primaryColor:e?"#389d70":"#4abf8a",primaryBorderColor:e?"#389d70":"#4abf8a",primaryTextColor:e?"#fff":"#000",secondaryColor:"#ffb500",secondaryBorderColor:e?"#fff":"#000",secondaryTextColor:e?"#ddd":"#333",tertiaryColor:e?"#282828":"#efeef4",tertiaryBorderColor:e?"#bbb":"#242424",tertiaryTextColor:e?"#ddd":"#333",noteBkgColor:e?"#f6d365":"#fff5ad",noteTextColor:"#242424",noteBorderColor:e?"#f6d365":"#333",lineColor:e?"#d3d3d3":"#333",textColor:e?"#fff":"#242424",mainBkg:e?"#389d70":"#4abf8a",errorBkgColor:"#eb4d5d",errorTextColor:"#fff",nodeBorder:e?"#389d70":"#4abf8a",nodeTextColor:e?"#fff":"#242424",signalTextColor:e?"#9e9e9e":"#242424",classText:"#fff",labelColor:"#fff",attributeBackgroundColorEven:e?"#0d1117":"#fff",attributeBackgroundColorOdd:e?"#161b22":"#f8f8f8",fillType0:e?"#cf1322":"#f1636e",fillType1:"#f39c12",fillType2:"#2ecc71",fillType3:"#fa541c",fillType4:"#25a55b",fillType5:"#13c2c2",fillType6:"#096dd9",fillType7:"#aa6fe9"});var PS=ge({name:"Mermaid",props:{id:{type:String,required:!0},code:{type:String,required:!0},title:{type:String,default:""}},setup(e){const{themeVariables:t,...n}=OS(),r=Et(),o=H(()=>gl(e.code)),s=he(""),i=he(!1);let a=!1;const l=async()=>{const[{default:u}]=await Promise.all([te(()=>import("./mermaid.esm.min-CpCJ9UxA.js").then(d=>d.bz),[]),a?Promise.resolve():(a=!0,Ui(800))]);u.initialize({theme:"base",themeVariables:{...kS(i.value),...qm(t)?t(i.value):t},flowchart:Mn,sequence:Mn,journey:Mn,gantt:Mn,er:Mn,pie:Mn,...n,startOnLoad:!1}),s.value=(await u.render(e.id,o.value)).svg},c=()=>{const{body:u}=document,d=document.createElement("div");d.classList.add("mermaid-preview"),d.innerHTML=s.value,u.appendChild(d),d.addEventListener("click",()=>{u.removeChild(d)})},f=()=>{const u=`data:image/svg+xml;charset=utf8,${s.value.replace(/
/g,"
").replace(/%/g,"%25").replace(/"/g,"%22").replace(/'/g,"%27").replace(/&/g,"%26").replace(/#/g,"%23").replace(/{/g,"%7B").replace(/}/g,"%7D").replace(//g,"%3E")}`,d=document.createElement("a");d.setAttribute("href",u),d.setAttribute("download",`${e.title?gl(e.title):e.id}.svg`),d.click()};return Je(()=>{i.value=Ou(),l(),Bv(document.documentElement,()=>{i.value=Ou()},{attributeFilter:["class","data-theme"],attributes:!0}),Ne(i,()=>l())}),()=>[ce("div",{class:"mermaid-actions"},[ce("button",{class:"preview-button",onClick:()=>c(),title:"preview",innerHTML:''}),ce("button",{class:"download-button",onClick:()=>f(),title:"download",innerHTML:''})]),ce("div",{ref:r,class:"mermaid-wrapper"},s.value?ce("div",{class:"mermaid-content",innerHTML:s.value}):ce(Af,{class:"mermaid-loading",height:96}))]}});const IS={enhance:({app:e})=>{xS(e),e.component("Mermaid",PS)}},LS=Object.freeze(Object.defineProperty({__proto__:null,default:IS},Symbol.toStringTag,{value:"Module"})),bo=[n_,k_,N_,B_,Q_,r0,i0,d0,wy,uS,CS,AS,LS].map(e=>e.default).filter(Boolean),RS=JSON.parse('{"base":"/NotifyBC/version/6.0/","lang":"en-US","title":"NotifyBC","description":"A versatile notification API server","head":[["meta",{"name":"theme-color","content":"#3eaf7c"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["link",{"rel":"icon","type":"image/x-icon","href":"/NotifyBC/version/6.0/favicon.ico"}],["link",{"rel":"stylesheet","href":"https://fonts.googleapis.com/icon?family=Material+Icons"}]],"locales":{}}');var wr=Et(RS),DS=Dg,VS=()=>{const e=mv({history:DS(Yc("/NotifyBC/version/6.0/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===$t){const r=jr(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},NS=e=>{e.component("ClientOnly",Vi),e.component("Content",Ni),e.component("RouteLink",es)},MS=(e,t,n)=>{const r=H(()=>t.currentRoute.value.path),o=Tp((y,E)=>({get(){return y(),t.currentRoute.value.meta._pageChunk},set(S){t.currentRoute.value.meta._pageChunk=S,E()}})),s=H(()=>En.resolveLayouts(n)),i=H(()=>En.resolveRouteLocale(wr.value.locales,r.value)),a=H(()=>En.resolveSiteLocaleData(wr.value,i.value)),l=H(()=>o.value.comp),c=H(()=>o.value.data),f=H(()=>c.value.frontmatter),u=H(()=>En.resolvePageHeadTitle(c.value,a.value)),d=H(()=>En.resolvePageHead(u.value,f.value,a.value)),p=H(()=>En.resolvePageLang(c.value,a.value)),v=H(()=>En.resolvePageLayout(c.value,s.value)),_={layouts:s,pageData:c,pageComponent:l,pageFrontmatter:f,pageHead:d,pageHeadTitle:u,pageLang:p,pageLayout:v,redirects:Ys,routeLocale:i,routePath:r,routes:Gn,siteData:wr,siteLocaleData:a};return e.provide(Ri,_),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>d.value},$headTitle:{get:()=>u.value},$lang:{get:()=>p.value},$page:{get:()=>c.value},$routeLocale:{get:()=>i.value},$site:{get:()=>wr.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>Mi}}),_},BS=([e,t,n=""])=>{const r=Object.entries(t).map(([a,l])=>Tt(l)?`[${a}=${JSON.stringify(l)}]`:l?`[${a}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(a=>a.innerText===n)??null},HS=([e,t,n])=>{if(!Tt(e))return null;const r=document.createElement(e);return Pi(t)&&Object.entries(t).forEach(([o,s])=>{Tt(s)?r.setAttribute(o,s):s&&r.setAttribute(o,"")}),Tt(n)&&r.appendChild(document.createTextNode(n)),r},FS=()=>{const e=_v(),t=_f();let n=[];const r=()=>{e.value.forEach(i=>{const a=BS(i);a&&n.push(a)})},o=()=>{const i=[];return e.value.forEach(a=>{const l=HS(a);l&&i.push(l)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((a,l)=>{const c=i.findIndex(f=>a.isEqualNode(f));c===-1?(a.remove(),delete n[l]):i.splice(c,1)}),i.forEach(a=>document.head.appendChild(a)),n=[...n.filter(a=>!!a),...i]};kn(Ev,s),Je(()=>{r(),Ne(e,s,{immediate:!1})})},$S=Lm,US=async()=>{var r;const e=$S({name:"Vuepress",setup(){var i;FS();for(const a of bo)(i=a.setup)==null||i.call(a);const o=bo.flatMap(({rootComponents:a=[]})=>a.map(l=>ce(l))),s=yv();return()=>[ce(s.value),o]}}),t=VS();NS(e);const n=MS(e,t,bo);{const{setupDevtools:o}=await te(async()=>{const{setupDevtools:s}=await import("./setupDevtools-7MC2TMWH-D295vJLs.js");return{setupDevtools:s}},[]);o(e,n)}for(const o of bo)await((r=o.enhance)==null?void 0:r.call(o,{app:e,router:t,siteData:wr}));return e.use(t),{app:e,router:t}};US().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{Ie as _,ae as a,ie as b,re as c,US as createVueApp,$e as d,Wh as e,qt as f,te as g,G as o,wi as r,V1 as s,Ve as t,vd as u,Ne as w}; diff --git a/version/6.0/assets/architectureDiagram-MJF3Q7TB-CnqN317O.js b/version/6.0/assets/architectureDiagram-MJF3Q7TB-wPHZlX4-.js similarity index 99% rename from version/6.0/assets/architectureDiagram-MJF3Q7TB-CnqN317O.js rename to version/6.0/assets/architectureDiagram-MJF3Q7TB-wPHZlX4-.js index 3c8194ebb..09e4c6581 100644 --- a/version/6.0/assets/architectureDiagram-MJF3Q7TB-CnqN317O.js +++ b/version/6.0/assets/architectureDiagram-MJF3Q7TB-wPHZlX4-.js @@ -1,4 +1,4 @@ -import{F as xe}from"./chunk-PWCSEZZ4-XkcOxT8z.js";import{s as He}from"./chunk-VSLJSFIP-BVEukhlm.js";import{c as Ve}from"./chunk-4KE642ED-DRpyMuB6.js";import{p as Be}from"./gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js";import{m as T,ar as We,h as je,t as Me,q as $e,bm as qe,bb as ve,W as le,bn as fe,bo as Ze,aT as Je,b7 as Ke,aL as me,w as Qe,B as ti,T as ei,k as ii,S as ri,v as ni,r as oi}from"./mermaid.esm.min-DhsQPv9X.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var _e=me((w,H)=>{T(function(C,G){typeof w=="object"&&typeof H=="object"?H.exports=G():typeof define=="function"&&define.amd?define([],G):typeof w=="object"?w.layoutBase=G():C.layoutBase=G()},"webpackUniversalModuleDefinition")(w,function(){return function(C){var G={};function A(g){if(G[g])return G[g].exports;var s=G[g]={i:g,l:!1,exports:{}};return C[g].call(s.exports,s,s.exports,A),s.l=!0,s.exports}return T(A,"__webpack_require__"),A.m=C,A.c=G,A.i=function(g){return g},A.d=function(g,s,r){A.o(g,s)||Object.defineProperty(g,s,{configurable:!1,enumerable:!0,get:r})},A.n=function(g){var s=g&&g.__esModule?T(function(){return g.default},"getDefault"):T(function(){return g},"getModuleExports");return A.d(s,"a",s),s},A.o=function(g,s){return Object.prototype.hasOwnProperty.call(g,s)},A.p="",A(A.s=28)}([function(C,G,A){function g(){}T(g,"LayoutConstants"),g.QUALITY=1,g.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,g.DEFAULT_INCREMENTAL=!1,g.DEFAULT_ANIMATION_ON_LAYOUT=!0,g.DEFAULT_ANIMATION_DURING_LAYOUT=!1,g.DEFAULT_ANIMATION_PERIOD=50,g.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,g.DEFAULT_GRAPH_MARGIN=15,g.NODE_DIMENSIONS_INCLUDE_LABELS=!1,g.SIMPLE_NODE_SIZE=40,g.SIMPLE_NODE_HALF_SIZE=g.SIMPLE_NODE_SIZE/2,g.EMPTY_COMPOUND_NODE_SIZE=40,g.MIN_EDGE_LENGTH=1,g.WORLD_BOUNDARY=1e6,g.INITIAL_WORLD_BOUNDARY=g.WORLD_BOUNDARY/1e3,g.WORLD_CENTER_X=1200,g.WORLD_CENTER_Y=900,C.exports=g},function(C,G,A){var g=A(2),s=A(8),r=A(9);function i(h,n,v){g.call(this,v),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=v,this.bendpoints=[],this.source=h,this.target=n}T(i,"LEdge"),i.prototype=Object.create(g.prototype);for(var t in g)i[t]=g[t];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(h,n){for(var v=this.getOtherEnd(h),o=n.getGraphManager().getRoot();;){if(v.getOwner()==n)return v;if(v.getOwner()==o)break;v=v.getOwner().getParent()}return null},i.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=r.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=r.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=r.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=r.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=i},function(C,G,A){function g(s){this.vGraphObject=s}T(g,"LGraphObject"),C.exports=g},function(C,G,A){var g=A(2),s=A(10),r=A(13),i=A(0),t=A(16),h=A(5);function n(o,e,d,f){d==null&&f==null&&(f=e),g.call(this,f),o.graphManager!=null&&(o=o.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=f,this.edges=[],this.graphManager=o,d!=null&&e!=null?this.rect=new r(e.x,e.y,d.width,d.height):this.rect=new r}T(n,"LNode"),n.prototype=Object.create(g.prototype);for(var v in g)n[v]=g[v];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(o){this.rect.width=o},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(o){this.rect.height=o},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(o,e){this.rect.x=o.x,this.rect.y=o.y,this.rect.width=e.width,this.rect.height=e.height},n.prototype.setCenter=function(o,e){this.rect.x=o-this.rect.width/2,this.rect.y=e-this.rect.height/2},n.prototype.setLocation=function(o,e){this.rect.x=o,this.rect.y=e},n.prototype.moveBy=function(o,e){this.rect.x+=o,this.rect.y+=e},n.prototype.getEdgeListToNode=function(o){var e=[],d=this;return d.edges.forEach(function(f){if(f.target==o){if(f.source!=d)throw"Incorrect edge source!";e.push(f)}}),e},n.prototype.getEdgesBetween=function(o){var e=[],d=this;return d.edges.forEach(function(f){if(!(f.source==d||f.target==d))throw"Incorrect edge source and/or target";(f.target==o||f.source==o)&&e.push(f)}),e},n.prototype.getNeighborsList=function(){var o=new Set,e=this;return e.edges.forEach(function(d){if(d.source==e)o.add(d.target);else{if(d.target!=e)throw"Incorrect incidency!";o.add(d.source)}}),o},n.prototype.withChildren=function(){var o=new Set,e,d;if(o.add(this),this.child!=null)for(var f=this.child.getNodes(),l=0;le?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(e+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(d+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>d?(this.rect.y-=(this.labelHeight-d)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(d+this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(o){var e=this.rect.x;e>i.WORLD_BOUNDARY?e=i.WORLD_BOUNDARY:e<-i.WORLD_BOUNDARY&&(e=-i.WORLD_BOUNDARY);var d=this.rect.y;d>i.WORLD_BOUNDARY?d=i.WORLD_BOUNDARY:d<-i.WORLD_BOUNDARY&&(d=-i.WORLD_BOUNDARY);var f=new h(e,d),l=o.inverseTransformPoint(f);this.setLocation(l.x,l.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=n},function(C,G,A){var g=A(0);function s(){}T(s,"FDLayoutConstants");for(var r in g)s[r]=g[r];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=s},function(C,G,A){function g(s,r){s==null&&r==null?(this.x=0,this.y=0):(this.x=s,this.y=r)}T(g,"PointD"),g.prototype.getX=function(){return this.x},g.prototype.getY=function(){return this.y},g.prototype.setX=function(s){this.x=s},g.prototype.setY=function(s){this.y=s},g.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},g.prototype.getCopy=function(){return new g(this.x,this.y)},g.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},C.exports=g},function(C,G,A){var g=A(2),s=A(10),r=A(0),i=A(7),t=A(3),h=A(1),n=A(13),v=A(12),o=A(11);function e(f,l,N){g.call(this,N),this.estimatedSize=s.MIN_VALUE,this.margin=r.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=f,l!=null&&l instanceof i?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}T(e,"LGraph"),e.prototype=Object.create(g.prototype);for(var d in g)e[d]=g[d];e.prototype.getNodes=function(){return this.nodes},e.prototype.getEdges=function(){return this.edges},e.prototype.getGraphManager=function(){return this.graphManager},e.prototype.getParent=function(){return this.parent},e.prototype.getLeft=function(){return this.left},e.prototype.getRight=function(){return this.right},e.prototype.getTop=function(){return this.top},e.prototype.getBottom=function(){return this.bottom},e.prototype.isConnected=function(){return this.isConnected},e.prototype.add=function(f,l,N){if(l==null&&N==null){var c=f;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(c)>-1)throw"Node already in graph!";return c.owner=this,this.getNodes().push(c),c}else{var E=f;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(N)>-1))throw"Source or target not in graph!";if(!(l.owner==N.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=N.owner?null:(E.source=l,E.target=N,E.isInterGraph=!1,this.getEdges().push(E),l.edges.push(E),N!=l&&N.edges.push(E),E)}},e.prototype.remove=function(f){var l=f;if(f instanceof t){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var N=l.edges.slice(),c,E=N.length,_=0;_-1&&z>-1))throw"Source and/or target doesn't know this edge!";c.source.edges.splice(X,1),c.target!=c.source&&c.target.edges.splice(z,1);var L=c.source.owner.getEdges().indexOf(c);if(L==-1)throw"Not in owner's edge list!";c.source.owner.getEdges().splice(L,1)}},e.prototype.updateLeftTop=function(){for(var f=s.MAX_VALUE,l=s.MAX_VALUE,N,c,E,_=this.getNodes(),L=_.length,X=0;XN&&(f=N),l>c&&(l=c)}return f==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=l-E,this.top=f-E,new v(this.left,this.top))},e.prototype.updateBounds=function(f){for(var l=s.MAX_VALUE,N=-s.MAX_VALUE,c=s.MAX_VALUE,E=-s.MAX_VALUE,_,L,X,z,V,B=this.nodes,q=B.length,x=0;x_&&(l=_),NX&&(c=X),E_&&(l=_),NX&&(c=X),E=this.nodes.length){var q=0;N.forEach(function(x){x.owner==f&&q++}),q==this.nodes.length&&(this.isConnected=!0)}},C.exports=e},function(C,G,A){var g,s=A(1);function r(i){g=A(6),this.layout=i,this.graphs=[],this.edges=[]}T(r,"LGraphManager"),r.prototype.addRoot=function(){var i=this.layout.newGraph(),t=this.layout.newNode(null),h=this.add(i,t);return this.setRootGraph(h),this.rootGraph},r.prototype.add=function(i,t,h,n,v){if(h==null&&n==null&&v==null){if(i==null)throw"Graph is null!";if(t==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(t.child!=null)throw"Already has a child!";return i.parent=t,t.child=i,i}else{v=h,n=t,h=i;var o=n.getOwner(),e=v.getOwner();if(!(o!=null&&o.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(e!=null&&e.getGraphManager()==this))throw"Target not in this graph mgr!";if(o==e)return h.isInterGraph=!1,o.add(h,n,v);if(h.isInterGraph=!0,h.source=n,h.target=v,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},r.prototype.remove=function(i){if(i instanceof g){var t=i;if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(t==this.rootGraph||t.parent!=null&&t.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(t.getEdges());for(var n,v=h.length,o=0;o=i.getRight()?t[0]+=Math.min(i.getX()-r.getX(),r.getRight()-i.getRight()):i.getX()<=r.getX()&&i.getRight()>=r.getRight()&&(t[0]+=Math.min(r.getX()-i.getX(),i.getRight()-r.getRight())),r.getY()<=i.getY()&&r.getBottom()>=i.getBottom()?t[1]+=Math.min(i.getY()-r.getY(),r.getBottom()-i.getBottom()):i.getY()<=r.getY()&&i.getBottom()>=r.getBottom()&&(t[1]+=Math.min(r.getY()-i.getY(),i.getBottom()-r.getBottom()));var v=Math.abs((i.getCenterY()-r.getCenterY())/(i.getCenterX()-r.getCenterX()));i.getCenterY()===r.getCenterY()&&i.getCenterX()===r.getCenterX()&&(v=1);var o=v*t[0],e=t[1]/v;t[0]o)return t[0]=h,t[1]=d,t[2]=v,t[3]=B,!1;if(nv)return t[0]=e,t[1]=n,t[2]=z,t[3]=o,!1;if(hv?(t[0]=l,t[1]=N,a=!0):(t[0]=f,t[1]=d,a=!0):p===u&&(h>v?(t[0]=e,t[1]=d,a=!0):(t[0]=c,t[1]=N,a=!0)),-m===u?v>h?(t[2]=V,t[3]=B,y=!0):(t[2]=z,t[3]=X,y=!0):m===u&&(v>h?(t[2]=L,t[3]=X,y=!0):(t[2]=q,t[3]=B,y=!0)),a&&y)return!1;if(h>v?n>o?(D=this.getCardinalDirection(p,u,4),O=this.getCardinalDirection(m,u,2)):(D=this.getCardinalDirection(-p,u,3),O=this.getCardinalDirection(-m,u,1)):n>o?(D=this.getCardinalDirection(-p,u,1),O=this.getCardinalDirection(-m,u,3)):(D=this.getCardinalDirection(p,u,2),O=this.getCardinalDirection(m,u,4)),!a)switch(D){case 1:k=d,M=h+-_/u,t[0]=M,t[1]=k;break;case 2:M=c,k=n+E*u,t[0]=M,t[1]=k;break;case 3:k=N,M=h+_/u,t[0]=M,t[1]=k;break;case 4:M=l,k=n+-E*u,t[0]=M,t[1]=k;break}if(!y)switch(O){case 1:W=X,U=v+-nt/u,t[2]=U,t[3]=W;break;case 2:U=q,W=o+x*u,t[2]=U,t[3]=W;break;case 3:W=B,U=v+nt/u,t[2]=U,t[3]=W;break;case 4:U=V,W=o+-x*u,t[2]=U,t[3]=W;break}}return!1},s.getCardinalDirection=function(r,i,t){return r>i?t:1+t%4},s.getIntersection=function(r,i,t,h){if(h==null)return this.getIntersection2(r,i,t);var n=r.x,v=r.y,o=i.x,e=i.y,d=t.x,f=t.y,l=h.x,N=h.y,c=void 0,E=void 0,_=void 0,L=void 0,X=void 0,z=void 0,V=void 0,B=void 0,q=void 0;return _=e-v,X=n-o,V=o*v-n*e,L=N-f,z=d-l,B=l*f-d*N,q=_*z-L*X,q===0?null:(c=(X*B-z*V)/q,E=(L*V-_*B)/q,new g(c,E))},s.angleOfVector=function(r,i,t,h){var n=void 0;return r!==t?(n=Math.atan((h-i)/(t-r)),t=0){var N=(-d+Math.sqrt(d*d-4*e*f))/(2*e),c=(-d-Math.sqrt(d*d-4*e*f))/(2*e),E=null;return N>=0&&N<=1?[N]:c>=0&&c<=1?[c]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,C.exports=s},function(C,G,A){function g(){}T(g,"IMath"),g.sign=function(s){return s>0?1:s<0?-1:0},g.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},g.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},C.exports=g},function(C,G,A){function g(){}T(g,"Integer"),g.MAX_VALUE=2147483647,g.MIN_VALUE=-2147483648,C.exports=g},function(C,G,A){var g=function(){function n(v,o){for(var e=0;e"u"?"undefined":g(r);return r==null||i!="object"&&i!="function"},C.exports=s},function(C,G,A){function g(d){if(Array.isArray(d)){for(var f=0,l=Array(d.length);f0&&f;){for(_.push(X[0]);_.length>0&&f;){var z=_[0];_.splice(0,1),E.add(z);for(var V=z.getEdges(),c=0;c-1&&X.splice(nt,1)}E=new Set,L=new Map}}return d},e.prototype.createDummyNodesForBendpoints=function(d){for(var f=[],l=d.source,N=this.graphManager.calcLowestCommonAncestor(d.source,d.target),c=0;c0){for(var N=this.edgeToDummyNodes.get(l),c=0;c=0&&f.splice(B,1);var q=L.getNeighborsList();q.forEach(function(a){if(l.indexOf(a)<0){var y=N.get(a),p=y-1;p==1&&z.push(a),N.set(a,p)}})}l=l.concat(z),(f.length==1||f.length==2)&&(c=!0,E=f[0])}return E},e.prototype.setGraphManager=function(d){this.graphManager=d},C.exports=e},function(C,G,A){function g(){}T(g,"RandomSeed"),g.seed=1,g.x=0,g.nextDouble=function(){return g.x=Math.sin(g.seed++)*1e4,g.x-Math.floor(g.x)},C.exports=g},function(C,G,A){var g=A(5);function s(r,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}T(s,"Transform"),s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(r){this.lworldOrgX=r},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(r){this.lworldOrgY=r},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(r){this.lworldExtX=r},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(r){this.lworldExtY=r},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(r){this.ldeviceOrgX=r},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(r){this.ldeviceOrgY=r},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(r){this.ldeviceExtX=r},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(r){this.ldeviceExtY=r},s.prototype.transformX=function(r){var i=0,t=this.lworldExtX;return t!=0&&(i=this.ldeviceOrgX+(r-this.lworldOrgX)*this.ldeviceExtX/t),i},s.prototype.transformY=function(r){var i=0,t=this.lworldExtY;return t!=0&&(i=this.ldeviceOrgY+(r-this.lworldOrgY)*this.ldeviceExtY/t),i},s.prototype.inverseTransformX=function(r){var i=0,t=this.ldeviceExtX;return t!=0&&(i=this.lworldOrgX+(r-this.ldeviceOrgX)*this.lworldExtX/t),i},s.prototype.inverseTransformY=function(r){var i=0,t=this.ldeviceExtY;return t!=0&&(i=this.lworldOrgY+(r-this.ldeviceOrgY)*this.lworldExtY/t),i},s.prototype.inverseTransformPoint=function(r){var i=new g(this.inverseTransformX(r.x),this.inverseTransformY(r.y));return i},C.exports=s},function(C,G,A){function g(o){if(Array.isArray(o)){for(var e=0,d=Array(o.length);er.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*r.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(o-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-r.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT_INCREMENTAL):(o>r.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(r.COOLING_ADAPTATION_FACTOR,1-(o-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*(1-r.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*r.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var o=this.getAllEdges(),e,d=0;d0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,d,f,l,N,c=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),E=new Set,d=0;d_||E>_)&&(o.gravitationForceX=-this.gravityConstant*l,o.gravitationForceY=-this.gravityConstant*N)):(_=e.getEstimatedSize()*this.compoundGravityRangeFactor,(c>_||E>_)&&(o.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,o.gravitationForceY=-this.gravityConstant*N*this.compoundGravityConstant))},n.prototype.isConverged=function(){var o,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),o=this.totalDisplacement=c.length||_>=c[0].length)){for(var L=0;Lh},"_defaultCompareFunction")}]),t}();C.exports=i},function(C,G,A){function g(){}T(g,"SVD"),g.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var r=Math.min(this.m,this.n);this.s=function(At){for(var wt=[];At-- >0;)wt.push(0);return wt}(Math.min(this.m+1,this.n)),this.U=function(At){var wt=T(function Ft(Pt){if(Pt.length==0)return 0;for(var Bt=[],qt=0;qt0;)wt.push(0);return wt}(this.n),t=function(At){for(var wt=[];At-- >0;)wt.push(0);return wt}(this.m),h=!0,n=!0,v=Math.min(this.m-1,this.n),o=Math.max(0,Math.min(this.n-2,this.m)),e=0;e=0;u--)if(this.s[u]!==0){for(var D=u+1;D=0;Y--){if(function(At,wt){return At&&wt}(Y0;){var S=void 0,rt=void 0;for(S=y-2;S>=-1&&S!==-1;S--)if(Math.abs(i[S])<=Dt+It*(Math.abs(this.s[S])+Math.abs(this.s[S+1]))){i[S]=0;break}if(S===y-2)rt=4;else{var ht=void 0;for(ht=y-1;ht>=S&&ht!==S;ht--){var mt=(ht!==y?Math.abs(i[ht]):0)+(ht!==S+1?Math.abs(i[ht-1]):0);if(Math.abs(this.s[ht])<=Dt+It*mt){this.s[ht]=0;break}}ht===S?rt=3:ht===y-1?rt=1:(rt=2,S=ht)}switch(S++,rt){case 1:{var Ct=i[y-2];i[y-2]=0;for(var yt=y-2;yt>=S;yt--){var Et=g.hypot(this.s[yt],Ct),xt=this.s[yt]/Et,Vt=Ct/Et;if(this.s[yt]=Et,yt!==S&&(Ct=-Vt*i[yt-1],i[yt-1]=xt*i[yt-1]),n)for(var Ut=0;Ut=this.s[S+1]);){var bt=this.s[S];if(this.s[S]=this.s[S+1],this.s[S+1]=bt,n&&SMath.abs(r)?(i=r/s,i=Math.abs(s)*Math.sqrt(1+i*i)):r!=0?(i=s/r,i=Math.abs(r)*Math.sqrt(1+i*i)):i=0,i},C.exports=g},function(C,G,A){var g=function(){function i(t,h){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,i),this.sequence1=t,this.sequence2=h,this.match_score=n,this.mismatch_penalty=v,this.gap_penalty=o,this.iMax=t.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var e=0;e=0;t--){var h=this.listeners[t];h.event===r&&h.callback===i&&this.listeners.splice(t,1)}},s.emit=function(r,i){for(var t=0;t{T(function(C,G){typeof w=="object"&&typeof H=="object"?H.exports=G(_e()):typeof define=="function"&&define.amd?define(["layout-base"],G):typeof w=="object"?w.coseBase=G(_e()):C.coseBase=G(C.layoutBase)},"webpackUniversalModuleDefinition")(w,function(C){return(()=>{var G={45:(r,i,t)=>{var h={};h.layoutBase=t(551),h.CoSEConstants=t(806),h.CoSEEdge=t(767),h.CoSEGraph=t(880),h.CoSEGraphManager=t(578),h.CoSELayout=t(765),h.CoSENode=t(991),h.ConstraintHandler=t(902),r.exports=h},806:(r,i,t)=>{var h=t(551).FDLayoutConstants;function n(){}T(n,"CoSEConstants");for(var v in h)n[v]=h[v];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,n.ENFORCE_CONSTRAINTS=!0,n.APPLY_LAYOUT=!0,n.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,n.TREE_REDUCTION_ON_INCREMENTAL=!0,n.PURE_INCREMENTAL=n.DEFAULT_INCREMENTAL,r.exports=n},767:(r,i,t)=>{var h=t(551).FDLayoutEdge;function n(o,e,d){h.call(this,o,e,d)}T(n,"CoSEEdge"),n.prototype=Object.create(h.prototype);for(var v in h)n[v]=h[v];r.exports=n},880:(r,i,t)=>{var h=t(551).LGraph;function n(o,e,d){h.call(this,o,e,d)}T(n,"CoSEGraph"),n.prototype=Object.create(h.prototype);for(var v in h)n[v]=h[v];r.exports=n},578:(r,i,t)=>{var h=t(551).LGraphManager;function n(o){h.call(this,o)}T(n,"CoSEGraphManager"),n.prototype=Object.create(h.prototype);for(var v in h)n[v]=h[v];r.exports=n},765:(r,i,t)=>{var h=t(551).FDLayout,n=t(578),v=t(880),o=t(991),e=t(767),d=t(806),f=t(902),l=t(551).FDLayoutConstants,N=t(551).LayoutConstants,c=t(551).Point,E=t(551).PointD,_=t(551).DimensionD,L=t(551).Layout,X=t(551).Integer,z=t(551).IGeometry,V=t(551).LGraph,B=t(551).Transform,q=t(551).LinkedList;function x(){h.call(this),this.toBeTiled={},this.constraints={}}T(x,"CoSELayout"),x.prototype=Object.create(h.prototype);for(var nt in h)x[nt]=h[nt];x.prototype.newGraphManager=function(){var a=new n(this);return this.graphManager=a,a},x.prototype.newGraph=function(a){return new v(null,this.graphManager,a)},x.prototype.newNode=function(a){return new o(this.graphManager,a)},x.prototype.newEdge=function(a){return new e(null,null,a)},x.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(d.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=d.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=d.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){var a=N.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(d.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),y=this.nodesWithGravity.filter(function(m){return a.has(m)});this.graphManager.setAllNodesToApplyGravitation(y)}}else{var p=this.getFlatForest();if(p.length>0)this.positionNodesRadially(p);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),y=this.nodesWithGravity.filter(function(D){return a.has(D)});this.graphManager.setAllNodesToApplyGravitation(y),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(f.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),d.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),y=this.nodesWithGravity.filter(function(u){return a.has(u)});this.graphManager.setAllNodesToApplyGravitation(y),this.graphManager.updateBounds(),this.updateGrid(),d.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),d.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),y={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=D)}}if(this.constraints.relativePlacementConstraint){var O=new Map,M=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(b){a.fixedNodesOnHorizontal.add(b),a.fixedNodesOnVertical.add(b)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var k=this.constraints.alignmentConstraint.vertical,p=0;p=2*b.length/3;it--)F=Math.floor(Math.random()*(it+1)),Z=b[it],b[it]=b[F],b[F]=Z;return b},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var F=O.has(b.left)?O.get(b.left):b.left,Z=O.has(b.right)?O.get(b.right):b.right;a.nodesInRelativeHorizontal.includes(F)||(a.nodesInRelativeHorizontal.push(F),a.nodeToRelativeConstraintMapHorizontal.set(F,[]),a.dummyToNodeForVerticalAlignment.has(F)?a.nodeToTempPositionMapHorizontal.set(F,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(F)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(F,a.idToNodeMap.get(F).getCenterX())),a.nodesInRelativeHorizontal.includes(Z)||(a.nodesInRelativeHorizontal.push(Z),a.nodeToRelativeConstraintMapHorizontal.set(Z,[]),a.dummyToNodeForVerticalAlignment.has(Z)?a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(Z).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(F).push({right:Z,gap:b.gap}),a.nodeToRelativeConstraintMapHorizontal.get(Z).push({left:F,gap:b.gap})}else{var it=M.has(b.top)?M.get(b.top):b.top,ut=M.has(b.bottom)?M.get(b.bottom):b.bottom;a.nodesInRelativeVertical.includes(it)||(a.nodesInRelativeVertical.push(it),a.nodeToRelativeConstraintMapVertical.set(it,[]),a.dummyToNodeForHorizontalAlignment.has(it)?a.nodeToTempPositionMapVertical.set(it,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(it)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(it,a.idToNodeMap.get(it).getCenterY())),a.nodesInRelativeVertical.includes(ut)||(a.nodesInRelativeVertical.push(ut),a.nodeToRelativeConstraintMapVertical.set(ut,[]),a.dummyToNodeForHorizontalAlignment.has(ut)?a.nodeToTempPositionMapVertical.set(ut,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ut)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ut,a.idToNodeMap.get(ut).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(it).push({bottom:ut,gap:b.gap}),a.nodeToRelativeConstraintMapVertical.get(ut).push({top:it,gap:b.gap})}});else{var W=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var F=O.has(b.left)?O.get(b.left):b.left,Z=O.has(b.right)?O.get(b.right):b.right;W.has(F)?W.get(F).push(Z):W.set(F,[Z]),W.has(Z)?W.get(Z).push(F):W.set(Z,[F])}else{var it=M.has(b.top)?M.get(b.top):b.top,ut=M.has(b.bottom)?M.get(b.bottom):b.bottom;j.has(it)?j.get(it).push(ut):j.set(it,[ut]),j.has(ut)?j.get(ut).push(it):j.set(ut,[it])}});var Y=T(function(b,F){var Z=[],it=[],ut=new q,It=new Set,Dt=0;return b.forEach(function(S,rt){if(!It.has(rt)){Z[Dt]=[],it[Dt]=!1;var ht=rt;for(ut.push(ht),It.add(ht),Z[Dt].push(ht);ut.length!=0;){ht=ut.shift(),F.has(ht)&&(it[Dt]=!0);var mt=b.get(ht);mt.forEach(function(Ct){It.has(Ct)||(ut.push(Ct),It.add(Ct),Z[Dt].push(Ct))})}Dt++}}),{components:Z,isFixed:it}},"constructComponents"),K=Y(W,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=K.components,this.fixedComponentsOnHorizontal=K.isFixed;var P=Y(j,a.fixedNodesOnVertical);this.componentsOnVertical=P.components,this.fixedComponentsOnVertical=P.isFixed}}},x.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(P){var b=a.idToNodeMap.get(P.nodeId);b.displacementX=0,b.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var y=this.constraints.alignmentConstraint.vertical,p=0;p1){var M;for(M=0;Mm&&(m=Math.floor(O.y)),D=Math.floor(O.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(N.WORLD_CENTER_X-O.x/2,N.WORLD_CENTER_Y-O.y/2))},x.radialLayout=function(a,y,p){var m=Math.max(this.maxDiagonalInTree(a),d.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(y,null,0,359,0,m);var u=V.calculateBounds(a),D=new B;D.setDeviceOrgX(u.getMinX()),D.setDeviceOrgY(u.getMinY()),D.setWorldOrgX(p.x),D.setWorldOrgY(p.y);for(var O=0;O1;){var Z=F[0];F.splice(0,1);var it=j.indexOf(Z);it>=0&&j.splice(it,1),P--,Y--}y!=null?b=(j.indexOf(F[0])+1)%P:b=0;for(var ut=Math.abs(m-p)/Y,It=b;K!=Y;It=++It%P){var Dt=j[It].getOtherEnd(a);if(Dt!=y){var S=(p+K*ut)%360,rt=(S+ut)%360;x.branchRadialLayout(Dt,a,S,rt,u+D,D),K++}}},x.maxDiagonalInTree=function(a){for(var y=X.MIN_VALUE,p=0;py&&(y=u)}return y},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var a=this,y={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),u=0;u"u"&&(y[M]=[]),y[M]=y[M].concat(D)}Object.keys(y).forEach(function(k){if(y[k].length>1){var U="DummyCompound_"+k;a.memberGroups[U]=y[k];var W=y[k][0].getParent(),j=new o(a.graphManager);j.id=U,j.paddingLeft=W.paddingLeft||0,j.paddingRight=W.paddingRight||0,j.paddingBottom=W.paddingBottom||0,j.paddingTop=W.paddingTop||0,a.idToDummyNode[U]=j;var Y=a.getGraphManager().add(a.newGraph(),j),K=W.getChild();K.add(j);for(var P=0;Pu?(m.rect.x-=(m.labelWidth-u)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-u)/2):m.labelPosHorizontal=="right"&&m.setWidth(u+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(D+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>D?(m.rect.y-=(m.labelHeight-D)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-D)/2):m.labelPosVertical=="bottom"&&m.setHeight(D+m.labelHeight))}})},x.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var y=this.compoundOrder[a],p=y.id,m=y.paddingLeft,u=y.paddingTop,D=y.labelMarginLeft,O=y.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],y.rect.x,y.rect.y,m,u,D,O)}},x.prototype.repopulateZeroDegreeMembers=function(){var a=this,y=this.tiledZeroDegreePack;Object.keys(y).forEach(function(p){var m=a.idToDummyNode[p],u=m.paddingLeft,D=m.paddingTop,O=m.labelMarginLeft,M=m.labelMarginTop;a.adjustLocations(y[p],m.rect.x,m.rect.y,u,D,O,M)})},x.prototype.getToBeTiled=function(a){var y=a.id;if(this.toBeTiled[y]!=null)return this.toBeTiled[y];var p=a.getChild();if(p==null)return this.toBeTiled[y]=!1,!1;for(var m=p.getNodes(),u=0;u0)return this.toBeTiled[y]=!1,!1;if(D.getChild()==null){this.toBeTiled[D.id]=!1;continue}if(!this.getToBeTiled(D))return this.toBeTiled[y]=!1,!1}return this.toBeTiled[y]=!0,!0},x.prototype.getNodeDegree=function(a){for(var y=a.id,p=a.getEdges(),m=0,u=0;uW&&(W=Y.rect.height)}p+=W+a.verticalPadding}},x.prototype.tileCompoundMembers=function(a,y){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var u=y[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],u.paddingLeft+u.paddingRight),u.rect.width=p.tiledMemberPack[m].width,u.rect.height=p.tiledMemberPack[m].height,u.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),u.labelMarginLeft=0,u.labelMarginTop=0,d.NODE_DIMENSIONS_INCLUDE_LABELS){var D=u.rect.width,O=u.rect.height;u.labelWidth&&(u.labelPosHorizontal=="left"?(u.rect.x-=u.labelWidth,u.setWidth(D+u.labelWidth),u.labelMarginLeft=u.labelWidth):u.labelPosHorizontal=="center"&&u.labelWidth>D?(u.rect.x-=(u.labelWidth-D)/2,u.setWidth(u.labelWidth),u.labelMarginLeft=(u.labelWidth-D)/2):u.labelPosHorizontal=="right"&&u.setWidth(D+u.labelWidth)),u.labelHeight&&(u.labelPosVertical=="top"?(u.rect.y-=u.labelHeight,u.setHeight(O+u.labelHeight),u.labelMarginTop=u.labelHeight):u.labelPosVertical=="center"&&u.labelHeight>O?(u.rect.y-=(u.labelHeight-O)/2,u.setHeight(u.labelHeight),u.labelMarginTop=(u.labelHeight-O)/2):u.labelPosVertical=="bottom"&&u.setHeight(O+u.labelHeight))}})},x.prototype.tileNodes=function(a,y){var p=this.tileNodesByFavoringDim(a,y,!0),m=this.tileNodesByFavoringDim(a,y,!1),u=this.getOrgRatio(p),D=this.getOrgRatio(m),O;return DM&&(M=P.getWidth())});var k=D/u,U=O/u,W=Math.pow(p-m,2)+4*(k+m)*(U+p)*u,j=(m-p+Math.sqrt(W))/(2*(k+m)),Y;y?(Y=Math.ceil(j),Y==j&&Y++):Y=Math.floor(j);var K=Y*(k+m)-m;return M>K&&(K=M),K+=m*2,K},x.prototype.tileNodesByFavoringDim=function(a,y,p){var m=d.TILING_PADDING_VERTICAL,u=d.TILING_PADDING_HORIZONTAL,D=d.TILING_COMPARE_BY,O={rows:[],rowWidth:[],rowHeight:[],width:0,height:y,verticalPadding:m,horizontalPadding:u,centerX:0,centerY:0};D&&(O.idealRowWidth=this.calcIdealRowWidth(a,p));var M=T(function(P){return P.rect.width*P.rect.height},"getNodeArea"),k=T(function(P,b){return M(b)-M(P)},"areaCompareFcn");a.sort(function(P,b){var F=k;return O.idealRowWidth?(F=D,F(P.id,b.id)):F(P,b)});for(var U=0,W=0,j=0;j0&&(O+=a.horizontalPadding),a.rowWidth[p]=O,a.width0&&(M+=a.verticalPadding);var k=0;M>a.rowHeight[p]&&(k=a.rowHeight[p],a.rowHeight[p]=M,k=a.rowHeight[p]-k),a.height+=k,a.rows[p].push(y)},x.prototype.getShortestRowIndex=function(a){for(var y=-1,p=Number.MAX_VALUE,m=0;mp&&(y=m,p=a.rowWidth[m]);return y},x.prototype.canAddHorizontal=function(a,y,p){if(a.idealRowWidth){var m=a.rows.length-1,u=a.rowWidth[m];return u+y+a.horizontalPadding<=a.idealRowWidth}var D=this.getShortestRowIndex(a);if(D<0)return!0;var O=a.rowWidth[D];if(O+a.horizontalPadding+y<=a.width)return!0;var M=0;a.rowHeight[D]0&&(M=p+a.verticalPadding-a.rowHeight[D]);var k;a.width-O>=y+a.horizontalPadding?k=(a.height+M)/(O+y+a.horizontalPadding):k=(a.height+M)/a.width,M=p+a.verticalPadding;var U;return a.widthD&&y!=p){m.splice(-1,1),a.rows[p].push(u),a.rowWidth[y]=a.rowWidth[y]-D,a.rowWidth[p]=a.rowWidth[p]+D,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var O=Number.MIN_VALUE,M=0;MO&&(O=m[M].height);y>0&&(O+=a.verticalPadding);var k=a.rowHeight[y]+a.rowHeight[p];a.rowHeight[y]=O,a.rowHeight[p]0)for(var K=u;K<=D;K++)Y[0]+=this.grid[K][O-1].length+this.grid[K][O].length-1;if(D0)for(var K=O;K<=M;K++)Y[3]+=this.grid[u-1][K].length+this.grid[u][K].length-1;for(var P=X.MAX_VALUE,b,F,Z=0;Z{var h=t(551).FDLayoutNode,n=t(551).IMath;function v(e,d,f,l){h.call(this,e,d,f,l)}T(v,"CoSENode"),v.prototype=Object.create(h.prototype);for(var o in h)v[o]=h[o];v.prototype.calculateDisplacement=function(){var e=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementX=e.coolingFactor*e.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementY=e.coolingFactor*e.maxNodeDisplacement*n.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},v.prototype.propogateDisplacementToChildren=function(e,d){for(var f=this.getChild().getNodes(),l,N=0;N{function h(f){if(Array.isArray(f)){for(var l=0,N=Array(f.length);l0){var at=0;st.forEach(function(ft){R=="horizontal"?(tt.set(ft,c.has(ft)?E[c.get(ft)]:J.get(ft)),at+=tt.get(ft)):(tt.set(ft,c.has(ft)?_[c.get(ft)]:J.get(ft)),at+=tt.get(ft))}),at=at/st.length,ot.forEach(function(ft){$.has(ft)||tt.set(ft,at)})}else{var Tt=0;ot.forEach(function(ft){R=="horizontal"?Tt+=c.has(ft)?E[c.get(ft)]:J.get(ft):Tt+=c.has(ft)?_[c.get(ft)]:J.get(ft)}),Tt=Tt/ot.length,ot.forEach(function(ft){tt.set(ft,Tt)})}});for(var _t=T(function(){var ot=Nt.shift(),st=I.get(ot);st.forEach(function(at){if(tt.get(at.id)ft&&(ft=Pt),Btbt&&(bt=Bt)}}catch(Kt){Gt=!0,jt=Kt}finally{try{!Rt&&At.return&&At.return()}finally{if(Gt)throw jt}}var qt=(at+ft)/2-(Tt+bt)/2,ne=!0,Qt=!1,te=void 0;try{for(var Jt=ot[Symbol.iterator](),ee;!(ne=(ee=Jt.next()).done);ne=!0){var ae=ee.value;tt.set(ae,tt.get(ae)+qt)}}catch(Kt){Qt=!0,te=Kt}finally{try{!ne&&Jt.return&&Jt.return()}finally{if(Qt)throw te}}})}return tt},"findAppropriatePositionForRelativePlacement"),nt=T(function(I){var R=0,$=0,J=0,Q=0;if(I.forEach(function(gt){gt.left?E[c.get(gt.left)]-E[c.get(gt.right)]>=0?R++:$++:_[c.get(gt.top)]-_[c.get(gt.bottom)]>=0?J++:Q++}),R>$&&J>Q)for(var pt=0;pt$)for(var dt=0;dtQ)for(var tt=0;tt1)l.fixedNodeConstraint.forEach(function(I,R){m[R]=[I.position.x,I.position.y],u[R]=[E[c.get(I.nodeId)],_[c.get(I.nodeId)]]}),D=!0;else if(l.alignmentConstraint)(function(){var I=0;if(l.alignmentConstraint.vertical){for(var R=l.alignmentConstraint.vertical,$=T(function(tt){var gt=new Set;R[tt].forEach(function(et){gt.add(et)});var Nt=new Set([].concat(h(gt)).filter(function(et){return M.has(et)})),_t=void 0;Nt.size>0?_t=E[c.get(Nt.values().next().value)]:_t=q(gt).x,R[tt].forEach(function(et){m[I]=[_t,_[c.get(et)]],u[I]=[E[c.get(et)],_[c.get(et)]],I++})},"_loop2"),J=0;J0?_t=E[c.get(Nt.values().next().value)]:_t=q(gt).y,Q[tt].forEach(function(et){m[I]=[E[c.get(et)],_t],u[I]=[E[c.get(et)],_[c.get(et)]],I++})},"_loop3"),dt=0;dtj&&(j=W[K].length,Y=K);if(j0){var xt={x:0,y:0};l.fixedNodeConstraint.forEach(function(I,R){var $={x:E[c.get(I.nodeId)],y:_[c.get(I.nodeId)]},J=I.position,Q=B(J,$);xt.x+=Q.x,xt.y+=Q.y}),xt.x/=l.fixedNodeConstraint.length,xt.y/=l.fixedNodeConstraint.length,E.forEach(function(I,R){E[R]+=xt.x}),_.forEach(function(I,R){_[R]+=xt.y}),l.fixedNodeConstraint.forEach(function(I){E[c.get(I.nodeId)]=I.position.x,_[c.get(I.nodeId)]=I.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var Vt=l.alignmentConstraint.vertical,Ut=T(function(I){var R=new Set;Vt[I].forEach(function(Q){R.add(Q)});var $=new Set([].concat(h(R)).filter(function(Q){return M.has(Q)})),J=void 0;$.size>0?J=E[c.get($.values().next().value)]:J=q(R).x,R.forEach(function(Q){M.has(Q)||(E[c.get(Q)]=J)})},"_loop4"),kt=0;kt0?J=_[c.get($.values().next().value)]:J=q(R).y,R.forEach(function(Q){M.has(Q)||(_[c.get(Q)]=J)})},"_loop5"),Yt=0;Yt{r.exports=C}},A={};function g(r){var i=A[r];if(i!==void 0)return i.exports;var t=A[r]={exports:{}};return G[r](t,t.exports,g),t.exports}T(g,"__webpack_require__");var s=g(45);return s})()})}),ai=me((w,H)=>{T(function(C,G){typeof w=="object"&&typeof H=="object"?H.exports=G(Le()):typeof define=="function"&&define.amd?define(["cose-base"],G):typeof w=="object"?w.cytoscapeFcose=G(Le()):C.cytoscapeFcose=G(C.coseBase)},"webpackUniversalModuleDefinition")(w,function(C){return(()=>{var G={658:r=>{r.exports=Object.assign!=null?Object.assign.bind(Object):function(i){for(var t=arguments.length,h=Array(t>1?t-1:0),n=1;n{var h=function(){function o(e,d){var f=[],l=!0,N=!1,c=void 0;try{for(var E=e[Symbol.iterator](),_;!(l=(_=E.next()).done)&&(f.push(_.value),!(d&&f.length===d));l=!0);}catch(L){N=!0,c=L}finally{try{!l&&E.return&&E.return()}finally{if(N)throw c}}return f}return T(o,"sliceIterator"),function(e,d){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return o(e,d);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),n=t(140).layoutBase.LinkedList,v={};v.getTopMostNodes=function(o){for(var e={},d=0;d0&&m.merge(M)});for(var u=0;u1){_=c[0],L=_.connectedEdges().length,c.forEach(function(m){m.connectedEdges().length0&&f.set("dummy"+(f.size+1),V),B},v.relocateComponent=function(o,e,d){if(!d.fixedNodeConstraint){var f=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,N=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY;if(d.quality=="draft"){var E=!0,_=!1,L=void 0;try{for(var X=e.nodeIndexes[Symbol.iterator](),z;!(E=(z=X.next()).done);E=!0){var V=z.value,B=h(V,2),q=B[0],x=B[1],nt=d.cy.getElementById(q);if(nt){var a=nt.boundingBox(),y=e.xCoords[x]-a.w/2,p=e.xCoords[x]+a.w/2,m=e.yCoords[x]-a.h/2,u=e.yCoords[x]+a.h/2;yl&&(l=p),mc&&(c=u)}}}catch(U){_=!0,L=U}finally{try{!E&&X.return&&X.return()}finally{if(_)throw L}}var D=o.x-(l+f)/2,O=o.y-(c+N)/2;e.xCoords=e.xCoords.map(function(U){return U+D}),e.yCoords=e.yCoords.map(function(U){return U+O})}else{Object.keys(e).forEach(function(U){var W=e[U],j=W.getRect().x,Y=W.getRect().x+W.getRect().width,K=W.getRect().y,P=W.getRect().y+W.getRect().height;jl&&(l=Y),Kc&&(c=P)});var M=o.x-(l+f)/2,k=o.y-(c+N)/2;Object.keys(e).forEach(function(U){var W=e[U];W.setCenter(W.getCenterX()+M,W.getCenterY()+k)})}}},v.calcBoundingBox=function(o,e,d,f){for(var l=Number.MAX_SAFE_INTEGER,N=Number.MIN_SAFE_INTEGER,c=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,L=void 0,X=void 0,z=void 0,V=o.descendants().not(":parent"),B=V.length,q=0;q_&&(l=_),NX&&(c=X),E{var h=t(548),n=t(140).CoSELayout,v=t(140).CoSENode,o=t(140).layoutBase.PointD,e=t(140).layoutBase.DimensionD,d=t(140).layoutBase.LayoutConstants,f=t(140).layoutBase.FDLayoutConstants,l=t(140).CoSEConstants,N=T(function(c,E){var _=c.cy,L=c.eles,X=L.nodes(),z=L.edges(),V=void 0,B=void 0,q=void 0,x={};c.randomize&&(V=E.nodeIndexes,B=E.xCoords,q=E.yCoords);var nt=T(function(M){return typeof M=="function"},"isFn"),a=T(function(M,k){return nt(M)?M(k):M},"optFn"),y=h.calcParentsWithoutChildren(_,L),p=T(function M(k,U,W,j){for(var Y=U.length,K=0;K0){var ut=void 0;ut=W.getGraphManager().add(W.newGraph(),F),M(ut,b,W,j)}}},"processChildrenList"),m=T(function(M,k,U){for(var W=0,j=0,Y=0;Y0?l.DEFAULT_EDGE_LENGTH=f.DEFAULT_EDGE_LENGTH=W/j:nt(c.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=f.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=f.DEFAULT_EDGE_LENGTH=c.idealEdgeLength,l.MIN_REPULSION_DIST=f.MIN_REPULSION_DIST=f.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH)},"processEdges"),u=T(function(M,k){k.fixedNodeConstraint&&(M.constraints.fixedNodeConstraint=k.fixedNodeConstraint),k.alignmentConstraint&&(M.constraints.alignmentConstraint=k.alignmentConstraint),k.relativePlacementConstraint&&(M.constraints.relativePlacementConstraint=k.relativePlacementConstraint)},"processConstraints");c.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=f.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.nestingFactor),c.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=f.DEFAULT_GRAVITY_STRENGTH=c.gravity),c.numIter!=null&&(l.MAX_ITERATIONS=f.MAX_ITERATIONS=c.numIter),c.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=f.DEFAULT_GRAVITY_RANGE_FACTOR=c.gravityRange),c.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=f.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.gravityCompound),c.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.gravityRangeCompound),c.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=f.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.initialEnergyOnIncremental),c.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=c.tilingCompareBy),c.quality=="proof"?d.QUALITY=2:d.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=f.NODE_DIMENSIONS_INCLUDE_LABELS=d.NODE_DIMENSIONS_INCLUDE_LABELS=c.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=f.DEFAULT_INCREMENTAL=d.DEFAULT_INCREMENTAL=!c.randomize,l.ANIMATE=f.ANIMATE=d.ANIMATE=c.animate,l.TILE=c.tile,l.TILING_PADDING_VERTICAL=typeof c.tilingPaddingVertical=="function"?c.tilingPaddingVertical.call():c.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof c.tilingPaddingHorizontal=="function"?c.tilingPaddingHorizontal.call():c.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=f.DEFAULT_INCREMENTAL=d.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!c.randomize,d.DEFAULT_UNIFORM_LEAF_NODE_SIZES=c.uniformNodeDimensions,c.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),c.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),c.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),c.step=="all"&&(c.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),c.fixedNodeConstraint||c.alignmentConstraint||c.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new n,O=D.newGraphManager();return p(O.addRoot(),h.getTopMostNodes(X),D,c),m(D,O,z),u(D,c),D.runLayout(),x},"coseLayout");r.exports={coseLayout:N}},212:(r,i,t)=>{var h=function(){function E(_,L){for(var X=0;X0)if(y){var p=o.getTopMostNodes(L.eles.nodes());if(q=o.connectComponents(X,L.eles,p),q.forEach(function(S){var rt=S.boundingBox();x.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2})}),L.randomize&&q.forEach(function(S){L.eles=S,V.push(d(L))}),L.quality=="default"||L.quality=="proof"){var m=X.collection();if(L.tile){var u=new Map,D=[],O=[],M=0,k={nodeIndexes:u,xCoords:D,yCoords:O},U=[];if(q.forEach(function(S,rt){S.edges().length==0&&(S.nodes().forEach(function(ht,mt){m.merge(S.nodes()[mt]),ht.isParent()||(k.nodeIndexes.set(S.nodes()[mt].id(),M++),k.xCoords.push(S.nodes()[0].position().x),k.yCoords.push(S.nodes()[0].position().y))}),U.push(rt))}),m.length>1){var W=m.boundingBox();x.push({x:W.x1+W.w/2,y:W.y1+W.h/2}),q.push(m),V.push(k);for(var j=U.length-1;j>=0;j--)q.splice(U[j],1),V.splice(U[j],1),x.splice(U[j],1)}}q.forEach(function(S,rt){L.eles=S,B.push(l(L,V[rt])),o.relocateComponent(x[rt],B[rt],L)})}else q.forEach(function(S,rt){o.relocateComponent(x[rt],V[rt],L)});var Y=new Set;if(q.length>1){var K=[],P=z.filter(function(S){return S.css("display")=="none"});q.forEach(function(S,rt){var ht=void 0;if(L.quality=="draft"&&(ht=V[rt].nodeIndexes),S.nodes().not(P).length>0){var mt={};mt.edges=[],mt.nodes=[];var Ct=void 0;S.nodes().not(P).forEach(function(yt){if(L.quality=="draft")if(!yt.isParent())Ct=ht.get(yt.id()),mt.nodes.push({x:V[rt].xCoords[Ct]-yt.boundingbox().w/2,y:V[rt].yCoords[Ct]-yt.boundingbox().h/2,width:yt.boundingbox().w,height:yt.boundingbox().h});else{var Et=o.calcBoundingBox(yt,V[rt].xCoords,V[rt].yCoords,ht);mt.nodes.push({x:Et.topLeftX,y:Et.topLeftY,width:Et.width,height:Et.height})}else B[rt][yt.id()]&&mt.nodes.push({x:B[rt][yt.id()].getLeft(),y:B[rt][yt.id()].getTop(),width:B[rt][yt.id()].getWidth(),height:B[rt][yt.id()].getHeight()})}),S.edges().forEach(function(yt){var Et=yt.source(),xt=yt.target();if(Et.css("display")!="none"&&xt.css("display")!="none")if(L.quality=="draft"){var Vt=ht.get(Et.id()),Ut=ht.get(xt.id()),kt=[],Mt=[];if(Et.isParent()){var Xt=o.calcBoundingBox(Et,V[rt].xCoords,V[rt].yCoords,ht);kt.push(Xt.topLeftX+Xt.width/2),kt.push(Xt.topLeftY+Xt.height/2)}else kt.push(V[rt].xCoords[Vt]),kt.push(V[rt].yCoords[Vt]);if(xt.isParent()){var Yt=o.calcBoundingBox(xt,V[rt].xCoords,V[rt].yCoords,ht);Mt.push(Yt.topLeftX+Yt.width/2),Mt.push(Yt.topLeftY+Yt.height/2)}else Mt.push(V[rt].xCoords[Ut]),Mt.push(V[rt].yCoords[Ut]);mt.edges.push({startX:kt[0],startY:kt[1],endX:Mt[0],endY:Mt[1]})}else B[rt][Et.id()]&&B[rt][xt.id()]&&mt.edges.push({startX:B[rt][Et.id()].getCenterX(),startY:B[rt][Et.id()].getCenterY(),endX:B[rt][xt.id()].getCenterX(),endY:B[rt][xt.id()].getCenterY()})}),mt.nodes.length>0&&(K.push(mt),Y.add(rt))}});var b=a.packComponents(K,L.randomize).shifts;if(L.quality=="draft")V.forEach(function(S,rt){var ht=S.xCoords.map(function(Ct){return Ct+b[rt].dx}),mt=S.yCoords.map(function(Ct){return Ct+b[rt].dy});S.xCoords=ht,S.yCoords=mt});else{var F=0;Y.forEach(function(S){Object.keys(B[S]).forEach(function(rt){var ht=B[S][rt];ht.setCenter(ht.getCenterX()+b[F].dx,ht.getCenterY()+b[F].dy)}),F++})}}}else{var Z=L.eles.boundingBox();if(x.push({x:Z.x1+Z.w/2,y:Z.y1+Z.h/2}),L.randomize){var it=d(L);V.push(it)}L.quality=="default"||L.quality=="proof"?(B.push(l(L,V[0])),o.relocateComponent(x[0],B[0],L)):o.relocateComponent(x[0],V[0],L)}var ut=T(function(S,rt){if(L.quality=="default"||L.quality=="proof"){typeof S=="number"&&(S=rt);var ht=void 0,mt=void 0,Ct=S.data("id");return B.forEach(function(Et){Ct in Et&&(ht={x:Et[Ct].getRect().getCenterX(),y:Et[Ct].getRect().getCenterY()},mt=Et[Ct])}),L.nodeDimensionsIncludeLabels&&(mt.labelWidth&&(mt.labelPosHorizontal=="left"?ht.x+=mt.labelWidth/2:mt.labelPosHorizontal=="right"&&(ht.x-=mt.labelWidth/2)),mt.labelHeight&&(mt.labelPosVertical=="top"?ht.y+=mt.labelHeight/2:mt.labelPosVertical=="bottom"&&(ht.y-=mt.labelHeight/2))),ht==null&&(ht={x:S.position("x"),y:S.position("y")}),{x:ht.x,y:ht.y}}else{var yt=void 0;return V.forEach(function(Et){var xt=Et.nodeIndexes.get(S.id());xt!=null&&(yt={x:Et.xCoords[xt],y:Et.yCoords[xt]})}),yt==null&&(yt={x:S.position("x"),y:S.position("y")}),{x:yt.x,y:yt.y}}},"getPositions");if(L.quality=="default"||L.quality=="proof"||L.randomize){var It=o.calcParentsWithoutChildren(X,z),Dt=z.filter(function(S){return S.css("display")=="none"});L.eles=z.not(Dt),z.nodes().not(":parent").not(Dt).layoutPositions(_,L,ut),It.length>0&&It.forEach(function(S){S.position(ut(S))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),E}();r.exports=c},657:(r,i,t)=>{var h=t(548),n=t(140).layoutBase.Matrix,v=t(140).layoutBase.SVD,o=T(function(e){var d=e.cy,f=e.eles,l=f.nodes(),N=f.nodes(":parent"),c=new Map,E=new Map,_=new Map,L=[],X=[],z=[],V=[],B=[],q=[],x=[],nt=[],a=void 0,y=1e8,p=1e-9,m=e.piTol,u=e.samplingType,D=e.nodeSeparation,O=void 0,M=T(function(){for(var lt=0,I=0,R=!1;I=J;){pt=$[J++];for(var et=L[pt],Ot=0;Otgt&&(gt=B[st],Nt=st)}return Nt},"BFS"),U=T(function(lt){var I=void 0;if(lt){I=Math.floor(Math.random()*a);for(var R=0;R=1)break;gt=tt}for(var et=0;et=1)break;gt=tt}for(var ot=0;ot0&&(R.isParent()?L[I].push(_.get(R.id())):L[I].push(R.id()))})});var Dt=T(function(lt){var I=E.get(lt),R=void 0;c.get(lt).forEach(function($){d.getElementById($).isParent()?R=_.get($):R=$,L[I].push(R),L[E.get(R)].push(lt)})},"_loop"),S=!0,rt=!1,ht=void 0;try{for(var mt=c.keys()[Symbol.iterator](),Ct;!(S=(Ct=mt.next()).done);S=!0){var yt=Ct.value;Dt(yt)}}catch(lt){rt=!0,ht=lt}finally{try{!S&&mt.return&&mt.return()}finally{if(rt)throw ht}}a=E.size;var Et=void 0;if(a>2){O=a{var h=t(212),n=T(function(v){v&&v("layout","fcose",h)},"register");typeof cytoscape<"u"&&n(cytoscape),r.exports=n},140:r=>{r.exports=C}},A={};function g(r){var i=A[r];if(i!==void 0)return i.exports;var t=A[r]={exports:{}};return G[r](t,t.exports,g),t.exports}T(g,"__webpack_require__");var s=g(579);return s})()})}),Ie={L:"left",R:"right",T:"top",B:"bottom"},Ce={L:T(w=>`${w},${w/2} 0,${w} 0,0`,"L"),R:T(w=>`0,${w/2} ${w},0 ${w},${w}`,"R"),T:T(w=>`0,0 ${w},0 ${w/2},${w}`,"T"),B:T(w=>`${w/2},0 ${w},${w} 0,${w}`,"B")},se={L:T((w,H)=>w-H+2,"L"),R:T((w,H)=>w-2,"R"),T:T((w,H)=>w-H+2,"T"),B:T((w,H)=>w-2,"B")},si=T(function(w){return Ht(w)?w==="L"?"R":"L":w==="T"?"B":"T"},"getOppositeArchitectureDirection"),Oe=T(function(w){let H=w;return H==="L"||H==="R"||H==="T"||H==="B"},"isArchitectureDirection"),Ht=T(function(w){let H=w;return H==="L"||H==="R"},"isArchitectureDirectionX"),Zt=T(function(w){let H=w;return H==="T"||H==="B"},"isArchitectureDirectionY"),De=T(function(w,H){let C=Ht(w)&&Zt(H),G=Zt(w)&&Ht(H);return C||G},"isArchitectureDirectionXY"),hi=T(function(w){let H=w[0],C=w[1],G=Ht(H)&&Zt(C),A=Zt(H)&&Ht(C);return G||A},"isArchitecturePairXY"),li=T(function(w){return w!=="LL"&&w!=="RR"&&w!=="TT"&&w!=="BB"},"isValidArchitectureDirectionPair"),pe=T(function(w,H){let C=`${w}${H}`;return li(C)?C:void 0},"getArchitectureDirectionPair"),di=T(function([w,H],C){let G=C[0],A=C[1];return Ht(G)?Zt(A)?[w+(G==="L"?-1:1),H+(A==="T"?1:-1)]:[w+(G==="L"?-1:1),H]:Ht(A)?[w+(A==="L"?1:-1),H+(G==="T"?1:-1)]:[w,H+(G==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),ci=T(function(w){return w==="LT"||w==="TL"?[1,1]:w==="BL"||w==="LB"?[1,-1]:w==="BR"||w==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),gi=T(function(w){return w.type==="service"},"isArchitectureService"),ui=T(function(w){return w.type==="junction"},"isArchitectureJunction"),be=T(w=>w.data(),"edgeData"),re=T(w=>w.data(),"nodeData"),Re=We.architecture,vt=new He(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:Re,dataStructures:void 0,elements:{}})),fi=T(()=>{vt.reset(),je()},"clear"),pi=T(function({id:w,icon:H,in:C,title:G,iconText:A}){if(vt.records.registeredIds[w]!==void 0)throw new Error(`The service id [${w}] is already in use by another ${vt.records.registeredIds[w]}`);if(C!==void 0){if(w===C)throw new Error(`The service [${w}] cannot be placed within itself`);if(vt.records.registeredIds[C]===void 0)throw new Error(`The service [${w}]'s parent does not exist. Please make sure the parent is created before this service`);if(vt.records.registeredIds[C]==="node")throw new Error(`The service [${w}]'s parent is not a group`)}vt.records.registeredIds[w]="node",vt.records.nodes[w]={id:w,type:"service",icon:H,iconText:A,title:G,edges:[],in:C}},"addService"),vi=T(()=>Object.values(vt.records.nodes).filter(gi),"getServices"),mi=T(function({id:w,in:H}){vt.records.registeredIds[w]="node",vt.records.nodes[w]={id:w,type:"junction",edges:[],in:H}},"addJunction"),yi=T(()=>Object.values(vt.records.nodes).filter(ui),"getJunctions"),Ei=T(()=>Object.values(vt.records.nodes),"getNodes"),Ni=T(w=>vt.records.nodes[w],"getNode"),Ti=T(function({id:w,icon:H,in:C,title:G}){if(vt.records.registeredIds[w]!==void 0)throw new Error(`The group id [${w}] is already in use by another ${vt.records.registeredIds[w]}`);if(C!==void 0){if(w===C)throw new Error(`The group [${w}] cannot be placed within itself`);if(vt.records.registeredIds[C]===void 0)throw new Error(`The group [${w}]'s parent does not exist. Please make sure the parent is created before this group`);if(vt.records.registeredIds[C]==="node")throw new Error(`The group [${w}]'s parent is not a group`)}vt.records.registeredIds[w]="group",vt.records.groups[w]={id:w,icon:H,title:G,in:C}},"addGroup"),Ai=T(()=>Object.values(vt.records.groups),"getGroups"),wi=T(function({lhsId:w,rhsId:H,lhsDir:C,rhsDir:G,lhsInto:A,rhsInto:g,lhsGroup:s,rhsGroup:r,title:i}){if(!Oe(C))throw new Error(`Invalid direction given for left hand side of edge ${w}--${H}. Expected (L,R,T,B) got ${C}`);if(!Oe(G))throw new Error(`Invalid direction given for right hand side of edge ${w}--${H}. Expected (L,R,T,B) got ${G}`);if(vt.records.nodes[w]===void 0&&vt.records.groups[w]===void 0)throw new Error(`The left-hand id [${w}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(vt.records.nodes[H]===void 0&&vt.records.groups[w]===void 0)throw new Error(`The right-hand id [${H}] does not yet exist. Please create the service/group before declaring an edge to it.`);let t=vt.records.nodes[w].in,h=vt.records.nodes[H].in;if(s&&t&&h&&t==h)throw new Error(`The left-hand id [${w}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&t&&h&&t==h)throw new Error(`The right-hand id [${H}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let n={lhsId:w,lhsDir:C,lhsInto:A,lhsGroup:s,rhsId:H,rhsDir:G,rhsInto:g,rhsGroup:r,title:i};vt.records.edges.push(n),vt.records.nodes[w]&&vt.records.nodes[H]&&(vt.records.nodes[w].edges.push(vt.records.edges[vt.records.edges.length-1]),vt.records.nodes[H].edges.push(vt.records.edges[vt.records.edges.length-1]))},"addEdge"),_i=T(()=>vt.records.edges,"getEdges"),Li=T(()=>{if(vt.records.dataStructures===void 0){let w=Object.entries(vt.records.nodes).reduce((s,[r,i])=>(s[r]=i.edges.reduce((t,h)=>{if(h.lhsId===r){let n=pe(h.lhsDir,h.rhsDir);n&&(t[n]=h.rhsId)}else{let n=pe(h.rhsDir,h.lhsDir);n&&(t[n]=h.lhsId)}return t},{}),s),{}),H=Object.keys(w)[0],C={[H]:1},G=Object.keys(w).reduce((s,r)=>r===H?s:{...s,[r]:1},{}),A=T(s=>{let r={[s]:[0,0]},i=[s];for(;i.length>0;){let t=i.shift();if(t){C[t]=1,delete G[t];let h=w[t],[n,v]=r[t];Object.entries(h).forEach(([o,e])=>{C[e]||(r[e]=di([n,v],o),i.push(e))})}}return r},"BFS"),g=[A(H)];for(;Object.keys(G).length>0;)g.push(A(Object.keys(G)[0]));vt.records.dataStructures={adjList:w,spatialMaps:g}}return vt.records.dataStructures},"getDataStructures"),Ii=T((w,H)=>{vt.records.elements[w]=H},"setElementForId"),Ci=T(w=>vt.records.elements[w],"getElementById"),he={clear:fi,setDiagramTitle:Qe,getDiagramTitle:ti,setAccTitle:ei,getAccTitle:ii,setAccDescription:ri,getAccDescription:ni,addService:pi,getServices:vi,addJunction:mi,getJunctions:yi,getNodes:Ei,getNode:Ni,addGroup:Ti,getGroups:Ai,addEdge:wi,getEdges:_i,setElementForId:Ii,getElementById:Ci,getDataStructures:Li};function St(w){let H=le().architecture;return H!=null&&H[w]?H[w]:Re[w]}T(St,"getConfigField");var Oi=T((w,H)=>{Ve(w,H),w.groups.map(H.addGroup),w.services.map(C=>H.addService({...C,type:"service"})),w.junctions.map(C=>H.addJunction({...C,type:"junction"})),w.edges.map(H.addEdge)},"populateDb"),xi={parse:T(async w=>{let H=await Be("architecture",w);Me.debug(H),Oi(H,he)},"parse")},Mi=T(w=>` +import{F as xe}from"./chunk-PWCSEZZ4-Bl8jHf5N.js";import{s as He}from"./chunk-VSLJSFIP-CH0BQGll.js";import{c as Ve}from"./chunk-4KE642ED-BFpkd97I.js";import{p as Be}from"./gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js";import{m as T,ar as We,h as je,t as Me,q as $e,bm as qe,bb as ve,W as le,bn as fe,bo as Ze,aT as Je,b7 as Ke,aL as me,w as Qe,B as ti,T as ei,k as ii,S as ri,v as ni,r as oi}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var _e=me((w,H)=>{T(function(C,G){typeof w=="object"&&typeof H=="object"?H.exports=G():typeof define=="function"&&define.amd?define([],G):typeof w=="object"?w.layoutBase=G():C.layoutBase=G()},"webpackUniversalModuleDefinition")(w,function(){return function(C){var G={};function A(g){if(G[g])return G[g].exports;var s=G[g]={i:g,l:!1,exports:{}};return C[g].call(s.exports,s,s.exports,A),s.l=!0,s.exports}return T(A,"__webpack_require__"),A.m=C,A.c=G,A.i=function(g){return g},A.d=function(g,s,r){A.o(g,s)||Object.defineProperty(g,s,{configurable:!1,enumerable:!0,get:r})},A.n=function(g){var s=g&&g.__esModule?T(function(){return g.default},"getDefault"):T(function(){return g},"getModuleExports");return A.d(s,"a",s),s},A.o=function(g,s){return Object.prototype.hasOwnProperty.call(g,s)},A.p="",A(A.s=28)}([function(C,G,A){function g(){}T(g,"LayoutConstants"),g.QUALITY=1,g.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,g.DEFAULT_INCREMENTAL=!1,g.DEFAULT_ANIMATION_ON_LAYOUT=!0,g.DEFAULT_ANIMATION_DURING_LAYOUT=!1,g.DEFAULT_ANIMATION_PERIOD=50,g.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,g.DEFAULT_GRAPH_MARGIN=15,g.NODE_DIMENSIONS_INCLUDE_LABELS=!1,g.SIMPLE_NODE_SIZE=40,g.SIMPLE_NODE_HALF_SIZE=g.SIMPLE_NODE_SIZE/2,g.EMPTY_COMPOUND_NODE_SIZE=40,g.MIN_EDGE_LENGTH=1,g.WORLD_BOUNDARY=1e6,g.INITIAL_WORLD_BOUNDARY=g.WORLD_BOUNDARY/1e3,g.WORLD_CENTER_X=1200,g.WORLD_CENTER_Y=900,C.exports=g},function(C,G,A){var g=A(2),s=A(8),r=A(9);function i(h,n,v){g.call(this,v),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=v,this.bendpoints=[],this.source=h,this.target=n}T(i,"LEdge"),i.prototype=Object.create(g.prototype);for(var t in g)i[t]=g[t];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(h,n){for(var v=this.getOtherEnd(h),o=n.getGraphManager().getRoot();;){if(v.getOwner()==n)return v;if(v.getOwner()==o)break;v=v.getOwner().getParent()}return null},i.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=r.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=r.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=r.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=r.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},C.exports=i},function(C,G,A){function g(s){this.vGraphObject=s}T(g,"LGraphObject"),C.exports=g},function(C,G,A){var g=A(2),s=A(10),r=A(13),i=A(0),t=A(16),h=A(5);function n(o,e,d,f){d==null&&f==null&&(f=e),g.call(this,f),o.graphManager!=null&&(o=o.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=f,this.edges=[],this.graphManager=o,d!=null&&e!=null?this.rect=new r(e.x,e.y,d.width,d.height):this.rect=new r}T(n,"LNode"),n.prototype=Object.create(g.prototype);for(var v in g)n[v]=g[v];n.prototype.getEdges=function(){return this.edges},n.prototype.getChild=function(){return this.child},n.prototype.getOwner=function(){return this.owner},n.prototype.getWidth=function(){return this.rect.width},n.prototype.setWidth=function(o){this.rect.width=o},n.prototype.getHeight=function(){return this.rect.height},n.prototype.setHeight=function(o){this.rect.height=o},n.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},n.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},n.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},n.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},n.prototype.getRect=function(){return this.rect},n.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},n.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},n.prototype.setRect=function(o,e){this.rect.x=o.x,this.rect.y=o.y,this.rect.width=e.width,this.rect.height=e.height},n.prototype.setCenter=function(o,e){this.rect.x=o-this.rect.width/2,this.rect.y=e-this.rect.height/2},n.prototype.setLocation=function(o,e){this.rect.x=o,this.rect.y=e},n.prototype.moveBy=function(o,e){this.rect.x+=o,this.rect.y+=e},n.prototype.getEdgeListToNode=function(o){var e=[],d=this;return d.edges.forEach(function(f){if(f.target==o){if(f.source!=d)throw"Incorrect edge source!";e.push(f)}}),e},n.prototype.getEdgesBetween=function(o){var e=[],d=this;return d.edges.forEach(function(f){if(!(f.source==d||f.target==d))throw"Incorrect edge source and/or target";(f.target==o||f.source==o)&&e.push(f)}),e},n.prototype.getNeighborsList=function(){var o=new Set,e=this;return e.edges.forEach(function(d){if(d.source==e)o.add(d.target);else{if(d.target!=e)throw"Incorrect incidency!";o.add(d.source)}}),o},n.prototype.withChildren=function(){var o=new Set,e,d;if(o.add(this),this.child!=null)for(var f=this.child.getNodes(),l=0;le?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(e+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(d+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>d?(this.rect.y-=(this.labelHeight-d)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(d+this.labelHeight))}}},n.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},n.prototype.transform=function(o){var e=this.rect.x;e>i.WORLD_BOUNDARY?e=i.WORLD_BOUNDARY:e<-i.WORLD_BOUNDARY&&(e=-i.WORLD_BOUNDARY);var d=this.rect.y;d>i.WORLD_BOUNDARY?d=i.WORLD_BOUNDARY:d<-i.WORLD_BOUNDARY&&(d=-i.WORLD_BOUNDARY);var f=new h(e,d),l=o.inverseTransformPoint(f);this.setLocation(l.x,l.y)},n.prototype.getLeft=function(){return this.rect.x},n.prototype.getRight=function(){return this.rect.x+this.rect.width},n.prototype.getTop=function(){return this.rect.y},n.prototype.getBottom=function(){return this.rect.y+this.rect.height},n.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},C.exports=n},function(C,G,A){var g=A(0);function s(){}T(s,"FDLayoutConstants");for(var r in g)s[r]=g[r];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,C.exports=s},function(C,G,A){function g(s,r){s==null&&r==null?(this.x=0,this.y=0):(this.x=s,this.y=r)}T(g,"PointD"),g.prototype.getX=function(){return this.x},g.prototype.getY=function(){return this.y},g.prototype.setX=function(s){this.x=s},g.prototype.setY=function(s){this.y=s},g.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},g.prototype.getCopy=function(){return new g(this.x,this.y)},g.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},C.exports=g},function(C,G,A){var g=A(2),s=A(10),r=A(0),i=A(7),t=A(3),h=A(1),n=A(13),v=A(12),o=A(11);function e(f,l,N){g.call(this,N),this.estimatedSize=s.MIN_VALUE,this.margin=r.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=f,l!=null&&l instanceof i?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}T(e,"LGraph"),e.prototype=Object.create(g.prototype);for(var d in g)e[d]=g[d];e.prototype.getNodes=function(){return this.nodes},e.prototype.getEdges=function(){return this.edges},e.prototype.getGraphManager=function(){return this.graphManager},e.prototype.getParent=function(){return this.parent},e.prototype.getLeft=function(){return this.left},e.prototype.getRight=function(){return this.right},e.prototype.getTop=function(){return this.top},e.prototype.getBottom=function(){return this.bottom},e.prototype.isConnected=function(){return this.isConnected},e.prototype.add=function(f,l,N){if(l==null&&N==null){var c=f;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(c)>-1)throw"Node already in graph!";return c.owner=this,this.getNodes().push(c),c}else{var E=f;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(N)>-1))throw"Source or target not in graph!";if(!(l.owner==N.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=N.owner?null:(E.source=l,E.target=N,E.isInterGraph=!1,this.getEdges().push(E),l.edges.push(E),N!=l&&N.edges.push(E),E)}},e.prototype.remove=function(f){var l=f;if(f instanceof t){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var N=l.edges.slice(),c,E=N.length,_=0;_-1&&z>-1))throw"Source and/or target doesn't know this edge!";c.source.edges.splice(X,1),c.target!=c.source&&c.target.edges.splice(z,1);var L=c.source.owner.getEdges().indexOf(c);if(L==-1)throw"Not in owner's edge list!";c.source.owner.getEdges().splice(L,1)}},e.prototype.updateLeftTop=function(){for(var f=s.MAX_VALUE,l=s.MAX_VALUE,N,c,E,_=this.getNodes(),L=_.length,X=0;XN&&(f=N),l>c&&(l=c)}return f==s.MAX_VALUE?null:(_[0].getParent().paddingLeft!=null?E=_[0].getParent().paddingLeft:E=this.margin,this.left=l-E,this.top=f-E,new v(this.left,this.top))},e.prototype.updateBounds=function(f){for(var l=s.MAX_VALUE,N=-s.MAX_VALUE,c=s.MAX_VALUE,E=-s.MAX_VALUE,_,L,X,z,V,B=this.nodes,q=B.length,x=0;x_&&(l=_),NX&&(c=X),E_&&(l=_),NX&&(c=X),E=this.nodes.length){var q=0;N.forEach(function(x){x.owner==f&&q++}),q==this.nodes.length&&(this.isConnected=!0)}},C.exports=e},function(C,G,A){var g,s=A(1);function r(i){g=A(6),this.layout=i,this.graphs=[],this.edges=[]}T(r,"LGraphManager"),r.prototype.addRoot=function(){var i=this.layout.newGraph(),t=this.layout.newNode(null),h=this.add(i,t);return this.setRootGraph(h),this.rootGraph},r.prototype.add=function(i,t,h,n,v){if(h==null&&n==null&&v==null){if(i==null)throw"Graph is null!";if(t==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(t.child!=null)throw"Already has a child!";return i.parent=t,t.child=i,i}else{v=h,n=t,h=i;var o=n.getOwner(),e=v.getOwner();if(!(o!=null&&o.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(e!=null&&e.getGraphManager()==this))throw"Target not in this graph mgr!";if(o==e)return h.isInterGraph=!1,o.add(h,n,v);if(h.isInterGraph=!0,h.source=n,h.target=v,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},r.prototype.remove=function(i){if(i instanceof g){var t=i;if(t.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(t==this.rootGraph||t.parent!=null&&t.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(t.getEdges());for(var n,v=h.length,o=0;o=i.getRight()?t[0]+=Math.min(i.getX()-r.getX(),r.getRight()-i.getRight()):i.getX()<=r.getX()&&i.getRight()>=r.getRight()&&(t[0]+=Math.min(r.getX()-i.getX(),i.getRight()-r.getRight())),r.getY()<=i.getY()&&r.getBottom()>=i.getBottom()?t[1]+=Math.min(i.getY()-r.getY(),r.getBottom()-i.getBottom()):i.getY()<=r.getY()&&i.getBottom()>=r.getBottom()&&(t[1]+=Math.min(r.getY()-i.getY(),i.getBottom()-r.getBottom()));var v=Math.abs((i.getCenterY()-r.getCenterY())/(i.getCenterX()-r.getCenterX()));i.getCenterY()===r.getCenterY()&&i.getCenterX()===r.getCenterX()&&(v=1);var o=v*t[0],e=t[1]/v;t[0]o)return t[0]=h,t[1]=d,t[2]=v,t[3]=B,!1;if(nv)return t[0]=e,t[1]=n,t[2]=z,t[3]=o,!1;if(hv?(t[0]=l,t[1]=N,a=!0):(t[0]=f,t[1]=d,a=!0):p===u&&(h>v?(t[0]=e,t[1]=d,a=!0):(t[0]=c,t[1]=N,a=!0)),-m===u?v>h?(t[2]=V,t[3]=B,y=!0):(t[2]=z,t[3]=X,y=!0):m===u&&(v>h?(t[2]=L,t[3]=X,y=!0):(t[2]=q,t[3]=B,y=!0)),a&&y)return!1;if(h>v?n>o?(D=this.getCardinalDirection(p,u,4),O=this.getCardinalDirection(m,u,2)):(D=this.getCardinalDirection(-p,u,3),O=this.getCardinalDirection(-m,u,1)):n>o?(D=this.getCardinalDirection(-p,u,1),O=this.getCardinalDirection(-m,u,3)):(D=this.getCardinalDirection(p,u,2),O=this.getCardinalDirection(m,u,4)),!a)switch(D){case 1:k=d,M=h+-_/u,t[0]=M,t[1]=k;break;case 2:M=c,k=n+E*u,t[0]=M,t[1]=k;break;case 3:k=N,M=h+_/u,t[0]=M,t[1]=k;break;case 4:M=l,k=n+-E*u,t[0]=M,t[1]=k;break}if(!y)switch(O){case 1:W=X,U=v+-nt/u,t[2]=U,t[3]=W;break;case 2:U=q,W=o+x*u,t[2]=U,t[3]=W;break;case 3:W=B,U=v+nt/u,t[2]=U,t[3]=W;break;case 4:U=V,W=o+-x*u,t[2]=U,t[3]=W;break}}return!1},s.getCardinalDirection=function(r,i,t){return r>i?t:1+t%4},s.getIntersection=function(r,i,t,h){if(h==null)return this.getIntersection2(r,i,t);var n=r.x,v=r.y,o=i.x,e=i.y,d=t.x,f=t.y,l=h.x,N=h.y,c=void 0,E=void 0,_=void 0,L=void 0,X=void 0,z=void 0,V=void 0,B=void 0,q=void 0;return _=e-v,X=n-o,V=o*v-n*e,L=N-f,z=d-l,B=l*f-d*N,q=_*z-L*X,q===0?null:(c=(X*B-z*V)/q,E=(L*V-_*B)/q,new g(c,E))},s.angleOfVector=function(r,i,t,h){var n=void 0;return r!==t?(n=Math.atan((h-i)/(t-r)),t=0){var N=(-d+Math.sqrt(d*d-4*e*f))/(2*e),c=(-d-Math.sqrt(d*d-4*e*f))/(2*e),E=null;return N>=0&&N<=1?[N]:c>=0&&c<=1?[c]:E}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,C.exports=s},function(C,G,A){function g(){}T(g,"IMath"),g.sign=function(s){return s>0?1:s<0?-1:0},g.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},g.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},C.exports=g},function(C,G,A){function g(){}T(g,"Integer"),g.MAX_VALUE=2147483647,g.MIN_VALUE=-2147483648,C.exports=g},function(C,G,A){var g=function(){function n(v,o){for(var e=0;e"u"?"undefined":g(r);return r==null||i!="object"&&i!="function"},C.exports=s},function(C,G,A){function g(d){if(Array.isArray(d)){for(var f=0,l=Array(d.length);f0&&f;){for(_.push(X[0]);_.length>0&&f;){var z=_[0];_.splice(0,1),E.add(z);for(var V=z.getEdges(),c=0;c-1&&X.splice(nt,1)}E=new Set,L=new Map}}return d},e.prototype.createDummyNodesForBendpoints=function(d){for(var f=[],l=d.source,N=this.graphManager.calcLowestCommonAncestor(d.source,d.target),c=0;c0){for(var N=this.edgeToDummyNodes.get(l),c=0;c=0&&f.splice(B,1);var q=L.getNeighborsList();q.forEach(function(a){if(l.indexOf(a)<0){var y=N.get(a),p=y-1;p==1&&z.push(a),N.set(a,p)}})}l=l.concat(z),(f.length==1||f.length==2)&&(c=!0,E=f[0])}return E},e.prototype.setGraphManager=function(d){this.graphManager=d},C.exports=e},function(C,G,A){function g(){}T(g,"RandomSeed"),g.seed=1,g.x=0,g.nextDouble=function(){return g.x=Math.sin(g.seed++)*1e4,g.x-Math.floor(g.x)},C.exports=g},function(C,G,A){var g=A(5);function s(r,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}T(s,"Transform"),s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(r){this.lworldOrgX=r},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(r){this.lworldOrgY=r},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(r){this.lworldExtX=r},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(r){this.lworldExtY=r},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(r){this.ldeviceOrgX=r},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(r){this.ldeviceOrgY=r},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(r){this.ldeviceExtX=r},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(r){this.ldeviceExtY=r},s.prototype.transformX=function(r){var i=0,t=this.lworldExtX;return t!=0&&(i=this.ldeviceOrgX+(r-this.lworldOrgX)*this.ldeviceExtX/t),i},s.prototype.transformY=function(r){var i=0,t=this.lworldExtY;return t!=0&&(i=this.ldeviceOrgY+(r-this.lworldOrgY)*this.ldeviceExtY/t),i},s.prototype.inverseTransformX=function(r){var i=0,t=this.ldeviceExtX;return t!=0&&(i=this.lworldOrgX+(r-this.ldeviceOrgX)*this.lworldExtX/t),i},s.prototype.inverseTransformY=function(r){var i=0,t=this.ldeviceExtY;return t!=0&&(i=this.lworldOrgY+(r-this.ldeviceOrgY)*this.lworldExtY/t),i},s.prototype.inverseTransformPoint=function(r){var i=new g(this.inverseTransformX(r.x),this.inverseTransformY(r.y));return i},C.exports=s},function(C,G,A){function g(o){if(Array.isArray(o)){for(var e=0,d=Array(o.length);er.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*r.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(o-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-r.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT_INCREMENTAL):(o>r.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(r.COOLING_ADAPTATION_FACTOR,1-(o-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*(1-r.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*r.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},n.prototype.calcSpringForces=function(){for(var o=this.getAllEdges(),e,d=0;d0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,d,f,l,N,c=this.getAllNodes(),E;if(this.useFRGridVariant)for(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),E=new Set,d=0;d_||E>_)&&(o.gravitationForceX=-this.gravityConstant*l,o.gravitationForceY=-this.gravityConstant*N)):(_=e.getEstimatedSize()*this.compoundGravityRangeFactor,(c>_||E>_)&&(o.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,o.gravitationForceY=-this.gravityConstant*N*this.compoundGravityConstant))},n.prototype.isConverged=function(){var o,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),o=this.totalDisplacement=c.length||_>=c[0].length)){for(var L=0;Lh},"_defaultCompareFunction")}]),t}();C.exports=i},function(C,G,A){function g(){}T(g,"SVD"),g.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var r=Math.min(this.m,this.n);this.s=function(At){for(var wt=[];At-- >0;)wt.push(0);return wt}(Math.min(this.m+1,this.n)),this.U=function(At){var wt=T(function Ft(Pt){if(Pt.length==0)return 0;for(var Bt=[],qt=0;qt0;)wt.push(0);return wt}(this.n),t=function(At){for(var wt=[];At-- >0;)wt.push(0);return wt}(this.m),h=!0,n=!0,v=Math.min(this.m-1,this.n),o=Math.max(0,Math.min(this.n-2,this.m)),e=0;e=0;u--)if(this.s[u]!==0){for(var D=u+1;D=0;Y--){if(function(At,wt){return At&&wt}(Y0;){var S=void 0,rt=void 0;for(S=y-2;S>=-1&&S!==-1;S--)if(Math.abs(i[S])<=Dt+It*(Math.abs(this.s[S])+Math.abs(this.s[S+1]))){i[S]=0;break}if(S===y-2)rt=4;else{var ht=void 0;for(ht=y-1;ht>=S&&ht!==S;ht--){var mt=(ht!==y?Math.abs(i[ht]):0)+(ht!==S+1?Math.abs(i[ht-1]):0);if(Math.abs(this.s[ht])<=Dt+It*mt){this.s[ht]=0;break}}ht===S?rt=3:ht===y-1?rt=1:(rt=2,S=ht)}switch(S++,rt){case 1:{var Ct=i[y-2];i[y-2]=0;for(var yt=y-2;yt>=S;yt--){var Et=g.hypot(this.s[yt],Ct),xt=this.s[yt]/Et,Vt=Ct/Et;if(this.s[yt]=Et,yt!==S&&(Ct=-Vt*i[yt-1],i[yt-1]=xt*i[yt-1]),n)for(var Ut=0;Ut=this.s[S+1]);){var bt=this.s[S];if(this.s[S]=this.s[S+1],this.s[S+1]=bt,n&&SMath.abs(r)?(i=r/s,i=Math.abs(s)*Math.sqrt(1+i*i)):r!=0?(i=s/r,i=Math.abs(r)*Math.sqrt(1+i*i)):i=0,i},C.exports=g},function(C,G,A){var g=function(){function i(t,h){for(var n=0;n2&&arguments[2]!==void 0?arguments[2]:1,v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,i),this.sequence1=t,this.sequence2=h,this.match_score=n,this.mismatch_penalty=v,this.gap_penalty=o,this.iMax=t.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var e=0;e=0;t--){var h=this.listeners[t];h.event===r&&h.callback===i&&this.listeners.splice(t,1)}},s.emit=function(r,i){for(var t=0;t{T(function(C,G){typeof w=="object"&&typeof H=="object"?H.exports=G(_e()):typeof define=="function"&&define.amd?define(["layout-base"],G):typeof w=="object"?w.coseBase=G(_e()):C.coseBase=G(C.layoutBase)},"webpackUniversalModuleDefinition")(w,function(C){return(()=>{var G={45:(r,i,t)=>{var h={};h.layoutBase=t(551),h.CoSEConstants=t(806),h.CoSEEdge=t(767),h.CoSEGraph=t(880),h.CoSEGraphManager=t(578),h.CoSELayout=t(765),h.CoSENode=t(991),h.ConstraintHandler=t(902),r.exports=h},806:(r,i,t)=>{var h=t(551).FDLayoutConstants;function n(){}T(n,"CoSEConstants");for(var v in h)n[v]=h[v];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=h.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,n.ENFORCE_CONSTRAINTS=!0,n.APPLY_LAYOUT=!0,n.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,n.TREE_REDUCTION_ON_INCREMENTAL=!0,n.PURE_INCREMENTAL=n.DEFAULT_INCREMENTAL,r.exports=n},767:(r,i,t)=>{var h=t(551).FDLayoutEdge;function n(o,e,d){h.call(this,o,e,d)}T(n,"CoSEEdge"),n.prototype=Object.create(h.prototype);for(var v in h)n[v]=h[v];r.exports=n},880:(r,i,t)=>{var h=t(551).LGraph;function n(o,e,d){h.call(this,o,e,d)}T(n,"CoSEGraph"),n.prototype=Object.create(h.prototype);for(var v in h)n[v]=h[v];r.exports=n},578:(r,i,t)=>{var h=t(551).LGraphManager;function n(o){h.call(this,o)}T(n,"CoSEGraphManager"),n.prototype=Object.create(h.prototype);for(var v in h)n[v]=h[v];r.exports=n},765:(r,i,t)=>{var h=t(551).FDLayout,n=t(578),v=t(880),o=t(991),e=t(767),d=t(806),f=t(902),l=t(551).FDLayoutConstants,N=t(551).LayoutConstants,c=t(551).Point,E=t(551).PointD,_=t(551).DimensionD,L=t(551).Layout,X=t(551).Integer,z=t(551).IGeometry,V=t(551).LGraph,B=t(551).Transform,q=t(551).LinkedList;function x(){h.call(this),this.toBeTiled={},this.constraints={}}T(x,"CoSELayout"),x.prototype=Object.create(h.prototype);for(var nt in h)x[nt]=h[nt];x.prototype.newGraphManager=function(){var a=new n(this);return this.graphManager=a,a},x.prototype.newGraph=function(a){return new v(null,this.graphManager,a)},x.prototype.newNode=function(a){return new o(this.graphManager,a)},x.prototype.newEdge=function(a){return new e(null,null,a)},x.prototype.initParameters=function(){h.prototype.initParameters.call(this,arguments),this.isSubLayout||(d.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=d.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=d.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},x.prototype.initSpringEmbedder=function(){h.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},x.prototype.layout=function(){var a=N.DEFAULT_CREATE_BENDS_AS_NEEDED;return a&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},x.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(d.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),y=this.nodesWithGravity.filter(function(m){return a.has(m)});this.graphManager.setAllNodesToApplyGravitation(y)}}else{var p=this.getFlatForest();if(p.length>0)this.positionNodesRadially(p);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),y=this.nodesWithGravity.filter(function(D){return a.has(D)});this.graphManager.setAllNodesToApplyGravitation(y),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(f.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),d.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},x.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var a=new Set(this.getAllNodes()),y=this.nodesWithGravity.filter(function(u){return a.has(u)});this.graphManager.setAllNodesToApplyGravitation(y),this.graphManager.updateBounds(),this.updateGrid(),d.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),d.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var p=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(p,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},x.prototype.getPositionsData=function(){for(var a=this.graphManager.getAllNodes(),y={},p=0;p0&&this.updateDisplacements();for(var p=0;p0&&(m.fixedNodeWeight=D)}}if(this.constraints.relativePlacementConstraint){var O=new Map,M=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(b){a.fixedNodesOnHorizontal.add(b),a.fixedNodesOnVertical.add(b)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var k=this.constraints.alignmentConstraint.vertical,p=0;p=2*b.length/3;it--)F=Math.floor(Math.random()*(it+1)),Z=b[it],b[it]=b[F],b[F]=Z;return b},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var F=O.has(b.left)?O.get(b.left):b.left,Z=O.has(b.right)?O.get(b.right):b.right;a.nodesInRelativeHorizontal.includes(F)||(a.nodesInRelativeHorizontal.push(F),a.nodeToRelativeConstraintMapHorizontal.set(F,[]),a.dummyToNodeForVerticalAlignment.has(F)?a.nodeToTempPositionMapHorizontal.set(F,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(F)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(F,a.idToNodeMap.get(F).getCenterX())),a.nodesInRelativeHorizontal.includes(Z)||(a.nodesInRelativeHorizontal.push(Z),a.nodeToRelativeConstraintMapHorizontal.set(Z,[]),a.dummyToNodeForVerticalAlignment.has(Z)?a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(a.dummyToNodeForVerticalAlignment.get(Z)[0]).getCenterX()):a.nodeToTempPositionMapHorizontal.set(Z,a.idToNodeMap.get(Z).getCenterX())),a.nodeToRelativeConstraintMapHorizontal.get(F).push({right:Z,gap:b.gap}),a.nodeToRelativeConstraintMapHorizontal.get(Z).push({left:F,gap:b.gap})}else{var it=M.has(b.top)?M.get(b.top):b.top,ut=M.has(b.bottom)?M.get(b.bottom):b.bottom;a.nodesInRelativeVertical.includes(it)||(a.nodesInRelativeVertical.push(it),a.nodeToRelativeConstraintMapVertical.set(it,[]),a.dummyToNodeForHorizontalAlignment.has(it)?a.nodeToTempPositionMapVertical.set(it,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(it)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(it,a.idToNodeMap.get(it).getCenterY())),a.nodesInRelativeVertical.includes(ut)||(a.nodesInRelativeVertical.push(ut),a.nodeToRelativeConstraintMapVertical.set(ut,[]),a.dummyToNodeForHorizontalAlignment.has(ut)?a.nodeToTempPositionMapVertical.set(ut,a.idToNodeMap.get(a.dummyToNodeForHorizontalAlignment.get(ut)[0]).getCenterY()):a.nodeToTempPositionMapVertical.set(ut,a.idToNodeMap.get(ut).getCenterY())),a.nodeToRelativeConstraintMapVertical.get(it).push({bottom:ut,gap:b.gap}),a.nodeToRelativeConstraintMapVertical.get(ut).push({top:it,gap:b.gap})}});else{var W=new Map,j=new Map;this.constraints.relativePlacementConstraint.forEach(function(b){if(b.left){var F=O.has(b.left)?O.get(b.left):b.left,Z=O.has(b.right)?O.get(b.right):b.right;W.has(F)?W.get(F).push(Z):W.set(F,[Z]),W.has(Z)?W.get(Z).push(F):W.set(Z,[F])}else{var it=M.has(b.top)?M.get(b.top):b.top,ut=M.has(b.bottom)?M.get(b.bottom):b.bottom;j.has(it)?j.get(it).push(ut):j.set(it,[ut]),j.has(ut)?j.get(ut).push(it):j.set(ut,[it])}});var Y=T(function(b,F){var Z=[],it=[],ut=new q,It=new Set,Dt=0;return b.forEach(function(S,rt){if(!It.has(rt)){Z[Dt]=[],it[Dt]=!1;var ht=rt;for(ut.push(ht),It.add(ht),Z[Dt].push(ht);ut.length!=0;){ht=ut.shift(),F.has(ht)&&(it[Dt]=!0);var mt=b.get(ht);mt.forEach(function(Ct){It.has(Ct)||(ut.push(Ct),It.add(Ct),Z[Dt].push(Ct))})}Dt++}}),{components:Z,isFixed:it}},"constructComponents"),K=Y(W,a.fixedNodesOnHorizontal);this.componentsOnHorizontal=K.components,this.fixedComponentsOnHorizontal=K.isFixed;var P=Y(j,a.fixedNodesOnVertical);this.componentsOnVertical=P.components,this.fixedComponentsOnVertical=P.isFixed}}},x.prototype.updateDisplacements=function(){var a=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(P){var b=a.idToNodeMap.get(P.nodeId);b.displacementX=0,b.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var y=this.constraints.alignmentConstraint.vertical,p=0;p1){var M;for(M=0;Mm&&(m=Math.floor(O.y)),D=Math.floor(O.x+d.DEFAULT_COMPONENT_SEPERATION)}this.transform(new E(N.WORLD_CENTER_X-O.x/2,N.WORLD_CENTER_Y-O.y/2))},x.radialLayout=function(a,y,p){var m=Math.max(this.maxDiagonalInTree(a),d.DEFAULT_RADIAL_SEPARATION);x.branchRadialLayout(y,null,0,359,0,m);var u=V.calculateBounds(a),D=new B;D.setDeviceOrgX(u.getMinX()),D.setDeviceOrgY(u.getMinY()),D.setWorldOrgX(p.x),D.setWorldOrgY(p.y);for(var O=0;O1;){var Z=F[0];F.splice(0,1);var it=j.indexOf(Z);it>=0&&j.splice(it,1),P--,Y--}y!=null?b=(j.indexOf(F[0])+1)%P:b=0;for(var ut=Math.abs(m-p)/Y,It=b;K!=Y;It=++It%P){var Dt=j[It].getOtherEnd(a);if(Dt!=y){var S=(p+K*ut)%360,rt=(S+ut)%360;x.branchRadialLayout(Dt,a,S,rt,u+D,D),K++}}},x.maxDiagonalInTree=function(a){for(var y=X.MIN_VALUE,p=0;py&&(y=u)}return y},x.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},x.prototype.groupZeroDegreeMembers=function(){var a=this,y={};this.memberGroups={},this.idToDummyNode={};for(var p=[],m=this.graphManager.getAllNodes(),u=0;u"u"&&(y[M]=[]),y[M]=y[M].concat(D)}Object.keys(y).forEach(function(k){if(y[k].length>1){var U="DummyCompound_"+k;a.memberGroups[U]=y[k];var W=y[k][0].getParent(),j=new o(a.graphManager);j.id=U,j.paddingLeft=W.paddingLeft||0,j.paddingRight=W.paddingRight||0,j.paddingBottom=W.paddingBottom||0,j.paddingTop=W.paddingTop||0,a.idToDummyNode[U]=j;var Y=a.getGraphManager().add(a.newGraph(),j),K=W.getChild();K.add(j);for(var P=0;Pu?(m.rect.x-=(m.labelWidth-u)/2,m.setWidth(m.labelWidth),m.labelMarginLeft=(m.labelWidth-u)/2):m.labelPosHorizontal=="right"&&m.setWidth(u+m.labelWidth)),m.labelHeight&&(m.labelPosVertical=="top"?(m.rect.y-=m.labelHeight,m.setHeight(D+m.labelHeight),m.labelMarginTop=m.labelHeight):m.labelPosVertical=="center"&&m.labelHeight>D?(m.rect.y-=(m.labelHeight-D)/2,m.setHeight(m.labelHeight),m.labelMarginTop=(m.labelHeight-D)/2):m.labelPosVertical=="bottom"&&m.setHeight(D+m.labelHeight))}})},x.prototype.repopulateCompounds=function(){for(var a=this.compoundOrder.length-1;a>=0;a--){var y=this.compoundOrder[a],p=y.id,m=y.paddingLeft,u=y.paddingTop,D=y.labelMarginLeft,O=y.labelMarginTop;this.adjustLocations(this.tiledMemberPack[p],y.rect.x,y.rect.y,m,u,D,O)}},x.prototype.repopulateZeroDegreeMembers=function(){var a=this,y=this.tiledZeroDegreePack;Object.keys(y).forEach(function(p){var m=a.idToDummyNode[p],u=m.paddingLeft,D=m.paddingTop,O=m.labelMarginLeft,M=m.labelMarginTop;a.adjustLocations(y[p],m.rect.x,m.rect.y,u,D,O,M)})},x.prototype.getToBeTiled=function(a){var y=a.id;if(this.toBeTiled[y]!=null)return this.toBeTiled[y];var p=a.getChild();if(p==null)return this.toBeTiled[y]=!1,!1;for(var m=p.getNodes(),u=0;u0)return this.toBeTiled[y]=!1,!1;if(D.getChild()==null){this.toBeTiled[D.id]=!1;continue}if(!this.getToBeTiled(D))return this.toBeTiled[y]=!1,!1}return this.toBeTiled[y]=!0,!0},x.prototype.getNodeDegree=function(a){for(var y=a.id,p=a.getEdges(),m=0,u=0;uW&&(W=Y.rect.height)}p+=W+a.verticalPadding}},x.prototype.tileCompoundMembers=function(a,y){var p=this;this.tiledMemberPack=[],Object.keys(a).forEach(function(m){var u=y[m];if(p.tiledMemberPack[m]=p.tileNodes(a[m],u.paddingLeft+u.paddingRight),u.rect.width=p.tiledMemberPack[m].width,u.rect.height=p.tiledMemberPack[m].height,u.setCenter(p.tiledMemberPack[m].centerX,p.tiledMemberPack[m].centerY),u.labelMarginLeft=0,u.labelMarginTop=0,d.NODE_DIMENSIONS_INCLUDE_LABELS){var D=u.rect.width,O=u.rect.height;u.labelWidth&&(u.labelPosHorizontal=="left"?(u.rect.x-=u.labelWidth,u.setWidth(D+u.labelWidth),u.labelMarginLeft=u.labelWidth):u.labelPosHorizontal=="center"&&u.labelWidth>D?(u.rect.x-=(u.labelWidth-D)/2,u.setWidth(u.labelWidth),u.labelMarginLeft=(u.labelWidth-D)/2):u.labelPosHorizontal=="right"&&u.setWidth(D+u.labelWidth)),u.labelHeight&&(u.labelPosVertical=="top"?(u.rect.y-=u.labelHeight,u.setHeight(O+u.labelHeight),u.labelMarginTop=u.labelHeight):u.labelPosVertical=="center"&&u.labelHeight>O?(u.rect.y-=(u.labelHeight-O)/2,u.setHeight(u.labelHeight),u.labelMarginTop=(u.labelHeight-O)/2):u.labelPosVertical=="bottom"&&u.setHeight(O+u.labelHeight))}})},x.prototype.tileNodes=function(a,y){var p=this.tileNodesByFavoringDim(a,y,!0),m=this.tileNodesByFavoringDim(a,y,!1),u=this.getOrgRatio(p),D=this.getOrgRatio(m),O;return DM&&(M=P.getWidth())});var k=D/u,U=O/u,W=Math.pow(p-m,2)+4*(k+m)*(U+p)*u,j=(m-p+Math.sqrt(W))/(2*(k+m)),Y;y?(Y=Math.ceil(j),Y==j&&Y++):Y=Math.floor(j);var K=Y*(k+m)-m;return M>K&&(K=M),K+=m*2,K},x.prototype.tileNodesByFavoringDim=function(a,y,p){var m=d.TILING_PADDING_VERTICAL,u=d.TILING_PADDING_HORIZONTAL,D=d.TILING_COMPARE_BY,O={rows:[],rowWidth:[],rowHeight:[],width:0,height:y,verticalPadding:m,horizontalPadding:u,centerX:0,centerY:0};D&&(O.idealRowWidth=this.calcIdealRowWidth(a,p));var M=T(function(P){return P.rect.width*P.rect.height},"getNodeArea"),k=T(function(P,b){return M(b)-M(P)},"areaCompareFcn");a.sort(function(P,b){var F=k;return O.idealRowWidth?(F=D,F(P.id,b.id)):F(P,b)});for(var U=0,W=0,j=0;j0&&(O+=a.horizontalPadding),a.rowWidth[p]=O,a.width0&&(M+=a.verticalPadding);var k=0;M>a.rowHeight[p]&&(k=a.rowHeight[p],a.rowHeight[p]=M,k=a.rowHeight[p]-k),a.height+=k,a.rows[p].push(y)},x.prototype.getShortestRowIndex=function(a){for(var y=-1,p=Number.MAX_VALUE,m=0;mp&&(y=m,p=a.rowWidth[m]);return y},x.prototype.canAddHorizontal=function(a,y,p){if(a.idealRowWidth){var m=a.rows.length-1,u=a.rowWidth[m];return u+y+a.horizontalPadding<=a.idealRowWidth}var D=this.getShortestRowIndex(a);if(D<0)return!0;var O=a.rowWidth[D];if(O+a.horizontalPadding+y<=a.width)return!0;var M=0;a.rowHeight[D]0&&(M=p+a.verticalPadding-a.rowHeight[D]);var k;a.width-O>=y+a.horizontalPadding?k=(a.height+M)/(O+y+a.horizontalPadding):k=(a.height+M)/a.width,M=p+a.verticalPadding;var U;return a.widthD&&y!=p){m.splice(-1,1),a.rows[p].push(u),a.rowWidth[y]=a.rowWidth[y]-D,a.rowWidth[p]=a.rowWidth[p]+D,a.width=a.rowWidth[instance.getLongestRowIndex(a)];for(var O=Number.MIN_VALUE,M=0;MO&&(O=m[M].height);y>0&&(O+=a.verticalPadding);var k=a.rowHeight[y]+a.rowHeight[p];a.rowHeight[y]=O,a.rowHeight[p]0)for(var K=u;K<=D;K++)Y[0]+=this.grid[K][O-1].length+this.grid[K][O].length-1;if(D0)for(var K=O;K<=M;K++)Y[3]+=this.grid[u-1][K].length+this.grid[u][K].length-1;for(var P=X.MAX_VALUE,b,F,Z=0;Z{var h=t(551).FDLayoutNode,n=t(551).IMath;function v(e,d,f,l){h.call(this,e,d,f,l)}T(v,"CoSENode"),v.prototype=Object.create(h.prototype);for(var o in h)v[o]=h[o];v.prototype.calculateDisplacement=function(){var e=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementX=e.coolingFactor*e.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementY=e.coolingFactor*e.maxNodeDisplacement*n.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},v.prototype.propogateDisplacementToChildren=function(e,d){for(var f=this.getChild().getNodes(),l,N=0;N{function h(f){if(Array.isArray(f)){for(var l=0,N=Array(f.length);l0){var at=0;st.forEach(function(ft){R=="horizontal"?(tt.set(ft,c.has(ft)?E[c.get(ft)]:J.get(ft)),at+=tt.get(ft)):(tt.set(ft,c.has(ft)?_[c.get(ft)]:J.get(ft)),at+=tt.get(ft))}),at=at/st.length,ot.forEach(function(ft){$.has(ft)||tt.set(ft,at)})}else{var Tt=0;ot.forEach(function(ft){R=="horizontal"?Tt+=c.has(ft)?E[c.get(ft)]:J.get(ft):Tt+=c.has(ft)?_[c.get(ft)]:J.get(ft)}),Tt=Tt/ot.length,ot.forEach(function(ft){tt.set(ft,Tt)})}});for(var _t=T(function(){var ot=Nt.shift(),st=I.get(ot);st.forEach(function(at){if(tt.get(at.id)ft&&(ft=Pt),Btbt&&(bt=Bt)}}catch(Kt){Gt=!0,jt=Kt}finally{try{!Rt&&At.return&&At.return()}finally{if(Gt)throw jt}}var qt=(at+ft)/2-(Tt+bt)/2,ne=!0,Qt=!1,te=void 0;try{for(var Jt=ot[Symbol.iterator](),ee;!(ne=(ee=Jt.next()).done);ne=!0){var ae=ee.value;tt.set(ae,tt.get(ae)+qt)}}catch(Kt){Qt=!0,te=Kt}finally{try{!ne&&Jt.return&&Jt.return()}finally{if(Qt)throw te}}})}return tt},"findAppropriatePositionForRelativePlacement"),nt=T(function(I){var R=0,$=0,J=0,Q=0;if(I.forEach(function(gt){gt.left?E[c.get(gt.left)]-E[c.get(gt.right)]>=0?R++:$++:_[c.get(gt.top)]-_[c.get(gt.bottom)]>=0?J++:Q++}),R>$&&J>Q)for(var pt=0;pt$)for(var dt=0;dtQ)for(var tt=0;tt1)l.fixedNodeConstraint.forEach(function(I,R){m[R]=[I.position.x,I.position.y],u[R]=[E[c.get(I.nodeId)],_[c.get(I.nodeId)]]}),D=!0;else if(l.alignmentConstraint)(function(){var I=0;if(l.alignmentConstraint.vertical){for(var R=l.alignmentConstraint.vertical,$=T(function(tt){var gt=new Set;R[tt].forEach(function(et){gt.add(et)});var Nt=new Set([].concat(h(gt)).filter(function(et){return M.has(et)})),_t=void 0;Nt.size>0?_t=E[c.get(Nt.values().next().value)]:_t=q(gt).x,R[tt].forEach(function(et){m[I]=[_t,_[c.get(et)]],u[I]=[E[c.get(et)],_[c.get(et)]],I++})},"_loop2"),J=0;J0?_t=E[c.get(Nt.values().next().value)]:_t=q(gt).y,Q[tt].forEach(function(et){m[I]=[E[c.get(et)],_t],u[I]=[E[c.get(et)],_[c.get(et)]],I++})},"_loop3"),dt=0;dtj&&(j=W[K].length,Y=K);if(j0){var xt={x:0,y:0};l.fixedNodeConstraint.forEach(function(I,R){var $={x:E[c.get(I.nodeId)],y:_[c.get(I.nodeId)]},J=I.position,Q=B(J,$);xt.x+=Q.x,xt.y+=Q.y}),xt.x/=l.fixedNodeConstraint.length,xt.y/=l.fixedNodeConstraint.length,E.forEach(function(I,R){E[R]+=xt.x}),_.forEach(function(I,R){_[R]+=xt.y}),l.fixedNodeConstraint.forEach(function(I){E[c.get(I.nodeId)]=I.position.x,_[c.get(I.nodeId)]=I.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var Vt=l.alignmentConstraint.vertical,Ut=T(function(I){var R=new Set;Vt[I].forEach(function(Q){R.add(Q)});var $=new Set([].concat(h(R)).filter(function(Q){return M.has(Q)})),J=void 0;$.size>0?J=E[c.get($.values().next().value)]:J=q(R).x,R.forEach(function(Q){M.has(Q)||(E[c.get(Q)]=J)})},"_loop4"),kt=0;kt0?J=_[c.get($.values().next().value)]:J=q(R).y,R.forEach(function(Q){M.has(Q)||(_[c.get(Q)]=J)})},"_loop5"),Yt=0;Yt{r.exports=C}},A={};function g(r){var i=A[r];if(i!==void 0)return i.exports;var t=A[r]={exports:{}};return G[r](t,t.exports,g),t.exports}T(g,"__webpack_require__");var s=g(45);return s})()})}),ai=me((w,H)=>{T(function(C,G){typeof w=="object"&&typeof H=="object"?H.exports=G(Le()):typeof define=="function"&&define.amd?define(["cose-base"],G):typeof w=="object"?w.cytoscapeFcose=G(Le()):C.cytoscapeFcose=G(C.coseBase)},"webpackUniversalModuleDefinition")(w,function(C){return(()=>{var G={658:r=>{r.exports=Object.assign!=null?Object.assign.bind(Object):function(i){for(var t=arguments.length,h=Array(t>1?t-1:0),n=1;n{var h=function(){function o(e,d){var f=[],l=!0,N=!1,c=void 0;try{for(var E=e[Symbol.iterator](),_;!(l=(_=E.next()).done)&&(f.push(_.value),!(d&&f.length===d));l=!0);}catch(L){N=!0,c=L}finally{try{!l&&E.return&&E.return()}finally{if(N)throw c}}return f}return T(o,"sliceIterator"),function(e,d){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return o(e,d);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),n=t(140).layoutBase.LinkedList,v={};v.getTopMostNodes=function(o){for(var e={},d=0;d0&&m.merge(M)});for(var u=0;u1){_=c[0],L=_.connectedEdges().length,c.forEach(function(m){m.connectedEdges().length0&&f.set("dummy"+(f.size+1),V),B},v.relocateComponent=function(o,e,d){if(!d.fixedNodeConstraint){var f=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,N=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY;if(d.quality=="draft"){var E=!0,_=!1,L=void 0;try{for(var X=e.nodeIndexes[Symbol.iterator](),z;!(E=(z=X.next()).done);E=!0){var V=z.value,B=h(V,2),q=B[0],x=B[1],nt=d.cy.getElementById(q);if(nt){var a=nt.boundingBox(),y=e.xCoords[x]-a.w/2,p=e.xCoords[x]+a.w/2,m=e.yCoords[x]-a.h/2,u=e.yCoords[x]+a.h/2;yl&&(l=p),mc&&(c=u)}}}catch(U){_=!0,L=U}finally{try{!E&&X.return&&X.return()}finally{if(_)throw L}}var D=o.x-(l+f)/2,O=o.y-(c+N)/2;e.xCoords=e.xCoords.map(function(U){return U+D}),e.yCoords=e.yCoords.map(function(U){return U+O})}else{Object.keys(e).forEach(function(U){var W=e[U],j=W.getRect().x,Y=W.getRect().x+W.getRect().width,K=W.getRect().y,P=W.getRect().y+W.getRect().height;jl&&(l=Y),Kc&&(c=P)});var M=o.x-(l+f)/2,k=o.y-(c+N)/2;Object.keys(e).forEach(function(U){var W=e[U];W.setCenter(W.getCenterX()+M,W.getCenterY()+k)})}}},v.calcBoundingBox=function(o,e,d,f){for(var l=Number.MAX_SAFE_INTEGER,N=Number.MIN_SAFE_INTEGER,c=Number.MAX_SAFE_INTEGER,E=Number.MIN_SAFE_INTEGER,_=void 0,L=void 0,X=void 0,z=void 0,V=o.descendants().not(":parent"),B=V.length,q=0;q_&&(l=_),NX&&(c=X),E{var h=t(548),n=t(140).CoSELayout,v=t(140).CoSENode,o=t(140).layoutBase.PointD,e=t(140).layoutBase.DimensionD,d=t(140).layoutBase.LayoutConstants,f=t(140).layoutBase.FDLayoutConstants,l=t(140).CoSEConstants,N=T(function(c,E){var _=c.cy,L=c.eles,X=L.nodes(),z=L.edges(),V=void 0,B=void 0,q=void 0,x={};c.randomize&&(V=E.nodeIndexes,B=E.xCoords,q=E.yCoords);var nt=T(function(M){return typeof M=="function"},"isFn"),a=T(function(M,k){return nt(M)?M(k):M},"optFn"),y=h.calcParentsWithoutChildren(_,L),p=T(function M(k,U,W,j){for(var Y=U.length,K=0;K0){var ut=void 0;ut=W.getGraphManager().add(W.newGraph(),F),M(ut,b,W,j)}}},"processChildrenList"),m=T(function(M,k,U){for(var W=0,j=0,Y=0;Y0?l.DEFAULT_EDGE_LENGTH=f.DEFAULT_EDGE_LENGTH=W/j:nt(c.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=f.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=f.DEFAULT_EDGE_LENGTH=c.idealEdgeLength,l.MIN_REPULSION_DIST=f.MIN_REPULSION_DIST=f.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH)},"processEdges"),u=T(function(M,k){k.fixedNodeConstraint&&(M.constraints.fixedNodeConstraint=k.fixedNodeConstraint),k.alignmentConstraint&&(M.constraints.alignmentConstraint=k.alignmentConstraint),k.relativePlacementConstraint&&(M.constraints.relativePlacementConstraint=k.relativePlacementConstraint)},"processConstraints");c.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=f.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.nestingFactor),c.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=f.DEFAULT_GRAVITY_STRENGTH=c.gravity),c.numIter!=null&&(l.MAX_ITERATIONS=f.MAX_ITERATIONS=c.numIter),c.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=f.DEFAULT_GRAVITY_RANGE_FACTOR=c.gravityRange),c.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=f.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.gravityCompound),c.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.gravityRangeCompound),c.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=f.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.initialEnergyOnIncremental),c.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=c.tilingCompareBy),c.quality=="proof"?d.QUALITY=2:d.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=f.NODE_DIMENSIONS_INCLUDE_LABELS=d.NODE_DIMENSIONS_INCLUDE_LABELS=c.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=f.DEFAULT_INCREMENTAL=d.DEFAULT_INCREMENTAL=!c.randomize,l.ANIMATE=f.ANIMATE=d.ANIMATE=c.animate,l.TILE=c.tile,l.TILING_PADDING_VERTICAL=typeof c.tilingPaddingVertical=="function"?c.tilingPaddingVertical.call():c.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof c.tilingPaddingHorizontal=="function"?c.tilingPaddingHorizontal.call():c.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=f.DEFAULT_INCREMENTAL=d.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!c.randomize,d.DEFAULT_UNIFORM_LEAF_NODE_SIZES=c.uniformNodeDimensions,c.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),c.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),c.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),c.step=="all"&&(c.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),c.fixedNodeConstraint||c.alignmentConstraint||c.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new n,O=D.newGraphManager();return p(O.addRoot(),h.getTopMostNodes(X),D,c),m(D,O,z),u(D,c),D.runLayout(),x},"coseLayout");r.exports={coseLayout:N}},212:(r,i,t)=>{var h=function(){function E(_,L){for(var X=0;X0)if(y){var p=o.getTopMostNodes(L.eles.nodes());if(q=o.connectComponents(X,L.eles,p),q.forEach(function(S){var rt=S.boundingBox();x.push({x:rt.x1+rt.w/2,y:rt.y1+rt.h/2})}),L.randomize&&q.forEach(function(S){L.eles=S,V.push(d(L))}),L.quality=="default"||L.quality=="proof"){var m=X.collection();if(L.tile){var u=new Map,D=[],O=[],M=0,k={nodeIndexes:u,xCoords:D,yCoords:O},U=[];if(q.forEach(function(S,rt){S.edges().length==0&&(S.nodes().forEach(function(ht,mt){m.merge(S.nodes()[mt]),ht.isParent()||(k.nodeIndexes.set(S.nodes()[mt].id(),M++),k.xCoords.push(S.nodes()[0].position().x),k.yCoords.push(S.nodes()[0].position().y))}),U.push(rt))}),m.length>1){var W=m.boundingBox();x.push({x:W.x1+W.w/2,y:W.y1+W.h/2}),q.push(m),V.push(k);for(var j=U.length-1;j>=0;j--)q.splice(U[j],1),V.splice(U[j],1),x.splice(U[j],1)}}q.forEach(function(S,rt){L.eles=S,B.push(l(L,V[rt])),o.relocateComponent(x[rt],B[rt],L)})}else q.forEach(function(S,rt){o.relocateComponent(x[rt],V[rt],L)});var Y=new Set;if(q.length>1){var K=[],P=z.filter(function(S){return S.css("display")=="none"});q.forEach(function(S,rt){var ht=void 0;if(L.quality=="draft"&&(ht=V[rt].nodeIndexes),S.nodes().not(P).length>0){var mt={};mt.edges=[],mt.nodes=[];var Ct=void 0;S.nodes().not(P).forEach(function(yt){if(L.quality=="draft")if(!yt.isParent())Ct=ht.get(yt.id()),mt.nodes.push({x:V[rt].xCoords[Ct]-yt.boundingbox().w/2,y:V[rt].yCoords[Ct]-yt.boundingbox().h/2,width:yt.boundingbox().w,height:yt.boundingbox().h});else{var Et=o.calcBoundingBox(yt,V[rt].xCoords,V[rt].yCoords,ht);mt.nodes.push({x:Et.topLeftX,y:Et.topLeftY,width:Et.width,height:Et.height})}else B[rt][yt.id()]&&mt.nodes.push({x:B[rt][yt.id()].getLeft(),y:B[rt][yt.id()].getTop(),width:B[rt][yt.id()].getWidth(),height:B[rt][yt.id()].getHeight()})}),S.edges().forEach(function(yt){var Et=yt.source(),xt=yt.target();if(Et.css("display")!="none"&&xt.css("display")!="none")if(L.quality=="draft"){var Vt=ht.get(Et.id()),Ut=ht.get(xt.id()),kt=[],Mt=[];if(Et.isParent()){var Xt=o.calcBoundingBox(Et,V[rt].xCoords,V[rt].yCoords,ht);kt.push(Xt.topLeftX+Xt.width/2),kt.push(Xt.topLeftY+Xt.height/2)}else kt.push(V[rt].xCoords[Vt]),kt.push(V[rt].yCoords[Vt]);if(xt.isParent()){var Yt=o.calcBoundingBox(xt,V[rt].xCoords,V[rt].yCoords,ht);Mt.push(Yt.topLeftX+Yt.width/2),Mt.push(Yt.topLeftY+Yt.height/2)}else Mt.push(V[rt].xCoords[Ut]),Mt.push(V[rt].yCoords[Ut]);mt.edges.push({startX:kt[0],startY:kt[1],endX:Mt[0],endY:Mt[1]})}else B[rt][Et.id()]&&B[rt][xt.id()]&&mt.edges.push({startX:B[rt][Et.id()].getCenterX(),startY:B[rt][Et.id()].getCenterY(),endX:B[rt][xt.id()].getCenterX(),endY:B[rt][xt.id()].getCenterY()})}),mt.nodes.length>0&&(K.push(mt),Y.add(rt))}});var b=a.packComponents(K,L.randomize).shifts;if(L.quality=="draft")V.forEach(function(S,rt){var ht=S.xCoords.map(function(Ct){return Ct+b[rt].dx}),mt=S.yCoords.map(function(Ct){return Ct+b[rt].dy});S.xCoords=ht,S.yCoords=mt});else{var F=0;Y.forEach(function(S){Object.keys(B[S]).forEach(function(rt){var ht=B[S][rt];ht.setCenter(ht.getCenterX()+b[F].dx,ht.getCenterY()+b[F].dy)}),F++})}}}else{var Z=L.eles.boundingBox();if(x.push({x:Z.x1+Z.w/2,y:Z.y1+Z.h/2}),L.randomize){var it=d(L);V.push(it)}L.quality=="default"||L.quality=="proof"?(B.push(l(L,V[0])),o.relocateComponent(x[0],B[0],L)):o.relocateComponent(x[0],V[0],L)}var ut=T(function(S,rt){if(L.quality=="default"||L.quality=="proof"){typeof S=="number"&&(S=rt);var ht=void 0,mt=void 0,Ct=S.data("id");return B.forEach(function(Et){Ct in Et&&(ht={x:Et[Ct].getRect().getCenterX(),y:Et[Ct].getRect().getCenterY()},mt=Et[Ct])}),L.nodeDimensionsIncludeLabels&&(mt.labelWidth&&(mt.labelPosHorizontal=="left"?ht.x+=mt.labelWidth/2:mt.labelPosHorizontal=="right"&&(ht.x-=mt.labelWidth/2)),mt.labelHeight&&(mt.labelPosVertical=="top"?ht.y+=mt.labelHeight/2:mt.labelPosVertical=="bottom"&&(ht.y-=mt.labelHeight/2))),ht==null&&(ht={x:S.position("x"),y:S.position("y")}),{x:ht.x,y:ht.y}}else{var yt=void 0;return V.forEach(function(Et){var xt=Et.nodeIndexes.get(S.id());xt!=null&&(yt={x:Et.xCoords[xt],y:Et.yCoords[xt]})}),yt==null&&(yt={x:S.position("x"),y:S.position("y")}),{x:yt.x,y:yt.y}}},"getPositions");if(L.quality=="default"||L.quality=="proof"||L.randomize){var It=o.calcParentsWithoutChildren(X,z),Dt=z.filter(function(S){return S.css("display")=="none"});L.eles=z.not(Dt),z.nodes().not(":parent").not(Dt).layoutPositions(_,L,ut),It.length>0&&It.forEach(function(S){S.position(ut(S))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),E}();r.exports=c},657:(r,i,t)=>{var h=t(548),n=t(140).layoutBase.Matrix,v=t(140).layoutBase.SVD,o=T(function(e){var d=e.cy,f=e.eles,l=f.nodes(),N=f.nodes(":parent"),c=new Map,E=new Map,_=new Map,L=[],X=[],z=[],V=[],B=[],q=[],x=[],nt=[],a=void 0,y=1e8,p=1e-9,m=e.piTol,u=e.samplingType,D=e.nodeSeparation,O=void 0,M=T(function(){for(var lt=0,I=0,R=!1;I=J;){pt=$[J++];for(var et=L[pt],Ot=0;Otgt&&(gt=B[st],Nt=st)}return Nt},"BFS"),U=T(function(lt){var I=void 0;if(lt){I=Math.floor(Math.random()*a);for(var R=0;R=1)break;gt=tt}for(var et=0;et=1)break;gt=tt}for(var ot=0;ot0&&(R.isParent()?L[I].push(_.get(R.id())):L[I].push(R.id()))})});var Dt=T(function(lt){var I=E.get(lt),R=void 0;c.get(lt).forEach(function($){d.getElementById($).isParent()?R=_.get($):R=$,L[I].push(R),L[E.get(R)].push(lt)})},"_loop"),S=!0,rt=!1,ht=void 0;try{for(var mt=c.keys()[Symbol.iterator](),Ct;!(S=(Ct=mt.next()).done);S=!0){var yt=Ct.value;Dt(yt)}}catch(lt){rt=!0,ht=lt}finally{try{!S&&mt.return&&mt.return()}finally{if(rt)throw ht}}a=E.size;var Et=void 0;if(a>2){O=a{var h=t(212),n=T(function(v){v&&v("layout","fcose",h)},"register");typeof cytoscape<"u"&&n(cytoscape),r.exports=n},140:r=>{r.exports=C}},A={};function g(r){var i=A[r];if(i!==void 0)return i.exports;var t=A[r]={exports:{}};return G[r](t,t.exports,g),t.exports}T(g,"__webpack_require__");var s=g(579);return s})()})}),Ie={L:"left",R:"right",T:"top",B:"bottom"},Ce={L:T(w=>`${w},${w/2} 0,${w} 0,0`,"L"),R:T(w=>`0,${w/2} ${w},0 ${w},${w}`,"R"),T:T(w=>`0,0 ${w},0 ${w/2},${w}`,"T"),B:T(w=>`${w/2},0 ${w},${w} 0,${w}`,"B")},se={L:T((w,H)=>w-H+2,"L"),R:T((w,H)=>w-2,"R"),T:T((w,H)=>w-H+2,"T"),B:T((w,H)=>w-2,"B")},si=T(function(w){return Ht(w)?w==="L"?"R":"L":w==="T"?"B":"T"},"getOppositeArchitectureDirection"),Oe=T(function(w){let H=w;return H==="L"||H==="R"||H==="T"||H==="B"},"isArchitectureDirection"),Ht=T(function(w){let H=w;return H==="L"||H==="R"},"isArchitectureDirectionX"),Zt=T(function(w){let H=w;return H==="T"||H==="B"},"isArchitectureDirectionY"),De=T(function(w,H){let C=Ht(w)&&Zt(H),G=Zt(w)&&Ht(H);return C||G},"isArchitectureDirectionXY"),hi=T(function(w){let H=w[0],C=w[1],G=Ht(H)&&Zt(C),A=Zt(H)&&Ht(C);return G||A},"isArchitecturePairXY"),li=T(function(w){return w!=="LL"&&w!=="RR"&&w!=="TT"&&w!=="BB"},"isValidArchitectureDirectionPair"),pe=T(function(w,H){let C=`${w}${H}`;return li(C)?C:void 0},"getArchitectureDirectionPair"),di=T(function([w,H],C){let G=C[0],A=C[1];return Ht(G)?Zt(A)?[w+(G==="L"?-1:1),H+(A==="T"?1:-1)]:[w+(G==="L"?-1:1),H]:Ht(A)?[w+(A==="L"?1:-1),H+(G==="T"?1:-1)]:[w,H+(G==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),ci=T(function(w){return w==="LT"||w==="TL"?[1,1]:w==="BL"||w==="LB"?[1,-1]:w==="BR"||w==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),gi=T(function(w){return w.type==="service"},"isArchitectureService"),ui=T(function(w){return w.type==="junction"},"isArchitectureJunction"),be=T(w=>w.data(),"edgeData"),re=T(w=>w.data(),"nodeData"),Re=We.architecture,vt=new He(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:Re,dataStructures:void 0,elements:{}})),fi=T(()=>{vt.reset(),je()},"clear"),pi=T(function({id:w,icon:H,in:C,title:G,iconText:A}){if(vt.records.registeredIds[w]!==void 0)throw new Error(`The service id [${w}] is already in use by another ${vt.records.registeredIds[w]}`);if(C!==void 0){if(w===C)throw new Error(`The service [${w}] cannot be placed within itself`);if(vt.records.registeredIds[C]===void 0)throw new Error(`The service [${w}]'s parent does not exist. Please make sure the parent is created before this service`);if(vt.records.registeredIds[C]==="node")throw new Error(`The service [${w}]'s parent is not a group`)}vt.records.registeredIds[w]="node",vt.records.nodes[w]={id:w,type:"service",icon:H,iconText:A,title:G,edges:[],in:C}},"addService"),vi=T(()=>Object.values(vt.records.nodes).filter(gi),"getServices"),mi=T(function({id:w,in:H}){vt.records.registeredIds[w]="node",vt.records.nodes[w]={id:w,type:"junction",edges:[],in:H}},"addJunction"),yi=T(()=>Object.values(vt.records.nodes).filter(ui),"getJunctions"),Ei=T(()=>Object.values(vt.records.nodes),"getNodes"),Ni=T(w=>vt.records.nodes[w],"getNode"),Ti=T(function({id:w,icon:H,in:C,title:G}){if(vt.records.registeredIds[w]!==void 0)throw new Error(`The group id [${w}] is already in use by another ${vt.records.registeredIds[w]}`);if(C!==void 0){if(w===C)throw new Error(`The group [${w}] cannot be placed within itself`);if(vt.records.registeredIds[C]===void 0)throw new Error(`The group [${w}]'s parent does not exist. Please make sure the parent is created before this group`);if(vt.records.registeredIds[C]==="node")throw new Error(`The group [${w}]'s parent is not a group`)}vt.records.registeredIds[w]="group",vt.records.groups[w]={id:w,icon:H,title:G,in:C}},"addGroup"),Ai=T(()=>Object.values(vt.records.groups),"getGroups"),wi=T(function({lhsId:w,rhsId:H,lhsDir:C,rhsDir:G,lhsInto:A,rhsInto:g,lhsGroup:s,rhsGroup:r,title:i}){if(!Oe(C))throw new Error(`Invalid direction given for left hand side of edge ${w}--${H}. Expected (L,R,T,B) got ${C}`);if(!Oe(G))throw new Error(`Invalid direction given for right hand side of edge ${w}--${H}. Expected (L,R,T,B) got ${G}`);if(vt.records.nodes[w]===void 0&&vt.records.groups[w]===void 0)throw new Error(`The left-hand id [${w}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(vt.records.nodes[H]===void 0&&vt.records.groups[w]===void 0)throw new Error(`The right-hand id [${H}] does not yet exist. Please create the service/group before declaring an edge to it.`);let t=vt.records.nodes[w].in,h=vt.records.nodes[H].in;if(s&&t&&h&&t==h)throw new Error(`The left-hand id [${w}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(r&&t&&h&&t==h)throw new Error(`The right-hand id [${H}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let n={lhsId:w,lhsDir:C,lhsInto:A,lhsGroup:s,rhsId:H,rhsDir:G,rhsInto:g,rhsGroup:r,title:i};vt.records.edges.push(n),vt.records.nodes[w]&&vt.records.nodes[H]&&(vt.records.nodes[w].edges.push(vt.records.edges[vt.records.edges.length-1]),vt.records.nodes[H].edges.push(vt.records.edges[vt.records.edges.length-1]))},"addEdge"),_i=T(()=>vt.records.edges,"getEdges"),Li=T(()=>{if(vt.records.dataStructures===void 0){let w=Object.entries(vt.records.nodes).reduce((s,[r,i])=>(s[r]=i.edges.reduce((t,h)=>{if(h.lhsId===r){let n=pe(h.lhsDir,h.rhsDir);n&&(t[n]=h.rhsId)}else{let n=pe(h.rhsDir,h.lhsDir);n&&(t[n]=h.lhsId)}return t},{}),s),{}),H=Object.keys(w)[0],C={[H]:1},G=Object.keys(w).reduce((s,r)=>r===H?s:{...s,[r]:1},{}),A=T(s=>{let r={[s]:[0,0]},i=[s];for(;i.length>0;){let t=i.shift();if(t){C[t]=1,delete G[t];let h=w[t],[n,v]=r[t];Object.entries(h).forEach(([o,e])=>{C[e]||(r[e]=di([n,v],o),i.push(e))})}}return r},"BFS"),g=[A(H)];for(;Object.keys(G).length>0;)g.push(A(Object.keys(G)[0]));vt.records.dataStructures={adjList:w,spatialMaps:g}}return vt.records.dataStructures},"getDataStructures"),Ii=T((w,H)=>{vt.records.elements[w]=H},"setElementForId"),Ci=T(w=>vt.records.elements[w],"getElementById"),he={clear:fi,setDiagramTitle:Qe,getDiagramTitle:ti,setAccTitle:ei,getAccTitle:ii,setAccDescription:ri,getAccDescription:ni,addService:pi,getServices:vi,addJunction:mi,getJunctions:yi,getNodes:Ei,getNode:Ni,addGroup:Ti,getGroups:Ai,addEdge:wi,getEdges:_i,setElementForId:Ii,getElementById:Ci,getDataStructures:Li};function St(w){let H=le().architecture;return H!=null&&H[w]?H[w]:Re[w]}T(St,"getConfigField");var Oi=T((w,H)=>{Ve(w,H),w.groups.map(H.addGroup),w.services.map(C=>H.addService({...C,type:"service"})),w.junctions.map(C=>H.addJunction({...C,type:"junction"})),w.edges.map(H.addEdge)},"populateDb"),xi={parse:T(async w=>{let H=await Be("architecture",w);Me.debug(H),Oi(H,he)},"parse")},Mi=T(w=>` .edge { stroke-width: ${w.archEdgeWidth}; stroke: ${w.archEdgeColor}; diff --git a/version/6.0/assets/blockDiagram-56QMO3LT-N14aEGl0.js b/version/6.0/assets/blockDiagram-56QMO3LT-6GZyQprR.js similarity index 99% rename from version/6.0/assets/blockDiagram-56QMO3LT-N14aEGl0.js rename to version/6.0/assets/blockDiagram-56QMO3LT-6GZyQprR.js index a7548b7c1..b0260d8eb 100644 --- a/version/6.0/assets/blockDiagram-56QMO3LT-N14aEGl0.js +++ b/version/6.0/assets/blockDiagram-56QMO3LT-6GZyQprR.js @@ -1,4 +1,4 @@ -import{m as u,W as O,a as ge,t as L,h as ue,at,s as ye,bg as q,bh as pe,bi as bt,bb as Xt,r as B,bj as xe,I as tt,bk as be,n as fe,D as $t,C as me,l as we,o as Le,bl as Se}from"./mermaid.esm.min-DhsQPv9X.js";import{m as ke}from"./chunk-ZN7TASNU-45xoTLMc.js";import{_ as _e}from"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var ft=function(){var e=u(function(v,c,y,b){for(y=y||{},b=v.length;b--;y[v[b]]=c);return y},"o"),t=[1,7],r=[1,13],n=[1,14],s=[1,15],a=[1,19],i=[1,16],l=[1,17],o=[1,18],p=[8,30],h=[8,21,28,29,30,31,32,40,44,47],x=[1,23],f=[1,24],w=[8,15,16,21,28,29,30,31,32,40,44,47],S=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],k={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:u(function(v,c,y,b,D,d,m){var g=d.length-1;switch(D){case 4:b.getLogger().debug("Rule: separator (NL) ");break;case 5:b.getLogger().debug("Rule: separator (Space) ");break;case 6:b.getLogger().debug("Rule: separator (EOF) ");break;case 7:b.getLogger().debug("Rule: hierarchy: ",d[g-1]),b.setHierarchy(d[g-1]);break;case 8:b.getLogger().debug("Stop NL ");break;case 9:b.getLogger().debug("Stop EOF ");break;case 10:b.getLogger().debug("Stop NL2 ");break;case 11:b.getLogger().debug("Stop EOF2 ");break;case 12:b.getLogger().debug("Rule: statement: ",d[g]),typeof d[g].length=="number"?this.$=d[g]:this.$=[d[g]];break;case 13:b.getLogger().debug("Rule: statement #2: ",d[g-1]),this.$=[d[g-1]].concat(d[g]);break;case 14:b.getLogger().debug("Rule: link: ",d[g],v),this.$={edgeTypeStr:d[g],label:""};break;case 15:b.getLogger().debug("Rule: LABEL link: ",d[g-3],d[g-1],d[g]),this.$={edgeTypeStr:d[g],label:d[g-1]};break;case 18:let C=parseInt(d[g]),M=b.generateId();this.$={id:M,type:"space",label:"",width:C,children:[]};break;case 23:b.getLogger().debug("Rule: (nodeStatement link node) ",d[g-2],d[g-1],d[g]," typestr: ",d[g-1].edgeTypeStr);let R=b.edgeStrToEdgeData(d[g-1].edgeTypeStr);this.$=[{id:d[g-2].id,label:d[g-2].label,type:d[g-2].type,directions:d[g-2].directions},{id:d[g-2].id+"-"+d[g].id,start:d[g-2].id,end:d[g].id,label:d[g-1].label,type:"edge",directions:d[g].directions,arrowTypeEnd:R,arrowTypeStart:"arrow_open"},{id:d[g].id,label:d[g].label,type:b.typeStr2Type(d[g].typeStr),directions:d[g].directions}];break;case 24:b.getLogger().debug("Rule: nodeStatement (abc88 node size) ",d[g-1],d[g]),this.$={id:d[g-1].id,label:d[g-1].label,type:b.typeStr2Type(d[g-1].typeStr),directions:d[g-1].directions,widthInColumns:parseInt(d[g],10)};break;case 25:b.getLogger().debug("Rule: nodeStatement (node) ",d[g]),this.$={id:d[g].id,label:d[g].label,type:b.typeStr2Type(d[g].typeStr),directions:d[g].directions,widthInColumns:1};break;case 26:b.getLogger().debug("APA123",this?this:"na"),b.getLogger().debug("COLUMNS: ",d[g]),this.$={type:"column-setting",columns:d[g]==="auto"?-1:parseInt(d[g])};break;case 27:b.getLogger().debug("Rule: id-block statement : ",d[g-2],d[g-1]),b.generateId(),this.$={...d[g-2],type:"composite",children:d[g-1]};break;case 28:b.getLogger().debug("Rule: blockStatement : ",d[g-2],d[g-1],d[g]);let U=b.generateId();this.$={id:U,type:"composite",label:"",children:d[g-1]};break;case 29:b.getLogger().debug("Rule: node (NODE_ID separator): ",d[g]),this.$={id:d[g]};break;case 30:b.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",d[g-1],d[g]),this.$={id:d[g-1],label:d[g].label,typeStr:d[g].typeStr,directions:d[g].directions};break;case 31:b.getLogger().debug("Rule: dirList: ",d[g]),this.$=[d[g]];break;case 32:b.getLogger().debug("Rule: dirList: ",d[g-1],d[g]),this.$=[d[g-1]].concat(d[g]);break;case 33:b.getLogger().debug("Rule: nodeShapeNLabel: ",d[g-2],d[g-1],d[g]),this.$={typeStr:d[g-2]+d[g],label:d[g-1]};break;case 34:b.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",d[g-3],d[g-2]," #3:",d[g-1],d[g]),this.$={typeStr:d[g-3]+d[g],label:d[g-2],directions:d[g-1]};break;case 35:case 36:this.$={type:"classDef",id:d[g-1].trim(),css:d[g].trim()};break;case 37:this.$={type:"applyClass",id:d[g-1].trim(),styleClass:d[g].trim()};break;case 38:this.$={type:"applyStyles",id:d[g-1].trim(),stylesStr:d[g].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:s,32:a,40:i,44:l,47:o},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:t,28:r,29:n,31:s,32:a,40:i,44:l,47:o}),e(h,[2,16],{14:22,15:x,16:f}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(w,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:s,32:a,40:i,44:l,47:o},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(S,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},e(w,[2,24]),{11:37,13:4,14:22,15:x,16:f,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:s,32:a,40:i,44:l,47:o},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(S,[2,30]),{18:[1,43]},{18:[1,44]},e(w,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(h,[2,27]),e(S,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(S,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:u(function(v,c){if(c.recoverable)this.trace(v);else{var y=new Error(v);throw y.hash=c,y}},"parseError"),parse:u(function(v){var c=this,y=[0],b=[],D=[null],d=[],m=this.table,g="",C=0,M=0,R=0,U=2,W=1,ce=d.slice.call(arguments,1),z=Object.create(this.lexer),J={yy:{}};for(var gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gt)&&(J.yy[gt]=this.yy[gt]);z.setInput(v,J.yy),J.yy.lexer=z,J.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});var ut=z.yylloc;d.push(ut);var de=z.options&&z.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(X){y.length=y.length-2*X,D.length=D.length-X,d.length=d.length-X}u(he,"popStack");function Nt(){var X;return X=b.pop()||z.lex()||W,typeof X!="number"&&(X instanceof Array&&(b=X,X=b.pop()),X=c.symbols_[X]||X),X}u(Nt,"lex");for(var Y,yt,G,F,qr,pt,Q={},it,V,Tt,st;;){if(G=y[y.length-1],this.defaultActions[G]?F=this.defaultActions[G]:((Y===null||typeof Y>"u")&&(Y=Nt()),F=m[G]&&m[G][Y]),typeof F>"u"||!F.length||!F[0]){var xt="";st=[];for(it in m[G])this.terminals_[it]&&it>U&&st.push("'"+this.terminals_[it]+"'");z.showPosition?xt="Parse error on line "+(C+1)+`: +import{m as u,W as O,a as ge,t as L,h as ue,at,s as ye,bg as q,bh as pe,bi as bt,bb as Xt,r as B,bj as xe,I as tt,bk as be,n as fe,D as $t,C as me,l as we,o as Le,bl as Se}from"./mermaid.esm.min-CpCJ9UxA.js";import{m as ke}from"./chunk-ZN7TASNU-Cv-Yezee.js";import{_ as _e}from"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var ft=function(){var e=u(function(v,c,y,b){for(y=y||{},b=v.length;b--;y[v[b]]=c);return y},"o"),t=[1,7],r=[1,13],n=[1,14],s=[1,15],a=[1,19],i=[1,16],l=[1,17],o=[1,18],p=[8,30],h=[8,21,28,29,30,31,32,40,44,47],x=[1,23],f=[1,24],w=[8,15,16,21,28,29,30,31,32,40,44,47],S=[8,15,16,21,27,28,29,30,31,32,40,44,47],E=[1,49],k={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:u(function(v,c,y,b,D,d,m){var g=d.length-1;switch(D){case 4:b.getLogger().debug("Rule: separator (NL) ");break;case 5:b.getLogger().debug("Rule: separator (Space) ");break;case 6:b.getLogger().debug("Rule: separator (EOF) ");break;case 7:b.getLogger().debug("Rule: hierarchy: ",d[g-1]),b.setHierarchy(d[g-1]);break;case 8:b.getLogger().debug("Stop NL ");break;case 9:b.getLogger().debug("Stop EOF ");break;case 10:b.getLogger().debug("Stop NL2 ");break;case 11:b.getLogger().debug("Stop EOF2 ");break;case 12:b.getLogger().debug("Rule: statement: ",d[g]),typeof d[g].length=="number"?this.$=d[g]:this.$=[d[g]];break;case 13:b.getLogger().debug("Rule: statement #2: ",d[g-1]),this.$=[d[g-1]].concat(d[g]);break;case 14:b.getLogger().debug("Rule: link: ",d[g],v),this.$={edgeTypeStr:d[g],label:""};break;case 15:b.getLogger().debug("Rule: LABEL link: ",d[g-3],d[g-1],d[g]),this.$={edgeTypeStr:d[g],label:d[g-1]};break;case 18:let C=parseInt(d[g]),M=b.generateId();this.$={id:M,type:"space",label:"",width:C,children:[]};break;case 23:b.getLogger().debug("Rule: (nodeStatement link node) ",d[g-2],d[g-1],d[g]," typestr: ",d[g-1].edgeTypeStr);let R=b.edgeStrToEdgeData(d[g-1].edgeTypeStr);this.$=[{id:d[g-2].id,label:d[g-2].label,type:d[g-2].type,directions:d[g-2].directions},{id:d[g-2].id+"-"+d[g].id,start:d[g-2].id,end:d[g].id,label:d[g-1].label,type:"edge",directions:d[g].directions,arrowTypeEnd:R,arrowTypeStart:"arrow_open"},{id:d[g].id,label:d[g].label,type:b.typeStr2Type(d[g].typeStr),directions:d[g].directions}];break;case 24:b.getLogger().debug("Rule: nodeStatement (abc88 node size) ",d[g-1],d[g]),this.$={id:d[g-1].id,label:d[g-1].label,type:b.typeStr2Type(d[g-1].typeStr),directions:d[g-1].directions,widthInColumns:parseInt(d[g],10)};break;case 25:b.getLogger().debug("Rule: nodeStatement (node) ",d[g]),this.$={id:d[g].id,label:d[g].label,type:b.typeStr2Type(d[g].typeStr),directions:d[g].directions,widthInColumns:1};break;case 26:b.getLogger().debug("APA123",this?this:"na"),b.getLogger().debug("COLUMNS: ",d[g]),this.$={type:"column-setting",columns:d[g]==="auto"?-1:parseInt(d[g])};break;case 27:b.getLogger().debug("Rule: id-block statement : ",d[g-2],d[g-1]),b.generateId(),this.$={...d[g-2],type:"composite",children:d[g-1]};break;case 28:b.getLogger().debug("Rule: blockStatement : ",d[g-2],d[g-1],d[g]);let U=b.generateId();this.$={id:U,type:"composite",label:"",children:d[g-1]};break;case 29:b.getLogger().debug("Rule: node (NODE_ID separator): ",d[g]),this.$={id:d[g]};break;case 30:b.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",d[g-1],d[g]),this.$={id:d[g-1],label:d[g].label,typeStr:d[g].typeStr,directions:d[g].directions};break;case 31:b.getLogger().debug("Rule: dirList: ",d[g]),this.$=[d[g]];break;case 32:b.getLogger().debug("Rule: dirList: ",d[g-1],d[g]),this.$=[d[g-1]].concat(d[g]);break;case 33:b.getLogger().debug("Rule: nodeShapeNLabel: ",d[g-2],d[g-1],d[g]),this.$={typeStr:d[g-2]+d[g],label:d[g-1]};break;case 34:b.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",d[g-3],d[g-2]," #3:",d[g-1],d[g]),this.$={typeStr:d[g-3]+d[g],label:d[g-2],directions:d[g-1]};break;case 35:case 36:this.$={type:"classDef",id:d[g-1].trim(),css:d[g].trim()};break;case 37:this.$={type:"applyClass",id:d[g-1].trim(),styleClass:d[g].trim()};break;case 38:this.$={type:"applyStyles",id:d[g-1].trim(),stylesStr:d[g].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:s,32:a,40:i,44:l,47:o},{8:[1,20]},e(p,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:t,28:r,29:n,31:s,32:a,40:i,44:l,47:o}),e(h,[2,16],{14:22,15:x,16:f}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(w,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:s,32:a,40:i,44:l,47:o},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(S,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(p,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},e(w,[2,24]),{11:37,13:4,14:22,15:x,16:f,19:5,20:6,21:t,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:s,32:a,40:i,44:l,47:o},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(S,[2,30]),{18:[1,43]},{18:[1,44]},e(w,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{37:[1,47]},{34:48,35:E},{15:[1,50]},e(h,[2,27]),e(S,[2,33]),{39:[1,51]},{34:52,35:E,39:[2,31]},{32:[2,15]},e(S,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:u(function(v,c){if(c.recoverable)this.trace(v);else{var y=new Error(v);throw y.hash=c,y}},"parseError"),parse:u(function(v){var c=this,y=[0],b=[],D=[null],d=[],m=this.table,g="",C=0,M=0,R=0,U=2,W=1,ce=d.slice.call(arguments,1),z=Object.create(this.lexer),J={yy:{}};for(var gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,gt)&&(J.yy[gt]=this.yy[gt]);z.setInput(v,J.yy),J.yy.lexer=z,J.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});var ut=z.yylloc;d.push(ut);var de=z.options&&z.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(X){y.length=y.length-2*X,D.length=D.length-X,d.length=d.length-X}u(he,"popStack");function Nt(){var X;return X=b.pop()||z.lex()||W,typeof X!="number"&&(X instanceof Array&&(b=X,X=b.pop()),X=c.symbols_[X]||X),X}u(Nt,"lex");for(var Y,yt,G,F,qr,pt,Q={},it,V,Tt,st;;){if(G=y[y.length-1],this.defaultActions[G]?F=this.defaultActions[G]:((Y===null||typeof Y>"u")&&(Y=Nt()),F=m[G]&&m[G][Y]),typeof F>"u"||!F.length||!F[0]){var xt="";st=[];for(it in m[G])this.terminals_[it]&&it>U&&st.push("'"+this.terminals_[it]+"'");z.showPosition?xt="Parse error on line "+(C+1)+`: `+z.showPosition()+` Expecting `+st.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'":xt="Parse error on line "+(C+1)+": Unexpected "+(Y==W?"end of input":"'"+(this.terminals_[Y]||Y)+"'"),this.parseError(xt,{text:z.match,token:this.terminals_[Y]||Y,line:z.yylineno,loc:ut,expected:st})}if(F[0]instanceof Array&&F.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+Y);switch(F[0]){case 1:y.push(Y),D.push(z.yytext),d.push(z.yylloc),y.push(F[1]),Y=null,yt?(Y=yt,yt=null):(M=z.yyleng,g=z.yytext,C=z.yylineno,ut=z.yylloc,R>0);break;case 2:if(V=this.productions_[F[1]][1],Q.$=D[D.length-V],Q._$={first_line:d[d.length-(V||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(V||1)].first_column,last_column:d[d.length-1].last_column},de&&(Q._$.range=[d[d.length-(V||1)].range[0],d[d.length-1].range[1]]),pt=this.performAction.apply(Q,[g,M,C,J.yy,F[1],D,d].concat(ce)),typeof pt<"u")return pt;V&&(y=y.slice(0,-1*V*2),D=D.slice(0,-1*V),d=d.slice(0,-1*V)),y.push(this.productions_[F[1]][0]),D.push(Q.$),d.push(Q._$),Tt=m[y[y.length-2]][y[y.length-1]],y.push(Tt);break;case 3:return!0}}return!0},"parse")},N=function(){var v={EOF:1,parseError:u(function(c,y){if(this.yy.parser)this.yy.parser.parseError(c,y);else throw new Error(c)},"parseError"),setInput:u(function(c,y){return this.yy=y||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var y=c.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},"input"),unput:u(function(c){var y=c.length,b=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var D=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===D.length?this.yylloc.first_column:0)+D[D.length-b.length].length-b[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(c){this.unput(this.match.slice(c))},"less"),pastInput:u(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var c=this.pastInput(),y=new Array(c.length+1).join("-");return c+this.upcomingInput()+` diff --git a/version/6.0/assets/c4Diagram-ET6I6IV7-BNFgJyRp.js b/version/6.0/assets/c4Diagram-ET6I6IV7--j3Nd1UH.js similarity index 99% rename from version/6.0/assets/c4Diagram-ET6I6IV7-BNFgJyRp.js rename to version/6.0/assets/c4Diagram-ET6I6IV7--j3Nd1UH.js index 7b596f34b..3f7d4e769 100644 --- a/version/6.0/assets/c4Diagram-ET6I6IV7-BNFgJyRp.js +++ b/version/6.0/assets/c4Diagram-ET6I6IV7--j3Nd1UH.js @@ -1,4 +1,4 @@ -import{x as De,h as Ne}from"./chunk-44WTIFVW-sd9ASQhj.js";import{m as f,D as fe,W as Nt,T as Pe,k as Be,v as je,S as Le,q as Ye,f as Me,L as Ie,M as Ot,r as Mt,t as ue,C as Ue,a as Zt,$ as Fe,b as pe}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Ut=function(){var e=f(function(z,_,m,g){for(m=m||{},g=z.length;g--;m[z[g]]=_);return m},"o"),t=[1,24],s=[1,25],h=[1,26],l=[1,27],a=[1,28],r=[1,63],i=[1,64],n=[1,65],d=[1,66],u=[1,67],p=[1,68],b=[1,69],E=[1,29],T=[1,30],v=[1,31],B=[1,32],X=[1,33],I=[1,34],H=[1,35],V=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],tt=[1,41],et=[1,42],at=[1,43],nt=[1,44],it=[1,45],rt=[1,46],st=[1,47],lt=[1,48],ot=[1,50],ct=[1,51],ht=[1,52],dt=[1,53],ut=[1,54],pt=[1,55],yt=[1,56],bt=[1,57],ft=[1,58],gt=[1,59],_t=[1,60],kt=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Rt=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],S=[1,82],A=[1,83],C=[1,84],k=[1,85],w=[12,14,42],le=[12,14,33,42],Bt=[12,14,33,42,76,77,79,80],Et=[12,33],Wt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:f(function(z,_,m,g,O,o,P){var y=o.length-1;switch(O){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(o[y-3]);break;case 19:g.setTitle(o[y].substring(6)),this.$=o[y].substring(6);break;case 20:g.setAccDescription(o[y].substring(15)),this.$=o[y].substring(15);break;case 21:this.$=o[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=o[y].trim(),g.setAccDescription(this.$);break;case 28:o[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 29:o[y].splice(2,0,"SYSTEM"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 30:g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 31:o[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...o[y]),this.$=o[y];break;case 32:g.addDeploymentNode("node",...o[y]),this.$=o[y];break;case 33:g.addDeploymentNode("nodeL",...o[y]),this.$=o[y];break;case 34:g.addDeploymentNode("nodeR",...o[y]),this.$=o[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...o[y]),this.$=o[y];break;case 40:g.addPersonOrSystem("external_person",...o[y]),this.$=o[y];break;case 41:g.addPersonOrSystem("system",...o[y]),this.$=o[y];break;case 42:g.addPersonOrSystem("system_db",...o[y]),this.$=o[y];break;case 43:g.addPersonOrSystem("system_queue",...o[y]),this.$=o[y];break;case 44:g.addPersonOrSystem("external_system",...o[y]),this.$=o[y];break;case 45:g.addPersonOrSystem("external_system_db",...o[y]),this.$=o[y];break;case 46:g.addPersonOrSystem("external_system_queue",...o[y]),this.$=o[y];break;case 47:g.addContainer("container",...o[y]),this.$=o[y];break;case 48:g.addContainer("container_db",...o[y]),this.$=o[y];break;case 49:g.addContainer("container_queue",...o[y]),this.$=o[y];break;case 50:g.addContainer("external_container",...o[y]),this.$=o[y];break;case 51:g.addContainer("external_container_db",...o[y]),this.$=o[y];break;case 52:g.addContainer("external_container_queue",...o[y]),this.$=o[y];break;case 53:g.addComponent("component",...o[y]),this.$=o[y];break;case 54:g.addComponent("component_db",...o[y]),this.$=o[y];break;case 55:g.addComponent("component_queue",...o[y]),this.$=o[y];break;case 56:g.addComponent("external_component",...o[y]),this.$=o[y];break;case 57:g.addComponent("external_component_db",...o[y]),this.$=o[y];break;case 58:g.addComponent("external_component_queue",...o[y]),this.$=o[y];break;case 60:g.addRel("rel",...o[y]),this.$=o[y];break;case 61:g.addRel("birel",...o[y]),this.$=o[y];break;case 62:g.addRel("rel_u",...o[y]),this.$=o[y];break;case 63:g.addRel("rel_d",...o[y]),this.$=o[y];break;case 64:g.addRel("rel_l",...o[y]),this.$=o[y];break;case 65:g.addRel("rel_r",...o[y]),this.$=o[y];break;case 66:g.addRel("rel_b",...o[y]),this.$=o[y];break;case 67:o[y].splice(0,1),g.addRel("rel",...o[y]),this.$=o[y];break;case 68:g.updateElStyle("update_el_style",...o[y]),this.$=o[y];break;case 69:g.updateRelStyle("update_rel_style",...o[y]),this.$=o[y];break;case 70:g.updateLayoutConfig("update_layout_config",...o[y]),this.$=o[y];break;case 71:this.$=[o[y]];break;case 72:o[y].unshift(o[y-1]),this.$=o[y];break;case 73:case 75:this.$=o[y].trim();break;case 74:let St={};St[o[y-1].trim()]=o[y].trim(),this.$=St;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:70,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:71,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:72,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:73,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{14:[1,74]},e(kt,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:i,37:n,38:d,39:u,40:p,41:b,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t}),e(kt,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(kt,[2,36],{12:[1,77]}),e(Rt,[2,19]),e(Rt,[2,20]),{25:[1,78]},{27:[1,79]},e(Rt,[2,23]),{35:80,75:81,76:S,77:A,79:C,80:k},{35:86,75:81,76:S,77:A,79:C,80:k},{35:87,75:81,76:S,77:A,79:C,80:k},{35:88,75:81,76:S,77:A,79:C,80:k},{35:89,75:81,76:S,77:A,79:C,80:k},{35:90,75:81,76:S,77:A,79:C,80:k},{35:91,75:81,76:S,77:A,79:C,80:k},{35:92,75:81,76:S,77:A,79:C,80:k},{35:93,75:81,76:S,77:A,79:C,80:k},{35:94,75:81,76:S,77:A,79:C,80:k},{35:95,75:81,76:S,77:A,79:C,80:k},{35:96,75:81,76:S,77:A,79:C,80:k},{35:97,75:81,76:S,77:A,79:C,80:k},{35:98,75:81,76:S,77:A,79:C,80:k},{35:99,75:81,76:S,77:A,79:C,80:k},{35:100,75:81,76:S,77:A,79:C,80:k},{35:101,75:81,76:S,77:A,79:C,80:k},{35:102,75:81,76:S,77:A,79:C,80:k},{35:103,75:81,76:S,77:A,79:C,80:k},{35:104,75:81,76:S,77:A,79:C,80:k},e(w,[2,59]),{35:105,75:81,76:S,77:A,79:C,80:k},{35:106,75:81,76:S,77:A,79:C,80:k},{35:107,75:81,76:S,77:A,79:C,80:k},{35:108,75:81,76:S,77:A,79:C,80:k},{35:109,75:81,76:S,77:A,79:C,80:k},{35:110,75:81,76:S,77:A,79:C,80:k},{35:111,75:81,76:S,77:A,79:C,80:k},{35:112,75:81,76:S,77:A,79:C,80:k},{35:113,75:81,76:S,77:A,79:C,80:k},{35:114,75:81,76:S,77:A,79:C,80:k},{35:115,75:81,76:S,77:A,79:C,80:k},{20:116,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{12:[1,118],33:[1,117]},{35:119,75:81,76:S,77:A,79:C,80:k},{35:120,75:81,76:S,77:A,79:C,80:k},{35:121,75:81,76:S,77:A,79:C,80:k},{35:122,75:81,76:S,77:A,79:C,80:k},{35:123,75:81,76:S,77:A,79:C,80:k},{35:124,75:81,76:S,77:A,79:C,80:k},{35:125,75:81,76:S,77:A,79:C,80:k},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(kt,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:h,26:l,28:a}),e(kt,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:h,26:l,28:a,34:r,36:i,37:n,38:d,39:u,40:p,41:b,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t}),e(Rt,[2,21]),e(Rt,[2,22]),e(w,[2,39]),e(le,[2,71],{75:81,35:132,76:S,77:A,79:C,80:k}),e(Bt,[2,73]),{78:[1,133]},e(Bt,[2,75]),e(Bt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(Et,[2,28]),e(Et,[2,29]),e(Et,[2,30]),e(Et,[2,31]),e(Et,[2,32]),e(Et,[2,33]),e(Et,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(kt,[2,38]),e(le,[2,72]),e(Bt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(Wt,[2,25]),e(Wt,[2,26],{12:[1,138]}),e(Wt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:f(function(z,_){if(_.recoverable)this.trace(z);else{var m=new Error(z);throw m.hash=_,m}},"parseError"),parse:f(function(z){var _=this,m=[0],g=[],O=[null],o=[],P=this.table,y="",St=0,oe=0,we=0,Oe=2,ce=1,Te=o.slice.call(arguments,1),R=Object.create(this.lexer),At={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(At.yy[Ht]=this.yy[Ht]);R.setInput(z,At.yy),At.yy.lexer=R,At.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var Vt=R.yylloc;o.push(Vt);var ve=R.options&&R.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(j){m.length=m.length-2*j,O.length=O.length-j,o.length=o.length-j}f(Re,"popStack");function he(){var j;return j=g.pop()||R.lex()||ce,typeof j!="number"&&(j instanceof Array&&(g=j,j=g.pop()),j=_.symbols_[j]||j),j}f(he,"lex");for(var D,Gt,Ct,L,L0,Kt,wt={},Lt,W,de,Yt;;){if(Ct=m[m.length-1],this.defaultActions[Ct]?L=this.defaultActions[Ct]:((D===null||typeof D>"u")&&(D=he()),L=P[Ct]&&P[Ct][D]),typeof L>"u"||!L.length||!L[0]){var Jt="";Yt=[];for(Lt in P[Ct])this.terminals_[Lt]&&Lt>Oe&&Yt.push("'"+this.terminals_[Lt]+"'");R.showPosition?Jt="Parse error on line "+(St+1)+`: +import{x as De,h as Ne}from"./chunk-44WTIFVW-DzlTngNx.js";import{m as f,D as fe,W as Nt,T as Pe,k as Be,v as je,S as Le,q as Ye,f as Me,L as Ie,M as Ot,r as Mt,t as ue,C as Ue,a as Zt,$ as Fe,b as pe}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Ut=function(){var e=f(function(z,_,m,g){for(m=m||{},g=z.length;g--;m[z[g]]=_);return m},"o"),t=[1,24],s=[1,25],h=[1,26],l=[1,27],a=[1,28],r=[1,63],i=[1,64],n=[1,65],d=[1,66],u=[1,67],p=[1,68],b=[1,69],E=[1,29],T=[1,30],v=[1,31],B=[1,32],X=[1,33],I=[1,34],H=[1,35],V=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],tt=[1,41],et=[1,42],at=[1,43],nt=[1,44],it=[1,45],rt=[1,46],st=[1,47],lt=[1,48],ot=[1,50],ct=[1,51],ht=[1,52],dt=[1,53],ut=[1,54],pt=[1,55],yt=[1,56],bt=[1,57],ft=[1,58],gt=[1,59],_t=[1,60],kt=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Rt=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],S=[1,82],A=[1,83],C=[1,84],k=[1,85],w=[12,14,42],le=[12,14,33,42],Bt=[12,14,33,42,76,77,79,80],Et=[12,33],Wt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:f(function(z,_,m,g,O,o,P){var y=o.length-1;switch(O){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(o[y-3]);break;case 19:g.setTitle(o[y].substring(6)),this.$=o[y].substring(6);break;case 20:g.setAccDescription(o[y].substring(15)),this.$=o[y].substring(15);break;case 21:this.$=o[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=o[y].trim(),g.setAccDescription(this.$);break;case 28:o[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 29:o[y].splice(2,0,"SYSTEM"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 30:g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 31:o[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...o[y]),this.$=o[y];break;case 32:g.addDeploymentNode("node",...o[y]),this.$=o[y];break;case 33:g.addDeploymentNode("nodeL",...o[y]),this.$=o[y];break;case 34:g.addDeploymentNode("nodeR",...o[y]),this.$=o[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...o[y]),this.$=o[y];break;case 40:g.addPersonOrSystem("external_person",...o[y]),this.$=o[y];break;case 41:g.addPersonOrSystem("system",...o[y]),this.$=o[y];break;case 42:g.addPersonOrSystem("system_db",...o[y]),this.$=o[y];break;case 43:g.addPersonOrSystem("system_queue",...o[y]),this.$=o[y];break;case 44:g.addPersonOrSystem("external_system",...o[y]),this.$=o[y];break;case 45:g.addPersonOrSystem("external_system_db",...o[y]),this.$=o[y];break;case 46:g.addPersonOrSystem("external_system_queue",...o[y]),this.$=o[y];break;case 47:g.addContainer("container",...o[y]),this.$=o[y];break;case 48:g.addContainer("container_db",...o[y]),this.$=o[y];break;case 49:g.addContainer("container_queue",...o[y]),this.$=o[y];break;case 50:g.addContainer("external_container",...o[y]),this.$=o[y];break;case 51:g.addContainer("external_container_db",...o[y]),this.$=o[y];break;case 52:g.addContainer("external_container_queue",...o[y]),this.$=o[y];break;case 53:g.addComponent("component",...o[y]),this.$=o[y];break;case 54:g.addComponent("component_db",...o[y]),this.$=o[y];break;case 55:g.addComponent("component_queue",...o[y]),this.$=o[y];break;case 56:g.addComponent("external_component",...o[y]),this.$=o[y];break;case 57:g.addComponent("external_component_db",...o[y]),this.$=o[y];break;case 58:g.addComponent("external_component_queue",...o[y]),this.$=o[y];break;case 60:g.addRel("rel",...o[y]),this.$=o[y];break;case 61:g.addRel("birel",...o[y]),this.$=o[y];break;case 62:g.addRel("rel_u",...o[y]),this.$=o[y];break;case 63:g.addRel("rel_d",...o[y]),this.$=o[y];break;case 64:g.addRel("rel_l",...o[y]),this.$=o[y];break;case 65:g.addRel("rel_r",...o[y]),this.$=o[y];break;case 66:g.addRel("rel_b",...o[y]),this.$=o[y];break;case 67:o[y].splice(0,1),g.addRel("rel",...o[y]),this.$=o[y];break;case 68:g.updateElStyle("update_el_style",...o[y]),this.$=o[y];break;case 69:g.updateRelStyle("update_rel_style",...o[y]),this.$=o[y];break;case 70:g.updateLayoutConfig("update_layout_config",...o[y]),this.$=o[y];break;case 71:this.$=[o[y]];break;case 72:o[y].unshift(o[y-1]),this.$=o[y];break;case 73:case 75:this.$=o[y].trim();break;case 74:let St={};St[o[y-1].trim()]=o[y].trim(),this.$=St;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:70,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:71,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:72,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{13:73,19:20,20:21,21:22,22:t,23:s,24:h,26:l,28:a,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{14:[1,74]},e(kt,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:i,37:n,38:d,39:u,40:p,41:b,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t}),e(kt,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(kt,[2,36],{12:[1,77]}),e(Rt,[2,19]),e(Rt,[2,20]),{25:[1,78]},{27:[1,79]},e(Rt,[2,23]),{35:80,75:81,76:S,77:A,79:C,80:k},{35:86,75:81,76:S,77:A,79:C,80:k},{35:87,75:81,76:S,77:A,79:C,80:k},{35:88,75:81,76:S,77:A,79:C,80:k},{35:89,75:81,76:S,77:A,79:C,80:k},{35:90,75:81,76:S,77:A,79:C,80:k},{35:91,75:81,76:S,77:A,79:C,80:k},{35:92,75:81,76:S,77:A,79:C,80:k},{35:93,75:81,76:S,77:A,79:C,80:k},{35:94,75:81,76:S,77:A,79:C,80:k},{35:95,75:81,76:S,77:A,79:C,80:k},{35:96,75:81,76:S,77:A,79:C,80:k},{35:97,75:81,76:S,77:A,79:C,80:k},{35:98,75:81,76:S,77:A,79:C,80:k},{35:99,75:81,76:S,77:A,79:C,80:k},{35:100,75:81,76:S,77:A,79:C,80:k},{35:101,75:81,76:S,77:A,79:C,80:k},{35:102,75:81,76:S,77:A,79:C,80:k},{35:103,75:81,76:S,77:A,79:C,80:k},{35:104,75:81,76:S,77:A,79:C,80:k},e(w,[2,59]),{35:105,75:81,76:S,77:A,79:C,80:k},{35:106,75:81,76:S,77:A,79:C,80:k},{35:107,75:81,76:S,77:A,79:C,80:k},{35:108,75:81,76:S,77:A,79:C,80:k},{35:109,75:81,76:S,77:A,79:C,80:k},{35:110,75:81,76:S,77:A,79:C,80:k},{35:111,75:81,76:S,77:A,79:C,80:k},{35:112,75:81,76:S,77:A,79:C,80:k},{35:113,75:81,76:S,77:A,79:C,80:k},{35:114,75:81,76:S,77:A,79:C,80:k},{35:115,75:81,76:S,77:A,79:C,80:k},{20:116,29:49,30:61,32:62,34:r,36:i,37:n,38:d,39:u,40:p,41:b,43:23,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t},{12:[1,118],33:[1,117]},{35:119,75:81,76:S,77:A,79:C,80:k},{35:120,75:81,76:S,77:A,79:C,80:k},{35:121,75:81,76:S,77:A,79:C,80:k},{35:122,75:81,76:S,77:A,79:C,80:k},{35:123,75:81,76:S,77:A,79:C,80:k},{35:124,75:81,76:S,77:A,79:C,80:k},{35:125,75:81,76:S,77:A,79:C,80:k},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(kt,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:h,26:l,28:a}),e(kt,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:h,26:l,28:a,34:r,36:i,37:n,38:d,39:u,40:p,41:b,44:E,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:tt,57:et,58:at,59:nt,60:it,61:rt,62:st,63:lt,64:ot,65:ct,66:ht,67:dt,68:ut,69:pt,70:yt,71:bt,72:ft,73:gt,74:_t}),e(Rt,[2,21]),e(Rt,[2,22]),e(w,[2,39]),e(le,[2,71],{75:81,35:132,76:S,77:A,79:C,80:k}),e(Bt,[2,73]),{78:[1,133]},e(Bt,[2,75]),e(Bt,[2,76]),e(w,[2,40]),e(w,[2,41]),e(w,[2,42]),e(w,[2,43]),e(w,[2,44]),e(w,[2,45]),e(w,[2,46]),e(w,[2,47]),e(w,[2,48]),e(w,[2,49]),e(w,[2,50]),e(w,[2,51]),e(w,[2,52]),e(w,[2,53]),e(w,[2,54]),e(w,[2,55]),e(w,[2,56]),e(w,[2,57]),e(w,[2,58]),e(w,[2,60]),e(w,[2,61]),e(w,[2,62]),e(w,[2,63]),e(w,[2,64]),e(w,[2,65]),e(w,[2,66]),e(w,[2,67]),e(w,[2,68]),e(w,[2,69]),e(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(Et,[2,28]),e(Et,[2,29]),e(Et,[2,30]),e(Et,[2,31]),e(Et,[2,32]),e(Et,[2,33]),e(Et,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(kt,[2,38]),e(le,[2,72]),e(Bt,[2,74]),e(w,[2,24]),e(w,[2,35]),e(Wt,[2,25]),e(Wt,[2,26],{12:[1,138]}),e(Wt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:f(function(z,_){if(_.recoverable)this.trace(z);else{var m=new Error(z);throw m.hash=_,m}},"parseError"),parse:f(function(z){var _=this,m=[0],g=[],O=[null],o=[],P=this.table,y="",St=0,oe=0,we=0,Oe=2,ce=1,Te=o.slice.call(arguments,1),R=Object.create(this.lexer),At={yy:{}};for(var Ht in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ht)&&(At.yy[Ht]=this.yy[Ht]);R.setInput(z,At.yy),At.yy.lexer=R,At.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var Vt=R.yylloc;o.push(Vt);var ve=R.options&&R.options.ranges;typeof At.yy.parseError=="function"?this.parseError=At.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(j){m.length=m.length-2*j,O.length=O.length-j,o.length=o.length-j}f(Re,"popStack");function he(){var j;return j=g.pop()||R.lex()||ce,typeof j!="number"&&(j instanceof Array&&(g=j,j=g.pop()),j=_.symbols_[j]||j),j}f(he,"lex");for(var D,Gt,Ct,L,L0,Kt,wt={},Lt,W,de,Yt;;){if(Ct=m[m.length-1],this.defaultActions[Ct]?L=this.defaultActions[Ct]:((D===null||typeof D>"u")&&(D=he()),L=P[Ct]&&P[Ct][D]),typeof L>"u"||!L.length||!L[0]){var Jt="";Yt=[];for(Lt in P[Ct])this.terminals_[Lt]&&Lt>Oe&&Yt.push("'"+this.terminals_[Lt]+"'");R.showPosition?Jt="Parse error on line "+(St+1)+`: `+R.showPosition()+` Expecting `+Yt.join(", ")+", got '"+(this.terminals_[D]||D)+"'":Jt="Parse error on line "+(St+1)+": Unexpected "+(D==ce?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(Jt,{text:R.match,token:this.terminals_[D]||D,line:R.yylineno,loc:Vt,expected:Yt})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ct+", token: "+D);switch(L[0]){case 1:m.push(D),O.push(R.yytext),o.push(R.yylloc),m.push(L[1]),D=null,Gt?(D=Gt,Gt=null):(oe=R.yyleng,y=R.yytext,St=R.yylineno,Vt=R.yylloc,we>0);break;case 2:if(W=this.productions_[L[1]][1],wt.$=O[O.length-W],wt._$={first_line:o[o.length-(W||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(W||1)].first_column,last_column:o[o.length-1].last_column},ve&&(wt._$.range=[o[o.length-(W||1)].range[0],o[o.length-1].range[1]]),Kt=this.performAction.apply(wt,[y,oe,St,At.yy,L[1],O,o].concat(Te)),typeof Kt<"u")return Kt;W&&(m=m.slice(0,-1*W*2),O=O.slice(0,-1*W),o=o.slice(0,-1*W)),m.push(this.productions_[L[1]][0]),O.push(wt.$),o.push(wt._$),de=P[m[m.length-2]][m[m.length-1]],m.push(de);break;case 3:return!0}}return!0},"parse")},ke=function(){var z={EOF:1,parseError:f(function(_,m){if(this.yy.parser)this.yy.parser.parseError(_,m);else throw new Error(_)},"parseError"),setInput:f(function(_,m){return this.yy=m||this.yy||{},this._input=_,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:f(function(){var _=this._input[0];this.yytext+=_,this.yyleng++,this.offset++,this.match+=_,this.matched+=_;var m=_.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_},"input"),unput:f(function(_){var m=_.length,g=_.split(/(?:\r\n?|\n)/g);this._input=_+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var O=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===O.length?this.yylloc.first_column:0)+O[O.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:f(function(_){this.unput(this.match.slice(_))},"less"),pastInput:f(function(){var _=this.matched.substr(0,this.matched.length-this.match.length);return(_.length>20?"...":"")+_.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var _=this.match;return _.length<20&&(_+=this._input.substr(0,20-_.length)),(_.substr(0,20)+(_.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var _=this.pastInput(),m=new Array(_.length+1).join("-");return _+this.upcomingInput()+` diff --git a/version/6.0/assets/chunk-44WTIFVW-sd9ASQhj.js b/version/6.0/assets/chunk-44WTIFVW-DzlTngNx.js similarity index 91% rename from version/6.0/assets/chunk-44WTIFVW-sd9ASQhj.js rename to version/6.0/assets/chunk-44WTIFVW-DzlTngNx.js index cbc371299..0653c2942 100644 --- a/version/6.0/assets/chunk-44WTIFVW-sd9ASQhj.js +++ b/version/6.0/assets/chunk-44WTIFVW-DzlTngNx.js @@ -1 +1 @@ -import{q as n,f as d,m as l,c as h}from"./mermaid.esm.min-DhsQPv9X.js";var i=n(d()),c=l((s,t)=>{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx&&r.attr("rx",t.rx),t.ry&&r.attr("ry",t.ry),t.attrs!==void 0)for(let a in t.attrs)r.attr(a,t.attrs[a]);return t.class&&r.attr("class",t.class),r},"drawRect"),o=l((s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};c(s,r).lower()},"drawBackgroundRect"),p=l((s,t)=>{let r=t.text.replace(h," "),a=s.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);let e=a.append("tspan");return e.attr("x",t.x+t.textMargin*2),e.text(r),a},"drawText"),g=l((s,t,r,a)=>{let e=s.append("image");e.attr("x",t),e.attr("y",r);let x=(0,i.sanitizeUrl)(a);e.attr("xlink:href",x)},"drawImage"),f=l((s,t,r,a)=>{let e=s.append("use");e.attr("x",t),e.attr("y",r);let x=(0,i.sanitizeUrl)(a);e.attr("xlink:href",`#${x}`)},"drawEmbeddedImage"),m=l(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=l(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{f as E,g as d,w as f,o as g,m as h,c as x,p as y}; +import{q as n,f as d,m as l,c as h}from"./mermaid.esm.min-CpCJ9UxA.js";var i=n(d()),c=l((s,t)=>{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name&&r.attr("name",t.name),t.rx&&r.attr("rx",t.rx),t.ry&&r.attr("ry",t.ry),t.attrs!==void 0)for(let a in t.attrs)r.attr(a,t.attrs[a]);return t.class&&r.attr("class",t.class),r},"drawRect"),o=l((s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};c(s,r).lower()},"drawBackgroundRect"),p=l((s,t)=>{let r=t.text.replace(h," "),a=s.append("text");a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class&&a.attr("class",t.class);let e=a.append("tspan");return e.attr("x",t.x+t.textMargin*2),e.text(r),a},"drawText"),g=l((s,t,r,a)=>{let e=s.append("image");e.attr("x",t),e.attr("y",r);let x=(0,i.sanitizeUrl)(a);e.attr("xlink:href",x)},"drawImage"),f=l((s,t,r,a)=>{let e=s.append("use");e.attr("x",t),e.attr("y",r);let x=(0,i.sanitizeUrl)(a);e.attr("xlink:href",`#${x}`)},"drawEmbeddedImage"),m=l(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),w=l(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{f as E,g as d,w as f,o as g,m as h,c as x,p as y}; diff --git a/version/6.0/assets/chunk-4KE642ED-DRpyMuB6.js b/version/6.0/assets/chunk-4KE642ED-BFpkd97I.js similarity index 78% rename from version/6.0/assets/chunk-4KE642ED-DRpyMuB6.js rename to version/6.0/assets/chunk-4KE642ED-BFpkd97I.js index cf0c0a6ae..e3a31b3ed 100644 --- a/version/6.0/assets/chunk-4KE642ED-DRpyMuB6.js +++ b/version/6.0/assets/chunk-4KE642ED-BFpkd97I.js @@ -1 +1 @@ -import{m}from"./mermaid.esm.min-DhsQPv9X.js";function r(t,c){var a,o,l;t.accDescr&&((a=c.setAccDescription)==null||a.call(c,t.accDescr)),t.accTitle&&((o=c.setAccTitle)==null||o.call(c,t.accTitle)),t.title&&((l=c.setDiagramTitle)==null||l.call(c,t.title))}m(r,"populateCommonDb");export{r as c}; +import{m}from"./mermaid.esm.min-CpCJ9UxA.js";function r(t,c){var a,o,l;t.accDescr&&((a=c.setAccDescription)==null||a.call(c,t.accDescr)),t.accTitle&&((o=c.setAccTitle)==null||o.call(c,t.accTitle)),t.title&&((l=c.setDiagramTitle)==null||l.call(c,t.title))}m(r,"populateCommonDb");export{r as c}; diff --git a/version/6.0/assets/chunk-5ZJXQJOJ-sEil2Dtg.js b/version/6.0/assets/chunk-5ZJXQJOJ-CxalzRAd.js similarity index 99% rename from version/6.0/assets/chunk-5ZJXQJOJ-sEil2Dtg.js rename to version/6.0/assets/chunk-5ZJXQJOJ-CxalzRAd.js index 0eafdbf2f..49f723008 100644 --- a/version/6.0/assets/chunk-5ZJXQJOJ-sEil2Dtg.js +++ b/version/6.0/assets/chunk-5ZJXQJOJ-CxalzRAd.js @@ -1,4 +1,4 @@ -import{m as u,O as A,A as M,F as X,G as W,P as at,H as rt,J as E,K as tt,Q as Nn,R as D,U,N as p,X as Kn,Z as ut,_,a0 as P,a1 as F,a2 as it,a3 as nn,a4 as ot,a5 as ct,a6 as B,a7 as Z,a8 as R,a9 as Vn,aa as zn,ab as q,ac as ft,ad as An,ae as vt,af as un,ag as st,ah as lt,ai as Tn,aj as Gn,ak as Hn,al as bt,am as ht,an as en,ao as pt,ap as N,aq as gt}from"./mermaid.esm.min-DhsQPv9X.js";function Ln(n){return E(n)?tt(n):Nn(n)}u(Ln,"keys");var S=Ln;function Xn(n,e){for(var a=-1,r=n==null?0:n.length;++a2?e[2]:void 0;for(t&&R(e[0],e[1],t)&&(r=1);++ac))return!1;var v=i.get(n),s=i.get(e);if(v&&s)return v==e&&s==n;var l=-1,b=!0,O=a&Vu?new ln:void 0;for(i.set(n,e),i.set(e,n);++le}u(_a,"baseGt");var Ui=_a;function $a(n){return n&&n.length?dn(n,q,Ui):void 0}u($a,"max");var Dc=$a;function Ea(n,e,a,r){if(!F(n))return n;e=J(e,n);for(var t=-1,i=e.length,o=i-1,c=n;c!=null&&++t0&&a(c)?e>1?mn(c,e-1,a,r,t):fn(t,c):r||(t[t.length]=c)}return t}u(mn,"baseFlatten");var V=mn;function Ra(n){var e=n==null?0:n.length;return e?V(n,1):[]}u(Ra,"flatten");var Vi=Ra;function Ba(n){return bt(ht(n,void 0,Vi),n+"")}u(Ba,"flatRest");var zi=Ba,Ti=zi(function(n,e){return n==null?{}:Ni(n,e)}),Uc=Ti;function ka(n,e,a,r){var t=-1,i=n==null?0:n.length;for(r&&i&&(a=n[++t]);++t-1}u(za,"arrayIncludes");var Ta=za;function Ga(n,e,a){for(var r=-1,t=n==null?0:n.length;++r=Yi){var v=e?null:Wi(n);if(v)return hn(v);o=!1,t=bn,f=new ln}else f=e?[]:c;n:for(;++rt?0:t+e),a=a>t?t:a,a<0&&(a+=t),t=e>a?0:a-e>>>0,e>>>=0;for(var i=Array(t);++r=Mo&&(i=bn,o=!1,e=new ln(e));n:for(;++t-1?t[i?e[o]:o]:void 0}}u(hr,"createFind");var ko=hr,Co=Math.max;function pr(n,e,a){var r=n==null?0:n.length;if(!r)return-1;var t=a==null?0:z(a);return t<0&&(t=Co(r+t,0)),qa(n,j(e),t)}u(pr,"findIndex");var Do=pr,Uo=ko(Do),Zc=Uo;function gr(n){return n&&n.length?n[0]:void 0}u(gr,"head");var Jc=gr;function yr(n,e){return V(ki(n,e),1)}u(yr,"flatMap");var Qc=yr;function dr(n,e){return n==null?n:zn(n,sn(e),U)}u(dr,"forIn");var Wc=dr;function mr(n,e){return n&&vn(n,sn(e))}u(mr,"forOwn");var Yc=mr,qo=Object.prototype,No=qo.hasOwnProperty,Ko=Eo(function(n,e,a){No.call(n,a)?n[a].push(e):Hn(n,a,[e])}),nf=Ko,Vo=Object.prototype,zo=Vo.hasOwnProperty;function jr(n,e){return n!=null&&zo.call(n,e)}u(jr,"baseHas");var To=jr;function Or(n,e){return n!=null&&ca(n,e,To)}u(Or,"has");var ef=Or,Go="[object String]";function wr(n){return typeof n=="string"||!p(n)&&_(n)&&un(n)==Go}u(wr,"isString");var Ar=wr,Ho=Math.max;function Sr(n,e,a,r){n=E(n)?n:Di(n),a=a&&!r?z(a):0;var t=n.length;return a<0&&(a=Ho(t+a,0)),Ar(n)?a<=t&&n.indexOf(e,a)>-1:!!t&&jn(n,e,a)>-1}u(Sr,"includes");var af=Sr,Lo=Math.max;function Ir(n,e,a){var r=n==null?0:n.length;if(!r)return-1;var t=a==null?0:z(a);return t<0&&(t=Lo(r+t,0)),jn(n,e,t)}u(Ir,"indexOf");var rf=Ir,Xo="[object RegExp]";function _r(n){return _(n)&&un(n)==Xo}u(_r,"baseIsRegExp");var Zo=_r,Un=M&&M.isRegExp,Jo=Un?N(Un):Zo,tf=Jo;function $r(n,e){return ne||i&&o&&f&&!c&&!v||r&&o&&f||!a&&f||!t)return 1;if(!r&&!i&&!v&&n=c)return f;var v=a[r];return f*(v=="desc"?-1:1)}}return n.index-e.index}u(kr,"compareMultiple");var ec=kr;function Cr(n,e,a){e.length?e=w(e,function(i){return p(i)?function(o){return Q(o,i.length===1?i[0]:i)}:i}):e=[q];var r=-1;e=w(e,N(j));var t=ma(n,function(i,o,c){var f=w(e,function(v){return v(i)});return{criteria:f,index:++r,value:i}});return Yo(t,function(i,o){return ec(i,o,a)})}u(Cr,"baseOrderBy");var ac=Cr,rc=ba("length"),tc=rc,Dr="\\ud800-\\udfff",uc="\\u0300-\\u036f",ic="\\ufe20-\\ufe2f",oc="\\u20d0-\\u20ff",cc=uc+ic+oc,fc="\\ufe0e\\ufe0f",vc="["+Dr+"]",rn="["+cc+"]",tn="\\ud83c[\\udffb-\\udfff]",sc="(?:"+rn+"|"+tn+")",Ur="[^"+Dr+"]",qr="(?:\\ud83c[\\udde6-\\uddff]){2}",Nr="[\\ud800-\\udbff][\\udc00-\\udfff]",lc="\\u200d",Kr=sc+"?",Vr="["+fc+"]?",bc="(?:"+lc+"(?:"+[Ur,qr,Nr].join("|")+")"+Vr+Kr+")*",hc=Vr+Kr+bc,pc="(?:"+[Ur+rn+"?",rn,qr,Nr,vc].join("|")+")",qn=RegExp(tn+"(?="+tn+")|"+pc+hc,"g");function zr(n){for(var e=qn.lastIndex=0;qn.test(n);)++e;return e}u(zr,"unicodeSize");var gc=zr;function Tr(n){return Ao(n)?gc(n):tc(n)}u(Tr,"stringSize");var yc=Tr,dc=Math.ceil,mc=Math.max;function Gr(n,e,a,r){for(var t=-1,i=mc(dc((e-n)/(a||1)),0),o=Array(i);i--;)o[r?i:++t]=n,n+=a;return o}u(Gr,"baseRange");var jc=Gr;function Hr(n){return function(e,a,r){return r&&typeof r!="number"&&R(e,a,r)&&(a=r=void 0),e=L(e),a===void 0?(a=e,e=0):a=L(a),r=r===void 0?e1&&R(n,e[0],e[1])?e=[]:a>2&&R(e[0],e[1],e[2])&&(e=[e[0]]),ac(n,V(e,1),[])}),bf=_c;function Qr(n){return n&&n.length?On(n):[]}u(Qr,"uniq");var hf=Qr;function Wr(n,e){return n&&n.length?On(n,j(e)):[]}u(Wr,"uniqBy");var pf=Wr,$c=0;function Yr(n){var e=++$c;return ea(n)+e}u(Yr,"uniqueId");var gf=Yr;function nt(n,e,a){for(var r=-1,t=n.length,i=e.length,o={};++r2?e[2]:void 0;for(t&&R(e[0],e[1],t)&&(r=1);++ac))return!1;var v=i.get(n),s=i.get(e);if(v&&s)return v==e&&s==n;var l=-1,b=!0,O=a&Vu?new ln:void 0;for(i.set(n,e),i.set(e,n);++le}u(_a,"baseGt");var Ui=_a;function $a(n){return n&&n.length?dn(n,q,Ui):void 0}u($a,"max");var Dc=$a;function Ea(n,e,a,r){if(!F(n))return n;e=J(e,n);for(var t=-1,i=e.length,o=i-1,c=n;c!=null&&++t0&&a(c)?e>1?mn(c,e-1,a,r,t):fn(t,c):r||(t[t.length]=c)}return t}u(mn,"baseFlatten");var V=mn;function Ra(n){var e=n==null?0:n.length;return e?V(n,1):[]}u(Ra,"flatten");var Vi=Ra;function Ba(n){return bt(ht(n,void 0,Vi),n+"")}u(Ba,"flatRest");var zi=Ba,Ti=zi(function(n,e){return n==null?{}:Ni(n,e)}),Uc=Ti;function ka(n,e,a,r){var t=-1,i=n==null?0:n.length;for(r&&i&&(a=n[++t]);++t-1}u(za,"arrayIncludes");var Ta=za;function Ga(n,e,a){for(var r=-1,t=n==null?0:n.length;++r=Yi){var v=e?null:Wi(n);if(v)return hn(v);o=!1,t=bn,f=new ln}else f=e?[]:c;n:for(;++rt?0:t+e),a=a>t?t:a,a<0&&(a+=t),t=e>a?0:a-e>>>0,e>>>=0;for(var i=Array(t);++r=Mo&&(i=bn,o=!1,e=new ln(e));n:for(;++t-1?t[i?e[o]:o]:void 0}}u(hr,"createFind");var ko=hr,Co=Math.max;function pr(n,e,a){var r=n==null?0:n.length;if(!r)return-1;var t=a==null?0:z(a);return t<0&&(t=Co(r+t,0)),qa(n,j(e),t)}u(pr,"findIndex");var Do=pr,Uo=ko(Do),Zc=Uo;function gr(n){return n&&n.length?n[0]:void 0}u(gr,"head");var Jc=gr;function yr(n,e){return V(ki(n,e),1)}u(yr,"flatMap");var Qc=yr;function dr(n,e){return n==null?n:zn(n,sn(e),U)}u(dr,"forIn");var Wc=dr;function mr(n,e){return n&&vn(n,sn(e))}u(mr,"forOwn");var Yc=mr,qo=Object.prototype,No=qo.hasOwnProperty,Ko=Eo(function(n,e,a){No.call(n,a)?n[a].push(e):Hn(n,a,[e])}),nf=Ko,Vo=Object.prototype,zo=Vo.hasOwnProperty;function jr(n,e){return n!=null&&zo.call(n,e)}u(jr,"baseHas");var To=jr;function Or(n,e){return n!=null&&ca(n,e,To)}u(Or,"has");var ef=Or,Go="[object String]";function wr(n){return typeof n=="string"||!p(n)&&_(n)&&un(n)==Go}u(wr,"isString");var Ar=wr,Ho=Math.max;function Sr(n,e,a,r){n=E(n)?n:Di(n),a=a&&!r?z(a):0;var t=n.length;return a<0&&(a=Ho(t+a,0)),Ar(n)?a<=t&&n.indexOf(e,a)>-1:!!t&&jn(n,e,a)>-1}u(Sr,"includes");var af=Sr,Lo=Math.max;function Ir(n,e,a){var r=n==null?0:n.length;if(!r)return-1;var t=a==null?0:z(a);return t<0&&(t=Lo(r+t,0)),jn(n,e,t)}u(Ir,"indexOf");var rf=Ir,Xo="[object RegExp]";function _r(n){return _(n)&&un(n)==Xo}u(_r,"baseIsRegExp");var Zo=_r,Un=M&&M.isRegExp,Jo=Un?N(Un):Zo,tf=Jo;function $r(n,e){return ne||i&&o&&f&&!c&&!v||r&&o&&f||!a&&f||!t)return 1;if(!r&&!i&&!v&&n=c)return f;var v=a[r];return f*(v=="desc"?-1:1)}}return n.index-e.index}u(kr,"compareMultiple");var ec=kr;function Cr(n,e,a){e.length?e=w(e,function(i){return p(i)?function(o){return Q(o,i.length===1?i[0]:i)}:i}):e=[q];var r=-1;e=w(e,N(j));var t=ma(n,function(i,o,c){var f=w(e,function(v){return v(i)});return{criteria:f,index:++r,value:i}});return Yo(t,function(i,o){return ec(i,o,a)})}u(Cr,"baseOrderBy");var ac=Cr,rc=ba("length"),tc=rc,Dr="\\ud800-\\udfff",uc="\\u0300-\\u036f",ic="\\ufe20-\\ufe2f",oc="\\u20d0-\\u20ff",cc=uc+ic+oc,fc="\\ufe0e\\ufe0f",vc="["+Dr+"]",rn="["+cc+"]",tn="\\ud83c[\\udffb-\\udfff]",sc="(?:"+rn+"|"+tn+")",Ur="[^"+Dr+"]",qr="(?:\\ud83c[\\udde6-\\uddff]){2}",Nr="[\\ud800-\\udbff][\\udc00-\\udfff]",lc="\\u200d",Kr=sc+"?",Vr="["+fc+"]?",bc="(?:"+lc+"(?:"+[Ur,qr,Nr].join("|")+")"+Vr+Kr+")*",hc=Vr+Kr+bc,pc="(?:"+[Ur+rn+"?",rn,qr,Nr,vc].join("|")+")",qn=RegExp(tn+"(?="+tn+")|"+pc+hc,"g");function zr(n){for(var e=qn.lastIndex=0;qn.test(n);)++e;return e}u(zr,"unicodeSize");var gc=zr;function Tr(n){return Ao(n)?gc(n):tc(n)}u(Tr,"stringSize");var yc=Tr,dc=Math.ceil,mc=Math.max;function Gr(n,e,a,r){for(var t=-1,i=mc(dc((e-n)/(a||1)),0),o=Array(i);i--;)o[r?i:++t]=n,n+=a;return o}u(Gr,"baseRange");var jc=Gr;function Hr(n){return function(e,a,r){return r&&typeof r!="number"&&R(e,a,r)&&(a=r=void 0),e=L(e),a===void 0?(a=e,e=0):a=L(a),r=r===void 0?e1&&R(n,e[0],e[1])?e=[]:a>2&&R(e[0],e[1],e[2])&&(e=[e[0]]),ac(n,V(e,1),[])}),bf=_c;function Qr(n){return n&&n.length?On(n):[]}u(Qr,"uniq");var hf=Qr;function Wr(n,e){return n&&n.length?On(n,j(e)):[]}u(Wr,"uniqBy");var pf=Wr,$c=0;function Yr(n){var e=++$c;return ea(n)+e}u(Yr,"uniqueId");var gf=Yr;function nt(n,e,a){for(var r=-1,t=n.length,i=e.length,o={};++r"u"&&(m.yylloc={});var Pe=m.yylloc;t.push(Pe);var ft=m.options&&m.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ct(_){p.length=p.length-2*_,y.length=y.length-_,t.length=t.length-_}u(Ct,"popStack");function st(){var _;return _=n.pop()||m.lex()||tt,typeof _!="number"&&(_ instanceof Array&&(n=_,_=n.pop()),_=l.symbols_[_]||_),_}u(st,"lex");for(var F,Me,w,S,ls,Ge,G={},ge,I,it,fe;;){if(w=p[p.length-1],this.defaultActions[w]?S=this.defaultActions[w]:((F===null||typeof F>"u")&&(F=st()),S=B[w]&&B[w][F]),typeof S>"u"||!S.length||!S[0]){var Ue="";fe=[];for(ge in B[w])this.terminals_[ge]&&ge>yt&&fe.push("'"+this.terminals_[ge]+"'");m.showPosition?Ue="Parse error on line "+(ye+1)+`: +import{w as Et,$ as bt}from"./chunk-P7KHIEPL-BWluqrz7.js";import{m as u,D as mt,W as D,u as U,a as O,h as kt,t as Ye,I as Qe,r as te,Y as Tt,T as Ft,k as Dt,v as Bt,S as _t,w as St,B as Nt,V as $t,j as Lt}from"./mermaid.esm.min-CpCJ9UxA.js";var We=function(){var e=u(function(L,l,p,n){for(p=p||{},n=L.length;n--;p[L[n]]=l);return p},"o"),i=[1,18],a=[1,19],r=[1,20],c=[1,41],o=[1,42],A=[1,26],d=[1,24],k=[1,25],ne=[1,32],be=[1,33],me=[1,34],f=[1,45],ke=[1,35],Te=[1,36],Fe=[1,37],De=[1,38],Be=[1,27],_e=[1,28],Se=[1,29],Ne=[1,30],$e=[1,31],C=[1,44],E=[1,46],b=[1,43],T=[1,47],Le=[1,9],h=[1,8,9],ae=[1,58],ue=[1,59],re=[1,60],le=[1,61],oe=[1,62],Ie=[1,63],Oe=[1,64],ce=[1,8,9,41],He=[1,76],M=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],he=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],pe=[13,58,84,99,101,102],j=[13,58,71,72,84,99,101,102],qe=[13,58,66,67,68,69,70,84,99,101,102],xe=[1,98],Q=[1,115],z=[1,107],X=[1,113],H=[1,108],q=[1,109],V=[1,110],J=[1,111],Z=[1,112],ee=[1,114],Ve=[22,58,59,80,84,85,86,87,88,89],ve=[1,8,9,39,41,44],Ae=[1,8,9,22],Je=[1,143],Ze=[1,8,9,59],N=[1,8,9,22,58,59,80,84,85,86,87,88,89],we={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:u(function(L,l,p,n,y,t,B){var s=t.length-1;switch(y){case 8:this.$=t[s-1];break;case 9:case 12:case 14:this.$=t[s];break;case 10:case 13:this.$=t[s-2]+"."+t[s];break;case 11:case 15:this.$=t[s-1]+t[s];break;case 16:case 17:this.$=t[s-1]+"~"+t[s]+"~";break;case 18:n.addRelation(t[s]);break;case 19:t[s-1].title=n.cleanupLabel(t[s]),n.addRelation(t[s-1]);break;case 30:this.$=t[s].trim(),n.setAccTitle(this.$);break;case 31:case 32:this.$=t[s].trim(),n.setAccDescription(this.$);break;case 33:n.addClassesToNamespace(t[s-3],t[s-1]);break;case 34:n.addClassesToNamespace(t[s-4],t[s-1]);break;case 35:this.$=t[s],n.addNamespace(t[s]);break;case 36:this.$=[t[s]];break;case 37:this.$=[t[s-1]];break;case 38:t[s].unshift(t[s-2]),this.$=t[s];break;case 40:n.setCssClass(t[s-2],t[s]);break;case 41:n.addMembers(t[s-3],t[s-1]);break;case 42:n.setCssClass(t[s-5],t[s-3]),n.addMembers(t[s-5],t[s-1]);break;case 43:this.$=t[s],n.addClass(t[s]);break;case 44:this.$=t[s-1],n.addClass(t[s-1]),n.setClassLabel(t[s-1],t[s]);break;case 45:n.addAnnotation(t[s],t[s-2]);break;case 46:case 59:this.$=[t[s]];break;case 47:t[s].push(t[s-1]),this.$=t[s];break;case 48:break;case 49:n.addMember(t[s-1],n.cleanupLabel(t[s]));break;case 50:break;case 51:break;case 52:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 54:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 55:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 56:n.addNote(t[s],t[s-1]);break;case 57:n.addNote(t[s]);break;case 58:this.$=t[s-2],n.defineClass(t[s-1],t[s]);break;case 60:this.$=t[s-2].concat([t[s]]);break;case 61:n.setDirection("TB");break;case 62:n.setDirection("BT");break;case 63:n.setDirection("RL");break;case 64:n.setDirection("LR");break;case 65:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 66:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 67:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 68:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 69:this.$=n.relationType.AGGREGATION;break;case 70:this.$=n.relationType.EXTENSION;break;case 71:this.$=n.relationType.COMPOSITION;break;case 72:this.$=n.relationType.DEPENDENCY;break;case 73:this.$=n.relationType.LOLLIPOP;break;case 74:this.$=n.lineType.LINE;break;case 75:this.$=n.lineType.DOTTED_LINE;break;case 76:case 82:this.$=t[s-2],n.setClickEvent(t[s-1],t[s]);break;case 77:case 83:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 78:this.$=t[s-2],n.setLink(t[s-1],t[s]);break;case 79:this.$=t[s-3],n.setLink(t[s-2],t[s-1],t[s]);break;case 80:this.$=t[s-3],n.setLink(t[s-2],t[s-1]),n.setTooltip(t[s-2],t[s]);break;case 81:this.$=t[s-4],n.setLink(t[s-3],t[s-2],t[s]),n.setTooltip(t[s-3],t[s-1]);break;case 84:this.$=t[s-3],n.setClickEvent(t[s-2],t[s-1],t[s]);break;case 85:this.$=t[s-4],n.setClickEvent(t[s-3],t[s-2],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 86:this.$=t[s-3],n.setLink(t[s-2],t[s]);break;case 87:this.$=t[s-4],n.setLink(t[s-3],t[s-1],t[s]);break;case 88:this.$=t[s-4],n.setLink(t[s-3],t[s-1]),n.setTooltip(t[s-3],t[s]);break;case 89:this.$=t[s-5],n.setLink(t[s-4],t[s-2],t[s]),n.setTooltip(t[s-4],t[s-1]);break;case 90:this.$=t[s-2],n.setCssStyle(t[s-1],t[s]);break;case 91:n.setCssClass(t[s-1],t[s]);break;case 92:this.$=[t[s]];break;case 93:t[s-2].push(t[s]),this.$=t[s-2];break;case 95:this.$=t[s-1]+t[s];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:c,43:23,46:o,47:A,49:d,50:k,52:ne,54:be,55:me,58:f,60:ke,61:Te,62:Fe,63:De,73:Be,74:_e,76:Se,80:Ne,81:$e,84:C,99:E,101:b,102:T},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(Le,[2,5],{8:[1,48]}),{8:[1,49]},e(h,[2,18],{22:[1,50]}),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(h,[2,23]),e(h,[2,24]),e(h,[2,25]),e(h,[2,26]),e(h,[2,27]),e(h,[2,28]),e(h,[2,29]),{34:[1,51]},{36:[1,52]},e(h,[2,32]),e(h,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:ae,67:ue,68:re,69:le,70:oe,71:Ie,72:Oe}),{39:[1,65]},e(ce,[2,39],{39:[1,67],44:[1,66]}),e(h,[2,50]),e(h,[2,51]),{16:68,58:f,84:C,99:E,101:b},{16:39,18:69,19:40,58:f,84:C,99:E,101:b,102:T},{16:39,18:70,19:40,58:f,84:C,99:E,101:b,102:T},{16:39,18:71,19:40,58:f,84:C,99:E,101:b,102:T},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:f,84:C,99:E,101:b,102:T},{13:He,53:75},{56:77,58:[1,78]},e(h,[2,61]),e(h,[2,62]),e(h,[2,63]),e(h,[2,64]),e(M,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:f,84:C,99:E,101:b,102:T}),e(M,[2,14],{20:[1,82]}),{15:83,16:84,58:f,84:C,99:E,101:b},{16:39,18:85,19:40,58:f,84:C,99:E,101:b,102:T},e(he,[2,118]),e(he,[2,119]),e(he,[2,120]),e(he,[2,121]),e([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),e(Le,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:i,35:a,37:r,42:c,46:o,47:A,49:d,50:k,52:ne,54:be,55:me,58:f,60:ke,61:Te,62:Fe,63:De,73:Be,74:_e,76:Se,80:Ne,81:$e,84:C,99:E,101:b,102:T}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:c,43:23,46:o,47:A,49:d,50:k,52:ne,54:be,55:me,58:f,60:ke,61:Te,62:Fe,63:De,73:Be,74:_e,76:Se,80:Ne,81:$e,84:C,99:E,101:b,102:T},e(h,[2,19]),e(h,[2,30]),e(h,[2,31]),{13:[1,89],16:39,18:88,19:40,58:f,84:C,99:E,101:b,102:T},{51:90,64:56,65:57,66:ae,67:ue,68:re,69:le,70:oe,71:Ie,72:Oe},e(h,[2,49]),{65:91,71:Ie,72:Oe},e(pe,[2,68],{64:92,66:ae,67:ue,68:re,69:le,70:oe}),e(j,[2,69]),e(j,[2,70]),e(j,[2,71]),e(j,[2,72]),e(j,[2,73]),e(qe,[2,74]),e(qe,[2,75]),{8:[1,94],24:95,40:93,43:23,46:o},{16:96,58:f,84:C,99:E,101:b},{45:97,49:xe},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:Q,57:104,58:z,80:X,82:105,83:106,84:H,85:q,86:V,87:J,88:Z,89:ee},{58:[1,116]},{13:He,53:117},e(h,[2,57]),e(h,[2,123]),{22:Q,57:118,58:z,59:[1,119],80:X,82:105,83:106,84:H,85:q,86:V,87:J,88:Z,89:ee},e(Ve,[2,59]),{16:39,18:120,19:40,58:f,84:C,99:E,101:b,102:T},e(M,[2,15]),e(M,[2,16]),e(M,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:f,84:C,99:E,101:b},e(ve,[2,43],{11:123,12:[1,124]}),e(Le,[2,7]),{9:[1,125]},e(Ae,[2,52]),{16:39,18:126,19:40,58:f,84:C,99:E,101:b,102:T},{13:[1,128],16:39,18:127,19:40,58:f,84:C,99:E,101:b,102:T},e(pe,[2,67],{64:129,66:ae,67:ue,68:re,69:le,70:oe}),e(pe,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:o},{8:[1,132],41:[2,36]},e(ce,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:xe},{16:39,18:136,19:40,58:f,84:C,99:E,101:b,102:T},e(h,[2,76],{13:[1,137]}),e(h,[2,78],{13:[1,139],75:[1,138]}),e(h,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},e(h,[2,90],{59:Je}),e(Ze,[2,92],{83:144,22:Q,58:z,80:X,84:H,85:q,86:V,87:J,88:Z,89:ee}),e(N,[2,94]),e(N,[2,96]),e(N,[2,97]),e(N,[2,98]),e(N,[2,99]),e(N,[2,100]),e(N,[2,101]),e(N,[2,102]),e(N,[2,103]),e(N,[2,104]),e(h,[2,91]),e(h,[2,56]),e(h,[2,58],{59:Je}),{58:[1,145]},e(M,[2,13]),{15:146,16:84,58:f,84:C,99:E,101:b},{39:[2,11]},e(ve,[2,44]),{13:[1,147]},{1:[2,4]},e(Ae,[2,54]),e(Ae,[2,53]),{16:39,18:148,19:40,58:f,84:C,99:E,101:b,102:T},e(pe,[2,65]),e(h,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:o},{45:151,49:xe},e(ce,[2,41]),{41:[2,47]},e(h,[2,45]),e(h,[2,77]),e(h,[2,79]),e(h,[2,80],{75:[1,152]}),e(h,[2,83]),e(h,[2,84],{13:[1,153]}),e(h,[2,86],{13:[1,155],75:[1,154]}),{22:Q,58:z,80:X,82:156,83:106,84:H,85:q,86:V,87:J,88:Z,89:ee},e(N,[2,95]),e(Ve,[2,60]),{39:[2,10]},{14:[1,157]},e(Ae,[2,55]),e(h,[2,34]),{41:[2,38]},{41:[1,158]},e(h,[2,81]),e(h,[2,85]),e(h,[2,87]),e(h,[2,88],{75:[1,159]}),e(Ze,[2,93],{83:144,22:Q,58:z,80:X,84:H,85:q,86:V,87:J,88:Z,89:ee}),e(ve,[2,8]),e(ce,[2,42]),e(h,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:u(function(L,l){if(l.recoverable)this.trace(L);else{var p=new Error(L);throw p.hash=l,p}},"parseError"),parse:u(function(L){var l=this,p=[0],n=[],y=[null],t=[],B=this.table,s="",ye=0,et=0,dt=0,yt=2,tt=1,gt=t.slice.call(arguments,1),m=Object.create(this.lexer),v={yy:{}};for(var Re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Re)&&(v.yy[Re]=this.yy[Re]);m.setInput(L,v.yy),v.yy.lexer=m,v.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var Pe=m.yylloc;t.push(Pe);var ft=m.options&&m.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ct(_){p.length=p.length-2*_,y.length=y.length-_,t.length=t.length-_}u(Ct,"popStack");function st(){var _;return _=n.pop()||m.lex()||tt,typeof _!="number"&&(_ instanceof Array&&(n=_,_=n.pop()),_=l.symbols_[_]||_),_}u(st,"lex");for(var F,Me,w,S,ls,Ge,G={},ge,I,it,fe;;){if(w=p[p.length-1],this.defaultActions[w]?S=this.defaultActions[w]:((F===null||typeof F>"u")&&(F=st()),S=B[w]&&B[w][F]),typeof S>"u"||!S.length||!S[0]){var Ue="";fe=[];for(ge in B[w])this.terminals_[ge]&&ge>yt&&fe.push("'"+this.terminals_[ge]+"'");m.showPosition?Ue="Parse error on line "+(ye+1)+`: `+m.showPosition()+` Expecting `+fe.join(", ")+", got '"+(this.terminals_[F]||F)+"'":Ue="Parse error on line "+(ye+1)+": Unexpected "+(F==tt?"end of input":"'"+(this.terminals_[F]||F)+"'"),this.parseError(Ue,{text:m.match,token:this.terminals_[F]||F,line:m.yylineno,loc:Pe,expected:fe})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+F);switch(S[0]){case 1:p.push(F),y.push(m.yytext),t.push(m.yylloc),p.push(S[1]),F=null,Me?(F=Me,Me=null):(et=m.yyleng,s=m.yytext,ye=m.yylineno,Pe=m.yylloc,dt>0);break;case 2:if(I=this.productions_[S[1]][1],G.$=y[y.length-I],G._$={first_line:t[t.length-(I||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(I||1)].first_column,last_column:t[t.length-1].last_column},ft&&(G._$.range=[t[t.length-(I||1)].range[0],t[t.length-1].range[1]]),Ge=this.performAction.apply(G,[s,et,ye,v.yy,S[1],y,t].concat(gt)),typeof Ge<"u")return Ge;I&&(p=p.slice(0,-1*I*2),y=y.slice(0,-1*I),t=t.slice(0,-1*I)),p.push(this.productions_[S[1]][0]),y.push(G.$),t.push(G._$),it=B[p[p.length-2]][p[p.length-1]],p.push(it);break;case 3:return!0}}return!0},"parse")},At=function(){var L={EOF:1,parseError:u(function(l,p){if(this.yy.parser)this.yy.parser.parseError(l,p);else throw new Error(l)},"parseError"),setInput:u(function(l,p){return this.yy=p||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var p=l.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:u(function(l){var p=l.length,n=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var t=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===y.length?this.yylloc.first_column:0)+y[y.length-n.length].length-n[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(l){this.unput(this.match.slice(l))},"less"),pastInput:u(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var l=this.pastInput(),p=new Array(l.length+1).join("-");return l+this.upcomingInput()+` diff --git a/version/6.0/assets/chunk-FASC7IG4-CAkh8Mxr.js b/version/6.0/assets/chunk-FASC7IG4-BVkK6YXv.js similarity index 99% rename from version/6.0/assets/chunk-FASC7IG4-CAkh8Mxr.js rename to version/6.0/assets/chunk-FASC7IG4-BVkK6YXv.js index 1dfd59de3..d15404bdd 100644 --- a/version/6.0/assets/chunk-FASC7IG4-CAkh8Mxr.js +++ b/version/6.0/assets/chunk-FASC7IG4-BVkK6YXv.js @@ -1 +1 @@ -import{m as y}from"./chunk-ZN7TASNU-45xoTLMc.js";import{l as ie,Z as f,J as m,a as O,s as b,y as _,f as Ne,b as x,T as Ee,Q as R,O as ae,t as ot,K as de,c as T,X as I,R as q,g as rt,n as S,d as Y,D,h as it,e as at,i as z,j as dt,N as ut}from"./chunk-5ZJXQJOJ-sEil2Dtg.js";import{m as u,p as X,N as st,x as ct}from"./mermaid.esm.min-DhsQPv9X.js";function E(e,n,t,o){var r;do r=ie(o);while(e.hasNode(r));return t.dummy=n,e.setNode(r,t),r}u(E,"addDummyNode");function Oe(e){var n=new y().setGraph(e.graph());return f(e.nodes(),function(t){n.setNode(t,e.node(t))}),f(e.edges(),function(t){var o=n.edge(t.v,t.w)||{weight:0,minlen:1},r=e.edge(t);n.setEdge(t.v,t.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),n}u(Oe,"simplify");function ue(e){var n=new y({multigraph:e.isMultigraph()}).setGraph(e.graph());return f(e.nodes(),function(t){e.children(t).length||n.setNode(t,e.node(t))}),f(e.edges(),function(t){n.setEdge(t,e.edge(t))}),n}u(ue,"asNonCompoundGraph");function H(e,n){var t=e.x,o=e.y,r=n.x-t,i=n.y-o,a=e.width/2,d=e.height/2;if(!r&&!i)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(i)*a>Math.abs(r)*d?(i<0&&(d=-d),s=d*r/i,c=d):(r<0&&(a=-a),s=a,c=a*i/r),{x:t+s,y:o+c}}u(H,"intersectRect");function j(e){var n=m(O(se(e)+1),function(){return[]});return f(e.nodes(),function(t){var o=e.node(t),r=o.rank;b(r)||(n[r][o.order]=t)}),n}u(j,"buildLayerMatrix");function Ie(e){var n=_(m(e.nodes(),function(t){return e.node(t).rank}));f(e.nodes(),function(t){var o=e.node(t);Ne(o,"rank")&&(o.rank-=n)})}u(Ie,"normalizeRanks");function Ce(e){var n=_(m(e.nodes(),function(i){return e.node(i).rank})),t=[];f(e.nodes(),function(i){var a=e.node(i).rank-n;t[a]||(t[a]=[]),t[a].push(i)});var o=0,r=e.graph().nodeRankFactor;f(t,function(i,a){b(i)&&a%r!==0?--o:o&&f(i,function(d){e.node(d).rank+=o})})}u(Ce,"removeEmptyRanks");function K(e,n,t,o){var r={width:0,height:0};return arguments.length>=4&&(r.rank=t,r.order=o),E(e,"border",r,n)}u(K,"addBorderNode");function se(e){return x(m(e.nodes(),function(n){var t=e.node(n).rank;if(!b(t))return t}))}u(se,"maxRank");function Le(e,n){var t={lhs:[],rhs:[]};return f(e,function(o){n(o)?t.lhs.push(o):t.rhs.push(o)}),t}u(Le,"partition");function _e(e,n){var t=Ee();try{return n()}finally{console.log(e+" time: "+(Ee()-t)+"ms")}}u(_e,"time");function Pe(e,n){return n()}u(Pe,"notime");function Re(e){function n(t){var o=e.children(t),r=e.node(t);if(o.length&&f(o,n),Object.prototype.hasOwnProperty.call(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(var i=r.minRank,a=r.maxRank+1;i0;--d)if(a=n[d].dequeue(),a){o=o.concat(B(e,n,t,a,!0));break}}}return o}u(Fe,"doGreedyFAS");function B(e,n,t,o,r){var i=r?[]:void 0;return f(e.inEdges(o.v),function(a){var d=e.edge(a),s=e.node(a.v);r&&i.push({v:a.v,w:a.w}),s.out-=d,$(n,t,s)}),f(e.outEdges(o.v),function(a){var d=e.edge(a),s=a.w,c=e.node(s);c.in-=d,$(n,t,c)}),e.removeNode(o.v),i}u(B,"removeNode");function Ve(e,n){var t=new y,o=0,r=0;f(e.nodes(),function(d){t.setNode(d,{v:d,in:0,out:0})}),f(e.edges(),function(d){var s=t.edge(d.v,d.w)||0,c=n(d),h=s+c;t.setEdge(d.v,d.w,h),r=Math.max(r,t.node(d.v).out+=c),o=Math.max(o,t.node(d.w).in+=c)});var i=O(r+o+3).map(function(){return new ft}),a=o+1;return f(t.nodes(),function(d){$(i,a,t.node(d))}),{graph:t,buckets:i,zeroIdx:a}}u(Ve,"buildState");function $(e,n,t){t.out?t.in?e[t.out-t.in+n].enqueue(t):e[e.length-1].enqueue(t):e[0].enqueue(t)}u($,"assignBucket");function Ye(e){var n=e.graph().acyclicer==="greedy"?Be(e,t(e)):De(e);f(n,function(o){var r=e.edge(o);e.removeEdge(o),r.forwardName=o.name,r.reversed=!0,e.setEdge(o.w,o.v,r,ie("rev"))});function t(o){return function(r){return o.edge(r).weight}}u(t,"weightFn")}u(Ye,"run");function De(e){var n=[],t={},o={};function r(i){Object.prototype.hasOwnProperty.call(o,i)||(o[i]=!0,t[i]=!0,f(e.outEdges(i),function(a){Object.prototype.hasOwnProperty.call(t,a.w)?n.push(a):r(a.w)}),delete t[i])}return u(r,"dfs"),f(e.nodes(),r),n}u(De,"dfsFAS");function $e(e){f(e.edges(),function(n){var t=e.edge(n);if(t.reversed){e.removeEdge(n);var o=t.forwardName;delete t.reversed,delete t.forwardName,e.setEdge(n.w,n.v,t,o)}})}u($e,"undo");function qe(e){e.graph().dummyChains=[],f(e.edges(),function(n){ze(e,n)})}u(qe,"run");function ze(e,n){var t=n.v,o=e.node(t).rank,r=n.w,i=e.node(r).rank,a=n.name,d=e.edge(n),s=d.labelRank;if(i!==o+1){e.removeEdge(n);var c=void 0,h,g;for(g=0,++o;oa.lim&&(d=a,s=!0);var c=T(n.edges(),function(h){return s===ee(e,e.node(h.v),d)&&s!==ee(e,e.node(h.w),d)});return ae(c,function(h){return C(n,h)})}u(me,"enterEdge");function we(e,n,t,o){var r=t.v,i=t.w;e.removeEdge(r,i),e.setEdge(o.v,o.w,{}),W(e),J(e,n),Ue(e,n)}u(we,"exchangeEdges");function Ue(e,n){var t=de(e.nodes(),function(r){return!n.node(r).parent}),o=Ze(e,t);o=o.slice(1),f(o,function(r){var i=e.node(r).parent,a=n.edge(r,i),d=!1;a||(a=n.edge(i,r),d=!0),n.node(r).rank=n.node(i).rank+(d?a.minlen:-a.minlen)})}u(Ue,"updateRanks");function en(e,n,t){return e.hasEdge(n,t)}u(en,"isTreeEdge");function ee(e,n,t){return t.low<=n.lim&&n.lim<=t.lim}u(ee,"isDescendant");function nn(e){switch(e.graph().ranker){case"network-simplex":ne(e);break;case"tight-tree":tn(e);break;case"longest-path":gt(e);break;default:ne(e)}}u(nn,"rank");var gt=A;function tn(e){A(e),fe(e)}u(tn,"tightTreeRanker");function ne(e){k(e)}u(ne,"networkSimplexRanker");function on(e){var n=E(e,"root",{},"_root"),t=rn(e),o=x(I(t))-1,r=2*o+1;e.graph().nestingRoot=n,f(e.edges(),function(a){e.edge(a).minlen*=r});var i=an(e)+1;f(e.children(),function(a){be(e,n,r,i,o,t,a)}),e.graph().nodeRankFactor=r}u(on,"run");function be(e,n,t,o,r,i,a){var d=e.children(a);if(!d.length){a!==n&&e.setEdge(n,a,{weight:0,minlen:t});return}var s=K(e,"_bt"),c=K(e,"_bb"),h=e.node(a);e.setParent(s,a),h.borderTop=s,e.setParent(c,a),h.borderBottom=c,f(d,function(g){be(e,n,t,o,r,i,g);var l=e.node(g),p=l.borderTop?l.borderTop:g,v=l.borderBottom?l.borderBottom:g,w=l.borderTop?o:2*o,L=p!==v?1:r-i[a]+1;e.setEdge(s,p,{weight:w,minlen:L,nestingEdge:!0}),e.setEdge(v,c,{weight:w,minlen:L,nestingEdge:!0})}),e.parent(a)||e.setEdge(n,s,{weight:0,minlen:r+i[a]})}u(be,"dfs");function rn(e){var n={};function t(o,r){var i=e.children(o);i&&i.length&&f(i,function(a){t(a,r+1)}),n[o]=r}return u(t,"dfs"),f(e.children(),function(o){t(o,1)}),n}u(rn,"treeDepths");function an(e){return q(e.edges(),function(n,t){return n+e.edge(t).weight},0)}u(an,"sumWeights");function dn(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,f(e.edges(),function(t){var o=e.edge(t);o.nestingEdge&&e.removeEdge(t)})}u(dn,"cleanup");function un(e,n,t){var o={},r;f(t,function(i){for(var a=e.parent(i),d,s;a;){if(d=e.parent(a),d?(s=o[d],o[d]=a):(s=r,r=a),s&&s!==a){n.setEdge(s,a);return}a=d}})}u(un,"addSubgraphConstraints");function sn(e,n,t){var o=cn(e),r=new y({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(i){return e.node(i)});return f(e.nodes(),function(i){var a=e.node(i),d=e.parent(i);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(r.setNode(i),r.setParent(i,d||o),f(e[t](i),function(s){var c=s.v===i?s.w:s.v,h=r.edge(c,i),g=b(h)?0:h.weight;r.setEdge(c,i,{weight:e.edge(s).weight+g})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&r.setNode(i,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),r}u(sn,"buildLayerGraph");function cn(e){for(var n;e.hasNode(n=ie("_root")););return n}u(cn,"createRootNode");function fn(e,n){for(var t=0,o=1;o0;)h%2&&(g+=d[h+1]),h=h-1>>1,d[h]+=c.weight;s+=c.weight*g})),s}u(hn,"twoLayerCrossCount");function gn(e){var n={},t=T(e.nodes(),function(d){return!e.children(d).length}),o=x(m(t,function(d){return e.node(d).rank})),r=m(O(o+1),function(){return[]});function i(d){if(!Ne(n,d)){n[d]=!0;var s=e.node(d);r[s.rank].push(d),f(e.successors(d),i)}}u(i,"dfs");var a=S(t,function(d){return e.node(d).rank});return f(a,i),r}u(gn,"initOrder");function ln(e,n){return m(n,function(t){var o=e.inEdges(t);if(o.length){var r=q(o,function(i,a){var d=e.edge(a),s=e.node(a.v);return{sum:i.sum+d.weight*s.order,weight:i.weight+d.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}else return{v:t}})}u(ln,"barycenter");function pn(e,n){var t={};f(e,function(r,i){var a=t[r.v]={indegree:0,in:[],out:[],vs:[r.v],i};b(r.barycenter)||(a.barycenter=r.barycenter,a.weight=r.weight)}),f(n.edges(),function(r){var i=t[r.v],a=t[r.w];!b(i)&&!b(a)&&(a.indegree++,i.out.push(t[r.w]))});var o=T(t,function(r){return!r.indegree});return vn(o)}u(pn,"resolveConflicts");function vn(e){var n=[];function t(i){return function(a){a.merged||(b(a.barycenter)||b(i.barycenter)||a.barycenter>=i.barycenter)&&mn(i,a)}}u(t,"handleIn");function o(i){return function(a){a.in.push(i),--a.indegree===0&&e.push(a)}}for(u(o,"handleOut");e.length;){var r=e.pop();n.push(r),f(r.in.reverse(),t(r)),f(r.out,o(r))}return m(T(n,function(i){return!i.merged}),function(i){return Y(i,["vs","i","barycenter","weight"])})}u(vn,"doResolveConflicts");function mn(e,n){var t=0,o=0;e.weight&&(t+=e.barycenter*e.weight,o+=e.weight),n.weight&&(t+=n.barycenter*n.weight,o+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=t/o,e.weight=o,e.i=Math.min(n.i,e.i),n.merged=!0}u(mn,"mergeEntries");function wn(e,n){var t=Le(e,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),o=t.lhs,r=S(t.rhs,function(h){return-h.i}),i=[],a=0,d=0,s=0;o.sort(bn(!!n)),s=te(i,r,s),f(o,function(h){s+=h.vs.length,i.push(h.vs),a+=h.barycenter*h.weight,d+=h.weight,s=te(i,r,s)});var c={vs:R(i)};return d&&(c.barycenter=a/d,c.weight=d),c}u(wn,"sort");function te(e,n,t){for(var o;n.length&&(o=D(n)).i<=t;)n.pop(),e.push(o.vs),t++;return t}u(te,"consumeUnsortable");function bn(e){return function(n,t){return n.barycentert.barycenter?1:e?t.i-n.i:n.i-t.i}}u(bn,"compareWithBias");function ye(e,n,t,o){var r=e.children(n),i=e.node(n),a=i?i.borderLeft:void 0,d=i?i.borderRight:void 0,s={};a&&(r=T(r,function(v){return v!==a&&v!==d}));var c=ln(e,r);f(c,function(v){if(e.children(v.v).length){var w=ye(e,v.v,t,o);s[v.v]=w,Object.prototype.hasOwnProperty.call(w,"barycenter")&&kn(v,w)}});var h=pn(c,t);yn(h,s);var g=wn(h,o);if(a&&(g.vs=R([a,g.vs,d]),e.predecessors(a).length)){var l=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(d)[0]);Object.prototype.hasOwnProperty.call(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+l.order+p.order)/(g.weight+2),g.weight+=2}return g}u(ye,"sortSubgraph");function yn(e,n){f(e,function(t){t.vs=R(t.vs.map(function(o){return n[o]?n[o].vs:o}))})}u(yn,"expandSubgraphs");function kn(e,n){b(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}u(kn,"mergeBarycenters");function xn(e){var n=se(e),t=oe(e,O(1,n+1),"inEdges"),o=oe(e,O(n-1,-1,-1),"outEdges"),r=gn(e);re(e,r);for(var i=Number.POSITIVE_INFINITY,a,d=0,s=0;s<4;++d,++s){En(d%2?t:o,d%4>=2),r=j(e);var c=fn(e,r);ca||d>n[s].lim));for(c=s,s=o;(s=e.parent(s))!==c;)i.push(s);return{path:r.concat(i.reverse()),lca:c}}u(On,"findPath");function In(e){var n={},t=0;function o(r){var i=t;f(e.children(r),o),n[r]={low:i,lim:t++}}return u(o,"dfs"),f(e.children(),o),n}u(In,"postorder");function Cn(e,n){var t={};function o(r,i){var a=0,d=0,s=r.length,c=D(i);return f(i,function(h,g){var l=_n(e,h),p=l?e.node(l).order:s;(l||h===c)&&(f(i.slice(d,g+1),function(v){f(e.predecessors(v),function(w){var L=e.node(w),xe=L.order;(xec)&&ke(t,l,h)})})}u(o,"scan");function r(i,a){var d=-1,s,c=0;return f(a,function(h,g){if(e.node(h).dummy==="border"){var l=e.predecessors(h);l.length&&(s=e.node(l[0]).order,o(a,c,g,d,s),c=g,d=s)}o(a,c,a.length,s,i.length)}),a}return u(r,"visitLayer"),q(n,r),t}u(Ln,"findType2Conflicts");function _n(e,n){if(e.node(n).dummy)return de(e.predecessors(n),function(t){return e.node(t).dummy})}u(_n,"findOtherInnerSegmentNode");function ke(e,n,t){if(n>t){var o=n;n=t,t=o}var r=e[n];r||(e[n]=r={}),r[t]=!0}u(ke,"addConflict");function Pn(e,n,t){if(n>t){var o=n;n=t,t=o}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],t)}u(Pn,"hasConflict");function Rn(e,n,t,o){var r={},i={},a={};return f(n,function(d){f(d,function(s,c){r[s]=s,i[s]=s,a[s]=c})}),f(n,function(d){var s=-1;f(d,function(c){var h=o(c);if(h.length){h=S(h,function(w){return a[w]});for(var g=(h.length-1)/2,l=Math.floor(g),p=Math.ceil(g);l<=p;++l){var v=h[l];i[c]===c&&s{var o=t(" buildLayoutGraph",()=>zn(e));t(" runLayout",()=>$n(o,t)),t(" updateInputGraph",()=>qn(e,o))})}u(lt,"layout");function $n(e,n){n(" makeSpaceForEdgeLabels",()=>An(e)),n(" removeSelfEdges",()=>et(e)),n(" acyclic",()=>Ye(e)),n(" nestingGraph.run",()=>on(e)),n(" rank",()=>nn(ue(e))),n(" injectEdgeLabelProxies",()=>Jn(e)),n(" removeEmptyRanks",()=>Ce(e)),n(" nestingGraph.cleanup",()=>dn(e)),n(" normalizeRanks",()=>Ie(e)),n(" assignRankMinMax",()=>Wn(e)),n(" removeEdgeLabelProxies",()=>Xn(e)),n(" normalize.run",()=>qe(e)),n(" parentDummyChains",()=>Nn(e)),n(" addBorderSegments",()=>Re(e)),n(" order",()=>xn(e)),n(" insertSelfEdges",()=>nt(e)),n(" adjustCoordinateSystem",()=>Te(e)),n(" position",()=>Yn(e)),n(" positionSelfEdges",()=>tt(e)),n(" removeBorderNodes",()=>Un(e)),n(" normalize.undo",()=>Ae(e)),n(" fixupEdgeLabelCoords",()=>Zn(e)),n(" undoCoordinateSystem",()=>Se(e)),n(" translateGraph",()=>Hn(e)),n(" assignNodeIntersects",()=>Kn(e)),n(" reversePoints",()=>Qn(e)),n(" acyclic.undo",()=>$e(e))}u($n,"runLayout");function qn(e,n){f(e.nodes(),function(t){var o=e.node(t),r=n.node(t);o&&(o.x=r.x,o.y=r.y,n.children(t).length&&(o.width=r.width,o.height=r.height))}),f(e.edges(),function(t){var o=e.edge(t),r=n.edge(t);o.points=r.points,Object.prototype.hasOwnProperty.call(r,"x")&&(o.x=r.x,o.y=r.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}u(qn,"updateInputGraph");var pt=["nodesep","edgesep","ranksep","marginx","marginy"],vt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},mt=["acyclicer","ranker","rankdir","align"],wt=["width","height"],bt={width:0,height:0},yt=["minlen","weight","width","height","labeloffset"],kt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},xt=["labelpos"];function zn(e){var n=new y({multigraph:!0,compound:!0}),t=V(e.graph());return n.setGraph(X({},vt,F(t,pt),Y(t,mt))),f(e.nodes(),function(o){var r=V(e.node(o));n.setNode(o,ut(F(r,wt),bt)),n.setParent(o,e.parent(o))}),f(e.edges(),function(o){var r=V(e.edge(o));n.setEdge(o,X({},kt,F(r,yt),Y(r,xt)))}),n}u(zn,"buildLayoutGraph");function An(e){var n=e.graph();n.ranksep/=2,f(e.edges(),function(t){var o=e.edge(t);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}u(An,"makeSpaceForEdgeLabels");function Jn(e){f(e.edges(),function(n){var t=e.edge(n);if(t.width&&t.height){var o=e.node(n.v),r=e.node(n.w),i={rank:(r.rank-o.rank)/2+o.rank,e:n};E(e,"edge-proxy",i,"_ep")}})}u(Jn,"injectEdgeLabelProxies");function Wn(e){var n=0;f(e.nodes(),function(t){var o=e.node(t);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,n=x(n,o.maxRank))}),e.graph().maxRank=n}u(Wn,"assignRankMinMax");function Xn(e){f(e.nodes(),function(n){var t=e.node(n);t.dummy==="edge-proxy"&&(e.edge(t.e).labelRank=t.rank,e.removeNode(n))})}u(Xn,"removeEdgeLabelProxies");function Hn(e){var n=Number.POSITIVE_INFINITY,t=0,o=Number.POSITIVE_INFINITY,r=0,i=e.graph(),a=i.marginx||0,d=i.marginy||0;function s(c){var h=c.x,g=c.y,l=c.width,p=c.height;n=Math.min(n,h-l/2),t=Math.max(t,h+l/2),o=Math.min(o,g-p/2),r=Math.max(r,g+p/2)}u(s,"getExtremes"),f(e.nodes(),function(c){s(e.node(c))}),f(e.edges(),function(c){var h=e.edge(c);Object.prototype.hasOwnProperty.call(h,"x")&&s(h)}),n-=a,o-=d,f(e.nodes(),function(c){var h=e.node(c);h.x-=n,h.y-=o}),f(e.edges(),function(c){var h=e.edge(c);f(h.points,function(g){g.x-=n,g.y-=o}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=n),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=o)}),i.width=t-n+a,i.height=r-o+d}u(Hn,"translateGraph");function Kn(e){f(e.edges(),function(n){var t=e.edge(n),o=e.node(n.v),r=e.node(n.w),i,a;t.points?(i=t.points[0],a=t.points[t.points.length-1]):(t.points=[],i=r,a=o),t.points.unshift(H(o,i)),t.points.push(H(r,a))})}u(Kn,"assignNodeIntersects");function Zn(e){f(e.edges(),function(n){var t=e.edge(n);if(Object.prototype.hasOwnProperty.call(t,"x"))switch((t.labelpos==="l"||t.labelpos==="r")&&(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset;break}})}u(Zn,"fixupEdgeLabelCoords");function Qn(e){f(e.edges(),function(n){var t=e.edge(n);t.reversed&&t.points.reverse()})}u(Qn,"reversePointsForReversedEdges");function Un(e){f(e.nodes(),function(n){if(e.children(n).length){var t=e.node(n),o=e.node(t.borderTop),r=e.node(t.borderBottom),i=e.node(D(t.borderLeft)),a=e.node(D(t.borderRight));t.width=Math.abs(a.x-i.x),t.height=Math.abs(r.y-o.y),t.x=i.x+t.width/2,t.y=o.y+t.height/2}}),f(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}u(Un,"removeBorderNodes");function et(e){f(e.edges(),function(n){if(n.v===n.w){var t=e.node(n.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}u(et,"removeSelfEdges");function nt(e){var n=j(e);f(n,function(t){var o=0;f(t,function(r,i){var a=e.node(r);a.order=i+o,f(a.selfEdges,function(d){E(e,"selfedge",{width:d.label.width,height:d.label.height,rank:a.rank,order:i+ ++o,e:d.e,label:d.label},"_se")}),delete a.selfEdges})})}u(nt,"insertSelfEdges");function tt(e){f(e.nodes(),function(n){var t=e.node(n);if(t.dummy==="selfedge"){var o=e.node(t.e.v),r=o.x+o.width/2,i=o.y,a=t.x-r,d=o.height/2;e.setEdge(t.e,t.label),e.removeNode(n),t.label.points=[{x:r+2*a/3,y:i-d},{x:r+5*a/6,y:i-d},{x:r+a,y:i},{x:r+5*a/6,y:i+d},{x:r+2*a/3,y:i+d}],t.label.x=t.x,t.label.y=t.y}})}u(tt,"positionSelfEdges");function F(e,n){return z(Y(e,n),Number)}u(F,"selectNumberAttrs");function V(e){var n={};return f(e,function(t,o){n[o.toLowerCase()]=t}),n}u(V,"canonicalize");export{lt as f}; +import{m as y}from"./chunk-ZN7TASNU-Cv-Yezee.js";import{l as ie,Z as f,J as m,a as O,s as b,y as _,f as Ne,b as x,T as Ee,Q as R,O as ae,t as ot,K as de,c as T,X as I,R as q,g as rt,n as S,d as Y,D,h as it,e as at,i as z,j as dt,N as ut}from"./chunk-5ZJXQJOJ-CxalzRAd.js";import{m as u,p as X,N as st,x as ct}from"./mermaid.esm.min-CpCJ9UxA.js";function E(e,n,t,o){var r;do r=ie(o);while(e.hasNode(r));return t.dummy=n,e.setNode(r,t),r}u(E,"addDummyNode");function Oe(e){var n=new y().setGraph(e.graph());return f(e.nodes(),function(t){n.setNode(t,e.node(t))}),f(e.edges(),function(t){var o=n.edge(t.v,t.w)||{weight:0,minlen:1},r=e.edge(t);n.setEdge(t.v,t.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),n}u(Oe,"simplify");function ue(e){var n=new y({multigraph:e.isMultigraph()}).setGraph(e.graph());return f(e.nodes(),function(t){e.children(t).length||n.setNode(t,e.node(t))}),f(e.edges(),function(t){n.setEdge(t,e.edge(t))}),n}u(ue,"asNonCompoundGraph");function H(e,n){var t=e.x,o=e.y,r=n.x-t,i=n.y-o,a=e.width/2,d=e.height/2;if(!r&&!i)throw new Error("Not possible to find intersection inside of the rectangle");var s,c;return Math.abs(i)*a>Math.abs(r)*d?(i<0&&(d=-d),s=d*r/i,c=d):(r<0&&(a=-a),s=a,c=a*i/r),{x:t+s,y:o+c}}u(H,"intersectRect");function j(e){var n=m(O(se(e)+1),function(){return[]});return f(e.nodes(),function(t){var o=e.node(t),r=o.rank;b(r)||(n[r][o.order]=t)}),n}u(j,"buildLayerMatrix");function Ie(e){var n=_(m(e.nodes(),function(t){return e.node(t).rank}));f(e.nodes(),function(t){var o=e.node(t);Ne(o,"rank")&&(o.rank-=n)})}u(Ie,"normalizeRanks");function Ce(e){var n=_(m(e.nodes(),function(i){return e.node(i).rank})),t=[];f(e.nodes(),function(i){var a=e.node(i).rank-n;t[a]||(t[a]=[]),t[a].push(i)});var o=0,r=e.graph().nodeRankFactor;f(t,function(i,a){b(i)&&a%r!==0?--o:o&&f(i,function(d){e.node(d).rank+=o})})}u(Ce,"removeEmptyRanks");function K(e,n,t,o){var r={width:0,height:0};return arguments.length>=4&&(r.rank=t,r.order=o),E(e,"border",r,n)}u(K,"addBorderNode");function se(e){return x(m(e.nodes(),function(n){var t=e.node(n).rank;if(!b(t))return t}))}u(se,"maxRank");function Le(e,n){var t={lhs:[],rhs:[]};return f(e,function(o){n(o)?t.lhs.push(o):t.rhs.push(o)}),t}u(Le,"partition");function _e(e,n){var t=Ee();try{return n()}finally{console.log(e+" time: "+(Ee()-t)+"ms")}}u(_e,"time");function Pe(e,n){return n()}u(Pe,"notime");function Re(e){function n(t){var o=e.children(t),r=e.node(t);if(o.length&&f(o,n),Object.prototype.hasOwnProperty.call(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(var i=r.minRank,a=r.maxRank+1;i0;--d)if(a=n[d].dequeue(),a){o=o.concat(B(e,n,t,a,!0));break}}}return o}u(Fe,"doGreedyFAS");function B(e,n,t,o,r){var i=r?[]:void 0;return f(e.inEdges(o.v),function(a){var d=e.edge(a),s=e.node(a.v);r&&i.push({v:a.v,w:a.w}),s.out-=d,$(n,t,s)}),f(e.outEdges(o.v),function(a){var d=e.edge(a),s=a.w,c=e.node(s);c.in-=d,$(n,t,c)}),e.removeNode(o.v),i}u(B,"removeNode");function Ve(e,n){var t=new y,o=0,r=0;f(e.nodes(),function(d){t.setNode(d,{v:d,in:0,out:0})}),f(e.edges(),function(d){var s=t.edge(d.v,d.w)||0,c=n(d),h=s+c;t.setEdge(d.v,d.w,h),r=Math.max(r,t.node(d.v).out+=c),o=Math.max(o,t.node(d.w).in+=c)});var i=O(r+o+3).map(function(){return new ft}),a=o+1;return f(t.nodes(),function(d){$(i,a,t.node(d))}),{graph:t,buckets:i,zeroIdx:a}}u(Ve,"buildState");function $(e,n,t){t.out?t.in?e[t.out-t.in+n].enqueue(t):e[e.length-1].enqueue(t):e[0].enqueue(t)}u($,"assignBucket");function Ye(e){var n=e.graph().acyclicer==="greedy"?Be(e,t(e)):De(e);f(n,function(o){var r=e.edge(o);e.removeEdge(o),r.forwardName=o.name,r.reversed=!0,e.setEdge(o.w,o.v,r,ie("rev"))});function t(o){return function(r){return o.edge(r).weight}}u(t,"weightFn")}u(Ye,"run");function De(e){var n=[],t={},o={};function r(i){Object.prototype.hasOwnProperty.call(o,i)||(o[i]=!0,t[i]=!0,f(e.outEdges(i),function(a){Object.prototype.hasOwnProperty.call(t,a.w)?n.push(a):r(a.w)}),delete t[i])}return u(r,"dfs"),f(e.nodes(),r),n}u(De,"dfsFAS");function $e(e){f(e.edges(),function(n){var t=e.edge(n);if(t.reversed){e.removeEdge(n);var o=t.forwardName;delete t.reversed,delete t.forwardName,e.setEdge(n.w,n.v,t,o)}})}u($e,"undo");function qe(e){e.graph().dummyChains=[],f(e.edges(),function(n){ze(e,n)})}u(qe,"run");function ze(e,n){var t=n.v,o=e.node(t).rank,r=n.w,i=e.node(r).rank,a=n.name,d=e.edge(n),s=d.labelRank;if(i!==o+1){e.removeEdge(n);var c=void 0,h,g;for(g=0,++o;oa.lim&&(d=a,s=!0);var c=T(n.edges(),function(h){return s===ee(e,e.node(h.v),d)&&s!==ee(e,e.node(h.w),d)});return ae(c,function(h){return C(n,h)})}u(me,"enterEdge");function we(e,n,t,o){var r=t.v,i=t.w;e.removeEdge(r,i),e.setEdge(o.v,o.w,{}),W(e),J(e,n),Ue(e,n)}u(we,"exchangeEdges");function Ue(e,n){var t=de(e.nodes(),function(r){return!n.node(r).parent}),o=Ze(e,t);o=o.slice(1),f(o,function(r){var i=e.node(r).parent,a=n.edge(r,i),d=!1;a||(a=n.edge(i,r),d=!0),n.node(r).rank=n.node(i).rank+(d?a.minlen:-a.minlen)})}u(Ue,"updateRanks");function en(e,n,t){return e.hasEdge(n,t)}u(en,"isTreeEdge");function ee(e,n,t){return t.low<=n.lim&&n.lim<=t.lim}u(ee,"isDescendant");function nn(e){switch(e.graph().ranker){case"network-simplex":ne(e);break;case"tight-tree":tn(e);break;case"longest-path":gt(e);break;default:ne(e)}}u(nn,"rank");var gt=A;function tn(e){A(e),fe(e)}u(tn,"tightTreeRanker");function ne(e){k(e)}u(ne,"networkSimplexRanker");function on(e){var n=E(e,"root",{},"_root"),t=rn(e),o=x(I(t))-1,r=2*o+1;e.graph().nestingRoot=n,f(e.edges(),function(a){e.edge(a).minlen*=r});var i=an(e)+1;f(e.children(),function(a){be(e,n,r,i,o,t,a)}),e.graph().nodeRankFactor=r}u(on,"run");function be(e,n,t,o,r,i,a){var d=e.children(a);if(!d.length){a!==n&&e.setEdge(n,a,{weight:0,minlen:t});return}var s=K(e,"_bt"),c=K(e,"_bb"),h=e.node(a);e.setParent(s,a),h.borderTop=s,e.setParent(c,a),h.borderBottom=c,f(d,function(g){be(e,n,t,o,r,i,g);var l=e.node(g),p=l.borderTop?l.borderTop:g,v=l.borderBottom?l.borderBottom:g,w=l.borderTop?o:2*o,L=p!==v?1:r-i[a]+1;e.setEdge(s,p,{weight:w,minlen:L,nestingEdge:!0}),e.setEdge(v,c,{weight:w,minlen:L,nestingEdge:!0})}),e.parent(a)||e.setEdge(n,s,{weight:0,minlen:r+i[a]})}u(be,"dfs");function rn(e){var n={};function t(o,r){var i=e.children(o);i&&i.length&&f(i,function(a){t(a,r+1)}),n[o]=r}return u(t,"dfs"),f(e.children(),function(o){t(o,1)}),n}u(rn,"treeDepths");function an(e){return q(e.edges(),function(n,t){return n+e.edge(t).weight},0)}u(an,"sumWeights");function dn(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,f(e.edges(),function(t){var o=e.edge(t);o.nestingEdge&&e.removeEdge(t)})}u(dn,"cleanup");function un(e,n,t){var o={},r;f(t,function(i){for(var a=e.parent(i),d,s;a;){if(d=e.parent(a),d?(s=o[d],o[d]=a):(s=r,r=a),s&&s!==a){n.setEdge(s,a);return}a=d}})}u(un,"addSubgraphConstraints");function sn(e,n,t){var o=cn(e),r=new y({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(i){return e.node(i)});return f(e.nodes(),function(i){var a=e.node(i),d=e.parent(i);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(r.setNode(i),r.setParent(i,d||o),f(e[t](i),function(s){var c=s.v===i?s.w:s.v,h=r.edge(c,i),g=b(h)?0:h.weight;r.setEdge(c,i,{weight:e.edge(s).weight+g})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&r.setNode(i,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),r}u(sn,"buildLayerGraph");function cn(e){for(var n;e.hasNode(n=ie("_root")););return n}u(cn,"createRootNode");function fn(e,n){for(var t=0,o=1;o0;)h%2&&(g+=d[h+1]),h=h-1>>1,d[h]+=c.weight;s+=c.weight*g})),s}u(hn,"twoLayerCrossCount");function gn(e){var n={},t=T(e.nodes(),function(d){return!e.children(d).length}),o=x(m(t,function(d){return e.node(d).rank})),r=m(O(o+1),function(){return[]});function i(d){if(!Ne(n,d)){n[d]=!0;var s=e.node(d);r[s.rank].push(d),f(e.successors(d),i)}}u(i,"dfs");var a=S(t,function(d){return e.node(d).rank});return f(a,i),r}u(gn,"initOrder");function ln(e,n){return m(n,function(t){var o=e.inEdges(t);if(o.length){var r=q(o,function(i,a){var d=e.edge(a),s=e.node(a.v);return{sum:i.sum+d.weight*s.order,weight:i.weight+d.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}else return{v:t}})}u(ln,"barycenter");function pn(e,n){var t={};f(e,function(r,i){var a=t[r.v]={indegree:0,in:[],out:[],vs:[r.v],i};b(r.barycenter)||(a.barycenter=r.barycenter,a.weight=r.weight)}),f(n.edges(),function(r){var i=t[r.v],a=t[r.w];!b(i)&&!b(a)&&(a.indegree++,i.out.push(t[r.w]))});var o=T(t,function(r){return!r.indegree});return vn(o)}u(pn,"resolveConflicts");function vn(e){var n=[];function t(i){return function(a){a.merged||(b(a.barycenter)||b(i.barycenter)||a.barycenter>=i.barycenter)&&mn(i,a)}}u(t,"handleIn");function o(i){return function(a){a.in.push(i),--a.indegree===0&&e.push(a)}}for(u(o,"handleOut");e.length;){var r=e.pop();n.push(r),f(r.in.reverse(),t(r)),f(r.out,o(r))}return m(T(n,function(i){return!i.merged}),function(i){return Y(i,["vs","i","barycenter","weight"])})}u(vn,"doResolveConflicts");function mn(e,n){var t=0,o=0;e.weight&&(t+=e.barycenter*e.weight,o+=e.weight),n.weight&&(t+=n.barycenter*n.weight,o+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=t/o,e.weight=o,e.i=Math.min(n.i,e.i),n.merged=!0}u(mn,"mergeEntries");function wn(e,n){var t=Le(e,function(h){return Object.prototype.hasOwnProperty.call(h,"barycenter")}),o=t.lhs,r=S(t.rhs,function(h){return-h.i}),i=[],a=0,d=0,s=0;o.sort(bn(!!n)),s=te(i,r,s),f(o,function(h){s+=h.vs.length,i.push(h.vs),a+=h.barycenter*h.weight,d+=h.weight,s=te(i,r,s)});var c={vs:R(i)};return d&&(c.barycenter=a/d,c.weight=d),c}u(wn,"sort");function te(e,n,t){for(var o;n.length&&(o=D(n)).i<=t;)n.pop(),e.push(o.vs),t++;return t}u(te,"consumeUnsortable");function bn(e){return function(n,t){return n.barycentert.barycenter?1:e?t.i-n.i:n.i-t.i}}u(bn,"compareWithBias");function ye(e,n,t,o){var r=e.children(n),i=e.node(n),a=i?i.borderLeft:void 0,d=i?i.borderRight:void 0,s={};a&&(r=T(r,function(v){return v!==a&&v!==d}));var c=ln(e,r);f(c,function(v){if(e.children(v.v).length){var w=ye(e,v.v,t,o);s[v.v]=w,Object.prototype.hasOwnProperty.call(w,"barycenter")&&kn(v,w)}});var h=pn(c,t);yn(h,s);var g=wn(h,o);if(a&&(g.vs=R([a,g.vs,d]),e.predecessors(a).length)){var l=e.node(e.predecessors(a)[0]),p=e.node(e.predecessors(d)[0]);Object.prototype.hasOwnProperty.call(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+l.order+p.order)/(g.weight+2),g.weight+=2}return g}u(ye,"sortSubgraph");function yn(e,n){f(e,function(t){t.vs=R(t.vs.map(function(o){return n[o]?n[o].vs:o}))})}u(yn,"expandSubgraphs");function kn(e,n){b(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}u(kn,"mergeBarycenters");function xn(e){var n=se(e),t=oe(e,O(1,n+1),"inEdges"),o=oe(e,O(n-1,-1,-1),"outEdges"),r=gn(e);re(e,r);for(var i=Number.POSITIVE_INFINITY,a,d=0,s=0;s<4;++d,++s){En(d%2?t:o,d%4>=2),r=j(e);var c=fn(e,r);ca||d>n[s].lim));for(c=s,s=o;(s=e.parent(s))!==c;)i.push(s);return{path:r.concat(i.reverse()),lca:c}}u(On,"findPath");function In(e){var n={},t=0;function o(r){var i=t;f(e.children(r),o),n[r]={low:i,lim:t++}}return u(o,"dfs"),f(e.children(),o),n}u(In,"postorder");function Cn(e,n){var t={};function o(r,i){var a=0,d=0,s=r.length,c=D(i);return f(i,function(h,g){var l=_n(e,h),p=l?e.node(l).order:s;(l||h===c)&&(f(i.slice(d,g+1),function(v){f(e.predecessors(v),function(w){var L=e.node(w),xe=L.order;(xec)&&ke(t,l,h)})})}u(o,"scan");function r(i,a){var d=-1,s,c=0;return f(a,function(h,g){if(e.node(h).dummy==="border"){var l=e.predecessors(h);l.length&&(s=e.node(l[0]).order,o(a,c,g,d,s),c=g,d=s)}o(a,c,a.length,s,i.length)}),a}return u(r,"visitLayer"),q(n,r),t}u(Ln,"findType2Conflicts");function _n(e,n){if(e.node(n).dummy)return de(e.predecessors(n),function(t){return e.node(t).dummy})}u(_n,"findOtherInnerSegmentNode");function ke(e,n,t){if(n>t){var o=n;n=t,t=o}var r=e[n];r||(e[n]=r={}),r[t]=!0}u(ke,"addConflict");function Pn(e,n,t){if(n>t){var o=n;n=t,t=o}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],t)}u(Pn,"hasConflict");function Rn(e,n,t,o){var r={},i={},a={};return f(n,function(d){f(d,function(s,c){r[s]=s,i[s]=s,a[s]=c})}),f(n,function(d){var s=-1;f(d,function(c){var h=o(c);if(h.length){h=S(h,function(w){return a[w]});for(var g=(h.length-1)/2,l=Math.floor(g),p=Math.ceil(g);l<=p;++l){var v=h[l];i[c]===c&&s{var o=t(" buildLayoutGraph",()=>zn(e));t(" runLayout",()=>$n(o,t)),t(" updateInputGraph",()=>qn(e,o))})}u(lt,"layout");function $n(e,n){n(" makeSpaceForEdgeLabels",()=>An(e)),n(" removeSelfEdges",()=>et(e)),n(" acyclic",()=>Ye(e)),n(" nestingGraph.run",()=>on(e)),n(" rank",()=>nn(ue(e))),n(" injectEdgeLabelProxies",()=>Jn(e)),n(" removeEmptyRanks",()=>Ce(e)),n(" nestingGraph.cleanup",()=>dn(e)),n(" normalizeRanks",()=>Ie(e)),n(" assignRankMinMax",()=>Wn(e)),n(" removeEdgeLabelProxies",()=>Xn(e)),n(" normalize.run",()=>qe(e)),n(" parentDummyChains",()=>Nn(e)),n(" addBorderSegments",()=>Re(e)),n(" order",()=>xn(e)),n(" insertSelfEdges",()=>nt(e)),n(" adjustCoordinateSystem",()=>Te(e)),n(" position",()=>Yn(e)),n(" positionSelfEdges",()=>tt(e)),n(" removeBorderNodes",()=>Un(e)),n(" normalize.undo",()=>Ae(e)),n(" fixupEdgeLabelCoords",()=>Zn(e)),n(" undoCoordinateSystem",()=>Se(e)),n(" translateGraph",()=>Hn(e)),n(" assignNodeIntersects",()=>Kn(e)),n(" reversePoints",()=>Qn(e)),n(" acyclic.undo",()=>$e(e))}u($n,"runLayout");function qn(e,n){f(e.nodes(),function(t){var o=e.node(t),r=n.node(t);o&&(o.x=r.x,o.y=r.y,n.children(t).length&&(o.width=r.width,o.height=r.height))}),f(e.edges(),function(t){var o=e.edge(t),r=n.edge(t);o.points=r.points,Object.prototype.hasOwnProperty.call(r,"x")&&(o.x=r.x,o.y=r.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}u(qn,"updateInputGraph");var pt=["nodesep","edgesep","ranksep","marginx","marginy"],vt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},mt=["acyclicer","ranker","rankdir","align"],wt=["width","height"],bt={width:0,height:0},yt=["minlen","weight","width","height","labeloffset"],kt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},xt=["labelpos"];function zn(e){var n=new y({multigraph:!0,compound:!0}),t=V(e.graph());return n.setGraph(X({},vt,F(t,pt),Y(t,mt))),f(e.nodes(),function(o){var r=V(e.node(o));n.setNode(o,ut(F(r,wt),bt)),n.setParent(o,e.parent(o))}),f(e.edges(),function(o){var r=V(e.edge(o));n.setEdge(o,X({},kt,F(r,yt),Y(r,xt)))}),n}u(zn,"buildLayoutGraph");function An(e){var n=e.graph();n.ranksep/=2,f(e.edges(),function(t){var o=e.edge(t);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}u(An,"makeSpaceForEdgeLabels");function Jn(e){f(e.edges(),function(n){var t=e.edge(n);if(t.width&&t.height){var o=e.node(n.v),r=e.node(n.w),i={rank:(r.rank-o.rank)/2+o.rank,e:n};E(e,"edge-proxy",i,"_ep")}})}u(Jn,"injectEdgeLabelProxies");function Wn(e){var n=0;f(e.nodes(),function(t){var o=e.node(t);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,n=x(n,o.maxRank))}),e.graph().maxRank=n}u(Wn,"assignRankMinMax");function Xn(e){f(e.nodes(),function(n){var t=e.node(n);t.dummy==="edge-proxy"&&(e.edge(t.e).labelRank=t.rank,e.removeNode(n))})}u(Xn,"removeEdgeLabelProxies");function Hn(e){var n=Number.POSITIVE_INFINITY,t=0,o=Number.POSITIVE_INFINITY,r=0,i=e.graph(),a=i.marginx||0,d=i.marginy||0;function s(c){var h=c.x,g=c.y,l=c.width,p=c.height;n=Math.min(n,h-l/2),t=Math.max(t,h+l/2),o=Math.min(o,g-p/2),r=Math.max(r,g+p/2)}u(s,"getExtremes"),f(e.nodes(),function(c){s(e.node(c))}),f(e.edges(),function(c){var h=e.edge(c);Object.prototype.hasOwnProperty.call(h,"x")&&s(h)}),n-=a,o-=d,f(e.nodes(),function(c){var h=e.node(c);h.x-=n,h.y-=o}),f(e.edges(),function(c){var h=e.edge(c);f(h.points,function(g){g.x-=n,g.y-=o}),Object.prototype.hasOwnProperty.call(h,"x")&&(h.x-=n),Object.prototype.hasOwnProperty.call(h,"y")&&(h.y-=o)}),i.width=t-n+a,i.height=r-o+d}u(Hn,"translateGraph");function Kn(e){f(e.edges(),function(n){var t=e.edge(n),o=e.node(n.v),r=e.node(n.w),i,a;t.points?(i=t.points[0],a=t.points[t.points.length-1]):(t.points=[],i=r,a=o),t.points.unshift(H(o,i)),t.points.push(H(r,a))})}u(Kn,"assignNodeIntersects");function Zn(e){f(e.edges(),function(n){var t=e.edge(n);if(Object.prototype.hasOwnProperty.call(t,"x"))switch((t.labelpos==="l"||t.labelpos==="r")&&(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset;break}})}u(Zn,"fixupEdgeLabelCoords");function Qn(e){f(e.edges(),function(n){var t=e.edge(n);t.reversed&&t.points.reverse()})}u(Qn,"reversePointsForReversedEdges");function Un(e){f(e.nodes(),function(n){if(e.children(n).length){var t=e.node(n),o=e.node(t.borderTop),r=e.node(t.borderBottom),i=e.node(D(t.borderLeft)),a=e.node(D(t.borderRight));t.width=Math.abs(a.x-i.x),t.height=Math.abs(r.y-o.y),t.x=i.x+t.width/2,t.y=o.y+t.height/2}}),f(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}u(Un,"removeBorderNodes");function et(e){f(e.edges(),function(n){if(n.v===n.w){var t=e.node(n.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}u(et,"removeSelfEdges");function nt(e){var n=j(e);f(n,function(t){var o=0;f(t,function(r,i){var a=e.node(r);a.order=i+o,f(a.selfEdges,function(d){E(e,"selfedge",{width:d.label.width,height:d.label.height,rank:a.rank,order:i+ ++o,e:d.e,label:d.label},"_se")}),delete a.selfEdges})})}u(nt,"insertSelfEdges");function tt(e){f(e.nodes(),function(n){var t=e.node(n);if(t.dummy==="selfedge"){var o=e.node(t.e.v),r=o.x+o.width/2,i=o.y,a=t.x-r,d=o.height/2;e.setEdge(t.e,t.label),e.removeNode(n),t.label.points=[{x:r+2*a/3,y:i-d},{x:r+5*a/6,y:i-d},{x:r+a,y:i},{x:r+5*a/6,y:i+d},{x:r+2*a/3,y:i+d}],t.label.x=t.x,t.label.y=t.y}})}u(tt,"positionSelfEdges");function F(e,n){return z(Y(e,n),Number)}u(F,"selectNumberAttrs");function V(e){var n={};return f(e,function(t,o){n[o.toLowerCase()]=t}),n}u(V,"canonicalize");export{lt as f}; diff --git a/version/6.0/assets/chunk-LDJ5YOBB-auGoc4M2.js b/version/6.0/assets/chunk-LDJ5YOBB-Z7YRvEFR.js similarity index 99% rename from version/6.0/assets/chunk-LDJ5YOBB-auGoc4M2.js rename to version/6.0/assets/chunk-LDJ5YOBB-Z7YRvEFR.js index bd674dd29..4e4de7fae 100644 --- a/version/6.0/assets/chunk-LDJ5YOBB-auGoc4M2.js +++ b/version/6.0/assets/chunk-LDJ5YOBB-Z7YRvEFR.js @@ -1,4 +1,4 @@ -import{w as De,$ as Ce}from"./chunk-P7KHIEPL-BYT7Poah.js";import{m as i,t as b,W as D,j as Le,I as ve,a as H,b4 as Ie,h as Ae,k as we,T as Oe,v as Re,S as Ne,w as Be,B as Fe}from"./mermaid.esm.min-DhsQPv9X.js";var wt=function(){var t=i(function(L,a,n,y){for(n=n||{},y=L.length;y--;n[L[y]]=a);return n},"o"),e=[1,2],c=[1,3],o=[1,4],r=[2,4],h=[1,9],p=[1,11],f=[1,16],l=[1,17],S=[1,18],v=[1,19],O=[1,32],P=[1,20],Y=[1,21],I=[1,22],d=[1,23],C=[1,24],A=[1,26],G=[1,27],j=[1,28],R=[1,29],N=[1,30],st=[1,31],it=[1,34],rt=[1,35],at=[1,36],nt=[1,37],W=[1,33],g=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],ot=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],jt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],xt={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:i(function(L,a,n,y,m,s,T){var u=s.length-1;switch(m){case 3:return y.setRootDoc(s[u]),s[u];case 4:this.$=[];break;case 5:s[u]!="nl"&&(s[u-1].push(s[u]),this.$=s[u-1]);break;case 6:case 7:this.$=s[u];break;case 8:this.$="nl";break;case 12:this.$=s[u];break;case 13:let ht=s[u-1];ht.description=y.trimColon(s[u]),this.$=ht;break;case 14:this.$={stmt:"relation",state1:s[u-2],state2:s[u]};break;case 15:let ut=y.trimColon(s[u]);this.$={stmt:"relation",state1:s[u-3],state2:s[u-1],description:ut};break;case 19:this.$={stmt:"state",id:s[u-3],type:"default",description:"",doc:s[u-1]};break;case 20:var z=s[u],V=s[u-2].trim();if(s[u].match(":")){var ct=s[u].split(":");z=ct[0],V=[V,ct[1]]}this.$={stmt:"state",id:z,type:"default",description:V};break;case 21:this.$={stmt:"state",id:s[u-3],type:"default",description:s[u-5],doc:s[u-1]};break;case 22:this.$={stmt:"state",id:s[u],type:"fork"};break;case 23:this.$={stmt:"state",id:s[u],type:"join"};break;case 24:this.$={stmt:"state",id:s[u],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:s[u-1].trim(),note:{position:s[u-2].trim(),text:s[u].trim()}};break;case 29:this.$=s[u].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=s[u].trim(),y.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:s[u-1].trim(),classes:s[u].trim()};break;case 34:this.$={stmt:"style",id:s[u-1].trim(),styleClass:s[u].trim()};break;case 35:this.$={stmt:"applyClass",id:s[u-1].trim(),styleClass:s[u].trim()};break;case 36:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:s[u].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:s[u-2].trim(),classes:[s[u].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:s[u-2].trim(),classes:[s[u].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:c,6:o},{1:[3]},{3:5,4:e,5:c,6:o},{3:6,4:e,5:c,6:o},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:h,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:f,17:l,19:S,22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:f,17:l,19:S,22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,7]),t(g,[2,8]),t(g,[2,9]),t(g,[2,10]),t(g,[2,11]),t(g,[2,12],{14:[1,39],15:[1,40]}),t(g,[2,16]),{18:[1,41]},t(g,[2,18],{20:[1,42]}),{23:[1,43]},t(g,[2,22]),t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(g,[2,28]),{34:[1,48]},{36:[1,49]},t(g,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(ot,[2,42],{55:[1,54]}),t(ot,[2,43],{55:[1,55]}),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,6]),t(g,[2,13]),{13:56,24:O,54:W},t(g,[2,17]),t(jt,r,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(g,[2,29]),t(g,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(g,[2,14],{14:[1,67]}),{4:h,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:f,17:l,19:S,21:[1,68],22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(g,[2,32]),t(g,[2,33]),t(g,[2,34]),t(g,[2,35]),t(ot,[2,44]),t(ot,[2,45]),t(g,[2,15]),t(g,[2,19]),t(jt,r,{7:72}),t(g,[2,26]),t(g,[2,27]),{4:h,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:f,17:l,19:S,21:[1,73],22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:i(function(L,a){if(a.recoverable)this.trace(L);else{var n=new Error(L);throw n.hash=a,n}},"parseError"),parse:i(function(L){var a=this,n=[0],y=[],m=[null],s=[],T=this.table,u="",z=0,V=0,ct=0,ht=2,ut=1,Ee=s.slice.call(arguments,1),_=Object.create(this.lexer),M={yy:{}};for(var $t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$t)&&(M.yy[$t]=this.yy[$t]);_.setInput(L,M.yy),M.yy.lexer=_,M.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Dt=_.yylloc;s.push(Dt);var xe=_.options&&_.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $e(x){n.length=n.length-2*x,m.length=m.length-x,s.length=s.length-x}i($e,"popStack");function zt(){var x;return x=y.pop()||_.lex()||ut,typeof x!="number"&&(x instanceof Array&&(y=x,x=y.pop()),x=a.symbols_[x]||x),x}i(zt,"lex");for(var k,Ct,X,$,Cs,Lt,J={},dt,w,Mt,pt;;){if(X=n[n.length-1],this.defaultActions[X]?$=this.defaultActions[X]:((k===null||typeof k>"u")&&(k=zt()),$=T[X]&&T[X][k]),typeof $>"u"||!$.length||!$[0]){var vt="";pt=[];for(dt in T[X])this.terminals_[dt]&&dt>ht&&pt.push("'"+this.terminals_[dt]+"'");_.showPosition?vt="Parse error on line "+(z+1)+`: +import{w as De,$ as Ce}from"./chunk-P7KHIEPL-BWluqrz7.js";import{m as i,t as b,W as D,j as Le,I as ve,a as H,b4 as Ie,h as Ae,k as we,T as Oe,v as Re,S as Ne,w as Be,B as Fe}from"./mermaid.esm.min-CpCJ9UxA.js";var wt=function(){var t=i(function(L,a,n,y){for(n=n||{},y=L.length;y--;n[L[y]]=a);return n},"o"),e=[1,2],c=[1,3],o=[1,4],r=[2,4],h=[1,9],p=[1,11],f=[1,16],l=[1,17],S=[1,18],v=[1,19],O=[1,32],P=[1,20],Y=[1,21],I=[1,22],d=[1,23],C=[1,24],A=[1,26],G=[1,27],j=[1,28],R=[1,29],N=[1,30],st=[1,31],it=[1,34],rt=[1,35],at=[1,36],nt=[1,37],W=[1,33],g=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],ot=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],jt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],xt={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:i(function(L,a,n,y,m,s,T){var u=s.length-1;switch(m){case 3:return y.setRootDoc(s[u]),s[u];case 4:this.$=[];break;case 5:s[u]!="nl"&&(s[u-1].push(s[u]),this.$=s[u-1]);break;case 6:case 7:this.$=s[u];break;case 8:this.$="nl";break;case 12:this.$=s[u];break;case 13:let ht=s[u-1];ht.description=y.trimColon(s[u]),this.$=ht;break;case 14:this.$={stmt:"relation",state1:s[u-2],state2:s[u]};break;case 15:let ut=y.trimColon(s[u]);this.$={stmt:"relation",state1:s[u-3],state2:s[u-1],description:ut};break;case 19:this.$={stmt:"state",id:s[u-3],type:"default",description:"",doc:s[u-1]};break;case 20:var z=s[u],V=s[u-2].trim();if(s[u].match(":")){var ct=s[u].split(":");z=ct[0],V=[V,ct[1]]}this.$={stmt:"state",id:z,type:"default",description:V};break;case 21:this.$={stmt:"state",id:s[u-3],type:"default",description:s[u-5],doc:s[u-1]};break;case 22:this.$={stmt:"state",id:s[u],type:"fork"};break;case 23:this.$={stmt:"state",id:s[u],type:"join"};break;case 24:this.$={stmt:"state",id:s[u],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:s[u-1].trim(),note:{position:s[u-2].trim(),text:s[u].trim()}};break;case 29:this.$=s[u].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=s[u].trim(),y.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:s[u-1].trim(),classes:s[u].trim()};break;case 34:this.$={stmt:"style",id:s[u-1].trim(),styleClass:s[u].trim()};break;case 35:this.$={stmt:"applyClass",id:s[u-1].trim(),styleClass:s[u].trim()};break;case 36:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:s[u].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:s[u-2].trim(),classes:[s[u].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:s[u-2].trim(),classes:[s[u].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:c,6:o},{1:[3]},{3:5,4:e,5:c,6:o},{3:6,4:e,5:c,6:o},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:h,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:f,17:l,19:S,22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:f,17:l,19:S,22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,7]),t(g,[2,8]),t(g,[2,9]),t(g,[2,10]),t(g,[2,11]),t(g,[2,12],{14:[1,39],15:[1,40]}),t(g,[2,16]),{18:[1,41]},t(g,[2,18],{20:[1,42]}),{23:[1,43]},t(g,[2,22]),t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(g,[2,28]),{34:[1,48]},{36:[1,49]},t(g,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(ot,[2,42],{55:[1,54]}),t(ot,[2,43],{55:[1,55]}),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,6]),t(g,[2,13]),{13:56,24:O,54:W},t(g,[2,17]),t(jt,r,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(g,[2,29]),t(g,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(g,[2,14],{14:[1,67]}),{4:h,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:f,17:l,19:S,21:[1,68],22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(g,[2,32]),t(g,[2,33]),t(g,[2,34]),t(g,[2,35]),t(ot,[2,44]),t(ot,[2,45]),t(g,[2,15]),t(g,[2,19]),t(jt,r,{7:72}),t(g,[2,26]),t(g,[2,27]),{4:h,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:f,17:l,19:S,21:[1,73],22:v,24:O,25:P,26:Y,27:I,28:d,29:C,32:25,33:A,35:G,37:j,38:R,42:N,45:st,48:it,49:rt,50:at,51:nt,54:W},t(g,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:i(function(L,a){if(a.recoverable)this.trace(L);else{var n=new Error(L);throw n.hash=a,n}},"parseError"),parse:i(function(L){var a=this,n=[0],y=[],m=[null],s=[],T=this.table,u="",z=0,V=0,ct=0,ht=2,ut=1,Ee=s.slice.call(arguments,1),_=Object.create(this.lexer),M={yy:{}};for(var $t in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$t)&&(M.yy[$t]=this.yy[$t]);_.setInput(L,M.yy),M.yy.lexer=_,M.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var Dt=_.yylloc;s.push(Dt);var xe=_.options&&_.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $e(x){n.length=n.length-2*x,m.length=m.length-x,s.length=s.length-x}i($e,"popStack");function zt(){var x;return x=y.pop()||_.lex()||ut,typeof x!="number"&&(x instanceof Array&&(y=x,x=y.pop()),x=a.symbols_[x]||x),x}i(zt,"lex");for(var k,Ct,X,$,Cs,Lt,J={},dt,w,Mt,pt;;){if(X=n[n.length-1],this.defaultActions[X]?$=this.defaultActions[X]:((k===null||typeof k>"u")&&(k=zt()),$=T[X]&&T[X][k]),typeof $>"u"||!$.length||!$[0]){var vt="";pt=[];for(dt in T[X])this.terminals_[dt]&&dt>ht&&pt.push("'"+this.terminals_[dt]+"'");_.showPosition?vt="Parse error on line "+(z+1)+`: `+_.showPosition()+` Expecting `+pt.join(", ")+", got '"+(this.terminals_[k]||k)+"'":vt="Parse error on line "+(z+1)+": Unexpected "+(k==ut?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(vt,{text:_.match,token:this.terminals_[k]||k,line:_.yylineno,loc:Dt,expected:pt})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+X+", token: "+k);switch($[0]){case 1:n.push(k),m.push(_.yytext),s.push(_.yylloc),n.push($[1]),k=null,Ct?(k=Ct,Ct=null):(V=_.yyleng,u=_.yytext,z=_.yylineno,Dt=_.yylloc,ct>0);break;case 2:if(w=this.productions_[$[1]][1],J.$=m[m.length-w],J._$={first_line:s[s.length-(w||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(w||1)].first_column,last_column:s[s.length-1].last_column},xe&&(J._$.range=[s[s.length-(w||1)].range[0],s[s.length-1].range[1]]),Lt=this.performAction.apply(J,[u,V,z,M.yy,$[1],m,s].concat(Ee)),typeof Lt<"u")return Lt;w&&(n=n.slice(0,-1*w*2),m=m.slice(0,-1*w),s=s.slice(0,-1*w)),n.push(this.productions_[$[1]][0]),m.push(J.$),s.push(J._$),Mt=T[n[n.length-2]][n[n.length-1]],n.push(Mt);break;case 3:return!0}}return!0},"parse")},Te=function(){var L={EOF:1,parseError:i(function(a,n){if(this.yy.parser)this.yy.parser.parseError(a,n);else throw new Error(a)},"parseError"),setInput:i(function(a,n){return this.yy=n||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var n=a.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:i(function(a){var n=a.length,y=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===m.length?this.yylloc.first_column:0)+m[m.length-y.length].length-y[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:i(function(){return this._more=!0,this},"more"),reject:i(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:i(function(a){this.unput(this.match.slice(a))},"less"),pastInput:i(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var a=this.pastInput(),n=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/version/6.0/assets/chunk-P7KHIEPL-BYT7Poah.js b/version/6.0/assets/chunk-P7KHIEPL-BWluqrz7.js similarity index 81% rename from version/6.0/assets/chunk-P7KHIEPL-BYT7Poah.js rename to version/6.0/assets/chunk-P7KHIEPL-BWluqrz7.js index 67e8f3c4d..f71dc4b40 100644 --- a/version/6.0/assets/chunk-P7KHIEPL-BYT7Poah.js +++ b/version/6.0/assets/chunk-P7KHIEPL-BWluqrz7.js @@ -1 +1 @@ -import{m as r,r as h,C as g,t as w}from"./mermaid.esm.min-DhsQPv9X.js";var $=r((e,t)=>{let i;return t==="sandbox"&&(i=h("#i"+e)),(t==="sandbox"?h(i.nodes()[0].contentDocument.body):h("body")).select(`[id="${e}"]`)},"getDiagramElement"),u=r((e,t,i,a)=>{e.attr("class",i);let{width:d,height:n,x:s,y:x}=c(e,t);g(e,n,d,a);let o=l(s,x,d,n,t);e.attr("viewBox",o),w.debug(`viewBox configured: ${o} with padding: ${t}`)},"setupViewPortForSVG"),c=r((e,t)=>{var a;let i=((a=e.node())==null?void 0:a.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+t*2,height:i.height+t*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),l=r((e,t,i,a,d)=>`${e-d} ${t-d} ${i} ${a}`,"createViewBox");export{u as $,$ as w}; +import{m as r,r as h,C as g,t as w}from"./mermaid.esm.min-CpCJ9UxA.js";var $=r((e,t)=>{let i;return t==="sandbox"&&(i=h("#i"+e)),(t==="sandbox"?h(i.nodes()[0].contentDocument.body):h("body")).select(`[id="${e}"]`)},"getDiagramElement"),u=r((e,t,i,a)=>{e.attr("class",i);let{width:d,height:n,x:s,y:x}=c(e,t);g(e,n,d,a);let o=l(s,x,d,n,t);e.attr("viewBox",o),w.debug(`viewBox configured: ${o} with padding: ${t}`)},"setupViewPortForSVG"),c=r((e,t)=>{var a;let i=((a=e.node())==null?void 0:a.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+t*2,height:i.height+t*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),l=r((e,t,i,a,d)=>`${e-d} ${t-d} ${i} ${a}`,"createViewBox");export{u as $,$ as w}; diff --git a/version/6.0/assets/chunk-PWCSEZZ4-XkcOxT8z.js b/version/6.0/assets/chunk-PWCSEZZ4-Bl8jHf5N.js similarity index 99% rename from version/6.0/assets/chunk-PWCSEZZ4-XkcOxT8z.js rename to version/6.0/assets/chunk-PWCSEZZ4-Bl8jHf5N.js index bc3b758cd..e7591794e 100644 --- a/version/6.0/assets/chunk-PWCSEZZ4-XkcOxT8z.js +++ b/version/6.0/assets/chunk-PWCSEZZ4-Bl8jHf5N.js @@ -1,4 +1,4 @@ -import{m as u}from"./mermaid.esm.min-DhsQPv9X.js";function Ve(e){"@babel/helpers - typeof";return Ve=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ve(e)}u(Ve,"_typeof");function va(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}u(va,"_classCallCheck");function Ga(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},"n"),e:u(function(l){throw l},"e"),f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,i=!1,c;return{s:u(function(){n=n.call(e)},"s"),n:u(function(){var l=n.next();return o=l.done,l},"n"),e:u(function(l){i=!0,c=l},"e"),f:u(function(){try{!o&&n.return!=null&&n.return()}finally{if(i)throw c}},"f")}}u(ki,"_createForOfIteratorHelper");var Ye=typeof window>"u"?null:window,lo=Ye?Ye.navigator:null;Ye&&Ye.document;var Qu=Ve(""),gs=Ve({}),Ju=Ve(function(){}),ec=typeof HTMLElement>"u"?"undefined":Ve(HTMLElement),xr=u(function(e){return e&&e.instanceString&&ze(e.instanceString)?e.instanceString():null},"instanceStr"),pe=u(function(e){return e!=null&&Ve(e)==Qu},"string"),ze=u(function(e){return e!=null&&Ve(e)===Ju},"fn"),Me=u(function(e){return!gt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Ce=u(function(e){return e!=null&&Ve(e)===gs&&!Me(e)&&e.constructor===Object},"plainObject"),tc=u(function(e){return e!=null&&Ve(e)===gs},"object"),re=u(function(e){return e!=null&&Ve(e)===Ve(1)&&!isNaN(e)},"number"),nc=u(function(e){return re(e)&&Math.floor(e)===e},"integer"),ia=u(function(e){if(ec!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),gt=u(function(e){return wr(e)||vs(e)},"elementOrCollection"),wr=u(function(e){return xr(e)==="collection"&&e._private.single},"element"),vs=u(function(e){return xr(e)==="collection"&&!e._private.single},"collection"),Ci=u(function(e){return xr(e)==="core"},"core"),ys=u(function(e){return xr(e)==="stylesheet"},"stylesheet"),rc=u(function(e){return xr(e)==="event"},"event"),$t=u(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),ac=u(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),ic=u(function(e){return Ce(e)&&re(e.x1)&&re(e.x2)&&re(e.y1)&&re(e.y2)},"boundingBox"),oc=u(function(e){return tc(e)&&ze(e.then)},"promise"),sc=u(function(){return lo&&lo.userAgent.match(/msie|trident|edge/i)},"ms"),ur=u(function(e,t){t||(t=u(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var r=[],a=0;at?1:0},"ascending"),fc=u(function(e,t){return-1*bs(e,t)},"descending"),ve=Object.assign!=null?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n1&&(y-=1),y<1/6?f+(g-f)*6*y:y<1/2?g:y<2/3?f+(g-f)*(2/3-y)*6:f}u(s,"hue2rgb");var d=new RegExp("^"+cc+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,r=parseFloat(d[2]),r<0||r>100||(r=r/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,o=d[4],o!==void 0&&(o=parseFloat(o),o<0||o>1)))return;if(r===0)i=c=l=Math.round(a*255);else{var h=a<.5?a*(1+r):a+r-a*r,p=2*a-h;i=Math.round(255*s(p,h,n+1/3)),c=Math.round(255*s(p,h,n)),l=Math.round(255*s(p,h,n-1/3))}t=[i,c,l,o]}return t},"hsl2tuple"),yc=u(function(e){var t,n=new RegExp("^"+lc+"$").exec(e);if(n){t=[];for(var r=[],a=1;a<=3;a++){var o=n[a];if(o[o.length-1]==="%"&&(r[a]=!0),o=parseFloat(o),r[a]&&(o=o/100*255),o<0||o>255)return;t.push(Math.floor(o))}var i=r[1]||r[2]||r[3],c=r[1]&&r[2]&&r[3];if(i&&!c)return;var l=n[4];if(l!==void 0){if(l=parseFloat(l),l<0||l>1)return;t.push(l)}}return t},"rgb2tuple"),mc=u(function(e){return xc[e.toLowerCase()]},"colorname2tuple"),bc=u(function(e){return(Me(e)?e:null)||mc(e)||gc(e)||yc(e)||vc(e)},"color2tuple"),xc={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},xs=u(function(e){for(var t=e.map,n=e.keys,r=n.length,a=0;a=t||w<0||h&&S>=o}u(b,"shouldInvoke");function v(){var C=Ra();if(b(C))return m(C);c=setTimeout(v,y(C))}u(v,"timerExpired");function m(C){return c=void 0,p&&r?f(C):(r=a=void 0,i)}u(m,"trailingEdge");function x(){c!==void 0&&clearTimeout(c),s=0,r=l=a=c=void 0}u(x,"cancel");function E(){return c===void 0?i:m(Ra())}u(E,"flush");function P(){var C=Ra(),w=b(C);if(r=arguments,a=this,l=C,w){if(c===void 0)return g(l);if(h)return clearTimeout(c),c=setTimeout(v,t),f(l)}return c===void 0&&(c=setTimeout(v,t)),i}return u(P,"debounced"),P.cancel=x,P.flush=E,P}u(Ns,"debounce");var xa=Ns,Fa=Ye?Ye.performance:null,Os=Fa&&Fa.now?function(){return Fa.now()}:function(){return Date.now()},Gc=function(){if(Ye){if(Ye.requestAnimationFrame)return function(e){Ye.requestAnimationFrame(e)};if(Ye.mozRequestAnimationFrame)return function(e){Ye.mozRequestAnimationFrame(e)};if(Ye.webkitRequestAnimationFrame)return function(e){Ye.webkitRequestAnimationFrame(e)};if(Ye.msRequestAnimationFrame)return function(e){Ye.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout(function(){e(Os())},1e3/60)}}(),oa=u(function(e){return Gc(e)},"requestAnimationFrame"),Vt=Os,Mn=9261,Ls=65599,nr=5381,zs=u(function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Mn,n=t,r;r=e.next(),!r.done;)n=n*Ls+r.value|0;return n},"hashIterableInts"),cr=u(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Mn;return t*Ls+e|0},"hashInt"),dr=u(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nr;return(t<<5)+t+e|0},"hashIntAlt"),Kc=u(function(e,t){return e*2097152+t},"combineHashes"),Ht=u(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),Lr=u(function(e,t){return[cr(e[0],t[0]),dr(e[1],t[1])]},"hashArrays"),Zc=u(function(e,t){var n={value:0,done:!1},r=0,a=e.length,o={next:u(function(){return r=0&&!(e[r]===t&&(e.splice(r,1),n));r--);},"removeFromArray"),_i=u(function(e){e.splice(0,e.length)},"clearArray"),rd=u(function(e,t){for(var n=0;n"u"?"undefined":Ve(Set))!==id?Set:od,wa=u(function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||t===void 0||!Ci(e)){Re("An element must have a core reference and parameters set");return}var r=t.group;if(r==null&&(t.data&&t.data.source!=null&&t.data.target!=null?r="edges":r="nodes"),r!=="nodes"&&r!=="edges"){Re("An element must be of type `nodes` or `edges`; you specified `"+r+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:t.selectable===void 0?!0:!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:t.grabbable===void 0?!0:!!t.grabbable,pannable:t.pannable===void 0?r==="edges":!!t.pannable,active:!1,classes:new Yn,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),t.renderedPosition){var o=t.renderedPosition,i=e.pan(),c=e.zoom();a.position={x:(o.x-i.x)/c,y:(o.y-i.y)/c}}var l=[];Me(t.classes)?l=t.classes:pe(t.classes)&&(l=t.classes.split(/\s+/));for(var s=0,d=l.length;sm?1:0},"defaultCmp"),d=u(function(v,m,x,E,P){var C;if(x==null&&(x=0),P==null&&(P=r),x<0)throw new Error("lo must be non-negative");for(E==null&&(E=v.length);xD;0<=D?I++:I--)S.push(I);return S}).apply(this).reverse(),w=[],E=0,P=C.length;EB;0<=B?++S:--S)T.push(i(v,x));return T},"nsmallest"),y=u(function(v,m,x,E){var P,C,w;for(E==null&&(E=r),P=v[x];x>m;){if(w=x-1>>1,C=v[w],E(P,C)<0){v[x]=C,x=w;continue}break}return v[x]=P},"_siftdown"),b=u(function(v,m,x){var E,P,C,w,S;for(x==null&&(x=r),P=v.length,S=m,C=v[m],E=2*m+1;E0;){var P=v.pop(),C=y(P),w=P.id();if(h[w]=C,C!==1/0)for(var S=P.neighborhood().intersect(f),I=0;I0)for(L.unshift(O);d[A];){var R=d[A];L.unshift(R.edge),L.unshift(R.node),z=R.node,A=z.id()}return i.spawn(L)},"pathTo")}},"dijkstra")},cd={kruskal:u(function(e){e=e||function(m){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,a=n.length,o=new Array(a),i=n,c=u(function(m){for(var x=0;x0;){if(E(),C++,x===s){for(var w=[],S=a,I=s,D=b[I];w.unshift(S),D!=null&&w.unshift(D),S=y[I],S!=null;)I=S.id(),D=b[I];return{found:!0,distance:d[x],path:this.spawn(w),steps:C}}p[x]=!0;for(var B=m._private.edges,T=0;TD&&(f[I]=D,v[I]=S,m[I]=E),!a){var B=S*s+w;!a&&f[B]>D&&(f[B]=D,v[B]=w,m[B]=E)}}}for(var T=0;T1&&arguments[1]!==void 0?arguments[1]:o,ye=m(ie),xe=[],we=ye;;){if(we==null)return t.spawn();var Be=v(we),Ee=Be.edge,Se=Be.pred;if(xe.unshift(we[0]),we.same(he)&&xe.length>0)break;Ee!=null&&xe.unshift(Ee),we=Se}return c.spawn(xe)},"pathTo"),P=0;P=0;s--){var d=l[s],h=d[1],p=d[2];(t[h]===i&&t[p]===c||t[h]===c&&t[p]===i)&&l.splice(s,1)}for(var f=0;fr;){var a=Math.floor(Math.random()*t.length);t=md(a,e,t),n--}return t},"contractUntil"),bd={kargerStein:u(function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy(function(z){return z.isLoop()});var a=n.length,o=r.length,i=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),c=Math.floor(a/yd);if(a<2){Re("At least 2 nodes are required for Karger-Stein algorithm");return}for(var l=[],s=0;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=1/0,a=t;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=-1/0,a=t;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=0,a=0,o=t;o1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;r?e=e.slice(t,n):(n0&&e.splice(0,t));for(var i=0,c=e.length-1;c>=0;c--){var l=e[c];o?isFinite(l)||(e[c]=-1/0,i++):e.splice(c,1)}a&&e.sort(function(h,p){return h-p});var s=e.length,d=Math.floor(s/2);return s%2!==0?e[d+1+i]:(e[d-1+i]+e[d+i])/2},"median"),Sd=u(function(e){return Math.PI*e/180},"deg2rad"),zr=u(function(e,t){return Math.atan2(t,e)-Math.PI/2},"getAngleFromDisp"),Di=Math.log2||function(e){return Math.log(e)/Math.log(2)},Ys=u(function(e){return e>0?1:e<0?-1:0},"signum"),vn=u(function(e,t){return Math.sqrt(sn(e,t))},"dist"),sn=u(function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},"sqdist"),Pd=u(function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),_d=u(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),Dd=u(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),Bd=u(function(e,t,n){return{x1:e.x1+t,x2:e.x2+t,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},"shiftBoundingBox"),Hs=u(function(e,t){e.x1=Math.min(e.x1,t.x1),e.x2=Math.max(e.x2,t.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,t.y1),e.y2=Math.max(e.y2,t.y2),e.h=e.y2-e.y1},"updateBoundingBox"),Id=u(function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),Ur=u(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),Gr=u(function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,r,a,o;if(t.length===1)n=r=a=o=t[0];else if(t.length===2)n=a=t[0],o=r=t[1];else if(t.length===4){var i=mt(t,4);n=i[0],r=i[1],a=i[2],o=i[3]}return e.x1-=o,e.x2+=r,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),yo=u(function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),Bi=u(function(e,t){return!(e.x1>t.x2||t.x1>e.x2||e.x2t.y2||t.y1>e.y2)},"boundingBoxesIntersect"),Vn=u(function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),Md=u(function(e,t){return Vn(e,t.x,t.y)},"pointInBoundingBox"),Ws=u(function(e,t){return Vn(e,t.x1,t.y1)&&Vn(e,t.x2,t.y2)},"boundingBoxInBoundingBox"),Us=u(function(e,t,n,r,a,o,i){var c=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",l=c==="auto"?yn(a,o):c,s=a/2,d=o/2;l=Math.min(l,s,d);var h=l!==s,p=l!==d,f;if(h){var g=n-s+l-i,y=r-d-i,b=n+s-l+i,v=y;if(f=Gt(e,t,n,r,g,y,b,v,!1),f.length>0)return f}if(p){var m=n+s+i,x=r-d+l-i,E=m,P=r+d-l+i;if(f=Gt(e,t,n,r,m,x,E,P,!1),f.length>0)return f}if(h){var C=n-s+l-i,w=r+d+i,S=n+s-l+i,I=w;if(f=Gt(e,t,n,r,C,w,S,I,!1),f.length>0)return f}if(p){var D=n-s-i,B=r-d+l-i,T=D,M=r+d-l+i;if(f=Gt(e,t,n,r,D,B,T,M,!1),f.length>0)return f}var _;{var O=n-s+l,L=r-d+l;if(_=rr(e,t,n,r,O,L,l+i),_.length>0&&_[0]<=O&&_[1]<=L)return[_[0],_[1]]}{var z=n+s-l,A=r-d+l;if(_=rr(e,t,n,r,z,A,l+i),_.length>0&&_[0]>=z&&_[1]<=A)return[_[0],_[1]]}{var R=n+s-l,Y=r+d-l;if(_=rr(e,t,n,r,R,Y,l+i),_.length>0&&_[0]>=R&&_[1]>=Y)return[_[0],_[1]]}{var V=n-s+l,j=r+d-l;if(_=rr(e,t,n,r,V,j,l+i),_.length>0&&_[0]<=V&&_[1]>=j)return[_[0],_[1]]}return[]},"roundRectangleIntersectLine"),Ad=u(function(e,t,n,r,a,o,i){var c=i,l=Math.min(n,a),s=Math.max(n,a),d=Math.min(r,o),h=Math.max(r,o);return l-c<=e&&e<=s+c&&d-c<=t&&t<=h+c},"inLineVicinity"),Nd=u(function(e,t,n,r,a,o,i,c,l){var s={x1:Math.min(n,i,a)-l,x2:Math.max(n,i,a)+l,y1:Math.min(r,c,o)-l,y2:Math.max(r,c,o)+l};return!(es.x2||ts.y2)},"inBezierVicinity"),Od=u(function(e,t,n,r){n-=r;var a=t*t-4*e*n;if(a<0)return[];var o=Math.sqrt(a),i=2*e,c=(-t+o)/i,l=(-t-o)/i;return[c,l]},"solveQuadratic"),Ld=u(function(e,t,n,r,a){var o=1e-5;e===0&&(e=o),t/=e,n/=e,r/=e;var i,c,l,s,d,h,p,f;if(c=(3*n-t*t)/9,l=-(27*r)+t*(9*n-2*(t*t)),l/=54,i=c*c*c+l*l,a[1]=0,p=t/3,i>0){d=l+Math.sqrt(i),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),h=l-Math.sqrt(i),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-p+d+h,p+=(d+h)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-h+d)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,i===0){f=l<0?-Math.pow(-l,1/3):Math.pow(l,1/3),a[0]=-p+2*f,a[4]=a[2]=-(f+p);return}c=-c,s=c*c*c,s=Math.acos(l/Math.sqrt(s)),f=2*Math.sqrt(c),a[0]=-p+f*Math.cos(s/3),a[2]=-p+f*Math.cos((s+2*Math.PI)/3),a[4]=-p+f*Math.cos((s+4*Math.PI)/3)},"solveCubic"),zd=u(function(e,t,n,r,a,o,i,c){var l=1*n*n-4*n*a+2*n*i+4*a*a-4*a*i+i*i+r*r-4*r*o+2*r*c+4*o*o-4*o*c+c*c,s=1*9*n*a-3*n*n-3*n*i-6*a*a+3*a*i+9*r*o-3*r*r-3*r*c-6*o*o+3*o*c,d=1*3*n*n-6*n*a+n*i-n*e+2*a*a+2*a*e-i*e+3*r*r-6*r*o+r*c-r*t+2*o*o+2*o*t-c*t,h=1*n*a-n*n+n*e-a*e+r*o-r*r+r*t-o*t,p=[];Ld(l,s,d,h,p);for(var f=1e-7,g=[],y=0;y<6;y+=2)Math.abs(p[y+1])=0&&p[y]<=1&&g.push(p[y]);g.push(1),g.push(0);for(var b=-1,v,m,x,E=0;E=0?xl?(e-a)*(e-a)+(t-o)*(t-o):s-h},"sqdistToFiniteLine"),ht=u(function(e,t,n){for(var r,a,o,i,c,l=0,s=0;s=e&&e>=o||r<=e&&e<=o)c=(e-r)/(o-r)*(i-a)+a,c>t&&l++;else continue;return l%2!==0},"pointInsidePolygonPoints"),jt=u(function(e,t,n,r,a,o,i,c,l){var s=new Array(n.length),d;c[0]!=null?(d=Math.atan(c[1]/c[0]),c[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=c;for(var h=Math.cos(-d),p=Math.sin(-d),f=0;f0){var y=ua(s,-l);g=la(y)}else g=s;return ht(e,t,g)},"pointInsidePolygon"),Fd=u(function(e,t,n,r,a,o,i,c){for(var l=new Array(n.length*2),s=0;s=0&&y<=1&&v.push(y),b>=0&&b<=1&&v.push(b),v.length===0)return[];var m=v[0]*c[0]+e,x=v[0]*c[1]+t;if(v.length>1){if(v[0]==v[1])return[m,x];var E=v[1]*c[0]+e,P=v[1]*c[1]+t;return[m,x,E,P]}else return[m,x]},"intersectLineCircle"),ja=u(function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},"midOfThree"),Gt=u(function(e,t,n,r,a,o,i,c,l){var s=e-a,d=n-e,h=i-a,p=t-o,f=r-t,g=c-o,y=h*p-g*s,b=d*p-f*s,v=g*d-h*f;if(v!==0){var m=y/v,x=b/v,E=.001,P=0-E,C=1+E;return P<=m&&m<=C&&P<=x&&x<=C?[e+m*d,t+m*f]:l?[e+m*d,t+m*f]:[]}else return y===0||b===0?ja(e,n,i)===i?[i,c]:ja(e,n,a)===a?[a,o]:ja(a,i,n)===n?[n,r]:[]:[]},"finiteLinesIntersect"),fr=u(function(e,t,n,r,a,o,i,c){var l=[],s,d=new Array(n.length),h=!0;o==null&&(h=!1);var p;if(h){for(var f=0;f0){var g=ua(d,-c);p=la(g)}else p=d}else p=n;for(var y,b,v,m,x=0;x2){for(var f=[s[0],s[1]],g=Math.pow(f[0]-e,2)+Math.pow(f[1]-t,2),y=1;ys&&(s=m)},"set"),get:u(function(v){return l[v]},"get")},h=0;h0?_=M.edgesTo(T)[0]:_=T.edgesTo(M)[0];var O=r(_);T=T.id(),C[T]>C[D]+O&&(C[T]=C[D]+O,w.nodes.indexOf(T)<0?w.push(T):w.updateItem(T),P[T]=0,E[T]=[]),C[T]==C[D]+O&&(P[T]=P[T]+P[D],E[T].push(D))}else for(var L=0;L0;){for(var Y=x.pop(),V=0;V0&&i.push(n[c]);i.length!==0&&a.push(r.collection(i))}return a},"assign"),th=u(function(e,t){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:ah,i=r,c,l,s=0;s=2?Jn(e,t,n,0,Eo,ih):Jn(e,t,n,0,wo)},"euclidean"),squaredEuclidean:u(function(e,t,n){return Jn(e,t,n,0,Eo)},"squaredEuclidean"),manhattan:u(function(e,t,n){return Jn(e,t,n,0,wo)},"manhattan"),max:u(function(e,t,n){return Jn(e,t,n,-1/0,oh)},"max")};jn["squared-euclidean"]=jn.squaredEuclidean;jn.squaredeuclidean=jn.squaredEuclidean;function Cr(e,t,n,r,a,o){var i;return ze(e)?i=e:i=jn[e]||jn.euclidean,t===0&&ze(e)?i(a,o):i(t,n,r,a,o)}u(Cr,"clusteringDistance");var sh=et({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Mi=u(function(e){return sh(e)},"setOptions"),ca=u(function(e,t,n,r,a){var o=a!=="kMedoids",i=o?function(d){return n[d]}:function(d){return r[d](n)},c=u(function(d){return r[d](t)},"getQ"),l=n,s=t;return Cr(e,r.length,i,c,l,s)},"getDist"),qa=u(function(e,t,n){for(var r=n.length,a=new Array(r),o=new Array(r),i=new Array(t),c=null,l=0;ln)return!1}return!0},"haveMatricesConverged"),ch=u(function(e,t,n){for(var r=0;ri&&(i=t[l][s],c=s);a[c].push(e[l])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var f=t[o],g=t[r[o]],y;a.mode==="dendrogram"?y={left:f,right:g,key:f.key}:y={value:f.value.concat(g.value),key:f.key},e[f.index]=y,e.splice(g.index,1),t[f.key]=y;for(var b=0;bn[g.key][v.key]&&(c=n[g.key][v.key])):a.linkage==="max"?(c=n[f.key][v.key],n[f.key][v.key]0&&r.push(a);return r},"findExemplars"),_o=u(function(e,t,n){for(var r=[],a=0;ai&&(o=l,i=t[a*e+l])}o>0&&r.push(o)}for(var s=0;sl&&(c=s,l=d)}n[a]=o[c]}return r=_o(e,t,n),r},"assign"),Do=u(function(e){for(var t=this.cy(),n=this.nodes(),r=Ch(e),a={},o=0;o=D?(B=D,D=M,T=_):M>B&&(B=M);for(var O=0;O0?1:0;C[S%r.minIterations*i+V]=j,Y+=j}if(Y>0&&(S>=r.minIterations-1||S==r.maxIterations-1)){for(var W=0,J=0;J1||P>1)&&(i=!0),d[m]=[],v.outgoers().forEach(function(w){w.isEdge()&&d[m].push(w.id())})}else h[m]=[void 0,v.target().id()]}):o.forEach(function(v){var m=v.id();if(v.isNode()){var x=v.degree(!0);x%2&&(c?l?i=!0:l=m:c=m),d[m]=[],v.connectedEdges().forEach(function(E){return d[m].push(E.id())})}else h[m]=[v.source().id(),v.target().id()]});var p={found:!1,trail:void 0};if(i)return p;if(l&&c)if(a){if(s&&l!=s)return p;s=l}else{if(s&&l!=s&&c!=s)return p;s||(s=l)}else s||(s=o[0].id());var f=u(function(v){for(var m=v,x=[v],E,P,C;d[m].length;)E=d[m].shift(),P=h[E][0],C=h[E][1],m!=C?(d[C]=d[C].filter(function(w){return w!=E}),m=C):!a&&m!=P&&(d[P]=d[P].filter(function(w){return w!=E}),m=P),x.unshift(E),x.unshift(m);return x},"walk"),g=[],y=[];for(y=f(s);y.length!=1;)d[y[0]].length==0?(g.unshift(o.getElementById(y.shift())),g.unshift(o.getElementById(y.shift()))):y=f(y.shift()).concat(y);g.unshift(o.getElementById(y.shift()));for(var b in d)if(d[b].length)return p;return p.found=!0,p.trail=this.spawn(g,!0),p},"hierholzer")},Vr=u(function(){var e=this,t={},n=0,r=0,a=[],o=[],i={},c=u(function(d,h){for(var p=o.length-1,f=[],g=e.spawn();o[p].x!=d||o[p].y!=h;)f.push(o.pop().edge),p--;f.push(o.pop().edge),f.forEach(function(y){var b=y.connectedNodes().intersection(e);g.merge(y),b.forEach(function(v){var m=v.id(),x=v.connectedEdges().intersection(e);g.merge(v),t[m].cutVertex?g.merge(x.filter(function(E){return E.isLoop()})):g.merge(x)})}),a.push(g)},"buildComponent"),l=u(function d(h,p,f){h===f&&(r+=1),t[p]={id:n,low:n++,cutVertex:!1};var g=e.getElementById(p).connectedEdges().intersection(e);if(g.size()===0)a.push(e.spawn(e.getElementById(p)));else{var y,b,v,m;g.forEach(function(x){y=x.source().id(),b=x.target().id(),v=y===p?b:y,v!==f&&(m=x.id(),i[m]||(i[m]=!0,o.push({x:p,y:v,edge:x})),v in t?t[p].low=Math.min(t[p].low,t[v].id):(d(h,v,p),t[p].low=Math.min(t[p].low,t[v].low),t[p].id<=t[v].low&&(t[p].cutVertex=!0,c(p,v))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var h=d.id();h in t||(r=0,l(h,h),t[h].cutVertex=r>1)}});var s=Object.keys(t).filter(function(d){return t[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(s),components:a}},"hopcroftTarjanBiconnected"),Mh={hopcroftTarjanBiconnected:Vr,htbc:Vr,htb:Vr,hopcroftTarjanBiconnectedComponents:Vr},jr=u(function(){var e=this,t={},n=0,r=[],a=[],o=e.spawn(e),i=u(function c(l){a.push(l),t[l]={index:n,low:n++,explored:!1};var s=e.getElementById(l).connectedEdges().intersection(e);if(s.forEach(function(g){var y=g.target().id();y!==l&&(y in t||c(y),t[y].explored||(t[l].low=Math.min(t[l].low,t[y].low)))}),t[l].index===t[l].low){for(var d=e.spawn();;){var h=a.pop();if(d.merge(e.getElementById(h)),t[h].low=t[l].index,t[h].explored=!0,h===l)break}var p=d.edgesWith(d),f=d.merge(p);r.push(f),o=o.difference(f)}},"stronglyConnectedSearch");return e.forEach(function(c){if(c.isNode()){var l=c.id();l in t||i(l)}}),{cut:o,components:r}},"tarjanStronglyConnected"),Ah={tarjanStronglyConnected:jr,tsc:jr,tscc:jr,tarjanStronglyConnectedComponents:jr},el={};[hr,ud,cd,hd,fd,vd,bd,Yd,Ln,zn,Qa,rh,vh,Eh,Dh,Ih,Mh,Ah].forEach(function(e){ve(el,e)});var tl=0,nl=1,rl=2,qt=u(function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=tl,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof t=="function"&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");qt.prototype={fulfill:u(function(e){return Bo(this,nl,"fulfillValue",e)},"fulfill"),reject:u(function(e){return Bo(this,rl,"rejectReason",e)},"reject"),then:u(function(e,t){var n=this,r=new qt;return n.onFulfilled.push(Mo(e,r,"fulfill")),n.onRejected.push(Mo(t,r,"reject")),al(n),r.proxy},"then")};var Bo=u(function(e,t,n,r){return e.state===tl&&(e.state=t,e[n]=r,al(e)),e},"deliver"),al=u(function(e){e.state===nl?Io(e,"onFulfilled",e.fulfillValue):e.state===rl&&Io(e,"onRejected",e.rejectReason)},"execute"),Io=u(function(e,t,n){if(e[t].length!==0){var r=e[t];e[t]=[];var a=u(function(){for(var o=0;o0},"animatedImpl")},"animated"),clearQueue:u(function(){return u(function(){var e=this,t=e.length!==void 0,n=t?e:[e],r=this._private.cy||this;if(!r.styleEnabled())return this;for(var a=0;a-1}u(kl,"listCacheHas");var Ep=kl;function Cl(e,t){var n=this.__data__,r=Ca(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}u(Cl,"listCacheSet");var kp=Cl;function En(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e0&&this.spawn(r).updateStyle().emit("class"),t},"classes"),addClass:u(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:u(function(e){var t=this[0];return t!=null&&t._private.classes.has(e)},"hasClass"),toggleClass:u(function(e,t){Me(e)||(e=e.match(/\S+/g)||[]);for(var n=this,r=t===void 0,a=[],o=0,i=n.length;o0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:u(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:u(function(e,t){var n=this;if(t==null)t=250;else if(t===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},t),n},"flashClass")};Kr.className=Kr.classNames=Kr.classes;var ke={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:He,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ke.variable="(?:[\\w-.]|(?:\\\\"+ke.metaChar+"))+";ke.className="(?:[\\w-]|(?:\\\\"+ke.metaChar+"))+";ke.value=ke.string+"|"+ke.number;ke.id=ke.variable;(function(){var e,t,n;for(e=ke.comparatorOp.split("|"),n=0;n=0)&&t!=="="&&(ke.comparatorOp+="|\\!"+t)})();var Ie=u(function(){return{checks:[]}},"newQuery"),oe={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},ei=[{selector:":selected",matches:u(function(e){return e.selected()},"matches")},{selector:":unselected",matches:u(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:u(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:u(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:u(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:u(function(e){return!e.locked()},"matches")},{selector:":visible",matches:u(function(e){return e.visible()},"matches")},{selector:":hidden",matches:u(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:u(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:u(function(e){return e.grabbed()},"matches")},{selector:":free",matches:u(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:u(function(e){return e.removed()},"matches")},{selector:":inside",matches:u(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:u(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:u(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:u(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:u(function(e){return!e.animated()},"matches")},{selector:":parent",matches:u(function(e){return e.isParent()},"matches")},{selector:":childless",matches:u(function(e){return e.isChildless()},"matches")},{selector:":child",matches:u(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:u(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:u(function(e){return e.isChild()},"matches")},{selector:":compound",matches:u(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:u(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:u(function(e){return e.isSimple()},"matches")},{selector:":active",matches:u(function(e){return e.active()},"matches")},{selector:":inactive",matches:u(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:u(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:u(function(e){return!e.backgrounding()},"matches")}].sort(function(e,t){return fc(e.selector,t.selector)}),sf=function(){for(var e={},t,n=0;n0&&s.edgeCount>0)return De("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(s.edgeCount>1)return De("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;s.edgeCount===1&&De("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),pf=u(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=u(function(l){return l??""},"clean"),t=u(function(l){return pe(l)?'"'+l+'"':e(l)},"cleanVal"),n=u(function(l){return" "+l+" "},"space"),r=u(function(l,s){var d=l.type,h=l.value;switch(d){case oe.GROUP:{var p=e(h);return p.substring(0,p.length-1)}case oe.DATA_COMPARE:{var f=l.field,g=l.operator;return"["+f+n(e(g))+t(h)+"]"}case oe.DATA_BOOL:{var y=l.operator,b=l.field;return"["+e(y)+b+"]"}case oe.DATA_EXIST:{var v=l.field;return"["+v+"]"}case oe.META_COMPARE:{var m=l.operator,x=l.field;return"[["+x+n(e(m))+t(h)+"]]"}case oe.STATE:return h;case oe.ID:return"#"+h;case oe.CLASS:return"."+h;case oe.PARENT:case oe.CHILD:return a(l.parent,s)+n(">")+a(l.child,s);case oe.ANCESTOR:case oe.DESCENDANT:return a(l.ancestor,s)+" "+a(l.descendant,s);case oe.COMPOUND_SPLIT:{var E=a(l.left,s),P=a(l.subject,s),C=a(l.right,s);return E+(E.length>0?" ":"")+P+C}case oe.TRUE:return""}},"checkToString"),a=u(function(l,s){return l.checks.reduce(function(d,h,p){return d+(s===l&&p===0?"$":"")+r(h,s)},"")},"queryToString"),o="",i=0;i1&&i=0&&(t=t.replace("!",""),d=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),s=!0),(a||i||s)&&(c=!a&&!o?"":""+e,l=""+n),s&&(e=c=c.toLowerCase(),n=l=l.toLowerCase()),t){case"*=":r=c.indexOf(l)>=0;break;case"$=":r=c.indexOf(l,c.length-l.length)>=0;break;case"^=":r=c.indexOf(l)===0;break;case"=":r=e===n;break;case">":h=!0,r=e>n;break;case">=":h=!0,r=e>=n;break;case"<":h=!0,r=e0;){var d=a.shift();t(d),o.add(d.id()),c&&r(a,o,d)}return e}u(Ta,"forEachCompound");function zi(e,t,n){if(n.isParent())for(var r=n._private.children,a=0;a1&&arguments[1]!==void 0?arguments[1]:!0;return Ta(this,e,t,zi)};function Ri(e,t,n){if(n.isChild()){var r=n._private.parent;t.has(r.id())||e.push(r)}}u(Ri,"addParent");qn.forEachUp=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ta(this,e,t,Ri)};function Ql(e,t,n){Ri(e,t,n),zi(e,t,n)}u(Ql,"addParentAndChildren");qn.forEachUpAndDown=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Ta(this,e,t,Ql)};qn.ancestors=qn.parents;var vr,Jl;vr=Jl={data:_e.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:_e.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:_e.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:_e.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:_e.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:_e.removeData({field:"rscratch",triggerEvent:!1}),id:u(function(){var e=this[0];if(e)return e._private.data.id},"id")};vr.attr=vr.data;vr.removeAttr=vr.removeData;var wf=Jl,_a={};function Zr(e){return function(t){var n=this;if(t===void 0&&(t=!0),n.length!==0)if(n.isNode()&&!n.removed()){for(var r=0,a=n[0],o=a._private.edges,i=0;it}),minIndegree:ln("indegree",function(e,t){return et}),minOutdegree:ln("outdegree",function(e,t){return et})});ve(_a,{totalDegree:u(function(e){for(var t=0,n=this.nodes(),r=0;r0,h=d;d&&(s=s[0]);var p=h?s.position():{x:0,y:0};t!==void 0?l.position(e,t+p[e]):a!==void 0&&l.position({x:a.x+p.x,y:a.y+p.y})}else{var f=n.position(),g=i?n.parent():null,y=g&&g.length>0,b=y;y&&(g=g[0]);var v=b?g.position():{x:0,y:0};return a={x:f.x-v.x,y:f.y-v.y},e===void 0?a:a[e]}else if(!o)return;return this},"relativePosition")};_t.modelPosition=_t.point=_t.position;_t.modelPositions=_t.points=_t.positions;_t.renderedPoint=_t.renderedPosition;_t.relativePoint=_t.relativePosition;var Ef=eu,Rn,nn;Rn=nn={};nn.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),a=n.pan(),o=t.x1*r+a.x,i=t.x2*r+a.x,c=t.y1*r+a.y,l=t.y2*r+a.y;return{x1:o,x2:i,y1:c,y2:l,w:i-o,h:l-c}};nn.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.cy();return!t.styleEnabled()||!t.hasCompoundNodes()?this:(this.forEachUp(function(n){if(n.isParent()){var r=n._private;r.compoundBoundsClean=!1,r.bbCache=null,e||n.emitAndNotify("bounds")}}),this)};nn.updateCompoundBounds=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(i){if(!i.isParent())return;var c=i._private,l=i.children(),s=i.pstyle("compound-sizing-wrt-labels").value==="include",d={width:{val:i.pstyle("min-width").pfValue,left:i.pstyle("min-width-bias-left"),right:i.pstyle("min-width-bias-right")},height:{val:i.pstyle("min-height").pfValue,top:i.pstyle("min-height-bias-top"),bottom:i.pstyle("min-height-bias-bottom")}},h=l.boundingBox({includeLabels:s,includeOverlays:!1,useCache:!1}),p=c.position;(h.w===0||h.h===0)&&(h={w:i.pstyle("width").pfValue,h:i.pstyle("height").pfValue},h.x1=p.x-h.w/2,h.x2=p.x+h.w/2,h.y1=p.y-h.h/2,h.y2=p.y+h.h/2);function f(I,D,B){var T=0,M=0,_=D+B;return I>0&&_>0&&(T=D/_*I,M=B/_*I),{biasDiff:T,biasComplementDiff:M}}u(f,"computeBiasValues");function g(I,D,B,T){if(B.units==="%")switch(T){case"width":return I>0?B.pfValue*I:0;case"height":return D>0?B.pfValue*D:0;case"average":return I>0&&D>0?B.pfValue*(I+D)/2:0;case"min":return I>0&&D>0?I>D?B.pfValue*D:B.pfValue*I:0;case"max":return I>0&&D>0?I>D?B.pfValue*I:B.pfValue*D:0;default:return 0}else return B.units==="px"?B.pfValue:0}u(g,"computePaddingValues");var y=d.width.left.value;d.width.left.units==="px"&&d.width.val>0&&(y=y*100/d.width.val);var b=d.width.right.value;d.width.right.units==="px"&&d.width.val>0&&(b=b*100/d.width.val);var v=d.height.top.value;d.height.top.units==="px"&&d.height.val>0&&(v=v*100/d.height.val);var m=d.height.bottom.value;d.height.bottom.units==="px"&&d.height.val>0&&(m=m*100/d.height.val);var x=f(d.width.val-h.w,y,b),E=x.biasDiff,P=x.biasComplementDiff,C=f(d.height.val-h.h,v,m),w=C.biasDiff,S=C.biasComplementDiff;c.autoPadding=g(h.w,h.h,i.pstyle("padding"),i.pstyle("padding-relative-to").value),c.autoWidth=Math.max(h.w,d.width.val),p.x=(-E+h.x1+h.x2+P)/2,c.autoHeight=Math.max(h.h,d.height.val),p.y=(-w+h.y1+h.y2+S)/2}u(n,"update");for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),un=u(function(e,t){return t==null?e:Pt(e,t.x1,t.y1,t.x2,t.y2)},"updateBoundsFromBox"),er=u(function(e,t,n){return Tt(e,t,n)},"prefixedProperty"),qr=u(function(e,t,n){if(!t.cy().headless()){var r=t._private,a=r.rstyle,o=a.arrowWidth/2,i=t.pstyle(n+"-arrow-shape").value,c,l;if(i!=="none"){n==="source"?(c=a.srcX,l=a.srcY):n==="target"?(c=a.tgtX,l=a.tgtY):(c=a.midX,l=a.midY);var s=r.arrowBounds=r.arrowBounds||{},d=s[n]=s[n]||{};d.x1=c-o,d.y1=l-o,d.x2=c+o,d.y2=l+o,d.w=d.x2-d.x1,d.h=d.y2-d.y1,Ur(d,1),Pt(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),Ya=u(function(e,t,n){if(!t.cy().headless()){var r;n?r=n+"-":r="";var a=t._private,o=a.rstyle,i=t.pstyle(r+"label").strValue;if(i){var c=t.pstyle("text-halign"),l=t.pstyle("text-valign"),s=er(o,"labelWidth",n),d=er(o,"labelHeight",n),h=er(o,"labelX",n),p=er(o,"labelY",n),f=t.pstyle(r+"text-margin-x").pfValue,g=t.pstyle(r+"text-margin-y").pfValue,y=t.isEdge(),b=t.pstyle(r+"text-rotation"),v=t.pstyle("text-outline-width").pfValue,m=t.pstyle("text-border-width").pfValue,x=m/2,E=t.pstyle("text-background-padding").pfValue,P=2,C=d,w=s,S=w/2,I=C/2,D,B,T,M;if(y)D=h-S,B=h+S,T=p-I,M=p+I;else{switch(c.value){case"left":D=h-w,B=h;break;case"center":D=h-S,B=h+S;break;case"right":D=h,B=h+w;break}switch(l.value){case"top":T=p-C,M=p;break;case"center":T=p-I,M=p+I;break;case"bottom":T=p,M=p+C;break}}D+=f-Math.max(v,x)-E-P,B+=f+Math.max(v,x)+E+P,T+=g-Math.max(v,x)-E-P,M+=g+Math.max(v,x)+E+P;var _=n||"main",O=a.labelBounds,L=O[_]=O[_]||{};L.x1=D,L.y1=T,L.x2=B,L.y2=M,L.w=B-D,L.h=M-T;var z=y&&b.strValue==="autorotate",A=b.pfValue!=null&&b.pfValue!==0;if(z||A){var R=z?er(a.rstyle,"labelAngle",n):b.pfValue,Y=Math.cos(R),V=Math.sin(R),j=(D+B)/2,W=(T+M)/2;if(!y){switch(c.value){case"left":j=B;break;case"right":j=D;break}switch(l.value){case"top":W=M;break;case"bottom":W=T;break}}var J=u(function(ne,de){return ne=ne-j,de=de-W,{x:ne*Y-de*V+j,y:ne*V+de*Y+W}},"rotate"),ae=J(D,T),Z=J(D,M),$=J(B,T),N=J(B,M);D=Math.min(ae.x,Z.x,$.x,N.x),B=Math.max(ae.x,Z.x,$.x,N.x),T=Math.min(ae.y,Z.y,$.y,N.y),M=Math.max(ae.y,Z.y,$.y,N.y)}var G=_+"Rot",U=O[G]=O[G]||{};U.x1=D,U.y1=T,U.x2=B,U.y2=M,U.w=B-D,U.h=M-T,Pt(e,D,T,B,M),Pt(a.labelBounds.all,D,T,B,M)}return e}},"updateBoundsFromLabel"),kf=u(function(e,t){if(!t.cy().headless()){var n=t.pstyle("outline-opacity").value,r=t.pstyle("outline-width").value;if(n>0&&r>0){var a=t.pstyle("outline-offset").value,o=t.pstyle("shape").value,i=r+a,c=(e.w+i*2)/e.w,l=(e.h+i*2)/e.h,s=0,d=0;["diamond","pentagon","round-triangle"].includes(o)?(c=(e.w+i*2.4)/e.w,d=-i/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(o)?c=(e.w+i*2.4)/e.w:o==="star"?(c=(e.w+i*2.8)/e.w,l=(e.h+i*2.6)/e.h,d=-i/3.8):o==="triangle"?(c=(e.w+i*2.8)/e.w,l=(e.h+i*2.4)/e.h,d=-i/1.4):o==="vee"&&(c=(e.w+i*4.4)/e.w,l=(e.h+i*3.8)/e.h,d=-i*.5);var h=e.h*l-e.h,p=e.w*c-e.w;if(Gr(e,[Math.ceil(h/2),Math.ceil(p/2)]),s!=0||d!==0){var f=Bd(e,s,d);Hs(e,f)}}}},"updateBoundsFromOutline"),Cf=u(function(e,t){var n=e._private.cy,r=n.styleEnabled(),a=n.headless(),o=pt(),i=e._private,c=e.isNode(),l=e.isEdge(),s,d,h,p,f,g,y=i.rstyle,b=c&&r?e.pstyle("bounds-expansion").pfValue:[0],v=u(function(Q){return Q.pstyle("display").value!=="none"},"isDisplayed"),m=!r||v(e)&&(!l||v(e.source())&&v(e.target()));if(m){var x=0,E=0;r&&t.includeOverlays&&(x=e.pstyle("overlay-opacity").value,x!==0&&(E=e.pstyle("overlay-padding").value));var P=0,C=0;r&&t.includeUnderlays&&(P=e.pstyle("underlay-opacity").value,P!==0&&(C=e.pstyle("underlay-padding").value));var w=Math.max(E,C),S=0,I=0;if(r&&(S=e.pstyle("width").pfValue,I=S/2),c&&t.includeNodes){var D=e.position();f=D.x,g=D.y;var B=e.outerWidth(),T=B/2,M=e.outerHeight(),_=M/2;s=f-T,d=f+T,h=g-_,p=g+_,Pt(o,s,h,d,p),r&&t.includeOutlines&&kf(o,e)}else if(l&&t.includeEdges)if(r&&!a){var O=e.pstyle("curve-style").strValue;if(s=Math.min(y.srcX,y.midX,y.tgtX),d=Math.max(y.srcX,y.midX,y.tgtX),h=Math.min(y.srcY,y.midY,y.tgtY),p=Math.max(y.srcY,y.midY,y.tgtY),s-=I,d+=I,h-=I,p+=I,Pt(o,s,h,d,p),O==="haystack"){var L=y.haystackPts;if(L&&L.length===2){if(s=L[0].x,h=L[0].y,d=L[1].x,p=L[1].y,s>d){var z=s;s=d,d=z}if(h>p){var A=h;h=p,p=A}Pt(o,s-I,h-I,d+I,p+I)}}else if(O==="bezier"||O==="unbundled-bezier"||O.endsWith("segments")||O.endsWith("taxi")){var R;switch(O){case"bezier":case"unbundled-bezier":R=y.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":R=y.linePts;break}if(R!=null)for(var Y=0;Yd){var Z=s;s=d,d=Z}if(h>p){var $=h;h=p,p=$}s-=I,d+=I,h-=I,p+=I,Pt(o,s,h,d,p)}if(r&&t.includeEdges&&l&&(qr(o,e,"mid-source"),qr(o,e,"mid-target"),qr(o,e,"source"),qr(o,e,"target")),r){var N=e.pstyle("ghost").value==="yes";if(N){var G=e.pstyle("ghost-offset-x").pfValue,U=e.pstyle("ghost-offset-y").pfValue;Pt(o,o.x1+G,o.y1+U,o.x2+G,o.y2+U)}}var ne=i.bodyBounds=i.bodyBounds||{};yo(ne,o),Gr(ne,b),Ur(ne,1),r&&(s=o.x1,d=o.x2,h=o.y1,p=o.y2,Pt(o,s-w,h-w,d+w,p+w));var de=i.overlayBounds=i.overlayBounds||{};yo(de,o),Gr(de,b),Ur(de,1);var be=i.labelBounds=i.labelBounds||{};be.all!=null?Dd(be.all):be.all=pt(),r&&t.includeLabels&&(t.includeMainLabels&&Ya(o,e,null),l&&(t.includeSourceLabels&&Ya(o,e,"source"),t.includeTargetLabels&&Ya(o,e,"target")))}return o.x1=bt(o.x1),o.y1=bt(o.y1),o.x2=bt(o.x2),o.y2=bt(o.y2),o.w=bt(o.x2-o.x1),o.h=bt(o.y2-o.y1),o.w>0&&o.h>0&&m&&(Gr(o,b),Ur(o,1)),o},"boundingBoxImpl"),nu=u(function(e){var t=0,n=u(function(a){return(a?1:0)<0&&arguments[0]!==void 0?arguments[0]:Ff,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;c--)i(c);return this};tn.removeAllListeners=function(){return this.removeListener("*")};tn.emit=tn.trigger=function(e,t,n){var r=this.listeners,a=r.length;return this.emitting++,Me(t)||(t=[t]),Vf(this,function(o,i){n!=null&&(r=[{event:i.event,type:i.type,namespace:i.namespace,callback:n}],a=r.length);for(var c=u(function(s){var d=r[s];if(d.type===i.type&&(!d.namespace||d.namespace===i.namespace||d.namespace===Rf)&&o.eventMatches(o.context,d,i)){var h=[i];t!=null&&rd(h,t),o.beforeEmit(o.context,d,i),d.conf&&d.conf.one&&(o.listeners=o.listeners.filter(function(g){return g!==d}));var p=o.callbackContext(o.context,d,i),f=d.callback.apply(p,h);o.afterEmit(o.context,d,i),f===!1&&(i.stopPropagation(),i.preventDefault())}},"_loop2"),l=0;l1&&!o){var i=this.length-1,c=this[i],l=c._private.data.id;this[i]=void 0,this[e]=c,a.set(l,{ele:c,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:u(function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map,a=r.get(n);if(!a)return this;var o=a.index;return this.unmergeAt(o),this},"unmergeOne"),unmerge:u(function(e){var t=this._private.cy;if(!e)return this;if(e&&pe(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--){var n=this[t];e(n)&&this.unmergeAt(t)}return this},"unmergeBy"),map:u(function(e,t){for(var n=[],r=this,a=0;an&&(n=c,r=i)}return{value:n,ele:r}},"max"),min:u(function(e,t){for(var n=1/0,r,a=this,o=0;o=0&&a"u"?"undefined":Ve(Symbol))!=e&&Ve(Symbol.iterator)!=e;t&&(da[Symbol.iterator]=function(){var n=this,r={value:void 0,done:!1},a=0,o=this.length;return wi({next:u(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var a=n._private.style[e];return a??(t?r.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:u(function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:u(function(e){var t=this[0];if(t.cy().styleEnabled()&&t)return t.pstyle(e).units},"numericStyleUnits"),renderedStyle:u(function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];if(n)return t.style().getRenderedStyle(n,e)},"renderedStyle"),style:u(function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=!1,a=n.style();if(Ce(e)){var o=e;a.applyBypass(this,o,r),this.emitAndNotify("style")}else if(pe(e))if(t===void 0){var i=this[0];return i?a.getStylePropertyValue(i,e):void 0}else a.applyBypass(this,e,t,r),this.emitAndNotify("style");else if(e===void 0){var c=this[0];return c?a.getRawStyle(c):void 0}return this},"style"),removeStyle:u(function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=!1,r=t.style(),a=this;if(e===void 0)for(var o=0;o0&&t.push(d[0]),t.push(c[0])}return this.spawn(t,!0).filter(e)},"neighborhood"),closedNeighborhood:u(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:u(function(e){return this.neighborhood(e)},"openNeighborhood")});at.neighbourhood=at.neighborhood;at.closedNeighbourhood=at.closedNeighborhood;at.openNeighbourhood=at.openNeighborhood;ve(at,{source:xt(u(function(e){var t=this[0],n;return t&&(n=t._private.source||t.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:xt(u(function(e){var t=this[0],n;return t&&(n=t._private.target||t.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:ri({attr:"source"}),targets:ri({attr:"target"})});function ri(e){return u(function(t){for(var n=[],r=0;r0);return o},"components"),component:u(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});at.componentsOf=at.components;var Je=u(function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Re("A collection must have a reference to the core");return}var a=new Nt,o=!1;if(!t)t=[];else if(t.length>0&&Ce(t[0])&&!wr(t[0])){o=!0;for(var i=[],c=new Yn,l=0,s=t.length;l0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this,r=n.cy(),a=r._private,o=[],i=[],c,l=0,s=n.length;l0){for(var R=c.length===n.length?n:new Je(r,c),Y=0;Y0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this,r=[],a={},o=n._private.cy;function i(_){for(var O=_._private.edges,L=0;L0&&(e?B.emitAndNotify("remove"):t&&B.emit("remove"));for(var T=0;T0?T=_:B=_;while(Math.abs(M)>i&&++O=o?m(D,O):L===0?O:E(D,B,B+s)}u(P,"getTForX");var C=!1;function w(){C=!0,(e!==t||n!==r)&&x()}u(w,"precompute");var S=u(function(D){return C||w(),e===t&&n===r?D:D===0?0:D===1?1:b(P(D),t,r)},"f");S.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var I="generateBezier("+[e,t,n,r]+")";return S.toString=function(){return I},S}u(hu,"generateCubicBezier");var Zf=function(){function e(r){return-r.tension*r.x-r.friction*r.v}u(e,"springAccelerationForState");function t(r,a,o){var i={x:r.x+o.dx*a,v:r.v+o.dv*a,tension:r.tension,friction:r.friction};return{dx:i.v,dv:e(i)}}u(t,"springEvaluateStateWithDerivative");function n(r,a){var o={dx:r.v,dv:e(r)},i=t(r,a*.5,o),c=t(r,a*.5,i),l=t(r,a,c),s=1/6*(o.dx+2*(i.dx+c.dx)+l.dx),d=1/6*(o.dv+2*(i.dv+c.dv)+l.dv);return r.x=r.x+s*a,r.v=r.v+d*a,r}return u(n,"springIntegrateState"),u(function r(a,o,i){var c={x:-1,v:0,tension:null,friction:null},l=[0],s=0,d=1/1e4,h=16/1e3,p,f,g;for(a=parseFloat(a)||500,o=parseFloat(o)||20,i=i||null,c.tension=a,c.friction=o,p=i!==null,p?(s=r(a,o),f=s/i*h):f=h;g=n(g||c,f),l.push(1+g.x),s+=16,Math.abs(g.x)>d&&Math.abs(g.v)>d;);return p?function(y){return l[y*(l.length-1)|0]}:s},"springRK4Factory")}(),Ae=u(function(e,t,n,r){var a=hu(e,t,n,r);return function(o,i,c){return o+(i-o)*a(c)}},"cubicBezier"),Jr={linear:u(function(e,t,n){return e+(t-e)*n},"linear"),ease:Ae(.25,.1,.25,1),"ease-in":Ae(.42,0,1,1),"ease-out":Ae(0,0,.58,1),"ease-in-out":Ae(.42,0,.58,1),"ease-in-sine":Ae(.47,0,.745,.715),"ease-out-sine":Ae(.39,.575,.565,1),"ease-in-out-sine":Ae(.445,.05,.55,.95),"ease-in-quad":Ae(.55,.085,.68,.53),"ease-out-quad":Ae(.25,.46,.45,.94),"ease-in-out-quad":Ae(.455,.03,.515,.955),"ease-in-cubic":Ae(.55,.055,.675,.19),"ease-out-cubic":Ae(.215,.61,.355,1),"ease-in-out-cubic":Ae(.645,.045,.355,1),"ease-in-quart":Ae(.895,.03,.685,.22),"ease-out-quart":Ae(.165,.84,.44,1),"ease-in-out-quart":Ae(.77,0,.175,1),"ease-in-quint":Ae(.755,.05,.855,.06),"ease-out-quint":Ae(.23,1,.32,1),"ease-in-out-quint":Ae(.86,0,.07,1),"ease-in-expo":Ae(.95,.05,.795,.035),"ease-out-expo":Ae(.19,1,.22,1),"ease-in-out-expo":Ae(1,0,0,1),"ease-in-circ":Ae(.6,.04,.98,.335),"ease-out-circ":Ae(.075,.82,.165,1),"ease-in-out-circ":Ae(.785,.135,.15,.86),spring:u(function(e,t,n){if(n===0)return Jr.linear;var r=Zf(e,t,n);return function(a,o,i){return a+(o-a)*r(i)}},"spring"),"cubic-bezier":Ae};function oi(e,t,n,r,a){if(r===1||t===n)return n;var o=a(t,n,r);return e==null||((e.roundValue||e.color)&&(o=Math.round(o)),e.min!==void 0&&(o=Math.max(o,e.min)),e.max!==void 0&&(o=Math.min(o,e.max))),o}u(oi,"getEasedValue");function si(e,t){return e.pfValue!=null||e.value!=null?e.pfValue!=null&&(t==null||t.type.units!=="%")?e.pfValue:e.value:e}u(si,"getValue");function cn(e,t,n,r,a){var o=a!=null?a.type:null;n<0?n=0:n>1&&(n=1);var i=si(e,a),c=si(t,a);if(re(i)&&re(c))return oi(o,i,c,n,r);if(Me(i)&&Me(c)){for(var l=[],s=0;s0?(f==="spring"&&g.push(i.duration),i.easingImpl=Jr[f].apply(null,g)):i.easingImpl=Jr[f]}var y=i.easingImpl,b;if(i.duration===0?b=1:b=(n-l)/i.duration,i.applying&&(b=i.progress),b<0?b=0:b>1&&(b=1),i.delay==null){var v=i.startPosition,m=i.position;if(m&&a&&!e.locked()){var x={};In(v.x,m.x)&&(x.x=cn(v.x,m.x,b,y)),In(v.y,m.y)&&(x.y=cn(v.y,m.y,b,y)),e.position(x)}var E=i.startPan,P=i.pan,C=o.pan,w=P!=null&&r;w&&(In(E.x,P.x)&&(C.x=cn(E.x,P.x,b,y)),In(E.y,P.y)&&(C.y=cn(E.y,P.y,b,y)),e.emit("pan"));var S=i.startZoom,I=i.zoom,D=I!=null&&r;D&&(In(S,I)&&(o.zoom=pr(o.minZoom,cn(S,I,b,y),o.maxZoom)),e.emit("zoom")),(w||D)&&e.emit("viewport");var B=i.style;if(B&&B.length>0&&a){for(var T=0;T=0;C--){var w=P[C];w()}P.splice(0,P.length)},"callbacks"),m=f.length-1;m>=0;m--){var x=f[m],E=x._private;if(E.stopped){f.splice(m,1),E.hooked=!1,E.playing=!1,E.started=!1,v(E.frames);continue}!E.playing&&!E.applying||(E.playing&&E.applying&&(E.applying=!1),E.started||fu(d,x,e),pu(d,x,e,h),E.applying&&(E.applying=!1),v(E.frames),E.step!=null&&E.step(e),x.completed()&&(f.splice(m,1),E.hooked=!1,E.playing=!1,E.started=!1,v(E.completes)),y=!0)}return!h&&f.length===0&&g.length===0&&r.push(d),y}u(a,"stepOne");for(var o=!1,i=0;i0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}u(li,"stepAll");var $f={animate:_e.animate(),animation:_e.animation(),animated:_e.animated(),clearQueue:_e.clearQueue(),delay:_e.delay(),delayAnimation:_e.delayAnimation(),stop:_e.stop(),addToAnimationPool:u(function(e){var t=this;t.styleEnabled()&&t._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:u(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:u(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function t(){e._private.animationsRunning&&oa(u(function(r){li(r,e),t()},"animationStep"))}u(t,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(u(function(r,a){li(a,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):t()},"startAnimationLoop")},Qf={qualifierCompare:u(function(e,t){return e==null||t==null?e==null&&t==null:e.sameText(t)},"qualifierCompare"),eventMatches:u(function(e,t,n){var r=t.qualifier;return r!=null?e!==n.target&&wr(n.target)&&r.matches(n.target):!0},"eventMatches"),addEventFields:u(function(e,t){t.cy=e,t.target=e},"addEventFields"),callbackContext:u(function(e,t,n){return t.qualifier!=null?n.target:e},"callbackContext")},Yr=u(function(e){return pe(e)?new Jt(e):e},"argSelector"),gu={createEmitter:u(function(){var e=this._private;return e.emitter||(e.emitter=new Pr(Qf,this)),this},"createEmitter"),emitter:u(function(){return this._private.emitter},"emitter"),on:u(function(e,t,n){return this.emitter().on(e,Yr(t),n),this},"on"),removeListener:u(function(e,t,n){return this.emitter().removeListener(e,Yr(t),n),this},"removeListener"),removeAllListeners:u(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:u(function(e,t,n){return this.emitter().one(e,Yr(t),n),this},"one"),once:u(function(e,t,n){return this.emitter().one(e,Yr(t),n),this},"once"),emit:u(function(e,t){return this.emitter().emit(e,t),this},"emit"),emitAndNotify:u(function(e,t){return this.emit(e),this.notify(e,t),this},"emitAndNotify")};_e.eventAliasesOn(gu);var ui={png:u(function(e){var t=this._private.renderer;return e=e||{},t.png(e)},"png"),jpg:u(function(e){var t=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",t.jpg(e)},"jpg")};ui.jpeg=ui.jpg;var ea={layout:u(function(e){var t=this;if(e==null){Re("Layout options must be specified to make a layout");return}if(e.name==null){Re("A `name` must be specified to make a layout");return}var n=e.name,r=t.extension("layout",n);if(r==null){Re("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;pe(e.eles)?a=t.$(e.eles):a=e.eles!=null?e.eles:t.$();var o=new r(ve({},e,{cy:t,eles:a}));return o},"layout")};ea.createLayout=ea.makeLayout=ea.layout;var Jf={notify:u(function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();t!=null&&r.merge(t);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,t)}},"notify"),notifications:u(function(e){var t=this._private;return e===void 0?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},"notifications"),noNotifications:u(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:u(function(){return this._private.batchCount>0},"batching"),startBatch:u(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:u(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)})}return this},"endBatch"),batch:u(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:u(function(e){var t=this;return this.batch(function(){for(var n=Object.keys(e),r=0;r0;)t.removeChild(t.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var r=n._private;r.rscratch={},r.rstyle={},r.animation.current=[],r.animation.queue=[]})},"destroyRenderer"),onRender:u(function(e){return this.on("render",e)},"onRender"),offRender:u(function(e){return this.off("render",e)},"offRender")};ci.invalidateDimensions=ci.resize;var ta={collection:u(function(e,t){return pe(e)?this.$(e):gt(e)?e.collection():Me(e)?(t||(t={}),new Je(this,e,t.unique,t.removed)):new Je(this)},"collection"),nodes:u(function(e){var t=this.$(function(n){return n.isNode()});return e?t.filter(e):t},"nodes"),edges:u(function(e){var t=this.$(function(n){return n.isEdge()});return e?t.filter(e):t},"edges"),$:u(function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},"$"),mutableElements:u(function(){return this._private.elements},"mutableElements")};ta.elements=ta.filter=ta.$;var ot={},sr="t",tg="f";ot.apply=function(e){for(var t=this,n=t._private,r=n.cy,a=r.collection(),o=0;o0;if(p||h&&f){var g=void 0;p&&f||p?g=s.properties:f&&(g=s.mappedProperties);for(var y=0;y1&&(E=1),c.color){var C=r.valueMin[0],w=r.valueMax[0],S=r.valueMin[1],I=r.valueMax[1],D=r.valueMin[2],B=r.valueMax[2],T=r.valueMin[3]==null?1:r.valueMin[3],M=r.valueMax[3]==null?1:r.valueMax[3],_=[Math.round(C+(w-C)*E),Math.round(S+(I-S)*E),Math.round(D+(B-D)*E),Math.round(T+(M-T)*E)];o={bypass:r.bypass,name:r.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else if(c.number){var O=r.valueMin+(r.valueMax-r.valueMin)*E;o=this.parse(r.name,O,r.bypass,p)}else return!1;if(!o)return y(),!1;o.mapping=r,r=o;break}case i.data:{for(var L=r.field.split("."),z=h.data,A=0;A0&&o>0){for(var c={},l=!1,s=0;s0?e.delayAnimation(i).play().promise().then(x):x()}).then(function(){return e.animation({style:c,duration:o,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){n.removeBypasses(e,a),e.emitAndNotify("style"),r.transitioning=!1})}else r.transitioning&&(this.removeBypasses(e,a),e.emitAndNotify("style"),r.transitioning=!1)};ot.checkTrigger=function(e,t,n,r,a,o){var i=this.properties[t],c=a(i);c!=null&&c(n,r)&&o(i)};ot.checkZOrderTrigger=function(e,t,n,r){var a=this;this.checkTrigger(e,t,n,r,function(o){return o.triggersZOrder},function(){a._private.cy.notify("zorder",e)})};ot.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,function(a){return a.triggersBounds},function(a){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),a.triggersBoundsOfParallelBeziers&&t==="curve-style"&&(n==="bezier"||r==="bezier")&&e.parallelEdges().forEach(function(o){o.isBundledBezier()&&o.dirtyBoundingBoxCache()}),a.triggersBoundsOfConnectedEdges&&t==="display"&&(n==="none"||r==="none")&&e.connectedEdges().forEach(function(o){o.dirtyBoundingBoxCache()})})};ot.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var Dr={};Dr.applyBypass=function(e,t,n,r){var a=this,o=[],i=!0;if(t==="*"||t==="**"){if(n!==void 0)for(var c=0;ca.length?r=r.substr(a.length):r=""}u(c,"removeSelAndBlockFromRemaining");function l(){o.length>i.length?o=o.substr(i.length):o=""}for(u(l,"removePropAndValFromRem");;){var s=r.match(/^\s*$/);if(s)break;var d=r.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!d){De("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+r);break}a=d[0];var h=d[1];if(h!=="core"){var p=new Jt(h);if(p.invalid){De("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),c();continue}}var f=d[2],g=!1;o=f;for(var y=[];;){var b=o.match(/^\s*$/);if(b)break;var v=o.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!v){De("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+f),g=!0;break}i=v[0];var m=v[1],x=v[2],E=t.properties[m];if(!E){De("Skipping property: Invalid property name in: "+i),l();continue}var P=n.parse(m,x);if(!P){De("Skipping property: Invalid property definition in: "+i),l();continue}y.push({name:m,val:x}),l()}if(g){c();break}n.selector(h);for(var C=0;C=7&&t[0]==="d"&&(d=new RegExp(c.data.regex).exec(t))){if(n)return!1;var p=c.data;return{name:e,value:d,strValue:""+t,mapped:p,field:d[1],bypass:n}}else if(t.length>=10&&t[0]==="m"&&(h=new RegExp(c.mapData.regex).exec(t))){if(n||s.multiple)return!1;var f=c.mapData;if(!(s.color||s.number))return!1;var g=this.parse(e,h[4]);if(!g||g.mapped)return!1;var y=this.parse(e,h[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return De("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+g.strValue+"`"),this.parse(e,g.strValue);if(s.color){var b=g.value,v=y.value,m=b[0]===v[0]&&b[1]===v[1]&&b[2]===v[2]&&(b[3]===v[3]||(b[3]==null||b[3]===1)&&(v[3]==null||v[3]===1));if(m)return!1}return{name:e,value:h,strValue:""+t,mapped:f,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:g.value,valueMax:y.value,bypass:n}}}if(s.multiple&&r!=="multiple"){var x;if(l?x=t.split(/\s+/):Me(t)?x=t:x=[t],s.evenMultiple&&x.length%2!==0)return null;for(var E=[],P=[],C=[],w="",S=!1,I=0;I0?" ":"")+D.strValue}return s.validate&&!s.validate(E,P)?null:s.singleEnum&&S?E.length===1&&pe(E[0])?{name:e,value:E[0],strValue:E[0],bypass:n}:null:{name:e,value:E,pfValue:C,strValue:w,bypass:n,units:P}}var B=u(function(){for(var N=0;Ns.max||s.strictMax&&t===s.max))return null;var L={name:e,value:t,strValue:""+t+(T||""),units:T,bypass:n};return s.unitless||T!=="px"&&T!=="em"?L.pfValue=t:L.pfValue=T==="px"||!T?t:this.getEmSizeInPixels()*t,(T==="ms"||T==="s")&&(L.pfValue=T==="ms"?t:1e3*t),(T==="deg"||T==="rad")&&(L.pfValue=T==="rad"?t:Sd(t)),T==="%"&&(L.pfValue=t/100),L}else if(s.propList){var z=[],A=""+t;if(A!=="none"){for(var R=A.split(/\s*,\s*|\s+/),Y=0;Y0&&i>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){c=Math.min((o-2*t)/n.w,(i-2*t)/n.h),c=c>this._private.maxZoom?this._private.maxZoom:c,c=c=n.minZoom&&(n.maxZoom=t),this},"zoomRange"),minZoom:u(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:u(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:u(function(e){var t=this._private,n=t.pan,r=t.zoom,a,o,i=!1;if(t.zoomingEnabled||(i=!0),re(e)?o=e:Ce(e)&&(o=e.level,e.position!=null?a=Ea(e.position,r,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!t.panningEnabled&&(i=!0)),o=o>t.maxZoom?t.maxZoom:o,o=ot.maxZoom||!t.zoomingEnabled?o=!0:(t.zoom=c,a.push("zoom"))}if(r&&(!o||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;re(l.x)&&(t.pan.x=l.x,i=!1),re(l.y)&&(t.pan.y=l.y,i=!1),i||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:u(function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:u(function(e,t){if(this._private.panningEnabled){if(pe(e)){var n=e;e=this.mutableElements().filter(n)}else gt(e)||(e=this.mutableElements());if(e.length!==0){var r=e.boundingBox(),a=this.width(),o=this.height();t=t===void 0?this._private.zoom:t;var i={x:(a-t*(r.x1+r.x2))/2,y:(o-t*(r.y1+r.y2))/2};return i}}},"getCenterPan"),reset:u(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:u(function(){this._private.sizeCache=null},"invalidateSize"),size:u(function(){var e=this._private,t=e.container,n=this;return e.sizeCache=e.sizeCache||(t?function(){var r=n.window().getComputedStyle(t),a=u(function(o){return parseFloat(r.getPropertyValue(o))},"val");return{width:t.clientWidth-a("padding-left")-a("padding-right"),height:t.clientHeight-a("padding-top")-a("padding-bottom")}}():{width:1,height:1})},"size"),width:u(function(){return this.size().width},"width"),height:u(function(){return this.size().height},"height"),extent:u(function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},"extent"),renderedExtent:u(function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},"renderedExtent"),multiClickDebounceTime:u(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};bn.centre=bn.center;bn.autolockNodes=bn.autolock;bn.autoungrabifyNodes=bn.autoungrabify;var mr={data:_e.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:_e.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:_e.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:_e.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};mr.attr=mr.data;mr.removeAttr=mr.removeData;var br=u(function(e){var t=this;e=ve({},e);var n=e.container;n&&!ia(n)&&ia(n[0])&&(n=n[0]);var r=n?n._cyreg:null;r=r||{},r&&r.cy&&(r.cy.destroy(),r={});var a=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var o=Ye!==void 0&&n!==void 0&&!e.headless,i=e;i.layout=ve({name:o?"grid":"null"},i.layout),i.renderer=ve({name:o?"canvas":"null"},i.renderer);var c=u(function(p,f,g){return f!==void 0?f:g!==void 0?g:p},"defVal"),l=this._private={container:n,ready:!1,options:i,elements:new Je(this),listeners:[],aniEles:new Je(this),data:i.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:c(!0,i.zoomingEnabled),userZoomingEnabled:c(!0,i.userZoomingEnabled),panningEnabled:c(!0,i.panningEnabled),userPanningEnabled:c(!0,i.userPanningEnabled),boxSelectionEnabled:c(!0,i.boxSelectionEnabled),autolock:c(!1,i.autolock,i.autolockNodes),autoungrabify:c(!1,i.autoungrabify,i.autoungrabifyNodes),autounselectify:c(!1,i.autounselectify),styleEnabled:i.styleEnabled===void 0?o:i.styleEnabled,zoom:re(i.zoom)?i.zoom:1,pan:{x:Ce(i.pan)&&re(i.pan.x)?i.pan.x:0,y:Ce(i.pan)&&re(i.pan.y)?i.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:c(250,i.multiClickDebounceTime)};this.createEmitter(),this.selectionType(i.selectionType),this.zoomRange({min:i.minZoom,max:i.maxZoom});var s=u(function(p,f){var g=p.some(oc);if(g)return Hn.all(p).then(f);f(p)},"loadExtData");l.styleEnabled&&t.setStyle([]);var d=ve({},i,i.renderer);t.initRenderer(d);var h=u(function(p,f,g){t.notifications(!1);var y=t.mutableElements();y.length>0&&y.remove(),p!=null&&(Ce(p)||Me(p))&&t.add(p),t.one("layoutready",function(v){t.notifications(!0),t.emit(v),t.one("load",f),t.emitAndNotify("load")}).one("layoutstop",function(){t.one("done",g),t.emit("done")});var b=ve({},t._private.options.layout);b.eles=t.elements(),t.layout(b).run()},"setElesAndLayout");s([i.style,i.elements],function(p){var f=p[0],g=p[1];l.styleEnabled&&t.style().append(f),h(g,function(){t.startAnimationLoop(),l.ready=!0,ze(i.ready)&&t.on("ready",i.ready);for(var y=0;y0,l=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s;if(gt(t.roots))s=t.roots;else if(Me(t.roots)){for(var d=[],h=0;h0;){var O=_(),L=D(O,T);if(L)O.outgoers().filter(function(Q){return Q.isNode()&&r.has(Q)}).forEach(M);else if(L===null){De("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}I();var z=0;if(t.avoidOverlap)for(var A=0;A0&&v[0].length<=3?Be/2:0),Se=2*Math.PI/v[ie].length*he;return ie===0&&v[0].length===1&&(Ee=1),{x:ne.x+Ee*Math.cos(Se),y:ne.y+Ee*Math.sin(Se)}}else{var k={x:ne.x+(he+1-(ye+1)/2)*xe,y:(ie+1)*we};return k}},"getPosition");return r.nodes().layoutPositions(this,t,be),this};var og={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:u(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:u(function(e,t){return t},"transform")};function Xi(e){this.options=ve({},og,e)}u(Xi,"CircleLayout");Xi.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=t.counterclockwise!==void 0?!t.counterclockwise:t.clockwise,o=r.nodes().not(":parent");t.sort&&(o=o.sort(t.sort));for(var i=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c={x:i.x1+i.w/2,y:i.y1+i.h/2},l=t.sweep===void 0?2*Math.PI-2*Math.PI/o.length:t.sweep,s=l/Math.max(1,o.length-1),d,h=0,p=0;p1&&t.avoidOverlap){h*=1.75;var v=Math.cos(s)-Math.cos(0),m=Math.sin(s)-Math.sin(0),x=Math.sqrt(h*h/(v*v+m*m));d=Math.max(x,d)}var E=u(function(P,C){var w=t.startAngle+C*s*(a?1:-1),S=d*Math.cos(w),I=d*Math.sin(w),D={x:c.x+S,y:c.y+I};return D},"getPos");return r.nodes().layoutPositions(this,t,E),this};var sg={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:u(function(e){return e.degree()},"concentric"),levelWidth:u(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:u(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:u(function(e,t){return t},"transform")};function Yi(e){this.options=ve({},sg,e)}u(Yi,"ConcentricLayout");Yi.prototype.run=function(){for(var e=this.options,t=e,n=t.counterclockwise!==void 0?!t.counterclockwise:t.clockwise,r=e.cy,a=t.eles,o=a.nodes().not(":parent"),i=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),c={x:i.x1+i.w/2,y:i.y1+i.h/2},l=[],s=0,d=0;d0){var P=Math.abs(m[0].value-E.value);P>=b&&(m=[],v.push(m))}m.push(E)}var C=s+t.minNodeSpacing;if(!t.avoidOverlap){var w=v.length>0&&v[0].length>1,S=Math.min(i.w,i.h)/2-C,I=S/(v.length+w?1:0);C=Math.min(C,I)}for(var D=0,B=0;B1&&t.avoidOverlap){var O=Math.cos(_)-Math.cos(0),L=Math.sin(_)-Math.sin(0),z=Math.sqrt(C*C/(O*O+L*L));D=Math.max(z,D)}T.r=D,D+=C}if(t.equidistant){for(var A=0,R=0,Y=0;Y=e.numIter||(gg(r,e),r.temperature=r.temperature*e.coolingFactor,r.temperature=e.animationThreshold&&o(),oa(h)}},"frame");d()}else{for(;s;)s=i(l),l++;Zo(r,e),c()}return this};Br.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};Br.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var ug=u(function(e,t,n){for(var r=n.eles.edges(),a=n.eles.nodes(),o=pt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),i={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},c=n.eles.components(),l={},s=0;s0){i.graphSet.push(w);for(var s=0;sr.count?0:r.graph},"findLCA"),dg=u(function e(t,n,r,a){var o=a.graphSet[r];if(-10)var b=r.nodeOverlap*s,y=Math.sqrt(i*i+c*c),v=b*i/y,m=b*c/y;else var d=pa(e,i,c),h=pa(t,-1*i,-1*c),p=h.x-d.x,f=h.y-d.y,g=p*p+f*f,y=Math.sqrt(g),b=(e.nodeRepulsion+t.nodeRepulsion)/g,v=b*p/y,m=b*f/y;e.isLocked||(e.offsetX-=v,e.offsetY-=m),t.isLocked||(t.offsetX+=v,t.offsetY+=m)}},"nodeRepulsion"),mg=u(function(e,t,n,r){if(n>0)var a=e.maxX-t.minX;else var a=t.maxX-e.minX;if(r>0)var o=e.maxY-t.minY;else var o=t.maxY-e.minY;return a>=0&&o>=0?Math.sqrt(a*a+o*o):0},"nodesOverlap"),pa=u(function(e,t,n){var r=e.positionX,a=e.positionY,o=e.height||1,i=e.width||1,c=n/t,l=o/i,s={};return t===0&&0n?(s.x=r,s.y=a+o/2,s):0t&&-1*l<=c&&c<=l?(s.x=r-i/2,s.y=a-i*n/2/t,s):0=l)?(s.x=r+o*t/2/n,s.y=a+o/2,s):(0>n&&(c<=-1*l||c>=l)&&(s.x=r-o*t/2/n,s.y=a-o/2),s)},"findClippingPoint"),bg=u(function(e,t){for(var n=0;nn){var y=t.gravity*p/g,b=t.gravity*f/g;h.offsetX+=y,h.offsetY+=b}}}}},"calculateGravityForces"),wg=u(function(e,t){var n=[],r=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;r<=a;){var o=n[r++],i=e.idToIndex[o],c=e.layoutNodes[i],l=c.children;if(0n)var a={x:n*e/r,y:n*t/r};else var a={x:e,y:t};return a},"limitForce"),Cg=u(function e(t,n){var r=t.parentId;if(r!=null){var a=n.layoutNodes[n.idToIndex[r]],o=!1;if((a.maxX==null||t.maxX+a.padRight>a.maxX)&&(a.maxX=t.maxX+a.padRight,o=!0),(a.minX==null||t.minX-a.padLefta.maxY)&&(a.maxY=t.maxY+a.padBottom,o=!0),(a.minY==null||t.minY-a.padTopb&&(f+=y+t.componentSpacing,p=0,g=0,y=0)}}},"separateComponents"),Sg={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:u(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:u(function(e,t){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:u(function(e,t){return t},"transform")};function Hi(e){this.options=ve({},Sg,e)}u(Hi,"GridLayout");Hi.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));var o=pt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(o.h===0||o.w===0)r.nodes().layoutPositions(this,t,function(W){return{x:o.x1,y:o.y1}});else{var i=a.size(),c=Math.sqrt(i*o.h/o.w),l=Math.round(c),s=Math.round(o.w/o.h*c),d=u(function(W){if(W==null)return Math.min(l,s);var J=Math.min(l,s);J==l?l=W:s=W},"small"),h=u(function(W){if(W==null)return Math.max(l,s);var J=Math.max(l,s);J==l?l=W:s=W},"large"),p=t.rows,f=t.cols!=null?t.cols:t.columns;if(p!=null&&f!=null)l=p,s=f;else if(p!=null&&f==null)l=p,s=Math.ceil(i/l);else if(p==null&&f!=null)s=f,l=Math.ceil(i/s);else if(s*l>i){var g=d(),y=h();(g-1)*y>=i?d(g-1):(y-1)*g>=i&&h(y-1)}else for(;s*l=i?h(v+1):d(b+1)}var m=o.w/s,x=o.h/l;if(t.condense&&(m=0,x=0),t.avoidOverlap)for(var E=0;E=s&&(O=0,_++)},"moveToNextCell"),z={},A=0;A(z=Rd(e,t,A[R],A[R+1],A[R+2],A[R+3])))return b(w,z),!0}else if(I.edgeType==="bezier"||I.edgeType==="multibezier"||I.edgeType==="self"||I.edgeType==="compound"){for(var A=I.allpts,R=0;R+5(z=zd(e,t,A[R],A[R+1],A[R+2],A[R+3],A[R+4],A[R+5])))return b(w,z),!0}for(var O=O||S.source,L=L||S.target,Y=a.getArrowWidth(D,B),V=[{name:"source",x:I.arrowStartX,y:I.arrowStartY,angle:I.srcArrowAngle},{name:"target",x:I.arrowEndX,y:I.arrowEndY,angle:I.tgtArrowAngle},{name:"mid-source",x:I.midX,y:I.midY,angle:I.midsrcArrowAngle},{name:"mid-target",x:I.midX,y:I.midY,angle:I.midtgtArrowAngle}],R=0;R0&&(v(O),v(L))}u(m,"checkEdge");function x(w,S,I){return Tt(w,S,I)}u(x,"preprop");function E(w,S){var I=w._private,D=p,B;S?B=S+"-":B="",w.boundingBox();var T=I.labelBounds[S||"main"],M=w.pstyle(B+"label").value,_=w.pstyle("text-events").strValue==="yes";if(!(!_||!M)){var O=x(I.rscratch,"labelX",S),L=x(I.rscratch,"labelY",S),z=x(I.rscratch,"labelAngle",S),A=w.pstyle(B+"text-margin-x").pfValue,R=w.pstyle(B+"text-margin-y").pfValue,Y=T.x1-D-A,V=T.x2+D-A,j=T.y1-D-R,W=T.y2+D-R;if(z){var J=Math.cos(z),ae=Math.sin(z),Z=u(function(de,be){return de=de-O,be=be-L,{x:de*J-be*ae+O,y:de*ae+be*J+L}},"rotate"),$=Z(Y,j),N=Z(Y,W),G=Z(V,j),U=Z(V,W),ne=[$.x+A,$.y+R,G.x+A,G.y+R,U.x+A,U.y+R,N.x+A,N.y+R];if(ht(e,t,ne))return b(w),!0}else if(Vn(T,e,t))return b(w),!0}}u(E,"checkLabel");for(var P=i.length-1;P>=0;P--){var C=i[P];C.isNode()?v(C)||E(C):m(C)||E(C)||E(C,"source")||E(C,"target")}return c};Sn.getAllInBox=function(e,t,n,r){var a=this.getCachedZSortedEles().interactive,o=[],i=Math.min(e,n),c=Math.max(e,n),l=Math.min(t,r),s=Math.max(t,r);e=i,n=c,t=l,r=s;for(var d=pt({x1:e,y1:t,x2:n,y2:r}),h=0;h0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),Ig=u(function(e,t,n,r,a){if(e!==ts?ns(t,e,Mt):Bg(yt,Mt),ns(t,n,yt),Jo=Mt.nx*yt.ny-Mt.ny*yt.nx,es=Mt.nx*yt.nx-Mt.ny*-yt.ny,Ft=Math.asin(Math.max(-1,Math.min(1,Jo))),Math.abs(Ft)<1e-6){di=t.x,hi=t.y,dn=Dn=0;return}hn=1,na=!1,es<0?Ft<0?Ft=Math.PI+Ft:(Ft=Math.PI-Ft,hn=-1,na=!0):Ft>0&&(hn=-1,na=!0),t.radius!==void 0?Dn=t.radius:Dn=r,an=Ft/2,Hr=Math.min(Mt.len/2,yt.len/2),a?(It=Math.abs(Math.cos(an)*Dn/Math.sin(an)),It>Hr?(It=Hr,dn=Math.abs(It*Math.sin(an)/Math.cos(an))):dn=Dn):(It=Math.min(Hr,Dn),dn=Math.abs(It*Math.sin(an)/Math.cos(an))),pi=t.x+yt.nx*It,fi=t.y+yt.ny*It,di=pi-yt.ny*dn*hn,hi=fi+yt.nx*dn*hn,yu=t.x+Mt.nx*It,mu=t.y+Mt.ny*It,ts=t},"calcCornerArc");function Zi(e,t){t.radius===0?e.lineTo(t.cx,t.cy):e.arc(t.cx,t.cy,t.radius,t.startAngle,t.endAngle,t.counterClockwise)}u(Zi,"drawPreparedRoundCorner");function Aa(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return r===0||t.radius===0?{cx:t.x,cy:t.y,radius:0,startX:t.x,startY:t.y,stopX:t.x,stopY:t.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(Ig(e,t,n,r,a),{cx:di,cy:hi,radius:dn,startX:yu,startY:mu,stopX:pi,stopY:fi,startAngle:Mt.ang+Math.PI/2*hn,endAngle:yt.ang-Math.PI/2*hn,counterClockwise:na})}u(Aa,"getRoundCorner");var st={};st.findMidptPtsEtc=function(e,t){var n=t.posPts,r=t.intersectionPts,a=t.vectorNormInverse,o,i=e.pstyle("source-endpoint"),c=e.pstyle("target-endpoint"),l=i.units!=null&&c.units!=null,s=u(function(E,P,C,w){var S=w-P,I=C-E,D=Math.sqrt(I*I+S*S);return{x:-S/D,y:I/D}},"recalcVectorNormInverse"),d=e.pstyle("edge-distances").value;switch(d){case"node-position":o=n;break;case"intersection":o=r;break;case"endpoints":{if(l){var h=this.manualEndptToPx(e.source()[0],i),p=mt(h,2),f=p[0],g=p[1],y=this.manualEndptToPx(e.target()[0],c),b=mt(y,2),v=b[0],m=b[1],x={x1:f,y1:g,x2:v,y2:m};a=s(f,g,v,m),o=x}else De("Edge ".concat(e.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),o=r;break}}return{midptPts:o,vectorNormInverse:a}};st.findHaystackPoints=function(e){for(var t=0;t0?Math.max(fe-ge,0):Math.min(fe+ge,0)},"subDWH"),M=T(D,S),_=T(B,I),O=!1;m===s?v=Math.abs(M)>Math.abs(_)?a:r:m===l||m===c?(v=r,O=!0):(m===o||m===i)&&(v=a,O=!0);var L=v===r,z=L?_:M,A=L?B:D,R=Ys(A),Y=!1;!(O&&(E||C))&&(m===c&&A<0||m===l&&A>0||m===o&&A>0||m===i&&A<0)&&(R*=-1,z=R*Math.abs(z),Y=!0);var V;if(E){var j=P<0?1+P:P;V=j*z}else{var W=P<0?z:0;V=W+P*R}var J=u(function(fe){return Math.abs(fe)=Math.abs(z)},"getIsTooClose"),ae=J(V),Z=J(Math.abs(z)-Math.abs(V)),$=ae||Z;if($&&!Y)if(L){var N=Math.abs(A)<=p/2,G=Math.abs(D)<=f/2;if(N){var U=(d.x1+d.x2)/2,ne=d.y1,de=d.y2;n.segpts=[U,ne,U,de]}else if(G){var be=(d.y1+d.y2)/2,Q=d.x1,se=d.x2;n.segpts=[Q,be,se,be]}else n.segpts=[d.x1,d.y2]}else{var ie=Math.abs(A)<=h/2,he=Math.abs(B)<=g/2;if(ie){var ye=(d.y1+d.y2)/2,xe=d.x1,we=d.x2;n.segpts=[xe,ye,we,ye]}else if(he){var Be=(d.x1+d.x2)/2,Ee=d.y1,Se=d.y2;n.segpts=[Be,Ee,Be,Se]}else n.segpts=[d.x2,d.y1]}else if(L){var k=d.y1+V+(b?p/2*R:0),F=d.x1,K=d.x2;n.segpts=[F,k,K,k]}else{var H=d.x1+V+(b?h/2*R:0),q=d.y1,te=d.y2;n.segpts=[H,q,H,te]}if(n.isRound){var X=e.pstyle("taxi-radius").value,ee=e.pstyle("radius-type").value[0]==="arc-radius";n.radii=new Array(n.segpts.length/2).fill(X),n.isArcRadius=new Array(n.segpts.length/2).fill(ee)}};st.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if(n.edgeType==="bezier"){var r=t.srcPos,a=t.tgtPos,o=t.srcW,i=t.srcH,c=t.tgtW,l=t.tgtH,s=t.srcShape,d=t.tgtShape,h=t.srcCornerRadius,p=t.tgtCornerRadius,f=t.srcRs,g=t.tgtRs,y=!re(n.startX)||!re(n.startY),b=!re(n.arrowStartX)||!re(n.arrowStartY),v=!re(n.endX)||!re(n.endY),m=!re(n.arrowEndX)||!re(n.arrowEndY),x=3,E=this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth,P=x*E,C=vn({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),w=CM.poolIndex()){var _=T;T=M,M=_}var O=S.srcPos=T.position(),L=S.tgtPos=M.position(),z=S.srcW=T.outerWidth(),A=S.srcH=T.outerHeight(),R=S.tgtW=M.outerWidth(),Y=S.tgtH=M.outerHeight(),V=S.srcShape=n.nodeShapes[t.getNodeShape(T)],j=S.tgtShape=n.nodeShapes[t.getNodeShape(M)],W=S.srcCornerRadius=T.pstyle("corner-radius").value==="auto"?"auto":T.pstyle("corner-radius").pfValue,J=S.tgtCornerRadius=M.pstyle("corner-radius").value==="auto"?"auto":M.pstyle("corner-radius").pfValue,ae=S.tgtRs=M._private.rscratch,Z=S.srcRs=T._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var $=0;$0){var de=o,be=sn(de,An(n)),Q=sn(de,An(ne)),se=be;if(Q2){var ie=sn(de,{x:ne[2],y:ne[3]});ie0){var te=i,X=sn(te,An(n)),ee=sn(te,An(q)),fe=X;if(ee2){var ge=sn(te,{x:q[2],y:q[3]});ge=f||C){y={cp:x,segment:P};break}}if(y)break}var w=y.cp,S=y.segment,I=(f-b)/S.length,D=S.t1-S.t0,B=p?S.t0+D*I:S.t1-D*I;B=pr(0,B,1),t=On(w.p0,w.p1,w.p2,B),h=Mg(w.p0,w.p1,w.p2,B);break}case"straight":case"segments":case"haystack":{for(var T=0,M,_,O,L,z=r.allpts.length,A=0;A+3=f));A+=2);var R=f-_,Y=R/M;Y=pr(0,Y,1),t=Td(O,L,Y),h=wu(O,L);break}}i("labelX",d,t.x),i("labelY",d,t.y),i("labelAutoAngle",d,h)}},"calculateEndProjection");s("source"),s("target"),this.applyLabelDimensions(e)}};Lt.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))};Lt.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),a=this.calculateLabelDimensions(e,r),o=e.pstyle("line-height").pfValue,i=e.pstyle("text-wrap").strValue,c=Tt(n.rscratch,"labelWrapCachedLines",t)||[],l=i!=="wrap"?1:Math.max(c.length,1),s=a.height/l,d=s*o,h=a.width,p=a.height+(l-1)*(o-1)*s;Ut(n.rstyle,"labelWidth",t,h),Ut(n.rscratch,"labelWidth",t,h),Ut(n.rstyle,"labelHeight",t,p),Ut(n.rscratch,"labelHeight",t,p),Ut(n.rscratch,"labelLineHeight",t,d)};Lt.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",a=e.pstyle(r+"label").strValue,o=e.pstyle("text-transform").value,i=u(function(j,W){return W?(Ut(n.rscratch,j,t,W),W):Tt(n.rscratch,j,t)},"rscratch");if(!a)return"";o=="none"||(o=="uppercase"?a=a.toUpperCase():o=="lowercase"&&(a=a.toLowerCase()));var c=e.pstyle("text-wrap").value;if(c==="wrap"){var l=i("labelKey");if(l!=null&&i("labelWrapKey")===l)return i("labelWrapCachedText");for(var s="​",d=a.split(` `),h=e.pstyle("text-max-width").pfValue,p=e.pstyle("text-overflow-wrap").value,f=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,b=0;bh){var P=v.matchAll(y),C="",w=0,S=ki(P),I;try{for(S.s();!(I=S.n()).done;){var D=I.value,B=D[0],T=v.substring(w,D.index);w=D.index+B.length;var M=C.length===0?T:C+T+B,_=this.calculateLabelDimensions(e,M),O=_.width;O<=h?C+=T+B:(C&&g.push(C),C=T+B)}}catch(j){S.e(j)}finally{S.f()}C.match(/^[\s\u200b]+$/)||g.push(C)}else g.push(v)}i("labelWrapCachedLines",g),a=i("labelWrapCachedText",g.join(` diff --git a/version/6.0/assets/chunk-VSLJSFIP-BVEukhlm.js b/version/6.0/assets/chunk-VSLJSFIP-CH0BQGll.js similarity index 67% rename from version/6.0/assets/chunk-VSLJSFIP-BVEukhlm.js rename to version/6.0/assets/chunk-VSLJSFIP-CH0BQGll.js index e66ba473b..5b9980613 100644 --- a/version/6.0/assets/chunk-VSLJSFIP-BVEukhlm.js +++ b/version/6.0/assets/chunk-VSLJSFIP-CH0BQGll.js @@ -1 +1 @@ -import{m as s}from"./mermaid.esm.min-DhsQPv9X.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as s}; +import{m as s}from"./mermaid.esm.min-CpCJ9UxA.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as s}; diff --git a/version/6.0/assets/chunk-ZN7TASNU-45xoTLMc.js b/version/6.0/assets/chunk-ZN7TASNU-Cv-Yezee.js similarity index 97% rename from version/6.0/assets/chunk-ZN7TASNU-45xoTLMc.js rename to version/6.0/assets/chunk-ZN7TASNU-Cv-Yezee.js index bfb945d8b..854b8a4c4 100644 --- a/version/6.0/assets/chunk-ZN7TASNU-45xoTLMc.js +++ b/version/6.0/assets/chunk-ZN7TASNU-Cv-Yezee.js @@ -1 +1 @@ -import{k as l,c as m,Z as a,s as c,m as N,X as b,R as P}from"./chunk-5ZJXQJOJ-sEil2Dtg.js";import{m as d,x as f,y as w,z as y}from"./mermaid.esm.min-DhsQPv9X.js";var D="\0",u="\0",E="",p,j=(p=class{constructor(t={}){this._isDirected=Object.prototype.hasOwnProperty.call(t,"directed")?t.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[u]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return w(t)||(t=f(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return l(this._nodes)}sources(){var t=this;return m(this.nodes(),function(e){return y(t._in[e])})}sinks(){var t=this;return m(this.nodes(),function(e){return y(t._out[e])})}setNodes(t,e){var s=arguments,r=this;return a(t,function(i){s.length>1?r.setNode(i,e):r.setNode(i)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=u,this._children[t]={},this._children[u][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=d(s=>this.removeEdge(this._edgeObjs[s]),"removeEdge");delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],a(this.children(t),s=>{this.setParent(s)}),delete this._children[t]),a(l(this._in[t]),e),delete this._in[t],delete this._preds[t],a(l(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c(e))e=u;else{e+="";for(var s=e;!c(s);s=this.parent(s))if(s===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==u)return e}}children(t){if(c(t)&&(t=u),this._isCompound){var e=this._children[t];if(e)return l(e)}else{if(t===u)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return l(e)}successors(t){var e=this._sucs[t];if(e)return l(e)}neighbors(t){var e=this.predecessors(t);if(e)return N(e,this.successors(t))}isLeaf(t){var e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){t(h)&&e.setNode(h,n)}),a(this._edgeObjs,function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,s.edge(n))});var r={};function i(n){var h=s.parent(n);return h===void 0||e.hasNode(h)?(r[n]=h,h):h in r?r[h]:i(h)}return d(i,"findParent"),this._isCompound&&a(e.nodes(),function(n){e.setParent(n,i(n))}),e}setDefaultEdgeLabel(t){return w(t)||(t=f(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return b(this._edgeObjs)}setPath(t,e){var s=this,r=arguments;return P(t,function(i,n){return r.length>1?s.setEdge(i,n,e):s.setEdge(i,n),n}),this}setEdge(){var t,e,s,r,i=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(t=n.v,e=n.w,s=n.name,arguments.length===2&&(r=arguments[1],i=!0)):(t=n,e=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,c(s)||(s=""+s);var h=g(this._isDirected,t,e,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return i&&(this._edgeLabels[h]=r),this;if(!c(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[h]=i?r:this._defaultEdgeLabelFn(t,e,s);var _=L(this._isDirected,t,e,s);return t=_.v,e=_.w,Object.freeze(_),this._edgeObjs[h]=_,O(this._preds[e],t),O(this._sucs[t],e),this._in[e][h]=_,this._out[t][h]=_,this._edgeCount++,this}edge(t,e,s){var r=arguments.length===1?v(this._isDirected,arguments[0]):g(this._isDirected,t,e,s);return this._edgeLabels[r]}hasEdge(t,e,s){var r=arguments.length===1?v(this._isDirected,arguments[0]):g(this._isDirected,t,e,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,s){var r=arguments.length===1?v(this._isDirected,arguments[0]):g(this._isDirected,t,e,s),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],C(this._preds[e],t),C(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var s=this._in[t];if(s){var r=b(s);return e?m(r,function(i){return i.v===e}):r}}outEdges(t,e){var s=this._out[t];if(s){var r=b(s);return e?m(r,function(i){return i.w===e}):r}}nodeEdges(t,e){var s=this.inEdges(t,e);if(s)return s.concat(this.outEdges(t,e))}},d(p,"Graph"),p);j.prototype._nodeCount=0;j.prototype._edgeCount=0;function O(o,t){o[t]?o[t]++:o[t]=1}d(O,"incrementOrInitEntry");function C(o,t){--o[t]||delete o[t]}d(C,"decrementOrRemoveEntry");function g(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}return r+E+i+E+(c(s)?D:s)}d(g,"edgeArgsToId");function L(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}var h={v:r,w:i};return s&&(h.name=s),h}d(L,"edgeArgsToObj");function v(o,t){return g(o,t.v,t.w,t.name)}d(v,"edgeObjToId");export{j as m}; +import{k as l,c as m,Z as a,s as c,m as N,X as b,R as P}from"./chunk-5ZJXQJOJ-CxalzRAd.js";import{m as d,x as f,y as w,z as y}from"./mermaid.esm.min-CpCJ9UxA.js";var D="\0",u="\0",E="",p,j=(p=class{constructor(t={}){this._isDirected=Object.prototype.hasOwnProperty.call(t,"directed")?t.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[u]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return w(t)||(t=f(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return l(this._nodes)}sources(){var t=this;return m(this.nodes(),function(e){return y(t._in[e])})}sinks(){var t=this;return m(this.nodes(),function(e){return y(t._out[e])})}setNodes(t,e){var s=arguments,r=this;return a(t,function(i){s.length>1?r.setNode(i,e):r.setNode(i)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=u,this._children[t]={},this._children[u][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=d(s=>this.removeEdge(this._edgeObjs[s]),"removeEdge");delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],a(this.children(t),s=>{this.setParent(s)}),delete this._children[t]),a(l(this._in[t]),e),delete this._in[t],delete this._preds[t],a(l(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c(e))e=u;else{e+="";for(var s=e;!c(s);s=this.parent(s))if(s===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==u)return e}}children(t){if(c(t)&&(t=u),this._isCompound){var e=this._children[t];if(e)return l(e)}else{if(t===u)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return l(e)}successors(t){var e=this._sucs[t];if(e)return l(e)}neighbors(t){var e=this.predecessors(t);if(e)return N(e,this.successors(t))}isLeaf(t){var e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){t(h)&&e.setNode(h,n)}),a(this._edgeObjs,function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,s.edge(n))});var r={};function i(n){var h=s.parent(n);return h===void 0||e.hasNode(h)?(r[n]=h,h):h in r?r[h]:i(h)}return d(i,"findParent"),this._isCompound&&a(e.nodes(),function(n){e.setParent(n,i(n))}),e}setDefaultEdgeLabel(t){return w(t)||(t=f(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return b(this._edgeObjs)}setPath(t,e){var s=this,r=arguments;return P(t,function(i,n){return r.length>1?s.setEdge(i,n,e):s.setEdge(i,n),n}),this}setEdge(){var t,e,s,r,i=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(t=n.v,e=n.w,s=n.name,arguments.length===2&&(r=arguments[1],i=!0)):(t=n,e=arguments[1],s=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),t=""+t,e=""+e,c(s)||(s=""+s);var h=g(this._isDirected,t,e,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return i&&(this._edgeLabels[h]=r),this;if(!c(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[h]=i?r:this._defaultEdgeLabelFn(t,e,s);var _=L(this._isDirected,t,e,s);return t=_.v,e=_.w,Object.freeze(_),this._edgeObjs[h]=_,O(this._preds[e],t),O(this._sucs[t],e),this._in[e][h]=_,this._out[t][h]=_,this._edgeCount++,this}edge(t,e,s){var r=arguments.length===1?v(this._isDirected,arguments[0]):g(this._isDirected,t,e,s);return this._edgeLabels[r]}hasEdge(t,e,s){var r=arguments.length===1?v(this._isDirected,arguments[0]):g(this._isDirected,t,e,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,r)}removeEdge(t,e,s){var r=arguments.length===1?v(this._isDirected,arguments[0]):g(this._isDirected,t,e,s),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],C(this._preds[e],t),C(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this}inEdges(t,e){var s=this._in[t];if(s){var r=b(s);return e?m(r,function(i){return i.v===e}):r}}outEdges(t,e){var s=this._out[t];if(s){var r=b(s);return e?m(r,function(i){return i.w===e}):r}}nodeEdges(t,e){var s=this.inEdges(t,e);if(s)return s.concat(this.outEdges(t,e))}},d(p,"Graph"),p);j.prototype._nodeCount=0;j.prototype._edgeCount=0;function O(o,t){o[t]?o[t]++:o[t]=1}d(O,"incrementOrInitEntry");function C(o,t){--o[t]||delete o[t]}d(C,"decrementOrRemoveEntry");function g(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}return r+E+i+E+(c(s)?D:s)}d(g,"edgeArgsToId");function L(o,t,e,s){var r=""+t,i=""+e;if(!o&&r>i){var n=r;r=i,i=n}var h={v:r,w:i};return s&&(h.name=s),h}d(L,"edgeArgsToObj");function v(o,t){return g(o,t.v,t.w,t.name)}d(v,"edgeObjToId");export{j as m}; diff --git a/version/6.0/assets/classDiagram-QKCJ6K63-BZ7-cCSN.js b/version/6.0/assets/classDiagram-QKCJ6K63-BZ7-cCSN.js new file mode 100644 index 000000000..0f256deee --- /dev/null +++ b/version/6.0/assets/classDiagram-QKCJ6K63-BZ7-cCSN.js @@ -0,0 +1 @@ +import{l as a,T as r,w as e,B as o}from"./chunk-7CIZ4OX7-CbuQCrx0.js";import"./chunk-P7KHIEPL-BWluqrz7.js";import{m as t}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var c={parser:a,db:r,renderer:e,styles:o,init:t(s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,r.clear()},"init")};export{c as diagram}; diff --git a/version/6.0/assets/classDiagram-QKCJ6K63-DBNNwKBH.js b/version/6.0/assets/classDiagram-QKCJ6K63-DBNNwKBH.js deleted file mode 100644 index 805238648..000000000 --- a/version/6.0/assets/classDiagram-QKCJ6K63-DBNNwKBH.js +++ /dev/null @@ -1 +0,0 @@ -import{l as a,T as r,w as e,B as o}from"./chunk-7CIZ4OX7-DmwIokck.js";import"./chunk-P7KHIEPL-BYT7Poah.js";import{m as t}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var c={parser:a,db:r,renderer:e,styles:o,init:t(s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,r.clear()},"init")};export{c as diagram}; diff --git a/version/6.0/assets/classDiagram-v2-2JHJIACG-BZ7-cCSN.js b/version/6.0/assets/classDiagram-v2-2JHJIACG-BZ7-cCSN.js new file mode 100644 index 000000000..0f256deee --- /dev/null +++ b/version/6.0/assets/classDiagram-v2-2JHJIACG-BZ7-cCSN.js @@ -0,0 +1 @@ +import{l as a,T as r,w as e,B as o}from"./chunk-7CIZ4OX7-CbuQCrx0.js";import"./chunk-P7KHIEPL-BWluqrz7.js";import{m as t}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var c={parser:a,db:r,renderer:e,styles:o,init:t(s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,r.clear()},"init")};export{c as diagram}; diff --git a/version/6.0/assets/classDiagram-v2-2JHJIACG-DBNNwKBH.js b/version/6.0/assets/classDiagram-v2-2JHJIACG-DBNNwKBH.js deleted file mode 100644 index 805238648..000000000 --- a/version/6.0/assets/classDiagram-v2-2JHJIACG-DBNNwKBH.js +++ /dev/null @@ -1 +0,0 @@ -import{l as a,T as r,w as e,B as o}from"./chunk-7CIZ4OX7-DmwIokck.js";import"./chunk-P7KHIEPL-BYT7Poah.js";import{m as t}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var c={parser:a,db:r,renderer:e,styles:o,init:t(s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,r.clear()},"init")};export{c as diagram}; diff --git a/version/6.0/assets/dagre-RF25WEIW-DQLHj3QK.js b/version/6.0/assets/dagre-RF25WEIW-BdWTFDvt.js similarity index 97% rename from version/6.0/assets/dagre-RF25WEIW-DQLHj3QK.js rename to version/6.0/assets/dagre-RF25WEIW-BdWTFDvt.js index 9c42a8a89..0f9965bec 100644 --- a/version/6.0/assets/dagre-RF25WEIW-DQLHj3QK.js +++ b/version/6.0/assets/dagre-RF25WEIW-BdWTFDvt.js @@ -1,4 +1,4 @@ -import{m as w,t as a,bp as M,bq as j,bd as Y,br as H,bj as W,be as D,bc as $,bs as _,bt as q,bu as Q,bv as Z,bw as z,bx as K,W as U}from"./mermaid.esm.min-DhsQPv9X.js";import{f as V}from"./chunk-FASC7IG4-CAkh8Mxr.js";import{m as J}from"./chunk-ZN7TASNU-45xoTLMc.js";import{s as x,_ as ee,J as k}from"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";function X(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:G(e),edges:P(e)};return x(e.graph())||(r.value=ee(e.graph())),r}w(X,"write");function G(e){return k(e.nodes(),function(r){var n=e.node(r),d=e.parent(r),l={v:r};return x(n)||(l.value=n),x(d)||(l.parent=d),l})}w(G,"writeNodes");function P(e){return k(e.edges(),function(r){var n=e.edge(r),d={v:r.v,w:r.w};return x(r.name)||(d.name=r.name),x(n)||(d.value=n),d})}w(P,"writeEdges");var c=new Map,E=new Map,B=new Map,ne=w(()=>{E.clear(),B.clear(),c.clear()},"clear"),I=w((e,r)=>{let n=E.get(r)||[];return a.trace("In isDescendant",r," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),re=w((e,r)=>{let n=E.get(r)||[];return a.info("Descendants of ",r," is ",n),a.info("Edge is ",e),e.v===r||e.w===r?!1:n?n.includes(e.v)||I(e.v,r)||I(e.w,r)||n.includes(e.w):(a.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),A=w((e,r,n,d)=>{a.warn("Copying children of ",e,"root",d,"data",r.node(e),d);let l=r.children(e)||[];e!==d&&l.push(e),a.warn("Copying (nodes) clusterId",e,"nodes",l),l.forEach(o=>{if(r.children(o).length>0)A(o,r,n,d);else{let i=r.node(o);a.info("cp ",o," to ",d," with parent ",e),n.setNode(o,i),d!==r.parent(o)&&(a.warn("Setting parent",o,r.parent(o)),n.setParent(o,r.parent(o))),e!==d&&o!==e?(a.debug("Setting parent",o,e),n.setParent(o,e)):(a.info("In copy ",e,"root",d,"data",r.node(e),d),a.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==d,"node!==clusterId",o!==e));let s=r.edges(o);a.debug("Copying Edges",s),s.forEach(h=>{a.info("Edge",h);let b=r.edge(h.v,h.w,h.name);a.info("Edge data",b,d);try{re(h,d)?(a.info("Copying as ",h.v,h.w,b,h.name),n.setEdge(h.v,h.w,b,h.name),a.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):a.info("Skipping copy of edge ",h.v,"-->",h.w," rootId: ",d," clusterId:",e)}catch(N){a.error(N)}})}a.debug("Removing node",o),r.removeNode(o)})},"copy"),R=w((e,r)=>{let n=r.children(e),d=[...n];for(let l of n)B.set(l,e),d=[...d,...R(l,r)];return d},"extractDescendants"),te=w((e,r,n)=>{let d=e.edges().filter(s=>s.v===r||s.w===r),l=e.edges().filter(s=>s.v===n||s.w===n),o=d.map(s=>({v:s.v===r?n:s.v,w:s.w===r?r:s.w})),i=l.map(s=>({v:s.v,w:s.w}));return o.filter(s=>i.some(h=>s.v===h.v&&s.w===h.w))},"findCommonEdges"),S=w((e,r,n)=>{let d=r.children(e);if(a.trace("Searching children of id ",e,d),d.length<1)return e;let l;for(let o of d){let i=S(o,r,n),s=te(r,n,i);if(i)if(s.length>0)l=i;else return i}return l},"findNonClusterChild"),O=w(e=>!c.has(e)||!c.get(e).externalConnections?e:c.has(e)?c.get(e).id:e,"getAnchorId"),ae=w((e,r)=>{if(!e||r>10){a.debug("Opting out, no graph ");return}else a.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(a.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),E.set(n,R(n,e)),c.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let d=e.children(n),l=e.edges();d.length>0?(a.debug("Cluster identified",n,E),l.forEach(o=>{let i=I(o.v,n),s=I(o.w,n);i^s&&(a.warn("Edge: ",o," leaves cluster ",n),a.warn("Descendants of XXX ",n,": ",E.get(n)),c.get(n).externalConnections=!0)})):a.debug("Not a cluster ",n,E)});for(let n of c.keys()){let d=c.get(n).id,l=e.parent(d);l!==n&&c.has(l)&&!c.get(l).externalConnections&&(c.get(n).id=l)}e.edges().forEach(function(n){let d=e.edge(n);a.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),a.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let l=n.v,o=n.w;if(a.warn("Fix XXX",c,"ids:",n.v,n.w,"Translating: ",c.get(n.v)," --- ",c.get(n.w)),c.get(n.v)||c.get(n.w)){if(a.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),l=O(n.v),o=O(n.w),e.removeEdge(n.v,n.w,n.name),l!==n.v){let i=e.parent(l);c.get(i).externalConnections=!0,d.fromCluster=n.v}if(o!==n.w){let i=e.parent(o);c.get(i).externalConnections=!0,d.toCluster=n.w}a.warn("Fix Replacing with XXX",l,o,n.name),e.setEdge(l,o,d,n.name)}}),a.warn("Adjusted Graph",X(e)),T(e,0),a.trace(c)},"adjustClustersAndEdges"),T=w((e,r)=>{var l,o;if(a.warn("extractor - ",r,X(e),e.children("D")),r>10){a.error("Bailing out");return}let n=e.nodes(),d=!1;for(let i of n){let s=e.children(i);d=d||s.length>0}if(!d){a.debug("Done, no node has children",e.nodes());return}a.debug("Nodes = ",n,r);for(let i of n)if(a.debug("Extracting node",i,c,c.has(i)&&!c.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",r),!c.has(i))a.debug("Not a cluster",i,r);else if(!c.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){a.warn("Cluster without external connections, without a parent and with children",i,r);let s=e.graph().rankdir==="TB"?"LR":"TB";(o=(l=c.get(i))==null?void 0:l.clusterData)!=null&&o.dir&&(s=c.get(i).clusterData.dir,a.warn("Fixing dir",c.get(i).clusterData.dir,s));let h=new J({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});a.warn("Old graph before copy",X(e)),A(i,e,h,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:c.get(i).clusterData,label:c.get(i).label,graph:h}),a.warn("New graph after copy node: (",i,")",X(h)),a.debug("Old graph after copy",X(e))}else a.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!c.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),r),a.debug(c);n=e.nodes(),a.warn("New list of nodes",n);for(let i of n){let s=e.node(i);a.warn(" Now next level",i,s),s!=null&&s.clusterNode&&T(s.graph,r+1)}},"extractor"),L=w((e,r)=>{if(r.length===0)return[];let n=Object.assign([],r);return r.forEach(d=>{let l=e.children(d),o=L(e,l);n=[...n,...o]}),n},"sorter"),ie=w(e=>L(e,e.children()),"sortNodesByHierarchy"),F=w(async(e,r,n,d,l,o)=>{a.warn("Graph in recursive render:XAX",X(r),l);let i=r.graph().rankdir;a.trace("Dir in recursive render - dir:",i);let s=e.insert("g").attr("class","root");r.nodes()?a.info("Recursive render XXX",r.nodes()):a.info("No nodes found for",r),r.edges().length>0&&a.info("Recursive edges",r.edge(r.edges()[0]));let h=s.insert("g").attr("class","clusters"),b=s.insert("g").attr("class","edgePaths"),N=s.insert("g").attr("class","edgeLabels"),p=s.insert("g").attr("class","nodes");await Promise.all(r.nodes().map(async function(g){let t=r.node(g);if(l!==void 0){let f=JSON.parse(JSON.stringify(l.clusterData));a.trace(`Setting data for parent cluster XXX +import{m as w,t as a,bp as M,bq as j,bd as Y,br as H,bj as W,be as D,bc as $,bs as _,bt as q,bu as Q,bv as Z,bw as z,bx as K,W as U}from"./mermaid.esm.min-CpCJ9UxA.js";import{f as V}from"./chunk-FASC7IG4-BVkK6YXv.js";import{m as J}from"./chunk-ZN7TASNU-Cv-Yezee.js";import{s as x,_ as ee,J as k}from"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";function X(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:G(e),edges:P(e)};return x(e.graph())||(r.value=ee(e.graph())),r}w(X,"write");function G(e){return k(e.nodes(),function(r){var n=e.node(r),d=e.parent(r),l={v:r};return x(n)||(l.value=n),x(d)||(l.parent=d),l})}w(G,"writeNodes");function P(e){return k(e.edges(),function(r){var n=e.edge(r),d={v:r.v,w:r.w};return x(r.name)||(d.name=r.name),x(n)||(d.value=n),d})}w(P,"writeEdges");var c=new Map,E=new Map,B=new Map,ne=w(()=>{E.clear(),B.clear(),c.clear()},"clear"),I=w((e,r)=>{let n=E.get(r)||[];return a.trace("In isDescendant",r," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),re=w((e,r)=>{let n=E.get(r)||[];return a.info("Descendants of ",r," is ",n),a.info("Edge is ",e),e.v===r||e.w===r?!1:n?n.includes(e.v)||I(e.v,r)||I(e.w,r)||n.includes(e.w):(a.debug("Tilt, ",r,",not in descendants"),!1)},"edgeInCluster"),A=w((e,r,n,d)=>{a.warn("Copying children of ",e,"root",d,"data",r.node(e),d);let l=r.children(e)||[];e!==d&&l.push(e),a.warn("Copying (nodes) clusterId",e,"nodes",l),l.forEach(o=>{if(r.children(o).length>0)A(o,r,n,d);else{let i=r.node(o);a.info("cp ",o," to ",d," with parent ",e),n.setNode(o,i),d!==r.parent(o)&&(a.warn("Setting parent",o,r.parent(o)),n.setParent(o,r.parent(o))),e!==d&&o!==e?(a.debug("Setting parent",o,e),n.setParent(o,e)):(a.info("In copy ",e,"root",d,"data",r.node(e),d),a.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==d,"node!==clusterId",o!==e));let s=r.edges(o);a.debug("Copying Edges",s),s.forEach(h=>{a.info("Edge",h);let b=r.edge(h.v,h.w,h.name);a.info("Edge data",b,d);try{re(h,d)?(a.info("Copying as ",h.v,h.w,b,h.name),n.setEdge(h.v,h.w,b,h.name),a.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):a.info("Skipping copy of edge ",h.v,"-->",h.w," rootId: ",d," clusterId:",e)}catch(N){a.error(N)}})}a.debug("Removing node",o),r.removeNode(o)})},"copy"),R=w((e,r)=>{let n=r.children(e),d=[...n];for(let l of n)B.set(l,e),d=[...d,...R(l,r)];return d},"extractDescendants"),te=w((e,r,n)=>{let d=e.edges().filter(s=>s.v===r||s.w===r),l=e.edges().filter(s=>s.v===n||s.w===n),o=d.map(s=>({v:s.v===r?n:s.v,w:s.w===r?r:s.w})),i=l.map(s=>({v:s.v,w:s.w}));return o.filter(s=>i.some(h=>s.v===h.v&&s.w===h.w))},"findCommonEdges"),S=w((e,r,n)=>{let d=r.children(e);if(a.trace("Searching children of id ",e,d),d.length<1)return e;let l;for(let o of d){let i=S(o,r,n),s=te(r,n,i);if(i)if(s.length>0)l=i;else return i}return l},"findNonClusterChild"),O=w(e=>!c.has(e)||!c.get(e).externalConnections?e:c.has(e)?c.get(e).id:e,"getAnchorId"),ae=w((e,r)=>{if(!e||r>10){a.debug("Opting out, no graph ");return}else a.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(a.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),E.set(n,R(n,e)),c.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let d=e.children(n),l=e.edges();d.length>0?(a.debug("Cluster identified",n,E),l.forEach(o=>{let i=I(o.v,n),s=I(o.w,n);i^s&&(a.warn("Edge: ",o," leaves cluster ",n),a.warn("Descendants of XXX ",n,": ",E.get(n)),c.get(n).externalConnections=!0)})):a.debug("Not a cluster ",n,E)});for(let n of c.keys()){let d=c.get(n).id,l=e.parent(d);l!==n&&c.has(l)&&!c.get(l).externalConnections&&(c.get(n).id=l)}e.edges().forEach(function(n){let d=e.edge(n);a.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),a.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let l=n.v,o=n.w;if(a.warn("Fix XXX",c,"ids:",n.v,n.w,"Translating: ",c.get(n.v)," --- ",c.get(n.w)),c.get(n.v)||c.get(n.w)){if(a.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),l=O(n.v),o=O(n.w),e.removeEdge(n.v,n.w,n.name),l!==n.v){let i=e.parent(l);c.get(i).externalConnections=!0,d.fromCluster=n.v}if(o!==n.w){let i=e.parent(o);c.get(i).externalConnections=!0,d.toCluster=n.w}a.warn("Fix Replacing with XXX",l,o,n.name),e.setEdge(l,o,d,n.name)}}),a.warn("Adjusted Graph",X(e)),T(e,0),a.trace(c)},"adjustClustersAndEdges"),T=w((e,r)=>{var l,o;if(a.warn("extractor - ",r,X(e),e.children("D")),r>10){a.error("Bailing out");return}let n=e.nodes(),d=!1;for(let i of n){let s=e.children(i);d=d||s.length>0}if(!d){a.debug("Done, no node has children",e.nodes());return}a.debug("Nodes = ",n,r);for(let i of n)if(a.debug("Extracting node",i,c,c.has(i)&&!c.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",r),!c.has(i))a.debug("Not a cluster",i,r);else if(!c.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){a.warn("Cluster without external connections, without a parent and with children",i,r);let s=e.graph().rankdir==="TB"?"LR":"TB";(o=(l=c.get(i))==null?void 0:l.clusterData)!=null&&o.dir&&(s=c.get(i).clusterData.dir,a.warn("Fixing dir",c.get(i).clusterData.dir,s));let h=new J({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});a.warn("Old graph before copy",X(e)),A(i,e,h,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:c.get(i).clusterData,label:c.get(i).label,graph:h}),a.warn("New graph after copy node: (",i,")",X(h)),a.debug("Old graph after copy",X(e))}else a.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!c.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),r),a.debug(c);n=e.nodes(),a.warn("New list of nodes",n);for(let i of n){let s=e.node(i);a.warn(" Now next level",i,s),s!=null&&s.clusterNode&&T(s.graph,r+1)}},"extractor"),L=w((e,r)=>{if(r.length===0)return[];let n=Object.assign([],r);return r.forEach(d=>{let l=e.children(d),o=L(e,l);n=[...n,...o]}),n},"sorter"),ie=w(e=>L(e,e.children()),"sortNodesByHierarchy"),F=w(async(e,r,n,d,l,o)=>{a.warn("Graph in recursive render:XAX",X(r),l);let i=r.graph().rankdir;a.trace("Dir in recursive render - dir:",i);let s=e.insert("g").attr("class","root");r.nodes()?a.info("Recursive render XXX",r.nodes()):a.info("No nodes found for",r),r.edges().length>0&&a.info("Recursive edges",r.edge(r.edges()[0]));let h=s.insert("g").attr("class","clusters"),b=s.insert("g").attr("class","edgePaths"),N=s.insert("g").attr("class","edgeLabels"),p=s.insert("g").attr("class","nodes");await Promise.all(r.nodes().map(async function(g){let t=r.node(g);if(l!==void 0){let f=JSON.parse(JSON.stringify(l.clusterData));a.trace(`Setting data for parent cluster XXX Node.id = `,g,` data=`,f.height,` Parent cluster`,l.height),r.setNode(l.id,f),r.parent(g)||(a.trace("Setting parent",g,l.id),r.setParent(g,l.id,f))}if(a.info("(Insert) Node XXX"+g+": "+JSON.stringify(r.node(g))),t==null?void 0:t.clusterNode){a.info("Cluster identified XBX",g,t.width,r.node(g));let{ranksep:f,nodesep:v}=r.graph();t.graph.setGraph({...t.graph.graph(),ranksep:f+25,nodesep:v});let m=await F(p,t.graph,n,d,r.node(g),o),C=m.elem;M(t,C),t.diff=m.diff||0,a.info("New compound node after recursive render XAX",g,"width",t.width,"height",t.height),j(C,t)}else r.children(g).length>0?(a.trace("Cluster - the non recursive path XBX",g,t.id,t,t.width,"Graph:",r),a.trace(S(t.id,r)),c.set(t.id,{id:S(t.id,r),node:t})):(a.trace("Node - the non recursive path XAX",g,p,r.node(g),i),await Y(p,r.node(g),{config:o,dir:i}))})),await w(async()=>{let g=r.edges().map(async function(t){let f=r.edge(t.v,t.w,t.name);a.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),a.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(r.edge(t))),a.info("Fix",c,"ids:",t.v,t.w,"Translating: ",c.get(t.v),c.get(t.w)),await H(N,f)});await Promise.all(g)},"processEdges")(),a.info("Graph before layout:",JSON.stringify(X(r))),a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),V(r),a.info("Graph after layout:",JSON.stringify(X(r)));let u=0,{subGraphTitleTotalMargin:y}=W(o);return await Promise.all(ie(r).map(async function(g){var f;let t=r.node(g);if(a.info("Position XBX => "+g+": ("+t.x,","+t.y,") width: ",t.width," height: ",t.height),t==null?void 0:t.clusterNode)t.y+=y,a.info("A tainted cluster node XBX1",g,t.id,t.width,t.height,t.x,t.y,r.parent(g)),c.get(t.id).node=t,D(t);else if(r.children(g).length>0){a.info("A pure cluster node XBX1",g,t.id,t.x,t.y,t.width,t.height,r.parent(g)),t.height+=y,r.node(t.parentId);let v=(t==null?void 0:t.padding)/2||0,m=((f=t==null?void 0:t.labelBBox)==null?void 0:f.height)||0,C=m-v||0;a.debug("OffsetY",C,"labelHeight",m,"halfPadding",v),await $(h,t),c.get(t.id).node=t}else{let v=r.node(t.parentId);t.y+=y/2,a.info("A regular node XBX1 - using the padding",t.id,"parent",t.parentId,t.width,t.height,t.x,t.y,"offsetY",t.offsetY,"parent",v,v==null?void 0:v.offsetY,t),D(t)}})),r.edges().forEach(function(g){let t=r.edge(g);a.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(t),t),t.points.forEach(C=>C.y+=y/2);let f=r.node(g.v);var v=r.node(g.w);let m=_(b,t,c,n,f,v,d);q(t,m)}),r.nodes().forEach(function(g){let t=r.node(g);a.info(g,t.type,t.diff),t.isGroup&&(u=t.diff)}),a.warn("Returning from recursive render XAX",s,u),{elem:s,diff:u}},"recursiveRender"),ce=w(async(e,r)=>{var o,i,s,h,b,N;let n=new J({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:((o=e.config)==null?void 0:o.nodeSpacing)||((s=(i=e.config)==null?void 0:i.flowchart)==null?void 0:s.nodeSpacing)||e.nodeSpacing,ranksep:((h=e.config)==null?void 0:h.rankSpacing)||((N=(b=e.config)==null?void 0:b.flowchart)==null?void 0:N.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),d=r.select("g");Q(d,e.markers,e.type,e.diagramId),Z(),z(),K(),ne(),e.nodes.forEach(p=>{n.setNode(p.id,{...p}),p.parentId&&n.setParent(p.id,p.parentId)}),a.debug("Edges:",e.edges),e.edges.forEach(p=>{if(p.start===p.end){let u=p.start,y=u+"---"+u+"---1",g=u+"---"+u+"---2",t=n.node(u);n.setNode(y,{domId:y,id:y,parentId:t.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(y,t.parentId),n.setNode(g,{domId:g,id:g,parentId:t.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(g,t.parentId);let f=structuredClone(p),v=structuredClone(p),m=structuredClone(p);f.label="",f.arrowTypeEnd="none",f.id=u+"-cyclic-special-1",v.arrowTypeEnd="none",v.id=u+"-cyclic-special-mid",m.label="",t.isGroup&&(f.fromCluster=u,m.toCluster=u),m.id=u+"-cyclic-special-2",n.setEdge(u,y,f,u+"-cyclic-special-0"),n.setEdge(y,g,v,u+"-cyclic-special-1"),n.setEdge(g,u,m,u+"-cyc{let t=u({...Y,...v().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),I=i(()=>$.packet,"getPacket"),M=i(t=>{t.length>0&&$.packet.push(t)},"pushWord"),N=i(()=>{T(),$=structuredClone(w)},"clear"),m={pushWord:M,getPacket:I,getConfig:H,clear:N,setAccTitle:F,getAccTitle:D,setDiagramTitle:E,getDiagramTitle:A,getAccDescription:L,setAccDescription:R},X=1e4,q=i(t=>{B(t,m);let e=-1,l=[],s=1,{bitsPerRow:n}=m.getConfig();for(let{start:a,end:r,label:p}of t.blocks){if(r&&r{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*l?[t,void 0]:[{start:t.start,end:e*l-1,label:t.label},{start:e*l,end:t.end,label:t.label}]},"getNextFittingBlock"),O={parse:i(async t=>{let e=await P("packet",t);x.debug(e),q(e)},"parse")},U=i((t,e,l,s)=>{let n=s.db,a=n.getConfig(),{rowHeight:r,paddingY:p,bitWidth:g,bitsPerRow:d}=a,h=n.getPacket(),o=n.getDiagramTitle(),k=r+p,c=k*(h.length+1)-(o?0:r),b=g*d+2,f=W(e);f.attr("viewbox",`0 0 ${b} ${c}`),z(f,c,b,a.useMaxWidth);for(let[y,C]of h.entries())V(f,C,y,a);f.append("text").text(o).attr("x",b/2).attr("y",c-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),V=i((t,e,l,{rowHeight:s,paddingX:n,paddingY:a,bitWidth:r,bitsPerRow:p,showBits:g})=>{let d=t.append("g"),h=l*(s+a)+a;for(let o of e){let k=o.start%p*r+1,c=(o.end-o.start+1)*r-n;if(d.append("rect").attr("x",k).attr("y",h).attr("width",c).attr("height",s).attr("class","packetBlock"),d.append("text").attr("x",k+c/2).attr("y",h+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!g)continue;let b=o.end===o.start,f=h-2;d.append("text").attr("x",k+(b?c/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",b?"middle":"start").text(o.start),b||d.append("text").attr("x",k+c).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),_={draw:U},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},G=i(({packet:t}={})=>{let e=u(j,t);return` +import{c as B}from"./chunk-4KE642ED-BFpkd97I.js";import{p as P}from"./gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js";import{ar as S,m as i,as as u,at as v,h as T,t as x,aT as W,C as z,T as F,k as D,w as E,B as A,v as L,S as R}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var w={packet:[]},$=structuredClone(w),Y=S.packet,H=i(()=>{let t=u({...Y,...v().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),I=i(()=>$.packet,"getPacket"),M=i(t=>{t.length>0&&$.packet.push(t)},"pushWord"),N=i(()=>{T(),$=structuredClone(w)},"clear"),m={pushWord:M,getPacket:I,getConfig:H,clear:N,setAccTitle:F,getAccTitle:D,setDiagramTitle:E,getDiagramTitle:A,getAccDescription:L,setAccDescription:R},X=1e4,q=i(t=>{B(t,m);let e=-1,l=[],s=1,{bitsPerRow:n}=m.getConfig();for(let{start:a,end:r,label:p}of t.blocks){if(r&&r{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*l?[t,void 0]:[{start:t.start,end:e*l-1,label:t.label},{start:e*l,end:t.end,label:t.label}]},"getNextFittingBlock"),O={parse:i(async t=>{let e=await P("packet",t);x.debug(e),q(e)},"parse")},U=i((t,e,l,s)=>{let n=s.db,a=n.getConfig(),{rowHeight:r,paddingY:p,bitWidth:g,bitsPerRow:d}=a,h=n.getPacket(),o=n.getDiagramTitle(),k=r+p,c=k*(h.length+1)-(o?0:r),b=g*d+2,f=W(e);f.attr("viewbox",`0 0 ${b} ${c}`),z(f,c,b,a.useMaxWidth);for(let[y,C]of h.entries())V(f,C,y,a);f.append("text").text(o).attr("x",b/2).attr("y",c-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),V=i((t,e,l,{rowHeight:s,paddingX:n,paddingY:a,bitWidth:r,bitsPerRow:p,showBits:g})=>{let d=t.append("g"),h=l*(s+a)+a;for(let o of e){let k=o.start%p*r+1,c=(o.end-o.start+1)*r-n;if(d.append("rect").attr("x",k).attr("y",h).attr("width",c).attr("height",s).attr("class","packetBlock"),d.append("text").attr("x",k+c/2).attr("y",h+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(o.label),!g)continue;let b=o.end===o.start,f=h-2;d.append("text").attr("x",k+(b?c/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",b?"middle":"start").text(o.start),b||d.append("text").attr("x",k+c).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(o.end)}},"drawWord"),_={draw:U},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},G=i(({packet:t}={})=>{let e=u(j,t);return` .packetByte { font-size: ${e.byteFontSize}; } diff --git a/version/6.0/assets/erDiagram-YH7IYH2C-CvJVDZw0.js b/version/6.0/assets/erDiagram-YH7IYH2C-CPwWV2BW.js similarity index 98% rename from version/6.0/assets/erDiagram-YH7IYH2C-CvJVDZw0.js rename to version/6.0/assets/erDiagram-YH7IYH2C-CPwWV2BW.js index 3f6e80154..ae60a3f37 100644 --- a/version/6.0/assets/erDiagram-YH7IYH2C-CvJVDZw0.js +++ b/version/6.0/assets/erDiagram-YH7IYH2C-CPwWV2BW.js @@ -1,4 +1,4 @@ -import{f as Mt}from"./chunk-FASC7IG4-CAkh8Mxr.js";import{m as wt}from"./chunk-ZN7TASNU-45xoTLMc.js";import{m as s,t as U,h as vt,W,T as St,k as $t,S as Dt,v as It,w as Lt,B as Ct,u as Bt,n as Pt,o as Yt,r as at,I as Zt,C as Ft}from"./mermaid.esm.min-DhsQPv9X.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var nt=function(){var t=s(function(v,a,o,n){for(o=o||{},n=v.length;n--;o[v[n]]=a);return o},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],y=[1,11],h=[1,12],_=[1,13],d=[1,14],c=[1,15],u=[1,21],g=[1,22],E=[1,23],m=[1,24],k=[1,25],f=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],x=[1,34],w=[27,28,46,47],P=[41,42,43,44,45],Y=[17,34],Z=[1,54],T=[1,53],S=[17,34,36,38],O={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:s(function(v,a,o,n,p,i,A){var l=i.length-1;switch(p){case 1:break;case 2:this.$=[];break;case 3:i[l-1].push(i[l]),this.$=i[l-1];break;case 4:case 5:this.$=i[l];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(i[l-4]),n.addEntity(i[l-2]),n.addRelationship(i[l-4],i[l],i[l-2],i[l-3]);break;case 9:n.addEntity(i[l-3]),n.addAttributes(i[l-3],i[l-1]);break;case 10:n.addEntity(i[l-2]);break;case 11:n.addEntity(i[l]);break;case 12:n.addEntity(i[l-6],i[l-4]),n.addAttributes(i[l-6],i[l-1]);break;case 13:n.addEntity(i[l-5],i[l-3]);break;case 14:n.addEntity(i[l-3],i[l-1]);break;case 15:case 16:this.$=i[l].trim(),n.setAccTitle(this.$);break;case 17:case 18:this.$=i[l].trim(),n.setAccDescription(this.$);break;case 19:case 43:this.$=i[l];break;case 20:case 41:case 42:this.$=i[l].replace(/"/g,"");break;case 21:case 29:this.$=[i[l]];break;case 22:i[l].push(i[l-1]),this.$=i[l];break;case 23:this.$={attributeType:i[l-1],attributeName:i[l]};break;case 24:this.$={attributeType:i[l-2],attributeName:i[l-1],attributeKeyTypeList:i[l]};break;case 25:this.$={attributeType:i[l-2],attributeName:i[l-1],attributeComment:i[l]};break;case 26:this.$={attributeType:i[l-3],attributeName:i[l-2],attributeKeyTypeList:i[l-1],attributeComment:i[l]};break;case 27:case 28:case 31:this.$=i[l];break;case 30:i[l-2].push(i[l]),this.$=i[l-2];break;case 32:this.$=i[l].replace(/"/g,"");break;case 33:this.$={cardA:i[l],relType:i[l-1],cardB:i[l-2]};break;case 34:this.$=n.Cardinality.ZERO_OR_ONE;break;case 35:this.$=n.Cardinality.ZERO_OR_MORE;break;case 36:this.$=n.Cardinality.ONE_OR_MORE;break;case 37:this.$=n.Cardinality.ONLY_ONE;break;case 38:this.$=n.Cardinality.MD_PARENT;break;case 39:this.$=n.Identification.NON_IDENTIFYING;break;case 40:this.$=n.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:y,24:h,26:_,27:d,28:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:y,24:h,26:_,27:d,28:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:u,42:g,43:E,44:m,45:k}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(f,[2,19]),t(f,[2,20]),t(e,[2,4]),{11:29,27:d,28:c},{16:30,17:[1,31],29:32,30:33,34:x},{11:35,27:d,28:c},{40:36,46:[1,37],47:[1,38]},t(w,[2,34]),t(w,[2,35]),t(w,[2,36]),t(w,[2,37]),t(w,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:x},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:u,42:g,43:E,44:m,45:k},t(P,[2,39]),t(P,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(Y,[2,23],{32:50,33:51,35:52,37:Z,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(Y,[2,24],{33:56,36:[1,57],38:T}),t(Y,[2,25]),t(S,[2,29]),t(Y,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:x},t(Y,[2,26]),{35:60,37:Z},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:s(function(v,a){if(a.recoverable)this.trace(v);else{var o=new Error(v);throw o.hash=a,o}},"parseError"),parse:s(function(v){var a=this,o=[0],n=[],p=[null],i=[],A=this.table,l="",G=0,lt=0,Rt=0,Nt=2,ct=1,xt=i.slice.call(arguments,1),N=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);N.setInput(v,K.yy),K.yy.lexer=N,K.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var tt=N.yylloc;i.push(tt);var Tt=N.options&&N.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function At(D){o.length=o.length-2*D,p.length=p.length-D,i.length=i.length-D}s(At,"popStack");function ht(){var D;return D=n.pop()||N.lex()||ct,typeof D!="number"&&(D instanceof Array&&(n=D,D=n.pop()),D=a.symbols_[D]||D),D}s(ht,"lex");for(var $,et,z,L,ge,rt,Q={},j,F,dt,q;;){if(z=o[o.length-1],this.defaultActions[z]?L=this.defaultActions[z]:(($===null||typeof $>"u")&&($=ht()),L=A[z]&&A[z][$]),typeof L>"u"||!L.length||!L[0]){var it="";q=[];for(j in A[z])this.terminals_[j]&&j>Nt&&q.push("'"+this.terminals_[j]+"'");N.showPosition?it="Parse error on line "+(G+1)+`: +import{f as Mt}from"./chunk-FASC7IG4-BVkK6YXv.js";import{m as wt}from"./chunk-ZN7TASNU-Cv-Yezee.js";import{m as s,t as U,h as vt,W,T as St,k as $t,S as Dt,v as It,w as Lt,B as Ct,u as Bt,n as Pt,o as Yt,r as at,I as Zt,C as Ft}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var nt=function(){var t=s(function(v,a,o,n){for(o=o||{},n=v.length;n--;o[v[n]]=a);return o},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],y=[1,11],h=[1,12],_=[1,13],d=[1,14],c=[1,15],u=[1,21],g=[1,22],E=[1,23],m=[1,24],k=[1,25],f=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],x=[1,34],w=[27,28,46,47],P=[41,42,43,44,45],Y=[17,34],Z=[1,54],T=[1,53],S=[17,34,36,38],O={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:s(function(v,a,o,n,p,i,A){var l=i.length-1;switch(p){case 1:break;case 2:this.$=[];break;case 3:i[l-1].push(i[l]),this.$=i[l-1];break;case 4:case 5:this.$=i[l];break;case 6:case 7:this.$=[];break;case 8:n.addEntity(i[l-4]),n.addEntity(i[l-2]),n.addRelationship(i[l-4],i[l],i[l-2],i[l-3]);break;case 9:n.addEntity(i[l-3]),n.addAttributes(i[l-3],i[l-1]);break;case 10:n.addEntity(i[l-2]);break;case 11:n.addEntity(i[l]);break;case 12:n.addEntity(i[l-6],i[l-4]),n.addAttributes(i[l-6],i[l-1]);break;case 13:n.addEntity(i[l-5],i[l-3]);break;case 14:n.addEntity(i[l-3],i[l-1]);break;case 15:case 16:this.$=i[l].trim(),n.setAccTitle(this.$);break;case 17:case 18:this.$=i[l].trim(),n.setAccDescription(this.$);break;case 19:case 43:this.$=i[l];break;case 20:case 41:case 42:this.$=i[l].replace(/"/g,"");break;case 21:case 29:this.$=[i[l]];break;case 22:i[l].push(i[l-1]),this.$=i[l];break;case 23:this.$={attributeType:i[l-1],attributeName:i[l]};break;case 24:this.$={attributeType:i[l-2],attributeName:i[l-1],attributeKeyTypeList:i[l]};break;case 25:this.$={attributeType:i[l-2],attributeName:i[l-1],attributeComment:i[l]};break;case 26:this.$={attributeType:i[l-3],attributeName:i[l-2],attributeKeyTypeList:i[l-1],attributeComment:i[l]};break;case 27:case 28:case 31:this.$=i[l];break;case 30:i[l-2].push(i[l]),this.$=i[l-2];break;case 32:this.$=i[l].replace(/"/g,"");break;case 33:this.$={cardA:i[l],relType:i[l-1],cardB:i[l-2]};break;case 34:this.$=n.Cardinality.ZERO_OR_ONE;break;case 35:this.$=n.Cardinality.ZERO_OR_MORE;break;case 36:this.$=n.Cardinality.ONE_OR_MORE;break;case 37:this.$=n.Cardinality.ONLY_ONE;break;case 38:this.$=n.Cardinality.MD_PARENT;break;case 39:this.$=n.Identification.NON_IDENTIFYING;break;case 40:this.$=n.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:y,24:h,26:_,27:d,28:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:y,24:h,26:_,27:d,28:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:u,42:g,43:E,44:m,45:k}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(f,[2,19]),t(f,[2,20]),t(e,[2,4]),{11:29,27:d,28:c},{16:30,17:[1,31],29:32,30:33,34:x},{11:35,27:d,28:c},{40:36,46:[1,37],47:[1,38]},t(w,[2,34]),t(w,[2,35]),t(w,[2,36]),t(w,[2,37]),t(w,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:x},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:u,42:g,43:E,44:m,45:k},t(P,[2,39]),t(P,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(Y,[2,23],{32:50,33:51,35:52,37:Z,38:T}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(Y,[2,24],{33:56,36:[1,57],38:T}),t(Y,[2,25]),t(S,[2,29]),t(Y,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:x},t(Y,[2,26]),{35:60,37:Z},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:s(function(v,a){if(a.recoverable)this.trace(v);else{var o=new Error(v);throw o.hash=a,o}},"parseError"),parse:s(function(v){var a=this,o=[0],n=[],p=[null],i=[],A=this.table,l="",G=0,lt=0,Rt=0,Nt=2,ct=1,xt=i.slice.call(arguments,1),N=Object.create(this.lexer),K={yy:{}};for(var J in this.yy)Object.prototype.hasOwnProperty.call(this.yy,J)&&(K.yy[J]=this.yy[J]);N.setInput(v,K.yy),K.yy.lexer=N,K.yy.parser=this,typeof N.yylloc>"u"&&(N.yylloc={});var tt=N.yylloc;i.push(tt);var Tt=N.options&&N.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function At(D){o.length=o.length-2*D,p.length=p.length-D,i.length=i.length-D}s(At,"popStack");function ht(){var D;return D=n.pop()||N.lex()||ct,typeof D!="number"&&(D instanceof Array&&(n=D,D=n.pop()),D=a.symbols_[D]||D),D}s(ht,"lex");for(var $,et,z,L,ge,rt,Q={},j,F,dt,q;;){if(z=o[o.length-1],this.defaultActions[z]?L=this.defaultActions[z]:(($===null||typeof $>"u")&&($=ht()),L=A[z]&&A[z][$]),typeof L>"u"||!L.length||!L[0]){var it="";q=[];for(j in A[z])this.terminals_[j]&&j>Nt&&q.push("'"+this.terminals_[j]+"'");N.showPosition?it="Parse error on line "+(G+1)+`: `+N.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[$]||$)+"'":it="Parse error on line "+(G+1)+": Unexpected "+($==ct?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(it,{text:N.match,token:this.terminals_[$]||$,line:N.yylineno,loc:tt,expected:q})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+$);switch(L[0]){case 1:o.push($),p.push(N.yytext),i.push(N.yylloc),o.push(L[1]),$=null,et?($=et,et=null):(lt=N.yyleng,l=N.yytext,G=N.yylineno,tt=N.yylloc,Rt>0);break;case 2:if(F=this.productions_[L[1]][1],Q.$=p[p.length-F],Q._$={first_line:i[i.length-(F||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(F||1)].first_column,last_column:i[i.length-1].last_column},Tt&&(Q._$.range=[i[i.length-(F||1)].range[0],i[i.length-1].range[1]]),rt=this.performAction.apply(Q,[l,lt,G,K.yy,L[1],p,i].concat(xt)),typeof rt<"u")return rt;F&&(o=o.slice(0,-1*F*2),p=p.slice(0,-1*F),i=i.slice(0,-1*F)),o.push(this.productions_[L[1]][0]),p.push(Q.$),i.push(Q._$),dt=A[o[o.length-2]][o[o.length-1]],o.push(dt);break;case 3:return!0}}return!0},"parse")},R=function(){var v={EOF:1,parseError:s(function(a,o){if(this.yy.parser)this.yy.parser.parseError(a,o);else throw new Error(a)},"parseError"),setInput:s(function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:s(function(a){var o=a.length,n=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var p=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===p.length?this.yylloc.first_column:0)+p[p.length-n.length].length-n[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(a){this.unput(this.match.slice(a))},"less"),pastInput:s(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/version/6.0/assets/filterQueryParam.html-DifL6uLv.js b/version/6.0/assets/filterQueryParam.html-B3rDiGiL.js similarity index 96% rename from version/6.0/assets/filterQueryParam.html-DifL6uLv.js rename to version/6.0/assets/filterQueryParam.html-B3rDiGiL.js index c797a093e..15274ea13 100644 --- a/version/6.0/assets/filterQueryParam.html-DifL6uLv.js +++ b/version/6.0/assets/filterQueryParam.html-B3rDiGiL.js @@ -1,4 +1,4 @@ -import{_ as t,c as n,a as e,f as r,o as s}from"./app-chHFUe1n.js";const l={};function a(i,o){return s(),n("div",null,o[0]||(o[0]=[e("p",null,[r("a filter containing properties "),e("em",null,"where"),r(", "),e("em",null,"fields"),r(", "),e("em",null,"order"),r(", "),e("em",null,"skip"),r(", and "),e("em",null,"limit")],-1),e("pre",null,[e("code",null,`- parameter name: filter +import{_ as t,c as n,a as e,f as r,o as s}from"./app-vBJoMoyQ.js";const l={};function a(i,o){return s(),n("div",null,o[0]||(o[0]=[e("p",null,[r("a filter containing properties "),e("em",null,"where"),r(", "),e("em",null,"fields"),r(", "),e("em",null,"order"),r(", "),e("em",null,"skip"),r(", and "),e("em",null,"limit")],-1),e("pre",null,[e("code",null,`- parameter name: filter - required: false - parameter type: query - data type: object diff --git a/version/6.0/assets/filterQueryParamCode.html-DjIxjEVT.js b/version/6.0/assets/filterQueryParamCode.html-CUSILiZ4.js similarity index 88% rename from version/6.0/assets/filterQueryParamCode.html-DjIxjEVT.js rename to version/6.0/assets/filterQueryParamCode.html-CUSILiZ4.js index 0e9b07e81..afc8915c5 100644 --- a/version/6.0/assets/filterQueryParamCode.html-DjIxjEVT.js +++ b/version/6.0/assets/filterQueryParamCode.html-CUSILiZ4.js @@ -1 +1 @@ -import{_ as r,c as t,a,o as l}from"./app-chHFUe1n.js";const o={};function s(d,e){return l(),t("div",null,e[0]||(e[0]=[a("p",null,"?filter=%7B%22where%22%3A%7B%22created%22%3A%7B%22%24gte%22%3A%222023-01-01%22%2C%22%24lt%22%3A%222024-01-01%22%7D%7D%7D",-1)]))}const c=r(o,[["render",s],["__file","filterQueryParamCode.html.vue"]]),i=JSON.parse('{"path":"/docs/shared/filterQueryParamCode.html","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{},"filePathRelative":"docs/shared/filterQueryParamCode.md"}');export{c as comp,i as data}; +import{_ as r,c as t,a,o as l}from"./app-vBJoMoyQ.js";const o={};function s(d,e){return l(),t("div",null,e[0]||(e[0]=[a("p",null,"?filter=%7B%22where%22%3A%7B%22created%22%3A%7B%22%24gte%22%3A%222023-01-01%22%2C%22%24lt%22%3A%222024-01-01%22%7D%7D%7D",-1)]))}const c=r(o,[["render",s],["__file","filterQueryParamCode.html.vue"]]),i=JSON.parse('{"path":"/docs/shared/filterQueryParamCode.html","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{},"filePathRelative":"docs/shared/filterQueryParamCode.md"}');export{c as comp,i as data}; diff --git a/version/6.0/assets/filterQueryParamExample.html-BS5me4rK.js b/version/6.0/assets/filterQueryParamExample.html-C-qSyLrW.js similarity index 90% rename from version/6.0/assets/filterQueryParamExample.html-BS5me4rK.js rename to version/6.0/assets/filterQueryParamExample.html-C-qSyLrW.js index f080e6eae..1159e2dbc 100644 --- a/version/6.0/assets/filterQueryParamExample.html-BS5me4rK.js +++ b/version/6.0/assets/filterQueryParamExample.html-C-qSyLrW.js @@ -1,4 +1,4 @@ -import{_ as t,c as a,a as e,o as n}from"./app-chHFUe1n.js";const l={};function o(s,r){return n(),a("div",null,r[0]||(r[0]=[e("p",null,"the value of the filter query parameter is URL-encoded stringified JSON object",-1),e("pre",null,[e("code",null,`\`\`\`json +import{_ as t,c as a,a as e,o as n}from"./app-vBJoMoyQ.js";const l={};function o(s,r){return n(),a("div",null,r[0]||(r[0]=[e("p",null,"the value of the filter query parameter is URL-encoded stringified JSON object",-1),e("pre",null,[e("code",null,`\`\`\`json { "where": { "created": { diff --git a/version/6.0/assets/flowDiagram-7QVFXBRT-C9gei6Gy.js b/version/6.0/assets/flowDiagram-7QVFXBRT-BIcEk3bs.js similarity index 99% rename from version/6.0/assets/flowDiagram-7QVFXBRT-C9gei6Gy.js rename to version/6.0/assets/flowDiagram-7QVFXBRT-BIcEk3bs.js index e68a98df4..c1e26fab3 100644 --- a/version/6.0/assets/flowDiagram-7QVFXBRT-C9gei6Gy.js +++ b/version/6.0/assets/flowDiagram-7QVFXBRT-BIcEk3bs.js @@ -1,4 +1,4 @@ -import{w as ft,$ as yt}from"./chunk-P7KHIEPL-BYT7Poah.js";import{W as U1,m as o,a as kt,g as bt,d as Et,e as mt,t as t1,I as Ae,r as D1,h as xt,Y as St,i as Dt,T as Tt,k as Ct,v as Ft,S as _t,w as Bt,B as vt,V as wt,j as $t,s as Lt,E as Ze,l as It}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Rt="flowchart-",Qe=0,V1=U1(),y1=new Map,j=[],Y1=new Map,g1=[],fe=new Map,ye=new Map,Q1=0,pe=!0,J,te,se=[],re=o(e=>kt.sanitizeText(e,V1),"sanitizeText"),ie=o(function(e){for(let r of y1.values())if(r.id===e)return r.domId;return e},"lookUpDomId"),Nt=o(function(e,r,u,i,a,g,f={},d){var F,V;if(!e||e.trim().length===0)return;let A,h=y1.get(e);if(h===void 0&&(h={id:e,labelType:"text",domId:Rt+e+"-"+Qe,styles:[],classes:[]},y1.set(e,h)),Qe++,r!==void 0?(V1=U1(),A=re(r.text.trim()),h.labelType=r.type,A.startsWith('"')&&A.endsWith('"')&&(A=A.substring(1,A.length-1)),h.text=A):h.text===void 0&&(h.text=e),u!==void 0&&(h.type=u),i==null||i.forEach(function(_){h.styles.push(_)}),a==null||a.forEach(function(_){h.classes.push(_)}),g!==void 0&&(h.dir=g),h.props===void 0?h.props=f:f!==void 0&&Object.assign(h.props,f),d!==void 0){let _;d.includes(` +import{w as ft,$ as yt}from"./chunk-P7KHIEPL-BWluqrz7.js";import{W as U1,m as o,a as kt,g as bt,d as Et,e as mt,t as t1,I as Ae,r as D1,h as xt,Y as St,i as Dt,T as Tt,k as Ct,v as Ft,S as _t,w as Bt,B as vt,V as wt,j as $t,s as Lt,E as Ze,l as It}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Rt="flowchart-",Qe=0,V1=U1(),y1=new Map,j=[],Y1=new Map,g1=[],fe=new Map,ye=new Map,Q1=0,pe=!0,J,te,se=[],re=o(e=>kt.sanitizeText(e,V1),"sanitizeText"),ie=o(function(e){for(let r of y1.values())if(r.id===e)return r.domId;return e},"lookUpDomId"),Nt=o(function(e,r,u,i,a,g,f={},d){var F,V;if(!e||e.trim().length===0)return;let A,h=y1.get(e);if(h===void 0&&(h={id:e,labelType:"text",domId:Rt+e+"-"+Qe,styles:[],classes:[]},y1.set(e,h)),Qe++,r!==void 0?(V1=U1(),A=re(r.text.trim()),h.labelType=r.type,A.startsWith('"')&&A.endsWith('"')&&(A=A.substring(1,A.length-1)),h.text=A):h.text===void 0&&(h.text=e),u!==void 0&&(h.type=u),i==null||i.forEach(function(_){h.styles.push(_)}),a==null||a.forEach(function(_){h.classes.push(_)}),g!==void 0&&(h.dir=g),h.props===void 0?h.props=f:f!==void 0&&Object.assign(h.props,f),d!==void 0){let _;d.includes(` `)?_=d+` `:_=`{ `+d+` diff --git a/version/6.0/assets/ganttDiagram-7KUJEIIK-z0epYagr.js b/version/6.0/assets/ganttDiagram-7KUJEIIK-W0Au2zDy.js similarity index 99% rename from version/6.0/assets/ganttDiagram-7KUJEIIK-z0epYagr.js rename to version/6.0/assets/ganttDiagram-7KUJEIIK-W0Au2zDy.js index e3a1d7b3e..c47e1aa63 100644 --- a/version/6.0/assets/ganttDiagram-7KUJEIIK-z0epYagr.js +++ b/version/6.0/assets/ganttDiagram-7KUJEIIK-W0Au2zDy.js @@ -1,4 +1,4 @@ -import{m as l,q as dt,f as ce,aw as te,h as de,t as wt,W as ot,I as ue,T as he,k as fe,w as ye,B as ke,S as me,v as pe,r as Tt,ax as ge,ay as be,az as Te,C as ve,aA as xe,aB as we,aC as _e,aD as qt,aE as Ut,aF as Zt,aG as Ht,aH as Rt,aI as Kt,aJ as Xt,aK as De,a as Se,aL as Yt,aM as $e,aN as Ce,aO as Ee,aP as Me,aQ as Ae,aR as Ye,aS as Le}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Ie=Yt((e,i)=>{(function(s,a){typeof e=="object"&&typeof i<"u"?i.exports=a():typeof define=="function"&&define.amd?define(a):(s=typeof globalThis<"u"?globalThis:s||self).dayjs_plugin_isoWeek=a()})(e,function(){var s="day";return function(a,n,u){var y=l(function(S){return S.add(4-S.isoWeekday(),s)},"a"),D=n.prototype;D.isoWeekYear=function(){return y(this).year()},D.isoWeek=function(S){if(!this.$utils().u(S))return this.add(7*(S-this.isoWeek()),s);var x,E,W,j,z=y(this),C=(x=this.isoWeekYear(),E=this.$u,W=(E?u.utc:u)().year(x).startOf("year"),j=4-W.isoWeekday(),W.isoWeekday()>4&&(j+=7),W.add(j,s));return z.diff(C,"week")+1},D.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var L=D.startOf;D.startOf=function(S,x){var E=this.$utils(),W=!!E.u(x)||x;return E.p(S)==="isoweek"?W?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):L.bind(this)(S,x)}}})}),We=Yt((e,i)=>{(function(s,a){typeof e=="object"&&typeof i<"u"?i.exports=a():typeof define=="function"&&define.amd?define(a):(s=typeof globalThis<"u"?globalThis:s||self).dayjs_plugin_customParseFormat=a()})(e,function(){var s={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},a=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,u=/\d\d/,y=/\d\d?/,D=/\d*[^-_:/,()\s\d]+/,L={},S=l(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),x=l(function(g){return function($){this[g]=+$}},"f"),E=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function($){if(!$||$==="Z")return 0;var M=$.match(/([+-]|\d\d)/g),A=60*M[1]+(+M[2]||0);return A===0?0:M[0]==="+"?-A:A}(g)}],W=l(function(g){var $=L[g];return $&&($.indexOf?$:$.s.concat($.f))},"u"),j=l(function(g,$){var M,A=L.meridiem;if(A){for(var G=1;G<=24;G+=1)if(g.indexOf(A(G,0,$))>-1){M=G>12;break}}else M=g===($?"pm":"PM");return M},"d"),z={A:[D,function(g){this.afternoon=j(g,!1)}],a:[D,function(g){this.afternoon=j(g,!0)}],Q:[n,function(g){this.month=3*(g-1)+1}],S:[n,function(g){this.milliseconds=100*+g}],SS:[u,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[y,x("seconds")],ss:[y,x("seconds")],m:[y,x("minutes")],mm:[y,x("minutes")],H:[y,x("hours")],h:[y,x("hours")],HH:[y,x("hours")],hh:[y,x("hours")],D:[y,x("day")],DD:[u,x("day")],Do:[D,function(g){var $=L.ordinal,M=g.match(/\d+/);if(this.day=M[0],$)for(var A=1;A<=31;A+=1)$(A).replace(/\[|\]/g,"")===g&&(this.day=A)}],w:[y,x("week")],ww:[u,x("week")],M:[y,x("month")],MM:[u,x("month")],MMM:[D,function(g){var $=W("months"),M=(W("monthsShort")||$.map(function(A){return A.slice(0,3)})).indexOf(g)+1;if(M<1)throw new Error;this.month=M%12||M}],MMMM:[D,function(g){var $=W("months").indexOf(g)+1;if($<1)throw new Error;this.month=$%12||$}],Y:[/[+-]?\d+/,x("year")],YY:[u,function(g){this.year=S(g)}],YYYY:[/\d{4}/,x("year")],Z:E,ZZ:E};function C(g){var $,M;$=g,M=L&&L.formats;for(var A=(g=$.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(T,v,h){var m=h&&h.toUpperCase();return v||M[h]||s[h]||M[m].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(r,d,c){return d||c.slice(1)})})).match(a),G=A.length,N=0;N-1)return new Date((t==="X"?1e3:1)*p);var _=C(t)(p),w=_.year,Y=_.month,I=_.day,it=_.hours,ut=_.minutes,F=_.seconds,X=_.milliseconds,st=_.zone,at=_.week,ht=new Date,ft=I||(w||Y?1:ht.getDate()),rt=w||ht.getFullYear(),O=0;w&&!Y||(O=Y>0?Y-1:ht.getMonth());var V,R=it||0,B=ut||0,pt=F||0,tt=X||0;return st?new Date(Date.UTC(rt,O,ft,R,B,pt,tt+60*st.offset*1e3)):f?new Date(Date.UTC(rt,O,ft,R,B,pt,tt)):(V=new Date(rt,O,ft,R,B,pt,tt),at&&(V=o(V).week(at).toDate()),V)}catch{return new Date("")}}(H,b,q,M),this.init(),m&&m!==!0&&(this.$L=this.locale(m).$L),h&&H!=this.format(b)&&(this.$d=new Date("")),L={}}else if(b instanceof Array)for(var r=b.length,d=1;d<=r;d+=1){k[1]=b[d-1];var c=M.apply(this,k);if(c.isValid()){this.$d=c.$d,this.$L=c.$L,this.init();break}d===r&&(this.$d=new Date(""))}else G.call(this,N)}}})}),Fe=Yt((e,i)=>{(function(s,a){typeof e=="object"&&typeof i<"u"?i.exports=a():typeof define=="function"&&define.amd?define(a):(s=typeof globalThis<"u"?globalThis:s||self).dayjs_plugin_advancedFormat=a()})(e,function(){return function(s,a){var n=a.prototype,u=n.format;n.format=function(y){var D=this,L=this.$locale();if(!this.isValid())return u.bind(this)(y);var S=this.$utils(),x=(y||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(E){switch(E){case"Q":return Math.ceil((D.$M+1)/3);case"Do":return L.ordinal(D.$D);case"gggg":return D.weekYear();case"GGGG":return D.isoWeekYear();case"wo":return L.ordinal(D.week(),"W");case"w":case"ww":return S.s(D.week(),E==="w"?1:2,"0");case"W":case"WW":return S.s(D.isoWeek(),E==="W"?1:2,"0");case"k":case"kk":return S.s(String(D.$H===0?24:D.$H),E==="k"?1:2,"0");case"X":return Math.floor(D.$d.getTime()/1e3);case"x":return D.$d.getTime();case"z":return"["+D.offsetName()+"]";case"zzz":return"["+D.offsetName("long")+"]";default:return E}});return u.bind(this)(x)}}})}),Ct=function(){var e=l(function(m,r,d,c){for(d=d||{},c=m.length;c--;d[m[c]]=r);return d},"o"),i=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],s=[1,26],a=[1,27],n=[1,28],u=[1,29],y=[1,30],D=[1,31],L=[1,32],S=[1,33],x=[1,34],E=[1,9],W=[1,10],j=[1,11],z=[1,12],C=[1,13],g=[1,14],$=[1,15],M=[1,16],A=[1,19],G=[1,20],N=[1,21],H=[1,22],q=[1,23],k=[1,25],b=[1,35],T={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:l(function(m,r,d,c,p,t,f){var o=t.length-1;switch(p){case 1:return t[o-1];case 2:this.$=[];break;case 3:t[o-1].push(t[o]),this.$=t[o-1];break;case 4:case 5:this.$=t[o];break;case 6:case 7:this.$=[];break;case 8:c.setWeekday("monday");break;case 9:c.setWeekday("tuesday");break;case 10:c.setWeekday("wednesday");break;case 11:c.setWeekday("thursday");break;case 12:c.setWeekday("friday");break;case 13:c.setWeekday("saturday");break;case 14:c.setWeekday("sunday");break;case 15:c.setWeekend("friday");break;case 16:c.setWeekend("saturday");break;case 17:c.setDateFormat(t[o].substr(11)),this.$=t[o].substr(11);break;case 18:c.enableInclusiveEndDates(),this.$=t[o].substr(18);break;case 19:c.TopAxis(),this.$=t[o].substr(8);break;case 20:c.setAxisFormat(t[o].substr(11)),this.$=t[o].substr(11);break;case 21:c.setTickInterval(t[o].substr(13)),this.$=t[o].substr(13);break;case 22:c.setExcludes(t[o].substr(9)),this.$=t[o].substr(9);break;case 23:c.setIncludes(t[o].substr(9)),this.$=t[o].substr(9);break;case 24:c.setTodayMarker(t[o].substr(12)),this.$=t[o].substr(12);break;case 27:c.setDiagramTitle(t[o].substr(6)),this.$=t[o].substr(6);break;case 28:this.$=t[o].trim(),c.setAccTitle(this.$);break;case 29:case 30:this.$=t[o].trim(),c.setAccDescription(this.$);break;case 31:c.addSection(t[o].substr(8)),this.$=t[o].substr(8);break;case 33:c.addTask(t[o-1],t[o]),this.$="task";break;case 34:this.$=t[o-1],c.setClickEvent(t[o-1],t[o],null);break;case 35:this.$=t[o-2],c.setClickEvent(t[o-2],t[o-1],t[o]);break;case 36:this.$=t[o-2],c.setClickEvent(t[o-2],t[o-1],null),c.setLink(t[o-2],t[o]);break;case 37:this.$=t[o-3],c.setClickEvent(t[o-3],t[o-2],t[o-1]),c.setLink(t[o-3],t[o]);break;case 38:this.$=t[o-2],c.setClickEvent(t[o-2],t[o],null),c.setLink(t[o-2],t[o-1]);break;case 39:this.$=t[o-3],c.setClickEvent(t[o-3],t[o-1],t[o]),c.setLink(t[o-3],t[o-2]);break;case 40:this.$=t[o-1],c.setLink(t[o-1],t[o]);break;case 41:case 47:this.$=t[o-1]+" "+t[o];break;case 42:case 43:case 45:this.$=t[o-2]+" "+t[o-1]+" "+t[o];break;case 44:case 46:this.$=t[o-3]+" "+t[o-2]+" "+t[o-1]+" "+t[o];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:s,13:a,14:n,15:u,16:y,17:D,18:L,19:18,20:S,21:x,22:E,23:W,24:j,25:z,26:C,27:g,28:$,29:M,30:A,31:G,33:N,35:H,36:q,37:24,38:k,40:b},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:36,11:17,12:s,13:a,14:n,15:u,16:y,17:D,18:L,19:18,20:S,21:x,22:E,23:W,24:j,25:z,26:C,27:g,28:$,29:M,30:A,31:G,33:N,35:H,36:q,37:24,38:k,40:b},e(i,[2,5]),e(i,[2,6]),e(i,[2,17]),e(i,[2,18]),e(i,[2,19]),e(i,[2,20]),e(i,[2,21]),e(i,[2,22]),e(i,[2,23]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),e(i,[2,27]),{32:[1,37]},{34:[1,38]},e(i,[2,30]),e(i,[2,31]),e(i,[2,32]),{39:[1,39]},e(i,[2,8]),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,15]),e(i,[2,16]),{41:[1,40],43:[1,41]},e(i,[2,4]),e(i,[2,28]),e(i,[2,29]),e(i,[2,33]),e(i,[2,34],{42:[1,42],43:[1,43]}),e(i,[2,40],{41:[1,44]}),e(i,[2,35],{43:[1,45]}),e(i,[2,36]),e(i,[2,38],{42:[1,46]}),e(i,[2,37]),e(i,[2,39])],defaultActions:{},parseError:l(function(m,r){if(r.recoverable)this.trace(m);else{var d=new Error(m);throw d.hash=r,d}},"parseError"),parse:l(function(m){var r=this,d=[0],c=[],p=[null],t=[],f=this.table,o="",_=0,w=0,Y=0,I=2,it=1,ut=t.slice.call(arguments,1),F=Object.create(this.lexer),X={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(X.yy[st]=this.yy[st]);F.setInput(m,X.yy),X.yy.lexer=F,X.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var at=F.yylloc;t.push(at);var ht=F.options&&F.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(U){d.length=d.length-2*U,p.length=p.length-U,t.length=t.length-U}l(ft,"popStack");function rt(){var U;return U=c.pop()||F.lex()||it,typeof U!="number"&&(U instanceof Array&&(c=U,U=c.pop()),U=r.symbols_[U]||U),U}l(rt,"lex");for(var O,V,R,B,pt,tt,nt={},gt,J,Nt,bt;;){if(R=d[d.length-1],this.defaultActions[R]?B=this.defaultActions[R]:((O===null||typeof O>"u")&&(O=rt()),B=f[R]&&f[R][O]),typeof B>"u"||!B.length||!B[0]){var St="";bt=[];for(gt in f[R])this.terminals_[gt]&>>I&&bt.push("'"+this.terminals_[gt]+"'");F.showPosition?St="Parse error on line "+(_+1)+`: +import{m as l,q as dt,f as ce,aw as te,h as de,t as wt,W as ot,I as ue,T as he,k as fe,w as ye,B as ke,S as me,v as pe,r as Tt,ax as ge,ay as be,az as Te,C as ve,aA as xe,aB as we,aC as _e,aD as qt,aE as Ut,aF as Zt,aG as Ht,aH as Rt,aI as Kt,aJ as Xt,aK as De,a as Se,aL as Yt,aM as $e,aN as Ce,aO as Ee,aP as Me,aQ as Ae,aR as Ye,aS as Le}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Ie=Yt((e,i)=>{(function(s,a){typeof e=="object"&&typeof i<"u"?i.exports=a():typeof define=="function"&&define.amd?define(a):(s=typeof globalThis<"u"?globalThis:s||self).dayjs_plugin_isoWeek=a()})(e,function(){var s="day";return function(a,n,u){var y=l(function(S){return S.add(4-S.isoWeekday(),s)},"a"),D=n.prototype;D.isoWeekYear=function(){return y(this).year()},D.isoWeek=function(S){if(!this.$utils().u(S))return this.add(7*(S-this.isoWeek()),s);var x,E,W,j,z=y(this),C=(x=this.isoWeekYear(),E=this.$u,W=(E?u.utc:u)().year(x).startOf("year"),j=4-W.isoWeekday(),W.isoWeekday()>4&&(j+=7),W.add(j,s));return z.diff(C,"week")+1},D.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var L=D.startOf;D.startOf=function(S,x){var E=this.$utils(),W=!!E.u(x)||x;return E.p(S)==="isoweek"?W?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):L.bind(this)(S,x)}}})}),We=Yt((e,i)=>{(function(s,a){typeof e=="object"&&typeof i<"u"?i.exports=a():typeof define=="function"&&define.amd?define(a):(s=typeof globalThis<"u"?globalThis:s||self).dayjs_plugin_customParseFormat=a()})(e,function(){var s={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},a=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,u=/\d\d/,y=/\d\d?/,D=/\d*[^-_:/,()\s\d]+/,L={},S=l(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),x=l(function(g){return function($){this[g]=+$}},"f"),E=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function($){if(!$||$==="Z")return 0;var M=$.match(/([+-]|\d\d)/g),A=60*M[1]+(+M[2]||0);return A===0?0:M[0]==="+"?-A:A}(g)}],W=l(function(g){var $=L[g];return $&&($.indexOf?$:$.s.concat($.f))},"u"),j=l(function(g,$){var M,A=L.meridiem;if(A){for(var G=1;G<=24;G+=1)if(g.indexOf(A(G,0,$))>-1){M=G>12;break}}else M=g===($?"pm":"PM");return M},"d"),z={A:[D,function(g){this.afternoon=j(g,!1)}],a:[D,function(g){this.afternoon=j(g,!0)}],Q:[n,function(g){this.month=3*(g-1)+1}],S:[n,function(g){this.milliseconds=100*+g}],SS:[u,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[y,x("seconds")],ss:[y,x("seconds")],m:[y,x("minutes")],mm:[y,x("minutes")],H:[y,x("hours")],h:[y,x("hours")],HH:[y,x("hours")],hh:[y,x("hours")],D:[y,x("day")],DD:[u,x("day")],Do:[D,function(g){var $=L.ordinal,M=g.match(/\d+/);if(this.day=M[0],$)for(var A=1;A<=31;A+=1)$(A).replace(/\[|\]/g,"")===g&&(this.day=A)}],w:[y,x("week")],ww:[u,x("week")],M:[y,x("month")],MM:[u,x("month")],MMM:[D,function(g){var $=W("months"),M=(W("monthsShort")||$.map(function(A){return A.slice(0,3)})).indexOf(g)+1;if(M<1)throw new Error;this.month=M%12||M}],MMMM:[D,function(g){var $=W("months").indexOf(g)+1;if($<1)throw new Error;this.month=$%12||$}],Y:[/[+-]?\d+/,x("year")],YY:[u,function(g){this.year=S(g)}],YYYY:[/\d{4}/,x("year")],Z:E,ZZ:E};function C(g){var $,M;$=g,M=L&&L.formats;for(var A=(g=$.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(T,v,h){var m=h&&h.toUpperCase();return v||M[h]||s[h]||M[m].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(r,d,c){return d||c.slice(1)})})).match(a),G=A.length,N=0;N-1)return new Date((t==="X"?1e3:1)*p);var _=C(t)(p),w=_.year,Y=_.month,I=_.day,it=_.hours,ut=_.minutes,F=_.seconds,X=_.milliseconds,st=_.zone,at=_.week,ht=new Date,ft=I||(w||Y?1:ht.getDate()),rt=w||ht.getFullYear(),O=0;w&&!Y||(O=Y>0?Y-1:ht.getMonth());var V,R=it||0,B=ut||0,pt=F||0,tt=X||0;return st?new Date(Date.UTC(rt,O,ft,R,B,pt,tt+60*st.offset*1e3)):f?new Date(Date.UTC(rt,O,ft,R,B,pt,tt)):(V=new Date(rt,O,ft,R,B,pt,tt),at&&(V=o(V).week(at).toDate()),V)}catch{return new Date("")}}(H,b,q,M),this.init(),m&&m!==!0&&(this.$L=this.locale(m).$L),h&&H!=this.format(b)&&(this.$d=new Date("")),L={}}else if(b instanceof Array)for(var r=b.length,d=1;d<=r;d+=1){k[1]=b[d-1];var c=M.apply(this,k);if(c.isValid()){this.$d=c.$d,this.$L=c.$L,this.init();break}d===r&&(this.$d=new Date(""))}else G.call(this,N)}}})}),Fe=Yt((e,i)=>{(function(s,a){typeof e=="object"&&typeof i<"u"?i.exports=a():typeof define=="function"&&define.amd?define(a):(s=typeof globalThis<"u"?globalThis:s||self).dayjs_plugin_advancedFormat=a()})(e,function(){return function(s,a){var n=a.prototype,u=n.format;n.format=function(y){var D=this,L=this.$locale();if(!this.isValid())return u.bind(this)(y);var S=this.$utils(),x=(y||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(E){switch(E){case"Q":return Math.ceil((D.$M+1)/3);case"Do":return L.ordinal(D.$D);case"gggg":return D.weekYear();case"GGGG":return D.isoWeekYear();case"wo":return L.ordinal(D.week(),"W");case"w":case"ww":return S.s(D.week(),E==="w"?1:2,"0");case"W":case"WW":return S.s(D.isoWeek(),E==="W"?1:2,"0");case"k":case"kk":return S.s(String(D.$H===0?24:D.$H),E==="k"?1:2,"0");case"X":return Math.floor(D.$d.getTime()/1e3);case"x":return D.$d.getTime();case"z":return"["+D.offsetName()+"]";case"zzz":return"["+D.offsetName("long")+"]";default:return E}});return u.bind(this)(x)}}})}),Ct=function(){var e=l(function(m,r,d,c){for(d=d||{},c=m.length;c--;d[m[c]]=r);return d},"o"),i=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],s=[1,26],a=[1,27],n=[1,28],u=[1,29],y=[1,30],D=[1,31],L=[1,32],S=[1,33],x=[1,34],E=[1,9],W=[1,10],j=[1,11],z=[1,12],C=[1,13],g=[1,14],$=[1,15],M=[1,16],A=[1,19],G=[1,20],N=[1,21],H=[1,22],q=[1,23],k=[1,25],b=[1,35],T={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:l(function(m,r,d,c,p,t,f){var o=t.length-1;switch(p){case 1:return t[o-1];case 2:this.$=[];break;case 3:t[o-1].push(t[o]),this.$=t[o-1];break;case 4:case 5:this.$=t[o];break;case 6:case 7:this.$=[];break;case 8:c.setWeekday("monday");break;case 9:c.setWeekday("tuesday");break;case 10:c.setWeekday("wednesday");break;case 11:c.setWeekday("thursday");break;case 12:c.setWeekday("friday");break;case 13:c.setWeekday("saturday");break;case 14:c.setWeekday("sunday");break;case 15:c.setWeekend("friday");break;case 16:c.setWeekend("saturday");break;case 17:c.setDateFormat(t[o].substr(11)),this.$=t[o].substr(11);break;case 18:c.enableInclusiveEndDates(),this.$=t[o].substr(18);break;case 19:c.TopAxis(),this.$=t[o].substr(8);break;case 20:c.setAxisFormat(t[o].substr(11)),this.$=t[o].substr(11);break;case 21:c.setTickInterval(t[o].substr(13)),this.$=t[o].substr(13);break;case 22:c.setExcludes(t[o].substr(9)),this.$=t[o].substr(9);break;case 23:c.setIncludes(t[o].substr(9)),this.$=t[o].substr(9);break;case 24:c.setTodayMarker(t[o].substr(12)),this.$=t[o].substr(12);break;case 27:c.setDiagramTitle(t[o].substr(6)),this.$=t[o].substr(6);break;case 28:this.$=t[o].trim(),c.setAccTitle(this.$);break;case 29:case 30:this.$=t[o].trim(),c.setAccDescription(this.$);break;case 31:c.addSection(t[o].substr(8)),this.$=t[o].substr(8);break;case 33:c.addTask(t[o-1],t[o]),this.$="task";break;case 34:this.$=t[o-1],c.setClickEvent(t[o-1],t[o],null);break;case 35:this.$=t[o-2],c.setClickEvent(t[o-2],t[o-1],t[o]);break;case 36:this.$=t[o-2],c.setClickEvent(t[o-2],t[o-1],null),c.setLink(t[o-2],t[o]);break;case 37:this.$=t[o-3],c.setClickEvent(t[o-3],t[o-2],t[o-1]),c.setLink(t[o-3],t[o]);break;case 38:this.$=t[o-2],c.setClickEvent(t[o-2],t[o],null),c.setLink(t[o-2],t[o-1]);break;case 39:this.$=t[o-3],c.setClickEvent(t[o-3],t[o-1],t[o]),c.setLink(t[o-3],t[o-2]);break;case 40:this.$=t[o-1],c.setLink(t[o-1],t[o]);break;case 41:case 47:this.$=t[o-1]+" "+t[o];break;case 42:case 43:case 45:this.$=t[o-2]+" "+t[o-1]+" "+t[o];break;case 44:case 46:this.$=t[o-3]+" "+t[o-2]+" "+t[o-1]+" "+t[o];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(i,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:s,13:a,14:n,15:u,16:y,17:D,18:L,19:18,20:S,21:x,22:E,23:W,24:j,25:z,26:C,27:g,28:$,29:M,30:A,31:G,33:N,35:H,36:q,37:24,38:k,40:b},e(i,[2,7],{1:[2,1]}),e(i,[2,3]),{9:36,11:17,12:s,13:a,14:n,15:u,16:y,17:D,18:L,19:18,20:S,21:x,22:E,23:W,24:j,25:z,26:C,27:g,28:$,29:M,30:A,31:G,33:N,35:H,36:q,37:24,38:k,40:b},e(i,[2,5]),e(i,[2,6]),e(i,[2,17]),e(i,[2,18]),e(i,[2,19]),e(i,[2,20]),e(i,[2,21]),e(i,[2,22]),e(i,[2,23]),e(i,[2,24]),e(i,[2,25]),e(i,[2,26]),e(i,[2,27]),{32:[1,37]},{34:[1,38]},e(i,[2,30]),e(i,[2,31]),e(i,[2,32]),{39:[1,39]},e(i,[2,8]),e(i,[2,9]),e(i,[2,10]),e(i,[2,11]),e(i,[2,12]),e(i,[2,13]),e(i,[2,14]),e(i,[2,15]),e(i,[2,16]),{41:[1,40],43:[1,41]},e(i,[2,4]),e(i,[2,28]),e(i,[2,29]),e(i,[2,33]),e(i,[2,34],{42:[1,42],43:[1,43]}),e(i,[2,40],{41:[1,44]}),e(i,[2,35],{43:[1,45]}),e(i,[2,36]),e(i,[2,38],{42:[1,46]}),e(i,[2,37]),e(i,[2,39])],defaultActions:{},parseError:l(function(m,r){if(r.recoverable)this.trace(m);else{var d=new Error(m);throw d.hash=r,d}},"parseError"),parse:l(function(m){var r=this,d=[0],c=[],p=[null],t=[],f=this.table,o="",_=0,w=0,Y=0,I=2,it=1,ut=t.slice.call(arguments,1),F=Object.create(this.lexer),X={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(X.yy[st]=this.yy[st]);F.setInput(m,X.yy),X.yy.lexer=F,X.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var at=F.yylloc;t.push(at);var ht=F.options&&F.options.ranges;typeof X.yy.parseError=="function"?this.parseError=X.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(U){d.length=d.length-2*U,p.length=p.length-U,t.length=t.length-U}l(ft,"popStack");function rt(){var U;return U=c.pop()||F.lex()||it,typeof U!="number"&&(U instanceof Array&&(c=U,U=c.pop()),U=r.symbols_[U]||U),U}l(rt,"lex");for(var O,V,R,B,pt,tt,nt={},gt,J,Nt,bt;;){if(R=d[d.length-1],this.defaultActions[R]?B=this.defaultActions[R]:((O===null||typeof O>"u")&&(O=rt()),B=f[R]&&f[R][O]),typeof B>"u"||!B.length||!B[0]){var St="";bt=[];for(gt in f[R])this.terminals_[gt]&>>I&&bt.push("'"+this.terminals_[gt]+"'");F.showPosition?St="Parse error on line "+(_+1)+`: `+F.showPosition()+` Expecting `+bt.join(", ")+", got '"+(this.terminals_[O]||O)+"'":St="Parse error on line "+(_+1)+": Unexpected "+(O==it?"end of input":"'"+(this.terminals_[O]||O)+"'"),this.parseError(St,{text:F.match,token:this.terminals_[O]||O,line:F.yylineno,loc:at,expected:bt})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+O);switch(B[0]){case 1:d.push(O),p.push(F.yytext),t.push(F.yylloc),d.push(B[1]),O=null,V?(O=V,V=null):(w=F.yyleng,o=F.yytext,_=F.yylineno,at=F.yylloc,Y>0);break;case 2:if(J=this.productions_[B[1]][1],nt.$=p[p.length-J],nt._$={first_line:t[t.length-(J||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(J||1)].first_column,last_column:t[t.length-1].last_column},ht&&(nt._$.range=[t[t.length-(J||1)].range[0],t[t.length-1].range[1]]),tt=this.performAction.apply(nt,[o,w,_,X.yy,B[1],p,t].concat(ut)),typeof tt<"u")return tt;J&&(d=d.slice(0,-1*J*2),p=p.slice(0,-1*J),t=t.slice(0,-1*J)),d.push(this.productions_[B[1]][0]),p.push(nt.$),t.push(nt._$),Nt=f[d[d.length-2]][d[d.length-1]],d.push(Nt);break;case 3:return!0}}return!0},"parse")},v=function(){var m={EOF:1,parseError:l(function(r,d){if(this.yy.parser)this.yy.parser.parseError(r,d);else throw new Error(r)},"parseError"),setInput:l(function(r,d){return this.yy=d||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var d=r.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:l(function(r){var d=r.length,c=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var p=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var t=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===p.length?this.yylloc.first_column:0)+p[p.length-c.length].length-c[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(r){this.unput(this.match.slice(r))},"less"),pastInput:l(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var r=this.pastInput(),d=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/version/6.0/assets/gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js b/version/6.0/assets/gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js similarity index 99% rename from version/6.0/assets/gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js rename to version/6.0/assets/gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js index 0447c8144..74e6dcc3f 100644 --- a/version/6.0/assets/gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js +++ b/version/6.0/assets/gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js @@ -1,4 +1,4 @@ -var ny=Object.defineProperty;var ry=(n,e,t)=>e in n?ny(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var ht=(n,e,t)=>ry(n,typeof e!="symbol"?e+"":e,t);import{g as Mi}from"./app-chHFUe1n.js";import{b5 as qt,m as s,N as be,z as F,ab as Kc,a1 as iy,y as Yt,by as ps,q as Th,aL as ms}from"./mermaid.esm.min-DhsQPv9X.js";import{Z as $,o as ke,p as Ue,q as le,_ as ne,k as Yi,J as I,r as J,R as ae,D as yi,X as Q,u as Fe,f as L,v as Xi,K as Ti,Q as we,z as Ee,s as et,U as Me,w as Bo,x as vh,y as ay,A as sy,B as Se,C as tt,M as ee,N as Vo,E as gs,F as Wc,c as Ie,G as ys,H as ua,V as oy}from"./chunk-5ZJXQJOJ-sEil2Dtg.js";var Rh=ms(n=>{Object.defineProperty(n,"__esModule",{value:!0});var e;function t(){if(e===void 0)throw new Error("No runtime abstraction layer installed");return e}s(t,"RAL"),function(r){function i(a){if(a===void 0)throw new Error("No runtime abstraction layer provided");e=a}s(i,"install"),r.install=i}(t||(t={})),n.default=t}),ly=ms(n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.stringArray=n.array=n.func=n.error=n.number=n.string=n.boolean=void 0;function e(u){return u===!0||u===!1}s(e,"boolean"),n.boolean=e;function t(u){return typeof u=="string"||u instanceof String}s(t,"string"),n.string=t;function r(u){return typeof u=="number"||u instanceof Number}s(r,"number"),n.number=r;function i(u){return u instanceof Error}s(i,"error"),n.error=i;function a(u){return typeof u=="function"}s(a,"func"),n.func=a;function o(u){return Array.isArray(u)}s(o,"array"),n.array=o;function l(u){return o(u)&&u.every(c=>t(c))}s(l,"stringArray"),n.stringArray=l}),Ah=ms(n=>{var a,o;Object.defineProperty(n,"__esModule",{value:!0}),n.Emitter=n.Event=void 0;var e=Rh(),t;(function(l){let u={dispose(){}};l.None=function(){return u}})(t||(n.Event=t={}));var r=(a=class{add(u,c=null,d){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(u),this._contexts.push(c),Array.isArray(d)&&d.push({dispose:s(()=>this.remove(u,c),"dispose")})}remove(u,c=null){if(!this._callbacks)return;let d=!1;for(let h=0,f=this._callbacks.length;h{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(u,c);let h={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(u,c),h.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(d)&&d.push(h),h}),this._event}fire(u){this._callbacks&&this._callbacks.invoke.call(this._callbacks,u)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},s(o,"Emitter"),o);n.Emitter=i,i._noop=function(){}}),uy=ms(n=>{var u,c;Object.defineProperty(n,"__esModule",{value:!0}),n.CancellationTokenSource=n.CancellationToken=void 0;var e=Rh(),t=ly(),r=Ah(),i;(function(d){d.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),d.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function h(f){let p=f;return p&&(p===d.None||p===d.Cancelled||t.boolean(p.isCancellationRequested)&&!!p.onCancellationRequested)}s(h,"is"),d.is=h})(i||(n.CancellationToken=i={}));var a=Object.freeze(function(d,h){let f=(0,e.default)().timer.setTimeout(d.bind(h),0);return{dispose(){f.dispose()}}}),o=(u=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},s(u,"MutableToken"),u),l=(c=class{get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=i.None}},s(c,"CancellationTokenSource"),c);n.CancellationTokenSource=l}),Eh={};qt(Eh,{AbstractAstReflection:()=>Wo,AbstractCstNode:()=>nc,AbstractLangiumParser:()=>ic,AbstractParserErrorMessageProvider:()=>Dm,AbstractThreadedAsyncParser:()=>uT,AstUtils:()=>ru,BiMap:()=>cs,Cancellation:()=>W,CompositeCstNodeImpl:()=>Hs,ContextCache:()=>Ys,CstNodeBuilder:()=>Pm,CstUtils:()=>jo,DONE_RESULT:()=>ce,DatatypeSymbol:()=>ss,DefaultAstNodeDescriptionProvider:()=>ug,DefaultAstNodeLocator:()=>dg,DefaultAsyncParser:()=>$g,DefaultCommentProvider:()=>Ng,DefaultConfigurationProvider:()=>hg,DefaultDocumentBuilder:()=>fg,DefaultDocumentValidator:()=>lg,DefaultHydrator:()=>bg,DefaultIndexManager:()=>pg,DefaultJsonSerializer:()=>ag,DefaultLangiumDocumentFactory:()=>Xm,DefaultLangiumDocuments:()=>Jm,DefaultLexer:()=>gg,DefaultLinker:()=>Qm,DefaultNameProvider:()=>Zm,DefaultReferenceDescriptionProvider:()=>cg,DefaultReferences:()=>eg,DefaultScopeComputation:()=>tg,DefaultScopeProvider:()=>ig,DefaultServiceRegistry:()=>sg,DefaultTokenBuilder:()=>fc,DefaultValueConverter:()=>pc,DefaultWorkspaceLock:()=>Lg,DefaultWorkspaceManager:()=>mg,Deferred:()=>ot,Disposable:()=>Ci,DisposableCache:()=>qs,DocumentCache:()=>rg,DocumentState:()=>U,DocumentValidator:()=>Je,EMPTY_SCOPE:()=>aT,EMPTY_STREAM:()=>vs,EmptyFileSystem:()=>tn,EmptyFileSystemProvider:()=>wg,ErrorWithLocation:()=>As,GrammarAST:()=>Lh,GrammarUtils:()=>el,JSDocDocumentationProvider:()=>xg,LangiumCompletionParser:()=>Mm,LangiumParser:()=>_m,LangiumParserErrorMessageProvider:()=>ac,LeafCstNodeImpl:()=>as,MapScope:()=>ng,Module:()=>Fo,MultiMap:()=>Ra,OperationCancelled:()=>Tt,ParserWorker:()=>cT,Reduction:()=>Qi,RegExpUtils:()=>ou,RootCstNodeImpl:()=>rc,SimpleCache:()=>Rc,StreamImpl:()=>Ke,StreamScope:()=>Oo,TextDocument:()=>ls,TreeStreamImpl:()=>vi,URI:()=>vt,UriUtils:()=>ze,ValidationCategory:()=>oa,ValidationRegistry:()=>og,ValueConverter:()=>Ve,WorkspaceCache:()=>Ac,assertUnreachable:()=>Jt,createCompletionParser:()=>cc,createDefaultCoreModule:()=>Et,createDefaultSharedCoreModule:()=>kt,createGrammarConfig:()=>Iu,createLangiumParser:()=>dc,delayNextTick:()=>zs,diagnosticData:()=>ds,eagerLoad:()=>wc,getDiagnosticRange:()=>kc,inject:()=>ge,interruptAndCheck:()=>fe,isAstNode:()=>Y,isAstNodeDescription:()=>Ko,isAstNodeWithComment:()=>Ec,isCompositeCstNode:()=>He,isIMultiModeLexerDefinition:()=>Xs,isJSDoc:()=>Ic,isLeafCstNode:()=>Xt,isLinkingError:()=>on,isNamed:()=>vc,isOperationCancelled:()=>Oi,isReference:()=>de,isRootCstNode:()=>Ts,isTokenTypeArray:()=>Sc,isTokenTypeDictionary:()=>hs,loadGrammarFromJson:()=>St,parseJSDoc:()=>Cc,prepareLangiumParser:()=>hc,setInterruptionPeriod:()=>gc,startCancelableOperation:()=>mc,stream:()=>q,toDiagnosticSeverity:()=>qi});var jo={};qt(jo,{DefaultNameRegexp:()=>Yo,RangeComparison:()=>Qe,compareRange:()=>zo,findCommentNode:()=>Xo,findDeclarationNodeAtOffset:()=>Ch,findLeafNodeAtOffset:()=>Rs,findLeafNodeBeforeOffset:()=>Jo,flattenCst:()=>Sh,getInteriorNodes:()=>Nh,getNextNode:()=>Ih,getPreviousNode:()=>Zo,getStartlineNode:()=>xh,inRange:()=>qo,isChildNode:()=>Ho,isCommentNode:()=>_a,streamCst:()=>Ri,toDocumentSegment:()=>Ai,tokenToRange:()=>Zi});function Y(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}s(Y,"isAstNode");function de(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}s(de,"isReference");function Ko(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}s(Ko,"isAstNodeDescription");function on(n){return typeof n=="object"&&n!==null&&Y(n.container)&&de(n.reference)&&typeof n.message=="string"}s(on,"isLinkingError");var ln,Wo=(ln=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return Y(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let i=r[t];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,t);return r[t]=a,a}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let r=this.getAllTypes(),i=[];for(let a of r)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}},s(ln,"AbstractAstReflection"),ln);function He(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}s(He,"isCompositeCstNode");function Xt(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}s(Xt,"isLeafCstNode");function Ts(n){return He(n)&&typeof n.fullText=="string"}s(Ts,"isRootCstNode");var Ae,Ke=(Ae=class{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e=[],t=this.iterator(),r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){let r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){let t=e[Symbol.iterator]();return new Ae(()=>({first:this.startFn(),firstDone:!1}),r=>{let i;if(!r.firstDone){do if(i=this.nextFn(r.first),!i.done)return i;while(!i.done);r.firstDone=!0}do if(i=t.next(),!i.done)return i;while(!i.done);return ce})}join(e=","){let t=this.iterator(),r="",i,a=!1;do i=t.next(),i.done||(a&&(r+=e),r+=kh(i.value)),a=!0;while(!i.done);return r}indexOf(e,t=0){let r=this.iterator(),i=0,a=r.next();for(;!a.done;){if(i>=t&&a.value===e)return i;a=r.next(),i++}return-1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Ae(this.startFn,t=>{let{done:r,value:i}=this.nextFn(t);return r?ce:{done:!1,value:e(i)}})}filter(e){return new Ae(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return ce})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){let r=this.iterator(),i=t,a=r.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let i=e.next();if(i.done)return r;let a=this.recursiveReduce(e,t,r);return a===void 0?i.value:t(a,i.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Ae(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let a=t.iterator.next();if(a.done)t.iterator=void 0;else return a}let{done:r,value:i}=this.nextFn(t.this);if(!r){let a=e(i);if(Ji(a))t.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(t.iterator);return ce})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new Ae(()=>({this:t.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:i,value:a}=t.nextFn(r.this);if(!i)if(Ji(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(r.iterator);return ce})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new Ae(()=>{let t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?ce:this.nextFn(t.state)))}distinct(e){let t=new Set;return this.filter(r=>{let i=e?e(r):r;return t.has(i)?!1:(t.add(i),!0)})}exclude(e,t){let r=new Set;for(let i of e){let a=t?t(i):i;r.add(a)}return this.filter(i=>{let a=t?t(i):i;return!r.has(a)})}},s(Ae,"StreamImpl"),Ae);function kh(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}s(kh,"toString");function Ji(n){return!!n&&typeof n[Symbol.iterator]=="function"}s(Ji,"isIterable");var vs=new Ke(()=>{},()=>ce),ce=Object.freeze({done:!0,value:void 0});function q(...n){if(n.length===1){let e=n[0];if(e instanceof Ke)return e;if(Ji(e))return new Ke(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Ke(()=>({index:0}),t=>t.index1?new Ke(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return ce})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},s(un,"TreeStreamImpl"),un),Qi;(function(n){function e(a){return a.reduce((o,l)=>o+l,0)}s(e,"sum"),n.sum=e;function t(a){return a.reduce((o,l)=>o*l,0)}s(t,"product"),n.product=t;function r(a){return a.reduce((o,l)=>Math.min(o,l))}s(r,"min"),n.min=r;function i(a){return a.reduce((o,l)=>Math.max(o,l))}s(i,"max"),n.max=i})(Qi||(Qi={}));function Ri(n){return new vi(n,e=>He(e)?e.content:[],{includeRoot:!0})}s(Ri,"streamCst");function Sh(n){return Ri(n).filter(Xt)}s(Sh,"flattenCst");function Ho(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}s(Ho,"isChildNode");function Zi(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}s(Zi,"tokenToRange");function Ai(n){if(!n)return;let{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}s(Ai,"toDocumentSegment");var Qe;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside"})(Qe||(Qe={}));function zo(n,e){if(n.end.linee.end.line||n.start.line===e.end.line&&n.start.character>e.end.character)return Qe.After;let t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.lineQe.After}s(qo,"inRange");var Yo=/^[\w\p{L}]$/u;function Ch(n,e,t=Yo){if(n){if(e>0){let r=e-n.offset,i=n.text.charAt(r);t.test(i)||e--}return Rs(n,e)}}s(Ch,"findDeclarationNodeAtOffset");function Xo(n,e){if(n){let t=Zo(n,!0);if(t&&_a(t,e))return t;if(Ts(n)){let r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){let a=n.content[i];if(_a(a,e))return a}}}}s(Xo,"findCommentNode");function _a(n,e){return Xt(n)&&e.includes(n.tokenType.name)}s(_a,"isCommentNode");function Rs(n,e){if(Xt(n))return n;if(He(n)){let t=Qo(n,e,!1);if(t)return Rs(t,e)}}s(Rs,"findLeafNodeAtOffset");function Jo(n,e){if(Xt(n))return n;if(He(n)){let t=Qo(n,e,!0);if(t)return Jo(t,e)}}s(Jo,"findLeafNodeBeforeOffset");function Qo(n,e,t){let r=0,i=n.content.length-1,a;for(;r<=i;){let o=Math.floor((r+i)/2),l=n.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=t?l:void 0,r=o+1):i=o-1}return a}s(Qo,"binarySearch");function Zo(n,e=!0){for(;n.container;){let t=n.container,r=t.content.indexOf(n);for(;r>0;){r--;let i=t.content[r];if(e||!i.hidden)return i}n=t}}s(Zo,"getPreviousNode");function Ih(n,e=!0){for(;n.container;){let t=n.container,r=t.content.indexOf(n),i=t.content.length-1;for(;rvu,findNameAssignment:()=>_s,findNodeForKeyword:()=>Tu,findNodeForProperty:()=>ws,findNodesForKeyword:()=>tf,findNodesForKeywordInternal:()=>Os,findNodesForProperty:()=>yu,getActionAtElement:()=>Au,getActionType:()=>ku,getAllReachableRules:()=>bs,getCrossReferenceTerminal:()=>mu,getEntryRule:()=>hu,getExplicitRuleType:()=>Ds,getHiddenRules:()=>fu,getRuleType:()=>Su,getTypeName:()=>Ni,isArrayCardinality:()=>rf,isArrayOperator:()=>af,isCommentTerminal:()=>gu,isDataType:()=>sf,isDataTypeRule:()=>pa,isOptionalCardinality:()=>nf,terminalRegex:()=>ma});var cn,As=(cn=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}},s(cn,"ErrorWithLocation"),cn);function Jt(n){throw new Error("Error! The input value was not handled.")}s(Jt,"assertUnreachable");var Lh={};qt(Lh,{AbstractElement:()=>rl,AbstractRule:()=>Ki,AbstractType:()=>Wi,Action:()=>bl,Alternatives:()=>wl,ArrayLiteral:()=>il,ArrayType:()=>al,Assignment:()=>Pl,BooleanLiteral:()=>ol,CharacterRange:()=>Ol,Condition:()=>Da,Conjunction:()=>ul,CrossReference:()=>Dl,Disjunction:()=>dl,EndOfFile:()=>Ml,Grammar:()=>fl,GrammarImport:()=>Uh,Group:()=>Ul,InferredType:()=>pl,Interface:()=>ml,Keyword:()=>Gl,LangiumGrammarAstReflection:()=>nu,LangiumGrammarTerminals:()=>cy,NamedArgument:()=>Bh,NegatedToken:()=>Bl,Negation:()=>gl,NumberLiteral:()=>Tl,Parameter:()=>vl,ParameterReference:()=>Rl,ParserRule:()=>El,ReferenceType:()=>kl,RegexToken:()=>jl,ReturnType:()=>Wh,RuleCall:()=>Wl,SimpleType:()=>Il,StringLiteral:()=>xl,TerminalAlternatives:()=>Hl,TerminalGroup:()=>ql,TerminalRule:()=>Fa,TerminalRuleCall:()=>Xl,Type:()=>Nl,TypeAttribute:()=>zh,TypeDefinition:()=>nl,UnionType:()=>$l,UnorderedGroup:()=>Jl,UntilToken:()=>Ql,ValueLiteral:()=>Ma,Wildcard:()=>eu,isAbstractElement:()=>Es,isAbstractRule:()=>bh,isAbstractType:()=>wh,isAction:()=>pt,isAlternatives:()=>Is,isArrayLiteral:()=>Mh,isArrayType:()=>sl,isAssignment:()=>nt,isBooleanLiteral:()=>ll,isCharacterRange:()=>_l,isCondition:()=>Ph,isConjunction:()=>cl,isCrossReference:()=>da,isDisjunction:()=>hl,isEndOfFile:()=>Fl,isFeatureName:()=>Oh,isGrammar:()=>Fh,isGrammarImport:()=>Gh,isGroup:()=>Qt,isInferredType:()=>ks,isInterface:()=>Ss,isKeyword:()=>rt,isNamedArgument:()=>Vh,isNegatedToken:()=>Vl,isNegation:()=>yl,isNumberLiteral:()=>jh,isParameter:()=>Kh,isParameterReference:()=>Al,isParserRule:()=>pe,isPrimitiveType:()=>tl,isReferenceType:()=>Sl,isRegexToken:()=>Kl,isReturnType:()=>Cl,isRuleCall:()=>it,isSimpleType:()=>Cs,isStringLiteral:()=>Hh,isTerminalAlternatives:()=>zl,isTerminalGroup:()=>Yl,isTerminalRule:()=>lt,isTerminalRuleCall:()=>xs,isType:()=>ca,isTypeAttribute:()=>qh,isTypeDefinition:()=>_h,isUnionType:()=>Ll,isUnorderedGroup:()=>Ns,isUntilToken:()=>Zl,isValueLiteral:()=>Dh,isWildcard:()=>tu,reflection:()=>w});var cy={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Ki="AbstractRule";function bh(n){return w.isInstance(n,Ki)}s(bh,"isAbstractRule");var Wi="AbstractType";function wh(n){return w.isInstance(n,Wi)}s(wh,"isAbstractType");var Da="Condition";function Ph(n){return w.isInstance(n,Da)}s(Ph,"isCondition");function Oh(n){return tl(n)||n==="current"||n==="entry"||n==="extends"||n==="false"||n==="fragment"||n==="grammar"||n==="hidden"||n==="import"||n==="interface"||n==="returns"||n==="terminal"||n==="true"||n==="type"||n==="infer"||n==="infers"||n==="with"||typeof n=="string"&&/\^?[_a-zA-Z][\w_]*/.test(n)}s(Oh,"isFeatureName");function tl(n){return n==="string"||n==="number"||n==="boolean"||n==="Date"||n==="bigint"}s(tl,"isPrimitiveType");var nl="TypeDefinition";function _h(n){return w.isInstance(n,nl)}s(_h,"isTypeDefinition");var Ma="ValueLiteral";function Dh(n){return w.isInstance(n,Ma)}s(Dh,"isValueLiteral");var rl="AbstractElement";function Es(n){return w.isInstance(n,rl)}s(Es,"isAbstractElement");var il="ArrayLiteral";function Mh(n){return w.isInstance(n,il)}s(Mh,"isArrayLiteral");var al="ArrayType";function sl(n){return w.isInstance(n,al)}s(sl,"isArrayType");var ol="BooleanLiteral";function ll(n){return w.isInstance(n,ol)}s(ll,"isBooleanLiteral");var ul="Conjunction";function cl(n){return w.isInstance(n,ul)}s(cl,"isConjunction");var dl="Disjunction";function hl(n){return w.isInstance(n,dl)}s(hl,"isDisjunction");var fl="Grammar";function Fh(n){return w.isInstance(n,fl)}s(Fh,"isGrammar");var Uh="GrammarImport";function Gh(n){return w.isInstance(n,Uh)}s(Gh,"isGrammarImport");var pl="InferredType";function ks(n){return w.isInstance(n,pl)}s(ks,"isInferredType");var ml="Interface";function Ss(n){return w.isInstance(n,ml)}s(Ss,"isInterface");var Bh="NamedArgument";function Vh(n){return w.isInstance(n,Bh)}s(Vh,"isNamedArgument");var gl="Negation";function yl(n){return w.isInstance(n,gl)}s(yl,"isNegation");var Tl="NumberLiteral";function jh(n){return w.isInstance(n,Tl)}s(jh,"isNumberLiteral");var vl="Parameter";function Kh(n){return w.isInstance(n,vl)}s(Kh,"isParameter");var Rl="ParameterReference";function Al(n){return w.isInstance(n,Rl)}s(Al,"isParameterReference");var El="ParserRule";function pe(n){return w.isInstance(n,El)}s(pe,"isParserRule");var kl="ReferenceType";function Sl(n){return w.isInstance(n,kl)}s(Sl,"isReferenceType");var Wh="ReturnType";function Cl(n){return w.isInstance(n,Wh)}s(Cl,"isReturnType");var Il="SimpleType";function Cs(n){return w.isInstance(n,Il)}s(Cs,"isSimpleType");var xl="StringLiteral";function Hh(n){return w.isInstance(n,xl)}s(Hh,"isStringLiteral");var Fa="TerminalRule";function lt(n){return w.isInstance(n,Fa)}s(lt,"isTerminalRule");var Nl="Type";function ca(n){return w.isInstance(n,Nl)}s(ca,"isType");var zh="TypeAttribute";function qh(n){return w.isInstance(n,zh)}s(qh,"isTypeAttribute");var $l="UnionType";function Ll(n){return w.isInstance(n,$l)}s(Ll,"isUnionType");var bl="Action";function pt(n){return w.isInstance(n,bl)}s(pt,"isAction");var wl="Alternatives";function Is(n){return w.isInstance(n,wl)}s(Is,"isAlternatives");var Pl="Assignment";function nt(n){return w.isInstance(n,Pl)}s(nt,"isAssignment");var Ol="CharacterRange";function _l(n){return w.isInstance(n,Ol)}s(_l,"isCharacterRange");var Dl="CrossReference";function da(n){return w.isInstance(n,Dl)}s(da,"isCrossReference");var Ml="EndOfFile";function Fl(n){return w.isInstance(n,Ml)}s(Fl,"isEndOfFile");var Ul="Group";function Qt(n){return w.isInstance(n,Ul)}s(Qt,"isGroup");var Gl="Keyword";function rt(n){return w.isInstance(n,Gl)}s(rt,"isKeyword");var Bl="NegatedToken";function Vl(n){return w.isInstance(n,Bl)}s(Vl,"isNegatedToken");var jl="RegexToken";function Kl(n){return w.isInstance(n,jl)}s(Kl,"isRegexToken");var Wl="RuleCall";function it(n){return w.isInstance(n,Wl)}s(it,"isRuleCall");var Hl="TerminalAlternatives";function zl(n){return w.isInstance(n,Hl)}s(zl,"isTerminalAlternatives");var ql="TerminalGroup";function Yl(n){return w.isInstance(n,ql)}s(Yl,"isTerminalGroup");var Xl="TerminalRuleCall";function xs(n){return w.isInstance(n,Xl)}s(xs,"isTerminalRuleCall");var Jl="UnorderedGroup";function Ns(n){return w.isInstance(n,Jl)}s(Ns,"isUnorderedGroup");var Ql="UntilToken";function Zl(n){return w.isInstance(n,Ql)}s(Zl,"isUntilToken");var eu="Wildcard";function tu(n){return w.isInstance(n,eu)}s(tu,"isWildcard");var dn,nu=(dn=class extends Wo{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case bl:case wl:case Pl:case Ol:case Dl:case Ml:case Ul:case Gl:case Bl:case jl:case Wl:case Hl:case ql:case Xl:case Jl:case Ql:case eu:return this.isSubtype(rl,t);case il:case Tl:case xl:return this.isSubtype(Ma,t);case al:case kl:case Il:case $l:return this.isSubtype(nl,t);case ol:return this.isSubtype(Da,t)||this.isSubtype(Ma,t);case ul:case dl:case gl:case Rl:return this.isSubtype(Da,t);case pl:case ml:case Nl:return this.isSubtype(Wi,t);case El:return this.isSubtype(Ki,t)||this.isSubtype(Wi,t);case Fa:return this.isSubtype(Ki,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Wi;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Ki;case"Grammar:usedGrammars":return fl;case"NamedArgument:parameter":case"ParameterReference:parameter":return vl;case"TerminalRuleCall:rule":return Fa;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},s(dn,"LangiumGrammarAstReflection"),dn),w=new nu,ru={};qt(ru,{assignMandatoryProperties:()=>au,copyAstNode:()=>Ga,findLocalReferences:()=>Xh,findRootNode:()=>iu,getContainerOfType:()=>Ii,getDocument:()=>Ce,hasContainerOfType:()=>Yh,linkContentToContainer:()=>$s,streamAllContents:()=>Rt,streamAst:()=>Ze,streamContents:()=>ha,streamReferences:()=>fa});function $s(n){for(let[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{Y(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):Y(t)&&(t.$container=n,t.$containerProperty=e))}s($s,"linkContentToContainer");function Ii(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}s(Ii,"getContainerOfType");function Yh(n,e){let t=n;for(;t;){if(e(t))return!0;t=t.$container}return!1}s(Yh,"hasContainerOfType");function Ce(n){let e=iu(n).$document;if(!e)throw new Error("AST node has no document.");return e}s(Ce,"getDocument");function iu(n){for(;n.$container;)n=n.$container;return n}s(iu,"findRootNode");function ha(n,e){if(!n)throw new Error("Node must be an AstNode.");let t=e==null?void 0:e.range;return new Ke(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndexha(t,e))}s(Rt,"streamAllContents");function Ze(n,e){if(n){if(e!=null&&e.range&&!Ua(n,e.range))return new vi(n,()=>[])}else throw new Error("Root node must be an AstNode.");return new vi(n,t=>ha(t,e),{includeRoot:!0})}s(Ze,"streamAst");function Ua(n,e){var t;if(!e)return!0;let r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?qo(r,e):!1}s(Ua,"isAstNodeInRange");function fa(n){return new Ke(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{fa(r).forEach(i=>{i.reference.ref===n&&t.push(i.reference)})}),q(t)}s(Xh,"findLocalReferences");function au(n,e){let t=n.getTypeMetaData(e.$type),r=e;for(let i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=su(i.defaultValue))}s(au,"assignMandatoryProperties");function su(n){return Array.isArray(n)?[...n.map(su)]:n}s(su,"copyDefaultValue");function Ga(n,e){let t={$type:n.$type};for(let[r,i]of Object.entries(n))if(!r.startsWith("$"))if(Y(i))t[r]=Ga(i,e);else if(de(i))t[r]=e(t,r,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let o of i)Y(o)?a.push(Ga(o,e)):de(o)?a.push(e(t,r,o.$refNode,o.$refText)):a.push(o);t[r]=a}else t[r]=i;return $s(t),t}s(Ga,"copyAstNode");var ou={};qt(ou,{NEWLINE_REGEXP:()=>Qh,escapeRegExp:()=>xi,getCaseInsensitivePattern:()=>uu,getTerminalParts:()=>ef,isMultilineComment:()=>lu,isWhitespace:()=>ja,partialMatches:()=>cu,partialRegExp:()=>du});function b(n){return n.charCodeAt(0)}s(b,"cc");function Ca(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}s(Ca,"insertToSet");function rn(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}s(rn,"addFlag");function It(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}s(It,"ASSERT_EXISTS");function Ui(){throw Error("Internal Error - Should never get here!")}s(Ui,"ASSERT_NEVER_REACH_HERE");function no(n){return n.type==="Character"}s(no,"isCharacter");var Ba=[];for(let n=b("0");n<=b("9");n++)Ba.push(n);var Va=[b("_")].concat(Ba);for(let n=b("a");n<=b("z");n++)Va.push(n);for(let n=b("A");n<=b("Z");n++)Va.push(n);var Hc=[b(" "),b("\f"),b(` +var ny=Object.defineProperty;var ry=(n,e,t)=>e in n?ny(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var ht=(n,e,t)=>ry(n,typeof e!="symbol"?e+"":e,t);import{g as Mi}from"./app-vBJoMoyQ.js";import{b5 as qt,m as s,N as be,z as F,ab as Kc,a1 as iy,y as Yt,by as ps,q as Th,aL as ms}from"./mermaid.esm.min-CpCJ9UxA.js";import{Z as $,o as ke,p as Ue,q as le,_ as ne,k as Yi,J as I,r as J,R as ae,D as yi,X as Q,u as Fe,f as L,v as Xi,K as Ti,Q as we,z as Ee,s as et,U as Me,w as Bo,x as vh,y as ay,A as sy,B as Se,C as tt,M as ee,N as Vo,E as gs,F as Wc,c as Ie,G as ys,H as ua,V as oy}from"./chunk-5ZJXQJOJ-CxalzRAd.js";var Rh=ms(n=>{Object.defineProperty(n,"__esModule",{value:!0});var e;function t(){if(e===void 0)throw new Error("No runtime abstraction layer installed");return e}s(t,"RAL"),function(r){function i(a){if(a===void 0)throw new Error("No runtime abstraction layer provided");e=a}s(i,"install"),r.install=i}(t||(t={})),n.default=t}),ly=ms(n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.stringArray=n.array=n.func=n.error=n.number=n.string=n.boolean=void 0;function e(u){return u===!0||u===!1}s(e,"boolean"),n.boolean=e;function t(u){return typeof u=="string"||u instanceof String}s(t,"string"),n.string=t;function r(u){return typeof u=="number"||u instanceof Number}s(r,"number"),n.number=r;function i(u){return u instanceof Error}s(i,"error"),n.error=i;function a(u){return typeof u=="function"}s(a,"func"),n.func=a;function o(u){return Array.isArray(u)}s(o,"array"),n.array=o;function l(u){return o(u)&&u.every(c=>t(c))}s(l,"stringArray"),n.stringArray=l}),Ah=ms(n=>{var a,o;Object.defineProperty(n,"__esModule",{value:!0}),n.Emitter=n.Event=void 0;var e=Rh(),t;(function(l){let u={dispose(){}};l.None=function(){return u}})(t||(n.Event=t={}));var r=(a=class{add(u,c=null,d){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(u),this._contexts.push(c),Array.isArray(d)&&d.push({dispose:s(()=>this.remove(u,c),"dispose")})}remove(u,c=null){if(!this._callbacks)return;let d=!1;for(let h=0,f=this._callbacks.length;h{this._callbacks||(this._callbacks=new r),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(u,c);let h={dispose:s(()=>{this._callbacks&&(this._callbacks.remove(u,c),h.dispose=o._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(d)&&d.push(h),h}),this._event}fire(u){this._callbacks&&this._callbacks.invoke.call(this._callbacks,u)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},s(o,"Emitter"),o);n.Emitter=i,i._noop=function(){}}),uy=ms(n=>{var u,c;Object.defineProperty(n,"__esModule",{value:!0}),n.CancellationTokenSource=n.CancellationToken=void 0;var e=Rh(),t=ly(),r=Ah(),i;(function(d){d.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:r.Event.None}),d.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r.Event.None});function h(f){let p=f;return p&&(p===d.None||p===d.Cancelled||t.boolean(p.isCancellationRequested)&&!!p.onCancellationRequested)}s(h,"is"),d.is=h})(i||(n.CancellationToken=i={}));var a=Object.freeze(function(d,h){let f=(0,e.default)().timer.setTimeout(d.bind(h),0);return{dispose(){f.dispose()}}}),o=(u=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new r.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},s(u,"MutableToken"),u),l=(c=class{get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=i.None}},s(c,"CancellationTokenSource"),c);n.CancellationTokenSource=l}),Eh={};qt(Eh,{AbstractAstReflection:()=>Wo,AbstractCstNode:()=>nc,AbstractLangiumParser:()=>ic,AbstractParserErrorMessageProvider:()=>Dm,AbstractThreadedAsyncParser:()=>uT,AstUtils:()=>ru,BiMap:()=>cs,Cancellation:()=>W,CompositeCstNodeImpl:()=>Hs,ContextCache:()=>Ys,CstNodeBuilder:()=>Pm,CstUtils:()=>jo,DONE_RESULT:()=>ce,DatatypeSymbol:()=>ss,DefaultAstNodeDescriptionProvider:()=>ug,DefaultAstNodeLocator:()=>dg,DefaultAsyncParser:()=>$g,DefaultCommentProvider:()=>Ng,DefaultConfigurationProvider:()=>hg,DefaultDocumentBuilder:()=>fg,DefaultDocumentValidator:()=>lg,DefaultHydrator:()=>bg,DefaultIndexManager:()=>pg,DefaultJsonSerializer:()=>ag,DefaultLangiumDocumentFactory:()=>Xm,DefaultLangiumDocuments:()=>Jm,DefaultLexer:()=>gg,DefaultLinker:()=>Qm,DefaultNameProvider:()=>Zm,DefaultReferenceDescriptionProvider:()=>cg,DefaultReferences:()=>eg,DefaultScopeComputation:()=>tg,DefaultScopeProvider:()=>ig,DefaultServiceRegistry:()=>sg,DefaultTokenBuilder:()=>fc,DefaultValueConverter:()=>pc,DefaultWorkspaceLock:()=>Lg,DefaultWorkspaceManager:()=>mg,Deferred:()=>ot,Disposable:()=>Ci,DisposableCache:()=>qs,DocumentCache:()=>rg,DocumentState:()=>U,DocumentValidator:()=>Je,EMPTY_SCOPE:()=>aT,EMPTY_STREAM:()=>vs,EmptyFileSystem:()=>tn,EmptyFileSystemProvider:()=>wg,ErrorWithLocation:()=>As,GrammarAST:()=>Lh,GrammarUtils:()=>el,JSDocDocumentationProvider:()=>xg,LangiumCompletionParser:()=>Mm,LangiumParser:()=>_m,LangiumParserErrorMessageProvider:()=>ac,LeafCstNodeImpl:()=>as,MapScope:()=>ng,Module:()=>Fo,MultiMap:()=>Ra,OperationCancelled:()=>Tt,ParserWorker:()=>cT,Reduction:()=>Qi,RegExpUtils:()=>ou,RootCstNodeImpl:()=>rc,SimpleCache:()=>Rc,StreamImpl:()=>Ke,StreamScope:()=>Oo,TextDocument:()=>ls,TreeStreamImpl:()=>vi,URI:()=>vt,UriUtils:()=>ze,ValidationCategory:()=>oa,ValidationRegistry:()=>og,ValueConverter:()=>Ve,WorkspaceCache:()=>Ac,assertUnreachable:()=>Jt,createCompletionParser:()=>cc,createDefaultCoreModule:()=>Et,createDefaultSharedCoreModule:()=>kt,createGrammarConfig:()=>Iu,createLangiumParser:()=>dc,delayNextTick:()=>zs,diagnosticData:()=>ds,eagerLoad:()=>wc,getDiagnosticRange:()=>kc,inject:()=>ge,interruptAndCheck:()=>fe,isAstNode:()=>Y,isAstNodeDescription:()=>Ko,isAstNodeWithComment:()=>Ec,isCompositeCstNode:()=>He,isIMultiModeLexerDefinition:()=>Xs,isJSDoc:()=>Ic,isLeafCstNode:()=>Xt,isLinkingError:()=>on,isNamed:()=>vc,isOperationCancelled:()=>Oi,isReference:()=>de,isRootCstNode:()=>Ts,isTokenTypeArray:()=>Sc,isTokenTypeDictionary:()=>hs,loadGrammarFromJson:()=>St,parseJSDoc:()=>Cc,prepareLangiumParser:()=>hc,setInterruptionPeriod:()=>gc,startCancelableOperation:()=>mc,stream:()=>q,toDiagnosticSeverity:()=>qi});var jo={};qt(jo,{DefaultNameRegexp:()=>Yo,RangeComparison:()=>Qe,compareRange:()=>zo,findCommentNode:()=>Xo,findDeclarationNodeAtOffset:()=>Ch,findLeafNodeAtOffset:()=>Rs,findLeafNodeBeforeOffset:()=>Jo,flattenCst:()=>Sh,getInteriorNodes:()=>Nh,getNextNode:()=>Ih,getPreviousNode:()=>Zo,getStartlineNode:()=>xh,inRange:()=>qo,isChildNode:()=>Ho,isCommentNode:()=>_a,streamCst:()=>Ri,toDocumentSegment:()=>Ai,tokenToRange:()=>Zi});function Y(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}s(Y,"isAstNode");function de(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}s(de,"isReference");function Ko(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}s(Ko,"isAstNodeDescription");function on(n){return typeof n=="object"&&n!==null&&Y(n.container)&&de(n.reference)&&typeof n.message=="string"}s(on,"isLinkingError");var ln,Wo=(ln=class{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return Y(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let i=r[t];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,t);return r[t]=a,a}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let r=this.getAllTypes(),i=[];for(let a of r)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}},s(ln,"AbstractAstReflection"),ln);function He(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}s(He,"isCompositeCstNode");function Xt(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}s(Xt,"isLeafCstNode");function Ts(n){return He(n)&&typeof n.fullText=="string"}s(Ts,"isRootCstNode");var Ae,Ke=(Ae=class{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e=[],t=this.iterator(),r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){let r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){let t=e[Symbol.iterator]();return new Ae(()=>({first:this.startFn(),firstDone:!1}),r=>{let i;if(!r.firstDone){do if(i=this.nextFn(r.first),!i.done)return i;while(!i.done);r.firstDone=!0}do if(i=t.next(),!i.done)return i;while(!i.done);return ce})}join(e=","){let t=this.iterator(),r="",i,a=!1;do i=t.next(),i.done||(a&&(r+=e),r+=kh(i.value)),a=!0;while(!i.done);return r}indexOf(e,t=0){let r=this.iterator(),i=0,a=r.next();for(;!a.done;){if(i>=t&&a.value===e)return i;a=r.next(),i++}return-1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new Ae(this.startFn,t=>{let{done:r,value:i}=this.nextFn(t);return r?ce:{done:!1,value:e(i)}})}filter(e){return new Ae(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return ce})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){let r=this.iterator(),i=t,a=r.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let i=e.next();if(i.done)return r;let a=this.recursiveReduce(e,t,r);return a===void 0?i.value:t(a,i.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new Ae(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let a=t.iterator.next();if(a.done)t.iterator=void 0;else return a}let{done:r,value:i}=this.nextFn(t.this);if(!r){let a=e(i);if(Ji(a))t.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(t.iterator);return ce})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new Ae(()=>({this:t.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:i,value:a}=t.nextFn(r.this);if(!i)if(Ji(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(r.iterator);return ce})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new Ae(()=>{let t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?ce:this.nextFn(t.state)))}distinct(e){let t=new Set;return this.filter(r=>{let i=e?e(r):r;return t.has(i)?!1:(t.add(i),!0)})}exclude(e,t){let r=new Set;for(let i of e){let a=t?t(i):i;r.add(a)}return this.filter(i=>{let a=t?t(i):i;return!r.has(a)})}},s(Ae,"StreamImpl"),Ae);function kh(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}s(kh,"toString");function Ji(n){return!!n&&typeof n[Symbol.iterator]=="function"}s(Ji,"isIterable");var vs=new Ke(()=>{},()=>ce),ce=Object.freeze({done:!0,value:void 0});function q(...n){if(n.length===1){let e=n[0];if(e instanceof Ke)return e;if(Ji(e))return new Ke(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new Ke(()=>({index:0}),t=>t.index1?new Ke(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return ce})}iterator(){let e={state:this.startFn(),next:s(()=>this.nextFn(e.state),"next"),prune:s(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},s(un,"TreeStreamImpl"),un),Qi;(function(n){function e(a){return a.reduce((o,l)=>o+l,0)}s(e,"sum"),n.sum=e;function t(a){return a.reduce((o,l)=>o*l,0)}s(t,"product"),n.product=t;function r(a){return a.reduce((o,l)=>Math.min(o,l))}s(r,"min"),n.min=r;function i(a){return a.reduce((o,l)=>Math.max(o,l))}s(i,"max"),n.max=i})(Qi||(Qi={}));function Ri(n){return new vi(n,e=>He(e)?e.content:[],{includeRoot:!0})}s(Ri,"streamCst");function Sh(n){return Ri(n).filter(Xt)}s(Sh,"flattenCst");function Ho(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}s(Ho,"isChildNode");function Zi(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}s(Zi,"tokenToRange");function Ai(n){if(!n)return;let{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}s(Ai,"toDocumentSegment");var Qe;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside"})(Qe||(Qe={}));function zo(n,e){if(n.end.linee.end.line||n.start.line===e.end.line&&n.start.character>e.end.character)return Qe.After;let t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.lineQe.After}s(qo,"inRange");var Yo=/^[\w\p{L}]$/u;function Ch(n,e,t=Yo){if(n){if(e>0){let r=e-n.offset,i=n.text.charAt(r);t.test(i)||e--}return Rs(n,e)}}s(Ch,"findDeclarationNodeAtOffset");function Xo(n,e){if(n){let t=Zo(n,!0);if(t&&_a(t,e))return t;if(Ts(n)){let r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){let a=n.content[i];if(_a(a,e))return a}}}}s(Xo,"findCommentNode");function _a(n,e){return Xt(n)&&e.includes(n.tokenType.name)}s(_a,"isCommentNode");function Rs(n,e){if(Xt(n))return n;if(He(n)){let t=Qo(n,e,!1);if(t)return Rs(t,e)}}s(Rs,"findLeafNodeAtOffset");function Jo(n,e){if(Xt(n))return n;if(He(n)){let t=Qo(n,e,!0);if(t)return Jo(t,e)}}s(Jo,"findLeafNodeBeforeOffset");function Qo(n,e,t){let r=0,i=n.content.length-1,a;for(;r<=i;){let o=Math.floor((r+i)/2),l=n.content[o];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=t?l:void 0,r=o+1):i=o-1}return a}s(Qo,"binarySearch");function Zo(n,e=!0){for(;n.container;){let t=n.container,r=t.content.indexOf(n);for(;r>0;){r--;let i=t.content[r];if(e||!i.hidden)return i}n=t}}s(Zo,"getPreviousNode");function Ih(n,e=!0){for(;n.container;){let t=n.container,r=t.content.indexOf(n),i=t.content.length-1;for(;rvu,findNameAssignment:()=>_s,findNodeForKeyword:()=>Tu,findNodeForProperty:()=>ws,findNodesForKeyword:()=>tf,findNodesForKeywordInternal:()=>Os,findNodesForProperty:()=>yu,getActionAtElement:()=>Au,getActionType:()=>ku,getAllReachableRules:()=>bs,getCrossReferenceTerminal:()=>mu,getEntryRule:()=>hu,getExplicitRuleType:()=>Ds,getHiddenRules:()=>fu,getRuleType:()=>Su,getTypeName:()=>Ni,isArrayCardinality:()=>rf,isArrayOperator:()=>af,isCommentTerminal:()=>gu,isDataType:()=>sf,isDataTypeRule:()=>pa,isOptionalCardinality:()=>nf,terminalRegex:()=>ma});var cn,As=(cn=class extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}},s(cn,"ErrorWithLocation"),cn);function Jt(n){throw new Error("Error! The input value was not handled.")}s(Jt,"assertUnreachable");var Lh={};qt(Lh,{AbstractElement:()=>rl,AbstractRule:()=>Ki,AbstractType:()=>Wi,Action:()=>bl,Alternatives:()=>wl,ArrayLiteral:()=>il,ArrayType:()=>al,Assignment:()=>Pl,BooleanLiteral:()=>ol,CharacterRange:()=>Ol,Condition:()=>Da,Conjunction:()=>ul,CrossReference:()=>Dl,Disjunction:()=>dl,EndOfFile:()=>Ml,Grammar:()=>fl,GrammarImport:()=>Uh,Group:()=>Ul,InferredType:()=>pl,Interface:()=>ml,Keyword:()=>Gl,LangiumGrammarAstReflection:()=>nu,LangiumGrammarTerminals:()=>cy,NamedArgument:()=>Bh,NegatedToken:()=>Bl,Negation:()=>gl,NumberLiteral:()=>Tl,Parameter:()=>vl,ParameterReference:()=>Rl,ParserRule:()=>El,ReferenceType:()=>kl,RegexToken:()=>jl,ReturnType:()=>Wh,RuleCall:()=>Wl,SimpleType:()=>Il,StringLiteral:()=>xl,TerminalAlternatives:()=>Hl,TerminalGroup:()=>ql,TerminalRule:()=>Fa,TerminalRuleCall:()=>Xl,Type:()=>Nl,TypeAttribute:()=>zh,TypeDefinition:()=>nl,UnionType:()=>$l,UnorderedGroup:()=>Jl,UntilToken:()=>Ql,ValueLiteral:()=>Ma,Wildcard:()=>eu,isAbstractElement:()=>Es,isAbstractRule:()=>bh,isAbstractType:()=>wh,isAction:()=>pt,isAlternatives:()=>Is,isArrayLiteral:()=>Mh,isArrayType:()=>sl,isAssignment:()=>nt,isBooleanLiteral:()=>ll,isCharacterRange:()=>_l,isCondition:()=>Ph,isConjunction:()=>cl,isCrossReference:()=>da,isDisjunction:()=>hl,isEndOfFile:()=>Fl,isFeatureName:()=>Oh,isGrammar:()=>Fh,isGrammarImport:()=>Gh,isGroup:()=>Qt,isInferredType:()=>ks,isInterface:()=>Ss,isKeyword:()=>rt,isNamedArgument:()=>Vh,isNegatedToken:()=>Vl,isNegation:()=>yl,isNumberLiteral:()=>jh,isParameter:()=>Kh,isParameterReference:()=>Al,isParserRule:()=>pe,isPrimitiveType:()=>tl,isReferenceType:()=>Sl,isRegexToken:()=>Kl,isReturnType:()=>Cl,isRuleCall:()=>it,isSimpleType:()=>Cs,isStringLiteral:()=>Hh,isTerminalAlternatives:()=>zl,isTerminalGroup:()=>Yl,isTerminalRule:()=>lt,isTerminalRuleCall:()=>xs,isType:()=>ca,isTypeAttribute:()=>qh,isTypeDefinition:()=>_h,isUnionType:()=>Ll,isUnorderedGroup:()=>Ns,isUntilToken:()=>Zl,isValueLiteral:()=>Dh,isWildcard:()=>tu,reflection:()=>w});var cy={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Ki="AbstractRule";function bh(n){return w.isInstance(n,Ki)}s(bh,"isAbstractRule");var Wi="AbstractType";function wh(n){return w.isInstance(n,Wi)}s(wh,"isAbstractType");var Da="Condition";function Ph(n){return w.isInstance(n,Da)}s(Ph,"isCondition");function Oh(n){return tl(n)||n==="current"||n==="entry"||n==="extends"||n==="false"||n==="fragment"||n==="grammar"||n==="hidden"||n==="import"||n==="interface"||n==="returns"||n==="terminal"||n==="true"||n==="type"||n==="infer"||n==="infers"||n==="with"||typeof n=="string"&&/\^?[_a-zA-Z][\w_]*/.test(n)}s(Oh,"isFeatureName");function tl(n){return n==="string"||n==="number"||n==="boolean"||n==="Date"||n==="bigint"}s(tl,"isPrimitiveType");var nl="TypeDefinition";function _h(n){return w.isInstance(n,nl)}s(_h,"isTypeDefinition");var Ma="ValueLiteral";function Dh(n){return w.isInstance(n,Ma)}s(Dh,"isValueLiteral");var rl="AbstractElement";function Es(n){return w.isInstance(n,rl)}s(Es,"isAbstractElement");var il="ArrayLiteral";function Mh(n){return w.isInstance(n,il)}s(Mh,"isArrayLiteral");var al="ArrayType";function sl(n){return w.isInstance(n,al)}s(sl,"isArrayType");var ol="BooleanLiteral";function ll(n){return w.isInstance(n,ol)}s(ll,"isBooleanLiteral");var ul="Conjunction";function cl(n){return w.isInstance(n,ul)}s(cl,"isConjunction");var dl="Disjunction";function hl(n){return w.isInstance(n,dl)}s(hl,"isDisjunction");var fl="Grammar";function Fh(n){return w.isInstance(n,fl)}s(Fh,"isGrammar");var Uh="GrammarImport";function Gh(n){return w.isInstance(n,Uh)}s(Gh,"isGrammarImport");var pl="InferredType";function ks(n){return w.isInstance(n,pl)}s(ks,"isInferredType");var ml="Interface";function Ss(n){return w.isInstance(n,ml)}s(Ss,"isInterface");var Bh="NamedArgument";function Vh(n){return w.isInstance(n,Bh)}s(Vh,"isNamedArgument");var gl="Negation";function yl(n){return w.isInstance(n,gl)}s(yl,"isNegation");var Tl="NumberLiteral";function jh(n){return w.isInstance(n,Tl)}s(jh,"isNumberLiteral");var vl="Parameter";function Kh(n){return w.isInstance(n,vl)}s(Kh,"isParameter");var Rl="ParameterReference";function Al(n){return w.isInstance(n,Rl)}s(Al,"isParameterReference");var El="ParserRule";function pe(n){return w.isInstance(n,El)}s(pe,"isParserRule");var kl="ReferenceType";function Sl(n){return w.isInstance(n,kl)}s(Sl,"isReferenceType");var Wh="ReturnType";function Cl(n){return w.isInstance(n,Wh)}s(Cl,"isReturnType");var Il="SimpleType";function Cs(n){return w.isInstance(n,Il)}s(Cs,"isSimpleType");var xl="StringLiteral";function Hh(n){return w.isInstance(n,xl)}s(Hh,"isStringLiteral");var Fa="TerminalRule";function lt(n){return w.isInstance(n,Fa)}s(lt,"isTerminalRule");var Nl="Type";function ca(n){return w.isInstance(n,Nl)}s(ca,"isType");var zh="TypeAttribute";function qh(n){return w.isInstance(n,zh)}s(qh,"isTypeAttribute");var $l="UnionType";function Ll(n){return w.isInstance(n,$l)}s(Ll,"isUnionType");var bl="Action";function pt(n){return w.isInstance(n,bl)}s(pt,"isAction");var wl="Alternatives";function Is(n){return w.isInstance(n,wl)}s(Is,"isAlternatives");var Pl="Assignment";function nt(n){return w.isInstance(n,Pl)}s(nt,"isAssignment");var Ol="CharacterRange";function _l(n){return w.isInstance(n,Ol)}s(_l,"isCharacterRange");var Dl="CrossReference";function da(n){return w.isInstance(n,Dl)}s(da,"isCrossReference");var Ml="EndOfFile";function Fl(n){return w.isInstance(n,Ml)}s(Fl,"isEndOfFile");var Ul="Group";function Qt(n){return w.isInstance(n,Ul)}s(Qt,"isGroup");var Gl="Keyword";function rt(n){return w.isInstance(n,Gl)}s(rt,"isKeyword");var Bl="NegatedToken";function Vl(n){return w.isInstance(n,Bl)}s(Vl,"isNegatedToken");var jl="RegexToken";function Kl(n){return w.isInstance(n,jl)}s(Kl,"isRegexToken");var Wl="RuleCall";function it(n){return w.isInstance(n,Wl)}s(it,"isRuleCall");var Hl="TerminalAlternatives";function zl(n){return w.isInstance(n,Hl)}s(zl,"isTerminalAlternatives");var ql="TerminalGroup";function Yl(n){return w.isInstance(n,ql)}s(Yl,"isTerminalGroup");var Xl="TerminalRuleCall";function xs(n){return w.isInstance(n,Xl)}s(xs,"isTerminalRuleCall");var Jl="UnorderedGroup";function Ns(n){return w.isInstance(n,Jl)}s(Ns,"isUnorderedGroup");var Ql="UntilToken";function Zl(n){return w.isInstance(n,Ql)}s(Zl,"isUntilToken");var eu="Wildcard";function tu(n){return w.isInstance(n,eu)}s(tu,"isWildcard");var dn,nu=(dn=class extends Wo{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case bl:case wl:case Pl:case Ol:case Dl:case Ml:case Ul:case Gl:case Bl:case jl:case Wl:case Hl:case ql:case Xl:case Jl:case Ql:case eu:return this.isSubtype(rl,t);case il:case Tl:case xl:return this.isSubtype(Ma,t);case al:case kl:case Il:case $l:return this.isSubtype(nl,t);case ol:return this.isSubtype(Da,t)||this.isSubtype(Ma,t);case ul:case dl:case gl:case Rl:return this.isSubtype(Da,t);case pl:case ml:case Nl:return this.isSubtype(Wi,t);case El:return this.isSubtype(Ki,t)||this.isSubtype(Wi,t);case Fa:return this.isSubtype(Ki,t);default:return!1}}getReferenceType(e){let t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return Wi;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Ki;case"Grammar:usedGrammars":return fl;case"NamedArgument:parameter":case"ParameterReference:parameter":return vl;case"TerminalRuleCall:rule":return Fa;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},s(dn,"LangiumGrammarAstReflection"),dn),w=new nu,ru={};qt(ru,{assignMandatoryProperties:()=>au,copyAstNode:()=>Ga,findLocalReferences:()=>Xh,findRootNode:()=>iu,getContainerOfType:()=>Ii,getDocument:()=>Ce,hasContainerOfType:()=>Yh,linkContentToContainer:()=>$s,streamAllContents:()=>Rt,streamAst:()=>Ze,streamContents:()=>ha,streamReferences:()=>fa});function $s(n){for(let[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{Y(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):Y(t)&&(t.$container=n,t.$containerProperty=e))}s($s,"linkContentToContainer");function Ii(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}s(Ii,"getContainerOfType");function Yh(n,e){let t=n;for(;t;){if(e(t))return!0;t=t.$container}return!1}s(Yh,"hasContainerOfType");function Ce(n){let e=iu(n).$document;if(!e)throw new Error("AST node has no document.");return e}s(Ce,"getDocument");function iu(n){for(;n.$container;)n=n.$container;return n}s(iu,"findRootNode");function ha(n,e){if(!n)throw new Error("Node must be an AstNode.");let t=e==null?void 0:e.range;return new Ke(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndexha(t,e))}s(Rt,"streamAllContents");function Ze(n,e){if(n){if(e!=null&&e.range&&!Ua(n,e.range))return new vi(n,()=>[])}else throw new Error("Root node must be an AstNode.");return new vi(n,t=>ha(t,e),{includeRoot:!0})}s(Ze,"streamAst");function Ua(n,e){var t;if(!e)return!0;let r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?qo(r,e):!1}s(Ua,"isAstNodeInRange");function fa(n){return new Ke(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{fa(r).forEach(i=>{i.reference.ref===n&&t.push(i.reference)})}),q(t)}s(Xh,"findLocalReferences");function au(n,e){let t=n.getTypeMetaData(e.$type),r=e;for(let i of t.properties)i.defaultValue!==void 0&&r[i.name]===void 0&&(r[i.name]=su(i.defaultValue))}s(au,"assignMandatoryProperties");function su(n){return Array.isArray(n)?[...n.map(su)]:n}s(su,"copyDefaultValue");function Ga(n,e){let t={$type:n.$type};for(let[r,i]of Object.entries(n))if(!r.startsWith("$"))if(Y(i))t[r]=Ga(i,e);else if(de(i))t[r]=e(t,r,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let o of i)Y(o)?a.push(Ga(o,e)):de(o)?a.push(e(t,r,o.$refNode,o.$refText)):a.push(o);t[r]=a}else t[r]=i;return $s(t),t}s(Ga,"copyAstNode");var ou={};qt(ou,{NEWLINE_REGEXP:()=>Qh,escapeRegExp:()=>xi,getCaseInsensitivePattern:()=>uu,getTerminalParts:()=>ef,isMultilineComment:()=>lu,isWhitespace:()=>ja,partialMatches:()=>cu,partialRegExp:()=>du});function b(n){return n.charCodeAt(0)}s(b,"cc");function Ca(n,e){Array.isArray(n)?n.forEach(function(t){e.push(t)}):e.push(n)}s(Ca,"insertToSet");function rn(n,e){if(n[e]===!0)throw"duplicate flag "+e;n[e],n[e]=!0}s(rn,"addFlag");function It(n){if(n===void 0)throw Error("Internal Error - Should never get here!");return!0}s(It,"ASSERT_EXISTS");function Ui(){throw Error("Internal Error - Should never get here!")}s(Ui,"ASSERT_NEVER_REACH_HERE");function no(n){return n.type==="Character"}s(no,"isCharacter");var Ba=[];for(let n=b("0");n<=b("9");n++)Ba.push(n);var Va=[b("_")].concat(Ba);for(let n=b("a");n<=b("z");n++)Va.push(n);for(let n=b("A");n<=b("Z");n++)Va.push(n);var Hc=[b(" "),b("\f"),b(` `),b("\r"),b(" "),b("\v"),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b(" "),b("\u2028"),b("\u2029"),b(" "),b(" "),b(" "),b("\uFEFF")],dy=/[0-9a-fA-F]/,Ea=/[0-9]/,hy=/[1-9]/,hn,Jh=(hn=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":rn(r,"global");break;case"i":rn(r,"ignoreCase");break;case"m":rn(r,"multiLine");break;case"u":rn(r,"unicode");break;case"y":rn(r,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let t;switch(this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break}It(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return Ui()}quantifier(e=!1){let t,r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),t={atLeast:i,atMost:a}):t={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&t===void 0)return;It(t);break}if(!(e===!0&&t===void 0)&&It(t))return this.peekChar(0)==="?"?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e,t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),It(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):Ui()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[b(` `),b("\r"),b("\u2028"),b("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,t=!1;switch(this.popChar()){case"d":e=Ba;break;case"D":e=Ba,t=!0;break;case"s":e=Hc;break;case"S":e=Hc,t=!0;break;case"w":e=Va;break;case"W":e=Va,t=!0;break}return It(e)?{type:"Set",value:e,complement:t}:Ui()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=b("\f");break;case"n":e=b(` `);break;case"r":e=b("\r");break;case"t":e=b(" ");break;case"v":e=b("\v");break}return It(e)?{type:"Character",value:e}:Ui()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:b("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:b(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` diff --git a/version/6.0/assets/gitGraphDiagram-H7KF5RUN-Bs9RhFjp.js b/version/6.0/assets/gitGraphDiagram-H7KF5RUN-B6poAQyD.js similarity index 98% rename from version/6.0/assets/gitGraphDiagram-H7KF5RUN-Bs9RhFjp.js rename to version/6.0/assets/gitGraphDiagram-H7KF5RUN-B6poAQyD.js index 28981f66f..675bcee5c 100644 --- a/version/6.0/assets/gitGraphDiagram-H7KF5RUN-Bs9RhFjp.js +++ b/version/6.0/assets/gitGraphDiagram-H7KF5RUN-B6poAQyD.js @@ -1,4 +1,4 @@ -import{s as Q}from"./chunk-VSLJSFIP-BVEukhlm.js";import{c as X}from"./chunk-4KE642ED-DRpyMuB6.js";import{p as Z}from"./gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js";import{ar as tt,m as d,as as et,at as rt,t as w,a as C,h as at,W as it,r as nt,I as ot,au as st,av as ct,T as ht,k as dt,v as mt,S as lt,w as $t,B as gt}from"./mermaid.esm.min-DhsQPv9X.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},yt=tt.gitGraph,G=d(()=>et({...yt,...rt().gitGraph}),"getConfig"),c=new Q(()=>{let e=G(),t=e.mainBranchName,a=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:a}]]),branches:new Map([[t,null]]),currBranch:t,direction:"LR",seq:0,options:{}}});function S(){return ct({length:7})}d(S,"getID");function K(e,t){let a=Object.create(null);return e.reduce((n,r)=>{let i=t(r);return a[i]||(a[i]=!0,n.push(r)),n},[])}d(K,"uniqBy");var pt=d(function(e){c.records.direction=e},"setDirection"),ft=d(function(e){w.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{c.records.options=JSON.parse(e)}catch(t){w.error("error while parsing gitGraph options",t.message)}},"setOptions"),xt=d(function(){return c.records.options},"getOptions"),ut=d(function(e){let t=e.msg,a=e.id,n=e.type,r=e.tags;w.info("commit",t,a,n,r),w.debug("Entering commit:",t,a,n,r);let i=G();a=C.sanitizeText(a,i),t=C.sanitizeText(t,i),r=r==null?void 0:r.map(o=>C.sanitizeText(o,i));let s={id:a||c.records.seq+"-"+S(),message:t,seq:c.records.seq++,type:n??p.NORMAL,tags:r??[],parents:c.records.head==null?[]:[c.records.head.id],branch:c.records.currBranch};c.records.head=s,w.info("main branch",i.mainBranchName),c.records.commits.set(s.id,s),c.records.branches.set(c.records.currBranch,s.id),w.debug("in pushCommit "+s.id)},"commit"),bt=d(function(e){let t=e.name,a=e.order;if(t=C.sanitizeText(t,G()),c.records.branches.has(t))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);c.records.branches.set(t,c.records.head!=null?c.records.head.id:null),c.records.branchConfig.set(t,{name:t,order:a}),_(t),w.debug("in createBranch")},"branch"),wt=d(e=>{let t=e.branch,a=e.id,n=e.type,r=e.tags,i=G();t=C.sanitizeText(t,i),a&&(a=C.sanitizeText(a,i));let s=c.records.branches.get(c.records.currBranch),o=c.records.branches.get(t),m=s?c.records.commits.get(s):void 0,$=o?c.records.commits.get(o):void 0;if(m&&$&&m.branch===t)throw new Error(`Cannot merge branch '${t}' into itself.`);if(c.records.currBranch===t){let h=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:["branch abc"]},h}if(m===void 0||!m){let h=new Error(`Incorrect usage of "merge". Current branch (${c.records.currBranch})has no commits`);throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:["commit"]},h}if(!c.records.branches.has(t)){let h=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`branch ${t}`]},h}if($===void 0||!$){let h=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:['"commit"']},h}if(m===$){let h=new Error('Incorrect usage of "merge". Both branches have same head');throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:["branch abc"]},h}if(a&&c.records.commits.has(a)){let h=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw h.hash={text:`merge ${t} ${a} ${n} ${r==null?void 0:r.join(" ")}`,token:`merge ${t} ${a} ${n} ${r==null?void 0:r.join(" ")}`,expected:[`merge ${t} ${a}_UNIQUE ${n} ${r==null?void 0:r.join(" ")}`]},h}let l=o||"",g={id:a||`${c.records.seq}-${S()}`,message:`merged branch ${t} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,l],branch:c.records.currBranch,type:p.MERGE,customType:n,customId:!!a,tags:r??[]};c.records.head=g,c.records.commits.set(g.id,g),c.records.branches.set(c.records.currBranch,g.id),w.debug(c.records.branches),w.debug("in mergeBranch")},"merge"),Bt=d(function(e){let t=e.id,a=e.targetId,n=e.tags,r=e.parent;w.debug("Entering cherryPick:",t,a,n);let i=G();if(t=C.sanitizeText(t,i),a=C.sanitizeText(a,i),n=n==null?void 0:n.map(m=>C.sanitizeText(m,i)),r=C.sanitizeText(r,i),!t||!c.records.commits.has(t)){let m=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw m.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},m}let s=c.records.commits.get(t);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(r&&!(Array.isArray(s.parents)&&s.parents.includes(r)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let o=s.branch;if(s.type===p.MERGE&&!r)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||!c.records.commits.has(a)){if(o===c.records.currBranch){let g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},g}let m=c.records.branches.get(c.records.currBranch);if(m===void 0||!m){let g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},g}let $=c.records.commits.get(m);if($===void 0||!$){let g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},g}let l={id:c.records.seq+"-"+S(),message:`cherry-picked ${s==null?void 0:s.message} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,s.id],branch:c.records.currBranch,type:p.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===p.MERGE?`|parent:${r}`:""}`]};c.records.head=l,c.records.commits.set(l.id,l),c.records.branches.set(c.records.currBranch,l.id),w.debug(c.records.branches),w.debug("in cherryPick")}},"cherryPick"),_=d(function(e){if(e=C.sanitizeText(e,G()),c.records.branches.has(e)){c.records.currBranch=e;let t=c.records.branches.get(c.records.currBranch);t===void 0||!t?c.records.head=null:c.records.head=c.records.commits.get(t)??null}else{let t=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw t.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},t}},"checkout");function W(e,t,a){let n=e.indexOf(t);n===-1?e.push(a):e.splice(n,1,a)}d(W,"upsert");function N(e){let t=e.reduce((r,i)=>r.seq>i.seq?r:i,e[0]),a="";e.forEach(function(r){r===t?a+=" *":a+=" |"});let n=[a,t.id,t.seq];for(let r in c.records.branches)c.records.branches.get(r)===t.id&&n.push(r);if(w.debug(n.join(" ")),t.parents&&t.parents.length==2&&t.parents[0]&&t.parents[1]){let r=c.records.commits.get(t.parents[0]);W(e,t,r),t.parents[1]&&e.push(c.records.commits.get(t.parents[1]))}else{if(t.parents.length==0)return;if(t.parents[0]){let r=c.records.commits.get(t.parents[0]);W(e,t,r)}}e=K(e,r=>r.id),N(e)}d(N,"prettyPrintCommitHistory");var Et=d(function(){w.debug(c.records.commits);let e=Y()[0];N([e])},"prettyPrint"),kt=d(function(){c.reset(),at()},"clear"),Ct=d(function(){return[...c.records.branchConfig.values()].map((e,t)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${t}`)}).sort((e,t)=>(e.order??0)-(t.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),Lt=d(function(){return c.records.branches},"getBranches"),Tt=d(function(){return c.records.commits},"getCommits"),Y=d(function(){let e=[...c.records.commits.values()];return e.forEach(function(t){w.debug(t.id)}),e.sort((t,a)=>t.seq-a.seq),e},"getCommitsArray"),vt=d(function(){return c.records.currBranch},"getCurrentBranch"),Mt=d(function(){return c.records.direction},"getDirection"),Pt=d(function(){return c.records.head},"getHead"),U={commitType:p,getConfig:G,setDirection:pt,setOptions:ft,getOptions:xt,commit:ut,branch:bt,merge:wt,cherryPick:Bt,checkout:_,prettyPrint:Et,clear:kt,getBranchesAsObjArray:Ct,getBranches:Lt,getCommits:Tt,getCommitsArray:Y,getCurrentBranch:vt,getDirection:Mt,getHead:Pt,setAccTitle:ht,getAccTitle:dt,getAccDescription:mt,setAccDescription:lt,setDiagramTitle:$t,getDiagramTitle:gt},Rt=d((e,t)=>{X(e,t),e.dir&&t.setDirection(e.dir);for(let a of e.statements)It(a,t)},"populate"),It=d((e,t)=>{let a={Commit:d(n=>t.commit(At(n)),"Commit"),Branch:d(n=>t.branch(Gt(n)),"Branch"),Merge:d(n=>t.merge(Ot(n)),"Merge"),Checkout:d(n=>t.checkout(qt(n)),"Checkout"),CherryPicking:d(n=>t.cherryPick(Ht(n)),"CherryPicking")}[e.$type];a?a(e):w.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),At=d(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),Gt=d(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ot=d(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),qt=d(e=>e.branch,"parseCheckout"),Ht=d(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),zt={parse:d(async e=>{let t=await Z("gitGraph",e);w.debug(t),Rt(t,U)},"parse")},D=it(),x=D==null?void 0:D.gitGraph,P=10,R=40,L=4,T=2,A=8,E=new Map,k=new Map,H=30,O=new Map,z=[],M=0,y="LR",St=d(()=>{E.clear(),k.clear(),O.clear(),M=0,z=[],y="LR"},"clear"),V=d(e=>{let t=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(a=>{let n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=a.trim(),t.appendChild(n)}),t},"drawText"),J=d(e=>{let t,a,n;return y==="BT"?(a=d((r,i)=>r<=i,"comparisonFunc"),n=1/0):(a=d((r,i)=>r>=i,"comparisonFunc"),n=0),e.forEach(r=>{var s,o;let i=y==="TB"||y=="BT"?(s=k.get(r))==null?void 0:s.y:(o=k.get(r))==null?void 0:o.x;i!==void 0&&a(i,n)&&(t=r,n=i)}),t},"findClosestParent"),Dt=d(e=>{let t="",a=1/0;return e.forEach(n=>{let r=k.get(n).y;r<=a&&(t=n,a=r)}),t||void 0},"findClosestParentBT"),Wt=d((e,t,a)=>{let n=a,r=a,i=[];e.forEach(s=>{let o=t.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=jt(o),r=Math.max(n,r)):i.push(o),Ft(o,n)}),n=r,i.forEach(s=>{Kt(s,n,a)}),e.forEach(s=>{let o=t.get(s);if(o!=null&&o.parents.length){let m=Dt(o.parents);n=k.get(m).y-R,n<=r&&(r=n);let $=E.get(o.branch).pos,l=n-P;k.set(o.id,{x:$,y:l})}})},"setParallelBTPos"),Nt=d(e=>{var n;let t=J(e.parents.filter(r=>r!==null));if(!t)throw new Error(`Closest parent not found for commit ${e.id}`);let a=(n=k.get(t))==null?void 0:n.y;if(a===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return a},"findClosestParentPos"),jt=d(e=>Nt(e)+R,"calculateCommitPosition"),Ft=d((e,t)=>{let a=E.get(e.branch);if(!a)throw new Error(`Branch not found for commit ${e.id}`);let n=a.pos,r=t+P;return k.set(e.id,{x:n,y:r}),{x:n,y:r}},"setCommitPosition"),Kt=d((e,t,a)=>{let n=E.get(e.branch);if(!n)throw new Error(`Branch not found for commit ${e.id}`);let r=t+a,i=n.pos;k.set(e.id,{x:i,y:r})},"setRootPosition"),_t=d((e,t,a,n,r,i)=>{if(i===p.HIGHLIGHT)e.append("rect").attr("x",a.x-10).attr("y",a.y-10).attr("width",20).attr("height",20).attr("class",`commit ${t.id} commit-highlight${r%A} ${n}-outer`),e.append("rect").attr("x",a.x-6).attr("y",a.y-6).attr("width",12).attr("height",12).attr("class",`commit ${t.id} commit${r%A} ${n}-inner`);else if(i===p.CHERRY_PICK)e.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("class",`commit ${t.id} ${n}`),e.append("circle").attr("cx",a.x-3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${t.id} ${n}`),e.append("circle").attr("cx",a.x+3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${t.id} ${n}`),e.append("line").attr("x1",a.x+3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${t.id} ${n}`),e.append("line").attr("x1",a.x-3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${t.id} ${n}`);else{let s=e.append("circle");if(s.attr("cx",a.x),s.attr("cy",a.y),s.attr("r",t.type===p.MERGE?9:10),s.attr("class",`commit ${t.id} commit${r%A}`),i===p.MERGE){let o=e.append("circle");o.attr("cx",a.x),o.attr("cy",a.y),o.attr("r",6),o.attr("class",`commit ${n} ${t.id} commit${r%A}`)}i===p.REVERSE&&e.append("path").attr("d",`M ${a.x-5},${a.y-5}L${a.x+5},${a.y+5}M${a.x-5},${a.y+5}L${a.x+5},${a.y-5}`).attr("class",`commit ${n} ${t.id} commit${r%A}`)}},"drawCommitBullet"),Yt=d((e,t,a,n)=>{var r;if(t.type!==p.CHERRY_PICK&&(t.customId&&t.type===p.MERGE||t.type!==p.MERGE)&&(x!=null&&x.showCommitLabel)){let i=e.append("g"),s=i.insert("rect").attr("class","commit-label-bkg"),o=i.append("text").attr("x",n).attr("y",a.y+25).attr("class","commit-label").text(t.id),m=(r=o.node())==null?void 0:r.getBBox();if(m&&(s.attr("x",a.posWithOffset-m.width/2-T).attr("y",a.y+13.5).attr("width",m.width+2*T).attr("height",m.height+2*T),y==="TB"||y==="BT"?(s.attr("x",a.x-(m.width+4*L+5)).attr("y",a.y-12),o.attr("x",a.x-(m.width+4*L)).attr("y",a.y+m.height-12)):o.attr("x",a.posWithOffset-m.width/2),x.rotateCommitLabel))if(y==="TB"||y==="BT")o.attr("transform","rotate(-45, "+a.x+", "+a.y+")"),s.attr("transform","rotate(-45, "+a.x+", "+a.y+")");else{let $=-7.5-(m.width+10)/25*9.5,l=10+m.width/25*8.5;i.attr("transform","translate("+$+", "+l+") rotate(-45, "+n+", "+a.y+")")}}},"drawCommitLabel"),Ut=d((e,t,a,n)=>{var r;if(t.tags.length>0){let i=0,s=0,o=0,m=[];for(let $ of t.tags.reverse()){let l=e.insert("polygon"),g=e.append("circle"),h=e.append("text").attr("y",a.y-16-i).attr("class","tag-label").text($),f=(r=h.node())==null?void 0:r.getBBox();if(!f)throw new Error("Tag bbox not found");s=Math.max(s,f.width),o=Math.max(o,f.height),h.attr("x",a.posWithOffset-f.width/2),m.push({tag:h,hole:g,rect:l,yOffset:i}),i+=20}for(let{tag:$,hole:l,rect:g,yOffset:h}of m){let f=o/2,u=a.y-19.2-h;if(g.attr("class","tag-label-bkg").attr("points",` +import{s as Q}from"./chunk-VSLJSFIP-CH0BQGll.js";import{c as X}from"./chunk-4KE642ED-BFpkd97I.js";import{p as Z}from"./gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js";import{ar as tt,m as d,as as et,at as rt,t as w,a as C,h as at,W as it,r as nt,I as ot,au as st,av as ct,T as ht,k as dt,v as mt,S as lt,w as $t,B as gt}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var p={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},yt=tt.gitGraph,G=d(()=>et({...yt,...rt().gitGraph}),"getConfig"),c=new Q(()=>{let e=G(),t=e.mainBranchName,a=e.mainBranchOrder;return{mainBranchName:t,commits:new Map,head:null,branchConfig:new Map([[t,{name:t,order:a}]]),branches:new Map([[t,null]]),currBranch:t,direction:"LR",seq:0,options:{}}});function S(){return ct({length:7})}d(S,"getID");function K(e,t){let a=Object.create(null);return e.reduce((n,r)=>{let i=t(r);return a[i]||(a[i]=!0,n.push(r)),n},[])}d(K,"uniqBy");var pt=d(function(e){c.records.direction=e},"setDirection"),ft=d(function(e){w.debug("options str",e),e=e==null?void 0:e.trim(),e=e||"{}";try{c.records.options=JSON.parse(e)}catch(t){w.error("error while parsing gitGraph options",t.message)}},"setOptions"),xt=d(function(){return c.records.options},"getOptions"),ut=d(function(e){let t=e.msg,a=e.id,n=e.type,r=e.tags;w.info("commit",t,a,n,r),w.debug("Entering commit:",t,a,n,r);let i=G();a=C.sanitizeText(a,i),t=C.sanitizeText(t,i),r=r==null?void 0:r.map(o=>C.sanitizeText(o,i));let s={id:a||c.records.seq+"-"+S(),message:t,seq:c.records.seq++,type:n??p.NORMAL,tags:r??[],parents:c.records.head==null?[]:[c.records.head.id],branch:c.records.currBranch};c.records.head=s,w.info("main branch",i.mainBranchName),c.records.commits.set(s.id,s),c.records.branches.set(c.records.currBranch,s.id),w.debug("in pushCommit "+s.id)},"commit"),bt=d(function(e){let t=e.name,a=e.order;if(t=C.sanitizeText(t,G()),c.records.branches.has(t))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${t}")`);c.records.branches.set(t,c.records.head!=null?c.records.head.id:null),c.records.branchConfig.set(t,{name:t,order:a}),_(t),w.debug("in createBranch")},"branch"),wt=d(e=>{let t=e.branch,a=e.id,n=e.type,r=e.tags,i=G();t=C.sanitizeText(t,i),a&&(a=C.sanitizeText(a,i));let s=c.records.branches.get(c.records.currBranch),o=c.records.branches.get(t),m=s?c.records.commits.get(s):void 0,$=o?c.records.commits.get(o):void 0;if(m&&$&&m.branch===t)throw new Error(`Cannot merge branch '${t}' into itself.`);if(c.records.currBranch===t){let h=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:["branch abc"]},h}if(m===void 0||!m){let h=new Error(`Incorrect usage of "merge". Current branch (${c.records.currBranch})has no commits`);throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:["commit"]},h}if(!c.records.branches.has(t)){let h=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:[`branch ${t}`]},h}if($===void 0||!$){let h=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:['"commit"']},h}if(m===$){let h=new Error('Incorrect usage of "merge". Both branches have same head');throw h.hash={text:`merge ${t}`,token:`merge ${t}`,expected:["branch abc"]},h}if(a&&c.records.commits.has(a)){let h=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw h.hash={text:`merge ${t} ${a} ${n} ${r==null?void 0:r.join(" ")}`,token:`merge ${t} ${a} ${n} ${r==null?void 0:r.join(" ")}`,expected:[`merge ${t} ${a}_UNIQUE ${n} ${r==null?void 0:r.join(" ")}`]},h}let l=o||"",g={id:a||`${c.records.seq}-${S()}`,message:`merged branch ${t} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,l],branch:c.records.currBranch,type:p.MERGE,customType:n,customId:!!a,tags:r??[]};c.records.head=g,c.records.commits.set(g.id,g),c.records.branches.set(c.records.currBranch,g.id),w.debug(c.records.branches),w.debug("in mergeBranch")},"merge"),Bt=d(function(e){let t=e.id,a=e.targetId,n=e.tags,r=e.parent;w.debug("Entering cherryPick:",t,a,n);let i=G();if(t=C.sanitizeText(t,i),a=C.sanitizeText(a,i),n=n==null?void 0:n.map(m=>C.sanitizeText(m,i)),r=C.sanitizeText(r,i),!t||!c.records.commits.has(t)){let m=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw m.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},m}let s=c.records.commits.get(t);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(r&&!(Array.isArray(s.parents)&&s.parents.includes(r)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let o=s.branch;if(s.type===p.MERGE&&!r)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||!c.records.commits.has(a)){if(o===c.records.currBranch){let g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},g}let m=c.records.branches.get(c.records.currBranch);if(m===void 0||!m){let g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},g}let $=c.records.commits.get(m);if($===void 0||!$){let g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${t} ${a}`,token:`cherryPick ${t} ${a}`,expected:["cherry-pick abc"]},g}let l={id:c.records.seq+"-"+S(),message:`cherry-picked ${s==null?void 0:s.message} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,s.id],branch:c.records.currBranch,type:p.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===p.MERGE?`|parent:${r}`:""}`]};c.records.head=l,c.records.commits.set(l.id,l),c.records.branches.set(c.records.currBranch,l.id),w.debug(c.records.branches),w.debug("in cherryPick")}},"cherryPick"),_=d(function(e){if(e=C.sanitizeText(e,G()),c.records.branches.has(e)){c.records.currBranch=e;let t=c.records.branches.get(c.records.currBranch);t===void 0||!t?c.records.head=null:c.records.head=c.records.commits.get(t)??null}else{let t=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw t.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},t}},"checkout");function W(e,t,a){let n=e.indexOf(t);n===-1?e.push(a):e.splice(n,1,a)}d(W,"upsert");function N(e){let t=e.reduce((r,i)=>r.seq>i.seq?r:i,e[0]),a="";e.forEach(function(r){r===t?a+=" *":a+=" |"});let n=[a,t.id,t.seq];for(let r in c.records.branches)c.records.branches.get(r)===t.id&&n.push(r);if(w.debug(n.join(" ")),t.parents&&t.parents.length==2&&t.parents[0]&&t.parents[1]){let r=c.records.commits.get(t.parents[0]);W(e,t,r),t.parents[1]&&e.push(c.records.commits.get(t.parents[1]))}else{if(t.parents.length==0)return;if(t.parents[0]){let r=c.records.commits.get(t.parents[0]);W(e,t,r)}}e=K(e,r=>r.id),N(e)}d(N,"prettyPrintCommitHistory");var Et=d(function(){w.debug(c.records.commits);let e=Y()[0];N([e])},"prettyPrint"),kt=d(function(){c.reset(),at()},"clear"),Ct=d(function(){return[...c.records.branchConfig.values()].map((e,t)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${t}`)}).sort((e,t)=>(e.order??0)-(t.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),Lt=d(function(){return c.records.branches},"getBranches"),Tt=d(function(){return c.records.commits},"getCommits"),Y=d(function(){let e=[...c.records.commits.values()];return e.forEach(function(t){w.debug(t.id)}),e.sort((t,a)=>t.seq-a.seq),e},"getCommitsArray"),vt=d(function(){return c.records.currBranch},"getCurrentBranch"),Mt=d(function(){return c.records.direction},"getDirection"),Pt=d(function(){return c.records.head},"getHead"),U={commitType:p,getConfig:G,setDirection:pt,setOptions:ft,getOptions:xt,commit:ut,branch:bt,merge:wt,cherryPick:Bt,checkout:_,prettyPrint:Et,clear:kt,getBranchesAsObjArray:Ct,getBranches:Lt,getCommits:Tt,getCommitsArray:Y,getCurrentBranch:vt,getDirection:Mt,getHead:Pt,setAccTitle:ht,getAccTitle:dt,getAccDescription:mt,setAccDescription:lt,setDiagramTitle:$t,getDiagramTitle:gt},Rt=d((e,t)=>{X(e,t),e.dir&&t.setDirection(e.dir);for(let a of e.statements)It(a,t)},"populate"),It=d((e,t)=>{let a={Commit:d(n=>t.commit(At(n)),"Commit"),Branch:d(n=>t.branch(Gt(n)),"Branch"),Merge:d(n=>t.merge(Ot(n)),"Merge"),Checkout:d(n=>t.checkout(qt(n)),"Checkout"),CherryPicking:d(n=>t.cherryPick(Ht(n)),"CherryPicking")}[e.$type];a?a(e):w.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),At=d(e=>({id:e.id,msg:e.message??"",type:e.type!==void 0?p[e.type]:p.NORMAL,tags:e.tags??void 0}),"parseCommit"),Gt=d(e=>({name:e.name,order:e.order??0}),"parseBranch"),Ot=d(e=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?p[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),qt=d(e=>e.branch,"parseCheckout"),Ht=d(e=>{var t;return{id:e.id,targetId:"",tags:((t=e.tags)==null?void 0:t.length)===0?void 0:e.tags,parent:e.parent}},"parseCherryPicking"),zt={parse:d(async e=>{let t=await Z("gitGraph",e);w.debug(t),Rt(t,U)},"parse")},D=it(),x=D==null?void 0:D.gitGraph,P=10,R=40,L=4,T=2,A=8,E=new Map,k=new Map,H=30,O=new Map,z=[],M=0,y="LR",St=d(()=>{E.clear(),k.clear(),O.clear(),M=0,z=[],y="LR"},"clear"),V=d(e=>{let t=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e=="string"?e.split(/\\n|\n|/gi):e).forEach(a=>{let n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=a.trim(),t.appendChild(n)}),t},"drawText"),J=d(e=>{let t,a,n;return y==="BT"?(a=d((r,i)=>r<=i,"comparisonFunc"),n=1/0):(a=d((r,i)=>r>=i,"comparisonFunc"),n=0),e.forEach(r=>{var s,o;let i=y==="TB"||y=="BT"?(s=k.get(r))==null?void 0:s.y:(o=k.get(r))==null?void 0:o.x;i!==void 0&&a(i,n)&&(t=r,n=i)}),t},"findClosestParent"),Dt=d(e=>{let t="",a=1/0;return e.forEach(n=>{let r=k.get(n).y;r<=a&&(t=n,a=r)}),t||void 0},"findClosestParentBT"),Wt=d((e,t,a)=>{let n=a,r=a,i=[];e.forEach(s=>{let o=t.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=jt(o),r=Math.max(n,r)):i.push(o),Ft(o,n)}),n=r,i.forEach(s=>{Kt(s,n,a)}),e.forEach(s=>{let o=t.get(s);if(o!=null&&o.parents.length){let m=Dt(o.parents);n=k.get(m).y-R,n<=r&&(r=n);let $=E.get(o.branch).pos,l=n-P;k.set(o.id,{x:$,y:l})}})},"setParallelBTPos"),Nt=d(e=>{var n;let t=J(e.parents.filter(r=>r!==null));if(!t)throw new Error(`Closest parent not found for commit ${e.id}`);let a=(n=k.get(t))==null?void 0:n.y;if(a===void 0)throw new Error(`Closest parent position not found for commit ${e.id}`);return a},"findClosestParentPos"),jt=d(e=>Nt(e)+R,"calculateCommitPosition"),Ft=d((e,t)=>{let a=E.get(e.branch);if(!a)throw new Error(`Branch not found for commit ${e.id}`);let n=a.pos,r=t+P;return k.set(e.id,{x:n,y:r}),{x:n,y:r}},"setCommitPosition"),Kt=d((e,t,a)=>{let n=E.get(e.branch);if(!n)throw new Error(`Branch not found for commit ${e.id}`);let r=t+a,i=n.pos;k.set(e.id,{x:i,y:r})},"setRootPosition"),_t=d((e,t,a,n,r,i)=>{if(i===p.HIGHLIGHT)e.append("rect").attr("x",a.x-10).attr("y",a.y-10).attr("width",20).attr("height",20).attr("class",`commit ${t.id} commit-highlight${r%A} ${n}-outer`),e.append("rect").attr("x",a.x-6).attr("y",a.y-6).attr("width",12).attr("height",12).attr("class",`commit ${t.id} commit${r%A} ${n}-inner`);else if(i===p.CHERRY_PICK)e.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("class",`commit ${t.id} ${n}`),e.append("circle").attr("cx",a.x-3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${t.id} ${n}`),e.append("circle").attr("cx",a.x+3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${t.id} ${n}`),e.append("line").attr("x1",a.x+3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${t.id} ${n}`),e.append("line").attr("x1",a.x-3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${t.id} ${n}`);else{let s=e.append("circle");if(s.attr("cx",a.x),s.attr("cy",a.y),s.attr("r",t.type===p.MERGE?9:10),s.attr("class",`commit ${t.id} commit${r%A}`),i===p.MERGE){let o=e.append("circle");o.attr("cx",a.x),o.attr("cy",a.y),o.attr("r",6),o.attr("class",`commit ${n} ${t.id} commit${r%A}`)}i===p.REVERSE&&e.append("path").attr("d",`M ${a.x-5},${a.y-5}L${a.x+5},${a.y+5}M${a.x-5},${a.y+5}L${a.x+5},${a.y-5}`).attr("class",`commit ${n} ${t.id} commit${r%A}`)}},"drawCommitBullet"),Yt=d((e,t,a,n)=>{var r;if(t.type!==p.CHERRY_PICK&&(t.customId&&t.type===p.MERGE||t.type!==p.MERGE)&&(x!=null&&x.showCommitLabel)){let i=e.append("g"),s=i.insert("rect").attr("class","commit-label-bkg"),o=i.append("text").attr("x",n).attr("y",a.y+25).attr("class","commit-label").text(t.id),m=(r=o.node())==null?void 0:r.getBBox();if(m&&(s.attr("x",a.posWithOffset-m.width/2-T).attr("y",a.y+13.5).attr("width",m.width+2*T).attr("height",m.height+2*T),y==="TB"||y==="BT"?(s.attr("x",a.x-(m.width+4*L+5)).attr("y",a.y-12),o.attr("x",a.x-(m.width+4*L)).attr("y",a.y+m.height-12)):o.attr("x",a.posWithOffset-m.width/2),x.rotateCommitLabel))if(y==="TB"||y==="BT")o.attr("transform","rotate(-45, "+a.x+", "+a.y+")"),s.attr("transform","rotate(-45, "+a.x+", "+a.y+")");else{let $=-7.5-(m.width+10)/25*9.5,l=10+m.width/25*8.5;i.attr("transform","translate("+$+", "+l+") rotate(-45, "+n+", "+a.y+")")}}},"drawCommitLabel"),Ut=d((e,t,a,n)=>{var r;if(t.tags.length>0){let i=0,s=0,o=0,m=[];for(let $ of t.tags.reverse()){let l=e.insert("polygon"),g=e.append("circle"),h=e.append("text").attr("y",a.y-16-i).attr("class","tag-label").text($),f=(r=h.node())==null?void 0:r.getBBox();if(!f)throw new Error("Tag bbox not found");s=Math.max(s,f.width),o=Math.max(o,f.height),h.attr("x",a.posWithOffset-f.width/2),m.push({tag:h,hole:g,rect:l,yOffset:i}),i+=20}for(let{tag:$,hole:l,rect:g,yOffset:h}of m){let f=o/2,u=a.y-19.2-h;if(g.attr("class","tag-label-bkg").attr("points",` ${n-s/2-L/2},${u+T} ${n-s/2-L/2},${u-T} ${a.posWithOffset-s/2-L},${u-f-T} diff --git a/version/6.0/assets/index.html-BQm2dbvi.js b/version/6.0/assets/index.html--jz6CVyc.js similarity index 89% rename from version/6.0/assets/index.html-BQm2dbvi.js rename to version/6.0/assets/index.html--jz6CVyc.js index f900be784..d95429b42 100644 --- a/version/6.0/assets/index.html-BQm2dbvi.js +++ b/version/6.0/assets/index.html--jz6CVyc.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,e,o as p}from"./app-chHFUe1n.js";const t={};function o(l,n){return p(),a("div",null,n[0]||(n[0]=[e(`

Queue

NotifyBC uses BullMQ for notification processing, email and sms throttling. BullMQ is built on top of Redis. Redis connection is defined in config queue.connection with following defaults

module.exports = {
+import{_ as s,c as a,e,o as p}from"./app-vBJoMoyQ.js";const t={};function o(l,n){return p(),a("div",null,n[0]||(n[0]=[e(`

Queue

NotifyBC uses BullMQ for notification processing, email and sms throttling. BullMQ is built on top of Redis. Redis connection is defined in config queue.connection with following defaults

module.exports = {
   // ...
   queue: {
     connection: {
@@ -18,4 +18,4 @@ import{_ as s,c as a,e,o as p}from"./app-chHFUe1n.js";const t={};function o(l,n)
     },
   },
 };
-

If you deployed NotifyBC using Helm chart, this config is taken care of.

`,6)]))}const c=s(t,[["render",o],["__file","index.html.vue"]]),r=JSON.parse('{"path":"/docs/config-queue/","title":"Queue","lang":"en-US","frontmatter":{"permalink":"/docs/config-queue/"},"headers":[],"git":{},"filePathRelative":"docs/config/queue.md"}');export{c as comp,r as data}; +

If you deployed NotifyBC using Helm chart, this config is taken care of. If you deployed NotifyBC using docker, Redis is created inside docker using Redis In-Memory Server by default.

`,6)]))}const c=s(t,[["render",o],["__file","index.html.vue"]]),r=JSON.parse('{"path":"/docs/config-queue/","title":"Queue","lang":"en-US","frontmatter":{"permalink":"/docs/config-queue/"},"headers":[],"git":{},"filePathRelative":"docs/config/queue.md"}');export{c as comp,r as data}; diff --git a/version/6.0/assets/index.html-CKWaOaOz.js b/version/6.0/assets/index.html-5Kbp-CXJ.js similarity index 97% rename from version/6.0/assets/index.html-CKWaOaOz.js rename to version/6.0/assets/index.html-5Kbp-CXJ.js index 9cd0105b8..d5faf8cba 100644 --- a/version/6.0/assets/index.html-CKWaOaOz.js +++ b/version/6.0/assets/index.html-5Kbp-CXJ.js @@ -1,4 +1,4 @@ -import{_ as t,c as l,a as s,f as e,b as o,d as i,e as p,r,o as c}from"./app-chHFUe1n.js";const g={};function d(u,n){const a=r("RouteLink");return c(),l("div",null,[n[5]||(n[5]=s("h1",{id:"logging",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#logging"},[s("span",null,"Logging")])],-1)),s("p",null,[n[1]||(n[1]=e("Besides request logging using morgan ")),o(a,{to:"/docs/config/middleware.html"},{default:i(()=>n[0]||(n[0]=[e("middleware")])),_:1}),n[2]||(n[2]=e(", ")),n[3]||(n[3]=s("em",null,"NotifyBC",-1)),n[4]||(n[4]=e(" also generates application log. Application log has following levels in descending severities"))]),n[6]||(n[6]=p(`
  1. fatal
  2. error
  3. warn
  4. log
  5. debug
  6. verbose

By default the first 4 logging levels are output to console. To override the defaults, set the loggingLevels config in src/config.local.js. For example, to include debug logs

module.exports = {
+import{_ as t,c as l,a as s,f as e,b as o,d as i,e as p,r,o as c}from"./app-vBJoMoyQ.js";const g={};function d(u,n){const a=r("RouteLink");return c(),l("div",null,[n[5]||(n[5]=s("h1",{id:"logging",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#logging"},[s("span",null,"Logging")])],-1)),s("p",null,[n[1]||(n[1]=e("Besides request logging using morgan ")),o(a,{to:"/docs/config/middleware.html"},{default:i(()=>n[0]||(n[0]=[e("middleware")])),_:1}),n[2]||(n[2]=e(", ")),n[3]||(n[3]=s("em",null,"NotifyBC",-1)),n[4]||(n[4]=e(" also generates application log. Application log has following levels in descending severities"))]),n[6]||(n[6]=p(`
  1. fatal
  2. error
  3. warn
  4. log
  5. debug
  6. verbose

By default the first 4 logging levels are output to console. To override the defaults, set the loggingLevels config in src/config.local.js. For example, to include debug logs

module.exports = {
   // ...
   loggingLevels: ['fatal', 'error', 'warn', 'log', 'debug'],
 };
diff --git a/version/6.0/assets/index.html-C-cJG2y6.js b/version/6.0/assets/index.html-7bMHw-fv.js
similarity index 99%
rename from version/6.0/assets/index.html-C-cJG2y6.js
rename to version/6.0/assets/index.html-7bMHw-fv.js
index b215f5de8..c344acd1e 100644
--- a/version/6.0/assets/index.html-C-cJG2y6.js
+++ b/version/6.0/assets/index.html-7bMHw-fv.js
@@ -1,4 +1,4 @@
-import{_ as i,c as p,a as s,f as a,b as t,d as o,e as l,r,o as d}from"./app-chHFUe1n.js";const c={};function u(k,n){const e=r("RouteLink");return d(),p("div",null,[n[12]||(n[12]=s("h1",{id:"rsa-keys",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rsa-keys"},[s("span",null,"RSA Keys")])],-1)),s("p",null,[n[2]||(n[2]=a("When ")),n[3]||(n[3]=s("em",null,"NotifyBC",-1)),n[4]||(n[4]=a(" starts up, it checks if an RSA key pair exists in database as dynamic config. If not it will generate the dynamic config and save it to database. This RSA key pair is used to exchange confidential information with third party server applications through user's browser. For an example of use case, see ")),t(e,{to:"/docs/api-subscription/"},{default:o(()=>n[0]||(n[0]=[a("Subscription API")])),_:1}),n[5]||(n[5]=a(". To make it work, send the public key to the third party and have their server app encrypt the data using the public key. To obtain public key, call the REST ")),t(e,{to:"/docs/config/..api-config/#get-configurations"},{default:o(()=>n[1]||(n[1]=[a("Configuration API")])),_:1}),n[6]||(n[6]=a(" from an admin ip, for example, by running ")),n[7]||(n[7]=s("em",null,"cURL",-1)),n[8]||(n[8]=a(" command"))]),n[13]||(n[13]=l(`
curl -X GET 'http://localhost:3000/api/configurations?filter=%7B%22where%22%3A%20%7B%22name%22%3A%20%22rsa%22%7D%7D'
+import{_ as i,c as p,a as s,f as a,b as t,d as o,e as l,r,o as d}from"./app-vBJoMoyQ.js";const c={};function u(k,n){const e=r("RouteLink");return d(),p("div",null,[n[12]||(n[12]=s("h1",{id:"rsa-keys",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#rsa-keys"},[s("span",null,"RSA Keys")])],-1)),s("p",null,[n[2]||(n[2]=a("When ")),n[3]||(n[3]=s("em",null,"NotifyBC",-1)),n[4]||(n[4]=a(" starts up, it checks if an RSA key pair exists in database as dynamic config. If not it will generate the dynamic config and save it to database. This RSA key pair is used to exchange confidential information with third party server applications through user's browser. For an example of use case, see ")),t(e,{to:"/docs/api-subscription/"},{default:o(()=>n[0]||(n[0]=[a("Subscription API")])),_:1}),n[5]||(n[5]=a(". To make it work, send the public key to the third party and have their server app encrypt the data using the public key. To obtain public key, call the REST ")),t(e,{to:"/docs/config/..api-config/#get-configurations"},{default:o(()=>n[1]||(n[1]=[a("Configuration API")])),_:1}),n[6]||(n[6]=a(" from an admin ip, for example, by running ")),n[7]||(n[7]=s("em",null,"cURL",-1)),n[8]||(n[8]=a(" command"))]),n[13]||(n[13]=l(`
curl -X GET 'http://localhost:3000/api/configurations?filter=%7B%22where%22%3A%20%7B%22name%22%3A%20%22rsa%22%7D%7D'
 

or you can open API explorer, expand GET /configurations and set filter to

{ "where": { "name": "rsa" } }
 

The response should be something like

[
   {
diff --git a/version/6.0/assets/index.html-BgjcQhV5.js b/version/6.0/assets/index.html-9KIZWRTp.js
similarity index 91%
rename from version/6.0/assets/index.html-BgjcQhV5.js
rename to version/6.0/assets/index.html-9KIZWRTp.js
index 9588bc633..e9cf4d279 100644
--- a/version/6.0/assets/index.html-BgjcQhV5.js
+++ b/version/6.0/assets/index.html-9KIZWRTp.js
@@ -1,4 +1,4 @@
-import{_ as r,c as p,a as s,f as n,b as i,d as o,e as a,r as c,o as u}from"./app-chHFUe1n.js";const d={},m=["src"];function b(l,e){const t=c("RouteLink");return u(),p("div",null,[e[24]||(e[24]=s("h1",{id:"email",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#email"},[s("span",null,"Email")])],-1)),e[25]||(e[25]=s("h2",{id:"smtp",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#smtp"},[s("span",null,"SMTP")])],-1)),s("p",null,[e[1]||(e[1]=n("By default when no SMTP is specified, ")),e[2]||(e[2]=s("em",null,"NotifyBC",-1)),e[3]||(e[3]=n(" uses fake SMTP service ")),e[4]||(e[4]=s("a",{href:"https://ethereal.email/",target:"_blank",rel:"noopener noreferrer"},"Ethereal",-1)),e[5]||(e[5]=n(". Ethereal is only good for evaluation purpose as emails sent from ")),e[6]||(e[6]=s("em",null,"NotifyBC",-1)),e[7]||(e[7]=n(" are delivered to Ethereal rather than actual recipients. You can access the emails from Ethereal. ")),e[8]||(e[8]=s("em",null,"NotifyBC",-1)),e[9]||(e[9]=n(" automatically generates the Ethereal account first time and stores the account information in ")),i(t,{to:"/docs/api/config.html"},{default:o(()=>e[0]||(e[0]=[n("configuration")])),_:1}),e[10]||(e[10]=n(" under name ")),e[11]||(e[11]=s("em",null,"etherealAccount",-1)),e[12]||(e[12]=n(" accessible from ")),e[13]||(e[13]=s("em",null,"NotifyBC",-1)),e[14]||(e[14]=n(" web console."))]),e[26]||(e[26]=a(`

For production however, setting up SMTP is mandatory. To do so, add following smtp config to /src/config.local.js

module.exports = {
+import{_ as r,c as p,a as s,f as n,b as i,d as o,e as a,r as c,o as u}from"./app-vBJoMoyQ.js";const d={},m=["src"];function b(l,e){const t=c("RouteLink");return u(),p("div",null,[e[24]||(e[24]=s("h1",{id:"email",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#email"},[s("span",null,"Email")])],-1)),e[25]||(e[25]=s("h2",{id:"smtp",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#smtp"},[s("span",null,"SMTP")])],-1)),s("p",null,[e[1]||(e[1]=n("By default when no SMTP is specified, ")),e[2]||(e[2]=s("em",null,"NotifyBC",-1)),e[3]||(e[3]=n(" uses fake SMTP service ")),e[4]||(e[4]=s("a",{href:"https://ethereal.email/",target:"_blank",rel:"noopener noreferrer"},"Ethereal",-1)),e[5]||(e[5]=n(". Ethereal is only good for evaluation purpose as emails sent from ")),e[6]||(e[6]=s("em",null,"NotifyBC",-1)),e[7]||(e[7]=n(" are delivered to Ethereal rather than actual recipients. You can access the emails from Ethereal. ")),e[8]||(e[8]=s("em",null,"NotifyBC",-1)),e[9]||(e[9]=n(" automatically generates the Ethereal account first time and stores the account information in ")),i(t,{to:"/docs/api/config.html"},{default:o(()=>e[0]||(e[0]=[n("configuration")])),_:1}),e[10]||(e[10]=n(" under name ")),e[11]||(e[11]=s("em",null,"etherealAccount",-1)),e[12]||(e[12]=n(" accessible from ")),e[13]||(e[13]=s("em",null,"NotifyBC",-1)),e[14]||(e[14]=n(" web console."))]),e[26]||(e[26]=a(`

For production however, setting up SMTP is mandatory. To do so, add following smtp config to src/config.local.js

module.exports = {
   //...
   email: {
     smtp: {
@@ -11,7 +11,7 @@ import{_ as r,c as p,a as s,f as n,b as i,d as o,e as a,r as c,o as u}from"./app
     },
   },
 };
-
`,2)),s("p",null,[e[16]||(e[16]=n("Check out ")),e[17]||(e[17]=s("a",{href:"https://nodemailer.com/smtp/",target:"_blank",rel:"noopener noreferrer"},"Nodemailer",-1)),e[18]||(e[18]=n(" for other config options that you can define. Fine-tuning some options are critical for performance. See ")),i(t,{to:"/docs/benchmarks/#advices"},{default:o(()=>e[15]||(e[15]=[n("benchmark advices")])),_:1}),e[19]||(e[19]=n("."))]),e[27]||(e[27]=a(`

Throttle

NotifyBC can throttle email requests if SMTP server imposes rate limit. To enable throttle and set rate limit, create following config in file /src/config.local.js

module.exports = {
+
`,2)),s("p",null,[e[16]||(e[16]=n("Check out ")),e[17]||(e[17]=s("a",{href:"https://nodemailer.com/smtp/",target:"_blank",rel:"noopener noreferrer"},"Nodemailer",-1)),e[18]||(e[18]=n(" for other config options that you can define. Fine-tuning some options are critical for performance. See ")),i(t,{to:"/docs/benchmarks/#advices"},{default:o(()=>e[15]||(e[15]=[n("benchmark advices")])),_:1}),e[19]||(e[19]=n("."))]),e[27]||(e[27]=a(`

Throttle

NotifyBC can throttle email requests if SMTP server imposes rate limit. To enable throttle and set rate limit, create following config in file src/config.local.js

module.exports = {
   email: {
     throttle: {
       enabled: true,
@@ -20,7 +20,7 @@ import{_ as r,c as p,a as s,f as n,b as i,d as o,e as a,r as c,o as u}from"./app
     },
   },
 };
-

where

  • enabled - whether to enable throttle or not. Default to false.
  • max - max numbers of requests per duration. Default to 4.
  • duration - time span in ms. Default to 1000.

Above config throttles email to 4/sec.

Inbound SMTP Server

NotifyBC implemented an inbound SMTP server to handle

In order for the emails from internet to reach the SMTP server, a host where one of the following servers should be listening on port 25 open to internet

  1. NotifyBC, if it can be installed on such internet-facing host directly; otherwise,
  2. a tcp proxy server, such as nginx with stream proxy module that can proxy tcp port 25 traffic to backend NotifyBC instances.

Regardless which above option is chosen, you need to config NotifyBC inbound SMTP server by adding following static config email.inboundSmtpServer to file /src/config.local.js

module.exports = {
+

where

  • enabled - whether to enable throttle or not. Default to false.
  • max - max numbers of requests per duration. Default to 4.
  • duration - time span in ms. Default to 1000.

Above config throttles email to 4/sec.

Inbound SMTP Server

NotifyBC implemented an inbound SMTP server to handle

In order for the emails from internet to reach the SMTP server, a host where one of the following servers should be listening on port 25 open to internet

  1. NotifyBC, if it can be installed on such internet-facing host directly; otherwise,
  2. a tcp proxy server, such as nginx with stream proxy module that can proxy tcp port 25 traffic to backend NotifyBC instances.

Regardless which above option is chosen, you need to config NotifyBC inbound SMTP server by adding following static config email.inboundSmtpServer to file src/config.local.js

module.exports = {
   email: {
     inboundSmtpServer: {
       enabled: true,
@@ -42,7 +42,7 @@ import{_ as r,c as p,a as s,f as n,b as i,d as o,e as a,r as c,o as u}from"./app
         proxy_connect_timeout 10s;
     }
 }
-

Replace \${INBOUND_SMTP_DOMAIN} with the inbound SMTP server route domain.

Bounce

Bounces, or Non-Delivery Reports (NDRs), are system-generated emails informing sender of failed delivery. NotifyBC can be configured to receive bounces, record bounces, and automatically unsubscribe all subscriptions of a recipient if the number of recorded hard bounces against the recipient exceeds threshold. A deemed successful notification delivery deletes the bounce record.

Although NotifyBC records all bounce emails, not all of them should count towards unsubscription threshold, but rather only the hard bounces - those which indicate permanent unrecoverable errors such as destination address no longer exists. In principle this can be distinguished using smtp response code. In practice, however, there are some challenges to make the distinction

  • the smtp response code is not fully standardized and may vary by recipient's smtp server so it's unreliable
  • there is no standard smtp header in bounce email to contain smtp response code. Often the response code is embedded in bounce email body.
  • the bounce email template varies by sender's smtp server

To mitigate, NotifyBC defines several customizable string pattern filters in terms of regular expression. Only bounce emails matched the filters count towards unsubscription threshold. It's a matter of trial-and-error to get the correct filter suitable to your smtp server.

to improve hard bounce recognition

Send non-existing emails to several external email systems. Inspect the bounce messages for common string patterns. After gone live, review bounce records in web console from time to time to identify new bounce types and decide whether the bounce types qualify as hard bounce. To avoid false positives resulting in premature unsubscription, it is advisable to start with a high unsubscription threshold.

Bounce handling involves four actions

  • during notification dispatching, envelop address is set to a VERP in the form bn-{subscriptionId}-{unsubscriptionCode}@{inboundSmtpServerDomain} routed to NotifyBC inbound smtp server.
  • when a notification finished dispatching, the dispatching start and end time is recorded to all bounce records matching affects recipient addresses
  • when inbound smtp server receives a bounce message, it updates the bounce record by saving the message and incrementing the hard bounce count when the message matches the filter criteria. The filter criteria are regular expressions matched against bounce email subject and body, as well as regular expression to extract recipient's email address from bounce email body. It also unsubscribes the user from all subscriptions when the hard bounce count exceeds a predefined threshold.
  • A cron job runs periodically to delete bounce records if the latest notification is deemed delivered successfully.

To setup bounce handling

`,29)),s("ul",null,[e[23]||(e[23]=a(`
  • set up inbound smtp server

  • verify config email.bounce.enabled is set to true or absent in /src/config.local.js

  • verify and adjust unsubscription threshold and bounce filter criteria if needed. Following is the default config in file /src/config.ts compatible with rfc 3464

    module.exports = {
    +

    Replace \${INBOUND_SMTP_DOMAIN} with the inbound SMTP server route domain.

    Bounce

    Bounces, or Non-Delivery Reports (NDRs), are system-generated emails informing sender of failed delivery. NotifyBC can be configured to receive bounces, record bounces, and automatically unsubscribe all subscriptions of a recipient if the number of recorded hard bounces against the recipient exceeds threshold. A deemed successful notification delivery deletes the bounce record.

    Although NotifyBC records all bounce emails, not all of them should count towards unsubscription threshold, but rather only the hard bounces - those which indicate permanent unrecoverable errors such as destination address no longer exists. In principle this can be distinguished using smtp response code. In practice, however, there are some challenges to make the distinction

    • the smtp response code is not fully standardized and may vary by recipient's smtp server so it's unreliable
    • there is no standard smtp header in bounce email to contain smtp response code. Often the response code is embedded in bounce email body.
    • the bounce email template varies by sender's smtp server

    To mitigate, NotifyBC defines several customizable string pattern filters in terms of regular expression. Only bounce emails matched the filters count towards unsubscription threshold. It's a matter of trial-and-error to get the correct filter suitable to your smtp server.

    to improve hard bounce recognition

    Send non-existing emails to several external email systems. Inspect the bounce messages for common string patterns. After gone live, review bounce records in web console from time to time to identify new bounce types and decide whether the bounce types qualify as hard bounce. To avoid false positives resulting in premature unsubscription, it is advisable to start with a high unsubscription threshold.

    Bounce handling involves four actions

    • during notification dispatching, envelop address is set to a VERP in the form bn-{subscriptionId}-{unsubscriptionCode}@{inboundSmtpServerDomain} routed to NotifyBC inbound smtp server.
    • when a notification finished dispatching, the dispatching start and end time is recorded to all bounce records matching affects recipient addresses
    • when inbound smtp server receives a bounce message, it updates the bounce record by saving the message and incrementing the hard bounce count when the message matches the filter criteria. The filter criteria are regular expressions matched against bounce email subject and body, as well as regular expression to extract recipient's email address from bounce email body. It also unsubscribes the user from all subscriptions when the hard bounce count exceeds a predefined threshold.
    • A cron job runs periodically to delete bounce records if the latest notification is deemed delivered successfully.

    To setup bounce handling

    `,29)),s("ul",null,[e[23]||(e[23]=a(`
  • set up inbound smtp server

  • verify config email.bounce.enabled is set to true or absent in src/config.local.js

  • verify and adjust unsubscription threshold and bounce filter criteria if needed. Following is the default config in file src/config.ts compatible with rfc 3464

    module.exports = {
       email: {
         bounce: {
           enabled: true,
    @@ -54,7 +54,7 @@ import{_ as r,c as p,a as s,f as n,b as i,d as o,e as a,r as c,o as u}from"./app
         },
       },
     };
    -

    where

    • unsubThreshold is the threshold of hard bounce count above which the user is unsubscribed from all subscriptions

    • subjectRegex is the regular expression that bounce message subject must match in order to count towards the threshold. If subjectRegex is set to empty string or undefined, then this filter is disabled.

    • smtpStatusCodeRegex is the regular expression that smtp status code embedded in the message body must match in order to count towards the threshold. The default value matches all rfc3463 class 5 status codes. For a multi-part bounce message, the body limits to the one of the following parts by content type in descending order

      • message/delivery-status
      • html
      • plain text
    • failedRecipientRegex is the regular expression used to extract recipient's email address from bounce message body. This extracted recipient's email address is compared against the subscription record as a means of validation. If failedRecipientRegex is set to empty string or undefined, then this validation method is skipped. The default RegEx is taken from a stackoverflow answer. For a multi-part bounce message, the body limits to the one of the following parts by content type in descending order

      • message/delivery-status
      • html
      • plain text
  • `,3)),s("li",null,[s("p",null,[e[21]||(e[21]=n("Change config of cron job ")),i(t,{to:"/docs/config-cronJobs/#delete-notification-bounces"},{default:o(()=>e[20]||(e[20]=[n("Delete Notification Bounces")])),_:1}),e[22]||(e[22]=n(" if needed"))])])]),e[28]||(e[28]=s("h2",{id:"list-unsubscribe-by-email",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#list-unsubscribe-by-email"},[s("span",null,"List-unsubscribe by Email")])],-1)),e[29]||(e[29]=s("p",null,"Some email clients provide a consistent UI to unsubscribe if an unsubscription email address is supplied. For example, newer iOS built-in email app will display following banner",-1)),s("img",{src:l.$withBase("/img/list-unsubscription.png"),alt:"list unsubscription"},null,8,m),e[30]||(e[30]=a(`

    To support this unsubscription method, NotifyBC implements a custom inbound SMTP server to transform received emails sent to address un-{subscriptionId}-{unsubscriptionCode}@{inboundSmtpServerDomain} to NotifyBC unsubscribing API calls. This unsubscription email address is generated by NotifyBC and set in header List-Unsubscribe of all notification emails.

    To enable list-unsubscribe by email

    • set up inbound smtp server
    • verify config email.listUnsubscribeByEmail.enabled is set to true or absent in /src/config.local.js

    To disable list-unsubscribe by email, set email.listUnsubscribeByEmail.enabled to false in /src/config.local.js

    module.exports = {
    +

    where

    • unsubThreshold is the threshold of hard bounce count above which the user is unsubscribed from all subscriptions

    • subjectRegex is the regular expression that bounce message subject must match in order to count towards the threshold. If subjectRegex is set to empty string or undefined, then this filter is disabled.

    • smtpStatusCodeRegex is the regular expression that smtp status code embedded in the message body must match in order to count towards the threshold. The default value matches all rfc3463 class 5 status codes. For a multi-part bounce message, the body limits to the one of the following parts by content type in descending order

      • message/delivery-status
      • html
      • plain text
    • failedRecipientRegex is the regular expression used to extract recipient's email address from bounce message body. This extracted recipient's email address is compared against the subscription record as a means of validation. If failedRecipientRegex is set to empty string or undefined, then this validation method is skipped. The default RegEx is taken from a stackoverflow answer. For a multi-part bounce message, the body limits to the one of the following parts by content type in descending order

      • message/delivery-status
      • html
      • plain text
    `,3)),s("li",null,[s("p",null,[e[21]||(e[21]=n("Change config of cron job ")),i(t,{to:"/docs/config-cronJobs/#delete-notification-bounces"},{default:o(()=>e[20]||(e[20]=[n("Delete Notification Bounces")])),_:1}),e[22]||(e[22]=n(" if needed"))])])]),e[28]||(e[28]=s("h2",{id:"list-unsubscribe-by-email",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#list-unsubscribe-by-email"},[s("span",null,"List-unsubscribe by Email")])],-1)),e[29]||(e[29]=s("p",null,"Some email clients provide a consistent UI to unsubscribe if an unsubscription email address is supplied. For example, newer iOS built-in email app will display following banner",-1)),s("img",{src:l.$withBase("/img/list-unsubscription.png"),alt:"list unsubscription"},null,8,m),e[30]||(e[30]=a(`

    To support this unsubscription method, NotifyBC implements a custom inbound SMTP server to transform received emails sent to address un-{subscriptionId}-{unsubscriptionCode}@{inboundSmtpServerDomain} to NotifyBC unsubscribing API calls. This unsubscription email address is generated by NotifyBC and set in header List-Unsubscribe of all notification emails.

    To enable list-unsubscribe by email

    • set up inbound smtp server
    • verify config email.listUnsubscribeByEmail.enabled is set to true or absent in src/config.local.js

    To disable list-unsubscribe by email, set email.listUnsubscribeByEmail.enabled to false in src/config.local.js

    module.exports = {
       email: {
         listUnsubscribeByEmail: { enabled: false },
       },
    diff --git a/version/6.0/assets/index.html-PwhQMeYJ.js b/version/6.0/assets/index.html-B42HCWoF.js
    similarity index 94%
    rename from version/6.0/assets/index.html-PwhQMeYJ.js
    rename to version/6.0/assets/index.html-B42HCWoF.js
    index 23a8de5d1..d810db5be 100644
    --- a/version/6.0/assets/index.html-PwhQMeYJ.js
    +++ b/version/6.0/assets/index.html-B42HCWoF.js
    @@ -1 +1 @@
    -import{_ as t,c as o,e as r,o as n}from"./app-chHFUe1n.js";const s={};function c(a,e){return n(),o("div",null,e[0]||(e[0]=[r('

    Worker Process Count

    When NotifyBC runs on a node with multiple CPUs, by default it creates a cluster of worker processes of which the count matches CPU count. You can override the number with the environment variable NOTIFYBC_WORKER_PROCESS_COUNT.

    A note about worker process count on OpenShift

    It has been observed that on OpenShift Node.js returns incorrect CPU count. The template therefore sets NOTIFYBC_WORKER_PROCESS_COUNT to 1. After all, on OpenShift NotifyBC is expected to be horizontally scaled by pods rather by CPUs.

    ',3)]))}const h=t(s,[["render",c],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/docs/config-workerProcessCount/","title":"Worker Process Count","lang":"en-US","frontmatter":{"permalink":"/docs/config-workerProcessCount/"},"headers":[],"git":{},"filePathRelative":"docs/config/workerProcessCount.md"}');export{h as comp,l as data}; +import{_ as t,c as o,e as r,o as n}from"./app-vBJoMoyQ.js";const s={};function c(a,e){return n(),o("div",null,e[0]||(e[0]=[r('

    Worker Process Count

    When NotifyBC runs on a node with multiple CPUs, by default it creates a cluster of worker processes of which the count matches CPU count. You can override the number with the environment variable NOTIFYBC_WORKER_PROCESS_COUNT.

    A note about worker process count on OpenShift

    It has been observed that on OpenShift Node.js returns incorrect CPU count. The template therefore sets NOTIFYBC_WORKER_PROCESS_COUNT to 1. After all, on OpenShift NotifyBC is expected to be horizontally scaled by pods rather by CPUs.

    ',3)]))}const h=t(s,[["render",c],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/docs/config-workerProcessCount/","title":"Worker Process Count","lang":"en-US","frontmatter":{"permalink":"/docs/config-workerProcessCount/"},"headers":[],"git":{},"filePathRelative":"docs/config/workerProcessCount.md"}');export{h as comp,l as data}; diff --git a/version/6.0/assets/index.html-glE75LIR.js b/version/6.0/assets/index.html-BADHYC82.js similarity index 99% rename from version/6.0/assets/index.html-glE75LIR.js rename to version/6.0/assets/index.html-BADHYC82.js index c87b2e1e0..a1dc0d7de 100644 --- a/version/6.0/assets/index.html-glE75LIR.js +++ b/version/6.0/assets/index.html-BADHYC82.js @@ -1 +1 @@ -import{_ as o,c as n,e as r,a as i,f as t,b as a,d as s,r as d,o as h}from"./app-chHFUe1n.js";const v={};function p(u,e){const l=d("RouteLink");return h(),n("div",null,[e[20]||(e[20]=r('

    What's New

    NotifyBC uses semantic versioning.

    v6

    ',3)),i("p",null,[e[1]||(e[1]=t("See ")),a(l,{to:"/docs/upgrade/#v5-to-v6"},{default:s(()=>e[0]||(e[0]=[t("Upgrade Guide")])),_:1}),e[2]||(e[2]=t(" for more information."))]),e[21]||(e[21]=r('
    • Issue #89 Replaced Bottleneck with BullMQ
    • Redis is required
    • Bitnami Redis Helm chart is updated from version 16.13.2 to 20.4.1, with corresponding Redis from 6.2.7 to 7.4.1
    • Bitnami MongoDB Helm chart is updated from version 14.3.2 to 16.3.3, with corresponding MongoDB from 7.0.4 to 8.0.4
    • Added loggingLevels config
    • Changed default smtp service from localhost to Ethereal

    v5

    v5.1.0

    • Issue #85: added health check
    • Changed package manager from yarn to npm

    v5.0.0

    ',5)),i("p",null,[e[4]||(e[4]=t("See ")),a(l,{to:"/docs/upgrade/#v4-to-v5"},{default:s(()=>e[3]||(e[3]=[t("Upgrade Guide")])),_:1}),e[5]||(e[5]=t(" for more information."))]),e[22]||(e[22]=r('
    • Runs on NestJS
    • Bitnami MongoDB Helm chart is updated from version 10.7.1 to 14.3.2, with corresponding MongoDB from 4.4 to 7.0.4
    • Bitnami Redis Helm chart is updated from version 14.7.2 to 16.13.2, with corresponding Redis from 6.2.4 to 6.2.7

    Why v5?

    NotifyBC was built on LoopBack since the beginning. While Loopback is an awesome framework at the time, it is evident by 2022 Loopback is no longer actively maintained

    1. features such as GraphQL have been in experimental state for years
    2. recent commits are mostly chores rather than enhancements
    3. core developers have ceased to contribute

    To pave the way for future growth, switching platform becomes necessary. NestJS was chosen because

    1. both NestJS and Loopback are server-side Node.js frameworks
    2. NestJS has the closest feature set as Loopback. To a large extent NestJS is a superset of Loopback
    3. NestJS incorporates more technologies

    v4

    v4.1.0

    • Issue #50: Email message throttle
    • applied sms throttle to all sms messages rather than just broadcast push notification.
    • docs updates

    v4.0.0

    ',6)),i("p",null,[e[7]||(e[7]=t("See ")),a(l,{to:"/docs/upgrade/#v3-to-v4"},{default:s(()=>e[6]||(e[6]=[t("v3 to v4 upgrade guide")])),_:1}),e[8]||(e[8]=t(" for more information."))]),e[23]||(e[23]=r('
    • Issue #48: SMS message throttle
    • Re-ordered config file precedence
    • Re-organized Email and SMS configs
    • docs updates

    v3

    v3.1.0

    • Issue #45: Reliability - Log skipped dispatches for broadcast push notifications
    • docs updates

    v3.0.0

    ',5)),i("p",null,[e[10]||(e[10]=t("See ")),a(l,{to:"/docs/upgrade/#v2-to-v3"},{default:s(()=>e[9]||(e[9]=[t("v2 to v3 upgrade guide")])),_:1}),e[11]||(e[11]=t(" for more information."))]),e[24]||(e[24]=r('

    v2

    v2.9.0

    • Issue #34: Helm - add k8s cronJob to backup MongoDB
    • docs updates

    v2.8.0

    • Issue #28: Allow subscription data be used by mail merge dynamic tokens
    • Issue #32: Allow escape mail merge delimiter
    • docs updates

    v2.7.0

    • Issue #26: Allow filter specified in a notification
    • docs updates

    v2.6.0

    • Helm chart updates
    • docs updates

    v2.5.0

    ',11)),i("ul",null,[i("li",null,[e[13]||(e[13]=t("added ")),e[14]||(e[14]=i("a",{href:"https://github.com/bcgov/NotifyBC/tree/main/helm",target:"_blank",rel:"noopener noreferrer"},"helm chart",-1)),e[15]||(e[15]=t(". See ")),a(l,{to:"/docs/miscellaneous/upgrade.html#openshift-template-to-helm"},{default:s(()=>e[12]||(e[12]=[t("OpenShift template to Helm upgrade guide")])),_:1})]),e[16]||(e[16]=i("li",null,"docs updates",-1))]),e[25]||(e[25]=r('

    v2.4.0

    • Issue #16: Support client certificate authentication
    • misc web console adjustments
    • docs updates

    v2.3.0

    • Issue #15: Support OIDC authentication for both admin and non-admin user
    • misc web console adjustments
    • docs updates

    v2.2.0

    • Issue #14: Support Administrator login, changing password, obtain access token in web console
    • misc web console adjustments
    • docs updates

    v2.1.0

    • Issue #13: Upgraded Vuetify from v0.16.9 to v2.4.3
    • misc web console adjustments
    • docs updates

    v2.0.0

    ',9)),i("p",null,[e[18]||(e[18]=t("See ")),a(l,{to:"/docs/upgrade/#v1-to-v2"},{default:s(()=>e[17]||(e[17]=[t("Upgrade Guide")])),_:1}),e[19]||(e[19]=t(" for more information."))]),e[26]||(e[26]=r('
    • Runs on LoopBack v4
    • All code is converted to TypeScript
    • Upgraded OAS from v2 to v3
    • Docs is converted from Jekyll to VuePress

    Why v2?

    NotifyBC has been built on Node.js LoopBack framework since 2016. LoopBack v4, which was released in 2019, is backward incompatible. To keep software stack up-to-date, unless rewriting from scratch, it is necessary to port NotifyBC to LoopBack v4. Great care has been taken to minimize upgrade effort.

    ',2))])}const c=o(v,[["render",p],["__file","index.html.vue"]]),m=JSON.parse(`{"path":"/docs/what's-new/","title":"What's New","lang":"en-US","frontmatter":{"permalink":"/docs/what's-new/","next":"/docs/config-overview/"},"headers":[{"level":2,"title":"v6","slug":"v6","link":"#v6","children":[]},{"level":2,"title":"v5","slug":"v5","link":"#v5","children":[{"level":3,"title":"v5.1.0","slug":"v5-1-0","link":"#v5-1-0","children":[]},{"level":3,"title":"v5.0.0","slug":"v5-0-0","link":"#v5-0-0","children":[]}]},{"level":2,"title":"v4","slug":"v4","link":"#v4","children":[{"level":3,"title":"v4.1.0","slug":"v4-1-0","link":"#v4-1-0","children":[]},{"level":3,"title":"v4.0.0","slug":"v4-0-0","link":"#v4-0-0","children":[]}]},{"level":2,"title":"v3","slug":"v3","link":"#v3","children":[{"level":3,"title":"v3.1.0","slug":"v3-1-0","link":"#v3-1-0","children":[]},{"level":3,"title":"v3.0.0","slug":"v3-0-0","link":"#v3-0-0","children":[]}]},{"level":2,"title":"v2","slug":"v2","link":"#v2","children":[{"level":3,"title":"v2.9.0","slug":"v2-9-0","link":"#v2-9-0","children":[]},{"level":3,"title":"v2.8.0","slug":"v2-8-0","link":"#v2-8-0","children":[]},{"level":3,"title":"v2.7.0","slug":"v2-7-0","link":"#v2-7-0","children":[]},{"level":3,"title":"v2.6.0","slug":"v2-6-0","link":"#v2-6-0","children":[]},{"level":3,"title":"v2.5.0","slug":"v2-5-0","link":"#v2-5-0","children":[]},{"level":3,"title":"v2.4.0","slug":"v2-4-0","link":"#v2-4-0","children":[]},{"level":3,"title":"v2.3.0","slug":"v2-3-0","link":"#v2-3-0","children":[]},{"level":3,"title":"v2.2.0","slug":"v2-2-0","link":"#v2-2-0","children":[]},{"level":3,"title":"v2.1.0","slug":"v2-1-0","link":"#v2-1-0","children":[]},{"level":3,"title":"v2.0.0","slug":"v2-0-0","link":"#v2-0-0","children":[]}]}],"git":{},"filePathRelative":"docs/getting-started/what's-new.md"}`);export{c as comp,m as data}; +import{_ as o,c as n,e as r,a as i,f as t,b as a,d as s,r as d,o as h}from"./app-vBJoMoyQ.js";const v={};function p(u,e){const l=d("RouteLink");return h(),n("div",null,[e[20]||(e[20]=r('

    What's New

    NotifyBC uses semantic versioning.

    v6

    ',3)),i("p",null,[e[1]||(e[1]=t("See ")),a(l,{to:"/docs/upgrade/#v5-to-v6"},{default:s(()=>e[0]||(e[0]=[t("Upgrade Guide")])),_:1}),e[2]||(e[2]=t(" for more information."))]),e[21]||(e[21]=r('
    • Issue #89 Replaced Bottleneck with BullMQ
    • Redis is required
    • Bitnami Redis Helm chart is updated from version 16.13.2 to 20.4.1, with corresponding Redis from 6.2.7 to 7.4.1
    • Bitnami MongoDB Helm chart is updated from version 14.3.2 to 16.3.3, with corresponding MongoDB from 7.0.4 to 8.0.4
    • Added loggingLevels config
    • Changed default smtp service from localhost to Ethereal

    v5

    v5.1.0

    • Issue #85: added health check
    • Changed package manager from yarn to npm

    v5.0.0

    ',5)),i("p",null,[e[4]||(e[4]=t("See ")),a(l,{to:"/docs/upgrade/#v4-to-v5"},{default:s(()=>e[3]||(e[3]=[t("Upgrade Guide")])),_:1}),e[5]||(e[5]=t(" for more information."))]),e[22]||(e[22]=r('
    • Runs on NestJS
    • Bitnami MongoDB Helm chart is updated from version 10.7.1 to 14.3.2, with corresponding MongoDB from 4.4 to 7.0.4
    • Bitnami Redis Helm chart is updated from version 14.7.2 to 16.13.2, with corresponding Redis from 6.2.4 to 6.2.7

    Why v5?

    NotifyBC was built on LoopBack since the beginning. While Loopback is an awesome framework at the time, it is evident by 2022 Loopback is no longer actively maintained

    1. features such as GraphQL have been in experimental state for years
    2. recent commits are mostly chores rather than enhancements
    3. core developers have ceased to contribute

    To pave the way for future growth, switching platform becomes necessary. NestJS was chosen because

    1. both NestJS and Loopback are server-side Node.js frameworks
    2. NestJS has the closest feature set as Loopback. To a large extent NestJS is a superset of Loopback
    3. NestJS incorporates more technologies

    v4

    v4.1.0

    • Issue #50: Email message throttle
    • applied sms throttle to all sms messages rather than just broadcast push notification.
    • docs updates

    v4.0.0

    ',6)),i("p",null,[e[7]||(e[7]=t("See ")),a(l,{to:"/docs/upgrade/#v3-to-v4"},{default:s(()=>e[6]||(e[6]=[t("v3 to v4 upgrade guide")])),_:1}),e[8]||(e[8]=t(" for more information."))]),e[23]||(e[23]=r('
    • Issue #48: SMS message throttle
    • Re-ordered config file precedence
    • Re-organized Email and SMS configs
    • docs updates

    v3

    v3.1.0

    • Issue #45: Reliability - Log skipped dispatches for broadcast push notifications
    • docs updates

    v3.0.0

    ',5)),i("p",null,[e[10]||(e[10]=t("See ")),a(l,{to:"/docs/upgrade/#v2-to-v3"},{default:s(()=>e[9]||(e[9]=[t("v2 to v3 upgrade guide")])),_:1}),e[11]||(e[11]=t(" for more information."))]),e[24]||(e[24]=r('

    v2

    v2.9.0

    • Issue #34: Helm - add k8s cronJob to backup MongoDB
    • docs updates

    v2.8.0

    • Issue #28: Allow subscription data be used by mail merge dynamic tokens
    • Issue #32: Allow escape mail merge delimiter
    • docs updates

    v2.7.0

    • Issue #26: Allow filter specified in a notification
    • docs updates

    v2.6.0

    • Helm chart updates
    • docs updates

    v2.5.0

    ',11)),i("ul",null,[i("li",null,[e[13]||(e[13]=t("added ")),e[14]||(e[14]=i("a",{href:"https://github.com/bcgov/NotifyBC/tree/main/helm",target:"_blank",rel:"noopener noreferrer"},"helm chart",-1)),e[15]||(e[15]=t(". See ")),a(l,{to:"/docs/miscellaneous/upgrade.html#openshift-template-to-helm"},{default:s(()=>e[12]||(e[12]=[t("OpenShift template to Helm upgrade guide")])),_:1})]),e[16]||(e[16]=i("li",null,"docs updates",-1))]),e[25]||(e[25]=r('

    v2.4.0

    • Issue #16: Support client certificate authentication
    • misc web console adjustments
    • docs updates

    v2.3.0

    • Issue #15: Support OIDC authentication for both admin and non-admin user
    • misc web console adjustments
    • docs updates

    v2.2.0

    • Issue #14: Support Administrator login, changing password, obtain access token in web console
    • misc web console adjustments
    • docs updates

    v2.1.0

    • Issue #13: Upgraded Vuetify from v0.16.9 to v2.4.3
    • misc web console adjustments
    • docs updates

    v2.0.0

    ',9)),i("p",null,[e[18]||(e[18]=t("See ")),a(l,{to:"/docs/upgrade/#v1-to-v2"},{default:s(()=>e[17]||(e[17]=[t("Upgrade Guide")])),_:1}),e[19]||(e[19]=t(" for more information."))]),e[26]||(e[26]=r('
    • Runs on LoopBack v4
    • All code is converted to TypeScript
    • Upgraded OAS from v2 to v3
    • Docs is converted from Jekyll to VuePress

    Why v2?

    NotifyBC has been built on Node.js LoopBack framework since 2016. LoopBack v4, which was released in 2019, is backward incompatible. To keep software stack up-to-date, unless rewriting from scratch, it is necessary to port NotifyBC to LoopBack v4. Great care has been taken to minimize upgrade effort.

    ',2))])}const c=o(v,[["render",p],["__file","index.html.vue"]]),m=JSON.parse(`{"path":"/docs/what's-new/","title":"What's New","lang":"en-US","frontmatter":{"permalink":"/docs/what's-new/","next":"/docs/config-overview/"},"headers":[{"level":2,"title":"v6","slug":"v6","link":"#v6","children":[]},{"level":2,"title":"v5","slug":"v5","link":"#v5","children":[{"level":3,"title":"v5.1.0","slug":"v5-1-0","link":"#v5-1-0","children":[]},{"level":3,"title":"v5.0.0","slug":"v5-0-0","link":"#v5-0-0","children":[]}]},{"level":2,"title":"v4","slug":"v4","link":"#v4","children":[{"level":3,"title":"v4.1.0","slug":"v4-1-0","link":"#v4-1-0","children":[]},{"level":3,"title":"v4.0.0","slug":"v4-0-0","link":"#v4-0-0","children":[]}]},{"level":2,"title":"v3","slug":"v3","link":"#v3","children":[{"level":3,"title":"v3.1.0","slug":"v3-1-0","link":"#v3-1-0","children":[]},{"level":3,"title":"v3.0.0","slug":"v3-0-0","link":"#v3-0-0","children":[]}]},{"level":2,"title":"v2","slug":"v2","link":"#v2","children":[{"level":3,"title":"v2.9.0","slug":"v2-9-0","link":"#v2-9-0","children":[]},{"level":3,"title":"v2.8.0","slug":"v2-8-0","link":"#v2-8-0","children":[]},{"level":3,"title":"v2.7.0","slug":"v2-7-0","link":"#v2-7-0","children":[]},{"level":3,"title":"v2.6.0","slug":"v2-6-0","link":"#v2-6-0","children":[]},{"level":3,"title":"v2.5.0","slug":"v2-5-0","link":"#v2-5-0","children":[]},{"level":3,"title":"v2.4.0","slug":"v2-4-0","link":"#v2-4-0","children":[]},{"level":3,"title":"v2.3.0","slug":"v2-3-0","link":"#v2-3-0","children":[]},{"level":3,"title":"v2.2.0","slug":"v2-2-0","link":"#v2-2-0","children":[]},{"level":3,"title":"v2.1.0","slug":"v2-1-0","link":"#v2-1-0","children":[]},{"level":3,"title":"v2.0.0","slug":"v2-0-0","link":"#v2-0-0","children":[]}]}],"git":{},"filePathRelative":"docs/getting-started/what's-new.md"}`);export{c as comp,m as data}; diff --git a/version/6.0/assets/index.html-Cm83A0J9.js b/version/6.0/assets/index.html-BBNQa4oG.js similarity index 85% rename from version/6.0/assets/index.html-Cm83A0J9.js rename to version/6.0/assets/index.html-BBNQa4oG.js index 59fd596a3..a01012bd0 100644 --- a/version/6.0/assets/index.html-Cm83A0J9.js +++ b/version/6.0/assets/index.html-BBNQa4oG.js @@ -1,4 +1,4 @@ -import{_ as a,c as i,e as o,a as t,f as n,b as l,d as r,r as p,o as d}from"./app-chHFUe1n.js";const u={};function c(m,e){const s=p("RouteLink");return d(),i("div",null,[e[5]||(e[5]=o(`

    Internal HTTP Host

    By default, HTTP requests submitted by NotifyBC back to itself will be sent to httpHost if defined or the host of the incoming HTTP request that spawns such internal requests. But if config internalHttpHost, which has no default value, is defined, for example in file /src/config.local.js

    module.exports = {
    +import{_ as a,c as i,e as o,a as t,f as n,b as l,d as r,r as p,o as d}from"./app-vBJoMoyQ.js";const u={};function c(m,e){const s=p("RouteLink");return d(),i("div",null,[e[5]||(e[5]=o(`

    Internal HTTP Host

    By default, HTTP requests submitted by NotifyBC back to itself will be sent to httpHost if defined or the host of the incoming HTTP request that spawns such internal requests. But if config internalHttpHost, which has no default value, is defined, for example in file src/config.local.js

    module.exports = {
       internalHttpHost: 'http://notifybc:3000',
     };
     
    `,3)),t("p",null,[e[1]||(e[1]=n("then the HTTP request will be sent to the configured host. An internal request can be generated, for example, by ")),l(s,{to:"/docs/config-cronJobs/"},{default:r(()=>e[0]||(e[0]=[n("cron jobs")])),_:1}),e[2]||(e[2]=n(". ")),e[3]||(e[3]=t("em",null,"internalHttpHost",-1)),e[4]||(e[4]=n(" shouldn't be accessible from internet."))]),e[6]||(e[6]=t("p",null,[n("All internal requests are supposed to be admin requests. The purpose of "),t("em",null,"internalHttpHost"),n(" is to facilitate identifying the internal server ip as admin ip.")],-1)),e[7]||(e[7]=t("div",{class:"hint-container tip"},[t("p",{class:"hint-container-title"},"Kubernetes Use Case"),t("p",null,[n("The Kubernetes deployment script sets "),t("i",null,"internalHttpHost"),n(" to "),t("em",null,"notify-bc-app"),n(" service url in config map. The source ip in such case would be in a private Kubernetes ip range. You should add this private ip range to "),t("a",{href:"../config-adminIpList/"},"admin ip list"),n(". The private ip range varies from Kubernetes installation. In BCGov's OCP4 cluster, it starts with octet 10.")])],-1))])}const h=a(u,[["render",c],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/docs/config-internalHttpHost/","title":"Internal HTTP Host","lang":"en-US","frontmatter":{"permalink":"/docs/config-internalHttpHost/"},"headers":[],"git":{},"filePathRelative":"docs/config/internalHttpHost.md"}');export{h as comp,b as data}; diff --git a/version/6.0/assets/index.html-OOpvX6cd.js b/version/6.0/assets/index.html-BDCdEa0x.js similarity index 97% rename from version/6.0/assets/index.html-OOpvX6cd.js rename to version/6.0/assets/index.html-BDCdEa0x.js index af391329c..8987a97e3 100644 --- a/version/6.0/assets/index.html-OOpvX6cd.js +++ b/version/6.0/assets/index.html-BDCdEa0x.js @@ -1 +1 @@ -import{_ as l,c as p,e as h,a,f as n,b as d,u as i,o as c,r as u}from"./app-chHFUe1n.js";const m={__name:"index.html",setup(o,{expose:e}){e();const t={themeData:i(),get useThemeData(){return i}};return Object.defineProperty(t,"__isScriptSetup",{enumerable:!1,value:!0}),t}},f=["href"];function g(o,e,s,t,v,_){const r=u("ExternalLinkIcon");return c(),p("div",null,[e[3]||(e[3]=h('

    Welcome

    This site aims to be a comprehensive guide to NotifyBC. We’ll cover topics such as getting your instance up and running, interacting with browser or other server components, deployment, and give you some advice on participating in the future development of NotifyBC itself.

    Helpful Hints

    Throughout this guide there are a number of small-but-handy pieces of information that can make using NotifyBC easier, more interesting, and less hazardous. Here’s what to look out for.

    General information

    These are tips and tricks that will help you become a NotifyBC wizard!

    Important information

    These are tidbits you might want to keep in mind.

    Warnings

    Be aware of these messages if you wish to avoid disaster.

    ',7)),a("p",null,[e[1]||(e[1]=n("If you come across anything along the way that we haven’t covered, or if you know of a tip you think others would find handy, please ")),a("a",{target:"_blank",rel:"noopener noreferrer",href:t.themeData.repo+"/issues/new"},[e[0]||(e[0]=n("file an issue")),d(r)],8,f),e[2]||(e[2]=n(" and we’ll see about including it in this guide."))])])}const w=l(m,[["render",g],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/docs/","title":"Welcome","lang":"en-US","frontmatter":{"permalink":"/docs/"},"headers":[{"level":2,"title":"Helpful Hints","slug":"helpful-hints","link":"#helpful-hints","children":[]}],"git":{},"filePathRelative":"docs/getting-started/index.md"}');export{w as comp,b as data}; +import{_ as l,c as p,e as h,a,f as n,b as d,u as i,o as c,r as u}from"./app-vBJoMoyQ.js";const m={__name:"index.html",setup(o,{expose:e}){e();const t={themeData:i(),get useThemeData(){return i}};return Object.defineProperty(t,"__isScriptSetup",{enumerable:!1,value:!0}),t}},f=["href"];function g(o,e,s,t,v,_){const r=u("ExternalLinkIcon");return c(),p("div",null,[e[3]||(e[3]=h('

    Welcome

    This site aims to be a comprehensive guide to NotifyBC. We’ll cover topics such as getting your instance up and running, interacting with browser or other server components, deployment, and give you some advice on participating in the future development of NotifyBC itself.

    Helpful Hints

    Throughout this guide there are a number of small-but-handy pieces of information that can make using NotifyBC easier, more interesting, and less hazardous. Here’s what to look out for.

    General information

    These are tips and tricks that will help you become a NotifyBC wizard!

    Important information

    These are tidbits you might want to keep in mind.

    Warnings

    Be aware of these messages if you wish to avoid disaster.

    ',7)),a("p",null,[e[1]||(e[1]=n("If you come across anything along the way that we haven’t covered, or if you know of a tip you think others would find handy, please ")),a("a",{target:"_blank",rel:"noopener noreferrer",href:t.themeData.repo+"/issues/new"},[e[0]||(e[0]=n("file an issue")),d(r)],8,f),e[2]||(e[2]=n(" and we’ll see about including it in this guide."))])])}const w=l(m,[["render",g],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/docs/","title":"Welcome","lang":"en-US","frontmatter":{"permalink":"/docs/"},"headers":[{"level":2,"title":"Helpful Hints","slug":"helpful-hints","link":"#helpful-hints","children":[]}],"git":{},"filePathRelative":"docs/getting-started/index.md"}');export{w as comp,b as data}; diff --git a/version/6.0/assets/index.html-C-pLR2ty.js b/version/6.0/assets/index.html-BDTHN6ED.js similarity index 77% rename from version/6.0/assets/index.html-C-pLR2ty.js rename to version/6.0/assets/index.html-BDTHN6ED.js index 94c052493..bbd82ec83 100644 --- a/version/6.0/assets/index.html-C-pLR2ty.js +++ b/version/6.0/assets/index.html-BDTHN6ED.js @@ -1,3 +1,3 @@ -import{_ as i,c as o,e as s,a as t,f as n,b as r,d as l,r as d,o as p}from"./app-chHFUe1n.js";const c={};function u(h,e){const a=d("RouteLink");return p(),o("div",null,[e[5]||(e[5]=s(`

    Developer Notes

    Setup development environment

    Install Visual Studio Code and recommended extensions.

    Multiple run configs have been created to facilitate debugging server, client, test and docs.

    Client certificate authentication doesn't work in client debugger

    Because Vue cli webpack dev server cannot proxy passthrough HTTPS connections, client certificate authentication doesn't work in client debugger. If testing client certificate authentication in web console is needed, run npm run build to generate prod client distribution and launch server debugger on https://localhost:3000

    Automated Testing

    NotifyBC uses Jest test framework bundled in NestJS. To launch test, run npm run test:e2e. A Test launch config is provided to debug in VS Code.

    Github Actions runs tests as part of the build. All test scripts should be able to run unattended, headless, quickly and depend only on local resources.

    To run automated testing on Windows, Docker Desktop needs to be running.

    Writing Test Specs

    Thanks to supertest and MongoDB In-Memory Server, test specs can be written to cover nearly end-to-end request processing workflow (only sendMail and sendSMS need to be mocked). This allows test specs to anchor onto business requirements rather than program units such as functions or files, resulting in regression tests that are more resilient to code refactoring. Whenever possible, a test spec should be written to

    • start at a processing phase as early as possible. For example, to test a REST end point, start with the HTTP user request.
    • assert outcome of a processing phase as late and down below as possible - the HTTP response body/code, the database record created, for example.
    • avoid asserting middleware function input/output to facilitate code refactoring.
    • mock email/sms sending function (implemented by default). Inspect the input of the function, or at least assert the function has been called.

    Install Docs Website

    If you want to contribute to NotifyBC docs beyond simple fix ups, run

    cd docs && npm install && npm run dev
    +import{_ as i,c as o,e as s,a as t,f as n,b as r,d as l,r as d,o as p}from"./app-vBJoMoyQ.js";const c={};function u(h,e){const a=d("RouteLink");return p(),o("div",null,[e[5]||(e[5]=s(`

    Developer Notes

    Setup development environment

    Install Visual Studio Code and recommended extensions.

    Multiple run configs have been created to facilitate debugging server, client, test and docs.

    Client certificate authentication doesn't work in client debugger

    Because Vue cli webpack dev server cannot proxy passthrough HTTPS connections, client certificate authentication doesn't work in client debugger. If testing client certificate authentication in web console is needed, run npm run build to generate prod client distribution and launch server debugger on https://localhost:3000

    Automated Testing

    NotifyBC uses Jest test framework bundled in NestJS. To launch test, run npm run test:e2e. A Test launch config is provided to debug in VS Code.

    Github Actions runs tests as part of the build. All test scripts should be able to run unattended, headless, quickly and depend only on local resources.

    To run automated testing on Windows, Docker Desktop needs to be running.

    Writing Test Specs

    Thanks to supertest and MongoDB In-Memory Server, test specs can be written to cover nearly end-to-end request processing workflow (only sendMail and sendSMS need to be mocked). This allows test specs to anchor onto business requirements rather than program units such as functions or files, resulting in regression tests that are more resilient to code refactoring. Whenever possible, a test spec should be written to

    • start at a processing phase as early as possible. For example, to test a REST end point, start with the HTTP user request.
    • assert outcome of a processing phase as late and down below as possible - the HTTP response body/code, the database record created, for example.
    • avoid asserting middleware function input/output to facilitate code refactoring.
    • mock email/sms sending function (implemented by default). Inspect the input of the function, or at least assert the function has been called.

    Install Docs Website

    If you want to contribute to NotifyBC docs beyond simple fix ups, run

    cd docs && npm install && npm run dev
     

    If everything goes well, the last line of the output will be

    > VuePress dev server listening at http://localhost:8080/NotifyBC/
    -

    You can now browse to the local docs site http://localhost:8080/NotifyBC

    Publish Version Checklist

    `,19)),t("ol",null,[e[3]||(e[3]=s("
  • update version in package.json
  • run npm i
  • globally find and replace older version number referenced in docs folder
  • update version appVersion in helm/Chart.yaml (major/minor only)
  • ",4)),t("li",null,[e[1]||(e[1]=n("update ")),r(a,{to:"/docs/getting-started/what's-new.html"},{default:l(()=>e[0]||(e[0]=[n("What's new")])),_:1}),e[2]||(e[2]=n(" (major/minor only)"))]),e[4]||(e[4]=t("li",null,"create a new Github release",-1))])])}const b=i(c,[["render",u],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/docs/developer-notes/","title":"Developer Notes","lang":"en-US","frontmatter":{"permalink":"/docs/developer-notes/"},"headers":[{"level":2,"title":"Setup development environment","slug":"setup-development-environment","link":"#setup-development-environment","children":[]},{"level":2,"title":"Automated Testing","slug":"automated-testing","link":"#automated-testing","children":[{"level":3,"title":"Writing Test Specs","slug":"writing-test-specs","link":"#writing-test-specs","children":[]}]},{"level":2,"title":"Install Docs Website","slug":"install-docs-website","link":"#install-docs-website","children":[]},{"level":2,"title":"Publish Version Checklist","slug":"publish-version-checklist","link":"#publish-version-checklist","children":[]}],"git":{},"filePathRelative":"docs/miscellaneous/developer-notes.md"}');export{b as comp,g as data}; +

    You can now browse to the local docs site http://localhost:8080/NotifyBC

    Publish Version Checklist

    `,19)),t("ol",null,[e[3]||(e[3]=s("
  • update version in package.json
  • run npm i
  • globally find and replace older version number referenced in docs folder wherever appropriate
  • update version appVersion in helm/Chart.yaml (major/minor only)
  • ",4)),t("li",null,[e[1]||(e[1]=n("update ")),r(a,{to:"/docs/getting-started/what's-new.html"},{default:l(()=>e[0]||(e[0]=[n("What's new")])),_:1}),e[2]||(e[2]=n(" (major/minor only)"))]),e[4]||(e[4]=t("li",null,"create a new Github release",-1))])])}const b=i(c,[["render",u],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/docs/developer-notes/","title":"Developer Notes","lang":"en-US","frontmatter":{"permalink":"/docs/developer-notes/"},"headers":[{"level":2,"title":"Setup development environment","slug":"setup-development-environment","link":"#setup-development-environment","children":[]},{"level":2,"title":"Automated Testing","slug":"automated-testing","link":"#automated-testing","children":[{"level":3,"title":"Writing Test Specs","slug":"writing-test-specs","link":"#writing-test-specs","children":[]}]},{"level":2,"title":"Install Docs Website","slug":"install-docs-website","link":"#install-docs-website","children":[]},{"level":2,"title":"Publish Version Checklist","slug":"publish-version-checklist","link":"#publish-version-checklist","children":[]}],"git":{},"filePathRelative":"docs/miscellaneous/developer-notes.md"}');export{b as comp,g as data}; diff --git a/version/6.0/assets/index.html-BVt3dI7v.js b/version/6.0/assets/index.html-BU3r1ams.js similarity index 61% rename from version/6.0/assets/index.html-BVt3dI7v.js rename to version/6.0/assets/index.html-BU3r1ams.js index 200d3690b..c6525e378 100644 --- a/version/6.0/assets/index.html-BVt3dI7v.js +++ b/version/6.0/assets/index.html-BU3r1ams.js @@ -1,6 +1,6 @@ -import{_ as s,c as a,e,o as t}from"./app-chHFUe1n.js";const o={};function p(r,n){return t(),a("div",null,n[0]||(n[0]=[e(`

    Database

    By default NotifyBC uses in-memory database backed up by folder /server/database/ for local and docker deployment and MongoDB for Kubernetes deployment. To use MongoDB for non-Kubernetes deployment, add file /src/datasources/db.datasource.(local|<env>).(json|js|ts) with MongoDB connection information such as following:

    module.exports = {
    +import{_ as s,c as a,e,o}from"./app-vBJoMoyQ.js";const t={};function p(r,n){return o(),a("div",null,n[0]||(n[0]=[e(`

    Database

    By default NotifyBC uses mongodb-memory-server backed up by folder server/database/ for local and docker deployment and a separate MongoDB for Kubernetes deployment. To use a separate MongoDB for non-Kubernetes deployment, add file src/datasources/db.datasource.(local|<env>).(json|js|ts) with MongoDB connection information such as following:

    module.exports = {
       uri: 'mongodb://127.0.0.1:27017/notifyBC?replicaSet=rs0',
       user: process.env.MONGODB_USER,
       pass: process.env.MONGODB_PASSWORD,
     };
    -

    See Mongoose connection options for more configurable properties.

    `,4)]))}const l=s(o,[["render",p],["__file","index.html.vue"]]),i=JSON.parse('{"path":"/docs/config-database/","title":"Database","lang":"en-US","frontmatter":{"permalink":"/docs/config-database/"},"headers":[],"git":{},"filePathRelative":"docs/config/database.md"}');export{l as comp,i as data}; +

    See Mongoose connection options for more configurable properties.

    `,4)]))}const l=s(t,[["render",p],["__file","index.html.vue"]]),i=JSON.parse('{"path":"/docs/config-database/","title":"Database","lang":"en-US","frontmatter":{"permalink":"/docs/config-database/"},"headers":[],"git":{},"filePathRelative":"docs/config/database.md"}');export{l as comp,i as data}; diff --git a/version/6.0/assets/index.html-B96mMr5k.js b/version/6.0/assets/index.html-BY5_8Cvd.js similarity index 84% rename from version/6.0/assets/index.html-B96mMr5k.js rename to version/6.0/assets/index.html-BY5_8Cvd.js index 2e4e918e1..f3d32e34a 100644 --- a/version/6.0/assets/index.html-B96mMr5k.js +++ b/version/6.0/assets/index.html-BY5_8Cvd.js @@ -1,13 +1,13 @@ -import{_ as u,c as d,e,a as s,f as a,t as m,b as i,d as o,u as p,r as v,o as b}from"./app-chHFUe1n.js";const h={__name:"index.html",setup(r,{expose:n}){n();const l={themeData:p(),get useThemeData(){return p}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}};function k(r,n,c,l,g,y){const t=v("RouteLink");return b(),d("div",null,[n[20]||(n[20]=e('

    Installation

    NotifyBC can be installed in 3 ways:

    1. Deploy locally from Source Code
    2. Deploy to Kubernetes
    3. Deploy Docker Container

    For the purpose of evaluation, both source code and docker container will do. For production, the recommendation is one of

    • deploying to Kubernetes
    • setting up a load balanced app cluster from source code build; install MongoDB replica set and Redis with Sentinel separately

    To setup a development environment in order to contribute to NotifyBC, installing from source code is preferred.

    Deploy locally from Source Code

    System Requirements

    ',8)),s("ul",null,[s("li",null,[n[4]||(n[4]=a("Software ")),s("ul",null,[n[1]||(n[1]=s("li",null,"Git",-1)),s("li",null,[n[0]||(n[0]=s("a",{href:"https://nodejs.org",target:"_blank",rel:"noopener noreferrer"},"Node.js",-1)),a("@"+m(l.themeData.packageJson.engines.node),1)]),n[2]||(n[2]=s("li",null,"openssl (if enable HTTPS)",-1)),n[3]||(n[3]=s("li",null,"Docker Desktop on Windows only and for evaluation only",-1))])]),n[5]||(n[5]=e('
  • Services
    • MongoDB with replica set, required for production
    • Redis, required for production
    • A standard SMTP server to deliver outgoing email, required for production if email is enabled.
    • A tcp proxy server such as nginx stream proxy if list-unsubscribe by email is needed and NotifyBC server cannot expose port 25 to internet
    • A SMS service provider if needs to enable SMS channel. The supported service providers are
      • Twilio (default)
      • Swift
    • SiteMinder, if needs SiteMinder authentication
    • An OIDC provider, if needs OIDC authentication
  • Network and Permissions
    • Minimum runtime firewall requirements:
      • outbound to MongoDB if you use a hosted service
      • outbound to Redis if you use a hosted service
      • outbound to your ISP DNS server
      • outbound to any on port 80 and 443 in order to run build scripts and send SMS messages
      • outbound to any on SMTP port 25 if using direct mail; for SMTP relay, outbound to your configured SMTP server and port only
      • inbound to listening port (3000 by default) from other authorized server ips
      • if NotifyBC instance will handle anonymous subscription from client browser, the listening port should be open to internet either directly or indirectly through a reverse proxy; If NotifyBC instance will only handle SiteMinder authenticated webapp requests, the listening port should NOT be open to internet. Instead, it should only open to SiteMinder web agent reverse proxy.
    • If list-unsubscribe by email is needed, then one of the following must be met
      • NotifyBC can bind to port 25 opening to internet
      • a tcp proxy server of which port 25 is open to internet. This proxy server can reach NotifyBC on a tcp port.
  • ',2))]),n[21]||(n[21]=s("h3",{id:"installation-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#installation-1"},[s("span",null,"Installation")])],-1)),n[22]||(n[22]=s("p",null,"Installation approach differs by your purpose",-1)),s("ul",null,[n[19]||(n[19]=e(`
  • for evaluation,

    • internet connection is required
    • Docker Desktop must be running if you localhost is Windows
    • run following commands
      docker run --rm --pull always -dp 6379:6379 redis # only on Windows
      +import{_ as u,c as d,e as a,a as s,f as e,t as m,b as i,d as o,u as p,r as v,o as b}from"./app-vBJoMoyQ.js";const h={__name:"index.html",setup(r,{expose:n}){n();const l={themeData:p(),get useThemeData(){return p}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}};function k(r,n,c,l,g,y){const t=v("RouteLink");return b(),d("div",null,[n[19]||(n[19]=a('

      Installation

      NotifyBC can be installed in 3 ways:

      1. Deploy locally from Source Code
      2. Deploy to Kubernetes
      3. Deploy Docker Container

      For the purpose of evaluation, both source code and docker container will do. For production, the recommendation is one of

      • deploying to Kubernetes
      • setting up a load balanced app cluster from source code build; install MongoDB replica set and Redis with Sentinel separately

      To setup a development environment in order to contribute to NotifyBC, installing from source code is preferred.

      Deploy locally from Source Code

      System Requirements

      ',8)),s("ul",null,[s("li",null,[n[4]||(n[4]=e("Software ")),s("ul",null,[n[1]||(n[1]=s("li",null,"Git",-1)),s("li",null,[n[0]||(n[0]=s("a",{href:"https://nodejs.org",target:"_blank",rel:"noopener noreferrer"},"Node.js",-1)),e("@"+m(l.themeData.packageJson.engines.node),1)]),n[2]||(n[2]=s("li",null,"openssl (if enable HTTPS)",-1)),n[3]||(n[3]=s("li",null,"Docker Desktop on Windows only and for evaluation only",-1))])]),n[5]||(n[5]=a('
    • Services
      • MongoDB with replica set, required for production
      • Redis, required for production
      • A standard SMTP server to deliver outgoing email, required for production if email is enabled.
      • A tcp proxy server such as nginx stream proxy if list-unsubscribe by email is needed and NotifyBC server cannot expose port 25 to internet
      • A SMS service provider if needs to enable SMS channel. The supported service providers are
        • Twilio (default)
        • Swift
      • SiteMinder, if needs SiteMinder authentication
      • An OIDC provider, if needs OIDC authentication
    • Network and Permissions
      • Minimum runtime firewall requirements:
        • outbound to MongoDB if you use a hosted service
        • outbound to Redis if you use a hosted service
        • outbound to your ISP DNS server
        • outbound to any on port 80 and 443 in order to run build scripts and send SMS messages
        • outbound to any on SMTP port 25 if using direct mail; for SMTP relay, outbound to your configured SMTP server and port only
        • inbound to listening port (3000 by default) from other authorized server ips
        • if NotifyBC instance will handle anonymous subscription from client browser, the listening port should be open to internet either directly or indirectly through a reverse proxy; If NotifyBC instance will only handle SiteMinder authenticated webapp requests, the listening port should NOT be open to internet. Instead, it should only open to SiteMinder web agent reverse proxy.
      • If list-unsubscribe by email is needed, then one of the following must be met
        • NotifyBC can bind to port 25 opening to internet
        • a tcp proxy server of which port 25 is open to internet. This proxy server can reach NotifyBC on a tcp port.
    • ',2))]),n[20]||(n[20]=s("h3",{id:"installation-1",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#installation-1"},[s("span",null,"Installation")])],-1)),n[21]||(n[21]=s("p",null,"Installation approach differs by your purpose",-1)),s("ul",null,[n[18]||(n[18]=a(`
    • for evaluation,

      • internet connection is required
      • Docker Desktop must be running if you localhost is Windows
      • run following commands
        docker run --rm --pull always -dp 6379:6379 redis # only on Windows
         git clone https://github.com/bcgov/NotifyBC.git
         cd NotifyBC
         npm i && npm run build
         npx cross-env NOTIFYBC_WORKER_PROCESS_COUNT=1 npm run start
        -
      • wait till console displays Server is running at http://0.0.0.0:3000/api
      • browse to http://localhost:3000
    • `,1)),s("li",null,[n[18]||(n[18]=s("p",null,"for production,",-1)),s("ul",null,[n[15]||(n[15]=s("li",null,"install MongoDB with replica set or obtain a hosted service",-1)),n[16]||(n[16]=s("li",null,"install Redis, preferably with Sentinel or obtain a hosted service",-1)),s("li",null,[n[7]||(n[7]=a("follow ")),i(t,{to:"/docs/config/database.html"},{default:o(()=>n[6]||(n[6]=[a("Database")])),_:1}),n[8]||(n[8]=a(" to setup connection to MongoDB"))]),s("li",null,[n[10]||(n[10]=a("follow ")),i(t,{to:"/docs/config/queue.html"},{default:o(()=>n[9]||(n[9]=[a("Queue")])),_:1}),n[11]||(n[11]=a(" to setup connection to Redis"))]),s("li",null,[n[13]||(n[13]=a("follow ")),i(t,{to:"/docs/config/overview.html"},{default:o(()=>n[12]||(n[12]=[a("Configuration Overview")])),_:1}),n[14]||(n[14]=a(" to customize other required configs"))]),n[17]||(n[17]=e(`
    • run
      git clone https://github.com/bcgov/NotifyBC.git
      +
    • wait till console displays Server is running at http://0.0.0.0:3000/api
    • browse to http://localhost:3000
  • `,1)),s("li",null,[n[17]||(n[17]=s("p",null,"for production,",-1)),s("ul",null,[n[15]||(n[15]=a(`
  • install MongoDB with replica set or obtain a hosted service
  • install Redis, preferably with Sentinel or obtain a hosted service
  • run
    git clone https://github.com/bcgov/NotifyBC.git
     cd NotifyBC
    -npm i && npm run build
    +
  • `,3)),s("li",null,[n[7]||(n[7]=e("follow ")),i(t,{to:"/docs/config/database.html"},{default:o(()=>n[6]||(n[6]=[e("Database")])),_:1}),n[8]||(n[8]=e(" to setup connection to MongoDB"))]),s("li",null,[n[10]||(n[10]=e("follow ")),i(t,{to:"/docs/config/queue.html"},{default:o(()=>n[9]||(n[9]=[e("Queue")])),_:1}),n[11]||(n[11]=e(" to setup connection to Redis"))]),s("li",null,[n[13]||(n[13]=e("follow ")),i(t,{to:"/docs/config/overview.html"},{default:o(()=>n[12]||(n[12]=[e("Configuration Overview")])),_:1}),n[14]||(n[14]=e(" to customize other required configs"))]),n[16]||(n[16]=a(`
  • run
    npm i && npm run build
     npm run start
    -
  • wait till console displays Server is running at http://0.0.0.0:3000/api
  • browse to http://localhost:3000
  • `,3))])])]),n[23]||(n[23]=e(`

    The above commands installs the main version, i.e. main branch tip of NotifyBC GitHub repository. To install a specific version, say v6.0.2, run

     git checkout tags/v6.0.2 -b v6.0.2
    +
  • wait till console displays Server is running at http://0.0.0.0:3000/api
  • browse to http://localhost:3000
  • `,3))])])]),n[22]||(n[22]=a(`

    The above commands installs the main version, i.e. main branch tip of NotifyBC GitHub repository. To install a specific version, say v6.0.3, run

     git checkout tags/v6.0.3 -b v6.0.3
     

    after cd NotifyBC. A list of versions can be found here.

    install from behind firewall

    If you want to install on a server behind firewall which restricts internet connection, you can work around the firewall as long as you have access to a http(s) forward proxy server. Assuming the proxy server is http://my_proxy:8080 which proxies both http and https requests, to use it:

    • For Linux

      export http_proxy=http://my_proxy:8080
       export https_proxy=http://my_proxy:8080
       git config --global url."https://".insteadOf git://
      diff --git a/version/6.0/assets/index.html-BQxyWsu7.js b/version/6.0/assets/index.html-BbIzJi6O.js
      similarity index 97%
      rename from version/6.0/assets/index.html-BQxyWsu7.js
      rename to version/6.0/assets/index.html-BbIzJi6O.js
      index 4ab6bc1ae..8fb5562df 100644
      --- a/version/6.0/assets/index.html-BQxyWsu7.js
      +++ b/version/6.0/assets/index.html-BbIzJi6O.js
      @@ -1 +1 @@
      -import{_ as t,c as o,e as n,o as i}from"./app-chHFUe1n.js";const r={};function a(s,e){return i(),o("div",null,e[0]||(e[0]=[n('

      Code of Conduct

      As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

      We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

      Examples of unacceptable behavior by participants include:

      • The use of sexualized language or imagery
      • Personal attacks
      • Trolling or insulting/derogatory comments
      • Public or private harassment
      • Publishing other's private information, such as physical or electronic addresses, without explicit permission
      • Other unethical or unprofessional conduct

      Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

      By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.

      This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

      Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting a project maintainer. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident.

      This Code of Conduct is adapted from the Contributor Covenant, version 1.3.0, available at http://contributor-covenant.org/version/1/3/0/

      ',10)]))}const p=t(r,[["render",a],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/docs/conduct/","title":"Code of Conduct","lang":"en-US","frontmatter":{"permalink":"/docs/conduct/","editable":false,"prev":"/docs/upgrade/"},"headers":[],"git":{},"filePathRelative":"docs/meta/conduct.md"}');export{p as comp,l as data}; +import{_ as t,c as o,e as n,o as i}from"./app-vBJoMoyQ.js";const r={};function a(s,e){return i(),o("div",null,e[0]||(e[0]=[n('

      Code of Conduct

      As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

      We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

      Examples of unacceptable behavior by participants include:

      • The use of sexualized language or imagery
      • Personal attacks
      • Trolling or insulting/derogatory comments
      • Public or private harassment
      • Publishing other's private information, such as physical or electronic addresses, without explicit permission
      • Other unethical or unprofessional conduct

      Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

      By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.

      This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

      Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting a project maintainer. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident.

      This Code of Conduct is adapted from the Contributor Covenant, version 1.3.0, available at http://contributor-covenant.org/version/1/3/0/

      ',10)]))}const p=t(r,[["render",a],["__file","index.html.vue"]]),l=JSON.parse('{"path":"/docs/conduct/","title":"Code of Conduct","lang":"en-US","frontmatter":{"permalink":"/docs/conduct/","editable":false,"prev":"/docs/upgrade/"},"headers":[],"git":{},"filePathRelative":"docs/meta/conduct.md"}');export{p as comp,l as data}; diff --git a/version/6.0/assets/index.html-xddYJQer.js b/version/6.0/assets/index.html-Bu-ZHBWM.js similarity index 99% rename from version/6.0/assets/index.html-xddYJQer.js rename to version/6.0/assets/index.html-Bu-ZHBWM.js index ef2cba084..c2ba88d81 100644 --- a/version/6.0/assets/index.html-xddYJQer.js +++ b/version/6.0/assets/index.html-Bu-ZHBWM.js @@ -1,4 +1,4 @@ -import{_ as n,c as a,e,o as p}from"./app-chHFUe1n.js";const t={};function o(l,s){return p(),a("div",null,s[0]||(s[0]=[e(`

      Health Check

      Health status of NotifyBC can be obtained by querying /health API end point. For example

      $ curl -s http://localhost:3000/api/health | jq
      +import{_ as n,c as a,e,o as p}from"./app-vBJoMoyQ.js";const t={};function o(l,s){return p(),a("div",null,s[0]||(s[0]=[e(`

      Health Check

      Health status of NotifyBC can be obtained by querying /health API end point. For example

      $ curl -s http://localhost:3000/api/health | jq
       {
         "status": "ok",
         "info": {
      diff --git a/version/6.0/assets/index.html-Tp11B2XJ.js b/version/6.0/assets/index.html-BvCyS8o2.js
      similarity index 99%
      rename from version/6.0/assets/index.html-Tp11B2XJ.js
      rename to version/6.0/assets/index.html-BvCyS8o2.js
      index 2481a4160..e8a63a45a 100644
      --- a/version/6.0/assets/index.html-Tp11B2XJ.js
      +++ b/version/6.0/assets/index.html-BvCyS8o2.js
      @@ -1 +1 @@
      -import{_ as l,c as d,e as s,a as i,f as t,b as a,d as o,r as c,o as u}from"./app-chHFUe1n.js";const p={},m=["src"];function h(r,e){const n=c("RouteLink");return u(),d("div",null,[e[20]||(e[20]=s('

      Overview

      NotifyBC is a general purpose API Server to manage subscriptions and dispatch notifications. It aims to implement some common backend processes of a notification service without imposing any constraints on the UI frontend, nor impeding other server components' functionality. This is achieved by interacting with user browser and other server components through RESTful API and other standard protocols in a loosely coupled way.

      Features

      NotifyBC facilitates both anonymous and authentication-enabled secure webapps implementing notification feature. A NotifyBC server instance supports multiple notification services. A service is a topic of interest that user wants to receive updates. It is used as the partition of notification messages and user subscriptions. A user may subscribe to a service in multiple push delivery channels allowed. A user may subscribe to multiple services. In-app pull notification doesn't require subscription as it's not intrusive to user.

      notification

      • both in-app pull notifications (a.k.a. messages or alerts) and push notifications
      • multiple push notifications delivery channels
        • email
        • sms
      • unicast and broadcast message types
      • future-dated notifications
      • for in-app pull notifications
        • support read and deleted message states
        • message expiration
        • deleted messages are not deleted immediately for auditing and recovery purposes
      • for broadcast push notifications
        • allow both sync and async POST API calls. For async API call, an optional callback url is supported
        • can be auto-generated from RSS feeds
        • allow user to specify filter rules evaluated against data contained in the notification
        • allow sender to specify filter rules evaluated against data contained in the subscription
        • allow application developer to create custom filter functions used by the filter rules mentioned above

      subscription and un-subscription

      • verify the ownership of push notification subscription channel:
        • generates confirmation code based on a regex input
        • send confirmation request to unconfirmed subscription channel
        • verify confirmation code
      • generate random un-subscription code
      • send acknowledgement message after un-subscription for anonymous subscribers
      • bulk unsubscription
      • list-unsubscribe by email
      • track bounces and unsubscribe the recipient from all subscriptions when hard bounce count exceeds threshold
      • sms user can unsubscribe by replying a shortcode keyword with Swift sms provider

      mail merge

      Strings in notification or subscription message that are enclosed between curly braces { } are called tokens, also known as placeholders. Tokens are replaced based on the context of notification or subscription when dispatching the message. To avoid treating a string between curly braces as a token, escape the curly braces with backslash \\. For example \\{i_am_not_a_token\\} is not a token. It will be rendered as {i_am_not_a_token}.

      Tokens whose names are predetermined by NotifyBC are called static tokens; otherwise they are called dynamic tokens.

      static tokens

      NotifyBC recognizes following case-insensitive static tokens. Most of the names are self-explanatory.

      • {subscription_confirmation_url}
      • {subscription_confirmation_code}
      • {service_name}
      • {http_host} - http host in the form http(s): //<host_name>:<port>. The value is obtained from the http request that triggers the message
      • {rest_api_root} - REST API URL path prefix
      • {subscription_id}
      • anonymous unsubscription related tokens
        • {unsubscription_url}
        • {unsubscription_all_url} - url to unsubscribe all services the user has subscribed on this NotifyBC instance
        • {unsubscription_code}
        • {unsubscription_reversion_url}
        • {unsubscription_service_names} - includes {service_name} and additional services user has unsubscribed, prefixed with conditionally pluralized word service.

      dynamic tokens

      Dynamic tokens are replaced with correspondingly named sub-field of data field in the notification or subscription if exist. Qualify token name with notification:: or subscription:: to indicate the source of substitution. If token name is not qualified, then both notification and subscription are checked, with notification taking precedence. Nested and indexed sub-fields are supported.

      Examples

      • {notification::description} is replaced with field data.description of the notification if exist
      • {subscription::gender} is replaced with field data.gender of the subscription if exist
      • {addresses[0].city} is replaced with field data.addresses[0].city of the notification if exist; otherwise is replaced with field data.addresses[0].city of the subscription if exist
      • {nonexistingDataField} is unreplaced if neither notification nor subscription contains data.nonexistingDataField
      ',18)),i("p",null,[e[2]||(e[2]=t("As exception, in order to prevent spamming by unconfirmed subscribers, dynamic tokens in subscription ")),a(n,{to:"/docs/config-subscription/#confirmation-request-message"},{default:o(()=>e[0]||(e[0]=[t("confirmation request message")])),_:1}),e[3]||(e[3]=t(" and ")),a(n,{to:"/docs/config-subscription/#duplicated-subscription"},{default:o(()=>e[1]||(e[1]=[t("duplicated subscription")])),_:1}),e[4]||(e[4]=t(" message are not replaced with subscription data, for example ")),e[5]||(e[5]=i("em",null,"{subscription::...}",-1)),e[6]||(e[6]=t(" tokens are left unchanged."))]),e[21]||(e[21]=s('

      Notification by RSS feeds relies on dynamic token

      A notification created by RSS feeds relies on dynamic token to supply the context to message template. In this case the data field contains the RSS item.

      Architecture

      Request Types

      NotifyBC, designed to be a microservice, doesn't use full-blown ACL to secure API calls. Instead, it classifies incoming requests into admin and user types. The key difference is while both admin and user can subscribe to notifications, only admin can post notifications.

      Each type has two subtypes based on following criteria

      ',5)),i("ul",null,[i("li",null,[e[15]||(e[15]=i("p",null,"super-admin, if the request meets both of the following two requirements",-1)),i("ol",null,[i("li",null,[e[13]||(e[13]=i("p",null,"The request carries one of the following two attributes",-1)),i("ul",null,[e[12]||(e[12]=i("li",null,"the source ip is in the admin ip list",-1)),i("li",null,[e[8]||(e[8]=t("has a client certificate that is signed using ")),e[9]||(e[9]=i("em",null,"NotifyBC",-1)),e[10]||(e[10]=t(" server certificate. See ")),a(n,{to:"/docs/config/certificates.html#client-certificate-authentication"},{default:o(()=>e[7]||(e[7]=[t("Client certificate authentication")])),_:1}),e[11]||(e[11]=t(" on how to sign."))])])]),e[14]||(e[14]=i("li",null,[i("p",null,"The request doesn't contain any of following case insensitive HTTP headers, with the first three being SiteMinder headers"),i("ul",null,[i("li",null,"sm_universalid"),i("li",null,"sm_user"),i("li",null,"smgov_userdisplayname"),i("li",null,"is_anonymous")])],-1))])]),e[16]||(e[16]=s('
    • admin, if the request is not super-admin and meets one of the following criteria

      • has a valid access token associated with an builtin admin user created and logged in using the administrator api, and the request doesn't contain any HTTP headers listed above
      • has a valid OIDC access token containing customizable admin profile attributes

      access token disambiguation

      Here the term access token has been used to refer two different things

      1. the token associated with a builtin admin user
      2. the token generated by OIDC provider.

      To reduce confusion, throughout the documentation the former is called access token and the latter is called OIDC access token.

    • authenticated user, if the request is neither super-admin nor admin, and meets one fo the following criteria

      • contains any of the 3 SiteMinder headers listed above, and comes from either trusted SiteMinder proxy or admin ip list
      • contains a valid OIDC access token
    • anonymous user, if the request doesn't meet any of the above criteria

    • ',3))]),e[22]||(e[22]=s("

      The only extra privileges that a super-admin has over admin are that super-admin can perform CRUD operations on configuration, bounce and administrator entities through REST API. In the remaining docs, when no further distinction is necessary, an admin request refers to both super-admin and admin request; a user request refers to both authenticated and anonymous request.

      An admin request carries full authorization whereas user request has limited access. For example, a user request is not allowed to

      • send notification
      • bypass the delivery channel confirmation process when subscribing to a service
      • retrieve push notifications through API (can only receive notification from push notification channel such as email)
      • retrieve in-app notifications that is not targeted to the current user

      The result of an API call to the same end point may differ depending on the request type. For example, the call GET /notifications without a filter will return all notifications to all users for an admin request, but only non-deleted, non-expired in-app notifications for authenticated user request, and forbidden for anonymous user request. Sometimes it is desirable for a request from admin ip list, which would normally be admin request, to be voluntarily downgraded to user request in order to take advantage of predefined filters such as the ones described above. This can be achieved by adding one of the HTTP headers listed above to the request. This is also why admin request is not determined by ip or token alone.

      ",4)),i("p",null,[e[17]||(e[17]=t("The way ")),e[18]||(e[18]=i("em",null,"NotifyBC",-1)),e[19]||(e[19]=t(" interacts with other components is diagrammed below. ")),i("img",{src:r.$withBase("/img/architecture.svg"),alt:"architecture diagram"},null,8,m)]),e[23]||(e[23]=s('

      Authentication Strategies

      API requests to NotifyBC can be either anonymous or authenticated. As alluded in Request Types above, NotifyBC supports following authentication strategies

      1. ip whitelisting
      2. client certificate
      3. access token associated with an builtin admin user
      4. OpenID Connect (OIDC)
      5. CA SiteMinder

      Authentication is performed in above order. Once a request passed an authentication strategy, the rest strategies are skipped. A request that failed all authentication strategies is anonymous.

      The mapping between authentication strategy and request type is

      AdminUser
      Super-adminadminauthenticatedanonymous
      ip whitelisting
      client certifcate
      access token
      OIDC
      SiteMinder

      Which authentication strategy to use?

      Because ip whitelist doesn't expire and client certificate usually has a relatively long expiration period (say one year), they are suitable for long-running unattended server processes such as server-side code of web apps, cron jobs, IOT sensors etc. The server processes have to be trusted because once authenticated, they have full privilege to NotifyBC. Usually the server processes and NotifyBC instance are in the same administrative domain, i.e. managed by the same admin group of an organization.

      By contrast, OIDC and SiteMinder use short-lived tokens or session cookies. Therefore they are only suitable for interactive user sessions.

      Access token associated with an builtin admin user should be avoided whenever possible.

      Here are some common scenarios and recommendations

      • For server-side code of web apps

        • use OIDC if the web app is OIDC enabled and user requests can be proxied to NotifyBC by web app; otherwise
        • use ip whitelisting if obtaining ip is feasible; otherwise
        • use client certificate (requires a little more config than ip whitelisting)
      • For front-end browser-based web apps such as SPAs

        • use OIDC
      • For server apps that send requests spontaneously such as IOT sensors, cron jobs

        • use ip whitelisting if obtaining ip is feasible; otherwise
        • client certificate
      • If NotifyBC is ued by a SiteMinder protected web apps and NotifyBC is also protected by SiteMinder

        • use SiteMinder

      Application Framework

      NotifyBC is created on NestJS. Contributors to source code of NotifyBC should be familiar with NestJS. NestJS Docs serves a good complement to this documentation.

      ',9))])}const b=l(p,[["render",h],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/docs/overview/","title":"Overview","lang":"en-US","frontmatter":{"permalink":"/docs/overview/"},"headers":[{"level":2,"title":"Features","slug":"features","link":"#features","children":[{"level":3,"title":"notification","slug":"notification","link":"#notification","children":[]},{"level":3,"title":"subscription and un-subscription","slug":"subscription-and-un-subscription","link":"#subscription-and-un-subscription","children":[]},{"level":3,"title":"mail merge","slug":"mail-merge","link":"#mail-merge","children":[]}]},{"level":2,"title":"Architecture","slug":"architecture","link":"#architecture","children":[{"level":3,"title":"Request Types","slug":"request-types","link":"#request-types","children":[]},{"level":3,"title":"Authentication Strategies","slug":"authentication-strategies","link":"#authentication-strategies","children":[]}]},{"level":2,"title":"Application Framework","slug":"application-framework","link":"#application-framework","children":[]}],"git":{},"filePathRelative":"docs/getting-started/overview.md"}');export{b as comp,g as data}; +import{_ as l,c as d,e as s,a as i,f as t,b as a,d as o,r as c,o as u}from"./app-vBJoMoyQ.js";const p={},m=["src"];function h(r,e){const n=c("RouteLink");return u(),d("div",null,[e[20]||(e[20]=s('

      Overview

      NotifyBC is a general purpose API Server to manage subscriptions and dispatch notifications. It aims to implement some common backend processes of a notification service without imposing any constraints on the UI frontend, nor impeding other server components' functionality. This is achieved by interacting with user browser and other server components through RESTful API and other standard protocols in a loosely coupled way.

      Features

      NotifyBC facilitates both anonymous and authentication-enabled secure webapps implementing notification feature. A NotifyBC server instance supports multiple notification services. A service is a topic of interest that user wants to receive updates. It is used as the partition of notification messages and user subscriptions. A user may subscribe to a service in multiple push delivery channels allowed. A user may subscribe to multiple services. In-app pull notification doesn't require subscription as it's not intrusive to user.

      notification

      • both in-app pull notifications (a.k.a. messages or alerts) and push notifications
      • multiple push notifications delivery channels
        • email
        • sms
      • unicast and broadcast message types
      • future-dated notifications
      • for in-app pull notifications
        • support read and deleted message states
        • message expiration
        • deleted messages are not deleted immediately for auditing and recovery purposes
      • for broadcast push notifications
        • allow both sync and async POST API calls. For async API call, an optional callback url is supported
        • can be auto-generated from RSS feeds
        • allow user to specify filter rules evaluated against data contained in the notification
        • allow sender to specify filter rules evaluated against data contained in the subscription
        • allow application developer to create custom filter functions used by the filter rules mentioned above

      subscription and un-subscription

      • verify the ownership of push notification subscription channel:
        • generates confirmation code based on a regex input
        • send confirmation request to unconfirmed subscription channel
        • verify confirmation code
      • generate random un-subscription code
      • send acknowledgement message after un-subscription for anonymous subscribers
      • bulk unsubscription
      • list-unsubscribe by email
      • track bounces and unsubscribe the recipient from all subscriptions when hard bounce count exceeds threshold
      • sms user can unsubscribe by replying a shortcode keyword with Swift sms provider

      mail merge

      Strings in notification or subscription message that are enclosed between curly braces { } are called tokens, also known as placeholders. Tokens are replaced based on the context of notification or subscription when dispatching the message. To avoid treating a string between curly braces as a token, escape the curly braces with backslash \\. For example \\{i_am_not_a_token\\} is not a token. It will be rendered as {i_am_not_a_token}.

      Tokens whose names are predetermined by NotifyBC are called static tokens; otherwise they are called dynamic tokens.

      static tokens

      NotifyBC recognizes following case-insensitive static tokens. Most of the names are self-explanatory.

      • {subscription_confirmation_url}
      • {subscription_confirmation_code}
      • {service_name}
      • {http_host} - http host in the form http(s): //<host_name>:<port>. The value is obtained from the http request that triggers the message
      • {rest_api_root} - REST API URL path prefix
      • {subscription_id}
      • anonymous unsubscription related tokens
        • {unsubscription_url}
        • {unsubscription_all_url} - url to unsubscribe all services the user has subscribed on this NotifyBC instance
        • {unsubscription_code}
        • {unsubscription_reversion_url}
        • {unsubscription_service_names} - includes {service_name} and additional services user has unsubscribed, prefixed with conditionally pluralized word service.

      dynamic tokens

      Dynamic tokens are replaced with correspondingly named sub-field of data field in the notification or subscription if exist. Qualify token name with notification:: or subscription:: to indicate the source of substitution. If token name is not qualified, then both notification and subscription are checked, with notification taking precedence. Nested and indexed sub-fields are supported.

      Examples

      • {notification::description} is replaced with field data.description of the notification if exist
      • {subscription::gender} is replaced with field data.gender of the subscription if exist
      • {addresses[0].city} is replaced with field data.addresses[0].city of the notification if exist; otherwise is replaced with field data.addresses[0].city of the subscription if exist
      • {nonexistingDataField} is unreplaced if neither notification nor subscription contains data.nonexistingDataField
      ',18)),i("p",null,[e[2]||(e[2]=t("As exception, in order to prevent spamming by unconfirmed subscribers, dynamic tokens in subscription ")),a(n,{to:"/docs/config-subscription/#confirmation-request-message"},{default:o(()=>e[0]||(e[0]=[t("confirmation request message")])),_:1}),e[3]||(e[3]=t(" and ")),a(n,{to:"/docs/config-subscription/#duplicated-subscription"},{default:o(()=>e[1]||(e[1]=[t("duplicated subscription")])),_:1}),e[4]||(e[4]=t(" message are not replaced with subscription data, for example ")),e[5]||(e[5]=i("em",null,"{subscription::...}",-1)),e[6]||(e[6]=t(" tokens are left unchanged."))]),e[21]||(e[21]=s('

      Notification by RSS feeds relies on dynamic token

      A notification created by RSS feeds relies on dynamic token to supply the context to message template. In this case the data field contains the RSS item.

      Architecture

      Request Types

      NotifyBC, designed to be a microservice, doesn't use full-blown ACL to secure API calls. Instead, it classifies incoming requests into admin and user types. The key difference is while both admin and user can subscribe to notifications, only admin can post notifications.

      Each type has two subtypes based on following criteria

      ',5)),i("ul",null,[i("li",null,[e[15]||(e[15]=i("p",null,"super-admin, if the request meets both of the following two requirements",-1)),i("ol",null,[i("li",null,[e[13]||(e[13]=i("p",null,"The request carries one of the following two attributes",-1)),i("ul",null,[e[12]||(e[12]=i("li",null,"the source ip is in the admin ip list",-1)),i("li",null,[e[8]||(e[8]=t("has a client certificate that is signed using ")),e[9]||(e[9]=i("em",null,"NotifyBC",-1)),e[10]||(e[10]=t(" server certificate. See ")),a(n,{to:"/docs/config/certificates.html#client-certificate-authentication"},{default:o(()=>e[7]||(e[7]=[t("Client certificate authentication")])),_:1}),e[11]||(e[11]=t(" on how to sign."))])])]),e[14]||(e[14]=i("li",null,[i("p",null,"The request doesn't contain any of following case insensitive HTTP headers, with the first three being SiteMinder headers"),i("ul",null,[i("li",null,"sm_universalid"),i("li",null,"sm_user"),i("li",null,"smgov_userdisplayname"),i("li",null,"is_anonymous")])],-1))])]),e[16]||(e[16]=s('
    • admin, if the request is not super-admin and meets one of the following criteria

      • has a valid access token associated with an builtin admin user created and logged in using the administrator api, and the request doesn't contain any HTTP headers listed above
      • has a valid OIDC access token containing customizable admin profile attributes

      access token disambiguation

      Here the term access token has been used to refer two different things

      1. the token associated with a builtin admin user
      2. the token generated by OIDC provider.

      To reduce confusion, throughout the documentation the former is called access token and the latter is called OIDC access token.

    • authenticated user, if the request is neither super-admin nor admin, and meets one fo the following criteria

      • contains any of the 3 SiteMinder headers listed above, and comes from either trusted SiteMinder proxy or admin ip list
      • contains a valid OIDC access token
    • anonymous user, if the request doesn't meet any of the above criteria

    • ',3))]),e[22]||(e[22]=s("

      The only extra privileges that a super-admin has over admin are that super-admin can perform CRUD operations on configuration, bounce and administrator entities through REST API. In the remaining docs, when no further distinction is necessary, an admin request refers to both super-admin and admin request; a user request refers to both authenticated and anonymous request.

      An admin request carries full authorization whereas user request has limited access. For example, a user request is not allowed to

      • send notification
      • bypass the delivery channel confirmation process when subscribing to a service
      • retrieve push notifications through API (can only receive notification from push notification channel such as email)
      • retrieve in-app notifications that is not targeted to the current user

      The result of an API call to the same end point may differ depending on the request type. For example, the call GET /notifications without a filter will return all notifications to all users for an admin request, but only non-deleted, non-expired in-app notifications for authenticated user request, and forbidden for anonymous user request. Sometimes it is desirable for a request from admin ip list, which would normally be admin request, to be voluntarily downgraded to user request in order to take advantage of predefined filters such as the ones described above. This can be achieved by adding one of the HTTP headers listed above to the request. This is also why admin request is not determined by ip or token alone.

      ",4)),i("p",null,[e[17]||(e[17]=t("The way ")),e[18]||(e[18]=i("em",null,"NotifyBC",-1)),e[19]||(e[19]=t(" interacts with other components is diagrammed below. ")),i("img",{src:r.$withBase("/img/architecture.svg"),alt:"architecture diagram"},null,8,m)]),e[23]||(e[23]=s('

      Authentication Strategies

      API requests to NotifyBC can be either anonymous or authenticated. As alluded in Request Types above, NotifyBC supports following authentication strategies

      1. ip whitelisting
      2. client certificate
      3. access token associated with an builtin admin user
      4. OpenID Connect (OIDC)
      5. CA SiteMinder

      Authentication is performed in above order. Once a request passed an authentication strategy, the rest strategies are skipped. A request that failed all authentication strategies is anonymous.

      The mapping between authentication strategy and request type is

      AdminUser
      Super-adminadminauthenticatedanonymous
      ip whitelisting
      client certifcate
      access token
      OIDC
      SiteMinder

      Which authentication strategy to use?

      Because ip whitelist doesn't expire and client certificate usually has a relatively long expiration period (say one year), they are suitable for long-running unattended server processes such as server-side code of web apps, cron jobs, IOT sensors etc. The server processes have to be trusted because once authenticated, they have full privilege to NotifyBC. Usually the server processes and NotifyBC instance are in the same administrative domain, i.e. managed by the same admin group of an organization.

      By contrast, OIDC and SiteMinder use short-lived tokens or session cookies. Therefore they are only suitable for interactive user sessions.

      Access token associated with an builtin admin user should be avoided whenever possible.

      Here are some common scenarios and recommendations

      • For server-side code of web apps

        • use OIDC if the web app is OIDC enabled and user requests can be proxied to NotifyBC by web app; otherwise
        • use ip whitelisting if obtaining ip is feasible; otherwise
        • use client certificate (requires a little more config than ip whitelisting)
      • For front-end browser-based web apps such as SPAs

        • use OIDC
      • For server apps that send requests spontaneously such as IOT sensors, cron jobs

        • use ip whitelisting if obtaining ip is feasible; otherwise
        • client certificate
      • If NotifyBC is ued by a SiteMinder protected web apps and NotifyBC is also protected by SiteMinder

        • use SiteMinder

      Application Framework

      NotifyBC is created on NestJS. Contributors to source code of NotifyBC should be familiar with NestJS. NestJS Docs serves a good complement to this documentation.

      ',9))])}const b=l(p,[["render",h],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/docs/overview/","title":"Overview","lang":"en-US","frontmatter":{"permalink":"/docs/overview/"},"headers":[{"level":2,"title":"Features","slug":"features","link":"#features","children":[{"level":3,"title":"notification","slug":"notification","link":"#notification","children":[]},{"level":3,"title":"subscription and un-subscription","slug":"subscription-and-un-subscription","link":"#subscription-and-un-subscription","children":[]},{"level":3,"title":"mail merge","slug":"mail-merge","link":"#mail-merge","children":[]}]},{"level":2,"title":"Architecture","slug":"architecture","link":"#architecture","children":[{"level":3,"title":"Request Types","slug":"request-types","link":"#request-types","children":[]},{"level":3,"title":"Authentication Strategies","slug":"authentication-strategies","link":"#authentication-strategies","children":[]}]},{"level":2,"title":"Application Framework","slug":"application-framework","link":"#application-framework","children":[]}],"git":{},"filePathRelative":"docs/getting-started/overview.md"}');export{b as comp,g as data}; diff --git a/version/6.0/assets/index.html-oRNet1oJ.js b/version/6.0/assets/index.html-C2oJelxo.js similarity index 96% rename from version/6.0/assets/index.html-oRNet1oJ.js rename to version/6.0/assets/index.html-C2oJelxo.js index 1e862e5e3..17fcd96e8 100644 --- a/version/6.0/assets/index.html-oRNet1oJ.js +++ b/version/6.0/assets/index.html-C2oJelxo.js @@ -1,4 +1,4 @@ -import{_ as i,c as l,e as n,a,f as e,b as o,d as p,r,o as c}from"./app-chHFUe1n.js";const u={};function d(m,s){const t=r("RouteLink");return c(),l("div",null,[s[7]||(s[7]=n('

      Benchmarks

      out of date

      Benchmark results no longer apply to this NotifyBC version. Only the Advices section is applicable.

      tl;dr

      A NotifyBC server node can deliver 1 million emails in as little as 1 hour to a SMTP server node. SMTP server node's disk I/O is the bottleneck in such case. Throughput can be improved through horizontal scaling.

      When NotifyBC is used to deliver broadcast push notifications to a large number of subscribers, probably the most important benchmark is throughput. The benchmark is especially critical if a latency cap is desired. To facilitate capacity planning, load testing on the email channel has been conducted. The test environment, procedure, results and performance tuning advices are provided hereafter.

      Environment

      Hardware

      Two computers, connected by 1Gbps LAN, are used to host

      • NotifyBC
        • Mac Mini Late 2012 model
        • Intel core i7-3615QM
        • 16GB RAM
        • 2TB HDD
      • SMTP and mail delivery
        • Lenovo ThinkCentre M Series 2015 model
        • Intel core i5-3470
        • 8GB RAM
        • 256GB SSD

      Software Stack

      The test was performed in August 2017. Unless otherwise specified, the versions of all other software were reasonably up-to-date at the time of testing.

      • NotifyBC

        • MacOS Sierra Version 10.12.6
        • Virtualbox VM with 8vCPU, 10GB RAM, created using miniShift v1.3.1+f4900b07
        • OpenShift 1.5.1+7b451fc with metrics
        • default NotifyBC OpenShift installation, which contains following relevant pods
          • 1 mongodb pod with 1 core, 1GiB RAM limit
          • a variable number of Node.js app pods each with 1 core, 1GiB RAM limit. The number varies by test runs as indicated in result.
      • SMTP and mail delivery

        • Windows 7 host
        • Virtualbox VM with 4 vCPU, 3.5GB RAM, running Windows Server 2012
        • added SMTP Server feature
        • in SMTP Server properties dialog box, uncheck all of following boxes in Messages tab
          • Limit message size to (KB)
          • Limit session size to (KB)
          • Limit number of messages per connection to
          • Limit number of recipients per message to

      Procedure

      ',12)),a("ol",null,[a("li",null,[a("p",null,[s[1]||(s[1]=e("update or create file ")),s[2]||(s[2]=a("em",null,"/src/config.local.js",-1)),s[3]||(s[3]=e(" through ")),o(t,{to:"/docs/installation/#update-configuration-files"},{default:p(()=>s[0]||(s[0]=[e("configMap")])),_:1}),s[4]||(s[4]=e(". Add sections for SMTP server and a custom filter function"))]),s[5]||(s[5]=n(`
      var _ = require('lodash');
      +import{_ as i,c as l,e as n,a,f as e,b as o,d as p,r,o as c}from"./app-vBJoMoyQ.js";const u={};function d(m,s){const t=r("RouteLink");return c(),l("div",null,[s[7]||(s[7]=n('

      Benchmarks

      out of date

      Benchmark results no longer apply to this NotifyBC version. Only the Advices section is applicable.

      tl;dr

      A NotifyBC server node can deliver 1 million emails in as little as 1 hour to a SMTP server node. SMTP server node's disk I/O is the bottleneck in such case. Throughput can be improved through horizontal scaling.

      When NotifyBC is used to deliver broadcast push notifications to a large number of subscribers, probably the most important benchmark is throughput. The benchmark is especially critical if a latency cap is desired. To facilitate capacity planning, load testing on the email channel has been conducted. The test environment, procedure, results and performance tuning advices are provided hereafter.

      Environment

      Hardware

      Two computers, connected by 1Gbps LAN, are used to host

      • NotifyBC
        • Mac Mini Late 2012 model
        • Intel core i7-3615QM
        • 16GB RAM
        • 2TB HDD
      • SMTP and mail delivery
        • Lenovo ThinkCentre M Series 2015 model
        • Intel core i5-3470
        • 8GB RAM
        • 256GB SSD

      Software Stack

      The test was performed in August 2017. Unless otherwise specified, the versions of all other software were reasonably up-to-date at the time of testing.

      • NotifyBC

        • MacOS Sierra Version 10.12.6
        • Virtualbox VM with 8vCPU, 10GB RAM, created using miniShift v1.3.1+f4900b07
        • OpenShift 1.5.1+7b451fc with metrics
        • default NotifyBC OpenShift installation, which contains following relevant pods
          • 1 mongodb pod with 1 core, 1GiB RAM limit
          • a variable number of Node.js app pods each with 1 core, 1GiB RAM limit. The number varies by test runs as indicated in result.
      • SMTP and mail delivery

        • Windows 7 host
        • Virtualbox VM with 4 vCPU, 3.5GB RAM, running Windows Server 2012
        • added SMTP Server feature
        • in SMTP Server properties dialog box, uncheck all of following boxes in Messages tab
          • Limit message size to (KB)
          • Limit session size to (KB)
          • Limit number of messages per connection to
          • Limit number of recipients per message to

      Procedure

      ',12)),a("ol",null,[a("li",null,[a("p",null,[s[1]||(s[1]=e("update or create file ")),s[2]||(s[2]=a("em",null,"src/config.local.js",-1)),s[3]||(s[3]=e(" through ")),o(t,{to:"/docs/installation/#update-configuration-files"},{default:p(()=>s[0]||(s[0]=[e("configMap")])),_:1}),s[4]||(s[4]=e(". Add sections for SMTP server and a custom filter function"))]),s[5]||(s[5]=n(`
      var _ = require('lodash');
       module.exports = {
         smtp: {
           host: '<smtp-vm-ip-or-hostname>',
      diff --git a/version/6.0/assets/index.html-CBF6geos.js b/version/6.0/assets/index.html-C3xu5spv.js
      similarity index 97%
      rename from version/6.0/assets/index.html-CBF6geos.js
      rename to version/6.0/assets/index.html-C3xu5spv.js
      index eec7ec8bb..10ea369da 100644
      --- a/version/6.0/assets/index.html-CBF6geos.js
      +++ b/version/6.0/assets/index.html-C3xu5spv.js
      @@ -1,4 +1,4 @@
      -import{_ as e,c as t,e as i,a as l,f as s,b as o,d as p,r,o as c}from"./app-chHFUe1n.js";const d={};function u(m,n){const a=r("RouteLink");return c(),t("div",null,[n[3]||(n[3]=i(`

      Quick Start

      For the impatient, to get NotifyBC instance up and running on localhost, you need

      • internet connection
      • Node.js
      • git
      • (Windows only) Docker Desktop running

      then run

      docker run --rm --pull always -dp 6379:6379 redis # only on Windows
      +import{_ as e,c as t,e as i,a as l,f as s,b as o,d as p,r,o as c}from"./app-vBJoMoyQ.js";const d={};function u(m,n){const a=r("RouteLink");return c(),t("div",null,[n[3]||(n[3]=i(`

      Quick Start

      For the impatient, to get NotifyBC instance up and running on localhost, you need

      • internet connection
      • Node.js
      • git
      • (Windows only) Docker Desktop running

      then run

      docker run --rm --pull always -dp 6379:6379 redis # only on Windows
       git clone https://github.com/bcgov/NotifyBC.git
       cd NotifyBC
       npm i && npm run build
      diff --git a/version/6.0/assets/index.html-y2mVsK8G.js b/version/6.0/assets/index.html-CCFnGvaF.js
      similarity index 88%
      rename from version/6.0/assets/index.html-y2mVsK8G.js
      rename to version/6.0/assets/index.html-CCFnGvaF.js
      index 3b1d59c2c..c0fde7847 100644
      --- a/version/6.0/assets/index.html-y2mVsK8G.js
      +++ b/version/6.0/assets/index.html-CCFnGvaF.js
      @@ -1,9 +1,9 @@
      -import{_ as p,c as i,e,a as n,f as a,b as l,d as o,r,o as c}from"./app-chHFUe1n.js";const u={};function d(m,s){const t=r("RouteLink");return c(),i("div",null,[s[13]||(s[13]=e(`

      SMS

      Provider

      NotifyBC depends on underlying SMS service providers to deliver SMS messages. The supported service providers are

      Only one service provider can be chosen per installation. To change service provider, add following config to file /src/config.local.js

      module.exports = {
      +import{_ as p,c as i,e,a as n,f as a,b as l,d as o,r,o as c}from"./app-vBJoMoyQ.js";const u={};function d(m,s){const t=r("RouteLink");return c(),i("div",null,[s[13]||(s[13]=e(`

      SMS

      Provider

      NotifyBC depends on underlying SMS service providers to deliver SMS messages. The supported service providers are

      Only one service provider can be chosen per installation. To change service provider, add following config to file src/config.local.js

      module.exports = {
         sms: {
           provider: 'swift',
         },
       };
      -

      Provider Settings

      Provider specific settings are defined in config sms.providerSettings. You should have an account with the chosen service provider before proceeding.

      Twilio

      Add sms.providerSettings.twilio config object to file /src/config.local.js

      module.exports = {
      +

      Provider Settings

      Provider specific settings are defined in config sms.providerSettings. You should have an account with the chosen service provider before proceeding.

      Twilio

      Add sms.providerSettings.twilio config object to file src/config.local.js

      module.exports = {
         sms: {
           providerSettings: {
             twilio: {
      @@ -14,7 +14,7 @@ import{_ as p,c as i,e,a as n,f as a,b as l,d as o,r,o as c}from"./app-chHFUe1n.
           },
         },
       };
      -

      Obtain <AccountSid>, <AuthToken> and <FromNumber> from your Twilio account.

      Swift

      Add sms.providerSettings.swift config object to file /src/config.local.js

      module.exports = {
      +

      Obtain <AccountSid>, <AuthToken> and <FromNumber> from your Twilio account.

      Swift

      Add sms.providerSettings.swift config object to file src/config.local.js

      module.exports = {
         sms: {
           providerSettings: {
             swift: {
      @@ -23,7 +23,7 @@ import{_ as p,c as i,e,a as n,f as a,b as l,d as o,r,o as c}from"./app-chHFUe1n.
           },
         },
       };
      -

      Obtain <accountKey> from your Swift account.

      Unsubscription by replying a keyword

      With Swift short code, sms user can unsubscribe by replying to a sms message with a keyword. The keyword must be pre-registered with Swift.

      To enable this feature,

      `,19)),n("ol",null,[s[11]||(s[11]=e(`
    • Generate a random string, hereafter referred to as <randomly-generated-string>

    • Add it to sms.providerSettings.swift.notifyBCSwiftKey in file /src/config.local.js

      module.exports = {
      +

      Obtain <accountKey> from your Swift account.

      Unsubscription by replying a keyword

      With Swift short code, sms user can unsubscribe by replying to a sms message with a keyword. The keyword must be pre-registered with Swift.

      To enable this feature,

      `,19)),n("ol",null,[s[11]||(s[11]=e(`
    • Generate a random string, hereafter referred to as <randomly-generated-string>

    • Add it to sms.providerSettings.swift.notifyBCSwiftKey in file src/config.local.js

      module.exports = {
         sms: {
           providerSettings: {
             swift: {
      @@ -32,7 +32,7 @@ import{_ as p,c as i,e,a as n,f as a,b as l,d as o,r,o as c}from"./app-chHFUe1n.
           },
         },
       };
      -
    • Go to Swift web admin console, click Number Management tab

    • Click Launch button next to Manage Short Code Keywords

    • Click Features button next to the registered keyword(s). A keyword may have multiple entries. In such case do this for each entry.

    • Click Redirect To Webpage tab in the popup window

    • `,6)),n("li",null,[s[10]||(s[10]=n("p",null,"Enter following information in the tab",-1)),n("ul",null,[n("li",null,[s[1]||(s[1]=a("set ")),s[2]||(s[2]=n("em",null,"URL",-1)),s[3]||(s[3]=a(" to ")),s[4]||(s[4]=n("em",null,"/api/subscriptions/swift",-1)),s[5]||(s[5]=a(", where ")),s[6]||(s[6]=n("em",null,"",-1)),s[7]||(s[7]=a(" is NotifyBC HTTP host name and should be the same as ")),l(t,{to:"/docs/config-httpHost/"},{default:o(()=>s[0]||(s[0]=[a("HTTP Host")])),_:1}),s[8]||(s[8]=a(" config"))]),s[9]||(s[9]=e("
    • set Method to POST
    • set Custom Parameter 1 Name to notifyBCSwiftKey
    • set Custom Parameter 1 Value to <randomly-generated-string>
    • ",3))])]),s[12]||(s[12]=n("li",null,[n("p",null,[a("Click "),n("em",null,"Save Changes"),a(" button and then "),n("em",null,"Done")])],-1))]),s[14]||(s[14]=e(`

      Throttle

      All supported SMS service providers impose request rate limit. NotifyBC by default throttles request rate to 4/sec. To adjust the rate, create following config in file /src/config.local.js

      module.exports = {
      +
    • Go to Swift web admin console, click Number Management tab

    • Click Launch button next to Manage Short Code Keywords

    • Click Features button next to the registered keyword(s). A keyword may have multiple entries. In such case do this for each entry.

    • Click Redirect To Webpage tab in the popup window

    • `,6)),n("li",null,[s[10]||(s[10]=n("p",null,"Enter following information in the tab",-1)),n("ul",null,[n("li",null,[s[1]||(s[1]=a("set ")),s[2]||(s[2]=n("em",null,"URL",-1)),s[3]||(s[3]=a(" to ")),s[4]||(s[4]=n("em",null,"/api/subscriptions/swift",-1)),s[5]||(s[5]=a(", where ")),s[6]||(s[6]=n("em",null,"",-1)),s[7]||(s[7]=a(" is NotifyBC HTTP host name and should be the same as ")),l(t,{to:"/docs/config-httpHost/"},{default:o(()=>s[0]||(s[0]=[a("HTTP Host")])),_:1}),s[8]||(s[8]=a(" config"))]),s[9]||(s[9]=e("
    • set Method to POST
    • set Custom Parameter 1 Name to notifyBCSwiftKey
    • set Custom Parameter 1 Value to <randomly-generated-string>
    • ",3))])]),s[12]||(s[12]=n("li",null,[n("p",null,[a("Click "),n("em",null,"Save Changes"),a(" button and then "),n("em",null,"Done")])],-1))]),s[14]||(s[14]=e(`

      Throttle

      All supported SMS service providers impose request rate limit. NotifyBC by default throttles request rate to 4/sec. To adjust the rate, create following config in file src/config.local.js

      module.exports = {
         sms: {
           throttle: {
             max: 4,
      diff --git a/version/6.0/assets/index.html-D3ye32KU.js b/version/6.0/assets/index.html-CDSo7_Qq.js
      similarity index 99%
      rename from version/6.0/assets/index.html-D3ye32KU.js
      rename to version/6.0/assets/index.html-CDSo7_Qq.js
      index 9e74462b3..2091fd7b3 100644
      --- a/version/6.0/assets/index.html-D3ye32KU.js
      +++ b/version/6.0/assets/index.html-CDSo7_Qq.js
      @@ -1,4 +1,4 @@
      -import{_ as l,c as r,a as t,f as n,b as o,d as s,e as a,r as u,o as d}from"./app-chHFUe1n.js";const p={};function c(h,e){const i=u("RouteLink");return d(),r("div",null,[e[31]||(e[31]=t("h1",{id:"web-console",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#web-console"},[t("span",null,"Web Console")])],-1)),e[32]||(e[32]=t("p",null,[n("After "),t("a",{href:"../installation"},"installing"),n(),t("em",null,"NotifyBC"),n(", you can start exploring "),t("em",null,"NotifyBC"),n(" resources by opening web console, a curated GUI, at "),t("a",{href:"http://localhost:3000",target:"_blank",rel:"noopener noreferrer"},"http://localhost:3000"),n(". You can further explore full-blown APIs by clicking the API explorer Swagger UI embedded in web console.")],-1)),t("p",null,[e[1]||(e[1]=n("Consult the ")),o(i,{to:"/docs/api-overview/"},{default:s(()=>e[0]||(e[0]=[n("API docs")])),_:1}),e[2]||(e[2]=n(" for valid inputs and expected outcome while you are exploring the APIs. Once you are familiar with the APIs, you can start writing code to call the APIs from either user browser or from a server application."))]),e[33]||(e[33]=t("p",null,"What you see in web console and what you get from API calls depend on how your requests are authenticated.",-1)),e[34]||(e[34]=t("h2",{id:"ip-whitelisting-authentication",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#ip-whitelisting-authentication"},[t("span",null,"Ip whitelisting authentication")])],-1)),t("p",null,[e[5]||(e[5]=n("The API calls you made with API explorer as well as API calls made by web console from localhost are by default authenticated as ")),o(i,{to:"/docs/overview/#architecture"},{default:s(()=>e[3]||(e[3]=[n("super-admin requests")])),_:1}),e[6]||(e[6]=n(" because localhost is in ")),o(i,{to:"/docs/config-adminIpList/"},{default:s(()=>e[4]||(e[4]=[n("admin ip list")])),_:1}),e[7]||(e[7]=n(" by default. Ip whitelisting authentication status is indicated by the ")),e[8]||(e[8]=t("span",{class:"material-icons"},"verified_user",-1)),e[9]||(e[9]=n(" icon on top right corner of web console."))]),e[35]||(e[35]=t("p",null,"To see the result of non super-admin requests, you can choose one of the following methods",-1)),e[36]||(e[36]=t("ul",null,[t("li",null,"customize admin ip list to omit localhost (127.0.0.1)"),t("li",null,"access web console from another ip not in the admin ip list")],-1)),e[37]||(e[37]=t("h2",{id:"client-certificate-authentication",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#client-certificate-authentication"},[t("span",null,"Client certificate authentication")])],-1)),t("p",null,[e[11]||(e[11]=n("If your ip is not in the admin ip list but you have setup a client certificate issued by ")),e[12]||(e[12]=t("em",null,"NotifyBC",-1)),e[13]||(e[13]=n(" server in browser, the API calls you made with API explorer as well as API calls made by web console are also authenticated as ")),o(i,{to:"/docs/overview/#architecture"},{default:s(()=>e[10]||(e[10]=[n("super-admin requests")])),_:1}),e[14]||(e[14]=n(". Client certificate authentication status is indicated by the ")),e[15]||(e[15]=t("span",{class:"material-icons"},"verified",-1)),e[16]||(e[16]=n(" icon on top right corner of web console."))]),e[38]||(e[38]=a('

      Anonymous

      If you access web console from a client that is not in the admin ip list, you are by default anonymous user. Anonymous authentication status is indicated by the LOGINlogin button on top right corner of web console. Click the button to login.

      Access token authentication

      ',3)),t("p",null,[e[18]||(e[18]=n("If you have not configured ")),o(i,{to:"/docs/config/oidc.html"},{default:s(()=>e[17]||(e[17]=[n("OIDC")])),_:1}),e[19]||(e[19]=n(", the login button opens a login form. After successful login, the login button is replaced with the ")),e[20]||(e[20]=t("em",null,"Access Token",-1)),e[21]||(e[21]=n(" text field on top right corner of web console. You can edit the text field. If the new access token you entered is invalid, you are essentially logging yourself out. In such case ")),e[22]||(e[22]=t("em",null,"Access Token",-1)),e[23]||(e[23]=n(" text field is replaced by the LOGIN")),e[24]||(e[24]=t("span",{class:"material-icons"},"login",-1)),e[25]||(e[25]=n(" button."))]),t("p",null,[e[27]||(e[27]=n("The procedure to create an admin login account is documented in ")),o(i,{to:"/docs/api/administrator.html"},{default:s(()=>e[26]||(e[26]=[n("Administrator API")])),_:1})]),e[39]||(e[39]=a('

      Tokens are not shared between API Explorer and web console

      Despite API Explorer appears to be part of web console, it is a separate application. At this point neither the access token nor the OIDC access token are shared between the two applications. You have to use API Explorer's Authorize button to authenticate even if you have logged into web console.

      OIDC authentication

      If you have configured OIDC, then the login button will direct you to OIDC provider's login page. Once login successfully, you will be redirected back to NoitfyBC web console. OIDC authentication status is indicated by the LOGOUTlogout button.

      ',3)),t("p",null,[e[29]||(e[29]=n("If you passed ")),o(i,{to:"/docs/config/oidc.html"},{default:s(()=>e[28]||(e[28]=[n("isAdmin")])),_:1}),e[30]||(e[30]=n(" validation, you are admin; otherwise you are authenticated user."))]),e[40]||(e[40]=a(`

      SiteMinder authentication

      To get results of a SiteMinder authenticated user, do one of the following

      • access the API via a SiteMinder proxy if you have configured SiteMinder properly
      • use a tool such as curl that allows to specify custom headers, and supply SiteMinder header SM_USER:
      curl -X GET --header "Accept: application/json" \\
      +import{_ as l,c as r,a as t,f as n,b as o,d as s,e as a,r as u,o as d}from"./app-vBJoMoyQ.js";const p={};function c(h,e){const i=u("RouteLink");return d(),r("div",null,[e[31]||(e[31]=t("h1",{id:"web-console",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#web-console"},[t("span",null,"Web Console")])],-1)),e[32]||(e[32]=t("p",null,[n("After "),t("a",{href:"../installation"},"installing"),n(),t("em",null,"NotifyBC"),n(", you can start exploring "),t("em",null,"NotifyBC"),n(" resources by opening web console, a curated GUI, at "),t("a",{href:"http://localhost:3000",target:"_blank",rel:"noopener noreferrer"},"http://localhost:3000"),n(". You can further explore full-blown APIs by clicking the API explorer Swagger UI embedded in web console.")],-1)),t("p",null,[e[1]||(e[1]=n("Consult the ")),o(i,{to:"/docs/api-overview/"},{default:s(()=>e[0]||(e[0]=[n("API docs")])),_:1}),e[2]||(e[2]=n(" for valid inputs and expected outcome while you are exploring the APIs. Once you are familiar with the APIs, you can start writing code to call the APIs from either user browser or from a server application."))]),e[33]||(e[33]=t("p",null,"What you see in web console and what you get from API calls depend on how your requests are authenticated.",-1)),e[34]||(e[34]=t("h2",{id:"ip-whitelisting-authentication",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#ip-whitelisting-authentication"},[t("span",null,"Ip whitelisting authentication")])],-1)),t("p",null,[e[5]||(e[5]=n("The API calls you made with API explorer as well as API calls made by web console from localhost are by default authenticated as ")),o(i,{to:"/docs/overview/#architecture"},{default:s(()=>e[3]||(e[3]=[n("super-admin requests")])),_:1}),e[6]||(e[6]=n(" because localhost is in ")),o(i,{to:"/docs/config-adminIpList/"},{default:s(()=>e[4]||(e[4]=[n("admin ip list")])),_:1}),e[7]||(e[7]=n(" by default. Ip whitelisting authentication status is indicated by the ")),e[8]||(e[8]=t("span",{class:"material-icons"},"verified_user",-1)),e[9]||(e[9]=n(" icon on top right corner of web console."))]),e[35]||(e[35]=t("p",null,"To see the result of non super-admin requests, you can choose one of the following methods",-1)),e[36]||(e[36]=t("ul",null,[t("li",null,"customize admin ip list to omit localhost (127.0.0.1)"),t("li",null,"access web console from another ip not in the admin ip list")],-1)),e[37]||(e[37]=t("h2",{id:"client-certificate-authentication",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#client-certificate-authentication"},[t("span",null,"Client certificate authentication")])],-1)),t("p",null,[e[11]||(e[11]=n("If your ip is not in the admin ip list but you have setup a client certificate issued by ")),e[12]||(e[12]=t("em",null,"NotifyBC",-1)),e[13]||(e[13]=n(" server in browser, the API calls you made with API explorer as well as API calls made by web console are also authenticated as ")),o(i,{to:"/docs/overview/#architecture"},{default:s(()=>e[10]||(e[10]=[n("super-admin requests")])),_:1}),e[14]||(e[14]=n(". Client certificate authentication status is indicated by the ")),e[15]||(e[15]=t("span",{class:"material-icons"},"verified",-1)),e[16]||(e[16]=n(" icon on top right corner of web console."))]),e[38]||(e[38]=a('

      Anonymous

      If you access web console from a client that is not in the admin ip list, you are by default anonymous user. Anonymous authentication status is indicated by the LOGINlogin button on top right corner of web console. Click the button to login.

      Access token authentication

      ',3)),t("p",null,[e[18]||(e[18]=n("If you have not configured ")),o(i,{to:"/docs/config/oidc.html"},{default:s(()=>e[17]||(e[17]=[n("OIDC")])),_:1}),e[19]||(e[19]=n(", the login button opens a login form. After successful login, the login button is replaced with the ")),e[20]||(e[20]=t("em",null,"Access Token",-1)),e[21]||(e[21]=n(" text field on top right corner of web console. You can edit the text field. If the new access token you entered is invalid, you are essentially logging yourself out. In such case ")),e[22]||(e[22]=t("em",null,"Access Token",-1)),e[23]||(e[23]=n(" text field is replaced by the LOGIN")),e[24]||(e[24]=t("span",{class:"material-icons"},"login",-1)),e[25]||(e[25]=n(" button."))]),t("p",null,[e[27]||(e[27]=n("The procedure to create an admin login account is documented in ")),o(i,{to:"/docs/api/administrator.html"},{default:s(()=>e[26]||(e[26]=[n("Administrator API")])),_:1})]),e[39]||(e[39]=a('

      Tokens are not shared between API Explorer and web console

      Despite API Explorer appears to be part of web console, it is a separate application. At this point neither the access token nor the OIDC access token are shared between the two applications. You have to use API Explorer's Authorize button to authenticate even if you have logged into web console.

      OIDC authentication

      If you have configured OIDC, then the login button will direct you to OIDC provider's login page. Once login successfully, you will be redirected back to NoitfyBC web console. OIDC authentication status is indicated by the LOGOUTlogout button.

      ',3)),t("p",null,[e[29]||(e[29]=n("If you passed ")),o(i,{to:"/docs/config/oidc.html"},{default:s(()=>e[28]||(e[28]=[n("isAdmin")])),_:1}),e[30]||(e[30]=n(" validation, you are admin; otherwise you are authenticated user."))]),e[40]||(e[40]=a(`

      SiteMinder authentication

      To get results of a SiteMinder authenticated user, do one of the following

      • access the API via a SiteMinder proxy if you have configured SiteMinder properly
      • use a tool such as curl that allows to specify custom headers, and supply SiteMinder header SM_USER:
      curl -X GET --header "Accept: application/json" \\
           --header "SM_USER: foo" \\
           "http://localhost:3000/api/notifications"
       
      `,4))])}const m=l(p,[["render",c],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/docs/web-console/","title":"Web Console","lang":"en-US","frontmatter":{"permalink":"/docs/web-console/"},"headers":[{"level":2,"title":"Ip whitelisting authentication","slug":"ip-whitelisting-authentication","link":"#ip-whitelisting-authentication","children":[]},{"level":2,"title":"Client certificate authentication","slug":"client-certificate-authentication","link":"#client-certificate-authentication","children":[]},{"level":2,"title":"Anonymous","slug":"anonymous","link":"#anonymous","children":[]},{"level":2,"title":"Access token authentication","slug":"access-token-authentication","link":"#access-token-authentication","children":[]},{"level":2,"title":"OIDC authentication","slug":"oidc-authentication","link":"#oidc-authentication","children":[]},{"level":2,"title":"SiteMinder authentication","slug":"siteminder-authentication","link":"#siteminder-authentication","children":[]}],"git":{},"filePathRelative":"docs/getting-started/web-console.md"}');export{m as comp,b as data}; diff --git a/version/6.0/assets/index.html-5_Xpsz4y.js b/version/6.0/assets/index.html-CIdghn5g.js similarity index 95% rename from version/6.0/assets/index.html-5_Xpsz4y.js rename to version/6.0/assets/index.html-CIdghn5g.js index c72254e8b..7a8a2ea3a 100644 --- a/version/6.0/assets/index.html-5_Xpsz4y.js +++ b/version/6.0/assets/index.html-CIdghn5g.js @@ -1 +1 @@ -import{_ as i,c as a,e as o,o as t}from"./app-chHFUe1n.js";const r={};function n(l,e){return t(),a("div",null,e[0]||(e[0]=[o('

      API Overview

      NotifyBC's core function is implemented by two models - subscription and notification. Other models - configuration, administrator and bounces etc, are for administrative purposes. A model determines the underlying database schema and the API. The APIs displayed in the web console (by default http://localhost:3000) and API explorer are also grouped by models. Click on a model in API explorer, say notification, to explore the operations on that model. Model specific APIs are available here:

      ',3)]))}const c=i(r,[["render",n],["__file","index.html.vue"]]),d=JSON.parse('{"path":"/docs/api-overview/","title":"API Overview","lang":"en-US","frontmatter":{"permalink":"/docs/api-overview/","prev":"/docs/config-logging/"},"headers":[],"git":{},"filePathRelative":"docs/api/overview.md"}');export{c as comp,d as data}; +import{_ as i,c as a,e as o,o as t}from"./app-vBJoMoyQ.js";const r={};function n(l,e){return t(),a("div",null,e[0]||(e[0]=[o('

      API Overview

      NotifyBC's core function is implemented by two models - subscription and notification. Other models - configuration, administrator and bounces etc, are for administrative purposes. A model determines the underlying database schema and the API. The APIs displayed in the web console (by default http://localhost:3000) and API explorer are also grouped by models. Click on a model in API explorer, say notification, to explore the operations on that model. Model specific APIs are available here:

      ',3)]))}const c=i(r,[["render",n],["__file","index.html.vue"]]),d=JSON.parse('{"path":"/docs/api-overview/","title":"API Overview","lang":"en-US","frontmatter":{"permalink":"/docs/api-overview/","prev":"/docs/config-logging/"},"headers":[],"git":{},"filePathRelative":"docs/api/overview.md"}');export{c as comp,d as data}; diff --git a/version/6.0/assets/index.html-Bv1QZ-J4.js b/version/6.0/assets/index.html-CT0iXDKJ.js similarity index 99% rename from version/6.0/assets/index.html-Bv1QZ-J4.js rename to version/6.0/assets/index.html-CT0iXDKJ.js index e9258c7b4..0ad2296c1 100644 --- a/version/6.0/assets/index.html-Bv1QZ-J4.js +++ b/version/6.0/assets/index.html-CT0iXDKJ.js @@ -1,4 +1,4 @@ -import{_ as n,c as t,e as s,a as i,o as l}from"./app-chHFUe1n.js";const r={},o=["src"];function p(a,e){return l(),t("div",null,[e[0]||(e[0]=s(`

      Administrator

      The administrator API provides knowledge factor authentication to identify admin request by access token (aka API token in other literatures) associated with a registered administrator maintained in NotifyBC database. Because knowledge factor authentication is vulnerable to brute-force attack, administrator API based access token authentication is less favorable than admin ip list, client certificate, or OIDC authentication.

      Avoid Administrator API

      Administrator API was created to circumvent an OpenShift limitation - the source ip of a request initiated from an OpenShift pod cannot be exclusively allocated to the pod's project, rather it has to be shared by all OpenShift projects. Therefore it's difficult to impose granular access control based on source ip.

      With the introduction client certificate in v2.4.0, most use cases, if not all, that need Administrator API including the OpenShift use case mentioned above can be addressed by client certificate. Therefore only use Administrator API sparingly as last resort.

      To enable access token authentication,

      1. a super-admin signs up an administrator

        For example,

        curl -X POST "http://localhost:3000/api/administrators" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\\"username\\":\\"Foo\\",\\"email\\":\\"user@example.com\\",\\"password\\":\\"secret\\"}"
        +import{_ as n,c as t,e as s,a as i,o as l}from"./app-vBJoMoyQ.js";const r={},o=["src"];function p(a,e){return l(),t("div",null,[e[0]||(e[0]=s(`

        Administrator

        The administrator API provides knowledge factor authentication to identify admin request by access token (aka API token in other literatures) associated with a registered administrator maintained in NotifyBC database. Because knowledge factor authentication is vulnerable to brute-force attack, administrator API based access token authentication is less favorable than admin ip list, client certificate, or OIDC authentication.

        Avoid Administrator API

        Administrator API was created to circumvent an OpenShift limitation - the source ip of a request initiated from an OpenShift pod cannot be exclusively allocated to the pod's project, rather it has to be shared by all OpenShift projects. Therefore it's difficult to impose granular access control based on source ip.

        With the introduction client certificate in v2.4.0, most use cases, if not all, that need Administrator API including the OpenShift use case mentioned above can be addressed by client certificate. Therefore only use Administrator API sparingly as last resort.

        To enable access token authentication,

        1. a super-admin signs up an administrator

          For example,

          curl -X POST "http://localhost:3000/api/administrators" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\\"username\\":\\"Foo\\",\\"email\\":\\"user@example.com\\",\\"password\\":\\"secret\\"}"
           

          The step can also be completed in web console using add button in Administrators panel.

        2. Either super-admin or the user login to generate an access token

          For example,

          curl -X POST "http://localhost:3000/api/administrators/login" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{\\"email\\":\\"user@example.com\\",\\"password\\":\\"secret\\",\\"tokenName\\":\\"myApp\\"}"
           

          The step can also be completed in web console GUI by an anonymous user using login button at top right corner. Access token generated by GUI is valid for 12hrs.

        3. Apply access token to either Authorization header or access_token query parameter to make authenticated requests. For example, to get a list of notifications

          ACCESS_TOKEN=6Nb2ti5QEXIoDBS5FQGWIz4poRFiBCMMYJbYXSGHWuulOuy0GTEuGx2VCEVvbpBK
           
          diff --git a/version/6.0/assets/index.html-695X2kFR.js b/version/6.0/assets/index.html-CdnCic9I.js
          similarity index 99%
          rename from version/6.0/assets/index.html-695X2kFR.js
          rename to version/6.0/assets/index.html-CdnCic9I.js
          index c40edeb78..4f887a0bc 100644
          --- a/version/6.0/assets/index.html-695X2kFR.js
          +++ b/version/6.0/assets/index.html-CdnCic9I.js
          @@ -1,4 +1,4 @@
          -import{_ as n,c as o,e as s,a as t,f as a,b as r,d as l,r as d,o as p}from"./app-chHFUe1n.js";const c={};function u(m,e){const i=d("RouteLink");return p(),o("div",null,[e[12]||(e[12]=s(`

          Notification

          The notification API encapsulates the backend workflow of staging and dispatching a message to targeted user after receiving the message from event source.

          Depending on whether an API call comes from user browser as a user request or from an authorized server application as an admin request, NotifyBC applies different permissions. Admin request allows full CRUD operations. An authenticated user request, on the other hand, are only allowed to get a list of in-app pull notifications targeted to the current user and changing the state of the notifications. An unauthenticated user request can not access any API.

          When a notification is created by the event source server application, the message is saved to database prior to responding to API caller. In addition, for push notification, the message is delivered immediately, i.e. the API call is synchronous. For in-app pull notification, the message, which by default is in state new, can be retrieved later on by browser user request. A user request can only get the list of in-app messages targeted to the current user. A user request can then change the message state to read or deleted depending on user action. A deleted message cannot be retrieved subsequently by user requests, but the state can be updated given the correct id.

          Deleted message is still kept in database.

          NotifyBC provides API for deleting a notification. For the purpose of auditing and recovery, this API only marks the state field as deleted rather than deleting the record from database.

          undo in-app notification deletion within a session

          Because "deleted" message is still kept in database, you can implement undo feature for in-app notification as long as the message id is retained prior to deletion within the current session. To undo, call update API to set desired state.

          In-app pull notification also supports message expiration by setting a date in field validTill. An expired message cannot be retrieved by user requests.

          A message, regardless of push or pull, can be unicast or broadcast. A unicast message is intended for an individual user whereas a broadcast message is intended for all confirmed subscribers of a service. A unicast message must have field userChannelId populated. The value of userChannelId is channel dependent. In the case of email for example, this would be user's email address. A broadcast message must set isBroadcast to true and leave userChannelId empty.

          Why field isBroadcast?

          Unicast and broadcast message can be distinguished by whether field userChannelId is empty or not alone. So why the extra field isBroadcast? This is in order to prevent inadvertent marking a unicast message broadcast by omitting userChannelId or populating it with empty value. The precaution is necessary because in-app notifications may contain personalized and confidential information.

          NotifyBC ensures the state of an in-app broadcast message is isolated by user, so that for example, a message read by one user is still new to another user. To achieve this, NotifyBC maintains two internal fields of array type - readBy and deletedBy. When a user request updates the state field of an in-app broadcast message to read or deleted, instead of altering the state field, NotifyBC appends the current user to readBy or deletedBy list. When user request retrieving in-app messages, the state field of the broadcast message in HTTP response is updated based on whether the user exists in field deletedBy and readBy. If existing in both fields, deletedBy takes precedence (the message therefore is not returned). The record in database, meanwhile, is unchanged. Neither field deletedBy nor readBy is visible to user request.

          Model Schema

          The API operates on following notification data model fields:

          NameAttributes

          id

          notification id

          typestring, format depends on db
          auto-generatedtrue

          serviceName

          name of the service

          typestring
          requiredtrue

          channel

          name of the delivery channel. Valid values: inApp, email, sms.

          typestring
          requiredtrue
          defaultinApp

          userChannelId

          user's delivery channel id, for example, email address. For unicast inApp notification, this is authenticated user id. When sending unicast push notification, either userChannelId or userId is required.

          typestring
          requiredfalse

          userId

          authenticated user id. When sending unicast push notification, either userChannelId or userId is required.

          typestring
          requiredfalse

          state

          state of notification. Valid values: new, read (inApp only), deleted (inApp only), sent (push only) or error. For inApp broadcast notification, if the user has read or deleted the message, the value of this field retrieved by admin request will still be new. The state for the user is tracked in fields readBy and deletedBy in such case. For user request, the value contains correct state.

          typestring
          requiredtrue
          defaultnew

          created

          date and time of creation

          typedate
          auto-generatedtrue

          updated

          date and time of last update

          typedate
          auto-generatedtrue

          isBroadcast

          whether it's a broadcast message. A broadcast message should omit userChannelId and userId, in addition to setting isBroadcast to true

          typeboolean
          requiredfalse
          defaultfalse

          skipSubscriptionConfirmationCheck

          When sending unicast push notification, whether or not to verify if the recipient has a confirmed subscription. This field allows subscription information be kept elsewhere and NotifyBC be used as a unicast push notification gateway only.

          typeboolean
          requiredfalse
          defaultfalse

          validTill

          expiration date-time of the message. Applicable to inApp notification only.

          typedate
          requiredfalse

          invalidBefore

          date-time in the future after which the notification can be dispatched.

          typedate
          requiredfalse

          message

          an object whose child fields are channel dependent:
          • for inApp, NotifyBC doesn't have any restriction as long as web application can handle the message. subject and body are common examples.
          • for email: from, subject, textBody, htmlBody
            • type: string
            • these are email template fields.
          • for sms: textBody
            • type: string
            • sms message template.
          Mail merge is performed on email and sms message templates.
          typeobject
          requiredtrue

          httpHost

          This field is used to replace token {http_host} in push notification message template during mail merge and overrides config httpHost.

          typestring
          requiredfalse
          default<http protocol, host and port of current request> for push notification

          asyncBroadcastPushNotification

          this field determines if the API call to create an immediate (i.e. not future-dated) broadcast push notification is asynchronous or not. If omitted, the API call is synchronous, i.e. the API call blocks until notifications to all subscribers have been dispatched. If set, valid values and corresponding behaviors are
          • true - async without callback
          • false - sync
          • a string containing callback url - async with a POST call to the supplied callback url upon completion
          When posting to a service with large number of subscribers, it is highly recommended to set the API call to asynchronous, i.e. setting the value to true or supplying a callback.
          typestring or boolean
          requiredfalse
          defaultfalse

          data

          the event that triggers the notification, for example, a RSS feed item when the notification is generated automatically by RSS cron job. Field data serves two purposes
          • to replace dynamic tokens in message template fields
          • to match against filter defined in subscription field broadcastPushNotificationFilter, if supplied, for broadcast push notifications to determine if the notification should be delivered to the subscriber
          typeobject
          requiredfalse

          broadcastPushNotificationSubscriptionFilter

          a string conforming to jmespath filter expressions syntax after the question mark (?). The filter is matched against the data field of the subscription. Examples of filter
          • simple
            province == 'BC'
          • calling jmespath's built-in functions
            contains(province,'B')
          • calling custom filter functions
            contains_ci(province,'b')
          • compound
            (contains(province,'BC') || contains_ci(province,'b')) && city == 'Victoria'
          All of above filters will match data object {"province": "BC", "city": "Victoria"}
          typestring
          requiredfalse

          readBy

          this is an internal field to track the list of users who have read an inApp broadcast message. It's not visible to a user request.

          typearray
          requiredfalse
          auto-generatedtrue

          deletedBy

          this is an internal field to track the list of users who have marked an inApp broadcast message as deleted. It's not visible to a user request.

          typearray
          requiredfalse
          auto-generatedtrue

          dispatch

          this is an internal field to track the broadcast push notification dispatch outcome. It consists of up to four arrays

          • failed - a list of objects containing subscription IDs and error of failed dispatching
          • successful - a list of strings containing subscription IDs of successful dispatching
          • skipped - a list of strings containing subscription IDs of skipped dispatching
          • candidates - a list of strings containing IDs of confirmed subscriptions to the service. Dispatching to a subscription is subject to filtering.
          typeobject
          requiredfalse
          auto-generatedtrue

          Get Notifications

          GET /notifications
          +import{_ as n,c as o,e as s,a as t,f as a,b as r,d as l,r as d,o as p}from"./app-vBJoMoyQ.js";const c={};function u(m,e){const i=d("RouteLink");return p(),o("div",null,[e[12]||(e[12]=s(`

          Notification

          The notification API encapsulates the backend workflow of staging and dispatching a message to targeted user after receiving the message from event source.

          Depending on whether an API call comes from user browser as a user request or from an authorized server application as an admin request, NotifyBC applies different permissions. Admin request allows full CRUD operations. An authenticated user request, on the other hand, are only allowed to get a list of in-app pull notifications targeted to the current user and changing the state of the notifications. An unauthenticated user request can not access any API.

          When a notification is created by the event source server application, the message is saved to database prior to responding to API caller. In addition, for push notification, the message is delivered immediately, i.e. the API call is synchronous. For in-app pull notification, the message, which by default is in state new, can be retrieved later on by browser user request. A user request can only get the list of in-app messages targeted to the current user. A user request can then change the message state to read or deleted depending on user action. A deleted message cannot be retrieved subsequently by user requests, but the state can be updated given the correct id.

          Deleted message is still kept in database.

          NotifyBC provides API for deleting a notification. For the purpose of auditing and recovery, this API only marks the state field as deleted rather than deleting the record from database.

          undo in-app notification deletion within a session

          Because "deleted" message is still kept in database, you can implement undo feature for in-app notification as long as the message id is retained prior to deletion within the current session. To undo, call update API to set desired state.

          In-app pull notification also supports message expiration by setting a date in field validTill. An expired message cannot be retrieved by user requests.

          A message, regardless of push or pull, can be unicast or broadcast. A unicast message is intended for an individual user whereas a broadcast message is intended for all confirmed subscribers of a service. A unicast message must have field userChannelId populated. The value of userChannelId is channel dependent. In the case of email for example, this would be user's email address. A broadcast message must set isBroadcast to true and leave userChannelId empty.

          Why field isBroadcast?

          Unicast and broadcast message can be distinguished by whether field userChannelId is empty or not alone. So why the extra field isBroadcast? This is in order to prevent inadvertent marking a unicast message broadcast by omitting userChannelId or populating it with empty value. The precaution is necessary because in-app notifications may contain personalized and confidential information.

          NotifyBC ensures the state of an in-app broadcast message is isolated by user, so that for example, a message read by one user is still new to another user. To achieve this, NotifyBC maintains two internal fields of array type - readBy and deletedBy. When a user request updates the state field of an in-app broadcast message to read or deleted, instead of altering the state field, NotifyBC appends the current user to readBy or deletedBy list. When user request retrieving in-app messages, the state field of the broadcast message in HTTP response is updated based on whether the user exists in field deletedBy and readBy. If existing in both fields, deletedBy takes precedence (the message therefore is not returned). The record in database, meanwhile, is unchanged. Neither field deletedBy nor readBy is visible to user request.

          Model Schema

          The API operates on following notification data model fields:

          NameAttributes

          id

          notification id

          typestring, format depends on db
          auto-generatedtrue

          serviceName

          name of the service

          typestring
          requiredtrue

          channel

          name of the delivery channel. Valid values: inApp, email, sms.

          typestring
          requiredtrue
          defaultinApp

          userChannelId

          user's delivery channel id, for example, email address. For unicast inApp notification, this is authenticated user id. When sending unicast push notification, either userChannelId or userId is required.

          typestring
          requiredfalse

          userId

          authenticated user id. When sending unicast push notification, either userChannelId or userId is required.

          typestring
          requiredfalse

          state

          state of notification. Valid values: new, read (inApp only), deleted (inApp only), sent (push only) or error. For inApp broadcast notification, if the user has read or deleted the message, the value of this field retrieved by admin request will still be new. The state for the user is tracked in fields readBy and deletedBy in such case. For user request, the value contains correct state.

          typestring
          requiredtrue
          defaultnew

          created

          date and time of creation

          typedate
          auto-generatedtrue

          updated

          date and time of last update

          typedate
          auto-generatedtrue

          isBroadcast

          whether it's a broadcast message. A broadcast message should omit userChannelId and userId, in addition to setting isBroadcast to true

          typeboolean
          requiredfalse
          defaultfalse

          skipSubscriptionConfirmationCheck

          When sending unicast push notification, whether or not to verify if the recipient has a confirmed subscription. This field allows subscription information be kept elsewhere and NotifyBC be used as a unicast push notification gateway only.

          typeboolean
          requiredfalse
          defaultfalse

          validTill

          expiration date-time of the message. Applicable to inApp notification only.

          typedate
          requiredfalse

          invalidBefore

          date-time in the future after which the notification can be dispatched.

          typedate
          requiredfalse

          message

          an object whose child fields are channel dependent:
          • for inApp, NotifyBC doesn't have any restriction as long as web application can handle the message. subject and body are common examples.
          • for email: from, subject, textBody, htmlBody
            • type: string
            • these are email template fields.
          • for sms: textBody
            • type: string
            • sms message template.
          Mail merge is performed on email and sms message templates.
          typeobject
          requiredtrue

          httpHost

          This field is used to replace token {http_host} in push notification message template during mail merge and overrides config httpHost.

          typestring
          requiredfalse
          default<http protocol, host and port of current request> for push notification

          asyncBroadcastPushNotification

          this field determines if the API call to create an immediate (i.e. not future-dated) broadcast push notification is asynchronous or not. If omitted, the API call is synchronous, i.e. the API call blocks until notifications to all subscribers have been dispatched. If set, valid values and corresponding behaviors are
          • true - async without callback
          • false - sync
          • a string containing callback url - async with a POST call to the supplied callback url upon completion
          When posting to a service with large number of subscribers, it is highly recommended to set the API call to asynchronous, i.e. setting the value to true or supplying a callback.
          typestring or boolean
          requiredfalse
          defaultfalse

          data

          the event that triggers the notification, for example, a RSS feed item when the notification is generated automatically by RSS cron job. Field data serves two purposes
          • to replace dynamic tokens in message template fields
          • to match against filter defined in subscription field broadcastPushNotificationFilter, if supplied, for broadcast push notifications to determine if the notification should be delivered to the subscriber
          typeobject
          requiredfalse

          broadcastPushNotificationSubscriptionFilter

          a string conforming to jmespath filter expressions syntax after the question mark (?). The filter is matched against the data field of the subscription. Examples of filter
          • simple
            province == 'BC'
          • calling jmespath's built-in functions
            contains(province,'B')
          • calling custom filter functions
            contains_ci(province,'b')
          • compound
            (contains(province,'BC') || contains_ci(province,'b')) && city == 'Victoria'
          All of above filters will match data object {"province": "BC", "city": "Victoria"}
          typestring
          requiredfalse

          readBy

          this is an internal field to track the list of users who have read an inApp broadcast message. It's not visible to a user request.

          typearray
          requiredfalse
          auto-generatedtrue

          deletedBy

          this is an internal field to track the list of users who have marked an inApp broadcast message as deleted. It's not visible to a user request.

          typearray
          requiredfalse
          auto-generatedtrue

          dispatch

          this is an internal field to track the broadcast push notification dispatch outcome. It consists of up to four arrays

          • failed - a list of objects containing subscription IDs and error of failed dispatching
          • successful - a list of strings containing subscription IDs of successful dispatching
          • skipped - a list of strings containing subscription IDs of skipped dispatching
          • candidates - a list of strings containing IDs of confirmed subscriptions to the service. Dispatching to a subscription is subject to filtering.
          typeobject
          requiredfalse
          auto-generatedtrue

          Get Notifications

          GET /notifications
           
          • permissions required, one of

            • super admin
            • admin
            • authenticated user
          • inputs

            • a filter containing properties where, fields, order, skip, and limit

              • parameter name: filter
              • required: false
              • parameter type: query
              • data type: object

              The filter can be expressed as either

              1. URL-encoded stringified JSON object (see example below); or
              2. in the format supported by qs, for example ?filter[where][created][$gte]="2023-01-01"&filter[where][created][$lt]="2024-01-01"

              Regardless, the filter will have to be parsed into a JSON object conforming to

              {
                   "where": {...},
                   "fields": ...,
              diff --git a/version/6.0/assets/index.html-B8SjLLwK.js b/version/6.0/assets/index.html-CmRWUrpB.js
              similarity index 97%
              rename from version/6.0/assets/index.html-B8SjLLwK.js
              rename to version/6.0/assets/index.html-CmRWUrpB.js
              index 782256b72..d52fd4fbd 100644
              --- a/version/6.0/assets/index.html-B8SjLLwK.js
              +++ b/version/6.0/assets/index.html-CmRWUrpB.js
              @@ -1 +1 @@
              -import{_ as r,c as t,e as o,o as n}from"./app-chHFUe1n.js";const a={};function l(i,e){return n(),t("div",null,e[0]||(e[0]=[o('

              Acknowledgments

              NotifyBC is built on a myriad of open source software. At runtime it also depends on a few services. Credit goes to their contributors. Notably

              ',3)]))}const f=r(a,[["render",l],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/docs/acknowledgments/","title":"Acknowledgments","lang":"en-US","frontmatter":{"permalink":"/docs/acknowledgments/"},"headers":[],"git":{},"filePathRelative":"docs/meta/acknowledgments.md"}');export{f as comp,p as data}; +import{_ as r,c as t,e as o,o as n}from"./app-vBJoMoyQ.js";const a={};function l(i,e){return n(),t("div",null,e[0]||(e[0]=[o('

              Acknowledgments

              NotifyBC is built on a myriad of open source software. At runtime it also depends on a few services. Credit goes to their contributors. Notably

              ',3)]))}const f=r(a,[["render",l],["__file","index.html.vue"]]),p=JSON.parse('{"path":"/docs/acknowledgments/","title":"Acknowledgments","lang":"en-US","frontmatter":{"permalink":"/docs/acknowledgments/"},"headers":[],"git":{},"filePathRelative":"docs/meta/acknowledgments.md"}');export{f as comp,p as data}; diff --git a/version/6.0/assets/index.html-BM5XCQfi.js b/version/6.0/assets/index.html-CpY-JuB8.js similarity index 99% rename from version/6.0/assets/index.html-BM5XCQfi.js rename to version/6.0/assets/index.html-CpY-JuB8.js index f23e70c02..c0eaef5d9 100644 --- a/version/6.0/assets/index.html-BM5XCQfi.js +++ b/version/6.0/assets/index.html-CpY-JuB8.js @@ -1,4 +1,4 @@ -import{_ as a,c as n,e as i,o as t}from"./app-chHFUe1n.js";const s={};function l(r,e){return t(),n("div",null,e[0]||(e[0]=[i(`

              Configuration

              The configuration API, accessible by only super-admin requests, is used to define dynamic configurations. Dynamic configuration is needed in situations like

              • RSA key pair generated automatically at boot time if not present
              • service-specific subscription confirmation request message template

              Model Schema

              The API operates on following configuration data model fields:

              NameAttributes

              id

              config id

              typestring, format depends on db
              auto-generatedtrue

              name

              config name

              typestring
              requiredtrue

              value

              config value.
              typeobject
              requiredtrue

              serviceName

              name of the service the config applicable to

              typestring
              requiredfalse

              Get Configurations

              GET /configurations
              +import{_ as a,c as n,e as i,o as t}from"./app-vBJoMoyQ.js";const s={};function l(r,e){return t(),n("div",null,e[0]||(e[0]=[i(`

              Configuration

              The configuration API, accessible by only super-admin requests, is used to define dynamic configurations. Dynamic configuration is needed in situations like

              • RSA key pair generated automatically at boot time if not present
              • service-specific subscription confirmation request message template

              Model Schema

              The API operates on following configuration data model fields:

              NameAttributes

              id

              config id

              typestring, format depends on db
              auto-generatedtrue

              name

              config name

              typestring
              requiredtrue

              value

              config value.
              typeobject
              requiredtrue

              serviceName

              name of the service the config applicable to

              typestring
              requiredfalse

              Get Configurations

              GET /configurations
               
              • permissions required, one of

                • super admin
                • admin
              • inputs

                • a filter containing properties where, fields, order, skip, and limit

                  • parameter name: filter
                  • required: false
                  • parameter type: query
                  • data type: object

                  The filter can be expressed as either

                  1. URL-encoded stringified JSON object (see example below); or
                  2. in the format supported by qs, for example ?filter[where][created][$gte]="2023-01-01"&filter[where][created][$lt]="2024-01-01"

                  Regardless, the filter will have to be parsed into a JSON object conforming to

                  {
                       "where": {...},
                       "fields": ...,
                  diff --git a/version/6.0/assets/index.html-4mIcMI6b.js b/version/6.0/assets/index.html-CqA6xmjl.js
                  similarity index 91%
                  rename from version/6.0/assets/index.html-4mIcMI6b.js
                  rename to version/6.0/assets/index.html-CqA6xmjl.js
                  index 724ccb69b..717700424 100644
                  --- a/version/6.0/assets/index.html-4mIcMI6b.js
                  +++ b/version/6.0/assets/index.html-CqA6xmjl.js
                  @@ -1,4 +1,4 @@
                  -import{_ as s,c as n,e as t,o as a}from"./app-chHFUe1n.js";const i={};function r(o,e){return a(),n("div",null,e[0]||(e[0]=[t(`

                  Reverse Proxy IP Lists

                  SiteMinder, being a gateway approached SSO solution, expects the backend HTTP access point of the web sites it protests to be firewall restricted, otherwise the SiteMinder injected HTTP headers can be easily spoofed. However, the restriction cannot be easily implemented on PAAS such as OpenShift. To mitigate, two configuration objects are introduced to create an application-level firewall, both are arrays of ip addresses in the format of dot-decimal or CIDR notation

                  • siteMinderReverseProxyIps contains a list of ips or ranges of SiteMinder Web Agents. If set, then the SiteMinder HTTP headers are trusted only if the request is routed from the listed nodes.
                  • trustedReverseProxyIps contains a list of ips or ranges of trusted reverse proxies. If NotifyBC is placed behind SiteMinder Web Agents, then trusted reverse proxies should include only those between SiteMinder Web Agents and NotifyBC application. When running on OpenShift, this is usually the OpenShift router. Express.js trust proxy is set to this config object.

                  By default trustedReverseProxyIps is empty and siteMinderReverseProxyIps contains only localhost as defined in /src/config.ts

                  module.exports = {
                  +import{_ as s,c as n,e as t,o as a}from"./app-vBJoMoyQ.js";const i={};function r(o,e){return a(),n("div",null,e[0]||(e[0]=[t(`

                  Reverse Proxy IP Lists

                  SiteMinder, being a gateway approached SSO solution, expects the backend HTTP access point of the web sites it protests to be firewall restricted, otherwise the SiteMinder injected HTTP headers can be easily spoofed. However, the restriction cannot be easily implemented on PAAS such as OpenShift. To mitigate, two configuration objects are introduced to create an application-level firewall, both are arrays of ip addresses in the format of dot-decimal or CIDR notation

                  • siteMinderReverseProxyIps contains a list of ips or ranges of SiteMinder Web Agents. If set, then the SiteMinder HTTP headers are trusted only if the request is routed from the listed nodes.
                  • trustedReverseProxyIps contains a list of ips or ranges of trusted reverse proxies. If NotifyBC is placed behind SiteMinder Web Agents, then trusted reverse proxies should include only those between SiteMinder Web Agents and NotifyBC application. When running on OpenShift, this is usually the OpenShift router. Express.js trust proxy is set to this config object.

                  By default trustedReverseProxyIps is empty and siteMinderReverseProxyIps contains only localhost as defined in src/config.ts

                  module.exports = {
                     siteMinderReverseProxyIps: ['127.0.0.1'],
                   };
                   

                  To modify, add following objects to file /src/config.local.js

                  module.exports = {
                  diff --git a/version/6.0/assets/index.html-DbNk_WEB.js b/version/6.0/assets/index.html-CvsLncfy.js
                  similarity index 77%
                  rename from version/6.0/assets/index.html-DbNk_WEB.js
                  rename to version/6.0/assets/index.html-CvsLncfy.js
                  index 993962bbd..68fa5dbf4 100644
                  --- a/version/6.0/assets/index.html-DbNk_WEB.js
                  +++ b/version/6.0/assets/index.html-CvsLncfy.js
                  @@ -1,7 +1,7 @@
                  -import{_ as t,c as i,a as n,f as e,b as p,d as o,e as l,r,o as d}from"./app-chHFUe1n.js";const u={};function c(m,s){const a=r("RouteLink");return d(),i("div",null,[s[10]||(s[10]=n("h1",{id:"admin-ip-list",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#admin-ip-list"},[n("span",null,"Admin IP List")])],-1)),n("p",null,[s[1]||(s[1]=e("By ")),p(a,{to:"/docs/overview/#architecture"},{default:o(()=>s[0]||(s[0]=[e("design")])),_:1}),s[2]||(s[2]=e(", ")),s[3]||(s[3]=n("em",null,"NotifyBC",-1)),s[4]||(s[4]=e(" classifies incoming requests into four types. For a request to be classified as super-admin, the request's source ip must be in admin ip list. By default, the list contains ")),s[5]||(s[5]=n("em",null,"localhost",-1)),s[6]||(s[6]=e(" only as defined by ")),s[7]||(s[7]=n("em",null,"adminIps",-1)),s[8]||(s[8]=e(" in ")),s[9]||(s[9]=n("em",null,"/src/config.ts",-1))]),s[11]||(s[11]=l(`
                  module.exports = {
                  +import{_ as t,c as i,a as n,f as e,b as p,d as o,e as l,r,o as d}from"./app-vBJoMoyQ.js";const u={};function c(m,s){const a=r("RouteLink");return d(),i("div",null,[s[10]||(s[10]=n("h1",{id:"admin-ip-list",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#admin-ip-list"},[n("span",null,"Admin IP List")])],-1)),n("p",null,[s[1]||(s[1]=e("By ")),p(a,{to:"/docs/overview/#architecture"},{default:o(()=>s[0]||(s[0]=[e("design")])),_:1}),s[2]||(s[2]=e(", ")),s[3]||(s[3]=n("em",null,"NotifyBC",-1)),s[4]||(s[4]=e(" classifies incoming requests into four types. For a request to be classified as super-admin, the request's source ip must be in admin ip list. By default, the list contains ")),s[5]||(s[5]=n("em",null,"localhost",-1)),s[6]||(s[6]=e(" only as defined by ")),s[7]||(s[7]=n("em",null,"adminIps",-1)),s[8]||(s[8]=e(" in ")),s[9]||(s[9]=n("em",null,"src/config.ts",-1))]),s[11]||(s[11]=l(`
                  module.exports = {
                     adminIps: ['127.0.0.1'],
                   };
                  -

                  to modify, create config object adminIps with updated list in file /src/config.local.js instead. For example, to add ip range 192.168.0.0/24 to the list

                  module.exports = {
                  +

                  to modify, create config object adminIps with updated list in file src/config.local.js instead. For example, to add ip range 192.168.0.0/24 to the list

                  module.exports = {
                     adminIps: ['127.0.0.1', '192.168.0.0/24'],
                   };
                   

                  It should be noted that NotifyBC may generate http requests sending to itself. These http requests are expected to be admin requests. If you have created an app cluster such as in Kubernetes, you should add the cluster ip range to adminIps. In Kubernetes, this ip range is a private ip range. For example, in BCGov's OpenShift cluster OCP4, the ip range starts with octet 10.

                  `,4))])}const f=t(u,[["render",c],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/docs/config-adminIpList/","title":"Admin IP List","lang":"en-US","frontmatter":{"permalink":"/docs/config-adminIpList/"},"headers":[],"git":{},"filePathRelative":"docs/config/adminIpList.md"}');export{f as comp,g as data}; diff --git a/version/6.0/assets/index.html-DEMy058b.js b/version/6.0/assets/index.html-Cwhy2wJe.js similarity index 99% rename from version/6.0/assets/index.html-DEMy058b.js rename to version/6.0/assets/index.html-Cwhy2wJe.js index 664a9d610..bb0d07cc1 100644 --- a/version/6.0/assets/index.html-DEMy058b.js +++ b/version/6.0/assets/index.html-Cwhy2wJe.js @@ -1,4 +1,4 @@ -import{_ as o,c as l,a as e,f as n,b as a,d as i,e as r,r as p,o as u}from"./app-chHFUe1n.js";const c={};function d(m,s){const t=p("RouteLink");return u(),l("div",null,[s[11]||(s[11]=e("h1",{id:"bulk-import",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#bulk-import"},[e("span",null,"Bulk Import")])],-1)),s[12]||(s[12]=e("p",null,[n("To migrate subscriptions from other notification systems, you can use "),e("a",{href:"https://www.mongodb.com/docs/database-tools/mongoimport/",target:"_blank",rel:"noopener noreferrer"},"mongoimport"),n(". "),e("em",null,"NotifyBC"),n(" also provides a utility script to bulk import subscription data from a .csv file. To use the utility, you need")],-1)),e("ul",null,[s[10]||(s[10]=e("li",null,[n("Software installed "),e("ul",null,[e("li",null,"Node.js"),e("li",null,"Git")])],-1)),e("li",null,[s[1]||(s[1]=n("Admin Access to a ")),s[2]||(s[2]=e("em",null,"NotifyBC",-1)),s[3]||(s[3]=n(" instance by adding your client ip to the ")),a(t,{to:"/docs/config-adminIpList/"},{default:i(()=>s[0]||(s[0]=[n("Admin IP List")])),_:1})]),e("li",null,[s[5]||(s[5]=n("a csv file with header row matching ")),a(t,{to:"/docs/api-subscription/#model-schema"},{default:i(()=>s[4]||(s[4]=[n("subscription model schema")])),_:1}),s[6]||(s[6]=n(". A sample csv file is ")),s[7]||(s[7]=e("a",{href:"https://github.com/bcgov/NotifyBC/tree/main/src/utils/bulk-import/sample-subscription.csv",target:"_blank",rel:"noopener noreferrer"},"provided",-1)),s[8]||(s[8]=n(". Compound fields (of object type) should be dot-flattened as shown in the sample for field ")),s[9]||(s[9]=e("em",null,"confirmationRequest.sendRequest",-1))])]),s[13]||(s[13]=r(`

                  To run the utility

                  git clone https://github.com/bcgov/NotifyBC.git
                  +import{_ as o,c as l,a as e,f as n,b as a,d as i,e as r,r as p,o as u}from"./app-vBJoMoyQ.js";const c={};function d(m,s){const t=p("RouteLink");return u(),l("div",null,[s[11]||(s[11]=e("h1",{id:"bulk-import",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#bulk-import"},[e("span",null,"Bulk Import")])],-1)),s[12]||(s[12]=e("p",null,[n("To migrate subscriptions from other notification systems, you can use "),e("a",{href:"https://www.mongodb.com/docs/database-tools/mongoimport/",target:"_blank",rel:"noopener noreferrer"},"mongoimport"),n(". "),e("em",null,"NotifyBC"),n(" also provides a utility script to bulk import subscription data from a .csv file. To use the utility, you need")],-1)),e("ul",null,[s[10]||(s[10]=e("li",null,[n("Software installed "),e("ul",null,[e("li",null,"Node.js"),e("li",null,"Git")])],-1)),e("li",null,[s[1]||(s[1]=n("Admin Access to a ")),s[2]||(s[2]=e("em",null,"NotifyBC",-1)),s[3]||(s[3]=n(" instance by adding your client ip to the ")),a(t,{to:"/docs/config-adminIpList/"},{default:i(()=>s[0]||(s[0]=[n("Admin IP List")])),_:1})]),e("li",null,[s[5]||(s[5]=n("a csv file with header row matching ")),a(t,{to:"/docs/api-subscription/#model-schema"},{default:i(()=>s[4]||(s[4]=[n("subscription model schema")])),_:1}),s[6]||(s[6]=n(". A sample csv file is ")),s[7]||(s[7]=e("a",{href:"https://github.com/bcgov/NotifyBC/tree/main/src/utils/bulk-import/sample-subscription.csv",target:"_blank",rel:"noopener noreferrer"},"provided",-1)),s[8]||(s[8]=n(". Compound fields (of object type) should be dot-flattened as shown in the sample for field ")),s[9]||(s[9]=e("em",null,"confirmationRequest.sendRequest",-1))])]),s[13]||(s[13]=r(`

                  To run the utility

                  git clone https://github.com/bcgov/NotifyBC.git
                   cd NotifyBC
                   npm i && npm run build
                   node dist/utils/bulk-import/subscription.js -a <api-url-prefix> -c <concurrency> <csv-file-path>
                  diff --git a/version/6.0/assets/index.html-BqLXtV0U.js b/version/6.0/assets/index.html-D3C84fYZ.js
                  similarity index 96%
                  rename from version/6.0/assets/index.html-BqLXtV0U.js
                  rename to version/6.0/assets/index.html-D3C84fYZ.js
                  index baf3733e6..55828b4bb 100644
                  --- a/version/6.0/assets/index.html-BqLXtV0U.js
                  +++ b/version/6.0/assets/index.html-D3C84fYZ.js
                  @@ -1 +1 @@
                  -import{_ as s,c as r,a as o,f as n,b as a,d as l,r as i,o as d}from"./app-chHFUe1n.js";const m={},p={class:"hint-container tip"};function u(c,e){const t=i("RouteLink");return d(),r("div",null,[e[4]||(e[4]=o("h1",{id:"node-roles",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#node-roles"},[o("span",null,"Node Roles")])],-1)),e[5]||(e[5]=o("p",null,[n("In a multi-node deployment, tasks that don't support concurrency have to be run by one node. That node is designated as "),o("em",null,"primary"),n(". To alleviate primary node's burden, tasks that support concurrency are not assigned to the primary node.")],-1)),e[6]||(e[6]=o("p",null,[n("The distinction is made using environment variable "),o("em",null,"NOTIFYBC_NODE_ROLE"),n(". For primary node, don't set this environment variable. For secondary nodes, set it to "),o("em",null,"secondary"),n(".")],-1)),o("div",p,[e[3]||(e[3]=o("p",{class:"hint-container-title"},"multi-CPU node",-1)),o("p",null,[e[1]||(e[1]=n("If the primary node has multiple CPUs, then only one worker has primary role. The rest have secondary role. If a secondary node has multiple CPUs, all workers have secondary role. See ")),a(t,{to:"/docs/config/workerProcessCount.html"},{default:l(()=>e[0]||(e[0]=[n("Worker Process Count")])),_:1}),e[2]||(e[2]=n(" for multi-CPU nodes."))])])])}const h=s(m,[["render",u],["__file","index.html.vue"]]),y=JSON.parse('{"path":"/docs/config-nodeRoles/","title":"Node Roles","lang":"en-US","frontmatter":{"permalink":"/docs/config-nodeRoles/"},"headers":[],"git":{},"filePathRelative":"docs/config/nodeRoles.md"}');export{h as comp,y as data};
                  +import{_ as s,c as r,a as o,f as n,b as a,d as l,r as i,o as d}from"./app-vBJoMoyQ.js";const m={},p={class:"hint-container tip"};function u(c,e){const t=i("RouteLink");return d(),r("div",null,[e[4]||(e[4]=o("h1",{id:"node-roles",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#node-roles"},[o("span",null,"Node Roles")])],-1)),e[5]||(e[5]=o("p",null,[n("In a multi-node deployment, tasks that don't support concurrency have to be run by one node. That node is designated as "),o("em",null,"primary"),n(". To alleviate primary node's burden, tasks that support concurrency are not assigned to the primary node.")],-1)),e[6]||(e[6]=o("p",null,[n("The distinction is made using environment variable "),o("em",null,"NOTIFYBC_NODE_ROLE"),n(". For primary node, don't set this environment variable. For secondary nodes, set it to "),o("em",null,"secondary"),n(".")],-1)),o("div",p,[e[3]||(e[3]=o("p",{class:"hint-container-title"},"multi-CPU node",-1)),o("p",null,[e[1]||(e[1]=n("If the primary node has multiple CPUs, then only one worker has primary role. The rest have secondary role. If a secondary node has multiple CPUs, all workers have secondary role. See ")),a(t,{to:"/docs/config/workerProcessCount.html"},{default:l(()=>e[0]||(e[0]=[n("Worker Process Count")])),_:1}),e[2]||(e[2]=n(" for multi-CPU nodes."))])])])}const h=s(m,[["render",u],["__file","index.html.vue"]]),y=JSON.parse('{"path":"/docs/config-nodeRoles/","title":"Node Roles","lang":"en-US","frontmatter":{"permalink":"/docs/config-nodeRoles/"},"headers":[],"git":{},"filePathRelative":"docs/config/nodeRoles.md"}');export{h as comp,y as data};
                  diff --git a/version/6.0/assets/index.html-BItU0JB_.js b/version/6.0/assets/index.html-D67UHZ6h.js
                  similarity index 90%
                  rename from version/6.0/assets/index.html-BItU0JB_.js
                  rename to version/6.0/assets/index.html-D67UHZ6h.js
                  index 5ed720a66..5a6ce40c8 100644
                  --- a/version/6.0/assets/index.html-BItU0JB_.js
                  +++ b/version/6.0/assets/index.html-D67UHZ6h.js
                  @@ -1,4 +1,4 @@
                  -import{_ as o,c as p,a as s,f as e,e as i,b as t,d as l,r,o as d}from"./app-chHFUe1n.js";const u={};function c(m,n){const a=r("RouteLink");return d(),p("div",null,[n[104]||(n[104]=s("h1",{id:"upgrade-guide",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#upgrade-guide"},[s("span",null,"Upgrade Guide")])],-1)),n[105]||(n[105]=s("p",null,[e("Major version can only be upgraded incrementally from immediate previous major version, i.e. from "),s("em",null,"N"),e(" to "),s("em",null,"N+1"),e(".")],-1)),n[106]||(n[106]=s("h2",{id:"v5-to-v6",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#v5-to-v6"},[s("span",null,"v5 to v6")])],-1)),n[107]||(n[107]=s("p",null,"v6 introduced following backward incompatible changes",-1)),s("ol",null,[n[12]||(n[12]=i(`
                • Redis is required. Redis connection is moved from sms.throttle.clientOptions and email.throttle.clientOptions to queue.connection. Update file src/config.local.[json|js|ts] from, for example,

                  module.exports = {
                  +import{_ as o,c as p,a as s,f as e,e as i,b as t,d as l,r,o as d}from"./app-vBJoMoyQ.js";const u={};function c(m,n){const a=r("RouteLink");return d(),p("div",null,[n[104]||(n[104]=s("h1",{id:"upgrade-guide",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#upgrade-guide"},[s("span",null,"Upgrade Guide")])],-1)),n[105]||(n[105]=s("p",null,[e("Major version can only be upgraded incrementally from immediate previous major version, i.e. from "),s("em",null,"N"),e(" to "),s("em",null,"N+1"),e(".")],-1)),n[106]||(n[106]=s("h2",{id:"v5-to-v6",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#v5-to-v6"},[s("span",null,"v5 to v6")])],-1)),n[107]||(n[107]=s("p",null,"v6 introduced following backward incompatible changes",-1)),s("ol",null,[n[12]||(n[12]=i(`
                • Redis is required. Redis connection is moved from sms.throttle.clientOptions and email.throttle.clientOptions to queue.connection. Update file src/config.local.[json|js|ts] from, for example,

                  module.exports = {
                     // ...
                     sms: {
                       throttle: {
                  @@ -42,15 +42,15 @@ import{_ as o,c as p,a as s,f as e,e as i,b as t,d as l,r,o as d}from"./app-chHF
                       },
                     },
                   };
                  -

                  If you deployed NotifyBC using Helm and haven't customized Redis connection in file src/config.local.[json|js|ts], this change is taken care of.

                • config minTime in email.throttle and sms.Throttle is replaced with max and duration. Effectively minTime=duration/max. By default max is 4 and duration is 1000, equivalent to default minTime of 250.

                • `,2)),s("li",null,[s("p",null,[n[1]||(n[1]=e("Terms for ")),t(a,{to:"/docs/config/nodeRoles.html"},{default:l(()=>n[0]||(n[0]=[e("node roles")])),_:1}),n[2]||(n[2]=e(" have changed. If you defined environment variable ")),n[3]||(n[3]=s("em",null,"NOTIFYBC_NODE_ROLE",-1)),n[4]||(n[4]=e(" with value other than ")),n[5]||(n[5]=s("em",null,"slave",-1)),n[6]||(n[6]=e(", remove the environment variable; otherwise change it to ")),n[7]||(n[7]=s("em",null,"secondary",-1)),n[8]||(n[8]=e(". If you deployed NotifyBC using Helm, this change is taken care of."))])]),n[13]||(n[13]=i(`
                • config notification.broadcastSubRequestBatchSize is deprecated. If you defined it in /src/config.local.js, remove it.

                • Bitnami MongoDB Helm chart is updated from version 14.3.2 to 16.3.3, with corresponding MongoDB from 7.0.4 to 8.0.4. If you deployed NotifyBC using Helm, or if you are running MongoDB 7 and planning to upgrade to MongoDB 8, follow Upgrade 7.0 to 8.0. In particular, ensure setFeatureCompatibilityVersion is set to 7.0

                  db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
                  +

                  If you deployed NotifyBC using Helm and haven't customized Redis connection in file src/config.local.[json|js|ts], this change is taken care of.

                • config minTime in email.throttle and sms.Throttle is replaced with max and duration. Effectively minTime=duration/max. By default max is 4 and duration is 1000, equivalent to default minTime of 250.

                • `,2)),s("li",null,[s("p",null,[n[1]||(n[1]=e("Terms for ")),t(a,{to:"/docs/config/nodeRoles.html"},{default:l(()=>n[0]||(n[0]=[e("node roles")])),_:1}),n[2]||(n[2]=e(" have changed. If you defined environment variable ")),n[3]||(n[3]=s("em",null,"NOTIFYBC_NODE_ROLE",-1)),n[4]||(n[4]=e(" with value other than ")),n[5]||(n[5]=s("em",null,"slave",-1)),n[6]||(n[6]=e(", remove the environment variable; otherwise change it to ")),n[7]||(n[7]=s("em",null,"secondary",-1)),n[8]||(n[8]=e(". If you deployed NotifyBC using Helm, this change is taken care of."))])]),n[13]||(n[13]=i(`
                • config notification.broadcastSubRequestBatchSize is deprecated. If you defined it in src/config.local.js, remove it.

                • Bitnami MongoDB Helm chart is updated from version 14.3.2 to 16.3.3, with corresponding MongoDB from 7.0.4 to 8.0.4. If you deployed NotifyBC using Helm, or if you are running MongoDB 7 and planning to upgrade to MongoDB 8, follow Upgrade 7.0 to 8.0. In particular, ensure setFeatureCompatibilityVersion is set to 7.0

                  db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
                   db.adminCommand( { setFeatureCompatibilityVersion: "7.0" } )
                   
                • `,2)),s("li",null,[s("p",null,[n[10]||(n[10]=e("Default SMTP service is changed from localhost to Ethereal. Make sure to setup ")),t(a,{to:"/docs/config/email.html#smtp"},{default:l(()=>n[9]||(n[9]=[e("SMTP")])),_:1}),n[11]||(n[11]=e(" in production if haven't done so."))])])]),n[108]||(n[108]=i(`

                  After above changes are addressed, to upgrade NotifyBC to v6,

                  • if NotifyBC is deployed from source code, run

                    git pull
                     git checkout tags/v6.x.x
                     npm i && npm run build
                    -

                    Replace

                    • v6.x.x with a v6 release, preferably latest, found in GitHub such as v6.0.2.
                  • if NotifyBC is deployed to Kubernetes using Helm,

                    1. backup MongoDB database
                    2. run
                      git pull
                      +

                      Replace

                      • v6.x.x with a v6 release, preferably latest, found in GitHub such as v6.0.3.
                    3. if NotifyBC is deployed to Kubernetes using Helm,

                      1. backup MongoDB database
                      2. run
                        git pull
                         git checkout tags/v6.x.x
                         helm upgrade <release-name> -f helm/platform-specific/<platform>.yaml -f helm/values.local.yaml helm
                        -
                        Replace
                        • v6.x.x with a v6 release, preferably latest, found in GitHub such as v6.0.2.
                        • <release-name> with installed helm release name
                        • <platform> with openshift or aks depending on your platform

                  v4 to v5

                  v5 introduced following backward incompatible changes

                  `,4)),s("ol",null,[n[16]||(n[16]=i(`
                • Replica set is required for MongoDB. If you deployed NotifyBC using Helm, replica set is already enabled by default.

                • If you use default in-memory database, data in server/database/data.json will not be migrated automatically. Manually migrate if necessary.

                • Update file src/datasources/db.datasource.local.[json|js|ts]

                  1. rename url property to uri
                  2. for other properties, instead of following LoopBack MongoDB data source, follow Mongoose connection options. In particular, host, port and database properties are no longer supported. Use uri instead.

                  For example, change

                  {
                  +
                  Replace
                  • v6.x.x with a v6 release, preferably latest, found in GitHub such as v6.0.3.
                  • <release-name> with installed helm release name
                  • <platform> with openshift or aks depending on your platform

    v4 to v5

    v5 introduced following backward incompatible changes

    `,4)),s("ol",null,[n[16]||(n[16]=i(`
  • Replica set is required for MongoDB. If you deployed NotifyBC using Helm, replica set is already enabled by default.

  • If you use default in-memory database, data in server/database/data.json will not be migrated automatically. Manually migrate if necessary.

  • Update file src/datasources/db.datasource.local.[json|js|ts]

    1. rename url property to uri
    2. for other properties, instead of following LoopBack MongoDB data source, follow Mongoose connection options. In particular, host, port and database properties are no longer supported. Use uri instead.

    For example, change

    {
       "name": "db",
       "connector": "mongodb",
       "url": "mongodb://127.0.0.1:27017/notifyBC"
    @@ -81,7 +81,7 @@ import{_ as o,c as p,a as s,f as e,e as i,b as t,d as l,r,o as d}from"./app-chHF
     
    Replace <release-name> with installed helm release name
  • delete PVCs used by MongoDB stateful set
  • run
    git pull
     git checkout tags/v5.x.x
     helm install <release-name> -f helm/platform-specific/<platform>.yaml -f helm/values.local.yaml helm
    -
    Replace
    • v5.x.x with a v5 release, preferably latest, found in GitHub such as v5.0.0.
    • <release-name> with installed helm release name
    • <platform> with openshift or aks depending on your platform
  • restore MongoDB database
  • v3 to v4

    v4 introduced following backward incompatible changes that need to be addressed in this order

    `,4)),s("ol",null,[n[68]||(n[68]=i("
  • The precedence of config, middleware and datasource files has been changed. Local file takes higher precedence than environment specific file. For example, for config file, the new precedence in ascending order is

    1. default file /src/config.ts
    2. environment specific file /src/config.<env>.js, where <env> is determined by environment variable NODE_ENV
    3. local file /src/config.local.js

    To upgrade, if you have environment specific file, merge its content into the local file, then delete it.

  • ",1)),s("li",null,[s("p",null,[n[19]||(n[19]=e("Config ")),n[20]||(n[20]=s("em",null,"smtp",-1)),n[21]||(n[21]=e(" is changed to ")),n[22]||(n[22]=s("em",null,"email.smtp",-1)),n[23]||(n[23]=e(". See ")),t(a,{to:"/docs/config/email.html#smtp"},{default:l(()=>n[18]||(n[18]=[e("SMTP")])),_:1}),n[24]||(n[24]=e(" for example."))])]),s("li",null,[s("p",null,[n[26]||(n[26]=e("Config ")),n[27]||(n[27]=s("em",null,"inboundSmtpServer",-1)),n[28]||(n[28]=e(" is changed to ")),n[29]||(n[29]=s("em",null,"email.inboundSmtpServer",-1)),n[30]||(n[30]=e(". See ")),t(a,{to:"/docs/config/email.html#inbound-smtp-server"},{default:l(()=>n[25]||(n[25]=[e("Inbound SMTP Server")])),_:1}),n[31]||(n[31]=e(" for example."))])]),s("li",null,[s("p",null,[n[33]||(n[33]=e("Config ")),n[34]||(n[34]=s("em",null,"email.inboundSmtpServer.bounce",-1)),n[35]||(n[35]=e(" is changed to ")),n[36]||(n[36]=s("em",null,"email.bounce",-1)),n[37]||(n[37]=e(". See ")),t(a,{to:"/docs/config/email.html#bounce"},{default:l(()=>n[32]||(n[32]=[e("Bounce")])),_:1}),n[38]||(n[38]=e(" for example."))])]),n[69]||(n[69]=s("li",null,[s("p",null,[e("Config "),s("em",null,"notification.handleBounce"),e(" is changed to "),s("em",null,"email.bounce.enabled"),e(".")])],-1)),s("li",null,[s("p",null,[n[40]||(n[40]=e("Config ")),n[41]||(n[41]=s("em",null,"notification.handleListUnsubscribeByEmail",-1)),n[42]||(n[42]=e(" is changed to ")),n[43]||(n[43]=s("em",null,"email.listUnsubscribeByEmail.enabled",-1)),n[44]||(n[44]=e(". See ")),t(a,{to:"/docs/config/email.html#list-unsubscribe-by-email"},{default:l(()=>n[39]||(n[39]=[e("List-unsubscribe by Email")])),_:1}),n[45]||(n[45]=e(" for example."))])]),s("li",null,[s("p",null,[n[47]||(n[47]=e("Config ")),n[48]||(n[48]=s("em",null,"smsServiceProvider",-1)),n[49]||(n[49]=e(" is changed to ")),n[50]||(n[50]=s("em",null,"sms.provider",-1)),n[51]||(n[51]=e(". See ")),t(a,{to:"/docs/config/sms.html#provider"},{default:l(()=>n[46]||(n[46]=[e("Provider")])),_:1}),n[52]||(n[52]=e(" for example."))])]),s("li",null,[s("p",null,[n[54]||(n[54]=e("SMS service provider specific settings defined in config ")),n[55]||(n[55]=s("em",null,"sms",-1)),n[56]||(n[56]=e(" are changed to ")),n[57]||(n[57]=s("em",null,"sms.providerSettings",-1)),n[58]||(n[58]=e(". See ")),t(a,{to:"/docs/config/sms.html#provider-settings"},{default:l(()=>n[53]||(n[53]=[e("Provider Settings")])),_:1}),n[59]||(n[59]=e(" for example. The config object ")),n[60]||(n[60]=s("em",null,"sms",-1)),n[61]||(n[61]=e(" now encapsulates all SMS configs - ")),n[62]||(n[62]=s("em",null,"provider",-1)),n[63]||(n[63]=e(", ")),n[64]||(n[64]=s("em",null,"providerSettings",-1)),n[65]||(n[65]=e(" and ")),n[66]||(n[66]=s("em",null,"throttle",-1)),n[67]||(n[67]=e("."))])]),n[70]||(n[70]=s("li",null,[s("p",null,[e("Legacy config "),s("em",null,"subscription.unsubscriptionEmailDomain"),e(" is removed. If you have it defined in your file "),s("em",null,"/src/config.local.js"),e(", replace with "),s("em",null,"email.inboundSmtpServer.domain"),e(".")])],-1)),n[71]||(n[71]=s("li",null,[s("p",null,[e("Helm chart added Redis that requires authentication by default. Create a new password in "),s("em",null,"helm/values.local.yaml"),e(" to facilitate upgrading")])],-1))]),n[110]||(n[110]=i(`
    # in file helm/values.local.yaml
    +
    Replace
    • v5.x.x with a v5 release, preferably latest, found in GitHub such as v5.0.0.
    • <release-name> with installed helm release name
    • <platform> with openshift or aks depending on your platform
  • restore MongoDB database
  • v3 to v4

    v4 introduced following backward incompatible changes that need to be addressed in this order

    `,4)),s("ol",null,[n[68]||(n[68]=i("
  • The precedence of config, middleware and datasource files has been changed. Local file takes higher precedence than environment specific file. For example, for config file, the new precedence in ascending order is

    1. default file src/config.ts
    2. environment specific file src/config.<env>.js, where <env> is determined by environment variable NODE_ENV
    3. local file src/config.local.js

    To upgrade, if you have environment specific file, merge its content into the local file, then delete it.

  • ",1)),s("li",null,[s("p",null,[n[19]||(n[19]=e("Config ")),n[20]||(n[20]=s("em",null,"smtp",-1)),n[21]||(n[21]=e(" is changed to ")),n[22]||(n[22]=s("em",null,"email.smtp",-1)),n[23]||(n[23]=e(". See ")),t(a,{to:"/docs/config/email.html#smtp"},{default:l(()=>n[18]||(n[18]=[e("SMTP")])),_:1}),n[24]||(n[24]=e(" for example."))])]),s("li",null,[s("p",null,[n[26]||(n[26]=e("Config ")),n[27]||(n[27]=s("em",null,"inboundSmtpServer",-1)),n[28]||(n[28]=e(" is changed to ")),n[29]||(n[29]=s("em",null,"email.inboundSmtpServer",-1)),n[30]||(n[30]=e(". See ")),t(a,{to:"/docs/config/email.html#inbound-smtp-server"},{default:l(()=>n[25]||(n[25]=[e("Inbound SMTP Server")])),_:1}),n[31]||(n[31]=e(" for example."))])]),s("li",null,[s("p",null,[n[33]||(n[33]=e("Config ")),n[34]||(n[34]=s("em",null,"email.inboundSmtpServer.bounce",-1)),n[35]||(n[35]=e(" is changed to ")),n[36]||(n[36]=s("em",null,"email.bounce",-1)),n[37]||(n[37]=e(". See ")),t(a,{to:"/docs/config/email.html#bounce"},{default:l(()=>n[32]||(n[32]=[e("Bounce")])),_:1}),n[38]||(n[38]=e(" for example."))])]),n[69]||(n[69]=s("li",null,[s("p",null,[e("Config "),s("em",null,"notification.handleBounce"),e(" is changed to "),s("em",null,"email.bounce.enabled"),e(".")])],-1)),s("li",null,[s("p",null,[n[40]||(n[40]=e("Config ")),n[41]||(n[41]=s("em",null,"notification.handleListUnsubscribeByEmail",-1)),n[42]||(n[42]=e(" is changed to ")),n[43]||(n[43]=s("em",null,"email.listUnsubscribeByEmail.enabled",-1)),n[44]||(n[44]=e(". See ")),t(a,{to:"/docs/config/email.html#list-unsubscribe-by-email"},{default:l(()=>n[39]||(n[39]=[e("List-unsubscribe by Email")])),_:1}),n[45]||(n[45]=e(" for example."))])]),s("li",null,[s("p",null,[n[47]||(n[47]=e("Config ")),n[48]||(n[48]=s("em",null,"smsServiceProvider",-1)),n[49]||(n[49]=e(" is changed to ")),n[50]||(n[50]=s("em",null,"sms.provider",-1)),n[51]||(n[51]=e(". See ")),t(a,{to:"/docs/config/sms.html#provider"},{default:l(()=>n[46]||(n[46]=[e("Provider")])),_:1}),n[52]||(n[52]=e(" for example."))])]),s("li",null,[s("p",null,[n[54]||(n[54]=e("SMS service provider specific settings defined in config ")),n[55]||(n[55]=s("em",null,"sms",-1)),n[56]||(n[56]=e(" are changed to ")),n[57]||(n[57]=s("em",null,"sms.providerSettings",-1)),n[58]||(n[58]=e(". See ")),t(a,{to:"/docs/config/sms.html#provider-settings"},{default:l(()=>n[53]||(n[53]=[e("Provider Settings")])),_:1}),n[59]||(n[59]=e(" for example. The config object ")),n[60]||(n[60]=s("em",null,"sms",-1)),n[61]||(n[61]=e(" now encapsulates all SMS configs - ")),n[62]||(n[62]=s("em",null,"provider",-1)),n[63]||(n[63]=e(", ")),n[64]||(n[64]=s("em",null,"providerSettings",-1)),n[65]||(n[65]=e(" and ")),n[66]||(n[66]=s("em",null,"throttle",-1)),n[67]||(n[67]=e("."))])]),n[70]||(n[70]=s("li",null,[s("p",null,[e("Legacy config "),s("em",null,"subscription.unsubscriptionEmailDomain"),e(" is removed. If you have it defined in your file "),s("em",null,"src/config.local.js"),e(", replace with "),s("em",null,"email.inboundSmtpServer.domain"),e(".")])],-1)),n[71]||(n[71]=s("li",null,[s("p",null,[e("Helm chart added Redis that requires authentication by default. Create a new password in "),s("em",null,"helm/values.local.yaml"),e(" to facilitate upgrading")])],-1))]),n[110]||(n[110]=i(`
    # in file helm/values.local.yaml
     redis:
       auth:
         password: '<secret>'
    @@ -91,7 +91,7 @@ import{_ as o,c as p,a as s,f as e,e as i,b as t,d as l,r,o as d}from"./app-chHF
     

    or, if NotifyBC is deployed to Kubernetes using Helm.

    git pull
     git checkout tags/v4.x.x
     helm upgrade <release-name> -f helm/platform-specific/<platform>.yaml -f helm/values.local.yaml helm
    -

    Replace v4.x.x with a v4 release, preferably latest, found in GitHub such as v4.0.0.

    v2 to v3

    v3 introduced following backward incompatible changes

    1. Changed output-only fields failedDispatches and successDispatches to dispatch.failed and dispatch.successful respectively in Notification api. If your client app depends on the fields, change accordingly.
    2. Changed config notification.logSuccessfulBroadcastDispatches to notification.guaranteedBroadcastPushDispatchProcessing and reversed default value from false to true. If you don't want NotifyBC guarantees processing all subscriptions to a broadcast push notification in a node failure resilient way, perhaps for performance reason, set the value to false in file /src/config.local.js.

    After above changes are addressed, upgrading to v3 is as simple as

    git pull
    +

    Replace v4.x.x with a v4 release, preferably latest, found in GitHub such as v4.0.0.

    v2 to v3

    v3 introduced following backward incompatible changes

    1. Changed output-only fields failedDispatches and successDispatches to dispatch.failed and dispatch.successful respectively in Notification api. If your client app depends on the fields, change accordingly.
    2. Changed config notification.logSuccessfulBroadcastDispatches to notification.guaranteedBroadcastPushDispatchProcessing and reversed default value from false to true. If you don't want NotifyBC guarantees processing all subscriptions to a broadcast push notification in a node failure resilient way, perhaps for performance reason, set the value to false in file src/config.local.js.

    After above changes are addressed, upgrading to v3 is as simple as

    git pull
     git checkout tags/v3.x.x
     npm i && npm run build
     

    or, if NotifyBC is deployed to Kubernetes using Helm.

    git pull
    diff --git a/version/6.0/assets/index.html-DORauq8R.js b/version/6.0/assets/index.html-DORauq8R.js
    deleted file mode 100644
    index 15d8d2fad..000000000
    --- a/version/6.0/assets/index.html-DORauq8R.js
    +++ /dev/null
    @@ -1 +0,0 @@
    -import{_ as l,c as a,a as n,f as e,b as o,d as s,e as r,r as d,o as f}from"./app-chHFUe1n.js";const u={},m={class:"hint-container tip"};function g(c,i){const t=d("RouteLink");return f(),a("div",null,[i[18]||(i[18]=n("h1",{id:"configuration-overview",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#configuration-overview"},[n("span",null,"Configuration Overview")])],-1)),n("div",m,[i[7]||(i[7]=n("p",{class:"hint-container-title"},"Helm Chart Configurations",-1)),n("p",null,[i[1]||(i[1]=e("The document pages in this section cover ")),i[2]||(i[2]=n("em",null,"NotifyBC",-1)),i[3]||(i[3]=e(" app level configurations only. If your ")),i[4]||(i[4]=n("em",null,"NotifyBC",-1)),i[5]||(i[5]=e(" is deployed to Kubernetes using Helm, you can also ")),o(t,{to:"/docs/getting-started/installation.html#customizations"},{default:s(()=>i[0]||(i[0]=[e("customize")])),_:1}),i[6]||(i[6]=e(" infrastructure level configurations."))])]),i[19]||(i[19]=r('

    There are two types of configurations - static and dynamic. Static configurations are defined in files or environment variables, requiring restarting NotifyBC to take effect, whereas dynamic configurations are defined in databases and updates take effect immediately.

    Static Configurations

    Most static configurations are specified in file /src/config.ts. If you need to change, instead of updating /src/config.ts file, create local file /src/config.local.js or environment specific file /src/config.<env>.js, which is only included when environment variable NODE_ENV equals <env>. Besides js, ts and json file extensions are also supported. The rest of the documentation assumes the file extension is js. Content in these files are deeply merged in following ascending precedence

    • default file /src/config.ts
    • environment specific file /src/config.<env>.js
    • local file /src/config.local.js

    Run build script whenever changing file in /src

    Every time a file under /src, including config files, is updated, run npm run build before restarting NotifyBC to take effect.

    Following configs should be customized per installation

    ',6)),n("ul",null,[n("li",null,[o(t,{to:"/docs/config/adminIpList.html"},{default:s(()=>i[8]||(i[8]=[e("Admin IP List")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/reverseProxyIpLists.html"},{default:s(()=>i[9]||(i[9]=[e("Reverse Proxy IP Lists")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/httpHost.html"},{default:s(()=>i[10]||(i[10]=[e("HTTP Host")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/email.html#smtp"},{default:s(()=>i[11]||(i[11]=[e("SMTP")])),_:1})])]),i[20]||(i[20]=n("p",null,"In addition, if installing from source code",-1)),n("ul",null,[n("li",null,[o(t,{to:"/docs/config/database.html"},{default:s(()=>i[12]||(i[12]=[e("Database")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/queue.html"},{default:s(()=>i[13]||(i[13]=[e("Queue")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/internalHttpHost.html"},{default:s(()=>i[14]||(i[14]=[e("Internal HTTP Host")])),_:1})])]),i[21]||(i[21]=n("p",null,"Customizing other configs only if needed.",-1)),i[22]||(i[22]=n("h2",{id:"dynamic-configurations",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#dynamic-configurations"},[n("span",null,"Dynamic Configurations")])],-1)),n("p",null,[i[16]||(i[16]=e("Dynamic configs are managed using REST ")),o(t,{to:"/docs/api-config/"},{default:s(()=>i[15]||(i[15]=[e("configuration api")])),_:1}),i[17]||(i[17]=e("."))]),i[23]||(i[23]=n("div",{class:"hint-container tip"},[n("p",{class:"hint-container-title"},"Why Dynamic Configs?"),n("p",null,"Dynamic configs are needed in cases such as"),n("ul",null,[n("li",null,"to allow define service-specific configs such as message templates"),n("li",null,"in a multi-node deployment, configs can be generated by one node (typically primary) and shared with other nodes")])],-1))])}const v=l(u,[["render",g],["__file","index.html.vue"]]),y=JSON.parse(`{"path":"/docs/config-overview/","title":"Configuration Overview","lang":"en-US","frontmatter":{"permalink":"/docs/config-overview/","prev":"/docs/what's-new/"},"headers":[{"level":2,"title":"Static Configurations","slug":"static-configurations","link":"#static-configurations","children":[]},{"level":2,"title":"Dynamic Configurations","slug":"dynamic-configurations","link":"#dynamic-configurations","children":[]}],"git":{},"filePathRelative":"docs/config/overview.md"}`);export{v as comp,y as data}; diff --git a/version/6.0/assets/index.html-DV1K2bcq.js b/version/6.0/assets/index.html-DVB6SqU4.js similarity index 99% rename from version/6.0/assets/index.html-DV1K2bcq.js rename to version/6.0/assets/index.html-DVB6SqU4.js index 130377056..9c105d77d 100644 --- a/version/6.0/assets/index.html-DV1K2bcq.js +++ b/version/6.0/assets/index.html-DVB6SqU4.js @@ -1,4 +1,4 @@ -import{_ as o,c as p,a as s,f as n,b as a,d as r,e as t,r as d,o as u}from"./app-chHFUe1n.js";const c={},m=["src"],b=["src"],f={start:"3"};function v(l,e){const i=d("RouteLink");return u(),p("div",null,[e[52]||(e[52]=s("h1",{id:"subscription",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#subscription"},[s("span",null,"Subscription")])],-1)),e[53]||(e[53]=s("p",null,[n("The subscription API encapsulates the backend workflow of user subscription and un-subscription of push notification service. Depending on whether a API call comes from user browser as a user request or from an authorized server as an admin request, "),s("em",null,"NotifyBC"),n(" applies different validation rules. For user requests, the notification channel entered by user is unconfirmed. A confirmation code will be associated with this request. The confirmation code can be created in one of two ways:")],-1)),s("ul",null,[s("li",null,[e[1]||(e[1]=n("by ")),e[2]||(e[2]=s("em",null,"NotifyBC",-1)),e[3]||(e[3]=n(" based on channel dependent ")),e[4]||(e[4]=s("em",null,"subscription.confirmationRequest..confirmationCodeRegex",-1)),e[5]||(e[5]=n()),a(i,{to:"/docs/config-subscription/#confirmation-request-message"},{default:r(()=>e[0]||(e[0]=[n("config")])),_:1}),e[6]||(e[6]=n("."))]),s("li",null,[e[8]||(e[8]=n("by a trusted third party. This trusted third party encrypts the confirmation code using the public RSA key of the ")),e[9]||(e[9]=s("em",null,"NotifyBC",-1)),e[10]||(e[10]=n(" instance (see more about ")),a(i,{to:"/docs/config-rsaKeys/"},{default:r(()=>e[7]||(e[7]=[n("RSA Key Config")])),_:1}),e[11]||(e[11]=n(") and pass the encrypted confirmation code to ")),e[12]||(e[12]=s("em",null,"NotifyBC",-1)),e[13]||(e[13]=n(" via user browser in the same subscription request. ")),e[14]||(e[14]=s("em",null,"NotifyBC",-1)),e[15]||(e[15]=n(" then decrypts to obtain the confirmation code. This method allows user subscribe to multiple notification services provided by ")),e[16]||(e[16]=s("em",null,"NotifyBC",-1)),e[17]||(e[17]=n(" instances in different trust domains (i.e. service providers) and only have to confirm the subscription channel once during one browser session. In such case only one ")),e[18]||(e[18]=s("em",null,"NotifyBC",-1)),e[19]||(e[19]=n(" instance should be chosen to deliver confirmation request to user."))])]),e[54]||(e[54]=s("p",null,[n("Equipped with the confirmation code and a message template, "),s("em",null,"NotifyBC"),n(" can now send out confirmation request to unconfirmed subscription channel. At a minimum this confirmation request should contain the confirmation code. When user receives the message, he/she echos the confirmation code back to a "),s("em",null,"NotifyBC"),n(" provided API to verify against saved record. If match, the state of the subscription request is changed to confirmed.")],-1)),e[55]||(e[55]=s("p",null,[n("For admin requests, "),s("em",null,"NotifyBC"),n(" can still perform the above confirmation process. But admin request has full CRUD privilege, including set the subscription state to confirmed, bypassing the confirmation process.")],-1)),s("p",null,[e[20]||(e[20]=n("The workflow of user subscribing to notification services offered by a single service provider is illustrated by sequence diagram below. In this case, the confirmation code is generated by ")),e[21]||(e[21]=s("em",null,"NotifyBC",-1)),e[22]||(e[22]=n(". ")),s("img",{src:l.$withBase("/img/subscription-single-service-provider.png"),alt:"single service provider subscription"},null,8,m)]),e[56]||(e[56]=s("p",null,[n("In the case user subscribing to notifications offered by different service providers in separate trust domains, the confirmation code is generated by a third-party server app trusted by all "),s("em",null,"NotifyBC"),n(" instances. Following sequence diagram shows the workflow. The diagram indicates "),s("em",null,"NotifyBC API Server 2"),n(" is chosen to send confirmation request.")],-1)),s("img",{src:l.$withBase("/img/subscription-multi-service-provider.png"),alt:"multi service provider subscription"},null,8,b),e[57]||(e[57]=t(`

    Model Schema

    The API operates on following subscription data model fields:

    NameAttributes

    serviceName

    name of the service. Avoid prefixing the name with underscore (_), or it may conflict with internal implementation.

    typestring
    requiredtrue

    channel

    name of the delivery channel. Valid values: email and sms. Notice inApp is invalid as in-app notification doesn't need subscription.

    typestring
    requiredtrue
    defaultemail

    userChannelId

    user's delivery channel id, for example, email address

    typestring
    requiredtrue

    id

    subscription id

    typestring, format depends on db
    requiredfalse
    auto-generatedtrue

    state

    state of subscription. Valid values: unconfirmed, confirmed, deleted

    typestring
    requiredfalse
    defaultunconfirmed

    userId

    user id. Auto-populated for authenticated user requests.

    typestring
    requiredfalse

    created

    date and time of creation

    typedate
    requiredfalse
    auto-generatedtrue

    updated

    date and time of last update

    typedate
    requiredfalse
    auto-generatedtrue

    confirmationRequest

    an object containing these child fields
    • confirmationCodeRegex
      • type: string
      • regular expression used to generate confirmation code
    • confirmationCodeEncrypted
      • type: string
      • encrypted confirmation code
    • sendRequest
      • type: boolean
      • whether to send confirmation request
    • from, subject, textBody, htmlBody
      • type: string
      • these are email template fields used for sending email confirmation request. If confirmationRequest.sendRequest is true and channel is email, then these fields should be supplied in order to send confirmation email.
    typeobject
    requiredtrue for user request with encrypted confirmation code; false otherwise

    broadcastPushNotificationFilter

    a string conforming to jmespath filter expressions syntax after the question mark (?). The filter is matched against the data field of the subscription. Examples of filter
    • simple
      province == 'BC'
    • calling jmespath's built-in functions
      contains(province,'B')
    • calling custom filter functions
      contains_ci(province,'b')
    • compound
      (contains(province,'BC') || contains_ci(province,'b')) && city == 'Victoria'
    All of above filters will match data object {"province": "BC", "city": "Victoria"}
    typestring
    requiredfalse

    data

    An object used by

    data object can only be populated by non-anonymous requests.
    typeobject
    requiredfalse

    unsubscriptionCode

    generated randomly according to RegEx config anonymousUnsubscription.code.regex during anonymous subscription if config anonymousUnsubscription.code.required is set to true

    typestring
    requiredfalse
    auto-generatedtrue

    unsubscribedAdditionalServices

    generated if parameter additionalServices is supplied in unsubscription request. Contains 2 sub-fields: ids and names, each being a list identifying the additional unsubscribed subscriptions.

    typeobject
    requiredfalse
    auto-generatedtrue

    Get Subscriptions

    GET /subscriptions
    +import{_ as o,c as p,a as s,f as n,b as a,d as r,e as t,r as d,o as u}from"./app-vBJoMoyQ.js";const c={},m=["src"],b=["src"],f={start:"3"};function v(l,e){const i=d("RouteLink");return u(),p("div",null,[e[52]||(e[52]=s("h1",{id:"subscription",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#subscription"},[s("span",null,"Subscription")])],-1)),e[53]||(e[53]=s("p",null,[n("The subscription API encapsulates the backend workflow of user subscription and un-subscription of push notification service. Depending on whether a API call comes from user browser as a user request or from an authorized server as an admin request, "),s("em",null,"NotifyBC"),n(" applies different validation rules. For user requests, the notification channel entered by user is unconfirmed. A confirmation code will be associated with this request. The confirmation code can be created in one of two ways:")],-1)),s("ul",null,[s("li",null,[e[1]||(e[1]=n("by ")),e[2]||(e[2]=s("em",null,"NotifyBC",-1)),e[3]||(e[3]=n(" based on channel dependent ")),e[4]||(e[4]=s("em",null,"subscription.confirmationRequest..confirmationCodeRegex",-1)),e[5]||(e[5]=n()),a(i,{to:"/docs/config-subscription/#confirmation-request-message"},{default:r(()=>e[0]||(e[0]=[n("config")])),_:1}),e[6]||(e[6]=n("."))]),s("li",null,[e[8]||(e[8]=n("by a trusted third party. This trusted third party encrypts the confirmation code using the public RSA key of the ")),e[9]||(e[9]=s("em",null,"NotifyBC",-1)),e[10]||(e[10]=n(" instance (see more about ")),a(i,{to:"/docs/config-rsaKeys/"},{default:r(()=>e[7]||(e[7]=[n("RSA Key Config")])),_:1}),e[11]||(e[11]=n(") and pass the encrypted confirmation code to ")),e[12]||(e[12]=s("em",null,"NotifyBC",-1)),e[13]||(e[13]=n(" via user browser in the same subscription request. ")),e[14]||(e[14]=s("em",null,"NotifyBC",-1)),e[15]||(e[15]=n(" then decrypts to obtain the confirmation code. This method allows user subscribe to multiple notification services provided by ")),e[16]||(e[16]=s("em",null,"NotifyBC",-1)),e[17]||(e[17]=n(" instances in different trust domains (i.e. service providers) and only have to confirm the subscription channel once during one browser session. In such case only one ")),e[18]||(e[18]=s("em",null,"NotifyBC",-1)),e[19]||(e[19]=n(" instance should be chosen to deliver confirmation request to user."))])]),e[54]||(e[54]=s("p",null,[n("Equipped with the confirmation code and a message template, "),s("em",null,"NotifyBC"),n(" can now send out confirmation request to unconfirmed subscription channel. At a minimum this confirmation request should contain the confirmation code. When user receives the message, he/she echos the confirmation code back to a "),s("em",null,"NotifyBC"),n(" provided API to verify against saved record. If match, the state of the subscription request is changed to confirmed.")],-1)),e[55]||(e[55]=s("p",null,[n("For admin requests, "),s("em",null,"NotifyBC"),n(" can still perform the above confirmation process. But admin request has full CRUD privilege, including set the subscription state to confirmed, bypassing the confirmation process.")],-1)),s("p",null,[e[20]||(e[20]=n("The workflow of user subscribing to notification services offered by a single service provider is illustrated by sequence diagram below. In this case, the confirmation code is generated by ")),e[21]||(e[21]=s("em",null,"NotifyBC",-1)),e[22]||(e[22]=n(". ")),s("img",{src:l.$withBase("/img/subscription-single-service-provider.png"),alt:"single service provider subscription"},null,8,m)]),e[56]||(e[56]=s("p",null,[n("In the case user subscribing to notifications offered by different service providers in separate trust domains, the confirmation code is generated by a third-party server app trusted by all "),s("em",null,"NotifyBC"),n(" instances. Following sequence diagram shows the workflow. The diagram indicates "),s("em",null,"NotifyBC API Server 2"),n(" is chosen to send confirmation request.")],-1)),s("img",{src:l.$withBase("/img/subscription-multi-service-provider.png"),alt:"multi service provider subscription"},null,8,b),e[57]||(e[57]=t(`

    Model Schema

    The API operates on following subscription data model fields:

    NameAttributes

    serviceName

    name of the service. Avoid prefixing the name with underscore (_), or it may conflict with internal implementation.

    typestring
    requiredtrue

    channel

    name of the delivery channel. Valid values: email and sms. Notice inApp is invalid as in-app notification doesn't need subscription.

    typestring
    requiredtrue
    defaultemail

    userChannelId

    user's delivery channel id, for example, email address

    typestring
    requiredtrue

    id

    subscription id

    typestring, format depends on db
    requiredfalse
    auto-generatedtrue

    state

    state of subscription. Valid values: unconfirmed, confirmed, deleted

    typestring
    requiredfalse
    defaultunconfirmed

    userId

    user id. Auto-populated for authenticated user requests.

    typestring
    requiredfalse

    created

    date and time of creation

    typedate
    requiredfalse
    auto-generatedtrue

    updated

    date and time of last update

    typedate
    requiredfalse
    auto-generatedtrue

    confirmationRequest

    an object containing these child fields
    • confirmationCodeRegex
      • type: string
      • regular expression used to generate confirmation code
    • confirmationCodeEncrypted
      • type: string
      • encrypted confirmation code
    • sendRequest
      • type: boolean
      • whether to send confirmation request
    • from, subject, textBody, htmlBody
      • type: string
      • these are email template fields used for sending email confirmation request. If confirmationRequest.sendRequest is true and channel is email, then these fields should be supplied in order to send confirmation email.
    typeobject
    requiredtrue for user request with encrypted confirmation code; false otherwise

    broadcastPushNotificationFilter

    a string conforming to jmespath filter expressions syntax after the question mark (?). The filter is matched against the data field of the subscription. Examples of filter
    • simple
      province == 'BC'
    • calling jmespath's built-in functions
      contains(province,'B')
    • calling custom filter functions
      contains_ci(province,'b')
    • compound
      (contains(province,'BC') || contains_ci(province,'b')) && city == 'Victoria'
    All of above filters will match data object {"province": "BC", "city": "Victoria"}
    typestring
    requiredfalse

    data

    An object used by

    data object can only be populated by non-anonymous requests.
    typeobject
    requiredfalse

    unsubscriptionCode

    generated randomly according to RegEx config anonymousUnsubscription.code.regex during anonymous subscription if config anonymousUnsubscription.code.required is set to true

    typestring
    requiredfalse
    auto-generatedtrue

    unsubscribedAdditionalServices

    generated if parameter additionalServices is supplied in unsubscription request. Contains 2 sub-fields: ids and names, each being a list identifying the additional unsubscribed subscriptions.

    typeobject
    requiredfalse
    auto-generatedtrue

    Get Subscriptions

    GET /subscriptions
     
    • permissions required, one of

      • super admin
      • admin
      • authenticated user
    • inputs

      • a filter containing properties where, fields, order, skip, and limit

        • parameter name: filter
        • required: false
        • parameter type: query
        • data type: object

        The filter can be expressed as either

        1. URL-encoded stringified JSON object (see example below); or
        2. in the format supported by qs, for example ?filter[where][created][$gte]="2023-01-01"&filter[where][created][$lt]="2024-01-01"

        Regardless, the filter will have to be parsed into a JSON object conforming to

        {
             "where": {...},
             "fields": ...,
        diff --git a/version/6.0/assets/index.html-CGkyuGA_.js b/version/6.0/assets/index.html-DmelDkqD.js
        similarity index 96%
        rename from version/6.0/assets/index.html-CGkyuGA_.js
        rename to version/6.0/assets/index.html-DmelDkqD.js
        index cc5007be0..925abd41d 100644
        --- a/version/6.0/assets/index.html-CGkyuGA_.js
        +++ b/version/6.0/assets/index.html-DmelDkqD.js
        @@ -1 +1 @@
        -import{_ as o,c as s,a as r,f as i,b as n,e as a,o as d,r as l}from"./app-chHFUe1n.js";const c={};function m(p,e){const t=l("Mermaid");return d(),s("div",null,[e[0]||(e[0]=r("h1",{id:"disaster-recovery",tabindex:"-1"},[r("a",{class:"header-anchor",href:"#disaster-recovery"},[r("span",null,"Disaster Recovery")])],-1)),e[1]||(e[1]=r("p",null,[r("em",null,"NotifyBC"),i(" consists of three runtime components with dependencies")],-1)),n(t,{id:"mermaid-6",code:"eJxLy8kvT85ILCpRCHHhUgACRw3HAE+F4tSistQiTQVdXTsFJw3f/Lz0fBcnTYgCsKCzRlBqSmaxJhcAZTkRWQ=="}),e[2]||(e[2]=a("

        Each runtime component is horizontally scalable to form a high-availability cluster. Such HA cluster is resilient to the failure of individual node.

        Under disastrous circumstances, however, entire HA cluster may fail. Recovery should be performed in this order

        1. MongoDB
        2. Redis
        3. API server

        Notes

        • MongoDB holds persistent data. When recovering MongoDB, data needs to be recovered. If data is corrupted, restore from backup.
        • If MongoDB is the only failed component, after recovery, the other two components don't need to be restarted.
        • Redis doesn't hold persistent data. When recovering Redis, data doesn't need to be recovered.
        • After recovering Redis, API server needs to be restarted.
        ",5))])}const h=o(c,[["render",m],["__file","index.html.vue"]]),v=JSON.parse('{"path":"/docs/disaster-recovery/","title":"Disaster Recovery","lang":"en-US","frontmatter":{"permalink":"/docs/disaster-recovery/"},"headers":[],"git":{},"filePathRelative":"docs/miscellaneous/disaster-recovery.md"}');export{h as comp,v as data}; +import{_ as o,c as s,a as r,f as i,b as n,e as a,o as d,r as l}from"./app-vBJoMoyQ.js";const c={};function m(p,e){const t=l("Mermaid");return d(),s("div",null,[e[0]||(e[0]=r("h1",{id:"disaster-recovery",tabindex:"-1"},[r("a",{class:"header-anchor",href:"#disaster-recovery"},[r("span",null,"Disaster Recovery")])],-1)),e[1]||(e[1]=r("p",null,[r("em",null,"NotifyBC"),i(" consists of three runtime components with dependencies")],-1)),n(t,{id:"mermaid-6",code:"eJxLy8kvT85ILCpRCHHhUgACRw3HAE+F4tSistQiTQVdXTsFJw3f/Lz0fBcnTYgCsKCzRlBqSmaxJhcAZTkRWQ=="}),e[2]||(e[2]=a("

        Each runtime component is horizontally scalable to form a high-availability cluster. Such HA cluster is resilient to the failure of individual node.

        Under disastrous circumstances, however, entire HA cluster may fail. Recovery should be performed in this order

        1. MongoDB
        2. Redis
        3. API server

        Notes

        • MongoDB holds persistent data. When recovering MongoDB, data needs to be recovered. If data is corrupted, restore from backup.
        • If MongoDB is the only failed component, after recovery, the other two components don't need to be restarted.
        • Redis doesn't hold persistent data. When recovering Redis, data doesn't need to be recovered.
        • After recovering Redis, API server needs to be restarted.
        ",5))])}const h=o(c,[["render",m],["__file","index.html.vue"]]),v=JSON.parse('{"path":"/docs/disaster-recovery/","title":"Disaster Recovery","lang":"en-US","frontmatter":{"permalink":"/docs/disaster-recovery/"},"headers":[],"git":{},"filePathRelative":"docs/miscellaneous/disaster-recovery.md"}');export{h as comp,v as data}; diff --git a/version/6.0/assets/index.html-DN7LEVgx.js b/version/6.0/assets/index.html-DtKiREb8.js similarity index 79% rename from version/6.0/assets/index.html-DN7LEVgx.js rename to version/6.0/assets/index.html-DtKiREb8.js index c3a6158c0..35f1d6e34 100644 --- a/version/6.0/assets/index.html-DN7LEVgx.js +++ b/version/6.0/assets/index.html-DtKiREb8.js @@ -1,4 +1,4 @@ -import{_ as p,c,a as s,f as a,b as i,d as t,e as o,r as l,o as r}from"./app-chHFUe1n.js";const d={};function u(m,n){const e=l("RouteLink");return r(),c("div",null,[n[5]||(n[5]=s("h1",{id:"cron-jobs",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#cron-jobs"},[s("span",null,"Cron Jobs")])],-1)),n[6]||(n[6]=s("p",null,[s("em",null,"NotifyBC"),a(" runs several cron jobs described below. These jobs are controlled by sub-properties defined in config object "),s("em",null,"cron"),a(". To change config, create the object and properties in file "),s("em",null,"/src/config.local.js"),a(".")],-1)),s("p",null,[n[1]||(n[1]=a("By default cron jobs are enabled. In a multi-node deployment, cron jobs should only run on the ")),i(e,{to:"/docs/config-nodeRoles/"},{default:t(()=>n[0]||(n[0]=[a("primary node")])),_:1}),n[2]||(n[2]=a(" to ensure single execution."))]),n[7]||(n[7]=o(`

        All cron jobs have a property named timeSpec with the value of a space separated fields conforming to unix crontab format with an optional left-most seconds field. See allowed ranges of each field.

        Purge Data

        This cron job purges old notifications, subscriptions and notification bounces. The default frequency of cron job and retention policy are defined by cron.purgeData config object in file /src/config.ts

        module.exports = {
        +import{_ as p,c,a as s,f as a,b as i,d as t,e as o,r as l,o as r}from"./app-vBJoMoyQ.js";const d={};function u(m,n){const e=l("RouteLink");return r(),c("div",null,[n[5]||(n[5]=s("h1",{id:"cron-jobs",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#cron-jobs"},[s("span",null,"Cron Jobs")])],-1)),n[6]||(n[6]=s("p",null,[s("em",null,"NotifyBC"),a(" runs several cron jobs described below. These jobs are controlled by sub-properties defined in config object "),s("em",null,"cron"),a(". To change config, create the object and properties in file "),s("em",null,"src/config.local.js"),a(".")],-1)),s("p",null,[n[1]||(n[1]=a("By default cron jobs are enabled. In a multi-node deployment, cron jobs should only run on the ")),i(e,{to:"/docs/config-nodeRoles/"},{default:t(()=>n[0]||(n[0]=[a("primary node")])),_:1}),n[2]||(n[2]=a(" to ensure single execution."))]),n[7]||(n[7]=o(`

        All cron jobs have a property named timeSpec with the value of a space separated fields conforming to unix crontab format with an optional left-most seconds field. See allowed ranges of each field.

        Purge Data

        This cron job purges old notifications, subscriptions and notification bounces. The default frequency of cron job and retention policy are defined by cron.purgeData config object in file src/config.ts

        module.exports = {
           cron: {
             purgeData: {
               // daily at 1am
        @@ -12,14 +12,14 @@ import{_ as p,c,a as s,f as a,b as i,d as t,e as o,r as l,o as r}from"./app-chHF
             },
           },
         };
        -

        where

        • pushNotificationRetentionDays: the retention days of push notifications
        • expiredInAppNotificationRetentionDays: the retention days of expired inApp notifications
        • nonConfirmedSubscriptionRetentionDays: the retention days of non-confirmed subscriptions, i.e. all unconfirmed and deleted subscriptions
        • deletedBounceRetentionDays: the retention days of deleted notification bounces
        • expiredAccessTokenRetentionDays: the retention days of expired access tokens
        • defaultRetentionDays: if any of the above retention day config item is omitted, default retention days is used as fall back.

        To change a config item, set the config item in file /src/config.local.js. For example, to run cron jobs at 2am daily, add following object to /src/config.local.js

        module.exports = {
        +

        where

        • pushNotificationRetentionDays: the retention days of push notifications
        • expiredInAppNotificationRetentionDays: the retention days of expired inApp notifications
        • nonConfirmedSubscriptionRetentionDays: the retention days of non-confirmed subscriptions, i.e. all unconfirmed and deleted subscriptions
        • deletedBounceRetentionDays: the retention days of deleted notification bounces
        • expiredAccessTokenRetentionDays: the retention days of expired access tokens
        • defaultRetentionDays: if any of the above retention day config item is omitted, default retention days is used as fall back.

        To change a config item, set the config item in file src/config.local.js. For example, to run cron jobs at 2am daily, add following object to src/config.local.js

        module.exports = {
           cron: {
             purgeData: {
               timeSpec: '0 0 2 * * *',
             },
           },
         };
        -

        Dispatch Live Notifications

        This cron job sends out future-dated notifications when the notification becomes current. The default config is defined by cron.dispatchLiveNotifications config object in file /src/config.ts

        module.exports = {
        +

        Dispatch Live Notifications

        This cron job sends out future-dated notifications when the notification becomes current. The default config is defined by cron.dispatchLiveNotifications config object in file src/config.ts

        module.exports = {
           cron: {
             dispatchLiveNotifications: {
               // minutely
        @@ -27,7 +27,7 @@ import{_ as p,c,a as s,f as a,b as i,d as t,e as o,r as l,o as r}from"./app-chHF
             },
           },
         };
        -

        Check Rss Config Updates

        This cron job monitors RSS feed notification dynamic config items. If a config item is created, updated or deleted, the cron job starts, restarts, or stops the RSS-specific cron job. The default config is defined by cron.checkRssConfigUpdates config object in file /src/config.ts

        module.exports = {
        +

        Check Rss Config Updates

        This cron job monitors RSS feed notification dynamic config items. If a config item is created, updated or deleted, the cron job starts, restarts, or stops the RSS-specific cron job. The default config is defined by cron.checkRssConfigUpdates config object in file src/config.ts

        module.exports = {
           cron: {
             checkRssConfigUpdates: {
               // minutely
        @@ -35,7 +35,7 @@ import{_ as p,c,a as s,f as a,b as i,d as t,e as o,r as l,o as r}from"./app-chHF
             },
           },
         };
        -

        Note timeSpec doesn't control the RSS poll frequency (which is defined in dynamic configs and is service specific), instead it only controls the frequency to check for dynamic config changes.

        Delete Notification Bounces

        This cron job deletes notification bounces if the latest notification is deemed delivered successfully. The criteria of successful delivery are

        1. No bounce received since the latest notification started dispatching, and
        2. a configured time span has lapsed since the latest notification finished dispatching

        The default config is defined by cron.deleteBounces config object in file /src/config.ts

        module.exports = {
        +

        Note timeSpec doesn't control the RSS poll frequency (which is defined in dynamic configs and is service specific), instead it only controls the frequency to check for dynamic config changes.

        Delete Notification Bounces

        This cron job deletes notification bounces if the latest notification is deemed delivered successfully. The criteria of successful delivery are

        1. No bounce received since the latest notification started dispatching, and
        2. a configured time span has lapsed since the latest notification finished dispatching

        The default config is defined by cron.deleteBounces config object in file src/config.ts

        module.exports = {
           cron: {
             deleteBounces: {
               // hourly
        @@ -44,7 +44,7 @@ import{_ as p,c,a as s,f as a,b as i,d as t,e as o,r as l,o as r}from"./app-chHF
             },
           },
         };
        -

        where

        • minLapsedHoursSinceLatestNotificationEnded is the time span

        Re-dispatch Broadcast Push Notifications

        `,23)),s("p",null,[n[4]||(n[4]=a("This cron job re-dispatches a broadcast push notifications when redis cluster fails. It is part of ")),i(e,{to:"/docs/config/notification.html#guaranteed-broadcast-push-dispatch-processing"},{default:t(()=>n[3]||(n[3]=[a("guaranteed broadcast push dispatch processing")])),_:1})]),n[8]||(n[8]=o(`

        The default config is defined by cron.reDispatchBroadcastPushNotifications config object in file /src/config.ts

        module.exports = {
        +

        where

        • minLapsedHoursSinceLatestNotificationEnded is the time span

        Re-dispatch Broadcast Push Notifications

        `,23)),s("p",null,[n[4]||(n[4]=a("This cron job re-dispatches a broadcast push notifications when redis cluster fails. It is part of ")),i(e,{to:"/docs/config/notification.html#guaranteed-broadcast-push-dispatch-processing"},{default:t(()=>n[3]||(n[3]=[a("guaranteed broadcast push dispatch processing")])),_:1})]),n[8]||(n[8]=o(`

        The default config is defined by cron.reDispatchBroadcastPushNotifications config object in file src/config.ts

        module.exports = {
           cron: {
             reDispatchBroadcastPushNotifications: {
               // minutely
        diff --git a/version/6.0/assets/index.html-BE8LcT0S.js b/version/6.0/assets/index.html-Du3_aeLV.js
        similarity index 97%
        rename from version/6.0/assets/index.html-BE8LcT0S.js
        rename to version/6.0/assets/index.html-Du3_aeLV.js
        index 182ae6ffb..776eadc01 100644
        --- a/version/6.0/assets/index.html-BE8LcT0S.js
        +++ b/version/6.0/assets/index.html-Du3_aeLV.js
        @@ -1,4 +1,4 @@
        -import{_ as a,c as n,e as s,o}from"./app-chHFUe1n.js";const t={};function i(r,e){return o(),n("div",null,e[0]||(e[0]=[s(`

        Memory Dump

        To troubleshoot memory related issues, Super-admin can get a memory dump of NotifyBC by querying /memory API end point. For example

        $ curl -s http://localhost:3000/api/memory
        +import{_ as a,c as n,e as s,o}from"./app-vBJoMoyQ.js";const t={};function i(r,e){return o(),n("div",null,e[0]||(e[0]=[s(`

        Memory Dump

        To troubleshoot memory related issues, Super-admin can get a memory dump of NotifyBC by querying /memory API end point. For example

        $ curl -s http://localhost:3000/api/memory
         Heap.20240513.114015.22037.0.001.heapsnapshot
         

        The output is the file name of the memory dump. The dump file can be loaded by, for example, Chrome DevTools.

        fileName query parameter can be used to specify the file path and name

        $ curl -s http://localhost:3000/api/memory?fileName=/tmp/my.heapsnapshot
         /tmp/my.heapsnapshot
        diff --git a/version/6.0/assets/index.html-CeQBs-q7.js b/version/6.0/assets/index.html-H-eHlGjO.js
        similarity index 99%
        rename from version/6.0/assets/index.html-CeQBs-q7.js
        rename to version/6.0/assets/index.html-H-eHlGjO.js
        index 7ecc9491e..d7224bfcd 100644
        --- a/version/6.0/assets/index.html-CeQBs-q7.js
        +++ b/version/6.0/assets/index.html-H-eHlGjO.js
        @@ -1,4 +1,4 @@
        -import{_ as l,c as p,e as n,a,b as t,d as i,r as o,o as c,f as r}from"./app-chHFUe1n.js";const m={},d={class:"hint-container warning"};function u(h,e){const s=o("RouteLink");return c(),p("div",null,[e[4]||(e[4]=n(`

        TLS Certificates

        NotifyBC supports HTTPS TLS to achieve end-to-end encryption. In addition, both server and client can be authenticated using certificates.

        To enable HTTPS for server authentication only, you need to create two files

        • server/certs/key.pem - a PEM encoded private key
        • server/certs/cert.pem - a PEM encoded X.509 certificate chain

        Use ConfigMaps on Kubernetes

        Create key.pem and cert.pem as items in ConfigMap notify-bc, then mount the items under /home/node/app/server/certs similar to how config.local.js and middleware.local.js are implemented.

        For self-signed certificate, run

        openssl req -x509 -newkey rsa:4096 -keyout server/certs/key.pem -out server/certs/cert.pem -nodes -days 365 -subj "/CN=NotifyBC"
        +import{_ as l,c as p,e as n,a,b as t,d as i,r as o,o as c,f as r}from"./app-vBJoMoyQ.js";const m={},d={class:"hint-container warning"};function u(h,e){const s=o("RouteLink");return c(),p("div",null,[e[4]||(e[4]=n(`

        TLS Certificates

        NotifyBC supports HTTPS TLS to achieve end-to-end encryption. In addition, both server and client can be authenticated using certificates.

        To enable HTTPS for server authentication only, you need to create two files

        • server/certs/key.pem - a PEM encoded private key
        • server/certs/cert.pem - a PEM encoded X.509 certificate chain

        Use ConfigMaps on Kubernetes

        Create key.pem and cert.pem as items in ConfigMap notify-bc, then mount the items under /home/node/app/server/certs similar to how config.local.js and middleware.local.js are implemented.

        For self-signed certificate, run

        openssl req -x509 -newkey rsa:4096 -keyout server/certs/key.pem -out server/certs/cert.pem -nodes -days 365 -subj "/CN=NotifyBC"
         

        to generate both files in one shot.

        Caution about self-signed cert

        Self-signed cert is intended to be used in non-production environments only to authenticate server. In such environments to allow NotifyBC connecting to itself, environment variable NODE_TLS_REJECT_UNAUTHORIZED must be set to 0.

        To create a CSR from the private key generated above, run

        openssl req -new -key server/certs/key.pem -out server/certs/csr.pem
         

        Then bring your CSR to your CA to sign. Replace server/certs/cert.pem with the cert signed by CA. If your CA also supplied intermediate certificate in PEM encoded format, say in a file called intermediate.pem, append all of the content of intermediate.pem to file server/certs/cert.pem.

        Make a copy of self-signed server/certs/cert.pem

        If you want to enable client certificate authentication documented below, make sure to copy self-signed server/certs/cert.pem to server/certs/ca.pem before replacing the file with the cert signed by CA. You need the self-signed server/certs/cert.pem to sign client CSR.

        In case you created server/certs/key.pem and server/certs/cert.pem but don't want to enable HTTPS, create following config in src/config.local.js

        module.exports = {
           tls: {
        diff --git a/version/6.0/assets/index.html-pdoT14QH.js b/version/6.0/assets/index.html-OOebM4D9.js
        similarity index 98%
        rename from version/6.0/assets/index.html-pdoT14QH.js
        rename to version/6.0/assets/index.html-OOebM4D9.js
        index a365139d6..e08a6eeeb 100644
        --- a/version/6.0/assets/index.html-pdoT14QH.js
        +++ b/version/6.0/assets/index.html-OOebM4D9.js
        @@ -1 +1 @@
        -import{_ as r,c as s,a as e,b as o,d as n,f as d,e as l,r as i,o as c}from"./app-chHFUe1n.js";const p={};function b(u,t){const a=i("RouteLink");return c(),s("div",null,[t[2]||(t[2]=e("h1",{id:"bounce",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#bounce"},[e("span",null,"Bounce")])],-1)),e("p",null,[o(a,{to:"/docs/config/email.html#bounce"},{default:n(()=>t[0]||(t[0]=[d("Bounce")])),_:1}),t[1]||(t[1]=d(" handling involves recording bounce messages into bounce records, which are implemented using this bounce API and model. Administrator can view bounce records in web console or through API explorer. Bounce record is for internal use and should be read-only under normal circumstances."))]),t[3]||(t[3]=l('

        Model Schema

        The API operates on following data model fields:

        NameAttributes

        channel

        name of the delivery channel. Valid values: email, sms.

        typestring
        requiredtrue

        userChannelId

        user's delivery channel id, for example, email address.
        typestring
        requiredtrue

        hardBounceCount

        number of hard bounces recorded so far

        typeinteger
        requiredtrue

        state

        bounce record state. Valid values: active, deleted.

        typestring
        requiredtrue

        bounceMessages

        array of recorded bounce messages. Each element is an object containing the date bounce message was received and the message itself.

        typearray
        requiredfalse

        latestNotificationStarted

        latest notification started date.

        typedate
        requiredfalse

        latestNotificationEnded

        latest notification ended date.

        typedate
        requiredfalse

        created

        date and time bounce record was created

        typedate
        auto-generatedtrue

        updated

        date and time of bounce record was last updated

        typedate
        auto-generatedtrue

        id

        config id

        typestring, format depends on db
        auto-generatedtrue
        ',3))])}const h=r(p,[["render",b],["__file","index.html.vue"]]),y=JSON.parse('{"path":"/docs/api-bounce/","title":"Bounce","lang":"en-US","frontmatter":{"permalink":"/docs/api-bounce/","next":"/docs/health-check/"},"headers":[{"level":2,"title":"Model Schema","slug":"model-schema","link":"#model-schema","children":[]}],"git":{},"filePathRelative":"docs/api/bounce.md"}');export{h as comp,y as data}; +import{_ as r,c as s,a as e,b as o,d as n,f as d,e as l,r as i,o as c}from"./app-vBJoMoyQ.js";const p={};function b(u,t){const a=i("RouteLink");return c(),s("div",null,[t[2]||(t[2]=e("h1",{id:"bounce",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#bounce"},[e("span",null,"Bounce")])],-1)),e("p",null,[o(a,{to:"/docs/config/email.html#bounce"},{default:n(()=>t[0]||(t[0]=[d("Bounce")])),_:1}),t[1]||(t[1]=d(" handling involves recording bounce messages into bounce records, which are implemented using this bounce API and model. Administrator can view bounce records in web console or through API explorer. Bounce record is for internal use and should be read-only under normal circumstances."))]),t[3]||(t[3]=l('

        Model Schema

        The API operates on following data model fields:

        NameAttributes

        channel

        name of the delivery channel. Valid values: email, sms.

        typestring
        requiredtrue

        userChannelId

        user's delivery channel id, for example, email address.
        typestring
        requiredtrue

        hardBounceCount

        number of hard bounces recorded so far

        typeinteger
        requiredtrue

        state

        bounce record state. Valid values: active, deleted.

        typestring
        requiredtrue

        bounceMessages

        array of recorded bounce messages. Each element is an object containing the date bounce message was received and the message itself.

        typearray
        requiredfalse

        latestNotificationStarted

        latest notification started date.

        typedate
        requiredfalse

        latestNotificationEnded

        latest notification ended date.

        typedate
        requiredfalse

        created

        date and time bounce record was created

        typedate
        auto-generatedtrue

        updated

        date and time of bounce record was last updated

        typedate
        auto-generatedtrue

        id

        config id

        typestring, format depends on db
        auto-generatedtrue
        ',3))])}const h=r(p,[["render",b],["__file","index.html.vue"]]),y=JSON.parse('{"path":"/docs/api-bounce/","title":"Bounce","lang":"en-US","frontmatter":{"permalink":"/docs/api-bounce/","next":"/docs/health-check/"},"headers":[{"level":2,"title":"Model Schema","slug":"model-schema","link":"#model-schema","children":[]}],"git":{},"filePathRelative":"docs/api/bounce.md"}');export{h as comp,y as data}; diff --git a/version/6.0/assets/index.html-hzKjqofi.js b/version/6.0/assets/index.html-PKVDpdJx.js similarity index 97% rename from version/6.0/assets/index.html-hzKjqofi.js rename to version/6.0/assets/index.html-PKVDpdJx.js index 783f373d8..bcccdf564 100644 --- a/version/6.0/assets/index.html-hzKjqofi.js +++ b/version/6.0/assets/index.html-PKVDpdJx.js @@ -1 +1 @@ -import{_ as o,c as s,a as t,b as a,d as i,e as r,r as l,o as d,f as u}from"./app-chHFUe1n.js";const h={},g={id:"documentation",tabindex:"-1"},c={class:"header-anchor",href:"#documentation"};function p(f,e){const n=l("RouteLink");return d(),s("div",null,[e[1]||(e[1]=t("h2",{id:"getting-help",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#getting-help"},[t("span",null,"Getting Help")])],-1)),e[2]||(e[2]=t("p",null,"Need help with NotifyBC? Try these resources.",-1)),t("h3",g,[t("a",c,[t("span",null,[a(n,{to:"/docs/"},{default:i(()=>e[0]||(e[0]=[u("Documentation")])),_:1})])])]),e[3]||(e[3]=r('

        Our guide to NotifyBC covering installation, writing, customization, deployment, and more.

        View source

        Use the source, Luke.

        Google

        Add NotifyBC to almost any query, and you'll find just what you need.

        Outstanding issues and requests

        Search through the issues on the main NotifyBC development. Think you've found a bug? File a new issue.

        ',7))])}const v=o(h,[["render",p],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/help/","title":"","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Getting Help","slug":"getting-help","link":"#getting-help","children":[{"level":3,"title":"Documentation","slug":"documentation","link":"#documentation","children":[]},{"level":3,"title":"View source","slug":"view-source","link":"#view-source","children":[]},{"level":3,"title":"Google","slug":"google","link":"#google","children":[]},{"level":3,"title":"Outstanding issues and requests","slug":"outstanding-issues-and-requests","link":"#outstanding-issues-and-requests","children":[]}]}],"git":{},"filePathRelative":"help/index.md"}');export{v as comp,b as data}; +import{_ as o,c as s,a as t,b as a,d as i,e as r,r as l,o as d,f as u}from"./app-vBJoMoyQ.js";const h={},g={id:"documentation",tabindex:"-1"},c={class:"header-anchor",href:"#documentation"};function p(f,e){const n=l("RouteLink");return d(),s("div",null,[e[1]||(e[1]=t("h2",{id:"getting-help",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#getting-help"},[t("span",null,"Getting Help")])],-1)),e[2]||(e[2]=t("p",null,"Need help with NotifyBC? Try these resources.",-1)),t("h3",g,[t("a",c,[t("span",null,[a(n,{to:"/docs/"},{default:i(()=>e[0]||(e[0]=[u("Documentation")])),_:1})])])]),e[3]||(e[3]=r('

        Our guide to NotifyBC covering installation, writing, customization, deployment, and more.

        View source

        Use the source, Luke.

        Google

        Add NotifyBC to almost any query, and you'll find just what you need.

        Outstanding issues and requests

        Search through the issues on the main NotifyBC development. Think you've found a bug? File a new issue.

        ',7))])}const v=o(h,[["render",p],["__file","index.html.vue"]]),b=JSON.parse('{"path":"/help/","title":"","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"Getting Help","slug":"getting-help","link":"#getting-help","children":[{"level":3,"title":"Documentation","slug":"documentation","link":"#documentation","children":[]},{"level":3,"title":"View source","slug":"view-source","link":"#view-source","children":[]},{"level":3,"title":"Google","slug":"google","link":"#google","children":[]},{"level":3,"title":"Outstanding issues and requests","slug":"outstanding-issues-and-requests","link":"#outstanding-issues-and-requests","children":[]}]}],"git":{},"filePathRelative":"help/index.md"}');export{v as comp,b as data}; diff --git a/version/6.0/assets/index.html-B8WpHS2H.js b/version/6.0/assets/index.html-SxYslWx4.js similarity index 96% rename from version/6.0/assets/index.html-B8WpHS2H.js rename to version/6.0/assets/index.html-SxYslWx4.js index 705b90f8e..f986bf5c1 100644 --- a/version/6.0/assets/index.html-B8WpHS2H.js +++ b/version/6.0/assets/index.html-SxYslWx4.js @@ -1 +1 @@ -import{_ as e,c as t,o as i}from"./app-chHFUe1n.js";const n={};function o(l,s){return i(),t("div")}const a=e(n,[["render",o],["__file","index.html.vue"]]),c=JSON.parse('{"path":"/","title":"","lang":"en-US","frontmatter":{"home":true,"heroImage":"/img/logo.svg","heroText":null,"actions":[{"text":"Quick Start →","link":"/docs/quickstart/","type":"primary"}],"features":[{"title":"Versatile","details":"
          \\n
        • Anonymous or authenticated subscriptions
        • \\n
        • Push and in-app pull notifications
        • \\n
        • Email and SMS push notification channels
        • \\n
        • Unicast and broadcast message types
        • \\n
        • Broadcast push notification filter rules specifiable by both sender and subscriber
        • \\n
        • Notification auto-gen from RSS
        • \\n
        \\n"},{"title":"Non-intrusive","details":"
          \\n
        • Handles common backend business logic only, allowing site developer implement frontend UI using widgets native to the site\\n
        • \\n
        • Loose coupling - interacts with user browser or other server components through RESTful API\\n
        • \\n
        \\n"},{"title":"Secure & Reliable","details":"
          \\n
        • Support end-to-end encryption\\n
        • \\n
        • Multiple authentication strategies including client certificate for server-server and OIDC for user-server
        • \\n
        • Resilient to node failures
        • \\n
        \\n"}],"footer":"The contents of this website are
        © 2016-present under the terms of the Apache License, Version 2.0.\\n","footerHtml":true,"head":[["title",{},"NotifyBC | A versatile notification API server"]]},"headers":[],"git":{},"filePathRelative":"index.md"}');export{a as comp,c as data}; +import{_ as e,c as t,o as i}from"./app-vBJoMoyQ.js";const n={};function o(l,s){return i(),t("div")}const a=e(n,[["render",o],["__file","index.html.vue"]]),c=JSON.parse('{"path":"/","title":"","lang":"en-US","frontmatter":{"home":true,"heroImage":"/img/logo.svg","heroText":null,"actions":[{"text":"Quick Start →","link":"/docs/quickstart/","type":"primary"}],"features":[{"title":"Versatile","details":"
          \\n
        • Anonymous or authenticated subscriptions
        • \\n
        • Push and in-app pull notifications
        • \\n
        • Email and SMS push notification channels
        • \\n
        • Unicast and broadcast message types
        • \\n
        • Broadcast push notification filter rules specifiable by both sender and subscriber
        • \\n
        • Notification auto-gen from RSS
        • \\n
        \\n"},{"title":"Non-intrusive","details":"
          \\n
        • Handles common backend business logic only, allowing site developer implement frontend UI using widgets native to the site\\n
        • \\n
        • Loose coupling - interacts with user browser or other server components through RESTful API\\n
        • \\n
        \\n"},{"title":"Secure & Reliable","details":"
          \\n
        • Support end-to-end encryption\\n
        • \\n
        • Multiple authentication strategies including client certificate for server-server and OIDC for user-server
        • \\n
        • Resilient to node failures
        • \\n
        \\n"}],"footer":"The contents of this website are
        © 2016-present under the terms of the Apache License, Version 2.0.\\n","footerHtml":true,"head":[["title",{},"NotifyBC | A versatile notification API server"]]},"headers":[],"git":{},"filePathRelative":"index.md"}');export{a as comp,c as data}; diff --git a/version/6.0/assets/index.html-CAqBbPri.js b/version/6.0/assets/index.html-UB1Lg3W7.js similarity index 95% rename from version/6.0/assets/index.html-CAqBbPri.js rename to version/6.0/assets/index.html-UB1Lg3W7.js index 67b1089aa..e44822f08 100644 --- a/version/6.0/assets/index.html-CAqBbPri.js +++ b/version/6.0/assets/index.html-UB1Lg3W7.js @@ -1,4 +1,4 @@ -import{_ as o,c as l,e,a as s,f as a,b as t,d as p,r as c,o as r}from"./app-chHFUe1n.js";const u={};function d(m,n){const i=c("RouteLink");return r(),l("div",null,[n[7]||(n[7]=e(`

        Subscription

        Configs in this section customize behavior of subscription and unsubscription workflow. They are all sub-properties of config object subscription. This object can be defined as service-agnostic static config as well as service-specific dynamic config, which overrides the static one on a service-by-service basis. Default static config is defined in file /src/config.ts. There is no default dynamic config.

        To customize static config, create the config object subscription in file /src/config.local.js

        module.exports = {
        +import{_ as o,c as l,e,a as s,f as a,b as t,d as p,r as c,o as r}from"./app-vBJoMoyQ.js";const u={};function d(m,n){const i=c("RouteLink");return r(),l("div",null,[n[7]||(n[7]=e(`

        Subscription

        Configs in this section customize behavior of subscription and unsubscription workflow. They are all sub-properties of config object subscription. This object can be defined as service-agnostic static config as well as service-specific dynamic config, which overrides the static one on a service-by-service basis. Default static config is defined in file src/config.ts. There is no default dynamic config.

        To customize static config, create the config object subscription in file src/config.local.js

        module.exports = {
           "subscription": {
             ...
           }
        @@ -111,7 +111,7 @@ import{_ as o,c as l,e,a as s,f as a,b as t,d as p,r as c,o as r}from"./app-chHF
             },
           },
         };
        -

        The settings control whether or not unsubscription code is required, its RegEx pattern, and acknowledgement message templates for both on-screen and push notifications. Customization should be made to file /src/config.local.js for static config or using configuration api for service-specific dynamic config.

        To disable acknowledgement notification, set subscription.anonymousUnsubscription.acknowledgements.notification or a specific channel underneath to null

        module.exports = {
        +

        The settings control whether or not unsubscription code is required, its RegEx pattern, and acknowledgement message templates for both on-screen and push notifications. Customization should be made to file src/config.local.js for static config or using configuration api for service-specific dynamic config.

        To disable acknowledgement notification, set subscription.anonymousUnsubscription.acknowledgements.notification or a specific channel underneath to null

        module.exports = {
           subscription: {
             anonymousUnsubscription: {
               acknowledgements: {
        @@ -120,7 +120,7 @@ import{_ as o,c as l,e,a as s,f as a,b as t,d as p,r as c,o as r}from"./app-chHF
             },
           },
         };
        -

        For on-screen acknowledgement, you can define a redirect URL instead of displaying successMessage or failureMessage. For example, to redirect on-screen acknowledgement to a page in your app for all services, create following config in file /src/config.local.js

        module.exports = {
        +

        For on-screen acknowledgement, you can define a redirect URL instead of displaying successMessage or failureMessage. For example, to redirect on-screen acknowledgement to a page in your app for all services, create following config in file src/config.local.js

        module.exports = {
           subscription: {
             anonymousUnsubscription: {
               acknowledgements: {
        diff --git a/version/6.0/assets/index.html-D0FdNcN8.js b/version/6.0/assets/index.html-bHmRd8LA.js
        similarity index 75%
        rename from version/6.0/assets/index.html-D0FdNcN8.js
        rename to version/6.0/assets/index.html-bHmRd8LA.js
        index 721e8d488..a0c050389 100644
        --- a/version/6.0/assets/index.html-D0FdNcN8.js
        +++ b/version/6.0/assets/index.html-bHmRd8LA.js
        @@ -1,4 +1,4 @@
        -import{_ as s,c as a,e,o as t}from"./app-chHFUe1n.js";const o={};function p(i,n){return t(),a("div",null,n[0]||(n[0]=[e(`

        OIDC

        NotifyBC currently can only authenticate RSA signed OIDC access token if the token is a JWT. OIDC providers such as Keycloak meet the requirement.

        To enable OIDC authentication strategy, add oidc configuration object to /src/config.local.js. The object supports following properties

        1. discoveryUrl - OIDC discovery url
        2. clientId - OIDC client id
        3. isAdmin - a predicate function to determine if authenticated user is NotifyBC administrator. The function takes the decoded OIDC access token JWT payload as input user object and should return either a boolean or a promise of boolean, i.e. the function can be both sync or async.
        4. isAuthorizedUser - an optional predicate function to determine if authenticated user is an authorized NotifyBC user. If omitted, any authenticated user is authorized NotifyBC user. This function has same signature as isAdmin

        A example of complete OIDC configuration looks like

        module.exports = {
        +import{_ as s,c as a,e,o as t}from"./app-vBJoMoyQ.js";const o={};function p(i,n){return t(),a("div",null,n[0]||(n[0]=[e(`

        OIDC

        NotifyBC currently can only authenticate RSA signed OIDC access token if the token is a JWT. OIDC providers such as Keycloak meet the requirement.

        To enable OIDC authentication strategy, add oidc configuration object to src/config.local.js. The object supports following properties

        1. discoveryUrl - OIDC discovery url
        2. clientId - OIDC client id
        3. isAdmin - a predicate function to determine if authenticated user is NotifyBC administrator. The function takes the decoded OIDC access token JWT payload as input user object and should return either a boolean or a promise of boolean, i.e. the function can be both sync or async.
        4. isAuthorizedUser - an optional predicate function to determine if authenticated user is an authorized NotifyBC user. If omitted, any authenticated user is authorized NotifyBC user. This function has same signature as isAdmin

        A example of complete OIDC configuration looks like

        module.exports = {
           ...
           oidc: {
             discoveryUrl:
        @@ -14,4 +14,4 @@ import{_ as s,c as a,e,o as t}from"./app-chHFUe1n.js";const o={};function p(i,n)
             },
           },
         };
        -

        In NotifyBC web console and only in the web console, OIDC authentication takes precedence over built-in admin user, meaning if OIDC is configured, the login button goes to OIDC provider rather than the login form.

        There is no default OIDC configuration in /src/config.ts.

        `,8)]))}const l=s(o,[["render",p],["__file","index.html.vue"]]),r=JSON.parse('{"path":"/docs/config-oidc/","title":"OIDC","lang":"en-US","frontmatter":{"permalink":"/docs/config-oidc/"},"headers":[],"git":{},"filePathRelative":"docs/config/oidc.md"}');export{l as comp,r as data}; +

        In NotifyBC web console and only in the web console, OIDC authentication takes precedence over built-in admin user, meaning if OIDC is configured, the login button goes to OIDC provider rather than the login form.

        There is no default OIDC configuration in src/config.ts.

        `,8)]))}const l=s(o,[["render",p],["__file","index.html.vue"]]),r=JSON.parse('{"path":"/docs/config-oidc/","title":"OIDC","lang":"en-US","frontmatter":{"permalink":"/docs/config-oidc/"},"headers":[],"git":{},"filePathRelative":"docs/config/oidc.md"}');export{l as comp,r as data}; diff --git a/version/6.0/assets/index.html-Cy5yOMCn.js b/version/6.0/assets/index.html-bbfkGIF1.js similarity index 79% rename from version/6.0/assets/index.html-Cy5yOMCn.js rename to version/6.0/assets/index.html-bbfkGIF1.js index 99598d0e8..640432837 100644 --- a/version/6.0/assets/index.html-Cy5yOMCn.js +++ b/version/6.0/assets/index.html-bbfkGIF1.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,e,o as p}from"./app-chHFUe1n.js";const t={};function l(o,n){return p(),a("div",null,n[0]||(n[0]=[e(`

        Middleware

        NotifyBC pre-installed following Express middleware as defined in /src/middleware.ts

        /src/middleware.ts contains following default middleware settings

        import path from 'path';
        +import{_ as s,c as a,e,o as p}from"./app-vBJoMoyQ.js";const t={};function l(o,n){return p(),a("div",null,n[0]||(n[0]=[e(`

        Middleware

        NotifyBC pre-installed following Express middleware as defined in src/middleware.ts

        src/middleware.ts contains following default middleware settings

        import path from 'path';
         module.exports = {
           all: {
             compression: {},
        @@ -13,7 +13,7 @@ import{_ as s,c as a,e,o as p}from"./app-chHFUe1n.js";const t={};function l(o,n)
             },
           },
         };
        -

        /src/middleware.ts has following structure

        module.exports = {
        +

        src/middleware.ts has following structure

        module.exports = {
           all: {
             '<middlewareName>': {params: [], enabled: <boolean>},
           },
        @@ -21,7 +21,7 @@ import{_ as s,c as a,e,o as p}from"./app-chHFUe1n.js";const t={};function l(o,n)
             '<middlewareName>': {params: [], enabled: <boolean>},
           },
         };
        -

        Middleware defined under all applies to both API and web console requests, as opposed to apiOnly, which applies to API requests only. params are passed to middleware function as arguments. enabled toggles the middleware on or off.

        To change default settings defined in /src/middleware.ts, create file /src/middleware.local.ts or /src/middleware.<env>.ts to override. For example, to enable access log,

        module.exports = {
        +

        Middleware defined under all applies to both API and web console requests, as opposed to apiOnly, which applies to API requests only. params are passed to middleware function as arguments. enabled toggles the middleware on or off.

        To change default settings defined in src/middleware.ts, create file src/middleware.local.ts or src/middleware.<env>.ts to override. For example, to enable access log,

        module.exports = {
           apiOnly: {
             morgan: {
               enabled: true,
        diff --git a/version/6.0/assets/index.html-jGK513pk.js b/version/6.0/assets/index.html-jGK513pk.js
        new file mode 100644
        index 000000000..72f3954bc
        --- /dev/null
        +++ b/version/6.0/assets/index.html-jGK513pk.js
        @@ -0,0 +1 @@
        +import{_ as l,c as a,a as n,f as e,b as o,d as s,e as r,r as f,o as d}from"./app-vBJoMoyQ.js";const u={},m={class:"hint-container tip"};function g(c,i){const t=f("RouteLink");return d(),a("div",null,[i[20]||(i[20]=n("h1",{id:"configuration-overview",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#configuration-overview"},[n("span",null,"Configuration Overview")])],-1)),n("div",m,[i[7]||(i[7]=n("p",{class:"hint-container-title"},"Helm Chart Configurations",-1)),n("p",null,[i[1]||(i[1]=e("The document pages in this section cover ")),i[2]||(i[2]=n("em",null,"NotifyBC",-1)),i[3]||(i[3]=e(" app level configurations only. If your ")),i[4]||(i[4]=n("em",null,"NotifyBC",-1)),i[5]||(i[5]=e(" is deployed to Kubernetes using Helm, you can also ")),o(t,{to:"/docs/getting-started/installation.html#customizations"},{default:s(()=>i[0]||(i[0]=[e("customize")])),_:1}),i[6]||(i[6]=e(" infrastructure level configurations."))])]),i[21]||(i[21]=r('

        There are two types of configurations - static and dynamic. Static configurations are defined in files or environment variables, requiring restarting NotifyBC to take effect, whereas dynamic configurations are defined in databases and updates take effect immediately.

        Static Configurations

        Most static configurations are specified in file src/config.ts. If you need to change, instead of updating src/config.ts file, create local file src/config.local.js or environment specific file src/config.<env>.js, which is only included when environment variable NODE_ENV equals <env>. Besides js, ts and json file extensions are also supported. The rest of the documentation assumes the file extension is js. Content in these files are deeply merged in following ascending precedence

        • default file /src/config.ts
        • environment specific file src/config.<env>.js
        • local file src/config.local.js

        Run build script whenever changing file in /src

        Every time a file under src, including config files, is updated, run npm run build before restarting NotifyBC to take effect.

        Following configs should be customized per installation

        ',6)),n("ul",null,[n("li",null,[o(t,{to:"/docs/config/adminIpList.html"},{default:s(()=>i[8]||(i[8]=[e("Admin IP List")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/reverseProxyIpLists.html"},{default:s(()=>i[9]||(i[9]=[e("Reverse Proxy IP Lists")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/httpHost.html"},{default:s(()=>i[10]||(i[10]=[e("HTTP Host")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/email.html#smtp"},{default:s(()=>i[11]||(i[11]=[e("SMTP")])),_:1})])]),i[22]||(i[22]=n("p",null,"In addition, if installing from source code",-1)),n("ul",null,[n("li",null,[o(t,{to:"/docs/config/database.html"},{default:s(()=>i[12]||(i[12]=[e("Database")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/queue.html"},{default:s(()=>i[13]||(i[13]=[e("Queue")])),_:1})]),n("li",null,[o(t,{to:"/docs/config/internalHttpHost.html"},{default:s(()=>i[14]||(i[14]=[e("Internal HTTP Host")])),_:1})])]),i[23]||(i[23]=n("p",null,"Customizing other configs only if needed.",-1)),i[24]||(i[24]=n("h2",{id:"dynamic-configurations",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#dynamic-configurations"},[n("span",null,"Dynamic Configurations")])],-1)),n("p",null,[i[16]||(i[16]=e("Dynamic configs are managed using REST ")),o(t,{to:"/docs/api-config/"},{default:s(()=>i[15]||(i[15]=[e("configuration api")])),_:1}),i[17]||(i[17]=e(". At the time of installing ")),i[18]||(i[18]=n("em",null,"NotifyBC",-1)),i[19]||(i[19]=e(", no dynamic configs need to be setup."))]),i[25]||(i[25]=n("div",{class:"hint-container tip"},[n("p",{class:"hint-container-title"},"Why Dynamic Configs?"),n("p",null,"Dynamic configs are needed in cases such as"),n("ul",null,[n("li",null,"to allow define service-specific configs such as message templates"),n("li",null,"in a multi-node deployment, configs can be generated by one node (typically primary) and shared with other nodes")])],-1))])}const v=l(u,[["render",g],["__file","index.html.vue"]]),y=JSON.parse(`{"path":"/docs/config-overview/","title":"Configuration Overview","lang":"en-US","frontmatter":{"permalink":"/docs/config-overview/","prev":"/docs/what's-new/"},"headers":[{"level":2,"title":"Static Configurations","slug":"static-configurations","link":"#static-configurations","children":[]},{"level":2,"title":"Dynamic Configurations","slug":"dynamic-configurations","link":"#dynamic-configurations","children":[]}],"git":{},"filePathRelative":"docs/config/overview.md"}`);export{v as comp,y as data}; diff --git a/version/6.0/assets/index.html-BGaF7f4K.js b/version/6.0/assets/index.html-jWrEFaGz.js similarity index 87% rename from version/6.0/assets/index.html-BGaF7f4K.js rename to version/6.0/assets/index.html-jWrEFaGz.js index 23fb9f852..2e3abd17f 100644 --- a/version/6.0/assets/index.html-BGaF7f4K.js +++ b/version/6.0/assets/index.html-jWrEFaGz.js @@ -1,4 +1,4 @@ -import{_ as p,c as l,e as t,a,f as n,b as i,d as o,r as c,o as r}from"./app-chHFUe1n.js";const u={};function d(m,s){const e=c("RouteLink");return r(),l("div",null,[s[21]||(s[21]=t('

        Notification

        Configs in this section customize the handling of notification request or generating notifications from RSS feeds. They are all sub-properties of config object notification. Service-agnostic configs are static and service-dependent configs are dynamic.

        RSS Feeds

        NotifyBC can generate broadcast push notifications automatically by polling RSS feeds periodically and detect changes by comparing with an internally maintained history list. The polling frequency, RSS url, RSS item change detection criteria, and message template can be defined in dynamic configs.

        Only first page is retrieved for paginated RSS feeds

        If a RSS feed is paginated, NotifyBC only retrieves the first page rather than auto-fetch subsequent pages. Hence paginated RSS feeds should be sorted descendingly by last modified timestamp. Refresh interval should be adjusted small enough such that all new or updated items are contained in first page.

        ',5)),a("p",null,[s[1]||(s[1]=n("For example, to notify subscribers of ")),s[2]||(s[2]=a("em",null,"myService",-1)),s[3]||(s[3]=n(" on updates to feed ")),s[4]||(s[4]=a("em",null,"http://my-serivce/rss",-1)),s[5]||(s[5]=n(", create following config item using ")),i(e,{to:"/docs/api-config/#create-a-configuration"},{default:o(()=>s[0]||(s[0]=[n("POST configuration API")])),_:1})]),s[22]||(s[22]=t(`
        {
        +import{_ as p,c as l,e as t,a,f as n,b as i,d as o,r as c,o as r}from"./app-vBJoMoyQ.js";const u={};function d(m,s){const e=c("RouteLink");return r(),l("div",null,[s[21]||(s[21]=t('

        Notification

        Configs in this section customize the handling of notification request or generating notifications from RSS feeds. They are all sub-properties of config object notification. Service-agnostic configs are static and service-dependent configs are dynamic.

        RSS Feeds

        NotifyBC can generate broadcast push notifications automatically by polling RSS feeds periodically and detect changes by comparing with an internally maintained history list. The polling frequency, RSS url, RSS item change detection criteria, and message template can be defined in dynamic configs.

        Only first page is retrieved for paginated RSS feeds

        If a RSS feed is paginated, NotifyBC only retrieves the first page rather than auto-fetch subsequent pages. Hence paginated RSS feeds should be sorted descendingly by last modified timestamp. Refresh interval should be adjusted small enough such that all new or updated items are contained in first page.

        ',5)),a("p",null,[s[1]||(s[1]=n("For example, to notify subscribers of ")),s[2]||(s[2]=a("em",null,"myService",-1)),s[3]||(s[3]=n(" on updates to feed ")),s[4]||(s[4]=a("em",null,"http://my-serivce/rss",-1)),s[5]||(s[5]=n(", create following config item using ")),i(e,{to:"/docs/api-config/#create-a-configuration"},{default:o(()=>s[0]||(s[0]=[n("POST configuration API")])),_:1})]),s[22]||(s[22]=t(`
        {
           "name": "notification",
           "serviceName": "myService",
           "value": {
        @@ -24,12 +24,12 @@ import{_ as p,c as l,e as t,a,f as n,b as i,d as o,r as c,o as r}from"./app-chHF
             }
           }
         }
        -

        The config items in the value field are

        `,2)),a("ul",null,[s[14]||(s[14]=t('
      • rss
        • url: RSS url
        • timeSpec: RSS poll frequency, a space separated fields conformed to unix crontab format with an optional left-most seconds field. See allowed ranges of each field
        • itemKeyField: rss item's unique key field to identify new items. By default guid
        • outdatedItemRetentionGenerations: number of last consecutive polls from which results an item has to be absent before the item can be removed from the history list. This config is designed to prevent multiple notifications triggered by the same item because RSS poll returns inconsistent results, usually due to a combination of pagination and lack of sorting. By default 1, meaning the history list only keeps the last poll result
        • includeUpdatedItems: whether to notify also updated items or just new items. By default false
        • fieldsToCheckForUpdate: list of fields to check for updates if includeUpdatedItems is true. By default ["pubDate"]
      • ',1)),a("li",null,[s[7]||(s[7]=n("httpHost: the http protocol, host and port used by ")),i(e,{to:"/docs/overview/#mail-merge"},{default:o(()=>s[6]||(s[6]=[n("mail merge")])),_:1}),s[8]||(s[8]=n(". If missing, the value is auto-populated based on the REST request that creates this config item."))]),a("li",null,[s[10]||(s[10]=n("messageTemplates: channel-specific message templates with channel name as the key. ")),s[11]||(s[11]=a("em",null,"NotifyBC",-1)),s[12]||(s[12]=n(" generates a notification for each channel specified in the message templates. Message template fields are the same as those in ")),i(e,{to:"/docs/api-notification/#field-message"},{default:o(()=>s[9]||(s[9]=[n("notification api")])),_:1}),s[13]||(s[13]=n(". Message template fields support dynamic token."))])]),s[23]||(s[23]=t(`

        Broadcast Push Notification Task Concurrency

        To achieve horizontal scaling, when a broadcast push notification request is received, NotifyBC divides subscribers into chunks and submits a BullMQ job for each chunk. The chunk size is defined by config broadcastSubscriberChunkSize. All subscribers in a chunk are processed concurrently.

        The default value for broadcastSubscriberChunkSize is defined in /src/config.ts

        module.exports = {
        +

        The config items in the value field are

        `,2)),a("ul",null,[s[14]||(s[14]=t('
      • rss
        • url: RSS url
        • timeSpec: RSS poll frequency, a space separated fields conformed to unix crontab format with an optional left-most seconds field. See allowed ranges of each field
        • itemKeyField: rss item's unique key field to identify new items. By default guid
        • outdatedItemRetentionGenerations: number of last consecutive polls from which results an item has to be absent before the item can be removed from the history list. This config is designed to prevent multiple notifications triggered by the same item because RSS poll returns inconsistent results, usually due to a combination of pagination and lack of sorting. By default 1, meaning the history list only keeps the last poll result
        • includeUpdatedItems: whether to notify also updated items or just new items. By default false
        • fieldsToCheckForUpdate: list of fields to check for updates if includeUpdatedItems is true. By default ["pubDate"]
      • ',1)),a("li",null,[s[7]||(s[7]=n("httpHost: the http protocol, host and port used by ")),i(e,{to:"/docs/overview/#mail-merge"},{default:o(()=>s[6]||(s[6]=[n("mail merge")])),_:1}),s[8]||(s[8]=n(". If missing, the value is auto-populated based on the REST request that creates this config item."))]),a("li",null,[s[10]||(s[10]=n("messageTemplates: channel-specific message templates with channel name as the key. ")),s[11]||(s[11]=a("em",null,"NotifyBC",-1)),s[12]||(s[12]=n(" generates a notification for each channel specified in the message templates. Message template fields are the same as those in ")),i(e,{to:"/docs/api-notification/#field-message"},{default:o(()=>s[9]||(s[9]=[n("notification api")])),_:1}),s[13]||(s[13]=n(". Message template fields support dynamic token."))])]),s[23]||(s[23]=t(`

        Broadcast Push Notification Task Concurrency

        To achieve horizontal scaling, when a broadcast push notification request is received, NotifyBC divides subscribers into chunks and submits a BullMQ job for each chunk. The chunk size is defined by config broadcastSubscriberChunkSize. All subscribers in a chunk are processed concurrently.

        The default value for broadcastSubscriberChunkSize is defined in src/config.ts

        module.exports = {
           notification: {
             broadcastSubscriberChunkSize: 1000,
           },
         };
        -

        To customize, create the config with updated value in file /src/config.local.js.

        When to adjust chunk size?

        Redis memory footprint is inversely proportional to chunk size. Increase chunk size if Redis memory usage is approaching physical limit.

        Broadcast Push Notification Custom Filter Functions

        Advanced Topic

        Defining custom function requires knowledge of JavaScript and understanding how external libraries are added and referenced in Node.js. Setting a development environment to test the custom function is also recommended.

        To support rule-based notification event filtering, NotifyBC uses a modified version of jmespath to implement json query. The modified version allows defining custom functions that can be used in broadcastPushNotificationFilter field of subscription API and broadcastPushNotificationSubscriptionFilter field of subscription API. The functions must be implemented using JavaScript in config notification.broadcastCustomFilterFunctions. The functions can even be async. For example, the case-insensitive string matching function contains_ci shown in the example of that field can be created in file /src/config.local.js

        const _ = require('lodash')
        +

        To customize, create the config with updated value in file src/config.local.js.

        When to adjust chunk size?

        Redis memory footprint is inversely proportional to chunk size. Increase chunk size if Redis memory usage is approaching physical limit.

        Broadcast Push Notification Custom Filter Functions

        Advanced Topic

        Defining custom function requires knowledge of JavaScript and understanding how external libraries are added and referenced in Node.js. Setting a development environment to test the custom function is also recommended.

        To support rule-based notification event filtering, NotifyBC uses a modified version of jmespath to implement json query. The modified version allows defining custom functions that can be used in broadcastPushNotificationFilter field of subscription API and broadcastPushNotificationSubscriptionFilter field of subscription API. The functions must be implemented using JavaScript in config notification.broadcastCustomFilterFunctions. The functions can even be async. For example, the case-insensitive string matching function contains_ci shown in the example of that field can be created in file src/config.local.js

        const _ = require('lodash')
         module.exports = {
           ...
           notification: {
        @@ -53,7 +53,7 @@ import{_ as p,c as l,e as t,a,f as n,b as i,d as o,r as c,o as r}from"./app-chHF
             }
           }
         }
        -

        Consult jmespath.js source code on the functionTable syntax and type constants used by above code. Note the function can use any Node.js modules (lodash in this case).

        install additional Node.js modules

        The recommended way to install additional Node.js modules is by running command npm install <your_module> from the directory one level above NotifyBC root. For example, if NotifyBC is installed on /data/notifyBC, then run the command from directory /data. The command will then install the module to /data/node_modules/<your_module>.

        Guaranteed Broadcast Push Dispatch Processing

        As a major enhancement in v3, by default NotifyBC guarantees all subscribers of a broadcast push notification will be processed in spite of node failures during dispatching. Node failure is a concern because the time takes to dispatch broadcast push notification is proportional to number of subscribers, which is potentially large.

        NotifyBC is not only resilient to failures of NotifyBC application nodes, but also entire Redis cluster.

        The guarantee is achieved by

        1. logging the dispatch result to database individually right after each dispatch
        2. when subscribers are divided into chunks and a chunk job fails, the job is re-processed by BullMQ
        3. a chunk job periodically updates the notification updated timestamp field as heartbeat
        4. if redis cluster fails, a cron job detects the failure from the stale timestamp, and re-submits the notification request
        `,17)),a("p",null,[s[16]||(s[16]=n("Guaranteed processing doesn't mean notification will be dispatched to every intended subscriber, however. Dispatch can still be rejected by smtp/sms server. Furthermore, even if dispatch is successful, it only means the sending is successful. It doesn't guarantee the recipient receives the notification. ")),i(e,{to:"/docs/config/email.html#bounce"},{default:o(()=>s[15]||(s[15]=[n("Bounce")])),_:1}),s[17]||(s[17]=n(" may occur for a successful dispatch, for instance; or the recipient may not read the message."))]),a("p",null,[s[19]||(s[19]=n("The guarantee comes at a performance penalty because result of each dispatch is written to database one by one, taking a toll on the database. It should be noted that the ")),i(e,{to:"/docs/miscellaneous/benchmarks.html"},{default:o(()=>s[18]||(s[18]=[n("benchmarks")])),_:1}),s[20]||(s[20]=n(" were conducted without the guarantee."))]),s[24]||(s[24]=t(`

        If performance is a higher priority to you, disable both the guarantee and bounce handling by setting config notification.guaranteedBroadcastPushDispatchProcessing and email.bounce.enabled to false in file /src/config.local.js

        module.exports = {
        +

        Consult jmespath.js source code on the functionTable syntax and type constants used by above code. Note the function can use any Node.js modules (lodash in this case).

        install additional Node.js modules

        The recommended way to install additional Node.js modules is by running command npm install <your_module> from the directory one level above NotifyBC root. For example, if NotifyBC is installed on /data/notifyBC, then run the command from directory /data. The command will then install the module to /data/node_modules/<your_module>.

        Guaranteed Broadcast Push Dispatch Processing

        As a major enhancement in v3, by default NotifyBC guarantees all subscribers of a broadcast push notification will be processed in spite of node failures during dispatching. Node failure is a concern because the time takes to dispatch broadcast push notification is proportional to number of subscribers, which is potentially large.

        NotifyBC is not only resilient to failures of NotifyBC application nodes, but also entire Redis cluster.

        The guarantee is achieved by

        1. logging the dispatch result to database individually right after each dispatch
        2. when subscribers are divided into chunks and a chunk job fails, the job is re-processed by BullMQ
        3. a chunk job periodically updates the notification updated timestamp field as heartbeat
        4. if redis cluster fails, a cron job detects the failure from the stale timestamp, and re-submits the notification request
        `,17)),a("p",null,[s[16]||(s[16]=n("Guaranteed processing doesn't mean notification will be dispatched to every intended subscriber, however. Dispatch can still be rejected by smtp/sms server. Furthermore, even if dispatch is successful, it only means the sending is successful. It doesn't guarantee the recipient receives the notification. ")),i(e,{to:"/docs/config/email.html#bounce"},{default:o(()=>s[15]||(s[15]=[n("Bounce")])),_:1}),s[17]||(s[17]=n(" may occur for a successful dispatch, for instance; or the recipient may not read the message."))]),a("p",null,[s[19]||(s[19]=n("The guarantee comes at a performance penalty because result of each dispatch is written to database one by one, taking a toll on the database. It should be noted that the ")),i(e,{to:"/docs/miscellaneous/benchmarks.html"},{default:o(()=>s[18]||(s[18]=[n("benchmarks")])),_:1}),s[20]||(s[20]=n(" were conducted without the guarantee."))]),s[24]||(s[24]=t(`

        If performance is a higher priority to you, disable both the guarantee and bounce handling by setting config notification.guaranteedBroadcastPushDispatchProcessing and email.bounce.enabled to false in file src/config.local.js

        module.exports = {
           notification: {
             guaranteedBroadcastPushDispatchProcessing: false,
           },
        @@ -61,7 +61,7 @@ import{_ as p,c as l,e as t,a,f as n,b as i,d as o,r as c,o as r}from"./app-chHF
             bounce: { enabled: false },
           },
         };
        -

        In such case only failed dispatches are written to dispatch.failed field of the notification.

        Also log skipped dispatches for broadcast push notifications

        When guaranteedBroadcastPushDispatchProcessing is true, by default only successful and failed dispatches are logged, along with dispatch candidates. Dispatches that are skipped by filters defined at subscription (broadcastPushNotificationFilter) or notification (broadcastPushNotificationSubscriptionFilter) are not logged for performance reason. If you also want skipped dispatches to be logged to dispatch.skipped field of the notification, set logSkippedBroadcastPushDispatches to true in file /src/config.local.js

        module.exports = {
        +

        In such case only failed dispatches are written to dispatch.failed field of the notification.

        Also log skipped dispatches for broadcast push notifications

        When guaranteedBroadcastPushDispatchProcessing is true, by default only successful and failed dispatches are logged, along with dispatch candidates. Dispatches that are skipped by filters defined at subscription (broadcastPushNotificationFilter) or notification (broadcastPushNotificationSubscriptionFilter) are not logged for performance reason. If you also want skipped dispatches to be logged to dispatch.skipped field of the notification, set logSkippedBroadcastPushDispatches to true in file src/config.local.js

        module.exports = {
           ...
           notification: {
             ...
        diff --git a/version/6.0/assets/index.html-Dto__C-a.js b/version/6.0/assets/index.html-pT4BwoDb.js
        similarity index 77%
        rename from version/6.0/assets/index.html-Dto__C-a.js
        rename to version/6.0/assets/index.html-pT4BwoDb.js
        index 2068b0ae7..9d7d4328b 100644
        --- a/version/6.0/assets/index.html-Dto__C-a.js
        +++ b/version/6.0/assets/index.html-pT4BwoDb.js
        @@ -1,4 +1,4 @@
        -import{_ as t,c as s,e as n,o as a}from"./app-chHFUe1n.js";const o={};function i(p,e){return a(),s("div",null,e[0]||(e[0]=[n(`

        HTTP Host

        httpHost config sets the fallback http host used by

        • mail merge token substitution
        • internal HTTP requests spawned by NotifyBC

        httpHost can be overridden by other configs or data. For example

        • internalHttpHost config
        • httpHost field in a notification

        There are contexts where there is no alternatives to httpHost. Therefore this config should be defined.

        Define the config, which has no default value, in /src/config.local.js

        module.exports = {
        +import{_ as t,c as s,e as n,o as a}from"./app-vBJoMoyQ.js";const o={};function i(p,e){return a(),s("div",null,e[0]||(e[0]=[n(`

        HTTP Host

        httpHost config sets the fallback http host used by

        • mail merge token substitution
        • internal HTTP requests spawned by NotifyBC

        httpHost can be overridden by other configs or data. For example

        • internalHttpHost config
        • httpHost field in a notification

        There are contexts where there is no alternatives to httpHost. Therefore this config should be defined.

        Define the config, which has no default value, in src/config.local.js

        module.exports = {
           httpHost: 'http://foo.com',
         };
         
        `,8)]))}const r=t(o,[["render",i],["__file","index.html.vue"]]),c=JSON.parse('{"path":"/docs/config-httpHost/","title":"HTTP Host","lang":"en-US","frontmatter":{"permalink":"/docs/config-httpHost/"},"headers":[],"git":{},"filePathRelative":"docs/config/httpHost.md"}');export{r as comp,c as data}; diff --git a/version/6.0/assets/infoDiagram-FIZOUH6F-ilmyoO8V.js b/version/6.0/assets/infoDiagram-FIZOUH6F-C_AmforY.js similarity index 69% rename from version/6.0/assets/infoDiagram-FIZOUH6F-ilmyoO8V.js rename to version/6.0/assets/infoDiagram-FIZOUH6F-C_AmforY.js index 5ffb6c8ce..1dbc3ff78 100644 --- a/version/6.0/assets/infoDiagram-FIZOUH6F-ilmyoO8V.js +++ b/version/6.0/assets/infoDiagram-FIZOUH6F-C_AmforY.js @@ -1,2 +1,2 @@ -import{p as o}from"./gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js";import{m as e,t as s,aT as n,C as d,aU as p}from"./mermaid.esm.min-DhsQPv9X.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var m={parse:e(async r=>{let a=await o("info",r);s.debug(a)},"parse")},g={version:p},v=e(()=>g.version,"getVersion"),f={getVersion:v},l=e((r,a,i)=>{s.debug(`rendering info diagram +import{p as o}from"./gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js";import{m as e,t as s,aT as n,C as d,aU as p}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var m={parse:e(async r=>{let a=await o("info",r);s.debug(a)},"parse")},g={version:p},v=e(()=>g.version,"getVersion"),f={getVersion:v},l=e((r,a,i)=>{s.debug(`rendering info diagram `+r);let t=n(a);d(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${i}`)},"draw"),x={draw:l},u={parser:m,db:f,renderer:x};export{u as diagram}; diff --git a/version/6.0/assets/jmespathFilter.html-CdbkP7GE.js b/version/6.0/assets/jmespathFilter.html-DW07qJuI.js similarity index 95% rename from version/6.0/assets/jmespathFilter.html-CdbkP7GE.js rename to version/6.0/assets/jmespathFilter.html-DW07qJuI.js index c001d9d30..b2dcbe12d 100644 --- a/version/6.0/assets/jmespathFilter.html-CdbkP7GE.js +++ b/version/6.0/assets/jmespathFilter.html-DW07qJuI.js @@ -1,4 +1,4 @@ -import{_ as n,c as e,a as t,o as a}from"./app-chHFUe1n.js";const o={};function s(r,i){return a(),e("div",null,i[0]||(i[0]=[t("pre",null,[t("code",null,`
        a string conforming to jmespath filter expressions syntax after the question mark (?). The filter is matched against the data field of the subscription. Examples of filter +import{_ as n,c as e,a as t,o as a}from"./app-vBJoMoyQ.js";const o={};function s(r,i){return a(),e("div",null,i[0]||(i[0]=[t("pre",null,[t("code",null,`
        a string conforming to jmespath filter expressions syntax after the question mark (?). The filter is matched against the data field of the subscription. Examples of filter
        • simple
          province == 'BC' diff --git a/version/6.0/assets/journeyDiagram-CDK7QRCM-BjVGhPMG.js b/version/6.0/assets/journeyDiagram-CDK7QRCM-CTvAVRi5.js similarity index 99% rename from version/6.0/assets/journeyDiagram-CDK7QRCM-BjVGhPMG.js rename to version/6.0/assets/journeyDiagram-CDK7QRCM-CTvAVRi5.js index f02b32e32..9ddbc16bc 100644 --- a/version/6.0/assets/journeyDiagram-CDK7QRCM-BjVGhPMG.js +++ b/version/6.0/assets/journeyDiagram-CDK7QRCM-CTvAVRi5.js @@ -1,4 +1,4 @@ -import{x as gt,y as mt,h as st,g as xt}from"./chunk-44WTIFVW-sd9ASQhj.js";import{m as a,h as kt,W as C,w as _t,B as bt,T as vt,k as $t,S as wt,v as Tt,r as W,C as Mt,aX as tt}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var X=function(){var t=a(function(g,i,s,u){for(s=s||{},u=g.length;u--;s[g[u]]=i);return s},"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],l=[1,10],r=[1,11],h=[1,12],c=[1,13],y=[1,14],d={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:a(function(g,i,s,u,p,o,m){var k=o.length-1;switch(p){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:l,14:r,16:h,17:c,18:y},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:l,14:r,16:h,17:c,18:y},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:a(function(g,i){if(i.recoverable)this.trace(g);else{var s=new Error(g);throw s.hash=i,s}},"parseError"),parse:a(function(g){var i=this,s=[0],u=[],p=[null],o=[],m=this.table,k="",F=0,Z=0,ut=0,pt=2,J=1,yt=o.slice.call(arguments,1),_=Object.create(this.lexer),S={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(S.yy[R]=this.yy[R]);_.setInput(g,S.yy),S.yy.lexer=_,S.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var D=_.yylloc;o.push(D);var dt=_.options&&_.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(v){s.length=s.length-2*v,p.length=p.length-v,o.length=o.length-v}a(ft,"popStack");function K(){var v;return v=u.pop()||_.lex()||J,typeof v!="number"&&(v instanceof Array&&(u=v,v=u.pop()),v=i.symbols_[v]||v),v}a(K,"lex");for(var b,z,E,$,Xt,Y,A={},N,T,Q,O;;){if(E=s[s.length-1],this.defaultActions[E]?$=this.defaultActions[E]:((b===null||typeof b>"u")&&(b=K()),$=m[E]&&m[E][b]),typeof $>"u"||!$.length||!$[0]){var q="";O=[];for(N in m[E])this.terminals_[N]&&N>pt&&O.push("'"+this.terminals_[N]+"'");_.showPosition?q="Parse error on line "+(F+1)+`: +import{x as gt,y as mt,h as st,g as xt}from"./chunk-44WTIFVW-DzlTngNx.js";import{m as a,h as kt,W as C,w as _t,B as bt,T as vt,k as $t,S as wt,v as Tt,r as W,C as Mt,aX as tt}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var X=function(){var t=a(function(g,i,s,u){for(s=s||{},u=g.length;u--;s[g[u]]=i);return s},"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],l=[1,10],r=[1,11],h=[1,12],c=[1,13],y=[1,14],d={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:a(function(g,i,s,u,p,o,m){var k=o.length-1;switch(p){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 13:u.addTask(o[k-1],o[k]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:l,14:r,16:h,17:c,18:y},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:l,14:r,16:h,17:c,18:y},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:a(function(g,i){if(i.recoverable)this.trace(g);else{var s=new Error(g);throw s.hash=i,s}},"parseError"),parse:a(function(g){var i=this,s=[0],u=[],p=[null],o=[],m=this.table,k="",F=0,Z=0,ut=0,pt=2,J=1,yt=o.slice.call(arguments,1),_=Object.create(this.lexer),S={yy:{}};for(var R in this.yy)Object.prototype.hasOwnProperty.call(this.yy,R)&&(S.yy[R]=this.yy[R]);_.setInput(g,S.yy),S.yy.lexer=_,S.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var D=_.yylloc;o.push(D);var dt=_.options&&_.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ft(v){s.length=s.length-2*v,p.length=p.length-v,o.length=o.length-v}a(ft,"popStack");function K(){var v;return v=u.pop()||_.lex()||J,typeof v!="number"&&(v instanceof Array&&(u=v,v=u.pop()),v=i.symbols_[v]||v),v}a(K,"lex");for(var b,z,E,$,Xt,Y,A={},N,T,Q,O;;){if(E=s[s.length-1],this.defaultActions[E]?$=this.defaultActions[E]:((b===null||typeof b>"u")&&(b=K()),$=m[E]&&m[E][b]),typeof $>"u"||!$.length||!$[0]){var q="";O=[];for(N in m[E])this.terminals_[N]&&N>pt&&O.push("'"+this.terminals_[N]+"'");_.showPosition?q="Parse error on line "+(F+1)+`: `+_.showPosition()+` Expecting `+O.join(", ")+", got '"+(this.terminals_[b]||b)+"'":q="Parse error on line "+(F+1)+": Unexpected "+(b==J?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(q,{text:_.match,token:this.terminals_[b]||b,line:_.yylineno,loc:D,expected:O})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch($[0]){case 1:s.push(b),p.push(_.yytext),o.push(_.yylloc),s.push($[1]),b=null,z?(b=z,z=null):(Z=_.yyleng,k=_.yytext,F=_.yylineno,D=_.yylloc,ut>0);break;case 2:if(T=this.productions_[$[1]][1],A.$=p[p.length-T],A._$={first_line:o[o.length-(T||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(T||1)].first_column,last_column:o[o.length-1].last_column},dt&&(A._$.range=[o[o.length-(T||1)].range[0],o[o.length-1].range[1]]),Y=this.performAction.apply(A,[k,Z,F,S.yy,$[1],p,o].concat(yt)),typeof Y<"u")return Y;T&&(s=s.slice(0,-1*T*2),p=p.slice(0,-1*T),o=o.slice(0,-1*T)),s.push(this.productions_[$[1]][0]),p.push(A.$),o.push(A._$),Q=m[s[s.length-2]][s[s.length-1]],s.push(Q);break;case 3:return!0}}return!0},"parse")},x=function(){var g={EOF:1,parseError:a(function(i,s){if(this.yy.parser)this.yy.parser.parseError(i,s);else throw new Error(i)},"parseError"),setInput:a(function(i,s){return this.yy=s||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var s=i.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:a(function(i){var s=i.length,u=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var p=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),u.length-1&&(this.yylineno-=u.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:u?(u.length===p.length?this.yylloc.first_column:0)+p[p.length-u.length].length-u[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(i){this.unput(this.match.slice(i))},"less"),pastInput:a(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var i=this.pastInput(),s=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/version/6.0/assets/kanban-definition-NEOEHSGR-ARa-ak4N.js b/version/6.0/assets/kanban-definition-NEOEHSGR-5O3xWlFd.js similarity index 99% rename from version/6.0/assets/kanban-definition-NEOEHSGR-ARa-ak4N.js rename to version/6.0/assets/kanban-definition-NEOEHSGR-5O3xWlFd.js index 154d67d76..c4c8b75fc 100644 --- a/version/6.0/assets/kanban-definition-NEOEHSGR-ARa-ak4N.js +++ b/version/6.0/assets/kanban-definition-NEOEHSGR-5O3xWlFd.js @@ -1,4 +1,4 @@ -import{m as a,W as G,D as U,ar as J,g as fe,d as me,t as te,aT as be,bc as _e,bd as ke,be as Se,b7 as Ee,b8 as Ne,b9 as le,ba as ce}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Z=function(){var i=a(function(S,e,s,o){for(s=s||{},o=S.length;o--;s[S[o]]=e);return s},"o"),u=[1,4],d=[1,13],r=[1,12],g=[1,15],p=[1,16],k=[1,20],c=[1,19],D=[6,7,8],I=[1,26],O=[1,24],v=[1,25],n=[6,7,11],T=[1,31],C=[6,7,11,24],F=[1,6,13,16,17,20,23],M=[1,35],W=[1,36],w=[1,6,7,11,13,16,17,20,23],H=[1,38],f={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:a(function(S,e,s,o,h,t,b){var l=t.length-1;switch(h){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",t[l-1].id),o.addNode(t[l-2].length,t[l-1].id,t[l-1].descr,t[l-1].type,t[l]);break;case 16:o.getLogger().info("Node: ",t[l].id),o.addNode(t[l-1].length,t[l].id,t[l].descr,t[l].type);break;case 17:o.getLogger().trace("Icon: ",t[l]),o.decorateNode({icon:t[l]});break;case 18:case 23:o.decorateNode({class:t[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",t[l-1].id),o.addNode(0,t[l-1].id,t[l-1].descr,t[l-1].type,t[l]);break;case 21:o.getLogger().trace("Node: ",t[l].id),o.addNode(0,t[l].id,t[l].descr,t[l].type);break;case 22:o.decorateNode({icon:t[l]});break;case 27:o.getLogger().trace("node found ..",t[l-2]),this.$={id:t[l-1],descr:t[l-1],type:o.getType(t[l-2],t[l])};break;case 28:this.$={id:t[l],descr:t[l],type:0};break;case 29:o.getLogger().trace("node found ..",t[l-3]),this.$={id:t[l-3],descr:t[l-1],type:o.getType(t[l-2],t[l])};break;case 30:this.$=t[l-1]+t[l];break;case 31:this.$=t[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:u},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:u},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},i(D,[2,3]),{1:[2,2]},i(D,[2,4]),i(D,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},{6:d,9:22,12:11,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},{6:I,7:O,10:23,11:v},i(n,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:k,23:c}),i(n,[2,19]),i(n,[2,21],{15:30,24:T}),i(n,[2,22]),i(n,[2,23]),i(C,[2,25]),i(C,[2,26]),i(C,[2,28],{20:[1,32]}),{21:[1,33]},{6:I,7:O,10:34,11:v},{1:[2,7],6:d,12:21,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},i(F,[2,14],{7:M,11:W}),i(w,[2,8]),i(w,[2,9]),i(w,[2,10]),i(n,[2,16],{15:37,24:T}),i(n,[2,17]),i(n,[2,18]),i(n,[2,20],{24:H}),i(C,[2,31]),{21:[1,39]},{22:[1,40]},i(F,[2,13],{7:M,11:W}),i(w,[2,11]),i(w,[2,12]),i(n,[2,15],{24:H}),i(C,[2,30]),{22:[1,41]},i(C,[2,27]),i(C,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:a(function(S,e){if(e.recoverable)this.trace(S);else{var s=new Error(S);throw s.hash=e,s}},"parseError"),parse:a(function(S){var e=this,s=[0],o=[],h=[null],t=[],b=this.table,l="",z=0,se=0,ue=0,ge=2,re=1,de=t.slice.call(arguments,1),m=Object.create(this.lexer),$={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&($.yy[Q]=this.yy[Q]);m.setInput(S,$.yy),$.yy.lexer=m,$.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var V=m.yylloc;t.push(V);var pe=m.options&&m.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ye(E){s.length=s.length-2*E,h.length=h.length-E,t.length=t.length-E}a(ye,"popStack");function oe(){var E;return E=o.pop()||m.lex()||re,typeof E!="number"&&(E instanceof Array&&(o=E,E=o.pop()),E=e.symbols_[E]||E),E}a(oe,"lex");for(var _,X,P,L,He,q,B={},K,A,ae,j;;){if(P=s[s.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=oe()),L=b[P]&&b[P][_]),typeof L>"u"||!L.length||!L[0]){var Y="";j=[];for(K in b[P])this.terminals_[K]&&K>ge&&j.push("'"+this.terminals_[K]+"'");m.showPosition?Y="Parse error on line "+(z+1)+`: +import{m as a,W as G,D as U,ar as J,g as fe,d as me,t as te,aT as be,bc as _e,bd as ke,be as Se,b7 as Ee,b8 as Ne,b9 as le,ba as ce}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Z=function(){var i=a(function(S,e,s,o){for(s=s||{},o=S.length;o--;s[S[o]]=e);return s},"o"),u=[1,4],d=[1,13],r=[1,12],g=[1,15],p=[1,16],k=[1,20],c=[1,19],D=[6,7,8],I=[1,26],O=[1,24],v=[1,25],n=[6,7,11],T=[1,31],C=[6,7,11,24],F=[1,6,13,16,17,20,23],M=[1,35],W=[1,36],w=[1,6,7,11,13,16,17,20,23],H=[1,38],f={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:a(function(S,e,s,o,h,t,b){var l=t.length-1;switch(h){case 6:case 7:return o;case 8:o.getLogger().trace("Stop NL ");break;case 9:o.getLogger().trace("Stop EOF ");break;case 11:o.getLogger().trace("Stop NL2 ");break;case 12:o.getLogger().trace("Stop EOF2 ");break;case 15:o.getLogger().info("Node: ",t[l-1].id),o.addNode(t[l-2].length,t[l-1].id,t[l-1].descr,t[l-1].type,t[l]);break;case 16:o.getLogger().info("Node: ",t[l].id),o.addNode(t[l-1].length,t[l].id,t[l].descr,t[l].type);break;case 17:o.getLogger().trace("Icon: ",t[l]),o.decorateNode({icon:t[l]});break;case 18:case 23:o.decorateNode({class:t[l]});break;case 19:o.getLogger().trace("SPACELIST");break;case 20:o.getLogger().trace("Node: ",t[l-1].id),o.addNode(0,t[l-1].id,t[l-1].descr,t[l-1].type,t[l]);break;case 21:o.getLogger().trace("Node: ",t[l].id),o.addNode(0,t[l].id,t[l].descr,t[l].type);break;case 22:o.decorateNode({icon:t[l]});break;case 27:o.getLogger().trace("node found ..",t[l-2]),this.$={id:t[l-1],descr:t[l-1],type:o.getType(t[l-2],t[l])};break;case 28:this.$={id:t[l],descr:t[l],type:0};break;case 29:o.getLogger().trace("node found ..",t[l-3]),this.$={id:t[l-3],descr:t[l-1],type:o.getType(t[l-2],t[l])};break;case 30:this.$=t[l-1]+t[l];break;case 31:this.$=t[l];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:u},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:u},{6:d,7:[1,10],9:9,12:11,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},i(D,[2,3]),{1:[2,2]},i(D,[2,4]),i(D,[2,5]),{1:[2,6],6:d,12:21,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},{6:d,9:22,12:11,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},{6:I,7:O,10:23,11:v},i(n,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:k,23:c}),i(n,[2,19]),i(n,[2,21],{15:30,24:T}),i(n,[2,22]),i(n,[2,23]),i(C,[2,25]),i(C,[2,26]),i(C,[2,28],{20:[1,32]}),{21:[1,33]},{6:I,7:O,10:34,11:v},{1:[2,7],6:d,12:21,13:r,14:14,16:g,17:p,18:17,19:18,20:k,23:c},i(F,[2,14],{7:M,11:W}),i(w,[2,8]),i(w,[2,9]),i(w,[2,10]),i(n,[2,16],{15:37,24:T}),i(n,[2,17]),i(n,[2,18]),i(n,[2,20],{24:H}),i(C,[2,31]),{21:[1,39]},{22:[1,40]},i(F,[2,13],{7:M,11:W}),i(w,[2,11]),i(w,[2,12]),i(n,[2,15],{24:H}),i(C,[2,30]),{22:[1,41]},i(C,[2,27]),i(C,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:a(function(S,e){if(e.recoverable)this.trace(S);else{var s=new Error(S);throw s.hash=e,s}},"parseError"),parse:a(function(S){var e=this,s=[0],o=[],h=[null],t=[],b=this.table,l="",z=0,se=0,ue=0,ge=2,re=1,de=t.slice.call(arguments,1),m=Object.create(this.lexer),$={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&($.yy[Q]=this.yy[Q]);m.setInput(S,$.yy),$.yy.lexer=m,$.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var V=m.yylloc;t.push(V);var pe=m.options&&m.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ye(E){s.length=s.length-2*E,h.length=h.length-E,t.length=t.length-E}a(ye,"popStack");function oe(){var E;return E=o.pop()||m.lex()||re,typeof E!="number"&&(E instanceof Array&&(o=E,E=o.pop()),E=e.symbols_[E]||E),E}a(oe,"lex");for(var _,X,P,L,He,q,B={},K,A,ae,j;;){if(P=s[s.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=oe()),L=b[P]&&b[P][_]),typeof L>"u"||!L.length||!L[0]){var Y="";j=[];for(K in b[P])this.terminals_[K]&&K>ge&&j.push("'"+this.terminals_[K]+"'");m.showPosition?Y="Parse error on line "+(z+1)+`: `+m.showPosition()+` Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Y="Parse error on line "+(z+1)+": Unexpected "+(_==re?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Y,{text:m.match,token:this.terminals_[_]||_,line:m.yylineno,loc:V,expected:j})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+_);switch(L[0]){case 1:s.push(_),h.push(m.yytext),t.push(m.yylloc),s.push(L[1]),_=null,X?(_=X,X=null):(se=m.yyleng,l=m.yytext,z=m.yylineno,V=m.yylloc,ue>0);break;case 2:if(A=this.productions_[L[1]][1],B.$=h[h.length-A],B._$={first_line:t[t.length-(A||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(A||1)].first_column,last_column:t[t.length-1].last_column},pe&&(B._$.range=[t[t.length-(A||1)].range[0],t[t.length-1].range[1]]),q=this.performAction.apply(B,[l,se,z,$.yy,L[1],h,t].concat(de)),typeof q<"u")return q;A&&(s=s.slice(0,-1*A*2),h=h.slice(0,-1*A),t=t.slice(0,-1*A)),s.push(this.productions_[L[1]][0]),h.push(B.$),t.push(B._$),ae=b[s[s.length-2]][s[s.length-1]],s.push(ae);break;case 3:return!0}}return!0},"parse")},R=function(){var S={EOF:1,parseError:a(function(e,s){if(this.yy.parser)this.yy.parser.parseError(e,s);else throw new Error(e)},"parseError"),setInput:a(function(e,s){return this.yy=s||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e;var s=e.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:a(function(e){var s=e.length,o=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1);var t=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===h.length?this.yylloc.first_column:0)+h[h.length-o.length].length-o[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(e){this.unput(this.match.slice(e))},"less"),pastInput:a(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var e=this.pastInput(),s=new Array(e.length+1).join("-");return e+this.upcomingInput()+` diff --git a/version/6.0/assets/katex-SWYD7GD6-CcgPb0SV.js b/version/6.0/assets/katex-SWYD7GD6-TvHaozZB.js similarity index 99% rename from version/6.0/assets/katex-SWYD7GD6-CcgPb0SV.js rename to version/6.0/assets/katex-SWYD7GD6-TvHaozZB.js index 8fc8c91c6..4070e8dde 100644 --- a/version/6.0/assets/katex-SWYD7GD6-CcgPb0SV.js +++ b/version/6.0/assets/katex-SWYD7GD6-TvHaozZB.js @@ -1,4 +1,4 @@ -import{m as p}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Y0,v0=(Y0=class{constructor(e,r,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=a}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new Y0(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},p(Y0,"SourceLocation"),Y0),j0,k0=(j0=class{constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new j0(r,v0.range(this,e))}},p(j0,"Token"),j0),_0,M=(_0=class{constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,i,s,u=r&&r.loc;if(u&&u.start<=u.end){var h=u.lexer.input;i=u.start,s=u.end,i===h.length?a+=" at end of input: ":a+=" at position "+(i+1)+": ";var c=h.slice(i,s).replace(/[^]/g,"$&̲"),f;i>15?f="…"+h.slice(i-15,i):f=h.slice(0,i);var b;s+15":">","<":"<",'"':""","'":"'"},Y1=/[&><"']/g;function Lr(t){return String(t).replace(Y1,e=>X1[e])}p(Lr,"escape");var Pr=p(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),j1=p(function(t){var e=Pr(t);return e.type==="mathord"||e.type==="textord"||e.type==="atom"},"isCharacterBox"),_1=p(function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t},"assert"),Z1=p(function(t){var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},"protocolFromUrl"),F={contains:G1,deflt:U1,escape:Lr,hyphenate:$1,getBaseElem:Pr,isCharacterBox:j1,protocolFromUrl:Z1},Ke={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:p(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:p((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:p(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:p(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:p(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:p(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};function Vr(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}p(Vr,"getDefaultValue");var ie,Vt=(ie=class{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Ke)if(Ke.hasOwnProperty(r)){var a=Ke[r];this[r]=e[r]!==void 0?a.processor?a.processor(e[r]):e[r]:Vr(a)}}reportNonstrict(e,r,a){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new M("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,a){var i=this.strict;if(typeof i=="function")try{i=i(e,r,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=F.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}},p(ie,"Settings"),ie),ne,O0=(ne=class{constructor(e,r,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=a}sup(){return x0[K1[this.id]]}sub(){return x0[J1[this.id]]}fracNum(){return x0[Q1[this.id]]}fracDen(){return x0[ea[this.id]]}cramp(){return x0[ta[this.id]]}text(){return x0[ra[this.id]]}isTight(){return this.size>=2}},p(ne,"Style"),ne),Gt=0,Qe=1,ae=2,C0=3,Te=4,p0=5,xe=6,i0=7,x0=[new O0(Gt,0,!1),new O0(Qe,0,!0),new O0(ae,1,!1),new O0(C0,1,!0),new O0(Te,2,!1),new O0(p0,2,!0),new O0(xe,3,!1),new O0(i0,3,!0)],K1=[Te,p0,Te,p0,xe,i0,xe,i0],J1=[p0,p0,p0,p0,i0,i0,i0,i0],Q1=[ae,C0,Te,p0,xe,i0,xe,i0],ea=[C0,C0,p0,p0,i0,i0,i0,i0],ta=[Qe,Qe,C0,C0,p0,p0,i0,i0],ra=[Gt,Qe,ae,C0,ae,C0,ae,C0],R={DISPLAY:x0[Gt],TEXT:x0[ae],SCRIPT:x0[Te],SCRIPTSCRIPT:x0[xe]},Et=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Gr(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}p(Gr,"scriptFromCodepoint");var Je=[];Et.forEach(t=>t.blocks.forEach(e=>Je.push(...e)));function Ut(t){for(var e=0;e=Je[e]&&t<=Je[e+1])return!0;return!1}p(Ut,"supportedCodepoint");var re=80,aa=p(function(t,e){return"M95,"+(622+t+e)+` +import{m as p}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Y0,v0=(Y0=class{constructor(e,r,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=a}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new Y0(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},p(Y0,"SourceLocation"),Y0),j0,k0=(j0=class{constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new j0(r,v0.range(this,e))}},p(j0,"Token"),j0),_0,M=(_0=class{constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,i,s,u=r&&r.loc;if(u&&u.start<=u.end){var h=u.lexer.input;i=u.start,s=u.end,i===h.length?a+=" at end of input: ":a+=" at position "+(i+1)+": ";var c=h.slice(i,s).replace(/[^]/g,"$&̲"),f;i>15?f="…"+h.slice(i-15,i):f=h.slice(0,i);var b;s+15":">","<":"<",'"':""","'":"'"},Y1=/[&><"']/g;function Lr(t){return String(t).replace(Y1,e=>X1[e])}p(Lr,"escape");var Pr=p(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),j1=p(function(t){var e=Pr(t);return e.type==="mathord"||e.type==="textord"||e.type==="atom"},"isCharacterBox"),_1=p(function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t},"assert"),Z1=p(function(t){var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},"protocolFromUrl"),F={contains:G1,deflt:U1,escape:Lr,hyphenate:$1,getBaseElem:Pr,isCharacterBox:j1,protocolFromUrl:Z1},Ke={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:p(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:p((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:p(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:p(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:p(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:p(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};function Vr(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}p(Vr,"getDefaultValue");var ie,Vt=(ie=class{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Ke)if(Ke.hasOwnProperty(r)){var a=Ke[r];this[r]=e[r]!==void 0?a.processor?a.processor(e[r]):e[r]:Vr(a)}}reportNonstrict(e,r,a){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,a)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new M("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),a);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,a){var i=this.strict;if(typeof i=="function")try{i=i(e,r,a)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=F.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}},p(ie,"Settings"),ie),ne,O0=(ne=class{constructor(e,r,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=a}sup(){return x0[K1[this.id]]}sub(){return x0[J1[this.id]]}fracNum(){return x0[Q1[this.id]]}fracDen(){return x0[ea[this.id]]}cramp(){return x0[ta[this.id]]}text(){return x0[ra[this.id]]}isTight(){return this.size>=2}},p(ne,"Style"),ne),Gt=0,Qe=1,ae=2,C0=3,Te=4,p0=5,xe=6,i0=7,x0=[new O0(Gt,0,!1),new O0(Qe,0,!0),new O0(ae,1,!1),new O0(C0,1,!0),new O0(Te,2,!1),new O0(p0,2,!0),new O0(xe,3,!1),new O0(i0,3,!0)],K1=[Te,p0,Te,p0,xe,i0,xe,i0],J1=[p0,p0,p0,p0,i0,i0,i0,i0],Q1=[ae,C0,Te,p0,xe,i0,xe,i0],ea=[C0,C0,p0,p0,i0,i0,i0,i0],ta=[Qe,Qe,C0,C0,p0,p0,i0,i0],ra=[Gt,Qe,ae,C0,ae,C0,ae,C0],R={DISPLAY:x0[Gt],TEXT:x0[ae],SCRIPT:x0[Te],SCRIPTSCRIPT:x0[xe]},Et=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Gr(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}p(Gr,"scriptFromCodepoint");var Je=[];Et.forEach(t=>t.blocks.forEach(e=>Je.push(...e)));function Ut(t){for(var e=0;e=Je[e]&&t<=Je[e+1])return!0;return!1}p(Ut,"supportedCodepoint");var re=80,aa=p(function(t,e){return"M95,"+(622+t+e)+` c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 diff --git a/version/6.0/assets/mermaid.esm.min-DhsQPv9X.js b/version/6.0/assets/mermaid.esm.min-CpCJ9UxA.js similarity index 99% rename from version/6.0/assets/mermaid.esm.min-DhsQPv9X.js rename to version/6.0/assets/mermaid.esm.min-CpCJ9UxA.js index 5f9cb5057..eed5e2c1d 100644 --- a/version/6.0/assets/mermaid.esm.min-DhsQPv9X.js +++ b/version/6.0/assets/mermaid.esm.min-CpCJ9UxA.js @@ -1,7 +1,7 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/katex-SWYD7GD6-CcgPb0SV.js","assets/app-chHFUe1n.js","assets/dagre-RF25WEIW-DQLHj3QK.js","assets/chunk-FASC7IG4-CAkh8Mxr.js","assets/chunk-ZN7TASNU-45xoTLMc.js","assets/chunk-5ZJXQJOJ-sEil2Dtg.js","assets/c4Diagram-ET6I6IV7-BNFgJyRp.js","assets/chunk-44WTIFVW-sd9ASQhj.js","assets/flowDiagram-7QVFXBRT-C9gei6Gy.js","assets/chunk-P7KHIEPL-BYT7Poah.js","assets/erDiagram-YH7IYH2C-CvJVDZw0.js","assets/gitGraphDiagram-H7KF5RUN-Bs9RhFjp.js","assets/chunk-VSLJSFIP-BVEukhlm.js","assets/chunk-4KE642ED-DRpyMuB6.js","assets/gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js","assets/ganttDiagram-7KUJEIIK-z0epYagr.js","assets/infoDiagram-FIZOUH6F-ilmyoO8V.js","assets/pieDiagram-AYPHHONI-uVjjVM_v.js","assets/quadrantDiagram-QXTGSWY2-CS1mU8cb.js","assets/xychartDiagram-A2DIST7P-CzMGxN-o.js","assets/requirementDiagram-5YXTYXBB-DStLcefr.js","assets/sequenceDiagram-EUUTCHHZ-R1f2ZA2q.js","assets/classDiagram-QKCJ6K63-DBNNwKBH.js","assets/chunk-7CIZ4OX7-DmwIokck.js","assets/classDiagram-v2-2JHJIACG-DBNNwKBH.js","assets/stateDiagram-U67EPTRE-BB3e-_OH.js","assets/chunk-LDJ5YOBB-auGoc4M2.js","assets/stateDiagram-v2-HMOQ2HEA-DXdcnrKt.js","assets/journeyDiagram-CDK7QRCM-BjVGhPMG.js","assets/timeline-definition-2YBW2SKD-8bQuZ9fq.js","assets/mindmap-definition-55KDPWGP-C2dFjkp8.js","assets/chunk-PWCSEZZ4-XkcOxT8z.js","assets/kanban-definition-NEOEHSGR-ARa-ak4N.js","assets/sankeyDiagram-T6MWQN27-CVeTlx1p.js","assets/diagram-D46ISNHH-CFlEkXUR.js","assets/blockDiagram-56QMO3LT-N14aEGl0.js","assets/architectureDiagram-MJF3Q7TB-CnqN317O.js"])))=>i.map(i=>d[i]); -var C_=Object.defineProperty;var ud=t=>{throw TypeError(t)};var k_=(t,e,r)=>e in t?C_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var kt=(t,e,r)=>k_(t,typeof e!="symbol"?e+"":e,r),w_=(t,e,r)=>e.has(t)||ud("Cannot "+r);var dd=(t,e,r)=>e.has(t)?ud("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var hn=(t,e,r)=>(w_(t,e,"access private method"),r);import{g as bt}from"./app-chHFUe1n.js";var pd="11.4.1",__=Object.create,is=Object.defineProperty,v_=Object.getOwnPropertyDescriptor,$_=Object.getOwnPropertyNames,S_=Object.getPrototypeOf,T_=Object.prototype.hasOwnProperty,l=(t,e)=>is(t,"name",{value:e,configurable:!0}),Zi=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),M_=(t,e)=>{for(var r in e)is(t,r,{get:e[r],enumerable:!0})},kp=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $_(e))!T_.call(t,n)&&n!==r&&is(t,n,{get:()=>e[n],enumerable:!(i=v_(e,n))||i.enumerable});return t},X6=(t,e,r)=>(kp(t,e,"default"),r),Yh=(t,e,r)=>(r=t!=null?__(S_(t)):{},kp(is(r,"default",{value:t,enumerable:!0}),t)),B_=Zi((t,e)=>{(function(r,i){typeof t=="object"&&typeof e<"u"?e.exports=i():typeof define=="function"&&define.amd?define(i):(r=typeof globalThis<"u"?globalThis:r||self).dayjs=i()})(t,function(){var r=1e3,i=6e4,n=36e5,a="millisecond",s="second",o="minute",h="hour",c="day",u="week",p="month",d="quarter",f="year",g="date",m="Invalid Date",x=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:l(function(M){var F=["th","st","nd","rd"],B=M%100;return"["+M+(F[(B-20)%10]||F[B]||F[0])+"]"},"ordinal")},C=l(function(M,F,B){var E=String(M);return!E||E.length>=F?M:""+Array(F+1-E.length).join(B)+M},"m"),_={s:C,z:l(function(M){var F=-M.utcOffset(),B=Math.abs(F),E=Math.floor(B/60),A=B%60;return(F<=0?"+":"-")+C(E,2,"0")+":"+C(A,2,"0")},"z"),m:l(function M(F,B){if(F.date()1)return M(H[0])}else{var tt=F.name;v[tt]=F,A=tt}return!E&&A&&(w=A),A||!E&&w},"t"),O=l(function(M,F){if(N(M))return M.clone();var B=typeof F=="object"?F:{};return B.date=M,B.args=arguments,new R(B)},"O"),T=_;T.l=P,T.i=N,T.w=function(M,F){return O(M,{locale:F.$L,utc:F.$u,x:F.$x,$offset:F.$offset})};var R=function(){function M(B){this.$L=P(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[S]=!0}l(M,"M");var F=M.prototype;return F.parse=function(B){this.$d=function(E){var A=E.date,z=E.utc;if(A===null)return new Date(NaN);if(T.u(A))return new Date;if(A instanceof Date)return new Date(A);if(typeof A=="string"&&!/Z$/i.test(A)){var H=A.match(x);if(H){var tt=H[2]-1||0,ct=(H[7]||"0").substring(0,3);return z?new Date(Date.UTC(H[1],tt,H[3]||1,H[4]||0,H[5]||0,H[6]||0,ct)):new Date(H[1],tt,H[3]||1,H[4]||0,H[5]||0,H[6]||0,ct)}}return new Date(A)}(B),this.init()},F.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},F.$utils=function(){return T},F.isValid=function(){return this.$d.toString()!==m},F.isSame=function(B,E){var A=O(B);return this.startOf(E)<=A&&A<=this.endOf(E)},F.isAfter=function(B,E){return O(B){},"trace"),debug:l((...t)=>{},"debug"),info:l((...t)=>{},"info"),warn:l((...t)=>{},"warn"),error:l((...t)=>{},"error"),fatal:l((...t)=>{},"fatal")},Vh=l(function(t="fatal"){let e=Ne.fatal;typeof t=="string"?t.toLowerCase()in Ne&&(e=Ne[t]):typeof t=="number"&&(e=t),D.trace=()=>{},D.debug=()=>{},D.info=()=>{},D.warn=()=>{},D.error=()=>{},D.fatal=()=>{},e<=Ne.fatal&&(D.fatal=console.error?console.error.bind(console,ue("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",ue("FATAL"))),e<=Ne.error&&(D.error=console.error?console.error.bind(console,ue("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",ue("ERROR"))),e<=Ne.warn&&(D.warn=console.warn?console.warn.bind(console,ue("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",ue("WARN"))),e<=Ne.info&&(D.info=console.info?console.info.bind(console,ue("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",ue("INFO"))),e<=Ne.debug&&(D.debug=console.debug?console.debug.bind(console,ue("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",ue("DEBUG"))),e<=Ne.trace&&(D.trace=console.debug?console.debug.bind(console,ue("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",ue("TRACE")))},"setLogLevel"),ue=l(t=>`%c${(0,A_.default)().format("ss.SSS")} : ${t} : `,"format"),wp=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Mn=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,L_=/\s*%%.*\n/gm,hi,_p=(hi=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},l(hi,"UnknownDiagramError"),hi),Ii={},Gh=l(function(t,e){t=t.replace(wp,"").replace(Mn,"").replace(L_,` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/katex-SWYD7GD6-TvHaozZB.js","assets/app-vBJoMoyQ.js","assets/dagre-RF25WEIW-BdWTFDvt.js","assets/chunk-FASC7IG4-BVkK6YXv.js","assets/chunk-ZN7TASNU-Cv-Yezee.js","assets/chunk-5ZJXQJOJ-CxalzRAd.js","assets/c4Diagram-ET6I6IV7--j3Nd1UH.js","assets/chunk-44WTIFVW-DzlTngNx.js","assets/flowDiagram-7QVFXBRT-BIcEk3bs.js","assets/chunk-P7KHIEPL-BWluqrz7.js","assets/erDiagram-YH7IYH2C-CPwWV2BW.js","assets/gitGraphDiagram-H7KF5RUN-B6poAQyD.js","assets/chunk-VSLJSFIP-CH0BQGll.js","assets/chunk-4KE642ED-BFpkd97I.js","assets/gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js","assets/ganttDiagram-7KUJEIIK-W0Au2zDy.js","assets/infoDiagram-FIZOUH6F-C_AmforY.js","assets/pieDiagram-AYPHHONI-C1JbmVVW.js","assets/quadrantDiagram-QXTGSWY2-DPuJFkfD.js","assets/xychartDiagram-A2DIST7P-B6HN7R0f.js","assets/requirementDiagram-5YXTYXBB-BnDHjXpP.js","assets/sequenceDiagram-EUUTCHHZ-AO_Upkqm.js","assets/classDiagram-QKCJ6K63-BZ7-cCSN.js","assets/chunk-7CIZ4OX7-CbuQCrx0.js","assets/classDiagram-v2-2JHJIACG-BZ7-cCSN.js","assets/stateDiagram-U67EPTRE-DeLrTsN_.js","assets/chunk-LDJ5YOBB-Z7YRvEFR.js","assets/stateDiagram-v2-HMOQ2HEA-BYkEsrTR.js","assets/journeyDiagram-CDK7QRCM-CTvAVRi5.js","assets/timeline-definition-2YBW2SKD-ilS793TO.js","assets/mindmap-definition-55KDPWGP-Daj9DC6D.js","assets/chunk-PWCSEZZ4-Bl8jHf5N.js","assets/kanban-definition-NEOEHSGR-5O3xWlFd.js","assets/sankeyDiagram-T6MWQN27-GOwLKKBv.js","assets/diagram-D46ISNHH-DeqATXeW.js","assets/blockDiagram-56QMO3LT-6GZyQprR.js","assets/architectureDiagram-MJF3Q7TB-wPHZlX4-.js"])))=>i.map(i=>d[i]); +var C_=Object.defineProperty;var ud=t=>{throw TypeError(t)};var k_=(t,e,r)=>e in t?C_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var kt=(t,e,r)=>k_(t,typeof e!="symbol"?e+"":e,r),w_=(t,e,r)=>e.has(t)||ud("Cannot "+r);var dd=(t,e,r)=>e.has(t)?ud("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r);var hn=(t,e,r)=>(w_(t,e,"access private method"),r);import{g as bt}from"./app-vBJoMoyQ.js";var pd="11.4.1",__=Object.create,is=Object.defineProperty,v_=Object.getOwnPropertyDescriptor,$_=Object.getOwnPropertyNames,S_=Object.getPrototypeOf,T_=Object.prototype.hasOwnProperty,l=(t,e)=>is(t,"name",{value:e,configurable:!0}),Zi=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),M_=(t,e)=>{for(var r in e)is(t,r,{get:e[r],enumerable:!0})},kp=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $_(e))!T_.call(t,n)&&n!==r&&is(t,n,{get:()=>e[n],enumerable:!(i=v_(e,n))||i.enumerable});return t},X6=(t,e,r)=>(kp(t,e,"default"),r),Yh=(t,e,r)=>(r=t!=null?__(S_(t)):{},kp(is(r,"default",{value:t,enumerable:!0}),t)),B_=Zi((t,e)=>{(function(r,i){typeof t=="object"&&typeof e<"u"?e.exports=i():typeof define=="function"&&define.amd?define(i):(r=typeof globalThis<"u"?globalThis:r||self).dayjs=i()})(t,function(){var r=1e3,i=6e4,n=36e5,a="millisecond",s="second",o="minute",h="hour",c="day",u="week",p="month",d="quarter",f="year",g="date",m="Invalid Date",x=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:l(function(M){var F=["th","st","nd","rd"],B=M%100;return"["+M+(F[(B-20)%10]||F[B]||F[0])+"]"},"ordinal")},C=l(function(M,F,B){var E=String(M);return!E||E.length>=F?M:""+Array(F+1-E.length).join(B)+M},"m"),_={s:C,z:l(function(M){var F=-M.utcOffset(),B=Math.abs(F),E=Math.floor(B/60),A=B%60;return(F<=0?"+":"-")+C(E,2,"0")+":"+C(A,2,"0")},"z"),m:l(function M(F,B){if(F.date()1)return M(H[0])}else{var tt=F.name;v[tt]=F,A=tt}return!E&&A&&(w=A),A||!E&&w},"t"),O=l(function(M,F){if(N(M))return M.clone();var B=typeof F=="object"?F:{};return B.date=M,B.args=arguments,new R(B)},"O"),T=_;T.l=P,T.i=N,T.w=function(M,F){return O(M,{locale:F.$L,utc:F.$u,x:F.$x,$offset:F.$offset})};var R=function(){function M(B){this.$L=P(B.locale,null,!0),this.parse(B),this.$x=this.$x||B.x||{},this[S]=!0}l(M,"M");var F=M.prototype;return F.parse=function(B){this.$d=function(E){var A=E.date,z=E.utc;if(A===null)return new Date(NaN);if(T.u(A))return new Date;if(A instanceof Date)return new Date(A);if(typeof A=="string"&&!/Z$/i.test(A)){var H=A.match(x);if(H){var tt=H[2]-1||0,ct=(H[7]||"0").substring(0,3);return z?new Date(Date.UTC(H[1],tt,H[3]||1,H[4]||0,H[5]||0,H[6]||0,ct)):new Date(H[1],tt,H[3]||1,H[4]||0,H[5]||0,H[6]||0,ct)}}return new Date(A)}(B),this.init()},F.init=function(){var B=this.$d;this.$y=B.getFullYear(),this.$M=B.getMonth(),this.$D=B.getDate(),this.$W=B.getDay(),this.$H=B.getHours(),this.$m=B.getMinutes(),this.$s=B.getSeconds(),this.$ms=B.getMilliseconds()},F.$utils=function(){return T},F.isValid=function(){return this.$d.toString()!==m},F.isSame=function(B,E){var A=O(B);return this.startOf(E)<=A&&A<=this.endOf(E)},F.isAfter=function(B,E){return O(B){},"trace"),debug:l((...t)=>{},"debug"),info:l((...t)=>{},"info"),warn:l((...t)=>{},"warn"),error:l((...t)=>{},"error"),fatal:l((...t)=>{},"fatal")},Vh=l(function(t="fatal"){let e=Ne.fatal;typeof t=="string"?t.toLowerCase()in Ne&&(e=Ne[t]):typeof t=="number"&&(e=t),D.trace=()=>{},D.debug=()=>{},D.info=()=>{},D.warn=()=>{},D.error=()=>{},D.fatal=()=>{},e<=Ne.fatal&&(D.fatal=console.error?console.error.bind(console,ue("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",ue("FATAL"))),e<=Ne.error&&(D.error=console.error?console.error.bind(console,ue("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",ue("ERROR"))),e<=Ne.warn&&(D.warn=console.warn?console.warn.bind(console,ue("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",ue("WARN"))),e<=Ne.info&&(D.info=console.info?console.info.bind(console,ue("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",ue("INFO"))),e<=Ne.debug&&(D.debug=console.debug?console.debug.bind(console,ue("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",ue("DEBUG"))),e<=Ne.trace&&(D.trace=console.debug?console.debug.bind(console,ue("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",ue("TRACE")))},"setLogLevel"),ue=l(t=>`%c${(0,A_.default)().format("ss.SSS")} : ${t} : `,"format"),wp=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Mn=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,L_=/\s*%%.*\n/gm,hi,_p=(hi=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},l(hi,"UnknownDiagramError"),hi),Ii={},Gh=l(function(t,e){t=t.replace(wp,"").replace(Mn,"").replace(L_,` `);for(let[r,{detector:i}]of Object.entries(Ii))if(i(t,e))return r;throw new _p(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),vp=l((...t)=>{for(let{id:e,detector:r,loader:i}of t)$p(e,r,i)},"registerLazyLoadedDiagrams"),$p=l((t,e,r)=>{Ii[t]&&D.warn(`Detector with key ${t} already exists. Overwriting.`),Ii[t]={detector:e,loader:r},D.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),F_=l(t=>Ii[t].loader,"getDiagramLoader"),fl=l((t,e,{depth:r=2,clobber:i=!1}={})=>{let n={depth:r,clobber:i};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>fl(t,a,n)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=fl(t[a],e[a],{depth:r-1,clobber:i})):(i||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),zt=fl,Ha={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:l(t=>t>=255?255:t<0?0:t,"r"),g:l(t=>t>=255?255:t<0?0:t,"g"),b:l(t=>t>=255?255:t<0?0:t,"b"),h:l(t=>t%360,"h"),s:l(t=>t>=100?100:t<0?0:t,"s"),l:l(t=>t>=100?100:t<0?0:t,"l"),a:l(t=>t>=1?1:t<0?0:t,"a")},toLinear:l(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:l((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:l(({h:t,s:e,l:r},i)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let n=r<.5?r*(1+e):r+e-r*e,a=2*r-n;switch(i){case"r":return Ha.hue2rgb(a,n,t+.3333333333333333)*255;case"g":return Ha.hue2rgb(a,n,t)*255;case"b":return Ha.hue2rgb(a,n,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:l(({r:t,g:e,b:r},i)=>{t/=255,e/=255,r/=255;let n=Math.max(t,e,r),a=Math.min(t,e,r),s=(n+a)/2;if(i==="l")return s*100;if(n===a)return 0;let o=n-a,h=s>.5?o/(2-n-a):o/(n+a);if(i==="s")return h*100;switch(n){case t:return((e-r)/o+(ee>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:l(t=>Math.round(t*1e10)/1e10,"round")},O_=D_,I_={dec2hex:l(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},N_=I_,R_={channel:E_,lang:O_,unit:N_},it=R_,Qe={};for(let t=0;t<=255;t++)Qe[t]=it.unit.dec2hex(t);var Ht={ALL:0,RGB:1,HSL:2},ci,P_=(ci=class{constructor(){this.type=Ht.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Ht.ALL}is(e){return this.type===e}},l(ci,"Type"),ci),z_=P_,ui,q_=(ui=class{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new z_}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Ht.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:i,l:n}=e;r===void 0&&(e.h=it.channel.rgb2hsl(e,"h")),i===void 0&&(e.s=it.channel.rgb2hsl(e,"s")),n===void 0&&(e.l=it.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:i,b:n}=e;r===void 0&&(e.r=it.channel.hsl2rgb(e,"r")),i===void 0&&(e.g=it.channel.hsl2rgb(e,"g")),n===void 0&&(e.b=it.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Ht.HSL)&&r!==void 0?r:(this._ensureHSL(),it.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Ht.HSL)&&r!==void 0?r:(this._ensureHSL(),it.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Ht.HSL)&&r!==void 0?r:(this._ensureHSL(),it.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Ht.RGB)&&r!==void 0?r:(this._ensureRGB(),it.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Ht.RGB)&&r!==void 0?r:(this._ensureRGB(),it.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Ht.RGB)&&r!==void 0?r:(this._ensureRGB(),it.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Ht.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Ht.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Ht.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Ht.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Ht.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Ht.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},l(ui,"Channels"),ui),j_=q_,W_=new j_({r:0,g:0,b:0,a:0},"transparent"),ns=W_,Sp={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:l(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(Sp.re);if(!e)return;let r=e[1],i=parseInt(r,16),n=r.length,a=n%4===0,s=n>4,o=s?1:17,h=s?8:4,c=a?0:-1,u=s?255:15;return ns.set({r:(i>>h*(c+3)&u)*o,g:(i>>h*(c+2)&u)*o,b:(i>>h*(c+1)&u)*o,a:a?(i&u)*o/255:1},t)},"parse"),stringify:l(t=>{let{r:e,g:r,b:i,a:n}=t;return n<1?`#${Qe[Math.round(e)]}${Qe[Math.round(r)]}${Qe[Math.round(i)]}${Qe[Math.round(n*255)]}`:`#${Qe[Math.round(e)]}${Qe[Math.round(r)]}${Qe[Math.round(i)]}`},"stringify")},Bn=Sp,Ua={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:l(t=>{let e=t.match(Ua.hueRe);if(e){let[,r,i]=e;switch(i){case"grad":return it.channel.clamp.h(parseFloat(r)*.9);case"rad":return it.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return it.channel.clamp.h(parseFloat(r)*360)}}return it.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:l(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(Ua.re);if(!r)return;let[,i,n,a,s,o]=r;return ns.set({h:Ua._hue2deg(i),s:it.channel.clamp.s(parseFloat(n)),l:it.channel.clamp.l(parseFloat(a)),a:s?it.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:l(t=>{let{h:e,s:r,l:i,a:n}=t;return n<1?`hsla(${it.lang.round(e)}, ${it.lang.round(r)}%, ${it.lang.round(i)}%, ${n})`:`hsl(${it.lang.round(e)}, ${it.lang.round(r)}%, ${it.lang.round(i)}%)`},"stringify")},Ea=Ua,Ya={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:l(t=>{t=t.toLowerCase();let e=Ya.colors[t];if(e)return Bn.parse(e)},"parse"),stringify:l(t=>{let e=Bn.stringify(t);for(let r in Ya.colors)if(Ya.colors[r]===e)return r},"stringify")},fd=Ya,Tp={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:l(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(Tp.re);if(!r)return;let[,i,n,a,s,o,h,c,u]=r;return ns.set({r:it.channel.clamp.r(n?parseFloat(i)*2.55:parseFloat(i)),g:it.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:it.channel.clamp.b(h?parseFloat(o)*2.55:parseFloat(o)),a:c?it.channel.clamp.a(u?parseFloat(c)/100:parseFloat(c)):1},t)},"parse"),stringify:l(t=>{let{r:e,g:r,b:i,a:n}=t;return n<1?`rgba(${it.lang.round(e)}, ${it.lang.round(r)}, ${it.lang.round(i)}, ${it.lang.round(n)})`:`rgb(${it.lang.round(e)}, ${it.lang.round(r)}, ${it.lang.round(i)})`},"stringify")},Da=Tp,H_={format:{keyword:fd,hex:Bn,rgb:Da,rgba:Da,hsl:Ea,hsla:Ea},parse:l(t=>{if(typeof t!="string")return t;let e=Bn.parse(t)||Da.parse(t)||Ea.parse(t)||fd.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:l(t=>!t.changed&&t.color?t.color:t.type.is(Ht.HSL)||t.data.r===void 0?Ea.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Da.stringify(t):Bn.stringify(t),"stringify")},_e=H_,U_=l((t,e)=>{let r=_e.parse(t);for(let i in e)r[i]=it.channel.clamp[i](e[i]);return _e.stringify(r)},"change"),Mp=U_,Y_=l((t,e,r=0,i=1)=>{if(typeof t!="number")return Mp(t,{a:e});let n=ns.set({r:it.channel.clamp.r(t),g:it.channel.clamp.g(e),b:it.channel.clamp.b(r),a:it.channel.clamp.a(i)});return _e.stringify(n)},"rgba"),An=Y_,V_=l((t,e)=>it.lang.round(_e.parse(t)[e]),"channel"),Z6=V_,G_=l(t=>{let{r:e,g:r,b:i}=_e.parse(t),n=.2126*it.channel.toLinear(e)+.7152*it.channel.toLinear(r)+.0722*it.channel.toLinear(i);return it.lang.round(n)},"luminance"),X_=G_,Z_=l(t=>X_(t)>=.5,"isLight"),Q_=Z_,K_=l(t=>!Q_(t),"isDark"),ua=K_,J_=l((t,e,r)=>{let i=_e.parse(t),n=i[e],a=it.channel.clamp[e](n+r);return n!==a&&(i[e]=a),_e.stringify(i)},"adjustChannel"),Bp=J_,tv=l((t,e)=>Bp(t,"l",e),"lighten"),Q=tv,ev=l((t,e)=>Bp(t,"l",-e),"darken"),et=ev,rv=l((t,e)=>{let r=_e.parse(t),i={};for(let n in e)e[n]&&(i[n]=r[n]+e[n]);return Mp(t,i)},"adjust"),$=rv,iv=l((t,e,r=50)=>{let{r:i,g:n,b:a,a:s}=_e.parse(t),{r:o,g:h,b:c,a:u}=_e.parse(e),p=r/100,d=p*2-1,f=s-u,g=((d*f===-1?d:(d+f)/(1+d*f))+1)/2,m=1-g,x=i*g+o*m,y=n*g+h*m,b=a*g+c*m,C=s*p+u*(1-p);return An(x,y,b,C)},"mix"),nv=iv,av=l((t,e=100)=>{let r=_e.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,nv(r,t,e)},"invert"),j=av,as="#ffffff",os="#f2f2f2",Qt=l((t,e)=>e?$(t,{s:-40,l:10}):$(t,{s:-40,l:-10}),"mkBorder"),di,ov=(di=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var r,i,n,a,s,o,h,c,u,p,d;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||$(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||$(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Qt(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Qt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Qt(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Qt(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||j(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||j(this.tertiaryColor),this.lineColor=this.lineColor||j(this.background),this.arrowheadColor=this.arrowheadColor||j(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?et(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||et(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||j(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Q(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||$(this.primaryColor,{h:30}),this.cScale4=this.cScale4||$(this.primaryColor,{h:60}),this.cScale5=this.cScale5||$(this.primaryColor,{h:90}),this.cScale6=this.cScale6||$(this.primaryColor,{h:120}),this.cScale7=this.cScale7||$(this.primaryColor,{h:150}),this.cScale8=this.cScale8||$(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||$(this.primaryColor,{h:270}),this.cScale10=this.cScale10||$(this.primaryColor,{h:300}),this.cScale11=this.cScale11||$(this.primaryColor,{h:330}),this.darkMode)for(let f=0;f{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},l(di,"Theme"),di),sv=l(t=>{let e=new ov;return e.calculate(t),e},"getThemeVariables"),pi,lv=(pi=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Q(this.primaryColor,16),this.tertiaryColor=$(this.primaryColor,{h:-160}),this.primaryBorderColor=j(this.background),this.secondaryBorderColor=Qt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Qt(this.tertiaryColor,this.darkMode),this.primaryTextColor=j(this.primaryColor),this.secondaryTextColor=j(this.secondaryColor),this.tertiaryTextColor=j(this.tertiaryColor),this.lineColor=j(this.background),this.textColor=j(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Q(j("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=An(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=et("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=et(this.sectionBkgColor,10),this.taskBorderColor=An(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=An(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var e,r,i,n,a,s,o,h,c,u,p;this.secondBkg=Q(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Q(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Q(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=$(this.primaryColor,{h:64}),this.fillType3=$(this.secondaryColor,{h:64}),this.fillType4=$(this.primaryColor,{h:-64}),this.fillType5=$(this.secondaryColor,{h:-64}),this.fillType6=$(this.primaryColor,{h:128}),this.fillType7=$(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||$(this.primaryColor,{h:30}),this.cScale4=this.cScale4||$(this.primaryColor,{h:60}),this.cScale5=this.cScale5||$(this.primaryColor,{h:90}),this.cScale6=this.cScale6||$(this.primaryColor,{h:120}),this.cScale7=this.cScale7||$(this.primaryColor,{h:150}),this.cScale8=this.cScale8||$(this.primaryColor,{h:210}),this.cScale9=this.cScale9||$(this.primaryColor,{h:270}),this.cScale10=this.cScale10||$(this.primaryColor,{h:300}),this.cScale11=this.cScale11||$(this.primaryColor,{h:330});for(let d=0;d{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},l(pi,"Theme"),pi),hv=l(t=>{let e=new lv;return e.calculate(t),e},"getThemeVariables"),fi,cv=(fi=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=$(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=$(this.primaryColor,{h:-160}),this.primaryBorderColor=Qt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Qt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Qt(this.tertiaryColor,this.darkMode),this.primaryTextColor=j(this.primaryColor),this.secondaryTextColor=j(this.secondaryColor),this.tertiaryTextColor=j(this.tertiaryColor),this.lineColor=j(this.background),this.textColor=j(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=An(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var e,r,i,n,a,s,o,h,c,u,p;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||$(this.primaryColor,{h:30}),this.cScale4=this.cScale4||$(this.primaryColor,{h:60}),this.cScale5=this.cScale5||$(this.primaryColor,{h:90}),this.cScale6=this.cScale6||$(this.primaryColor,{h:120}),this.cScale7=this.cScale7||$(this.primaryColor,{h:150}),this.cScale8=this.cScale8||$(this.primaryColor,{h:210}),this.cScale9=this.cScale9||$(this.primaryColor,{h:270}),this.cScale10=this.cScale10||$(this.primaryColor,{h:300}),this.cScale11=this.cScale11||$(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||et(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||et(this.tertiaryColor,40);for(let d=0;d{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},l(fi,"Theme"),fi),uv=l(t=>{let e=new cv;return e.calculate(t),e},"getThemeVariables"),gi,dv=(gi=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Q("#cde498",10),this.primaryBorderColor=Qt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Qt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Qt(this.tertiaryColor,this.darkMode),this.primaryTextColor=j(this.primaryColor),this.secondaryTextColor=j(this.secondaryColor),this.tertiaryTextColor=j(this.primaryColor),this.lineColor=j(this.background),this.textColor=j(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,r,i,n,a,s,o,h,c,u,p;this.actorBorder=et(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||$(this.primaryColor,{h:30}),this.cScale4=this.cScale4||$(this.primaryColor,{h:60}),this.cScale5=this.cScale5||$(this.primaryColor,{h:90}),this.cScale6=this.cScale6||$(this.primaryColor,{h:120}),this.cScale7=this.cScale7||$(this.primaryColor,{h:150}),this.cScale8=this.cScale8||$(this.primaryColor,{h:210}),this.cScale9=this.cScale9||$(this.primaryColor,{h:270}),this.cScale10=this.cScale10||$(this.primaryColor,{h:300}),this.cScale11=this.cScale11||$(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||et(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||et(this.tertiaryColor,40);for(let d=0;d{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},l(gi,"Theme"),gi),pv=l(t=>{let e=new dv;return e.calculate(t),e},"getThemeVariables"),mi,fv=(mi=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Q(this.contrast,55),this.background="#ffffff",this.tertiaryColor=$(this.primaryColor,{h:-160}),this.primaryBorderColor=Qt(this.primaryColor,this.darkMode),this.secondaryBorderColor=Qt(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Qt(this.tertiaryColor,this.darkMode),this.primaryTextColor=j(this.primaryColor),this.secondaryTextColor=j(this.secondaryColor),this.tertiaryTextColor=j(this.tertiaryColor),this.lineColor=j(this.background),this.textColor=j(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var e,r,i,n,a,s,o,h,c,u,p;this.secondBkg=Q(this.contrast,55),this.border2=this.contrast,this.actorBorder=Q(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let d=0;d{this[i]=e[i]}),this.updateColors(),r.forEach(i=>{this[i]=e[i]})}},l(mi,"Theme"),mi),gv=l(t=>{let e=new fv;return e.calculate(t),e},"getThemeVariables"),je={base:{getThemeVariables:sv},dark:{getThemeVariables:hv},default:{getThemeVariables:uv},forest:{getThemeVariables:pv},neutral:{getThemeVariables:gv}},Ze={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},Ap={...Ze,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF"},themeCSS:void 0,themeVariables:je.default.getThemeVariables(),sequence:{...Ze.sequence,messageFont:l(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:l(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:l(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...Ze.gantt,tickInterval:void 0,useWidth:void 0},c4:{...Ze.c4,useWidth:void 0,personFont:l(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:l(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:l(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:l(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:l(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:l(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:l(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:l(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:l(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:l(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:l(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:l(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:l(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:l(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:l(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:l(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:l(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:l(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:l(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:l(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:l(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:l(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...Ze.pie,useWidth:984},xyChart:{...Ze.xyChart,useWidth:void 0},requirement:{...Ze.requirement,useWidth:void 0},packet:{...Ze.packet}},Lp=l((t,e="")=>Object.keys(t).reduce((r,i)=>Array.isArray(t[i])?r:typeof t[i]=="object"&&t[i]!==null?[...r,e+i,...Lp(t[i],"")]:[...r,e+i],[]),"keyify"),mv=new Set(Lp(Ap,"")),Fp=Ap,mo=l(t=>{if(D.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>mo(e));return}for(let e of Object.keys(t)){if(D.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!mv.has(e)||t[e]==null){D.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){D.debug("sanitizing object",e),mo(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let i of r)e.includes(i)&&(D.debug("sanitizing css option",e),t[e]=yv(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}D.debug("After sanitization",t)}},"sanitizeDirective"),yv=l(t=>{let e=0,r=0;for(let i of t){if(e{let r=zt({},t),i={};for(let n of e)Ip(n),i=zt(i,n);if(r=zt(r,i),i.theme&&i.theme in je){let n=zt({},Ep),a=zt(n.themeVariables||{},i.themeVariables);r.theme&&r.theme in je&&(r.themeVariables=je[r.theme].getThemeVariables(a))}return Ln=r,Np(Ln),Ln},"updateCurrentConfig"),xv=l(t=>(ne=zt({},Ni),ne=zt(ne,t),t.theme&&je[t.theme]&&(ne.themeVariables=je[t.theme].getThemeVariables(t.themeVariables)),ss(ne,Ri),ne),"setSiteConfig"),bv=l(t=>{Ep=zt({},t)},"saveConfigFromInitialize"),Cv=l(t=>(ne=zt(ne,t),ss(ne,Ri),ne),"updateSiteConfig"),Dp=l(()=>zt({},ne),"getSiteConfig"),Op=l(t=>(Np(t),zt(Ln,t),ve()),"setConfig"),ve=l(()=>zt({},Ln),"getConfig"),Ip=l(t=>{t&&(["secure",...ne.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(D.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Ip(t[e])}))},"sanitize"),kv=l(t=>{var e;mo(t),t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Ri.push(t),ss(ne,Ri)},"addDirective"),yo=l((t=ne)=>{Ri=[],ss(t,Ri)},"reset"),wv={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},gd={},_v=l(t=>{gd[t]||(D.warn(wv[t]),gd[t]=!0)},"issueWarning"),Np=l(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&_v("LAZY_LOAD_DEPRECATED")},"checkConfig"),{entries:Rp,setPrototypeOf:md,isFrozen:vv,getPrototypeOf:$v,getOwnPropertyDescriptor:Sv}=Object,{freeze:te,seal:me,create:Pp}=Object,{apply:gl,construct:ml}=typeof Reflect<"u"&&Reflect;te||(te=l(function(t){return t},"freeze"));me||(me=l(function(t){return t},"seal"));gl||(gl=l(function(t,e,r){return t.apply(e,r)},"apply"));ml||(ml=l(function(t,e){return new t(...e)},"construct"));var Oa=oe(Array.prototype.forEach),yd=oe(Array.prototype.pop),cn=oe(Array.prototype.push),Va=oe(String.prototype.toLowerCase),Zs=oe(String.prototype.toString),xd=oe(String.prototype.match),un=oe(String.prototype.replace),Tv=oe(String.prototype.indexOf),Mv=oe(String.prototype.trim),be=oe(Object.prototype.hasOwnProperty),Zt=oe(RegExp.prototype.test),dn=zp(TypeError);function oe(t){return function(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:Va;md&&md(t,null);let i=e.length;for(;i--;){let n=e[i];if(typeof n=="string"){let a=r(n);a!==n&&(vv(e)||(e[i]=a),n=a)}t[n]=!0}return t}l(ht,"addToSet");function qp(t){for(let e=0;e/gm),Ev=me(/\${[\w\W]*}/gm),Dv=me(/^data-[\-\w.\u00B7-\uFFFF]/),Ov=me(/^aria-[\-\w]+$/),jp=me(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Iv=me(/^(?:\w+script|data):/i),Nv=me(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Wp=me(/^html$/i),Rv=me(/^[a-z][.\w]*(-[.\w]+)+$/i),_d=Object.freeze({__proto__:null,ARIA_ATTR:Ov,ATTR_WHITESPACE:Nv,CUSTOM_ELEMENT:Rv,DATA_ATTR:Dv,DOCTYPE_NAME:Wp,ERB_EXPR:Fv,IS_ALLOWED_URI:jp,IS_SCRIPT_OR_DATA:Iv,MUSTACHE_EXPR:Lv,TMPLIT_EXPR:Ev}),pn={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Pv=l(function(){return typeof window>"u"?null:window},"getGlobal"),zv=l(function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null,i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(r=e.getAttribute(i));let n="dompurify"+(r?"#"+r:"");try{return t.createPolicy(n,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+n+" could not be created."),null}},"_createTrustedTypesPolicy");function Xh(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Pv(),e=l(k=>Xh(k),"DOMPurify");if(e.version="3.2.1",e.removed=[],!t||!t.document||t.document.nodeType!==pn.document)return e.isSupported=!1,e;let{document:r}=t,i=r,n=i.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:o,Element:h,NodeFilter:c,NamedNodeMap:u=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:p,DOMParser:d,trustedTypes:f}=t,g=h.prototype,m=Xr(g,"cloneNode"),x=Xr(g,"remove"),y=Xr(g,"nextSibling"),b=Xr(g,"childNodes"),C=Xr(g,"parentNode");if(typeof s=="function"){let k=r.createElement("template");k.content&&k.content.ownerDocument&&(r=k.content.ownerDocument)}let _,w="",{implementation:v,createNodeIterator:S,createDocumentFragment:N,getElementsByTagName:P}=r,{importNode:O}=i,T={};e.isSupported=typeof Rp=="function"&&typeof C=="function"&&v&&v.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:R,ERB_EXPR:L,TMPLIT_EXPR:M,DATA_ATTR:F,ARIA_ATTR:B,IS_SCRIPT_OR_DATA:E,ATTR_WHITESPACE:A,CUSTOM_ELEMENT:z}=_d,{IS_ALLOWED_URI:H}=_d,tt=null,ct=ht({},[...bd,...Qs,...Ks,...Js,...Cd]),lt=null,Ct=ht({},[...kd,...tl,...wd,...Ia]),nt=Object.seal(Pp(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),At=null,Ft=null,Gt=!0,q=!0,X=!1,at=!0,I=!1,vt=!0,ut=!1,Ot=!1,It=!1,ee=!1,dr=!1,Ta=!1,Vu=!0,Gu=!1,u_="user-content-",Us=!0,sn=!1,Hr={},Ur=null,Xu=ht({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Zu=null,Qu=ht({},["audio","video","img","source","image","track"]),Ys=null,Ku=ht({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ma="http://www.w3.org/1998/Math/MathML",Ba="http://www.w3.org/2000/svg",Oe="http://www.w3.org/1999/xhtml",Yr=Oe,Vs=!1,Gs=null,d_=ht({},[Ma,Ba,Oe],Zs),Aa=ht({},["mi","mo","mn","ms","mtext"]),La=ht({},["annotation-xml"]),p_=ht({},["title","style","font","a","script"]),ln=null,f_=["application/xhtml+xml","text/html"],g_="text/html",Et=null,Vr=null,m_=r.createElement("form"),Ju=l(function(k){return k instanceof RegExp||k instanceof Function},"isRegexOrFunction"),Xs=l(function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Vr&&Vr===k)){if((!k||typeof k!="object")&&(k={}),k=Ke(k),ln=f_.indexOf(k.PARSER_MEDIA_TYPE)===-1?g_:k.PARSER_MEDIA_TYPE,Et=ln==="application/xhtml+xml"?Zs:Va,tt=be(k,"ALLOWED_TAGS")?ht({},k.ALLOWED_TAGS,Et):ct,lt=be(k,"ALLOWED_ATTR")?ht({},k.ALLOWED_ATTR,Et):Ct,Gs=be(k,"ALLOWED_NAMESPACES")?ht({},k.ALLOWED_NAMESPACES,Zs):d_,Ys=be(k,"ADD_URI_SAFE_ATTR")?ht(Ke(Ku),k.ADD_URI_SAFE_ATTR,Et):Ku,Zu=be(k,"ADD_DATA_URI_TAGS")?ht(Ke(Qu),k.ADD_DATA_URI_TAGS,Et):Qu,Ur=be(k,"FORBID_CONTENTS")?ht({},k.FORBID_CONTENTS,Et):Xu,At=be(k,"FORBID_TAGS")?ht({},k.FORBID_TAGS,Et):{},Ft=be(k,"FORBID_ATTR")?ht({},k.FORBID_ATTR,Et):{},Hr=be(k,"USE_PROFILES")?k.USE_PROFILES:!1,Gt=k.ALLOW_ARIA_ATTR!==!1,q=k.ALLOW_DATA_ATTR!==!1,X=k.ALLOW_UNKNOWN_PROTOCOLS||!1,at=k.ALLOW_SELF_CLOSE_IN_ATTR!==!1,I=k.SAFE_FOR_TEMPLATES||!1,vt=k.SAFE_FOR_XML!==!1,ut=k.WHOLE_DOCUMENT||!1,ee=k.RETURN_DOM||!1,dr=k.RETURN_DOM_FRAGMENT||!1,Ta=k.RETURN_TRUSTED_TYPE||!1,It=k.FORCE_BODY||!1,Vu=k.SANITIZE_DOM!==!1,Gu=k.SANITIZE_NAMED_PROPS||!1,Us=k.KEEP_CONTENT!==!1,sn=k.IN_PLACE||!1,H=k.ALLOWED_URI_REGEXP||jp,Yr=k.NAMESPACE||Oe,Aa=k.MATHML_TEXT_INTEGRATION_POINTS||Aa,La=k.HTML_INTEGRATION_POINTS||La,nt=k.CUSTOM_ELEMENT_HANDLING||{},k.CUSTOM_ELEMENT_HANDLING&&Ju(k.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(nt.tagNameCheck=k.CUSTOM_ELEMENT_HANDLING.tagNameCheck),k.CUSTOM_ELEMENT_HANDLING&&Ju(k.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(nt.attributeNameCheck=k.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),k.CUSTOM_ELEMENT_HANDLING&&typeof k.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(nt.allowCustomizedBuiltInElements=k.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),I&&(q=!1),dr&&(ee=!0),Hr&&(tt=ht({},Cd),lt=[],Hr.html===!0&&(ht(tt,bd),ht(lt,kd)),Hr.svg===!0&&(ht(tt,Qs),ht(lt,tl),ht(lt,Ia)),Hr.svgFilters===!0&&(ht(tt,Ks),ht(lt,tl),ht(lt,Ia)),Hr.mathMl===!0&&(ht(tt,Js),ht(lt,wd),ht(lt,Ia))),k.ADD_TAGS&&(tt===ct&&(tt=Ke(tt)),ht(tt,k.ADD_TAGS,Et)),k.ADD_ATTR&&(lt===Ct&&(lt=Ke(lt)),ht(lt,k.ADD_ATTR,Et)),k.ADD_URI_SAFE_ATTR&&ht(Ys,k.ADD_URI_SAFE_ATTR,Et),k.FORBID_CONTENTS&&(Ur===Xu&&(Ur=Ke(Ur)),ht(Ur,k.FORBID_CONTENTS,Et)),Us&&(tt["#text"]=!0),ut&&ht(tt,["html","head","body"]),tt.table&&(ht(tt,["tbody"]),delete At.tbody),k.TRUSTED_TYPES_POLICY){if(typeof k.TRUSTED_TYPES_POLICY.createHTML!="function")throw dn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof k.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw dn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');_=k.TRUSTED_TYPES_POLICY,w=_.createHTML("")}else _===void 0&&(_=zv(f,n)),_!==null&&typeof w=="string"&&(w=_.createHTML(""));te&&te(k),Vr=k}},"_parseConfig"),td=ht({},[...Qs,...Ks,...Bv]),ed=ht({},[...Js,...Av]),y_=l(function(k){let U=C(k);(!U||!U.tagName)&&(U={namespaceURI:Yr,tagName:"template"});let W=Va(k.tagName),yt=Va(U.tagName);return Gs[k.namespaceURI]?k.namespaceURI===Ba?U.namespaceURI===Oe?W==="svg":U.namespaceURI===Ma?W==="svg"&&(yt==="annotation-xml"||Aa[yt]):!!td[W]:k.namespaceURI===Ma?U.namespaceURI===Oe?W==="math":U.namespaceURI===Ba?W==="math"&&La[yt]:!!ed[W]:k.namespaceURI===Oe?U.namespaceURI===Ba&&!La[yt]||U.namespaceURI===Ma&&!Aa[yt]?!1:!ed[W]&&(p_[W]||!td[W]):!!(ln==="application/xhtml+xml"&&Gs[k.namespaceURI]):!1},"_checkValidNamespace"),pr=l(function(k){cn(e.removed,{element:k});try{C(k).removeChild(k)}catch{x(k)}},"_forceRemove"),Fa=l(function(k,U){try{cn(e.removed,{attribute:U.getAttributeNode(k),from:U})}catch{cn(e.removed,{attribute:null,from:U})}if(U.removeAttribute(k),k==="is"&&!lt[k])if(ee||dr)try{pr(U)}catch{}else try{U.setAttribute(k,"")}catch{}},"_removeAttribute"),rd=l(function(k){let U=null,W=null;if(It)k=""+k;else{let Tt=xd(k,/^[\r\n\t ]+/);W=Tt&&Tt[0]}ln==="application/xhtml+xml"&&Yr===Oe&&(k=''+k+"");let yt=_?_.createHTML(k):k;if(Yr===Oe)try{U=new d().parseFromString(yt,ln)}catch{}if(!U||!U.documentElement){U=v.createDocument(Yr,"template",null);try{U.documentElement.innerHTML=Vs?w:yt}catch{}}let Nt=U.body||U.documentElement;return k&&W&&Nt.insertBefore(r.createTextNode(W),Nt.childNodes[0]||null),Yr===Oe?P.call(U,ut?"html":"body")[0]:ut?U.documentElement:Nt},"_initDocument"),id=l(function(k){return S.call(k.ownerDocument||k,k,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),nd=l(function(k){return k instanceof p&&(typeof k.nodeName!="string"||typeof k.textContent!="string"||typeof k.removeChild!="function"||!(k.attributes instanceof u)||typeof k.removeAttribute!="function"||typeof k.setAttribute!="function"||typeof k.namespaceURI!="string"||typeof k.insertBefore!="function"||typeof k.hasChildNodes!="function")},"_isClobbered"),ad=l(function(k){return typeof o=="function"&&k instanceof o},"_isNode");function Se(k,U,W){T[k]&&Oa(T[k],yt=>{yt.call(e,U,W,Vr)})}l(Se,"_executeHook");let od=l(function(k){let U=null;if(Se("beforeSanitizeElements",k,null),nd(k))return pr(k),!0;let W=Et(k.nodeName);if(Se("uponSanitizeElement",k,{tagName:W,allowedTags:tt}),k.hasChildNodes()&&!ad(k.firstElementChild)&&Zt(/<[/\w]/g,k.innerHTML)&&Zt(/<[/\w]/g,k.textContent)||k.nodeType===pn.progressingInstruction||vt&&k.nodeType===pn.comment&&Zt(/<[/\w]/g,k.data))return pr(k),!0;if(!tt[W]||At[W]){if(!At[W]&&ld(W)&&(nt.tagNameCheck instanceof RegExp&&Zt(nt.tagNameCheck,W)||nt.tagNameCheck instanceof Function&&nt.tagNameCheck(W)))return!1;if(Us&&!Ur[W]){let yt=C(k)||k.parentNode,Nt=b(k)||k.childNodes;if(Nt&&yt){let Tt=Nt.length;for(let Ie=Tt-1;Ie>=0;--Ie){let ce=m(Nt[Ie],!0);ce.__removalCount=(k.__removalCount||0)+1,yt.insertBefore(ce,y(k))}}}return pr(k),!0}return k instanceof h&&!y_(k)||(W==="noscript"||W==="noembed"||W==="noframes")&&Zt(/<\/no(script|embed|frames)/i,k.innerHTML)?(pr(k),!0):(I&&k.nodeType===pn.text&&(U=k.textContent,Oa([R,L,M],yt=>{U=un(U,yt," ")}),k.textContent!==U&&(cn(e.removed,{element:k.cloneNode()}),k.textContent=U)),Se("afterSanitizeElements",k,null),!1)},"_sanitizeElements"),sd=l(function(k,U,W){if(Vu&&(U==="id"||U==="name")&&(W in r||W in m_))return!1;if(!(q&&!Ft[U]&&Zt(F,U))&&!(Gt&&Zt(B,U))){if(!lt[U]||Ft[U]){if(!(ld(k)&&(nt.tagNameCheck instanceof RegExp&&Zt(nt.tagNameCheck,k)||nt.tagNameCheck instanceof Function&&nt.tagNameCheck(k))&&(nt.attributeNameCheck instanceof RegExp&&Zt(nt.attributeNameCheck,U)||nt.attributeNameCheck instanceof Function&&nt.attributeNameCheck(U))||U==="is"&&nt.allowCustomizedBuiltInElements&&(nt.tagNameCheck instanceof RegExp&&Zt(nt.tagNameCheck,W)||nt.tagNameCheck instanceof Function&&nt.tagNameCheck(W))))return!1}else if(!Ys[U]&&!Zt(H,un(W,A,""))&&!((U==="src"||U==="xlink:href"||U==="href")&&k!=="script"&&Tv(W,"data:")===0&&Zu[k])&&!(X&&!Zt(E,un(W,A,"")))&&W)return!1}return!0},"_isValidAttribute"),ld=l(function(k){return k!=="annotation-xml"&&xd(k,z)},"_isBasicCustomElement"),hd=l(function(k){Se("beforeSanitizeAttributes",k,null);let{attributes:U}=k;if(!U)return;let W={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:lt,forceKeepAttr:void 0},yt=U.length;for(;yt--;){let Nt=U[yt],{name:Tt,namespaceURI:Ie,value:ce}=Nt,Te=Et(Tt),Xt=Tt==="value"?ce:Mv(ce);if(W.attrName=Te,W.attrValue=Xt,W.keepAttr=!0,W.forceKeepAttr=void 0,Se("uponSanitizeAttribute",k,W),Xt=W.attrValue,Gu&&(Te==="id"||Te==="name")&&(Fa(Tt,k),Xt=u_+Xt),vt&&Zt(/((--!?|])>)|<\/(style|title)/i,Xt)){Fa(Tt,k);continue}if(W.forceKeepAttr||(Fa(Tt,k),!W.keepAttr))continue;if(!at&&Zt(/\/>/i,Xt)){Fa(Tt,k);continue}I&&Oa([R,L,M],b_=>{Xt=un(Xt,b_," ")});let cd=Et(k.nodeName);if(sd(cd,Te,Xt)){if(_&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!Ie)switch(f.getAttributeType(cd,Te)){case"TrustedHTML":{Xt=_.createHTML(Xt);break}case"TrustedScriptURL":{Xt=_.createScriptURL(Xt);break}}try{Ie?k.setAttributeNS(Ie,Tt,Xt):k.setAttribute(Tt,Xt),nd(k)?pr(k):yd(e.removed)}catch{}}}Se("afterSanitizeAttributes",k,null)},"_sanitizeAttributes"),x_=l(function k(U){let W=null,yt=id(U);for(Se("beforeSanitizeShadowDOM",U,null);W=yt.nextNode();)Se("uponSanitizeShadowNode",W,null),!od(W)&&(W.content instanceof a&&k(W.content),hd(W));Se("afterSanitizeShadowDOM",U,null)},"_sanitizeShadowDOM");return e.sanitize=function(k){let U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},W=null,yt=null,Nt=null,Tt=null;if(Vs=!k,Vs&&(k=""),typeof k!="string"&&!ad(k))if(typeof k.toString=="function"){if(k=k.toString(),typeof k!="string")throw dn("dirty is not a string, aborting")}else throw dn("toString is not a function");if(!e.isSupported)return k;if(Ot||Xs(U),e.removed=[],typeof k=="string"&&(sn=!1),sn){if(k.nodeName){let Te=Et(k.nodeName);if(!tt[Te]||At[Te])throw dn("root node is forbidden and cannot be sanitized in-place")}}else if(k instanceof o)W=rd(""),yt=W.ownerDocument.importNode(k,!0),yt.nodeType===pn.element&&yt.nodeName==="BODY"||yt.nodeName==="HTML"?W=yt:W.appendChild(yt);else{if(!ee&&!I&&!ut&&k.indexOf("<")===-1)return _&&Ta?_.createHTML(k):k;if(W=rd(k),!W)return ee?null:Ta?w:""}W&&It&&pr(W.firstChild);let Ie=id(sn?k:W);for(;Nt=Ie.nextNode();)od(Nt)||(Nt.content instanceof a&&x_(Nt.content),hd(Nt));if(sn)return k;if(ee){if(dr)for(Tt=N.call(W.ownerDocument);W.firstChild;)Tt.appendChild(W.firstChild);else Tt=W;return(lt.shadowroot||lt.shadowrootmode)&&(Tt=O.call(i,Tt,!0)),Tt}let ce=ut?W.outerHTML:W.innerHTML;return ut&&tt["!doctype"]&&W.ownerDocument&&W.ownerDocument.doctype&&W.ownerDocument.doctype.name&&Zt(Wp,W.ownerDocument.doctype.name)&&(ce=" -`+ce),I&&Oa([R,L,M],Te=>{ce=un(ce,Te," ")}),_&&Ta?_.createHTML(ce):ce},e.setConfig=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xs(k),Ot=!0},e.clearConfig=function(){Vr=null,Ot=!1},e.isValidAttribute=function(k,U,W){Vr||Xs({});let yt=Et(k),Nt=Et(U);return sd(yt,Nt,W)},e.addHook=function(k,U){typeof U=="function"&&(T[k]=T[k]||[],cn(T[k],U))},e.removeHook=function(k){if(T[k])return yd(T[k])},e.removeHooks=function(k){T[k]&&(T[k]=[])},e.removeAllHooks=function(){T={}},e}l(Xh,"createDOMPurify");var Pi=Xh(),da=//gi,qv=l(t=>t?Yp(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),jv=(()=>{let t=!1;return()=>{t||(Hp(),t=!0)}})();function Hp(){let t="data-temp-href-target";Pi.addHook("beforeSanitizeAttributes",e=>{e instanceof Element&&e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Pi.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}l(Hp,"setupDompurifyHooks");var Up=l(t=>(jv(),Pi.sanitize(t)),"removeScript"),vd=l((t,e)=>{var r;if(((r=e.flowchart)==null?void 0:r.htmlLabels)!==!1){let i=e.securityLevel;i==="antiscript"||i==="strict"?t=Up(t):i!=="loose"&&(t=Yp(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Yv(t))}return t},"sanitizeMore"),Mr=l((t,e)=>t&&(e.dompurifyConfig?t=Pi.sanitize(vd(t,e),e.dompurifyConfig).toString():t=Pi.sanitize(vd(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),Wv=l((t,e)=>typeof t=="string"?Mr(t,e):t.flat().map(r=>Mr(r,e)),"sanitizeTextOrArray"),Hv=l(t=>da.test(t),"hasBreaks"),Uv=l(t=>t.split(da),"splitBreaks"),Yv=l(t=>t.replace(/#br#/g,"
          "),"placeholderToBreak"),Yp=l(t=>t.replace(da,"#br#"),"breakToPlaceholder"),Vv=l(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},"getUrl"),jt=l(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Gv=l(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Xv=l(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Q6=l(function(t){let e=t.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,t.split(e).length-1),"countOccurrence"),Zv=l((t,e)=>{let r=yl(t,"~"),i=yl(e,"~");return r===1&&i===1},"shouldCombineSets"),Qv=l(t=>{let e=yl(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let i=[...t],n=i.indexOf("~"),a=i.lastIndexOf("~");for(;n!==-1&&a!==-1&&n!==a;)i[n]="<",i[a]=">",n=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),$d=l(()=>window.MathMLElement!==void 0,"isMathMLSupported"),xl=/\$\$(.*)\$\$/g,zi=l(t=>{var e;return(((e=t.match(xl))==null?void 0:e.length)??0)>0},"hasKatex"),K6=l(async(t,e)=>{var n;t=await Zh(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",(n=document.querySelector("body"))==null||n.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),Zh=l(async(t,e)=>{if(!zi(t))return t;if(!($d()||e.legacyMathML||e.forceLegacyMathML))return t.replace(xl,"MathML is unsupported in this environment.");let{default:r}=await bt(()=>import("./katex-SWYD7GD6-CcgPb0SV.js"),__vite__mapDeps([0,1])),i=e.forceLegacyMathML||!$d()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(da).map(n=>zi(n)?`
          ${n}
          `:`
          ${n}
          `).join("").replace(xl,(n,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),Qi={getRows:qv,sanitizeText:Mr,sanitizeTextOrArray:Wv,hasBreaks:Hv,splitBreaks:Uv,lineBreakRegex:da,removeScript:Up,getUrl:Vv,evaluate:jt,getMax:Gv,getMin:Xv},Kv=l(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Jv=l(function(t,e,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},"calculateSvgSizeAttrs"),Vp=l(function(t,e,r,i){let n=Jv(e,r,i);Kv(t,n)},"configureSvgSize"),t$=l(function(t,e,r,i){let n=e.node().getBBox(),a=n.width,s=n.height;D.info(`SVG bounds: ${a}x${s}`,n);let o=0,h=0;D.info(`Graph bounds: ${o}x${h}`,t),o=a+r*2,h=s+r*2,D.info(`Calculated bounds: ${o}x${h}`),Vp(e,h,o,i);let c=`${n.x-r} ${n.y-r} ${n.width+2*r} ${n.height+2*r}`;e.attr("viewBox",c)},"setupGraphViewbox"),Ga={},e$=l((t,e,r)=>{let i="";return t in Ga&&Ga[t]?i=Ga[t](r):D.warn(`No theme found for ${t}`),` & { +`+ce),I&&Oa([R,L,M],Te=>{ce=un(ce,Te," ")}),_&&Ta?_.createHTML(ce):ce},e.setConfig=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xs(k),Ot=!0},e.clearConfig=function(){Vr=null,Ot=!1},e.isValidAttribute=function(k,U,W){Vr||Xs({});let yt=Et(k),Nt=Et(U);return sd(yt,Nt,W)},e.addHook=function(k,U){typeof U=="function"&&(T[k]=T[k]||[],cn(T[k],U))},e.removeHook=function(k){if(T[k])return yd(T[k])},e.removeHooks=function(k){T[k]&&(T[k]=[])},e.removeAllHooks=function(){T={}},e}l(Xh,"createDOMPurify");var Pi=Xh(),da=//gi,qv=l(t=>t?Yp(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),jv=(()=>{let t=!1;return()=>{t||(Hp(),t=!0)}})();function Hp(){let t="data-temp-href-target";Pi.addHook("beforeSanitizeAttributes",e=>{e instanceof Element&&e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),Pi.addHook("afterSanitizeAttributes",e=>{e instanceof Element&&e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}l(Hp,"setupDompurifyHooks");var Up=l(t=>(jv(),Pi.sanitize(t)),"removeScript"),vd=l((t,e)=>{var r;if(((r=e.flowchart)==null?void 0:r.htmlLabels)!==!1){let i=e.securityLevel;i==="antiscript"||i==="strict"?t=Up(t):i!=="loose"&&(t=Yp(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=Yv(t))}return t},"sanitizeMore"),Mr=l((t,e)=>t&&(e.dompurifyConfig?t=Pi.sanitize(vd(t,e),e.dompurifyConfig).toString():t=Pi.sanitize(vd(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),Wv=l((t,e)=>typeof t=="string"?Mr(t,e):t.flat().map(r=>Mr(r,e)),"sanitizeTextOrArray"),Hv=l(t=>da.test(t),"hasBreaks"),Uv=l(t=>t.split(da),"splitBreaks"),Yv=l(t=>t.replace(/#br#/g,"
          "),"placeholderToBreak"),Yp=l(t=>t.replace(da,"#br#"),"breakToPlaceholder"),Vv=l(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},"getUrl"),jt=l(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),Gv=l(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),Xv=l(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),Q6=l(function(t){let e=t.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,t.split(e).length-1),"countOccurrence"),Zv=l((t,e)=>{let r=yl(t,"~"),i=yl(e,"~");return r===1&&i===1},"shouldCombineSets"),Qv=l(t=>{let e=yl(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let i=[...t],n=i.indexOf("~"),a=i.lastIndexOf("~");for(;n!==-1&&a!==-1&&n!==a;)i[n]="<",i[a]=">",n=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),$d=l(()=>window.MathMLElement!==void 0,"isMathMLSupported"),xl=/\$\$(.*)\$\$/g,zi=l(t=>{var e;return(((e=t.match(xl))==null?void 0:e.length)??0)>0},"hasKatex"),K6=l(async(t,e)=>{var n;t=await Zh(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",(n=document.querySelector("body"))==null||n.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),Zh=l(async(t,e)=>{if(!zi(t))return t;if(!($d()||e.legacyMathML||e.forceLegacyMathML))return t.replace(xl,"MathML is unsupported in this environment.");let{default:r}=await bt(()=>import("./katex-SWYD7GD6-TvHaozZB.js"),__vite__mapDeps([0,1])),i=e.forceLegacyMathML||!$d()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(da).map(n=>zi(n)?`
          ${n}
          `:`
          ${n}
          `).join("").replace(xl,(n,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),Qi={getRows:qv,sanitizeText:Mr,sanitizeTextOrArray:Wv,hasBreaks:Hv,splitBreaks:Uv,lineBreakRegex:da,removeScript:Up,getUrl:Vv,evaluate:jt,getMax:Gv,getMin:Xv},Kv=l(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),Jv=l(function(t,e,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i},"calculateSvgSizeAttrs"),Vp=l(function(t,e,r,i){let n=Jv(e,r,i);Kv(t,n)},"configureSvgSize"),t$=l(function(t,e,r,i){let n=e.node().getBBox(),a=n.width,s=n.height;D.info(`SVG bounds: ${a}x${s}`,n);let o=0,h=0;D.info(`Graph bounds: ${o}x${h}`,t),o=a+r*2,h=s+r*2,D.info(`Calculated bounds: ${o}x${h}`),Vp(e,h,o,i);let c=`${n.x-r} ${n.y-r} ${n.width+2*r} ${n.height+2*r}`;e.attr("viewBox",c)},"setupGraphViewbox"),Ga={},e$=l((t,e,r)=>{let i="";return t in Ga&&Ga[t]?i=Ga[t](r):D.warn(`No theme found for ${t}`),` & { font-family: ${r.fontFamily}; font-size: ${r.fontSize}; fill: ${r.textColor} @@ -179,8 +179,8 @@ res:`,Y.polygon(e,c,d)),Y.polygon(e,c,d)},n}l(Lk,"question");async function Fk(t M${u},${p-c} L${u},${p+h}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=f.path(x,g),b=n.insert(()=>y,":first-child");return b.attr("transform",`translate(${c/2}, ${c/2})`),b.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",d),i&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",i),s.attr("transform",`translate(${-(a.width/2)+c/2-(a.x-(a.left??0))}, ${-(a.height/2)+c/2-(a.y-(a.top??0))})`),K(e,b),e.intersect=function(C){return Y.polygon(e,m,C)},n}l(Kk,"windowPane");async function Jk(t,e,r,i,n=r.class.padding??12){let a=i?0:3,s=t.insert("g").attr("class",st(e)).attr("id",e.domId||e.id),o=null,h=null,c=null,u=null,p=0,d=0,f=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await vn(o,{text:`«${b}»`},0),p=o.node().getBBox().height}h=s.insert("g").attr("class","label-group text"),await vn(h,e,0,["font-weight: bolder"]);let g=h.node().getBBox();d=g.height,c=s.insert("g").attr("class","members-group text");let m=0;for(let b of e.members){let C=await vn(c,b,m,[b.parseClassifier()]);m+=C+a}f=c.node().getBBox().height,f<=0&&(f=n/2),u=s.insert("g").attr("class","methods-group text");let x=0;for(let b of e.methods){let C=await vn(u,b,x,[b.parseClassifier()]);x+=C+a}let y=s.node().getBBox();if(o!==null){let b=o.node().getBBox();o.attr("transform",`translate(${-b.width/2})`)}return h.attr("transform",`translate(${-g.width/2}, ${p})`),y=s.node().getBBox(),c.attr("transform",`translate(0, ${p+d+n*2})`),y=s.node().getBBox(),u.attr("transform",`translate(0, ${p+d+(f?f+n*4:n*2)})`),y=s.node().getBBox(),{shapeSvg:s,bbox:y}}l(Jk,"textHelper");async function vn(t,e,r,i=[]){let n=t.insert("g").attr("class","label").attr("style",i.join("; ")),a=ve(),s="useHtmlLabels"in e?e.useHtmlLabels:jt(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),zi(o)&&(s=!0);let h=await en(n,Xp(tn(o)),{width:Yi(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),c,u=1;if(s){let p=h.children[0],d=ft(h);u=p.innerHTML.split("
          ").length,p.innerHTML.includes("")&&(u+=p.innerHTML.split("").length-1);let f=p.getElementsByTagName("img");if(f){let g=o.replace(/]*>/g,"").trim()==="";await Promise.all([...f].map(m=>new Promise(x=>{function y(){var b;if(m.style.display="flex",m.style.flexDirection="column",g){let C=((b=a.fontSize)==null?void 0:b.toString())??window.getComputedStyle(document.body).fontSize,_=parseInt(C,10)*5+"px";m.style.minWidth=_,m.style.maxWidth=_}else m.style.width="100%";x(m)}l(y,"setupImage"),setTimeout(()=>{m.complete&&y()}),m.addEventListener("error",y),m.addEventListener("load",y)})))}c=p.getBoundingClientRect(),d.attr("width",c.width),d.attr("height",c.height)}else{i.includes("font-weight: bolder")&&ft(h).selectAll("tspan").attr("font-weight",""),u=h.children.length;let p=h.children[0];(h.textContent===""||h.textContent.includes(">"))&&(p.textContent=o[0]+o.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),o[1]===" "&&(p.textContent=p.textContent[0]+" "+p.textContent.substring(1))),p.textContent==="undefined"&&(p.textContent=""),c=h.getBBox()}return n.attr("transform","translate(0,"+(-c.height/(2*u)+r)+")"),c.height}l(vn,"addText");async function tw(t,e){var P,O;let r=mt(),i=r.class.padding??12,n=i,a=e.useHtmlLabels??jt(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:o,bbox:h}=await Jk(t,e,r,a,n),{labelStyles:c,nodeStyles:u}=J(e);e.labelStyle=c,e.cssStyles=s.styles||"";let p=((P=s.styles)==null?void 0:P.join(";"))||u||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));let d=s.members.length===0&&s.methods.length===0&&!((O=r.class)!=null&&O.hideEmptyMembersBox),f=V.svg(o),g=G(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let m=h.width,x=h.height;s.members.length===0&&s.methods.length===0?x+=n:s.members.length>0&&s.methods.length===0&&(x+=n*2);let y=-m/2,b=-x/2,C=f.rectangle(y-i,b-i-(d?i:s.members.length===0&&s.methods.length===0?-i/2:0),m+2*i,x+2*i+(d?i*2:s.members.length===0&&s.methods.length===0?-i:0),g),_=o.insert(()=>C,":first-child");_.attr("class","basic label-container");let w=_.node().getBBox();o.selectAll(".text").each((T,R,L)=>{var z;let M=ft(L[R]),F=M.attr("transform"),B=0;if(F){let H=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(F);H&&(B=parseFloat(H[2]))}let E=B+b+i-(d?i:s.members.length===0&&s.methods.length===0?-i/2:0);a||(E-=4);let A=y;(M.attr("class").includes("label-group")||M.attr("class").includes("annotation-group"))&&(A=-((z=M.node())==null?void 0:z.getBBox().width)/2||0,o.selectAll("text").each(function(H,tt,ct){window.getComputedStyle(ct[tt]).textAnchor==="middle"&&(A=0)})),M.attr("transform",`translate(${A}, ${E})`)});let v=o.select(".annotation-group").node().getBBox().height-(d?i/2:0)||0,S=o.select(".label-group").node().getBBox().height-(d?i/2:0)||0,N=o.select(".members-group").node().getBBox().height-(d?i/2:0)||0;if(s.members.length>0||s.methods.length>0||d){let T=f.line(w.x,v+S+b+i,w.x+w.width,v+S+b+i,g);o.insert(()=>T).attr("class","divider").attr("style",p)}if(d||s.members.length>0||s.methods.length>0){let T=f.line(w.x,v+S+N+b+n*2+i,w.x+w.width,v+S+N+b+i+n*2,g);o.insert(()=>T).attr("class","divider").attr("style",p)}if(s.look!=="handDrawn"&&o.selectAll("path").attr("style",p),_.select(":nth-child(2)").attr("style",p),o.selectAll(".divider").select("path").attr("style",p),e.labelStyle?o.selectAll("span").attr("style",e.labelStyle):o.selectAll("span").attr("style",p),!a){let T=RegExp(/color\s*:\s*([^;]*)/),R=T.exec(p);if(R){let L=R[0].replace("color","fill");o.selectAll("tspan").attr("style",L)}else if(c){let L=T.exec(c);if(L){let M=L[0].replace("color","fill");o.selectAll("tspan").attr("style",M)}}}return K(e,_),e.intersect=function(T){return Y.rect(e,T)},o}l(tw,"classBox");var _A=l(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function ew(t,e,{config:r}){var R,L;let{labelStyles:i,nodeStyles:n}=J(e);e.labelStyle=i||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:o,bbox:h,label:c}=await ot(t,e,st(e)),u=e.padding||10,p="",d;"ticket"in e&&e.ticket&&((R=r==null?void 0:r.kanban)!=null&&R.ticketBaseUrl)&&(p=(L=r==null?void 0:r.kanban)==null?void 0:L.ticketBaseUrl.replace("#TICKET#",e.ticket),d=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",p).attr("target","_blank"));let f={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,m;d?{label:g,bbox:m}=await ul(d,"ticket"in e&&e.ticket||"",f):{label:g,bbox:m}=await ul(o,"ticket"in e&&e.ticket||"",f);let{label:x,bbox:y}=await ul(o,"assigned"in e&&e.assigned||"",f);e.width=s;let b=10,C=(e==null?void 0:e.width)||0,_=Math.max(m.height,y.height)/2,w=Math.max(h.height+b*2,(e==null?void 0:e.height)||0)+_,v=-C/2,S=-w/2;c.attr("transform","translate("+(u-C/2)+", "+(-_-h.height/2)+")"),g.attr("transform","translate("+(u-C/2)+", "+(-_+h.height/2)+")"),x.attr("transform","translate("+(u+C/2-y.width-2*a)+", "+(-_+h.height/2)+")");let N,{rx:P,ry:O}=e,{cssStyles:T}=e;if(e.look==="handDrawn"){let M=V.svg(o),F=G(e,{}),B=P||O?M.path(Ge(v,S,C,w,P||0),F):M.rectangle(v,S,C,w,F);N=o.insert(()=>B,":first-child"),N.attr("class","basic label-container").attr("style",T||null)}else{N=o.insert("rect",":first-child"),N.attr("class","basic label-container __APA__").attr("style",n).attr("rx",P??5).attr("ry",O??5).attr("x",v).attr("y",S).attr("width",C).attr("height",w);let M="priority"in e&&e.priority;if(M){let F=o.append("line"),B=v+2,E=S+Math.floor((P??0)/2),A=S+w-Math.floor((P??0)/2);F.attr("x1",B).attr("y1",E).attr("x2",B).attr("y2",A).attr("stroke-width","4").attr("stroke",_A(M))}}return K(e,N),e.height=w,e.intersect=function(M){return Y.rect(e,M)},o}l(ew,"kanbanItem");var vA=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:Nk},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:Dk},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:Rk},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:jk},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:sk},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:tk},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:Lk},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:fk},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:vk},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:_k},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:Vk},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:kk},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:hk},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:Uk},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:KC},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:Ok},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:qk},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:zk},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:dk},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:gk},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:ik},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:nk},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:ak},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:$k},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:Zk},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:pk},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:Yk},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:Sk},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:ok},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:lk},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:Xk},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:Kk},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:ck},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:Gk},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:uk},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:Ik},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:Bk},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:Mk},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:QC},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:rk},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:Hk},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:Wk},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:Qk},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:Fk},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:Tk}],$A=l(()=>{let t=[...Object.entries({state:Pk,choice:JC,note:Ak,rectWithTitle:Ek,labelRect:wk,iconSquare:bk,iconCircle:yk,icon:mk,iconRounded:xk,imageSquare:Ck,anchor:ZC,kanbanItem:ew,classBox:tw}),...vA.flatMap(e=>[e.shortName,..."aliases"in e?e.aliases:[],..."internalAliases"in e?e.internalAliases:[]].map(r=>[r,e.handler]))];return Object.fromEntries(t)},"generateShapeMap"),rw=$A();function SA(t){return t in rw}l(SA,"isValidShape");var qs=new Map;async function iw(t,e,r){let i,n;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?rw[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),n=await a(i,e,r)}else n=await a(t,e,r),i=n;return e.tooltip&&n.attr("title",e.tooltip),qs.set(e.id,i),e.haveCallback&&i.attr("class",i.attr("class")+" clickable"),i}l(iw,"insertNode");var a4=l((t,e)=>{qs.set(e.id,t)},"setNodeElem"),o4=l(()=>{qs.clear()},"clear"),s4=l(t=>{let e=qs.get(t.id);D.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,i=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+i-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),i},"positionNode"),de={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};function $n(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=_t(t),e=_t(e);let[r,i]=[t.x,t.y],[n,a]=[e.x,e.y],s=n-r,o=a-i;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}l($n,"calculateDeltaAndAngle");var _t=l(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),TA=l(t=>({x:l(function(e,r,i){let n=0,a=_t(i[0]).x<_t(i[i.length-1]).x?"left":"right";if(r===0&&Object.hasOwn(de,t.arrowTypeStart)){let{angle:f,deltaX:g}=$n(i[0],i[1]);n=de[t.arrowTypeStart]*Math.cos(f)*(g>=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(de,t.arrowTypeEnd)){let{angle:f,deltaX:g}=$n(i[i.length-1],i[i.length-2]);n=de[t.arrowTypeEnd]*Math.cos(f)*(g>=0?1:-1)}let s=Math.abs(_t(e).x-_t(i[i.length-1]).x),o=Math.abs(_t(e).y-_t(i[i.length-1]).y),h=Math.abs(_t(e).x-_t(i[0]).x),c=Math.abs(_t(e).y-_t(i[0]).y),u=de[t.arrowTypeStart],p=de[t.arrowTypeEnd],d=1;if(s0&&o0&&c=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(de,t.arrowTypeEnd)){let{angle:f,deltaY:g}=$n(i[i.length-1],i[i.length-2]);n=de[t.arrowTypeEnd]*Math.abs(Math.sin(f))*(g>=0?1:-1)}let s=Math.abs(_t(e).y-_t(i[i.length-1]).y),o=Math.abs(_t(e).x-_t(i[i.length-1]).x),h=Math.abs(_t(e).y-_t(i[0]).y),c=Math.abs(_t(e).x-_t(i[0]).x),u=de[t.arrowTypeStart],p=de[t.arrowTypeEnd],d=1;if(s0&&o0&&c{e.arrowTypeStart&&lp(t,"start",e.arrowTypeStart,r,i,n),e.arrowTypeEnd&&lp(t,"end",e.arrowTypeEnd,r,i,n)},"addEdgeMarkers"),BA={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},lp=l((t,e,r,i,n,a)=>{let s=BA[r];if(!s){D.warn(`Unknown arrow type: ${r}`);return}let o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${i}#${n}_${a}-${s}${o})`)},"addEdgeMarker"),Jo=new Map,Pt=new Map,l4=l(()=>{Jo.clear(),Pt.clear()},"clear"),yn=l(t=>t?t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),AA=l(async(t,e)=>{let r=jt(mt().flowchart.htmlLabels),i=await en(t,e.label,{style:yn(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});D.info("abc82",e,e.labelType);let n=t.insert("g").attr("class","edgeLabel"),a=n.insert("g").attr("class","label");a.node().appendChild(i);let s=i.getBBox();if(r){let h=i.children[0],c=ft(i);s=h.getBoundingClientRect(),c.attr("width",s.width),c.attr("height",s.height)}a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),Jo.set(e.id,n),e.width=s.width,e.height=s.height;let o;if(e.startLabelLeft){let h=await $r(e.startLabelLeft,yn(e.labelStyle)),c=t.insert("g").attr("class","edgeTerminals"),u=c.insert("g").attr("class","inner");o=u.node().appendChild(h);let p=h.getBBox();u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Pt.get(e.id)||Pt.set(e.id,{}),Pt.get(e.id).startLeft=c,Sn(o,e.startLabelLeft)}if(e.startLabelRight){let h=await $r(e.startLabelRight,yn(e.labelStyle)),c=t.insert("g").attr("class","edgeTerminals"),u=c.insert("g").attr("class","inner");o=c.node().appendChild(h),u.node().appendChild(h);let p=h.getBBox();u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Pt.get(e.id)||Pt.set(e.id,{}),Pt.get(e.id).startRight=c,Sn(o,e.startLabelRight)}if(e.endLabelLeft){let h=await $r(e.endLabelLeft,yn(e.labelStyle)),c=t.insert("g").attr("class","edgeTerminals"),u=c.insert("g").attr("class","inner");o=u.node().appendChild(h);let p=h.getBBox();u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),c.node().appendChild(h),Pt.get(e.id)||Pt.set(e.id,{}),Pt.get(e.id).endLeft=c,Sn(o,e.endLabelLeft)}if(e.endLabelRight){let h=await $r(e.endLabelRight,yn(e.labelStyle)),c=t.insert("g").attr("class","edgeTerminals"),u=c.insert("g").attr("class","inner");o=u.node().appendChild(h);let p=h.getBBox();u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),c.node().appendChild(h),Pt.get(e.id)||Pt.set(e.id,{}),Pt.get(e.id).endRight=c,Sn(o,e.endLabelRight)}return i},"insertEdgeLabel");function Sn(t,e){mt().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}l(Sn,"setTerminalWidth");var LA=l((t,e)=>{D.debug("Moving label abc88 ",t.id,t.label,Jo.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,i=mt(),{subGraphTitleTotalMargin:n}=du(i);if(t.label){let a=Jo.get(t.id),s=t.x,o=t.y;if(r){let h=Be.calcLabelPosition(r);D.debug("Moving label "+t.label+" from (",s,",",o,") to (",h.x,",",h.y,") abc88"),e.updatedPath&&(s=h.x,o=h.y)}a.attr("transform",`translate(${s}, ${o+n/2})`)}if(t.startLabelLeft){let a=Pt.get(t.id).startLeft,s=t.x,o=t.y;if(r){let h=Be.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=h.x,o=h.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){let a=Pt.get(t.id).startRight,s=t.x,o=t.y;if(r){let h=Be.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=h.x,o=h.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){let a=Pt.get(t.id).endLeft,s=t.x,o=t.y;if(r){let h=Be.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=h.x,o=h.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){let a=Pt.get(t.id).endRight,s=t.x,o=t.y;if(r){let h=Be.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=h.x,o=h.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),FA=l((t,e)=>{let r=t.x,i=t.y,n=Math.abs(e.x-r),a=Math.abs(e.y-i),s=t.width/2,o=t.height/2;return n>=s||a>=o},"outsideNode"),EA=l((t,e,r)=>{D.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(e)} insidePoint : ${JSON.stringify(r)} - node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,n=t.y,a=Math.abs(i-r.x),s=t.width/2,o=r.xMath.abs(i-e.x)*h){let p=r.y{D.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(a=>{if(D.info("abc88 checking point",a,e),!FA(e,a)&&!n){let s=EA(e,i,a);D.debug("abc88 inside",a,i,s),D.debug("abc88 intersection",s,e);let o=!1;r.forEach(h=>{o=o||h.x===s.x&&h.y===s.y}),r.some(h=>h.x===s.x&&h.y===s.y)?D.warn("abc88 no intersect",s,r):r.push(s),n=!0}else D.warn("abc88 outside",a,i),i=a,n||r.push(a)}),D.debug("returning points",r),r},"cutPathAtIntersect");function nw(t){let e=[],r=[];for(let i=1;i5&&Math.abs(a.y-n.y)>5||n.y===a.y&&a.x===s.x&&Math.abs(a.x-n.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(i))}return{cornerPoints:e,cornerPointPositions:r}}l(nw,"extractCornerPoints");var cp=l(function(t,e,r){let i=e.x-t.x,n=e.y-t.y,a=Math.sqrt(i*i+n*n),s=r/a;return{x:e.x-s*i,y:e.y-s*n}},"findAdjacentPoint"),DA=l(function(t){let{cornerPointPositions:e}=nw(t),r=[];for(let i=0;i10&&Math.abs(a.y-n.y)>=10){D.debug("Corner point fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));let f=5;s.x===o.x?d={x:c<0?o.x-f+p:o.x+f-p,y:u<0?o.y-p:o.y+p}:d={x:c<0?o.x-p:o.x+p,y:u<0?o.y-f+p:o.y+f-p}}else D.debug("Corner point skipping fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));r.push(d,h)}else r.push(t[i]);return r},"fixCorners"),OA=l(function(t,e,r,i,n,a,s){let{handDrawnSeed:o}=mt(),h=e.points,c=!1,u=n;var p=a;p.intersect&&u.intersect&&(h=h.slice(1,e.points.length-1),h.unshift(u.intersect(h[0])),D.debug("Last point APA12",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1]))),e.toCluster&&(D.info("to cluster abc88",r.get(e.toCluster)),h=hp(e.points,r.get(e.toCluster).node),c=!0),e.fromCluster&&(D.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=hp(h.reverse(),r.get(e.fromCluster).node).reverse(),c=!0);let d=h.filter(S=>!Number.isNaN(S.y));d=DA(d);let f=Wc;e.curve&&(f=e.curve);let{x:g,y:m}=TA(e),x=ry().x(g).y(m).curve(f),y;switch(e.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;case"invisible":y="edge-thickness-invisible";break;default:y="edge-thickness-normal"}switch(e.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed";break;default:y+=" edge-pattern-solid"}let b,C=x(d),_=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let S=V.svg(t);Object.assign([],d);let N=S.path(C,{roughness:.3,seed:o});y+=" transition",b=ft(N).select("path").attr("id",e.id).attr("class"," "+y+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((O,T)=>O+";"+T,""):"");let P=b.attr("d");b.attr("d",P),t.node().appendChild(b.node())}else b=t.append("path").attr("d",C).attr("id",e.id).attr("class"," "+y+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((S,N)=>S+";"+N,""):"");let w="";(mt().flowchart.arrowMarkerAbsolute||mt().state.arrowMarkerAbsolute)&&(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,w=w.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),D.info("arrowTypeStart",e.arrowTypeStart),D.info("arrowTypeEnd",e.arrowTypeEnd),MA(b,e,w,s,i);let v={};return c&&(v.updatedPath=h),v.originalPath=e.points,v},"insertEdge"),IA=l((t,e,r,i)=>{e.forEach(n=>{YA[n](t,r,i)})},"insertMarkers"),NA=l((t,e,r)=>{D.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),RA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),PA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),zA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),qA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),jA=l((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),WA=l((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),HA=l((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),UA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),YA={extension:NA,composition:RA,aggregation:PA,dependency:zA,lollipop:qA,point:jA,circle:WA,cross:HA,barb:UA},VA=IA,GA={common:Qi,getConfig:ve,insertCluster:sA,insertEdge:OA,insertEdgeLabel:AA,insertMarkers:VA,insertNode:iw,interpolateToCurve:Cu,labelHelper:ot,log:D,positionEdgeLabel:LA},ca={},aw=l(t=>{for(let e of t)ca[e.name]=e},"registerLayoutLoaders"),XA=l(()=>{aw([{name:"dagre",loader:l(async()=>await bt(()=>import("./dagre-RF25WEIW-DQLHj3QK.js"),__vite__mapDeps([2,3,4,5,1])),"loader")}])},"registerDefaultLayoutLoaders");XA();var h4=l(async(t,e)=>{if(!(t.layoutAlgorithm in ca))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=ca[t.layoutAlgorithm];return(await r.loader()).render(t,e,GA,{algorithm:r.algorithm})},"render"),c4=l((t="",{fallback:e="dagre"}={})=>{if(t in ca)return t;if(e in ca)return D.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),ZA=y2(Object.keys,Object),QA=ZA,KA=Object.prototype,JA=KA.hasOwnProperty;function ow(t){if(!Fs(t))return QA(t);var e=[];for(var r in Object(t))JA.call(t,r)&&r!="constructor"&&e.push(r);return e}l(ow,"baseKeys");var tL=ow,eL=Rr(De,"DataView"),Rh=eL,rL=Rr(De,"Promise"),Ph=rL,iL=Rr(De,"Set"),zh=iL,nL=Rr(De,"WeakMap"),qh=nL,up="[object Map]",aL="[object Object]",dp="[object Promise]",pp="[object Set]",fp="[object WeakMap]",gp="[object DataView]",oL=Nr(Rh),sL=Nr(oa),lL=Nr(Ph),hL=Nr(zh),cL=Nr(qh),xr=Ji;(Rh&&xr(new Rh(new ArrayBuffer(1)))!=gp||oa&&xr(new oa)!=up||Ph&&xr(Ph.resolve())!=dp||zh&&xr(new zh)!=pp||qh&&xr(new qh)!=fp)&&(xr=l(function(t){var e=Ji(t),r=e==aL?t.constructor:void 0,i=r?Nr(r):"";if(i)switch(i){case oL:return gp;case sL:return up;case lL:return dp;case hL:return pp;case cL:return fp}return e},"getTag"));var uL=xr,dL="[object Map]",pL="[object Set]",fL=Object.prototype,gL=fL.hasOwnProperty;function sw(t){if(t==null)return!0;if(Es(t)&&(Ho(t)||typeof t=="string"||typeof t.splice=="function"||yu(t)||xu(t)||Wo(t)))return!t.length;var e=uL(t);if(e==dL||e==pL)return!t.size;if(Fs(t))return!tL(t).length;for(var r in t)if(gL.call(t,r))return!1;return!0}l(sw,"isEmpty");var mp=sw,lw="c4",mL=l(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),yL=l(async()=>{let{diagram:t}=await bt(()=>import("./c4Diagram-ET6I6IV7-BNFgJyRp.js"),__vite__mapDeps([6,7,1]));return{id:lw,diagram:t}},"loader"),xL={id:lw,detector:mL,loader:yL},bL=xL,hw="flowchart",CL=l((t,e)=>{var r,i;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},"detector"),kL=l(async()=>{let{diagram:t}=await bt(()=>import("./flowDiagram-7QVFXBRT-C9gei6Gy.js"),__vite__mapDeps([8,9,1]));return{id:hw,diagram:t}},"loader"),wL={id:hw,detector:CL,loader:kL},_L=wL,cw="flowchart-v2",vL=l((t,e)=>{var r,i,n;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t))},"detector"),$L=l(async()=>{let{diagram:t}=await bt(()=>import("./flowDiagram-7QVFXBRT-C9gei6Gy.js"),__vite__mapDeps([8,9,1]));return{id:cw,diagram:t}},"loader"),SL={id:cw,detector:vL,loader:$L},TL=SL,uw="er",ML=l(t=>/^\s*erDiagram/.test(t),"detector"),BL=l(async()=>{let{diagram:t}=await bt(()=>import("./erDiagram-YH7IYH2C-CvJVDZw0.js"),__vite__mapDeps([10,3,4,5,1]));return{id:uw,diagram:t}},"loader"),AL={id:uw,detector:ML,loader:BL},LL=AL,dw="gitGraph",FL=l(t=>/^\s*gitGraph/.test(t),"detector"),EL=l(async()=>{let{diagram:t}=await bt(()=>import("./gitGraphDiagram-H7KF5RUN-Bs9RhFjp.js"),__vite__mapDeps([11,12,13,14,1,5]));return{id:dw,diagram:t}},"loader"),DL={id:dw,detector:FL,loader:EL},OL=DL,pw="gantt",IL=l(t=>/^\s*gantt/.test(t),"detector"),NL=l(async()=>{let{diagram:t}=await bt(()=>import("./ganttDiagram-7KUJEIIK-z0epYagr.js"),__vite__mapDeps([15,1]));return{id:pw,diagram:t}},"loader"),RL={id:pw,detector:IL,loader:NL},PL=RL,fw="info",zL=l(t=>/^\s*info/.test(t),"detector"),qL=l(async()=>{let{diagram:t}=await bt(()=>import("./infoDiagram-FIZOUH6F-ilmyoO8V.js"),__vite__mapDeps([16,14,1,5]));return{id:fw,diagram:t}},"loader"),jL={id:fw,detector:zL,loader:qL},gw="pie",WL=l(t=>/^\s*pie/.test(t),"detector"),HL=l(async()=>{let{diagram:t}=await bt(()=>import("./pieDiagram-AYPHHONI-uVjjVM_v.js"),__vite__mapDeps([17,13,14,1,5]));return{id:gw,diagram:t}},"loader"),UL={id:gw,detector:WL,loader:HL},mw="quadrantChart",YL=l(t=>/^\s*quadrantChart/.test(t),"detector"),VL=l(async()=>{let{diagram:t}=await bt(()=>import("./quadrantDiagram-QXTGSWY2-CS1mU8cb.js"),__vite__mapDeps([18,1]));return{id:mw,diagram:t}},"loader"),GL={id:mw,detector:YL,loader:VL},XL=GL,yw="xychart",ZL=l(t=>/^\s*xychart-beta/.test(t),"detector"),QL=l(async()=>{let{diagram:t}=await bt(()=>import("./xychartDiagram-A2DIST7P-CzMGxN-o.js"),__vite__mapDeps([19,1]));return{id:yw,diagram:t}},"loader"),KL={id:yw,detector:ZL,loader:QL},JL=KL,xw="requirement",tF=l(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),eF=l(async()=>{let{diagram:t}=await bt(()=>import("./requirementDiagram-5YXTYXBB-DStLcefr.js"),__vite__mapDeps([20,3,4,5,1]));return{id:xw,diagram:t}},"loader"),rF={id:xw,detector:tF,loader:eF},iF=rF,bw="sequence",nF=l(t=>/^\s*sequenceDiagram/.test(t),"detector"),aF=l(async()=>{let{diagram:t}=await bt(()=>import("./sequenceDiagram-EUUTCHHZ-R1f2ZA2q.js"),__vite__mapDeps([21,12,7,1]));return{id:bw,diagram:t}},"loader"),oF={id:bw,detector:nF,loader:aF},sF=oF,Cw="class",lF=l((t,e)=>{var r;return((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},"detector"),hF=l(async()=>{let{diagram:t}=await bt(()=>import("./classDiagram-QKCJ6K63-DBNNwKBH.js"),__vite__mapDeps([22,23,9,1]));return{id:Cw,diagram:t}},"loader"),cF={id:Cw,detector:lF,loader:hF},uF=cF,kw="classDiagram",dF=l((t,e)=>{var r;return/^\s*classDiagram/.test(t)&&((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},"detector"),pF=l(async()=>{let{diagram:t}=await bt(()=>import("./classDiagram-v2-2JHJIACG-DBNNwKBH.js"),__vite__mapDeps([24,23,9,1]));return{id:kw,diagram:t}},"loader"),fF={id:kw,detector:dF,loader:pF},gF=fF,ww="state",mF=l((t,e)=>{var r;return((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},"detector"),yF=l(async()=>{let{diagram:t}=await bt(()=>import("./stateDiagram-U67EPTRE-BB3e-_OH.js"),__vite__mapDeps([25,26,9,3,4,5,1]));return{id:ww,diagram:t}},"loader"),xF={id:ww,detector:mF,loader:yF},bF=xF,_w="stateDiagram",CF=l((t,e)=>{var r;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),kF=l(async()=>{let{diagram:t}=await bt(()=>import("./stateDiagram-v2-HMOQ2HEA-DXdcnrKt.js"),__vite__mapDeps([27,26,9,1]));return{id:_w,diagram:t}},"loader"),wF={id:_w,detector:CF,loader:kF},_F=wF,vw="journey",vF=l(t=>/^\s*journey/.test(t),"detector"),$F=l(async()=>{let{diagram:t}=await bt(()=>import("./journeyDiagram-CDK7QRCM-BjVGhPMG.js"),__vite__mapDeps([28,7,1]));return{id:vw,diagram:t}},"loader"),SF={id:vw,detector:vF,loader:$F},TF=SF,MF=l((t,e,r)=>{D.debug(`rendering svg for syntax error -`);let i=CS(e),n=i.append("g");i.attr("viewBox","0 0 2412 512"),Vp(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),$w={draw:MF},BF=$w,AF={db:{},renderer:$w,parser:{parse:l(()=>{},"parse")}},LF=AF,Sw="flowchart-elk",FF=l((t,e={})=>{var r;return/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(e.layout="elk",!0):!1},"detector"),EF=l(async()=>{let{diagram:t}=await bt(()=>import("./flowDiagram-7QVFXBRT-C9gei6Gy.js"),__vite__mapDeps([8,9,1]));return{id:Sw,diagram:t}},"loader"),DF={id:Sw,detector:FF,loader:EF},OF=DF,Tw="timeline",IF=l(t=>/^\s*timeline/.test(t),"detector"),NF=l(async()=>{let{diagram:t}=await bt(()=>import("./timeline-definition-2YBW2SKD-8bQuZ9fq.js"),__vite__mapDeps([29,1]));return{id:Tw,diagram:t}},"loader"),RF={id:Tw,detector:IF,loader:NF},PF=RF,Mw="mindmap",zF=l(t=>/^\s*mindmap/.test(t),"detector"),qF=l(async()=>{let{diagram:t}=await bt(()=>import("./mindmap-definition-55KDPWGP-C2dFjkp8.js"),__vite__mapDeps([30,31,1]));return{id:Mw,diagram:t}},"loader"),jF={id:Mw,detector:zF,loader:qF},WF=jF,Bw="kanban",HF=l(t=>/^\s*kanban/.test(t),"detector"),UF=l(async()=>{let{diagram:t}=await bt(()=>import("./kanban-definition-NEOEHSGR-ARa-ak4N.js"),__vite__mapDeps([32,1]));return{id:Bw,diagram:t}},"loader"),YF={id:Bw,detector:HF,loader:UF},VF=YF,Aw="sankey",GF=l(t=>/^\s*sankey-beta/.test(t),"detector"),XF=l(async()=>{let{diagram:t}=await bt(()=>import("./sankeyDiagram-T6MWQN27-CVeTlx1p.js"),__vite__mapDeps([33,1]));return{id:Aw,diagram:t}},"loader"),ZF={id:Aw,detector:GF,loader:XF},QF=ZF,Lw="packet",KF=l(t=>/^\s*packet-beta/.test(t),"detector"),JF=l(async()=>{let{diagram:t}=await bt(()=>import("./diagram-D46ISNHH-CFlEkXUR.js"),__vite__mapDeps([34,13,14,1,5]));return{id:Lw,diagram:t}},"loader"),t6={id:Lw,detector:KF,loader:JF},Fw="block",e6=l(t=>/^\s*block-beta/.test(t),"detector"),r6=l(async()=>{let{diagram:t}=await bt(()=>import("./blockDiagram-56QMO3LT-N14aEGl0.js"),__vite__mapDeps([35,4,5,1]));return{id:Fw,diagram:t}},"loader"),i6={id:Fw,detector:e6,loader:r6},n6=i6,Ew="architecture",a6=l(t=>/^\s*architecture/.test(t),"detector"),o6=l(async()=>{let{diagram:t}=await bt(()=>import("./architectureDiagram-MJF3Q7TB-CnqN317O.js"),__vite__mapDeps([36,31,12,13,14,1,5]));return{id:Ew,diagram:t}},"loader"),s6={id:Ew,detector:a6,loader:o6},l6=s6,yp=!1,js=l(()=>{yp||(yp=!0,bo("error",LF,t=>t.toLowerCase().trim()==="error"),bo("---",{db:{clear:l(()=>{},"clear")},styles:{},renderer:{draw:l(()=>{},"draw")},parser:{parse:l(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:l(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),vp(bL,VF,gF,uF,LL,PL,jL,UL,iF,sF,OF,TL,_L,WF,PF,OL,_F,bF,TF,XL,QF,t6,JL,n6,l6))},"addDiagrams"),h6=l(async()=>{D.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(Ii).map(async([e,{detector:r,loader:i}])=>{if(i)try{bl(e)}catch{try{let{diagram:n,id:a}=await i();bo(a,n,r)}catch(n){throw D.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete Ii[e],n}}}))).filter(e=>e.status==="rejected");if(t.length>0){D.error(`Failed to load ${t.length} external diagrams`);for(let e of t)D.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),Dw="comm",Ow="rule",Iw="decl",c6="@import",u6="@keyframes",d6="@layer",Nw=Math.abs,Wu=String.fromCharCode;function Hu(t){return t.trim()}l(Hu,"trim");function Rn(t,e,r){return t.replace(e,r)}l(Rn,"replace");function Rw(t,e,r){return t.indexOf(e,r)}l(Rw,"indexof");function Vi(t,e){return t.charCodeAt(e)|0}l(Vi,"charat");function Dr(t,e,r){return t.slice(e,r)}l(Dr,"substr");function Ce(t){return t.length}l(Ce,"strlen");function Pw(t){return t.length}l(Pw,"sizeof");function Tn(t,e){return e.push(t),t}l(Tn,"append");var Ws=1,Gi=1,zw=0,ye=0,Mt=0,on="";function Hs(t,e,r,i,n,a,s,o){return{value:t,root:e,parent:r,type:i,props:n,children:a,line:Ws,column:Gi,length:s,return:"",siblings:o}}l(Hs,"node");function qw(){return Mt}l(qw,"char");function jw(){return Mt=ye>0?Vi(on,--ye):0,Gi--,Mt===10&&(Gi=1,Ws--),Mt}l(jw,"prev");function ge(){return Mt=ye2||Xi(Mt)>3?"":" "}l(Uw,"whitespace");function Yw(t,e){for(;--e&&ge()&&!(Mt<48||Mt>102||Mt>57&&Mt<65||Mt>70&&Mt<97););return Sa(t,Pn()+(e<6&&qe()==32&&ge()==32))}l(Yw,"escaping");function ts(t){for(;ge();)switch(Mt){case t:return ye;case 34:case 39:t!==34&&t!==39&&ts(Mt);break;case 40:t===41&&ts(t);break;case 92:ge();break}return ye}l(ts,"delimiter");function Vw(t,e){for(;ge()&&t+Mt!==57&&!(t+Mt===84&&qe()===47););return"/*"+Sa(e,ye-1)+"*"+Wu(t===47?t:ge())}l(Vw,"commenter");function Gw(t){for(;!Xi(qe());)ge();return Sa(t,ye)}l(Gw,"identifier");function Xw(t){return Hw(zn("",null,null,null,[""],t=Ww(t),0,[0],t))}l(Xw,"compile");function zn(t,e,r,i,n,a,s,o,h){for(var c=0,u=0,p=s,d=0,f=0,g=0,m=1,x=1,y=1,b=0,C="",_=n,w=a,v=i,S=C;x;)switch(g=b,b=ge()){case 40:if(g!=108&&Vi(S,p-1)==58){Rw(S+=Rn(go(b),"&","&\f"),"&\f",Nw(c?o[c-1]:0))!=-1&&(y=-1);break}case 34:case 39:case 91:S+=go(b);break;case 9:case 10:case 13:case 32:S+=Uw(g);break;case 92:S+=Yw(Pn()-1,7);continue;case 47:switch(qe()){case 42:case 47:Tn(Zw(Vw(ge(),Pn()),e,r,h),h),(Xi(g||1)==5||Xi(qe()||1)==5)&&Ce(S)&&Dr(S,-1,void 0)!==" "&&(S+=" ");break;default:S+="/"}break;case 123*m:o[c++]=Ce(S)*y;case 125*m:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+u:y==-1&&(S=Rn(S,/\f/g,"")),f>0&&(Ce(S)-p||m===0&&g===47)&&Tn(f>32?Wh(S+";",i,r,p-1,h):Wh(Rn(S," ","")+";",i,r,p-2,h),h);break;case 59:S+=";";default:if(Tn(v=jh(S,e,r,c,u,n,o,C,_=[],w=[],p,a),a),b===123)if(u===0)zn(S,e,v,v,_,a,p,o,w);else switch(d===99&&Vi(S,3)===110?100:d){case 100:case 108:case 109:case 115:zn(t,v,v,i&&Tn(jh(t,v,v,0,0,n,o,C,n,_=[],p,w),w),n,w,p,o,i?_:w);break;default:zn(S,v,v,v,[""],w,0,o,w)}}c=u=f=0,m=y=1,C=S="",p=s;break;case 58:p=1+Ce(S),f=g;default:if(m<1){if(b==123)--m;else if(b==125&&m++==0&&jw()==125)continue}switch(S+=Wu(b),b*m){case 38:y=u>0?1:(S+="\f",-1);break;case 44:o[c++]=(Ce(S)-1)*y,y=1;break;case 64:qe()===45&&(S+=go(ge())),d=qe(),u=p=Ce(C=S+=Gw(Pn())),b++;break;case 45:g===45&&Ce(S)==2&&(m=0)}}return a}l(zn,"parse");function jh(t,e,r,i,n,a,s,o,h,c,u,p){for(var d=n-1,f=n===0?a:[""],g=Pw(f),m=0,x=0,y=0;m0?f[b]+" "+C:Rn(C,/&\f/g,f[b])))&&(h[y++]=_);return Hs(t,e,r,n===0?Ow:o,h,c,u,p)}l(jh,"ruleset");function Zw(t,e,r,i){return Hs(t,e,r,Dw,Wu(qw()),Dr(t,2,-2),0,i)}l(Zw,"comment");function Wh(t,e,r,i,n){return Hs(t,e,r,Iw,Dr(t,0,i),Dr(t,i+1,-1),i,n)}l(Wh,"declaration");function es(t,e){for(var r="",i=0;iMath.abs(i-e.x)*h){let p=r.y{D.warn("abc88 cutPathAtIntersect",t,e);let r=[],i=t[0],n=!1;return t.forEach(a=>{if(D.info("abc88 checking point",a,e),!FA(e,a)&&!n){let s=EA(e,i,a);D.debug("abc88 inside",a,i,s),D.debug("abc88 intersection",s,e);let o=!1;r.forEach(h=>{o=o||h.x===s.x&&h.y===s.y}),r.some(h=>h.x===s.x&&h.y===s.y)?D.warn("abc88 no intersect",s,r):r.push(s),n=!0}else D.warn("abc88 outside",a,i),i=a,n||r.push(a)}),D.debug("returning points",r),r},"cutPathAtIntersect");function nw(t){let e=[],r=[];for(let i=1;i5&&Math.abs(a.y-n.y)>5||n.y===a.y&&a.x===s.x&&Math.abs(a.x-n.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(i))}return{cornerPoints:e,cornerPointPositions:r}}l(nw,"extractCornerPoints");var cp=l(function(t,e,r){let i=e.x-t.x,n=e.y-t.y,a=Math.sqrt(i*i+n*n),s=r/a;return{x:e.x-s*i,y:e.y-s*n}},"findAdjacentPoint"),DA=l(function(t){let{cornerPointPositions:e}=nw(t),r=[];for(let i=0;i10&&Math.abs(a.y-n.y)>=10){D.debug("Corner point fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));let f=5;s.x===o.x?d={x:c<0?o.x-f+p:o.x+f-p,y:u<0?o.y-p:o.y+p}:d={x:c<0?o.x-p:o.x+p,y:u<0?o.y-f+p:o.y+f-p}}else D.debug("Corner point skipping fixing",Math.abs(a.x-n.x),Math.abs(a.y-n.y));r.push(d,h)}else r.push(t[i]);return r},"fixCorners"),OA=l(function(t,e,r,i,n,a,s){let{handDrawnSeed:o}=mt(),h=e.points,c=!1,u=n;var p=a;p.intersect&&u.intersect&&(h=h.slice(1,e.points.length-1),h.unshift(u.intersect(h[0])),D.debug("Last point APA12",e.start,"-->",e.end,h[h.length-1],p,p.intersect(h[h.length-1])),h.push(p.intersect(h[h.length-1]))),e.toCluster&&(D.info("to cluster abc88",r.get(e.toCluster)),h=hp(e.points,r.get(e.toCluster).node),c=!0),e.fromCluster&&(D.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(h,null,2)),h=hp(h.reverse(),r.get(e.fromCluster).node).reverse(),c=!0);let d=h.filter(S=>!Number.isNaN(S.y));d=DA(d);let f=Wc;e.curve&&(f=e.curve);let{x:g,y:m}=TA(e),x=ry().x(g).y(m).curve(f),y;switch(e.thickness){case"normal":y="edge-thickness-normal";break;case"thick":y="edge-thickness-thick";break;case"invisible":y="edge-thickness-invisible";break;default:y="edge-thickness-normal"}switch(e.pattern){case"solid":y+=" edge-pattern-solid";break;case"dotted":y+=" edge-pattern-dotted";break;case"dashed":y+=" edge-pattern-dashed";break;default:y+=" edge-pattern-solid"}let b,C=x(d),_=Array.isArray(e.style)?e.style:[e.style];if(e.look==="handDrawn"){let S=V.svg(t);Object.assign([],d);let N=S.path(C,{roughness:.3,seed:o});y+=" transition",b=ft(N).select("path").attr("id",e.id).attr("class"," "+y+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((O,T)=>O+";"+T,""):"");let P=b.attr("d");b.attr("d",P),t.node().appendChild(b.node())}else b=t.append("path").attr("d",C).attr("id",e.id).attr("class"," "+y+(e.classes?" "+e.classes:"")).attr("style",_?_.reduce((S,N)=>S+";"+N,""):"");let w="";(mt().flowchart.arrowMarkerAbsolute||mt().state.arrowMarkerAbsolute)&&(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,w=w.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),D.info("arrowTypeStart",e.arrowTypeStart),D.info("arrowTypeEnd",e.arrowTypeEnd),MA(b,e,w,s,i);let v={};return c&&(v.updatedPath=h),v.originalPath=e.points,v},"insertEdge"),IA=l((t,e,r,i)=>{e.forEach(n=>{YA[n](t,r,i)})},"insertMarkers"),NA=l((t,e,r)=>{D.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),RA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),PA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),zA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),qA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),jA=l((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),WA=l((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),HA=l((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),UA=l((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),YA={extension:NA,composition:RA,aggregation:PA,dependency:zA,lollipop:qA,point:jA,circle:WA,cross:HA,barb:UA},VA=IA,GA={common:Qi,getConfig:ve,insertCluster:sA,insertEdge:OA,insertEdgeLabel:AA,insertMarkers:VA,insertNode:iw,interpolateToCurve:Cu,labelHelper:ot,log:D,positionEdgeLabel:LA},ca={},aw=l(t=>{for(let e of t)ca[e.name]=e},"registerLayoutLoaders"),XA=l(()=>{aw([{name:"dagre",loader:l(async()=>await bt(()=>import("./dagre-RF25WEIW-BdWTFDvt.js"),__vite__mapDeps([2,3,4,5,1])),"loader")}])},"registerDefaultLayoutLoaders");XA();var h4=l(async(t,e)=>{if(!(t.layoutAlgorithm in ca))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=ca[t.layoutAlgorithm];return(await r.loader()).render(t,e,GA,{algorithm:r.algorithm})},"render"),c4=l((t="",{fallback:e="dagre"}={})=>{if(t in ca)return t;if(e in ca)return D.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),ZA=y2(Object.keys,Object),QA=ZA,KA=Object.prototype,JA=KA.hasOwnProperty;function ow(t){if(!Fs(t))return QA(t);var e=[];for(var r in Object(t))JA.call(t,r)&&r!="constructor"&&e.push(r);return e}l(ow,"baseKeys");var tL=ow,eL=Rr(De,"DataView"),Rh=eL,rL=Rr(De,"Promise"),Ph=rL,iL=Rr(De,"Set"),zh=iL,nL=Rr(De,"WeakMap"),qh=nL,up="[object Map]",aL="[object Object]",dp="[object Promise]",pp="[object Set]",fp="[object WeakMap]",gp="[object DataView]",oL=Nr(Rh),sL=Nr(oa),lL=Nr(Ph),hL=Nr(zh),cL=Nr(qh),xr=Ji;(Rh&&xr(new Rh(new ArrayBuffer(1)))!=gp||oa&&xr(new oa)!=up||Ph&&xr(Ph.resolve())!=dp||zh&&xr(new zh)!=pp||qh&&xr(new qh)!=fp)&&(xr=l(function(t){var e=Ji(t),r=e==aL?t.constructor:void 0,i=r?Nr(r):"";if(i)switch(i){case oL:return gp;case sL:return up;case lL:return dp;case hL:return pp;case cL:return fp}return e},"getTag"));var uL=xr,dL="[object Map]",pL="[object Set]",fL=Object.prototype,gL=fL.hasOwnProperty;function sw(t){if(t==null)return!0;if(Es(t)&&(Ho(t)||typeof t=="string"||typeof t.splice=="function"||yu(t)||xu(t)||Wo(t)))return!t.length;var e=uL(t);if(e==dL||e==pL)return!t.size;if(Fs(t))return!tL(t).length;for(var r in t)if(gL.call(t,r))return!1;return!0}l(sw,"isEmpty");var mp=sw,lw="c4",mL=l(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),yL=l(async()=>{let{diagram:t}=await bt(()=>import("./c4Diagram-ET6I6IV7--j3Nd1UH.js"),__vite__mapDeps([6,7,1]));return{id:lw,diagram:t}},"loader"),xL={id:lw,detector:mL,loader:yL},bL=xL,hw="flowchart",CL=l((t,e)=>{var r,i;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},"detector"),kL=l(async()=>{let{diagram:t}=await bt(()=>import("./flowDiagram-7QVFXBRT-BIcEk3bs.js"),__vite__mapDeps([8,9,1]));return{id:hw,diagram:t}},"loader"),wL={id:hw,detector:CL,loader:kL},_L=wL,cw="flowchart-v2",vL=l((t,e)=>{var r,i,n;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t))},"detector"),$L=l(async()=>{let{diagram:t}=await bt(()=>import("./flowDiagram-7QVFXBRT-BIcEk3bs.js"),__vite__mapDeps([8,9,1]));return{id:cw,diagram:t}},"loader"),SL={id:cw,detector:vL,loader:$L},TL=SL,uw="er",ML=l(t=>/^\s*erDiagram/.test(t),"detector"),BL=l(async()=>{let{diagram:t}=await bt(()=>import("./erDiagram-YH7IYH2C-CPwWV2BW.js"),__vite__mapDeps([10,3,4,5,1]));return{id:uw,diagram:t}},"loader"),AL={id:uw,detector:ML,loader:BL},LL=AL,dw="gitGraph",FL=l(t=>/^\s*gitGraph/.test(t),"detector"),EL=l(async()=>{let{diagram:t}=await bt(()=>import("./gitGraphDiagram-H7KF5RUN-B6poAQyD.js"),__vite__mapDeps([11,12,13,14,1,5]));return{id:dw,diagram:t}},"loader"),DL={id:dw,detector:FL,loader:EL},OL=DL,pw="gantt",IL=l(t=>/^\s*gantt/.test(t),"detector"),NL=l(async()=>{let{diagram:t}=await bt(()=>import("./ganttDiagram-7KUJEIIK-W0Au2zDy.js"),__vite__mapDeps([15,1]));return{id:pw,diagram:t}},"loader"),RL={id:pw,detector:IL,loader:NL},PL=RL,fw="info",zL=l(t=>/^\s*info/.test(t),"detector"),qL=l(async()=>{let{diagram:t}=await bt(()=>import("./infoDiagram-FIZOUH6F-C_AmforY.js"),__vite__mapDeps([16,14,1,5]));return{id:fw,diagram:t}},"loader"),jL={id:fw,detector:zL,loader:qL},gw="pie",WL=l(t=>/^\s*pie/.test(t),"detector"),HL=l(async()=>{let{diagram:t}=await bt(()=>import("./pieDiagram-AYPHHONI-C1JbmVVW.js"),__vite__mapDeps([17,13,14,1,5]));return{id:gw,diagram:t}},"loader"),UL={id:gw,detector:WL,loader:HL},mw="quadrantChart",YL=l(t=>/^\s*quadrantChart/.test(t),"detector"),VL=l(async()=>{let{diagram:t}=await bt(()=>import("./quadrantDiagram-QXTGSWY2-DPuJFkfD.js"),__vite__mapDeps([18,1]));return{id:mw,diagram:t}},"loader"),GL={id:mw,detector:YL,loader:VL},XL=GL,yw="xychart",ZL=l(t=>/^\s*xychart-beta/.test(t),"detector"),QL=l(async()=>{let{diagram:t}=await bt(()=>import("./xychartDiagram-A2DIST7P-B6HN7R0f.js"),__vite__mapDeps([19,1]));return{id:yw,diagram:t}},"loader"),KL={id:yw,detector:ZL,loader:QL},JL=KL,xw="requirement",tF=l(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),eF=l(async()=>{let{diagram:t}=await bt(()=>import("./requirementDiagram-5YXTYXBB-BnDHjXpP.js"),__vite__mapDeps([20,3,4,5,1]));return{id:xw,diagram:t}},"loader"),rF={id:xw,detector:tF,loader:eF},iF=rF,bw="sequence",nF=l(t=>/^\s*sequenceDiagram/.test(t),"detector"),aF=l(async()=>{let{diagram:t}=await bt(()=>import("./sequenceDiagram-EUUTCHHZ-AO_Upkqm.js"),__vite__mapDeps([21,12,7,1]));return{id:bw,diagram:t}},"loader"),oF={id:bw,detector:nF,loader:aF},sF=oF,Cw="class",lF=l((t,e)=>{var r;return((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},"detector"),hF=l(async()=>{let{diagram:t}=await bt(()=>import("./classDiagram-QKCJ6K63-BZ7-cCSN.js"),__vite__mapDeps([22,23,9,1]));return{id:Cw,diagram:t}},"loader"),cF={id:Cw,detector:lF,loader:hF},uF=cF,kw="classDiagram",dF=l((t,e)=>{var r;return/^\s*classDiagram/.test(t)&&((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},"detector"),pF=l(async()=>{let{diagram:t}=await bt(()=>import("./classDiagram-v2-2JHJIACG-BZ7-cCSN.js"),__vite__mapDeps([24,23,9,1]));return{id:kw,diagram:t}},"loader"),fF={id:kw,detector:dF,loader:pF},gF=fF,ww="state",mF=l((t,e)=>{var r;return((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},"detector"),yF=l(async()=>{let{diagram:t}=await bt(()=>import("./stateDiagram-U67EPTRE-DeLrTsN_.js"),__vite__mapDeps([25,26,9,3,4,5,1]));return{id:ww,diagram:t}},"loader"),xF={id:ww,detector:mF,loader:yF},bF=xF,_w="stateDiagram",CF=l((t,e)=>{var r;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),kF=l(async()=>{let{diagram:t}=await bt(()=>import("./stateDiagram-v2-HMOQ2HEA-BYkEsrTR.js"),__vite__mapDeps([27,26,9,1]));return{id:_w,diagram:t}},"loader"),wF={id:_w,detector:CF,loader:kF},_F=wF,vw="journey",vF=l(t=>/^\s*journey/.test(t),"detector"),$F=l(async()=>{let{diagram:t}=await bt(()=>import("./journeyDiagram-CDK7QRCM-CTvAVRi5.js"),__vite__mapDeps([28,7,1]));return{id:vw,diagram:t}},"loader"),SF={id:vw,detector:vF,loader:$F},TF=SF,MF=l((t,e,r)=>{D.debug(`rendering svg for syntax error +`);let i=CS(e),n=i.append("g");i.attr("viewBox","0 0 2412 512"),Vp(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),$w={draw:MF},BF=$w,AF={db:{},renderer:$w,parser:{parse:l(()=>{},"parse")}},LF=AF,Sw="flowchart-elk",FF=l((t,e={})=>{var r;return/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(e.layout="elk",!0):!1},"detector"),EF=l(async()=>{let{diagram:t}=await bt(()=>import("./flowDiagram-7QVFXBRT-BIcEk3bs.js"),__vite__mapDeps([8,9,1]));return{id:Sw,diagram:t}},"loader"),DF={id:Sw,detector:FF,loader:EF},OF=DF,Tw="timeline",IF=l(t=>/^\s*timeline/.test(t),"detector"),NF=l(async()=>{let{diagram:t}=await bt(()=>import("./timeline-definition-2YBW2SKD-ilS793TO.js"),__vite__mapDeps([29,1]));return{id:Tw,diagram:t}},"loader"),RF={id:Tw,detector:IF,loader:NF},PF=RF,Mw="mindmap",zF=l(t=>/^\s*mindmap/.test(t),"detector"),qF=l(async()=>{let{diagram:t}=await bt(()=>import("./mindmap-definition-55KDPWGP-Daj9DC6D.js"),__vite__mapDeps([30,31,1]));return{id:Mw,diagram:t}},"loader"),jF={id:Mw,detector:zF,loader:qF},WF=jF,Bw="kanban",HF=l(t=>/^\s*kanban/.test(t),"detector"),UF=l(async()=>{let{diagram:t}=await bt(()=>import("./kanban-definition-NEOEHSGR-5O3xWlFd.js"),__vite__mapDeps([32,1]));return{id:Bw,diagram:t}},"loader"),YF={id:Bw,detector:HF,loader:UF},VF=YF,Aw="sankey",GF=l(t=>/^\s*sankey-beta/.test(t),"detector"),XF=l(async()=>{let{diagram:t}=await bt(()=>import("./sankeyDiagram-T6MWQN27-GOwLKKBv.js"),__vite__mapDeps([33,1]));return{id:Aw,diagram:t}},"loader"),ZF={id:Aw,detector:GF,loader:XF},QF=ZF,Lw="packet",KF=l(t=>/^\s*packet-beta/.test(t),"detector"),JF=l(async()=>{let{diagram:t}=await bt(()=>import("./diagram-D46ISNHH-DeqATXeW.js"),__vite__mapDeps([34,13,14,1,5]));return{id:Lw,diagram:t}},"loader"),t6={id:Lw,detector:KF,loader:JF},Fw="block",e6=l(t=>/^\s*block-beta/.test(t),"detector"),r6=l(async()=>{let{diagram:t}=await bt(()=>import("./blockDiagram-56QMO3LT-6GZyQprR.js"),__vite__mapDeps([35,4,5,1]));return{id:Fw,diagram:t}},"loader"),i6={id:Fw,detector:e6,loader:r6},n6=i6,Ew="architecture",a6=l(t=>/^\s*architecture/.test(t),"detector"),o6=l(async()=>{let{diagram:t}=await bt(()=>import("./architectureDiagram-MJF3Q7TB-wPHZlX4-.js"),__vite__mapDeps([36,31,12,13,14,1,5]));return{id:Ew,diagram:t}},"loader"),s6={id:Ew,detector:a6,loader:o6},l6=s6,yp=!1,js=l(()=>{yp||(yp=!0,bo("error",LF,t=>t.toLowerCase().trim()==="error"),bo("---",{db:{clear:l(()=>{},"clear")},styles:{},renderer:{draw:l(()=>{},"draw")},parser:{parse:l(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:l(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),vp(bL,VF,gF,uF,LL,PL,jL,UL,iF,sF,OF,TL,_L,WF,PF,OL,_F,bF,TF,XL,QF,t6,JL,n6,l6))},"addDiagrams"),h6=l(async()=>{D.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(Ii).map(async([e,{detector:r,loader:i}])=>{if(i)try{bl(e)}catch{try{let{diagram:n,id:a}=await i();bo(a,n,r)}catch(n){throw D.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete Ii[e],n}}}))).filter(e=>e.status==="rejected");if(t.length>0){D.error(`Failed to load ${t.length} external diagrams`);for(let e of t)D.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),Dw="comm",Ow="rule",Iw="decl",c6="@import",u6="@keyframes",d6="@layer",Nw=Math.abs,Wu=String.fromCharCode;function Hu(t){return t.trim()}l(Hu,"trim");function Rn(t,e,r){return t.replace(e,r)}l(Rn,"replace");function Rw(t,e,r){return t.indexOf(e,r)}l(Rw,"indexof");function Vi(t,e){return t.charCodeAt(e)|0}l(Vi,"charat");function Dr(t,e,r){return t.slice(e,r)}l(Dr,"substr");function Ce(t){return t.length}l(Ce,"strlen");function Pw(t){return t.length}l(Pw,"sizeof");function Tn(t,e){return e.push(t),t}l(Tn,"append");var Ws=1,Gi=1,zw=0,ye=0,Mt=0,on="";function Hs(t,e,r,i,n,a,s,o){return{value:t,root:e,parent:r,type:i,props:n,children:a,line:Ws,column:Gi,length:s,return:"",siblings:o}}l(Hs,"node");function qw(){return Mt}l(qw,"char");function jw(){return Mt=ye>0?Vi(on,--ye):0,Gi--,Mt===10&&(Gi=1,Ws--),Mt}l(jw,"prev");function ge(){return Mt=ye2||Xi(Mt)>3?"":" "}l(Uw,"whitespace");function Yw(t,e){for(;--e&&ge()&&!(Mt<48||Mt>102||Mt>57&&Mt<65||Mt>70&&Mt<97););return Sa(t,Pn()+(e<6&&qe()==32&&ge()==32))}l(Yw,"escaping");function ts(t){for(;ge();)switch(Mt){case t:return ye;case 34:case 39:t!==34&&t!==39&&ts(Mt);break;case 40:t===41&&ts(t);break;case 92:ge();break}return ye}l(ts,"delimiter");function Vw(t,e){for(;ge()&&t+Mt!==57&&!(t+Mt===84&&qe()===47););return"/*"+Sa(e,ye-1)+"*"+Wu(t===47?t:ge())}l(Vw,"commenter");function Gw(t){for(;!Xi(qe());)ge();return Sa(t,ye)}l(Gw,"identifier");function Xw(t){return Hw(zn("",null,null,null,[""],t=Ww(t),0,[0],t))}l(Xw,"compile");function zn(t,e,r,i,n,a,s,o,h){for(var c=0,u=0,p=s,d=0,f=0,g=0,m=1,x=1,y=1,b=0,C="",_=n,w=a,v=i,S=C;x;)switch(g=b,b=ge()){case 40:if(g!=108&&Vi(S,p-1)==58){Rw(S+=Rn(go(b),"&","&\f"),"&\f",Nw(c?o[c-1]:0))!=-1&&(y=-1);break}case 34:case 39:case 91:S+=go(b);break;case 9:case 10:case 13:case 32:S+=Uw(g);break;case 92:S+=Yw(Pn()-1,7);continue;case 47:switch(qe()){case 42:case 47:Tn(Zw(Vw(ge(),Pn()),e,r,h),h),(Xi(g||1)==5||Xi(qe()||1)==5)&&Ce(S)&&Dr(S,-1,void 0)!==" "&&(S+=" ");break;default:S+="/"}break;case 123*m:o[c++]=Ce(S)*y;case 125*m:case 59:case 0:switch(b){case 0:case 125:x=0;case 59+u:y==-1&&(S=Rn(S,/\f/g,"")),f>0&&(Ce(S)-p||m===0&&g===47)&&Tn(f>32?Wh(S+";",i,r,p-1,h):Wh(Rn(S," ","")+";",i,r,p-2,h),h);break;case 59:S+=";";default:if(Tn(v=jh(S,e,r,c,u,n,o,C,_=[],w=[],p,a),a),b===123)if(u===0)zn(S,e,v,v,_,a,p,o,w);else switch(d===99&&Vi(S,3)===110?100:d){case 100:case 108:case 109:case 115:zn(t,v,v,i&&Tn(jh(t,v,v,0,0,n,o,C,n,_=[],p,w),w),n,w,p,o,i?_:w);break;default:zn(S,v,v,v,[""],w,0,o,w)}}c=u=f=0,m=y=1,C=S="",p=s;break;case 58:p=1+Ce(S),f=g;default:if(m<1){if(b==123)--m;else if(b==125&&m++==0&&jw()==125)continue}switch(S+=Wu(b),b*m){case 38:y=u>0?1:(S+="\f",-1);break;case 44:o[c++]=(Ce(S)-1)*y,y=1;break;case 64:qe()===45&&(S+=go(ge())),d=qe(),u=p=Ce(C=S+=Gw(Pn())),b++;break;case 45:g===45&&Ce(S)==2&&(m=0)}}return a}l(zn,"parse");function jh(t,e,r,i,n,a,s,o,h,c,u,p){for(var d=n-1,f=n===0?a:[""],g=Pw(f),m=0,x=0,y=0;m0?f[b]+" "+C:Rn(C,/&\f/g,f[b])))&&(h[y++]=_);return Hs(t,e,r,n===0?Ow:o,h,c,u,p)}l(jh,"ruleset");function Zw(t,e,r,i){return Hs(t,e,r,Dw,Wu(qw()),Dr(t,2,-2),0,i)}l(Zw,"comment");function Wh(t,e,r,i,n){return Hs(t,e,r,Iw,Dr(t,0,i),Dr(t,i+1,-1),i,n)}l(Wh,"declaration");function es(t,e){for(var r="",i=0;i{xp.forEach(t=>{t()}),xp=[]},"attachFunctions"),g6=l(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function t_(t){let e=t.match(wp);if(!e)return{text:t,metadata:{}};let r=TT(e[1],{schema:ST})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:t.slice(e[0].length),metadata:i}}l(t_,"extractFrontMatter");var m6=l(t=>t.replace(/\r\n?/g,` `).replace(/<(\w+)([^>]*)>/g,(e,r,i)=>"<"+r+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),y6=l(t=>{let{text:e,metadata:r}=t_(t),{displayMode:i,title:n,config:a={}}=r;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:n,config:a,text:e}},"processFrontmatter"),x6=l(t=>{let e=Be.detectInit(t)??{},r=Be.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:i})=>i==="wrap"):(r==null?void 0:r.type)==="wrap"&&(e.wrap=!0),{text:GB(t),directive:e}},"processDirectives");function Uu(t){let e=m6(t),r=y6(e),i=x6(r.text),n=$u(r.config,i.directive);return t=g6(i.text),{code:t,title:r.title,config:n}}l(Uu,"preprocessDiagram");function e_(t){let e=new TextEncoder().encode(t),r=Array.from(e,i=>String.fromCodePoint(i)).join("");return btoa(r)}l(e_,"toBase64");var b6=5e4,C6="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",k6="sandbox",w6="loose",_6="http://www.w3.org/2000/svg",v6="http://www.w3.org/1999/xlink",$6="http://www.w3.org/1999/xhtml",S6="100%",T6="100%",M6="border:0;margin:0;",B6="margin:0",A6="allow-top-navigation-by-user-activation allow-popups",L6='The "iframe" tag is not supported by your browser.',F6=["foreignobject"],E6=["dominant-baseline"];function Yu(t){let e=Uu(t);return yo(),kv(e.config??{}),e}l(Yu,"processAndSetConfigs");async function r_(t,e){js();try{let{code:r,config:i}=Yu(t);return{diagramType:(await n_(r)).type,config:i}}catch(r){if(e!=null&&e.suppressErrors)return!1;throw r}}l(r_,"parse");var bp=l((t,e,r=[])=>` .${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),D6=l((t,e=new Map)=>{var i;let r="";if(t.themeCSS!==void 0&&(r+=` diff --git a/version/6.0/assets/mindmap-definition-55KDPWGP-C2dFjkp8.js b/version/6.0/assets/mindmap-definition-55KDPWGP-Daj9DC6D.js similarity index 99% rename from version/6.0/assets/mindmap-definition-55KDPWGP-C2dFjkp8.js rename to version/6.0/assets/mindmap-definition-55KDPWGP-Daj9DC6D.js index 06a44a5bd..23432b8a1 100644 --- a/version/6.0/assets/mindmap-definition-55KDPWGP-C2dFjkp8.js +++ b/version/6.0/assets/mindmap-definition-55KDPWGP-Daj9DC6D.js @@ -1,4 +1,4 @@ -import{F as pt}from"./chunk-PWCSEZZ4-XkcOxT8z.js";import{m as T,t as Z,W as st,ar as et,D as it,q as mt,bb as Lt,aW as Nt,aT as At,b7 as Tt,b8 as It,b9 as Ot,ba as Dt,aL as at,r as wt}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var ut=at((O,x)=>{T(function(p,A){typeof O=="object"&&typeof x=="object"?x.exports=A():typeof define=="function"&&define.amd?define([],A):typeof O=="object"?O.layoutBase=A():p.layoutBase=A()},"webpackUniversalModuleDefinition")(O,function(){return function(p){var A={};function y(i){if(A[i])return A[i].exports;var t=A[i]={i,l:!1,exports:{}};return p[i].call(t.exports,t,t.exports,y),t.l=!0,t.exports}return T(y,"__webpack_require__"),y.m=p,y.c=A,y.i=function(i){return i},y.d=function(i,t,e){y.o(i,t)||Object.defineProperty(i,t,{configurable:!1,enumerable:!0,get:e})},y.n=function(i){var t=i&&i.__esModule?T(function(){return i.default},"getDefault"):T(function(){return i},"getModuleExports");return y.d(t,"a",t),t},y.o=function(i,t){return Object.prototype.hasOwnProperty.call(i,t)},y.p="",y(y.s=26)}([function(p,A,y){function i(){}T(i,"LayoutConstants"),i.QUALITY=1,i.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,i.DEFAULT_INCREMENTAL=!1,i.DEFAULT_ANIMATION_ON_LAYOUT=!0,i.DEFAULT_ANIMATION_DURING_LAYOUT=!1,i.DEFAULT_ANIMATION_PERIOD=50,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,i.DEFAULT_GRAPH_MARGIN=15,i.NODE_DIMENSIONS_INCLUDE_LABELS=!1,i.SIMPLE_NODE_SIZE=40,i.SIMPLE_NODE_HALF_SIZE=i.SIMPLE_NODE_SIZE/2,i.EMPTY_COMPOUND_NODE_SIZE=40,i.MIN_EDGE_LENGTH=1,i.WORLD_BOUNDARY=1e6,i.INITIAL_WORLD_BOUNDARY=i.WORLD_BOUNDARY/1e3,i.WORLD_CENTER_X=1200,i.WORLD_CENTER_Y=900,p.exports=i},function(p,A,y){var i=y(2),t=y(8),e=y(9);function r(h,s,f){i.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=s}T(r,"LEdge"),r.prototype=Object.create(i.prototype);for(var a in i)r[a]=i[a];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(h,s){for(var f=this.getOtherEnd(h),o=s.getGraphManager().getRoot();;){if(f.getOwner()==s)return f;if(f.getOwner()==o)break;f=f.getOwner().getParent()}return null},r.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=t.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},p.exports=r},function(p,A,y){function i(t){this.vGraphObject=t}T(i,"LGraphObject"),p.exports=i},function(p,A,y){var i=y(2),t=y(10),e=y(13),r=y(0),a=y(16),h=y(4);function s(o,u,c,E){c==null&&E==null&&(E=u),i.call(this,E),o.graphManager!=null&&(o=o.graphManager),this.estimatedSize=t.MIN_VALUE,this.inclusionTreeDepth=t.MAX_VALUE,this.vGraphObject=E,this.edges=[],this.graphManager=o,c!=null&&u!=null?this.rect=new e(u.x,u.y,c.width,c.height):this.rect=new e}T(s,"LNode"),s.prototype=Object.create(i.prototype);for(var f in i)s[f]=i[f];s.prototype.getEdges=function(){return this.edges},s.prototype.getChild=function(){return this.child},s.prototype.getOwner=function(){return this.owner},s.prototype.getWidth=function(){return this.rect.width},s.prototype.setWidth=function(o){this.rect.width=o},s.prototype.getHeight=function(){return this.rect.height},s.prototype.setHeight=function(o){this.rect.height=o},s.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},s.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},s.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},s.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},s.prototype.getRect=function(){return this.rect},s.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},s.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},s.prototype.setRect=function(o,u){this.rect.x=o.x,this.rect.y=o.y,this.rect.width=u.width,this.rect.height=u.height},s.prototype.setCenter=function(o,u){this.rect.x=o-this.rect.width/2,this.rect.y=u-this.rect.height/2},s.prototype.setLocation=function(o,u){this.rect.x=o,this.rect.y=u},s.prototype.moveBy=function(o,u){this.rect.x+=o,this.rect.y+=u},s.prototype.getEdgeListToNode=function(o){var u=[],c=this;return c.edges.forEach(function(E){if(E.target==o){if(E.source!=c)throw"Incorrect edge source!";u.push(E)}}),u},s.prototype.getEdgesBetween=function(o){var u=[],c=this;return c.edges.forEach(function(E){if(!(E.source==c||E.target==c))throw"Incorrect edge source and/or target";(E.target==o||E.source==o)&&u.push(E)}),u},s.prototype.getNeighborsList=function(){var o=new Set,u=this;return u.edges.forEach(function(c){if(c.source==u)o.add(c.target);else{if(c.target!=u)throw"Incorrect incidency!";o.add(c.source)}}),o},s.prototype.withChildren=function(){var o=new Set,u,c;if(o.add(this),this.child!=null)for(var E=this.child.getNodes(),v=0;vu&&(this.rect.x-=(this.labelWidth-u)/2,this.setWidth(this.labelWidth)),this.labelHeight>c&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-c)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-c),this.setHeight(this.labelHeight))}}},s.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==t.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},s.prototype.transform=function(o){var u=this.rect.x;u>r.WORLD_BOUNDARY?u=r.WORLD_BOUNDARY:u<-r.WORLD_BOUNDARY&&(u=-r.WORLD_BOUNDARY);var c=this.rect.y;c>r.WORLD_BOUNDARY?c=r.WORLD_BOUNDARY:c<-r.WORLD_BOUNDARY&&(c=-r.WORLD_BOUNDARY);var E=new h(u,c),v=o.inverseTransformPoint(E);this.setLocation(v.x,v.y)},s.prototype.getLeft=function(){return this.rect.x},s.prototype.getRight=function(){return this.rect.x+this.rect.width},s.prototype.getTop=function(){return this.rect.y},s.prototype.getBottom=function(){return this.rect.y+this.rect.height},s.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},p.exports=s},function(p,A,y){function i(t,e){t==null&&e==null?(this.x=0,this.y=0):(this.x=t,this.y=e)}T(i,"PointD"),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(t){this.x=t},i.prototype.setY=function(t){this.y=t},i.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},p.exports=i},function(p,A,y){var i=y(2),t=y(10),e=y(0),r=y(6),a=y(3),h=y(1),s=y(13),f=y(12),o=y(11);function u(E,v,_){i.call(this,_),this.estimatedSize=t.MIN_VALUE,this.margin=e.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=E,v!=null&&v instanceof r?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}T(u,"LGraph"),u.prototype=Object.create(i.prototype);for(var c in i)u[c]=i[c];u.prototype.getNodes=function(){return this.nodes},u.prototype.getEdges=function(){return this.edges},u.prototype.getGraphManager=function(){return this.graphManager},u.prototype.getParent=function(){return this.parent},u.prototype.getLeft=function(){return this.left},u.prototype.getRight=function(){return this.right},u.prototype.getTop=function(){return this.top},u.prototype.getBottom=function(){return this.bottom},u.prototype.isConnected=function(){return this.isConnected},u.prototype.add=function(E,v,_){if(v==null&&_==null){var L=E;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(L)>-1)throw"Node already in graph!";return L.owner=this,this.getNodes().push(L),L}else{var I=E;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(_)>-1))throw"Source or target not in graph!";if(!(v.owner==_.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=_.owner?null:(I.source=v,I.target=_,I.isInterGraph=!1,this.getEdges().push(I),v.edges.push(I),_!=v&&_.edges.push(I),I)}},u.prototype.remove=function(E){var v=E;if(E instanceof a){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var _=v.edges.slice(),L,I=_.length,g=0;g-1&&d>-1))throw"Source and/or target doesn't know this edge!";L.source.edges.splice(n,1),L.target!=L.source&&L.target.edges.splice(d,1);var D=L.source.owner.getEdges().indexOf(L);if(D==-1)throw"Not in owner's edge list!";L.source.owner.getEdges().splice(D,1)}},u.prototype.updateLeftTop=function(){for(var E=t.MAX_VALUE,v=t.MAX_VALUE,_,L,I,g=this.getNodes(),D=g.length,n=0;n_&&(E=_),v>L&&(v=L)}return E==t.MAX_VALUE?null:(g[0].getParent().paddingLeft!=null?I=g[0].getParent().paddingLeft:I=this.margin,this.left=v-I,this.top=E-I,new f(this.left,this.top))},u.prototype.updateBounds=function(E){for(var v=t.MAX_VALUE,_=-t.MAX_VALUE,L=t.MAX_VALUE,I=-t.MAX_VALUE,g,D,n,d,l,m=this.nodes,N=m.length,w=0;wg&&(v=g),_n&&(L=n),Ig&&(v=g),_n&&(L=n),I=this.nodes.length){var N=0;_.forEach(function(w){w.owner==E&&N++}),N==this.nodes.length&&(this.isConnected=!0)}},p.exports=u},function(p,A,y){var i,t=y(1);function e(r){i=y(5),this.layout=r,this.graphs=[],this.edges=[]}T(e,"LGraphManager"),e.prototype.addRoot=function(){var r=this.layout.newGraph(),a=this.layout.newNode(null),h=this.add(r,a);return this.setRootGraph(h),this.rootGraph},e.prototype.add=function(r,a,h,s,f){if(h==null&&s==null&&f==null){if(r==null)throw"Graph is null!";if(a==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(a.child!=null)throw"Already has a child!";return r.parent=a,a.child=r,r}else{f=h,s=a,h=r;var o=s.getOwner(),u=f.getOwner();if(!(o!=null&&o.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(u!=null&&u.getGraphManager()==this))throw"Target not in this graph mgr!";if(o==u)return h.isInterGraph=!1,o.add(h,s,f);if(h.isInterGraph=!0,h.source=s,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},e.prototype.remove=function(r){if(r instanceof i){var a=r;if(a.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(a==this.rootGraph||a.parent!=null&&a.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(a.getEdges());for(var s,f=h.length,o=0;o=r.getRight()?a[0]+=Math.min(r.getX()-e.getX(),e.getRight()-r.getRight()):r.getX()<=e.getX()&&r.getRight()>=e.getRight()&&(a[0]+=Math.min(e.getX()-r.getX(),r.getRight()-e.getRight())),e.getY()<=r.getY()&&e.getBottom()>=r.getBottom()?a[1]+=Math.min(r.getY()-e.getY(),e.getBottom()-r.getBottom()):r.getY()<=e.getY()&&r.getBottom()>=e.getBottom()&&(a[1]+=Math.min(e.getY()-r.getY(),r.getBottom()-e.getBottom()));var f=Math.abs((r.getCenterY()-e.getCenterY())/(r.getCenterX()-e.getCenterX()));r.getCenterY()===e.getCenterY()&&r.getCenterX()===e.getCenterX()&&(f=1);var o=f*a[0],u=a[1]/f;a[0]o)return a[0]=h,a[1]=c,a[2]=f,a[3]=m,!1;if(sf)return a[0]=u,a[1]=s,a[2]=d,a[3]=o,!1;if(hf?(a[0]=v,a[1]=_,R=!0):(a[0]=E,a[1]=c,R=!0):F===M&&(h>f?(a[0]=u,a[1]=c,R=!0):(a[0]=L,a[1]=_,R=!0)),-P===M?f>h?(a[2]=l,a[3]=m,G=!0):(a[2]=d,a[3]=n,G=!0):P===M&&(f>h?(a[2]=D,a[3]=n,G=!0):(a[2]=N,a[3]=m,G=!0)),R&&G)return!1;if(h>f?s>o?(b=this.getCardinalDirection(F,M,4),S=this.getCardinalDirection(P,M,2)):(b=this.getCardinalDirection(-F,M,3),S=this.getCardinalDirection(-P,M,1)):s>o?(b=this.getCardinalDirection(-F,M,1),S=this.getCardinalDirection(-P,M,3)):(b=this.getCardinalDirection(F,M,2),S=this.getCardinalDirection(P,M,4)),!R)switch(b){case 1:Y=c,U=h+-g/M,a[0]=U,a[1]=Y;break;case 2:U=L,Y=s+I*M,a[0]=U,a[1]=Y;break;case 3:Y=_,U=h+g/M,a[0]=U,a[1]=Y;break;case 4:U=v,Y=s+-I*M,a[0]=U,a[1]=Y;break}if(!G)switch(S){case 1:B=n,X=f+-C/M,a[2]=X,a[3]=B;break;case 2:X=N,B=o+w*M,a[2]=X,a[3]=B;break;case 3:B=m,X=f+C/M,a[2]=X,a[3]=B;break;case 4:X=l,B=o+-w*M,a[2]=X,a[3]=B;break}}return!1},t.getCardinalDirection=function(e,r,a){return e>r?a:1+a%4},t.getIntersection=function(e,r,a,h){if(h==null)return this.getIntersection2(e,r,a);var s=e.x,f=e.y,o=r.x,u=r.y,c=a.x,E=a.y,v=h.x,_=h.y,L=void 0,I=void 0,g=void 0,D=void 0,n=void 0,d=void 0,l=void 0,m=void 0,N=void 0;return g=u-f,n=s-o,l=o*f-s*u,D=_-E,d=c-v,m=v*E-c*_,N=g*d-D*n,N===0?null:(L=(n*m-d*l)/N,I=(D*l-g*m)/N,new i(L,I))},t.angleOfVector=function(e,r,a,h){var s=void 0;return e!==a?(s=Math.atan((h-r)/(a-e)),a0?1:t<0?-1:0},i.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},i.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},p.exports=i},function(p,A,y){function i(){}T(i,"Integer"),i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,p.exports=i},function(p,A,y){var i=function(){function s(f,o){for(var u=0;u"u"?"undefined":i(e);return e==null||r!="object"&&r!="function"},p.exports=t},function(p,A,y){function i(c){if(Array.isArray(c)){for(var E=0,v=Array(c.length);E0&&E;){for(g.push(n[0]);g.length>0&&E;){var d=g[0];g.splice(0,1),I.add(d);for(var l=d.getEdges(),L=0;L-1&&n.splice(C,1)}I=new Set,D=new Map}}return c},u.prototype.createDummyNodesForBendpoints=function(c){for(var E=[],v=c.source,_=this.graphManager.calcLowestCommonAncestor(c.source,c.target),L=0;L0){for(var _=this.edgeToDummyNodes.get(v),L=0;L<_.length;L++){var I=_[L],g=new s(I.getCenterX(),I.getCenterY()),D=v.bendpoints.get(L);D.x=g.x,D.y=g.y,I.getOwner().remove(I)}this.graphManager.add(v,v.source,v.target)}}},u.transform=function(c,E,v,_){if(v!=null&&_!=null){var L=E;if(c<=50){var I=E/v;L-=(E-I)/50*(50-c)}else{var g=E*_;L+=(g-E)/50*(c-50)}return L}else{var D,n;return c<=50?(D=9*E/500,n=E/10):(D=9*E/50,n=-8*E),D*c+n}},u.findCenterOfTree=function(c){var E=[];E=E.concat(c);var v=[],_=new Map,L=!1,I=null;(E.length==1||E.length==2)&&(L=!0,I=E[0]);for(var g=0;g=0&&E.splice(m,1);var N=D.getNeighborsList();N.forEach(function(R){if(v.indexOf(R)<0){var G=_.get(R),F=G-1;F==1&&d.push(R),_.set(R,F)}})}v=v.concat(d),(E.length==1||E.length==2)&&(L=!0,I=E[0])}return I},u.prototype.setGraphManager=function(c){this.graphManager=c},p.exports=u},function(p,A,y){function i(){}T(i,"RandomSeed"),i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},p.exports=i},function(p,A,y){var i=y(4);function t(e,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}T(t,"Transform"),t.prototype.getWorldOrgX=function(){return this.lworldOrgX},t.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},t.prototype.getWorldOrgY=function(){return this.lworldOrgY},t.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},t.prototype.getWorldExtX=function(){return this.lworldExtX},t.prototype.setWorldExtX=function(e){this.lworldExtX=e},t.prototype.getWorldExtY=function(){return this.lworldExtY},t.prototype.setWorldExtY=function(e){this.lworldExtY=e},t.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},t.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},t.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},t.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},t.prototype.getDeviceExtX=function(){return this.ldeviceExtX},t.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},t.prototype.getDeviceExtY=function(){return this.ldeviceExtY},t.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},t.prototype.transformX=function(e){var r=0,a=this.lworldExtX;return a!=0&&(r=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/a),r},t.prototype.transformY=function(e){var r=0,a=this.lworldExtY;return a!=0&&(r=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/a),r},t.prototype.inverseTransformX=function(e){var r=0,a=this.ldeviceExtX;return a!=0&&(r=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/a),r},t.prototype.inverseTransformY=function(e){var r=0,a=this.ldeviceExtY;return a!=0&&(r=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/a),r},t.prototype.inverseTransformPoint=function(e){var r=new i(this.inverseTransformX(e.x),this.inverseTransformY(e.y));return r},p.exports=t},function(p,A,y){function i(o){if(Array.isArray(o)){for(var u=0,c=Array(o.length);ue.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*e.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(o-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-e.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT_INCREMENTAL):(o>e.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(e.COOLING_ADAPTATION_FACTOR,1-(o-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*(1-e.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},s.prototype.calcSpringForces=function(){for(var o=this.getAllEdges(),u,c=0;c0&&arguments[0]!==void 0?arguments[0]:!0,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,c,E,v,_,L=this.getAllNodes(),I;if(this.useFRGridVariant)for(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),I=new Set,c=0;cg||I>g)&&(o.gravitationForceX=-this.gravityConstant*v,o.gravitationForceY=-this.gravityConstant*_)):(g=u.getEstimatedSize()*this.compoundGravityRangeFactor,(L>g||I>g)&&(o.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,o.gravitationForceY=-this.gravityConstant*_*this.compoundGravityConstant))},s.prototype.isConverged=function(){var o,u=!1;return this.totalIterations>this.maxIterations/3&&(u=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),o=this.totalDisplacement=L.length||g>=L[0].length)){for(var D=0;Dh},"_defaultCompareFunction")}]),a}();p.exports=r},function(p,A,y){var i=function(){function r(a,h){for(var s=0;s2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;t(this,r),this.sequence1=a,this.sequence2=h,this.match_score=s,this.mismatch_penalty=f,this.gap_penalty=o,this.iMax=a.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var u=0;u=0;a--){var h=this.listeners[a];h.event===e&&h.callback===r&&this.listeners.splice(a,1)}},t.emit=function(e,r){for(var a=0;a{T(function(p,A){typeof O=="object"&&typeof x=="object"?x.exports=A(ut()):typeof define=="function"&&define.amd?define(["layout-base"],A):typeof O=="object"?O.coseBase=A(ut()):p.coseBase=A(p.layoutBase)},"webpackUniversalModuleDefinition")(O,function(p){return function(A){var y={};function i(t){if(y[t])return y[t].exports;var e=y[t]={i:t,l:!1,exports:{}};return A[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return T(i,"__webpack_require__"),i.m=A,i.c=y,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?T(function(){return t.default},"getDefault"):T(function(){return t},"getModuleExports");return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(A,y){A.exports=p},function(A,y,i){var t=i(0).FDLayoutConstants;function e(){}T(e,"CoSEConstants");for(var r in t)e[r]=t[r];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=t.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TREE_REDUCTION_ON_INCREMENTAL=!1,A.exports=e},function(A,y,i){var t=i(0).FDLayoutEdge;function e(a,h,s){t.call(this,a,h,s)}T(e,"CoSEEdge"),e.prototype=Object.create(t.prototype);for(var r in t)e[r]=t[r];A.exports=e},function(A,y,i){var t=i(0).LGraph;function e(a,h,s){t.call(this,a,h,s)}T(e,"CoSEGraph"),e.prototype=Object.create(t.prototype);for(var r in t)e[r]=t[r];A.exports=e},function(A,y,i){var t=i(0).LGraphManager;function e(a){t.call(this,a)}T(e,"CoSEGraphManager"),e.prototype=Object.create(t.prototype);for(var r in t)e[r]=t[r];A.exports=e},function(A,y,i){var t=i(0).FDLayoutNode,e=i(0).IMath;function r(h,s,f,o){t.call(this,h,s,f,o)}T(r,"CoSENode"),r.prototype=Object.create(t.prototype);for(var a in t)r[a]=t[a];r.prototype.move=function(){var h=this.graphManager.getLayout();this.displacementX=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*e.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},r.prototype.propogateDisplacementToChildren=function(h,s){for(var f=this.getChild().getNodes(),o,u=0;u0)this.positionNodesRadially(l);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),d=this.nodesWithGravity.filter(function(w){return n.has(w)});this.graphManager.setAllNodesToApplyGravitation(d),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},g.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),d=this.nodesWithGravity.filter(function(N){return n.has(N)});this.graphManager.setAllNodesToApplyGravitation(d),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var l=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(l,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},g.prototype.getPositionsData=function(){for(var n=this.graphManager.getAllNodes(),d={},l=0;l1){var R;for(R=0;Rm&&(m=Math.floor(C.y)),w=Math.floor(C.x+s.DEFAULT_COMPONENT_SEPERATION)}this.transform(new c(o.WORLD_CENTER_X-C.x/2,o.WORLD_CENTER_Y-C.y/2))},g.radialLayout=function(n,d,l){var m=Math.max(this.maxDiagonalInTree(n),s.DEFAULT_RADIAL_SEPARATION);g.branchRadialLayout(d,null,0,359,0,m);var N=L.calculateBounds(n),w=new I;w.setDeviceOrgX(N.getMinX()),w.setDeviceOrgY(N.getMinY()),w.setWorldOrgX(l.x),w.setWorldOrgY(l.y);for(var C=0;C1;){var B=X[0];X.splice(0,1);var k=M.indexOf(B);k>=0&&M.splice(k,1),U--,b--}d!=null?Y=(M.indexOf(X[0])+1)%U:Y=0;for(var j=Math.abs(m-l)/b,H=Y;S!=b;H=++H%U){var W=M[H].getOtherEnd(n);if(W!=d){var rt=(l+S*j)%360,K=(rt+j)%360;g.branchRadialLayout(W,n,rt,K,N+w,w),S++}}},g.maxDiagonalInTree=function(n){for(var d=v.MIN_VALUE,l=0;ld&&(d=N)}return d},g.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},g.prototype.groupZeroDegreeMembers=function(){var n=this,d={};this.memberGroups={},this.idToDummyNode={};for(var l=[],m=this.graphManager.getAllNodes(),N=0;N"u"&&(d[R]=[]),d[R]=d[R].concat(w)}Object.keys(d).forEach(function(G){if(d[G].length>1){var F="DummyCompound_"+G;n.memberGroups[F]=d[G];var P=d[G][0].getParent(),M=new a(n.graphManager);M.id=F,M.paddingLeft=P.paddingLeft||0,M.paddingRight=P.paddingRight||0,M.paddingBottom=P.paddingBottom||0,M.paddingTop=P.paddingTop||0,n.idToDummyNode[F]=M;var b=n.getGraphManager().add(n.newGraph(),M),S=P.getChild();S.add(M);for(var U=0;U=0;n--){var d=this.compoundOrder[n],l=d.id,m=d.paddingLeft,N=d.paddingTop;this.adjustLocations(this.tiledMemberPack[l],d.rect.x,d.rect.y,m,N)}},g.prototype.repopulateZeroDegreeMembers=function(){var n=this,d=this.tiledZeroDegreePack;Object.keys(d).forEach(function(l){var m=n.idToDummyNode[l],N=m.paddingLeft,w=m.paddingTop;n.adjustLocations(d[l],m.rect.x,m.rect.y,N,w)})},g.prototype.getToBeTiled=function(n){var d=n.id;if(this.toBeTiled[d]!=null)return this.toBeTiled[d];var l=n.getChild();if(l==null)return this.toBeTiled[d]=!1,!1;for(var m=l.getNodes(),N=0;N0)return this.toBeTiled[d]=!1,!1;if(w.getChild()==null){this.toBeTiled[w.id]=!1;continue}if(!this.getToBeTiled(w))return this.toBeTiled[d]=!1,!1}return this.toBeTiled[d]=!0,!0},g.prototype.getNodeDegree=function(n){for(var d=n.id,l=n.getEdges(),m=0,N=0;NG&&(G=P.rect.height)}l+=G+n.verticalPadding}},g.prototype.tileCompoundMembers=function(n,d){var l=this;this.tiledMemberPack=[],Object.keys(n).forEach(function(m){var N=d[m];l.tiledMemberPack[m]=l.tileNodes(n[m],N.paddingLeft+N.paddingRight),N.rect.width=l.tiledMemberPack[m].width,N.rect.height=l.tiledMemberPack[m].height})},g.prototype.tileNodes=function(n,d){var l=s.TILING_PADDING_VERTICAL,m=s.TILING_PADDING_HORIZONTAL,N={rows:[],rowWidth:[],rowHeight:[],width:0,height:d,verticalPadding:l,horizontalPadding:m};n.sort(function(R,G){return R.rect.width*R.rect.height>G.rect.width*G.rect.height?-1:R.rect.width*R.rect.height0&&(C+=n.horizontalPadding),n.rowWidth[l]=C,n.width0&&(R+=n.verticalPadding);var G=0;R>n.rowHeight[l]&&(G=n.rowHeight[l],n.rowHeight[l]=R,G=n.rowHeight[l]-G),n.height+=G,n.rows[l].push(d)},g.prototype.getShortestRowIndex=function(n){for(var d=-1,l=Number.MAX_VALUE,m=0;ml&&(d=m,l=n.rowWidth[m]);return d},g.prototype.canAddHorizontal=function(n,d,l){var m=this.getShortestRowIndex(n);if(m<0)return!0;var N=n.rowWidth[m];if(N+n.horizontalPadding+d<=n.width)return!0;var w=0;n.rowHeight[m]0&&(w=l+n.verticalPadding-n.rowHeight[m]);var C;n.width-N>=d+n.horizontalPadding?C=(n.height+w)/(N+d+n.horizontalPadding):C=(n.height+w)/n.width,w=l+n.verticalPadding;var R;return n.widthw&&d!=l){m.splice(-1,1),n.rows[l].push(N),n.rowWidth[d]=n.rowWidth[d]-w,n.rowWidth[l]=n.rowWidth[l]+w,n.width=n.rowWidth[instance.getLongestRowIndex(n)];for(var C=Number.MIN_VALUE,R=0;RC&&(C=m[R].height);d>0&&(C+=n.verticalPadding);var G=n.rowHeight[d]+n.rowHeight[l];n.rowHeight[d]=C,n.rowHeight[l]0)for(var S=N;S<=w;S++)b[0]+=this.grid[S][C-1].length+this.grid[S][C].length-1;if(w0)for(var S=C;S<=R;S++)b[3]+=this.grid[N-1][S].length+this.grid[N][S].length-1;for(var U=v.MAX_VALUE,Y,X,B=0;B{T(function(p,A){typeof O=="object"&&typeof x=="object"?x.exports=A(dt()):typeof define=="function"&&define.amd?define(["cose-base"],A):typeof O=="object"?O.cytoscapeCoseBilkent=A(dt()):p.cytoscapeCoseBilkent=A(p.coseBase)},"webpackUniversalModuleDefinition")(O,function(p){return function(A){var y={};function i(t){if(y[t])return y[t].exports;var e=y[t]={i:t,l:!1,exports:{}};return A[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return T(i,"__webpack_require__"),i.m=A,i.c=y,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?T(function(){return t.default},"getDefault"):T(function(){return t},"getModuleExports");return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1)}([function(A,y){A.exports=p},function(A,y,i){var t=i(0).layoutBase.LayoutConstants,e=i(0).layoutBase.FDLayoutConstants,r=i(0).CoSEConstants,a=i(0).CoSELayout,h=i(0).CoSENode,s=i(0).layoutBase.PointD,f=i(0).layoutBase.DimensionD,o={ready:T(function(){},"ready"),stop:T(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(_,L){var I={};for(var g in _)I[g]=_[g];for(var g in L)I[g]=L[g];return I}T(u,"extend");function c(_){this.options=u(o,_),E(this.options)}T(c,"_CoSELayout");var E=T(function(_){_.nodeRepulsion!=null&&(r.DEFAULT_REPULSION_STRENGTH=e.DEFAULT_REPULSION_STRENGTH=_.nodeRepulsion),_.idealEdgeLength!=null&&(r.DEFAULT_EDGE_LENGTH=e.DEFAULT_EDGE_LENGTH=_.idealEdgeLength),_.edgeElasticity!=null&&(r.DEFAULT_SPRING_STRENGTH=e.DEFAULT_SPRING_STRENGTH=_.edgeElasticity),_.nestingFactor!=null&&(r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=e.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=_.nestingFactor),_.gravity!=null&&(r.DEFAULT_GRAVITY_STRENGTH=e.DEFAULT_GRAVITY_STRENGTH=_.gravity),_.numIter!=null&&(r.MAX_ITERATIONS=e.MAX_ITERATIONS=_.numIter),_.gravityRange!=null&&(r.DEFAULT_GRAVITY_RANGE_FACTOR=e.DEFAULT_GRAVITY_RANGE_FACTOR=_.gravityRange),_.gravityCompound!=null&&(r.DEFAULT_COMPOUND_GRAVITY_STRENGTH=e.DEFAULT_COMPOUND_GRAVITY_STRENGTH=_.gravityCompound),_.gravityRangeCompound!=null&&(r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=e.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=_.gravityRangeCompound),_.initialEnergyOnIncremental!=null&&(r.DEFAULT_COOLING_FACTOR_INCREMENTAL=e.DEFAULT_COOLING_FACTOR_INCREMENTAL=_.initialEnergyOnIncremental),_.quality=="draft"?t.QUALITY=0:_.quality=="proof"?t.QUALITY=2:t.QUALITY=1,r.NODE_DIMENSIONS_INCLUDE_LABELS=e.NODE_DIMENSIONS_INCLUDE_LABELS=t.NODE_DIMENSIONS_INCLUDE_LABELS=_.nodeDimensionsIncludeLabels,r.DEFAULT_INCREMENTAL=e.DEFAULT_INCREMENTAL=t.DEFAULT_INCREMENTAL=!_.randomize,r.ANIMATE=e.ANIMATE=t.ANIMATE=_.animate,r.TILE=_.tile,r.TILING_PADDING_VERTICAL=typeof _.tilingPaddingVertical=="function"?_.tilingPaddingVertical.call():_.tilingPaddingVertical,r.TILING_PADDING_HORIZONTAL=typeof _.tilingPaddingHorizontal=="function"?_.tilingPaddingHorizontal.call():_.tilingPaddingHorizontal},"getUserOptions");c.prototype.run=function(){var _,L,I=this.options;this.idToLNode={};var g=this.layout=new a,D=this;D.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var n=g.newGraphManager();this.gm=n;var d=this.options.eles.nodes(),l=this.options.eles.edges();this.root=n.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(d),g);for(var m=0;m0){var R;R=I.getGraphManager().add(I.newGraph(),l),this.processChildrenList(R,d,I)}}},c.prototype.stop=function(){return this.stopped=!0,this};var v=T(function(_){_("layout","cose-bilkent",c)},"register");typeof cytoscape<"u"&&v(cytoscape),A.exports=v}])})}),ot=function(){var O=T(function(I,g,D,n){for(D=D||{},n=I.length;n--;D[I[n]]=g);return D},"o"),x=[1,4],p=[1,13],A=[1,12],y=[1,15],i=[1,16],t=[1,20],e=[1,19],r=[6,7,8],a=[1,26],h=[1,24],s=[1,25],f=[6,7,11],o=[1,6,13,15,16,19,22],u=[1,33],c=[1,34],E=[1,6,7,11,13,15,16,19,22],v={trace:T(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:T(function(I,g,D,n,d,l,m){var N=l.length-1;switch(d){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",l[N].id),n.addNode(l[N-1].length,l[N].id,l[N].descr,l[N].type);break;case 16:n.getLogger().trace("Icon: ",l[N]),n.decorateNode({icon:l[N]});break;case 17:case 21:n.decorateNode({class:l[N]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",l[N].id),n.addNode(0,l[N].id,l[N].descr,l[N].type);break;case 20:n.decorateNode({icon:l[N]});break;case 25:n.getLogger().trace("node found ..",l[N-2]),this.$={id:l[N-1],descr:l[N-1],type:n.getType(l[N-2],l[N])};break;case 26:this.$={id:l[N],descr:l[N],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",l[N-3]),this.$={id:l[N-3],descr:l[N-1],type:n.getType(l[N-2],l[N])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:x},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:x},{6:p,7:[1,10],9:9,12:11,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},O(r,[2,3]),{1:[2,2]},O(r,[2,4]),O(r,[2,5]),{1:[2,6],6:p,12:21,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},{6:p,9:22,12:11,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},{6:a,7:h,10:23,11:s},O(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:t,22:e}),O(f,[2,18]),O(f,[2,19]),O(f,[2,20]),O(f,[2,21]),O(f,[2,23]),O(f,[2,24]),O(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:a,7:h,10:32,11:s},{1:[2,7],6:p,12:21,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},O(o,[2,14],{7:u,11:c}),O(E,[2,8]),O(E,[2,9]),O(E,[2,10]),O(f,[2,15]),O(f,[2,16]),O(f,[2,17]),{20:[1,35]},{21:[1,36]},O(o,[2,13],{7:u,11:c}),O(E,[2,11]),O(E,[2,12]),{21:[1,37]},O(f,[2,25]),O(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:T(function(I,g){if(g.recoverable)this.trace(I);else{var D=new Error(I);throw D.hash=g,D}},"parseError"),parse:T(function(I){var g=this,D=[0],n=[],d=[null],l=[],m=this.table,N="",w=0,C=0,R=0,G=2,F=1,P=l.slice.call(arguments,1),M=Object.create(this.lexer),b={yy:{}};for(var S in this.yy)Object.prototype.hasOwnProperty.call(this.yy,S)&&(b.yy[S]=this.yy[S]);M.setInput(I,b.yy),b.yy.lexer=M,b.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var U=M.yylloc;l.push(U);var Y=M.options&&M.options.ranges;typeof b.yy.parseError=="function"?this.parseError=b.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(V){D.length=D.length-2*V,d.length=d.length-V,l.length=l.length-V}T(X,"popStack");function B(){var V;return V=n.pop()||M.lex()||F,typeof V!="number"&&(V instanceof Array&&(n=V,V=n.pop()),V=g.symbols_[V]||V),V}T(B,"lex");for(var k,j,H,W,rt,K,Q={},J,q,gt,tt;;){if(H=D[D.length-1],this.defaultActions[H]?W=this.defaultActions[H]:((k===null||typeof k>"u")&&(k=B()),W=m[H]&&m[H][k]),typeof W>"u"||!W.length||!W[0]){var nt="";tt=[];for(J in m[H])this.terminals_[J]&&J>G&&tt.push("'"+this.terminals_[J]+"'");M.showPosition?nt="Parse error on line "+(w+1)+`: +import{F as pt}from"./chunk-PWCSEZZ4-Bl8jHf5N.js";import{m as T,t as Z,W as st,ar as et,D as it,q as mt,bb as Lt,aW as Nt,aT as At,b7 as Tt,b8 as It,b9 as Ot,ba as Dt,aL as at,r as wt}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var ut=at((O,x)=>{T(function(p,A){typeof O=="object"&&typeof x=="object"?x.exports=A():typeof define=="function"&&define.amd?define([],A):typeof O=="object"?O.layoutBase=A():p.layoutBase=A()},"webpackUniversalModuleDefinition")(O,function(){return function(p){var A={};function y(i){if(A[i])return A[i].exports;var t=A[i]={i,l:!1,exports:{}};return p[i].call(t.exports,t,t.exports,y),t.l=!0,t.exports}return T(y,"__webpack_require__"),y.m=p,y.c=A,y.i=function(i){return i},y.d=function(i,t,e){y.o(i,t)||Object.defineProperty(i,t,{configurable:!1,enumerable:!0,get:e})},y.n=function(i){var t=i&&i.__esModule?T(function(){return i.default},"getDefault"):T(function(){return i},"getModuleExports");return y.d(t,"a",t),t},y.o=function(i,t){return Object.prototype.hasOwnProperty.call(i,t)},y.p="",y(y.s=26)}([function(p,A,y){function i(){}T(i,"LayoutConstants"),i.QUALITY=1,i.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,i.DEFAULT_INCREMENTAL=!1,i.DEFAULT_ANIMATION_ON_LAYOUT=!0,i.DEFAULT_ANIMATION_DURING_LAYOUT=!1,i.DEFAULT_ANIMATION_PERIOD=50,i.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,i.DEFAULT_GRAPH_MARGIN=15,i.NODE_DIMENSIONS_INCLUDE_LABELS=!1,i.SIMPLE_NODE_SIZE=40,i.SIMPLE_NODE_HALF_SIZE=i.SIMPLE_NODE_SIZE/2,i.EMPTY_COMPOUND_NODE_SIZE=40,i.MIN_EDGE_LENGTH=1,i.WORLD_BOUNDARY=1e6,i.INITIAL_WORLD_BOUNDARY=i.WORLD_BOUNDARY/1e3,i.WORLD_CENTER_X=1200,i.WORLD_CENTER_Y=900,p.exports=i},function(p,A,y){var i=y(2),t=y(8),e=y(9);function r(h,s,f){i.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=h,this.target=s}T(r,"LEdge"),r.prototype=Object.create(i.prototype);for(var a in i)r[a]=i[a];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(h){if(this.source===h)return this.target;if(this.target===h)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(h,s){for(var f=this.getOtherEnd(h),o=s.getGraphManager().getRoot();;){if(f.getOwner()==s)return f;if(f.getOwner()==o)break;f=f.getOwner().getParent()}return null},r.prototype.updateLength=function(){var h=new Array(4);this.isOverlapingSourceAndTarget=t.getIntersection(this.target.getRect(),this.source.getRect(),h),this.isOverlapingSourceAndTarget||(this.lengthX=h[0]-h[2],this.lengthY=h[1]-h[3],Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},p.exports=r},function(p,A,y){function i(t){this.vGraphObject=t}T(i,"LGraphObject"),p.exports=i},function(p,A,y){var i=y(2),t=y(10),e=y(13),r=y(0),a=y(16),h=y(4);function s(o,u,c,E){c==null&&E==null&&(E=u),i.call(this,E),o.graphManager!=null&&(o=o.graphManager),this.estimatedSize=t.MIN_VALUE,this.inclusionTreeDepth=t.MAX_VALUE,this.vGraphObject=E,this.edges=[],this.graphManager=o,c!=null&&u!=null?this.rect=new e(u.x,u.y,c.width,c.height):this.rect=new e}T(s,"LNode"),s.prototype=Object.create(i.prototype);for(var f in i)s[f]=i[f];s.prototype.getEdges=function(){return this.edges},s.prototype.getChild=function(){return this.child},s.prototype.getOwner=function(){return this.owner},s.prototype.getWidth=function(){return this.rect.width},s.prototype.setWidth=function(o){this.rect.width=o},s.prototype.getHeight=function(){return this.rect.height},s.prototype.setHeight=function(o){this.rect.height=o},s.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},s.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},s.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},s.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},s.prototype.getRect=function(){return this.rect},s.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},s.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},s.prototype.setRect=function(o,u){this.rect.x=o.x,this.rect.y=o.y,this.rect.width=u.width,this.rect.height=u.height},s.prototype.setCenter=function(o,u){this.rect.x=o-this.rect.width/2,this.rect.y=u-this.rect.height/2},s.prototype.setLocation=function(o,u){this.rect.x=o,this.rect.y=u},s.prototype.moveBy=function(o,u){this.rect.x+=o,this.rect.y+=u},s.prototype.getEdgeListToNode=function(o){var u=[],c=this;return c.edges.forEach(function(E){if(E.target==o){if(E.source!=c)throw"Incorrect edge source!";u.push(E)}}),u},s.prototype.getEdgesBetween=function(o){var u=[],c=this;return c.edges.forEach(function(E){if(!(E.source==c||E.target==c))throw"Incorrect edge source and/or target";(E.target==o||E.source==o)&&u.push(E)}),u},s.prototype.getNeighborsList=function(){var o=new Set,u=this;return u.edges.forEach(function(c){if(c.source==u)o.add(c.target);else{if(c.target!=u)throw"Incorrect incidency!";o.add(c.source)}}),o},s.prototype.withChildren=function(){var o=new Set,u,c;if(o.add(this),this.child!=null)for(var E=this.child.getNodes(),v=0;vu&&(this.rect.x-=(this.labelWidth-u)/2,this.setWidth(this.labelWidth)),this.labelHeight>c&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-c)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-c),this.setHeight(this.labelHeight))}}},s.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==t.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},s.prototype.transform=function(o){var u=this.rect.x;u>r.WORLD_BOUNDARY?u=r.WORLD_BOUNDARY:u<-r.WORLD_BOUNDARY&&(u=-r.WORLD_BOUNDARY);var c=this.rect.y;c>r.WORLD_BOUNDARY?c=r.WORLD_BOUNDARY:c<-r.WORLD_BOUNDARY&&(c=-r.WORLD_BOUNDARY);var E=new h(u,c),v=o.inverseTransformPoint(E);this.setLocation(v.x,v.y)},s.prototype.getLeft=function(){return this.rect.x},s.prototype.getRight=function(){return this.rect.x+this.rect.width},s.prototype.getTop=function(){return this.rect.y},s.prototype.getBottom=function(){return this.rect.y+this.rect.height},s.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},p.exports=s},function(p,A,y){function i(t,e){t==null&&e==null?(this.x=0,this.y=0):(this.x=t,this.y=e)}T(i,"PointD"),i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(t){this.x=t},i.prototype.setY=function(t){this.y=t},i.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},p.exports=i},function(p,A,y){var i=y(2),t=y(10),e=y(0),r=y(6),a=y(3),h=y(1),s=y(13),f=y(12),o=y(11);function u(E,v,_){i.call(this,_),this.estimatedSize=t.MIN_VALUE,this.margin=e.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=E,v!=null&&v instanceof r?this.graphManager=v:v!=null&&v instanceof Layout&&(this.graphManager=v.graphManager)}T(u,"LGraph"),u.prototype=Object.create(i.prototype);for(var c in i)u[c]=i[c];u.prototype.getNodes=function(){return this.nodes},u.prototype.getEdges=function(){return this.edges},u.prototype.getGraphManager=function(){return this.graphManager},u.prototype.getParent=function(){return this.parent},u.prototype.getLeft=function(){return this.left},u.prototype.getRight=function(){return this.right},u.prototype.getTop=function(){return this.top},u.prototype.getBottom=function(){return this.bottom},u.prototype.isConnected=function(){return this.isConnected},u.prototype.add=function(E,v,_){if(v==null&&_==null){var L=E;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(L)>-1)throw"Node already in graph!";return L.owner=this,this.getNodes().push(L),L}else{var I=E;if(!(this.getNodes().indexOf(v)>-1&&this.getNodes().indexOf(_)>-1))throw"Source or target not in graph!";if(!(v.owner==_.owner&&v.owner==this))throw"Both owners must be this graph!";return v.owner!=_.owner?null:(I.source=v,I.target=_,I.isInterGraph=!1,this.getEdges().push(I),v.edges.push(I),_!=v&&_.edges.push(I),I)}},u.prototype.remove=function(E){var v=E;if(E instanceof a){if(v==null)throw"Node is null!";if(!(v.owner!=null&&v.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var _=v.edges.slice(),L,I=_.length,g=0;g-1&&d>-1))throw"Source and/or target doesn't know this edge!";L.source.edges.splice(n,1),L.target!=L.source&&L.target.edges.splice(d,1);var D=L.source.owner.getEdges().indexOf(L);if(D==-1)throw"Not in owner's edge list!";L.source.owner.getEdges().splice(D,1)}},u.prototype.updateLeftTop=function(){for(var E=t.MAX_VALUE,v=t.MAX_VALUE,_,L,I,g=this.getNodes(),D=g.length,n=0;n_&&(E=_),v>L&&(v=L)}return E==t.MAX_VALUE?null:(g[0].getParent().paddingLeft!=null?I=g[0].getParent().paddingLeft:I=this.margin,this.left=v-I,this.top=E-I,new f(this.left,this.top))},u.prototype.updateBounds=function(E){for(var v=t.MAX_VALUE,_=-t.MAX_VALUE,L=t.MAX_VALUE,I=-t.MAX_VALUE,g,D,n,d,l,m=this.nodes,N=m.length,w=0;wg&&(v=g),_n&&(L=n),Ig&&(v=g),_n&&(L=n),I=this.nodes.length){var N=0;_.forEach(function(w){w.owner==E&&N++}),N==this.nodes.length&&(this.isConnected=!0)}},p.exports=u},function(p,A,y){var i,t=y(1);function e(r){i=y(5),this.layout=r,this.graphs=[],this.edges=[]}T(e,"LGraphManager"),e.prototype.addRoot=function(){var r=this.layout.newGraph(),a=this.layout.newNode(null),h=this.add(r,a);return this.setRootGraph(h),this.rootGraph},e.prototype.add=function(r,a,h,s,f){if(h==null&&s==null&&f==null){if(r==null)throw"Graph is null!";if(a==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(a.child!=null)throw"Already has a child!";return r.parent=a,a.child=r,r}else{f=h,s=a,h=r;var o=s.getOwner(),u=f.getOwner();if(!(o!=null&&o.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(u!=null&&u.getGraphManager()==this))throw"Target not in this graph mgr!";if(o==u)return h.isInterGraph=!1,o.add(h,s,f);if(h.isInterGraph=!0,h.source=s,h.target=f,this.edges.indexOf(h)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(h),!(h.source!=null&&h.target!=null))throw"Edge source and/or target is null!";if(!(h.source.edges.indexOf(h)==-1&&h.target.edges.indexOf(h)==-1))throw"Edge already in source and/or target incidency list!";return h.source.edges.push(h),h.target.edges.push(h),h}},e.prototype.remove=function(r){if(r instanceof i){var a=r;if(a.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(a==this.rootGraph||a.parent!=null&&a.parent.graphManager==this))throw"Invalid parent node!";var h=[];h=h.concat(a.getEdges());for(var s,f=h.length,o=0;o=r.getRight()?a[0]+=Math.min(r.getX()-e.getX(),e.getRight()-r.getRight()):r.getX()<=e.getX()&&r.getRight()>=e.getRight()&&(a[0]+=Math.min(e.getX()-r.getX(),r.getRight()-e.getRight())),e.getY()<=r.getY()&&e.getBottom()>=r.getBottom()?a[1]+=Math.min(r.getY()-e.getY(),e.getBottom()-r.getBottom()):r.getY()<=e.getY()&&r.getBottom()>=e.getBottom()&&(a[1]+=Math.min(e.getY()-r.getY(),r.getBottom()-e.getBottom()));var f=Math.abs((r.getCenterY()-e.getCenterY())/(r.getCenterX()-e.getCenterX()));r.getCenterY()===e.getCenterY()&&r.getCenterX()===e.getCenterX()&&(f=1);var o=f*a[0],u=a[1]/f;a[0]o)return a[0]=h,a[1]=c,a[2]=f,a[3]=m,!1;if(sf)return a[0]=u,a[1]=s,a[2]=d,a[3]=o,!1;if(hf?(a[0]=v,a[1]=_,R=!0):(a[0]=E,a[1]=c,R=!0):F===M&&(h>f?(a[0]=u,a[1]=c,R=!0):(a[0]=L,a[1]=_,R=!0)),-P===M?f>h?(a[2]=l,a[3]=m,G=!0):(a[2]=d,a[3]=n,G=!0):P===M&&(f>h?(a[2]=D,a[3]=n,G=!0):(a[2]=N,a[3]=m,G=!0)),R&&G)return!1;if(h>f?s>o?(b=this.getCardinalDirection(F,M,4),S=this.getCardinalDirection(P,M,2)):(b=this.getCardinalDirection(-F,M,3),S=this.getCardinalDirection(-P,M,1)):s>o?(b=this.getCardinalDirection(-F,M,1),S=this.getCardinalDirection(-P,M,3)):(b=this.getCardinalDirection(F,M,2),S=this.getCardinalDirection(P,M,4)),!R)switch(b){case 1:Y=c,U=h+-g/M,a[0]=U,a[1]=Y;break;case 2:U=L,Y=s+I*M,a[0]=U,a[1]=Y;break;case 3:Y=_,U=h+g/M,a[0]=U,a[1]=Y;break;case 4:U=v,Y=s+-I*M,a[0]=U,a[1]=Y;break}if(!G)switch(S){case 1:B=n,X=f+-C/M,a[2]=X,a[3]=B;break;case 2:X=N,B=o+w*M,a[2]=X,a[3]=B;break;case 3:B=m,X=f+C/M,a[2]=X,a[3]=B;break;case 4:X=l,B=o+-w*M,a[2]=X,a[3]=B;break}}return!1},t.getCardinalDirection=function(e,r,a){return e>r?a:1+a%4},t.getIntersection=function(e,r,a,h){if(h==null)return this.getIntersection2(e,r,a);var s=e.x,f=e.y,o=r.x,u=r.y,c=a.x,E=a.y,v=h.x,_=h.y,L=void 0,I=void 0,g=void 0,D=void 0,n=void 0,d=void 0,l=void 0,m=void 0,N=void 0;return g=u-f,n=s-o,l=o*f-s*u,D=_-E,d=c-v,m=v*E-c*_,N=g*d-D*n,N===0?null:(L=(n*m-d*l)/N,I=(D*l-g*m)/N,new i(L,I))},t.angleOfVector=function(e,r,a,h){var s=void 0;return e!==a?(s=Math.atan((h-r)/(a-e)),a0?1:t<0?-1:0},i.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},i.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},p.exports=i},function(p,A,y){function i(){}T(i,"Integer"),i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,p.exports=i},function(p,A,y){var i=function(){function s(f,o){for(var u=0;u"u"?"undefined":i(e);return e==null||r!="object"&&r!="function"},p.exports=t},function(p,A,y){function i(c){if(Array.isArray(c)){for(var E=0,v=Array(c.length);E0&&E;){for(g.push(n[0]);g.length>0&&E;){var d=g[0];g.splice(0,1),I.add(d);for(var l=d.getEdges(),L=0;L-1&&n.splice(C,1)}I=new Set,D=new Map}}return c},u.prototype.createDummyNodesForBendpoints=function(c){for(var E=[],v=c.source,_=this.graphManager.calcLowestCommonAncestor(c.source,c.target),L=0;L0){for(var _=this.edgeToDummyNodes.get(v),L=0;L<_.length;L++){var I=_[L],g=new s(I.getCenterX(),I.getCenterY()),D=v.bendpoints.get(L);D.x=g.x,D.y=g.y,I.getOwner().remove(I)}this.graphManager.add(v,v.source,v.target)}}},u.transform=function(c,E,v,_){if(v!=null&&_!=null){var L=E;if(c<=50){var I=E/v;L-=(E-I)/50*(50-c)}else{var g=E*_;L+=(g-E)/50*(c-50)}return L}else{var D,n;return c<=50?(D=9*E/500,n=E/10):(D=9*E/50,n=-8*E),D*c+n}},u.findCenterOfTree=function(c){var E=[];E=E.concat(c);var v=[],_=new Map,L=!1,I=null;(E.length==1||E.length==2)&&(L=!0,I=E[0]);for(var g=0;g=0&&E.splice(m,1);var N=D.getNeighborsList();N.forEach(function(R){if(v.indexOf(R)<0){var G=_.get(R),F=G-1;F==1&&d.push(R),_.set(R,F)}})}v=v.concat(d),(E.length==1||E.length==2)&&(L=!0,I=E[0])}return I},u.prototype.setGraphManager=function(c){this.graphManager=c},p.exports=u},function(p,A,y){function i(){}T(i,"RandomSeed"),i.seed=1,i.x=0,i.nextDouble=function(){return i.x=Math.sin(i.seed++)*1e4,i.x-Math.floor(i.x)},p.exports=i},function(p,A,y){var i=y(4);function t(e,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}T(t,"Transform"),t.prototype.getWorldOrgX=function(){return this.lworldOrgX},t.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},t.prototype.getWorldOrgY=function(){return this.lworldOrgY},t.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},t.prototype.getWorldExtX=function(){return this.lworldExtX},t.prototype.setWorldExtX=function(e){this.lworldExtX=e},t.prototype.getWorldExtY=function(){return this.lworldExtY},t.prototype.setWorldExtY=function(e){this.lworldExtY=e},t.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},t.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},t.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},t.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},t.prototype.getDeviceExtX=function(){return this.ldeviceExtX},t.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},t.prototype.getDeviceExtY=function(){return this.ldeviceExtY},t.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},t.prototype.transformX=function(e){var r=0,a=this.lworldExtX;return a!=0&&(r=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/a),r},t.prototype.transformY=function(e){var r=0,a=this.lworldExtY;return a!=0&&(r=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/a),r},t.prototype.inverseTransformX=function(e){var r=0,a=this.ldeviceExtX;return a!=0&&(r=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/a),r},t.prototype.inverseTransformY=function(e){var r=0,a=this.ldeviceExtY;return a!=0&&(r=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/a),r},t.prototype.inverseTransformPoint=function(e){var r=new i(this.inverseTransformX(e.x),this.inverseTransformY(e.y));return r},p.exports=t},function(p,A,y){function i(o){if(Array.isArray(o)){for(var u=0,c=Array(o.length);ue.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*e.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(o-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-e.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT_INCREMENTAL):(o>e.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(e.COOLING_ADAPTATION_FACTOR,1-(o-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*(1-e.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},s.prototype.calcSpringForces=function(){for(var o=this.getAllEdges(),u,c=0;c0&&arguments[0]!==void 0?arguments[0]:!0,u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,c,E,v,_,L=this.getAllNodes(),I;if(this.useFRGridVariant)for(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),I=new Set,c=0;cg||I>g)&&(o.gravitationForceX=-this.gravityConstant*v,o.gravitationForceY=-this.gravityConstant*_)):(g=u.getEstimatedSize()*this.compoundGravityRangeFactor,(L>g||I>g)&&(o.gravitationForceX=-this.gravityConstant*v*this.compoundGravityConstant,o.gravitationForceY=-this.gravityConstant*_*this.compoundGravityConstant))},s.prototype.isConverged=function(){var o,u=!1;return this.totalIterations>this.maxIterations/3&&(u=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),o=this.totalDisplacement=L.length||g>=L[0].length)){for(var D=0;Dh},"_defaultCompareFunction")}]),a}();p.exports=r},function(p,A,y){var i=function(){function r(a,h){for(var s=0;s2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;t(this,r),this.sequence1=a,this.sequence2=h,this.match_score=s,this.mismatch_penalty=f,this.gap_penalty=o,this.iMax=a.length+1,this.jMax=h.length+1,this.grid=new Array(this.iMax);for(var u=0;u=0;a--){var h=this.listeners[a];h.event===e&&h.callback===r&&this.listeners.splice(a,1)}},t.emit=function(e,r){for(var a=0;a{T(function(p,A){typeof O=="object"&&typeof x=="object"?x.exports=A(ut()):typeof define=="function"&&define.amd?define(["layout-base"],A):typeof O=="object"?O.coseBase=A(ut()):p.coseBase=A(p.layoutBase)},"webpackUniversalModuleDefinition")(O,function(p){return function(A){var y={};function i(t){if(y[t])return y[t].exports;var e=y[t]={i:t,l:!1,exports:{}};return A[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return T(i,"__webpack_require__"),i.m=A,i.c=y,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?T(function(){return t.default},"getDefault"):T(function(){return t},"getModuleExports");return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(A,y){A.exports=p},function(A,y,i){var t=i(0).FDLayoutConstants;function e(){}T(e,"CoSEConstants");for(var r in t)e[r]=t[r];e.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,e.DEFAULT_RADIAL_SEPARATION=t.DEFAULT_EDGE_LENGTH,e.DEFAULT_COMPONENT_SEPERATION=60,e.TILE=!0,e.TILING_PADDING_VERTICAL=10,e.TILING_PADDING_HORIZONTAL=10,e.TREE_REDUCTION_ON_INCREMENTAL=!1,A.exports=e},function(A,y,i){var t=i(0).FDLayoutEdge;function e(a,h,s){t.call(this,a,h,s)}T(e,"CoSEEdge"),e.prototype=Object.create(t.prototype);for(var r in t)e[r]=t[r];A.exports=e},function(A,y,i){var t=i(0).LGraph;function e(a,h,s){t.call(this,a,h,s)}T(e,"CoSEGraph"),e.prototype=Object.create(t.prototype);for(var r in t)e[r]=t[r];A.exports=e},function(A,y,i){var t=i(0).LGraphManager;function e(a){t.call(this,a)}T(e,"CoSEGraphManager"),e.prototype=Object.create(t.prototype);for(var r in t)e[r]=t[r];A.exports=e},function(A,y,i){var t=i(0).FDLayoutNode,e=i(0).IMath;function r(h,s,f,o){t.call(this,h,s,f,o)}T(r,"CoSENode"),r.prototype=Object.create(t.prototype);for(var a in t)r[a]=t[a];r.prototype.move=function(){var h=this.graphManager.getLayout();this.displacementX=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*e.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),h.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},r.prototype.propogateDisplacementToChildren=function(h,s){for(var f=this.getChild().getNodes(),o,u=0;u0)this.positionNodesRadially(l);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),d=this.nodesWithGravity.filter(function(w){return n.has(w)});this.graphManager.setAllNodesToApplyGravitation(d),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},g.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),d=this.nodesWithGravity.filter(function(N){return n.has(N)});this.graphManager.setAllNodesToApplyGravitation(d),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var l=!this.isTreeGrowing&&!this.isGrowthFinished,m=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(l,m),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},g.prototype.getPositionsData=function(){for(var n=this.graphManager.getAllNodes(),d={},l=0;l1){var R;for(R=0;Rm&&(m=Math.floor(C.y)),w=Math.floor(C.x+s.DEFAULT_COMPONENT_SEPERATION)}this.transform(new c(o.WORLD_CENTER_X-C.x/2,o.WORLD_CENTER_Y-C.y/2))},g.radialLayout=function(n,d,l){var m=Math.max(this.maxDiagonalInTree(n),s.DEFAULT_RADIAL_SEPARATION);g.branchRadialLayout(d,null,0,359,0,m);var N=L.calculateBounds(n),w=new I;w.setDeviceOrgX(N.getMinX()),w.setDeviceOrgY(N.getMinY()),w.setWorldOrgX(l.x),w.setWorldOrgY(l.y);for(var C=0;C1;){var B=X[0];X.splice(0,1);var k=M.indexOf(B);k>=0&&M.splice(k,1),U--,b--}d!=null?Y=(M.indexOf(X[0])+1)%U:Y=0;for(var j=Math.abs(m-l)/b,H=Y;S!=b;H=++H%U){var W=M[H].getOtherEnd(n);if(W!=d){var rt=(l+S*j)%360,K=(rt+j)%360;g.branchRadialLayout(W,n,rt,K,N+w,w),S++}}},g.maxDiagonalInTree=function(n){for(var d=v.MIN_VALUE,l=0;ld&&(d=N)}return d},g.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},g.prototype.groupZeroDegreeMembers=function(){var n=this,d={};this.memberGroups={},this.idToDummyNode={};for(var l=[],m=this.graphManager.getAllNodes(),N=0;N"u"&&(d[R]=[]),d[R]=d[R].concat(w)}Object.keys(d).forEach(function(G){if(d[G].length>1){var F="DummyCompound_"+G;n.memberGroups[F]=d[G];var P=d[G][0].getParent(),M=new a(n.graphManager);M.id=F,M.paddingLeft=P.paddingLeft||0,M.paddingRight=P.paddingRight||0,M.paddingBottom=P.paddingBottom||0,M.paddingTop=P.paddingTop||0,n.idToDummyNode[F]=M;var b=n.getGraphManager().add(n.newGraph(),M),S=P.getChild();S.add(M);for(var U=0;U=0;n--){var d=this.compoundOrder[n],l=d.id,m=d.paddingLeft,N=d.paddingTop;this.adjustLocations(this.tiledMemberPack[l],d.rect.x,d.rect.y,m,N)}},g.prototype.repopulateZeroDegreeMembers=function(){var n=this,d=this.tiledZeroDegreePack;Object.keys(d).forEach(function(l){var m=n.idToDummyNode[l],N=m.paddingLeft,w=m.paddingTop;n.adjustLocations(d[l],m.rect.x,m.rect.y,N,w)})},g.prototype.getToBeTiled=function(n){var d=n.id;if(this.toBeTiled[d]!=null)return this.toBeTiled[d];var l=n.getChild();if(l==null)return this.toBeTiled[d]=!1,!1;for(var m=l.getNodes(),N=0;N0)return this.toBeTiled[d]=!1,!1;if(w.getChild()==null){this.toBeTiled[w.id]=!1;continue}if(!this.getToBeTiled(w))return this.toBeTiled[d]=!1,!1}return this.toBeTiled[d]=!0,!0},g.prototype.getNodeDegree=function(n){for(var d=n.id,l=n.getEdges(),m=0,N=0;NG&&(G=P.rect.height)}l+=G+n.verticalPadding}},g.prototype.tileCompoundMembers=function(n,d){var l=this;this.tiledMemberPack=[],Object.keys(n).forEach(function(m){var N=d[m];l.tiledMemberPack[m]=l.tileNodes(n[m],N.paddingLeft+N.paddingRight),N.rect.width=l.tiledMemberPack[m].width,N.rect.height=l.tiledMemberPack[m].height})},g.prototype.tileNodes=function(n,d){var l=s.TILING_PADDING_VERTICAL,m=s.TILING_PADDING_HORIZONTAL,N={rows:[],rowWidth:[],rowHeight:[],width:0,height:d,verticalPadding:l,horizontalPadding:m};n.sort(function(R,G){return R.rect.width*R.rect.height>G.rect.width*G.rect.height?-1:R.rect.width*R.rect.height0&&(C+=n.horizontalPadding),n.rowWidth[l]=C,n.width0&&(R+=n.verticalPadding);var G=0;R>n.rowHeight[l]&&(G=n.rowHeight[l],n.rowHeight[l]=R,G=n.rowHeight[l]-G),n.height+=G,n.rows[l].push(d)},g.prototype.getShortestRowIndex=function(n){for(var d=-1,l=Number.MAX_VALUE,m=0;ml&&(d=m,l=n.rowWidth[m]);return d},g.prototype.canAddHorizontal=function(n,d,l){var m=this.getShortestRowIndex(n);if(m<0)return!0;var N=n.rowWidth[m];if(N+n.horizontalPadding+d<=n.width)return!0;var w=0;n.rowHeight[m]0&&(w=l+n.verticalPadding-n.rowHeight[m]);var C;n.width-N>=d+n.horizontalPadding?C=(n.height+w)/(N+d+n.horizontalPadding):C=(n.height+w)/n.width,w=l+n.verticalPadding;var R;return n.widthw&&d!=l){m.splice(-1,1),n.rows[l].push(N),n.rowWidth[d]=n.rowWidth[d]-w,n.rowWidth[l]=n.rowWidth[l]+w,n.width=n.rowWidth[instance.getLongestRowIndex(n)];for(var C=Number.MIN_VALUE,R=0;RC&&(C=m[R].height);d>0&&(C+=n.verticalPadding);var G=n.rowHeight[d]+n.rowHeight[l];n.rowHeight[d]=C,n.rowHeight[l]0)for(var S=N;S<=w;S++)b[0]+=this.grid[S][C-1].length+this.grid[S][C].length-1;if(w0)for(var S=C;S<=R;S++)b[3]+=this.grid[N-1][S].length+this.grid[N][S].length-1;for(var U=v.MAX_VALUE,Y,X,B=0;B{T(function(p,A){typeof O=="object"&&typeof x=="object"?x.exports=A(dt()):typeof define=="function"&&define.amd?define(["cose-base"],A):typeof O=="object"?O.cytoscapeCoseBilkent=A(dt()):p.cytoscapeCoseBilkent=A(p.coseBase)},"webpackUniversalModuleDefinition")(O,function(p){return function(A){var y={};function i(t){if(y[t])return y[t].exports;var e=y[t]={i:t,l:!1,exports:{}};return A[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return T(i,"__webpack_require__"),i.m=A,i.c=y,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?T(function(){return t.default},"getDefault"):T(function(){return t},"getModuleExports");return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1)}([function(A,y){A.exports=p},function(A,y,i){var t=i(0).layoutBase.LayoutConstants,e=i(0).layoutBase.FDLayoutConstants,r=i(0).CoSEConstants,a=i(0).CoSELayout,h=i(0).CoSENode,s=i(0).layoutBase.PointD,f=i(0).layoutBase.DimensionD,o={ready:T(function(){},"ready"),stop:T(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(_,L){var I={};for(var g in _)I[g]=_[g];for(var g in L)I[g]=L[g];return I}T(u,"extend");function c(_){this.options=u(o,_),E(this.options)}T(c,"_CoSELayout");var E=T(function(_){_.nodeRepulsion!=null&&(r.DEFAULT_REPULSION_STRENGTH=e.DEFAULT_REPULSION_STRENGTH=_.nodeRepulsion),_.idealEdgeLength!=null&&(r.DEFAULT_EDGE_LENGTH=e.DEFAULT_EDGE_LENGTH=_.idealEdgeLength),_.edgeElasticity!=null&&(r.DEFAULT_SPRING_STRENGTH=e.DEFAULT_SPRING_STRENGTH=_.edgeElasticity),_.nestingFactor!=null&&(r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=e.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=_.nestingFactor),_.gravity!=null&&(r.DEFAULT_GRAVITY_STRENGTH=e.DEFAULT_GRAVITY_STRENGTH=_.gravity),_.numIter!=null&&(r.MAX_ITERATIONS=e.MAX_ITERATIONS=_.numIter),_.gravityRange!=null&&(r.DEFAULT_GRAVITY_RANGE_FACTOR=e.DEFAULT_GRAVITY_RANGE_FACTOR=_.gravityRange),_.gravityCompound!=null&&(r.DEFAULT_COMPOUND_GRAVITY_STRENGTH=e.DEFAULT_COMPOUND_GRAVITY_STRENGTH=_.gravityCompound),_.gravityRangeCompound!=null&&(r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=e.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=_.gravityRangeCompound),_.initialEnergyOnIncremental!=null&&(r.DEFAULT_COOLING_FACTOR_INCREMENTAL=e.DEFAULT_COOLING_FACTOR_INCREMENTAL=_.initialEnergyOnIncremental),_.quality=="draft"?t.QUALITY=0:_.quality=="proof"?t.QUALITY=2:t.QUALITY=1,r.NODE_DIMENSIONS_INCLUDE_LABELS=e.NODE_DIMENSIONS_INCLUDE_LABELS=t.NODE_DIMENSIONS_INCLUDE_LABELS=_.nodeDimensionsIncludeLabels,r.DEFAULT_INCREMENTAL=e.DEFAULT_INCREMENTAL=t.DEFAULT_INCREMENTAL=!_.randomize,r.ANIMATE=e.ANIMATE=t.ANIMATE=_.animate,r.TILE=_.tile,r.TILING_PADDING_VERTICAL=typeof _.tilingPaddingVertical=="function"?_.tilingPaddingVertical.call():_.tilingPaddingVertical,r.TILING_PADDING_HORIZONTAL=typeof _.tilingPaddingHorizontal=="function"?_.tilingPaddingHorizontal.call():_.tilingPaddingHorizontal},"getUserOptions");c.prototype.run=function(){var _,L,I=this.options;this.idToLNode={};var g=this.layout=new a,D=this;D.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var n=g.newGraphManager();this.gm=n;var d=this.options.eles.nodes(),l=this.options.eles.edges();this.root=n.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(d),g);for(var m=0;m0){var R;R=I.getGraphManager().add(I.newGraph(),l),this.processChildrenList(R,d,I)}}},c.prototype.stop=function(){return this.stopped=!0,this};var v=T(function(_){_("layout","cose-bilkent",c)},"register");typeof cytoscape<"u"&&v(cytoscape),A.exports=v}])})}),ot=function(){var O=T(function(I,g,D,n){for(D=D||{},n=I.length;n--;D[I[n]]=g);return D},"o"),x=[1,4],p=[1,13],A=[1,12],y=[1,15],i=[1,16],t=[1,20],e=[1,19],r=[6,7,8],a=[1,26],h=[1,24],s=[1,25],f=[6,7,11],o=[1,6,13,15,16,19,22],u=[1,33],c=[1,34],E=[1,6,7,11,13,15,16,19,22],v={trace:T(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:T(function(I,g,D,n,d,l,m){var N=l.length-1;switch(d){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",l[N].id),n.addNode(l[N-1].length,l[N].id,l[N].descr,l[N].type);break;case 16:n.getLogger().trace("Icon: ",l[N]),n.decorateNode({icon:l[N]});break;case 17:case 21:n.decorateNode({class:l[N]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",l[N].id),n.addNode(0,l[N].id,l[N].descr,l[N].type);break;case 20:n.decorateNode({icon:l[N]});break;case 25:n.getLogger().trace("node found ..",l[N-2]),this.$={id:l[N-1],descr:l[N-1],type:n.getType(l[N-2],l[N])};break;case 26:this.$={id:l[N],descr:l[N],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",l[N-3]),this.$={id:l[N-3],descr:l[N-1],type:n.getType(l[N-2],l[N])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:x},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:x},{6:p,7:[1,10],9:9,12:11,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},O(r,[2,3]),{1:[2,2]},O(r,[2,4]),O(r,[2,5]),{1:[2,6],6:p,12:21,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},{6:p,9:22,12:11,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},{6:a,7:h,10:23,11:s},O(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:t,22:e}),O(f,[2,18]),O(f,[2,19]),O(f,[2,20]),O(f,[2,21]),O(f,[2,23]),O(f,[2,24]),O(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:a,7:h,10:32,11:s},{1:[2,7],6:p,12:21,13:A,14:14,15:y,16:i,17:17,18:18,19:t,22:e},O(o,[2,14],{7:u,11:c}),O(E,[2,8]),O(E,[2,9]),O(E,[2,10]),O(f,[2,15]),O(f,[2,16]),O(f,[2,17]),{20:[1,35]},{21:[1,36]},O(o,[2,13],{7:u,11:c}),O(E,[2,11]),O(E,[2,12]),{21:[1,37]},O(f,[2,25]),O(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:T(function(I,g){if(g.recoverable)this.trace(I);else{var D=new Error(I);throw D.hash=g,D}},"parseError"),parse:T(function(I){var g=this,D=[0],n=[],d=[null],l=[],m=this.table,N="",w=0,C=0,R=0,G=2,F=1,P=l.slice.call(arguments,1),M=Object.create(this.lexer),b={yy:{}};for(var S in this.yy)Object.prototype.hasOwnProperty.call(this.yy,S)&&(b.yy[S]=this.yy[S]);M.setInput(I,b.yy),b.yy.lexer=M,b.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var U=M.yylloc;l.push(U);var Y=M.options&&M.options.ranges;typeof b.yy.parseError=="function"?this.parseError=b.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function X(V){D.length=D.length-2*V,d.length=d.length-V,l.length=l.length-V}T(X,"popStack");function B(){var V;return V=n.pop()||M.lex()||F,typeof V!="number"&&(V instanceof Array&&(n=V,V=n.pop()),V=g.symbols_[V]||V),V}T(B,"lex");for(var k,j,H,W,rt,K,Q={},J,q,gt,tt;;){if(H=D[D.length-1],this.defaultActions[H]?W=this.defaultActions[H]:((k===null||typeof k>"u")&&(k=B()),W=m[H]&&m[H][k]),typeof W>"u"||!W.length||!W[0]){var nt="";tt=[];for(J in m[H])this.terminals_[J]&&J>G&&tt.push("'"+this.terminals_[J]+"'");M.showPosition?nt="Parse error on line "+(w+1)+`: `+M.showPosition()+` Expecting `+tt.join(", ")+", got '"+(this.terminals_[k]||k)+"'":nt="Parse error on line "+(w+1)+": Unexpected "+(k==F?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(nt,{text:M.match,token:this.terminals_[k]||k,line:M.yylineno,loc:U,expected:tt})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+k);switch(W[0]){case 1:D.push(k),d.push(M.yytext),l.push(M.yylloc),D.push(W[1]),k=null,j?(k=j,j=null):(C=M.yyleng,N=M.yytext,w=M.yylineno,U=M.yylloc,R>0);break;case 2:if(q=this.productions_[W[1]][1],Q.$=d[d.length-q],Q._$={first_line:l[l.length-(q||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(q||1)].first_column,last_column:l[l.length-1].last_column},Y&&(Q._$.range=[l[l.length-(q||1)].range[0],l[l.length-1].range[1]]),K=this.performAction.apply(Q,[N,C,w,b.yy,W[1],d,l].concat(P)),typeof K<"u")return K;q&&(D=D.slice(0,-1*q*2),d=d.slice(0,-1*q),l=l.slice(0,-1*q)),D.push(this.productions_[W[1]][0]),d.push(Q.$),l.push(Q._$),gt=m[D[D.length-2]][D[D.length-1]],D.push(gt);break;case 3:return!0}}return!0},"parse")},_=function(){var I={EOF:1,parseError:T(function(g,D){if(this.yy.parser)this.yy.parser.parseError(g,D);else throw new Error(g)},"parseError"),setInput:T(function(g,D){return this.yy=D||this.yy||{},this._input=g,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:T(function(){var g=this._input[0];this.yytext+=g,this.yyleng++,this.offset++,this.match+=g,this.matched+=g;var D=g.match(/(?:\r\n?|\n).*/g);return D?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),g},"input"),unput:T(function(g){var D=g.length,n=g.split(/(?:\r\n?|\n)/g);this._input=g+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-D),this.offset-=D;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var l=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===d.length?this.yylloc.first_column:0)+d[d.length-n.length].length-n[0].length:this.yylloc.first_column-D},this.options.ranges&&(this.yylloc.range=[l[0],l[0]+this.yyleng-D]),this.yyleng=this.yytext.length,this},"unput"),more:T(function(){return this._more=!0,this},"more"),reject:T(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:T(function(g){this.unput(this.match.slice(g))},"less"),pastInput:T(function(){var g=this.matched.substr(0,this.matched.length-this.match.length);return(g.length>20?"...":"")+g.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:T(function(){var g=this.match;return g.length<20&&(g+=this._input.substr(0,20-g.length)),(g.substr(0,20)+(g.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:T(function(){var g=this.pastInput(),D=new Array(g.length+1).join("-");return g+this.upcomingInput()+` diff --git a/version/6.0/assets/pieDiagram-AYPHHONI-uVjjVM_v.js b/version/6.0/assets/pieDiagram-AYPHHONI-C1JbmVVW.js similarity index 93% rename from version/6.0/assets/pieDiagram-AYPHHONI-uVjjVM_v.js rename to version/6.0/assets/pieDiagram-AYPHHONI-C1JbmVVW.js index c9b6748b9..8cab5a0a4 100644 --- a/version/6.0/assets/pieDiagram-AYPHHONI-uVjjVM_v.js +++ b/version/6.0/assets/pieDiagram-AYPHHONI-C1JbmVVW.js @@ -1,4 +1,4 @@ -import{c as G}from"./chunk-4KE642ED-DRpyMuB6.js";import{p as K}from"./gitGraph-YCYPL57B-MEVJTYR7-xOWdj6kL.js";import{ar as N,m as r,h as Q,t as y,aV as _,W as j,as as q,aT as H,aW as I,aX as R,aY as J,C as U,w as Z,B as ee,T as te,k as ae,S as ie,v as re}from"./mermaid.esm.min-DhsQPv9X.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var M=N.pie,T={sections:new Map,showData:!1,config:M},u=T.sections,v=T.showData,le=structuredClone(M),se=r(()=>structuredClone(le),"getConfig"),oe=r(()=>{u=new Map,v=T.showData,Q()},"clear"),ne=r(({label:e,value:a})=>{u.has(e)||(u.set(e,a),y.debug(`added new section: ${e}, with value: ${a}`))},"addSection"),pe=r(()=>u,"getSections"),de=r(e=>{v=e},"setShowData"),ce=r(()=>v,"getShowData"),B={getConfig:se,clear:oe,setDiagramTitle:Z,getDiagramTitle:ee,setAccTitle:te,getAccTitle:ae,setAccDescription:ie,getAccDescription:re,addSection:ne,getSections:pe,setShowData:de,getShowData:ce},fe=r((e,a)=>{G(e,a),a.setShowData(e.showData),e.sections.map(a.addSection)},"populateDb"),ge={parse:r(async e=>{let a=await K("pie",e);y.debug(a),fe(a,B)},"parse")},me=r(e=>` +import{c as G}from"./chunk-4KE642ED-BFpkd97I.js";import{p as K}from"./gitGraph-YCYPL57B-MEVJTYR7-BFbJdJV1.js";import{ar as N,m as r,h as Q,t as y,aV as _,W as j,as as q,aT as H,aW as I,aX as R,aY as J,C as U,w as Z,B as ee,T as te,k as ae,S as ie,v as re}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var M=N.pie,T={sections:new Map,showData:!1,config:M},u=T.sections,v=T.showData,le=structuredClone(M),se=r(()=>structuredClone(le),"getConfig"),oe=r(()=>{u=new Map,v=T.showData,Q()},"clear"),ne=r(({label:e,value:a})=>{u.has(e)||(u.set(e,a),y.debug(`added new section: ${e}, with value: ${a}`))},"addSection"),pe=r(()=>u,"getSections"),de=r(e=>{v=e},"setShowData"),ce=r(()=>v,"getShowData"),B={getConfig:se,clear:oe,setDiagramTitle:Z,getDiagramTitle:ee,setAccTitle:te,getAccTitle:ae,setAccDescription:ie,getAccDescription:re,addSection:ne,getSections:pe,setShowData:de,getShowData:ce},fe=r((e,a)=>{G(e,a),a.setShowData(e.showData),e.sections.map(a.addSection)},"populateDb"),ge={parse:r(async e=>{let a=await K("pie",e);y.debug(a),fe(a,B)},"parse")},me=r(e=>` .pieCircle{ stroke: ${e.pieStrokeColor}; stroke-width : ${e.pieStrokeWidth}; diff --git a/version/6.0/assets/quadrantDiagram-QXTGSWY2-CS1mU8cb.js b/version/6.0/assets/quadrantDiagram-QXTGSWY2-DPuJFkfD.js similarity index 99% rename from version/6.0/assets/quadrantDiagram-QXTGSWY2-CS1mU8cb.js rename to version/6.0/assets/quadrantDiagram-QXTGSWY2-DPuJFkfD.js index 6d839d157..d373276d1 100644 --- a/version/6.0/assets/quadrantDiagram-QXTGSWY2-CS1mU8cb.js +++ b/version/6.0/assets/quadrantDiagram-QXTGSWY2-DPuJFkfD.js @@ -1,4 +1,4 @@ -import{m as l,aZ as _e,ar as E,t as bt,aA as ee,W as wt,h as ke,r as Et,C as Fe,D as Pe,B as ie,T as Ce,k as ve,w as Le,v as Ee,S as De}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Dt=function(){var t=l(function(H,s,c,o){for(c=c||{},o=H.length;o--;c[H[o]]=s);return c},"o"),n=[1,3],u=[1,4],d=[1,5],h=[1,6],f=[1,7],g=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],T=[2,36],p=[1,37],y=[1,36],A=[1,38],m=[1,35],x=[1,43],q=[1,41],U=[1,14],j=[1,23],K=[1,18],pt=[1,19],dt=[1,20],ut=[1,21],xt=[1,22],ft=[1,24],gt=[1,25],i=[1,26],zt=[1,27],Nt=[1,28],Wt=[1,29],$=[1,32],Q=[1,33],_=[1,34],k=[1,39],F=[1,40],P=[1,42],C=[1,44],M=[1,62],O=[1,61],v=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Bt=[1,65],Rt=[1,66],$t=[1,67],Qt=[1,68],Ht=[1,69],Xt=[1,70],Ut=[1,71],Mt=[1,72],Ot=[1,73],Yt=[1,74],jt=[1,75],Kt=[1,76],z=[4,5,6,7,8,9,10,11,12,13,14,15,18],Z=[1,90],J=[1,91],tt=[1,92],et=[1,99],it=[1,93],at=[1,96],nt=[1,94],st=[1,95],rt=[1,97],lt=[1,98],_t=[1,102],Gt=[10,55,56,57],B=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],kt={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:l(function(H,s,c,o,b,e,N){var r=e.length-1;switch(b){case 23:this.$=e[r];break;case 24:this.$=e[r-1]+""+e[r];break;case 26:this.$=e[r-1]+e[r];break;case 27:this.$=[e[r].trim()];break;case 28:e[r-2].push(e[r].trim()),this.$=e[r-2];break;case 29:this.$=e[r-4],o.addClass(e[r-2],e[r]);break;case 37:this.$=[];break;case 42:this.$=e[r].trim(),o.setDiagramTitle(this.$);break;case 43:this.$=e[r].trim(),o.setAccTitle(this.$);break;case 44:case 45:this.$=e[r].trim(),o.setAccDescription(this.$);break;case 46:o.addSection(e[r].substr(8)),this.$=e[r].substr(8);break;case 47:o.addPoint(e[r-3],"",e[r-1],e[r],[]);break;case 48:o.addPoint(e[r-4],e[r-3],e[r-1],e[r],[]);break;case 49:o.addPoint(e[r-4],"",e[r-2],e[r-1],e[r]);break;case 50:o.addPoint(e[r-5],e[r-4],e[r-2],e[r-1],e[r]);break;case 51:o.setXAxisLeftText(e[r-2]),o.setXAxisRightText(e[r]);break;case 52:e[r-1].text+=" ⟶ ",o.setXAxisLeftText(e[r-1]);break;case 53:o.setXAxisLeftText(e[r]);break;case 54:o.setYAxisBottomText(e[r-2]),o.setYAxisTopText(e[r]);break;case 55:e[r-1].text+=" ⟶ ",o.setYAxisBottomText(e[r-1]);break;case 56:o.setYAxisBottomText(e[r]);break;case 57:o.setQuadrant1Text(e[r]);break;case 58:o.setQuadrant2Text(e[r]);break;case 59:o.setQuadrant3Text(e[r]);break;case 60:o.setQuadrant4Text(e[r]);break;case 64:this.$={text:e[r],type:"text"};break;case 65:this.$={text:e[r-1].text+""+e[r],type:e[r-1].type};break;case 66:this.$={text:e[r],type:"text"};break;case 67:this.$={text:e[r],type:"markdown"};break;case 68:this.$=e[r];break;case 69:this.$=e[r-1]+""+e[r];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:d,56:h,57:f},{1:[3]},{18:n,26:8,27:2,28:u,55:d,56:h,57:f},{18:n,26:9,27:2,28:u,55:d,56:h,57:f},t(g,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,T,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:p,5:y,10:A,12:m,13:x,14:q,18:U,25:j,35:K,37:pt,39:dt,41:ut,42:xt,48:ft,50:gt,51:i,52:zt,53:Nt,54:Wt,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),t(g,[2,34]),{27:45,55:d,56:h,57:f},t(a,[2,37]),t(a,T,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:p,5:y,10:A,12:m,13:x,14:q,18:U,25:j,35:K,37:pt,39:dt,41:ut,42:xt,48:ft,50:gt,51:i,52:zt,53:Nt,54:Wt,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(a,[2,45]),t(a,[2,46]),{18:[1,50]},{4:p,5:y,10:A,12:m,13:x,14:q,43:51,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:52,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:53,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:54,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:55,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:56,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,44:[1,57],47:[1,58],58:60,59:59,63:_,64:k,65:F,66:P,67:C},t(v,[2,64]),t(v,[2,66]),t(v,[2,67]),t(v,[2,70]),t(v,[2,71]),t(v,[2,72]),t(v,[2,73]),t(v,[2,74]),t(v,[2,75]),t(v,[2,76]),t(v,[2,77]),t(v,[2,78]),t(v,[2,79]),t(v,[2,80]),t(g,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:64,4:Bt,5:Rt,6:$t,7:Qt,8:Ht,9:Xt,10:Ut,11:Mt,12:Ot,13:Yt,14:jt,15:Kt,21:63},t(a,[2,53],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,49:[1,77],63:_,64:k,65:F,66:P,67:C}),t(a,[2,56],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,49:[1,78],63:_,64:k,65:F,66:P,67:C}),t(a,[2,57],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,58],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,59],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,60],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),{45:[1,79]},{44:[1,80]},t(v,[2,65]),t(v,[2,81]),t(v,[2,82]),t(v,[2,83]),{3:82,4:Bt,5:Rt,6:$t,7:Qt,8:Ht,9:Xt,10:Ut,11:Mt,12:Ot,13:Yt,14:jt,15:Kt,18:[1,81]},t(z,[2,23]),t(z,[2,1]),t(z,[2,2]),t(z,[2,3]),t(z,[2,4]),t(z,[2,5]),t(z,[2,6]),t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12]),t(a,[2,52],{58:31,43:83,4:p,5:y,10:A,12:m,13:x,14:q,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),t(a,[2,55],{58:31,43:84,4:p,5:y,10:A,12:m,13:x,14:q,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),{46:[1,85]},{45:[1,86]},{4:Z,5:J,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:lt,22:88,23:87},t(z,[2,24]),t(a,[2,51],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,54],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,47],{22:88,16:89,23:100,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt}),{46:[1,101]},t(a,[2,29],{10:_t}),t(Gt,[2,27],{16:103,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt}),t(B,[2,25]),t(B,[2,13]),t(B,[2,14]),t(B,[2,15]),t(B,[2,16]),t(B,[2,17]),t(B,[2,18]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(a,[2,49],{10:_t}),t(a,[2,48],{22:88,16:89,23:104,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt}),{4:Z,5:J,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:lt,22:105},t(B,[2,26]),t(a,[2,50],{10:_t}),t(Gt,[2,28],{16:103,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt})],defaultActions:{8:[2,30],9:[2,31]},parseError:l(function(H,s){if(s.recoverable)this.trace(H);else{var c=new Error(H);throw c.hash=s,c}},"parseError"),parse:l(function(H){var s=this,c=[0],o=[],b=[null],e=[],N=this.table,r="",Tt=0,Vt=0,me=0,qe=2,Zt=1,Ae=e.slice.call(arguments,1),L=Object.create(this.lexer),G={yy:{}};for(var Ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ft)&&(G.yy[Ft]=this.yy[Ft]);L.setInput(H,G.yy),G.yy.lexer=L,G.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var Pt=L.yylloc;e.push(Pt);var be=L.options&&L.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(W){c.length=c.length-2*W,b.length=b.length-W,e.length=e.length-W}l(Se,"popStack");function Jt(){var W;return W=o.pop()||L.lex()||Zt,typeof W!="number"&&(W instanceof Array&&(o=W,W=o.pop()),W=s.symbols_[W]||W),W}l(Jt,"lex");for(var I,Ct,V,R,$e,vt,ot={},mt,Y,te,qt;;){if(V=c[c.length-1],this.defaultActions[V]?R=this.defaultActions[V]:((I===null||typeof I>"u")&&(I=Jt()),R=N[V]&&N[V][I]),typeof R>"u"||!R.length||!R[0]){var Lt="";qt=[];for(mt in N[V])this.terminals_[mt]&&mt>qe&&qt.push("'"+this.terminals_[mt]+"'");L.showPosition?Lt="Parse error on line "+(Tt+1)+`: +import{m as l,aZ as _e,ar as E,t as bt,aA as ee,W as wt,h as ke,r as Et,C as Fe,D as Pe,B as ie,T as Ce,k as ve,w as Le,v as Ee,S as De}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Dt=function(){var t=l(function(H,s,c,o){for(c=c||{},o=H.length;o--;c[H[o]]=s);return c},"o"),n=[1,3],u=[1,4],d=[1,5],h=[1,6],f=[1,7],g=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],T=[2,36],p=[1,37],y=[1,36],A=[1,38],m=[1,35],x=[1,43],q=[1,41],U=[1,14],j=[1,23],K=[1,18],pt=[1,19],dt=[1,20],ut=[1,21],xt=[1,22],ft=[1,24],gt=[1,25],i=[1,26],zt=[1,27],Nt=[1,28],Wt=[1,29],$=[1,32],Q=[1,33],_=[1,34],k=[1,39],F=[1,40],P=[1,42],C=[1,44],M=[1,62],O=[1,61],v=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Bt=[1,65],Rt=[1,66],$t=[1,67],Qt=[1,68],Ht=[1,69],Xt=[1,70],Ut=[1,71],Mt=[1,72],Ot=[1,73],Yt=[1,74],jt=[1,75],Kt=[1,76],z=[4,5,6,7,8,9,10,11,12,13,14,15,18],Z=[1,90],J=[1,91],tt=[1,92],et=[1,99],it=[1,93],at=[1,96],nt=[1,94],st=[1,95],rt=[1,97],lt=[1,98],_t=[1,102],Gt=[10,55,56,57],B=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],kt={trace:l(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:l(function(H,s,c,o,b,e,N){var r=e.length-1;switch(b){case 23:this.$=e[r];break;case 24:this.$=e[r-1]+""+e[r];break;case 26:this.$=e[r-1]+e[r];break;case 27:this.$=[e[r].trim()];break;case 28:e[r-2].push(e[r].trim()),this.$=e[r-2];break;case 29:this.$=e[r-4],o.addClass(e[r-2],e[r]);break;case 37:this.$=[];break;case 42:this.$=e[r].trim(),o.setDiagramTitle(this.$);break;case 43:this.$=e[r].trim(),o.setAccTitle(this.$);break;case 44:case 45:this.$=e[r].trim(),o.setAccDescription(this.$);break;case 46:o.addSection(e[r].substr(8)),this.$=e[r].substr(8);break;case 47:o.addPoint(e[r-3],"",e[r-1],e[r],[]);break;case 48:o.addPoint(e[r-4],e[r-3],e[r-1],e[r],[]);break;case 49:o.addPoint(e[r-4],"",e[r-2],e[r-1],e[r]);break;case 50:o.addPoint(e[r-5],e[r-4],e[r-2],e[r-1],e[r]);break;case 51:o.setXAxisLeftText(e[r-2]),o.setXAxisRightText(e[r]);break;case 52:e[r-1].text+=" ⟶ ",o.setXAxisLeftText(e[r-1]);break;case 53:o.setXAxisLeftText(e[r]);break;case 54:o.setYAxisBottomText(e[r-2]),o.setYAxisTopText(e[r]);break;case 55:e[r-1].text+=" ⟶ ",o.setYAxisBottomText(e[r-1]);break;case 56:o.setYAxisBottomText(e[r]);break;case 57:o.setQuadrant1Text(e[r]);break;case 58:o.setQuadrant2Text(e[r]);break;case 59:o.setQuadrant3Text(e[r]);break;case 60:o.setQuadrant4Text(e[r]);break;case 64:this.$={text:e[r],type:"text"};break;case 65:this.$={text:e[r-1].text+""+e[r],type:e[r-1].type};break;case 66:this.$={text:e[r],type:"text"};break;case 67:this.$={text:e[r],type:"markdown"};break;case 68:this.$=e[r];break;case 69:this.$=e[r-1]+""+e[r];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:d,56:h,57:f},{1:[3]},{18:n,26:8,27:2,28:u,55:d,56:h,57:f},{18:n,26:9,27:2,28:u,55:d,56:h,57:f},t(g,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,T,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:p,5:y,10:A,12:m,13:x,14:q,18:U,25:j,35:K,37:pt,39:dt,41:ut,42:xt,48:ft,50:gt,51:i,52:zt,53:Nt,54:Wt,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),t(g,[2,34]),{27:45,55:d,56:h,57:f},t(a,[2,37]),t(a,T,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:p,5:y,10:A,12:m,13:x,14:q,18:U,25:j,35:K,37:pt,39:dt,41:ut,42:xt,48:ft,50:gt,51:i,52:zt,53:Nt,54:Wt,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(a,[2,45]),t(a,[2,46]),{18:[1,50]},{4:p,5:y,10:A,12:m,13:x,14:q,43:51,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:52,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:53,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:54,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:55,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,10:A,12:m,13:x,14:q,43:56,58:31,60:$,61:Q,63:_,64:k,65:F,66:P,67:C},{4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,44:[1,57],47:[1,58],58:60,59:59,63:_,64:k,65:F,66:P,67:C},t(v,[2,64]),t(v,[2,66]),t(v,[2,67]),t(v,[2,70]),t(v,[2,71]),t(v,[2,72]),t(v,[2,73]),t(v,[2,74]),t(v,[2,75]),t(v,[2,76]),t(v,[2,77]),t(v,[2,78]),t(v,[2,79]),t(v,[2,80]),t(g,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:64,4:Bt,5:Rt,6:$t,7:Qt,8:Ht,9:Xt,10:Ut,11:Mt,12:Ot,13:Yt,14:jt,15:Kt,21:63},t(a,[2,53],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,49:[1,77],63:_,64:k,65:F,66:P,67:C}),t(a,[2,56],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,49:[1,78],63:_,64:k,65:F,66:P,67:C}),t(a,[2,57],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,58],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,59],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,60],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),{45:[1,79]},{44:[1,80]},t(v,[2,65]),t(v,[2,81]),t(v,[2,82]),t(v,[2,83]),{3:82,4:Bt,5:Rt,6:$t,7:Qt,8:Ht,9:Xt,10:Ut,11:Mt,12:Ot,13:Yt,14:jt,15:Kt,18:[1,81]},t(z,[2,23]),t(z,[2,1]),t(z,[2,2]),t(z,[2,3]),t(z,[2,4]),t(z,[2,5]),t(z,[2,6]),t(z,[2,7]),t(z,[2,8]),t(z,[2,9]),t(z,[2,10]),t(z,[2,11]),t(z,[2,12]),t(a,[2,52],{58:31,43:83,4:p,5:y,10:A,12:m,13:x,14:q,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),t(a,[2,55],{58:31,43:84,4:p,5:y,10:A,12:m,13:x,14:q,60:$,61:Q,63:_,64:k,65:F,66:P,67:C}),{46:[1,85]},{45:[1,86]},{4:Z,5:J,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:lt,22:88,23:87},t(z,[2,24]),t(a,[2,51],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,54],{59:59,58:60,4:p,5:y,8:M,10:A,12:m,13:x,14:q,18:O,63:_,64:k,65:F,66:P,67:C}),t(a,[2,47],{22:88,16:89,23:100,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt}),{46:[1,101]},t(a,[2,29],{10:_t}),t(Gt,[2,27],{16:103,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt}),t(B,[2,25]),t(B,[2,13]),t(B,[2,14]),t(B,[2,15]),t(B,[2,16]),t(B,[2,17]),t(B,[2,18]),t(B,[2,19]),t(B,[2,20]),t(B,[2,21]),t(B,[2,22]),t(a,[2,49],{10:_t}),t(a,[2,48],{22:88,16:89,23:104,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt}),{4:Z,5:J,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:lt,22:105},t(B,[2,26]),t(a,[2,50],{10:_t}),t(Gt,[2,28],{16:103,4:Z,5:J,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:lt})],defaultActions:{8:[2,30],9:[2,31]},parseError:l(function(H,s){if(s.recoverable)this.trace(H);else{var c=new Error(H);throw c.hash=s,c}},"parseError"),parse:l(function(H){var s=this,c=[0],o=[],b=[null],e=[],N=this.table,r="",Tt=0,Vt=0,me=0,qe=2,Zt=1,Ae=e.slice.call(arguments,1),L=Object.create(this.lexer),G={yy:{}};for(var Ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ft)&&(G.yy[Ft]=this.yy[Ft]);L.setInput(H,G.yy),G.yy.lexer=L,G.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var Pt=L.yylloc;e.push(Pt);var be=L.options&&L.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(W){c.length=c.length-2*W,b.length=b.length-W,e.length=e.length-W}l(Se,"popStack");function Jt(){var W;return W=o.pop()||L.lex()||Zt,typeof W!="number"&&(W instanceof Array&&(o=W,W=o.pop()),W=s.symbols_[W]||W),W}l(Jt,"lex");for(var I,Ct,V,R,$e,vt,ot={},mt,Y,te,qt;;){if(V=c[c.length-1],this.defaultActions[V]?R=this.defaultActions[V]:((I===null||typeof I>"u")&&(I=Jt()),R=N[V]&&N[V][I]),typeof R>"u"||!R.length||!R[0]){var Lt="";qt=[];for(mt in N[V])this.terminals_[mt]&&mt>qe&&qt.push("'"+this.terminals_[mt]+"'");L.showPosition?Lt="Parse error on line "+(Tt+1)+`: `+L.showPosition()+` Expecting `+qt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Lt="Parse error on line "+(Tt+1)+": Unexpected "+(I==Zt?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Lt,{text:L.match,token:this.terminals_[I]||I,line:L.yylineno,loc:Pt,expected:qt})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+I);switch(R[0]){case 1:c.push(I),b.push(L.yytext),e.push(L.yylloc),c.push(R[1]),I=null,Ct?(I=Ct,Ct=null):(Vt=L.yyleng,r=L.yytext,Tt=L.yylineno,Pt=L.yylloc,me>0);break;case 2:if(Y=this.productions_[R[1]][1],ot.$=b[b.length-Y],ot._$={first_line:e[e.length-(Y||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(Y||1)].first_column,last_column:e[e.length-1].last_column},be&&(ot._$.range=[e[e.length-(Y||1)].range[0],e[e.length-1].range[1]]),vt=this.performAction.apply(ot,[r,Vt,Tt,G.yy,R[1],b,e].concat(Ae)),typeof vt<"u")return vt;Y&&(c=c.slice(0,-1*Y*2),b=b.slice(0,-1*Y),e=e.slice(0,-1*Y)),c.push(this.productions_[R[1]][0]),b.push(ot.$),e.push(ot._$),te=N[c[c.length-2]][c[c.length-1]],c.push(te);break;case 3:return!0}}return!0},"parse")},Te=function(){var H={EOF:1,parseError:l(function(s,c){if(this.yy.parser)this.yy.parser.parseError(s,c);else throw new Error(s)},"parseError"),setInput:l(function(s,c){return this.yy=c||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:l(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var c=s.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:l(function(s){var c=s.length,o=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===b.length?this.yylloc.first_column:0)+b[b.length-o.length].length-o[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:l(function(){return this._more=!0,this},"more"),reject:l(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:l(function(s){this.unput(this.match.slice(s))},"less"),pastInput:l(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:l(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:l(function(){var s=this.pastInput(),c=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/version/6.0/assets/requirementDiagram-5YXTYXBB-DStLcefr.js b/version/6.0/assets/requirementDiagram-5YXTYXBB-BnDHjXpP.js similarity index 99% rename from version/6.0/assets/requirementDiagram-5YXTYXBB-DStLcefr.js rename to version/6.0/assets/requirementDiagram-5YXTYXBB-BnDHjXpP.js index b35c0e86e..fb600feac 100644 --- a/version/6.0/assets/requirementDiagram-5YXTYXBB-DStLcefr.js +++ b/version/6.0/assets/requirementDiagram-5YXTYXBB-BnDHjXpP.js @@ -1,4 +1,4 @@ -import{f as Pe}from"./chunk-FASC7IG4-CAkh8Mxr.js";import{m as Ue}from"./chunk-ZN7TASNU-45xoTLMc.js";import{m as n,t as xe,h as Ye,W as we,T as Ve,k as Be,S as Qe,v as We,n as Ke,a as Ne,r as he,C as He}from"./mermaid.esm.min-DhsQPv9X.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var ce=function(){var e=n(function(v,t,a,r){for(a=a||{},r=v.length;r--;a[v[r]]=t);return a},"o"),i=[1,3],o=[1,4],c=[1,5],h=[1,6],y=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],u=[1,18],l=[2,7],p=[1,22],g=[1,23],m=[1,24],f=[1,25],S=[1,26],q=[1,27],A=[1,20],w=[1,28],$=[1,29],D=[62,63],pe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],de=[1,47],_e=[1,48],ge=[1,49],Ee=[1,50],me=[1,51],Re=[1,52],fe=[1,53],L=[53,54],P=[1,64],U=[1,60],Y=[1,61],V=[1,62],B=[1,63],Q=[1,65],G=[1,69],z=[1,70],X=[1,67],J=[1,68],k=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],re={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:n(function(v,t,a,r,d,s,T){var E=s.length-1;switch(d){case 4:this.$=s[E].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[E].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[E-3],s[E-4]);break;case 14:r.setNewReqId(s[E-2]);break;case 15:r.setNewReqText(s[E-2]);break;case 16:r.setNewReqRisk(s[E-2]);break;case 17:r.setNewReqVerifyMethod(s[E-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[E-3]);break;case 34:r.setNewElementType(s[E-2]);break;case 35:r.setNewElementDocRef(s[E-2]);break;case 38:r.addRelationship(s[E-2],s[E],s[E-4]);break;case 39:r.addRelationship(s[E-2],s[E-4],s[E]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:i,9:o,11:c,13:h},{1:[3]},{3:8,4:2,5:[1,7],6:i,9:o,11:c,13:h},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(y,[2,6]),{3:12,4:2,6:i,9:o,11:c,13:h},{1:[2,2]},{4:17,5:u,7:13,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},e(y,[2,4]),e(y,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:u,7:31,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:32,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:33,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:34,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:35,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(D,[2,20]),e(D,[2,21]),e(D,[2,22]),e(D,[2,23]),e(D,[2,24]),e(D,[2,25]),e(pe,[2,49]),e(pe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:de,56:_e,57:ge,58:Ee,59:me,60:Re,61:fe},{52:54,55:de,56:_e,57:ge,58:Ee,59:me,60:Re,61:fe},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(L,[2,40]),e(L,[2,41]),e(L,[2,42]),e(L,[2,43]),e(L,[2,44]),e(L,[2,45]),e(L,[2,46]),{54:[1,58]},{5:P,20:59,21:U,24:Y,26:V,28:B,30:Q},{5:G,30:z,46:66,47:X,49:J},{23:71,62:w,63:$},{23:72,62:w,63:$},e(k,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:P,20:77,21:U,24:Y,26:V,28:B,30:Q},e(k,[2,19]),e(k,[2,33]),{22:[1,78]},{22:[1,79]},{5:G,30:z,46:80,47:X,49:J},e(k,[2,37]),e(k,[2,38]),e(k,[2,39]),{23:81,62:w,63:$},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(k,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(k,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:P,20:106,21:U,24:Y,26:V,28:B,30:Q},{5:P,20:107,21:U,24:Y,26:V,28:B,30:Q},{5:P,20:108,21:U,24:Y,26:V,28:B,30:Q},{5:P,20:109,21:U,24:Y,26:V,28:B,30:Q},{5:G,30:z,46:110,47:X,49:J},{5:G,30:z,46:111,47:X,49:J},e(k,[2,14]),e(k,[2,15]),e(k,[2,16]),e(k,[2,17]),e(k,[2,34]),e(k,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:n(function(v,t){if(t.recoverable)this.trace(v);else{var a=new Error(v);throw a.hash=t,a}},"parseError"),parse:n(function(v){var t=this,a=[0],r=[],d=[null],s=[],T=this.table,E="",ee=0,Ie=0,Ce=0,Le=2,Se=1,Fe=s.slice.call(arguments,1),R=Object.create(this.lexer),F={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(F.yy[ne]=this.yy[ne]);R.setInput(v,F.yy),F.yy.lexer=R,F.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var se=R.yylloc;s.push(se);var Me=R.options&&R.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(b){a.length=a.length-2*b,d.length=d.length-b,s.length=s.length-b}n(De,"popStack");function ke(){var b;return b=r.pop()||R.lex()||Se,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=t.symbols_[b]||b),b}n(ke,"lex");for(var I,ae,M,x,Tt,le,W={},te,O,Te,ie;;){if(M=a[a.length-1],this.defaultActions[M]?x=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=ke()),x=T[M]&&T[M][I]),typeof x>"u"||!x.length||!x[0]){var oe="";ie=[];for(te in T[M])this.terminals_[te]&&te>Le&&ie.push("'"+this.terminals_[te]+"'");R.showPosition?oe="Parse error on line "+(ee+1)+`: +import{f as Pe}from"./chunk-FASC7IG4-BVkK6YXv.js";import{m as Ue}from"./chunk-ZN7TASNU-Cv-Yezee.js";import{m as n,t as xe,h as Ye,W as we,T as Ve,k as Be,S as Qe,v as We,n as Ke,a as Ne,r as he,C as He}from"./mermaid.esm.min-CpCJ9UxA.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var ce=function(){var e=n(function(v,t,a,r){for(a=a||{},r=v.length;r--;a[v[r]]=t);return a},"o"),i=[1,3],o=[1,4],c=[1,5],h=[1,6],y=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],u=[1,18],l=[2,7],p=[1,22],g=[1,23],m=[1,24],f=[1,25],S=[1,26],q=[1,27],A=[1,20],w=[1,28],$=[1,29],D=[62,63],pe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],de=[1,47],_e=[1,48],ge=[1,49],Ee=[1,50],me=[1,51],Re=[1,52],fe=[1,53],L=[53,54],P=[1,64],U=[1,60],Y=[1,61],V=[1,62],B=[1,63],Q=[1,65],G=[1,69],z=[1,70],X=[1,67],J=[1,68],k=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],re={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:n(function(v,t,a,r,d,s,T){var E=s.length-1;switch(d){case 4:this.$=s[E].trim(),r.setAccTitle(this.$);break;case 5:case 6:this.$=s[E].trim(),r.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:r.addRequirement(s[E-3],s[E-4]);break;case 14:r.setNewReqId(s[E-2]);break;case 15:r.setNewReqText(s[E-2]);break;case 16:r.setNewReqRisk(s[E-2]);break;case 17:r.setNewReqVerifyMethod(s[E-2]);break;case 20:this.$=r.RequirementType.REQUIREMENT;break;case 21:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=r.RiskLevel.LOW_RISK;break;case 27:this.$=r.RiskLevel.MED_RISK;break;case 28:this.$=r.RiskLevel.HIGH_RISK;break;case 29:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=r.VerifyType.VERIFY_TEST;break;case 33:r.addElement(s[E-3]);break;case 34:r.setNewElementType(s[E-2]);break;case 35:r.setNewElementDocRef(s[E-2]);break;case 38:r.addRelationship(s[E-2],s[E],s[E-4]);break;case 39:r.addRelationship(s[E-2],s[E-4],s[E]);break;case 40:this.$=r.Relationships.CONTAINS;break;case 41:this.$=r.Relationships.COPIES;break;case 42:this.$=r.Relationships.DERIVES;break;case 43:this.$=r.Relationships.SATISFIES;break;case 44:this.$=r.Relationships.VERIFIES;break;case 45:this.$=r.Relationships.REFINES;break;case 46:this.$=r.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:i,9:o,11:c,13:h},{1:[3]},{3:8,4:2,5:[1,7],6:i,9:o,11:c,13:h},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(y,[2,6]),{3:12,4:2,6:i,9:o,11:c,13:h},{1:[2,2]},{4:17,5:u,7:13,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},e(y,[2,4]),e(y,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:u,7:31,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:32,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:33,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:34,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{4:17,5:u,7:35,8:l,9:o,11:c,13:h,14:14,15:15,16:16,17:19,23:21,31:p,32:g,33:m,34:f,35:S,36:q,44:A,62:w,63:$},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(D,[2,20]),e(D,[2,21]),e(D,[2,22]),e(D,[2,23]),e(D,[2,24]),e(D,[2,25]),e(pe,[2,49]),e(pe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:de,56:_e,57:ge,58:Ee,59:me,60:Re,61:fe},{52:54,55:de,56:_e,57:ge,58:Ee,59:me,60:Re,61:fe},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(L,[2,40]),e(L,[2,41]),e(L,[2,42]),e(L,[2,43]),e(L,[2,44]),e(L,[2,45]),e(L,[2,46]),{54:[1,58]},{5:P,20:59,21:U,24:Y,26:V,28:B,30:Q},{5:G,30:z,46:66,47:X,49:J},{23:71,62:w,63:$},{23:72,62:w,63:$},e(k,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:P,20:77,21:U,24:Y,26:V,28:B,30:Q},e(k,[2,19]),e(k,[2,33]),{22:[1,78]},{22:[1,79]},{5:G,30:z,46:80,47:X,49:J},e(k,[2,37]),e(k,[2,38]),e(k,[2,39]),{23:81,62:w,63:$},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(k,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(k,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:P,20:106,21:U,24:Y,26:V,28:B,30:Q},{5:P,20:107,21:U,24:Y,26:V,28:B,30:Q},{5:P,20:108,21:U,24:Y,26:V,28:B,30:Q},{5:P,20:109,21:U,24:Y,26:V,28:B,30:Q},{5:G,30:z,46:110,47:X,49:J},{5:G,30:z,46:111,47:X,49:J},e(k,[2,14]),e(k,[2,15]),e(k,[2,16]),e(k,[2,17]),e(k,[2,34]),e(k,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:n(function(v,t){if(t.recoverable)this.trace(v);else{var a=new Error(v);throw a.hash=t,a}},"parseError"),parse:n(function(v){var t=this,a=[0],r=[],d=[null],s=[],T=this.table,E="",ee=0,Ie=0,Ce=0,Le=2,Se=1,Fe=s.slice.call(arguments,1),R=Object.create(this.lexer),F={yy:{}};for(var ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ne)&&(F.yy[ne]=this.yy[ne]);R.setInput(v,F.yy),F.yy.lexer=R,F.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var se=R.yylloc;s.push(se);var Me=R.options&&R.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function De(b){a.length=a.length-2*b,d.length=d.length-b,s.length=s.length-b}n(De,"popStack");function ke(){var b;return b=r.pop()||R.lex()||Se,typeof b!="number"&&(b instanceof Array&&(r=b,b=r.pop()),b=t.symbols_[b]||b),b}n(ke,"lex");for(var I,ae,M,x,Tt,le,W={},te,O,Te,ie;;){if(M=a[a.length-1],this.defaultActions[M]?x=this.defaultActions[M]:((I===null||typeof I>"u")&&(I=ke()),x=T[M]&&T[M][I]),typeof x>"u"||!x.length||!x[0]){var oe="";ie=[];for(te in T[M])this.terminals_[te]&&te>Le&&ie.push("'"+this.terminals_[te]+"'");R.showPosition?oe="Parse error on line "+(ee+1)+`: `+R.showPosition()+` Expecting `+ie.join(", ")+", got '"+(this.terminals_[I]||I)+"'":oe="Parse error on line "+(ee+1)+": Unexpected "+(I==Se?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(oe,{text:R.match,token:this.terminals_[I]||I,line:R.yylineno,loc:se,expected:ie})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+I);switch(x[0]){case 1:a.push(I),d.push(R.yytext),s.push(R.yylloc),a.push(x[1]),I=null,ae?(I=ae,ae=null):(Ie=R.yyleng,E=R.yytext,ee=R.yylineno,se=R.yylloc,Ce>0);break;case 2:if(O=this.productions_[x[1]][1],W.$=d[d.length-O],W._$={first_line:s[s.length-(O||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(O||1)].first_column,last_column:s[s.length-1].last_column},Me&&(W._$.range=[s[s.length-(O||1)].range[0],s[s.length-1].range[1]]),le=this.performAction.apply(W,[E,Ie,ee,F.yy,x[1],d,s].concat(Fe)),typeof le<"u")return le;O&&(a=a.slice(0,-1*O*2),d=d.slice(0,-1*O),s=s.slice(0,-1*O)),a.push(this.productions_[x[1]][0]),d.push(W.$),s.push(W._$),Te=T[a[a.length-2]][a[a.length-1]],a.push(Te);break;case 3:return!0}}return!0},"parse")},Oe=function(){var v={EOF:1,parseError:n(function(t,a){if(this.yy.parser)this.yy.parser.parseError(t,a);else throw new Error(t)},"parseError"),setInput:n(function(t,a){return this.yy=a||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var a=t.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:n(function(t){var a=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===d.length?this.yylloc.first_column:0)+d[d.length-r.length].length-r[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(t){this.unput(this.match.slice(t))},"less"),pastInput:n(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var t=this.pastInput(),a=new Array(t.length+1).join("-");return t+this.upcomingInput()+` diff --git a/version/6.0/assets/sankeyDiagram-T6MWQN27-CVeTlx1p.js b/version/6.0/assets/sankeyDiagram-T6MWQN27-GOwLKKBv.js similarity index 99% rename from version/6.0/assets/sankeyDiagram-T6MWQN27-CVeTlx1p.js rename to version/6.0/assets/sankeyDiagram-T6MWQN27-GOwLKKBv.js index 8eca173dc..78375b450 100644 --- a/version/6.0/assets/sankeyDiagram-T6MWQN27-CVeTlx1p.js +++ b/version/6.0/assets/sankeyDiagram-T6MWQN27-GOwLKKBv.js @@ -1,4 +1,4 @@ -import{m as n,h as zt,a as jt,W as dt,k as Bt,T as Wt,v as Ft,S as Rt,B as Ut,w as Vt,i as qt,r as K,aY as Gt,b7 as Ht,bf as Qt}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var st=function(){var t=n(function(x,r,a,f){for(a=a||{},f=x.length;f--;a[x[f]]=r);return a},"o"),i=[1,9],s=[1,10],l=[1,5,10,12],h={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:n(function(x,r,a,f,k,d,b){var v=d.length-1;switch(k){case 7:let C=f.findOrCreateNode(d[v-4].trim().replaceAll('""','"')),A=f.findOrCreateNode(d[v-2].trim().replaceAll('""','"')),N=parseFloat(d[v].trim());f.addLink(C,A,N);break;case 8:case 9:case 11:this.$=d[v];break;case 10:this.$=d[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:i,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(l,[2,8]),t(l,[2,9]),{19:[1,16]},t(l,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:i,20:s},{15:18,16:7,17:8,18:i,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(l,[2,10]),{15:21,16:7,17:8,18:i,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:n(function(x,r){if(r.recoverable)this.trace(x);else{var a=new Error(x);throw a.hash=r,a}},"parseError"),parse:n(function(x){var r=this,a=[0],f=[],k=[null],d=[],b=this.table,v="",C=0,A=0,N=0,z=2,M=1,j=d.slice.call(arguments,1),L=Object.create(this.lexer),I={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(I.yy[D]=this.yy[D]);L.setInput(x,I.yy),I.yy.lexer=L,I.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var g=L.yylloc;d.push(g);var S=L.options&&L.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function q(E){a.length=a.length-2*E,k.length=k.length-E,d.length=d.length-E}n(q,"popStack");function F(){var E;return E=f.pop()||L.lex()||M,typeof E!="number"&&(E instanceof Array&&(f=E,E=f.pop()),E=r.symbols_[E]||E),E}n(F,"lex");for(var T,R,P,e,y,u,c={},o,p,w,$;;){if(P=a[a.length-1],this.defaultActions[P]?e=this.defaultActions[P]:((T===null||typeof T>"u")&&(T=F()),e=b[P]&&b[P][T]),typeof e>"u"||!e.length||!e[0]){var O="";$=[];for(o in b[P])this.terminals_[o]&&o>z&&$.push("'"+this.terminals_[o]+"'");L.showPosition?O="Parse error on line "+(C+1)+`: +import{m as n,h as zt,a as jt,W as dt,k as Bt,T as Wt,v as Ft,S as Rt,B as Ut,w as Vt,i as qt,r as K,aY as Gt,b7 as Ht,bf as Qt}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var st=function(){var t=n(function(x,r,a,f){for(a=a||{},f=x.length;f--;a[x[f]]=r);return a},"o"),i=[1,9],s=[1,10],l=[1,5,10,12],h={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:n(function(x,r,a,f,k,d,b){var v=d.length-1;switch(k){case 7:let C=f.findOrCreateNode(d[v-4].trim().replaceAll('""','"')),A=f.findOrCreateNode(d[v-2].trim().replaceAll('""','"')),N=parseFloat(d[v].trim());f.addLink(C,A,N);break;case 8:case 9:case 11:this.$=d[v];break;case 10:this.$=d[v-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:i,20:s},{1:[2,6],7:11,10:[1,12]},t(s,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(l,[2,8]),t(l,[2,9]),{19:[1,16]},t(l,[2,11]),{1:[2,1]},{1:[2,5]},t(s,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:i,20:s},{15:18,16:7,17:8,18:i,20:s},{18:[1,19]},t(s,[2,3]),{12:[1,20]},t(l,[2,10]),{15:21,16:7,17:8,18:i,20:s},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:n(function(x,r){if(r.recoverable)this.trace(x);else{var a=new Error(x);throw a.hash=r,a}},"parseError"),parse:n(function(x){var r=this,a=[0],f=[],k=[null],d=[],b=this.table,v="",C=0,A=0,N=0,z=2,M=1,j=d.slice.call(arguments,1),L=Object.create(this.lexer),I={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(I.yy[D]=this.yy[D]);L.setInput(x,I.yy),I.yy.lexer=L,I.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var g=L.yylloc;d.push(g);var S=L.options&&L.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function q(E){a.length=a.length-2*E,k.length=k.length-E,d.length=d.length-E}n(q,"popStack");function F(){var E;return E=f.pop()||L.lex()||M,typeof E!="number"&&(E instanceof Array&&(f=E,E=f.pop()),E=r.symbols_[E]||E),E}n(F,"lex");for(var T,R,P,e,y,u,c={},o,p,w,$;;){if(P=a[a.length-1],this.defaultActions[P]?e=this.defaultActions[P]:((T===null||typeof T>"u")&&(T=F()),e=b[P]&&b[P][T]),typeof e>"u"||!e.length||!e[0]){var O="";$=[];for(o in b[P])this.terminals_[o]&&o>z&&$.push("'"+this.terminals_[o]+"'");L.showPosition?O="Parse error on line "+(C+1)+`: `+L.showPosition()+` Expecting `+$.join(", ")+", got '"+(this.terminals_[T]||T)+"'":O="Parse error on line "+(C+1)+": Unexpected "+(T==M?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(O,{text:L.match,token:this.terminals_[T]||T,line:L.yylineno,loc:g,expected:$})}if(e[0]instanceof Array&&e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+T);switch(e[0]){case 1:a.push(T),k.push(L.yytext),d.push(L.yylloc),a.push(e[1]),T=null,R?(T=R,R=null):(A=L.yyleng,v=L.yytext,C=L.yylineno,g=L.yylloc,N>0);break;case 2:if(p=this.productions_[e[1]][1],c.$=k[k.length-p],c._$={first_line:d[d.length-(p||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(p||1)].first_column,last_column:d[d.length-1].last_column},S&&(c._$.range=[d[d.length-(p||1)].range[0],d[d.length-1].range[1]]),u=this.performAction.apply(c,[v,A,C,I.yy,e[1],k,d].concat(j)),typeof u<"u")return u;p&&(a=a.slice(0,-1*p*2),k=k.slice(0,-1*p),d=d.slice(0,-1*p)),a.push(this.productions_[e[1]][0]),k.push(c.$),d.push(c._$),w=b[a[a.length-2]][a[a.length-1]],a.push(w);break;case 3:return!0}}return!0},"parse")},m=function(){var x={EOF:1,parseError:n(function(r,a){if(this.yy.parser)this.yy.parser.parseError(r,a);else throw new Error(r)},"parseError"),setInput:n(function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:n(function(r){var a=r.length,f=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===k.length?this.yylloc.first_column:0)+k[k.length-f.length].length-f[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(r){this.unput(this.match.slice(r))},"less"),pastInput:n(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/version/6.0/assets/sequenceDiagram-EUUTCHHZ-R1f2ZA2q.js b/version/6.0/assets/sequenceDiagram-EUUTCHHZ-AO_Upkqm.js similarity index 99% rename from version/6.0/assets/sequenceDiagram-EUUTCHHZ-R1f2ZA2q.js rename to version/6.0/assets/sequenceDiagram-EUUTCHHZ-AO_Upkqm.js index 814558e09..9856b3685 100644 --- a/version/6.0/assets/sequenceDiagram-EUUTCHHZ-R1f2ZA2q.js +++ b/version/6.0/assets/sequenceDiagram-EUUTCHHZ-AO_Upkqm.js @@ -1,4 +1,4 @@ -import{s as Oe}from"./chunk-VSLJSFIP-BVEukhlm.js";import{x as De,h as At,E as Se,d as Re,f as Ht,g as Ce}from"./chunk-44WTIFVW-sd9ASQhj.js";import{m as d,W as st,h as $e,t as G,D as Mt,T as re,k as Be,B as Ye,w as Ve,S as Fe,v as We,q as qe,f as ze,b0 as se,at as Vt,a as P,aW as ie,b1 as dt,I as Y,L as He,r as kt,C as Ue,b2 as wt,b3 as je}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Ft=function(){var t=d(function(ct,E,_,T){for(_=_||{},T=ct.length;T--;_[ct[T]]=E);return _},"o"),e=[1,2],n=[1,3],a=[1,4],s=[2,4],i=[1,9],c=[1,11],h=[1,13],p=[1,14],r=[1,16],x=[1,17],f=[1,18],u=[1,24],b=[1,25],w=[1,26],L=[1,27],k=[1,28],$=[1,29],O=[1,30],B=[1,31],S=[1,32],W=[1,33],q=[1,34],J=[1,35],et=[1,36],z=[1,37],H=[1,38],F=[1,39],D=[1,41],Q=[1,42],j=[1,43],Z=[1,44],at=[1,45],M=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],v=[4,5,16,50,52,53],X=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],it=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],N=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],nt=[68,69,70],ht=[1,122],St={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:d(function(ct,E,_,T,A,l,K){var g=l.length-1;switch(A){case 3:return T.apply(l[g]),l[g];case 4:case 9:this.$=[];break;case 5:case 10:l[g-1].push(l[g]),this.$=l[g-1];break;case 6:case 7:case 11:case 12:this.$=l[g];break;case 8:case 13:this.$=[];break;case 15:l[g].type="createParticipant",this.$=l[g];break;case 16:l[g-1].unshift({type:"boxStart",boxData:T.parseBoxData(l[g-2])}),l[g-1].push({type:"boxEnd",boxText:l[g-2]}),this.$=l[g-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[g-2]),sequenceIndexStep:Number(l[g-1]),sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[g-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:T.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[g-1].actor};break;case 23:this.$={type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[g-1].actor};break;case 29:T.setDiagramTitle(l[g].substring(6)),this.$=l[g].substring(6);break;case 30:T.setDiagramTitle(l[g].substring(7)),this.$=l[g].substring(7);break;case 31:this.$=l[g].trim(),T.setAccTitle(this.$);break;case 32:case 33:this.$=l[g].trim(),T.setAccDescription(this.$);break;case 34:l[g-1].unshift({type:"loopStart",loopText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.LOOP_START}),l[g-1].push({type:"loopEnd",loopText:l[g-2],signalType:T.LINETYPE.LOOP_END}),this.$=l[g-1];break;case 35:l[g-1].unshift({type:"rectStart",color:T.parseMessage(l[g-2]),signalType:T.LINETYPE.RECT_START}),l[g-1].push({type:"rectEnd",color:T.parseMessage(l[g-2]),signalType:T.LINETYPE.RECT_END}),this.$=l[g-1];break;case 36:l[g-1].unshift({type:"optStart",optText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.OPT_START}),l[g-1].push({type:"optEnd",optText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.OPT_END}),this.$=l[g-1];break;case 37:l[g-1].unshift({type:"altStart",altText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.ALT_START}),l[g-1].push({type:"altEnd",signalType:T.LINETYPE.ALT_END}),this.$=l[g-1];break;case 38:l[g-1].unshift({type:"parStart",parText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.PAR_START}),l[g-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[g-1];break;case 39:l[g-1].unshift({type:"parStart",parText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.PAR_OVER_START}),l[g-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[g-1];break;case 40:l[g-1].unshift({type:"criticalStart",criticalText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.CRITICAL_START}),l[g-1].push({type:"criticalEnd",signalType:T.LINETYPE.CRITICAL_END}),this.$=l[g-1];break;case 41:l[g-1].unshift({type:"breakStart",breakText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.BREAK_START}),l[g-1].push({type:"breakEnd",optText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.BREAK_END}),this.$=l[g-1];break;case 43:this.$=l[g-3].concat([{type:"option",optionText:T.parseMessage(l[g-1]),signalType:T.LINETYPE.CRITICAL_OPTION},l[g]]);break;case 45:this.$=l[g-3].concat([{type:"and",parText:T.parseMessage(l[g-1]),signalType:T.LINETYPE.PAR_AND},l[g]]);break;case 47:this.$=l[g-3].concat([{type:"else",altText:T.parseMessage(l[g-1]),signalType:T.LINETYPE.ALT_ELSE},l[g]]);break;case 48:l[g-3].draw="participant",l[g-3].type="addParticipant",l[g-3].description=T.parseMessage(l[g-1]),this.$=l[g-3];break;case 49:l[g-1].draw="participant",l[g-1].type="addParticipant",this.$=l[g-1];break;case 50:l[g-3].draw="actor",l[g-3].type="addParticipant",l[g-3].description=T.parseMessage(l[g-1]),this.$=l[g-3];break;case 51:l[g-1].draw="actor",l[g-1].type="addParticipant",this.$=l[g-1];break;case 52:l[g-1].type="destroyParticipant",this.$=l[g-1];break;case 53:this.$=[l[g-1],{type:"addNote",placement:l[g-2],actor:l[g-1].actor,text:l[g]}];break;case 54:l[g-2]=[].concat(l[g-1],l[g-1]).slice(0,2),l[g-2][0]=l[g-2][0].actor,l[g-2][1]=l[g-2][1].actor,this.$=[l[g-1],{type:"addNote",placement:T.PLACEMENT.OVER,actor:l[g-2].slice(0,2),text:l[g]}];break;case 55:this.$=[l[g-1],{type:"addLinks",actor:l[g-1].actor,text:l[g]}];break;case 56:this.$=[l[g-1],{type:"addALink",actor:l[g-1].actor,text:l[g]}];break;case 57:this.$=[l[g-1],{type:"addProperties",actor:l[g-1].actor,text:l[g]}];break;case 58:this.$=[l[g-1],{type:"addDetails",actor:l[g-1].actor,text:l[g]}];break;case 61:this.$=[l[g-2],l[g]];break;case 62:this.$=l[g];break;case 63:this.$=T.PLACEMENT.LEFTOF;break;case 64:this.$=T.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[g-4],l[g-1],{type:"addMessage",from:l[g-4].actor,to:l[g-1].actor,signalType:l[g-3],msg:l[g],activate:!0},{type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[g-1].actor}];break;case 66:this.$=[l[g-4],l[g-1],{type:"addMessage",from:l[g-4].actor,to:l[g-1].actor,signalType:l[g-3],msg:l[g]},{type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[g-4].actor}];break;case 67:this.$=[l[g-3],l[g-1],{type:"addMessage",from:l[g-3].actor,to:l[g-1].actor,signalType:l[g-2],msg:l[g]}];break;case 68:this.$={type:"addParticipant",actor:l[g]};break;case 69:this.$=T.LINETYPE.SOLID_OPEN;break;case 70:this.$=T.LINETYPE.DOTTED_OPEN;break;case 71:this.$=T.LINETYPE.SOLID;break;case 72:this.$=T.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=T.LINETYPE.DOTTED;break;case 74:this.$=T.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=T.LINETYPE.SOLID_CROSS;break;case 76:this.$=T.LINETYPE.DOTTED_CROSS;break;case 77:this.$=T.LINETYPE.SOLID_POINT;break;case 78:this.$=T.LINETYPE.DOTTED_POINT;break;case 79:this.$=T.parseMessage(l[g].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:n,6:a},{1:[3]},{3:5,4:e,5:n,6:a},{3:6,4:e,5:n,6:a},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},t(y,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:z,52:H,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:M},{22:55,70:M},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:M},{22:72,70:M},{22:73,70:M},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:M},{22:90,70:M},{22:91,70:M},{22:92,70:M},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(y,[2,6]),t(y,[2,15]),t(v,[2,9],{10:93}),t(y,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(y,[2,21]),{5:[1,97]},{5:[1,98]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t(X,s,{7:99}),t(X,s,{7:100}),t(X,s,{7:101}),t(it,s,{40:102,7:103}),t(N,s,{42:104,7:105}),t(N,s,{7:105,42:106}),t(Gt,s,{45:107,7:108}),t(X,s,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:M},t(nt,[2,69]),t(nt,[2,70]),t(nt,[2,71]),t(nt,[2,72]),t(nt,[2,73]),t(nt,[2,74]),t(nt,[2,75]),t(nt,[2,76]),t(nt,[2,77]),t(nt,[2,78]),{22:118,70:M},{22:120,58:119,70:M},{70:[2,63]},{70:[2,64]},{56:121,81:ht},{56:123,81:ht},{56:124,81:ht},{56:125,81:ht},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:z,52:H,53:F},{5:[1,131]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,133],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,134],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{16:[1,135]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,49:[1,136],50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{16:[1,137]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,48:[1,138],50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{16:[1,139]},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,47:[1,141],50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,142],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{15:[1,143]},t(y,[2,49]),{15:[1,144]},t(y,[2,51]),t(y,[2,52]),{22:145,70:M},{22:146,70:M},{56:147,81:ht},{56:148,81:ht},{56:149,81:ht},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(v,[2,10]),{12:151,50:z,52:H,53:F},t(v,[2,12]),t(v,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,152]},t(y,[2,38]),{15:[1,153]},t(y,[2,39]),t(y,[2,40]),{15:[1,154]},t(y,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:ht},{56:158,81:ht},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:M},t(v,[2,11]),t(it,s,{7:103,40:160}),t(N,s,{7:105,42:161}),t(Gt,s,{7:108,45:162}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:d(function(ct,E){if(E.recoverable)this.trace(ct);else{var _=new Error(ct);throw _.hash=E,_}},"parseError"),parse:d(function(ct){var E=this,_=[0],T=[],A=[null],l=[],K=this.table,g="",Pt=0,Jt=0,ve=0,ke=2,Qt=1,Ne=l.slice.call(arguments,1),V=Object.create(this.lexer),gt={yy:{}};for(var Rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Rt)&&(gt.yy[Rt]=this.yy[Rt]);V.setInput(ct,gt.yy),gt.yy.lexer=V,gt.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var Ct=V.yylloc;l.push(Ct);var Ae=V.options&&V.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(tt){_.length=_.length-2*tt,A.length=A.length-tt,l.length=l.length-tt}d(Me,"popStack");function Zt(){var tt;return tt=T.pop()||V.lex()||Qt,typeof tt!="number"&&(tt instanceof Array&&(T=tt,tt=T.pop()),tt=E.symbols_[tt]||tt),tt}d(Zt,"lex");for(var U,$t,ut,rt,j0,Bt,yt={},_t,pt,Xt,vt;;){if(ut=_[_.length-1],this.defaultActions[ut]?rt=this.defaultActions[ut]:((U===null||typeof U>"u")&&(U=Zt()),rt=K[ut]&&K[ut][U]),typeof rt>"u"||!rt.length||!rt[0]){var Yt="";vt=[];for(_t in K[ut])this.terminals_[_t]&&_t>ke&&vt.push("'"+this.terminals_[_t]+"'");V.showPosition?Yt="Parse error on line "+(Pt+1)+`: +import{s as Oe}from"./chunk-VSLJSFIP-CH0BQGll.js";import{x as De,h as At,E as Se,d as Re,f as Ht,g as Ce}from"./chunk-44WTIFVW-DzlTngNx.js";import{m as d,W as st,h as $e,t as G,D as Mt,T as re,k as Be,B as Ye,w as Ve,S as Fe,v as We,q as qe,f as ze,b0 as se,at as Vt,a as P,aW as ie,b1 as dt,I as Y,L as He,r as kt,C as Ue,b2 as wt,b3 as je}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Ft=function(){var t=d(function(ct,E,_,T){for(_=_||{},T=ct.length;T--;_[ct[T]]=E);return _},"o"),e=[1,2],n=[1,3],a=[1,4],s=[2,4],i=[1,9],c=[1,11],h=[1,13],p=[1,14],r=[1,16],x=[1,17],f=[1,18],u=[1,24],b=[1,25],w=[1,26],L=[1,27],k=[1,28],$=[1,29],O=[1,30],B=[1,31],S=[1,32],W=[1,33],q=[1,34],J=[1,35],et=[1,36],z=[1,37],H=[1,38],F=[1,39],D=[1,41],Q=[1,42],j=[1,43],Z=[1,44],at=[1,45],M=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],v=[4,5,16,50,52,53],X=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],it=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],N=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],nt=[68,69,70],ht=[1,122],St={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:d(function(ct,E,_,T,A,l,K){var g=l.length-1;switch(A){case 3:return T.apply(l[g]),l[g];case 4:case 9:this.$=[];break;case 5:case 10:l[g-1].push(l[g]),this.$=l[g-1];break;case 6:case 7:case 11:case 12:this.$=l[g];break;case 8:case 13:this.$=[];break;case 15:l[g].type="createParticipant",this.$=l[g];break;case 16:l[g-1].unshift({type:"boxStart",boxData:T.parseBoxData(l[g-2])}),l[g-1].push({type:"boxEnd",boxText:l[g-2]}),this.$=l[g-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[g-2]),sequenceIndexStep:Number(l[g-1]),sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[g-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:T.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:T.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[g-1].actor};break;case 23:this.$={type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[g-1].actor};break;case 29:T.setDiagramTitle(l[g].substring(6)),this.$=l[g].substring(6);break;case 30:T.setDiagramTitle(l[g].substring(7)),this.$=l[g].substring(7);break;case 31:this.$=l[g].trim(),T.setAccTitle(this.$);break;case 32:case 33:this.$=l[g].trim(),T.setAccDescription(this.$);break;case 34:l[g-1].unshift({type:"loopStart",loopText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.LOOP_START}),l[g-1].push({type:"loopEnd",loopText:l[g-2],signalType:T.LINETYPE.LOOP_END}),this.$=l[g-1];break;case 35:l[g-1].unshift({type:"rectStart",color:T.parseMessage(l[g-2]),signalType:T.LINETYPE.RECT_START}),l[g-1].push({type:"rectEnd",color:T.parseMessage(l[g-2]),signalType:T.LINETYPE.RECT_END}),this.$=l[g-1];break;case 36:l[g-1].unshift({type:"optStart",optText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.OPT_START}),l[g-1].push({type:"optEnd",optText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.OPT_END}),this.$=l[g-1];break;case 37:l[g-1].unshift({type:"altStart",altText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.ALT_START}),l[g-1].push({type:"altEnd",signalType:T.LINETYPE.ALT_END}),this.$=l[g-1];break;case 38:l[g-1].unshift({type:"parStart",parText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.PAR_START}),l[g-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[g-1];break;case 39:l[g-1].unshift({type:"parStart",parText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.PAR_OVER_START}),l[g-1].push({type:"parEnd",signalType:T.LINETYPE.PAR_END}),this.$=l[g-1];break;case 40:l[g-1].unshift({type:"criticalStart",criticalText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.CRITICAL_START}),l[g-1].push({type:"criticalEnd",signalType:T.LINETYPE.CRITICAL_END}),this.$=l[g-1];break;case 41:l[g-1].unshift({type:"breakStart",breakText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.BREAK_START}),l[g-1].push({type:"breakEnd",optText:T.parseMessage(l[g-2]),signalType:T.LINETYPE.BREAK_END}),this.$=l[g-1];break;case 43:this.$=l[g-3].concat([{type:"option",optionText:T.parseMessage(l[g-1]),signalType:T.LINETYPE.CRITICAL_OPTION},l[g]]);break;case 45:this.$=l[g-3].concat([{type:"and",parText:T.parseMessage(l[g-1]),signalType:T.LINETYPE.PAR_AND},l[g]]);break;case 47:this.$=l[g-3].concat([{type:"else",altText:T.parseMessage(l[g-1]),signalType:T.LINETYPE.ALT_ELSE},l[g]]);break;case 48:l[g-3].draw="participant",l[g-3].type="addParticipant",l[g-3].description=T.parseMessage(l[g-1]),this.$=l[g-3];break;case 49:l[g-1].draw="participant",l[g-1].type="addParticipant",this.$=l[g-1];break;case 50:l[g-3].draw="actor",l[g-3].type="addParticipant",l[g-3].description=T.parseMessage(l[g-1]),this.$=l[g-3];break;case 51:l[g-1].draw="actor",l[g-1].type="addParticipant",this.$=l[g-1];break;case 52:l[g-1].type="destroyParticipant",this.$=l[g-1];break;case 53:this.$=[l[g-1],{type:"addNote",placement:l[g-2],actor:l[g-1].actor,text:l[g]}];break;case 54:l[g-2]=[].concat(l[g-1],l[g-1]).slice(0,2),l[g-2][0]=l[g-2][0].actor,l[g-2][1]=l[g-2][1].actor,this.$=[l[g-1],{type:"addNote",placement:T.PLACEMENT.OVER,actor:l[g-2].slice(0,2),text:l[g]}];break;case 55:this.$=[l[g-1],{type:"addLinks",actor:l[g-1].actor,text:l[g]}];break;case 56:this.$=[l[g-1],{type:"addALink",actor:l[g-1].actor,text:l[g]}];break;case 57:this.$=[l[g-1],{type:"addProperties",actor:l[g-1].actor,text:l[g]}];break;case 58:this.$=[l[g-1],{type:"addDetails",actor:l[g-1].actor,text:l[g]}];break;case 61:this.$=[l[g-2],l[g]];break;case 62:this.$=l[g];break;case 63:this.$=T.PLACEMENT.LEFTOF;break;case 64:this.$=T.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[g-4],l[g-1],{type:"addMessage",from:l[g-4].actor,to:l[g-1].actor,signalType:l[g-3],msg:l[g],activate:!0},{type:"activeStart",signalType:T.LINETYPE.ACTIVE_START,actor:l[g-1].actor}];break;case 66:this.$=[l[g-4],l[g-1],{type:"addMessage",from:l[g-4].actor,to:l[g-1].actor,signalType:l[g-3],msg:l[g]},{type:"activeEnd",signalType:T.LINETYPE.ACTIVE_END,actor:l[g-4].actor}];break;case 67:this.$=[l[g-3],l[g-1],{type:"addMessage",from:l[g-3].actor,to:l[g-1].actor,signalType:l[g-2],msg:l[g]}];break;case 68:this.$={type:"addParticipant",actor:l[g]};break;case 69:this.$=T.LINETYPE.SOLID_OPEN;break;case 70:this.$=T.LINETYPE.DOTTED_OPEN;break;case 71:this.$=T.LINETYPE.SOLID;break;case 72:this.$=T.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=T.LINETYPE.DOTTED;break;case 74:this.$=T.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=T.LINETYPE.SOLID_CROSS;break;case 76:this.$=T.LINETYPE.DOTTED_CROSS;break;case 77:this.$=T.LINETYPE.SOLID_POINT;break;case 78:this.$=T.LINETYPE.DOTTED_POINT;break;case 79:this.$=T.parseMessage(l[g].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:n,6:a},{1:[3]},{3:5,4:e,5:n,6:a},{3:6,4:e,5:n,6:a},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],s,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},t(y,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:z,52:H,53:F},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:M},{22:55,70:M},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:M},{22:72,70:M},{22:73,70:M},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:M},{22:90,70:M},{22:91,70:M},{22:92,70:M},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(y,[2,6]),t(y,[2,15]),t(v,[2,9],{10:93}),t(y,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(y,[2,21]),{5:[1,97]},{5:[1,98]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t(X,s,{7:99}),t(X,s,{7:100}),t(X,s,{7:101}),t(it,s,{40:102,7:103}),t(N,s,{42:104,7:105}),t(N,s,{7:105,42:106}),t(Gt,s,{45:107,7:108}),t(X,s,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:M},t(nt,[2,69]),t(nt,[2,70]),t(nt,[2,71]),t(nt,[2,72]),t(nt,[2,73]),t(nt,[2,74]),t(nt,[2,75]),t(nt,[2,76]),t(nt,[2,77]),t(nt,[2,78]),{22:118,70:M},{22:120,58:119,70:M},{70:[2,63]},{70:[2,64]},{56:121,81:ht},{56:123,81:ht},{56:124,81:ht},{56:125,81:ht},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:z,52:H,53:F},{5:[1,131]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,133],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,134],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{16:[1,135]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,49:[1,136],50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{16:[1,137]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,48:[1,138],50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{16:[1,139]},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,47:[1,141],50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,142],17:15,18:r,21:x,22:40,23:f,24:19,25:20,26:21,27:22,28:23,29:u,30:b,31:w,33:L,35:k,36:$,37:O,38:B,39:S,41:W,43:q,44:J,46:et,50:z,52:H,53:F,54:D,59:Q,60:j,61:Z,62:at,70:M},{15:[1,143]},t(y,[2,49]),{15:[1,144]},t(y,[2,51]),t(y,[2,52]),{22:145,70:M},{22:146,70:M},{56:147,81:ht},{56:148,81:ht},{56:149,81:ht},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(v,[2,10]),{12:151,50:z,52:H,53:F},t(v,[2,12]),t(v,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,152]},t(y,[2,38]),{15:[1,153]},t(y,[2,39]),t(y,[2,40]),{15:[1,154]},t(y,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:ht},{56:158,81:ht},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:M},t(v,[2,11]),t(it,s,{7:103,40:160}),t(N,s,{7:105,42:161}),t(Gt,s,{7:108,45:162}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:d(function(ct,E){if(E.recoverable)this.trace(ct);else{var _=new Error(ct);throw _.hash=E,_}},"parseError"),parse:d(function(ct){var E=this,_=[0],T=[],A=[null],l=[],K=this.table,g="",Pt=0,Jt=0,ve=0,ke=2,Qt=1,Ne=l.slice.call(arguments,1),V=Object.create(this.lexer),gt={yy:{}};for(var Rt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Rt)&&(gt.yy[Rt]=this.yy[Rt]);V.setInput(ct,gt.yy),gt.yy.lexer=V,gt.yy.parser=this,typeof V.yylloc>"u"&&(V.yylloc={});var Ct=V.yylloc;l.push(Ct);var Ae=V.options&&V.options.ranges;typeof gt.yy.parseError=="function"?this.parseError=gt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(tt){_.length=_.length-2*tt,A.length=A.length-tt,l.length=l.length-tt}d(Me,"popStack");function Zt(){var tt;return tt=T.pop()||V.lex()||Qt,typeof tt!="number"&&(tt instanceof Array&&(T=tt,tt=T.pop()),tt=E.symbols_[tt]||tt),tt}d(Zt,"lex");for(var U,$t,ut,rt,j0,Bt,yt={},_t,pt,Xt,vt;;){if(ut=_[_.length-1],this.defaultActions[ut]?rt=this.defaultActions[ut]:((U===null||typeof U>"u")&&(U=Zt()),rt=K[ut]&&K[ut][U]),typeof rt>"u"||!rt.length||!rt[0]){var Yt="";vt=[];for(_t in K[ut])this.terminals_[_t]&&_t>ke&&vt.push("'"+this.terminals_[_t]+"'");V.showPosition?Yt="Parse error on line "+(Pt+1)+`: `+V.showPosition()+` Expecting `+vt.join(", ")+", got '"+(this.terminals_[U]||U)+"'":Yt="Parse error on line "+(Pt+1)+": Unexpected "+(U==Qt?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(Yt,{text:V.match,token:this.terminals_[U]||U,line:V.yylineno,loc:Ct,expected:vt})}if(rt[0]instanceof Array&&rt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ut+", token: "+U);switch(rt[0]){case 1:_.push(U),A.push(V.yytext),l.push(V.yylloc),_.push(rt[1]),U=null,$t?(U=$t,$t=null):(Jt=V.yyleng,g=V.yytext,Pt=V.yylineno,Ct=V.yylloc,ve>0);break;case 2:if(pt=this.productions_[rt[1]][1],yt.$=A[A.length-pt],yt._$={first_line:l[l.length-(pt||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(pt||1)].first_column,last_column:l[l.length-1].last_column},Ae&&(yt._$.range=[l[l.length-(pt||1)].range[0],l[l.length-1].range[1]]),Bt=this.performAction.apply(yt,[g,Jt,Pt,gt.yy,rt[1],A,l].concat(Ne)),typeof Bt<"u")return Bt;pt&&(_=_.slice(0,-1*pt*2),A=A.slice(0,-1*pt),l=l.slice(0,-1*pt)),_.push(this.productions_[rt[1]][0]),A.push(yt.$),l.push(yt._$),Xt=K[_[_.length-2]][_[_.length-1]],_.push(Xt);break;case 3:return!0}}return!0},"parse")},_e=function(){var ct={EOF:1,parseError:d(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:d(function(E,_){return this.yy=_||this.yy||{},this._input=E,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},"input"),unput:d(function(E){var _=E.length,T=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),T.length-1&&(this.yylineno-=T.length-1);var l=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:T?(T.length===A.length?this.yylloc.first_column:0)+A[A.length-T.length].length-T[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[l[0],l[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(E){this.unput(this.match.slice(E))},"less"),pastInput:d(function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+` diff --git a/version/6.0/assets/setupDevtools-7MC2TMWH-CQnbRH05.js b/version/6.0/assets/setupDevtools-7MC2TMWH-D295vJLs.js similarity index 93% rename from version/6.0/assets/setupDevtools-7MC2TMWH-CQnbRH05.js rename to version/6.0/assets/setupDevtools-7MC2TMWH-D295vJLs.js index 7a085cc7b..42b5865f2 100644 --- a/version/6.0/assets/setupDevtools-7MC2TMWH-CQnbRH05.js +++ b/version/6.0/assets/setupDevtools-7MC2TMWH-D295vJLs.js @@ -1 +1 @@ -import{s as T,w as E}from"./app-chHFUe1n.js";var l="org.vuejs.vuepress",v="VuePress",I=v,r=l,N=v,i="client-data",a="Client Data",g=(p,n)=>{T({app:p,id:l,label:v,packageName:"@vuepress/client",homepage:"https://vuepress.vuejs.org",logo:"https://vuepress.vuejs.org/images/hero.png",componentStateTypes:[I]},t=>{const c=Object.entries(n),u=Object.keys(n),d=Object.values(n);t.on.inspectComponent(e=>{e.instanceData.state.push(...c.map(([s,o])=>({type:I,editable:!1,key:s,value:o.value})))}),t.addInspector({id:r,label:N,icon:"article"}),t.on.getInspectorTree(e=>{e.inspectorId===r&&(e.rootNodes=[{id:i,label:a,children:u.map(s=>({id:s,label:s}))}])}),t.on.getInspectorState(e=>{e.inspectorId===r&&(e.nodeId===i&&(e.state={[a]:c.map(([s,o])=>({key:s,value:o.value}))}),u.includes(e.nodeId)&&(e.state={[a]:[{key:e.nodeId,value:n[e.nodeId].value}]}))}),E(d,()=>{t.notifyComponentUpdate(),t.sendInspectorState(r)})})};export{g as setupDevtools}; +import{s as T,w as E}from"./app-vBJoMoyQ.js";var l="org.vuejs.vuepress",v="VuePress",I=v,r=l,N=v,i="client-data",a="Client Data",g=(p,n)=>{T({app:p,id:l,label:v,packageName:"@vuepress/client",homepage:"https://vuepress.vuejs.org",logo:"https://vuepress.vuejs.org/images/hero.png",componentStateTypes:[I]},t=>{const c=Object.entries(n),u=Object.keys(n),d=Object.values(n);t.on.inspectComponent(e=>{e.instanceData.state.push(...c.map(([s,o])=>({type:I,editable:!1,key:s,value:o.value})))}),t.addInspector({id:r,label:N,icon:"article"}),t.on.getInspectorTree(e=>{e.inspectorId===r&&(e.rootNodes=[{id:i,label:a,children:u.map(s=>({id:s,label:s}))}])}),t.on.getInspectorState(e=>{e.inspectorId===r&&(e.nodeId===i&&(e.state={[a]:c.map(([s,o])=>({key:s,value:o.value}))}),u.includes(e.nodeId)&&(e.state={[a]:[{key:e.nodeId,value:n[e.nodeId].value}]}))}),E(d,()=>{t.notifyComponentUpdate(),t.sendInspectorState(r)})})};export{g as setupDevtools}; diff --git a/version/6.0/assets/stateDiagram-U67EPTRE-BB3e-_OH.js b/version/6.0/assets/stateDiagram-U67EPTRE-DeLrTsN_.js similarity index 96% rename from version/6.0/assets/stateDiagram-U67EPTRE-BB3e-_OH.js rename to version/6.0/assets/stateDiagram-U67EPTRE-DeLrTsN_.js index c16c4d5ca..c974eb3d4 100644 --- a/version/6.0/assets/stateDiagram-U67EPTRE-BB3e-_OH.js +++ b/version/6.0/assets/stateDiagram-U67EPTRE-DeLrTsN_.js @@ -1 +1 @@ -import{r as v,I as G,a as O}from"./chunk-LDJ5YOBB-auGoc4M2.js";import"./chunk-P7KHIEPL-BYT7Poah.js";import{m as f,W as t,a as T,n as R,o as P,I as U,t as k,r as z,C as W}from"./mermaid.esm.min-DhsQPv9X.js";import{f as $}from"./chunk-FASC7IG4-CAkh8Mxr.js";import{m as j}from"./chunk-ZN7TASNU-45xoTLMc.js";import"./chunk-5ZJXQJOJ-sEil2Dtg.js";import"./app-chHFUe1n.js";var D={},F=f((e,i)=>{D[e]=i},"set"),J=f(e=>D[e],"get"),A=f(()=>Object.keys(D),"keys"),Y=f(()=>A().length,"size"),q={get:J,set:F,keys:A,size:Y},X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),Z=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),_=f((e,i)=>{let o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),n=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",n.width+2*t().state.padding).attr("height",n.height+2*t().state.padding).attr("rx",t().state.radius),o},"drawSimpleState"),K=f((e,i)=>{let o=f(function(g,u,m){let b=g.append("tspan").attr("x",2*t().state.padding).text(u);m||b.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),d=n.height,h=e.append("text").attr("x",t().state.padding).attr("y",d+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description"),c=!0,a=!0;i.descriptions.forEach(function(g){c||(o(h,g,a),a=!1),c=!1});let s=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+d+t().state.dividerMargin/2).attr("y2",t().state.padding+d+t().state.dividerMargin/2).attr("class","descr-divider"),x=h.node().getBBox(),p=Math.max(x.width,n.width);return s.attr("x2",p+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",p+2*t().state.padding).attr("height",x.height+d+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),Q=f((e,i,o)=>{let n=t().state.padding,d=2*t().state.padding,h=e.node().getBBox(),c=h.width,a=h.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+d,p=Math.max(x,c);p===c&&(p=p+d);let g,u=e.node().getBBox();i.doc,g=a-n,x>c&&(g=(c-p)/2+n),Math.abs(a-u.x)c&&(g=a-(x-c)/2);let m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",g).attr("y",m).attr("class",o?"alt-composit":"composit").attr("width",p).attr("height",u.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",g+n),x<=c&&s.attr("x",a+(p-d)/2-x/2+n),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",p).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",p).attr("height",u.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),V=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),tt=f((e,i)=>{let o=t().state.forkWidth,n=t().state.forkHeight;if(i.parentId){let d=o;o=n,n=d}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",n).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),et=f((e,i,o,n)=>{let d=0,h=n.append("text");h.style("text-anchor","start"),h.attr("class","noteText");let c=e.replace(/\r\n/g,"
          ");c=c.replace(/\n/g,"
          ");let a=c.split(T.lineBreakRegex),s=1.25*t().state.noteMargin;for(let x of a){let p=x.trim();if(p.length>0){let g=h.append("tspan");if(g.text(p),s===0){let u=g.node().getBBox();s+=u.height}d+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",o+d+1.25*t().state.noteMargin)}}return{textWidth:h.node().getBBox().width,textHeight:d}},"_drawLongText"),at=f((e,i)=>{i.attr("class","state-note");let o=i.append("rect").attr("x",0).attr("y",t().state.padding),n=i.append("g"),{textWidth:d,textHeight:h}=et(e,0,0,n);return o.attr("height",h+2*t().state.noteMargin),o.attr("width",d+t().state.noteMargin*2),o},"drawNote"),I=f(function(e,i){let o=i.id,n={id:o,label:i.id,width:0,height:0},d=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&X(d),i.type==="end"&&V(d),(i.type==="fork"||i.type==="join")&&tt(d,i),i.type==="note"&&at(i.note.text,d),i.type==="divider"&&Z(d),i.type==="default"&&i.descriptions.length===0&&_(d,i),i.type==="default"&&i.descriptions.length>0&&K(d,i);let h=d.node().getBBox();return n.width=h.width+2*t().state.padding,n.height=h.height+2*t().state.padding,q.set(o,n),n},"drawState"),L=0,it=f(function(e,i,o){let n=f(function(s){switch(s){case v.relationType.AGGREGATION:return"aggregation";case v.relationType.EXTENSION:return"extension";case v.relationType.COMPOSITION:return"composition";case v.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));let d=i.points,h=R().x(function(s){return s.x}).y(function(s){return s.y}).curve(P),c=e.append("path").attr("d",h(d)).attr("id","edge"+L).attr("class","transition"),a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),c.attr("marker-end","url("+a+"#"+n(v.relationType.DEPENDENCY)+"End)"),o.title!==void 0){let s=e.append("g").attr("class","stateLabel"),{x,y:p}=U.calcLabelPosition(i.points),g=T.getRows(o.title),u=0,m=[],b=0,E=0;for(let r=0;r<=g.length;r++){let y=s.append("text").attr("text-anchor","middle").text(g[r]).attr("x",x).attr("y",p+u),l=y.node().getBBox();b=Math.max(b,l.width),E=Math.min(E,l.x),k.info(l.x,x,p+u),u===0&&(u=y.node().getBBox().height,k.info("Title height",u,p)),m.push(y)}let N=u*g.length;if(g.length>1){let r=(g.length-1)*u*.5;m.forEach((y,l)=>y.attr("y",p+l*u-r)),N=u*g.length}let M=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",x-b/2-t().state.padding/2).attr("y",p-N/2-t().state.padding/2-3.5).attr("width",b+t().state.padding).attr("height",N+t().state.padding),k.info(M)}L++},"drawEdge"),w,H={},rt=f(function(){},"setConf"),dt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),nt=f(function(e,i,o,n){w=t().state;let d=t().securityLevel,h;d==="sandbox"&&(h=z("#i"+i));let c=d==="sandbox"?z(h.nodes()[0].contentDocument.body):z("body"),a=d==="sandbox"?h.nodes()[0].contentDocument:document;k.debug("Rendering diagram "+e);let s=c.select(`[id='${i}']`);dt(s);let x=n.db.getRootDoc();C(x,s,void 0,!1,c,a,n);let p=w.padding,g=s.node().getBBox(),u=g.width+p*2,m=g.height+p*2,b=u*1.75;W(s,m,b,w.useMaxWidth),s.attr("viewBox",`${g.x-w.padding} ${g.y-w.padding} `+u+" "+m)},"draw"),st=f(e=>e?e.length*w.fontSizeFactor:1,"getLabelWidth"),C=f((e,i,o,n,d,h,c)=>{let a=new j({compound:!0,multigraph:!0}),s,x=!0;for(s=0;s{let l=y.parentElement,S=0,B=0;l&&(l.parentElement&&(S=l.parentElement.getBBox().width),B=parseInt(l.getAttribute("data-x-shift"),10),Number.isNaN(B)&&(B=0)),y.setAttribute("x1",0-B+8),y.setAttribute("x2",S-B-8)})):k.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let N=E.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(k.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),it(i,a.edge(r),a.edge(r).relation))}),N=E.getBBox();let M={id:o||"root",label:o||"root",width:0,height:0};return M.width=N.width+2*w.padding,M.height=N.height+2*w.padding,k.debug("Doc rendered",M,a),M},"renderDoc"),ot={setConf:rt,draw:nt},ut={parser:G,db:v,renderer:ot,styles:O,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,v.clear()},"init")};export{ut as diagram}; +import{r as v,I as G,a as O}from"./chunk-LDJ5YOBB-Z7YRvEFR.js";import"./chunk-P7KHIEPL-BWluqrz7.js";import{m as f,W as t,a as T,n as R,o as P,I as U,t as k,r as z,C as W}from"./mermaid.esm.min-CpCJ9UxA.js";import{f as $}from"./chunk-FASC7IG4-BVkK6YXv.js";import{m as j}from"./chunk-ZN7TASNU-Cv-Yezee.js";import"./chunk-5ZJXQJOJ-CxalzRAd.js";import"./app-vBJoMoyQ.js";var D={},F=f((e,i)=>{D[e]=i},"set"),J=f(e=>D[e],"get"),A=f(()=>Object.keys(D),"keys"),Y=f(()=>A().length,"size"),q={get:J,set:F,keys:A,size:Y},X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),Z=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),_=f((e,i)=>{let o=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),n=o.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",n.width+2*t().state.padding).attr("height",n.height+2*t().state.padding).attr("rx",t().state.radius),o},"drawSimpleState"),K=f((e,i)=>{let o=f(function(g,u,m){let b=g.append("tspan").attr("x",2*t().state.padding).text(u);m||b.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),d=n.height,h=e.append("text").attr("x",t().state.padding).attr("y",d+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description"),c=!0,a=!0;i.descriptions.forEach(function(g){c||(o(h,g,a),a=!1),c=!1});let s=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+d+t().state.dividerMargin/2).attr("y2",t().state.padding+d+t().state.dividerMargin/2).attr("class","descr-divider"),x=h.node().getBBox(),p=Math.max(x.width,n.width);return s.attr("x2",p+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",p+2*t().state.padding).attr("height",x.height+d+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),Q=f((e,i,o)=>{let n=t().state.padding,d=2*t().state.padding,h=e.node().getBBox(),c=h.width,a=h.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+d,p=Math.max(x,c);p===c&&(p=p+d);let g,u=e.node().getBBox();i.doc,g=a-n,x>c&&(g=(c-p)/2+n),Math.abs(a-u.x)c&&(g=a-(x-c)/2);let m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",g).attr("y",m).attr("class",o?"alt-composit":"composit").attr("width",p).attr("height",u.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",g+n),x<=c&&s.attr("x",a+(p-d)/2-x/2+n),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",p).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",g).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",p).attr("height",u.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),V=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),tt=f((e,i)=>{let o=t().state.forkWidth,n=t().state.forkHeight;if(i.parentId){let d=o;o=n,n=d}return e.append("rect").style("stroke","black").style("fill","black").attr("width",o).attr("height",n).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),et=f((e,i,o,n)=>{let d=0,h=n.append("text");h.style("text-anchor","start"),h.attr("class","noteText");let c=e.replace(/\r\n/g,"
          ");c=c.replace(/\n/g,"
          ");let a=c.split(T.lineBreakRegex),s=1.25*t().state.noteMargin;for(let x of a){let p=x.trim();if(p.length>0){let g=h.append("tspan");if(g.text(p),s===0){let u=g.node().getBBox();s+=u.height}d+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",o+d+1.25*t().state.noteMargin)}}return{textWidth:h.node().getBBox().width,textHeight:d}},"_drawLongText"),at=f((e,i)=>{i.attr("class","state-note");let o=i.append("rect").attr("x",0).attr("y",t().state.padding),n=i.append("g"),{textWidth:d,textHeight:h}=et(e,0,0,n);return o.attr("height",h+2*t().state.noteMargin),o.attr("width",d+t().state.noteMargin*2),o},"drawNote"),I=f(function(e,i){let o=i.id,n={id:o,label:i.id,width:0,height:0},d=e.append("g").attr("id",o).attr("class","stateGroup");i.type==="start"&&X(d),i.type==="end"&&V(d),(i.type==="fork"||i.type==="join")&&tt(d,i),i.type==="note"&&at(i.note.text,d),i.type==="divider"&&Z(d),i.type==="default"&&i.descriptions.length===0&&_(d,i),i.type==="default"&&i.descriptions.length>0&&K(d,i);let h=d.node().getBBox();return n.width=h.width+2*t().state.padding,n.height=h.height+2*t().state.padding,q.set(o,n),n},"drawState"),L=0,it=f(function(e,i,o){let n=f(function(s){switch(s){case v.relationType.AGGREGATION:return"aggregation";case v.relationType.EXTENSION:return"extension";case v.relationType.COMPOSITION:return"composition";case v.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));let d=i.points,h=R().x(function(s){return s.x}).y(function(s){return s.y}).curve(P),c=e.append("path").attr("d",h(d)).attr("id","edge"+L).attr("class","transition"),a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),c.attr("marker-end","url("+a+"#"+n(v.relationType.DEPENDENCY)+"End)"),o.title!==void 0){let s=e.append("g").attr("class","stateLabel"),{x,y:p}=U.calcLabelPosition(i.points),g=T.getRows(o.title),u=0,m=[],b=0,E=0;for(let r=0;r<=g.length;r++){let y=s.append("text").attr("text-anchor","middle").text(g[r]).attr("x",x).attr("y",p+u),l=y.node().getBBox();b=Math.max(b,l.width),E=Math.min(E,l.x),k.info(l.x,x,p+u),u===0&&(u=y.node().getBBox().height,k.info("Title height",u,p)),m.push(y)}let N=u*g.length;if(g.length>1){let r=(g.length-1)*u*.5;m.forEach((y,l)=>y.attr("y",p+l*u-r)),N=u*g.length}let M=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",x-b/2-t().state.padding/2).attr("y",p-N/2-t().state.padding/2-3.5).attr("width",b+t().state.padding).attr("height",N+t().state.padding),k.info(M)}L++},"drawEdge"),w,H={},rt=f(function(){},"setConf"),dt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),nt=f(function(e,i,o,n){w=t().state;let d=t().securityLevel,h;d==="sandbox"&&(h=z("#i"+i));let c=d==="sandbox"?z(h.nodes()[0].contentDocument.body):z("body"),a=d==="sandbox"?h.nodes()[0].contentDocument:document;k.debug("Rendering diagram "+e);let s=c.select(`[id='${i}']`);dt(s);let x=n.db.getRootDoc();C(x,s,void 0,!1,c,a,n);let p=w.padding,g=s.node().getBBox(),u=g.width+p*2,m=g.height+p*2,b=u*1.75;W(s,m,b,w.useMaxWidth),s.attr("viewBox",`${g.x-w.padding} ${g.y-w.padding} `+u+" "+m)},"draw"),st=f(e=>e?e.length*w.fontSizeFactor:1,"getLabelWidth"),C=f((e,i,o,n,d,h,c)=>{let a=new j({compound:!0,multigraph:!0}),s,x=!0;for(s=0;s{let l=y.parentElement,S=0,B=0;l&&(l.parentElement&&(S=l.parentElement.getBBox().width),B=parseInt(l.getAttribute("data-x-shift"),10),Number.isNaN(B)&&(B=0)),y.setAttribute("x1",0-B+8),y.setAttribute("x2",S-B-8)})):k.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let N=E.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(k.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),it(i,a.edge(r),a.edge(r).relation))}),N=E.getBBox();let M={id:o||"root",label:o||"root",width:0,height:0};return M.width=N.width+2*w.padding,M.height=N.height+2*w.padding,k.debug("Doc rendered",M,a),M},"renderDoc"),ot={setConf:rt,draw:nt},ut={parser:G,db:v,renderer:ot,styles:O,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,v.clear()},"init")};export{ut as diagram}; diff --git a/version/6.0/assets/stateDiagram-v2-HMOQ2HEA-BYkEsrTR.js b/version/6.0/assets/stateDiagram-v2-HMOQ2HEA-BYkEsrTR.js new file mode 100644 index 000000000..10e9c5e9e --- /dev/null +++ b/version/6.0/assets/stateDiagram-v2-HMOQ2HEA-BYkEsrTR.js @@ -0,0 +1 @@ +import{I as s,r as a,B as t,a as e}from"./chunk-LDJ5YOBB-Z7YRvEFR.js";import"./chunk-P7KHIEPL-BWluqrz7.js";import{m as o}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var l={parser:s,db:a,renderer:t,styles:e,init:o(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a.clear()},"init")};export{l as diagram}; diff --git a/version/6.0/assets/stateDiagram-v2-HMOQ2HEA-DXdcnrKt.js b/version/6.0/assets/stateDiagram-v2-HMOQ2HEA-DXdcnrKt.js deleted file mode 100644 index 6c5055f7c..000000000 --- a/version/6.0/assets/stateDiagram-v2-HMOQ2HEA-DXdcnrKt.js +++ /dev/null @@ -1 +0,0 @@ -import{I as s,r as a,B as t,a as e}from"./chunk-LDJ5YOBB-auGoc4M2.js";import"./chunk-P7KHIEPL-BYT7Poah.js";import{m as o}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var l={parser:s,db:a,renderer:t,styles:e,init:o(r=>{r.state||(r.state={}),r.state.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a.clear()},"init")};export{l as diagram}; diff --git a/version/6.0/assets/timeline-definition-2YBW2SKD-8bQuZ9fq.js b/version/6.0/assets/timeline-definition-2YBW2SKD-ilS793TO.js similarity index 99% rename from version/6.0/assets/timeline-definition-2YBW2SKD-8bQuZ9fq.js rename to version/6.0/assets/timeline-definition-2YBW2SKD-ilS793TO.js index 82c09e7c8..c751d6711 100644 --- a/version/6.0/assets/timeline-definition-2YBW2SKD-8bQuZ9fq.js +++ b/version/6.0/assets/timeline-definition-2YBW2SKD-ilS793TO.js @@ -1,4 +1,4 @@ -import{m as a,b5 as bt,b6 as kt,h as _t,W as vt,t as S,r as B,b7 as wt,b8 as St,b9 as $t,ba as Et,aX as nt}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var Q=function(){var i=a(function(f,r,o,d){for(o=o||{},d=f.length;d--;o[f[d]]=r);return o},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],s=[1,10],n=[1,11],h=[1,12],c=[1,13],y=[1,16],p=[1,17],m={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:a(function(f,r,o,d,u,l,x){var _=l.length-1;switch(u){case 1:return l[_-1];case 2:this.$=[];break;case 3:l[_-1].push(l[_]),this.$=l[_-1];break;case 4:case 5:this.$=l[_];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(l[_].substr(6)),this.$=l[_].substr(6);break;case 9:this.$=l[_].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=l[_].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(l[_].substr(8)),this.$=l[_].substr(8);break;case 15:d.addTask(l[_],0,""),this.$=l[_];break;case 16:d.addEvent(l[_].substr(2)),this.$=l[_];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},i(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:s,14:n,16:h,17:c,18:14,19:15,20:y,21:p},i(t,[2,7],{1:[2,1]}),i(t,[2,3]),{9:18,11:e,12:s,14:n,16:h,17:c,18:14,19:15,20:y,21:p},i(t,[2,5]),i(t,[2,6]),i(t,[2,8]),{13:[1,19]},{15:[1,20]},i(t,[2,11]),i(t,[2,12]),i(t,[2,13]),i(t,[2,14]),i(t,[2,15]),i(t,[2,16]),i(t,[2,4]),i(t,[2,9]),i(t,[2,10])],defaultActions:{},parseError:a(function(f,r){if(r.recoverable)this.trace(f);else{var o=new Error(f);throw o.hash=r,o}},"parseError"),parse:a(function(f){var r=this,o=[0],d=[],u=[null],l=[],x=this.table,_="",T=0,P=0,D=0,F=2,W=1,A=l.slice.call(arguments,1),g=Object.create(this.lexer),v={yy:{}};for(var I in this.yy)Object.prototype.hasOwnProperty.call(this.yy,I)&&(v.yy[I]=this.yy[I]);g.setInput(f,v.yy),v.yy.lexer=g,v.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var C=g.yylloc;l.push(C);var j=g.options&&g.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function q($){o.length=o.length-2*$,u.length=u.length-$,l.length=l.length-$}a(q,"popStack");function et(){var $;return $=d.pop()||g.lex()||W,typeof $!="number"&&($ instanceof Array&&(d=$,$=d.pop()),$=r.symbols_[$]||$),$}a(et,"lex");for(var w,X,L,E,qt,Y,O={},R,N,it,V;;){if(L=o[o.length-1],this.defaultActions[L]?E=this.defaultActions[L]:((w===null||typeof w>"u")&&(w=et()),E=x[L]&&x[L][w]),typeof E>"u"||!E.length||!E[0]){var Z="";V=[];for(R in x[L])this.terminals_[R]&&R>F&&V.push("'"+this.terminals_[R]+"'");g.showPosition?Z="Parse error on line "+(T+1)+`: +import{m as a,b5 as bt,b6 as kt,h as _t,W as vt,t as S,r as B,b7 as wt,b8 as St,b9 as $t,ba as Et,aX as nt}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var Q=function(){var i=a(function(f,r,o,d){for(o=o||{},d=f.length;d--;o[f[d]]=r);return o},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],s=[1,10],n=[1,11],h=[1,12],c=[1,13],y=[1,16],p=[1,17],m={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:a(function(f,r,o,d,u,l,x){var _=l.length-1;switch(u){case 1:return l[_-1];case 2:this.$=[];break;case 3:l[_-1].push(l[_]),this.$=l[_-1];break;case 4:case 5:this.$=l[_];break;case 6:case 7:this.$=[];break;case 8:d.getCommonDb().setDiagramTitle(l[_].substr(6)),this.$=l[_].substr(6);break;case 9:this.$=l[_].trim(),d.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=l[_].trim(),d.getCommonDb().setAccDescription(this.$);break;case 12:d.addSection(l[_].substr(8)),this.$=l[_].substr(8);break;case 15:d.addTask(l[_],0,""),this.$=l[_];break;case 16:d.addEvent(l[_].substr(2)),this.$=l[_];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},i(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:s,14:n,16:h,17:c,18:14,19:15,20:y,21:p},i(t,[2,7],{1:[2,1]}),i(t,[2,3]),{9:18,11:e,12:s,14:n,16:h,17:c,18:14,19:15,20:y,21:p},i(t,[2,5]),i(t,[2,6]),i(t,[2,8]),{13:[1,19]},{15:[1,20]},i(t,[2,11]),i(t,[2,12]),i(t,[2,13]),i(t,[2,14]),i(t,[2,15]),i(t,[2,16]),i(t,[2,4]),i(t,[2,9]),i(t,[2,10])],defaultActions:{},parseError:a(function(f,r){if(r.recoverable)this.trace(f);else{var o=new Error(f);throw o.hash=r,o}},"parseError"),parse:a(function(f){var r=this,o=[0],d=[],u=[null],l=[],x=this.table,_="",T=0,P=0,D=0,F=2,W=1,A=l.slice.call(arguments,1),g=Object.create(this.lexer),v={yy:{}};for(var I in this.yy)Object.prototype.hasOwnProperty.call(this.yy,I)&&(v.yy[I]=this.yy[I]);g.setInput(f,v.yy),v.yy.lexer=g,v.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var C=g.yylloc;l.push(C);var j=g.options&&g.options.ranges;typeof v.yy.parseError=="function"?this.parseError=v.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function q($){o.length=o.length-2*$,u.length=u.length-$,l.length=l.length-$}a(q,"popStack");function et(){var $;return $=d.pop()||g.lex()||W,typeof $!="number"&&($ instanceof Array&&(d=$,$=d.pop()),$=r.symbols_[$]||$),$}a(et,"lex");for(var w,X,L,E,qt,Y,O={},R,N,it,V;;){if(L=o[o.length-1],this.defaultActions[L]?E=this.defaultActions[L]:((w===null||typeof w>"u")&&(w=et()),E=x[L]&&x[L][w]),typeof E>"u"||!E.length||!E[0]){var Z="";V=[];for(R in x[L])this.terminals_[R]&&R>F&&V.push("'"+this.terminals_[R]+"'");g.showPosition?Z="Parse error on line "+(T+1)+`: `+g.showPosition()+` Expecting `+V.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Z="Parse error on line "+(T+1)+": Unexpected "+(w==W?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Z,{text:g.match,token:this.terminals_[w]||w,line:g.yylineno,loc:C,expected:V})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+L+", token: "+w);switch(E[0]){case 1:o.push(w),u.push(g.yytext),l.push(g.yylloc),o.push(E[1]),w=null,X?(w=X,X=null):(P=g.yyleng,_=g.yytext,T=g.yylineno,C=g.yylloc,D>0);break;case 2:if(N=this.productions_[E[1]][1],O.$=u[u.length-N],O._$={first_line:l[l.length-(N||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(N||1)].first_column,last_column:l[l.length-1].last_column},j&&(O._$.range=[l[l.length-(N||1)].range[0],l[l.length-1].range[1]]),Y=this.performAction.apply(O,[_,P,T,v.yy,E[1],u,l].concat(A)),typeof Y<"u")return Y;N&&(o=o.slice(0,-1*N*2),u=u.slice(0,-1*N),l=l.slice(0,-1*N)),o.push(this.productions_[E[1]][0]),u.push(O.$),l.push(O._$),it=x[o[o.length-2]][o[o.length-1]],o.push(it);break;case 3:return!0}}return!0},"parse")},b=function(){var f={EOF:1,parseError:a(function(r,o){if(this.yy.parser)this.yy.parser.parseError(r,o);else throw new Error(r)},"parseError"),setInput:a(function(r,o){return this.yy=o||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var o=r.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:a(function(r){var o=r.length,d=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var l=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===u.length?this.yylloc.first_column:0)+u[u.length-d.length].length-d[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[l[0],l[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(r){this.unput(this.match.slice(r))},"less"),pastInput:a(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var r=this.pastInput(),o=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/version/6.0/assets/whereQueryParam.html-CitSJ3hL.js b/version/6.0/assets/whereQueryParam.html-By1a5xeh.js similarity index 93% rename from version/6.0/assets/whereQueryParam.html-CitSJ3hL.js rename to version/6.0/assets/whereQueryParam.html-By1a5xeh.js index 02c061b3f..6c2d8dc79 100644 --- a/version/6.0/assets/whereQueryParam.html-CitSJ3hL.js +++ b/version/6.0/assets/whereQueryParam.html-By1a5xeh.js @@ -1,4 +1,4 @@ -import{_ as t,c as n,a as e,f as a,o}from"./app-chHFUe1n.js";const l={};function s(m,r){return o(),n("div",null,r[0]||(r[0]=[e("p",null,[a("a "),e("em",null,"where"),a(" query parameter with value conforming to MongoDB "),e("a",{href:"https://www.mongodb.com/docs/manual/tutorial/query-documents/",target:"_blank",rel:"noopener noreferrer"},"Query Documents")],-1),e("pre",null,[e("code",null,`- parameter name: where +import{_ as t,c as n,a as e,f as a,o}from"./app-vBJoMoyQ.js";const l={};function s(m,r){return o(),n("div",null,r[0]||(r[0]=[e("p",null,[a("a "),e("em",null,"where"),a(" query parameter with value conforming to MongoDB "),e("a",{href:"https://www.mongodb.com/docs/manual/tutorial/query-documents/",target:"_blank",rel:"noopener noreferrer"},"Query Documents")],-1),e("pre",null,[e("code",null,`- parameter name: where - required: false - parameter type: query - data type: object diff --git a/version/6.0/assets/whereQueryParamCode.html-Bd1-MNZ9.js b/version/6.0/assets/whereQueryParamCode.html-BhrH7W0Z.js similarity index 87% rename from version/6.0/assets/whereQueryParamCode.html-Bd1-MNZ9.js rename to version/6.0/assets/whereQueryParamCode.html-BhrH7W0Z.js index 1a1c926a6..793de2a49 100644 --- a/version/6.0/assets/whereQueryParamCode.html-Bd1-MNZ9.js +++ b/version/6.0/assets/whereQueryParamCode.html-BhrH7W0Z.js @@ -1 +1 @@ -import{_ as r,c as a,a as t,o}from"./app-chHFUe1n.js";const s={};function d(l,e){return o(),a("div",null,e[0]||(e[0]=[t("p",null,"?where=%7B%22created%22%3A%7B%22%24gte%22%3A%222023-01-01%22%2C%22%24lt%22%3A%222024-01-01%22%7D%7D",-1)]))}const c=r(s,[["render",d],["__file","whereQueryParamCode.html.vue"]]),m=JSON.parse('{"path":"/docs/shared/whereQueryParamCode.html","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{},"filePathRelative":"docs/shared/whereQueryParamCode.md"}');export{c as comp,m as data}; +import{_ as r,c as a,a as t,o}from"./app-vBJoMoyQ.js";const s={};function d(l,e){return o(),a("div",null,e[0]||(e[0]=[t("p",null,"?where=%7B%22created%22%3A%7B%22%24gte%22%3A%222023-01-01%22%2C%22%24lt%22%3A%222024-01-01%22%7D%7D",-1)]))}const c=r(s,[["render",d],["__file","whereQueryParamCode.html.vue"]]),m=JSON.parse('{"path":"/docs/shared/whereQueryParamCode.html","title":"","lang":"en-US","frontmatter":{},"headers":[],"git":{},"filePathRelative":"docs/shared/whereQueryParamCode.md"}');export{c as comp,m as data}; diff --git a/version/6.0/assets/whereQueryParamExample.html-DL5bAfJr.js b/version/6.0/assets/whereQueryParamExample.html-DkRUmSvz.js similarity index 90% rename from version/6.0/assets/whereQueryParamExample.html-DL5bAfJr.js rename to version/6.0/assets/whereQueryParamExample.html-DkRUmSvz.js index 76a4b0a65..4855d58b8 100644 --- a/version/6.0/assets/whereQueryParamExample.html-DL5bAfJr.js +++ b/version/6.0/assets/whereQueryParamExample.html-DkRUmSvz.js @@ -1,4 +1,4 @@ -import{_ as t,c as n,a as e,f as r,o as l}from"./app-chHFUe1n.js";const o={};function s(m,a){return l(),n("div",null,a[0]||(a[0]=[e("p",null,[r("the value of the "),e("em",null,"where"),r(" query parameter is URL-encoded stringified JSON object")],-1),e("pre",null,[e("code",null,`\`\`\`json +import{_ as t,c as n,a as e,f as r,o as l}from"./app-vBJoMoyQ.js";const o={};function s(m,a){return l(),n("div",null,a[0]||(a[0]=[e("p",null,[r("the value of the "),e("em",null,"where"),r(" query parameter is URL-encoded stringified JSON object")],-1),e("pre",null,[e("code",null,`\`\`\`json { "created": { "$gte": "2023-01-01", diff --git a/version/6.0/assets/xychartDiagram-A2DIST7P-CzMGxN-o.js b/version/6.0/assets/xychartDiagram-A2DIST7P-B6HN7R0f.js similarity index 99% rename from version/6.0/assets/xychartDiagram-A2DIST7P-CzMGxN-o.js rename to version/6.0/assets/xychartDiagram-A2DIST7P-B6HN7R0f.js index 23682ef7e..ba38094d9 100644 --- a/version/6.0/assets/xychartDiagram-A2DIST7P-CzMGxN-o.js +++ b/version/6.0/assets/xychartDiagram-A2DIST7P-B6HN7R0f.js @@ -1,4 +1,4 @@ -import{m as h,a_ as ci,a$ as Bt,t as Ot,aA as Mt,n as zt,aZ as gi,at as bt,as as Ft,ar as ui,h as xi,aT as di,C as pi,D as fi,B as Nt,T as yi,k as mi,w as bi,v as Ai,S as Si}from"./mermaid.esm.min-DhsQPv9X.js";import"./app-chHFUe1n.js";var pt=function(){var s=h(function(B,o,l,c){for(l=l||{},c=B.length;c--;l[B[c]]=o);return l},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],e=[1,3],a=[1,5],g=[1,6],u=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],m=[1,25],R=[1,26],k=[1,28],D=[1,29],$=[1,30],I=[1,31],_=[1,32],v=[1,33],p=[1,34],S=[1,35],r=[1,36],L=[1,37],Z=[1,43],Dt=[1,42],Lt=[1,47],it=[1,50],b=[1,10,12,14,16,18,19,21,23,34,35,36],rt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],P=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],Pt=[1,64],lt={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:h(function(B,o,l,c,f,n,C){var x=n.length-1;switch(f){case 5:c.setOrientation(n[x]);break;case 9:c.setDiagramTitle(n[x].text.trim());break;case 12:c.setLineData({text:"",type:"text"},n[x]);break;case 13:c.setLineData(n[x-1],n[x]);break;case 14:c.setBarData({text:"",type:"text"},n[x]);break;case 15:c.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),c.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),c.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:c.setXAxisTitle(n[x]);break;case 23:c.setXAxisTitle(n[x-1]);break;case 24:c.setXAxisTitle({type:"text",text:""});break;case 25:c.setXAxisBand(n[x]);break;case 26:c.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:c.setYAxisTitle(n[x]);break;case 31:c.setYAxisTitle(n[x-1]);break;case 32:c.setYAxisTitle({type:"text",text:""});break;case 33:c.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[s(t,i,{3:1,4:2,7:4,5:e,34:a,35:g,36:u}),{1:[3]},s(t,i,{4:2,7:4,3:8,5:e,34:a,35:g,36:u}),s(t,i,{4:2,7:4,6:9,3:10,5:e,8:[1,11],34:a,35:g,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},s(y,[2,34]),s(y,[2,35]),s(y,[2,36]),{1:[2,1]},s(t,i,{4:2,7:4,3:21,5:e,34:a,35:g,36:u}),{1:[2,3]},s(y,[2,5]),s(t,[2,7],{4:22,34:a,35:g,36:u}),{11:23,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:39,13:38,24:Z,27:Dt,29:40,30:41,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:45,15:44,27:Lt,33:46,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:49,17:48,24:it,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:52,17:51,24:it,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{20:[1,53]},{22:[1,54]},s(b,[2,18]),{1:[2,2]},s(b,[2,8]),s(b,[2,9]),s(rt,[2,37],{40:55,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L}),s(rt,[2,38]),s(rt,[2,39]),s(P,[2,40]),s(P,[2,42]),s(P,[2,43]),s(P,[2,44]),s(P,[2,45]),s(P,[2,46]),s(P,[2,47]),s(P,[2,48]),s(P,[2,49]),s(P,[2,50]),s(P,[2,51]),s(b,[2,10]),s(b,[2,22],{30:41,29:56,24:Z,27:Dt}),s(b,[2,24]),s(b,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},s(b,[2,11]),s(b,[2,30],{33:60,27:Lt}),s(b,[2,32]),{31:[1,61]},s(b,[2,12]),{17:62,24:it},{25:63,27:Pt},s(b,[2,14]),{17:65,24:it},s(b,[2,16]),s(b,[2,17]),s(P,[2,41]),s(b,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},s(b,[2,31]),{27:[1,69]},s(b,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},s(b,[2,15]),s(b,[2,26]),s(b,[2,27]),{11:59,32:72,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},s(b,[2,33]),s(b,[2,19]),{25:73,27:Pt},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:h(function(B,o){if(o.recoverable)this.trace(B);else{var l=new Error(B);throw l.hash=o,l}},"parseError"),parse:h(function(B){var o=this,l=[0],c=[],f=[null],n=[],C=this.table,x="",st=0,Et=0,ni=0,hi=2,vt=1,oi=n.slice.call(arguments,1),A=Object.create(this.lexer),z={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(z.yy[ct]=this.yy[ct]);A.setInput(B,z.yy),z.yy.lexer=A,z.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var gt=A.yylloc;n.push(gt);var ri=A.options&&A.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function li(T){l.length=l.length-2*T,f.length=f.length-T,n.length=n.length-T}h(li,"popStack");function $t(){var T;return T=c.pop()||A.lex()||vt,typeof T!="number"&&(T instanceof Array&&(c=T,T=c.pop()),T=o.symbols_[T]||T),T}h($t,"lex");for(var w,ut,O,E,Bi,xt,F={},at,M,It,nt;;){if(O=l[l.length-1],this.defaultActions[O]?E=this.defaultActions[O]:((w===null||typeof w>"u")&&(w=$t()),E=C[O]&&C[O][w]),typeof E>"u"||!E.length||!E[0]){var dt="";nt=[];for(at in C[O])this.terminals_[at]&&at>hi&&nt.push("'"+this.terminals_[at]+"'");A.showPosition?dt="Parse error on line "+(st+1)+`: +import{m as h,a_ as ci,a$ as Bt,t as Ot,aA as Mt,n as zt,aZ as gi,at as bt,as as Ft,ar as ui,h as xi,aT as di,C as pi,D as fi,B as Nt,T as yi,k as mi,w as bi,v as Ai,S as Si}from"./mermaid.esm.min-CpCJ9UxA.js";import"./app-vBJoMoyQ.js";var pt=function(){var s=h(function(B,o,l,c){for(l=l||{},c=B.length;c--;l[B[c]]=o);return l},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],e=[1,3],a=[1,5],g=[1,6],u=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],m=[1,25],R=[1,26],k=[1,28],D=[1,29],$=[1,30],I=[1,31],_=[1,32],v=[1,33],p=[1,34],S=[1,35],r=[1,36],L=[1,37],Z=[1,43],Dt=[1,42],Lt=[1,47],it=[1,50],b=[1,10,12,14,16,18,19,21,23,34,35,36],rt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],P=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],Pt=[1,64],lt={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:h(function(B,o,l,c,f,n,C){var x=n.length-1;switch(f){case 5:c.setOrientation(n[x]);break;case 9:c.setDiagramTitle(n[x].text.trim());break;case 12:c.setLineData({text:"",type:"text"},n[x]);break;case 13:c.setLineData(n[x-1],n[x]);break;case 14:c.setBarData({text:"",type:"text"},n[x]);break;case 15:c.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),c.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),c.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:c.setXAxisTitle(n[x]);break;case 23:c.setXAxisTitle(n[x-1]);break;case 24:c.setXAxisTitle({type:"text",text:""});break;case 25:c.setXAxisBand(n[x]);break;case 26:c.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:c.setYAxisTitle(n[x]);break;case 31:c.setYAxisTitle(n[x-1]);break;case 32:c.setYAxisTitle({type:"text",text:""});break;case 33:c.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[s(t,i,{3:1,4:2,7:4,5:e,34:a,35:g,36:u}),{1:[3]},s(t,i,{4:2,7:4,3:8,5:e,34:a,35:g,36:u}),s(t,i,{4:2,7:4,6:9,3:10,5:e,8:[1,11],34:a,35:g,36:u}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},s(y,[2,34]),s(y,[2,35]),s(y,[2,36]),{1:[2,1]},s(t,i,{4:2,7:4,3:21,5:e,34:a,35:g,36:u}),{1:[2,3]},s(y,[2,5]),s(t,[2,7],{4:22,34:a,35:g,36:u}),{11:23,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:39,13:38,24:Z,27:Dt,29:40,30:41,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:45,15:44,27:Lt,33:46,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:49,17:48,24:it,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{11:52,17:51,24:it,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},{20:[1,53]},{22:[1,54]},s(b,[2,18]),{1:[2,2]},s(b,[2,8]),s(b,[2,9]),s(rt,[2,37],{40:55,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L}),s(rt,[2,38]),s(rt,[2,39]),s(P,[2,40]),s(P,[2,42]),s(P,[2,43]),s(P,[2,44]),s(P,[2,45]),s(P,[2,46]),s(P,[2,47]),s(P,[2,48]),s(P,[2,49]),s(P,[2,50]),s(P,[2,51]),s(b,[2,10]),s(b,[2,22],{30:41,29:56,24:Z,27:Dt}),s(b,[2,24]),s(b,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},s(b,[2,11]),s(b,[2,30],{33:60,27:Lt}),s(b,[2,32]),{31:[1,61]},s(b,[2,12]),{17:62,24:it},{25:63,27:Pt},s(b,[2,14]),{17:65,24:it},s(b,[2,16]),s(b,[2,17]),s(P,[2,41]),s(b,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},s(b,[2,31]),{27:[1,69]},s(b,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},s(b,[2,15]),s(b,[2,26]),s(b,[2,27]),{11:59,32:72,37:24,38:m,39:R,40:27,41:k,42:D,43:$,44:I,45:_,46:v,47:p,48:S,49:r,50:L},s(b,[2,33]),s(b,[2,19]),{25:73,27:Pt},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:h(function(B,o){if(o.recoverable)this.trace(B);else{var l=new Error(B);throw l.hash=o,l}},"parseError"),parse:h(function(B){var o=this,l=[0],c=[],f=[null],n=[],C=this.table,x="",st=0,Et=0,ni=0,hi=2,vt=1,oi=n.slice.call(arguments,1),A=Object.create(this.lexer),z={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(z.yy[ct]=this.yy[ct]);A.setInput(B,z.yy),z.yy.lexer=A,z.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var gt=A.yylloc;n.push(gt);var ri=A.options&&A.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function li(T){l.length=l.length-2*T,f.length=f.length-T,n.length=n.length-T}h(li,"popStack");function $t(){var T;return T=c.pop()||A.lex()||vt,typeof T!="number"&&(T instanceof Array&&(c=T,T=c.pop()),T=o.symbols_[T]||T),T}h($t,"lex");for(var w,ut,O,E,Bi,xt,F={},at,M,It,nt;;){if(O=l[l.length-1],this.defaultActions[O]?E=this.defaultActions[O]:((w===null||typeof w>"u")&&(w=$t()),E=C[O]&&C[O][w]),typeof E>"u"||!E.length||!E[0]){var dt="";nt=[];for(at in C[O])this.terminals_[at]&&at>hi&&nt.push("'"+this.terminals_[at]+"'");A.showPosition?dt="Parse error on line "+(st+1)+`: `+A.showPosition()+` Expecting `+nt.join(", ")+", got '"+(this.terminals_[w]||w)+"'":dt="Parse error on line "+(st+1)+": Unexpected "+(w==vt?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(dt,{text:A.match,token:this.terminals_[w]||w,line:A.yylineno,loc:gt,expected:nt})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+w);switch(E[0]){case 1:l.push(w),f.push(A.yytext),n.push(A.yylloc),l.push(E[1]),w=null,ut?(w=ut,ut=null):(Et=A.yyleng,x=A.yytext,st=A.yylineno,gt=A.yylloc,ni>0);break;case 2:if(M=this.productions_[E[1]][1],F.$=f[f.length-M],F._$={first_line:n[n.length-(M||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(M||1)].first_column,last_column:n[n.length-1].last_column},ri&&(F._$.range=[n[n.length-(M||1)].range[0],n[n.length-1].range[1]]),xt=this.performAction.apply(F,[x,Et,st,z.yy,E[1],f,n].concat(oi)),typeof xt<"u")return xt;M&&(l=l.slice(0,-1*M*2),f=f.slice(0,-1*M),n=n.slice(0,-1*M)),l.push(this.productions_[E[1]][0]),f.push(F.$),n.push(F._$),It=C[l[l.length-2]][l[l.length-1]],l.push(It);break;case 3:return!0}}return!0},"parse")},ai=function(){var B={EOF:1,parseError:h(function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},"parseError"),setInput:h(function(o,l){return this.yy=l||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var l=o.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:h(function(o){var l=o.length,c=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===f.length?this.yylloc.first_column:0)+f[f.length-c.length].length-c[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(o){this.unput(this.match.slice(o))},"less"),pastInput:h(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var o=this.pastInput(),l=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/version/6.0/docs/acknowledgments/index.html b/version/6.0/docs/acknowledgments/index.html index 8b6a262e6..e6e8ca893 100644 --- a/version/6.0/docs/acknowledgments/index.html +++ b/version/6.0/docs/acknowledgments/index.html @@ -33,11 +33,11 @@ Acknowledgments | NotifyBC - - + + - + diff --git a/version/6.0/docs/api-administrator/index.html b/version/6.0/docs/api-administrator/index.html index 89ba79edb..8ab0d6024 100644 --- a/version/6.0/docs/api-administrator/index.html +++ b/version/6.0/docs/api-administrator/index.html @@ -33,8 +33,8 @@ Administrator | NotifyBC - - + +
        - + diff --git a/version/6.0/docs/api-bounce/index.html b/version/6.0/docs/api-bounce/index.html index 404e5f8bb..13d7514cb 100644 --- a/version/6.0/docs/api-bounce/index.html +++ b/version/6.0/docs/api-bounce/index.html @@ -33,11 +33,11 @@ Bounce | NotifyBC - - + +
        - + diff --git a/version/6.0/docs/api-config/index.html b/version/6.0/docs/api-config/index.html index 6df986264..e9c05e986 100644 --- a/version/6.0/docs/api-config/index.html +++ b/version/6.0/docs/api-config/index.html @@ -33,8 +33,8 @@ Configuration | NotifyBC - - + +

      Delete a Configuration

      DELETE /configurations/{id}
       
      • permissions required, one of

        • super admin
        • admin
      • inputs

        • configuration id
          • parameter name: id
          • required: true
          • parameter type: path
          • data type: string
      • outcome

        For admin request, delete the config item requested; forbidden for user request

      Replace a Configuration

      PUT /configurations/{id}
       

      This API is intended to be only used by admin web console to modify a configuration.

      • permissions required, one of

        • super admin
        • admin
      • inputs

        • configuration id
          • parameter name: id
          • required: true
          • parameter type: path
          • data type: string
        • configuration data
          • parameter name: data
          • required: true
          • parameter type: body
          • data type: object
      • outcome

        For admin requests, replace configuration identified by id with parameter data and save to database.

    - + diff --git a/version/6.0/docs/api-notification/index.html b/version/6.0/docs/api-notification/index.html index c1c9eacbc..7f6b7549d 100644 --- a/version/6.0/docs/api-notification/index.html +++ b/version/6.0/docs/api-notification/index.html @@ -33,8 +33,8 @@ Notification | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/api-overview/index.html b/version/6.0/docs/api-overview/index.html index 2fe6c4f85..88f6c50c2 100644 --- a/version/6.0/docs/api-overview/index.html +++ b/version/6.0/docs/api-overview/index.html @@ -33,11 +33,11 @@ API Overview | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/api-subscription/index.html b/version/6.0/docs/api-subscription/index.html index 27bd7e060..bca7a5b38 100644 --- a/version/6.0/docs/api-subscription/index.html +++ b/version/6.0/docs/api-subscription/index.html @@ -33,8 +33,8 @@ Subscription | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/benchmarks/index.html b/version/6.0/docs/benchmarks/index.html index 22a7522b8..73f231aa7 100644 --- a/version/6.0/docs/benchmarks/index.html +++ b/version/6.0/docs/benchmarks/index.html @@ -33,11 +33,11 @@ Benchmarks | NotifyBC - - + + -
    - + diff --git a/version/6.0/docs/memory-dump/index.html b/version/6.0/docs/memory-dump/index.html index 14937ffb1..26ecc0fff 100644 --- a/version/6.0/docs/memory-dump/index.html +++ b/version/6.0/docs/memory-dump/index.html @@ -33,8 +33,8 @@ Memory Dump | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/overview/index.html b/version/6.0/docs/overview/index.html index 72b306ee4..3d82eac7b 100644 --- a/version/6.0/docs/overview/index.html +++ b/version/6.0/docs/overview/index.html @@ -33,11 +33,11 @@ Overview | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/quickstart/index.html b/version/6.0/docs/quickstart/index.html index 53788c90a..ccc18640d 100644 --- a/version/6.0/docs/quickstart/index.html +++ b/version/6.0/docs/quickstart/index.html @@ -33,8 +33,8 @@ Quick Start | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/shared/filterQueryParam.html b/version/6.0/docs/shared/filterQueryParam.html index 3b37ad775..d9b5d3922 100644 --- a/version/6.0/docs/shared/filterQueryParam.html +++ b/version/6.0/docs/shared/filterQueryParam.html @@ -33,8 +33,8 @@ NotifyBC - - + +
    - + diff --git a/version/6.0/docs/shared/filterQueryParamCode.html b/version/6.0/docs/shared/filterQueryParamCode.html index dadda50d2..49d0d3dc4 100644 --- a/version/6.0/docs/shared/filterQueryParamCode.html +++ b/version/6.0/docs/shared/filterQueryParamCode.html @@ -33,11 +33,11 @@ NotifyBC - - + + - + diff --git a/version/6.0/docs/shared/filterQueryParamExample.html b/version/6.0/docs/shared/filterQueryParamExample.html index b27f7542d..db000d974 100644 --- a/version/6.0/docs/shared/filterQueryParamExample.html +++ b/version/6.0/docs/shared/filterQueryParamExample.html @@ -33,8 +33,8 @@ NotifyBC - - + + - + diff --git a/version/6.0/docs/shared/jmespathFilter.html b/version/6.0/docs/shared/jmespathFilter.html index 8c1028c72..083aeea28 100644 --- a/version/6.0/docs/shared/jmespathFilter.html +++ b/version/6.0/docs/shared/jmespathFilter.html @@ -33,8 +33,8 @@ NotifyBC - - + +
    - + diff --git a/version/6.0/docs/shared/whereQueryParam.html b/version/6.0/docs/shared/whereQueryParam.html index 916acc98b..dd9f136f7 100644 --- a/version/6.0/docs/shared/whereQueryParam.html +++ b/version/6.0/docs/shared/whereQueryParam.html @@ -33,8 +33,8 @@ NotifyBC - - + +
    - + diff --git a/version/6.0/docs/shared/whereQueryParamCode.html b/version/6.0/docs/shared/whereQueryParamCode.html index 381b49d8c..40a081237 100644 --- a/version/6.0/docs/shared/whereQueryParamCode.html +++ b/version/6.0/docs/shared/whereQueryParamCode.html @@ -33,11 +33,11 @@ NotifyBC - - + + - + diff --git a/version/6.0/docs/shared/whereQueryParamExample.html b/version/6.0/docs/shared/whereQueryParamExample.html index a09f72e9e..296c481e2 100644 --- a/version/6.0/docs/shared/whereQueryParamExample.html +++ b/version/6.0/docs/shared/whereQueryParamExample.html @@ -33,8 +33,8 @@ NotifyBC - - + + - + diff --git a/version/6.0/docs/upgrade/index.html b/version/6.0/docs/upgrade/index.html index 8febf02f1..429370eeb 100644 --- a/version/6.0/docs/upgrade/index.html +++ b/version/6.0/docs/upgrade/index.html @@ -33,8 +33,8 @@ Upgrade Guide | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/web-console/index.html b/version/6.0/docs/web-console/index.html index 72a0a8584..8cf06d55e 100644 --- a/version/6.0/docs/web-console/index.html +++ b/version/6.0/docs/web-console/index.html @@ -33,14 +33,14 @@ Web Console | NotifyBC - - + +
    - + diff --git a/version/6.0/docs/what's-new/index.html b/version/6.0/docs/what's-new/index.html index af22e6c50..31e57df8b 100644 --- a/version/6.0/docs/what's-new/index.html +++ b/version/6.0/docs/what's-new/index.html @@ -33,11 +33,11 @@ What's New | NotifyBC - - + +
    - + diff --git a/version/6.0/help/index.html b/version/6.0/help/index.html index dd2aa95be..64a7a80db 100644 --- a/version/6.0/help/index.html +++ b/version/6.0/help/index.html @@ -33,11 +33,11 @@ NotifyBC - - + +
    - + diff --git a/version/6.0/index.html b/version/6.0/index.html index 842cc40a7..e11e0edb7 100644 --- a/version/6.0/index.html +++ b/version/6.0/index.html @@ -33,8 +33,8 @@ NotifyBC | A versatile notification API server - - + +
    - +